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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.10.2016, 10:50   #1
motivator
Пользователь
 
Регистрация: 26.10.2016
Сообщений: 12
По умолчанию Привет, помогите исправить ошибку в программе (протабулировать заданную функцию).


Вот сама задача.
Вот решение.
Код:
Program zad_1;
var
x,y: real;
begin
x:=1;
writeln('x   y');
while x<=2 do begin
y:=ln(abs(x*exp(ln(exp(1)*sqr(-x))))+((sin(exp(ln(exp(1)*x)-exp(ln(exp(1)*(-x))))\2)\((cos(exp(ln(exp(1)*x)-exp(ln(exp(1)*(-x))))\2);
writeln(x:4:1,'|',y:5:2);
x:=x+0,05
end;
end.

Ошибка в том, что постоянно просит убрать знак деления \, я не вижу где ошибка, скорее всего, когда ее исправишь появится другая, помогите исправить.

Последний раз редактировалось Alex11223; 26.10.2016 в 10:57.
motivator вне форума Ответить с цитированием
Старый 26.10.2016, 10:55   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Разделите вычисление выражения на несколько частей (переменных) и будет проще.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 26.10.2016, 10:58   #3
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

В паскале знак деления "/"
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 26.10.2016, 11:04   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

угу. плюс надо
x:=x+0.05 (не запятая, а десятичная точка)
плюс x нужно выводить не x:4:1, а x:4:2 (нужны два знака после запятой)

и плюс куча математических ошибок в самой формуле.
ну, например,
-x^2 это не sqr(-x), это -1.0*sqr(x)
Serge_Bliznykov вне форума Ответить с цитированием
Старый 26.10.2016, 11:13   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

сравните:

Код:
Program zad_1;

function tg(x:real):real;
begin
  tg := 0;
  if cos(x)=0 then WriteLn('error during calculate tg for x=',x:4:2)
  else
    tg := sin(x)/cos(x)
end;

var
  x,y: real;
begin
  x:=1.0;
  writeln('x      y');
  while x<=2 do begin
     y:=ln(abs(x*exp(-sqr(x)))) +
              tg( (exp(x) - exp(-x))/2);
     writeln(x:4:2,' | ',y:5:3);
     x:=x+0.05
  end;
end.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 26.10.2016, 11:40   #6
motivator
Пользователь
 
Регистрация: 26.10.2016
Сообщений: 12
По умолчанию

Serge_Bliznykov, спасибо, так проще, я не знал что так можно, а то замучился писать эту формулу во всю длину, да еще и с ошибками. Aleksandr H., спасибо, не заметил что \.
motivator вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите исправить ошибку в программе!! ssergey100 Windows 8 25.08.2014 12:10
Всем привет! Помоги пожалуйста исправить ошибку в программе. TIGRA3 Паскаль, Turbo Pascal, PascalABC.NET 3 23.01.2014 23:15
Помогите исправить ошибку в программе Antifa Помощь студентам 3 29.04.2009 23:17
Помогите исправить ошибку в программе Paul_AG Общие вопросы C/C++ 12 24.03.2009 19:36
ПОМОГИТЕ исправить ошибку в программе SYL@R Помощь студентам 1 07.12.2008 19:42