← Назад

📚 Анализ алгоритмов на языке программирования

🔹 Что нужно делать в задании?

В задании №9 ВПР по информатике для 8 класса вам даётся программа на языке Pascal с условным оператором if. В условии используются два сравнения для переменных s и t, соединённые логическими операциями and, or, not и скобками.

Ваша задача — определить, для каких из 5 заданных пар чисел программа выведет "NO" или "YES". Внимательно читайте вопрос — в каждом варианте задания требуется найти пары для одного из этих ответов.

🔹 Структура программы

Программа может быть представлена на одном из четырёх языков: Pascal, Python, C++ или алгоритмическом языке. Во всех вариантах выполняются одни и те же действия: вводят два целых числа, проверяют составное условие и выводят результат.

Pascal:

var s, t: integer;
begin
  readln(s);
  readln(t);
  if (условие)
  then
    writeln("YES")
  else
    writeln("NO")
end.

Python:

s = int(input())
t = int(input())
if (условие):
    print("YES")
else:
    print("NO")

C++:

int s, t;
cin >> s >> t;
if ((условие))
    cout << "YES" << endl;
else
    cout << "NO" << endl;

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

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

Если условие истинно — программа печатает "YES".
Если условие ложно — программа печатает "NO".

🔹 Операторы сравнения

Оператор Название Пример Значение
< Меньше 5 < 10 истина
> Больше 5 > 10 ложь
<= Меньше или равно 10 <= 10 истина
>= Больше или равно 5 >= 10 ложь
= Равно 5 = 5 истина
<> Не равно 5 <> 10 истина

🔹 Логические операции

Операция Название Результат истинен, когда...
A and B И (конъюнкция) оба операнда истинны
A or B ИЛИ (дизъюнкция) хотя бы один операнд истинен
not A НЕ (отрицание) операнд ложен

⚠️ Важно про приоритет операций!

  1. Сначала выполняется not (отрицание) — самый высокий приоритет
  2. Затем выполняется and (конъюнкция)
  3. Потом выполняется or (дизъюнкция) — самый низкий приоритет
  4. Скобки меняют порядок вычислений — выражение в скобках вычисляется первым

🔹 Таблицы истинности

Операция AND (И)

A B A and B
истина истина истина
истина ложь ложь
ложь истина ложь
ложь ложь ложь

Операция OR (ИЛИ)

A B A or B
истина истина истина
истина ложь истина
ложь истина истина
ложь ложь ложь

Операция NOT (НЕ)

A not A
истина ложь
ложь истина

🔹 Метод таблицы истинности

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

📋 Как составлять таблицу:

  1. Выделите в условии два простых сравнения и обозначьте их буквами A и B
  2. Для каждой из 5 пар вычислите истинность A и B (1 — истина, 0 — ложь)
  3. Вычислите результат всего логического выражения с учётом операций and, or, not
  4. Отметьте пары, для которых результат = 0 (ложь) — это и есть ответ "NO"

Пример таблицы:

Условие: (s < 10) or (t > 10)

Пара (s, t) A =
(s < 10)
B =
(t > 10)
A or B Вывод
1 (15, 9) 0 0 0 NO ✓
2 (5, 11) 1 1 1 YES
3 (18, 15) 0 1 1 YES
4 (10, 9) 0 0 0 NO ✓
5 (–4, 5) 1 0 1 YES

Ответ: пары с результатом 0 → номера 1 и 4 → ответ 14

Пример с операцией not:

Условие: not ((s > 0) and (t < 5))

Пара (s, t) A =
(s > 0)
B =
(t < 5)
A and B not(A and B) Вывод
1 (–2, 3) 0 1 0 1 YES
2 (10, 2) 1 1 1 0 NO ✓
3 (5, 8) 1 0 0 1 YES
4 (1, 1) 1 1 1 0 NO ✓
5 (0, 4) 0 1 0 1 YES

Ответ: пары с результатом 0 → номера 2 и 4 → ответ 24

💡 Преимущества табличного метода:

  • Наглядность — все вычисления видны сразу
  • Меньше ошибок — сложно пропустить пару или перепутать знак операции
  • Удобно проверять — легко найти ошибку, если ответ не сходится
  • Рекомендуется использовать на черновике при сдаче ВПР

🔹 Полезные советы

  • Проверяйте каждую пару отдельно — не пытайтесь запомнить всё сразу
  • Для операции and: если хотя бы одна часть ложна, результат — ложь ("NO")
  • Для операции or: если хотя бы одна часть истинна, результат — истина ("YES")
  • Скобки меняют порядок вычислений — всегда вычисляйте выражение в скобках первым
  • not инвертирует результат: истина становится ложью, и наоборот
  • Внимательно читайте вопрос — в задании может требоваться найти пары с результатом "YES" или "NO"
  • Не забудьте: ответ — это номера пар, для которых результат "NO" или "YES" (в зависимости от условия), в порядке возрастания
  • Если ответов несколько, просто пишите цифры подряд, например: 14 или 235

🔹 Частые ошибки

⚠️ Избегайте этих ошибок:

  • Путают "YES" и "NO" — в задании может требоваться найти пары с "YES", а не с "NO". Внимательно читайте вопрос!
  • Забывают про not — отрицание инвертирует результат, не пропускайте его
  • Неправильно считают скобки — выражение в скобках всегда вычисляется первым
  • Путают <= и < — "меньше или равно" включает равенство
  • Неправильно записывают ответ — цифры должны идти в порядке возрастания, без пробелов и запятых
▶ Перейти к практике