Написание алгоритма на языке Python для решения заданий ОГЭ по информатике

XXIV Международный конкурс научно-исследовательских и творческих работ учащихся
Старт в науке

Написание алгоритма на языке Python для решения заданий ОГЭ по информатике

Горбань А.В. 1
1МБОУ "СОШ №2 г. Суздаля"
Логинова Н.А. 1
1МБОУ СОШ № 2 Г. СУЗДАЛЯ
Автор работы награжден дипломом победителя I степени
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF

Введение

Актуальность использования информационных технологий диктуется стремительным развитием информационного общества, широким распространением цифровых технологий. Информационные технологии проникают во все сферы жизни человека - в образовании, бизнесе, науке, медицине, государственном управлении, развлекательной индустрии и многих других областях. Владение современными информационными технологиями и программным обеспечением становится необходимым для успешной адаптации в современном обществе.

Современное программное обеспечение предлагает множество инструментов и решений для автоматизации задач, оптимизации повышения производительности в любой области реальности. Разработка программ и систем позволяет:

  • сократить время выполнения рутинных операций;

  • улучшить аналитику данных и управление проектами;

  • обеспечить взаимодействие и сотрудничество в команде.

Те, кто планируют выбрать специальности, связанные с компьютерными технологиями – от компьютерного дизайна до программирования – необходимо подготовиться и проверить свои знания на основном государственном экзамене (ОГЭ).

В КИМ ОГЭ по информатике есть задания, которые требуют умения создавать алгоритмы в средах исполнителя, то есть появляется необходимость приобретения умения писать коды для решения задач.

Использование Python для решения задач ОГЭ по информатике является эффективным и удобным выбором благодаря простоте, мощности и возможностям. Python позволяет легко и эффективно решать широкий спектр задач, что делает его оптимальным инструментом для написания короткого алгоритма в среде программирования.

Цель – проанализировать алгоритмы решения заданий в КИМ ОГЭ по информатике с помощью языка программирования Python.

Задачи:

  1. Рассмотреть типы заданий, решаемые с помощью Python в КИМ ОГЭ по информатике.

  2. Выявить основные ошибки, допускаемые при оформлении решения задач «Короткий алгоритм в различных средах исполнения» на языке программирования Python.

  3. Выполнить решение основных типов заданий ОГЭ по информатике, в которых требуется написание алгоритма в среде исполнителя Python.

Объектом проекта выступает «Короткий алгоритм в средах исполнения».

Предмет проекта – возможности Python для решения основных типов заданий ОГЭ по информатике, в которых требуется написание короткого алгоритма.

Продуктом проекта выступает алгоритмы решения заданий на языке Python и мультимедийная презентация.

Методы, использованные при работе над проектом - анализ теоретических источников; методы программирования; системный анализ, метод сравнения и синтеза информации.

Теоретическая и практическая значимость проекта: возможность использования данных для подготовки к ОГЭ.

1. Теоретическая часть

1.1 Типы заданий, решаемые с помощью Python в КИМ ОГЭ по информатике.

В ОГЭ по информатике последнее задание - №16 звучит как "Напишите программу, которая, в последовательности натуральных чисел определяет ... Количество чисел не превышает 1000. Введенные числа не превышают 30 000. Программа должна вывести одно число  —...

В этом задании необходимо составление алгоритмов и программ с использованием ветвлений, циклов и вспомогательных алгоритмов.

В основном задачи, которые представлены в КИМ ОГЭ по информатике предполагают нахождение количества или суммы элементов в массиве данных с заданным условием или несколькими условиями, определение максимального, минимального, среднего арифметического элемента при выполнении, заданного (заданных) условий, а также задания создания запросов и получение ответов на принадлежность к группе объектов.

Рассмотрим основные типы заданий и представим результат в Таблице 1.

Таблица 1. Типы заданий 16 из банка заданий ОГЭ по информатике.1

Тип задания

Формулировка

Особенность

Количество объектов с заданным количеством повторений.

Напишите программу, которая в последовательности натуральных чисел определяет количество чисел, кратных 3 и оканчивающихся на 2. Программа получает на вход количество чисел в последовательности, а затем сами числа. Количество чисел не превышает 1000. Введённые числа по модулю не превышают 30 000. Программа должна вывести одно число: количество чисел, кратных 3 и оканчивающихся на 2.

Задачи, в которых нужно вывести сколько чисел соответствует заданному условию. Сначала вводится количество чисел, затем сами числа.

Следовательно, для получения последовательности данных необходимо использовать цикл с заданным количеством повторений. в языке Python записывается с помощью оператора for (в переводе с английского —

«для»).

Его общий вид:

for <параметр> in range(k, n, m):

<операторы>

В этих задачах нужно найти количество чисел, кратных заданному и оканчивающихся на заданное число.

Напишите программу, которая в последовательности натуральных чисел определяет количество чисел, кратных 3 и оканчивающихся на 8. Программа получает на вход количество чисел в последовательности, а затем сами числа. Количество чисел не превышает 1000. Введённые числа по модулю не превышают 30 000. Программа должна вывести одно число: количество чисел, кратных 3 и оканчивающихся на 8.

Напишите программу, которая в последовательности натуральных чисел определяет количество чисел, кратных 6 и оканчивающихся на 4. Программа получает на вход количество чисел в последовательности, а затем сами числа. Количество чисел не превышает 1000. Введённые числа по модулю не превышают 30 000. Программа должна вывести одно число: количество чисел, кратных 6 и оканчивающихся на 4.

Количество объектов с неизвестным количеством повторений.

Напишите программу, которая в последовательности натуральных чисел определяет количество таких чисел, которые кратны 4 и оканчиваются на 2. Программа получает на вход натуральные числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 – признак окончания ввода, не входит в последовательность). Количество чисел не превышает 1000. Введённые числа не превышают 30 000. Программа должна вывести одно число: количество чисел, кратных 4 и оканчивающихся на 2.

Задачи, в которых количество вводимых чисел заранее неизвестно.

Для ввода последовательности данных необходимо использовать цикл с заданным условием продолжения работы В Python цикл с

записывается с помощью оператора while (в переводе с английского языка — «до тех пор, пока»). Общий вид оператора:

while <условие>:

<операторы>2

В этих задачах нужно найти количество чисел, кратных заданному или имеющих заданное количество цифр и оканчивающихся на заданное число.

Для нахождения количества чисел необходимо задать переменную счетчика.

Определение кратности числа выполним с использованием условного оператора

Напишите программу, которая в последовательности натуральных чисел определяет количество двузначных чисел, кратных 8. Программа получает на вход натуральные числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 – признак окончания ввода, не входит в последовательность).

Количество чисел не превышает 1000. Введённые числа не превышают

30 000.

Программа должна вывести одно число: количество двузначных чисел, кратных 8.

Напишите программу, которая в последовательности натуральных чисел определяет количество трёхзначных чисел, кратных 4. Программа получает на вход натуральные числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 – признак окончания ввода, не входит в последовательность).

Количество чисел не превышает 1000. Введённые числа не превышают

30 000.

Программа должна вывести одно число: количество трёхзначных чисел, кратных 4.

Количество целых 1.

Напишите программу, которая в последовательности целых чисел определяет количество чётных чисел, кратных 5. Программа получает на вход целые числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 – признак окончания ввода, не входит в последовательность). Количество чисел не превышает 1000. Введённые числа по модулю не превышают 30 000. Программа должна вывести одно число: количество чётных чисел, кратных 5.

Задачи, в которых количество вводимых целых чисел заранее неизвестно. Нужно вывести сколько чисел соответствует заданному условию.

В этих задачах нужно найти количество чисел, кратных заданному и оканчивающихся на заданное число.

Напишите программу, которая в последовательности целых чисел определяет количество чётных чисел, кратных 9. Программа получает на вход целые числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 – признак окончания ввода, не входит в последовательность). Количество чисел не превышает 1000. Введённые числа по модулю не превышают 30 000. Программа должна вывести одно число: количество чётных чисел, кратных 9.

