а) for, так как наша переменная, которая будет управлять циклом(как принято i ) будет принимать значения от 0 до 9, если начинать цикл с 0. Мы создаем переменную result и помещаем внутри цикла следующее выражение: result += 1/(i + 1). На выходе получим результат данного выражения.
б) В данном случае, можно использовать либо for range based, где выражение цикла выглядит так for (const auto & grade : grades), либо while с условием пока не дойдем до конца списка, зависит какой вид списка мы используем. Я считаю больше подходит for.
в) Думаю for range-based, либо обычный for.
г) ответ как и в б, можно использовать либо for ranged base, либо while, если значения аргументов содержатся в массиве, то тогда for range-based. Если например, тестирование происходит с пользовательского ввода, то тогда удобнее было бы использовать while.
Поделитесь своими знаниями, ответьте на вопрос:
На одномерные массивы (pascal abc известен рост каждого из 22 учеников класса. рост мальчиков условно задан отрицательными числами. определить средний рост мальчиков и средний рост девочек.
ar:array[1.22] of integer;
ds,ms,i,m,d:integer;
begin
for i:=1 to 22 do begin
readln(ar[i]);
if ar[i]<0 then
begin
m:=m+1;
ms:=ms+ar[i];
end
else
begin
ds:=ds+ar[i];
d:=d+1
end;
end;
ms:=ms div m;
ds:=ds div d;
writeln(ms,' ',ds);
end.