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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.10.2019, 19:27   #1
Mellnon
Новичок
Джуниор
 
Регистрация: 05.10.2019
Сообщений: 2
По умолчанию Delphi нужно найти ошибку в коде

Код:
uses
  System.SysUtils;

var x, a, c, w, e : Real;


begin
  try
    if x<c then
    ln(sqr(x)+sqr(a));
    if x=c then
    sin(sqr(x))/cos(sqr(x)) + exp(a);
    if x>c then
    sin((c*x)/2);
    writeln ('w=', w:5:2);
    readln;

  except
    on E: Exception do
      Writeln(E.ClassName, ': ', E.Message);
  end;
end.
Пишет что в строке "sin(sqr(x))/cos(sqr(x)) + exp(a);"
Перепробовал много вариантов, но ошибку никак не исправить, при компиляции не выводит никаких ошибков, но при старте пишет что есть одна ошибка в этой строке. Если чего мне нужно было разложить формулу" tgx^2+e^a"
______________________
Форматируйте код и используйте тег [CODE] (кнопка [CODE] в форме сообщения) при вставке кода на форум. Подробнее в FAQ
Mellnon вне форума Ответить с цитированием
Старый 05.10.2019, 19:32   #2
Вадим Мошев

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

Вы переменные не инициализируете. Оперируете ими в коде, но значения им не придаёте. При таким условиях спокойно может взяться логарифм от нуля.
Вадим Мошев вне форума Ответить с цитированием
Старый 05.10.2019, 19:52   #3
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

А что вы хотите добится, если значение выражения никуда не сохраняете и не выводите?
p51x вне форума Ответить с цитированием
Старый 06.10.2019, 09:21   #4
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,550
По умолчанию

Код:
    if x<c then
    ln(sqr(x)+sqr(a));
Вот что это такое? Условный оператор? Так после условия д.быть исполняемый оператор. ln(sqr(x)+sqr(a)) - это какой, простите, оператор? Присваивания? А где переменная, где := ? Тут до вывода дело не доходит, оно не компилируется, бо синтаксическая ошибка.

Последний раз редактировалось digitalis; 06.10.2019 в 09:23.
digitalis вне форума Ответить с цитированием
Старый 06.10.2019, 10:08   #5
Desc
Участник клуба
 
Аватар для Desc
 
Регистрация: 21.11.2007
Сообщений: 1,063
По умолчанию

Почитайте вот эти опусы:
Формулы в Delphi
Delphi Математические вычисления
I am not a wizard, I am just learning.
Desc вне форума Ответить с цитированием
Старый 07.10.2019, 19:01   #6
Mellnon
Новичок
Джуниор
 
Регистрация: 05.10.2019
Сообщений: 2
По умолчанию

Боже, спасибо, проглядел такую элементарную ошибку
Mellnon вне форума Ответить с цитированием
Старый 07.10.2019, 19:30   #7
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,550
По умолчанию

Ну интересно взглянуть на исправленный результат. Ну и что меня Богом назвал - мелочь, а приятно
digitalis вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не получается найти ошибку в коде нужно определить размеры дисков C++ Borland kolyok333 Помощь студентам 4 15.01.2012 15:53
нужно найти ошибку в коде helldog Помощь студентам 0 03.01.2012 07:10
Нужно найти ошибку в коде (C++) lot555 Помощь студентам 4 27.05.2011 09:05
Таймер обратного отсчета работает не так как надо.. нужно найти ошибку в коде... Человек_Борща Общие вопросы Delphi 10 13.04.2010 20:06
Нужно найти ошибку в коде Вован111 Помощь студентам 15 08.11.2009 14:33