Напишите программу, которая в последовательности целых чисел определяет количество чисел, кратных 7 и оканчивающихся на ноль. Программа получает на вход целые числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 – признак окончания ввода, не входит в последовательность). Количество чисел не превышает 1000. Введённые числа по модулю не превышают 30 000. Программа должна вывести одно число: количество чисел, кратных 7 и оканчивающихся на ноль.

Количество целых 2.

Напишите программу, которая в последовательности целых чисел определяет количество чисел, кратных 4 или 9. Программа получает на вход целые числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 – признак окончания ввода, не входит в последовательность). Количество чисел не превышает 1000. Введённые числа по модулю не превышают 30 000. Программа должна вывести одно число: количество чисел, кратных 4 или 9.

Задачи, в которых количество вводимых целых чисел заранее неизвестно. Нужно вывести сколько чисел соответствует заданному условию.

В этих задачах нужно найти количество чисел, кратных тому или иному из заданных чисел.

Напишите программу, которая в последовательности целых чисел определяет количество чисел, кратных 5 или 7. Программа получает на вход целые числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 – признак окончания ввода, не входит в последовательность).

Количество чисел не превышает 1000. Введённые числа по модулю не превышают 30 000.

Программа должна вывести одно число: количество чисел, кратных 5 или 7.

Напишите программу, которая в последовательности целых чисел определяет количество чисел, кратных 6 или 11. Программа получает на вход целые числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 – признак окончания ввода, не входит в последовательность). Количество чисел не превышает 1000. Введённые числа не превышают 30 000. Программа должна вывести одно число: количество чисел, кратных 6 или 11.

Количество, одно условие 1.

Напишите программу, которая в последовательности натуральных чисел определяет количество чисел, кратных 3. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, кратное 3. Количество чисел не превышает 1000. Введённые числа не превышают 30 000. Программа должна вывести одно число – количество чисел, кратных 3.

Задачи, в которых вводится сначала количество чисел, затем сами числа. Нужно вывести сколько чисел соответствует заданному условию.

В этих задачах нужно найти количество чисел, кратных заданному числу.

Напишите программу, которая в последовательности натуральных чисел определяет количество чисел, кратных 4. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, кратное 4. Количество чисел не превышает 1000. Введённые числа не превышают 30 000. Программа должна вывести одно число – количество чисел, кратных 4.

Напишите программу, которая в последовательности натуральных чисел определяет количество чисел, кратных 6. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, кратное 6. Количество чисел не превышает 1000. Введённые числа не превышают 30 000. Программа должна вывести одно число – количество чисел, кратных 6.

Количество, одно условие 2.

Напишите программу, которая в последовательности натуральных чисел определяет количество чисел, оканчивающихся на 6. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, оканчивающееся на 6. Количество чисел не превышает 1000. Введённые числа не превышают

30 000. Программа должна вывести одно число – количество чисел, оканчивающихся на 6.

Задачи, в которых вводится сначала количество чисел, затем сами числа. Нужно вывести сколько чисел соответствует заданному условию.

В этих задачах нужно найти количество чисел, оканчивающихся на заданное число.

Напишите программу, которая в последовательности натуральных чисел определяет количество чисел, оканчивающихся на 8. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, оканчивающееся на 8. Количество чисел не превышает 1000. Введённые числа по модулю не превышают 30 000. Программа должна вывести одно число: количество чисел, оканчивающихся на 8.

Напишите программу, которая в последовательности натуральных чисел определяет количество чисел, оканчивающихся на 9. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, оканчивающееся на 9. Количество чисел не превышает 1000. Введённые числа по модулю не превышают 30 000. Программа должна вывести одно число: количество чисел, оканчивающихся на 9.

Максимальное.

Напишите программу, которая в последовательности натуральных чисел определяет максимальное число, оканчивающееся на 2. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, оканчивающееся на 2. Количество чисел не превышает 1000. Введённые числа не превышают 30 000. Программа должна вывести одно число – максимальное число, оканчивающееся на 2.

Задачи, в которых вводится количество чисел, затем сами числа. Нужно вывести максимальное число, соответствующее заданным условиям.

Напишите программу, которая в последовательности натуральных чисел определяет максимальное число, оканчивающееся на 3. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, оканчивающееся на 3. Количество чисел не превышает 1000. Введённые числа не превышают 30 000. Программа должна вывести одно число – максимальное число, оканчивающееся на 3.

Напишите программу, которая в последовательности натуральных чисел определяет максимальное число, оканчивающееся на 9. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, оканчивающееся на 9. Количество чисел не превышает 1000. Введённые числа по модулю не превышают 30 000. Программа должна вывести одно число: максимальное число, оканчивающееся на 9.

Минимальное.

Напишите программу, которая в последовательности натуральных чисел определяет минимальное чётное число. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется чётное число. Количество чисел не превышает 1000. Введённые числа не превышают 30 000. Программа должна вывести одно число – минимальное чётное число.

Задачи, в которых вводится количество чисел, затем сами числа. Нужно вывести минимальное число, соответствующее заданным условиям.

В этих задачах нужно найти минимальное среди чисел, кратных заданному числу. Количество вводимых чисел известно (кроме последнего задания).

Напишите программу, которая в последовательности натуральных чисел определяет минимальное число, оканчивающееся на 2. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, оканчивающееся на 2. Количество чисел не превышает 1000. Введённые числа по модулю не превышают 30 000. Программа должна вывести одно число: минимальное число, оканчивающееся на 2.

Напишите программу, которая в последовательности натуральных чисел определяет минимальное число, оканчивающееся на 4. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, оканчивающееся на 4. Количество чисел не превышает 1000. Введённые числа не превышают

30 000. Программа должна вывести одно число – минимальное число, оканчивающееся на 4.

Наблюдения за погодой.

Ученики 4 класса вели дневники наблюдения за погодой и ежедневно записывали дневную температуру. Найдите самую низкую температуру за время наблюдения. Если температура опускалась ниже –15 градусов, выведите YES, иначе выведите NO.

Программа получает на вход количество дней, в течение которых проводилось измерение температуры N (1 ≤ N ≤ 31), затем для каждого дня вводится температура.

Задача на расчёт показателей по дневникам наблюдения за погодой.

Имена переменных могут быть другими. В некоторых решениях ответ выведен в одну строку. Это допустимо и не ведёт к снижению оценки. Но нетрудно сделать отдельно вывод каждой переменной, чтобы ответ был в двух строках как в выходных данных задач.

Ученики 4 класса вели дневники наблюдения за погодой и ежедневно записывали дневную температуру. Найдите среднюю температуру для дней, когда температура поднималась выше нуля градусов. Определите количество таких дней. Гарантируется, что за время наблюдения хотя бы в один из дней температура поднималась выше нуля градусов.

Программа получает на вход количество дней, в течение которых проводилось наблюдение N (1 ≤ N ≤ 31), затем для каждого дня вводится температура.

Ученики 4 класса вели дневники наблюдения за погодой и ежедневно записывали дневную температуру. Найдите среднюю температуру за время наблюдения. Если количество дней, когда температура поднималась выше нуля градусов, не менее 5, выведите YES, иначе выведите NO.

Программа получает на вход количество дней, в течение которых проводилось наблюдение N (1 ≤ N ≤ 31), затем для каждого дня вводится температура.

Отрезок.

Напишите программу, которая по двум данным натуральным числам a и b, не превосходящим 30000, подсчитывает количество чётных натуральных чисел на отрезке [a, b] (включая концы отрезка). Программа получает на вход два натуральных числа a и b, при этом гарантируется, что 1 ≤ a ≤ b ≤ 30000. Проверять входные данные на корректность не нужно. Программа должна вывести одно число: количество чётных чисел на отрезке [a, b].

Продолжаем рассматривать варианты задания 16, формулировка которых отличается от ввода последовательности чисел.

Имена переменных могут быть другими.

Про учеников.

Девятиклассники участвовали в викторине по математике. Необходимо было ответить на 20 вопросов. Победителем викторины считается участник, правильно ответивший на наибольшее количество вопросов. На сколько вопросов победитель ответил правильно? Если есть участники викторины, которые не смогли дать правильный ответ ни на один из вопросов, выведите YES, иначе выведите NO. Гарантируется, что есть участники, правильно ответившие хотя бы на один из вопросов.

Программа получает на вход число участников викторины N (1 ≤ N ≤ 50), затем для каждого участника вводится количество вопросов, на которые получен правильный ответ.

Варианты задания 16, формулировка которых отличается от ввода последовательности чисел.

Имена переменных могут быть другими.

На зачётной работе по физике ученикам 9 класса было предложено 12 задач. Зачёт можно получить, если правильно решить не менее 8 задач. Сколько учеников получило зачёт? Вычислите среднее количество правильно решённых задач учащимися, получившими зачёт. Гарантируется, что хотя бы один ученик сдал зачёт.

Программа получает на вход количество учеников в классе N (1 ≤ N ≤ 30), затем для каждого ученика вводится количество правильно решённых задач.

На контрольной работе по алгебре ученикам 9 класса было предложено 10 примеров. Неудовлетворительная оценка выставляется, если правильно решено менее половины примеров. Сколько неудовлетворительных оценок было получено учениками? Если хотя бы один из учеников правильно решил все задачи, выведите YES, иначе выведите NO.

Программа получает на вход количество учеников в классе N (1 ≤ N ≤ 30), затем для каждого ученика вводится количество правильно решённых примеров.

Соревнования.

На соревнованиях по бегу на 5000 метров для выхода в финал необходимо показать время не более 18 минут 30 секунд.

Сколько спортсменов по результатам соревнований вышли в финал?

Программа получает на вход количество спортсменов, принимавших участие в соревнованиях (1 ≤ N ≤ 100), затем для каждого спортсмена вводится два числа: минуты и секунды – время, показанное на дистанции.

Подборка заданий, в которых формулировка отличается от ввода последовательности чисел.

Имена переменных могут быть другими.

Участники парусной регаты стартовали одновременно. На финише фиксировалось время прохождения маршрута каждой яхтой (в часах и минутах). Определите время победителя регаты (в часах и минутах). Известно, что соревнования проходили в течение 12 часов.

Программа получает на вход количество яхт, принимавших участие в регате

N (1 ≤ N ≤ 100), затем для каждой яхты вводится два числа: часы и минуты, затраченные на прохождение маршрута.

Среднее арифметическое.

Напишите программу, которая в последовательности натуральных чисел находит среднее арифметическое чисел, кратных 4, или сообщает, что таких чисел нет (выводит NO). Программа получает на вход натуральные числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 undefined признак окончания ввода, не входит в последовательность).

Количество чисел не превышает 100. Введённые числа не превышают 300.

Программа должна вывести среднее арифметическое чисел, кратных 4 или вывести «NO», если таких чисел нет.

Задачи, в которых количество вводимых целых чисел заранее не известно.

Нужно найти среднее арифметическое чисел, соответствующих заданному условию, либо вывести, что их нет.

Напишите программу, которая в последовательности целых чисел находит среднее арифметическое чисел, кратных 9, или сообщает, что таких чисел нет. Программа получает на вход целые числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 – признак окончания ввода, не является членом последовательности).

Количество чисел не превышает 100. Введённые числа по модулю не превышают 300.

Программа должна вывести среднее арифметическое чисел, кратных 9, или вывести NO, если таких чисел в последовательности нет.

Напишите программу, которая в последовательности натуральных чисел находит среднее арифметическое двузначных чисел или сообщает, что таких чисел нет (выводит «NO»). Программа получает на вход натуральные числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 – признак окончания ввода, не входит в последовательность).

Количество чисел не превышает 100. Введенные числа не превышают 300.

Программа должна вывести среднее арифметическое двузначных чисел или вывести «NO», если таких чисел нет. Значение выводить с точностью до десятых.

Сумма и количество.

Напишите программу, которая в последовательности целых чисел находит сумму и количество чисел, кратных 17, или сообщает, что таких чисел нет. На вход программы подаются целые числа, количество введённых чисел неизвестно, последовательность заканчивается числом 0 (0 – признак окончания ввода, не является членом последовательности).

Количество чисел не превышает 100. Введённые числа по модулю не превышают 300.

Программа должна вывести сумму и количество чисел, кратных 17, или вывести NO, если таких чисел в последовательности нет.

Задания на определение суммы или суммы и количества чисел, которые соответствуют заданным условиям. Количество вводимых целых чисел заранее неизвестно.

Напишите программу, которая в последовательности целых чисел вычисляет сумму всех чисел, кратных 5 или 9. Программа получает на вход целые числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 – признак окончания ввода, не входит в последовательность).

Количество чисел не превышает 20. Введённые числа по модулю не превышают 1500.

Программа должна вывести одно число: сумму всех чисел, кратных 5 или 9.

Напишите программу, которая в последовательности целых чисел вычисляет сумму всех чисел, которые кратны 6 или 11. Программа получает на вход целые числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 – признак окончания ввода, не входит в последовательность).

Количество чисел не превышает 100. Введённые числа по модулю не превышают 300.

Программа должна вывести одно число: сумму всех чисел, которые кратны 6 или 11.

Сумма, два условия, количество известно.

Напишите программу, которая в последовательности натуральных чисел определяет сумму чисел, кратных 3 и оканчивающихся на 2. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, кратное 3 и оканчивающееся на 2.

Количество чисел не превышает 100. Введённые числа по модулю не превышают 300.

Программа должна вывести одно число: сумму чисел, кратных 3 и оканчивающихся на 2.

Задания на определение суммы чисел, которые должны соответствовать двум условиям. Количество вводимых натуральных чисел известно.

Напишите программу, которая в последовательности натуральных чисел определяет сумму чисел, кратных 3 и оканчивающихся на 4. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, кратное 3 и оканчивающееся на 4.

Количество чисел не превышает 100. Введённые числа по модулю не превышают 300.

Программа должна вывести одно число: сумму чисел, кратных 3 и оканчивающихся на 4.

Напишите программу, которая в последовательности натуральных чисел определяет сумму чисел, кратных 6 и оканчивающихся на 8. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, кратное 6 и оканчивающееся на 8.

Количество чисел не превышает 100. Введённые числа по модулю не превышают 300.

Программа должна вывести одно число: сумму чисел, кратных 6 и оканчивающихся на 8.

Сумма, одно условие.

Напишите программу, которая в последовательности натуральных чисел определяет сумму чисел, кратных 6. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, кратное 6.

Количество чисел не превышает 100. Введённые числа не превышают 300.

Программа должна вывести одно число – сумму чисел, кратных 6.

Задания на определение суммы чисел, кратных заданному числу либо заканчивающихся на заданное число. Количество вводимых натуральных чисел известно.

“%” даёт остаток от целочисленного деления. Например, 5 % 2 – остаток от целочисленного деления пяти на два (получаем 1). Если число кратно заданному, то оно делится на него без остатка. (т.е. остаток 0). Если число заканчивается на заданное, то остаток от деления на 10 должен быть таким же, как заданное число.

Напишите программу, которая в последовательности натуральных чисел определяет сумму чисел, оканчивающихся на 4. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, оканчивающееся на 4.

Количество чисел не превышает 100. Введённые числа не превышают 300.

Программа должна вывести одно число – сумму чисел, оканчивающихся на 4.

Напишите программу, которая в последовательности натуральных чисел определяет сумму чисел, оканчивающихся на 8. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, оканчивающееся на 8.

Количество чисел не превышает 100. Введённые числа по модулю

не превышают 300.

Программа должна вывести одно число: сумму чисел, оканчивающихся на 8.

Сумма, условия, количества неизвестны.

Напишите программу, которая в последовательности натуральных чисел вычисляет сумму всех чисел, кратных 7 и оканчивающихся на 0. Программа получает на вход натуральные числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 – признак окончания ввода, не входит в последовательность).

Количество чисел не превышает 100. Введённые числа не превышают 300.

Программа должна вывести одно число: сумму всех чисел, кратных 7 и оканчивающихся на 0.

Задания на определение суммы чисел, которые должны соответствовать двум условиям. Количество вводимых натуральных чисел заранее неизвестно.

Напишите программу, которая в последовательности натуральных чисел вычисляет сумму всех однозначных чисел, кратных 3. Программа получает на вход натуральные числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 – признак окончания ввода, не входит в последовательность).

Количество чисел не превышает 100. Введённые числа не превышают 300.

Программа должна вывести одно число: сумму всех однозначных чисел, кратных 3.

Напишите программу, которая в последовательности натуральных чисел вычисляет сумму всех двузначных чисел, кратных 8. Программа получает на вход натуральные числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 –– признак окончания ввода, не входит в последовательность).

Количество чисел не превышает 20. Введённые числа не превышают 1500.

Программа должна вывести одно число: сумму всех двузначных чисел, кратных 8.

1.2 Требования, предъявляемые к решению задач «Короткий алгоритм в различных средах исполнения» в КИМ ОГЭ по информатике.

Задание 16 проверяет умение записать алгоритм на языке программирования. Оно проверяет умения, связанные с созданием простейших программ, содержащих цикл и ветвление внутри цикла, на одном из языков программирования.

После компиляции программа не должна выдавать ошибок. Правильная программа должна содержать следующие части:

1 Ввод данных.

2 Нахождение ответа.

3 Вывод ответа.

Ввод данных на основе тестов, описанных в критериях оценивания, должен быть завершен выводом результатов. Вывод о правильности программы делается в том случае, если программа проходит все тесты.

Оценка в 2 балла за задание 16 выставляется, если программа правильная, в том числе выдаёт верный ответ на всех тестах.

Оценка в 1 балл выставляется, если она содержит ошибку, которая приводит к неверному ответу не более чем на одном из тестов.

Оценка в 0 баллов выставляется во всех остальных случаях.

В Таблице 2 отражены критерии оценивания на основе тестов.

Таблица 2. Критерии оценивания на основе тестов.

Указания по оцениванию

Баллы

Предложено верное решение. Программа составлена правильно

и правильно работает на всех приведённых выше тестах.

Программа может быть записана на любом языке программирования.

2

Не выполнены условия, позволяющие поставить 2 балла, при этом

программа выдаёт неверный ответ не более чем на одном из

приведённых выше тестов

1

Не выполнены условия, позволяющие поставить 1 или 2 балла

0

Максимальный балл

2

1.3 Статистика решения задания «Короткий алгоритм в различных средах исполнения».

Задание № 16 проверяет умение создавать и выполнять программы на универсальном языке программирования.

Завышенная оценка знаний и возможностей в области IT-технологий присуще многим подросткам, которые имеют хорошо развитые пользовательские навыки, но не обладают полным представлением об информатике как о науке. Многие не приступают к выполнению задания №16 в связи с отсутствием навыков работы в программных средах и неправильным распределением времени выполнения тестовой и практической частей экзамена.

Существует проблема низкой читательской грамотности, невнимательности при чтении и шаблонности мышления. Существует проблема с чтением, пониманием и выполнением инструкций на экзамене, что отрицательно влияет на результат выполнения задания.

Средний процент выполнения данного задания 29,3%. Показывает слабую сформированность таких метапредметных умений:

  • Понимание смысла понятия «алгоритм»;

  • Понимание ограничений, накладываемых средой исполнителя и системой команд На круг задач, решаемых исполнителем;

  • Понимание преимущества и недостатков той или иной формы записи алгоритмов; умение переходить от одной формы записи

  • Алгоритмов к другой;

  • Умение выбирать форму записи алгоритма, соответствующую решаемой задаче;

  • Понимание сущности понятия «величина»; понимание границ применимости величин того или иного типа;

  • Умение выделять алгоритмы с ветвлением в различных процессах;

  • Умение выделять циклические алгоритмы в различных процессах.

В таблице 3 отражены основные статистические характеристики выполнения задания 15.2 в 2024 году.

Таблица 3. Основные статистические характеристики выполнения задания 15.2 в 2024 году.3

Номер задания в КИМ

Проверяемые элементы содержания / умения

Проверяемые элементы содержания / умения

Средний процент выполнения

Процент выполнения по региону в группах, получивших отметку

«2»

«3»

«4»

«5»

16

Создавать и выполнять программы для заданного исполнителя или на универсальном языке программирования.

В (высокий уровень сложности)

29,3

1,2

11,2

49,7

92,7

В таблице 4 отражен процент выполнения задания 16 по годам.

Таблица 4. Средний процент выполнения задания 16 по годам.

Задания

16

% выполнения 2023

25,7

% выполнения 2024

29,3

1.4 Основные ошибки, допускаемые при оформлении решения задач «Короткий алгоритм в различных средах исполнения».

Типичными ошибками при выполнении задания 16 (15.2) являются:4

  • неверное описание условия отбора элементов последовательности;

  • неправильная организация цикла для считывания и обработки данных. Вследствие этого программа на выходе имеет неправильный результат;

  • использование цикла с заданным условием продолжения работы, вместо использования цикла с заданным условием окончания работы для задач с неизвестным количеством повторений;

  • неверная инициализация переменных;

  • наличие синтаксических ошибок;

  • не проводится полноценное тестирование программы по заданным тестам;

  • ответ выдается не в заданном формате, как описано в условии задания.

Рисунок 1. Николай Л. Разбор основных ошибок учащихся при выполнении заданий 15.2 (16).

2. Практическая часть

2.1 Обоснование выбора языка программирования решения задач №16 КИМ ОГЭ по информатике.

Python является одним из самых популярных и эффективных языков программирования для решения задач по информатике на предметно-ориентированных экзаменах (ОГЭ). Благодаря своей простоте, Python стал предпочитаемым выбором для начинающих пользователей, а также для опытных программистов.

Язык программирования Python имеет множество встроенных функций и библиотек, которые обеспечивают широкие возможности при решении задач ОГЭ по информатике. Python является языком с динамической типизацией. Переменная не привязана жестко с определенному типу. Тип переменной определяется при присвоении значения переменной. что значительно упрощает выполнение арифметических и строковых операций при решении задач.

Одним из основных преимуществ Python является возможность работы со списками и массивами, которые часто используются при решении задач ОГЭ по информатике. Списки в Python могут содержать различные типы данных и обеспечивают простой доступ к элементам списка с помощью индексов. Кроме того, Python предлагает удобные методы для модификации, сортировки и поиска элементов в списке.

Еще одной важной особенностью Python является наличие условных операторов if-elif-else, которые позволяют выполнять определенный набор инструкций в зависимости от условия. Это особенно полезно при решении задач, требующих принятия различных решений в зависимости от значений переменных.

Python также поддерживает функции и модули, позволяющие разбивать программу на небольшие логические блоки, что облегчает чтение и отладку кода. Функции позволяют сократить повторяющийся код, а модули обеспечивают организацию кода в отдельные файлы для лучшей структурированности проекта.

Python обладает мощной системой обработки исключений, которая помогает обрабатывать возможные ошибки в программе и предотвращать ее прерывание. Это дает возможность оптимизировать код и улучшить его надежность.

Рассмотрим реализацию основных алгоритмических конструкций на языке Python в таблице 5 Основные алгоритмические конструкции.

Таблица 5. Основные алгоритмические конструкции

Алгоритмическая конструкция

Реализация на Python

