5.1. Вывод фразы на экран монитора
Write (‘Привет!’); {курсор остаётся в конце фразы}
или WriteLn (‘Привет!’); {курсор переходит в начало новой строки}
5.2. Технологический останов программы
ReadLn; {не рекомендуется}
или ReadKey; {работает после подключения модуля Crt}
5.3. Очистка экрана
ClrScr; {работает после подключения модуля Crt}
5.4. Изменение цвета фона
TextBackGround(Color); {работает после подключения модуля Crt,
после этой команды обычно следует команда ClrScr}
Здесь параметр Color может принимать такие значения:
Black или 0 (чёрный),
Blue или 1 (синий),
Green или 2 (зелёный),
Cyan или 3 (голубой),
Red или 4 (красный),
Magenta или 5 (фиолетовый),
Brown или 6 (коричневый),
LightGray или 7 (ярко-серый).
5.5. Изменение цвета текста
TextColor(Color); {работает после подключения модуля Crt}
Здесь параметр Color может принимать такие же значения, как в п. 5.4 и, кроме этого:
DarkGray или 8 (тёмно-серый),
LightBlue или 9 (ярко-синий),
LightGreen или 10 (ярко-зелёный),
LightCyan или 11 (ярко-голубой),
LightRed или 12 (ярко-красный),
LightMagenta или 13 (ярко-фиолетовый),
Yellow или 14 (жёлтый),
|
|
White или 15 (белый).
Можно заставить мерцать отображаемый текст, для этого следует использовать такую запись: TextColor(Yellow + Blink); или TextColor(14 + 128);
5.6. Позиционирование курсора на экране монитора
GotoXY(кол-во символов по горизонтали, кол-во строк по вертикали);
{работает после подключения модуля Crt}
Выключение/включение курсора на экране монитора
CursorOff; {курсор выключить}
CursorOn; {курсор включить}
{эти команды работают после подключения модуля User}
Процедуры и функции
И в PascalABC и в TurboPascal, чтобы фон залился цветом необходимо использовать процедуру ClrScr.
5.8 Процедура Window(x1,y1,x2,y2); - размещает текстовое окно
где x1,y1 – координаты левого верхнего угла,
x2,y2 – координаты правого нижнего угла.
Замечание1: окно заливается цветом после использования очистки экрана.
Замечание2: границы текущего окна запоминаются в 2х глобальных переменных модуля crt: WindMin – x1,y1, WindMax – x2y2.
5.9 Процедура TextMode – задает соответствующий текстовый режим работы адаптера.
TextMode(x); x:Word;
X – код текущего режима.
Название режима | X | Х |
Черно-белый режим 40x25 | BW40 | |
Цветной 40x25 | Co40 | |
Черно-белый 80x25 | BW80 | |
Цветной 80x25 | Co80 |
Код режима TextMode запоминается с помощью глобальной переменной LastMode.
5.10 Процедура GotoXY – переводит курсор в нужное место экрана или текущего окна.
Gotoxy(20,40);
5.11 Процедура СlrЕoL – стирает часть строки от текущего положения курсора до правой границы экрана (положение курсора остается неизменным).
5.12 Процедура DelLine – удаляет всю строку с курсором в текущем окне.
5.13 Процедура InsLine – вставляет пустую строку там где находится курсор.
5.14 Процедура LowVideo – устанавливает пониженную яркость экрана.
|
|
5.15 процедура NormVideo – нормальная яркость экрана.
5.16 Процедура highvideo – повышенная яркость экрана.
5.17 Процедура Sound – выдает сигнал на встроенный динамик компьютера с заданной частотой звука.
Sound(x); x:Word;
5.18 Процедура nosound – выключает динамик компьютера;
5.19 Процедура delay – обеспечивает задержку работы программы (в миллисекундах);
Delay(x); x:word.
5.20 Функция readkey– возвращает значение символа клавиатуры.
а:=readkey;
5.21 Функция keypressed – состояние буфера клавиатуры (false – буфер пуст, true – в буфере есть символ, непрочитанный программой)
Замечание: keypressed не задерживает исполнения программы.
Фрагменты применения keypressed:
1. Uses crt;
…
Repeat
…
until KeyPressed;
2. Uses crt;
Var c:char;
Begin
…
While keypressed do
c:=readkey;
…
End.
5.22 Функция WhereX – возвращают текущую горизонтальную координату курсора.
5.23 Функция WhereY – возвращают текущую вертикальную координату курсора.
5.24
Нота до | Sound(523) |
Нота до диез | Sound(554) |
Нота ре | Sound(587) |
Нота ре диез | Sound(622) |
Нота ми | Sound(659) |
Нота фа | Sound(698) |
Нота фа диез | Sound(740) |
Нота соль | Sound(784) |
Нота соль диез | Sound(831) |
Нота ля | Sound(880) |
Нота ля диез | Sound(932) |
Нота си | Sound(988) |
ПРИЛОЖЕНИЕ А
Разработайте программу, формирующую на синем фоне в центре экрана фразу «Привет, студент». Слово «Привет,» должно быть написано желтым цветом, а «студент!» – ярко-зеленым мерцающим. Фразу заключите в прямоугольную рамку, выполненную белой двойной линией и от рамки должна падать черная тень, будто источник света установлен одновременно слева, сверху и чуть впереди рамки.
Внизу экрана сформируйте ярко-голубую подсказку о способе завершения работы с программой: «Для завершения работы нажмите любую клавишу…».
Совет: Для вычерчивания рамки, а также изображения тени используйте символы псевдографики
Приложение Б
1. Написать желтыми буквами на синем фоне текст, приостановить работу системы, а затем восстановить чёрный цвет экрана и белый цвет знаков на экране.
2. Создать белое окно на синем фоне. Ввести в него текст. Восстановить цвет экрана.
3. Создать три окна с заголовками. Очистить экран.
4. Продемонстрировать с помощью динамика компьютера восходящую и нисходящую музыкальную гамму.
5. Написать программу, изменяющую яркость экрана. Программа должна выдавать сообщение о яркости экрана. Каждое сообщение в новом окне.
6. Создать белое окно на синем экране. Вывести в окне свою фамилию, имя, отчество красным цветом.
7. Изобразить трехполосный экран: белый, синий, красный. Полосы располагаются горизонтально.
8. Создать окно заданного цвета с определенным цветом знаков. Цвета вводятся с клавиатуры.
9. Создать белое, жёлтое, голубое окна на синем экране. Создать надписи:
а) на белом окне - «Фамилия»;
б) на жёлтом окне - «Имя»;
в) на голубом окне - «Отчество».
10. Создать жёлтое, голубое, красное окна на синем экране. Создать надписи: 1) на жёлтом - «Ввод данных», 2) на голубом - «Результат», 3) на красном - «Операция». Изобразить тени от окон.
11. Создать красное, желтое окна на зеленом экране. В первое окно ввести 3 числа построчно, а во втором окне вывести их в одну строку.
12. Написать красными буквами на зеленом фоне текст. Остановить программу. Восстановить черный цвет экрана и белый цвет знаков.
13. Создать зеленое окно на желтом фоне. Ввести в него три числа построчно. Создать тень от окна.
14. Изобразить три вертикальные полосы разного цвета на экране, которые меняют свои цвета.
15. Создать программу, которая издает звук, когда вводят данные в окно синего цвета. Предварительно изобразить три окна: красное, синее, зелёное.
16. Создать окно, ввести в него текст. Цвета знаков и окна указывает пользователь. Отобразить тень от окна. Цвет тени задаёт программа.
|
|
17. Изобразить три поочерёдно появляющиеся окна разного цвета.
18. Создать красное окно на зеленом фоне. Ввести в него три строки построчно. Создать тень от окна.
19. Создать красное, голубое и белое окна на зеленом экране. Создать надписи: 1) на красном - «Фамилия:», 2) на голубом - «Имя:», 3) на белом - «Отчество:». Изобразить тени от окон.
20. Изобразить три горизонтальные полосы разного цвета на экране, которые меняют свои цвета.
ПРИЛОЖЕНИЕ Б
1. Сделайте “датчик чувствительности уха к высоким частотам”. Известно, что человеческое ухо не может слышать звуки, частота которых превышает 10000-20000 гц. У разных людей порог чувствительности разный. Напишите программу, которая выдает звуки все более высокой частоты и печатает на экране значения этой частоты, так что человек успевает увидеть, при какой частоте он перестает слышать звук. Вы сможете определить, у кого порог чувствительности выше – у вас или у вашего друга. Удобно внутри цикла использовать команду ReadLn.
2. Уменьшив как следует числа в операторах Delay(1000) и hz:=hz+40 можно добиться впечатления одного непрерывного постепенно повышающегося звука (сирена). Попробуйте сделать это.
3. Быстро чередуя короткие звуки двух разных частот и короткие паузы, можно добиться разных звуковых эффектов и шумов, например звука телефонного звонка или моторчика авиамодели.
4. Если у вас есть некоторое музыкальное образование, вы можете попробовать заставить компьютер исполнить простенькую мелодию из нескольких нот.
5. Уменьшив как следует числа в операторах Delay(1000) и hz:=hz+40 можно добиться впечатления одного непрерывного постепенно повышающегося звука (сирена). Если вам это удалось, попробуйте смоделировать сирену милицейской машины: звук вверх - звук вниз - звук вверх - звук вниз - … и так несколько раз.
6. Закодируем азбукой Морзе текст PIPING и заставим компьютер воспроизвести соответствующий набор звуков. Пусть продолжительность точки - 100 миллисекунд, тире - 200, пауза молчания после точки или тире - 80, пауза после буквы - 300. Частота звуков не играет роли, выберем наугад 900 гц.
|
|
Аa | .- | Бb | -… | Вw | .-- | Гg | --. | Дd | -.. | Еe | . | Жv | …- | Зz | --.. |
Иi | .. | Йj | .--- | Кk | -.- | Лl | .-.. | Мm | -- | Нn | -. | Оo | --- | Пp | .--. |
Рr | .-. | Сs | … | Тt | - | Уu | ..- | Фf | ..-. | Хh | …. | Цc | -.-. | Ч | ---. |
Ш | ---- | Щq | --.- | Ъ,Ьx | -..- | Ыy | -.-- | Э | ..-.. | Ю | ..-- | Я | .-.- |
7. Составьте программу с процедурами, которая исполнит мелодию “Чижик-пыжик” (ми-до-ми-до-фа-ми-ре-соль-соль-ля-си-до-до-до).
8. Составьте программу с процедурами, которая исполнит мелодию “Два веселых гуся” (фа-ми-ре-до-соль-соль): 2 раза
Фа-ля-ля-фа-ми-соль-соль
ми-ре-ми-фа-ре-до-до.