Перенос программы в процедуру - PascalABC.NET

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

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

Перенести программу в процедуру

Решение задачи: «Перенос программы в процедуру»

textual
Листинг программы
procedure progra;
var i:integer;
begin
var a : array [1..10] of Integer;
begin
randomize;
for i:=1 to 10 do a[i]:=random(10);
write('array=',' {');
for i:=1 to 10 do write(a[i]:3);
write(' }');
writeln;
end;
var sum := 0;
foreach var n : Integer in a do sum += n;
var sr := sum / (High(a) - Low(a) + 1);
WriteLn('<', sr, '>');
var n1 := Integer.MaxValue;
var n2 := Integer.MaxValue;
foreach var n : Integer in a do
if abs(sr - n) < abs(sr - n1) then
begin
n2 := n1; n1 := n;
end
else if abs(sr - n) < abs(sr - n2) then
n2 := n;
WriteLn(n1, NewLine, n2);
end;
 
 
begin propra(); readln; end.

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

В данном коде реализована процедура progra, которая выполняет следующие действия:

  1. Создает массив a размером 10, заполняет его случайными числами от 0 до 9 с помощью функции random.
  2. Выводит на экран содержимое массива a через цикл for и функцию write.
  3. Вычисляет сумму всех элементов массива a с помощью цикла foreach и переменных sum и n.
  4. Находит среднее значение массива a с помощью выражения sum / (High(a) - Low(a) + 1).
  5. Находит наименьшее и наибольшее значение массива a с помощью переменных n1 и n2 и цикла foreach.
  6. Сравнивает разницу между средним значением sr и каждым элементом массива a с помощью условия if. Если разница меньше, чем между sr и n1, то обновляет значения n1 и n2.
  7. Выводит на экран значения n1 и n2. Пользовательский ввод/вывод в данном коде не используется.

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

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