Помощь - Поиск - Пользователи - Календарь
Полная версия: Задача на while с шагом
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Ericsson
Было дано:
Код
      =x^3 + 2b               если х <= (-0.9)                        
y = (sqrt(x^3 + b))/c   если -0.9<x<1.3                                
      =ln(x^3+2)             если х>=1.3

b = 0.01*x + e^0.3        c = x+2.4

x принадлежит промежутку [-0.4;6.5]
шаг равен 1.6


Решить нужно было через вайл - написал -
program three;
uses crt;
var x,y,c,b:real;
begin
clrscr;
x:= -0.4;
while x<6.5 do
begin
if x <=(-0.9) then
b:=0.01*x + exp(0.3);
c:=x+2.4;
y:= exp(3*ln(x))+2*b else
if x>1.3 then y:=ln(exp(3*ln(x))+2) else
y:=(sqrt(exp(3*ln(x))+2))/c;
writeln (' b=',b:6:2,' c=',c:6:2,' y=',y:6:2);
x:=x+1.6;
end;
readkey;
end.

При запуске на строчке y:= exp(3*ln(x))+2*b else выдает ошибку на отсутствие ";"
Подскажите пжслта,где ошибся?
Client
program three;
uses crt;
var
x, y, c, b : real;
begin
clrscr;
x:= -0.4;
while x<6.5 do
begin
if x <=(-0.9) then begin
b:=0.01*x + exp(0.3);
c:=x+2.4;
y:= exp(3*ln(x))+2*b
end
else
if x > 1.3 then y:=ln(exp(3*ln(x))+2)
else
y:=(sqrt(exp(3*ln(x))+2))/c;
writeln (' b=',b:6:2,' c=',c:6:2,' y=',y:6:2);
x:=x+1.6;
end;
readkey;
end.
Так компилится, но вылетает с 207 ошибкой
volvo
Цитата
Так компилится, но вылетает с 207 ошибкой
Естественно.
program three;
uses crt;
var
x, y, c, b : real;
begin
clrscr;
x:= -0.4;
while x<6.5 do
begin
if x <=(-0.9) then begin
b:=0.01*x + exp(0.3);
c:=x+2.4;
y:= exp(3*ln(x))+2*b
end
else
if x > 1.3 then y:=ln(exp(3*ln(x))+2)
else begin
writeln(x:10 :5); { <--- Добавь эту строку и посмотри, почему вылетает }
y:=(sqrt(exp(3*ln(x))+2))/c;
end;
writeln (' b=',b:6:2,' c=',c:6:2,' y=',y:6:2);
x:=x+1.6;
end;
readkey;
end.
Посмотрел? Исправляй...
Ericsson
Всем спасибо.
Исправил и сдал.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.