Лабораторная работа №
5
(системное программирование)
Консольные операции ввода - вывода.
Цель данной лабораторной работы:
- изучить основные команды, при помощи которых возможно выполнения основных операций ввода - вывода.
- закрепить знания, полученные на предыдущей лабораторной работе, о основных арифметических операциях.
Работа рассчитана на четыре часа (две пары)
Вам необходимо изучить следующие документы:
ПИТЕР АБЕЛЬ АССЕМБЛЕР И ПРОГРАММИРОВАНИЕ ДЛЯ IBM PC
Справочник программиста на персональном компьютере фирмы IBM
И, при необходимости, повторить Архитектура процессора и Основы программирования
1.Постановка задачи
Написать программу, организующую ввод данных с клавиатуры и вывод информации на экран монитора (в окно задачи).
Варианты заданий даны ниже.
Во всех вариантах предусмотреть завершение работы после нажатия пользователем клавиши ESC.
Работать в алфавитно-цифровом режиме монитора, разрешение экрана - 25 на 80 символов. Экран монитора считать "непрерывным", т.е. при достижении, например, позиции строки экрана с координатами (0,25)- (79,25) считать следующей строкой строку с координатами - (0,0) - (79,0)
2. Варианты заданий
1. "След от буквы" - программа выводит на экран заданную букву и при нажатии клавиш "стрелки" - "вверх", "вниз", "влево", "вправо" осуществляет перемещение буквы по экрану монитора не стирая старого изображения буквы.
2. "Бегающая буква" - программа выводит на экран заданную букву и при нажатии клавиш "стрелки" - "вверх", "вниз", "влево", "вправо" осуществляет перемещение буквы по экрану монитора (стирая старое изображение буква).
3. Вывести на экран символ "1" в первую строку, символ "2" - во вторую, и т.д. Строчки 10 - 25 заполнить соответственно буквами "а", "б", и т.д.
4. Вывести на экран символ "*" в "шахматном порядке".
5. Вывести на экран символ "*" так, что бы в первая строка содержала 25 подряд идущих символов, а каждая последующая строка на один символ меньше.
6. Вывести
на экран монитора в первую строчку символы цифр от "0" до "9" так, что бы каждой
цифре предшествовал 1 пробел слева и 8 пробелов с права.
по нажатию клавиши "стрелка вниз" - выводить информацию в следующую строку так,
что бы количество предшествующих цифре пробелов увеличивалось на единицу, а
количество пробелов справа уменьшалось на единицу.
7. Вывести
на экран монитора в первую строку символы цифр от "0" до "9" В следующие строчки
выводить те же цифра, но каждый раз выполняя циклический сдвиг.
Например - в строку 2 - "1", "2", "3", ......"9", "0".
8. Заполнить экран монитора символом "*" по периметру.
9. Вывести на экран монитора, вводимые с клавиатуры символы но не построчно (по горизонтали), а по столбцам (вертикально).
10. Вывести на экран монитора, вводимые с клавиатуры символы справо налево. Начинать вывод с последнего знако-места первой строки.
11. Вывести на экран строку символов "1234567890". При нажатии клавиш "стрелки" - "вверх", "вниз", "влево", "вправо" осуществляет перемещение строки по экрану монитора.
12. Заполнить экран монитора "квадратами" из символа "*" в шахматном порядке. Каждый квадрат имеет "размер" 5 на 5 символов.
13. Вывести на экран монитора вводимые символы по диагонали экрана. Т.е. первый символ выводится в (0,0), второй - в (1,1), третий - (2,2) и т.д.
14. Вывести на экран монитора "квадрат" из символа "*" в левом верхнем углу экрана. При нажатии клавиш "стрелки" - "вверх", "вниз", "влево", "вправо" осуществляет перемещение "квадрата". Попытки "переместить квадрат" за границы экрана - блокировать.
15. Вывести на экран монитора все "печатные" символы построчно, разделяя их символом "пробел".
16. Вывести на экран монитора все "печатные" символы по столбцам, разделяя их символом "пробел".
17. "Мельница" - вывести на экран строку из 10 символов "*" и столбец из 10 символов "@" так, что бы строка и столбец "пересекались" в точке экрана с координатами (40,12). В "точке пересечения" вывести символ Z. При нажатии клавиши "пробел" производить смену символов * на @.
18. "Нарисовать" на экране "квадрат" символом "*". Размер "квадрата" 2 на 2 символа. Место расположение - центр экрана. При нажатии клавиши ">" увеличивать "размер" на один символ, при нажатии клавиши "<" - уменьшать.
19. "Нарисовать " на экране "квадрат" символом "*". Размер "квадрата" 5 на 5 символов. Место расположение - центр экрана. Менять символ "*" на символ вводимый с клавиатуры.
20. Заполнить экран монитора символом "*" по главной диагонали экрана. При нажатии клавиш "стрелки" - "вверх", "вниз" - "перемещать" диагональную строчку над и под диагональ.
Пример программы - "перемещение и смена буквы" можно посмотреть здесь. (в кодировке code page 866 - здесь)
3. Содержание отчета
1. Постановка задачи.
2. Алгоритм решения
3. Программа решения задания
4. «Окно» результатов
5. Объяснение результатов.
Успехов в работе.