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