Написать программу, которая проверяет, является ли введенная с клавиатуры строка целым...

0 голосов
79 просмотров

Написать программу, которая проверяет, является ли введенная с клавиатуры строка целым числом


Информатика (12 баллов) | 79 просмотров
0

как обозначается НЕ целое число-запятая или точка?

Дан 1 ответ
0 голосов
VAR
   s: String;
   i: LongInt;
BEGIN
   Read(s);

   for i := 1 to Length(s) do 
      if not((Ord(s[i]) > 47)and(Ord(s[i]) < 58)) then begin
      Write(s,' - не является целым число'); Exit; 
   end;

   Write(s,' - целое число'); 
END.
(733 баллов)
0

решение офигенное, вытащил целое значение и все, вот только никак не въеду нафига 47 и 58... это что?

0

Ord() - функция которая возвращает код символа. Код "0" = 48, код "1" = 49, ... , код "9" = 57. Если строка является целым числом, то в ней встречаются только цифры (коды от 48 до 57).