资源描述:
《流行音乐乐曲演奏程序》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、更多免费资料请访问:豆丁教育百科流行音乐乐曲演奏程序一、需求说明1、通过一个较大型实用程序的设计与实现,综合运用所学知识,加深理解和掌握。同时培养学生分析问题和解决问题的能力,以及自学能力。2、编写用键盘选择计算机演奏歌曲的程序,歌曲清单至少包括3首;3、程序应该有操作提示、输入和输出,界面追求友好,最好是菜单式的界面;4、设计若干用例(测试数据),上机测试程序并分析所设计的程序;二、设计说明1、简要分析为了编写一个流行音乐乐曲演奏程序,分析时按照课程设计的要求必须要有操作提示、输入和输出。在界面设计时应该追求友好,能够使用户便于使用该程序。而且按照课题
2、要求最好能够实现菜单式的界面,进一步提高该程序界面的友好性。同时,在设计分析时也必须解决发声问题。分析设计时按照课本P383(10.4通用发声程序)所示的设计方法解决发声问题。2、概要分析2.1用户界面以下是显示音乐菜单的字符串msgmenudb'**************************************',0dh,0ahdb'*Thepopmusicmenuisthat:*',0dh,0ahdb'**',0dh,0ahdb'*1:dahai*',0dh,0ah;张宇生《大海》db'*2:dongfengpo*',0dh,0ah;周杰伦
3、《东风破》db'*3:dashetou*',0dh,0ah;吴克群《大舌头》db'**************************************',0dh,0ah,'$'2.2模块定义、原理2.2.2提示选择乐曲msgchoosedb0dh,0ah,'Inputthenumber(1~3)tochoosethemusicyouwant,input:','$'更多免费资料请访问:豆丁教育百科更多免费资料请访问:豆丁教育百科在出现菜单时,同时出现选择乐曲模块,帮助用户认识菜单和操作菜单的方法。2.2.2提示音乐播放msgdoi
4、ngdb0dh,0ah,0dh,0ahdb0dh,0ah,'Now,playingthepopmusicwhichyouchose!Pleaseenjoying...'db0dh,0ah,0dh,0ah,'$'在用户选择所选音乐,程序演奏音乐时,同时显示以上程序段,提示用户系统已经在演奏所选流行歌曲。2.2.3提示输入字符错误msgerrordb0dh,0ah,0dh,0ah,0dh,0ah,'!!!sorry,youinputawrongnumber!!!',0dh,0ahdb'pleasetrytochoosefrom1to3again5、t>!,input:','$'如果出现用户输入字符不符合程序定义的字符串时,程序显示以上模块段,提示用户操作错误,同时程序转回菜单,提示用户重新操作。2.2.4乐曲频率表和节拍表以下节选《大舌头》流行乐曲的频率表和节拍表,其余乐曲见源程序段。freq_dashetoudw524,524,524,524,494,524,588,524;频率表dw524,524,524,524,494,524,494,392dw524,524,524,524,494,524,588,524dw330,330,294,294,262,330,300,262dw524,524,
6、524,524,494,524,588,524dw524,524,524,524,494,524,494,392dw524,524,524,524,494,524,588,524dw330,330,294,294,262,330,300,262dw-1time_dashetoudw500,500,500,500,1000,500,500,500;节拍表dw500,500,500,500,1000,500,500,500dw500,500,500,500,1000,500,500,500更多免费资料请访问:豆丁教育百科更多免费资料请访问:豆丁教育百科dw5
7、00,500,500,250,250,500,500,1000dw500,500,500,500,1000,500,500,500dw500,500,500,500,1000,500,500,500dw500,500,500,500,1000,500,500,500dw500,500,500,250,250,500,500,10002.2.5乐曲处理模块以下节选第一乐曲的处理模块,其余乐曲可见源程序。music1:dispmsgmsgdoing;music1处理程序段movsi,offsetfreq_dahaimovdi,offsettime_dahai
8、m1:movcx,[si]cmpcx,-1;-1用于判断是否结束歌曲jenext