- •О десский национальный морской университет
- •7.080401 "Информационные управляющие системы и технологии",
- •7.080402 "Информационные технологии проектирования"
- •Введение
- •Лабораторная работа №1 структура ехе-программы на ассемблере. Подготовка к выполнению Теоретические сведения
- •Задание
- •Лабораторная работа №2 использование служебных подпрограмм. Циклы. Формирование и вывод на экран строки ascii- символов Теоретические сведения
- •Inc al ; увеличиваем al (код символа) на 1
- •Задание
- •Лабораторная работа №3 управление курсором при выводе. Вложенные циклы. Формирование и вывод на экран таблицы символов ascii Теоретические сведения
- •Задание
- •Лабораторная работа №4 посимвольный ввод с клавиатуры. Анализ нажатия функциональных клавиш и комбинаций Теоретические сведения
- •Задание
- •Лабораторная работа №5 ввод с клавиатуры и обработка символьных строк (пароль) Теоретические сведения
- •Задание
- •Лабораторная работа №6 процедуры. Табличная трансляция. Перевод двоичных данных в символьную форму Теоретические сведения
- •Задание
- •Лабораторная работа №7 работа с файлами Теоретические сведения
- •Задание
Задание
Задать в программе исходный пароль; обеспечить вывод приглашения к вводу пароля; собственно ввод пользователем пароля с клавиатуры; сравнение строк исходного и введенного паролей; в случае точного совпадения выдать сообщение "Ok"; иначе бесконечно повторять запрос на ввод пароля. Обеспечить возможность прерывания ввода по Ctrl-C. При необходимости предусмотреть вывод диагностических сообщений. Обработку строк производить при помощи строковых команд.
Варианты:
Обеспечить при вводе пароля отображение звездочек (*) вместо вводимых символов. В случае, если ни одна из букв не набрана верно, выдать сообщение "Строки полностью различны".
Ограничить число попыток ввода пароля до трех. Перед вводом пользовательского пароля указывать количество оставшихся попыток. Выдать сообщение "Ok", если набраны верно хотя бы первые четыре буквы.
Зашифровать эталонный пароль так, чтобы его нельзя было сразу узнать из EXE-файла. Перед сравнением расшифровать эталонный пароль.
Подавить отображение символов на экране (эхо) при вводе пароля. При неравенстве длин введенного и эталонного паролей выдать сообщение "Введенная строка длиннее (короче) правильного пароля на N символов".
Обеспечить при вводе пароля отображение решеток (#) вместо вводимых символов. До побайтового сравнения строк сканировать введенную строку на определенный символ, присутствующий в правильном пароле (например, "s"), при его отсутствии строки не сравнивать и выдать сообщение "Неверный формат пароля".
Ввести ограничение на допустимые в пароле символы (например, только строчные латинские символы), при попытке ввода других символов выдавать звуковой сигнал (не прерывая ввода). Сравнение строк производить в обратном направлении.
Обеспечить возможность удаления неверно введенного символа нажатием клавиши BackSpace. Задать пароль строчными латинскими буквами; выдать перед запросом пароля сообщение "Вводимый пароль должен содержать только буквы английского алфавита. Прописные и строчные буквы не различаются". Перед сравнением строк привести буквы введенной строки к нижнему регистру.
Задать в программе три эталонных пароля и сравнить введенную строку с каждым из них. При вводе пароля скрыть вводимые символы.
После неудачного сравнения строк выдать номер первого отличного символа ("По крайней мере N-й символ введенной строки неверен").
Запросить вначале login (имя пользователя), а затем пароль. При вводе пароля не отображать вводимые символы. Выдать сообщение "Ok", если введенное имя совпадает с заданным, а также если введенный пароль является частью эталонного пароля.
Выдать сообщение "Ok", если введенная строка составлена из тех же символов, что и введенный пароль.
Выдать также сообщение "Ok", если введенная строка набрана задом наперед.
Задать эталонную строку из нескольких слов, разделенных пробелами. Если количество слов в введенной строке и заданной не совпадает, выдать количество введенных слов.
Задать в качестве пароля серийный номер в формате ХХХ.ХХХ.ХХХ (Х — любой символ). До полного сравнения строк проверить, имеются ли во введенном серийном номере точки в нужных местах. Если нет, строки не сравнивать и выдать сообщение "Неверный формат серийного номера".