Добавить в код использование процедур - PascalABC.NET
Формулировка задачи:
Решение задачи: «Добавить в код использование процедур»
textual
Листинг программы
const n = 10;
type mas=array[1..n] of integer;
procedure vvod(var a:mas);
var i:byte;
begin
for i:=1 to n do
read(A[i]);
writeln;
end;
procedure sort(var a:mas);
var i,j,max:byte;
t:integer;
begin
for i:=1 to n do
begin
max:= i;
for j:=i to n do
if a[j]<a[max] then max := j;
t :=a[i];
a[i]:=a[max];
a[max] := t;
end;
end;
procedure vyvod(a:mas);
var i:byte;
begin
writeln('Вывод массива:');
for i:=1 to n do
write(a[i],' ');
end;
var a:mas;
begin
vvod(a);
sort(a);
vyvod(a);
end.
Объяснение кода листинга программы
- Объявлены константа
nравная 10 и тип массиваmasкак массив целых чисел размером 10. - Объявлены процедуры
vvodиsort. - В процедуре
vvodиспользуется циклforдля прохода по всем элементам массиваa. В каждой итерации цикла происходит чтение значения из стандартного ввода и сохранение его в соответствующем элементе массиваa. - В процедуре
sortиспользуются две вложенные циклаfor. Внешний цикл выполняется для каждого элемента массиваa. Во время каждой итерации внешнего цикла, внутренний цикл сравнивает каждый элемент массиваaс текущим максимальным элементом и обновляет значение максимального элемента, если текущий элемент меньше. - Значение текущего элемента сохраняется в переменной
t, а затем заменяется значением элемента с индексом максимального элемента. Значение элемента с максимальным индексом заменяется значениемt. - В процедуре
vvodиспользуется циклforдля прохода по всем элементам массиваa. В каждой итерации цикла происходит вывод значения элемента массиваaс пробелом в качестве разделителя. - В основной части программы вызываются процедуры
vvod,sortиvvodдля ввода, сортировки и вывода массиваaсоответственно. - Значения массива
aвводятся с клавиатуры, сортируются и выводятся на экран.