![]()
|
|||
Бейсик. Паскаль. Алгоритмический языкСтр 1 из 2Следующая ⇒
1. Требовалось написать программу, при выполнении которой с клавиатуры считывается натуральное число N, не превосходящее 109, и выводится минимальная цифра этого числа. Программист торопился и написал программу неправильно. (Ниже для Вашего удобства программа представлена на четырёх языках программирования.) Бейсик DIM N AS LONG INPUT N min_digit = 0 DO WHILE N >= 10 digit = N MOD 10 IF digit < min_digit THEN min_digit = digit END IF N = N \ 10 LOOP PRINT min_digit END Си #include<stdio.h> int main() { long int N; int digit, min_digit; scanf("%ld", &N); min_digit = 0; do { digit = N % 10; if (digit < min_digit) min_digit = digit; N = N /10; } while (N >= 10) printf("%d", min_digit); } Паскаль var N: longint; digit, min_digit: integer; begin readln(N); min_digit := 0; repeat digit := N mod 10; if digit < min_digit then min_digit := digit; N := N div 10; until N >= 10 writeln(min_digit); end. Алгоритмический язык алг нач цел N, digit, min_digit ввод N min_digit := 0 нц digit := mod(N, 10) если digit < min_digit то min_digit := digit все N := div(N, 10) кц при N >= 10 вывод min_digit кон Последовательно выполните следующее. 1. Напишите, что выведет эта программа при вводе числа 635. 2. Найдите все ошибки в этой программе (их может быть одна или несколько). Для каждой ошибки: 1) выпишите строку, в которой сделана ошибка; 2) укажите, как исправить ошибку, – приведите правильный вариант строки. Обратите внимание, что требуется найти ошибки в имеющейся программе, а не написать свою, возможно, использующую другой алгоритм решения. Исправление ошибки должно затрагивать только строку, в которой находится ошибка.
2. На обработку поступает положительное целое число, не превышающее 109. Нужно написать программу, которая выводит на экран сумму цифр этого числа, меньших 7. Если в числе нет цифр, меньших 7, требуется на экран вывести 0. Программист написал программу неправильно.
|
|||
|