Язык не указан, предположим что нужен кто то из популярных: Паскаль или Питон.
PascalABC.NET:
#1 (По умному)
begin
var a := Range(1, ReadInteger('N = '));
a.Sum.Println;
a.Aggregate(BigInteger.One, (p, q) -> p*q).Println;
end.
#2 "А нас учили по другому"
begin
var N := ReadInteger();
var sum:int64 := 0;
var prod:BigInteger := 1; //Для большого N произведение не влезет в int64, по этому юзаем бесконечное целое число BigInteger
for var i := 1 to N do begin
sum += i;
prod *= i;
end;
Println(sum, prod);
end.
#3 Вариант на Питоне
summ, prod = 0, 1
for i in range(1, int(input())+1):
summ += i; prod *= i
print(summ, prod)
Объяснение:
ответ: блок схема во вложении.
Объяснение:
1. заполняем массив А размерностью 20 целыми числами. устанавливаем начальное значение параметра цикла = 2, то есть цикл будет начинаться со 2-го элемента. устанавливаем флаг b в true. от нужен для проверки "на возрастаемость"
2. начинаем цикл со 2 до 20 элемента
3. если текущий элемент больше предыдущего, то делаем инкремент параметра i и переходим на повторение цикла.
4. если текущий элемент НЕ больше предыдущего, то сбрасываем флаг b и выходим из цикла. Условие возрастаемости нарушено, дальнейшее сканирование не имеет смысла.
5. проверка флага b: в том случае если весь цикл пройден, от равен true, иначе, если был совершен выход из цикла по причине п.4, то равен false
6. в зависимости от состояния флага b выводим соответствующее сообщение.
блок-схема может редактировать через сайт: https://www.draw.io