Программирование с использованием строковых переменных - PascalABC.NET
Формулировка задачи:
Ввести с клавиатуры строку чисел. Проверить, является ли введенная строка целым числом.
Решение задачи: «Программирование с использованием строковых переменных»
textual
Листинг программы
const Alphabet = '0123456789'; // Алфавит: 0, 1, ..., 9 procedure Res(Status : Boolean); begin if Status then WriteLn('Введённое число является целым числом.') else WriteLn('Введённое число НЕ является целым числом.'); Halt; end; begin var S := ReadLnString('Введите строку как целое число:'); // Учиним все возможные проверки: if S.Length = 0 then // Пустая строка Res(False); if (S.Length = 1) and (Alphabet.IndexOf(S) > -1) then // Однозначное число Res(True); var i := 1; if (S[1] = '-') or (S[1] = '+') then // Первый символ - знак числа i := 2; if S[i] = Alphabet[1] then // Строка начинается с нулевого символа Res(False); repeat i += 1; if Alphabet.IndexOf(S[i]) < 0 then // Встечен «левый» символ Res(False); until i = S.Length; Res(True); end.
Объяснение кода листинга программы
- Объявлены константы:
- Alphabet = '0123456789'; // Алфавит: 0, 1, ..., 9
- Объявлена процедура Res(Status : Boolean):
- Если Status, то выводится сообщение 'Введённое число является целым числом.', иначе выводится сообщение 'Введённое число НЕ является целым числом.';
- Вызов Halt; запрещает выполнение любого кода после неё.
- Ввод строки от пользователя с помощью ReadLnString('Введите строку как целое число:');
- Проверки на пустую строку и на однозначное число:
- Если длина строки равна 0, то вызывается Res(False);
- Если длина строки равна 1 и первый символ является цифрой, то вызывается Res(True);
- Инициализируется переменная i = 1;
- Если второй символ строки равен '-' или '+', то i = 2;
- Если первый символ строки равен 0, то Res(False);
- Цикл проверки каждого символа строки на принадлежность к алфавиту:
- Пока i меньше длины строки,
- Если символ не является цифрой, то вызывается Res(False);
- i увеличивается на 1;
- Пока i меньше длины строки,
- После цикла вызывается Res(True);
- В конце программы вызывается Halt;
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д