Информатика · 30 заданий
Работа с цифрами числа
Задания по теме «Работа с цифрами числа» с ответами и решениями. Практикуйся и разбирай ошибки.
- ЗаданиеСложность 2
Даны 4 целых положительных числа. Необходимо выбрать из них те числа, которые делятся без остатка на свою последнюю цифру, подсчитать и вывести сумму таких чисел. Например, в наборе (10, 11, 15, 18) условию удовлетворяют числа 11 и 15, в ответе должно получиться 26. Если подходящих чисел в наборе нет, сумма считается равной 0. Для решения этой задачи ученик написал программу, но, к сожалению, его программа неправильная. Ниже эта программа для Вашего удобства приведена на пяти языках программирования. Бейсик | Python DIM S, X, DX AS INTEGER S = 0 FOR I = 1 to 4 INPUT X DX = X \ 10 IF DX > 0 THEN IF X MOD DX = 0 THEN S = X END IF END IF NEXT I PRINT S | s = 0 for i in range (4): x = int(input()) dx = x // 10 if dx > 0: if x % dx == 0: s = x print(s) Паскаль | Алгоритмический язык var s, x, dx, i: integer; begin s := 0; for i:=1 to 4 do begin readln(x); dx := x div 10; if dx > 0 then begin if x mod dx = 0 then s :=x end end; write(s) end. | алг нач цел s, x, dx, i s := 0 для i от 1 до 4 ввод x dx := div(x,10) если dx > 0 то если mod(x,dx) = 0 то s := x все все кц вывод s кон Си++ #include <iostream> using namespace std; int main() { int s, x, dx, i; s = 0; for (i=1; i> x; dx = x / 10; if (dx > 0) { if (x % dx == 0) s = x; } cout Последовательно выполните следующее. 1. Напишите, что выведет эта программа при вводе чисел 3, 12, 39, 45. 2. Приведите пример исходных данных, при вводе которых программа, несмотря на ошибки, выведет верный ответ 3. Найдите в программе все ошибки (известно, что их не больше двух) и исправьте их. Для каждой ошибки выпишите строку, в которой она допущена, и приведите эту же строку в исправленном виде.
- ЗаданиеСложность 2
Дано целое положительное число N. Необходимо найти и вывести количество и сумму цифр, кратных 3, в десятичной записи N. Если кратных 3 цифр в числе нет, нужно вывести слово «NO». Например, для N = 1960 нужно вывести числа 3 (в числе три кратные 3 цифры) и 15 (9 + 6 + 0 = 15), а для N = 1812 — слово «NO» Для решения этой задачи ученик написал программу, но, к сожалению, его программа неправильная. Ниже эта программа для Вашего удобства приведена на пяти языках программирования. Бейсик | Python DIM N, D, K, S AS INTEGER INPUT N K = 0 S = 0 WHILE N > 10 D = N MOD 10 IF D MOD 3 = 0 THEN K = K + 1 S = S + D END IF N = N \ 10; WEND IF S > 0 THEN PRINT K, S ELSE PRINT "NO" END IF | n = int(input()) k = 0 s = 0 while n>10: d = n % 10 if d % 3 == 0: k += 1 s = s + d n = n // 10 if s > 0: print(k,s) else: print("NO") Паскаль | Алгоритмический язык var n, d, k, s: integer; begin readln(n); k := 0; s := 0; while n > 10 do begin d := n mod 10; if d mod 3 = 0 then begin k := k + 1; s := s + d end; n := n div 10 end; if s > 0 then write(k, ' ', s) else write('NO') end. | алг нач цел n, d, k, s ввод n k := 0 s := 0 нц пока n > 10 d := mod(n,10) если mod(d,3)=0 то k := k + 1 s := s + d все n := div(n,10) кц если s > 0 то вывод k, ' ', s иначе вывод "NO" все кон Си++ #include <iostream> using namespace std; int main() { int n, d, k, s; cin >> n; k = 0; s = 0; while (n > 10) { d = n % 10; if (d % 3 == 0) { ++k; s = s + d; } n /= 10; } if (s > 0) cout Последовательно выполните следующее. 1. Напишите, что выведет эта программа при вводе N = 3961. 2. Приведите пример трёхзначного числа N, содержащего хотя бы одну кратную 3 цифру, при вводе которого программа выведет верный ответ. 3. Найдите в программе все ошибки (известно, что их не больше двух) и исправьте их. Для каждой ошибки выпишите строку, в которой она допущена, и приведите эту же строку в исправленном виде.
- ЗаданиеСложность 2
Дано целое положительное число N. Необходимо найти и вывести количество и сумму чётных цифр в десятичной записи N. Если чётных цифр в числе нет, нужно вывести слово «NO». Например, для N = 2018 нужно вывести числа 3 (в числе три чётные цифры) и 10 (2 + 0 + 8 = 10), а для N = 1993 — слово «NO». Для решения этой задачи ученик написал программу, но, к сожалению, его программа неправильная. Ниже эта программа для Вашего удобства приведена на пяти языках программирования. Бейсик | Python DIM N, D, K, S AS INTEGER INPUT N K = 0 S = 0 WHILE N > 1 D = N MOD 10 IF D MOD 2 = 0 THEN K = K + 1 S = D END IF N = N \ 10; WEND IF S > 0 THEN PRINT K, S ELSE PRINT "NO" END IF | n = int(input()) k = 0 s = 0 while n>1: d = n % 10 if d % 2 == 0: k += 1 s = d n = n // 10 if s > 0: print(k,s) else: print("NO") Паскаль | Алгоритмический язык var n, d, k, s: integer; begin readln(n); k := 0; s := 0; while n > 1 do begin d := n mod 10; if d mod 2 = 0 then begin k := k + 1; s := d end; n := n div 10 end; if s > 0 then write(k, ' ', s) else write('NO') end. | алг нач цел n, d, k, s ввод n k := 0 s := 0 нц пока n > 1 d := mod(n,10) если mod(d,2)=0 то k := k + 1 s := d все n := div(n,10) кц если s > 0 то вывод k, ' ', s иначе вывод "NO" все кон Си++ #include <iostream> using namespace std; int main() { int n, d, k, s; cin >> n; k = 0; s = 0; while (n > 1) { d = n % 10; if (d % 2 == 0) { ++k; s = d; } n /= 10; } if (s > 0) cout Последовательно выполните следующее. 1. Напишите, что выведет эта программа при вводе N = 2018. 2. Приведите пример трёхзначного числа N, содержащего хотя бы одну чётную цифру, при вводе которого программа выведет верный ответ. 3. Найдите в программе все ошибки (известно, что их не больше двух) и исправьте их. Для каждой ошибки выпишите строку, в которой она допущена, и приведите эту же строку в исправленном виде.
- ЗаданиеСложность 2
Даны 4 целых положительных числа. Необходимо выбрать из них те числа, которые делятся без остатка на свою последнюю цифру, подсчитать и вывести сумму таких чисел. Например, в наборе (10, 11, 15, 18) условию удовлетворяют числа 11 и 15, в ответе должно получиться 26. Если подходящих чисел в наборе нет, сумма считается равной 0. Для решения этой задачи ученик написал программу, но, к сожалению, его программа неправильная. Ниже эта программа для Вашего удобства приведена на пяти языках программирования. Бейсик | Python DIM S, X, DX AS INTEGER S = 0 FOR I = 1 to 4 INPUT X DX = X MOD 10 IF DX > 0 THEN IF X MOD DX > 0 THEN S = S + DX END IF END IF NEXT I PRINT S | s = 0 for i in range (4): x = int(input()) dx = x % 10 if dx > 0: if x % dx > 0: s += dx print(s) Паскаль | Алгоритмический язык var s, x, dx, i: integer; begin s := 0; for i:=1 to 4 do begin readln(x); dx := x mod 10; if dx > 0 then begin if x mod dx > 0 then s :=s + dx end end; write(s) end. | алг нач цел s, x, dx, i s := 0 для i от 1 до 4 ввод x dx := mod(x,10) если dx > 0 то если mod(x,dx) > 0 то s := s + dx все все кц вывод s кон Си++ #include <iostream> using namespace std; int main() { int s, x, dx, i; s = 0; for (i=1; i> x; dx = x % 10; if (dx > 0) { if (x % dx > 0) s += dx; } cout Последовательно выполните следующее. 1. Напишите, что выведет эта программа при вводе чисел 3, 12, 23, 37. 2. Приведите пример исходных данных, при вводе которых программа, несмотря на ошибки, выведет верный ответ 3. Найдите в программе все ошибки (известно, что их не больше двух) и исправьте их. Для каждой ошибки выпишите строку, в которой она допущена, и приведите эту же строку в исправленном виде.
- ЗаданиеСложность 2
Требовалось написать программу, которая получает на вход натуральное число N, не превосходящее 109, и выводит число, равное количеству цифр 4 в десятичной записи числа N. Программист написал программу неправильно. Ниже эта написанная им программа для Вашего удобства приведена на пяти языках программирования. Бейсик | Python 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 END | N = int(input()) R = 0 while N > 0: d = N % 10 if d != 4: R = R + d N = N // 10 print(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. | алг нач цел N, R, d ввод N R := 0 нц пока N > 0 d := mod(N, 10) если d <> 4 то R := R + d все N := div(N, 10) кц вывод R кон Си++ #include <iostream> 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) укажите, как исправить ошибку, т. е. приведите правильный вариант строки. Известно, что в тексте программы нужно исправить не более двух строк так, чтобы она стала работать правильно. Достаточно указать ошибки и способ их исправления для одного языка программирования. Обратите внимание на то, что требуется найти ошибки в имеющейся программе, а не написать свою, возможно, использующую другой алгоритм решения.
- ЗаданиеСложность 2
На обработку поступает последовательность из четырёх неотрицательных целых чисел (некоторые числа могут быть одинаковыми). Нужно написать программу, которая выводит на экран количество всех чисел исходной последовательности, которые делятся без остатка на 7, и сумму таких чисел. Если в последовательности нет чисел, которые делятся без остатка на 7, то на экран нужно вывести «NO». Известно, что вводимые числа не превышают 1000. Программист написал программу неправильно. Ниже эта программа для Вашего удобства приведена на пяти языках программирования. Напоминание: 0 делится на любое натуральное число. Бейсик | Python CONST n=4 count = 0 sum = 0 FOR I = 1 TO n INPUT x IF x mod 7 = 0 THEN count = count + 1 sum = x END IF NEXT I IF sum > 0 THEN PRINT count PRINT sum ELSE PRINT "NO" END IF | n = 4 count = 0 sum = 0 for i in range(1, n+1): x = int(input()) if x % 7 == 0: count = count + 1 sum = x if sum > 0: print(count) print(sum) else: print("NO") Паскаль | Алгоритмический язык const n = 4; var i, x, sum, count: integer; begin count := 0; sum := 0; for i := 1 to n do begin read(x); if x mod 7 = 0 then begin count := count+1; sum := x; end end; if sum > 0 then begin writeln(count); writeln(sum); end else writeln('NO') end. | алг нач цел n = 4 цел i, x, sum, count count := 0 sum := 0 нц для i от 1 до n ввод x если mod(x,7) = 0 то count := count + 1 sum := x все кц если sum > 0 то вывод count вывод sum иначе вывод "NO" кон С++ #include <iostream> #define n 4 using namespace std; int main(){ int i, x, sum, count; count = 0; sum = 0; for(i=1; i > x; if(x % 7 == 0){ count = count + 1; sum = x; } } if(sum > 0) { cout Последовательно выполните следующее. 1. Напишите, что выведет эта программа при вводе последовательности: 35 50 70 80. 2. Приведите пример последовательности, в которой есть хотя бы одно число, делящееся на без остатка 7, при вводе которой, несмотря на ошибки, программа печатает правильный ответ. 3. Найдите все ошибки в этой программе (их может быть одна или несколько). Известно, что каждая ошибка затрагивает только одну строку и может быть исправлена без изменения других строк. Для каждой ошибки: 1) выпишите строку, в которой сделана ошибка; 2) укажите, как исправить ошибку, т. е. приведите правильный вариант строки. Достаточно указать ошибки и способ их исправления для одного языка программирования. Обратите внимание на то, что требуется найти ошибки в имеющейся программе, а не написать свою, возможно, использующую другой алгоритм решения. Исправление ошибки должно затрагивать только строку, в которой находится ошибка.
- ЗаданиеСложность 2
Дано целое положительное число N. Необходимо найти наибольшее количество подряд идущих нулей в десятичной записи N. Например, для N = 2019 нужно получить ответ 1, а для N = 20100 ответ 2. Для решения этой задачи ученик написал программу, но, к сожалению, его программа неправильная. Ниже эта программа для Вашего удобства приведена на пяти языках программирования Бейсик | Python DIM N, M, K AS INTEGER INPUT N M = 0 K = 0 WHILE N >= 10 IF N MOD 10 = 0 THEN K = K + 1 ELSE K = 1 END IF IF K > 0 THEN M = K END IF N = N \ 10 WEND PRINT M | n = int(input()) m = 0 k = 0 while n>=10: if n % 10 == 0: k += 1 else: k = 1 if k > 0: m = k n //= 10 print(m) Паскаль | Алгоритмический язык var n, m, k: integer; begin readln(n); m := 0; k := 0; while n >= 10 do begin if n mod 10 = 0 then k := k + 1 else k := 1; if k > 0 then m := k; n := n div 10; end; writeln(m) end. | алг нач цел n, m, k ввод n m := 0 k := 0 нц пока n >= 10 если mod(n,10) = 0 то k := k + 1 иначе k := 1 все если k > 0 то m := k все n := div(n,10) кц вывод m кон С++ #include <iostream> using namespace std; int main() { int n, m, k; cin >> n; m = 0; k = 0; while (n >= 10) { if (n % 10 == 0) k += 1; else k = 1; if (k > 0) m = k; n /= 10; } cout Последовательно выполните следующее. 1. Приведите пример числа N, при котором программа выведет верный ответ. Укажите этот ответ. 2. Приведите пример числа N, при котором программа выведет неверный ответ. Укажите верный ответ и ответ программы. 3. Найдите в программе все ошибки (известно, что их не больше двух) и исправьте их. Для каждой ошибки выпишите строку, в которой она допущена, и приведите эту же строку в исправленном виде. Достаточно указать ошибки и способ их исправления для одного языка программирования. Обратите внимание: Вам нужно исправить приведённую программу, а не написать свою. Вы можете только заменять ошибочные строки, но не можете удалять строки или добавлять новые. Заменять следует только ошибочные строки: за исправления, внесённые в строки, не содержащие ошибок, баллы будут снижаться.
- ЗаданиеСложность 2
Дано целое положительное число N ≥ 10. Необходимо найти наибольшую сумму двух соседних цифр в десятичной записи N. Например, для N = 2018 нужно получить ответ 9, а для N = 2010 ответ 2. Для решения этой задачи ученик написал программу, но, к сожалению, его программа неправильная. Ниже эта программа для Вашего удобства приведена на пяти языках программирования. Бейсик | Python DIM N,M,D1,D2,S AS INTEGER INPUT N M = 0 WHILE N >= 10 D1 = N MOD 10 D2 = N MOD 100 S = D1 + D2 IF S > M THEN M = S END IF N = N \ 100 WEND PRINT M | n = int(input()) m = 0 while n >= 10: d1 = n % 10 d2 = n % 100 s = d1 + d2 if s > m: m = s n //= 100 print(m) Паскаль | Алгоритмический язык var n,m,d1,d2,s: integer; begin readln(n); m := 0; while n >= 10 do begin d1 := n mod 10; d2 := n mod 100; s := d1 + d2; if s > m then m := s; n := n div 100 end; writeln(m); end. | алг нач цел n,m,d1,d2,s ввод n m := 0 нц пока n >= 10 d1 := mod(n,10) d2 := mod(n,100) s := d1 + d2 если s > m то m := s все n := div(n,100) кц вывод m кон С++ #include <iostream> using namespace std; int main(){ int n,m,d1,d2,s; cin >> n; m = 0; while (n >= 10) { d1 = n % 10; d2 = n % 100; s = d1 + d2; if (s > m) m = s; n /= 100; } cout Последовательно выполните следующее. 1. Напишите, что выведет эта программа при вводе N = 2018. 2. Приведите пример числа N, при котором программа выведет верный ответ. Укажите этот ответ. 3. Найдите в программе все ошибки (известно, что их не больше двух) и исправьте их. Для каждой ошибки выпишите строку, в которой она допущена, и приведите эту же строку в исправленном виде. Достаточно указать ошибки и способ их исправления для одного языка программирования. Обратите внимание: Вам нужно исправить приведённую программу, а не написать свою. Вы можете только заменять ошибочные строки, но не можете удалять строки или добавлять новые. Заменять следует только ошибочные строки: за исправления, внесённые в строки, не содержащие ошибок, баллы будут снижаться.
- ЗаданиеСложность 2
Дано целое положительное число N ≥ 10. Необходимо найти наименьшую сумму двух соседних цифр в десятичной записи N. Например, для N = 2018 нужно получить ответ 1, а для N = 2030 ответ 2. Для решения этой задачи ученик написал программу, но, к сожалению, его программа неправильная. Ниже эта программа для Вашего удобства приведена на пяти языках программирования. Бейсик | Python DIM N,M,D1,D2,S AS INTEGER INPUT N M = 10 WHILE N >= 10 D1 = N \ 10 D2 = N \ 10 MOD 10 S = D1 + D2 IF S = 10: d1 = n // 10 d2 = n // 10 % 10 s = d1 + d2 if s Паскаль | Алгоритмический язык var n,m,d1,d2,s: integer; begin readln(n); m := 10; while n >= 10 do begin d1 := n div 10; d2 := n div 10 mod 10; s := d1 + d2; if s = 10 d1 := div(n,10) d2 := mod(div(n,10),10) s := d1 + d2 если s С++ #include <iostream> using namespace std; int main(){ int n,m,d1,d2,s; cin >> n; m = 10; while (n >= 10) { d1 = n / 10; d2 = n / 10 % 10; s = d1 + d2; if (s Последовательно выполните следующее. 1. Напишите, что выведет эта программа при вводе N = 2018. 2. Приведите пример числа N, при котором программа выведет верный ответ. Укажите этот ответ. 3. Найдите в программе все ошибки (известно, что их не больше двух) и исправьте их. Для каждой ошибки выпишите строку, в которой она допущена, и приведите эту же строку в исправленном виде. Достаточно указать ошибки и способ их исправления для одного языка программирования. Обратите внимание: Вам нужно исправить приведённую программу, а не написать свою. Вы можете только заменять ошибочные строки, но не можете удалять строки или добавлять новые. Заменять следует только ошибочные строки: за исправления, внесённые в строки, не содержащие ошибок, баллы будут снижаться.
- ЗаданиеСложность 2
На обработку поступает натуральное число, не превышающее 109. Нужно написать программу, которая выводит на экран минимальную чётную цифру этого числа. Если в числе нет чётных цифр, требуется на экран вывести «NO». Программист написал программу неправильно. Ниже эта программа для Вашего удобства приведена на пяти языках программирования. Бейсик | Python DIM N, DIGIT, MINDIGIT AS LONG INPUT N MINDIGIT = N MOD 10 WHILE N > 0 DIGIT = N MOD 10 IF DIGIT MOD 2 = 0 THEN IF DIGIT 0: digit = N % 10 if digit % 2 == 0: if digit Паскаль | Алгоритмический язык var N,digit,minDigit: longint; begin readln(N); minDigit := N mod 10; while N > 0 do begin digit := N mod 10; if digit mod 2 = 0 then if digit 0 digit := mod(N,10) если mod(digit, 2) = 0 то если digit Си++ #include <iostream> using namespace std; int main() { long N, digit, minDigit; cin >> N; minDigit = N % 10; while (N > 0) { digit = N % 10; if (digit % 2 == 0) if (digit Последовательно выполните следующее. 1. Напишите, что выведет эта программа при вводе числа 231. 2. Приведите пример такого трёхзначного числа, при вводе которого приведённая программа, несмотря на ошибки, выдаёт верный ответ. 3. Найдите допущенные программистом ошибки и исправьте их. Исправление ошибки должно затрагивать только строку, в которой находится ошибка. Для каждой ошибки: 1) выпишите строку, в которой сделана ошибка; 2) укажите, как исправить ошибку, т. е. приведите правильный вариант строки. Известно, что в тексте программы можно исправить ровно две строки так, чтобы она стала работать правильно. Достаточно указать ошибки и способ их исправления для одного языка программирования. Обратите внимание на то, что требуется найти ошибки в имеющейся программе, а не написать свою, возможно, использующую другой алгоритм решения.
- ЗаданиеСложность 2
Дано натуральное число N (1 ≤ N ≤ 109). Необходимо найти и вывести наименьшую нечётную цифру в десятичной записи N или вывести сообщение «NO», если таких цифр нет. Для решения этой задачи ученик написал программу, но, к сожалению, его программа неправильная. Ниже эта программа для Вашего удобства приведена на пяти языках программирования. Бейсик | Python DIM N, DIGIT, MINDIGIT AS INTEGER INPUT N MINDIGIT = N MOD 10 WHILE N > 0 DIGIT = N MOD 10 IF DIGIT MOD 2 <> 0 THEN IF DIGIT 0: digit = n % 10 if digit%2 != 0: if digit Паскаль | Алгоритмический язык var n, digit, mindigit: integer; begin read(n); mindigit := n mod 10; while N > 0 do begin digit := n mod 10; if (digit mod 2 <> 0) then if digit 0 digit := mod(n,10) если mod(digit,2)<>0 то если digit С++ #include <iostream> using namespace std; int main(){ int n, digit, mindigit; cin >> n; mindigit = n%10; while (n > 0) { digit = n%10; if (digit%2 != 0) if (digit Последовательно выполните следующее. 1. Напишите, что выведет эта программа при вводе N = 134. 2. Приведите пример числа N, при вводе которого программа выведет правильный ответ. 3. Найдите в программе все ошибки (известно, что их не более двух). Для каждой ошибки выпишите строку, в которой она допущена, и приведите эту же строку в исправленном виде. Достаточно указать ошибки и способ их исправления для одного языка программирования. Обратите внимание: Вам нужно исправить приведённую программу, а не написать свою. Вы можете только заменять ошибочные строки, но не можете удалять строки или добавлять новые. Заменять следует только ошибочные строки: за исправления, внесённые в строки, не содержащие ошибок, баллы будут снижаться.
- ЗаданиеСложность 2
Дано натуральное число N (N ≤ 109). Необходимо найти и вывести наибольшую нечётную цифру в десятичной записи N или вывести сообщение «NO», если таких цифр нет. Для решения этой задачи ученик написал программу, но, к сожалению, его программа неправильная. Ниже эта программа для Вашего удобства приведена на пяти языках программирования. Бейсик | Python DIM N, D, M, T AS INTEGER INPUT N T = 0 M = T WHILE N > 1 D = N MOD 10 IF D MOD 2 = 1 OR D > M THEN M = D END IF N = N \ 10 WEND IF M = T THEN PRINT "NO" ELSE PRINT M END IF END | N = int(input()) t = 0 m = t while N > 1: d = N % 10 if d%2 == 1 or d > m: m = d N = N // 10 if m == t: print("NO") else: print(m) Паскаль | Алгоритмический язык var N, d, m, t: integer; begin read(N); t := 0; m := t; while N > 1 do begin d := N mod 10; if (d mod 2 = 1) or (d>m) then m := d; N := N div 10 end; if m = t then writeln('NO') else writeln(m) end. | алг нач цел N, d, m, t ввод N t := 0 m := t нц пока N > 1 d := mod(N,10) если mod(d,2)=1 или d>m то m := d все N := div(N,10) кц если m = t то вывод "NO" иначе вывод m все кон С++ #include <iostream> using namespace std; int main(){ int N, d, m, t; cin >> N; t = 0; m = t; while (N > 1) { d = N % 10; if (d % 2 == 1 || d > m) m = d; N = N / 10; } if (m == t) cout Последовательно выполните следующее. 1. Напишите, что выведет эта программа при вводе N = 143. 2. Какое наменьшее число может стать результатом работы этой программы? Приведите пример числа N, при вводе которого программа выведет такой ответ. 3. Найдите в программе все ошибки (известно, что их не более двух). Для каждой ошибки выпишите строку, в которой она допущена, и приведите эту же строку в исправленном виде. Достаточно указать ошибки и способ их исправления для одного языка программирования. Обратите внимание: Вам нужно исправить приведённую программу, а не написать свою. Вы можете только заменять ошибочные строки, но не можете удалять строки или добавлять новые. Заменять следует только ошибочные строки: за исправления, внесённые в строки, не содержащие ошибок, баллы будут снижаться.
- ЗаданиеСложность 2
Дано натуральное число N (N ≤ 109). Необходимо найти и вывести наибольшую чётную цифру в десятичной записи N или вывести сообщение «NO», если таких цифр нет. Для решения этой задачи ученик написал программу, но, к сожалению, его программа неправильная. Ниже эта программа для Вашего удобства приведена на пяти языках программирования. Бейсик | Python DIM N, D, M, T AS INTEGER INPUT N T = 0 M = T WHILE N > 1 D = N MOD 10 IF D MOD 2 = 0 AND D > M THEN M = M + D END IF N = N \ 10 WEND IF M = T THEN PRINT "NO" ELSE PRINT M END IF END | N = int(input()) t = 0 m = t while N > 1: d = N % 10 if d%2 == 0 and d > m: m = m + d N = N // 10 if m == t: print("NO") else: print(m) Паскаль | Алгоритмический язык var N, d, m, t: integer; begin read(N); t := 0; m := t; while N > 1 do begin d := N mod 10; if (d mod 2 = 0) and (d>m) then m := m + d; N := N div 10 end; if m = t then writeln('NO') else writeln(m) end. | алг нач цел N, d, m, t ввод N t := 0 m := t нц пока N > 1 d := mod(N,10) если mod(d,2)=0 и d>m то m := m + d все N := div(N,10) кц если m = t то вывод "NO" иначе вывод m все кон С++ #include <iostream> using namespace std; int main(){ int N, d, m, t; cin >> N; t = 0; m = t; while (N > 1) { d = N % 10; if (d % 2 == 0 && d > m) m = m + d; N = N / 10; } if (m == t) cout Последовательно выполните следующее. 1. Напишите, что выведет эта программа при вводе N = 864. 2. Какое наибольшее число может стать результатом работы этой программы? Приведите пример числа N, при вводе которого программа выведет такой ответ. 3. Найдите в программе все ошибки (известно, что их не более двух). Для каждой ошибки выпишите строку, в которой она допущена, и приведите эту же строку в исправленном виде. Достаточно указать ошибки и способ их исправления для одного языка программирования. Обратите внимание: Вам нужно исправить приведённую программу, а не написать свою. Вы можете только заменять ошибочные строки, но не можете удалять строки или добавлять новые. Заменять следует только ошибочные строки: за исправления, внесённые в строки, не содержащие ошибок, баллы будут снижаться.
- ЗаданиеСложность 2
В натуральном числе N (0 N 9) необходимо подсчитать количество цифр десятичной записи, чётность которых совпадает с чётностью последней цифры числа N. Например, для N = 123 должен получиться ответ 2 (последняя цифра числа нечётная, а всего в записи числа две нечётные цифры: 1 и 3). Для решения этой задачи ученик написал программу, но, к сожалению, его программа неправильная. Ниже эта программа для Вашего удобства приведена на пяти языках программирования. Бейсик | Python DIM N, K, D AS INTEGER INPUT N K = 0 D = N MOD 10 WHILE N > 0 IF N MOD 2 = D THEN K = K + D END IF N = N \ 10 WEND PRINT K END | N = int(input()) k = 0 d = N % 10 while N > 0: if N % 2 == d: k += d N = N // 10 print(k) Паскаль | Алгоритмический язык var N, k, d: integer; begin read(N); k := 0; d := N mod 10; while N > 0 do begin if N mod 2 = d then k := k + d; N := N div 10 end; writeln(k) end. | алг нач цел N, k, d ввод N k := 0 d := mod(N,10) нц пока N > 0 если mod(N,10) = d то k := k + d все N := div(N,10) кц вывод k кон С++ #include <iostream> using namespace std; int main(){ int N, k, d; cin >> N; k = 0; d = N % 10; while (N > 0) { if (N % 2 == d) k = k + d; N = N / 10; } cout Последовательно выполните следующее. 1. Напишите, что выведет эта программа при вводе N = 1980. 2. Назовите минимальное трёхзначное N, при котором программа выведет верный ответ. 3. Найдите в программе все ошибки (известно, что их не более двух). Для каждой ошибки выпишите строку, в которой она допущена, и приведите эту же строку в исправленном виде. Достаточно указать ошибки и способ их исправления для одного языка программирования. Обратите внимание: Вам нужно исправить приведённую программу, а не написать свою. Вы можете только заменять ошибочные строки, но не можете удалять строки или добавлять новые. Заменять следует только ошибочные строки: за исправления, внесённые в строки, не содержащие ошибок, баллы будут снижаться.
- ЗаданиеСложность 2
В натуральном числе N (0 N 9) необходимо подсчитать количество цифр десятичной записи, чётность которых совпадает с чётностью последней цифры числа N. Например, для N = 123 должен получиться ответ 2 (последняя цифра числа нечётная, а всего в записи числа две нечётные цифры: 1 и 3). Для решения этой задачи ученик написал программу, но, к сожалению, его программа неправильная. Ниже эта программа для Вашего удобства приведена на пяти языках программирования. Бейсик | Python DIM N, K, D AS INTEGER INPUT N K = 0 D = N MOD 2 WHILE N > 1 IF N MOD 10 = D THEN K = K + 1 END IF N = N \ 10 WEND PRINT K END | N = int(input()) k = 0 d = N % 2 while N > 1: if N % 10 == d: k += 1 N = N // 10 print(k) Паскаль | Алгоритмический язык var N, k, d: integer; begin read(N); k := 0; d := N mod 2; while N > 1 do begin if N mod 10 = d then k := k + 1; N := N div 10 end; writeln(k) end. | алг нач цел N, k, d ввод N k := 0 d := mod(N,2) нц пока N > 1 если mod(N,10) = d то k := k + 1 все N := div(N,10) кц вывод k кон С++ #include <iostream> using namespace std; int main(){ nt N, k, d; cin >> N; k = 0; d = N % 2; while (N > 1) { if (N % 10 == d) ++k; N = N / 10; } cout Последовательно выполните следующее. 1. Напишите, что выведет эта программа при вводе N = 1961. 2. Назовите минимальное N, большее 100, при котором программа выведет верный ответ. 3. Найдите в программе все ошибки (известно, что их не более двух). Для каждой ошибки выпишите строку, в которой она допущена, и приведите эту же строку в исправленном виде. Достаточно указать ошибки и способ их исправления для одного языка программирования. Обратите внимание: Вам нужно исправить приведённую программу, а не написать свою. Вы можете только заменять ошибочные строки, но не можете удалять строки или добавлять новые. Заменять следует только ошибочные строки: за исправления, внесённые в строки, не содержащие ошибок, баллы будут снижаться.
- ЗаданиеСложность 2
На обработку поступает натуральное число, не превышающее 109. Нужно написать программу, которая выводит на экран максимальную цифру числа, кратную 5. Если в числе нет цифр, кратных 5, требуется на экран вывести «NO». Программист написал программу неправильно. Ниже эта программа для Вашего удобства приведена на пяти языках программирования. Напоминание: 0 делится на любое натуральное число. Бейсик | Python DIM N, DIGIT, MAXDIGIT AS LONG INPUT N MAXDIGIT = N MOD 10 WHILE N > 0 DIGIT = N MOD 10 IF DIGIT MOD 5 = 0 THEN IF DIGIT > MAXDIGIT THEN MAXDIGIT = DIGIT END IF END IF N = N \ 10 WEND IF MAXDIGIT = 0 THEN PRINT "NO" ELSE PRINT MAXDIGIT END IF | N = int(input()) maxDigit = N % 10 while N > 0: digit = N % 10 if digit % 5 == 0: if digit > maxDigit: maxDigit = digit N = N // 10 if maxDigit == 0: print("NO") else: print(maxDigit) Паскаль | Алгоритмический язык var N,digit,maxDigit: longint; begin readln(N); maxDigit := N mod 10; while N > 0 do begin digit := N mod 10; if digit mod 5 = 0 then if digit > maxDigit then maxDigit := digit; N := N div 10; end; if maxDigit = 0 then writeln('NO') else writeln(maxDigit) end. | алг нач цел N, digit, maxDigit ввод N maxDigit := mod(N,10) нц пока N > 0 digit := mod(N,10) если mod(digit, 5) = 0 то если digit > maxDigit то maxDigit := digit все все N := div(N,10) кц если maxDigit = 0 то вывод "NO" иначе вывод maxDigit все кон Си++ #include <iostream> using namespace std; int main() { long N, digit, maxDigit; cin >> N; maxDigit = N % 10; while (N > 0) { digit = N % 10; if (digit % 5 == 0) if (digit > maxDigit) maxDigit = digit; N = N / 10; } if (maxDigit == 0) cout Последовательно выполните следующее. 1. Напишите, что выведет эта программа при вводе числа 132. 2. Приведите пример такого трёхзначного числа, при вводе которого программа выдаёт верный ответ. 3. Найдите все ошибки в этой программе (их может быть одна или несколько). Известно, что каждая ошибка затрагивает только одну строку и может быть исправлена без изменения других строк. Для каждой ошибки: 1) выпишите строку, в которой сделана ошибка; 2) укажите, как исправить ошибку, т. е. приведите правильный вариант строки. Достаточно указать ошибки и способ их исправления для одного языка программирования. Обратите внимание, что требуется найти ошибки в имеющейся программе, а не написать свою, возможно, использующую другой алгоритм решения. Исправление ошибки должно затрагивать только строку, в которой находится ошибка.
- ЗаданиеСложность 2
Дано натуральное число N > 10, в десятичной записи которого нет нулей. Необходимо определить максимальное двузначное число, которое можно увидеть в десятичной записи N. Например, для N = 1984 нужно получить результат 98, а для N = 271 828 — результат 82. Для решения этой задачи ученик написал программу, но, к сожалению, его программа неправильная. Ниже эта программа для Вашего удобства приведена на пяти языках программирования. Бейсик | Python DIM N, K AS INTEGER INPUT N K = 0 WHILE N > 100 IF N MOD 100 > K THEN K = N MOD 100 END IF N = N \ 100 WEND PRINT K END | n = int(input()) k = 0 while n > 100: if n%100 > k: k = n%100 n = n // 100 print(k) Паскаль | Алгоритмический язык var n, k: integer; begin read(n); k := 0; while n > 100 do begin if n mod 100 > k then k := n mod 100; n := n div 100; end; writeln(k) end. | алг нач цел n, k ввод n k := 0 нц пока n > 100 если mod(n,100) > k то k:=mod(n,100) все n:=div(n,100) кц вывод k кон Си++ #include <iostream> using namespace std; int main(){ int n, k; cin >> n; k = 0; while (n > 100) { if (n%100 > k) k = n%100; n = n/100; } cout « k « endl; return 0; } Последовательно выполните следующее. 1. Напишите, что выведет эта программа при вводе N = 9876. 2. Приведите два возможных значения N, при вводе которых программа выведет верный ответ. Укажите этот ответ. 3. Найдите в программе все ошибки (их может быть одна или несколько). Для каждой ошибки выпишите строку, в которой она допущена, и приведите эту же строку в исправленном виде. Достаточно указать ошибки и способ их исправления для одного языка программирования. Обратите внимание: Вам нужно исправить приведённую программу, а не написать свою. Вы можете только заменять ошибочные строки, но не можете удалять строки или добавлять новые. Заменять следует только ошибочные строки: за исправления, внесённые в строки, не содержащие ошибок, баллы будут снижаться.
- ЗаданиеСложность 2
Дано натуральное число N > 10, в десятичной записи которого нет нулей. Необходимо определить минимальное двузначное число, которое можно увидеть в десятичной записи N. Например, для N=1984 нужно получить результат 19, а для N = 271 828 — результат 18. Для решения этой задачи ученик написал программу, но, к сожалению, его программа неправильная. Ниже эта программа для Вашего удобства приведена на пяти языках программирования. Бейсик | Python DIM N, K AS INTEGER INPUT N K = 100 WHILE N > 100 IF N MOD 100 100: if n%100 Паскаль | Алгоритмический язык var n, k: integer; begin read(n); k := 100; while n > 100 do begin if n mod 100 100 если mod(n,100) Си++ #include <iostream> using namespace std; int main(){ int n, k; cin >> n; k = 100; while (n > 100) { if (n%100 Последовательно выполните следующее. 1. Напишите, что выведет эта программа при вводе N=6789. 2. Приведите два возможных значения N, при вводе которых программа выведет верный ответ. Укажите этот ответ. 3. Найдите в программе все ошибки (их может быть одна или несколько). Для каждой ошибки выпишите строку, в которой она допущена, и приведите эту же строку в исправленном виде. Достаточно указать ошибки и способ их исправления для одного языка программирования. Обратите внимание: Вам нужно исправить приведённую программу, а не написать свою. Вы можете только заменять ошибочные строки, но не можете удалять строки или добавлять новые. Заменять следует только ошибочные строки: за исправления, внесённые в строки, не содержащие ошибок, баллы будут снижаться.
- ЗаданиеСложность 2
На обработку поступает натуральное число, не превышающее 109. Нужно написать программу, которая выводит на экран сумму цифр числа, НЕ кратных 3. Если в числе нет цифр, не кратных 3, требуется на экран вывести «NO». Программист написал программу неправильно. Ниже эта программа для Вашего удобства приведена на пяти языках программирования. Напоминание: 0 делится на любое натуральное число. Бейсик | Python DIM N, DIGIT, SUM AS LONG INPUT N SUM = N MOD 10 WHILE N > 0 DIGIT = N MOD 10 IF DIGIT MOD 3 > 0 THEN SUM = DIGIT END IF N = N \ 10 WEND IF SUM > 0 THEN PRINT SUM ELSE PRINT "NO" END IF | N = int(input()) sum = N % 10 while N > 0: digit = N % 10 if digit % 3 > 0: sum = digit N = N // 10 if sum > 0: print(sum) else: print("NO") Паскаль | Алгоритмический язык var N, digit, sum: longint; begin readln(N); sum := N mod 10; while N > 0 do begin digit := N mod 10; if digit mod 3 > 0 then sum := digit; N := N div 10; end; if sum > 0 then writeln(sum) else writeln('NO') end. | алг нач цел N, digit, sum ввод N sum := mod(N,10) нц пока N > 0 digit := mod(N,10) если mod(digit, 3) > 0 то sum := digit все N := div(N,10) кц если sum > 0 то вывод sum иначе вывод "NO" все кон Си++ #include <iostream> using namespace std; int main() { int N, digit, sum; cin >> N; sum = N % 10; while (N > 0) { digit = N % 10; if (digit % 3 > 0) sum = digit; N = N / 10; } if (sum > 0) cout Последовательно выполните следующее. 1. Напишите, что выведет эта программа при вводе числа 645. 2. Приведите пример такого трёхзначного числа, при вводе которого программа выдаёт верный ответ. 3. Найдите все ошибки в этой программе (их может быть одна или несколько). Известно, что каждая ошибка затрагивает только одну строку и может быть исправлена без изменения других строк. Для каждой ошибки: 1) выпишите строку, в которой сделана ошибка; 2) укажите, как исправить ошибку, т. е. приведите правильный вариант строки. Достаточно указать ошибки и способ их исправления для одного языка программирования. Обратите внимание, что требуется найти ошибки в имеющейся программе, а не написать свою, возможно, использующую другой алгоритм решения. Исправление ошибки должно затрагивать только строку, в которой находится ошибка.
- ЗаданиеСложность 2
На обработку поступает натуральное число, не превышающее 109. Нужно написать программу, которая выводит на экран количество цифр этого числа, кратных 5. Если в числе нет цифр, кратных 5, требуется на экран вывести «NO». Программист написал программу неправильно. Ниже эта программа для Вашего удобства приведена на пяти языках программирования. Напоминание: 0 делится на любое натуральное число. Бейсик | Python DIM N, DIGIT, COUNT AS LONG INPUT N COUNT = 1 WHILE N > 0 DIGIT = N MOD 10 IF DIGIT MOD 5 = 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 % 5 == 0: count = count + digit N = N // 10 if count == 0: print("NO") else: print(count) Паскаль | Алгоритмический язык var N, digit, count: longint; begin readln(N); count := 1; while N > 0 do begin digit := N mod 10; if digit mod 5 = 0 then count := count + digit; N := N div 10; end; if count = 0 then writeln('NO') else writeln(count) end. | алг нач цел N, digit, count ввод N count := 1 нц пока N > 0 digit := mod(N,10) если mod(digit,5) = 0 то count := count + digit все N := div(N,10) кц если count = 0 то вывод "NO" иначе вывод count все кон Си++ #include <iostream> using namespace std; int main() { int N, digit, count; cin >> N; count = 1; while (N > 0) { digit = N % 10; if (digit % 5 == 0) count = count + digit; N = N / 10; } if (count == 0) cout Последовательно выполните следующее. 1. Напишите, что выведет эта программа при вводе числа 164. 2. Приведите пример такого трёхзначного числа, при вводе которого программа выдаёт верный ответ. 3. Найдите все ошибки в этой программе (их может быть одна или несколько). Известно, что каждая ошибка затрагивает только одну строку и может быть исправлена без изменения других строк. Для каждой ошибки: 1) выпишите строку, в которой сделана ошибка; 2) укажите, как исправить ошибку, т. е. приведите правильный вариант строки. Достаточно указать ошибки и способ их исправления для одного языка программирования. Обратите внимание, что требуется найти ошибки в имеющейся программе, а не написать свою, возможно, использующую другой алгоритм решения. Исправление ошибки должно затрагивать только строку, в которой находится ошибка.
- ЗаданиеСложность 2
На обработку поступает натуральное число, не превышающее 109. Нужно написать программу, которая выводит на экран сумму цифр числа, не кратных трём. Если в числе нет таких цифр, требуется на экран вывести «N0». Программист написал программу неправильно. Ниже эта программа для Вашего удобства приведена на пяти языках программирования. Бейсик | Python DIM N, DIGIT, SUM AS LONG INPUT N SUM = 0 WHILE N > 10 DIGIT = N MOD 10 IF DIGIT MOD 3 = 0 THEN SUM = SUM + DIGIT END IF N = N \ 10 WEND IF SUM >0 THEN PRINT SUM ELSE PRINT "NO" END IF | N = int(input()) sum = 0 while N > 10: digit = N % 10 if digit % 3 == 0: sum = sum + digit N = N // 10 if sum > 0: print(sum) else: print("NO") Паскаль | Алгоритмический язык var N, digit, sum: longint; begin readln(N); sum := 0; while N > 10 do begin digit := N mod 10; if digit mod 3 = 0 then sum := sum + digit; N := N div 10; end; if sum > 0 then writeln(sum) else writeln('NO') end. | алг нач цел N, digit, sum ввод N sum := 0 нц пока N > 10 digit := mod(N,10) если mod(digit, 3) = 0 то sum := sum + digit все N := div(N,10) кц если sum > 0 то вывод sum иначе вывод "NO" все кон Си++ #include <iostream> using namespace std; int main() { int N, digit, sum; cin >> N; sum = 0; while (N > 10) { digit = N % 10; if (digit % 3 == 0) sum = sum + digit; N = N / 10; } if (sum > 0) cout « sum « endl; else cout Последовательно выполните следующее. 1. Напишите, что выведет эта программа при вводе числа 357. 2. Приведите пример такого трёхзначного числа, при вводе которого программа выдаёт верный ответ. 3. Найдите все ошибки в этой программе (их может быть одна или несколько). Известно, что каждая ошибка затрагивает только одну строку и может быть исправлена без изменения других строк. Для каждой ошибки: 1) выпишите строку, в которой сделана ошибка; 2) укажите, как исправить ошибку, т. е. приведите правильный вариант строки. Достаточно указать ошибки и способ их исправления для одного языка программирования. Обратите внимание, что требуется найти ошибки в имеющейся программе, а не написать свою, возможно, использующую другой алгоритм решения. Исправление ошибки должно затрагивать только строку, в которой находится ошибка.
- ЗаданиеСложность 2
На обработку поступает натуральное число, не превышающее 109. Нужно написать программу, которая выводит на экран сумму цифр числа, кратных трём. Если в числе нет таких цифр, требуется на экран вывести «NO». Программист написал программу неправильно. Ниже эта программа для Вашего удобства приведена на пяти языках программирования. Бейсик | Python DIM N, DIGIT, SUM AS LONG INPUT N SUM = N MOD 10 WHILE N > 0 DIGIT = N MOD 10 IF DIGIT MOD 3 = 0 THEN SUM = DIGIT END IF N = N \ 10 WEND IF SUM >0 THEN PRINT SUM ELSE PRINT "NO" END IF | N = int(input()) sum = N % 10 while N > 0: digit = N % 10 if digit % 3 == 0: sum = digit N = N // 10 if sum > 0: print(sum) else: print("NO") Паскаль | Алгоритмический язык var N, digit, sum: longint; begin readln(N); sum := N mod 10; while N > 0 do begin digit := N mod 10; if digit mod 3 = 0 then sum := digit; N := N div 10; end; if sum > 0 then writeln(sum) else writeln('NO') end. | алг нач цел N, digit, sum ввод N sum := mod(N, 10) нц пока N > 0 digit := mod(N,10) если mod(digit, 3) = 0 то sum := digit все N := div(N,10) кц если sum > 0 то вывод sum иначе вывод "NO" все кон Си++ #include <iostream> using namespace std; int main() { int N, digit, sum; cin >> N; sum = N % 10; while (N > 0) { digit = N % 10; if (digit % 3 == 0) sum = digit; N = N / 10; } if (sum > 0) cout « sum « endl; else cout Последовательно выполните следующее. 1. Напишите, что выведет эта программа при вводе числа 578. 2. Приведите пример такого трёхзначного числа, при вводе которого программа выдаёт верный ответ. 3. Найдите все ошибки в этой программе (их может быть одна или несколько). Известно, что каждая ошибка затрагивает только одну строку и может быть исправлена без изменения других строк. Для каждой ошибки: 1) выпишите строку, в которой сделана ошибка; 2) укажите, как исправить ошибку, т. е. приведите правильный вариант строки. Достаточно указать ошибки и способ их исправления для одного языка программирования. Обратите внимание, что требуется найти ошибки в имеющейся программе, а не написать свою, возможно, использующую другой алгоритм решения. Исправление ошибки должно затрагивать только строку, в которой находится ошибка.
- ЗаданиеСложность 2
Требовалось написать программу, при выполнении которой с клавиатуры считывается натуральное число N, не превосходящее 109, и выводится минимальная цифра этого числа. Программист торопился и написал программу неправильно. (Ниже для Вашего удобства программа представлена на четырёх языках программирования.) Бэйсик | Паскаль DIM N AS LONG INPUT N min_digit = 0 WHILE N > 0 digit = N MOD 10 IF digit > min_digit THEN min_digit = digit END IF N = N \ 10 WEND PRINT min_digit END | var N: longint; digit, min_digit: integer; begin readln(N); min_digit := 0; while N > 0 do begin digit := N mod 10; if digit > min_digit then min_digit := digit; N := N div 10; end; writeln(min_digit); end. Си++ | Алгоритмический язык #include <iostream> using namespace std; int main () { long int N; int digit, min_digit; cin >> N; min_digit = 0; while (N > 0) { digit = N % 10; if (digit > min_digit) min_digit = digit; N = N / 10; } cout « min_digit « endl; } | алг нач цел N, digit, min_digit ввод N min_digit := 0 нц пока N > 0 digit := mod(N, 10) если digit > min_digit то min_digit := digit все N := div(N, 10) кц вывод min_digit кон Python N = int(input()) min_digit = 0 while N > 0: digit = N % 10 if digit > min_digit: min_digit = digit N //= 10; print(min_digit) Последовательно выполните следующее. 1. Напишите, что выведет эта программа при вводе числа 461. 2. Найдите все ошибки в этой программе (их может быть одна или несколько). Для каждой ошибки: 1) выпишите строку, в которой сделана ошибка; 2) укажите, как исправить ошибку, — приведите правильный вариант строки. Обратите внимание, что требуется найти ошибки в имеющейся программе, а не написать свою, возможно, использующую другой алгоритм решения. Исправление ошибки должно затрагивать только строку, в которой находится ошибка.
- ЗаданиеСложность 2
Требовалось написать программу, при выполнении которой с клавиатуры считывается натуральное число N, не превосходящее 109, и выводится максимальная цифра этого числа. Программист торопился и написал программу неправильно. (Ниже для Вашего удобства программа представлена на четырёх языках программирования.) Бэйсик | Паскаль DIM N AS LONG INPUT N max_digit = 10 WHILE N >= 10 digit = N MOD 10 IF max_digit = 10 do begin digit := N mod 10; if max_digit Си++ | Алгоритмический язык #include <iostream> using namespace std; int main () { long int N; int digit, max_digit; cin >> N; max digit = 10; while (N >= 10) { digit = N % 10; if (max_digit = 10 digit := mod(N, 10) если max_digit Python n = int(input()) max_digit = 10 while n >= 10: digit = n % 10 if max_digit Последовательно выполните следующее. 1. Напишите, что выведет эта программа при вводе числа 528. 2. Найдите все ошибки в этой программе (их может быть одна или несколько). Для каждой ошибки: 1) выпишите строку, в которой сделана ошибка; 2) укажите, как исправить ошибку, — приведите правильный вариант строки. Обратите внимание, что требуется найти ошибки в имеющейся программе, а не написать свою, возможно, использующую другой алгоритм решения. Исправление ошибки должно затрагивать только строку, в которой находится ошибка.
- ЗаданиеСложность 2
Программист писал программу, для определения количества цифр в целом положительном числе, не большем 109. Программист торопился, и допустил ошибку. (Ниже для Вашего удобства программа представлена на четырёх языках программирования.) Бейсик | Паскаль 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; writeln(sum); end. Си++ | Алгоритмический #include <iostream> using namespace std; int main() { long int N; int sum; cin >> N; sum = 1; while (N > 1) { N = N / 10; sum = sum + 1; } cout 1 N := div(N, 10) sum := sum + 1 КЦ вывод sum КОН Python n = int(input()) sum = 1 while n > 1: n //= 10 sum += 1 print(sum) Последовательно выполните следующее. 1. Напишите, что выведет эта программа при вводе числа 578. 2. Найдите все ошибки в этой программе (их может быть одна или несколько). Укажите все строки (одну или более), содержащие ошибки, и для каждой такой строки приведите правильный вариант. Обратите внимание, что требуется найти ошибки в имеющейся программе, а не написать свою, возможно, использующую другой алгоритм решения. Исправление ошибки должно затрагивать только строку, в которой находится ошибка. 3. Укажите одно число для которого эта программа будет работать верно.
- ЗаданиеСложность 2
Дано натуральное число N, не превосходящее 108. Необходимо найти и вывести число, которое получится при записи N справа налево и удалении всех девяток. Ведущие нули выводить не надо. Если в числе N нет цифр кроме девяток и нулей, необходимо вывести 0. Например, при вводе числа 1984 нужно вывести 481, а при вводе 2009 нужно вывести 2. Для решения этой задачи ученик написал такую программу: Бейсик | Паскаль DIM N, M AS LONG DIM D AS INTEGER INPUT N M = 0 WHILE N>1 D = N MOD 10 IF D1 do begin d := n mod 10; if d Си++ | Алгоритмический #include <iostream> using namespace std; int main(){ long int n, m; int d; cin >> n; m = 0; while (n>1) { d = n%10; if (d1 d := mod(n,10) если d Python n = int(input()) m = 0 while n > 1: d = n % 10 if d Последовательно выполните следующее. 1. Напишите, что выведет эта программа при вводе числа 1984. 2. Приведите пример числа, при вводе которого программа выдаст верный ответ. 3. Найдите в программе все ошибки (их может быть одна или несколько). Для каждой ошибки выпишите строку, в которой она допущена, и приведите эту же строку в исправленном виде. Обратите внимание: Вам нужно исправить приведённую программу, а не написать свою. Вы можете только заменять ошибочные строки, но не можете удалять строки или добавлять новые. Заменять следует только ошибочные строки: за исправления, внесённые в строки, не содержащие ошибок, баллы будут снижаться.
- ЗаданиеСложность 2
Дано натуральное число N, не превосходящее 108. Необходимо найти и вывести число, которое получится при записи N справа налево и удалении всех единиц. Ведущие нули выводить не надо. Если в числе N нет цифр кроме единиц и нулей, необходимо вывести 0. Например, при вводе числа 1984 нужно вывести 489, а при вводе 2001 нужно вывести 2. Для решения этой задачи ученик написал такую программу: Бейсик | Паскаль DIM N, M AS LONG DIM D AS INTEGER INPUT N M = 0 WHILE N>=1 D = N MOD 10 IF D>1 THEN M = 10*D + M END IF N = (N – D) \ 10 WEND PRINT M END | var n, m: longint; d: integer; begin read(n); m := 0; while n>=1 do begin d := n mod 10; if d > 1 then begin m := 10*d + m; end; n := (n – d) div 10; end; write(m); end. Си++ | Алгоритмический #include <iostream> using namespace std; int main(){ long int n, m; int d; cin >> n; m = 0; while (n>=1) { d = n%10; if (d>1) { m = 10*d + m; } n = (n – d) / 10; } cout << m; } | алг нач цел n, m цел d ввод n m := 0 нц пока n>=1 d := mod(n,10) если d>1 то m := 10*d + m все n := div(n-d,10) кц вывод m кон Python n = int(input()) m = 0 while n >= 1: d = n %10 if d > 1: m = 10*d + m n = (n – d) // 10 print(m) Последовательно выполните следующее. 1. Напишите, что выведет эта программа при вводе числа 1984. 2. Приведите пример числа, при вводе которого программа выдаст верный ответ. 3. Найдите в программе все ошибки (их может быть одна или несколько). Для каждой ошибки выпишите строку, в которой она допущена, и приведите эту же строку в исправленном виде. Обратите внимание: Вам нужно исправить приведённую программу, а не написать свою. Вы можете только заменять ошибочные строки, но не можете удалять строки или добавлять новые. Заменять следует только ошибочные строки: за исправления, внесённые в строки, не содержащие ошибок, баллы будут снижаться.
- ЗаданиеСложность 2
Требовалось написать программу, которая получает на вход натуральное число N, не превосходящее 109, и выводит число, которое получается из N после удаления всех пятёрок, порядок остальных цифр при этом не меняется. Например, число 19520125 должно быть преобразовано в число 192012. Число, в котором все цифры – пятёрки и нули, должно быть преобразовано в 0. Незначащие нули в старших разрядах полученного числа печатать не нужно. Программист торопился и написал программу неправильно. Бейсик | Паскаль DIM N, R, T AS LONG DIM d AS INTEGER INPUT N R = 0 T = 1 WHILE N > 0 d = N MOD 10 IF d <> 5 THEN R = R + d * T T = T + 1 END IF N = N \ 10 WEND PRINT T END | var N, R, T: longint; d: integer; begin readln(N); R:=0; T:=1; while N>0 do begin d := N mod 10; if d<>5 then begin R := R + d*T; T := T+1 end; N := N div 10; end; writeln(T); end. Си++ | Алгоритмический #include <iostream> using namespace std; int main() { long int N, R, T; int d; cin >> N; R = 0; T = 1; while (N > 0) { d = N % 10; if (d != 5) { R = R + d*T; T = T+1; } N = N / 10; } cout << T; } | алг нач цел N, R, T, d ввод N R := 0 T := 1 нц пока N > 0 d := mod(N, 10) если d <> 5 то R := R + d*T T := T+1 все N := div(N, 10) кц вывод T кон Python n = int(input()) R=0 T=1 while n > 0: d = n % 10 if d != 5: R += d*T T += 1 n //= 10; print(T) Последовательно выполните следующее. 1. Напишите, что выведет эта программа при вводе числа 354. 2. Найдите все ошибки в этой программе (их может быть одна или несколько). Для каждой ошибки: 1) Выпишите строку, в которой сделана ошибка. 2) Укажите, как исправить ошибку — приведите правильный вариант строки. Обратите внимание, что требуется найти ошибки в имеющейся программе, а не написать свою, возможно, использующую другой алгоритм решения.
- ЗаданиеСложность 2
Требовалось написать программу, которая получает на вход натуральное число N, не превосходящее 109, и выводит число, которое получается из N после удаления всех единиц; порядок остальных цифр при этом не меняется. Например, число 19520125 должно быть преобразовано в число 952025. Число, в котором все цифры — единицы и нули, должно быть преобразовано в 0. Незначащие нули в старших разрядах полученного числа печатать не нужно. Программист торопился и написал программу неправильно. Бейсик | Паскаль DIM N, R, T AS LONG DIM d AS INTEGER INPUT N R = 0 T = 1 WHILE N > 0 d = N MOD 10 IF d <> 1 THEN R = R + d * T T = T + 1 END IF N = N \ 10 WEND PRINT T END | var N, R, T: longint; d: integer; begin readln(N); R:=0; T:=1; while N>0 do begin d := N mod 10; if d<>1 then begin R := R + d*T; T := T+1 end; N := N div 10; end; writeln(T); end. Си++ | Алгоритмический #include <iostream> using namespace std; int main() { long int N, R, T; int d; cin >> N; R = 0; T = 1; while (N > 0) { d = N % 10; if (d != 1) { R = R + d*T; T = T+1; } N = N / 10; } cout << T; } | алг нач цел N, R, T, d ввод N R := 0 T := 1 нц пока N > 0 d := mod(N, 10) если d <> 1 то R := R + d*T T := T+1 все N := div(N, 10) кц вывод T кон Python N = int(input()) R=0 T=1 while N > 0: d = N % 10 if d != 1: R = R + d*T T = T+1 N //= 10 print(T) Последовательно выполните следующее. 1. Напишите, что выведет эта программа при вводе числа 314. 2. Найдите все ошибки в этой программе (их может быть одна или несколько). Для каждой ошибки: 1) Выпишите строку, в которой сделана ошибка. 2) Укажите, как исправить ошибку — приведите правильный вариант строки. Обратите внимание, что требуется найти ошибки в имеющейся программе, а не написать свою, возможно, использующую другой алгоритм решения.
- ЗаданиеСложность 2
Требовалось написать программу, при выполнении которой с клавиатуры вводится натуральное число N (гарантируется, что 10 ≤ N ≤ 108) и выводится двузначное число, образованное двумя его первыми (старшими) цифрами. Например, при N = 2014 надо вывести 20. Ученик написал такую программу: Бейсик | Паскаль DIM N AS LONG INPUT N WHILE N>100 N = N MOD 100 WEND PRINT N END | var n: longint; begin read(n); while n>100 do begin n := n mod 100 end; write(n); end. Си++ | Алгоритмический язык #include <iostream> using namespace std; int main(){ long int n; cin >> n; while (n>100) { n = n % 100; } cout << n; } | алг нач цел n ввод n нц пока n>100 n := mod(n,100) кц вывод n кон Python n = int(input()) while n > 100: n %= 10 0 print(n) Последовательно выполните следующее. 1. Напишите, что выведет эта программа при вводе числа 2014. 2. Приведите пример числа, при вводе которого программа выдаст верный ответ. 3. Найдите в программе все ошибки (их может быть одна или несколько). Для каждой ошибки выпишите строку, в которой она допущена, и приведите эту же строку в исправленном виде. Обратите внимание: вам нужно исправить приведённую программу, а не написать свою. Вы можете только заменять ошибочные строки, но не можете удалять строки или добавлять новые. Заменять следует только ошибочные строки: за исправления, внесённые в строки, не содержащие ошибок, баллы будут снижаться.