Синтаксис описания процедуры

End.

Begin

End.

Nosound

Begin

End.

Begin

Чтобы вызвать стандартный модуль CRT, в первой строке программы необходимо написать USES CRT. Для включения звука используется единственный оператор SOUND, продолжительность звука регулируется оператором DELAY, отключение звука осуществляется оператором NOSOUND.

Стандартный модуль CRT

Лекция № 5

 

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

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

Рассмотрим программу с использованием стандартного модуля

CRT:

Uses crt;

Sound(300); delay(2000); nosound

В операторе SOUNDвместо чисел можно использовать целочисленные переменные величины и выражения.

Рассмотрим еще одну программу, включающую в себя серию постепенно повышающихся звуков:

Uses crt;

Var hz:integer;

hz:=60;

while hz<800 do begin

Sound(hz);

delay(2000);

hz:=hz+40

end;

С помощью программ, использующих модуль CRT, можно запрограммировать любую мелодию, если знать частоту звучания каждой ноты: до(523), до-диез(554), ре(587), ре-диез(622), ми(659), фа(698), фа-диез(740), соль(784), соль-диез(831), ля(880), ля-диез(932), си(988).

Попробуем сделать программу для звучания песенки «Чижик-пыжик». Для этого нам необходимо знать ноты этой песни, чтобы задать частоту звучания каждой ноты. Ноты: ми-до-ми-до-фа-ми-ре-соль-соль-ля-си-до-до-до.

Программа:

Uses crt;

Sound(659); delay(1000); nosound;

Sound(523); delay(1000); nosound;

Sound(659); delay(1000); nosound;

Sound(523); delay(1000); nosound;

Sound(698); delay(1000); nosound;

Sound(659); delay(1000); nosound;

Sound(587); delay(1000); nosound;

Sound(784); delay(1000); nosound;

Sound(784); delay(1000); nosound;

Sound(880); delay(1000); nosound;

Sound(988); delay(1000); nosound;

Sound(523); delay(1000); nosound;

Sound(523); delay(1000); nosound;

Sound(523); delay(1000); nosound;

Рассматривая эту программу мы можем обнаружить, что некоторые фрагменты программы повторяются. Чтобы сэкономить время и поле экрана, а также сделать программу легкочитаемой можно ее модернизировать, используя понятие «процедура».

Процедуры(PROCEDURE)

 

PROCEDURE имя; begin оператор; оператор;…end;

Процедуры, также как и переменная имеет имя. Все, что написано после имени называется телом процедуры. Возьмем фрагмент выше указанной программы, который повторяется несколько раз, дадим ему имя и сделаем процедурой.

PROCEDURE doo; Begin Sound(523); delay(1000); nosound end;

Теперь напишем программу для предыдущей задачи, используя процедуры:

 

Uses crt;

PROCEDURE doo; begin Sound(523); delay(1000); nosound end;

PROCEDURE re; begin Sound(587); delay(1000); nosound end;

PROCEDURE mi; begin Sound (659); delay(1000); nosound end;

PROCEDURE fa; begin Sound(698); delay(1000); nosound end;

PROCEDURE sol; begin Sound(784); delay(1000); nosound end;

PROCEDURE la; begin Sound(880); delay(1000); nosound end;

PROCEDURE si; begin Sound(988); delay(1000); nosound; end;