Задание 6 Параграф 2.2 ГДЗ Босова 9 класс 2017 (Информатика)
Шаг 1. Вы берёте любое яблоко из первой корзины и кладёте его на стол перед собой.
Шаг 2. Вы достаёте следующее яблоко из первой корзины и выполняете сравнение:
— если яблоко в руках больше, чем яблоко на столе, то вы опускаете яблоко, которое у вас в руках, во вторую корзину;
— если яблоко в руках меньше яблока на столе, вы кладёте яблоко на стол, а яблоко, которое лежало на столе, перекладываете во вторую корзину.
Вы повторяете шаг 2 до тех пор, пока первая корзина не опустеет.
Какое яблоко окажется на столе в самом конце? Попытайтесь сформулировать, что является инвариантом цикла в приведённом алгоритме. Сформулируйте условие задачи с использованием терминологии, рассмотренной в этом параграфе.
На столе в конце выполнения всех шагов окажется самое маленькое яблоко.
Инвариант цикла можно выразить следующим выражением:
Если яблоко в руке больше, чем яблоко на столе, то положить его во вторую корзину, если меньше или равно, то оставить его на столе, а во вторую корзину положить яблоко, которое лежало на столе.
Даны два массива, в одном случайные числа, другой массив такого же размера и типа, но содержит все нулевые значения.
Найти в первом массиве самый маленький элемент, и разместить его в переменной min, остальные элементы переместить во второй массив.
На столе в конце выполнения всех шагов окажется самое маленькое яблоко.
Инвариант цикла можно сформулировать так: на столе всегда лежит наименьшее из яблок, уже вынутых из первой корзины, а все остальные вынутые яблоки помещаются во вторую корзину.
В терминах массивов это можно записать так: даны два массива одинакового размера и типа, в первом хранятся случайные числа, второй заполнен нулями. Нужно найти в первом массиве минимальный элемент и записать его в переменную min, а все остальные элементы перенести во второй массив.
min := a[1];
for i := 1 to n do
if a[i] < min then
begin
b[j] := min;
min := a[i];
j := j + 1
end
else
begin
b[j] := a[i];
j := j + 1
end;
Ответ
В конце на столе окажется самое маленькое яблоко. Инвариант цикла: на столе всегда находится минимальное из уже рассмотренных яблок, а остальные помещаются во вторую корзину. В массивной формулировке: найти минимальный элемент массива a, записать его в min, а остальные элементы перенести в массив b.