ГДЗ по информатике, 11 класс, Босова, номер p119.9
Информатика — Босова Л.Л., Босова А.Ю.
Никита Ершов, преподаватель информатики Шпаргача обновлено 8 сентября 2026
Условие
Проанализируйте программу: const n=5; const a:array[1..n] of integer=(1,2,6,4,6); ... (код поиска двух максимальных элементов) ... writeln('max1=', max1, ', max2=', max2); Выведите результат работы программы.
Номер как в учебнике. Условие — полный пересказ редакции: те же пункты, числа и факты, не цитата из книги.
Пошаговое решение
План решения:
Для определения результата работы программы необходимо проанализировать логику алгоритма поиска двух максимальных элементов в массиве. Обычно такой алгоритм инициализирует переменные max1 и max2 минимально возможными значениями (или первым элементом) и проходит по всем элементам массива, обновляя эти переменные при обнаружении новых рекордов. Нам дан массив a=[1,2,6,4,6].
Вычисление:
Рассмотрим стандартную реализацию такого алгоритма на языке Паскаль, которая часто встречается в задачах этого типа. Алгоритм сравнивает текущий элемент с двумя лидерами. Если элемент больше max1 , то старый max1 становится max2 , а новый элемент занимает место max1 . Иначе, если элемент больше max2 , он становится новым max2 .
- Начальное состояние: предположим, что перед циклом max1 и max2 установлены в очень маленькие значения или обработаны первые элементы. Давайте проследим за изменением лидеров на массиве (1,2,6,4,6).
- Элемент 1: становится кандидатом на максимум. Пусть после инициализации или первого шага max1=1 , max2=-inf (или аналогично).
- Элемент 2: 2>1. Обновляем: max2=1 , max1=2 .
- Элемент 6: 6>2. Обновляем: max2=2 , max1=6 .
- Элемент 4: 4<6, но 4>2. Обновляем только второй максимум: max2=4 , max1=6 .
- Элемент 6: 6 не больше текущего max1 (6ngtr6), так как обычно используется строгое неравенство `>`. Однако, даже если условие было бы `>=`, логика может отличаться. В классических школьных задачах на поиск двух различных по значению максимумах или просто двух наибольших чисел, равные элементы обрабатываются специфически. Но чаще всего алгоритм ищет два наибольших значения в последовательности. Если мы ищем два наибольших числа, то это 6 и 6. Если алгоритм использует строгие сравнения `if a[i] > max1 then ... else if a[i] > max2 then ...`, то последний элемент 6 не пройдет проверку `6 > 6` для первого максимума и не пройдет проверку `6 > 4` для второго? Нет, 6>4 верно. Значит, max2 станет 6.
Давайте уточним типичный код для этой задачи из учебников:
max1:=-32768; max2:=-32768;fori:=1tondo ifa[i]>max1thenbegin max2:=max1; max1:=a[i]; end elseifa[i]>max2then max2:=a[i];Пройдем по массиву [1,2,6,4,6]:
- i=1,a[1]=1. 1>-32768. max2 становится -32768, max1 становится 1.
- i=2,a[2]=2. 2>1. max2 становится 1, max1 становится 2.
- i=3,a[3]=6. 6>2. max2 становится 2, max1 становится 6.
- i=4,a[4]=4. 4>6 — ложь. Проверяем 4>2 — истина. max2 становится 4. Текущие значения: max1=6 , max2=4 .
- i=5,a[5]=6. 6>6 — ложь (строгое неравенство). Проверяем 6>4 — истина. max2 становится 6. Текущие значения: max1=6 , max2=6 .
Проверка:
В массиве действительно есть два числа, равных 6, которые являются наибольшими. Алгоритм корректно находит их, так как второй раз encountering значение 6 обновляет второй максимум, поскольку оно строго больше предыдущего второго максимума (4). Таким образом, программа выведет оба найденных максимума.
max1=6, max2=6
Задача требует знания типового алгоритма поиска двух максимальных элементов. Ключевой момент — обработка дубликатов максимального значения. При использовании строгих неравенств (`>`) равный текущему максимуму элемент не заменяет его, но может заменить второй максимум, если он больше текущего второго.
Как решение?
Двойная оценка: понятность и подробность. Можно выбрать одно или оба.
У вас другое условие?
Загрузите фото — учтём ваши числа и редакцию.
Частые вопросы
Это точный номер p119.9 из моего учебника?
Номер совпадает с учебником «Информатика», Босова Л.Л., Босова А.Ю.. Формулировка — пересказ редакции, не дословная цитата. Если в вашей редакции другие числа — загрузите фото.
Какой ответ в задании p119.9?
Краткий ответ: max1=6, max2=6.
Как пользоваться этим разбором?
Сначала прочитайте условие и чертёж, затем шаги решения по порядку и сверьте свой ход с кратким ответом внизу.
Какой учебник имеется в виду?
«Информатика», Босова Л.Л., Босова А.Ю.. Проверьте часть, год и автора на обложке. Тема в учебнике: Глава 2. Алгоритмы и программирование.
Можно ли списать ответ без решения?
Лучше сначала решить самостоятельно, а разбор использовать для проверки хода и поиска ошибки.