Описать массив, подходящий для представления роста призывников в РА из 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.

Объяснение кода листинга программы

  1. Объявлены переменные: — A: Massiv; — i, p: byte; — sr: word; — Max_Loc: byte; — Max: integer; — Diap_10: real; — sch: byte; — Max: integer;
  2. Задана константа n=10.
  3. Выделен массив Massiv[1..10] для хранения 10 целых чисел.
  4. Введен блок процедур: — Function Max(A: Massiv): Byte; устанавливает индекс максимального элемента в массиве A. Инициализирует переменную Max_Loc значением 1. Проверяет каждый элемент массива A, начиная со второго, и если текущий элемент меньше, чем элемент с индексом Max_Loc, то обновляет значение Max_Loc. Возвращает значение Max_Loc.
  5. Введен блок процедур: — 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.
  6. Введен основной блок программы: — clrscr; — writeln('Zapolnite Massiv:'); Запрашивает заполнение массива A. Заполняет переменную sr суммой всех элементов массива A. Выводит сумму элементов массива A. Выводит среднее значение элементов массива A. Выводит индекс максимального элемента массива A. Выводит количество элементов в диапазоне от Max до Max-10. Запрашивает нажатие любой клавиши для выхода из программы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4 из 5
Похожие ответы