Списки чисел используются во многих приложениях. Это могут быть списки баллов за контрольные, замеры температуры, цены на товары и т. д.
УПРАЖНЕНИЕ 37.1
Создайте процедуру НайтиМинимум, которая находила бы самое маленькое число в списке набранных баллов, используя знания, полученные при изучении
Представьте, что вы учитель и вам надо узнать самое большое количество баллов, набранных во время последнего экзамена в классе. Можно написать программу, которая сравнит все полученные баллы и найдет максимальную величину. Первый скрипт, ищет самое большое число в списке баллы.
Процедура НайтиМаксимум начинается с того, что переменной максБалл присваивается величина, равная первому числу в списке. Затем начинается цикл сравнения остальных номеров списка с текущей вели- чиной максБалл. Всякий раз, когда обнаруживается величина больше максБалл, эта переменная меняет значение на большее. Когда цикл пре- кращается, величина, сохраненная в переменной максБалл, будет самым большим числом в списке.
Поиск самого маленького числа в списке выполняется примерно по тому же алгоритму. Мы начинаем с предположения, что первый элемент списка и есть минимум, а затем используем цикл, чтобы сравнить с ним оставшиеся элементы. Когда мы находим число меньше, мы обновляем значение переменной, в которой сохраняем минимальную величину.
Расчет среднего арифметического
Мы напишем процедуру, которая высчитывает среднее арифметическое всех баллов, сохраненных в списке баллы. Оно высчитывается как сумма N чисел, деленная на N. Именно эту операцию и выполняет процедура, приведенная на рисунке
Обратите особое внимание на то, как мы накапливали переменную сумма в цикле. Этот прием — накапливающая суммация — очень часто используется в программировании.
Процедура РасчетСреднеарифметического использует цикл повторить, чтобы пройти по всем баллам, сохраняемым в списке: она складывает числа и сохраняет результат в переменной сумма (выставляется на 0 перед началом цикла). Когда цикл закончен, скрипт рассчитывает среднее арифметическое, деля сумма на длину списка, и сохраняет результат в переменной сред.