Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Lazarus, Free Pascal, CodeTyphon
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.05.2017, 18:43   #1
povaki
Пользователь
 
Регистрация: 25.11.2015
Сообщений: 12
По умолчанию ошибка деления

Почему в итоге p, q, t выводятся как сумма u, g, x?

Код:
h:=v/s;
   label18.Caption:='y|1='+FloatToStr(h);
   l:=f/s;
   label19.Caption:='y|2='+FloatToStr(l);
   k:=o/s;
   label20.Caption:='y|3='+FloatToStr(k);
   Label21.Visible:=true;
 
   u:=1*h+d*l+e*k;
   label22.caption:='z1='+FloatToStr(u);
   g:=j*h+1*l+w*k;
   label23.caption:='z2='+FloatToStr(g);
   x:=m*h+n*l+1*k;
   label24.caption:='z3='+FloatToStr(x);
 
   p:=u/h;
   form3.label25.caption:='z|1='+FloatToStr(p);
   q:=g/l;
   form3.label26.caption:='z|2='+FloatToStr(q);
   t:=x/k;
   form3.label27.caption:='z|3='+FloatToStr(t);

Последний раз редактировалось Вадим Мошев; 17.05.2017 в 22:09.
povaki вне форума Ответить с цитированием
Старый 17.05.2017, 22:19   #2
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Вообще, лучше бы показать весь код. А так мне в глаза бросились эти строки:
Код:
 u:=1*h+d*l+e*k;
...
g:=j*h+1*l+w*k;
...
x:=m*h+n*l+1*k;
ИМХО, самим себе создали проблемы. А всё из-за того, что:
1. не следует использовать для идентификатора однобуквенный индентификатор l - это очень легко спутать с цифрой 1 или вертикальной чертой: |. Вот сами сравните слева направо символы: буква l, вертикальная черта и цифра один: l | 1.
Красным цветом я выделил цифры 1 в вашем коде.
2. Однобуквенные идентификаторы лучше вообще не использовать (исключение счётчик цикла i, j, k). Вместо этого советую давать переменным осмысленные имена: arrayOfIntegerNumbers, carVelocity, trainAcceleration...

Последний раз редактировалось Вадим Мошев; 17.05.2017 в 22:22.
Вадим Мошев вне форума Ответить с цитированием
Старый 11.10.2017, 12:09   #3
dummy_user
Форумчанин
 
Аватар для dummy_user
 
Регистрация: 02.03.2013
Сообщений: 109
По умолчанию

Да, соглашусь в комментарием выше, используйте понятные, несущие смысловую нагрузку названия для переменных и методов, ведь ни черта не понятно, что делает код, что за формулы использованы.
dummy_user вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка: деления на 0 iluxa1810 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 5 16.03.2015 19:39
Ошибка деления на 0 (delphi) Novikov_Dmitriy Помощь студентам 2 30.01.2013 19:24
Ошибка деления на ноль Сметуська Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 14.03.2011 18:13
Ошибка деления на ноль El_Blasto Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 4 16.12.2010 10:09
Ошибка деления на ноль nolz Помощь студентам 3 07.03.2010 13:14