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

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

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

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

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

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

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

 

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

Паскаль

алг

нач

  цел  s, k

  ввод s

  ввод k

  если mod(s, 6) = k

    то вывод "YES"

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

  все

кон

var s, k: integer;

begin

 readln(s);

 readln(k);

 if s mod 6 = k

   then writeln('YES')

   else writeln('NO')

end.

 

Бейсик

Python

DIM k, s AS INTEGER

INPUT s

INPUT k

IF s MOD 6 = k THEN

  PRINT "YES"

ELSE

  PRINT "NO"

END IF

s = int(input())

k = int(input())

if s % 6 == k:

    print("YES")

else:

    print("NO")

 

C++

#include <iostream>

using namespace std;

 

int main() {

 int s, k;

 cin >> s;

 cin >> k;

 if (s % 6 == k)

    cout << "YES" << endl;

 else

    cout << "NO" << endl;

 return 0;

}

 

 

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

(6, 6); (7, 1); (16, 10); (20, 2); (10, 3); (12, 2); (2, 2); (0, 6); (4, 5).

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

 



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

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

Ответ: 3

1. Разберём условие программы.
Сообщение YES выводится, когда условие истинно, а NO — когда оно ложно. Запишем проверяемое выражение словами:
остаток от деления s на 6 равен k.
Операция остатка от деления возвращает число, оставшееся после вычитания целого количества делителей. Остаток неотрицателен и меньше делителя. Сравниваем именно остаток с k, а не целую часть частного.

2. Проверим все 9 запусков.
В каждой строке подставляем указанную пару в то же самое условие.
Запуск 1: (6; 6). 6 = 6 · 1 + 0; остаток 0, значение k = 6. ложь — вывод NO.
Запуск 2: (7; 1). 7 = 6 · 1 + 1; остаток 1, значение k = 1. истина — вывод YES.
Запуск 3: (16; 10). 16 = 6 · 2 + 4; остаток 4, значение k = 10. ложь — вывод NO.
Запуск 4: (20; 2). 20 = 6 · 3 + 2; остаток 2, значение k = 2. истина — вывод YES.
Запуск 5: (10; 3). 10 = 6 · 1 + 4; остаток 4, значение k = 3. ложь — вывод NO.
Запуск 6: (12; 2). 12 = 6 · 2 + 0; остаток 0, значение k = 2. ложь — вывод NO.
Запуск 7: (2; 2). 2 = 6 · 0 + 2; остаток 2, значение k = 2. истина — вывод YES.
Запуск 8: (0; 6). 0 = 6 · 0 + 0; остаток 0, значение k = 6. ложь — вывод NO.
Запуск 9: (4; 5). 4 = 6 · 0 + 4; остаток 4, значение k = 5. ложь — вывод NO.

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

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

Ответ: 3.

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

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

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

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

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

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

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