Язык не указан, предположим что нужен кто то из популярных: Паскаль или Питон.
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-й этап
Дано:
а — сумма, получаемая продавцом с продажи каждой из первых 50 газет;
1,2 ⋅ а — сумма, получаемая продавцом с продажи каждой из последующих газет.
Найти:
s — общую сумму, которую получит продавец с продажи 200 газет.
2-й этап
Для нахождения s можно вычислить значение следующего выражения:
50 ⋅ а + 150 ⋅ 1,2 ⋅ а.
Здесь а и s — величины вещественного типа.
3-й этап
Блок-схема
4-й этап
program n_12_63;
var a, s: real;
begin
writeln (‘Подсчет заработка продавца’);
writeln (‘Ввод а‘);
readln (a);
s:=50*a+150*1.2*a;
writeln (‘Продавец заработал ‘, s,’ руб.’)
end.
5-й этап
Протестировать программу можно по следующим данным:
а = 1,
s = 230.
Объяснение: