- 1、本文档共17页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
学 号:
课 程 设 计
题 目 打印水仙花数 学 院 计算机科学与技术 专 业 计算机科学与技术 班 级 姓 名 指导教师
2012 年 6 月 28 日
课程设计任务书
学生姓名: 专业班级:
指导教师: 工作单位:计算机科学与技术学院
题目: 打印水仙花数
初始条件:
理论:完成了《汇编语言程序设计》课程,对微机系统结构和80系列指令系统有了较深入的理解,已掌握了汇编语言程序设计的基本方法和技巧。
实践:完成了《汇编语言程序设计》的4个实验,熟悉了汇编语言程序的设计环境并掌握了汇编语言程序的调试方法。
要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)
进一步理解和掌握较复杂程序的设计方法,掌握子程序结构的设计和友好用户界面的设计。具体的设计任务及要求:
输入一个大整数n;
将小于n的水仙花数打印出来(各位数字的立方和等于该数本身);
程序采用子程序结构,结构清晰;
友好清晰的用户界面,能识别输入错误并控制错误的修改。
在完成设计任务后,按要求撰写课程设计说明书;对课程设计说明书的具体要求请见课程设计指导书。
阅读资料:
1)《IBM—PC汇编语言程序设计实验教程》实验2.4
2)《IBM—PC汇编语言程序设计(第2版)》例6.11
时间安排:
设计安排一周:周1、周2:完成系统分析及设计。
周3、周4:完成程序调试,和验收。
周5:撰写课程设计报告。
指导教师签名: 2012年 月 日
系主任(或责任教师)签名: 2012年 月 日
打印水仙花数
需求说明
1.1设计要求:
进一步理解和掌握较复杂程序的设计方法,掌握子程序结构的设计和友好用户界面的设计。具体的设计任务及要求:
1.输入一个三位整数n;
2.将小于n的水仙花数打印出来(各位数字的立方和等于该数本身);
3.程序采用子程序结构,结构清晰;
4.友好清晰的用户界面,能识别输入错误并控制错误的修改。
1.2设计说明
所谓“水仙花数”是指一个3位数,其个、十、百位数字的立方和等于其本身。
1.3功能简述
程序可以输入一个三位数,若输入有误则提示错误,并提示重新输入,若输入正确,系统将显示出所有大于等于100,并且小于等于输入数字的水仙花数。
然后提示是否继续,若用户输入y或Y,则系统回到最开始的状态,若输入n或N,则退出系统,若为其他则提示错误,并重新输入。
设计说明(简要的分析与概要设计)
2.1简要分析
2.1.1原理说明
可以用标签来接收三位数,标签的好处在于可以限制输入的位数,并且通过实际输入位数可以直接进行一部分的异常处理。
将数存到标签后,因为是以ASCII码的形式存的,所以需要进行转换,将其变成十六进制数,转换后将数字存到申请的内存字中。在转换成十六进制数的过程中,可以对输入的数进行异常处理,判断是否输入有误。
在输出水仙花数时,设置一个计数器,从100开始循环判断,直到等于用户输入的数为止,依次判断是否为水仙花数,决定是否输出该数。
在输出时,分别取出水仙花数的个、十、百位数,转换成ASCII码再输出。
系统提示是否继续后,程序对用户输入的信息进行判断,若为y或Y则系统回到初始状态,若为n或N则退出系统,若为其他则提示输入错误并重新输入。
2.1.2程序流程图
开始
输入一个三位数n
是否继续
结束
2.2 数据段设计
data segment
mess1 db 0dh,0ah,Please input a nubmer (100=number=999):,$
mess2 db 0dh,0ah,Do you want to continue(y/n)? ,$
mess3 db 0dh,0ah,shuixianhuashu:,0ah,$
error db 0dh,0ah,Input error,please input again!,$
numpar label byte
max db 4
act db ?
numfld db 4 dup(?);存放输入的字符串,设定了最大长度,避免错误。
real dw ? ;用于存放转换后的十六进制数
data ends
子程序设计与描述
3.1输入一个三位数:
;input a number
num proc near
lea dx,mess1
mov ah,9
int 21h
文档评论(0)