Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Абрамов С.А., Гнездилова Г.Г., Капустина Е.Н., Селюн М.И. Задачи по программированию [pdf]

.pdf
Скачиваний:
736
Добавлен:
02.05.2014
Размер:
6.04 Mб
Скачать

919.Составить программу, которая строит с помощью датчика случайных чисел музыкальные интервалы (терцию, кварту, квинту и т. д.) и аккорды. Обучающийся должен определить, какой интервал или какое обращение трезвучия (тоническое трезвучие, секст-аккорд и т.

п.) были воспроизведены.

920.Составить программу «музыкальный диктант». Программа должна воспроизвести мелодию, а обучающийся правильно повторить

ее(см. задачу 917 или 918). Если диктант «написан правильно», может быть начато новое задание. В противном случае диктант выполняется еще раз.

921.Составить игровую программу, которая воспроизводит популярную мелодию с мелодическими изменениями, например, заменяя некоторые ноты другими нотами или паузами соответствующей длительности. Играющий должен угадать, какая мелодия была сыграна.

922. Составить программу транспонирования мелодии на указанное число полутонов вверх или вниз. Мелодия задается так же, как в задаче 917 или 918.

923. Составить программу «секвенсор», служащую для одновременного исполнения трех мелодий. Мелодии задаются так же, как в задаче 917 или 918, с тем отличием, что задание каждой следующей мелодии сопровождается воспроизведением всех мелодий, сыгранных ранее, т. е. задание второй мелодии выполняется при одновременном звучании первой мелодии, а задание третьей мелодии - при одновременном звучании первых двух мелодий. Последующее воспроизведение всех трех мелодий должно выполняться при нажатии клавиши, поставленной им в соответствие.

924. Музыкальный аккомпанемент может представлять собой последовательность аккордов. Для использования компьютера в качестве аккомпанирующего инструмента задать несколько аккордов и

сопоставить каждому аккорду одну из клавиш. Длительность звучания аккорда определяется длительностью нажатия клавиши.

В простейшем случае достаточно рассмотреть три аккоорда: тоническое трезвучие, доминантное трезвучие, субдоминантное трезвучие (пример см. на рис. 98, б).

925. Составить программу, исполняющую заданный аккомпанемент. Аккомпанемент должен состоять из баса и аккорда, звучащих по очереди (рис. 100, а). Другой вариант баса и аккорда начинает звучать (без изменения музыкального размера) после нажатия некоторой клавиши. В простейшем случае достаточно рассмотреть три варианта высоты ноты, звучащей в басу, и соответствующего ей аккорда: тоника, доминанта и субдоминанта. Доминанта звучит в сравнении с тоникой (рис. 98, б) на два с половиной тона ниже, субдоминанта - на три с половиной тона ниже.

Желательно предусмотреть регулировку темпа, изменение лада «мажор-минор», изменение размера (на рис. 100, а приведен аккомпанемент на четыре четверти, на рис. 100, б - на три четверти).

Рис. 100 926. Эта задача, как и две предыдущие, касается использования

компьютера в качестве аккомпанирующего инструмента. Аккомпанемент состоит из баса и аккорда; при этом рассматриваются

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

927.Составить программу - «композитор». Программа с помощью датчика случайных чисел выбирает 12 различных нот и длительность звучания каждой ноты. Полученная таким образом мелодия воспроизводится. Любая понравившаяся мелодия может быть запомнена для последующего воспроизведения.

928.Составить программу для управления тембром звучания. Управление тембром выполняется с помощью введения групп обертонов - звуковых колебаний, амплитуда которых меньше амплитуды основного тона, а частота в целое число раз больше

основной частоты. Обертоны следует получать с помощью датчика случайных величин.

929.Составить программу цветового сопровождения заданной мелодии (см. задачу 918). Соответствие цвета высоте звука выбирается по желанию составляющего программу или играющего.

930.Воспроизвести звуки, которыми могут сопровождаться игровые программы: мяуканье кошки, скрип двери, звук лопнувшего шара, свист летящей стрелы, звучание дождя, кряканье и т. л. Такие звуки рекомендуется получать, используя относительно высокие частоты периодических колебаний генератора огибающей - кроссмодуляцию (на школьном компьютере «Ямаха» они могут быть получены с помощью параметров т и s оператора PLAY) и генератор шума (оператор SOUND).

931.Составить программу, моделирующую эхо. Для этого воспроизвести одну и ту же мелодию по трем каналам одновременно.

Мелодия, звучащая по второму каналу, должна быть исполнена тише и с небольшим запаздыванием по сравнению с мелодией, звучащей по первому каналу. Мелодия, звучащая по третьему каналу, должна быть исполнена тише и с небольшим запаздыванием по сравнению с мелодией, звучащей по второму каналу.

932. Дан русский текст. Требуется воспроизвести его звуковыми сигналами азбуки Морзе. Предусмотреть возможность регулировки скорости воспроизведения.

§32. Графика и движение. Мультипликация

933.Изобразить на экране точку, пересекающую с постоянной скоростью экран справа налево параллельно его горизонтальной оси *). *) В ряде следующих задач речь идет о движении точки. Вместо точки на экране можно использовать небольшой круг, прямоугольник или изображение предмета: волана для бадминтона, стрелы, самолета и т.д. Движение может сопровождаться звуком.

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

935.Усложним условие предыдущей задачи: очередная точка начинает движение от правого края экрана несколько раньше, чем

предыдущая точка доходит до левого края. Попытаться добиться того, чтобы одновременно на экране двигались три, четыре точки.

936.Изобразить на экране точку, движущуюся по окружности с постоянной угловой скоростью.

937.Составить программу для управления скоростью движения точки по окружности (см. предыдущую задачу). Управление производится клавишами « > » (скорость несколько увеличивается) и «

<» (скорость несколько уменьшается) *).

*) В те из следующих задач, в которых речь идет о вращении, аналогичным образом можно включить требование, чтобы была предоставлена возможность управления с клавиатуры скоростью вращения.

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

939.Изобразить на экране отрезок, вращающийся в плоскости экрана вокруг

а) своей середины; б) своего конца;

в) точки, делящей отрезок в отношении 1:3.

940.Усложним условие задачи 938: в плоскости экрана должны вращаться, каждая вокруг своей точки, две прямые.

941.В условие предыдущей задачи вносится дополнение: должна быть предоставлена возможность управления с клавиатуры расстоянием между центрами вращения.

942.Изобразить на экране две движущиеся точки, траектории которых являются концентрическими окружностями. Угловая скорость точки, движущейся по внутренней окружности, должна быть несколько меньше, чем угловая скорость точки, движущейся по внешней окружности (обе скорости - постоянные величины). При этом