Написать программу проверки корректности ввода строки по данной маске - Pascal ABC
Формулировка задачи:
Использовать типы данных множество и строка для ввода информации по заданной маске: 2 буквы, 3 цифры, 1 буква (ББЦЦЦБ) написать программу проверки корректности ввода строки по этой маске, при ошибочном вводе недопустимы символов подавать звуковой сигнал или менять цвет ошибочного символа и возвращать курсор назад. помогите пожалуйста.
Решение задачи: «Написать программу проверки корректности ввода строки по данной маске»
textual
Листинг программы
uses crt; const bk=['A'..'Z','a'..'z','А'..'я','Ё','ё']; cf=['0'..'9']; var c:char; i:byte; begin writeln('Введите строку из 6 симолов по маске ББЦЦЦБ'); i:=1; while i<=6 do begin textcolor(0); c:=readkey; write(c); if ((i in [1,2,6]) and not(c in bk)) or ((i in [3..5]) and not(c in cf)) then begin gotoXY(whereX-1,whereY); textcolor(12); write(c); gotoXY(whereX-1,whereY); end else i:=i+1; if i>6 then writeln end end.
Объяснение кода листинга программы
- Программа начинается с объявления переменных
bk
,cf
иc
, которые будут использоваться в дальнейшем. - Затем программа выводит сообщение для ввода строки.
- Переменная
i
инициализируется значением 1, что соответствует первому символу ввода. - Запускается цикл
while i<=6
, который будет выполняться до тех пор, покаi
меньше или равно 6. - Внутри цикла выводится символ, введенный пользователем, и устанавливается цвет текста на белый (текст не будет виден).
- Проверяется условие: если текущий символ соответствует любому из символов в маске (ББЦЦБ) и не соответствует ни одному из символов в маске (АБВГДЕЖЗИКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ) или если текущий символ соответствует одному из символов в маске (АБВГДЕЖЗИКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ), но не соответствует символу в маске (0123456789), то текущий символ выводится на экран дважды.
- Если текущий символ не соответствует ни одному из условий, то
i
увеличивается на 1. - Если
i
больше 6, то цикл завершается и программа переходит к следующему блоку кода. - Программа заканчивается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д