Теоретические сведения. 5.1. Вывод фразы на экран монитора

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 раза

Фа-ля-ля-фа-ми-соль-соль

ми-ре-ми-фа-ре-до-до.

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: