[Ответить в тред] Ответить в тред

02/12/16 - Конкурс визуальных новелл доски /ruvn/
15/11/16 - **НОВЫЙ ФУНКЦИОНАЛ** - Стикеры
09/10/16 - Открыта доска /int/ - International, давайте расскажем о ней!

Check this out!

Новые доски: /2d/ - Аниме/Беседка • /wwe/ - WorldWide Wrestling Universe • /ch/ - Чатики и конфочки • /int/ - International • /ruvn/ - Российские визуальные новеллы • /math/ - Математика • Создай свою

[Назад][Обновить тред][Вниз][Каталог] [ Автообновление ] 43 | 18 | 7
Назад Вниз Каталог Обновить

Аноним 24/03/17 Птн 02:29:05  149475931  
Ночной, помоги! Куда я ещё пойду в третьем часу ночи.
Есть набор значений от ~1010 до ~490, всего 12. Промежутки между значениями изменяются от 70 (~940 после ~1010) до 30 (~520 перед ~490). Значения нужно сопоставить числам от 1 до 12. Как сделать без case и лесенки If? Не хочу так деревянно, наверняка есть более изящный способ.
Могу ответить на вопросы про arduino
Аноним 24/03/17 Птн 02:33:38  149476104
14902211980101.jpg (64Кб, 599x646)
Бампать буду тухлятинкой из ЗП-тредов
Аноним 24/03/17 Птн 02:34:27  149476136
h3vj359LshA.jpg (143Кб, 720x960)
и рандомными бабами из ВК
Аноним 24/03/17 Птн 02:35:33  149476180
Нарисуй эти точки на графике, прикинь на какую функцию они похожи, подбери или аппроксимируй коэффициенты.
Аноним 24/03/17 Птн 02:36:58  149476241
14899375317861.jpg (104Кб, 793x612)
бамп скоростными пилюлями
Аноним 24/03/17 Птн 02:37:42  149476265
>>149476180
Так в коде надо сопоставить, лол
Аноним 24/03/17 Птн 02:37:59  149476276
Вот это ещё посмотри http://www.wolframalpha-ru.com/2011/10/wolframalpha_18.html?m=1
Аноним 24/03/17 Птн 02:38:47  149476302
Omrh2B8mrYU.jpg (31Кб, 317x372)
бамп
Аноним 24/03/17 Птн 02:40:31  149476357
Без ифов и кейсов наверное придется пердолить численные методы, забей.
Аноним 24/03/17 Птн 02:43:27  149476454
>>149475931 (OP)
Сортируешь - сопоставляешь.
Аноним 24/03/17 Птн 02:47:34  149476604
z5e7d70c1.jpg (89Кб, 682x1024)
UDlQ2-sIIug.jpg (80Кб, 740x1046)
>>149476454
Видимо, зря решил не описывать подробности. Фича в том, что всех значений сразу у меня на руках нет, потому что каждое соответствует отдельной кнопке, и в программе появляется только пока кнопка нажата. Однако сама по себе идея здравая, ведь примерные значения я знаю, и можно текущее значение на входе сравнивать с имеющимися в массиве. Спасибо ха наводку, анон! Держи няшу 3д и 2д
Аноним 24/03/17 Птн 02:57:34  149476959
зачем тебе ардуино?
Аноним 24/03/17 Птн 03:00:54  149477077
>>149475931 (OP)
>>149476604
Нихуя непонятно чего ты сделать пытаешься.
Объясняй нормально.
Аноним 24/03/17 Птн 03:02:36  149477137
>>149475931 (OP)
>~
Это что значит?
Примерно?
Компьютеры не умеют с приблизительными значениями работать.
Аноним 24/03/17 Птн 03:04:18  149477184
>>149476604
Откуда эти значения берутся? Можешь промежутки в виде интервалов сделать 490-520, 521-525, ... и в цикле перебирать:
int upL = 490
for(int i = 0; i <12; i++) {
upL += 30 + i;
if(value <= upL) return i + 1;
}
Но без деталей все равно не ясно нихуя.
Аноним 24/03/17 Птн 03:06:24  149477247
>>149477184
upL сам уже рассчитывай как надо, можешь хоть массив с предрасчитанными значениями использовать.
Аноним 24/03/17 Птн 03:12:48  149477439
>>149475931 (OP)
а что ты делаешь.
Аноним 24/03/17 Птн 03:14:30  149477496
14889714307860.png (5373Кб, 3840x2400)
>>149477247
>массив с предрасчитанными значениями использовать
Я так и сделал, в итоге
>>149477077
Есть аналоговый вход, есть 12 кнопок, каждой кнопке соответствует некоторый уровень напряжения. Считываю уровень напряжения, он выдаётся как число от 490 до 1023. Промежутки между значениями неодинаковые. Нужно сделать сопоставление каждого значения числу от 1 до 12. Сделал через сравнение с массивом с 12 приблизительными значениями.
>>149476959
За деревом.
Аноним 24/03/17 Птн 03:18:22  149477604
9eeccd969642c59[...].jpg (1193Кб, 1920x1200)
побампаю ещё немношко и спатеньки
Аноним 24/03/17 Птн 03:22:29  149477718
а когда кнопка нажата несколько раз подряд значение напряжения одинаковые?
Аноним 24/03/17 Птн 03:24:11  149477769
>>149477496
>Есть аналоговый вход, есть 12 кнопок, каждой кнопке соответствует некоторый уровень напряжения.
1) Эм, но зачем?
Я как бы не очень помогаю твоей проблеме, но ты непробувал цифрой кнопки обрабатывать?

2) Если дело в системе кнопок, почему бы не сделать преобразователь в цифру хардварно?

3)
> Нужно сделать сопоставление каждого значения числу от 1 до 12. Сделал через сравнение с массивом с 12 приблизительными значениями.

Допустим у тебя есть диапазон чисел от 1 до 1000. А тебе надо от 1 до 10.
новое_число = взять_целую_часть(исходное_число\100)


>Сделал через сравнение с массивом с 12 приблизительными значениями.
Округляй лучше, и case делай.
Аноним 24/03/17 Птн 03:27:39  149477865
>>149477496
а может так получиться, что ты нажал на 10 и на подлете напряжения его считал и получилось 9?
Аноним 24/03/17 Птн 03:31:52  149477973
t3RgZMwvVc.jpg (48Кб, 800x500)
>>149477718
В идеале да, но гугли дребезг контактов
>>149477769
1)Меня не спрашивали
А вообще для 12 кнопок понадобилось бы либо 12 пинов(столько на Uno нет), либо мультиплексор(его нет у меня), либо какая-нибудь клава с последовательным интерфейсом(тоже нет)
2)Так вот это я по сути и делаю
3)Я же сказал - промежутки неравномерные. При делении на, например, на 50 последние 5-6 значений будут смешиваться друг с другом.
Case, по-моему, очень громоздкий. Хотя может он и быстрее, тут не могу утверждать. Но, по-моему, это не так уж важно на 16 МГц.
Аноним 24/03/17 Птн 03:33:31  149478022
x0iHJ86sgxA.jpg (449Кб, 1440x2160)
>>149477865
Может, но это вроде схемотехнически решается, завтра буду смотреть уже.
Аноним 24/03/17 Птн 03:42:37  149478241
>>149477973
>2)Так вот это я по сути и делаю
Ты делаешь софтварно.

>3)Я же сказал - промежутки неравномерные. При делении на, например, на 50 последние 5-6 значений будут смешиваться друг с другом.
Обрабатывай два промежутка отдельно.

>1)Меня не спрашивали
Тебе платят за эту работу?

>>149477973
>А вообще для 12 кнопок понадобилось бы либо 12 пинов(столько на Uno нет), либо мультиплексор(его нет у меня), либо какая-нибудь клава с последовательным интерфейсом(тоже нет)
Лулвут?
Делаешь на элементарной логике, на диодах можно, на шифраторе. Тебе всего в 4 бита кодировать надо то.

Аноним 24/03/17 Птн 03:46:55  149478351
gbLaQC-cP58.jpg (73Кб, 1200x1071)
>>149478241
2)Ок, а как тогда хардварно, по-твоему?
3)Как?
1)Ну почти, это часть диплома.
Опуская идеологический аспект, озвучу два пункта: а)лаборатории с рассыпухой у меня под рукой нет б)клавиатура - не самоцель, поэтом изобретать велосипед смысла нет.
Аноним 24/03/17 Птн 03:58:18  149478651
>>149478351
>2)Ок, а как тогда хардварно, по-твоему?
С индикаторами уровня сигнала никогда не сталкивался?

>3)Как?
Если один промежуток, то хуяк
Иначе хуяк хяк.


