Определение типа переменной - строковый или целочисленный - Pascal

Узнай цену своей работы

Формулировка задачи:

Добрый вечер! Необходима помощь в проверке числа что это число, и проверки строки что это строка. Помогите плз. нужен только вот этот кусочек кода. Заранее благодарен.
repeat 
writeln('введите число');
read(n)
until  n in  {а как задать такое множество(учитывать и отрицательные)
 я не знаю:( помогите}

Решение задачи: «Определение типа переменной - строковый или целочисленный»

textual
Листинг программы
var st:string;
s,x1:integer;
begin
writeln('Введите количество кошек[1..1000]: ');
readln(s);
st:='';
  if (s>=100) and (s<=999) then
    begin
      x1:=s div 100;
      s:= s mod 100;
        case s of
          1:st:=st+'сто ';
          2:st:=st+'двесте ';
          3:st:=st+'сриста ';
          4:st:=st+'четыриста ';
          5:st:=st+'пятсот ';
          6:st:=st+'шестсот ';
          7:st:=st+'семсот ';
          8:st:=st+'восемсот ';
          9:st:=st+'девятсот ';
        end;
    end;    
  if (s>=10) and (s<=99) then
    begin
      x1:= s div 10; s:=s mod 10;
        case x1 of
          2:st:=st+'дватсять ';
          3:st:=st+'тридцать ';
          4:st:=st+'сорок ';
          5:st:=st+'пятидесят ';
          6:st:=st+'шестьдисят ';
          7:st:=st+'семдисят ';
          8:st:=st+'восмидесят ';
          9:st:=st+'девяносто ';
          1:case s of 
            1:st:=st+'одинадцать ';
            2:st:=st+'двенадцать ';
            3:st:=st+'тринадцать ';
            4:st:=st+'четырнадцать ';
            5:st:=st+'пятнадцать ';
            6:st:=st+'шестнадцать ';
            7:st:=st+'семнадцать ';
            8:st:=st+'восемнадцать ';
            9:st:=st+'девятнадцать ';
           end;
        end;
    end;
  if(s>=1) and (s<=s) and (X1<>1) then
    case s of 
            1:st:=st+'одина ';
            2:st:=st+'две ';
            3:st:=st+'три ';
            4:st:=st+'четыре ';
            5:st:=st+'пять ';
            6:st:=st+'шесть ';
            7:st:=st+'семь ';
            8:st:=st+'восемь ';
            9:st:=st+'девять ';
     end;
 //*****************
    writeln(st);
  end;
 readln;
end.

Объяснение кода листинга программы

  1. Переменная st инициализируется пустой строкой.
  2. Пользователю предлагается ввести количество кошек от 1 до 999.
  3. Если введенное значение находится в диапазоне от 100 до 999, то переменная s присваивается значение s деленное на 100, а st присваивается остаток от деления, и выполняется соответствующий case-код.
  4. Если введенное значение находится в диапазоне от 1 до 99, то переменная s присваивается значение s деленное на 10, а x1 присваивается остаток от деления, и снова выполняется соответствующий case-код.
  5. Если введенное значение находится в диапазоне от 1 до s, то выполняется еще один case-код, который преобразует число в строку с определенным количеством слов.
  6. В конце выводится значение переменной st.
  7. Программа завершается вызовом функции readln().

Оцени полезность:

13   голосов , оценка 4.077 из 5
Похожие ответы