Напишите, что выведет программа при вводе числа 537? - Pascal
Формулировка задачи:
Требовалось написать программу, при выполнении которой с клавиатуры
считывается натуральное число N, не превосходящее 10^9, и выводится
минимальная цифра этого числа. Программист торопился и написал
программу неправильно. PASCAL
Последовательно выполните следующее.
1. Напишите, что выведет эта программа при вводе числа 537?
2. Приведите пример такого числа, при котором программа работает верно.
3.Укажите все ошибки в программе и исправьте их.Для этого для каждой ошибки выпишите строку ,которая написана неправильно и приведите правильный вариант строки.
var N,k:integer; begin readln(N); k:=9; while N > 10 do begin if N mod 10 k:=N mod 10; N:N div 10; end; write(k) end.
Решение задачи: «Напишите, что выведет программа при вводе числа 537?»
textual
Листинг программы
var N,k:longint; begin readln(N); k:=9; while N > 0 do begin if N mod 10<k then k:=N mod 10; N:=N div 10; end; write(k) end.
Объяснение кода листинга программы
- Ввод числа N с помощью функции readln
- Инициализация переменной k значением 9
- Цикл while, который выполняется до тех пор, пока N больше 0
- Внутри цикла проверка, если N mod 10 меньше или равно k, то значение k присваивается N mod 10
- Деление N на 10 с помощью функции div
- После каждой итерации циклы значение N уменьшается на 10
- По завершении цикла выводится значение k с помощью функции write