Алгоритм поиска среднего, минимального и максимального роста учащихся
- 1. Инициализация:
- Создайте массив для хранения ростов учащихся.
- Инициализируйте переменные для хранения среднего роста (например, `средний_рост`), минимального роста (например, `мин_рост`), максимального роста (например, `макс_рост`), а также индексы минимального и максимального роста (например, `индекс_мин`, `индекс_макс`).
- Инициализируйте переменную для суммирования ростов (например, `сумма_ростов`).
- 2. Ввод данных:
- Заполните массив ростами учащихся.
- 3. Поиск минимума, максимума и суммы (циклический алгоритм):
- Для каждого элемента массива (роста учащегося):
- Добавьте текущий рост к `сумма_ростов`.
- Если текущий рост меньше `мин_рост` (или это первый элемент), обновите `мин_рост` и `индекс_мин`.
- Если текущий рост больше `макс_рост` (или это первый элемент), обновите `макс_рост` и `индекс_макс`.
- 4. Вычисление среднего роста:
- `средний_рост` = `сумма_ростов` / (количество учащихся в массиве).
- 5. Вывод результата:
- Выведите средний рост учащихся.
- Выведите минимальный рост и номер учащегося с этим ростом (используя `индекс_мин` + 1, так как нумерация в списке обычно начинается с 1).
- Выведите максимальный рост и номер учащегося с этим ростом (используя `индекс_макс` + 1).
Структурная схема (текстовое представление):
START
Массив роста[N]
средний_рост, мин_рост, макс_рост, сумма_ростов = 0
индекс_мин, индекс_макс = 0
// Ввод данных о росте учащихся в массив роста[N]
FOR i FROM 0 TO N-1:
сумма_ростов = сумма_ростов + роста[i]
IF роста[i] < мин_рост THEN
мин_рост = роста[i]
индекс_мин = i
END IF
IF роста[i] > макс_рост THEN
макс_рост = роста[i]
индекс_макс = i
END IF
END FOR
средний_рост = сумма_ростов / N
// Вывод результатов
PRINT "Средний рост: ", средний_рост
PRINT "Минимальный рост: ", мин_рост, " (учащийся № ", индекс_мин + 1, ")"
PRINT "Максимальный рост: ", макс_рост, " (учащийся № ", индекс_макс + 1, ")"
END