Полезная информация
div(m, n) — результат (частное) целочисленного деления m на n.
Пример: div(7, 2) = 3 — двойка три раза укладывается в числе 7.
mod(m, n) — остаток от целочисленного деления m на n.
Пример: mod(7, 2) = 1 — двойка три раза укладывается в числе 7, получается 3 * 2 = 6, при этом остаётся 7 — 6 = 1 (остаток).
Варианты заданий
1) Задание 1
алг нач цел s, t ввод s ввод t если s > -3 и не t > 5 то вывод "YES" иначе вывод "NO" все кон
Было проведено 9 запусков программы, при которых в качестве значений переменных s и t вводились следующие пары чисел:
(–3, 5); (–2, 2); (–1, –3); (1, 0); (–4, –7); (2, 3); (3, 5); (5, –3); (6, –7).
Сколько было запусков, при которых программа напечатала «NO»?
Преобразуем условие (s > -3) и не (t > 5), применив НЕ к условию (t > 5), получим (s > -3) и (t2) Задание 2
алг нач цел s, t, A ввод s ввод t ввод A если s > 10 или t > А то вывод "YES" иначе вывод "NO" все конБыло проведено 9 запусков программы, при которых в качестве значений переменных s и t вводились следующие пары чисел:
(1, 2); (11, 2); (1, 12); (11, 12); (–11, –12); (–11, 12); (–12, 11); (10, 10); (10, 5)
Укажите наименьшее целое значение параметра А, при котором для указанных входных данных программа напечатает «NO» три раза.
Чтобы было выведено "NO", условие: (s > 10) или (t > А) - должно быть ЛОЖНО. Т.е. (s > 10) + (t > А) = 0 Значение 0 можно получить только одним способом: 0 + 0 = 0 Отсюда, s > 10 = 0, а значит s A = 0, а значит t Значение A должно быть больше или равно t. Пусть А = -12, -11, . 1, тогда подойдёт только t = -12 ("NO" - 1 раз). Пусть А = 2, 3, 4, тогда подойдут t = -12 и 2 ("NO" - 2 раза). Пусть А = 5, 6, . 9, тогда подойдут t = -12, 2, 5 ("NO" - 3 раза). Наименьшее значение для 3-х раз "NO" - это 5.3) Задание 3
алг нач цел x, y ввод x ввод y если x > 5 и y > 3: то вывод "ДА" иначе вывод "НЕТ" все конБыло проведено 9 запусков программы, при которых в качестве значений переменных x и y вводились следующие пары чисел:
(14; 13), (7; -3), (3; 0), (17; 12), (20; -2), (1; 7), (11; 12), (10; 5), (5; 8)
Сколько было запусков, при которых программа напечатала «НЕТ»?
4) Задание 4
алг нач цел x, y ввод x ввод y если x > 10 и y < 10: то вывод "ДА" иначе вывод "НЕТ" все конБыло проведено 9 запусков программы, при которых в качестве значений переменных x и y вводились следующие пары чисел:
(21; 6), (20; 7), (15; 2), (8; 1), (19; 17), (19; 13), (12; -3), (2; -2), (13; 10)
Сколько было запусков, при которых программа напечатала «ДА»?
5) Задание 5
алг нач цел x, y ввод x ввод y если не (x > 5) и y >= 5: то вывод "ДА" иначе вывод "НЕТ" все конБыло проведено 9 запусков программы, при которых в качестве значений переменных x и y вводились следующие пары чисел:
(-3; -1), (-3; 9), (5; 1), (5; 5), (-3; -2), (-5; 8), (3; 5), (-11; 4), (12; 5)
Сколько было запусков, при которых программа напечатала «ДА»?
6) Задание 6
алг нач цел x, y ввод x ввод y если (x < 5 или y >15) и (x + y > 14): то вывод "ДА" иначе вывод "НЕТ" все конБыло проведено 10 запусков программы, при которых в качестве значений переменных x и y вводились следующие пары чисел:
(1; 14), (2; 5), (7; 8), (9; 16), (-3; -7), (6; 14), (9; 10), (15; 1), (16; 2), (3; 12)
Сколько было запусков, при которых программа напечатала «ДА»?
7) Задание 7
алг нач цел s, t, A ввод s ввод t ввод A если s > А или t > 11 то вывод "YES" иначе вывод "NO" все конБыло проведено 9 запусков программы, при которых в качестве значений переменных s и t вводились следующие пары чисел:
(–9, 11); (2, 7); (5, 12); (2, –2); (7, –9); (12, 6); (9, –1); (7, 11); (11, –5)
Укажите наибольшее целое значение параметра А, при котором для указанных входных данных программа напечатает «YES» три раза.
8) Задание 8
алг нач цел s, t, A ввод s ввод t ввод A если s > А или t > 12 то вывод "YES" иначе вывод "NO" все конБыло проведено 9 запусков программы, при которых в качестве значений переменных s и t вводились следующие пары чисел:
(13, 2); (11, 12); (–12, 12); (2, –2); (–10, –10); (6, –5); (2, 8); (9, 10); (1, 13)
Укажите наибольшее целое значение параметра А, при котором для указанных входных данных программа напечатает «NO» шесть раз.
9) Задание 9
алг нач цел s, t, A ввод s ввод t ввод A если s > А или t > 11 то вывод "YES" иначе вывод "NO" все конБыло проведено 9 запусков программы, при которых в качестве значений переменных s и t вводились следующие пары чисел:
(-9, 11); (2, 7); (5, 12); (2, -2); (7, -9); (12, 6); (9, -1); (7, 11); (11, -5)
Укажите наименьшее целое значение параметра А, при котором для указанных входных данных программа напечатает «NO» три раза.
10) Задание 10
алг нач цел s, k ввод s ввод k если mod(s, 7) = k то вывод "YES" иначе вывод "NO" все конБыло проведено 9 запусков программы, при которых в качестве значений переменных s и k вводились следующие пары чисел:
(2, 2); (7, 0); (14, 10); (22, 1); (10, 3); (12, 1); (9, 2); (5, 1); (2, 5)
Сколько было запусков, при которых программа напечатала «YES»?
11) Задание 11
алг нач цел s, k ввод s ввод k если div(s, 7) = k то вывод "YES" иначе вывод "NO" все конБыло проведено 9 запусков программы, при которых в качестве значений переменных s и k вводились следующие пары чисел:
(2, 2); (7, 1); (14, 2); (22, 1); (10, 3); (12, 1); (9, 2); (5, 1); (2, 5)
Сколько было запусков, при которых программа напечатала «NO»?
Самостоятельная работа «Условный оператор в Pascal»
1. Ниже приведена программа. Было проведено 9 запусков программы, при которых в качестве значений переменных s и t вводились следующие пары чисел: (1, 2); (11, 2); (1, 12); (11, 12); (–11, –12); (–11, 12); (–12, 11); (10, 10); (10, 5). Сколько было запусков, при которых программа напечатала «Нет»?
var s, t: integer; begin readln(s); readln(t); if (s > 10) or (t > 10) then writeln('ДА') else writeln('НЕТ') end.2. Ниже приведена программа. Было проведено 9 запусков программы, при которых в качестве значений переменных s и t вводились следующие пары чисел: (6, 4); (7, 8); (8, 5); (5, 6); (–11, 10); (–5, 7); (–2, 2); (4, 5); (8, 6). Сколько было запусков, при которых программа напечатала «ДА»?
var s, t: integer; begin readln(s); readln(t); if (s < 6) or (t < 6) then writeln('ДА') else writeln('НЕТ') end.3. Ниже приведена программа. Было проведено 9 запусков программы, при которых в качестве значений переменных s и t вводились следующие пары чисел: (9, 10); (11, 5); (–2, 8); (9, 9); (2, 8); (–1, 3); (–4, 5); (10, 9); (4, –3). Сколько было запусков, при которых программа напечатала «НЕТ»?
var s, t: integer; begin readln(s); readln(t); if (s > 8) and (t > 8) then writeln('ДА') else writeln('НЕТ') end.1 1 10 7 6 12 6 6 5 2 10 8 10 11 3 1 12 8 сколько было запусков при которых программа напечатала да
Чтобы купить курс,
пожалуйста, войдите
или зарегистрируйтесьВход/Регистрация Быстрый заказ
Быстрая регистрация
Информатика (Вариант 9)
Купить видеоуроки |
Приобретите наш курс
Для продолжения просмотра купите полный курс
наших видеоуроковНиже приведена программа, записанная на пяти языках программирования.
DIM s, t AS INTEGER INPUT s INPUT t IF s > 8 AND t > 8 THEN PRINT ‘ДА’ ELSE PRINT ‘НЕТ’ ENDIFif s > 8 and t > 8:
var s, t: integer; begin readln(s); readln(t); if (s > 8) and (t > 8) then writeln("ДА") else writeln("НЕТ") end.алг нач цел s, t ввод s ввод t если s > 8 и t > 8 то вывод "ДА" иначе вывод "НЕТ" все кон#include using namespacestd; int main() int s, t; cin >> s; cin >> t; if (s > 8 && t > 8) cout <"ДА"; else cout <"НЕТ"; return 0; >Было проведено 9 запусков программы, при которых в качестве значений переменных s и t вводились следующие пары чисел:
(9, 10); (11, 5); (–2, 8); (9, 9); (2, 8); (–1, 3); (–4, 5); (10, 9); (4, –3).
Сколько было запусков, при которых программа напечатала «НЕТ»?
ОГЭ по информатике - Задание 6 (Анализируем программу)
Пришло время 6 задания из ОГЭ по информатике 2023.
В этом задании нужно проанализировать программу на одном из языков программирования и ответить на поставленный вопрос.
Перейдём к примерным задачам из ОГЭ по информатике.
Ниже приведена программа, записанная на 5 языках программирования.
DIM s, t AS INTEGER INPUT s INPUT t IF s > 8 OR t > 8 THEN PRINT "YES" ELSE PRINT "NO" ENDIFvar s, t: integer; begin readln(s); readln(t); if (s > 8) or (t > 8) then writeln("YES") else writeln("NO") end.#include using namespace std; int main()< int s, t; cin >> s; cin >> t; if (s > 8 || t > 8) cout "YES" endl; else cout "NO" endl; return 0; >алг нач цел s, t ввод s ввод t если s > 8 или t > 8 то вывод "YES" иначе вывод "NO" все конs = int(input()) t = int(input()) if (s > 8) or (t > 8): print("YES") else: print("NO")Было проведено 9 запусков программы, при которых в качестве значений переменных вводились следующие пары чисел (s, t): (5, 6); (9, 5); (6, 8); (10, 9); (–9, –10); (–9, 10); (–10, 9); (8, 8); (8, 6).
Сколько было запусков, при которых программа напечатала «YES»?
Разберём программы на Питоне и на Паскале.
![]()
Чтобы программа напечатала "YES", нужно, чтобы в паре было хотя бы одно число, которое больше 8, т.к. в условии стоит союз ИЛИ (or).
Подходят пары: (9, 5); (10, 9); (-9, 10); (–10, 9); . Всего получается 4 запуска.
Задача (Союз ИЛИ, закрепление)
Ниже приведена программа, записанная на 5 языках программирования.
DIM s, t AS INTEGER INPUT s INPUT t IF s < 5 OR t > 5 THEN PRINT "YES" ELSE PRINT "NO" ENDIFvar s, t: integer; begin readln(s); readln(t); if (s < 5) or (t > 5) then writeln("YES") else writeln("NO") end.#include using namespace std; int main()< int s, t; cin >> s; cin >> t; if (s < 5 || t > 5) cout "YES" endl; else cout "NO" endl; return 0; >алг нач цел s, t ввод s ввод t если s < 5 или t > 5 то вывод "YES" иначе вывод "NO" все конs = int(input()) t = int(input()) if (s < 5) or (t > 5): print("YES") else: print("NO")Было проведено 9 запусков программы, при которых в качестве значений переменных вводились следующие пары чисел (s, t): (2, 5); (5, 2); (4, 4); (2, -2); (3, 1); (8, 3); (9, -7); (7, 7); (4, 6).
Сколько было запусков, при которых программа напечатала «YES»?
Чтобы программа напечатала "YES", нужно, чтобы в паре первое число s было меньше 5 ИЛИ второе число t было больше 5, или оба условия выполнились одновременно.
Подходят пары: (2, 5); (4, 4); (2, -2); (3, 1); (7, 7); (4, 6); Всего получается 6 запусков.
Ниже приведена программа, записанная на 5 языках программирования.
DIM s, t AS INTEGER INPUT s INPUT t IF s >= 8 AND t >= 10 THEN PRINT "YES" ELSE PRINT "NO" ENDIFvar s, t: integer; begin readln(s); readln(t); if (s >= 8) and (t >= 10) then writeln("YES") else writeln("NO") end.#include using namespace std; int main()< int s, t; cin >> s; cin >> t; if (s >= 8 && t >= 10) cout "YES" endl; else cout "NO" endl; return 0; >алг нач цел s, t ввод s ввод t если s >= 8 и t >= 10 то вывод "YES" иначе вывод "NO" все конs = int(input()) t = int(input()) if (s >= 8) and (t >= 10): print("YES") else: print("NO")Было проведено 9 запусков программы, при которых в качестве значений переменных вводились следующие пары чисел (s, t): (6, 8); (9, 10); (9, 5); (-10, 9); (5, 6); (9, -10); (10, 9); (8, 10); (17, 10).
Сколько было запусков, при которых программа напечатала «YES»?
В этот раз в условии стоит союз И (and). В этом случае, чтобы распечаталось YES, нужно, чтобы два условия одновременно сработали. Т.е. первое число должно быть s >= 8, а второе t >= 10, тогда мы пару будем засчитывать.
Подходят пары: (9, 10); (8, 10); (17, 10); Всего получается 3 запуска.
Задача (Союз И, закрепление)
Ниже приведена программа, записанная на 5 языках программирования.
DIM s, t AS INTEGER INPUT s INPUT t IF s > 6 AND t < 7 THEN PRINT "YES" ELSE PRINT "NO" ENDIFvar s, t: integer; begin readln(s); readln(t); if (s > 6) and (t < 7) then writeln("YES") else writeln("NO") end.#include using namespace std; int main()< int s, t; cin >> s; cin >> t; if (s > 6 && t < 7) cout "YES" endl; else cout "NO" endl; return 0; >алг нач цел s, t ввод s ввод t если s > 6 и t < 7 то вывод "YES" иначе вывод "NO" все конs = int(input()) t = int(input()) if (s > 6) and (t < 7): print("YES") else: print("NO")Было проведено 9 запусков программы, при которых в качестве значений переменных вводились следующие пары чисел (s, t): (7, 3); (2, 7); (6, 10); (5, 3); (5, 4); (-11, 4); (-8, 9); (7, 3); (9, 1).
Сколько было запусков, при которых программа напечатала «NO»?
Здесь нужно определить сколько раз распечатается "NO". В подобных случаях удобно всё равно считать сколько раз распечатается "YES", а потом вычислить сколько раз будет распечатано "NO".
В условии стоит союз И. Значит, первое число должно s быть больше 6 и одновременно с этим второе число t должно быть меньше 7.
Подходят пары: (7, 3); (7, 3); (9, 1); Всего получается 3 запуска.
Но нам нужно было найти, сколько раз выведется "NO". Поэтому ответ будет 9-3=6.
Задача (Целочисленное деление)
Ниже приведена программа, записанная на 5 языках программирования.
DIM s, t AS INTEGER INPUT s INPUT t IF s \ 2 = t THEN PRINT "YES" ELSE PRINT "NO" ENDIFvar s, t: integer; begin readln(s); readln(t); if s div 2 = t then writeln("YES") else writeln("NO") end.#include using namespace std; int main()< int s, t; cin >> s; cin >> t; if (s / 2 == t) cout "YES" endl; else cout "NO" endl; return 0; >алг нач цел s, t ввод s ввод t если div(s, 2) = t то вывод "YES" иначе вывод "NO" все конs = int(input()) t = int(input()) if s // 2 == t: print("YES") else: print("NO")Было проведено 9 запусков программы, при которых в качестве значений переменных вводились следующие пары чисел (s, t): (1, 1); (8, 4); (14, 10); (20, 1); (7, 3); (10, 5); (10, 2); (4, 1); (1, 0).
Сколько было запусков, при которых программа напечатала «NO»?
Команда div в Паскале или двойной слеш в Питоне обозначает целочисленное деление!
Как это работает ? Например 5:2 = 2,5, но если мы сделаем 5 // 2 = 2. Т.е. дробная часть просто отбрасывается. Не округляется, а просто отбрасывается. Или другими словами происходит округление в меньшую сторону.
В нашей программе будет печататься "YES", когда применяется целочисленное деление на 2 к первому числу, и получается второе число. Посмотрим в каких парах будет выведено "YES".
Это пары: (8, 4); (7, 3); (10, 5); (1, 0). Четыре запуска. Значит, "NO" распечатается в 5 (9-4) случаях.
Ниже приведена программа, записанная на 5 языках программирования.
DIM s, t, A AS INTEGER INPUT s INPUT t INPUT A IF s > A OR t > 12 THEN PRINT "YES" ELSE PRINT "NO" ENDIFvar s, t, A: integer; begin readln(s); readln(t); readln(A); if (s > A) or (t > 12) then writeln("YES") else writeln("NO") end.#include using namespace std; int main()< int s, t, A; cin >> s; cin >> t; if(s > A || t > 12) cout "YES" endl; else cout "NO" endl; return 0; >алг нач цел s, t, A ввод s ввод t если s > A или t > 12 то вывод "YES" иначе вывод "NO" все конs = int(input()) t = int(input()) A = int(input()) if s > A or t > 12: print("YES") else: print("NO")Было проведено 9 запусков программы, при которых в качестве значений переменных вводились следующие пары чисел (s, t): (13, 2); (11, 12); (-12, 12); (2, -2); (-10, -10); (6, -5); (2, 8); (9, 10); (1, 13).
Укажите наименьшее целое значение параметра A, при котором при указанных входных данных программа напечатает "YES" 3 раза.
В условии стоит союз ИЛИ. Посмотрим, сколько пар подойдёт, если обращать внимание только на переменную t. Она должна быть больше 12. Тогда получается одна пара: (1, 13).
Ещё нужно набрать 2 пары. Это сделаем с помощью переменной s. Понимаем, что A должно быть равно 10, тогда ещё две пары подойдут по первому числу (13, 2) и (11, 12).
Но нас просили A найти как можно меньше. При значении 9 так же останутся три пары, но A будет ещё меньше. Значит, ответ будет 9. Ели попробовать взять A=8, то подойдёт ещё одна пара (9, 10), и их будет уже 4.
Задача (С параметром, закрепление)
Ниже приведена программа, записанная на 5 языках программирования.
DIM s, t, A AS INTEGER INPUT s INPUT t INPUT A IF s > A OR t > 12 THEN PRINT "YES" ELSE PRINT "NO" ENDIFvar s, t, A: integer; begin readln(s); readln(t); readln(A); if (s > A) or (t > 12) then writeln("YES") else writeln("NO") end.#include using namespace std; int main()< int s, t, A; cin >> s; cin >> t; if(s > A || t > 12) cout "YES" endl; else cout "NO" endl; return 0; >алг нач цел s, t, A ввод s ввод t если s > A или t > 12 то вывод "YES" иначе вывод "NO" все конs = int(input()) t = int(input()) A = int(input()) if s > A or t > 12: print("YES") else: print("NO")Было проведено 9 запусков программы, при которых в качестве значений переменных вводились следующие пары чисел (s, t): (13, 2); (11, 12); (-12, 12); (2, -2); (-10, -10); (6, -5); (2, 8); (9, 10); (1, 13).
Укажите количество целых значений параметра A, при которых при указанных входных данных программа напечатает "NO" 5 раз.
Будем отталкиваться от количества "YES"ов.
Вновь найдём количество пар, которые печатают "YES" по второму числу, в независимости от параметра A. Получается одна пара (1, 13).
Нужно выбрать параметр A таким, чтобы распечатали "YES" ещё три пары. Здесь уже ориентируемся на первое число s.
Выберем A = 8. Тогда распечатают "YES" ещё три пары: (13, 2) ; (11, 12) ; (9, 10). Это наибольшее значение A, при котором распечатается 5 "NO". Но так же 5 "NO" будет напечатано и при A = 7, 6. При A = 5 добавляется ещё одна пара (6, -5), при которой будет напечатано "YES", и уже условие задачи не выполняется.
Таким образом, ответ получается 3 (А = 8, 7, 6).
Ниже приведена программа, записанная на 5 языках программирования.
DIM s, t, A AS INTEGER INPUT s INPUT t INPUT A IF s > 10 OR t > A THEN PRINT "YES" ELSE PRINT "NO" ENDIFvar s, t, A: integer; begin readln(s); readln(t); readln(A); if (s > 10) or (t > A) then writeln("YES") else writeln("NO") end.#include using namespace std; int main()< int s, t, A; cin >> s; cin >> t; if(s > 10 || t > A) cout "YES" endl; else cout "NO" endl; return 0; >алг нач цел s, t, A ввод s ввод t если s > 10 или t > A то вывод "YES" иначе вывод "NO" все конs = int(input()) t = int(input()) A = int(input()) if s > 10 or t > A : print("YES") else: print("NO")Было проведено 9 запусков программы, при которых в качестве значений переменных вводились следующие пары чисел (s, t): (1, 2); (11, 2); (1, 12); (11, 12); (-11, -12); (-11, 12); (-12, 11); (10, 10); (10, 5).
Укажите наименьшее целое значение параметра A, при котором при указанных входных данных программа напечатает "NO" 3 раза.
Найдём сколько раз программа напечатает "YES", исходя из первого числа s. Получается только две пары: (11, 2) и (11, 12). Значит, 7 раз "NO". Нужно увеличивать количество "YES"ов.
Попробуем взять A=6. В группу "YES" передут ещё 4 пары: (1, 12); (-11; 12); (-12; 11); (10; 10).
В группе "NO" как раз останутся три пары: (1, 2); (-11, -12); (10, 5).
Проверим, является ли число 6 для переменной A минимальным.
Попробуем A=5. Оказывается, три вышеперечисленные пары остаются в группе "NO". Последняя пара тоже не распечатает "YES", ведь неравенство строгое.
Если будет A=4, то последняя пара уже будет печатать "YES", и условие задачи перестанет выполняться.
На этом всё, пусть у вас получится решить 6 задание из ОГЭ по информатике без сучка без задоринки.
