Простейшие процедуры

Задача:Все вы слышали про азбуку Морзе, широко использовавшуюся раньше для радиосвязи с кораблями и не только с ними. Включив радиоприемник и покрутив ручку настройки, можно было услышать частую тоненькую дробь однотонных сигналов разной длительности: точки (очень короткие сигналы) и тире (сигналы подлиннее). Каждая буква алфавита кодируется в азбуке Морзе последовательностью точек и тире.

Вот таблица кодирования русских и латинских букв (латинские буквы показаны строчными, а русские - заглавными):

А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 -.-- Э ..-.. Ю ..-- Я .-.-    

 

Закодируем азбукой Морзе текст PIPING и заставим компьютер воспроизвести соответствующий набор звуков. Пусть продолжительность точки - 100 миллисекунд, тире - 200, пауза молчания после точки или тире - 80, пауза после буквы - 300. Частота звуков не играет роли, выберем наугад 900 гц.

 

Вот как будет выглядеть фрагмент, воспроизводящий точку:

Sound(900);Delay(100); NoSound; Delay(80)

А вот фрагмент, воспроизводящий тире:

Sound(900);Delay(200); NoSound; Delay(80)

 

Вот вся программа:

Программа 1

USES CRT;
BEGIN

{буква P:}

Sound(900); Delay(100); NoSound; Delay(80); {точка}

Sound(900); Delay(200); NoSound; Delay(80); {тире}

Sound(900); Delay(200); NoSound; Delay(80); {тире}

Sound(900); Delay(100); NoSound; Delay(80); {точка}

Delay(300); {пауза}

{буква I:}

Sound(900); Delay(100); NoSound; Delay(80); {точка}

Sound(900); Delay(100); NoSound; Delay(80); {точка}

Delay(300); {пауза}

{буква P:}

Sound(900); Delay(100); NoSound; Delay(80); {точка}

Sound(900); Delay(200); NoSound; Delay(80); {тире}

Sound(900); Delay(200); NoSound; Delay(80); {тире}

Sound(900); Delay(100); NoSound; Delay(80); {точка}

Delay(300); {пауза}

{буква I:}

Sound(900); Delay(100); NoSound; Delay(80); {точка}

Sound(900); Delay(100); NoSound; Delay(80); {точка}

Delay(300); {пауза}

{буква N:}

Sound(900); Delay(200); NoSound; Delay(80); {тире}

Sound(900); Delay(100); NoSound; Delay(80); {точка}

Delay(300); {пауза}

{буква G:}

Sound(900); Delay(200); NoSound; Delay(80); {тире}

Sound(900); Delay(200); NoSound; Delay(80); {тире}

Sound(900); Delay(100); NoSound; Delay(80); {точка}

Delay(300); {пауза}