Предмет: Информатика, автор: stepanovandrey2018

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

Program 1;

var

n, m , p : real;

begin

read(n,m)

for i:=0 to n do

p:=m*p;

write(p)

end


restIess: а отсутствие точек с запятой это они просто не прикрепились или так и было?
stepanovandrey2018: так и было

Ответы

Автор ответа: restIess
1

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

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.


stepanovandrey2018: спасибо)
Похожие вопросы