КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Синтаксис описания процедуры
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;
Дата добавления: 2014-01-14; Просмотров: 297; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |