|  | 
| 
Упрощение кода | |||
|---|---|---|---|
| #18+ Помогите упростить код. Есть переменная Rashod меняющаяся от 100-2000 с интервалом в 10 и переменная NB меняющаяся от 10,7 до 17,2, изменяющаяся с интервалом в 0,5 в зависимости от переменной Rashod. Пример кода ниже и так нужно писать до 2000. Можно с ума сойти, подскажите как упростить. Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. Модератор: Учимся использовать тэги оформления кода - FAQ ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 27.11.2014, 14:12 |  | ||
| 
Упрощение кода | |||
|---|---|---|---|
| #18+ Математика, 6-й класс Код: vbnet 1. vdekameronPA, спасибо, что-то я логику забыл включить когда создавал тему ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 27.11.2014, 14:27 |  | ||
| 
Упрощение кода | |||
|---|---|---|---|
| #18+ Хотя, смущают две вещи: 1) vdekameron Код: vbnet 1. 2. списал бы на опечатку, но: 2) vdekameronот 100-2000vdekameronот 10,7 до 17,2видимо, зависимость нелинейная. Так что выражайте имеющуюся зависимость в виде формулы y=f(x) ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 27.11.2014, 14:35 |  | ||
| 
Упрощение кода | |||
|---|---|---|---|
| #18+ в описании ошибка, там интервал по коду не 0.5 , а 0.05 ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 27.11.2014, 14:37 |  | ||
| 
Упрощение кода | |||
|---|---|---|---|
| #18+ Konst_Oneв описании ошибка, там интервал по коду не 0.5 , а 0.05да это фиг с ним. Просто, если бы зависимость была линейная, мы бы получили 2000/200+10.2=20.2, а не 17.2 ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 27.11.2014, 14:46 |  | ||
| 
Упрощение кода | |||
|---|---|---|---|
| #18+ Shocker.ProKonst_Oneв описании ошибка, там интервал по коду не 0.5 , а 0.05да это фиг с ним. Просто, если бы зависимость была линейная, мы бы получили 2000/200+10.2=20.2, а не 17.2 мне кажется ТС сам не знает , что ему нужно или неправильные условия задачи озвучил ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 27.11.2014, 14:55 |  | ||
| 
Упрощение кода | |||
|---|---|---|---|
| #18+ Создайте коллекцию, где key - значение Rashod, а value - значение NB. И выбирайте нужное значение непосредственно по ключу. ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 27.11.2014, 15:42 |  | ||
| 
Упрощение кода | |||
|---|---|---|---|
| #18+ Вы правы там график не линейный((( И как использовать y=f(x) я не могу понять. Школа была давно. Эта функция возрастающая. Но как мне правильно задать убывание вот этого коэффициента 0,05((( Не судите строго я в программировании новичок а с математикой не каждый день сталкиваюсь ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 27.11.2014, 16:39 |  | ||
| 
Упрощение кода | |||
|---|---|---|---|
| #18+ Я сначала решил задачу так, а потом сам понял что фигню спорол. Т.к. функция не линейная K = ((Rashod - 100) / 10) * 0.05 NB = 10.7 + K ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 27.11.2014, 16:42 |  | ||
| 
Упрощение кода | |||
|---|---|---|---|
| #18+ У вас два варианта: 1) Создать справочник величин (например, по совету Akina), способов хранения исходных данных множество откуда берутся реальные данные - вы скрываете, поэтому конкретных советов не будет 2) Описать функцию формулами (в т.ч. можно описать формулы на диапазонах, если это приемлемо) как конкретно кореллирует y от x вы скрываете, поэтому конкретных советов не будет ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 27.11.2014, 16:45 |  | ||
| 
Упрощение кода | |||
|---|---|---|---|
| #18+ используйте интерполяцию (см. численные методы решения вашей формулы) http://www.pmtf.msiu.ru/chair31/students/berkov/chisl_met.pdf ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 27.11.2014, 16:48 |  | ||
| 
Упрощение кода | |||
|---|---|---|---|
| #18+ Shocker.Pro, Мне нечего скрывать, я просто думал тут получится просто выкрутиться, но понимаю что не так все просто. Куда можно вам эту зависимость скинуть? Она у меня в pdf и весит 2мб. Если есть желание и время помогите разобраться. ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 27.11.2014, 17:07 |  | ||
| 
Упрощение кода | |||
|---|---|---|---|
| #18+ vdekameronОна у меня в pdf и весит 2мбКонвертируйте в CSV - и задача станет почти тривиальной. Если PDF запаролен - можно даже через OCR прогнать, всё равно только один раз... ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 27.11.2014, 17:21 |  | ||
| 
Упрощение кода | |||
|---|---|---|---|
| #18+ PS. А хардкодить справочники - это даже не моветон, это гораздо хуже... ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 27.11.2014, 17:23 |  | ||
| 
Упрощение кода | |||
|---|---|---|---|
| #18+ Akina, я же сказал я новичок)) что такое CSV ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 27.11.2014, 17:30 |  | ||
| 
Упрощение кода | |||
|---|---|---|---|
| #18+ vdekameronShocker.Pro, Мне нечего скрывать, я просто думал тут получится просто выкрутитьсявот, буквально сегодня на башорге: xxx: помогите мне пожалуйста с пояснением кода, код есть, а что конкретно в нем значит не знаю yyy: То чувство, когда человек вроде задал вопрос, но вопроса - нет. И вроде ответить хочешь, и отвечать не на что... xxx: ну просто есть код, мне нужно расписать(пояснить) что каждая строка (функция, алгоритм) значит, у меня есть то что я знаю, а чего не знаю прошу помочь мне с этим, если нужно я скину код zzz: Та не, не нужно. Мы и так расскажем.у вас получилось примерно из той же серии vdekameronОна у меня в pdf и весит 2мб.простите, файл из 382 чисел весить столько никак не может. А картинки (или что там у вас) оставьте себе - они не нужны для решения задачи. ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 27.11.2014, 17:31 |  | ||
| 
Упрощение кода | |||
|---|---|---|---|
| #18+ vdekameronя же сказал я новичок)) что такое CSVто, что вы новичок, никак не прощает нежелание сделать  элементарное действие ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 27.11.2014, 17:33 |  | ||
| 
Упрощение кода | |||
|---|---|---|---|
| #18+ Shocker.Pro, В общем спасибо за помощь и потраченное время. Для меня это все сложно, видимо вам не понять. И дело тут не в лени, если бы я ленился то вообще этим бы не занимался. Буду делать наверное по 8 точкам а остальные приближенно. ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 28.11.2014, 08:36 |  | ||
| 
Упрощение кода | |||
|---|---|---|---|
| #18+ vdekameronДля меня это все сложноЭто - элементарно. Сложно только тому, кто холит и лелеет своё незнание, не желая освоить. ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 28.11.2014, 08:57 |  | ||
| 
Упрощение кода | |||
|---|---|---|---|
| #18+ Akina, ткните носом я освою, просто даже не знаю за что браться. У меня есть PDF могу сделать фото этого графика(формат А3) ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 28.11.2014, 09:08 |  | ||
| 
Упрощение кода | |||
|---|---|---|---|
| #18+ Мы никак не можем понять, во что вы уперлись. То ли у вас есть цифры для функции. То ли у вас их нет. Что именно вызывает проблему: "Можно с ума сойти, подскажите как упростить.". Что упрощать-то?!!!! Если цифры есть - что мешает их выложить, скажем, в экселе, чтобы мы на них взглянули? Если цифр нет, то что тогда есть? растровая картинка с графиком? текстовый перечень условий для диапазонов? Прежде чем писать программу, надо понять, что является исходными данными для работы программы. Пока что вы выложили лишь 8 пар значений и хотите, чтобы мы угадали остальные. ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 28.11.2014, 09:45 |  | ||
| 
Упрощение кода | |||
|---|---|---|---|
| #18+ Из первого сообщения можно сделать вывод - у вас есть 191 пара значений, вы готовы были их описать в виде Case, но (справедливо) решили, что это муторно и обратились за советом, как упростить код. Из дальнейшей переписки напрашивается вывод, что у вас нет списка остальных значений и вы не можете его составить. Но тогда этот вопрос уже перестает лежать в плоскости vb и речь не об упрощении, а, для начала, о том, как получить тот самый набор чисел. ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 28.11.2014, 09:58 |  | ||
| 
Упрощение кода | |||
|---|---|---|---|
| #18+ vdekameronУ меня есть PDF могу сделать фото этого графика(формат А3)Именно ГРАФИКА? не таблица? тогда распечатывайте покрупнее, вооружайтесь линейкой и переводите его в табличный вид. Если же это таблица - то либо суйте в распознавание, либо руками перебивайте. В итоге необходимо получить текстовый файл. В каждой строке должна быть одна пара Rashod-NB. В качестве десятичного разделителя - точка, между значениями - запятая. Типа: 100,10.7 110,10.75 ... Получив это, необходимо написать процедуру загрузки этих значений в коллекцию. Т.е. определить коллекцию, открыть файл на чтение, прочитать пару значений, добавить в коллекцию. Когда файл кончится, весь масссив будет в данных программы, и можно будет быстро обращаться к ним по индексу. Это один из вариантов решения проблемы. Но он не очень хорош, если входящие параметры (т.е. значение Rashod) не точно реперные, а произвольные, и ты будешь вынужден интерполировать. ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 28.11.2014, 10:02 |  | ||
| 
Упрощение кода | |||
|---|---|---|---|
| #18+ Akina, У меня документ на бумаге. Я его снял-сделал рисунок. Я так понял что мне нужно в excel сделать таблицу чисел по этому графику, как вы объяснили. Я выкручусь по-другому. Разобью кривую на 10 отрезков и буду задавть условие до опр. точки умножать на опр. К. Потом до след. точки на другой К. Вроде получается довольно точно. Грубо говоря интерполяция , только кустарная ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 28.11.2014, 10:16 |  | ||
|  | 

| start [/forum/topic.php?fid=60&tid=2156110]: | 0ms | 
| get settings: | 8ms | 
| get forum list: | 12ms | 
| check forum access: | 4ms | 
| check topic access: | 4ms | 
| track hit: | 45ms | 
| get topic data: | 10ms | 
| get forum data: | 2ms | 
| get page messages: | 51ms | 
| get tp. blocked users: | 1ms | 
| others: | 256ms | 
| total: | 393ms | 

| 0 / 0 | 
