Задать вопрос
20 марта, 02:34

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

+5
Ответы (2)
  1. 20 марта, 04:07
    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.
  2. 20 марта, 05:17
    0
    Цикл начинается с того, что сразу же присваивает х значение 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:=0), а подставляет сразу x+h? Т. е. в выводе ответов первым должно идти ...» по предмету 📗 Информатика. Развернутая система поиска нашего сайта обязательно приведёт вас к нужной информации. Как вариант - оцените ответы на похожие вопросы. Но если вдруг и это не помогло - задавайте свой вопрос знающим оппонентам, которые быстро дадут на него ответ!
Искать готовые ответы