Определить, является ли число целым, натуральным или действительным - Turbo Pascal
Формулировка задачи:
Нужно написать программу которая будет определять является ли число x целым, натуральным или действительным ?
Если не трудно подскажите что означают строки и команды . Спасибо огромное !!
Решение задачи: «Определить, является ли число целым, натуральным или действительным»
textual
Листинг программы
var x: string; {строковое представление числа} n: longint; {переменная для целого и натурального числа} err: integer; {переменная для ошибки преобразования строки в число} r: real; {переменная для действительного числа} begin write('x = '); {печать приглашения для ввода} readln(x); {ввод строкового представления предполагаемого числа} val(x, n, err); {пытаемся преобразовать строку в целое число} if err = 0 {если ошибок не возникло,} then if n > 0 {то, если число > 0,} then write('Natural number') {то считаем число натуральным} else write('Integer number') {иначе считаем число целым,} else begin {иначе, если НЕ удалось преобразовать в целое число, то} val(x, r, err); {пытаемся преобразовать строку в действительное число} if err = 0 {если ошибок не возникло,} then write('Real number') {то считаем число действительным} else write('It is not number.') {иначе считаем, что строка не является числом} end; readln {ждём нажатия клавиши <Enter> перед закрытием программы} end.
Объяснение кода листинга программы
- Объявлены переменные: x (строковое представление числа), n (для целого и натурального числа), err (для ошибки преобразования строки в число), r (для действительного числа).
- Выводится приглашение для ввода числа.
- Происходит чтение строкового представления числа.
- Происходит попытка преобразования строки в целое число с помощью функции val.
- Если err = 0 (то есть, преобразование прошло успешно), то проверяется, является ли полученное число натуральным (больше 0).
- Если условие выполняется, то выводится сообщение
Natural number
. - Если условие не выполняется, то выводится сообщение
Integer number
. - Если err не равно 0 (то есть, преобразование не удалось), то происходит попытка преобразования строки в действительное число с помощью функции val.
- Если err = 0, то выводится сообщение
Real number
. - Если err не равно 0, то выводится сообщение
It is not number.
. - Происходит чтение строки до нажатия клавиши
. - Программа завершается.