1-11 класс
  • 1-11 класс
  • 1 класс
  • 2 класс
  • 3 класс
  • 4 класс
  • 5 класс
  • 6 класс
  • 7 класс
  • 8 класс
  • 9 класс
  • 10 класс
  • 11 класс
Выберите класс
Предметы
Босова
Задание 6 Параграф 2.2 ГДЗ Босова 9 класс 2017 (Информатика)
Босова
9 класс
Автор
Босова

Задание 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.



Общая оценка
4 / 5
Другие учебники
Другие предметы