Условие задачи : Найти среднее арифметическое в 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.