Следование (блок-схема на рисунке 1) – алгоритмическая конструкция, отображающая естественный, последовательный порядок действий.5

Рисунок 2 Алгоритмическая структура «следование»

Пример программы ввода вещественного числа и вывода его абсолютной величины может выглядеть так:

х = float(input ())

print(abs (x) )

Ветвление – алгоритмическая конструкция, в которой в зависимости от результата проверки условия предусмотрен выбор одной из двух последовательностей действий (ветвей). Блок-схема на рисунке 2 и 3.

Рисунок 2 Полная форма ветвления

Рисунок 3 Неполная форма ветвления

При записи на языке Python разветвляющихся алгоритмов используют условный оператор.

Вид полного ветвления:

if <условие>:

<блок_операторов_1>

else:

<блок_операторов_2>

Вид полного ветвления:

if <условие>:

<блок_операторов_1>

Повторение выполняемых многократно Алгоритмы, называют циклическими или циклами. Последовательность повторяющаяся в процессе выполнения цикла, называется телом цикла.

Цикл с заданным условием продолжения работы (цикл-ПОКА, цикл с предусловием)

Блок-схема цикла «Пока» на рисунке 4.

Рисунок 4 Цикл с заданным условием продолжения работы

Цикл с заданным условием окончания работы

(цикл-ДО, цикл с постусловием) Блок-схема цикла «До» на рисунке 5.

Рисунок 5 Цикл с заданным условием окончания работы

Цикл с заданным числом повторений (цикл-ДЛЯ, цикл с параметром) Блок-схема цикла «Для» на рисунке 6.

Рисунок 6 Цикл с заданным числом повторений

Python цикл с заданным условием продолжения работы записывается с помощью оператора while (в переводе с английского языка — «до тех пор, пока»). Общий вид оператора:

while <условие>:

<операторы>

В языке Python нет специального оператора для записи циклов с заданным условием окончания работы, но его можно организовать с помощью цикла while:

while True:

<операторы>

if <условие>: break

Цикл с известным числом повторений в языке Python записывается с помощью оператора for (в переводе с английского —«для»).

Его общий вид:

for <параметр> in range(k, n, m):

<операторы>

<параметр> — переменная целого типа;

range () — функция, описывающая необходимое количество повторов тела цикла; в скобках может быть указано от одного до трёх чисел:

• одно число (п) указывает на то, что нужно последовательно

перебрать все целые числа от 0 до n - 1;

два числа (k, n) говорят о том, что нужно последовательно перебрать все целые числа, находящиеся в диапазоне от к(начальное значение) до n - 1 (конечное значение);

три числа (k, n, m) указывают на то, что параметр должен

изменяться от к до n - 1 с шагом, равным m;

<операторы> — один или несколько операторов, составляющих тело цикла.

2.2 Примеры решения заданий на языке Python.

Рассмотрим особенности математического обоснования решения задачи подсчета количества объектов по заданным условиям, то есть сделаем выборку данных из ряда чисел в заданиях на написание алгоритма получения результата запроса при обработке числовой последовательности. Особенности кода и математического обоснования решения задач описаны в таблице 6.

Таблица 6. Решение задач 16 из банка заданий ОГЭ по информатике.

Тип заданий

Формулировка

Математическое обоснование. Особенности решения.

Код

Количество объектов с заданным количеством повторений.

№F66F1D

Напишите программу, которая в последовательности натуральных чисел определяет количество чисел, кратных 3 и оканчивающихся на 2. Программа получает на вход количество чисел в последовательности, а затем сами числа. Количество чисел не превышает 1000. Введённые числа по модулю не превышают 30 000. Программа должна вывести одно число: количество чисел, кратных 3 и оканчивающихся на 2.

Если число кратно 3, то оно делится на 3 без остатка.

number % 3 == 0

Если число должно оканчиваться на 2, то остаток от его деления на десять должен быть 2.

number % 10 == 2

Для подсчета количества чисел, удовлетворяющих условию задачи введем переменную count.

n = int(input(' '))

count = 0

for i in range(n):

number = int(input(' '))

if number % 3 == 0 and number % 10 == 2:

count+=1

print(count)

Рисунок 7 Решение задачи №F66F1D

Проведение компьютерного тестирования алгоритма на Рисунке 7.

Решения задачи основано на проверке истиности и ложности коньюнкции – A˄B=F, в соответствии с таблицей истинности (таблица 7).

Таблица 7. Таблица истинности для коньюнкции.

A

B

F

0

0

0

1

0

0

0

1

0

1

1

1

  • Число, не кратное 3 и не оканчивающееся на 2 (10).

  • Числа, кратные 3, но не оканчивающиеся на 2 (3, 15, 21).

  • Число, не кратное 3, но оканчивающееся на 2 (22).

  • Числа, кратные 3 и оканчивающиеся на 2 (12, 42).

Количество объектов с неизвестным количеством повторений.

8C748F

Напишите программу, которая в последовательности натуральных чисел определяет количество таких чисел, которые кратны 4 и оканчиваются на 2. Программа получает на вход натуральные числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 – признак окончания ввода, не входит в последовательность). Количество чисел не превышает 1000. Введённые числа не превышают 30 000. Программа должна вывести одно число: количество чисел, кратных 4 и оканчивающихся на 2.

Для записи условия используем остаток от деления (%).

Если число кратно 4, то оно делится на 4 без остатка (остаток от деления на четыре должен быть 0).

number % 4 == 0

Если число должно оканчиваться на 2, то остаток от его деления на десять должен быть 2.

Условие:

number % 10 == 2

Для подсчета количества чисел, удовлетворяющих условию задачи, введем переменную count.

count = 0

while True:

number = int(input('Введите число: '))

if number == 0:

break

if number % 4 == 0 and number % 10 == 2:

count += 1

print(count)

Рисунок 8 Решение задачи №8C748F

Проведение компьютерного тестирования алгоритма на Рисунке 8.

Решение задачи основано на проверке истиности и ложности коньюнкции – A˄B=F, в соответствии с таблицей истинности (таблица 7).

  • Числа, не кратные 4 и не оканчивающиеся на 2 (15, 17).

  • Числа, кратные 4, но не оканчивающиеся на 2 (100, 0).

  • Число, не кратное 4, но оканчивающееся на 2 (22).

  • Числа, кратные 4 и оканчивающиеся на 2 (12, 32).

Ввод чисел завершился в результате выведения числа 0.

Максимальное.

3CBFE3

Напишите программу, которая в последовательности натуральных чисел определяет максимальное число, оканчивающееся на 2. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, оканчивающееся на 2. Количество чисел не превышает 1000. Введённые числа не превышают 30 000. Программа должна вывести одно число – максимальное число, оканчивающееся на 2.

Для записи условия используем остаток от деления (%). Если число оканчивается на 2, то остаток от деления на 10 должен быть 2.

Условие:

Если условие number % 10 = 2 выполнено, то проверяем найденное число оказывается больше запомненного максимального числа. Если условие делимости не выполнено, то отбор числа не осуществляется.

Максимальное будет храниться в переменной max.

max = 0

number = int(input('Введите количество чисел: '))

for i in range(number):

number = int(input('Введитечисла: '))

if number % 10 == 2:

if number > max:

max = number

print(max)

Рисунок 9 Решение задачи №3CBFE3 Ввод максимального числа в начале последовательности данных

Рисунок 10 Решение задачи №3CBFE3 Ввод максимального числа в конце последовательности данных

Проведение компьютерного тестирования алгоритма на Рисунках 9 и 10.

Решение задачи основано на проверке истиности и ложности имплекации – A –>B, в соответствии с таблицей истинности (таблица 8).

Таблица 8. Таблица истинности для имплекации.

A

B

F

1

0

0

1

1

1

• Числа, оканчивающиеся на 2 (32, 12, 2, 22, 62).

• Числа, не оканчивающиеся на 2 (54, 17, 5, 3, 15, 41).

