Язык не указан, предположим что нужен кто то из популярных: Паскаль или Питон.
PascalABC.NET:
#1 (По умному)
begin
var a := Range(1, ReadInteger('N = '));
a.Sum.Println;
a.Aggregate(BigInteger.One, (p, q) -> p*q).Println;
end.
#2 "А нас учили по другому"
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);
#3 Вариант на Питоне
summ, prod = 0, 1
for i in range(1, int(input())+1):
summ += i; prod *= i
print(summ, prod)
Объяснение:
program cikli;
unit math;
var
i,n,s,p:integer;
a:array[1..20]of integer;
writeln('Исходный массив: ');
for i:=1 to 20 do begin
a[i]:=RandomRange(1,20);
writeln(' Элемент ',i,' = ',a[i]);
writeln('Сумму и произведения скольки первых чисел вы хотите посчитать? ');
readln(n);
s:=0;p:=1;
//цикл с параметром
For i:=1 to n do begin
s:=s+a[i];
p:=p*a[i];
writeln('Цикл с параметром');
writeln('Сумма первых ',n,' чисел = ',s);
writeln('Произведения первых ',n,'чисел = ',p);
//цикл с предусловием
i:=1;p:=1;s:=0;
while i<>n do begin
i:=i+1;
writeln('Цикл с предусловием');
//цикл с постусловием
i:=0;s:=0;p:=1;
repeat
until i=n;
writeln('Цикл с постусловием');
End.
Язык не указан, предположим что нужен кто то из популярных: Паскаль или Питон.
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)
Объяснение:
program cikli;
unit math;
var
i,n,s,p:integer;
a:array[1..20]of integer;
begin
writeln('Исходный массив: ');
for i:=1 to 20 do begin
a[i]:=RandomRange(1,20);
writeln(' Элемент ',i,' = ',a[i]);
end;
writeln('Сумму и произведения скольки первых чисел вы хотите посчитать? ');
readln(n);
s:=0;p:=1;
//цикл с параметром
For i:=1 to n do begin
s:=s+a[i];
p:=p*a[i];
end;
writeln('Цикл с параметром');
writeln('Сумма первых ',n,' чисел = ',s);
writeln('Произведения первых ',n,'чисел = ',p);
//цикл с предусловием
i:=1;p:=1;s:=0;
while i<>n do begin
s:=s+a[i];
p:=p*a[i];
i:=i+1;
end;
writeln('Цикл с предусловием');
writeln('Сумма первых ',n,' чисел = ',s);
writeln('Произведения первых ',n,'чисел = ',p);
//цикл с постусловием
i:=0;s:=0;p:=1;
repeat
i:=i+1;
s:=s+a[i];
p:=p*a[i];
until i=n;
writeln('Цикл с постусловием');
writeln('Сумма первых ',n,' чисел = ',s);
writeln('Произведения первых ',n,'чисел = ',p);
End.