Программист писал программу, для определения количества цифр в целом положительном числе, не большем 10^9. Программист торопился, и допустил ошибку. (Ниже для Вашего удобства программа представлена на четырёх языках программирования.)
DIM N AS LONG INPUT N sum = 1 WHILE N > 1 N = N 10 sum = sum + 1 WEND PRINT sum END
var N: longint; sum: integer; begin readln(N); sum := 1; while N > 1 do begin N := N div 10; sum := sum + 1; end; whriteln(sum); end.
#include Int main() < long int N; int sum; scanf(“%ld”, sum = 1; while (N >1) < N = N / 10; sum = sum + 1; >printf(“%d”, sum); >
алг нач цел N, sum ввод N sum := 1 нц пока N > 1 N := div(N, 10) sum := sum + 1 КЦ вывод sum КОН
Последовательно выполните следующее.
1. Напишите, что выведет эта программа при вводе числа 578.
2. Найдите все ошибки в этой программе (их может быть одна или несколько). Укажите все строки (одну или более), содержащие ошибки, и для каждой такой строки приведите правильный вариант. Обратите внимание, что требуется найти ошибки в имеющейся программе, а не написать свою, возможно, использующую другой алгоритм решения. Исправление ошибки должно затрагивать только строку, в которой находится ошибка.
Задание 24 досрочного ЕГЭ−2016 по информатике
3. Укажите одно число для которого эта программа будет работать верно.
1. При вводе числа 578 программа выведет число 4.
2. Ошибки содержатся в двух строках программы:
1) Переменная sum изначально должна быть инициализирована нулём, то есть sum = 0;
2) Условие в цикле должно быть N > 0, а не N > 1.
3. Пример числа, для которого программа даёт верный ответ: 1.
Источник: dzotvet.ru
Требовалось написать программу, при выполнении..
Требовалось написать программу, при выполнении которой с клавиатуры вводится натуральное число, не превосходящее 10 8 , и выводится его первая (старшая) цифра. Ученик написал такую программу:
var n: longint; begin read(n); while n>10 do begin n := n mod 10 end; write(n); end.
Последовательно выполните следующее.
1. Напишите, что выведет эта программа при вводе числа 1984.
2. Приведите пример числа, при вводе которого программа выдаст верный ответ.
3. Найдите в программе все ошибки (их может быть одна или несколько).
Для каждой ошибки выпишите строку, в которой она допущена, и приведите эту же строку в исправленном виде.
Обратите внимание: вам нужно исправить приведённую программу, а не написать свою. Вы можете только заменять ошибочные строки, но не можете удалять строки или добавлять новые. Заменять следует только ошибочные строки: за исправления, внесённые в строки, не содержащие ошибок, баллы будут снижаться.
Образец всероссийской проверочной работы «ИНФОРМАТИКА». Задание №14
1) При вводе числа 1984 программа выдаст 4. В первом же цикле переменной n присваивается значение 4, больше циклов нет. На выходе n, то есть 4.
2) Программа работает верно для любого числа, у которого старшая цифра равна младшей, в том числе для любого однозначного числа. Например: 5, 55, 555, 777, в этих случая программа выдаст правильный ответ.
3) * Для начала нужно убрать строгое равенство: Заменить на n>=10
* n := n mod 10, заменим на n := n div 10, в случае целочисленного деления программа начнет выдавать правильные ответы.
Источник: vopvet.ru
плиз, ответьте, очень надо.
На вход программы поступают 4 неотрицательных целых числа, не превышающие 1000, среди которых могут быть одинаковые. Нужно написать программу, которая выводит количество чисел, кратных 3, и максимальное из этих чисел. Если среди входных данных нет чисел, кратных трёх, программы должна вывести слово ‘NO’. Для решения этой задачи ученик написал такую программу:
var i, x: integer;
var maximum, count: integer;
for i:=1 to n do begin
if x mod 3 = 0 then begin
count := count + 1;
if count > 0 then begin
Последовательно выполните следующее.
1. Напишите, что выведет эта программа при вводе чисел 2 9 4 3.
2. Приведите пример такой последовательности, содержащей число, кратное 3, что, несмотря на ошибки, программа выдаст верный ответ.
3. Найдите все ошибки в этой программе (их может быть одна или несколько). Для каждой ошибки: выпишите строку, в которой сделана ошибка, и приведите правильный вариант
Обратите внимание, что требуется найти ошибки в имеющейся программе, а не написать свою, возможно, использующую другой алгоритм решения.
Источник: znanija.org
Решение. Задание 24. Досрочный ЕГЭ 2020 года, Информатика
Требовалось написать программу, которая получает на вход натуральное число N, не превосходящее , и выводит число, равное количеству цифр 4 в десятичной записи числа N. Программист написал программу неправильно. Ниже эта написанная им программа для Вашего удобства приведена на пяти языках программирования.
DIM N AS LONG DIM R, d AS INTEGER INPUT N R = 0 WHILE N > 0 d = N MOD 10 IF d <> 4 THEN R = R + d END IF N = N 10 WEND PRINT R EN
N = int(input()) R = 0 while N > 0: d = N % 10 if d != 4: R = R + d N = N // 10 print(R)
алг нач цел N, R, d ввод N R := 0 нц пока N > 0 d := mod(N, 10) если d <> 4 то R := R + d все N := div(N, 10) кц вывод R кон
var N: longint; R, d: integer; begin readln(N); R := 0; while N > 0 do begin d := N mod 10; if d <> 4 then R := R + d; N := N div 10; end; writeln(R); end
#include using namespace std; int main() < long int N; int R, d; cin >> N; R = 0; while (N > 0) < d = N % 10; if (d != 4) < R = R + d; >N = N / 10; > cout
Последовательно выполните следующее.
1. Напишите, что выведет эта программа при вводе числа 241.
2. Приведите пример входного числа N, при котором приведённая программа, несмотря на ошибки, выдаёт верный ответ.
3. Найдите допущенные программистом ошибки и исправьте их.
Исправление ошибки должно затрагивать только строку, в которой находится ошибка. Для каждой ошибки:
1) выпишите строку, в которой сделана ошибка;
2) укажите, как исправить ошибку, т.е. приведите правильный вариант строки.
Известно, что в тексте программы нужно исправить не более двух строк так, чтобы она стала работать правильно.
Достаточно указать ошибки и способ их исправления для одного языка программирования.
Обратите внимание на то, что требуется найти ошибки в имеющейся программе, а не написать свою, возможно, использующую другой алгоритм решения
1. 3
2. 401 (подойдет любое число, у которого сумма цифр, не равных 4, равна количеству четверок)
3.
Строка с ошибкой if d<>4 then R:=R+d; |
Исправленная строка if d=4 then R:=R+1; |
Спасибо за то, что пользуйтесь нашими статьями. Информация на странице «Решение. Задание 24. Досрочный ЕГЭ 2020 года, Информатика» подготовлена нашими редакторами специально, чтобы помочь вам в освоении предмета и подготовке к экзаменам.
Чтобы успешно сдать нужные и поступить в высшее учебное заведение или колледж нужно использовать все инструменты: учеба, контрольные, олимпиады, онлайн-лекции, видеоуроки, сборники заданий. Также вы можете воспользоваться другими статьями из данного раздела.
Публикация обновлена: 25.12.2022
Источник: ege-study.ru