СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до

Готовые ключевые этапы урока всегда будут у вас под рукой

Организационный момент

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

ИСПОЛЬЗОВАНИЕ БИБЛИОТЕКИ CRT В PASCAL

Категория: Информатика

Нажмите, чтобы узнать подробности

 

ИСПОЛЬЗОВАНИЕ БИБЛИОТЕКИ CRT В PASCAL

               Разработчики Паскаля предусмотрели несколько подпрограмм, существенно увеличивающих возможности текстового ввода/вывода. Эти программы сосредоточены в библиотеке (модуле) CRT, входящей в комплект поставки Паскаля.

 

Текстовой вывод на экран

 

TextColor (Color) – процедура задает цвет выводимых символов.

 

TextBackground (Color) – процедура задает цвет фона.

 

Единственным параметром обращения к этим процедурам должно быть выражение типа Byte, задающее код нужного цвета.

 

0  - Черный

1  - Темно-синий

2  - Темно-зеленый

3  - Бирюзовый

4  - Красный

5  - Фиолетовый

б  - Коричневый

7  - Светло-серый

8  - Темно-серый

9 - Синий

10-Светло-зеленый

11-Светло-бирюзовый

12- Розовый

13- Малиновый

14- Желтый

15- Белый

128- Мерцание символа

 

ClrScr - процедура очищает экран или окно.

 

Window (X1,Y1,X2,Y2) - процедура задает размер области экрана, которая в дальнейшем будет рассматриваться процедурами вывода как весь экран.

 Сразу после вызова процедуры курсор помещается в левый верхний угол окна, а само окно очищается (заполняется цветом фона). По мере вывода курсор, как обычно, смещается вправо и при достижении правой границы окна переходит на новую строку, а если он к этому мо­менту находился на последней строке, содержимое окна сдвигается вверх на одну строку, т.е. осуществляется «прокрутка» окна.

 X1,Y1 - координаты левого верхнего, X2,Y2 - координаты правого нижнего углов окна.

 

GotoXY(x,y) - процедура; переводит курсор в нужное место экрана или текущего окна.

 

WhereX,WhereY - функции; определяют текущие координаты курсора (горизонтальную и вертикальную).

 

ClrEOL - процедура; cтирает часть строки от текущего положения курсора до правой границы окна (экрана). Положение курсора не меняет.

 

DelLine - процедура; уничтожает всю строку с курсором в текущем окне (или на экране, если окно не создано). При этом все строки ниже удаляемой (если они есть) сдвигаются вверх на одну строку.

InsLine - процедура; вставляет строку: строка с курсором и все строки ниже ее сдвигаются вниз на одну строку; строка, вышедшая за нижнюю границу окна (экрана), безвозвратно теряется; текущее положение курсора меняется.

 

                  Изменение цвета текста

uses CRT;

Begin

   Textcolor(2);

   writeln('Тёмно - зелёный текст');

End.

 

 

                       Изменение цвета фона

uses CRT;

Begin

   TextBackground(13);

   writeln('Цвет фона - малиновый');

End.

 

 

                   Изменение цвета текста и фона

uses CRT;

Begin

  TextBackground(5);

  textcolor(13);

     writeln('малиновый текст на фиолетовом фоне');

End.

 

 

                 Все цвета текста и все цвета фона

uses CRT;

var

   i,j:byte;

Begin

for j:=0 to 15 do

  begin

    TextBackground(j);

    write(j, ' фон - ');

         for i:=0 to 15 do

               begin

                       textcolor(i);

                      write(i,'цв.');

      end;

    writeln;

  end;

End.

 

                       Создание окон на экране

uses CRT;

Begin

TextBackground(0);

clrscr;

TextBackground(3);

window(5,2,30,6);

clrscr;

writeln(' окно № 1');

TextBackground(4);

window(38,12,70,24);

clrscr;

writeln(' окно № 2');

End.

Просмотр содержимого документа
«ИСПОЛЬЗОВАНИЕ БИБЛИОТЕКИ CRT В PASCAL»



