第五章循环控制程序设计
- 格式:ppt
- 大小:831.50 KB
- 文档页数:51
第5章分支、循环程序设计本章要点: 转移指令的寻址方式及其执行过程,控制转移类指令的使用,分支和循环程序的设计和应用。
程序调试的方法,常见问题的程序设计方法。
一、单项选择题5.1.1条件转移是根据标志寄存器中的标志位来判断的,条件判断的标志位共有( B )位。
A. 4B. 5C. 6D. 95.1.2用一条条件转移指令一次可以实现( A )个分支。
A. 2B. 3C. 4D. N5.1.3 条件转移指令的转移范围是(A)。
A. -128~127B. 0~255C. 0~65535D. -32768~327675.1.4 设A为字变量,B为标号,下列指令中不正确的是(D)。
A. MOV AX,AB. JNZ BC. JMP [SI]D. JMP B[BX]5.1.5 下述指令中影响CF标志位的是(A)。
A. SHL AL,1B. MOV AL,1C. JC LD. JNC L5.1.6 下述指令中不影响CF标志位的是(A)。
A. INC SIB. SUB SI,0C. NEG ALD. TEST AL,15.1.7 在多重循环程序设计中,每次通过外层循环进入内层循环时,其内层循环的初始条件(B)。
A. 不必考虑B. 必须重新设置C. 必须清0D. 必须置15.1.8 当设计一个程序时,最重要的是(B)。
A. 程序的结构化B. 能使程序正常运行并实现功能C. 程序的执行速度快D. 程序占用的存储空间小*5.1.9 如果“JNC L”指令的操作码放在0040H,转移后在0020H处取下一指令的操作码,那么这条指令的位移量是(C)。
A. 1EHB. 20HC. 0DEHD. 0E0H*5.1.10 如果“JGE P”指令的操作码放在0050H,该指令的位移量是34H,执行完这条指令转移取下一条指令的偏移地址是(C)。
A. 82HB. 84HC. 86HD. 88H二、填空题5.2.1 当下面循环程序中的划线处填上一个什么数字时,执行的循环次数最多?MOV CX,____0______MOV AX,0L:INC AXLOOP L5.2.2 当两个数进行比较后,执行__JE L(JZ L)表示两数相等则转移到L。
《C程序设计基础》课程思政元素第五章循环控制5.5数值计算求解方程根一、授课内容(1)一元二次方程求解,将数学计算过程转换为计算机算法,利用计算机程序求解;二分法设计与实现,表达式对算法效率的影响;牛顿迭代法设计与实现,函数对算法效率的影响;快速开根方算法的理解与实现(思考与拓展)。
(2)认知计算机迭代算法效率问题,综合分析二分法、牛顿迭代算法、快速开根方算法求解平方根。
(3)拓展讨论程序运行时间计算问题;时间函数库的应用、程序运算的时间成本、运算效率在计算机算法设计中的重要性及影响计算机执行效率的因素。
二、实施过程(一)思政元素类型:家国情怀;科学精神。
(二)课堂教学方法1.教学手段“算法效率提升”。
利用程序设计中的“迭代开发”思想,由浅入深,螺旋式上升。
教学过程由四个迭代周期构成,每个迭代周期平均25分钟左右,采用PPT、视频等多媒体形式。
采用“问题教学法”,部分内容需要学生网上搜索资料并加以归纳分析。
教师讲授主要完成引导、重点讲解和总结,大部分教学活动留给学生,发挥学生主动性,锻炼学生的协作学习能力。
说明:(1)二分法和牛顿迭代法在《C语言程序设计(理工类)》课程所选教材中有明确的阐述和源程序,有利于学生课前预习和课后复习。
(2)快速平方根算法在网上有相关资料(百科和博客),需要学生通过网络去查询相关资料,鼓励学生主动获取知识和技能。
(3)利用课前和课间5分钟时间播放《厉害了,我的国》与计算机产业相关的片段。
从分析计算机运算效率的因素讨论引入思政元素的内容。
2.课程思政融入点课程知识点中相关的“计算效率”、“迭代计算”与国家计算机产业发展、科学精神等相契合。
三、思政元素内容神威·太湖之光超级计算机(一)元素内容超级计算机,被称为“国之重器”,超级计算属于战略高技术领域,是世界各国竞相角逐的科技制高点,也是一个国家科技实力的重要标志之一。
自中国863计划实施以来,国家高度重视并且支持超级计算系统的研发,但由于基础薄起步较晚,在国际舞台中一直受制于人,美国更是在2015年宣布对中国禁售高性能处理器。
八年级信息技术教案第五章循环结构程序设计实践课题的设计与研究在八年级信息技术的教学中,学习循环结构程序设计是为了让学生掌握程序设计中业务处理的基本思想,熟悉常用循环语句的使用,进而学习和掌握循环控制语句的使用。
为了贯彻实践教学的基本思想,本文将围绕八年级信息技术教学中的循环结构程序设计实践课题,对这方面的设计和研究进行深入分析和研讨,为学生的学习提供更好的指导和帮助。
一、课程目标通过本实践课程,学生应能够:1、了解循环结构程序设计的基础知识和技术,掌握常见循环结构的使用方法和应用场景;2、了解循环控制语句的基本构成和使用方法,掌握常见循环控制语句的使用规则和应用场景;3、熟悉利用循环结构和循环控制语句实现数字彩票模拟的具体方法,能够自主设计和实现数字彩票模拟程序;4、通过实践掌握和深入理解循环结构程序设计的基本思想和实际应用,提高对编程实践的理解和兴趣。
二、教学思路本课程的教学思路是:分析循环结构程序设计的基本理念和相关技术,通过具体的实践案例,让学生对循环结构程序设计有比较深刻的理解和认识。
三、教学重点本课程的教学重点主要包括以下两方面:1、循环结构程序设计的基本思想和技术2、利用循环结构和循环控制语句实现数字彩票模拟的具体方法四、教学方法本课程教学中,我们将采用如下教学方法:1、理论讲解我们将介绍循环结构程序设计的基本概念和相关技术,包括循环结构的使用方法和应用场景,循环控制语句的构成和使用方法等。
2、案例分析为了更好地使学生理解循环结构程序设计的实际应用,我们将选取数字彩票模拟程序作为我们的教学案例,介绍数字彩票模拟程序的设计方法和实现技术。
3、编程实践为了更好地让学生熟悉循环结构程序设计的具体操作,我们还将提供相关的编程实践机会,让学生自主设计和实现数字彩票模拟程序,并在实践中不断掌握和加深对循环结构和循环控制语句的理解和应用。
五、教学具体步骤本课程的教学具体步骤为:1、制定教学计划和教学目标,明确教学任务和要求;2、介绍循环结构程序设计的基本概念和相关技术,包括循环结构的使用方法和应用场景,循环控制语句的构成和使用方法等;3、介绍数字彩票模拟程序的设计思路和实现方法,重点介绍如何利用循环结构和循环控制语句实现数字彩票的模拟,并给出具体的程序代码;4、提供编程实践机会,让学生自主设计和实现数字彩票模拟程序,并在实践中不断掌握和加深对循环结构和循环控制语句的理解和应用;5、进行课堂讨论和互动,让学生自主分组进行彩票模拟程序的对比和分享,帮助学生检验和提高其自主设计和实现的能力;6、总结本次教学内容和成果,对学生进行评价和反馈,激励学生进一步探索和深入研究循环结构程序设计的相关技术。
【教材】《C语言程序设计(第2版)》清华大学出版社,黄保和,江弋编著。
2011年10月第二版。
ISBN:978-7-302-26972-4。
售价:35元。
【答案版本】本习题答案为2012年2月修订版本。
一、选择题1. 设有程序段”int k=10; while(k=0) k=k-1;”,则下面叙述正确的是D)循环体语句一次也不执行。
A. while循环执行10次B. 循环是无限循环C. 循环体语句执行一次D. 循环体语句一次也不执行2. 设有程序段”int x=0,s=0;while(!x!=0) s+=++x; printf(“%d”,s);”则A)运行程序段后输出1。
A. 运行程序段后输出1B. 程序段执行无限次C. 运行程序段后输出0D. 程序段中的控制表达式是非法的3. 下面循环语句中,错误的是D) int a=1,b=2;do b-- while(b= =0);。
A. int a=1,b=2; while(b--);B. int a=1,b=2; do a++; while(a==b);C. int a=1,b=2; while(a=3);D. int a=1,b=2; do b-- while(b==0);4. 已知”int i=5;”,下列do…while循环语句的循环次数为C) 5。
do{ printf(“%d\n”,i--); } while(i!=0);A. 0B. 1C. 5D. 无限5. 循环语句”for(int i=0,j=10; i==j; i++,j--)”的循环次数是A) 0。
A. 0B. 5C. 10D. 无限6. 下述有关break语句的描述中,不正确的是C) break语句用于if语句的内嵌语句内,它结束该if语句。
A. break语句用于循环体内,它将结束该循环B. break语句用于开关语句,它结束该开关语句C. break语句用于if语句的内嵌语句内,它结束该if语句D. break语句在一个循环体内可使用多次7. 下面关于循环语句的描述中,错误的是B)循环体内必须同时出现break语句和continue 语句。
第五章循环结构程序设计1.用for循环语句编程输出1~20之间的所有整数,两数之间以空格分隔。
#include<stdio.h>void main(){int i;for(i=1;i<=20;i++)printf("%d ",i);printf("\n");}2.用for循环语句编程输出20~1之间的所有整数,两数之间以空格分隔。
#include<stdio.h>void main(){int i;for(i=20;i>=1;i--)printf("%d ",i);printf("\n");}3.用for循环语句编程输出A~Z之间的所有字符,两字母之间以空格分隔,要求一行输出8个字符。
#include<stdio.h>void main(){char c;for(c='A';c<='A'+25;c++){putchar(c);}}4.输出100~200之间所有能被3和7整除的数(每行输出4个数)。
#include<stdio.h>void main(){int i,j=0;for(i=100;i<=200;i++){if(i%21==0){ j++;printf("%12d",i);if(j%4==0) printf("\n");}}}5.输出1至1000之间所有满足用3除余2、用5除余3、用7除余2的数(要求每行只输出5个数)。
#include<stdio.h>void main(){for(i=1;i<=1000;i++){if((i%3==2)&&(i%5==3)&&(i%7==2)){ j++;printf("%12d",i);if(j%5==0) printf("\n");}}}6.先读入一个正整数n,然后计算并显示前n个偶数的和。