Определите среднее арифметическое массива - Free Pascal

Узнай цену своей работы

Формулировка задачи:

Здравствуйте, очень нужна помощь с процедурой. Есть готовый код решенной задачи и нужно её переделать под процедуру. Заранее спасибо. Вот условие задачи: Вычислить среднее арифметическое значение тех элементов одномерного массива, которые расположены за первым по порядку минимальным элементом. Размерность массива –10. Заполнение массива осуществить случайными числами от -12 до 25.
Листинг программы
  1. Program Zeta;
  2. const
  3. n=10;
  4. var
  5. a:array [1..n] of integer;
  6. i,s,k:integer;
  7. sr:real;
  8. begin clrscr;
  9. randomize;
  10. s:=0;
  11. k:=0;
  12. for i:=1 to n do begin
  13. a[i]:=random(38)-25;
  14. write (a[i],' ');
  15. if (a[i]>-2) and (a[i]<10) then
  16. begin
  17. k:=k+1;
  18. s:=s+a[i];
  19. end;
  20. end;
  21. writeln;
  22. sr:=s/k;
  23. writeln(sr:0:2);
  24. readln;
  25. end.

Решение задачи: «Определите среднее арифметическое массива»

textual
Листинг программы
  1. Program Zeta;
  2. Uses
  3.   Crt;
  4. Const
  5.   N=10;
  6. Var
  7.   Line:array [1..N] of integer;
  8.   I,Imin,Count,Buf:integer;
  9.   Res:real;
  10.  
  11.   Procedure Input;
  12.     begin
  13.       For I:=1 to N do
  14.         begin
  15.           Line[I]:=Random(38)-12;
  16.           Write(Line[I]:3);
  17.         end;
  18.     end;
  19.  
  20.   Procedure Min;
  21.     begin
  22.       For I:=2 to N do
  23.         If Line[I]<Line[Imin] then
  24.           Imin:=I;
  25.     end;
  26.  
  27.   Procedure Average;
  28.     begin
  29.       If Imin<>N then
  30.         begin
  31.           For I:=Imin+1 to N do
  32.             begin
  33.               Inc(Count);
  34.               Buf:=Buf+Line[I];
  35.             end;
  36.           Res:=Buf/Count;
  37.           Writeln('Average: ',Res:2:2);
  38.         end
  39.       Else
  40.         Writeln('Minimalnij element massiva stoit na poslednem meste.');
  41.     end;
  42. Begin
  43.   Randomize;
  44.   ClrScr;
  45.   Imin:=1;
  46.   Buf:=0;
  47.   Count:=0;
  48.   Input;
  49.   WriteLn;
  50.   Min;
  51.   Average;
  52.   ReadKey;
  53. End.

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

  1. Объявлены переменные: Line - массив 10 целых чисел; I, Imin, Count, Buf - целочисленные переменные для подсчёта среднего значения; Res - переменная типа real для хранения среднего значения.
  2. Определены процедуры: Input - заполнение массива случайными числами от 12 до 38; Min - поиск минимального элемента в массиве; Average - вычисление среднего значения.
  3. В основной части программы: Выполняется инициализация генератора случайных чисел; Очищается экран; Устанавливаются начальные значения для Imin, Buf и Count; Выполняется процедура Input; Выводится сообщение о нахождении минимального элемента; Выполняется процедура Average; Запрашивается нажатие клавиши.
  4. Если в процессе вычисления среднего значения будет обнаружено, что минимальный элемент стоит на последнем месте, то выводится соответствующее сообщение.

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


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

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

14   голосов , оценка 4.357 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы