В
Все
У
Українська література
Г
Геометрия
Д
Другие предметы
Э
Экономика
Г
География
О
ОБЖ
М
Математика
М
МХК
Х
Химия
Қ
Қазақ тiлi
Л
Литература
У
Українська мова
О
Обществознание
Ф
Физика
А
Английский язык
А
Алгебра
И
История
Б
Беларуская мова
Б
Биология
М
Музыка
П
Право
И
Информатика
П
Психология
В
Видео-ответы
Н
Немецкий язык
Ф
Французский язык
О
Окружающий мир
Р
Русский язык
dzeratigieva
dzeratigieva
25.04.2023 11:29 •  Информатика

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

Ответ:
Крыло
Крыло
25.06.2020 17:37
Цикл начинается с того, что сразу же присваивает х значение 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 по умолчанию.
А также, есть лишняя переменная с.
0,0(0 оценок)
Ответ:
ravengan
ravengan
25.06.2020 17:37
Нужно поменять местами строки:
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.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?