Почему программа на паскале не подставляет изначальное значение x (x:=0), а

Почему программа на паскале не подставляет изначальное значение 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 xgt;=4;
end.

Задать свой вопрос
2 ответа
Нужно поменять местами строчки:
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 xgt;=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 gt;= 4;
end.

Тут значение переменной у поначалу будет одинаково результату вычисления, при котором х еще равен 0.
Строку x:=0; можно убрать, так как при объявлении переменной (в разделе var) ей присваивается 0 по умолчанию.
А также, есть лишняя переменная с.
, оставишь ответ?
Имя:*
E-Mail:


Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт