6 задание ОГЭ информатика
Выполнение программы
1 балл ≈ 4 мин уровень Б Исполнение программы на языке программирования
Задание 6 – дана короткая программа (на Python, Паскале, C++, Бейсике и Алгоритмическом языке – выбирай знакомый) с условием if. Её запускали несколько раз с разными парами (s, t). Спрашивают: сколько раз программа напечатала «YES»/«NO», или при каком значении параметра A программа напечатает «YES» нужное число раз. 1 балл, ответ – число.
Что нужно знать
and(И) – верно, если верны обе части;or(ИЛИ) – если верна хотя бы одна.- Отрицание условия: НЕ (s > A или t > 12) = (s ≤ A) и (t ≤ 12). Знак переворачивается, И и ИЛИ меняются местами.
Алгоритм
- Выпиши условие для «YES». Если спрашивают про «NO» – построй отрицание.
- Выпиши все пары (s, t) столбиком.
- Отметь пары, где сработает часть условия, не зависящая от A (например, t > 12).
- Для остальных пар выпиши значения, которые сравниваются с A, и упорядочи их.
- Подбери A, при котором выполняется ровно нужное число раз. Проверь границу: при A на 1 больше и на 1 меньше ответ должен меняться.
Разобранный пример.
s = int(input())
t = int(input())
if s > 10 and t < A:
print("YES")
else:
print("NO")
Пары: (1, 2); (11, 2); (12, 6); (15, 10); (–11, 9); (20, 5); (11, 11); (10, 1); (13, 7). Найдите наименьшее целое A, при котором «YES» напечатано ровно 3 раза.
- s > 10 только у пар: (11, 2), (12, 6), (15, 10), (20, 5), (11, 11), (13, 7). Пара (10, 1) не подходит: 10 > 10 ложно.
- Их t по возрастанию: 2, 5, 6, 7, 10, 11.
- Нужно ровно три t < A: 2, 5, 6 < A, а 7 ≥ A. Значит 6 < A ≤ 7, A = 7.
Ответ: 7.
Ловушки
- Строгий и нестрогий знак: s > 10 при s = 10 ложно. Граничные пары проверяй отдельно.
- Отрицательные числа в парах – аккуратно сравнивай (–11 < 10).
- Перепутал «наибольшее» и «наименьшее» A – перечитай вопрос.
- Посчитал «YES», а спрашивали «NO» (или наоборот).
- Выпиши пары столбиком и ставь плюсы/минусы у каждой – так ничего не потеряешь.
- Для «NO» сразу запиши отрицание условия: знаки переворачиваются, and ↔ or.
- Проверь ответ: подставь A и A ± 1 – число «YES» должно меняться на границе.
Разобранные задания 6 из открытого банка ФИПИ
Пример 1 · код ФИПИ 4EA117
Ниже приведена программа, записанная на пяти языках программирования.
| Алгоритмический язык | Паскаль |
| алг нач цел s, t, A ввод s ввод t ввод A если s > A или t > 12 то вывод "YES" иначе вывод "NO" все кон | var s, t, A: integer; begin readln(s); readln(t); readln(A); if (s > A) or (t > 12) then writeln('YES') else writeln('NO') end. |
| Бейсик | Python |
| DIM s, t, A AS INTEGER INPUT s INPUT t INPUT A IF s > A OR t > 12 THEN PRINT "YES" ELSE PRINT "NO" ENDIF | s = int(input()) t = int(input()) A = int(input()) if (s > A) or (t > 12): print("YES") else: print("NO") |
| C++ | |
| #include <iostream> using namespace std; int main() { int s, t, A; cin >> s; cin >> t; cin >> A; if (s > A || t > 12) cout << "YES" << endl; else cout << "NO" << endl; return 0; } | |
Было проведено 9 запусков программы, при которых в качестве значений переменных s и t вводились следующие пары чисел:
(13, 2); (11, 12); (–12, 12); (2, –2); (–10, –10); (6, –5); (2, 8); (9, 10); (1, 13).
Укажите наибольшее целое значение параметра А, при котором для указанных входных данных программа напечатает «NO» пять раз.
Показать ответ и решение
Ответ: 8
Условие «YES»: (s > A) или (t > 12). Пары: (13, 2); (11, 12); (-12, 12); (2, -2); (-10, -10); (6, -5); (2, 8); (9, 10); (1, 13).
Перебираем целые A и считаем, сколько раз напечатается «NO». Ровно 5 раз(а) получается при A от 6 до 8.
Нужно наибольшее: 8.
Пример 2 · код ФИПИ 7D61A1
Ниже приведена программа, записанная на пяти языках программирования.
| Алгоритмический язык | Паскаль |
| алг нач цел s, t, A ввод s ввод t ввод A если s > А или t > 11 то вывод "YES" иначе вывод "NO" все кон | var s, t, A: integer; begin readln(s); readln(t); readln(A); if (s > А) or (t > 11) then writeln('YES') else writeln('NO') end. |
| Бейсик | Python |
| DIM s, t, A AS INTEGER INPUT s INPUT t INPUT A IF s > А OR t > 11 THEN PRINT "YES" ELSE PRINT "NO" ENDIF | s = int(input()) t = int(input()) A = int(input()) if (s > А) or (t > 11): print("YES") else: print("NO") |
| C++ | |
| #include <iostream> using namespace std; int main(){ int s, t, A; cin >> s; cin >> t; cin >> A; if (s > А || t > 11) cout << "YES" << endl; else cout << "NO" << endl; return 0; } | |
Было проведено 9 запусков программы, при которых в качестве значений переменных s и t вводились следующие пары чисел:
(–9, 11); (2, 7); (5, 12); (2, –2); (7, –9); (12, 6); (9, –1); (7, 11); (11, –5).
Укажите наибольшее целое значение параметра А, при котором для указанных входных данных программа напечатает «YES» шесть раз.
Показать ответ и решение
Ответ: 6
Условие «YES»: (s > A) или (t > 11). Пары: (-9, 11); (2, 7); (5, 12); (2, -2); (7, -9); (12, 6); (9, -1); (7, 11); (11, -5).
Перебираем целые A и считаем, сколько раз напечатается «YES». Ровно 6 раз(а) получается при A от 2 до 6.
Нужно наибольшее: 6.
Пример 3 · код ФИПИ 93329D
Ниже приведена программа, записанная на пяти языках программирования.
| Алгоритмический язык | Паскаль |
| алг нач цел s, t, A ввод s ввод t ввод A если s > A или t > 12 то вывод "YES" иначе вывод "NO" все кон | var s, t, A: integer; begin readln(s); readln(t); readln(A); if (s > A) or (t > 12) then writeln('YES') else writeln('NO') end. |
| Бейсик | Python |
| DIM s, t, A AS INTEGER INPUT s INPUT t INPUT A IF s > A OR t > 12 THEN PRINT "YES" ELSE PRINT "NO" ENDIF | s = int(input()) t = int(input()) A = int(input()) if (s > A) or (t > 12): print("YES") else: print("NO") |
| C++ | |
| #include <iostream> using namespace std; int main() { int s, t, A; cin >> s; cin >> t; cin >> A; if (s > A || t > 12) cout << "YES" << endl; else cout << "NO" << endl; return 0; } | |
Было проведено 9 запусков программы, при которых в качестве значений переменных s и t вводились следующие пары чисел:
(13, 2); (11, 12); (–12, 12); (2, –2); (–10, –10); (6, –5); (2, 8); (9, 10); (1, 13).
Укажите наибольшее целое значение параметра А, при котором для указанных входных данных программа напечатает «YES» пять раз.
Показать ответ и решение
Ответ: 5
Условие «YES»: (s > A) или (t > 12). Пары: (13, 2); (11, 12); (-12, 12); (2, -2); (-10, -10); (6, -5); (2, 8); (9, 10); (1, 13).
Перебираем целые A и считаем, сколько раз напечатается «YES». Ровно 5 раз(а) получается при A от 2 до 5.
Нужно наибольшее: 5.
Частые вопросы о задании 6
Сколько баллов даёт задание 6 ОГЭ по информатике?
Максимум – 1 первичный балл. Норма времени на экзамене – около 4 мин. Уровень сложности – Б.
Что проверяет задание 6?
Задание 6 – дана короткая программа (на Python, Паскале, C++, Бейсике и Алгоритмическом языке – выбирай знакомый) с условием if. Её запускали несколько раз с разными парами (s, t). Спрашивают: сколько раз программа напечатала «YES»/«NO», или при каком значении параметра A программа напечатает «YES» нужное число раз. 1 балл, ответ – число.
Как подготовиться к заданию 6?
Прочитайте теорию выше: алгоритм, нужные факты и ловушки. Затем решите подход из 10 заданий с автопроверкой и разбором – первые без регистрации – и вернитесь к ошибкам. В пробниках Сотки номер встречается в полных вариантах ФИПИ с подсчётом баллов.