>а)лаборатории с рассыпухой у меня под рукой нет
>б)клавиатура - не самоцель, поэтом изобретать велосипед смысла нет.
Делаешь умный дом небось.
Аноним 24/03/17 Птн 04:00:15  149478707
>>149478651
>>а)лаборатории с рассыпухой у меня под рукой нет
И интернета нет.
И находишься ты на южном полюсе.
Аноним 24/03/17 Птн 04:01:44  149478747
14894503593283.jpg (118Кб, 768x1024)
>>149478651
2)Теми, которые светодиодики в ряд? Сталкивался, но при чём тут они? Или не они?
3)Ну так это, опять же, case(хотя про него не уверен) или if.
Нихуя не угадал. Да и нахуй там клавиатура?
Аноним 24/03/17 Птн 04:03:08  149478779
EEH5YeQ9FM4.jpg (242Кб, 1086x1500)
>>149478707
А таки шо ви предлагаете? Вот я зашёл в интеr'нет и спr'ашиваю помощи людей. Таки шо вам не нr'авится?
Аноним 24/03/17 Птн 04:06:30  149478858
>>149478747
>2)Теми, которые светодиодики в ряд? Сталкивался, но при чём тут они? Или не они?
Ну, из значения напряжения получишь цифру.

>3)Ну так это, опять же, case(хотя про него не уверен) или if.
А цикл у тебя 12 ифов делает.
Чем тебе 1 не нравится?

>>149478779
>А таки шо ви предлагаете? Вот я зашёл в интеr'нет и спr'ашиваю помощи людей. Таки шо вам не нr'авится?
Предлагаю купить нормальную клавиатуру.
Ибо твоя клавиатура при демонстрации\защите даст сбой, и ты соснешь.
Аноним 24/03/17 Птн 04:19:11  149479162
>>149478858
2)Так я и так из значения напряжения получаю цифру. Не понимаю, что ты хочешь предложить.
3)Он делает до совпадения, при совпадении выводит нужное число и выполняет break. Т.е. с точки зрения производительности - то же самое, просто кода меньше написал.

Говорю же, железки выбирал не я, а научрук. А научрук хотел КРАСИВЕНЬКУЮ клавиатуру и шоб без разводки плат обойтись. На али под эти критерии попадала только такая аналоговая приблуда.
Аноним 24/03/17 Птн 04:27:02  149479347
>>149479162
>Т.е. с точки зрения производительности - то же самое
Нет.
С точки зрения производительности, у цикла в среднем 6 сравнений и 6 условных переходов.
В предложенном мною способе - всего одно.

>А научрук хотел КРАСИВЕНЬКУЮ клавиатуру и шоб без разводки плат обойтись. На али под эти критерии попадала только такая аналоговая приблуда.
Он за тебя диплом делает?
Сочувствую.


>2)Так я и так из значения напряжения получаю цифру. Не понимаю, что ты хочешь предложить.
Делать это в железе, а не программно.
Но это похоже не твое.
Зойчем тебе в дипломе вообще хрень в которой ты не шаришь?
Имхо, в таких случаях просят кого-то со стороны помочь.
Аноним 24/03/17 Птн 04:32:17  149479456
14831930297700.jpg (186Кб, 2560x1440)
>>149479347
>всего одно
Как ты в один If запихнёшь сравнение с 12 значениями?
>за тебя диплом делает
он за меня железки покупает, мне вообще похуй, какую клавиатуру приделывать
>делать это в железе, а не программно
Если ты мне тут два часа затираешь про аналогово-цифровое преобразование в обход микроконтроллеров, на голой логике, то тебе следует проследовать в 1983 год, там это вроде ещё актуально.
Аноним 24/03/17 Птн 04:34:37  149479513
>>149476265
Меж тем тот анон дело посоветовал. Не думай о графике, а думай о том, что между исходным значением и получаемым есть зависимость, которую можно выразить функцией. А график просто поможет тебе понять что это за функция и какие нужны в ней коэффициенты.
Аноним 24/03/17 Птн 04:38:02  149479586
Алла Пугачева В[...].webm (9217Кб, 480x360, 00:02:07)
>>149479456
>Как ты в один If запихнёшь сравнение с 12 значениями?
Ты вообще походу понял процентов 10 из написанного.

>он за меня железки покупает, мне вообще похуй, какую клавиатуру приделывать
Окей.


