Type arr = array[1..10] of integer; {создаем новый тип, являющийся массивом} var i:integer; s:real; R,Q,P:arr; X:array[0..3] of integer;
function Sum(a: arr): integer; {функция вычисления суммы элементов массива} var i:integer; begin foreach i in a do {вычисляем сумму элементов по заданному правилу} if (i>=2) and (i<=4) then Result :=Result+i end; {результатом функции будет сумма}
begin randomize; {заполняем массивы случайными числами} for i:=1 to 10 do begin R[i]:=random(10); Q[i]:=random(10); P[i]:=random(10) end; write('R: '); {распечатываем содержимое массивов на экране} for i:=1 to 10 do write(R[i],' '); writeln; write('Q: '); for i:=1 to 10 do write(Q[i],' '); writeln; write('P: '); for i:=1 to 10 do write(P[i],' '); writeln; {а тут собственно само решение задачи} X[1]:=Sum(R);{передаем в ф-цию Sum массив R, она считает сумму и записывает в Х1} writeln('X[1]=',X[1]); X[2]:=Sum(Q);{передаем в ф-цию Sum массив Q, она считает сумму и записывает в Х2} writeln('X[2]=',X[2]); X[3]:=Sum(P);{передаем в ф-цию Sum массив P, она считает сумму и записывает в Х3} writeln('X[3]=',X[3]) end.
Решение 1:
nominative = 1 # окончания им.падеж: гриб
generative = [2, 3, 4] # список окончаний род.падеж: гриба
plural_generative = [5, 6, 7, 8, 9, 0] # список окончаний род.падеж множ-го: грибов
for number in range(0, 51): # цикл с значением от 0 до 51
"""number % 10 возвращает последнюю цифру из числа"""
if (number % 10) == nominative:
print(f"{number} гриб")
elif (number % 10) in generative:
print(f"{number} гриба")
elif (number % 10) in plural_generative:
print(f"{number} грибов")
Решение 2:
nominative = 1 # окончания им.падеж: гриб
generative = [2, 3, 4] # список окончаний род.падеж: гриба
for number in range(0, 51): # цикл с значением от 0 до 51
"""number % 10 возвращает последнию цифру из числа"""
if (number % 10) == nominative:
print(f"{number} гриб")
elif (number % 10) in generative:
print(f"{number} гриба")
else:
print(f"{number} грибов")
Объяснение:
В комментариях.