Практикум по теме «Линейный поиск в массиве»
Задача 1. «Есть или нет?» (Базовый уровень, 2 балла)
Условие:
Напишите программу, которая:
Заполняет массив из 10 целых чисел, вводимых с клавиатуры
Запрашивает у пользователя число X
Определяет, есть ли число X в массиве
Выводит одно из сообщений: «Число X найдено» или «Число X не найдено»
Тесты для самопроверки:
Тест 1:
Вход: массив = [4, 2, 8, 5, 1, 9, 3, 7, 6, 10], X = 5
Ожидаемый вывод: «Число 5 найдено»
Тест 2:
Вход: массив = [1, 1, 2, 2, 3, 3, 4, 4, 5, 5], X = 6
Ожидаемый вывод: «Число 6 не найдено»
Задача 2. «Последний шанс» (Базовый уровень, 2 балла)
Условие:
Программа:
Создает массив из 15 элементов, заполняя его случайными числами от 1 до 20
Выводит массив на экран
Запрашивает число K у пользователя
Находит и выводит индекс (позицию) последнего элемента, равного K
Если такого элемента нет, выводит 0
(Индексация массива от 1 до 15)
Тесты для самопроверки:
Тест 1:
Вход: (фиксированный массив) [5, 12, 5, 8, 12, 3, 5, 9, 12, 1, 2, 3, 4, 5, 6], K = 12
Ожидаемый вывод: 9
Тест 2:
Вход: (тот же массив), K = 20
Ожидаемый вывод: 0
Задача 3. «Лучший из лучших» (Средний уровень, 2 балла)
Условие:
Напишите программу, которая:
Запрашивает количество элементов N (не более 20)
Заполняет массив из N целых чисел
Среди положительных элементов находит минимальное значение и его индекс
Если положительных чисел нет, выводит: «В массиве нет положительных чисел»
Тесты для самопроверки:
Тест 1:
Вход: N = 6, массив = [-5, 10, 3, -1, 2, 8]
Ожидаемый вывод: «Минимальное положительное число: 2, его индекс: 5»
Тест 2:
Вход: N = 4, массив = [-2, -7, 0, -15]
Ожидаемый вывод: «В массиве нет положительных чисел»
Задача 4. «Двойная проверка» (Средний уровень, 2 балла)
Условие:
В массиве из 12 оценок учеников (целые числа от 1 до 10):
Найдите первую неудовлетворительную оценку (
Если такой нет, найдите первую отличную оценку (= 10)
Выведите найденную оценку и номер ученика (позицию в массиве)
Если нет ни неудовлетворительных, ни отличных оценок, выведите «Нет искомых оценок»
Тесты для самопроверки:
Тест 1:
Вход: [5, 6, 8, 3, 9, 7, 10, 4, 6, 5, 8, 2]
Ожидаемый вывод: «Найдена оценка 3 у ученика № 4»
Тест 2:
Вход: [7, 8, 9, 5, 6, 8, 9, 7, 8, 9, 10, 6]
Ожидаемый вывод: «Найдена оценка 10 у ученика № 11»
Задача 5. «Два чемпиона» (Повышенный уровень, 2 балла)
Условие:
За один проход по массиву натуральных чисел найдите два наибольших различных значения.
Гарантируется, что в массиве есть хотя бы два различных числа.
Введите количество элементов N
Заполните массив
Найдите два наибольших разных числа
Выведите их в порядке убывания
Тесты для самопроверки:
Тест 1:
Вход: N = 7, массив = [5, 8, 3, 8, 1, 9, 4]
Ожидаемый вывод: «Два наибольших различных значения: 9 и 8»
Тест 2:
Вход: N = 5, массив = [10, 5, 10, 2, 10]
Ожидаемый вывод: «Два наибольших различных значения: 10 и 5»
Критерии оценивания (10-балльная система):
| Балл | Критерии выполнения |
| 10 | Решены правильно ВСЕ 5 задач. Код оптимален, хорошо оформлен, есть комментарии. |
| 8-9 | Решены 4-5 задач. В 1-2 задачах есть незначительные недочеты в алгоритме или выводе. |
| 6-7 | Решены 3-4 задачи. Есть ошибки в логике, но основные принципы поиска применены верно. |
| 4-5 | Решены 2-3 задачи. Понимание алгоритма есть, но реализация содержит существенные ошибки. |
| 2-3 | Решена 1 задача или есть попытки решения 2-3 задач с грубыми ошибками. |
| 0-1 | Задачи не решены или решения не соответствуют условиям. |
Дополнительный балл (+1) может быть добавлен за:
Особо элегантное решение задачи 5
Универсальность программ (работают при любых корректных входных данных)
Отличное комментирование кода
Советы для успешного выполнения:
Начните с задач 1 и 2 — они самые простые
В задачах 3 и 4 внимательно читайте условия — там есть важные нюансы
Для задачи 5 продумайте алгоритм на бумаге, прежде чем писать код
Обязательно проверяйте свои программы на предоставленных тестах
Если не получается задача 5, сосредоточьтесь на качественном выполнении первых четырех
Удачи в выполнении работы!