Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Прошу помощи в Pascal

Рустем Хисамутдинов Знаток (364), закрыт 6 лет назад
14 вариант
Срочно нужна помощь, не понимаю где ошибка
program a1;
var x,b,c,y,dx,xn,xk: real;
begin
write('введите с');
readln(c);
write('введите dx');
readln(dx);
x:=xn;
while x<=xk+0.0001 do
begin
y:=abs(ln(x)/ln(10))-sqr(b+2);
b:=1/(pi*x);
writeln('y=',y:1:3,'b=',b:1:3);
x:=x+dx;
end;
end.
На 11 строчке выдаёт ошибку, что делит на ноль (b:=). Фото с кодом и блок схема - примеры на которые я ориентировался
Лучший ответ
Юрий Моисеев Оракул (83936) 6 лет назад
var x,t,z:real;
begin
x:=0.1;
while x<=3.1 do
begin
t:=1/(pi-x);
z:=abs(ln(x)/ln(10))-sqr(t+2);
writeln(x,' ',z);
x:=x+0.5
end;
end.
Рустем ХисамутдиновЗнаток (364) 6 лет назад
Спасибо огромное
Остальные ответы
Ярослав Искусственный Интеллект (107837) 6 лет назад
Мне что-то подсказывает, что x равна нулю на первой итерации))

var ...xn; // в xn либо 0, либо "мусор" - в зависимости от компилятора и его настроек
... // код, где xn ничего не присваивается
x:=xn;
... // код где x по-прежнему =xn
b:=1/(pi*x); // и тут делим на произведение pi с неизвестным значением x
Похожие вопросы