ИСПОЛЬЗОВАНИЕ БИБЛИОТЕКИ CRT В PASCAL

Разработчики Паскаля предусмотрели несколько подпрограмм, существенно увеличивающих возможности текстового ввода/вывода. Эти программы сосредоточены в библиотеке (модуле) CRT, входящей в комплект поставки Паскаля.


Текстовой вывод на экран


TextColor (Color) – процедура задает цвет выводимых символов.

TextBackground (Color) – процедура задает цвет фона.


Единственным параметром обращения к этим процедурам должно быть выражение типа Byte, задающее код нужного цвета.


0 - Черный

1 - Темно-синий

2 - Темно-зеленый

3 - Бирюзовый

4 - Красный

5 - Фиолетовый

б - Коричневый

7 - Светло-серый

8 - Темно-серый

9 - Синий

10-Светло-зеленый

11-Светло-бирюзовый

12- Розовый

13- Малиновый

14- Желтый

15- Белый

128- Мерцание символа


ClrScr - процедура очищает экран или окно.


Window (X1,Y1,X2,Y2) - процедура задает размер области экрана, которая в дальнейшем будет рассматриваться процедурами вывода как весь экран.

Сразу после вызова процедуры курсор помещается в левый верхний угол окна, а само окно очищается (заполняется цветом фона). По мере вывода курсор, как обычно, смещается вправо и при достижении правой границы окна переходит на новую строку, а если он к этому мо­менту находился на последней строке, содержимое окна сдвигается вверх на одну строку, т.е. осуществляется «прокрутка» окна.

X1,Y1 - координаты левого верхнего, X2,Y2 - координаты правого нижнего углов окна.


GotoXY(x,y) - процедура; переводит курсор в нужное место экрана или текущего окна.


WhereX,WhereY - функции; определяют текущие координаты курсора (горизонтальную и вертикальную).


ClrEOL - процедура; cтирает часть строки от текущего положения курсора до правой границы окна (экрана). Положение курсора не меняет.


DelLine - процедура; уничтожает всю строку с курсором в текущем окне (или на экране, если окно не создано). При этом все строки ниже удаляемой (если они есть) сдвигаются вверх на одну строку.

InsLine - процедура; вставляет строку: строка с курсором и все строки ниже ее сдвигаются вниз на одну строку; строка, вышедшая за нижнюю границу окна (экрана), безвозвратно теряется; текущее положение курсора меняется.


Изменение цвета текста

uses CRT;

Begin

Textcolor(2);

writeln('Тёмно - зелёный текст');

End.



Изменение цвета фона

uses CRT;

Begin

TextBackground(13);

writeln('Цвет фона - малиновый');

End.


Изменение цвета текста и фона

uses CRT;

Begin

TextBackground(5);

textcolor(13);

writeln('малиновый текст на фиолетовом фоне');

End.



Все цвета текста и все цвета фона

uses CRT;

var

i,j:byte;

Begin

for j:=0 to 15 do

begin

TextBackground(j);

write(j, ' фон - ');

for i:=0 to 15 do

begin

textcolor(i);

write(i,'цв.');

end;

writeln;

end;

End.


Создание окон на экране

uses CRT;

Begin

TextBackground(0);

clrscr;

TextBackground(3);

window(5,2,30,6);

clrscr;

writeln(' окно № 1');

TextBackground(4);

window(38,12,70,24);

clrscr;

writeln(' окно № 2');

End.



Изучаем смещение в окне

uses CRT;

Begin

TextColor(1);

TextBackground(0);

ClrScr;

window(5,5,25,10);

TextColor(0);

TextBackground(1);

ClrScr;

GotoXY(3,5);

write('смещение в окне');

GotoXY(8,2);

write('изучаем');

End.




Программирование клавиатуры


Функция KeyPressed. Возвращает значение типа Boolean, указывающее состояние буфера клавиатуры: False означает, что буфер пуст, а True - что в буфере есть хотя бы один символ, еще не прочитанный программой.

