Почему программа на паскале не подставляет начальное значение x (x:=0), а подставляет сразу x+h? Т.е. в выводе ответов первым должно идти значение -1, а идет совсем другое. И как в таком случае реализовать это?Код программы:pro...

Почему программа на паскале не подставляет начальное значение x (x:=0), а подставляет сразу x+h? Т.е. в выводе ответов первым должно идти значение -1, а идет совсем другое. И как в таком случае реализовать это? Код программы: program program3; uses crt; var x, y, c, h:real; begin clrscr; x:=0; h:=0.4; repeat x:=x+h; y:=power(x,1/3)-1; writeln (y); until x>=4; end.
Гость
Ответ(ы) на вопрос:
Гость
Цикл начинается с того, что сразу же присваивает х значение 0.4, и после этого для у производятся вычисление исходя из х = 0.4. Чтобы х был изначально равен 0, нужно поменять местами строки в цикле, выглядит это так: var   x, y, h: real; begin   h := 0.4;   repeat      y := power(x, 1 / 3) - 1;      x := x + h;      writeln(y);   until x >= 4; end. Здесь значение переменной у сначала будет равно результату вычисления, при котором х еще равен 0. Строку x:=0; можно убрать, так как при объявлении переменной (в разделе var) ей присваивается 0 по умолчанию. А также, есть лишняя переменная с.
Гость
Нужно поменять местами строки: x:=x+h; y:=power(x,1/3)-1; Готовая программа выглядит так: program program3; uses crt; var   x, y, c, h:real; begin   clrscr;   x:=0;   h:=0.4;   repeat      y:=power(x,1/3)-1;     x:=x+h;     writeln (y);   until x>=4; end.
Не нашли ответ?
Ответить на вопрос
Похожие вопросы