>Если ты мне тут два часа затираешь про аналогово-цифровое преобразование в обход микроконтроллеров, на голой логике, то тебе следует проследовать в 1983 год, там это вроде ещё актуально.
Я тебе тут много про что уже рассказал.
И как аппаратно делать нормальную клавиатуру, и как программно в один иф обрабатывать. И про АЦП.
Только бестолку походу все.
Надеюсь твоя специальность не связанна с программирование и с радиоэлектроникой.
Аноним 24/03/17 Птн 04:46:54  149479754
>>149479513
Бестолку, чел не понимает математику.
Аноним 24/03/17 Птн 04:47:35  149479765
>>149479586
Ты аутист что ли?
Если ты про тот кусок кода, то там всё равно if внутри цикла. Если
>>149477184
>int upL = 490
>for(int i = 0; i <12; i++) {
>upL += 30 + i;
>if(value <= upL) return i + 1;
>}
это не твой кусок кода - покажи, где ты что-то нормально пояснил про if.
Рассказал ты нихуя, набор слов какой-то. Надеюсь, твоя специальность связана с выебонами, потому что хорошо получаются у тебя только они.
Аноним 24/03/17 Птн 04:55:12  149479936
Снимок.PNG (3Кб, 288x104)
>>149479765
больше того, я прочитал код
В нём пришлось бы искать какой-то коэффициент для i. Зачем вообще так мудрить? Всё равно, так или иначе, для значения 1023 цикл бы выполнился 12 раз. В чём разница с пикрилейтед?
inb4 кококо ардуино
Аноним 24/03/17 Птн 04:56:34  149479962
>>149479765
>это не твой кусок кода - покажи, где ты что-то нормально пояснил про if.
То есть "нормально пояснил" в твоем понимании, это предоставил работающий код?

>Рассказал ты нихуя, набор слов какой-то. Надеюсь, твоя специальность связана с выебонами, потому что хорошо получаются у тебя только они.
Мда, проговорился ты знатно.
Да, выебонов у тебя выше крыши, а знаний оче мало. В РФ сейчас этому в вузах учат?

>покажи, где ты что-то нормально пояснил про if.

>>149477769
>Допустим у тебя есть диапазон чисел от 1 до 1000. А тебе надо от 1 до 10.
>новое_число = взять_целую_часть(исходное_число\100)
>>149477973
>3)Я же сказал - промежутки неравномерные. При делении на, например, на 50 последние 5-6 значений будут смешиваться друг с другом.
>>149478241
>Обрабатывай два промежутка отдельно.
>>149478351
>3)Как?
>>149478651
>Если один промежуток, то хуяк
>Иначе хуяк хяк.

Аноним 24/03/17 Птн 05:04:00  149480106
>>149479962
>предоставил работающий код
Не вижу тут чего-то особенного, лучший способ объяснить алгоритм, по-моему.
Т.е. необходимость проверять несколько раз, к какому промежутку относится текущее значение, по-твоему, удовлетворяется 1 if? Покажи, потому что либо ты пиздишь, либо ты здорово дополнишь мои знания.
>этому в вузах учат
Не учат делать клавиатуры на дискретной логике, и за это им спасибо. Btw, учили приделывать матричную цифровую, но я уже написал, почему используется то, что используется.
Аноним 24/03/17 Птн 05:10:11  149480240
>>149480106
>Т.е. необходимость проверять несколько раз, к какому промежутку относится текущее значение, по-твоему, удовлетворяется 1 if?
Необходимо проверить один раз, к какому промежутку\диапазону принадлежит значение.
К тому в котором расстояние между значениями 70, или к тому, в котором расстояние 30.
Аноним 24/03/17 Птн 05:10:22  149480243
Безымянный.png (28Кб, 671x620)
>Промежутки между значениями изменяются от 70 (~940 после ~1010) до 30 (~520 перед ~490)
Очевидная парабола. Задаешь квадратную функцию @ округляешь корень.
Аноним 24/03/17 Птн 05:25:36  149480520
14855413624260.jpg (285Кб, 1265x1024)
>>149480240
Так промежутков несколько. Как проверку принадлежности к одному из интервалов сделать понятно, как её сделать за один if без цикла - я не представляю.
>>149480243
Ок, интересно, я попробую. Спасибо!

[Назад][Обновить тред][Вверх][Каталог] [Реквест разбана] [Подписаться на тред] [ ] 43 | 18 | 7
Назад Вверх Каталог Обновить

Топ тредов
Избранное