Рисунок 9 демонстрирует тест для данных, когда число, удовлетворяющее условию, введено в начале последовательности ряда данных.

Рисунок 10 демонстрирует проверку выполнения кода, когда искомое число оказывается ближе к концу ввода. Разные тесты с изменением местоположения искомого элемента позволяет исключить ошибки работы кода.

Минимальное.

415E52

Напишите программу, которая в последовательности натуральных чисел определяет минимальное чётное число. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется чётное число. Количество чисел не превышает 1000. Введённые числа не превышают 30 000. Программа должна вывести одно число – минимальное чётное число.

Минимальное будет храниться в переменной min.

Начальное значение min принимает наибольшее значение 30000, по условию задачи.

Чётное число делится на 2 без остатка (остаток 0). Если условие делимости не выполнено, то отбор числа не осуществляется

Если условие number % 2 == 0 выполнено, то отбираем найденное число и сравниваем его с минимальным значением в переменной min. Если найденное число оказывается меньше min, то запоминаем новое значение.

min = 30000

number = int(input('Введите количество чисел: '))

for i in range(number):

number = int(input('Введитечисло: '))

if number % 2 == 0:

if number < min:

min = number

print(min)

Рисунок 11 Решение задачи №415E52 Ввод минимального числа в начале последовательности данных

Рисунок 12 Решение задачи №415E52 Ввод минимального числа в начале последовательности данных

Проведение компьютерного тестирования алгоритма на Рисунках 11 и 12.

Решение задачи основано на проверке истиности и ложности имплекации – A –>B, в соответствии с таблицей истинности (таблица 8).

  • Четные числа (2, 6, 14, 34, 8, 12, 4)

  • Нечетные числа (1, 9, 5, 17, 15, 9, 55)

Рисунок 11 демонстрирует тест для данных, когда число, удовлетворяющее условию, введено в начале последовательности ряда данных.

Рисунок 12 демонстрирует проверку выполнения кода, когда искомое число оказывается ближе к концу ввода. Разные тесты с изменением местоположения искомого элемента позволяет исключить ошибки работы кода.

Наблюдения за погодой.

C681D5

Ученики 4 класса вели дневники наблюдения за погодой и ежедневно записывали дневную температуру. Найдите самую низкую температуру за время наблюдения. Если температура опускалась ниже –15 градусов, выведите YES, иначе выведите NO.

Программа получает на вход количество дней, в течение которых проводилось измерение температуры N (1 ≤ N ≤ 31), затем для каждого дня вводится температура.

days – количество дней, temperature – дневная температура.

min_temperature – самая низкая температура наблюдений.

min_temperature изначально присваиваем большее значение 58°, которое гарантированно изменится при сравнении с вводимыми данными.6

cold – флажок, сигнализирующий о наступлении или не наступлении события «температура опускалась ниже –15 градусов»

cold присвоим значение “NO”. Если будет введено значение температуры меньше -15, значение переменной изменится на “YES”.

days = int(input())

min_temperature = 58

cold = "NO"

for day in range(days):

temperature = int(input())

if (temperature < -15):

cold = "YES"

if temperature < min_temperature:

min_temperature = temperature

print(min_temperature, cold)

Рисунок 13 Решение задачи №C681D5 Минимальная температура не достигла -15°

Рисунок 14 Решение задачи №C681D5 Минимальная температура достигла -16°

Проведение компьютерного тестирования алгоритма на Рисунке 13 и Рисунке 14. Решение задачи основано на проверке истиности и ложности условий:

  • Осуществение проверки соблюдения условия для cold опущен (флажок «NO»). Если в последовательности ввода данных есть температура, ниже 15, то флажок поднимается и выводится «YES» (Демонстрирует рисунок 14 при тестировании кода), а иначе остается значение «NO» (Демонстрирует рисунок 13 при тестировании кода).

  • Отбор самой низкой температуры и изменения значения min_temperature.

Отрезок.

C3AEB5

Напишите программу, которая по двум данным натуральным числам a и b, не превосходящим 30000, подсчитывает количество чётных натуральных чисел на отрезке [a, b] (включая концы отрезка). Программа получает на вход два натуральных числа a и b, при этом гарантируется, что 1 ≤ a ≤ b ≤ 30000. Проверять входные данные на корректность не нужно. Программа должна вывести одно число: количество чётных чисел на отрезке [a, b].

a и b – концы отрезка.

n – количество чётных чисел на отрезке.

Нужно цикле пройти по числам на отрезке [a, b] и посчитать чётные.

Способ 1: Признак чётности: остаток от деления числа на 2 – ноль.

Способ 2:

Чётным является каждое второе число. Можно найти половину всего количества чисел, входящих в отрезок и проверить на чётность концы отрезка.

Способ 1:

a = int(input('Введите число: '))

b = int(input('Введите число: '))

n = 0

for i in range(a, b + 1):

if i % 2 == 0: n += 1

print(n)

Способ 2:

a = int(input('Введите число: '))

b = int(input('Введите число: '))

n = (b - a + 1) // 2

if a % 2 == 0 and b % 2 == 0:

n += 1

print(n)

Рисунок 15 Первый вариант решения задачи №C3AEB5

Рисунок 16 Второй вариант решения задачи №C3AEB5

Проведение компьютерного тестирования алгоритма решения задачи основано на проверке истиности и ложности условия:

  • для первого способа: определение четности числа – если остаток от деления числа на 2 равен нулю, то нарастить счетсчик чисел, удовлетворяющих условию. Тестирование программы отражено на Рисунке 15.

  • Для второго способа: определение четности концов отрезка и добавление единицы к половине количества чисел заданного отрезка. Тестирование программы отражено на Рисунке 16.

Про учеников.

41E9E1

Девятиклассники участвовали в викторине по математике. Необходимо было ответить на 20 вопросов. Победителем викторины считается участник, правильно ответивший на наибольшее количество вопросов. На сколько вопросов победитель ответил правильно? Если есть участники викторины, которые не смогли дать правильный ответ ни на один из вопросов, выведите YES, иначе выведите NO. Гарантируется, что есть участники, правильно ответившие хотя бы на один из вопросов.

Программа получает на вход число участников викторины N (1 ≤ N ≤ 50), затем для каждого участника вводится количество вопросов, на которые получен правильный ответ.

contestants – количество участников викторины; best_result – количество правильных ответов у победителя;

zero_result – флажок о наличии или отсутствии участников, не давших правильных ответов;

result – количество правильных ответов конкретного участника.

При вводе результатов оно изменится.

Результат работы кода – значения переменных best_result и zero_result.

Во избежание ошибки ввода данных – вопросов не больше 20 – необходимо учесть условие ввода количества данных

contestants = int(input('Введите количество участников: '))

best_result = 0

zero_result = "NO"

for contestant in range(contestants):

result = int(input('Введите число правильных ответов: '))

ifresult > 20:

result = int(input('Введите число правильных ответов: '))

if result > best_result: best_result = result

elif result == 0: zero_result = "YES"

print(best_result)

print(zero_result)

Рисунок 17 Решение задачи №41E9E1

Рисунок 18 Решение задачи №41E9E1

Рисунок 19 Решение задачи №41E9E1

Проведение компьютерного тестирования алгоритма решения задачи основано на проверке истиности и ложности условий:

Рисунок 17 демонстрирует ошибки ввода данных – при вводе количества правильных ответов больше 20 – выдан результата, не соответствующий уловию задания.

В код добавлена проверка, ограничивающая ввод ошибочных данных. (if result > 20:

result = int(input('Введите число правильных ответов: ')))

  • Первое условие проверяет корректность ввода данных. Если количество правильных ответов превышает число вопросов, то ввод осуществляется заново.

  • Второе условие считает колличество участников, ответивших правильно хотя бы на один вопрос. Если все участники дали хотя бы один правильный ответ, то флажок остается неподнятым («NO» Рисунок 18). Если есть участник, не ответивший правиьно ни на один вопрос, то флажок поднимается («YES» Рисунок 19).

