Задать вопрос
15 мая, 09:30

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

+3
Ответы (2)
  1. 15 мая, 09:55
    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 по умолчанию.

    А также, есть лишняя переменная с.
  2. 15 мая, 12:43
    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.
Знаете ответ?
Сомневаетесь в ответе?
Найдите правильный ответ на вопрос ✅ «Почему программа на паскале не подставляет начальное значение x (x:=0), а подставляет сразу x+h? Т. е. в выводе ответов первым должно идти ...» по предмету 📘 Информатика, а если вы сомневаетесь в правильности ответов или ответ отсутствует, то попробуйте воспользоваться умным поиском на сайте и найти ответы на похожие вопросы.
Смотреть другие ответы
Похожие вопросы по информатике
Сделать так чтобы Writeln был заменен другим словом и повторялься не больше двух раз program choise; var N_M:integer; writeln (' введи номер месяца ') ; readln (N_M) ; case N_M of 1:writeln (' январь ') ; 2:writeln (' февраль ') ;
Ответы (1)
Определить значение переменной у после выполнения следующих фрагментов программы: a) Var у : real; i : integer; у : = 1; i : = 5; while i> 2 do i: = i - 1; y:=y + 1 * i; b) Var у : real; i : integer; у : = 1; i : = 2; repeat i: = 2 * i;
Ответы (1)
Выдаёт ошибку: операнды имеют неприводимые типы. Где я ошиблась? (Программа написана на языке Pascal ABC) Program Home; Uses CRT; Var a: integer; b: real; Begin WriteLn ('Введите еденицу измереня: килограмм, миллиграмм, грамм, тонна, центнер') ;
Ответы (1)
Почему выводится ноль в программе? program pr1; var a: real; n: longint; function power (a:real; n:longint) : real; begin var i: integer; var anew: real; anew:=a; for i: = 2 to n do begin a:=a*anew; end; end; begin readln (a, n) ;
Ответы (1)
надо решать через Паскаль. составил две программы и обе со странным ответом. что не то? program qwe; uses crt; var x. s:integer; y:real; begin s:=0; for i: = - 2 to 27 do s:=s+x; y:=s/30 writeln ('srednee arifmeticheskoe=', y) ; readkey; end.
Ответы (1)