Ученик написал программу возводящую число в натуральную степень, но допустил ошибки, исправьте их и поясните. Program 1;

var

n, m , p : real;

begin

read(n,m)

for i:=0 to n do

p:=m*p;

write(p)

end

Diana102004 Diana102004    1   17.01.2021 09:57    8

Ответы
kravcovleonid5 kravcovleonid5  17.01.2021 10:00

Давайте по строчкам пойдем.

Program 1;  - имя программы не может начинаться/являться числом

var - всё норм

n,m,p : real; не понимаю, зачем эти переменные объявлять как real, когда можно сделать их int'ами + не хватает переменной i

begin - всё норм

Так как у нас произведение, нам нужно переменной p присвоить единицу.

read(n,m) - не хватает точки с запятой, и я бы писал сначала число, а потом степень в которую надо возвести, а не наоборот.

for i := 0 to n do, если уж мы идём с нуля, тогда цикл должен кончится в n-1 (можно начать с 1, закончить n)

p := m * p; - всё норм

write(p) -  не хватает точки с запятой

end - не хватает точки

Рабочий код:

Program pow1;

var

n, m , p,i : integer;

begin

p:= 1;

read(m,n);

for i :=0 to n-1 do

p:=m*p;

write(p);

end.

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика