Завдання
Організувати посимвольне введення без луни в циклі і аналіз певної групи символів. При натисненні клавіші F1 вивести на екран довідкове повідомлення вигляду "Реагування на клавіші... Вихід -...). Забезпечити вихід з програми при натисненні заданої клавіші. У протокол лабораторної роботи включити блок-схему програми.
Варіанти:
При введенні цифр видавати з нового рядка на екран повідомлення "Натиснута цифра <N>", а при введенні символів — повідомлення "Натиснутий символ <S>" (<N> і <S> — відповідні ASCII-символьі). Вихід — по F10.
При введенні цифр видавати на екран знак 'Ц\ а при введенні символів — знак 'С'. Забезпечити вихід з програми при натисненні послідовно клавіш F9 і F10.
При введенні латинських символів у верхньому регістрі видавати на екран знак (код 219), в нижньому регістрі — знак (код 220). Вихід — Shift-F10.
При натисненні функціональних клавіш F1...F10 видавати на екран повідомлення "Натиснута F<n>" (<п> — номер функціональної клавіші). Вихід — по ALT-X.
При натисненні алфавітно-цифрових клавіш (з Shift і без) видавати з нового рядка на екран повідомлення "Введений символ У" (х — відповідний ASCII-символ). Вихід — по ALT-Q.
При введенні цифр видавати з нового рядка на екран повідомлення "Натиснута цифра <N>" (<N> —• відповідний ASCII- символ). Вихід — по F10. При натисненні користувачем функціональної клавіші F2...F9, видати повідомлення "Вихід •— F10".
При введенні символів з кодами 33...43 ('!'...'+') видавати з нового рядка на екран повідомлення "Введений символ <х>" (<х> — відповідний ASCII-символ). Вихід — по F10. При натисненні клавіші виходу видати повідомлення "Ви упевнені? Повторне натиснення — вихід". При натисненні після цього клавіші, відмінної від F10, стерти повідомлення з екрану.
При введенні прописних латинських букв (у верхньому регістрі) видавати з нового рядка на екран повідомлення "Введений символ <Х>", а при натисненні цих клавіш в комбінації з Alt —
овідомлення "Натиснута комбінація Alt-<X>" (<Х> — відповідний ASCII-символ). Вихід — Esc.
9. Забезпечити вихід з програми при натисненні F10, а при натисненні F9 вивести на екран послідовність введених раніше символів (не розширених). Якщо за виведенням цієї послідовності не послідувала клавіша виходу, відновити буфер символів, що вводяться, в пам'яті,
При введенні цифр видавати з нового рядка на екран повідомлення "Натиснута цифра <N>" (<N> — відповідний ASCII- символ). Після введення 5 клавіш, що немає цифровими, видати на екран довідкове повідомлення. Вихід — по Ctrl-Fl0.
При введенні з клавіатури шістнадцятиричних цифр (0...9, A...f) видавати з нового рядка на екран повідомлення "Введена 16- ричная цифра <h>" (<h> — відповідний ASCII-код). Після натиснення Alt-FlO видати попереджувальне повідомлення "Ви упевнені?". Якщо потім введене 'у1 або Т', завершити програму. Інакше повторити запит.
При введенні цифр видавати з нового рядка на екран повідомлення "Натиснута цифра <N>" (<N> — відповідний ASCII- символ). Забезпечити вихід з програми при натисненні двох клавіш — F9 і F10 — в будь-якій послідовності (наприклад, F9 і F10, або FI0 і F9, але не F10, F8, F9).
При введенні цифр видавати з нового рядка на екран повідомлення "Натиснута цифра <N>" (<N> — відповідний ASCII- символ). Якщо у міру введення була введена певна комбінація цифр (наприклад, 194536), вивести з нового рядка повідомлення 'Доступ дозволений!'.
Лабораторна робота №5
Дослідження символьних рядків (паролю), що вводяться з клавіатури
Теоретичні відомості
Для введення рядка символів можна користуватися спеціальною функцією DOS — OAh int 21h (введення, що буферизує). Вона забезпечує введення в буфер рядка символів з клавіатури з луною на екран, обробляє коди, що управляють, і Ctrl-Break, завершує введення по натисненню Enter. На вході AH = 0Ah, DS:DX= адреса підготовленого буфера, в першому байті якого вказана максимальна довжина рядка, що вводиться (з урахуванням завершуючого символу Enter); на виході другий байт буфера заповнений реальною довжиною
