Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Kapycejib
0 / 0 / 0
Регистрация: 13.06.2017
Сообщений: 8
1

По названиям двух нот определить интервал, образованный нотами

21.01.2019, 10:43. Просмотров 400. Ответов 2
Метки нет (Все метки)

Составить программу, которая бы реализовала следующий алгоритм: по введенным названиям двух нот (до, ре, ми, фа, соль, ля, си) определить интервал, образованный нотами. Как это сделать даже не имею представления
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.01.2019, 10:43
Ответы с готовыми решениями:

Определить интервал, образованный нотами n1 и n2
Дано описание нового типа: Type Нота=(до,ре,ми,фа,соль,ля,си); ...

Определить интервал, образованный нотами n1 и n2 (n1 ≠ n2)
Музыкальные интервалы. Пусть есть такие типы данных: Type Nota = (do, re, mi, fa, sol, la, si);...

Перечисляемый тип: Определить i-интервал, образованный нотами n1 и n2
Помогите пожалуйста убрать ошибку задача: type nota=(doo,re,mi,fa,sol,lya,si); ...

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

Вывести на экран прямоугольник образованный из двух символов
Вывести на экран прямоугольник образованный из двух символов. Контур состоит из одного символа, а...

2
stake-k26
676 / 467 / 355
Регистрация: 25.04.2016
Сообщений: 1,333
21.01.2019, 11:09 2
Kapycejib, а гугль вам на что? Теория музыки для начинающих:
Расстояние между двумя нотами называется интервалом. Расстояние от любой ноты до самой себя называется примой (до-до, ре-ре, ми-ми, фа-фа и т.д.). Интервал между двумя соседними нотами — это секунда (до-ре, ре-ми, ми-фа и т.д.). Расстояние через ноту — терция (до-ми, ре-фа, ми-соль, фа-ля и т.д.). Аналогичным образом определяются интервалы кварта (до-фа, ре-соль, ми-ля, фа-си, соль-до, ля-ре и т.д.), квинта (до-соль, ре-ля, ми-си...), секста (до-ля, ре-си, ми-до...), септима (до-си, ре-до, ми-ре, фа-ми...) и октава (до-до, ре-ре, ми-ми...).

А теперь как бы это все в коде выразить? Ну, для начала присвоим нотам порядковые номера, т.е. пусть До - это 1, Ре- 2, Ми- 3.. и т.д. Остается получить две ноты, определить соответствующие им порядковые номера, найти разницу между номерами, и таким образом получить интервал:

если разница 0 - прима
если разница 1 - секунда
... 2 - терция
... 3 - кварта
.. 4 - квинта
.. 5 - секста
... 6 - септима
.. 7 - октава

И еще, имейте в виду, что порядок нот следующий: До - Ре - Ми - Фа - Соль - Ля - Си - До ..

Добавлено через 4 минуты
И так, для общего развития, прима, секунда, терция, кварта, квинта и прочее, это не просто взятые с потолка слова, это порядковые номера. Прима - первый, секунда - второй, и т.д. гугль распознает оригинальный язык как Македонский, но сдается мне источником был все-таки Греческий.
1
L0M
792 / 390 / 198
Регистрация: 01.10.2018
Сообщений: 823
Завершенные тесты: 1
23.01.2019, 04:11 3
Вообще-то в октаве 12 полутонов. Поэтому кроме вышеуказанных восьми интервалов есть разновидности типа "большая терция" и "малая терция" (разница между ними в полтона). Посмотрите табличку Простые интервалы. Если вычислять интервалы от до, то можно обойтись (с натяжкой) названиями восьми интервалов, но если вычислять интервалы от других ступеней, то возможны варианты Например, интервалы до-ре и ми-фа не равны, хотя ноты идут по порядку.

Считать лучше в полутонах.

Цитата Сообщение от stake-k26 Посмотреть сообщение
гугль распознает оригинальный язык как Македонский, но сдается мне источником был все-таки Греческий
Это латынь.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.01.2019, 04:11

Получить третий массив C[1..10], образованный суммой двух предыдущих
Здравствуйте, пожалуйста помогите написать: Даны два одноименных массива A и B. Получить третий...

Определить угол, образованный касательными
Всем привет! такое вот задание, помогите кто чем может: Из точки P(х1,y1) проведены касательные...

Дан интервал времени в часах, минутах и секундах. Определить тот же интервал в секундах
Помогите с написанием кода Задача A. Часы Ограничение по времени: 1 сек Ограничение по...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru