Дайте развернутые ответы на вопросы:
1. как блок-схемой и на алгоритмическом языке представляется команда цикла с предусловием? пример.
2. как программируется цикл с предусловием на алгоритмическом языке и как на языке паскаль?
3. почему алгоритм вычисления n! должен быть цикличным? постройте данный алгоритм.
4. составьте алгоритм вычисления суммы всех натуральных чисел, не превышающих заданного натурального числа n.
uses crt;
var a,b : integer;
begin
Write('Введите два числа: ');
Read(a,b);
if (a>=0) and (a<=999) and (b>=0) and (b<=999) then
begin
if (a>=100) and (a<=999) then writeln(a);
if (b>=100) and (b<=999) then writeln(b);
if (a>=10) and (a<=99) then writeln(' ',a);
if (b>=10) and (b<=99) then writeln(' ',b);
if (a>=0) and (a<=9) then writeln(' ',' ',a);
if (b>=0) and (b<=9) then writeln(' ',' ',b);
end
else
Writeln('Нужно ввести числа от 0 до 999');
end.
Максимальное количество возможных сложений равно количеству команд и это дает в результате 1+1+1+1+1+1=6, но никак не 45. Разница большая, поэтому её надо преодолевать пр умножения.
Пойдем от обратных операций - будем из 45 получать 1 путем деления на 3 и вычитания 1.
1) 45/3=15 2) 15/3=5 3) 5 на 3 не делится, вычитаем 1 и получаем 4. 4) 4 на 3 не делится, вычитаем 1 и получаем 3. 5) 3/3=1 - мы пришли к 1 за 5 команд.
Теперь осталось записать в обратном порядке команды калькулятора.
Мы должны получить следующие шаги: 1) 1х3=3 2) 3+1=4 3) 4+1=5 4)5х3=15 5) 15х3=15.
ответ: 21122