Важная информация
Показано с 1 по 2 из 2

Тема: Определить интервал, образованный нотами n1 и n2 (n1 ≠ n2) - PascalABC.NET

  1. #1 Определить интервал, образованный нотами n1 и n2 (n1 ≠ n2) - PascalABC.NET 
    Новичок
    Регистрация
    10.06.2017
    Сообщений
    3
    Сказал(а) спасибо
    0
    Поблагодарили 0 раз(а) в 0 сообщениях
    Музыкальные интервалы.
    Пусть есть такие типы данных:

    Type Nota = (do, re, mi, fa, sol, la, si);
    Interval = (secunda, tercia, quarta, quinta, seksta, septima);
    Var n1, n2: Nota;
    i: Interval;

    Определить интервал, образованный нотами n1 и n2 (n1 ≠ n2). Значение нот должны быть введены с клавиатуры (самостоятельно придумайте средство). Примечание: секунда - это интервал из двух соседних (по кругу) нот (например, ре и ми, си и до), терция - интервал через ноту (фа и ля, си и ре), кварта - через две ноты и т.д .
    Ответить с цитированием  
     

  2. #2  
    Профи
    Регистрация
    09.11.2013
    Сообщений
    314
    Сказал(а) спасибо
    17
    Поблагодарили 89 раз(а) в 63 сообщениях
    Плохие типы данных...
    Pascal Code:
    1. Type
    2.    Nota = ( note_do  = 0, note_do_dies  = 1,
    3.             note_re  = 2, note_re_dies  = 3,
    4.             note_mi  = 4, note_fa       = 5,
    5.             note_sol = 6, note_sol_dies = 7,
    6.             note_la  = 9, note_la_dies  = 10,
    7.             note_si  = 11 );
    8.   
    9.    Interval = ( min_secunda = 1,  maj_secunda = 2,
    10.                 min_tercia  = 3,  maj_tercia  = 4,
    11.                 quarta      = 5,  maj_quarta  = 6,
    12.                 min_quinta  = 6,      quinta  = 7,
    13.                 min_seksta  = 8,  maj_seksta  = 9,
    14.                 min_septima = 10, maj_septima = 11,
    15.                 octave = 12);
    16.  
    17.  
    18. begin
    19.     WriteLn('First note (1 to 11): ');
    20.     var n1 : Integer := ReadInteger();
    21.     
    22.     WriteLn('Second note (1 to 11): ');
    23.     var n2 : Integer := ReadInteger();
    24.  
    25.     var int : Interval := Interval(abs(n1 - n2));
    26.     WriteLn(nota(n1),'-', nota(n2), '=', int);
    27.  
    28. end.
    Ответить с цитированием  
     

  3. 2 пользователя(ей) сказали cпасибо:

    >Quiet Snow< (15.09.2018), nik_1 (15.09.2018)

Информация о теме
Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Ответов: 0
    Последнее сообщение: 10.06.2017, 21:02
  2. Ответов: 0
    Последнее сообщение: 30.03.2017, 19:36
  3. Ответов: 4
    Последнее сообщение: 28.03.2017, 21:24
  4. [PascalABC]Задача с файлами
    от Oleksandr Tatarinov в разделе Pascal ABC
    Ответов: 2
    Последнее сообщение: 24.05.2016, 21:51
  5. Среда программирования PascalABC.Net
    от Doomer_ в разделе Pascal ABC
    Ответов: 8
    Последнее сообщение: 11.12.2011, 11:54
Ваши права
  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •