Проверить, может ли набор символов в строке быть числом в 16-й системе счисления - Pascal ABC

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

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

Помогите разобраться с задачкой. Дана строка текста. Проверить, может ли набор символов в строке быть числом в 16-й системе счисления и вывести соответствующее сообщение.

Решение задачи: «Проверить, может ли набор символов в строке быть числом в 16-й системе счисления»

textual
Листинг программы
var s:string;
    i,k:byte;
begin
writeln('Введите строку-число в СС 16');
readln(s);
k:=0;
i:=1;
while(i<=length(s))and(k=0)do
if not (upcase(s[i])in ['0'..'9','A'..'F']) then k:=1
else inc(i);
if k=0 then write('Число введено верно')
else write('Число введено неверно')
end.

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

  1. В начале объявляются переменные s, i и k типа byte.
  2. Выводится сообщение на экран для ввода строки-числа в шестнадцатой системе счисления.
  3. Считывается введенная строка с помощью функции readln.
  4. Переменная k инициализируется значением 0.
  5. Переменная i инициализируется значением 1.
  6. Запускается цикл while, который выполняется до тех пор, пока i меньше или равно длине строки s и значение переменной k равно 0.
  7. Внутри цикла проверяется, является ли символ в позиции i в строке s заглавной буквой и принадлежит ли он диапазону от '0' до '9' или от 'A' до 'F'.
  8. Если условие выполняется, то значение переменной k устанавливается равным 1.
  9. Если условие не выполняется, то значение переменной i увеличивается на 1.
  10. После выхода из цикла выводится сообщение на экран, отражающее результат проверки.
  11. Конец программы.

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

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