Дано натуральное число N (N ≤ 109). Необходимо найти и вывести наибольшую нечётную цифру в десятичной записи N или вывести сообщение «NO», если таких цифр нет. Для решения этой задачи ученик написал программу, но, к сожалению, его программа неправильная. Ниже эта программа для Вашего удобства приведена на пяти языках программирования. Бейсик | Python DIM N, D, M, T AS INTEGER INPUT N T = 0 M = T WHILE N > 1 D = N MOD 10 IF D MOD 2 = 1 OR D > M THEN M = D END IF N = N \ 10 WEND IF M = T THEN PRINT "NO" ELSE PRINT M END IF END | N = int(input()) t = 0 m = t while N > 1: d = N % 10 if d%2 == 1 or d > m: m = d N = N // 10 if m == t: print("NO") else: print(m) Паскаль | Алгоритмический язык var N, d, m, t: integer; begin read(N); t := 0; m := t; while N > 1 do begin d := N mod 10; if (d mod 2 = 1) or (d>m) then m := d; N := N div 10 end; if m = t then writeln('NO') else writeln(m) end. | алг нач цел N, d, m, t ввод N t := 0 m := t нц пока N > 1 d := mod(N,10) если mod(d,2)=1 или d>m то m := d все N := div(N,10) кц если m = t то вывод "NO" иначе вывод m все кон С++ #include <iostream> using namespace std; int main(){ int N, d, m, t; cin >> N; t = 0; m = t; while (N > 1) { d = N % 10; if (d % 2 == 1 || d > m) m = d; N = N / 10; } if (m == t) cout Последовательно выполните следующее. 1. Напишите, что выведет эта программа при вводе N = 143. 2. Какое наменьшее число может стать результатом работы этой программы? Приведите пример числа N, при вводе которого программа выведет такой ответ. 3. Найдите в программе все ошибки (известно, что их не более двух). Для каждой ошибки выпишите строку, в которой она допущена, и приведите эту же строку в исправленном виде. Достаточно указать ошибки и способ их исправления для одного языка программирования. Обратите внимание: Вам нужно исправить приведённую программу, а не написать свою. Вы можете только заменять ошибочные строки, но не можете удалять строки или добавлять новые. Заменять следует только ошибочные строки: за исправления, внесённые в строки, не содержащие ошибок, баллы будут снижаться.

Средний уровеньЗадание

Дано натуральное число N (N ≤ 109). Необходимо найти и вывести наибольшую нечётную цифру в десятичной записи N или вывести сообщение «NO», если таких цифр нет. Для решения этой задачи ученик написал программу, но, к сожалению, его программа неправильная. Ниже эта программа для Вашего удобства приведена на пяти языках программирования. Бейсик | Python DIM N, D, M, T AS INTEGER INPUT N T = 0 M = T WHILE N > 1     D = N MOD 10     IF D MOD 2 = 1 OR D > M THEN         M = D     END IF     N = N \ 10 WEND IF M = T THEN     PRINT "NO" ELSE     PRINT M END IF END | N = int(input()) t = 0 m = t while N > 1:     d = N % 10     if d%2 == 1 or d > m:         m = d     N = N // 10 if m == t:     print("NO") else:     print(m) Паскаль | Алгоритмический язык var N, d, m, t: integer; begin     read(N);     t := 0;     m := t;     while N > 1 do begin         d := N mod 10;         if (d mod 2 = 1) or (d>m) then             m := d;         N := N div 10     end;     if m = t         then writeln('NO')         else writeln(m) end. | алг нач     цел N, d, m, t     ввод N      t := 0      m := t      нц пока N > 1         d := mod(N,10)         если mod(d,2)=1 или d>m то             m := d         все         N := div(N,10)      кц      если m = t         то вывод "NO"         иначе вывод m     все кон С++ #include <iostream> using namespace std; int main(){     int N, d, m, t;     cin >> N;     t = 0;     m = t;     while (N > 1) {         d = N % 10;         if (d % 2 == 1 || d > m)             m = d;         N = N / 10;     }     if (m == t)         cout Последовательно выполните следующее. 1.  Напишите, что выведет эта программа при вводе N = 143. 2.  Какое наменьшее число может стать результатом работы этой программы? Приведите пример числа N, при вводе которого программа выведет такой ответ. 3.  Найдите в программе все ошибки (известно, что их не более двух). Для каждой ошибки выпишите строку, в которой она допущена, и приведите эту же строку в исправленном виде. Достаточно указать ошибки и способ их исправления для одного языка программирования. Обратите внимание: Вам нужно исправить приведённую программу, а не написать свою. Вы можете только заменять ошибочные строки, но не можете удалять строки или добавлять новые. Заменять следует только ошибочные строки: за исправления, внесённые в строки, не содержащие ошибок, баллы будут снижаться.

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