решай.ai · шпаргалка

Задание 6: Программа с условным оператором

ОГЭ Информатика

Как выглядит

Типовая формулировка: приведена программа на пяти языках, которая считывает два целых числа ss и tt, проверяет условие вида s>as > a или t>bt > b (либо с AND, либо с OR), и печатает YES или NO. Далее даётся таблица из 9 пар чисел, которые вводились в программу, и задаётся вопрос: сколько раз программа напечатала YES (или NO).

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

Что нужно знать

  • Условный оператор if...then...else выполняет одну ветвь, если условие истинно, и другую — если условие ложно.
  • Логическая операция И (AND, и, &&) истинна только тогда, когда истинны оба операнда: A∧B=1  ⟺  A=1 и B=1A \land B = 1 \iff A=1 \text{ и } B=1.
  • Логическая операция ИЛИ (OR, или, ||) истинна, если истинен хотя бы один операнд: A∨B=1  ⟺  A=1 или B=1A \lor B = 1 \iff A=1 \text{ или } B=1.
  • Операторы сравнения: >>, <<, ≥\geq, ≤\leq, ==, ≠\neq — работают одинаково для целых чисел, включая отрицательные.
  • Отрицательное число всегда меньше положительного и меньше нуля: например, −11<10-11 < 10 верно всегда.
  • В разных языках синтаксис отличается, но смысл конструкции одинаков:
  • Python: if условие: ... else: ...
  • Паскаль: if условие then ... else ...
  • Алгоритмический язык: если условие то ... иначе ...
  • С++: if (условие) ... else ...
  • Порядок операций: сравнение выполняется раньше логической связки, то есть s>10 or t>10s > 10 \text{ or } t > 10 читается как (s>10)∨(t>10)(s>10) \lor (t>10).

Алгоритм

  1. Определить, какое условие проверяется в программе и какая логическая связка используется — AND или OR.
  2. Понять, какое сравнение соответствует каждой части условия (например, s>10s > 10 и t>10t > 10).
  3. Выписать все пары значений из условия задачи в столбик или таблицу.
  4. Для каждой пары подставить значения в оба сравнения и определить истинность каждого.
  5. Применить логическую связку: для AND — истина только если оба истинны; для OR — истина, если хотя бы одно истинно.
  6. Записать итоговый результат (YES или NO) для каждой пары.
  7. Посчитать количество нужных результатов согласно вопросу задания.
  8. Сверить количество посчитанных случаев с общим числом пар — сумма YES и NO должна совпадать с числом запусков.

Ловушки

  • Путаница между AND и OR. Самая частая ошибка — забыть, что для AND нужны истинны оба условия, а для OR достаточно одного. Внимательно смотрите на слово в тексте программы: и/AND/&& или или/OR/||.
  • Неверная работа со строгими неравенствами. 10>1010 > 10 — это ложь, а не истина. При равенстве значений граничному числу строгое неравенство не выполняется.
  • Ошибки с отрицательными числами. Легко перепутать, что −11>10-11 > 10 ложно, а −11<10-11 < 10 истинно. Отрицательное число всегда меньше положительного.
  • Подсчёт не того, что спрашивают. Внимательно читайте вопрос: спрашивают про YES или про NO — это разные числа, и сумма ответов по обоим вопросам всегда равна общему числу запусков.
  • Потеря пары при переборе. При большом количестве пар легко пропустить одну строку или посчитать её дважды — рекомендуется помечать проверенные пары или вести таблицу. …
reshay.ai/oge/informatika/zadanie-6 — задачи с разборами и тренажёр

Полный гайд и задачи задания 6 →