Розробка програми-емулятора "Фортепіано" - Программирование, компьютеры и кибернетика курсовая работа

Розробка програми-емулятора "Фортепіано" - Программирование, компьютеры и кибернетика курсовая работа




































Главная

Программирование, компьютеры и кибернетика
Розробка програми-емулятора "Фортепіано"

Оформлення зручного, зрозумілого інтерфейсу та створення малюнку, на якому відображались клавіші фортепіано. Відтворення звуку при натисненні відповідної клавіші, а також замальовування тієї частини екрану, що відповідала натиснутій клавіші на клавіатурі.


посмотреть текст работы


скачать работу можно здесь


полная информация о работе


весь список подобных работ


Нужна помощь с учёбой? Наши эксперты готовы помочь!
Нажимая на кнопку, вы соглашаетесь с
политикой обработки персональных данных

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


МІНІСТЕРСТВО ОСВІТИ І НАУКИ, МОЛОДІ ТА СПОРТУ УКРАЇНИ
НАЦІОНАЛЬНИЙ ТЕХНІЧНИЙ УНІВРСИТЕТ УКРАЇНИ
Інтситут прикладного системного аналізу
Кафедра математичних методів системного аналізу
зЗ дисципліни: “ПРОГРАМУВАННЯ ТА АЛГОРИТМІЧНІ МОВИ”
на тему: “Розробка програми-емулятора фортепіано”
Перевірив: Кузнєцова Наталія Володимирівна
В роботі реалізовано програму-емулятор "Фортепіано". Для відтворення звуку в даному проекті використовуються перша та друга октави. Кожна нота визначається своєю «персональною» частотою, що вимірюється в герцах. В ході розробки програмного продукту було розглянуто декілька аналогів емуляторів. Однією з найбільших переваг даного емулятора «Фортепіано» є зручний та зрозумілий для користувача інтерфейс та простота використання.
Розроблена програма являє собою емулятор фортепіано. Даний програмний продукт створений на мові програмування Pascal, зокрема в середовищах ABCPascal, TurboPascal, BorlandPascal 7.0. При розробці програми також використовувався емулятор операційної системи DOS з метою покращення роботи відеорежиму Pascal. Для коректного використання програми слід використовувати операційну систему Windows 98, 2000, XP, 8
В даному проекті було поставлено декілька задач. Постановка першого завдання заключалась в оформленні зручного та зрозумілого інтерфейсу та в створенні малюнку , на якому відображались клавіші фортепіано. Наступною задачею стало відтворення звуку при натисненні відповідної клавіші, а також замальовування тієї частини екрану (клавіші фортепіано), що відповідала натиснутій клавіші на клавіатурі. Зокрема автор вирішив задачу запису програної користувачем мелодії з можливістю її подальшого відтворення та виведення на екран відповідних клавіш, натиснутих в процесі запису. Розробник також реалізував задачу виведення на екран нот згідно з міжнародними позначеннями. При вирішенні описаних вище задач автор намагався створити максимально просту програму для використання користувачем будь-якого віку не залежно від наявності музичної освіти.
Для розв'язку вищесказаних задач розробник створив окремий модуль та вбудовані до нього процедури. Розроблений модуль був призначений для оформлення зовнішнього вигляду окремих блоків програми в режимах гри, запису та відтворення. Модуль містить ряд процедур, за допомогою яких розробник виконав поставленні задачі. Кожна процедура має окреме призначення. Розроблені процедури передбачають створення зображення клавіш фортепіано на екрані у відповідних режимах; встановлення «персональної» частоти (в герцах) для кожної клавіші, виведення звуку через динаміки та зміну забарвлення тієї частини екрану, що відповідає натиснутій клавіші під час її натискання на клавіатурі; створення окремих текстових файлів, в які записується мелодія в режимі запису, а також виведення натиснутих користувачем клавіш та назв нот на екран під дошкою фортепіано в режимах виведення та відтворення.
На рисунку 2.1 зображено структурну блок-схему роботи програми
1 .4 Опис головних констант, типів, процедур та функцій і їх змінних
NORM = 0 - нормальний колір фону (чорний)
CHANGE = 9 - змінений (колір поточного пункту меню) фон.
Max_item = 5 - кількість пунктів у меню.
NOTE = RECORD - Використовується для створення головного меню.
Line = array of NOTE - Використовується для створення полів записів у головному меню, надання початкових координат для виведення тексту та кольору зображення.
FILE_ABC - файл що зберігає записи символьного типу.
Menu_selected - відповідає за вибраний пункт меню
Menu_last_selected - відповідає за попередній пункт, що був вибраний
Print - виводить окремий пункт меню.
Вхідні дані: номер пункту меню, який треба вивести.
Fill_in - заповнює меню, надаючи координати виведення та колір фону.
Sound_let - виводить звук при натисненні відповідної клавіші.
Вхідні дані: координати натиснутої клавіші, частота звуку, символ, що відповідає клавіші на клавіатурі.
Sound_let1 - виводить звук при натисканні відповідної клавіші (як і попередня процедура), однак довжина звуку вдвічі коротша.
Вхідні дані: координати натиснутої клавіші, частота звуку, символ, що відповідає клавіші на клавіатурі.
WriteToFile - записує символи у файл.
Вхідні дані: Два текстові файли, призначенні для запису символів, що відповідають натисненим клавішам на клавіатурі та виведення на екран відповідних символів.
OutFromFile - читає символи з файлу
Вхідні дані: Два текстові файли, призначенні для запису символів, що відповідають натисненим клавішам на клавіатурі та виведення на екран відповідних символів.
Select1 - використовується для режиму простої гри.
Select2 - в режимі «запис» викликає процедуру WriteToFile.
Select3 - виводить символи з файла на екран.
Select4 - читає з файлу букви, що відповідають нотам та виводить на екран.
Вхідні дані: Два текстові файли, призначенні для запису символів, що відповідають натисненим клавішам на клавіатурі та виведення на екран відповідних символів.
В даному програмному продукті було створено зручний для користувача інтерфейс. Інтерфейс програми інтуїтивно зрозумілий. Пересування в меню виконується за допомогою клавіатури. Використовуються клавіші «стрілка вверх», «стрілка вниз» та клавіша “Enter”. На рисунку 2.2 зображено вигляд головного меню при завантаженні програми.
Користувачу пропонується вибрати, те що йому потрібно за допомогою стрілок вниз/вверх та клавіші Enter.
Record melody - Записує мелодію в окремий файл.
Out last melody - Виводить останню записану мелодію.
Play last melody - Відтворює останню записану мелодію.
На рисунку 1.3 показано вікно режиму простої гри на фортепіано.
На рис. 1.4 показано виведення останньої записаної мелодії в двох режимах. Перший - назва кнопки на клавіатурі. Другий - назва ноти.
Режим виведення та відтворення останньої записаної мелодії (рис 1. 5)
В данному проекті реалізовано програму-емулятор «Фортепіано». В ході роботи автор отримав досвід роботи з графікою на мові Паскаль, навчився працювати з текстами в середовищі мови програмування, що є неоціненним вкладом та незамінним досвідом в кар'єрі майбутнього програміста. Отже, цей курсовий проект суттєво підвищив рівень програмування автора, покращив навички системного підходу розв'язування поставленої задачі та поповнив знання автора для роботи в середовищах BorlandPascal, ABCPascal, TurboPascal.
До переваг емулятора «Фортепіано» можна віднести малі системні вимоги, просте використання програми, досить знучний та зрозумілий інтерфейс гри, що дозволить з легкістю грати та записувати мелодії користувачам будь-якого віку не залежно від наявності музичної освіти та досвіду роботи з персональним комп'ютером.
До недоліків програми можна віднести відсутність можливості збереження кількох мелодій одночасно, відсутність паузи та розпізнання довжини звуку в режимі відтворення, а також незручне розташування «ігрової палітри» у зв'язку з недостатньою вмістимістю клавіш на клавіатурі.
1. Немнюгин С.А. Программирование на языке высокого уровня - Ученик для ВУЗов. 2-е издание, -СПб.:Питер, 2004.-544с.:ил.
2. Меженый О.А. TurboPascal Самоучитель - М. : Издательский дом «Вильямс», 2006 - 336с.: ил.
3. А.И.Марченко, Л.А.Марченко Программирование в среде Turbo Pascal 7.0. 7-ое изд. - К.: ВЕК+, 2003. - 464с., ил.
menu_selected, menu_last_selected : word;
procedure print (i : integer); {procedura vuvoda pynkta men'y}
procedure PrintMenu; {vuvodit vse pynktu men'y}
procedure fill_in; {zapoln9et pynktu men'y}
array1[2].post := ' RECORD MELODY ';
array1[3].post := ' OUT LAST MELODY ';
array1[4].post := 'PLAY LAST MELODY ';
menu_last_selected := menu_selected;
menu_selected := 1 {men9et cvet men'y}
menu_selected := menu_selected + 1;
menu_last_selected := menu_selected;
menu_selected := menu_selected - 1;
array1[menu_last_selected].color := norm;
array1[menu_selected].color := change;
procedure sound_let(x,y,s: integer; ch1 : char);
procedure sound_let1(x,y,s: integer; ch1 : char);
procedure select4 (var ABC1 : File_ABC);
procedure WriteToFile (var ABC1,ABC2 : File_ABC);
procedure OutFromFile (var ABC1,ABC2 : File_ABC);
procedure select3; {vuvodit simvolu iz faila na ekran}
SetTextStyle(DefaultFont,HorizDir,1);
SetTextStyle(DefaultFont,HorizDir,2);
procedure OutFromFile (var ABC1,ABC2 : File_ABC);
procedure select4 (var ABC1 : File_ABC);
{chitaet iz faila bykvu, kotorue sootvetstvujut notam}
procedure sound_let(x,y,s: integer; ch1 : char);
{vudaet zvyk pri nazhatii sootvetstvennoy klaviwi
procedure sound_let1(x,y,s: integer; ch1 : char);
{vudaet zvyk pri nazhatii sootvetstvennoy klaviwi
procedure WriteToFile (var ABC1,ABC2 : File_ABC); {zapisuvaet v fail notu}
procedure paint; {risyet dosky fortepiano}
Initgraph(GraphDriver,GraphMode,'D:\BP\BIN\BGI');
SetLineStyle(SolidLn,0,ThickWidth);
SetTextStyle(DefaultFont,HorizDir,2);
SetTextStyle(DefaultFont,HorizDir,1);
SetTextStyle(DefaultFont,HorizDir,2);
procedure select1; {prosta9 igra na fortepiano}
procedure select2; {pri nazhatii klaviwi zapisyet v fail}
Створення синтезатора мови за параметром "чіткість". Повний синтез мови за правилами. Обробка вихідного звуку. Опис головного вікна програми. Генерація проміжків між фонемами. Якість звуку та підбір фонем. Відтворення та збереження мови. Системні вимоги. курсовая работа [701,8 K], добавлен 27.11.2010
Методи поліпшення растрових зображень. Параметри виду, буфер глибини, джерело світла в бібліотеці Opengl. Створення тривимірної фігури та забезпечення її повороту за допомогою Opengl, виконання операції масштабування з використанням клавіші "+" та "-". контрольная работа [139,4 K], добавлен 12.09.2009
Розробка програми-емулятора для заданої навчальної електронної обчислювальної машини, яка в спрощеному виді відображає структуру реальної машини. Формати представлення інформації та команд. Програмування формул. Циклічна програма з розгалуженням. курсовая работа [88,4 K], добавлен 27.08.2012
Запуск на виконання програм. Особливості роботи з об’єктами файлової системи. Поняття, сутність і методика користування інформаційними і діалоговими вікнами. Основні "гарячі клавіші" та їх використання. Призначення елементів керування діалоговими вікнами. конспект урока [82,8 K], добавлен 03.01.2010
Перехід у захищений режим. Програма яка виводить на екран відомості про тип процесора і виводить вміст регістру флагів і іншу інформацію о системі. Завершення циклу чекання натиску клавіші. Масковані і немасковані переривання. Вихід до реального режиму. курсовая работа [34,8 K], добавлен 14.02.2009
Розробка програми для розрахунку норм вектору. Процедури множення матриці на матрицю, сумування матриць, віднімання векторів. Функція множення матриці на вектор. Обчислення евклідової норми вектора. Створення зручного інтерфейсу для користувача. курсовая работа [397,6 K], добавлен 13.03.2011
Створення програми, яка друкує в вікно інформацію про натискання клавіш на клавіатурі в таблицю. Функція виведення назви отриманого програмою повідомлення від клавіатури та певних додаткових даних. Обробка інформації, неопрацьованої віконною процедурою. лабораторная работа [17,9 K], добавлен 14.05.2011
Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д. PPT, PPTX и PDF-файлы представлены только в архивах. Рекомендуем скачать работу .

© 2000 — 2021



Розробка програми-емулятора "Фортепіано" курсовая работа. Программирование, компьютеры и кибернетика.
Курсовая работа по теме Школьное дело после Екатерины II
Язык Мой Друг Мой Сочинение
Сочинение Обо Мне И Моей Семье
Реферат: Это мы, господи
Дипломная работа по теме Особенности языка М.А. Шолохова и перевод
Написать Сочинение Становление Личности Петра Гринева
Курсовая работа: Производство в кассационной инстанции. Скачать бесплатно и без регистрации
Подписать Тетрадь По Английскому Контрольных Работ
Реферат: Моро, Жан Виктор
Курсовая Работа На Тему 1с Бухгалтерия 8
Изучение Стандартов Шифрования Aes И Rijndael Реферат
Курсовая работа: Коммуникации в организации
Виды Источников Курсовой Работы
Судебная Система Рф Реферат
ВОПРОСЫ ДЛЯ ПОДГОТОВКИ К ЭКЗАМЕНУ ПО ФАРМАКОЛОГИИ
Лабораторная Работа Пгупс
Доклад: Особенности реализации различными видами учреждений права оперативного управления
Физика Перышкин Лабораторная Работа Номер 4
Реферат: Ставка на ядерные силы
Контрольная работа: Материальная ответственность в трудовом праве
Совершенствование муниципального менеджмента в администрации района (на примере Администрации муниципального района Мечетлинский район Республики Башкортостан) - Менеджмент и трудовые отношения дипломная работа
Защита населения в чрезвычайных ситуациях - Военное дело и гражданская оборона реферат
Разработка базы данных футбольного клуба - Программирование, компьютеры и кибернетика курсовая работа


Report Page