СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до 27.07.2025

Готовые ключевые этапы урока всегда будут у вас под рукой

Организационный момент

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

Разбор задания ОГЭ по информатике. Январь 2025. Программа с условным оператором. Задания для подготовки

Категория: Информатика

Нажмите, чтобы узнать подробности

Тип 6 № 18036  

Ниже приведена программа, записанная на пяти языках программирования.

 

 

 

Бейсик 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")

 

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

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.

 

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

С++
 

#include <iostream> using namespace std; int main() {     int s, t, A;     cin >> s;     cin >> t;     cin >> A;     if(s > A) or (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).

 

Укажите наименьшее целое значение параметра A, при котором для указанных входных данных программа напечатает «NO» восемь раз.

 

Решение.

Заметим, что программа напечатает «NO», если переменная t будет меньше или равна 12, а переменная s будет меньше или равна А.

Из первой части условия получаем, что при вводе значений s и t (1, 13) программа напечатает «YES» вне зависимости от значения A. При отрицательных значениях A программа будет выводить «YES» больше одного раза.

Заметим, что при A  =  1 программа напечатает «NO» два раза, при 2 ≤ A ≤ 5 программа напечатает «NO» четыре раза, при 6 ≤ A ≤ 8 программа напечатает «NO» пять раз, при 9 ≤ A ≤ 10 программа будет печатать «NO» шесть раз, при 11 ≤ A ≤ 12 программа будет печатать «NO» семь раз, а при A  =  13 программа будет печатать «NO» восемь раз. Таким образом, ответ  — 13.

 

Ответ: 13.

 

Приведем другое решение на языке Python.

 

 

def f(s, t, A): if (s > A) or (t > 12): return 0 else: return 1 a = ((13, 2), (11, 12), (-12, 12), (2, -2), (-10, -10), (6, -5), (2, 8), (9, 10), (1, 13)) kol = 0 for A in range(100): count = 0 for i in range(9): count += f(a[i][0], a[i][1], A) if count == 8: print(A) break

Примечание.

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

2.  Логический оператор «OR» в процессе выполнения принимает значение «true», если x или y равен true; в противном случае  —  «false»

Источники: ОГЭ по информатике 2020. Досрочная волна. Вариант 2; ОГЭ по информатике 30.05.2023. Основная волна. Вариант 2307; Демонстрационная версия ОГЭ—2025 по информатике.
Показать полностью

Просмотр содержимого документа
«Разбор задания ОГЭ по информатике. Январь 2025. Программа с условным оператором. Задания для подготовки»

Тип 6 № 18036

Ниже приведена программа, записанная на пяти языках программирования.

 

Бейсик

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")

Паскаль

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

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. алг нач цел s, t, A ввод s ввод t ввод A если s A или t 12     то вывод "YES"     иначе вывод "NO" все кон

С++

#include using namespace std; int main() {     int s, t, A;     cin s;     cin t;     cin A;     if(s A) or (t 12)         cout

 

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

(13, 2); (11, 12); (–12, 12); (2, –2); (–10, –10); (6, –5); (2, 8); (9, 10); (1, 13).

Укажите наименьшее целое значение параметра A, при котором для указанных входных данных программа напечатает «NO» восемь раз.

Решение.

Заметим, что программа напечатает «NO», если переменная t будет меньше или равна 12, а переменная s будет меньше или равна А.

Из первой части условия получаем, что при вводе значений s и t (1, 13) программа напечатает «YES» вне зависимости от значения A. При отрицательных значениях A программа будет выводить «YES» больше одного раза.

Заметим, что при A  =  1 программа напечатает «NO» два раза, при 2 ≤ A ≤ 5 программа напечатает «NO» четыре раза, при 6 ≤ A ≤ 8 программа напечатает «NO» пять раз, при 9 ≤ A ≤ 10 программа будет печатать «NO» шесть раз, при 11 ≤ A ≤ 12 программа будет печатать «NO» семь раз, а при A  =  13 программа будет печатать «NO» восемь раз. Таким образом, ответ  — 13.

 

Ответ: 13.

 

Приведем другое решение на языке Python.

def f(s, t, A): if (s A) or (t 12): return 0 else: return 1 a = ((13, 2), (11, 12), (-12, 12), (2, -2), (-10, -10), (6, -5), (2, 8), (9, 10), (1, 13)) kol = 0 for A in range(100): count = 0 for i in range(9): count += f(a[i][0], a[i][1], A) if count == 8: print(A) break

Примечание.

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

2.  Логический оператор «OR» в процессе выполнения принимает значение «true», если x или y равен true; в противном случае  —  «false»

Источники:

ОГЭ по информатике 2020. Досрочная волна. Вариант 2;

ОГЭ по информатике 30.05.2023. Основная волна. Вариант 2307;

Демонстрационная версия ОГЭ—2025 по информатике.


Скачать

Рекомендуем курсы ПК и ППК для учителей

Вебинар для учителей

Свидетельство об участии БЕСПЛАТНО!