Работа с цифрами числа
Требовалось написать программу, при выполнении которой с клавиатуры считывается положительное целое число N, не превосходящее 109, и определяется сумма цифр этого числа. Программист торопился и написал программу неправильно.
| Бейсик | Python |
|---|---|
DIM N AS LONG INPUT N sum = 1 WHILE N > 0 D = N MOD 10 N = N \ 10 sum = d WEND PRINT sum END
| N = int(input()) sum = 1 while N > 0: d = N%10 N = N // 10 sum = d print(sum)
|
| Паскаль | Алгоритмический язык |
var N: longint; sum, d: integer; begin readln(N); sum := 1; while N > 0 do begin d := N mod 10; N := N div 10; sum := d; end; writeln(sum); end.
| алг нач цел N, d, sum ввод N sum := 1 нц пока N > 0 d := mod(N, 10) N := div(N, 10) sum := d кц вывод sum кон |
| Си++ | |
#include <iostream> using namespace std; int main() { long int N; int sum, d; cin >> N; sum = 1; while (N > 0) { d = N%10; N = N / 10; sum = d; } cout « sum « endl; return 0; }
| |
Последовательно выполните следующее.
1. Напишите, что выведет эта программа при вводе числа 256.
2. Приведите пример такого трёхзначного числа, при вводе которого программа выдаёт правильный результат.
3. Найдите все ошибки в этой программе (их может быть одна или несколько). Для каждой ошибки:
1) выпишите строку, в которой сделана ошибка;
2) укажите, как исправить ошибку, т. е. приведите правильный вариант строки.
Достаточно указать ошибки и способ их исправления для одного языка программирования. Обратите внимание, что требуется найти ошибки в имеющейся программе, а не написать свою, возможно, использующую другой алгоритм решения. Исправление ошибки должно затрагивать только строку, в которой находится ошибка.
Загрузка решений доступна для зарегистрировавшихся пользователей
Требовалось написать программу, при выполнении которой с клавиатуры считывается положительное целое число N, не превосходящее 109, и определяется сумма цифр этого числа. Программист торопился и написал программу неправильно.
| Бейсик | Python |
|---|---|
DIM N AS LONG INPUT N sum = 1 WHILE N > 0 D = N MOD 10 N = N \ 10 sum = sum + 1 WEND PRINT sum END
| N = int(input()) sum = 1 while N > 0: d = N%10 N = N // 10 sum = sum + 1 print(sum)
|
| Паскаль | Алгоритмический язык |
var N: longint; sum, d: integer; begin readln(N); sum := 1; while N > 0 do begin d := N mod 10; N := N div 10; sum := sum + 1; end; writeln(sum); end.
| алг нач цел N, d, sum ввод N sum := 1 нц пока N > 0 d := mod(N, 10) N := div(N, 10) sum := sum + 1 кц вывод sum кон |
| Си++ | |
#include int main() { long int N; int sum, d; cin >> N; sum = 1; while (N > 0) { d = N%10; N = N / 10; sum = sum + 1; } cout « sum « endl; return 0; } | |
Последовательно выполните следующее.
1. Напишите, что выведет эта программа при вводе числа 256.
2. Приведите пример такого трёхзначного числа, при вводе которого программа выдаёт правильный результат.
3. Найдите все ошибки в этой программе (их может быть одна или несколько). Для каждой ошибки:
1) выпишите строку, в которой сделана ошибка;
2) укажите, как исправить ошибку, т. е. приведите правильный вариант строки.
Достаточно указать ошибки и способ их исправления для одного языка программирования. Обратите внимание, что требуется найти ошибки в имеющейся программе, а не написать свою, возможно, использующую другой алгоритм решения. Исправление ошибки должно затрагивать только строку, в которой находится ошибка.
Загрузка решений доступна для зарегистрировавшихся пользователей
Требовалось написать программу, при выполнении которой с клавиатуры считывается натуральное число x, не превосходящее 1000, и выводится количество значащих цифр в двоичной записи этого числа. Программист торопился и написал программу неправильно. (Ниже для Вашего удобства программа представлена на пяти языках программирования.)
| Бейсик | Python |
|---|---|
INPUT x cnt = 0 WHILE x > 0 cnt = cnt + x MOD 2 x = x \ 10 WEND PRINT cnt END
| x = int(input()) cnt = 0 while x > 0: cnt = cnt+x % 2 x = x // 10 print(cnt)
|
| Паскаль | Алгоритмический язык |
var x,cnt: integer; begin readln(x); cnt := 0; while x > 0 do begin cnt:=cnt + x mod 2; x := x div 10 end; writeln(cnt); end.
| алг нач цел x, cnt ввод x cnt := 0 нц пока x > 0 cnt := cnt+mod(x,2) x := div(x, 10) кц вывод cnt кон |
| Си++ | |
#include <iostream> using namespace std; int main() { int x,cnt; cin >> x; cnt = 0; while (x > 0) { cnt = cnt + x%2; x = x /10; } cout « cnt « endl; }
| |
Последовательно выполните следующее:
1. Напишите, что выведет эта программа при вводе числа 15.
2. Приведите пример такого числа x, что, несмотря на ошибки, программа печатает правильный ответ.
3. Найдите все ошибки в этой программе (их может быть одна или несколько). Известно, что каждая ошибка затрагивает только одну строку и может быть исправлена без изменения других строк.
Для каждой ошибки:
1) выпишите строку, в которой сделана ошибка;
2) укажите, как исправить ошибку, т. е. приведите правильный вариант строки.
Достаточно указать ошибки и способ их исправления для одного языка программирования. Обратите внимание, что требуется найти ошибки в имеющейся программе, а не написать свою, возможно, использующую другой алгоритм решения. Исправление ошибки должно затрагивать только строку, в которой находится ошибка.
Загрузка решений доступна для зарегистрировавшихся пользователей
Требовалось написать программу, при выполнении которой с клавиатуры считывается натуральное число x, не превосходящее 1000, и выводится количество единиц в двоичной записи этого числа. Программист торопился и написал программу неправильно. (Ниже для Вашего удобства программа представлена на пяти языках программирования.)
| Бейсик | Python |
|---|---|
INPUT x cnt = 0 WHILE x > 0 cnt = cnt + 1 x = x MOD 2 WEND PRINT cnt END
| x = int(input()) cnt = 0 while x > 0: cnt = cnt+1 x = x % 2 print(cnt)
|
| Паскаль | Алгоритмический язык |
var x,cnt: integer; begin readln(x); cnt := 0; while x > 0 do begin cnt:=cnt + 1; x := x mod 2 end; writeln(cnt) end.
| алг нач цел x, cnt ввод x cnt := 0 нц пока x > 0 cnt := cnt+1 x := mod(x, 2) кц вывод cnt кон |
| Си++ | |
#include <iostream> using namespace std; int main() { int x,cnt; cin >> x; cnt = 0; while (x > 0) { cnt = cnt + 1; x = x % 2; } cout « cnt « endl; }
| |
Последовательно выполните следующее:
1. Напишите, что выведет эта программа при вводе числа 6.
2. Приведите пример такого числа x, что, несмотря на ошибки, программа печатает правильный ответ.
3. Найдите все ошибки в этой программе (их может быть одна или несколько). Известно, что каждая ошибка затрагивает только одну строку и может быть исправлена без изменения других строк. Для каждой ошибки:
1) выпишите строку, в которой сделана ошибка;
2) укажите, как исправить ошибку, т. е. приведите правильный вариант строки.
Достаточно указать ошибки и способ их исправления для одного языка программирования. Обратите внимание, что требуется найти ошибки в имеющейся программе, а не написать свою, возможно, использующую другой алгоритм решения. Исправление ошибки должно затрагивать только строку, в которой находится ошибка.
Загрузка решений доступна для зарегистрировавшихся пользователей
На обработку поступает натуральное число, не превышающее 109. Нужно написать программу, которая выводит на экран максимальную цифру числа, кратную 3. Если в числе нет цифр, кратных 3, требуется на экран вывести «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 3 = 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 % 3 == 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 3 = 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, 3) = 0 то если digit > maxDigit то maxDigit := digit все все N := div(N,10) кц если maxDigit = 0 то вывод "NO" иначе вывод maxDigit все кон |
| Си++ | |
#include <iostream> using namespace std; int main() { int N, digit, maxDigit; cin >> N; maxDigit = N % 10; while (N > 0) { digit = N % 10; if (digit % 3 == 0) if (digit > maxDigit) maxDigit = digit; N = N / 10; } if (maxDigit == 0) cout << "NO"; else cout << maxDigit<< endl; return 0; }
| |
Последовательно выполните следующее.
1. Напишите, что выведет эта программа при вводе числа 134.
2. Приведите пример такого трёхзначного числа, при вводе которого программа выдаёт верный ответ.
3. Найдите все ошибки в этой программе (их может быть одна или несколько). Известно, что каждая ошибка затрагивает только одну строку и может быть исправлена без изменения других строк. Для каждой ошибки:
1) выпишите строку, в которой сделана ошибка;
2) укажите, как исправить ошибку, т. е. приведите правильный вариант строки.
Достаточно указать ошибки и способ их исправления для одного языка программирования.
Обратите внимание, что требуется найти ошибки в имеющейся программе, а не написать свою, возможно, использующую другой алгоритм решения. Исправление ошибки должно затрагивать только строку, в которой находится ошибка.
Загрузка решений доступна для зарегистрировавшихся пользователей
На обработку поступает положительное целое число, не превышающее 109. Нужно написать программу, которая выводит на экран сумму цифр этого числа, меньших 7. Если в числе нет цифр, меньших 7, требуется на экран вывести 0. Программист написал программу неправильно. Ниже эта программа для Вашего удобства приведена на пяти языках программирования.
| Бейсик | Python |
|---|---|
DIM N, DIGIT, SUM AS LONG INPUT N SUM = 0 WHILE N > 0 DIGIT = N MOD 10 IF DIGIT < 7 THEN SUM = SUM + 1 END IF N = N \ 10 WEND PRINT DIGIT
| N = int(input()) sum = 0 while N > 0: digit = N % 10 if digit < 7: sum = sum + 1 N = N // 10 print(digit)
|
| Паскаль | Алгоритмический язык |
var N, digit, sum: longint; begin readln(N); sum := 0; while N > 0 do begin digit := N mod 10; if digit < 7 then sum := sum + 1; N := N div 10; end; writeln(digit) end.
| алг нач цел N, digit, sum ввод N sum := 0 нц пока N > 0 digit := mod(N,10) если digit < 7 то sum := sum + 1 все N := div(N,10) кц вывод digit кон |
| Си++ | |
#include <iostream> using namespace std; int main() { int N, digit, sum; cin >> N; sum = 0; while (N > 0) { digit = N % 10; if (digit < 7) sum = sum + 1; N = N / 10; } cout << digit<< endl; return 0; }
| |
Последовательно выполните следующее.
1. Напишите, что выведет эта программа при вводе числа 456.
2. Приведите пример такого трёхзначного числа, при вводе которого программа выдаёт верный ответ.
3. Найдите все ошибки в этой программе (их может быть одна или несколько). Известно, что каждая ошибка затрагивает только одну строку и может быть исправлена без изменения других строк. Для каждой ошибки:
1) выпишите строку, в которой сделана ошибка;
2) укажите, как исправить ошибку, т. е. приведите правильный вариант строки.
Достаточно указать ошибки и способ их исправления для одного языка программирования. Обратите внимание, что требуется найти ошибки в имеющейся программе, а не написать свою, возможно, использующую другой алгоритм решения. Исправление ошибки должно затрагивать только строку, в которой находится ошибка.
Загрузка решений доступна для зарегистрировавшихся пользователей
Требовалось написать программу, при выполнении которой с клавиатуры считывается натуральное число A, не превосходящее 109, и выводится произведение его цифр. Программист торопился и написал программу неправильно. (Ниже для Вашего удобства программа представлена на четырёх языках программирования.)
| Бейсик | Паскаль |
|---|---|
DIM A AS LONG DIM pr AS LONG INPUT A pr = 0 WHILE A >= 10 pr = pr * (A MOD 10) A = A \ 10 WEND PRINT pr END
| var A,pr: longint; begin readln(A); pr := 0; while A >= 10 do begin pr:=pr * (A mod 10); A := A div 10; end; writeln(pr); end.
|
| Си++ | Алгоритмический язык |
#include <iostream> using namespace std; int main() { long int A,pr; cin >> A; pr = 0; while (A >= 10) { pr = pr * (A%10); A = A /10; } cout « pr « endl; } | алг нач цел A, pr ввод A pr := 0 нц пока A >= 10 pr := pr * mod (A, 10) A := div(A, 10) кц вывод pr кон |
| Python | |
A = int(input()) pr = 0 while A >= 10: pr = pr * (A % 10) A //= 10 print(pr) | |
Последовательно выполните следующее.
1. Напишите, что выведет эта программа при вводе числа 123.
2. Найдите все ошибки в этой программе (их может быть одна или несколько).
Для каждой ошибки:
а) выпишите строку, в которой сделана ошибка;
б) укажите, как исправить ошибку: приведите правильный вариант строки.
Обратите внимание на то, что требуется найти ошибки в имеющейся программе, а не написать свою, возможно, использующую другой алгоритм решения. Исправление ошибки должно затрагивать только строку, в которой находится ошибка.
Загрузка решений доступна для зарегистрировавшихся пользователей
Требовалось написать программу, при выполнении которой с клавиатуры считывается натуральное число A, не превосходящее 109, и выводится количество цифр в десятичной записи этого числа. Программист торопился и написал программу неправильно. (Ниже для Вашего удобства программа представлена на четырёх языках программирования.)
| Бейсик | Паскаль |
|---|---|
DIM A AS LONG INPUT A cnt = 0 WHILE A > 1 cnt = cnt + A MOD 10 A = A \ 10 WEND PRINT cnt END
| var A: longint; cnt: integer; begin readln(A); cnt := 0; while A > 1 do begin cnt:=cnt + A mod 10; A := A div 10; end; writeln(cnt); end.
|
| Си++ | Алгоритмический язык |
#include <iostream> using namespace std; int main() { long int A; int cnt; cin >> A; cnt = 0; while (A > 1) { cnt = cnt + A%10; A = A /10; } cout « cnt « endl; } | алг нач цел A, cnt ввод A cnt := 0 нц пока A > 1 cnt := cnt + mod(A, 10) A := div(A, 10) кц вывод cnt кон |
| Python | |
A = int(input()) cnt = 0 while A > 1: cnt += A % 10 A //= 10 print(cnt) | |
Последовательно выполните следующее.
1. Напишите, что выведет эта программа при вводе числа 111.
2. Найдите все ошибки в этой программе (их может быть одна или несколько). Для каждой ошибки:
а) выпишите строку, в которой сделана ошибка;
б) укажите, как исправить ошибку: приведите правильный вариант строки.
Обратите внимание на то, что требуется найти ошибки в имеющейся программе, а не написать свою, возможно, использующую другой алгоритм решения. Исправление ошибки должно затрагивать только строку, в которой находится ошибка.
Загрузка решений доступна для зарегистрировавшихся пользователей
Требовалось написать программу, при выполнении которой с клавиатуры считывается натуральное число N, не превосходящее 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 « sum « endl; } | алг нач цел N, sum ввод N sum := 1 нц пока N > 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. Напишите, что выведет эта программа при вводе числа 938.
2. Укажите одно число для которого эта программа будет работать верно.
3. Найдите все ошибки в этой программе (их может быть одна или несколько). Укажите все строки (одну или более), содержащие ошибки, и для каждой такой строки приведите правильный вариант. Обратите внимание, что требуется найти ошибки в имеющейся программе, а не написать свою, возможно, использующую другой алгоритм решения. Исправление ошибки должно затрагивать только строку, в которой находится ошибка.
Загрузка решений доступна для зарегистрировавшихся пользователей
Требовалось написать программу, при выполнении которой с клавиатуры считывается натуральное число N, не превосходящее 109, и выводится количество цифр этого числа. Программист торопился и написал программу неправильно. (Ниже для Вашего удобства программа представлена на четырёх языках программирования).
| Бейсик | Паскаль |
|---|---|
DIM N AS LONG INPUT N sum = 0 WHILE N >= 9 N = N \ 10 sum = sum + 1 WEND PRINT sum END | var N: longint; sum: integer; begin readln(N); sum := 0; while N >= 9 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 = 0; while (N >= 9) { N = N / 10; sum = sum + 1; } cout « sum « endl; } | алг нач цел N, sum ввод N sum := 0 нц пока N >= 9 N := div(N, 10) sum := sum + 1 кц вывод sum кон |
| Python | |
N = int(input()) sum = 0 while N >= 9: N //= 10 sum += 1 print(sum) | |
Последовательно выполните следующее.
1. Напишите, что выведет эта программа при вводе числа 584.
2. Укажите одно число для которого эта программа будет работать верно.
3. Найдите все ошибки в этой программе (их может быть одна или несколько). Укажите все строки (одну или более), содержащие ошибки, и для каждой такой строки приведите правильный вариант.
Обратите внимание, что требуется найти ошибки в имеющейся программе, а не написать свою, возможно, использующую другой алгоритм решения. Исправление ошибки должно затрагивать только строку, в которой находится ошибка.
Загрузка решений доступна для зарегистрировавшихся пользователей
Требовалось написать программу, при выполнении которой с клавиатуры считывается натуральное число N, не превосходящее 109, и выводится произведение цифр этого числа. Программист торопился и написал программу неправильно. (Ниже для Вашего удобства программа представлена на четырёх языках программирования.)
| Бэйсик | Паскаль |
|---|---|
DIM N AS LONG DIM product AS LONG INPUT N product = N mod 10 WHILE N >= 10 digit = N MOD 10 product = product*digit N = N \ 10 WEND PRINT product END
| var N, product: longint; digit: integer; begin readln(N); product := N mod 10; while N >= 10 do begin digit := N mod 10; product := product*digit; N := N div 10; end; writeln(product); end.
|
| Си++ | Алгоритмический язык |
#include <iostream> using namespace std; int main() { long int N, product; int digit; cin >> N; product = N % 10; while (N >= 10) { digit = N % 10; product = product*digit; N = N / 10; } cout << product; } | алг нач цел N, digit, product ввод N product := mod(N, 10) нц пока N >= 10 digit := mod(N, 10) product := product*digit N := div(N, 10) кц вывод product кон |
| Python | |
n = int(input()) product = n % 10 while n >= 10: digit = n % 10 product = product*digit n //= 10 print(product)
| |
Последовательно выполните следующее.
1. Напишите, что выведет эта программа при вводе числа 532.
2. Найдите все ошибки в этой программе (их может быть одна или несколько). Для каждой ошибки:
1) выпишите строку, в которой сделана ошибка;
2) укажите, как исправить ошибку, — приведите правильный вариант строки.
Обратите внимание, что требуется найти ошибки в имеющейся программе, а не написать свою, возможно, использующую другой алгоритм решения. Исправление ошибки должно затрагивать только строку, в которой находится ошибка.
Загрузка решений доступна для зарегистрировавшихся пользователей
Требовалось написать программу, при выполнении которой с клавиатуры считывается натуральное число N, не превосходящее 109, и выводится максимальная цифра этого числа. Программист торопился и написал программу неправильно. (Ниже для Вашего удобства программа представлена на четырёх языках программирования.)
| Бэйсик | Паскаль |
|---|---|
DIM N AS LONG INPUT N max_digit = 9 WHILE N > 9 digit = N MOD 10 IF max_digit < digit THEN max_digit = digit END IF N = N \ 10 WEND PRINT max digit END
| var N: longint; digit, max_digit: integer; begin readln(N); max_digit := 9; while N > 9 do begin digit := N mod 10; if max_digit < digit then max_digit := digit; N := N div 10; end; writeln(max_digit); end.
|
| Си++ | Алгоритмический язык |
#include <iostream> using namespace std; int main() { long int N; int digit, max_digit; cin >> N; max_digit = 9; while (N > 9) { digit = N % 10; if (max_digit < digit) max_digit = digit; N = N /10; } cout « max_digit « endl; } | алг нач цел N, digit, max_digit ввод N max_digit := 9 нц пока N > 9 digit := mod(N, 10) если max_digit < digit то max_digit := digit все N := div(N, 10) кц вывод max_digit кон |
| Python | |
n = int(input()) max_digit = 9 while n > 9: digit = n % 10 if max_digit < digit: max_digit = digit n //= 10; print(max_digit)
| |
Последовательно выполните следующее.
1. Напишите, что выведет эта программа при вводе числа 738.
2. Найдите все ошибки в этой программе (их может быть одна или несколько). Для каждой ошибки:
1) выпишите строку, в которой сделана ошибка;
2) укажите, как исправить ошибку, — приведите правильный вариант строки.
Обратите внимание, что требуется найти ошибки в имеющейся программе, а не написать свою, возможно, использующую другой алгоритм решения. Исправление ошибки должно затрагивать только строку, в которой находится ошибка.
Загрузка решений доступна для зарегистрировавшихся пользователей
Требовалось написать программу, при выполнении которой с клавиатуры считывается натуральное число N, не превосходящее 109, и выводится сумма цифр этого числа. Программист торопился и написал программу неправильно. (Ниже для Вашего удобства программа представлена на четырёх языках программирования.)
| Бэйсик | Паскаль |
|---|---|
DIM N AS LONG INPUT N sum = 0 WHILE N >= 9 digit = N MOD 10 sum = sum + digit N = N \ 10 WEND PRINT sum END
| var N: longint; digit, sum: integer; begin readln(N); sum := 0; while N >= 9 do begin digit := N mod 10; sum := sum + digit; N := N div 10; end; writeln(sum); end.
|
| Си++ | Алгоритмический язык |
#include <iostream> using namespace std; int main() { long int N; int digit, sum; cin >> N; sum = 0; while (N >= 9) { digit = N % 10; sum = sum + digit; N = N / 10; } cout « sum « endl; }
| алг нач цел N, digit, sum ввод N sum := 0 нц пока N >= 9 digit := mod(N, 10) sum := sum + digit N := div(N, 10) кц вывод sum кон |
| Python | |
n = int(input()) sum = 0 while n >= 9: digit = n % 10 sum += digit n //=10; print(sum)
| |
Последовательно выполните следующее.
1. Напишите, что выведет эта программа при вводе числа 352.
2. Найдите все ошибки в этой программе (их может быть одна или несколько). Укажите все строки (одну или более), содержащие ошибки, и для каждой такой строки приведите правильный вариант. Обратите внимание, что требуется найти ошибки в имеющейся программе, а не написать свою, возможно, использующую другой алгоритм решения. Исправление ошибки должно затрагивать только строку, в которой находится ошибка.
3. Укажите одно число для которого эта программа будет работать верно.
Загрузка решений доступна для зарегистрировавшихся пользователей
Требовалось написать программу, при выполнении которой с клавиатуры считывается натуральное число N, не превосходящее 109, и выводится произведение цифр этого числа. Программист торопился и написал программу неправильно. (Ниже для Вашего удобства программа представлена на четырёх языках программирования.)
| Бэйсик | Паскаль |
|---|---|
DIM N AS LONG DIM product AS LONG INPUT N product = 0 WHILE N >= 10 digit = N MOD 10 product = product*digit N = N \ 10 WEND PRINT product END
| var N, product: longint; digit: integer; begin readln(N); product := 0; while N >= 10 do begin digit := N mod 10; product := product*digit; N := N div 10; end; writeln(product); end.
|
| Си++ | Алгоритмический язык |
#include <iostream> using namespace std; int main() { long int N, product; int digit; cin >> N; product = 0; while (N >= 10) { digit = N % 10; product = product*digit; N = N / 10; } cout << product; } | алг нач цел N, digit, product ввод N product := 0 нц пока N >= 10 digit := mod(N, 10) product := product*digit N := div(N, 10) кц вывод product кон |
| Python | |
n = int(input()) product = 0 while n >= 10: digit = n % 10 product = product*digit n //= 10 print(product)
| |
Последовательно выполните следующее.
1. Напишите, что выведет эта программа при вводе числа 429.
2. Найдите все ошибки в этой программе (их может быть одна или несколько). Для каждой ошибки:
1) выпишите строку, в которой сделана ошибка;
2) укажите, как исправить ошибку, — приведите правильный вариант строки.
Обратите внимание, что требуется найти ошибки в имеющейся программе, а не написать свою, возможно, использующую другой алгоритм решения. Исправление ошибки должно затрагивать только строку, в которой находится ошибка.
Загрузка решений доступна для зарегистрировавшихся пользователей
Требовалось написать программу, при выполнении которой с клавиатуры считывается натуральное число N, не превосходящее 109, и выводится минимальная цифра этого числа. Программист торопился и написал программу неправильно. (Ниже для Вашего удобства программа представлена на четырёх языках программирования.)
| Бэйсик | Паскаль |
|---|---|
DIM N AS LONG INPUT N min_digit = 9 WHILE N >= 10 digit = N MOD 10 IF digit < min_digit THEN digit = min_digit END IF N = N \ 10 WEND PRINT min_digit END
| var N: longint; digit, min_digit: integer; begin readln(N); min_digit := 9; while N >= 10 do begin digit := N mod 10; if digit < min_digit then digit := min_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 = 9; while (N >= 10) { digit = N % 10; if (digit < min_digit) digit = min_digit; N = N / 10; } cout << min_digit << endl; } | алг нач цел N, digit, min_digit ввод N min_digit := 9 нц пока N >= 10 digit := mod(N, 10) если digit < min_digit то digit := min_digit все N := div(N, 10) кц вывод min_digit кон |
| Python | |
n = int(input()) min_digit = 9 while n >= 10: digit = n % 10 if digit < min_digit: digit = min_digit n //= 10 print(min_digit)
| |
Последовательно выполните следующее.
1. Напишите, что выведет эта программа при вводе числа 823.
2. Найдите все ошибки в этой программе (их может быть одна или несколько). Для каждой ошибки:
1) выпишите строку, в которой сделана ошибка;
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 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(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 « 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) кц вывод digit кон |
| Python | |
n = int(input()) min_digit = 0 while n > 0: digit = n % 10 if digit < min_digit: min_digit = digit n //= 10 print(digit)
| |
Последовательно выполните следующее.
1. Напишите, что выведет эта программа при вводе числа 862.
2. Найдите все ошибки в этой программе (их может быть одна или несколько). Для каждой ошибки:
1) выпишите строку, в которой сделана ошибка;
2) укажите, как исправить ошибку, — приведите правильный вариант строки.
Обратите внимание, что требуется найти ошибки в имеющейся программе, а не написать свою, возможно, использующую другой алгоритм решения. Исправление ошибки должно затрагивать только строку, в которой находится ошибка.
Загрузка решений доступна для зарегистрировавшихся пользователей
Требовалось написать программу, при выполнении которой с клавиатуры считывается натуральное число N, не превосходящее 109, и выводится максимальная цифра этого числа. Программист торопился и написал программу неправильно. (Ниже для Вашего удобства программа представлена на четырёх языках программирования.)
| Бейсик | Паскаль |
|---|---|
DIM N AS LONG INPUT N max_digit = 9 WHILE N >= 10 digit = N MOD 10 IF digit > max_digit THEN max_digit = digit END IF N = N \ 10 WEND PRINT max_digit END | var N: longint; digit, max_digit: integer; begin readln(N); max_digit := 9; while N >= 10 do begin digit := N mod 10; if digit > max_digit then max_digit := digit; N := N div 10; end; writeln(max_digit); end. |
| Си++ | Алгоритмический |
#include <iostream> using namespace std; int main() { long int N; int digit, max_digit; cin >> N; max_digit = 9; while (N >= 10) { digit = N % 10; if (digit > max_digit) max_digit = digit; N = N /10; } cout « max_digit « endl; } | алг нач цел N, digit, max_digit ввод N max_digit := 9 нц пока N >= 10 digit := mod(N, 10) если digit > max_digit то max_digit := digit все N := div(N, 10) кц вывод max_digit кон |
| Python | |
n = int(input()) max_digit = 9 while n >= 10: digit = n % 10 if digit > max_digit: max_digit = digit n //= 10 print(max_digit) | |
Последовательно выполните следующее.
1. Напишите, что выведет эта программа при вводе числа 423.
2. Найдите все ошибки в этой программе (их может быть одна или несколько). Для каждой ошибки:
1) выпишите строку, в которой сделана ошибка;
2) укажите, как исправить ошибку, — приведите правильный вариант строки.
Обратите внимание, что требуется найти ошибки в имеющейся программе, а не написать свою, возможно, использующую другой алгоритм решения. Исправление ошибки должно затрагивать только строку, в которой находится ошибка.
Загрузка решений доступна для зарегистрировавшихся пользователей
Требовалось написать программу, при выполнении которой с клавиатуры считывается натуральное число N, не превосходящее 109, и выводится сумма чётных цифр в десятичной записи этого числа или 0, если чётных цифр в записи нет. Ученик написал такую программу:
| Бейсик | Паскаль |
|---|---|
DIM N AS LONG INPUT N S = 0 WHILE N > 1 IF N MOD 2 = 0 S = N MOD 10 END IF N = N \ 10 WEND PRINT S END | var N: longint; s: integer; begin readln(N); s := 0; while N > 1 do begin if N mod 2 = 0 then begin s := N mod 10; end; N := N div 10; end; write(s); end. |
| Си++ | Алгоритмический язык |
#include <iostream> using namespace std; int main() { long int N; int s; cin >> N; s = 0; while (N > 1) { if (N%2 == 0) { s = N % 10; } N = N / 10; } cout « s « endl; } | алг нач цел N, s ввод N s := 0 нц пока N > 1 если mod(N,2) = 0 то s := mod(N,10) все N := div(N,10) кц вывод s кон |
| Python | |
N = int(input()) s = 0 while N > 1: if N % 2 == 0: s = N % 10 N //= 10 print(s) | |
Последовательно выполните следующее.
1. Напишите, что выведет эта программа при вводе числа 1984.
2.Приведите пример числа, при вводе которого программа выдаст верный ответ.
3. Найдите в программе все ошибки (их может быть одна или несколько).
Для каждой ошибки выпишите строку, в которой она допущена, и приведите эту же строку в исправленном виде. Обратите внимание: вам нужно исправить приведённую программу, а не написать свою. Вы можете только заменять ошибочные строки, но не можете удалять строки или добавлять новые. Заменять следует только ошибочные строки: за исправления, внесённые в строки, не содержащие ошибок, баллы будут снижаться.
Загрузка решений доступна для зарегистрировавшихся пользователей
Требовалось написать программу, при выполнении которой с клавиатуры считывается натуральное число N, не превосходящее 109, и выводится минимальная цифра этого числа. Программист торопился и написал программу неправильно. (Ниже для Вашего удобства программа представлена на четырёх языках программирования.)
| Бейсик | Паскаль |
|---|---|
DIM N AS LONG INPUT N min_digit = 9 WHILE N >= 10 digit = N MOD 10 IF digit < min_digit THEN min_digit = digit END IF N = N \ 10 WEND PRINT digit END | var N: longint; digit, min_digit: integer; begin readln(N); min_digit := 9; while N >= 10 do begin digit := N mod 10; if digit < min_digit then min_digit := digit; N := N div 10; end; writeln(digit); end. |
| Си++ | Алгоритмический |
#include <iostream> using namespace std; int main() { long int N; int digit, min_digit; cin >> N; min_digit = 9; while (N >= 10) { digit = N % 10; if (digit < min_digit) min_digit = digit; N = N / 10; } cout « digit « endl; } | алг нач цел N, digit, min_digit ввод N min_digit := 9 нц пока N >= 10 digit := mod(N, 10) если digit < min_digit то min_digit := digit все N := div(N, 10) кц вывод digit кон |
| Python | |
N = int(input()) min_digit = 9 while N >= 10: digit = N % 10 if digit < min_digit: min_digit = digit N //= 10 print(digit)
| |
Последовательно выполните следующее.
1. Напишите, что выведет эта программа при вводе числа 547.
2. Найдите все ошибки в этой программе (их может быть одна или несколько). Для каждой ошибки:
1) выпишите строку, в которой сделана ошибка;
2) укажите, как исправить ошибку, — приведите правильный вариант строки.
Обратите внимание, что требуется найти ошибки в имеющейся программе, а не написать свою, возможно, использующую другой алгоритм решения. Исправление ошибки должно затрагивать только строку, в которой находится ошибка.
Загрузка решений доступна для зарегистрировавшихся пользователей
Требовалось написать программу, при выполнении которой с клавиатуры вводится натуральное число, не превосходящее 108, и выводится его первая (старшая) цифра. Ученик написал такую программу:
| Бейсик | Паскаль |
|---|---|
DIM N AS LONG INPUT N WHILE N>10 N = N MOD 10 WEND PRINT N END | var n: longint; begin read(n); while n>10 do begin n := n mod 10 end; write(n); end. |
| Си++ | Алгоритмический |
#include <iostream> using namespace std; int main(){ long int n; cin >> n; while (n>10) { n = n%10; } cout << n; } | алг нач цел n ввод n нц пока n>10 n := mod(n,10) кц вывод n кон |
| Python | |
n = int(input()) while n > 10: n %= 10 print(n) | |
Последовательно выполните следующее.
1. Напишите, что выведет эта программа при вводе числа 1984.
2. Приведите пример числа, при вводе которого программа выдаст верный ответ.
3. Найдите в программе все ошибки (их может быть одна или несколько). Для каждой ошибки выпишите строку, в которой она допущена, и приведите эту же строку в исправленном виде. Обратите внимание: вам нужно исправить приведённую программу, а не написать свою. Вы можете только заменять ошибочные строки, но не можете удалять строки или добавлять новые. Заменять следует только ошибочные строки: за исправления, внесённые в строки, не содержащие ошибок, баллы будут снижаться.
Загрузка решений доступна для зарегистрировавшихся пользователей
Требовалось написать программу, при выполнении которой с клавиатуры вводится натуральное число 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. Найдите в программе все ошибки (их может быть одна или несколько). Для каждой ошибки выпишите строку, в которой она допущена, и приведите эту же строку в исправленном виде. Обратите внимание: вам нужно исправить приведённую программу, а не написать свою. Вы можете только заменять ошибочные строки, но не можете удалять строки или добавлять новые. Заменять следует только ошибочные строки: за исправления, внесённые в строки, не содержащие ошибок, баллы будут снижаться.
Загрузка решений доступна для зарегистрировавшихся пользователей
Требовалось написать программу, которая получает на вход натуральное число 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) Укажите, как исправить ошибку — приведите правильный вариант строки.
Обратите внимание, что требуется найти ошибки в имеющейся программе, а не написать свою, возможно, использующую другой алгоритм решения.
Загрузка решений доступна для зарегистрировавшихся пользователей
Требовалось написать программу, которая получает на вход натуральное число 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) Укажите, как исправить ошибку — приведите правильный вариант строки.
Обратите внимание, что требуется найти ошибки в имеющейся программе, а не написать свою, возможно, использующую другой алгоритм решения.
Загрузка решений доступна для зарегистрировавшихся пользователей
Дано натуральное число 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. Найдите в программе все ошибки (их может быть одна или несколько). Для каждой ошибки выпишите строку, в которой она допущена, и приведите эту же строку в исправленном виде.
Обратите внимание: Вам нужно исправить приведённую программу, а не написать свою. Вы можете только заменять ошибочные строки, но не можете удалять строки или добавлять новые. Заменять следует только ошибочные строки: за исправления, внесённые в строки, не содержащие ошибок, баллы будут снижаться.
Загрузка решений доступна для зарегистрировавшихся пользователей
Дано натуральное число 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 D<9 THEN M = M + D END IF N = N \ 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 < 9 then begin m := m + d; end; n := n 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<9) { m = m + d; } n = n / 10; } cout << m; } | алг нач цел n, m цел d ввод n m := 0 нц пока n>1 d := mod(n,10) если d<9 то m := m + d все n := div(n,10) кц вывод m кон |
| Python | |
n = int(input()) m = 0 while n > 1: d = n % 10 if d < 9: m = m + d n //= 10 print(m) | |
Последовательно выполните следующее.
1. Напишите, что выведет эта программа при вводе числа 1984.
2. Приведите пример числа, при вводе которого программа выдаст верный ответ.
3. Найдите в программе все ошибки (их может быть одна или несколько). Для каждой ошибки выпишите строку, в которой она допущена, и приведите эту же строку в исправленном виде.
Обратите внимание: Вам нужно исправить приведённую программу, а не написать свою. Вы можете только заменять ошибочные строки, но не можете удалять строки или добавлять новые. Заменять следует только ошибочные строки: за исправления, внесённые в строки, не содержащие ошибок, баллы будут снижаться.
Загрузка решений доступна для зарегистрировавшихся пользователей
Программист писал программу, для определения количества цифр в целом положительном числе, не большем 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 << sum << endl; } | алг нач цел N, sum ввод N sum := 1 нц пока N > 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. Укажите одно число для которого эта программа будет работать верно.
Загрузка решений доступна для зарегистрировавшихся пользователей
Требовалось написать программу, при выполнении которой с клавиатуры считывается натуральное число N, не превосходящее 109, и выводится максимальная цифра этого числа. Программист торопился и написал программу неправильно. (Ниже для Вашего удобства программа представлена на четырёх языках программирования.)
| Бэйсик | Паскаль |
|---|---|
DIM N AS LONG INPUT N max_digit = 10 WHILE N >= 10 digit = N MOD 10 IF max_digit < digit THEN max_digit = digit END IF N = N \ 10 WEND PRINT max_digit END
| var N: longint; digit, max_digit: integer; begin readln(N); max_digit := 10; while N >= 10 do begin digit := N mod 10; if max_digit < digit then max_digit := digit; N := N div 10; end; writeln(max_digit); end.
|
| Си++ | Алгоритмический язык |
#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 < digit) max_digit = digit; N = N / 10; } cout « max_digit « endl; }
| алг нач цел N, digit, max_digit ввод N max_digit := 10 нц пока N >= 10 digit := mod(N, 10) если max_digit < digit то max_digit := digit все N := div(N, 10) кц вывод max_digit кон |
| Python | |
n = int(input()) max_digit = 10 while n >= 10: digit = n % 10 if max_digit < digit: max_digit = digit n //= 10 print(max_digit) | |
Последовательно выполните следующее.
1. Напишите, что выведет эта программа при вводе числа 528.
2. Найдите все ошибки в этой программе (их может быть одна или несколько). Для каждой ошибки:
1) выпишите строку, в которой сделана ошибка;
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) укажите, как исправить ошибку, — приведите правильный вариант строки.
Обратите внимание, что требуется найти ошибки в имеющейся программе, а не написать свою, возможно, использующую другой алгоритм решения. Исправление ошибки должно затрагивать только строку, в которой находится ошибка.
Загрузка решений доступна для зарегистрировавшихся пользователей
На обработку поступает натуральное число, не превышающее 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 << "NO"; return 0; }
| |
Последовательно выполните следующее.
1. Напишите, что выведет эта программа при вводе числа 578.
2. Приведите пример такого трёхзначного числа, при вводе которого программа выдаёт верный ответ.
3. Найдите все ошибки в этой программе (их может быть одна или несколько). Известно, что каждая ошибка затрагивает только одну строку и может быть исправлена без изменения других строк. Для каждой ошибки:
1) выпишите строку, в которой сделана ошибка;
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 << "NO"; return 0; }
| |
Последовательно выполните следующее.
1. Напишите, что выведет эта программа при вводе числа 357.
2. Приведите пример такого трёхзначного числа, при вводе которого программа выдаёт верный ответ.
3. Найдите все ошибки в этой программе (их может быть одна или несколько). Известно, что каждая ошибка затрагивает только одну строку и может быть исправлена без изменения других строк. Для каждой ошибки:
1) выпишите строку, в которой сделана ошибка;
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 << "NO"; else cout << count << endl; return 0; }
| |
Последовательно выполните следующее.
1. Напишите, что выведет эта программа при вводе числа 164.
2. Приведите пример такого трёхзначного числа, при вводе которого программа выдаёт верный ответ.
3. Найдите все ошибки в этой программе (их может быть одна или несколько). Известно, что каждая ошибка затрагивает только одну строку
и может быть исправлена без изменения других строк. Для каждой ошибки:
1) выпишите строку, в которой сделана ошибка;
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 << sum << endl; else cout << "NO"<< endl; return 0; }
| |
Последовательно выполните следующее.
1. Напишите, что выведет эта программа при вводе числа 645.
2. Приведите пример такого трёхзначного числа, при вводе которого программа выдаёт верный ответ.
3. Найдите все ошибки в этой программе (их может быть одна или несколько). Известно, что каждая ошибка затрагивает только одну строку и может быть исправлена без изменения других строк. Для каждой ошибки:
1) выпишите строку, в которой сделана ошибка;
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 < K THEN K = N MOD 100 END IF N = N \ 100 WEND PRINT K END
| n = int(input()) k = 100 while n > 100: if n%100 < k: k = n%100 n = n // 100 print(k)
|
| Паскаль | Алгоритмический язык |
var n, k: integer; begin read(n); k := 100; 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 := 100 нц пока 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 = 100; while (n > 100) { if (n%100 < k) k = n%100; n = n/100; } cout << k << endl; return 0; }
| |
Последовательно выполните следующее.
1. Напишите, что выведет эта программа при вводе N=6789.
2. Приведите два возможных значения N, при вводе которых программа выведет верный ответ. Укажите этот ответ.
3. Найдите в программе все ошибки (их может быть одна или несколько).
Для каждой ошибки выпишите строку, в которой она допущена, и приведите эту же строку в исправленном виде.
Достаточно указать ошибки и способ их исправления для одного языка программирования.
Обратите внимание: Вам нужно исправить приведённую программу, а не написать свою. Вы можете только заменять ошибочные строки, но не можете удалять строки или добавлять новые. Заменять следует только ошибочные строки: за исправления, внесённые в строки, не содержащие ошибок, баллы будут снижаться.
Загрузка решений доступна для зарегистрировавшихся пользователей
Дано натуральное число 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. Найдите в программе все ошибки (их может быть одна или несколько).
Для каждой ошибки выпишите строку, в которой она допущена, и приведите эту же строку в исправленном виде.
Достаточно указать ошибки и способ их исправления для одного языка программирования.
Обратите внимание: Вам нужно исправить приведённую программу, а не написать свою. Вы можете только заменять ошибочные строки, но не можете удалять строки или добавлять новые. Заменять следует только ошибочные строки: за исправления, внесённые в строки, не содержащие ошибок, баллы будут снижаться.
Загрузка решений доступна для зарегистрировавшихся пользователей
На обработку поступает натуральное число, не превышающее 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 << "NO" << endl; else cout << maxDigit << endl; return 0; }
| |
Последовательно выполните следующее.
1. Напишите, что выведет эта программа при вводе числа 132.
2. Приведите пример такого трёхзначного числа, при вводе которого программа выдаёт верный ответ.
3. Найдите все ошибки в этой программе (их может быть одна или несколько). Известно, что каждая ошибка затрагивает только одну строку и может быть исправлена без изменения других строк. Для каждой ошибки:
1) выпишите строку, в которой сделана ошибка;
2) укажите, как исправить ошибку, т. е. приведите правильный вариант строки.
Достаточно указать ошибки и способ их исправления для одного языка программирования.
Обратите внимание, что требуется найти ошибки в имеющейся программе, а не написать свою, возможно, использующую другой алгоритм решения. Исправление ошибки должно затрагивать только строку, в которой находится ошибка.
Загрузка решений доступна для зарегистрировавшихся пользователей
В натуральном числе N (0 < N < 109) необходимо подсчитать количество цифр десятичной записи, чётность которых совпадает с чётностью последней цифры числа 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 << k; return 0; }
| |
Последовательно выполните следующее.
1. Напишите, что выведет эта программа при вводе N = 1961.
2. Назовите минимальное N, большее 100, при котором программа выведет верный ответ.
3. Найдите в программе все ошибки (известно, что их не более двух). Для каждой ошибки выпишите строку, в которой она допущена, и приведите эту же строку в исправленном виде.
Достаточно указать ошибки и способ их исправления для одного языка программирования.
Обратите внимание: Вам нужно исправить приведённую программу, а не написать свою. Вы можете только заменять ошибочные строки, но не можете удалять строки или добавлять новые. Заменять следует только ошибочные строки: за исправления, внесённые в строки, не содержащие ошибок, баллы будут снижаться.
Загрузка решений доступна для зарегистрировавшихся пользователей
В натуральном числе N (0 < N < 109) необходимо подсчитать количество цифр десятичной записи, чётность которых совпадает с чётностью последней цифры числа 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 << k; return 0; }
| |
Последовательно выполните следующее.
1. Напишите, что выведет эта программа при вводе N = 1980.
2. Назовите минимальное трёхзначное N, при котором программа выведет верный ответ.
3. Найдите в программе все ошибки (известно, что их не более двух). Для каждой ошибки выпишите строку, в которой она допущена, и приведите эту же строку в исправленном виде.
Достаточно указать ошибки и способ их исправления для одного языка программирования.
Обратите внимание: Вам нужно исправить приведённую программу, а не написать свою. Вы можете только заменять ошибочные строки, но не можете удалять строки или добавлять новые. Заменять следует только ошибочные строки: за исправления, внесённые в строки, не содержащие ошибок, баллы будут снижаться.
Загрузка решений доступна для зарегистрировавшихся пользователей
Дано натуральное число 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 << "NO"; else cout << m; return 0; }
| |
Последовательно выполните следующее.
1. Напишите, что выведет эта программа при вводе N = 864.
2. Какое наибольшее число может стать результатом работы этой программы? Приведите пример числа N, при вводе которого программа выведет такой ответ.
3. Найдите в программе все ошибки (известно, что их не более двух). Для каждой ошибки выпишите строку, в которой она допущена, и приведите эту же строку в исправленном виде.
Достаточно указать ошибки и способ их исправления для одного языка программирования.
Обратите внимание: Вам нужно исправить приведённую программу, а не написать свою. Вы можете только заменять ошибочные строки, но не можете удалять строки или добавлять новые. Заменять следует только ошибочные строки: за исправления, внесённые в строки, не содержащие ошибок, баллы будут снижаться.
Загрузка решений доступна для зарегистрировавшихся пользователей
Дано натуральное число 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 << "NO"; else cout << m; return 0; }
| |
Последовательно выполните следующее.
1. Напишите, что выведет эта программа при вводе N = 143.
2. Какое наменьшее число может стать результатом работы этой программы? Приведите пример числа N, при вводе которого программа выведет такой ответ.
3. Найдите в программе все ошибки (известно, что их не более двух). Для каждой ошибки выпишите строку, в которой она допущена, и приведите эту же строку в исправленном виде.
Достаточно указать ошибки и способ их исправления для одного языка программирования.
Обратите внимание: Вам нужно исправить приведённую программу, а не написать свою. Вы можете только заменять ошибочные строки, но не можете удалять строки или добавлять новые. Заменять следует только ошибочные строки: за исправления, внесённые в строки, не содержащие ошибок, баллы будут снижаться.
Загрузка решений доступна для зарегистрировавшихся пользователей
Дано натуральное число 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 < MINDIGIT THEN DIGIT = MINDIGIT END IF END IF N = N \ 10 WEND IF MINDIGIT <= 9 THEN PRINT MINDIGIT ELSE PRINT "NO" END IF END
| n = int(input()) mindigit = n%10 while n > 0: digit = n % 10 if digit%2 != 0: if digit < mindigit: digit = mindigit n = n // 10 if mindigit <= 9: print(mindigit) else: print("NO")
|
| Паскаль | Алгоритмический язык |
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 < mindigit then digit := mindigit; n := n div 10; end; if mindigit <= 9 then writeln(mindigit) else writeln('No') end.
| алг нач цел n, digit, mindigit ввод n mindigit := mod(n,10) нц пока n > 0   digit := mod(n,10) если mod(digit,2)<>0 то если digit < mindigit то digit = mindigit все все   n := div(n,10) кц если mindigit <= 9 то вывод mindigit иначе вывод "NO" все кон |
| С++ | |
#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 < mindigit) digit = mindigit; n = n / 10;  } if (mindigit <= 9) cout << mindigit; else cout << "NO"; return 0; }
| |
Последовательно выполните следующее.
1. Напишите, что выведет эта программа при вводе N = 134.
2. Приведите пример числа N, при вводе которого программа выведет правильный ответ.
3. Найдите в программе все ошибки (известно, что их не более двух). Для каждой ошибки выпишите строку, в которой она допущена, и приведите эту же строку в исправленном виде.
Достаточно указать ошибки и способ их исправления для одного языка программирования.
Обратите внимание: Вам нужно исправить приведённую программу, а не написать свою. Вы можете только заменять ошибочные строки, но не можете удалять строки или добавлять новые. Заменять следует только ошибочные строки: за исправления, внесённые в строки, не содержащие ошибок, баллы будут снижаться.
Загрузка решений доступна для зарегистрировавшихся пользователей
На обработку поступает натуральное число, не превышающее 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 < MINDIGIT THEN MINDIGIT = DIGIT END IF END IF N = N \ 10 WEND IF MINDIGIT = 0 THEN PRINT "NO" ELSE PRINT MINDIGIT END IF
| N = int(input()) minDigit = N % 10 while N > 0: digit = N % 10 if digit % 2 == 0: if digit < minDigit: minDigit = digit N = N // 10 if minDigit == 0: print("NO") else: print(minDigit)
|
| Паскаль | Алгоритмический язык |
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 < minDigit then minDigit := digit; N := N div 10; end; if minDigit = 0 then writeln('NO') else writeln(minDigit); end.
| алг нач цел N, digit, minDigit ввод N minDigit := mod(N,10) нц пока N > 0 digit := mod(N,10) если mod(digit, 2) = 0 то если digit < minDigit то minDigit := digit все все N := div(N,10) кц если minDigit = 0 то вывод "NO" иначе вывод minDigit все кон |
| Си++ | |
#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 < minDigit) minDigit = digit; N = N / 10; } if (minDigit == 0) cout << "NO" << endl; else cout << minDigit << endl; return 0; }
| |
Последовательно выполните следующее.
1. Напишите, что выведет эта программа при вводе числа 231.
2. Приведите пример такого трёхзначного числа, при вводе которого приведённая программа, несмотря на ошибки, выдаёт верный ответ.
3. Найдите допущенные программистом ошибки и исправьте их. Исправление ошибки должно затрагивать только строку, в которой находится ошибка. Для каждой ошибки:
1) выпишите строку, в которой сделана ошибка;
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 < M THEN M = S END IF N = N \ 10 WEND PRINT M
| n = int(input()) m = 10 while n >= 10: d1 = n // 10 d2 = n // 10 % 10 s = d1 + d2 if s < m: m = s n //= 10 print(m)
|
| Паскаль | Алгоритмический язык |
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 < m then m := s; n := n div 10 end; writeln(m); end.
| алг нач цел n,m,d1,d2,s ввод n m := 10 нц пока n >= 10 d1 := div(n,10) d2 := mod(div(n,10),10) s := d1 + d2 если s < m то m := s все n := div(n,10) кц вывод m кон |
| С++ | |
#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 < m) m = s; n /= 10; } cout << m; return 0; }
| |
Последовательно выполните следующее.
1. Напишите, что выведет эта программа при вводе N = 2018.
2. Приведите пример числа N, при котором программа выведет верный ответ. Укажите этот ответ.
3. Найдите в программе все ошибки (известно, что их не больше двух) и исправьте их. Для каждой ошибки выпишите строку, в которой она допущена, и приведите эту же строку в исправленном виде.
Достаточно указать ошибки и способ их исправления для одного языка программирования.
Обратите внимание: Вам нужно исправить приведённую программу, а не написать свою. Вы можете только заменять ошибочные строки, но не можете удалять строки или добавлять новые. Заменять следует только ошибочные строки: за исправления, внесённые в строки, не содержащие ошибок, баллы будут снижаться.
Загрузка решений доступна для зарегистрировавшихся пользователей
Дано целое положительное число 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 << m; return 0; }
| |
Последовательно выполните следующее.
1. Напишите, что выведет эта программа при вводе N = 2018.
2. Приведите пример числа N, при котором программа выведет верный ответ. Укажите этот ответ.
3. Найдите в программе все ошибки (известно, что их не больше двух) и исправьте их. Для каждой ошибки выпишите строку, в которой она допущена, и приведите эту же строку в исправленном виде.
Достаточно указать ошибки и способ их исправления для одного языка программирования.
Обратите внимание: Вам нужно исправить приведённую программу, а не написать свою. Вы можете только заменять ошибочные строки, но не можете удалять строки или добавлять новые. Заменять следует только ошибочные строки: за исправления, внесённые в строки, не содержащие ошибок, баллы будут снижаться.
Загрузка решений доступна для зарегистрировавшихся пользователей
Дано целое положительное число 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 << m; return 0; }
| |
Последовательно выполните следующее.
1. Приведите пример числа N, при котором программа выведет верный ответ. Укажите этот ответ.
2. Приведите пример числа N, при котором программа выведет неверный ответ. Укажите верный ответ и ответ программы.
3. Найдите в программе все ошибки (известно, что их не больше двух) и исправьте их. Для каждой ошибки выпишите строку, в которой она допущена, и приведите эту же строку в исправленном виде.
Достаточно указать ошибки и способ их исправления для одного языка программирования.
Обратите внимание: Вам нужно исправить приведённую программу, а не написать свою. Вы можете только заменять ошибочные строки, но не можете удалять строки или добавлять новые. Заменять следует только ошибочные строки: за исправления, внесённые в строки, не содержащие ошибок, баллы будут снижаться.
Загрузка решений доступна для зарегистрировавшихся пользователей
На обработку поступает последовательность из четырёх неотрицательных целых чисел (некоторые числа могут быть одинаковыми). Нужно написать программу, которая выводит на экран количество всех чисел исходной последовательности, которые делятся без остатка на 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 <= n; i++){ cin >> x; if(x % 7 == 0){ count = count + 1; sum = x; } } if(sum > 0) { cout << count << endl; cout << sum << endl; } else cout << "NO"; return 0; }
| |
Последовательно выполните следующее.
1. Напишите, что выведет эта программа при вводе последовательности: 35 50 70 80.
2. Приведите пример последовательности, в которой есть хотя бы одно число, делящееся на без остатка 7, при вводе которой, несмотря на ошибки, программа печатает правильный ответ.
3. Найдите все ошибки в этой программе (их может быть одна или несколько). Известно, что каждая ошибка затрагивает только одну строку и может быть исправлена без изменения других строк. Для каждой ошибки:
1) выпишите строку, в которой сделана ошибка;
2) укажите, как исправить ошибку, т. е. приведите правильный вариант строки.
Достаточно указать ошибки и способ их исправления для одного языка программирования.
Обратите внимание на то, что требуется найти ошибки в имеющейся программе, а не написать свою, возможно, использующую другой алгоритм решения. Исправление ошибки должно затрагивать только строку, в которой находится ошибка.
Загрузка решений доступна для зарегистрировавшихся пользователей
На обработку поступает натуральное число, не превышающее 109. Нужно написать программу, которая выводит на экран максимальную цифру числа, кратную 3. Если в числе нет цифр, кратных 3, требуется на экран вывести «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 3 = 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 % 3 == 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 3 = 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, 3) = 0 то если digit > maxDigit то maxDigit := digit все все N := div(N,10) кц если maxDigit = 0 то вывод "NO" иначе вывод maxDigit все кон |
| Си++ | |
#include <iostream> using namespace std; int main() { int N, digit, maxDigit; cin >> N; maxDigit = N % 10; while (N > 0) { digit = N % 10; if (digit % 3 == 0) if (digit > maxDigit) maxDigit = digit; N = N / 10; } if (maxDigit == 0) cout << "NO"; else cout << maxDigit<< endl; return 0; }
| |
Последовательно выполните следующее.
1. Напишите, что выведет эта программа при вводе числа 134.
2. Приведите пример такого трёхзначного числа, при вводе которого программа выдаёт верный ответ.
3. Найдите все ошибки в этой программе (их может быть одна или несколько). Известно, что каждая ошибка затрагивает только одну строку и может быть исправлена без изменения других строк. Для каждой ошибки:
1) выпишите строку, в которой сделана ошибка;
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 << R << endl; return 0; }
| |
Последовательно выполните следующее.
1. Напишите, что выведет эта программа при вводе числа 241.
2. Приведите пример входного числа N, при котором приведённая программа, несмотря на ошибки, выдаёт верный ответ.
3. Найдите допущенные программистом ошибки и исправьте их.
Исправление ошибки должно затрагивать только строку, в которой находится ошибка. Для каждой ошибки:
1) выпишите строку, в которой сделана ошибка;
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<=4; ++i) { cin >> x; dx = x % 10; if (dx > 0) { if (x % dx > 0) s += dx; } cout << s; return 0; }
| |
Последовательно выполните следующее.
1. Напишите, что выведет эта программа при вводе чисел 3, 12, 23, 37.
2. Приведите пример исходных данных, при вводе которых программа, несмотря на ошибки, выведет верный ответ
3. Найдите в программе все ошибки (известно, что их не больше двух) и исправьте их. Для каждой ошибки выпишите строку, в которой она допущена, и приведите эту же строку в исправленном виде.
Загрузка решений доступна для зарегистрировавшихся пользователей
Дано целое положительное число 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 << k << ' ' << s; else cout << "NO"; return 0; }
| |
Последовательно выполните следующее.
1. Напишите, что выведет эта программа при вводе N = 2018.
2. Приведите пример трёхзначного числа N, содержащего хотя бы одну чётную цифру, при вводе которого программа выведет верный ответ.
3. Найдите в программе все ошибки (известно, что их не больше двух) и исправьте их. Для каждой ошибки выпишите строку, в которой она допущена, и приведите эту же строку в исправленном виде.
Загрузка решений доступна для зарегистрировавшихся пользователей
Дано целое положительное число 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 << k << ' ' << s; else cout << "NO"; return 0; }
| |
Последовательно выполните следующее.
1. Напишите, что выведет эта программа при вводе N = 3961.
2. Приведите пример трёхзначного числа N, содержащего хотя бы одну кратную 3 цифру, при вводе которого программа выведет верный ответ.
3. Найдите в программе все ошибки (известно, что их не больше двух) и исправьте их. Для каждой ошибки выпишите строку, в которой она допущена, и приведите эту же строку в исправленном виде.
Загрузка решений доступна для зарегистрировавшихся пользователей
Даны 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<=4; ++i) { cin >> x; dx = x / 10; if (dx > 0) { if (x % dx == 0) s = x; } cout << s; return 0; }
| |
Последовательно выполните следующее.
1. Напишите, что выведет эта программа при вводе чисел 3, 12, 39, 45.
2. Приведите пример исходных данных, при вводе которых программа, несмотря на ошибки, выведет верный ответ
3. Найдите в программе все ошибки (известно, что их не больше двух) и исправьте их. Для каждой ошибки выпишите строку, в которой она допущена, и приведите эту же строку в исправленном виде.
Загрузка решений доступна для зарегистрировавшихся пользователей