Описать массив, подходящий для представления роста призывников в РА из 115 группы - Free Pascal
Формулировка задачи:
1. Описать массив, подходящий для представления роста (в см) призывников в РА из 115 группы.
2. Написать программу, заполняющую массив данными (не упорядоченными) с клавиатуры и печатающую средний рост призывников.
3. Включить в программу функцию, определяющую порядковый номер самого высокого призывника.
4. Включить в программу функцию, определяющую количество призывников, имеющих рост не более чем на 10% отличающийся от роста самого высокого призывника (включая его)
В free pascal
Решение задачи: «Описать массив, подходящий для представления роста призывников в РА из 115 группы»
textual
Листинг программы
uses crt; const n=10; type Massiv=array[1..n] of integer; var A:Massiv; i,p:byte; sr:word; Function Max(A:Massiv):Byte; var i,Max_Loc:byte; begin Max_Loc:=1; for i:=2 to n do if A[Max_Loc]<A[i] then Max_Loc:=i; Max:=Max_Loc; end; Function Diap(A:Massiv; p:Byte):Byte; var i,sch:byte; Max:integer; Max_10:real; begin Max:=A[p]; Max_10:=Max * 0.9; sch:=0; for i:=1 to n do if (A[i]>=Max_10) and (A[i]<=Max) then inc(sch); Diap:=sch; end; begin clrscr; writeln('Zapolnite Massiv:'); for i:=1 to n do readln(A[i]); sr:=0; clrscr; writeln('Massiv:'); for i:=1 to n do begin sr:=sr+A[i]; write(A[i]:4); end; writeln; write('Srednee znachenie: '); writeln(sr/n:6:2); p:=Max(A); Writeln('Nomer max elementa: ',p:3); Writeln('Kolichestvo elementov v diapozone (Max-10;Max): ',Diap(A,p)); readln; end.
Объяснение кода листинга программы
- Объявлены переменные: — A: Massiv; — i, p: byte; — sr: word; — Max_Loc: byte; — Max: integer; — Diap_10: real; — sch: byte; — Max: integer;
- Задана константа n=10.
- Выделен массив Massiv[1..10] для хранения 10 целых чисел.
- Введен блок процедур: — Function Max(A: Massiv): Byte; устанавливает индекс максимального элемента в массиве A. Инициализирует переменную Max_Loc значением 1. Проверяет каждый элемент массива A, начиная со второго, и если текущий элемент меньше, чем элемент с индексом Max_Loc, то обновляет значение Max_Loc. Возвращает значение Max_Loc.
- Введен блок процедур: — Function Diap(A: Massiv; p: Byte): Byte; принимает массив A и индекс p. Инициализирует переменную Max значением элемента с индексом p. Рассчитывает значение Max_10 как 90% от значения Max. Инициализирует переменную sch значением 0, которая будет считать количество элементов в диапазоне от Max_10 до Max. Проверяет каждый элемент массива A, начиная с первого, и если элемент больше или равен Max_10 и меньше Max, то увеличивает значение переменной sch на 1. Возвращает значение переменной sch.
- Введен основной блок программы: — clrscr; — writeln('Zapolnite Massiv:'); Запрашивает заполнение массива A. Заполняет переменную sr суммой всех элементов массива A. Выводит сумму элементов массива A. Выводит среднее значение элементов массива A. Выводит индекс максимального элемента массива A. Выводит количество элементов в диапазоне от Max до Max-10. Запрашивает нажатие любой клавиши для выхода из программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д