




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本科设计报告题目: 人均消费问题 课程名称: 计算机原理课程设计 学院(系): 电子信息与通信工程学院 专 业: 电子信息工程 班 级: 学 号: 学生姓名: 成 绩: 2010 年 12 月 8 日题目:人均消费问题1 设计要求 家庭消费是保证每个家庭稳定生活基本因素。有一对25岁年轻夫妻月工资共计3000元,他们25岁开始有孩子,每5年增加一个孩子,他们共有4个孩子。问孩子工作前,他们每人平均生活费是多少?写出计算公式和计算方法。(提示:生一个孩子时的平均生活费;生两个孩子时的平均生活费;生三个孩子时的平均生活费;生四个孩子时的平均生活费各是多少?)2 设计分析及系统方案设计题目设定夫妻月工资总计不变,而且计算的平均生活费是在孩子的工作之前,因此人均生活费就是将月工资总计除以当前家庭总人数即可。具体如下:一个孩子时,家庭总人数3人,平均生活费为3000/3;两个孩子时,家庭总人数4人,平均生活费为3000/4;三个孩子时,家庭总人数5人,平均生活费为3000/5;四个孩子时,家庭总人数6人,平均生活费为3000/6;3 程序流程图NNNNY开始堆栈赋值,定义变量孩子数目sum定义循环变量a=4a2a3a4孩子数目num置4孩子数目num置3a1孩子数目num置5孩子数目num置6根据孩子数目num计算家庭人均生活费按位显示人均生活费a=a-1结束YYY4 程序清单; CELF 用来实现回车换行CRLFMACROMOVDL,0DHMOVAH,02HINT21HMOVDL,0AHMOVAH,02HINT21HENDMDATASEGMENT avedw4 dup(0) ;用来存放不同孩子数目时的人均生活费 numdw? ;用来存当前家庭人员总数 chudw10 ;存放10,用来进行二进制和十进制转换 dispdb4 dup( ) ;用来存放需要显示的字符 chi1dbWhen they are 25 to 30 years old,1 child,their average living expenses is$ chi2dbWhen they are 30 to 35 years old,2 children,their average living expenses is$ chi3dbWhen they are 35 to 40 years old,3 children,their average living expenses is$ chi4dbWhen they are 40 to 43 years old,4 children,their average living expenses is$DATAENDSSS_SEGSEGMENT stack DB100 DUP(0)SS_SEGENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:SS_SEGSTARTPROCFAR PUSHDS MOVAX,0 PUSHAX MOVAX,DATA MOVDS,AX LEABX,AVE MOVDX,0 MOVAX,3000 ;DX中存放0,AX中存放3000,作为月工资;循环,输出不同数目孩子时的人均生活费 MOVCX,4CIRCLE: PUSHBX PUSHAX PUSHDX PUSHCX CMPCX,4 JBNEXT1 MOVnum,3 ;家庭总人数为3 LEACX,CHI1 ;把需要输出字符串的首地址给CX CALLCHILD ;CHILD函数用来计算并显示当前人均生活费 JMPNEXTNEXT1: CMPCX,3 JBNEXT2 MOVnum,4 ;家庭总人数为4 LEACX,CHI2 CALLCHILD JMPNEXTNEXT2: CMPCX,2 JBNEXT3 MOVnum,5 ;家庭总人数为5 LEACX,CHI3 CALLCHILD JMPNEXTNEXT3: CMPCX,1 JBNEXT MOVnum,6 ;家庭总人数为6 LEACX,CHI4 CALLCHILDNEXT: POPCX POPDX POPAX POPBX LOOPCIRCLE RETSTARTENDP;CHILD函数用来计算人均生活费并输出CHILD PROC DIVNUM ;计算人均生活费,放于AX中 MOVBX,AX ;将人均生活费放于内存中ave中 MOVAH,09H MOVDX,CX INT21H CRLF MOVAX,BX LEABX,DISP MOVSI,0CIR: MOVDX,0 DIVchu ;将人均生活费除10,用来计算每一位字符 ORDX,0030H ;将每位数转换成ASCII码 MOVBX+SI,DL ;将每位的ASCII显示放于disp中 INCSI CMPAX,0 JACIR MOVSI,4 MOVDX,0;循环显示disp中的字符DISPLAY: MOV DL,BX+SI-1 MOVAH,02H INT21H DECSI CMPSI,0 JADISPLAY CRLF CALLCLRDISP RETCHILD ENDP;CLRDISP用来将disp中的值置成空格CLRDISPPROC LEABX,DISP MOVSI,5CLRD: moval, MOVBX+SI-1,al DECSI CMPSI,0 JACLRD RETCLRDISPENDPCODEENDS ENDSTART5 系统调试运行结果说明结果显示了夫妇在不同年龄段孩子数目,以及每人的平均生活费。具体为:夫妇2530岁时,一个孩子,人均生活费为1000;夫妇3035岁时,两个孩子,人均生活费为750;夫妇3540岁时,三个孩子,人均生活费为600;夫妇4043岁时,四个孩子,人均生活费为500;6 结论及设计体会 实验结果可以看出,随着家庭总人数的增多,人均生活费越来越少。因此在生活中人们要善于理财。根据自己的规划来确定自己现在的花销等,应该为将来做一定的储备。设计过程中,遇到以下的问题:1、 最初将被除数放到寄存器中,跟着程序的进行,寄存器中的值往往被改变,后来想到放到内存中,因此大大方便了程序的进行。2、 在对人均生活费进行显示的时候,结果本来可
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论