- 1、本文档共21页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PAGE
PAGE 2
??
??
题目:输数,排序,输出
题目:输数,排序,输出
院系:信息科学与工程学院班级:通信工程0605班
姓名:唐庆丰
指导老师: 黎方正 戴红华
学号:0905060514
2008年12月12日
目录
一.问题描述……………………………………………………………………3
二.基本要求……………………………………………………………………3
三.实现分析与程序……………………………………………………………3
四.流程图………………………………………………………………………6
五.程序源代码…………………………………………………………………9
六.程序运行界面………………………………………………………………18
七.测试结果……………………………………………………………………20
八.心得体会……………………………………………………………………22
一、问题描述:
系统提示输入数字的个数,并且这些数字已无序的方式放着,利用已掌握的编程方式将其“由小到大”或者是“由大到小”排列,最后输出排列后的数字,一旦输入数字超出范围,则提示错误。在编完排序的程序后,觉得有点简易些,于是想制作一个应用型用户软件。于是在排序的基础上加入了进入程序必须输入密码,输入密码正确,进入用小车做的开机画面,然后再进入排序程序。完成好这些还是觉得有点平易近人,想来一点创新的意识。个人喜好音乐,于是想到了用音乐来表达出排序的效果。利用所学的扬声器发声原理,将输入排好的数据用音乐的音符表达出来,自己乐在其中。
二、基本要求:
在考虑到输入输出程序的时候,应该利用“先进后出”的设计思路,试用堆栈技术,结合DOS的中断调用,实现输入字符串的显示,在考虑到由大到小或者是由小到大排序的时候,应该考虑到利用冒泡法。在运用开机画面的时候,首先用DOS的中断调用,实现用字符组成的小车显示,然后实现小车的移动,表达类似windows开机的效果。在运用扬声器发声的程序时,先输入计数初值,打开扬声器,将排序结果数字转换为音乐表中的对应数字,对应相应的发声频率,发车类似音乐的音调,达到想要的目的。
三、实现分析与程序
冒泡排序分析:
将被排序的记录数组R[1..n]垂直排列,每个记录R[i]看作是重量为R[i].key的气泡。根据轻气泡不能在重气泡之下的原则,从下往上扫描数组R:凡扫描到违反本原则的轻气泡,就使其向上飘浮。如此反复进行,直到最后任何两个气泡都是轻者在上,重者在下为止。(1)初始 ? R[1..n]为无序区。
(2)第一趟扫描 ?从无序区底部向上依次比较相邻的两个气泡的重量,若发现轻者在下、重者在上,则交换二者的位置。即依次比较(R[n],R[n-1]),(R[n-1],R[n-2]),…,(R[2],R[1]);对于每对气泡(R[j+1],R[j]),若R[j+1].keyR[j].key,则交换R[j+1]和R[j]的内容。??? 第一趟扫描完毕时,最轻的气泡就飘浮到该区间的顶部,即关键字最小的记录被放在最高位置R[1]上。
(3)第二趟扫描 ??? 扫描R[2..n]。扫描完毕时,次轻的气泡飘浮到R[2]的位置上……??? 最后,经过n-1?趟扫描可得到有序区R[1..n]
冒泡思路程序:
MAIN? ? PROC? ? FAR
? ??? MOV? ???AX, STACK ? ?? ?MOV? ???SS, AX ? ? ? ?MOV? ???SP, S_TOP
? ?? ?? MOV? ???AX, DATA ? ?? MOV? ???DS, AX CALL? ? FAR PTR DISP? ?? ???MOV? ?? ?? ?? ?? ? DL, 0DH? ?? ?? ?? ?? ?? ?? ?
? ?? ???MOV? ?? ?? ?? ?? ? AH, 2
? ?? ???INT? ?? ?? ?? ?? ? 21H ? ?? ???MOV? ?? ?? ?? ?? ? DL, 0AH
? ?? ???MOV? ?? ?? ?? ?? ? AH, 2 ? ?? ?INT? ?? ?? ?? ?? ? 21H LP1:? ? MOV? ???BX, 1? ?? ?? ???
? ?? ???MOV? ???CX, LEN? ?? ?? ? ? ??
??? DEC? ???CX
? ?? ???MOV? ???SI, OFFSET TABLE
LP2:? ? MOV? ???AX, [SI] ? ?? ??? CMP? ???AX, [SI+2] ? ?? ???JBE? ???NEXT ? ?? ???XCHG? ? AX, [SI+2]
您可能关注的文档
- 万能式断路器检验报告.doc
- 万年春酒新品发布会主持人串词.doc
- 汪国真诗歌欣赏.ppt
- 王家岭煤矿透水事故救援案例分析.ppt
- 王文义—青年型颈椎病诊断及手法治疗.ppt
- 网格化管理制度汇编.doc
- 网格化社区管理信息系统.ppt
- 网购服装店对实体服装店的冲击形势及成因分析毕业论文.doc
- 网购客服团队组建思路.doc
- 网际风数据接口开发指南.doc
- 生物药品崛起之路-创新与法规共驱动.pptx
- 豆制品:健康的秘密武器-发掘豆制品的营养价值与健康益处.pptx
- 新能源,重塑能源格局-揭秘新能源科技的潜力与挑战.pptx
- 生物医疗行业的伦理和法律问题讨论-法律专家.pptx
- 小学地理知识大比拼-地理教师演讲稿.pptx
- 医学伦理学知到智慧树期末考试答案题库2025年广西中医药大学.docx
- 药理学知到智慧树期末考试答案题库2025年滁州城市职业学院.docx
- 阳明心学与当代社会生活知到智慧树期末考试答案题库2025年宁波财经学院.docx
- 业财一体化(会计信息系统)知到智慧树期末考试答案题库2025年青岛理工大学.docx
- 业财一体化知到智慧树期末考试答案题库2025年临沂职业学院.docx
文档评论(0)