Информатика: Методические указания к расчетно-графическим работам, страница 3

char             FMT[14];

int              Stereo;

unsigned long    Fd;

unsigned long    SpeedRead;

int              SpeedDegree;

int              BitsPerPoint;

char             FACT[18];

unsigned long    DataSize;

}  H;

где

FileSize          - Размер файла минус 8;

Stereo             - 1=моно 2=стерео;

Fd                   - частота дискретизации: 8000, 11025, 22050 или 44100 герц;

BitsPerPoint   - разрядность данных в битах : 8 или 16;

SpeedRead      - скорость считывания = частота дискретизации * стерео * разрядность в байтах (не битах);

SpeedDegree  - множитель скорости = стерео * разрядность в байтах;

DataSize         - размер данных = скорость считывания * время воспроизведения.

Далее следуют байты данных. В случае стерео — отсчет левого, отсчет правого.

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

-  количество гармоник (синусоидальных составляющих)

-  частоты гармоник

-  огибающие гармоник (функция изменения амплитуды гармоники во времени)

-  продолжительность звучания

-  стерео/моно.


2. Игровые

"Цветной тетрис"

12

11

10

9

8

7

6

5

4

3

2

1

1

2

3

4

5

6

7

8

Номер столбца: __

 

"Стакан", глубиной 12 строк и шириной   8  столбцов  заполняется падающими тройками кубиков  разных цветов. Номер столбца, куда следует ронять тройку, вводится по запросу. После опускания новой тройки производится  сканирование  содержимого "стакана"  на  выявление "триад" - подряд трех  кубиков  с одинаковым цветом  по горизонтали,  вертикали или диагонали. Обнаруженная триада удаляется,  и все, что было сверху нее опускается на свободное место. После этого производится повторная проверка на образование новых триад, и так  до  тех пор,  пока триад не останется. Программа  останавливается когда  новая  тройка  не  влазит в стакан.

Словесное описание алгоритма.

1.  Инициализация (обнуление "стакана")

2.  Генерация новой тройки

3.  Вывод изображения "стакана" и новой "тройки"

4.  Запрос номера столбца

5.  "Опускание" тройки -> останов при переполнении

6.  Вывод изображения "стакана" и новой "тройки"

7.  Поиск триад

8.  Вывод изображения при удалении каждого кубика

9.  Повтор поиска триад, если было удаление.

10.Повтор с п2.

"Тетрис классический"