Задание 1 Параграф 22 ГДЗ Семакин 9 класс (Информатика)
Алгоритмы обработки массивов (стр. 135 – 136)
1. Разработайте программу на Паскале. Имеется массив целых чисел. Необходимо найти максимальное и минимальное значения среди положительных элементов этого массива. В случае отсутствия положительных элементов в массиве программа должна выдавать сообщение об этом.
program MaxMin;
const
n = 10;
var
a: array [1..n] of integer;
i, max, min: integer;
begin
writeln(‘ Формирование и вывод исходного массива’);
randomize;;
for i := 1 to n do
begin
a[i] := random(50) — 25;
write(a[i], ‘ ‘)
end;
max := -Maxint — 1; min := Maxint;
for i := 1 to n do
begin
if a[i] > 0 then
begin
if max < a[i] then max := a[i];
if min > a[i] then min := a[i]
end;
end;
writeln;
if (max < > -Maxint) and (min < > Maxint) then
writeln(‘max=’, max, ‘ min=’, min)
else writeln(‘Положительных элементов в массиве нет или есть всего один элемент’)
end.
Нужно просмотреть все элементы массива и среди тех, которые больше нуля, найти наибольший и наименьший. Если положительных элементов нет, следует вывести сообщение об этом.
Удобно сначала присвоить переменным max и min специальные начальные значения, а затем при просмотре массива изменять их только для положительных элементов.
program MaxMin;
const
n = 10;
var
a: array [1..n] of integer;
i, max, min: integer;
begin
writeln(‘Формирование и вывод исходного массива’);
randomize;
for i := 1 to n do
begin
a[i] := random(50) — 25;
write(a[i], ‘ ‘)
end;
max := -MaxInt — 1;
min := MaxInt;
for i := 1 to n do
begin
if a[i] > 0 then
begin
if a[i] > max then max := a[i];
if a[i] < min then min := a[i]
end;
end;
writeln;
if (max <> -MaxInt — 1) and (min <> MaxInt) then
writeln(‘max=’, max, ‘ min=’, min)
else
writeln(‘Положительных элементов в массиве нет’);
end.
В программе массив заполняется случайными числами от $$-25$$ до $$24$$, затем среди положительных элементов находятся минимальное и максимальное значения.
Ответ
Программа на Паскале приведена выше.