Условие задачи : Найти среднее арифметическое в 3-х рядах (в каждом по отдельности) .
Сложность : легкая .
Для того чтобы решить эту задачу нам понадобиться два цикла , один цикл для того чтобы заполнить наш ряд , а второй цикл для самого ряда, т.е первого , второго и третьего .
Давай создадим каркас с переменными :
program srednee ;
var
number, i , j , summa : integer ;
sred : real ;
begin
end.
Здесь 2 переменные для цикла, одна для числа которое мы будем прибавлять , потом переменная для суммы которую мы будем делить на число элементов в ряде , ну и переменная под среднее арифметическое .
Ну вы сейчас всё увидите , если вдруг вам что то не понятно .
Для начала давайте просто пустим цикл по одному ряду :
for i := 1 to 10 do
begin
number := -20 + random(101);
summa := summa + number ;
write(number:3, ' '); {выводим элемент ряда}
end;
sred := summa / 10 ;
write('Sred. arif = ', sred:3:1 );
Тут мы делаем цикл по одному ряду, переменной number присваиваем какое то случайное число . Затем мы делаем из этих чисел сумму, чтобы затем найти среднее арифметическое и выводим его , также мы выводи элемент number чтобы увидеть какой ряд у нас получился.
Но нам надо сумму трех рядов , мы конечно могли бы просто скопировать этот код три раза и всё , но мы сделаем проще , сделаем цикл в цикле , смотрите что у нас получиться :
for j := 1 to 3 do
begin
summa := 0 ; {обнуляем сумму }
sred := 0 ; { и сред.аримф. затем чтобы они для каждого ряда были свои }
for i := 1 to 10 do
begin
number := -20 + random(101);
summa := summa + number ;
write(number:3, ' ');
end;
sred := summa / 10 ;
write('Sred. arif = ', sred:3:1 );
writeln; {Чтобы каждый ряд был в своей строчке}
end;
Т.е. мы тут один и тот же код выполняем три раза . Для этого нам и был нужен 2-й цикл .
Весь код программы :
program srednee ;
uses crt ;
var
number, i , j , summa : integer ;
sred : real ;
begin
clrscr ;
for j := 1 to 3 do
begin
summa := 0 ;
sred := 0 ;
for i := 1 to 10 do
begin
number := -20 + random(101);
summa := summa + number ;
write(number:3, ' ');
end;
sred := summa / 10 ;
write('Sred. arif = ', sred:3:1 );
writeln;
end;
readln;
end.
Вот результат :