Задание 9 Параграф 8 ГДЗ Босова 11 класс (Информатика)
const n=5;
const a: array[l..n] of integer=(1,2, 6, 4, 6) ;
var i, maxi, max2: integer;
begin
maxi:=a[1];
max2:=a[2];
for i: =2 to n do
if a[ii > maxl
then begin max2:=maxl; maxis—a[i]; end
else if a[ii > max2 then max2:=a[i];
writein(‘maxl=’, maxi, max2=’, max2);
end.
Что получится в результате выполнения этой программы?
Какую задачу решает эта программа?
Программа определяет значение двух максимальных элементов массива и записывает их по убыванию.
Программа: Z_8_9.pas (ссылка ниже)
Массив задан так: $$a=(1,2,6,4,6).$$
Сначала программа присваивает:
$$max1=a[1]=1,$$
$$max2=a[2]=2.$$
Далее она последовательно просматривает элементы массива с $$i=2$$ до $$i=5$$ и обновляет значения двух наибольших элементов.
| $$i$$ | $$a[i]$$ | $$max1$$ | $$max2$$ |
|---|---|---|---|
| 2 | 2 | 1 | 2 |
| 3 | 6 | 6 | 1 |
| 4 | 4 | 6 | 4 |
| 5 | 6 | 6 | 4 |
После завершения цикла получаем:
$$max1=6,$$
$$max2=4.$$
const n=5;
const a: array[1..n] of integer = (1, 2, 6, 4, 6);
var i, max1, max2: integer;
begin
max1 := a[1];
max2 := a[2];
for i := 2 to n do
if a[i] > max1 then
begin
max2 := max1;
max1 := a[i];
end
else if a[i] > max2 then
max2 := a[i];
writeln(‘max1=’, max1, ‘ max2=’, max2);
end.
Программа находит два максимальных элемента массива и выводит их по убыванию.
Ответ
$$max1=6,\ max2=4.$$ Программа определяет два наибольших элемента массива и записывает их по убыванию.