Дан одномерный массив найти разность максимального и минимального элементов массива - Free Pascal

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

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

Нужен код для командного приложения на Лазарусе и если возможно комментарии...

Решение задачи: «Дан одномерный массив найти разность максимального и минимального элементов массива»

textual
Листинг программы
  1. program project1;
  2.  
  3. {$mode objfpc}{$H+}
  4.  
  5. uses
  6.   {$IFDEF UNIX}{$IFDEF UseCThreads}
  7.   cthreads,
  8.   {$ENDIF}{$ENDIF}
  9.   Classes, SysUtils, CustApp
  10.   { you can add units after this };
  11.  
  12. type
  13.  
  14.   { TMyApplication }
  15.  
  16.   TMyApplication = class(TCustomApplication)
  17.   protected
  18.     procedure DoRun; override;
  19.   public
  20.     constructor Create(TheOwner: TComponent); override;
  21.     destructor Destroy; override;
  22.     procedure WriteHelp; virtual;
  23.   end;
  24.  
  25. { TMyApplication }
  26.  
  27. procedure TMyApplication.DoRun;
  28. var
  29.   ErrorMsg: String;
  30.   n,i:integer;
  31.   amin,amax:real;
  32.   a:array of real;
  33. begin
  34.   // quick check parameters
  35.   ErrorMsg:=CheckOptions('h','help');
  36.   if ErrorMsg<>'' then begin
  37.     ShowException(Exception.Create(ErrorMsg));
  38.     Terminate;
  39.     Exit;
  40.   end;
  41.  
  42.   // parse parameters
  43.   if HasOption('h','help') then begin
  44.     WriteHelp;
  45.     Terminate;
  46.     Exit;
  47.   end;
  48.  
  49.   { add your program here }
  50.   write('n=');
  51.   readln(n);
  52.   SetLength(a,n); {устанавливаем размерность массива}
  53.   randomize;
  54.   writeln('MaccuB:');
  55.   for i:=0 to n-1 do begin
  56.     a[i]:=random*100; {заполняем массив случайными числами от 0 до 100}
  57.     writeln(a[i]:0:4);
  58.     if i=0 then begin amin:=a[0];amax:=a[0];end {если первый элемент массива то максимальное и минимальное число признаем равным ему}
  59.     else begin
  60.       if amin>a[i] then amin:=a[i];{если минимальное больше текущего присваиваем значение минимальному}
  61.       if amax<a[i] then amax:=a[i];{если максимальное больше текущего присваиваем значение максимальному}
  62.     end;
  63.   end;
  64.  
  65.   writeln('MuH=',amin:0:4);
  66.   writeln('Makc=',amax:0:4);
  67.   writeln('ux pa3HocTb=',amax-amin:0:4);
  68.   readln;
  69.   // stop program loop
  70.   Terminate;
  71. end;
  72.  
  73. constructor TMyApplication.Create(TheOwner: TComponent);
  74. begin
  75.   inherited Create(TheOwner);
  76.   StopOnException:=True;
  77. end;
  78.  
  79. destructor TMyApplication.Destroy;
  80. begin
  81.   inherited Destroy;
  82. end;
  83.  
  84. procedure TMyApplication.WriteHelp;
  85. begin
  86.   { add your help code here }
  87.   writeln('Usage: ',ExeName,' -h');
  88. end;
  89.  
  90. var
  91.   Application: TMyApplication;
  92. begin
  93.   Application:=TMyApplication.Create(nil);
  94.   Application.Title:='My Application';
  95.   Application.Run;
  96.   Application.Free;
  97. end.

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

В этом коде написана программа на языке Free Pascal, которая решает задачу поиска разности максимального и минимального элементов в одномерном массиве. Список действий, которые выполняются в коде:

  1. Создается новый экземпляр приложения TMyApplication.
  2. Задаются начальные значения переменных:
    • n - количество элементов в массиве;
    • i - счётчик элементов массива;
    • amin, amax - переменные для хранения минимального и максимального значений массива соответственно;
    • a - массив для хранения чисел;
  3. Проверяются параметры командной строки.
  4. Заполняется массив a случайными числами от 0 до 100.
  5. Находится минимальное и максимальное значение массива.
  6. Выводится на экран содержимое массива.
  7. Выводятся на экран минимальное и максимальное значение массива.
  8. Вычисляется разность максимального и минимального значения массива.
  9. Программа ожидает ввода с клавиатуры, чтобы пользователь мог увидеть результат.
  10. Программа завершается. Список переменных:
  11. n - количество элементов в массиве;
  12. i - счётчик элементов массива;
  13. amin, amax - переменные для хранения минимального и максимального значений массива соответственно;
  14. a - массив для хранения чисел;
  15. ErrorMsg - строка для хранения сообщения об ошибке;
  16. ExeName - строка, содержащая имя исполняемого файла программы.

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


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

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

6   голосов , оценка 4 из 5

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

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

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