В какой из двух последовательностей встречается самое большое, а в какой - самое маленькое число? - Free Pascal
Формулировка задачи:
Заданы две числовые последовательности. Формируя случайным образом их размерности и элементы,определить:
В какой последовательности встречается самое большое ,а в какой - самое маленькое число;
Решение задачи: «В какой из двух последовательностей встречается самое большое, а в какой - самое маленькое число?»
textual
Листинг программы
const XY: array [Boolean] of Char = ('X','Y');
procedure MinMax(n: Integer; var mn, mx: Integer);
var x: Integer;
begin
mn:=MaxInt; mx:=-MaxInt-1;
for n:=1 to n do begin
x:=-50+Random(101); Write(' ',x);
if mn>x then mn:=x;
if mx<x then mx:=x;
end; WriteLn;
end;
var xmn, xmx, ymn, ymx: Integer;
begin
Write('X:'); MinMax(5+Random(11),xmn,xmx);
Write('Y:'); MinMax(5+Random(11),ymn,ymx);
WriteLn('Максимум в ',XY[xmx<ymx],', минимум в ',XY[xmn>ymn]);
end.
Объяснение кода листинга программы
- Объявляется константа массива типа
array [Boolean] of Charс двумя элементами 'X' и 'Y'. - Объявляется процедура с именем
MinMax, которая принимает целочисленный аргументnи два указателя на целочисленные переменныеmnиmx. - В процедуре
MinMaxобъявляется целочисленная переменнаяx. - Инициализируются переменные
mnиmxмаксимальным и минимальным значениями соответственно. - В цикле
forот 1 доnгенерируется случайное число от -50 до 50 и выводится на экран через пробел. - Внутри цикла проверяются значения переменных
mnиmx, и если текущее число меньшеmn, то оно присваивается переменнойmn, и если текущее число большеmx, то оно присваивается переменнойmx. - По завершении цикла выводится символ новой строки.
- В основной программе объявляются четыре целочисленные переменные
xmn,xmx,ymnиymx. - Выводится сообщение
X:и вызывается процедураMinMaxс аргументами (5+Random(11)) и переменнымиxmnиxmx. - Выводится сообщение
Y:и вызывается процедураMinMaxс аргументами (5+Random(11)) и переменнымиymnиymx. - Выводится сообщение, содержащее значения переменных
ymnиymx, а также сообщение, указывающее на последовательность, в которой находится максимальное значение. - Сообщение заканчивается символом новой строки.