Теория для задания №6 ОГЭ по информатике

Теоретический материал для задания №6 ОГЭ по информатике

Анализ программ с условным оператором

Важно! В задании №6 требуется анализировать работу программы с условным оператором и определять результаты её выполнения при различных входных данных.

Основные понятия:

Как решать задачи на анализ программ

  1. Внимательно изучите код программы
  2. Определите, какие условия проверяются
  3. Для каждого набора входных данных:
    • Подставьте значения в условие
    • Определите, какая ветвь программы выполнится
    • Запишите результат
  4. Подсчитайте общее количество нужных результатов

Пример решения задачи

Задача:

Ниже приведена программа на языке Python и алгоритмическом языке:

Python:

s = int(input())
t = int(input())
if s > 10 or t > 10:
    print("YES")
else:
    print("NO")
                        

Алгоритмический язык:

алг
нач
цел s, t
ввод s
ввод t
если s > 10 или t > 10
    то вывод "YES"
    иначе вывод "NO"
все
кон
                        

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

(1, 2); (11, 2); (1, 12); (11, 12); (–11, –12); (–11, 12); (–12, 11); (10, 10); (10, 5)

Решение:

s t s > 10 t > 10 s > 10 or t > 10 Результат
1 2 False False False NO
11 2 True False True YES
1 12 False True True YES
11 12 True True True YES
-11 -12 False False False NO
-11 12 False True True YES
-12 11 False True True YES
10 10 False False False NO
10 5 False False False NO

Подробное решение:

  1. Разберем условие программы:
    • Программа проверяет условие: s > 10 или t > 10
    • Если хотя бы одно из чисел больше 10, выводится "YES"
    • Если оба числа меньше или равны 10, выводится "NO"
  2. Анализ каждого запуска:
    • (1, 2) → Оба числа ≤ 10, поэтому "NO"
    • (11, 2) → Первое число > 10, поэтому "YES"
    • (1, 12) → Второе число > 10, поэтому "YES"
    • (11, 12) → Оба числа > 10, поэтому "YES"
    • (-11, -12) → Оба числа < 10, поэтому "NO"
    • (-11, 12) → Второе число > 10, поэтому "YES"
    • (-12, 11) → Второе число > 10, поэтому "YES"
    • (10, 10) → Оба числа = 10, поэтому "NO"
    • (10, 5) → Оба числа ≤ 10, поэтому "NO"
  3. Подсчет результатов:
    • Ответ "YES" получен 5 раз
    • Ответ "NO" получен 4 раза

Ответ: 5 (программа напечатала "YES" в 5 случаях)

Полезные способы решения

Способ 1: Быстрая проверка

Для условия "s > 10 or t > 10":

  • Сразу отмечаем все пары, где есть число больше 10
  • Остальные пары автоматически дают "NO"
  • Знак минус перед числом означает, что оно меньше 10
Способ 2: Использование компьютера

Можно скопировать программу в Python или алгоритмическую среду программирования Кумир и:

  • Запустить программу для каждой пары чисел
  • Записать все результаты
  • Подсчитать нужные ответы

Примечание: Этот способ подходит для самопроверки при подготовке к экзамену.

Важно помнить!
  • На экзамене разрешено использовать черновик
  • Можно записать все пары в таблицу и методично их проверить
  • Перепроверьте ответ, посчитав количество "YES" и "NO" - их сумма должна равняться общему количеству пар

Интерактивное задание для практики

Задача: Рассмотрим программу:

Python:

x = int(input())
y = int(input())
if x < 7 and y > 12:
    print("RED")
else:
    print("BLUE")
                        

Алгоритмический язык:

алг
нач
цел x, y
ввод x
ввод y
если x < 7 и y > 12
    то вывод "RED"
    иначе вывод "BLUE"
все
кон
                        

Проверьте, какой результат выдаст программа для следующих пар чисел:

Попробуйте следующие пары чисел:

  • (5, 15)
  • (8, 13)
  • (6, 11)
  • (4, 13)
  • (7, 14)

Подсказка: Для получения "RED" нужно, чтобы:

  • x должно быть меньше 7 И
  • y должно быть больше 12

Самостоятельное задание

Задача: Дана программа:

Python:

a = int(input())
b = int(input())
if a >= 8 or b < 5:
    print("WIN")
else:
    print("LOSE")
                            

Алгоритмический язык:

алг
нач
цел a, b
ввод a
ввод b
если a >= 8 или b < 5
    то вывод "WIN"
    иначе вывод "LOSE"
все
кон
                            

Сколько раз программа выведет "WIN" при следующих парах чисел?

(7, 4), (8, 6), (9, 5), (6, 3), (7, 5), (8, 4), (6, 6)

Попробуйте решить самостоятельно, а затем сверьте с ответом.