ЕГЭИнформатикаАлгоритмы и программированиеПовышенный

Задание №8657: Алгоритмы и программирование

Страница появится в поиске после публикации подробного проверенного решения.
Условие

На обработку поступает натуральное число, не превышающее 10 9 . Нужно написать программу, которая выводит на экран количество цифр этого числа, делящихся на 3. Если в числе нет цифр, делящихся на 3, на экран требуется вывести «NO». Программист написал программу неправильно. Ниже эта программа для Вашего удобства приведена на пяти языках программирования. Напоминание : 0 делится на любое натуральное число. Бейсик Python DIM N, DIGIT, COUNT AS LONG INPUT N COUNT = 1 WHILE N > 0 DIGIT = N MOD 10 IF DIGIT MOD 3 = 0 THEN COUNT = COUNT + DIGIT END IF N = N \ 10 WEND IF COUNT = 0 THEN PRINT "NO" ELSE PRINT COUNT END IF N = int(input()) count = 1 while N > 0: digit = N % 10 if digit % 3 == 0: count = count + digit N = N // 10 if count == 0: print("NO") else : print ( count ) Алгоритмический язык Паскаль алг нач цел N, digit, count ввод N count := 1 нц пока N > 0 digit := mod(N,10) если mod(digit,3) = 0 то count := count + digit все N := div ( N ,10) кц если count = 0 то вывод " NO " иначе вывод count все кон var N, digit, count: longint; begin readln(N); count := 1; while N > 0 do begin digit := N mod 10; if digit mod 3 = 0 then count := count + digit; N := N div 10; end; if count = 0 then writeln('NO') else writeln(count) end. С ++ #include <iostream> using namespace std; int main() { int N, digit, count; cin >> N; count = 1; while (N > 0) { digit = N % 10; if (digit % 3 == 0) count = count + digit; N = N / 10; } if (count == 0) cout << "NO" << endl; else cout << count << endl; return 0; } Последовательно выполните следующее. 1. Напишите, что выведет эта программа при вводе числа 145. 2. Приведите пример такого трёхзначного числа, при вводе которого программа выдаёт верный ответ. 3. Найдите все ошибки в этой программе (их может быть одна или несколько). Известно, что каждая ошибка затрагивает только одну строку и может быть исправлена без изменения других строк. Для каждой ошибки: 1) выпишите строку, в которой сделана ошибка; 2) укажите, как исправить ошибку, т.е. приведите правильный вариант строки. Достаточно указать ошибки и способ их исправления для одного языка программирования. Обратите внимание на то, что требуется найти ошибки в имеющейся программе, а не написать свою, возможно, использующую другой алгоритм решения. Исправление ошибки должно затрагивать только строку, в которой находится ошибка.

Что проверяет это задание

Задание относится к теме «Алгоритмы и программирование». Для решения понадобятся:

  • формализация задачи
  • построение алгоритма
  • проверка граничных случаев

Источник: ФИПИ — открытый банк заданий

Качество материала

Показываем, из чего состоит страница и можно ли проверить материал по первоисточнику.

Условиеполное
Первоисточникуказан
Подробное решениеготовится
Проверка дублейосновная версия

Происхождение задания

Банк заданий
ФИПИ — открытый банк заданий
Организатор
ФИПИ
Материалы
0 файла
Открыть официальный архив ↗

Связанные понятия

ИнформатикаАлгоритмы и программированиеформализация задачипостроение алгоритма

План самостоятельного решения

  1. Перепишите известные данные и отдельно сформулируйте, что требуется найти или доказать.
  2. Свяжите условие с темой «Алгоритмы и программирование» и выберите подходящее правило, формулу или способ рассуждения.
  3. Запишите промежуточные шаги: это помогает заметить потерянный знак, случай или логический переход.
  4. Сверьте результат со всеми ограничениями условия и только затем откройте подробный разбор.

Ориентировочное время: 25 минут.

Закрепить тему

После разбора попробуйте решить ещё десять заданий по предмету «Информатика». Вариант формируется заново, а ответы можно сразу проверить.

Собрать тренировочный вариант → Все задания по теме

Подробный разбор

Решение по шагам

Решение проверяется редакцией.

Самопроверка после решения

  • Я использовал все данные из условия и не добавил неподтверждённых предположений.
  • Каждый переход в рассуждении объяснён правилом, формулой или ранее доказанным фактом.
  • Ответ соответствует вопросу, а обозначения и единицы измерения записаны однозначно.
  • Я сравнил свой ход решения с разбором и понял причину каждого отличия.

Типичные ошибки

  • Перепутать основание системы счисления.
  • Не учесть границы диапазона.
  • Проверить алгоритм только на одном примере.
Сложность: Повышенный