|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
01.02.2008, 00:27 | #1 |
Регистрация: 31.01.2008
Сообщений: 7
|
Ноты и интервалы между ними
Вобщем дела такие, нужно определить интервал между нотами.
type нота=(до, ре,ми,фа,соль,ля,си); интервал=(секунда, терция, кварта, квинта, секста, септима); n1 и n2 - это переменные для нот, тоесть n1 первая строка, а вторая строка естественно n2. i - это интервал. Если ДО и РЕ или РЕ и МИ, то это секунда, если ДО и МИ или МИ и СОЛЬ, то это терция, и так дальше в том же духе . В принципе я решил, да вот только мой способ отличается объемом и тем, что можно было все записать более проще, но так и не могу догнать, как записать еще проще. Вот мой код, если можете, пожалуйсто помогите упростить его и использовать плюс к этому переменную i, которую я не использовал . Меня преподша убьет, когда увидит мой код . Кстати я хотел сделать для каждого интервала отдельную процедуру, вродь все сделал и вызывал в кнопке, но не работало. Пришлось все запихнуть в одну кнопку . Код:
Помогите записать этот код в сокращенном и более легком способе, можно использовать мой метод рисунков, а можете свой придумать, главное чтобы все работало и правильно. Заранее спасибо. |
01.02.2008, 00:46 | #2 |
Участник клуба
Регистрация: 26.10.2007
Сообщений: 1,244
|
Достаточно знать, что интервал определяется количеством тонов между нотами.
Намёк понял?
Умом Россию не понять, пока не выпито ноль пять,
А если выпито ноль пять всё делом кажется не хитрым, Попытка глубже понимать уже попахивает литром... |
01.02.2008, 01:09 | #3 |
Регистрация: 31.01.2008
Сообщений: 7
|
Если честно, я не понял. В музыкальной школе не обучался. В принципе это мой второй код, но есть первый, он намного короче, но все равно не соответствует условию, точнее сказать более запутанный и менее объемный, а также там все равно не используется переменная i. ))
Вот пример первого кода для интервалов, он работает также правильно как и второй. Код:
|
01.02.2008, 01:52 | #4 |
Новичок
Джуниор
Регистрация: 18.01.2008
Сообщений: 1,720
|
Честно говоря, мне кажется, что всю гору if'ов можно заменить вот такой конструкцией:
Код:
|
01.02.2008, 02:28 | #5 |
Участник клуба
Регистрация: 26.10.2007
Сообщений: 1,244
|
Код:
Умом Россию не понять, пока не выпито ноль пять,
А если выпито ноль пять всё делом кажется не хитрым, Попытка глубже понимать уже попахивает литром... |
01.02.2008, 02:39 | #6 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
Действительно "геморрой" устроили...
Ставим 2 радиогруппы с нотами и вычисляем разность между итеминдексами групп... |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Интервалы времени | znickolai84 | Компоненты Delphi | 4 | 16.05.2008 15:53 |
Чат по LAN между 2 компами | aesoem | Работа с сетью в Delphi | 5 | 11.04.2008 14:23 |
Вопрос по 2 апи между ними база | danswin | БД в Delphi | 1 | 27.12.2007 20:26 |
Как в Microsoft Visual Basic 6.0 открыть Exel файл, считать с него данные(числа) и дальше работать с ними | Dimon88 | Microsoft Office Excel | 7 | 20.10.2007 13:30 |
Где найти коды, подключение, синхронизацию Motorola p2k с ПК и как с ними работать? | Captain Nemo | Свободное общение | 0 | 02.10.2007 11:10 |