Стандартная длина буфера клавиатуры рассчитана на хранение до 16 в символов. Если пользователь нажимает клавиши, буфер может оказаться перепо­лненным. В этот момент раздается звуковой сигнал и «лишние» коды.


Функция ReadKey. Возвращает значение типа Char. При обращении к этой функции анализируется буфер клавиатуры: если в нем есть хотя бы один не прочитанный символ, код этого символа, берется из буфера и возвращается в качестве значения функции, в противном случае функция будет ожидать нажатия на любую клавишу.


Программа позволит Вам определить расширенный код любой клавиши. Для завершения работы программы нажмите клавишу Esc.


USES crt;

VAR

c:char;

Begin

repeat

c:=ReadKey;

if c#0 then writeln(ord(c))

else writeln('0',ord(ReadKey):8)

until c=#27

End.


Программа, которая позволит управлять каким либо символом по экрану (напрмер О) клавишами управления курсора.

Для имитации движения будем использовать следующий принцип: рисуем символ О, затем его вытираем и рисуем рядом, выше(ниже) или справа(слева) в зависимости от выбранного направления. Таким образом нам будет казаться, что символ движется.

Для рисования символа и для его вытирания используем процедуры.


USES crt;

VAR

x,y,n:byte;

c:char;

procedure dwig_0;

begin

gotoXY(x,y);

writeln(' ');

end;

procedure dwig_1;

begin

gotoXY(x,y);writeln('О');

end;

Begin

ClrScr;

x:=40;y:=12;

gotoXY(x,y); writeln('О');

repeat

c:=ReadKey;

if c=#0 then

begin

N:=ord(ReadKey);

if n=72 then begin dwig_0;y:=y-1;dwig_1;end;

if n=80 then begin dwig_0;y:=y+1;dwig_1;end;

if n=75 then begin dwig_0;x:=x-1;dwig_1;end;

if n=77 then begin dwig_0;x:=x+1;dwig_1;end;

end;

until c=#27

End.

Программирование звукового генератора

Звуковые возможности ПК основаны на одноканальном управляемом звуковом генераторе, вырабатывающем электромагнитные колебания звуковой частоты. Колебания подаются на встроенный в ПК динамик и заставляют его звучать.

В модуль CRT включены три процедуры, с помощью которых Вы сможете запрограммировать произвольную последовательность звуков.


Sound (H) - процедура; заставляет динамик звучать с нужной частотой.

Здесь H выражение типа Word, определяющее частоту звука в герцах. После обращения к процедуре включается динамик, и управление немед­ленно возвращается в основную программу, в то время как динамик будет звучать впредь до вызова процедуры NoSound.


NoSound – процедура; выключает динамик. Если динамик не был включен, вызов процедуры игнорируется.


Delay(Т) - процедура; обеспечивает задержку работы программы на заданный интервал времени.

Здесь Т — выражение типа Word, определяющее интервал времени (в миллисекундах), в течение которого задерживается выполнение следующего оператора программы.


Для генерации звукового сигнала обычно используется вызов описанных процедур по схеме SoundDelayNoSound.


Звуковой сигнал

Uses Crt;

Begin

Sound(1000);

delay(10000);

NoSound;

End.


Воспроизведение музыкальной гаммы. 1,2,3,4 октавы.

Массив W содержит частоты всех полутонов в первой октаве от “до” до “си”. При переходе от одной октавы к соседней частоты изменяются в два раза.


Uses Crt;

const n=12; temp=4000;

w:array[1..n] of real=(130.8,138.6,146.8,155.6,164.8,174.6,

185.0,196.0,207.7,220.0,233.1,246.9);

var i,j:byte;

Begin

i:=1;

while i

begin

for j:=1 to 12 do

begin

Sound(round(w[j]*i));

delay(temp);

NoSound;

end;

delay(3*temp);

i:=i*2;

end;

End.



Скачать

Рекомендуем курсы ПК и ППК для учителей

Вебинар для учителей

Свидетельство об участии БЕСПЛАТНО!