Соревнования.

DB34E2

На соревнованиях по бегу на 5000 метров для выхода в финал необходимо показать время не более 18 минут 30 секунд.

Сколько спортсменов по результатам соревнований вышли в финал?

Программа получает на вход количество спортсменов, принимавших участие в соревнованиях (1 ≤ N ≤ 100), затем для каждого спортсмена вводится два числа: минуты и секунды – время, показанное на дистанции.

sportsmen – общее количество спортсменов,

finalists – количество финалистов,

minutes, seconds – время в минутах и секундах соответственно.

finalists – это переменная-счётчик вышедших в финал спортсменов, присваиваем ей начальное значение 0.

Метода split() делит введённые данные пробелом.

Функцию map преобразует пару в целые числа.

Если количество минут – 18 и при этом секунд не больше 30 или же если минут меньше 18, спортсмен должен попасть в список финалистов. В этом случае переменная finalists увеличится на 1.

Вывод количества финалистов – значение переменной finalists.

sportsmen = int(input('Введите количество спортсменов: '))

finalists = 0

for sportsman in range(sportsmen):

minutes, seconds = map(int, input('Введите минуты и секунды: ').split())

if (minutes == 18 and seconds <= 30) or minutes < 18:

finalists += 1

print(finalists)

Рисунок 20 Решение задачи №DB34E2

Проведение компьютерного тестирования алгоритма решения задачи основано на проверке истиности и ложности одного из условий:

  • Если количество минут – 18 и при этом секунд должно быть не более 30 или количество минут должно быть меньше 18, то счетсчик количества спортсменов увеличивается на 1.

Тестирование программыдемонстрирует Рисунок 20.

Среднее арифметическое.

8D33AE

Напишите программу, которая в последовательности натуральных чисел находит среднее арифметическое чисел, кратных 4, или сообщает, что таких чисел нет (выводит NO). Программа получает на вход натуральные числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 undefined признак окончания ввода, не входит в последовательность).

Количество чисел не превышает 100. Введённые числа не превышают 300.

Программа должна вывести среднее арифметическое чисел, кратных 4 или вывести «NO», если таких чисел нет.

number – счетчик чисел, кратных 4 введенных с клавиатуры;

sum_numbers – считает сумму введенных чисел, кратных 4;

Число кратно 4, если остаток от деления его на 4 равен 0: a % 4 == 0

Если введённое число соответствует условию, оно прибавляется к сумме и количество чисел увеличивается на единицу.

Если счетчик чисел, кратных 4, остался равным 0, то вывод “NO”.

sum_numbers = 0

number = 0

a = int(input('Введите число: '))

while a != 0:

if a % 4 == 0:

sum_numbers += a

number += 1

a = int(input('Введите число: '))

if number > 0:

print (sum_numbers / number)

else: print ("NO")

Рисунок 21 Решение задачи №8D33AE

Рисунок 22 Решение задачи №8D33AE

Проведение компьютерного тестирования алгоритма решения задачи основано на проверке истиности и ложности условия кратности на 4:

  • Тестирование программы, при условия наличия чисел, кратных 4, демонстрирует Рисунок 21 – выведено среднее арифметическое чисел.

  • Тестирование программы, при отсутствии чисел, кратных 4, демонстрирует Рисунок 22 – выведено «NO».

Сумма и количество.

30E5C9

Напишите программу, которая в последовательности целых чисел находит сумму и количество чисел, кратных 17, или сообщает, что таких чисел нет. На вход программы подаются целые числа, количество введённых чисел неизвестно, последовательность заканчивается числом 0 (0 – признак окончания ввода, не является членом последовательности).

Количество чисел не превышает 100. Введённые числа по модулю не превышают 300.

Программа должна вывести сумму и количество чисел, кратных 17, или вывести NO, если таких чисел в последовательности нет.

n – счетчик чисел, кратных 17;

sum_numbers – считает сумму введенных чисел, кратных 17;

number – число, введенное с клавиатуры.

Число кратно 17, если остаток от деления его на 17 равен 0: number % 17 == 0

Если введённое число соответствует условию, оно прибавляется к сумме и количество чисел увеличивается на 1.

Если счетчик чисел, кратных 17, остался равным 0, то вывод “NO”.

sum_numbers = 0

n = 0

number = int(input())

while number != 0:

if number % 17 == 0:

sum_numbers += number

n += 1

number = int(input())

if n > 0:

print(sum_numbers, n)

else: print ("NO")

Рисунок 23 Решение задачи №30E5C9

Рисунок 24 Решение задачи №30E5C9

Проведение компьютерного тестирования алгоритма решения задачи основано на проверке истиности и ложности условия кратности на 17:

  • Тестирование программы, при условия наличия чисел кратных 17, демонстрирует Рисунок 23 – выведено сумма и количество чисел кратных 17.

  • Тестирование программы, при отсутствии чисел, кратных 17, демонстрирует Рисунок 24 – выведено «NO».

Сумма, два условия, количество известно.

CAF691

Напишите программу, которая в последовательности натуральных чисел определяет сумму чисел, кратных 3 и оканчивающихся на 2. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, кратное 3 и оканчивающееся на 2.

Количество чисел не превышает 100. Введённые числа по модулю не превышают 300.

Программа должна вывести одно число: сумму чисел, кратных 3 и оканчивающихся на 2.

amount – считает сумму чисел, кратных 3 и оканчивающихся на 2;

quantity – количество чисел;

number – число, введенное с клавиатуры.

Число кратно 3, если остаток от деления его на 3 равен 0: number % 3 == 0

Если число должно оканчиваться на 2, то остаток от его деления на десять должен быть 2: number % 10 == 2

amount = 0

quantity = int(input())

for i in range(quantity):

number = int(input())

if number % 3 == 0 and number % 10 == 2:

amount = amount + number

print(amount)

Рисунок 25 Решение задачи №CAF691

Проведение компьютерного тестирования алгоритма на Рисунке 25

Решение задачи основано на проверке истиности и ложности коньюнкции – A˄B=F, в соответствии с таблицей истинности (таблица 7).

• Числа, кратные 3, но не оканчивающиеся на 2 (3, 6).

• Число, не кратное 3, но оканчивающееся на 2 (2, 22).

• Числа, кратные 3 и оканчивающиеся на 2 (12, 42, 72).

Сумма, одно условие.

DF90CE

Напишите программу, которая в последовательности натуральных чисел определяет сумму чисел, кратных 6. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, кратное 6.

Количество чисел не превышает 100. Введённые числа не превышают 300.

Программа должна вывести одно число – сумму чисел, кратных 6.

amount – считает сумму чисел, кратных 3 и оканчивающихся на 2;

quantity – количество чисел;

number – число, введенное с клавиатуры.

Число кратно 6, если остаток от деления его на 6 равен 0: number % 6 == 0.

amount = 0

quantity = int(input())

for i in range(quantity):

number = int(input())

if number % 6 == 0:

amount = amount + number

print(amount)

Рисунок 26 Решение задачи №DF90CE

Проведение компьютерного тестирования алгоритма на Рисунке 26.

Решение задачи основано на проверке истиности и ложности коньюнкции – A˄B=F, в соответствии с таблицей истинности (таблица 7).

  • Числа, не кратные 6 (15, 34, 5, 10).

  • Числа, кратные 6 (12, 60, 36).

Сумма, условия, количества неизвестны.

AE0327

Напишите программу, которая в последовательности натуральных чисел вычисляет сумму всех чисел, кратных 7 и оканчивающихся на 0. Программа получает на вход натуральные числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 – признак окончания ввода, не входит в последовательность).

Количество чисел не превышает 100. Введённые числа не превышают 300.

Программа должна вывести одно число: сумму всех чисел, кратных 7 и оканчивающихся на 0.

sum_numbers – считает сумму введенных чисел, кратных 7 и оканчивающихся на 0;

number – число, введенное с клавиатуры.

Число кратно 7, если остаток от деления его на 7 равен 0: number % 7 == 0

Если число должно оканчиваться на 0, то остаток от его деления на десять должен быть 0: number % 10 == 0, то оно прибавляется к сумме.

sum_numbers = 0

number = int(input())

while number != 0:

if number % 7 == 0 and number % 10 == 0:

sum_numbers += number

number = int(input())

print(sum_numbers)

Рисунок 27 Решение задачи №AE0327

Проведение компьютерного тестирования алгоритма на Рисунке 27.

Решение задачи основано на проверке истиности и ложности ложности коньюнкции – A˄B=F, в соответствии с таблицей истинности (таблица 7).

  • Числа, не кратне 7 и не оканчивающиеся на 0 (13).

  • Числа, кратные 7, но не оканчивающиеся на 0 (77, 14).

  • Число, не кратное 7, но оканчивающееся на 0 (10, 30).

  • Числа, кратные 7 и оканчивающиеся на 0 (70, 140).

2.3 Рекомендации решения задач.

Изначально инициализация переменных должна исключать ошибки выбора лишних переменных, верное определение начального значения или ввод начального значения используемых переменных. Желательно назначать имена, передающие смысл объектов, не забывать, что в некоторых компиляторах, в частности Python, различает регистр.

При решении задач необходимо иметь представление о теории чисел и уметь создавать математические модели. Каждому сдающему экзамен по информатике в 9 классе необходимо иметь представление о:

признаках делимости – уметь описывать на математическом языке делимость чисел;

составе числа – уметь математически описывать выделение цифр из различных разрядов числа;

записи математических выражений признаков четности-нечётности числа;

записи математических выражений признака простого числа;

запись математического неравенства для определения знака числа;

понятиях среднего арифметического, процента, максимального-минимального числа и др.

На основе математической модели несложно написать код для решения задачи при наличии знаний структур языков программирования и алгоритмизации.

Знание основных алгоритмических структур и синтаксиса языка определяет успех решения задач на языках программирования.

При работе в компиляторе Python необходимо помнить об особенности организации цикла с заданным условием окончания работы (while True) и правильно выбирать необходимый цикл, исключая ошибку организации повторений при вводе данных.

Ввод данных и вывод результата должен соответствовать заявленным требованиям в условии задачи. Если ответ выдается не в заданном формате, как описано в условии задания – решение может быть не зачтено.

Для интерпретации результата на основе введенных данных крайне важно умение выполнять трассировку кода решения задачи, то есть уметь по шагам определять результат обработки переменных, используемых в ходе решения.

При проверке с входными данными никогда не будет лишнем попробовать ещё ряд своих данных. Эта проверка поможет точно убедиться в правильности написанной программы7, позволит исключить синтаксические ошибки.

Заключение

Phyton – язык, подходящий для начинающих программистов. Он широко используется во многих областях: веб-разработка, научные исследования, анализ данных, искусственный интеллект, машинное обучение, разработка игр. У Python большая библиотека сторонних модулей и инструментов, что делает его мощным инструментом. Наличие активного сообщества разработчиков позволяет постоянно поддерживать и обновлять язык, предоставлять достаточный объем обучающих материалов, документацию и форумы для программистов с любым уровнем знаний.8

Таким образом, в результате работы над проектом проведен анализ теоретических источников; методы программирования; системный анализ, метод сравнения и синтеза информации для достижения цели. Удалось проанализировать алгоритмы решения заданий в КИМ ОГЭ по информатике с помощью языка программирования Python для решения задач «Короткий алгоритм в средах исполнения», что было достигнуто при решении задач поставленных при работе с проектом:

Рассмотрены типы заданий, решаемые с помощью Python в КИМ ОГЭ по информатике.

Выявлены основные ошибки, допускаемые при оформлении решения задач «Короткий алгоритм в различных средах исполнения» на языке программирования Python.

Выполнены решения основных типов заданий ОГЭ по информатике, в которых требуется написание алгоритма в среде исполнителя Python.

Продуктом проекта являются алгоритмы решения основных типов заданий 16 из КИМов ОГЭ по информатике на языке Python и мультимедийная презентация для защиты проекта.

Теоретическая и практическая значимость проекта: возможность использования данных для подготовки к ОГЭ по информатике и участие в XXIV Международном конкурс научно-исследовательских и творческих работ учащихся «Старт в науке»9.

Вывод из работы:

• Поставленная цель достигнута

• Выполнение поставленных задач вполне реализовано

При работе над проектом возникали такие трудности: были непросто структурно и наглядно представить классификацию заданий 16 из КИМов ОГЭ по информатике, выбрать оптимальный способ представления математического обоснования решения задач на этапе формализации.

Источники сети интернет

  1. Информатика. Задачи для подготовки к экзаменам.

ОГЭ 2025.

Задания, выполняемые на компьютере.

№16, написать программу (Python)

https://informatics-in-school.ru/podgotovka-k-oge/z15-2-oge/

  1. Информатика 8-9 классы.

Начала программирования на языке Phyton.

https://docs.yandex.ru/docs/view?url=ya-disk-public%3A%2F%2FFvwiyt5FaIEs1yW6qfyEbQbNBC0EARHnDU9AOt%2Bv7u2Ti16Bs5N26MyHReY%2FRjUYq%2FJ6bpmRyOJonT3VoXnDag%3D%3D&name=informatika_-8-9kl_-nachala-python_bosova-l_l_-i-dr_2020-96s.pdf&nosw=1

  1. Анализ результатов выполнения задания КИМ ОГЭ по учебному предмету «Информатика»

https://cmkosakha.ru/wp-content/uploads/2024/09/analiz-rezultatov-vypolneniya-zadanij-kim-gia-9_informatika-2024.pdf

  1. ОГЭ 2023 | Информатика | Задание 15.1 и задание 15.2

Разбор основных ошибок учащихся при выполнении заданий 15.1 и 15.2

https://dzen.ru/video/watch/64ab753485368219a0450b27

  1. Погодные рекорды

https://ru.wikipedia.org/wiki/Погодные_рекорды

  1. Информатика ОГЭ №15.2 (Python) | Дзен

https://dzen.ru/a/Yp-XNnnLYmaB0kng

  1. Online Python Debugger - online editor

https://www.onlinegdb.com/online_python_debugger

  1. XXIV Международном конкурс научно-исследовательских и творческих работ учащихся «Старт в науке»

https://school-science.ru/

Приложения

1 https://informatics-in-school.ru/podgotovka-k-oge/z15-2-oge/

2 https://docs.yandex.ru/docs/view?url=ya-disk-public%3A%2F%2FFvwiyt5FaIEs1yW6qfyEbQbNBC0EARHnDU9AOt%2Bv7u2Ti16Bs5N26MyHReY%2FRjUYq%2FJ6bpmRyOJonT3VoXnDag%3D%3D&name=informatika_-8-9kl_-nachala-python_bosova-l_l_-i-dr_2020-96s.pdf&nosw=1

3 https://cmkosakha.ru/wp-content/uploads/2024/09/analiz-rezultatov-vypolneniya-zadanij-kim-gia-9_informatika-2024.pdf

4 https://dzen.ru/video/watch/64ab753485368219a0450b27

С осени 2024 года изменилось количество заданий в КИМ ОГЭ по информатике – задание 15.2 стало самостоятельным заданием под №16.

5 Учебник информатика 8 класс Босова Л.Л. Москва «Просвещения» 2024 страница 103

6 Рекорд температуры на Земле не превышает 58° https://ru.wikipedia.org/wiki/Погодные_рекорды

7 https://dzen.ru/a/Yp-XNnnLYmaB0kng

8 https://www.nic.ru/help/osnovy-yazyka-programmirovaniya-python_11662.html

9 https://school-science.ru/

Просмотров работы: 42