Если даже в вашем компьютере нет звуковой карты, все равно он может звучать. Посмотрим, что заставляет его сделать такая программа:
USES CRT;
BEGIN
Sound(300)
END.
Пояснения:
Если мы хотим, чтобы наш компьютер настроился на работу со звуком, мы должны первой строкой программы написать Uses CRT. Подробно о том, что это значит, я расскажу в 9.1, а сейчас не будем отвлекаться.
Единственный оператор программы Sound(300) приказывает компьютеру включить ровный однообразный звук частотой 300 колебаний в секунду (герц). Слово Sound звучит “‘саунд”, переводится “звук”. Для тех, кто не знает, поясню, что частота определяет высоту звука. Sound(300) - это звук средней высоты . Sound(6000) - это звук высокий, тонкий, как комариный писк. Sound(40) - звук низкий, толстый.
Итак, все действие нашей программы заключается в том, что включается звук. А что дальше? Когда он выключается? А никогда! Программа, выполнившись мгновенно, прекращает свою работу, и мы остаемся один на один со звуком. Через две-три минуты он начинает нам надоедать. Пытаясь его прекратить, мы выходим из среды Паскаля - не помогает. В общем, звук продолжается все то время, пока компьютер включен. В остальном он никак не мешает компьютеру правильно работать. Мы можем запустить другую программу - звук будет сопровождать нас. Самый простой способ избавиться от звука - перезапустить компьютер. Другой способ - выполнить программу, в которой есть оператор NoSound:
USES CRT;
BEGIN
NoSound
END.
Оператор NoSound (звучит “ноу ‘саунд”, переводится “нет звука”), выключает звук. Совет: Работая с любой звуковой программой, откройте еще одно окно и введите туда эту программу с NoSound. Не пожалеете!
Теперь рассмотрим такую программу:
USES CRT;
BEGIN
Sound (300); Delay (2000); NoSound
END.
Здесь мы видим новый для нас оператор Delay (2000). Он читается “ди’лэй”, переводится “отсрочка” или “пауза”. Его действие в том, что он приостанавливает работу программы на 2000 миллисекунд или, что то же самое, на 2 секунды. Delay (1000) приостанавливает работу программы на 1 секунду, Delay (500) - на полсекунды и т.д. (Должен сказать, что на самом деле продолжительность паузы сильно зависит от быстродействия компьютера).
Итак, оператор Sound (300) включает звук. Сразу после этого оператор Delay (2000) приостанавливает работу программы на 2 сек. Но звук этот оператор не может выключить, компьютер продолжает звучать. Через 2 сек программа снова оживает и выполняется оператор NoSound. Звук выключается. Таким образом, результатом выполнения этих трех операторов будет звук частотой 300 гц продолжительностью 2 сек.
Рассмотрим работу программы:
USES CRT;
BEGIN
Sound(900);Delay(1000);Sound(200);Delay(3000);NoSound
END.
Начинается она со звука частотой 900 гц и продолжительностью 1 с, а затем оператор Sound(200) включает вместо звука в 900 гц звук частотой 200 гц, который длится 3 с.
В операторах Sound и Delay вместо чисел можно записывать целочисленные переменные величины и выражения. Вот программа, производящая серию постепенно повышающихся звуков:
USES CRT;
VAR hz: Integer;
BEGIN
hz:=60;
while hz<800 do begin
Sound(hz);
Delay(1000);
hz:=hz+40
end;
NoSound
END.
Если вас интересуют музыкальные ноты, то вот вам операторы Sound, задающие все ноты третьей октавы:
Нота до |
Sound(523) |
Нота до диез |
Sound(554) |
Нота ре |
Sound(587) |
Нота ре диез |
Sound(622) |
Нота ми |
Sound(659) |
Нота фа |
Sound(698) |
Нота фа диез |
Sound(740) |
Нота соль |
Sound(784) |
Нота соль диез |
Sound(831) |
Нота ля |
Sound(880) |
Нота ля диез |
Sound(932) |
Нота си |
Sound(988) |
Задания 59-63:
59) Уменьшив как следует числа в операторах Delay(1000) и hz:=hz+40 можно добиться впечатления одного непрерывного постепенно повышающегося звука (сирена). Попробуйте сделать это.
60) Если вам это удалось, попробуйте смоделировать сирену милицейской машины: звук вверх - звук вниз - звук вверх - звук вниз - … и так несколько раз.
61) Быстро чередуя короткие звуки двух разных частот и короткие паузы, можно добиться разных звуковых эффектов и шумов, например звука телефонного звонка или моторчика авиамодели.
62) Сделайте “датчик чувствительности уха к высоким частотам”. Извстно, что человеческое ухо не может слышать звуки, частота которых превышает 10000-20000 гц. У разных людей порог чувствительности разный. Напишите программу, которая выдает звуки все более высокой частоты и печатает на экране значения этой частоты, так что человек успевает увидеть, при какой частоте он перестает слышать звук. Вы сможете определить, у кого порог чувствительности выше – у вас или у вашего друга. Удобно внутри цикла использовать команду ReadLn.
63) Если у вас есть некоторое музыкальное образование, вы можете попробовать заставить компьютер исполнить простенькую мелодию из нескольких нот.
Скачано с www.znanio.ru
Материалы на данной страницы взяты из открытых источников либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.