Условие задачи : Ввести n чисел. Определить среднее арифметическое чисел меньше 10 (Язык Pascal)
Сложность : легкая .
Решение задачи :
Для начала продумаем наше решение. Сразу же сделаем цикл от 1 до n (кол-ва чисел).
Нам сказано определить среднее арифметическое чисел меньше 10, т.е. уже нам понадобиться условие которое проверяет какое из введенных нами чисел меньше 10.
Ну а среднее арифметическое — это сумма всех чисел деленная на кол-во чисел. Т.е. в цикле мы сначала введем число потом проверим меньше ли оно 10, если да то прибавляем его к общей сумме и увеличиваем кол-во чисел которые меньше 10.
Затем после цикла мы всю эту сумму разделим на это кол-во .
Теперь подумаем какие переменные нам понадобятся :
- Переменная summa — для суммы всех чисел меньше 10
- Переменная average — для среднего арифметического
- Переменная i — для цикла for
- Переменная n — для кол-ва чисел которое введет пользователь
- Переменная number — для числа которое пользователь вводить и которое мы будем проверять
- Переменная count — для кол-ва чисел меньше 10
Начнем мы с каркаса нашей программы :
var summa , i , n, number, count : integer; average : real; begin write('Введите кол-во чисел : '); readln(n); // просим пользователя ввести число end.
Переменная average у нас типа real, т.е. число с запятой(пример 4.56), мы присвоили ей такой тип потому что, чтобы найти среднее арифметическое нам нужно использовать деление.
Ну а теперь цикл, как я и говорил в нем мы сначала введем число, затем проверим его на выполнение условия, если всё ОК, то прибавляем его к общей сумме и кол-во таких чисел увеличиваем на 1 :
for i:=1 to n do begin write('Введите ', i , ' число : '); readln(number); if (number < 10) then begin summa := summa + number; count := count + 1; end; end;
Ну вот теперь нам нужно сосчитать среднее арифметическое, после цикла пишем :
average := summa / count ;
Всё решение задачи Pascal :
uses crt; var summa , i , n, number , count : integer; average : real; begin clrscr; write('Введите кол-во чисел : '); readln(n); // просим пользователя ввести число summa := 0; // чтобы не было ошибок for i:=1 to n do begin write('Введите ', i , ' число : '); readln(number); if (number < 10) then begin summa := summa + number; count := count + 1; end; end; average := summa / count ; writeln('Среднее арифметическое чисел меньше 10 = ', average:3:2); readln; // чтобы программа не закрывалась end.