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

0 голосов
86 просмотров
Написать программу, которая проверяет, является ли введённая с
клавиатуры строка шестнадцатеричным числом. В Паскале.

Информатика (23 баллов) | 86 просмотров
Дано ответов: 2
0 голосов
Правильный ответ

Не понравилась реализация, переделал, специально сохранив основу предыдущего решения.

const
  legal = ['0'..'9', 'A'..'F', 'a'..'f'];

var
  s: string;
  i: integer;
  IsHex: Boolean;

begin
  writeln('Введите строку: ');
  readln(s);
  i := 1;
  IsHex := True;
  while (i <= length(s)) and IsHex do<br>  begin
    if not (s[i] in legal) then IsHex := False;
    i := i + 1
  end;
  if isHex then
    writeln('Введенная строка является шестнадцатиричным числом.')
  else
    writeln('Введенная строка не является шестнадцатиричным числом.');
end.

Тестовое решение:

Введите строку:
58bfa
Введенная строка является шестнадцатиричным числом.
Введите строку:
1054Acg
Введенная строка не является шестнадцатиричным числом.



(142k баллов)
0 голосов

Решение в приложении!!
----------
Пробный запуск №1:

Введите строку:
A1015BFZ
Введенная строка не является шеснадцатиричным числом.

Пробный запуск №2:

Введите строку:
58bfa
Введенная строка является шеснадцатиричным числом.


Скачать вложение Текст (TXT)
(401 баллов)