第5章循环与分支程序设计ppt课件.ppt

第5章循环与分支程序设计ppt课件.ppt

ID:59208591

大小:921.50 KB

页数:37页

时间:2020-09-26

第5章循环与分支程序设计ppt课件.ppt_第1页
第5章循环与分支程序设计ppt课件.ppt_第2页
第5章循环与分支程序设计ppt课件.ppt_第3页
第5章循环与分支程序设计ppt课件.ppt_第4页
第5章循环与分支程序设计ppt课件.ppt_第5页
资源描述:

《第5章循环与分支程序设计ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第5章循环与分支程序设计学习目标:了解并掌握循环程序的构造方法,尤其是对循环控制条件的设置以及可能出现的边界情况的考虑。掌握起泡排序算法这种多重循环程序设计中的常用方法。交换标志位的设置在此算法中更能提高效率。学会在数组排序算法中采用折半查找法来提高查找效率。学会使用跳跃表法实现CASE结构。§5.1循环程序设计一、循环程序的结构形式二、循环程序设计三、多重循环程序设计一、循环程序的结构形式结束初始化循环体修改部分控制条件YN先判断,后循环一、循环程序的结构形式结束初始化循环体修改部分控制条件YN先循环,后判断prognamsegmentassumecs:prognam start

2、:movch,4rotate:movcl,4rolbx,clmoval,blandal,0fhaddal,30hcmpal,3ahjlprintitaddal,7hprintit:movdl,almovah,2int21hdecchjnzrotatemovah,4chint21hprognamendsendstart例5.2在ADDR单元存放着数Y的地址,试编制一程序把Y中1的个数存入COUNT单元中开始1的个数计数器←0循环次数计数器CX←16Y左移一次CF=11的个数计数器+1CX←CX-1=0COUNT←1的个数计数器结束NYNY循环次数固定,完全由循环计数器控制DATASE

3、GMENTYDW1234HADDRDWYCOUNTDB?DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVDL,0MOVBX,ADDRMOVAX,[BX]MOVCX,16REPEAT:SHLAX,1JNCNEXTINCDLNEXT:LOOPREPEATEXIT0:MOVCOUNT,DLMOVAH,4CHINT21HCODEENDSENDSTART例5.2开始1的个数计数器←0循环次数计数器CX←16Y左移一次CF=11的个数计数器+1CX←CX-1=0COUNT←1的个数计数器结束NYNYY=0NY

4、例5.2DATASEGMENTYDW1234HADDRDWYCOUNTDB?DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVDL,0MOVBX,ADDRMOVAX,[BX]MOVCX,16REPEAT:SHLAX,1JNCNEXTINCDLNEXT:LOOPREPEATEXIT0:MOVCOUNT,DLMOVAH,4CHINT21HCODEENDSENDSTARTCMPAX,0JZEXIT0例5.2JMPREPEAT例在附加段中,有一个首地址为LIST和未经排序的字数组。在数组的第一个字中,存放着

5、该数组的长度,数组的首地址已存放在DI寄存器中,AX寄存器中存放着一个数。要求编制一程序:在数组中查找该数,如果找到此数,则把它从数组中删除。循环程序设计del_ulprocnearcldpushdimovcx,es:[di]adddi,2repnescaswjedeletepopdijmpshortexitdelete:jcxzdec_cntnext_el:movbx,ex:[di]moves:[di-2],bxadddi,2loopnext_eldec_cnt:popdidecwordptres:[di]exit:retdel_upendp例5.4将正数N插入一个已升序排列的字

6、数组的正确位置。该数组的首地址和末地址分别为ARRAY_HEAD和ARRAY_END,其中所有的数均为正数。解法一:从数组的尾部开始比较N较大,则在比较对象后插入,结束循环N较小,则把比较对象及其后元素后移一个字循环结束的控制:执行插入操作后结束循环若N比所有元素都小,扫描整个数组后仍无法结束循环,将-1加在数组前可解决该问题23,37,49,5232ENDHEAD-1,23,37,49,5232,-1,开始(ARRAY_HEAD-2)←-1初始化变址寄存器SI将N放在K的位置K<=N修改地址K后移一个字单元结束YN例5.4Datareasegmentxdw?Array_headd

7、w3,5,15,23,37,49Array_enddw105ndw32DatareaendsProgramsegmentassumecs:program,ds:datareaStart:movax,datareamovds,axmovax,nmovarray_head-2,-1movsi,0Comp:cmparray_end[si],axjleinsertmovbx,array_end[si]movarray_end[si+2],bxsubsi,2jmpcompIns

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。