Вопрос по информатике:
Пожалуйста помогите. Очень надо срочно! Всего лишь нужно найти ошибку. Не пугайтесь объема вопроса. Составьте программы на языке
Turbo Pascal с использованием цикла с предусловием, с постусловием,
используя, условный оператор IF.
. Вычислите значения функции У:(картинка).
Решение:
1 способ.
program funk_F1;
var x,t,y:real;
begin
t:=0;
while t<=6 do begin
if t<=1 then x:=2*t-6 else
if t>=3 then x:=ln(1+t*t) else
x:=sqrt(t)+ln(t);
y:=2.2*exp(4*ln(x))+0.3*x;
writeln('y(',t:2:1, ')=', y:6:2);
t:=t+0.5;
end;
readln;
end.
2 способ.
program funk_F2;
var x,t,y:real;
begin
t:=0;
repeat
if t<=1 then x:=2*t-6 else
if t>=3 then x:=ln(1+t*t)else
x:=sqrt(t)+ln (t);
y:=2.2*exp(4*ln(x))+0.3*x;
writeln('y(',t:2:1, ')=', y:6:2);
t:=t+0.5;
until x>6;
readln;
end.
Пишет что в 9 строчке ошибка. В чем она заключается не могу понять.
- 08.05.2018 19:25
- Информатика
- remove_red_eye 15508
- thumb_up 6
Ответы и объяснения 1
Скорее всего, ошибка у Вас получается уже на этапе выполнения программы, потому что синтаксических ошибок нет. Вы напрасно использовали конструкцию exp(4*ln(x)) - в Вашем случае правильнее и эффективнее использовать sqr(sqr(x))
В самом деле, при t=0 значение x=2t-6 будет равно -6, и попытка вычислить логарифм от -6 закончится печально. Полагаю, это и есть причина выдачи сообщения об ошибке, текст которого Вы почему-то не сочли нужным приложить.
- 09.05.2018 13:26
- thumb_up 43
Знаете ответ? Поделитесь им!
Есть сомнения?
Не нашли подходящего ответа на вопрос или ответ отсутствует? Воспользуйтесь поиском по сайту, чтобы найти все ответы на похожие вопросы в разделе Информатика.
Трудности с домашними заданиями? Не стесняйтесь попросить о помощи - смело задавайте вопросы!
Информатика — наука о методах и процессах сбора, хранения, обработки, передачи, анализа и оценки информации с применением компьютерных технологий, обеспечивающих возможность её использования для принятия решений.