Анализ программы с условным оператором

02.04.2022 1 Автор : Марина Николаевна
Анализ программы с условным оператором

Анализ программы с условным оператором. Задание по анализу программы с условным оператором соответствует заданию № 6 к ОГЭ по информатике. Для решения этого задания представлена программа на 5 языках программирования. Разбор заданий будем осуществлять на языке программирования Python.

Задание 1. Анализ программы с условным оператором

Анализ программы с условным оператором

И так, было проведено 9 запусков программы.

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

У нас есть две переменных: s и t. Эти переменные вводятся с клавиатуры пользователем.

В целом в этом задании, не важно на каком языке программирования вы смотрите, имеют общее условие, а именно числа, точнее 9 пар чисел.

Первое число из пары соответствует переменной s, второе число из пары соответствует переменной t.

Далее идет условный оператор.

Для наше программы:

Если s >12  или  t>12, то выводим на экран YES

В противном случае, если ни первое, ни второе условие у нас не выполнилось, на экран выводится: NO.

И что мы видим?

Берем первую пару чисел:

(1>12? Нет; 13>12? Да)

Первая пара чисел подходит, так как в результате выполнения программы будет выведено на экран слово «YES».

Вторая пара чисел:

(14>12? Да; 2>? Нет). Вторая пара чисел тоже подходит под условие и будет выведено на экран «YES». В связи с тем, что первое число уже подходит под условие, то второе число можно и не проверять, так как условие «ИЛИ» предусматривает выполнение хотя бы одного условия.

Третья пара чисел:

(1>12? Нет.; 12>12? Нет).

Эта пара чисел не подходит под условие, т.к. на экране компьютера будет выведено «NO».

Таким образом, проверяем все пары чисел, представленные в задании.

В результате проверки получается, что следующие пары подойдут для того, чтобы программа на экране компьютера написала слово «YES»:

(1;13), (14;2), (-11;13).

Следовательно, только 3 запуска программы приведут к тому, что на экране компьютера написано будет слово «YES».

Ответ: 3

Задание 2. Анализ программы с условным оператором.

В данной задаче даны две переменные, которые пользователи вводят с клавиатуры. Условие в данной программе звучит следующим образом: s>8 или t>8. И надо определить случаи, при которых на экран компьютера будет выведено слово «NO». А произойдет это только в том случае, если оба эти условия будут ложны.

Проснувшись однажды утром после беспокойного сна, Грегор Замза обнаружил, что он у себя в постели превратился в страшное насекомое.

Для удобства решения этой задачи можно применить и несколько другой метод. В связи с тем, что на экран компьютера выведено будет «NO», только в том случае, если оба условия будут ложны, то есть оба условия в паре чисел должны быть ложны (наоборот в противовес «YES»).

Мы переворачиваем оба условия задачи:

s<=8 and t<=8

Далее уже решаем задание с перевернутым условием:

Первая скобка (8<=8? Да; И 8<=8? Да) – подходит под условие

Вторая скобка: (9<=8? Да; И 6<=8? Нет) – не подходит под условие, причем сразу видно, что под условие первая скобка не подходит сразу, вторую скобку можно не проверять.

Третья скобка: (4<=8? Да;  И 7<=8? Да) – скобка подходит под условие.

Четвертая скобка: (6<=8? Да; 6<=8? Да) однозначно подходит

Пятая скобка (-9<=8 Да; И -2<=8 Да) однозначно подходит

Также проверяем все оставшиеся скобки.

Анализ программ с условным оператором

В итоге, было 4 запуска при которых программа напечатает «NO»

Ответ: 4

Задание 3. Анализ программы с условным оператором.

Анализ программы с условным оператором

Между нашими логическими выражениями стоит and = И, т.е. должны быть выполнены оба условия.

Соответственно, s>5 и  t >5 (обязательно)

Проверяем

Первая скобка (6>5? Да; И 8 > 5? Да) – подходит под условие;

Вторая скобка: (3>5? Нет; И 5 > 5? Нет) – не подходит под условие сразу же при сравнении со значением переменной s;

Продолжаем сравнивать:

(-7>5? Нет; И -2 > 5? Нет) не подходит под условие;

(7>5? Да; И 7 > 5? Да) под условие подходит и т.д.

В результате сравнения получаем:

Анализ программ с условным оператором

В итоге, программа напечатает YES при 4 запусках.

Ответ: 4.

Задание 4. Анализ программы с условным оператором.

В этом задании логическое выражение отличается от двух предыдущих.

Условие следующее:

 Если переменную s делим на 2 (двойной слеш // указывает о целой части от деления), и целая часть от этого деления равна переменной k, т.е. второму числу в паре, то выводится «Да».

Опять проверяем каждую пару цифр.

Проверяем первую скобочку (1,1):

 1//2 = не 1 В результате делаем вывод, что эта скобочка нам не подходит

Вторую скобочку проверяем (8,4);

8//2 ==4 (правильно), эта пара чисел нам подходит.

Следующая пара (14,10):

14//2 = не 10, следовательно, пара не подходит.

И т.д. проверяем все пары чисел.

Анализ программы с условным оператором

В результате, делаем вывод, что нашим условиям подходят 4 пары чисел.

Ответ: 4

Задание 5. Анализ программы с условным оператором.

Анализ программ с условным оператором

В этой задаче появляется третья переменная.

Какие же условия в данной задаче?

s>A  or t>12

or – или

Таким образом, нам надо подобрать такие пары чисел, чтобы оба условия не выполнились ровно 8 раз по условию.

Смотрим на пары чисел.

(13;2)

При каких условиях 100% у нас напечатается YES? Если переменна t больше 12. Проверяем последовательно все условия. Последняя пара чисел абсолютно не подходит под условие. Соответственно, у нас осталось всего 8 пар чисел.

Нам нужно подобрать такое А, чтобы во всех этих восьми случаях напечаталось NO. А напечатается NO, если S<= A и при этом t <= 12.

Так как мы уже проверили переменную t и в 8 случаях она соответствует условию, то проверяем переменную А во всех восьми условиях.

Какое здесь у нас самое большое значение переменной А? Это значение 13 в первой паре чисел. Получаем, что если s <= 13

Если А = 13, а s <= 13. При таком условии все эти скобки выведут на экран NO.

Всё. 13 и будет являться наименьшим целым значением параметра А.

Если возьмем для решения задачи число менее 13, предположим число 11, как во второй скобочке, то это в скобочка у нас не выведет значение NO, значит количество истинных значений у нас будет не восемь, а на одно меньше.

Соответственно, самое маленькое значение переменной А, которое мы можем допустить в этом задании равно 13.

Ответ: 13.

Материал по логическим операторам и отдельным условным операторам можно прочитать в рубрике «Язык программирования Python»