Задание OGEINFDE3F55: Анализ программы с ветвлением

ФИПИ · ОГЭ · все форматы ответа · 1585 заданий

Открыть решение ↓ Ошибка или пожелание

Тип задачи: Анализ программы с ветвлением.

Учебные темы: Язык программирования (Python, C++, Паскаль, Java, C#, Школьный Алгоритмический Язык). Система программирования: редактор текста программ, транслятор, отладчик. Переменная: тип, имя, значение. Целые, вещественные и символьные переменные. Оператор присваивания. Арифметические выражения и порядок их вычисления. Операции с целыми числами: целочисленное деление, остаток от деления. Ветвления. Составные условия (запись логических выражений на изучаемом языке программирования). Нахождение минимума и максимума из двух, трёх и четырёх чисел. Решение квадратного уравнения, имеющего вещественные корни. Цикл с условием. Алгоритм Евклида для нахождения наибольшего общего делителя двух натуральных чисел. Разбиение записи натурального числа в позиционной системе с основанием, меньшим или равным 10, на отдельные цифры. Цикл с переменной. Алгоритмы проверки делимости одного целого числа на другое, проверки натурального числа на простоту.

Впишите правильный ответ.

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

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

Паскаль

алг

нач

цел s, t

  ввод s

  ввод t

  если s > -3 и не t > 5

    то вывод "YES"

    иначе вывод "NO"

  все

кон

var s, t: integer;

begin

 readln(s);

 readln(t);

 if (s > -3) and not (t > 5)

  then writeln('YES')

  else writeln('NO')

end.

Бейсик

Python

DIM s, t AS INTEGER

INPUT s

INPUT t

IF s > -3 AND NOT t > 5 THEN

  PRINT "YES"

ELSE

  PRINT "NO"

ENDIF

s = int(input())

t = int(input())

if (s > -3) and not (t > 5):

    print("YES")

else:

    print("NO")

C++

#include <iostream>

using namespace std;

 

int main(){

   int s, t;

   cin >> s;

   cin >> t;

   if ((s >-3) && !(t > 5))

     cout << "YES" << endl;

   else

     cout << "NO" << endl;

   return 0;

 }

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

(–3, 5); (–2, 2); (–1, –3); (1, 0); (–4, –7); (2, 3); (3, 5); (5, –3); (6, –7).

Сколько было запусков, при которых программа напечатала «NO»?



i
СВОЙСТВА ЗАДАНИЯ
КЭС:
3.2 Язык программирования (Python, C++, Паскаль, Java, C#, Школьный Алгоритмический Язык). Система программирования: редактор текста программ, транслятор, отладчик. Переменная: тип, имя, значение. Целые, вещественные и символьные переменные. Оператор присваивания. Арифметические выражения и порядок их вычисления. Операции с целыми числами: целочисленное деление, остаток от деления. Ветвления. Составные условия (запись логических выражений на изучаемом языке программирования). Нахождение минимума и максимума из двух, трёх и четырёх чисел. Решение квадратного уравнения, имеющего вещественные корни. Цикл с условием. Алгоритм Евклида для нахождения наибольшего общего делителя двух натуральных чисел. Разбиение записи натурального числа в позиционной системе с основанием, меньшим или равным 10, на отдельные цифры. Цикл с переменной. Алгоритмы проверки делимости одного целого числа на другое, проверки натурального числа на простоту
Тип ответа:Краткий ответ
Номер: DE3F55
НЕ РЕШЕНО Ответить

Решение задания OGEINFDE3F55

Ответ: 2

1. Разберём условие программы.
Сообщение YES выводится, когда условие истинно, а NO — когда оно ложно. Запишем проверяемое выражение словами:
(s больше −3 И НЕ (t больше 5)).
Операция И требует истинности обеих частей, ИЛИ — хотя бы одной; НЕ меняет истину на ложь и наоборот. Сначала выполняются сравнения и действия в скобках, затем соответствующие логические операции. Равенство граничному числу проверяем особенно внимательно.

2. Проверим все 9 запусков.
В каждой строке подставляем указанную пару в то же самое условие.
Запуск 1: (−3; 5). (ложь И НЕ (ложь)) — вывод NO.
Запуск 2: (−2; 2). (истина И НЕ (ложь)) — вывод YES.
Запуск 3: (−1; −3). (истина И НЕ (ложь)) — вывод YES.
Запуск 4: (1; 0). (истина И НЕ (ложь)) — вывод YES.
Запуск 5: (−4; −7). (ложь И НЕ (ложь)) — вывод NO.
Запуск 6: (2; 3). (истина И НЕ (ложь)) — вывод YES.
Запуск 7: (3; 5). (истина И НЕ (ложь)) — вывод YES.
Запуск 8: (5; −3). (истина И НЕ (ложь)) — вывод YES.
Запуск 9: (6; −7). (истина И НЕ (ложь)) — вывод YES.

3. Подсчитаем нужные сообщения.
Требуется количество сообщений NO. Их дают запуски 1, 5. Получаем 2. Каждый запуск учитываем один раз.

4. Проверка.
Всего YES: 7; всего NO: 2. Сумма 7 + 2 = 9 совпадает с числом запусков. В ответ требуется количество сообщений, поэтому записываем 2, а не номера запусков.

Ответ: 2.

Помочь улучшить сайт

Напишите пожелание к сайту или решению либо сообщите о найденной неточности в задании OGEINFDE3F55.

Сообщение увидит только команда сайта: на странице оно не публикуется.

Комментарии к решению

Комментарии видны всем посетителям сайта.

Комментариев пока нет. Будьте первым.

Чтобы оставить комментарий, войдите или зарегистрируйтесь.