Рассмотрите решение задачи. Сколько раз выполнится цикл,если n=5,a=3.
И,что будет выведено на экран,если n=5,a=2
Тема:Программирование циклических алгоритмов
program n_16;
var i , n: integer; a, y: real;
begin
writeln ('Возведение в степень ');
write ('Введите основание a>>');
readln (a);
write ('Введите показатель n>>');
readln (n);
y:=1;
for i:=1 to n do y:=y*a;
writeln ('y=', y)
end.
Решение "в лоб", без оптимизаций:
Procedure Razmen(a : Integer);
Begin
If a>=500 then
Begin
Writeln('500 - ',a div 500);
Razmen(a-(a div 500)*500);
end
else
If a>=100 then
Begin
Writeln('100 - ',a div 100);
Razmen(a-(a div 100)*100);
end
else
If a>=50 then
Begin
Writeln('50 - ',a div 50);
Razmen(a-(a div 50)*50);
end
else
If a>=10 then
Begin
Writeln('10 - ',a div 10);
Razmen(a-(a div 10)*10);
end
else
If a>=5 then
Begin
Writeln('5 - ',a div 5);
Razmen(a-(a div 5)*5);
end
else Writeln('1 - ',a);
end;
Begin
Razmen(1530);
end.