当前位置:文档之家› 09 《C语言程序设计》教案 第三章 程序的控制结构(5)—循环结构 for

09 《C语言程序设计》教案 第三章 程序的控制结构(5)—循环结构 for

09 《C语言程序设计》教案 第三章 程序的控制结构(5)—循环结构 for
09 《C语言程序设计》教案 第三章 程序的控制结构(5)—循环结构 for

循环结构的优秀教案设计

循环结构的优秀教案设计 课题: §1.1.3(3)循环结构 授课教师:山东省东营市胜利一中李玉华 教材:人教B版高中数学必修3 一、教学目标: 1.知识与技能目标 ①理解循环结构,能识别和理解简单的框图的功能。 ②能运用循环结构设计程序框图解决简单的问题。 2.过程与方法目标 通过模仿、操作、探索,学习设计程序框图表达,解决问题 的过程,发展有条理的思考与表达的能力,提高逻辑思维能力。 3.情感、态度与价值观目标 通过本节的自主性学习,让学生感受和体会算法思想在解决 具体问题中的意义,增强学生的创新能力和应用数学的意识。 三、教法分析 二、教学重点、难点 重点:理解循环结构,能识别和画出简单的循环结构框图, 难点:循环结构中循环条件和循环体的确定。 三、教法、学法 本节课我遵循引导发现,循序渐进的思路,采用问题探究式

教学。运用多媒体,投影仪辅助。倡导"自主、合作、探究" 的学习方式。 四、教学过程: (一)创设情境,温故求新 引例:写出求的值的一个算法,并用框图表示你的算法。 此例由学生动手完成,投影展示学生的做法,师生共同点评。鼓励学生一题多解--求创。 设计引例的目的是复习顺序结构,提出递推求和的方法,导 入新课。此环节旨在提升学生的求知欲、探索欲,使学生保 持良好、积极的情感体验。 (二)讲授新课 1.循序渐进,理解知识 【1】选择"累加器"作为载体,借助"累加器"使学生经历把"递推求和"转化为"循环求和"的过程,同时经历初始化变量,确定循环体,设置循环终止条件3个构造循环结构的关键步骤。 (1)将"递推求和"转化为"循环求和"的缘由及转化的方法和途径 引例"求的值"这个问题的自然求和过程可以表示为: 用递推公式表示为: 直接利用这个递推公式构造算法在步骤中使用了共100个变量,计算机执行这样的算法时需要占用较大的内存。为了节

循环结构程序设计(C语言实验报告)

仲恺农业工程学院实验报告纸 信息学院(院、系) 专业 班 C 语言程序设计 课 实验目的: (1)熟练掌握用三种循环语句实现循环的方法。 (2)掌握在程序设计中用循环方法实现的一些常用算法。 (3)进一步学习调试程序。 实验内容与总结: 编程练习 1、打印出所有“水仙花数”——教材P129-6.6 程序如下: #include void main() { int i,j,k,n; for(n=100;n<1000;n++) { i=n/100; j=(n-i*100)/10; k=n-i*100-j*10; if(n==i*i*i+j*j*j+k*k*k) printf("水仙花数为:%d\n",n); } } (1)程序编制要点: ①用for 语句实现循环; ②立方的表示; ③if 语句的表达。 (2)该题目涉及的知识点和难点: ①for 语句的输入与使用; ②if 语句的使用。 2、用迭代法求a x = 。求平方根的公式为:)(211n n n x a x x +=+ 程序如下:

#include #include void main () { float x1,x2=1,a; printf("请输入求平方跟的数a="); scanf("%f",&a); do { x1=x2; x2=(x1+a/x1)/2; } while (fabs(x2-x1)>1e-5); printf("x的平方根是:%f\n",x2); } (1)程序编制要点: ①用do…while语句实现循环; ②平方根公式的输入; ③前后两次求出的x的差的绝对值小于1E-5。 (2)该题目涉及的知识点和难点: ①scanf函数,求绝对值函数fabs; ②do…while语句的输入与使用。 3、猜数字:编程先由计算机“想”一个1到100之间的整数请人猜,如果人猜对了,则结束游戏,并在屏幕上输出人猜了多少次才猜对此数,以此来反映猜数者“猜”的水平,否则计算机给出提示,告诉人所猜的数是太大还是太小,最多可以猜10次,如果猜了10次仍未猜中的话,则结束游戏。 程序如下: #include #include /*使用srand和rand函数*/ #include /*使用time函数*/ void main() { int magic,guess,count=0; srand(time(NULL)); magic = rand() % 100 + 1; /*magic得到一个1到100的随机数*/ printf("请输入一个1到100之间的数,你共有10次机会:\n"); do { scanf("%d",&guess); count++; if((guess<=0)||(guess>=100))

循环结构程序设计代码

实验五代码: 基础能力落实: 1)编写一个程序,将用分钟表示的时间转化成以小时和分钟表示的时间。使用#define 或者const来创建一个代表60的字符常量。使用while循环来允许用户重复键入值,并且当键入一个小于等于0的时间时终止循环。要求用while语句 #include int main(void) { const int minperhour = 60; int minutes, hours, mins; printf("Enter the number of minutes to convert: "); scanf("%d", &minutes); while (minutes > 0 ) { hours = minutes / minperhour; mins = minutes % minperhour; printf("%d minutes = %d hours, %d minutes\n", minutes, hours, mins); printf("Enter next minutes value (0 to quit): "); scanf("%d", &minutes); } printf("Bye\n"); return 0; } 2)编写一个程序打印一个表,表的每一行都给出一个整数,它的平方以及它的立方,要求用户输入表的上限和下限。使用一个for循环。 #include int main( void ) { int lower, upper, index; int square, cube; printf("Enter starting integer: "); scanf("%d", &lower);

《循环结构程序设计》教案

《循环结构程序设计》的教学设计 涞源职教中心高海龙 【教材分析】本节《循环结构程序设计》是职业学校电子类教材数据库应用技术FOXBASE+第七章第五节内容。本节课是数据库结构程序设计的一个重点;也是综合运用三种基本结构程序设计的一个难点;更是学生逻辑思维能力、创造能力、综合能力的一个重要体现。 【学情分析】我授课的班级1105班为计算机专业毕业班学生,数据库是他们对口升学专业考试科目之一,另外本课程对于学生毕业后能独立适应工作需要将起到很重要的奠定基础作用。因此该门课程的设立对他们尤其重要。这个班学生的整体素质很好,而且都是有升学愿望的,所以在教学中我注重教师演示讲解、学生实际动手操作,并给学生自我展示的机会,让他们自己解题,自己讲题,既锻炼了学生解决问题、创新解题的能力,培养了学生学习的兴趣,还使其能克服胆怯心理,提高语言表达能力,真正做到了教学相结合,以达到预期效果。 在信息技术能力方面:高三年级的学生已经历了三年的计算机知识的学习,都具备了熟练操作和使用Windows、Dos操作系统及数据库软件的能力。在计算机知识方面:高三学生已经学完了Foxbase+语言这门课程,已经具备了利用三种基本结构进行结构化程序设计的能力。 【设计思路】因为本节课既是一节计算机语言复习总结课又是一节改革教学组织形式的创新课,所以更应该为学生营造一个和谐、轻松又丰富多彩的学习氛围,因此在整个学习过程中都以利用一个制作美观、新颖的Flash课件作为主线,一步步地来完成学生对知识点的总结、巩固、创新的过程。首先教师引导学生观看事先准备好的课件,观看非常精美、有趣的总界面,然后再引导学生通过一个个地进入在总界面上的前提测评、目标深化、互动课堂、课堂小结、课后作业几个链接来完成本节课的学习任务。其中目标实施部分主要采用任务驱动式教学法、启发式教学法、多媒体网络式授课法等多种教学法相结合,培养学生自主学习、自我归纳的能力;互动课堂部分主要采用“小先生教学法”,让“小先生”自己研究问题—解决问题—阐述问题,实质是让学生作学习的主人,这种“自主学习,自主讲评”改变了以往的传统教学模式,充分体现新课改的精神,即以“学生为主体”、“教师是学生学习的促进者”。 【教学目标】知识目标:①复习单循环结构、多重循环结构的命令格式及功能;②利用循环结构命令语句进行结构化程序设计;能力目标:①培养学生对所学知识的总结概括能力;②培养学生的研究性学习能力;③培养学生的逻辑思维能力和上机操作能力。情感目标:①培养学生主动学习、温故知新、归纳总结的意识;②培养学生的创新意识和团结协作精神;③培养学生勇于自我展示,树立自信心的意识。 【教学重点】(及解决措施)让学生能够熟练地掌握、灵活地运用循环结构进行结构化程序设计,并且培养学生的创新能力。为了突破本次课的重点本次教学活动中充分利用多媒体手段为学生创造一个轻松、活泼的情境,来激发学生学习的兴趣,创造一个和谐交流、动手实践的氛围。既使学生自主获得了知识,又培养了他们的创造性思维。 【教学难点】(及解决措施)能够使学生将以前所学习过的知识有机地结合在一起,并且充分发挥自己的创造力,利用三种基本结构进行编程。为了突破本次课的难点本节课主要采取“小先生教学法”。即让学生走上讲台,充当教师的角色,进行一些平日只有教师主导下完成的教学目标和任务。让学生由后台走到前台,让小先生自己研究问题— 1

C语言循环结构程序设计实验报告

甘肃政法学院 本科生实验报告 ( 五) 姓名:赵明翔 学院:公安技术学院 专业:安全防范工程 班级: 2015级安全防范工程班 实验课程名称:程序设计 实验日期:2016年月日 开课时间:2015学年第二学期

(2)输出所有的水仙花数,所谓水仙花数是指一个3位数,其各位数字李方和等于该数本身。例如,153是水仙花数,因为153=12+53+33程序如下: #include int main() { int i,j,k,n; printf("paicissus numbers are"); for (n=100;n<1000;n++) { i=n/100; j=n/10-i*10; k=n%10; if(n==i*i*i+j*j*j+k*k*k) printf("%d",n); } printf("\n"); return 0; } 运行结果: (3)猴子吃桃问题。猴子第1天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第2天早上又将剩下的桃子吃掉一半,又

多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下了1个桃子了。求第一天共摘了多少桃子。 程序如下: #include int main() { int day,x1,x2; day=9; x2=1; while(day>0) {x1=(x2+1)*2; x2=x1; day--; } printf("total=%d\n",x1); return 0; } 运行结果: (4)①用牛顿迭代法求方程0634223=-+-x x x 在1.5附近的根. #include #include int main() {double x1,x0,f,f1; x1=1.5; do {x0=x1; f=((2*x0-4)*x0+3)*x0-6; f1=(6*x0-8)*x0+3; x1=x0-f/f1;

循环结构程序设计典型例题

循环结构程序设计典型例题 例1有数列2/3、4/5、6/9、10/15……求此数列前30项的和。 算法分析: 对于数列的题,首先要找出通项公式,或前后项的计算关系公式,根据公式求所需。由于数列的题一般执行次数能确定,用for语句来编写比较方便。 此题,前后项的关系是:后一项的分子是前一项的分母加1,后一项的分母是前一 项的分子加分母。解题思路是用循环语句求各项,并把值累加,因为是求前30项的和,循环执行30次。 1.初值i=2,j=3,s=0; 2.用n从1到30循环 3.s=s+ i/j; 4.c=i; i=j+1; j=c+j; 5输出s; 程序: #in clude mai n() { int i=2,j=3, n,c; float s=0; for(n=1; n<=30 ;n++) { s=s+(float)i/j; c=i; i=j+1; j=c+j; } printf( "n%f” ,s); } 此题中的n与循环体中的执行语句没有数值上的联系,仅仅用做决定循环执行的次数。 例2:下面这个程序,想想它实现的是什么功能? #in clude mai n() { int i,s=0; for(i=1;i<=100;i++) {if(i%5==0) continue; s=s+i; } printf( n“d' ,s); } 在左边的程序中,i从1到100循环,当i是5的倍数时,直接进入下一个i,当i不是5的倍数时,把i累加到s,最后输出s。所以,这个程序实现的是求1~100中间所有非5的倍数的数之和。 例3:输出n~m中(0<*m)能被3整除,且至少有一个数字是5的所有数。 算法分析:

循环结构程序设计(汇编语言)

循环结构程序设计(汇编语言)

汇编语言实验报告 实验名称:循环结构程序设计 姓名: 学号: 班级:

一、实验内容 1. 用多种循环方法实现1+2+3+…+20的程序(至少二种方法); 2. 编写一个程序,判别键盘上输入的字符;若是1-9字符,则显示之;若为A-Z 或a-z字符,均显示“c”;若是回车字符(其ASCII码为0DH),则结束程序,若为其它字符则不显示,继续等待新的字符输入;(选做) 3、编写一个汇编语言程序,要求将BX寄存器内的小写字母用大写字母显示出来。 4、ADDR单元是存放数据的内存单元,要求将该内存单元中的字依次用十六进制数显示出来。 二、实验目的 1. 掌握循环程序的结构。 2. 掌握循环程序的设计、编写及调试方法。 3. 掌握循环程序设计的基本方法。主要掌握几种基本的循环程序设计技巧,如计数法程序设计、当循环、直到循环等程序设计技术。 三、实验结果 1、将内存中的数据块中(BUFF为起始地址)奇数和偶数分别存入以ADDR1和ADDR2开始的存储块中,并分别统计其中的奇、偶数,将统计结果存放在RESULT 开始的两个字存储单元中。 实验代码:(1.ASM 1.OBJ 1.EXE) data segment buff dw 6,35,99,17,80,69,50,33 addr1 dw 8 dup(?) addr2 dw 8 dup(?) result dw 0,0 data ends code segment assume cs:code,ds:data start: mov ax,data mov ds,ax mov cx,8d

循环结构程序设计课后习题及答案

循环结构程序设计习题及答案1、循环语句的三要素分别 是、、。 2、for语句括号内的3个表达式的作用分别 是、、。 3、在2层循环嵌套中,外层循环语句的每个执行周期中,内层循环语句都要完整地,只有当时,才结束整个循环。 4、在循环结构中,break语句的作用是;continue语句的作用是。 5、当循环条件一开始就为假时,对于while语句、do…while语句、for 语句,分别执行循环体次、次、 次。 6、下面程序段的执行次数: int a=0; while(a=0) { printf("good\n"); a--; } 7、下面程序段的执行次数: int a=0; while(a==0)

{ printf("good\n"); a--; } 8、下面程序段的执行次数: int a=1; while(a=1) { printf("good\n"); a++; } 9、下面程序段的执行次数: int a=1; while(a==1) { printf("good\n"); a++; } 10、下列程序段的运行结果是。 for(i=5;i>=0;i--) printf(“%d “,i); 11、下列程序段的运行结果是。 for(n=1;n<20;n=n+3) printf(“%d “,n); 12、下列程序段的运行结果是。

for( ch='a' ;ch<='e' ;ch++) printf(“%d“,ch-97); 13、下列程序段的运行结果是。 for(i=1,j=5 ; i

选择结构程序设计

第四章择路而行---选择结构程序设计 第一节路口诀择----条件语句 一、教学目标 1、掌握选择结构程序中常用的Qbasic语句。 2、掌握选择结构程序设计方法。 3、能利用选择结构程序设计解决简单的实际问题。 二、教学重点: 1.选择结构的语句及功能 2.选择结构中程序设计方法。 三、教学方法:讲授法,对比法,分组讨论法。 四、教学时间:2课时 五、教学教程: (一)引入新课:前面我们学习了顺序结构程序设计,利用顺序结构只能设计一些较简单的程序,如果要处理复杂的问题,就需要采用另外两种基本结构:选择结构和循环结构。选择结构,是一种常用的主要基本结构,是计算机科学用来描述自然界和社会生活中分支现象的重要手段。其特性是:无论分支多寡,必择其一;纵然分支众多,仅选其一。 (二)讲述新课 l 单行条件选择语句IF 1、单行结构条件语句IF…THEN…ELSE 格式:IF <条件> THEN <语句1> [ELSE <语句2>] 功能:最简单的条件选择语句,用来进行条件判断,使语句有条件的执行。 说明: 1)当<条件>为真(非零数)时,则执行<语句1>。 2)ELSE语句可以省略。 3)当<条件>为假(零)时,而且语句中有ELSE语句则执行<语句2>。 4)IF、THEN、ELSE必须在同一行上。 2、示例A、输入x的值,计算y的值。 REM 程序名为:eg1.bas INPUT “请输入x的值:”,x IF x>=0 THEN Y=1+X ELSE Y=1-2*X PRINT "Y=";Y END 例:求一元二次方程Ax2+Bx+C=0(A<>0)的实数根。 分析:写写出程序的流程图,参考流程图来写程序。 程序清单如下: INPUT A,B,C D=B*B-4*A*C IF D<0 THEN then X1=(-B+SQR(D))/(2*A) X2=(-B-SQR(D))/(2*A) PRINT “X1=”;X1, “X2=”;X2 ELSE PRINT “此方程无实根” END

循环结构教学设计

《循环结构》教学设计 一、教学目标 1.知识与技能目标 ①理解循环结构,能识别和理解简单的框图的功能。 ②能运用循环结构设计程序框图解决简单的问题。 2.过程与方法目标 通过模仿、操作、探索,学习设计程序框图表达,解决问题的过程,发展有条理的思 考与表达的能力,提高逻辑思维能力。 3.情感、态度与价值观目标 通过本节的自主性学习,让学生感受和体会算法思想在解决具体问题中的意义,增强学生的创新能力和应用数学的意识。三、教法分析 二、教学重点、难点 重点:理解循环结构,能识别和画出简单的循环结构框图, 难点:循环结构中循环条件和循环体的确定。 三、教法、学法 本节课我遵循引导发现,循序渐进的思路,采用问题探究式教学。运用多媒体,投影仪辅助。倡导“自主、合作、探究”的学习方式。 四、教学过程 (一)创设情境,温故求新 引例:写出求的值的一个算法,并用框图表示你的算法。 此例由学生动手完成,投影展示学生的做法,师生共同点评。鼓励学生一题多解── 求创。 设计引例的目的是复习顺序结构,提出递推求和的方法,导入新课。此环节旨在提升学生的求知欲、探索欲,使学生保持良好、积极的情感体验。 (二)讲授新课 1.循序渐进,理解知识 【1】选择“累加器”作为载体,借助“累加器”使学生经历把“递推求和”转化为“循环求和”的过程,同时经历初始化变量,确定循环体,设置循环终止条件3个构造循环 结构的关键步骤。 (1)将“递推求和”转化为“循环求和”的缘由及转化的方法和途径引例“求的值”这个问题的自然求和过程可以表示为: 用递推公式表示为: 直接利用这个递推公式构造算法在步骤中使用了共100

个变量,计算机执行这样的算法时需要占用较大的内存。为了节省变量,充分体现计算机能以极快的速度进行重复计算的优势,需要从上述递推求和的步骤中提取出共同 的结构,即第n步的结果=第(n-1)步的结果+n。若引进一个变量来表示每一步的计算结果,则第n步可以表示为赋值过程。 (2)“”的含义 利用多媒体动画展示计算机中累加器的工作原理,借助形象直观对知识点进行强调说明① 的作用是将赋值号右边表达式的值赋给赋值号左边的变量 。 ②赋值号“=”右边的变量“”表示前一步累加所得的和,赋值号“=”左边的 “”表示该步累加所得的和,含义不同。 ③赋值号“=”与数学中的等号意义不同。在数学中是不成立的。 借助“累加器”既突破了难点,同时也使学生理解了中的变化和 的含义。 (3)初始化变量,设置循环终止条件 由的初始值为0,的值由1增加到100,可以初始化循环变量和设置循环终止 条件。 【2】循环结构的概念 根据指定条件决定是否重复执行一条或多条指令的控制结构称为循环结构。 教师学生一起共同完成引例的框图表示,并由此引出本节课的重点知识循环结构的概念。这样讲解既突出了重点又突破了难点,同时使学生体会了问题的抽象过程和算法的构建过程。还体现了我们研究问题常用的“由特殊到一般”的思维方式。 2.类比探究,掌握知识 例1:改造引例的程序框图表示 ①求的值 ②求的值 ③求的值 ④求的值 此例可由学生独立思考、回答,师生共同点评完成。 通过对引例框图的反复改造逐步帮助学生深入理解循环结构,体会用循环结构表达算 法,关键要做好三点: ①确定循环变量和初始值 ②确定循环体 ③确定循环终止条件。 例2:根据程序框图回答下面的问题 (1)图中箭头指向①时,输出=______;指向②时输出=_____. (2)该程序框图的算法功能是_______________________.

实验四-答案--选择结构程序设计讲课讲稿

实验四-答案--选择结构程序设计

实验四选择结构程序设计答案 实验时间:年月日【实验步骤】 一、程序调试练习 1、写出下列程序的运行结果: (1)ex4_1.c #include void main() { char ch; printf("input a character:"); ch=getchar(); if(ch>='A' && ch<='Z') ch=ch+32; printf("%c\n",ch); } 具体要求: ①从键盘上输入a,分析程序运行的结果。 ②从键盘上输入A,分析程序运行的结果。 ③从键盘上输入5,分析程序运行的结果。 程序运行结果: ①a ②a ③5 (2)ex4_2.c #include void main() { int x,y,z; printf("input x,y,z"); scanf("%d,%d,%d",&x,&y,&z); if(x

①从键盘上给x、y、z分别输入2,-1,2,分析程序运行的结果。 ②从键盘上给x、y、z分别输入3,5,2,分析程序运行的结果。 ③从键盘上给x、y、z分别输入-5,-3,2,分析程序运行的结果。 程序运行结果: ①z=2 ②z=3 ③z=0 (3)ex4_3.c #include main() { int x=1,a=0,b=0; switch(x) { case 0:b++; case 1:a++; case 2:a++;b++; } printf("a=%d,b=%d\n",a,b); } 程序运行结果: a=2,b=1 (4)ex4_4.c #include void main() { int x=1,y=0,a=0,b=0; switch(x) { case 1: switch(y) { case 0: a++; break; case 1: b++; break; } case 2: a++; b++; break; case 3: a++; b++;

循环结构程序设计典型例题

循环结构程序设计典型例题 例1:有数列2/3、4/5、6/9、10/15……求此数列前30项的和。 算法分析: 对于数列的题,首先要找出通项公式,或前后项的计算关系公式,根据公式求所需。由于数列的题一般执行次数能确定,用for语句来编写比较方便。 此题,前后项的关系是:后一项的分子是前一项的分母加1,后一项的分母是前一项的分子加分母。解题思路是用循环语句求各项,并把值累加,因为是求前30项的和,循环执行30次。 1. 初值i=2,j=3,s=0; 2. 用n从1到30循环 3. s=s+ i/j; 4. c=i; i=j+1; j=c+j; 5.输出s; 程序: #include<> main( ) { int i=2,j=3,n,c; float s=0; for(n=1;n<=30;n++) { s=s+(float)i/j; c=i; i=j+1; j=c+j; } printf(“\n%f”,s); } 此题中的n与循环体中的执行语句没有数值上的联系,仅仅用做决定循环执行的次数。 例2:下面这个程序,想想它实现的是什么功能? #include<> main( ) { int i,s=0; for(i=1;i<=100;i++) {if(i%5==0) continue; s=s+i; } printf(“\n%d”,s); } 在左边的程序中,i从1到100循环,当i是5的倍数时,直接进入下一个i,当i不是5的倍数时,把i累加到s,最后输出s。所以,这个程序实现的是求1~100中间所有非5的倍数的数之和。 例3:输出n~m中(0

程序的循环结构教学设计

《程序的循环结构》 北京师范大学励耘实验学校牛静 一、教材依据 广东教育出版社出版的2007-2008学年普通高中课程标准实验教科书《算法与程序设计(选修)》中第二章《程序设计基础》中的第四节《程序的循环结构》。 二、设计思想 ⒈教学设计指导思想 以建构主义理论为指导进行本节课教学设计。设计以学生为中心,以解决问题为主线,引领学生经历“分析问题——设计算法——编写程序——调试程序”等用计算机解决问题的过程,体验程序设计的一般方法,展示问题求解的思维过程和方法,培养学生分析问题、解决问题的能力。强调教师对问题情境的创造性设置,突出学生主动思考、分析、比较的过程和实践的活动。 体现新课程的理念,引导学生注意寻找、发现身边的实际问题,从简单问题出发,设计解决问题的算法,并能初步选择使用恰当的循环语句解决问题,从而培养学生运用信息技术解决实际问题的能力,力争让学生将所学的信息技术应用到学习、生活实践中。 信息技术课程标准中对应要求是:“会使用程序设计语言实现顺序、选择、循环三种控制结构。初步掌握调试、运行程序的方法。 ⒉教材分析 《程序的循环结构》是广东教育出版社出版的普通高中课程标准实验教科书《算法与程序设计(选修)》中第二章《程序设计基础》中的第四节《程序的循环结构》,本节课是其中的第二节课,前面同学们已经学习了用For语句实现循环。循环结构是程序设计中的重点也是难点。 ⒊教学对象分析

⑴学生已经学习了程序的顺序结构、选择结构和循环结构中的For循环。 ⑵掌握了For循环语句的格式、功能和执行过程。 三、教学目标 知识与技能:理解Do循环语句的基本格式、功能和执行过程 过程与方法:初步学会使用Do循环语句解决简单实际问题,初步掌握根据条件选择恰当的循环语句来解决简单问题的方法。 情感态度价值观:通过对不同循环语句解决问题的过程进行比较,体会到解决问题时要具体问题具体分析。 四、教学重点、难点 教学重点:学会使用Do循环语句来实现循环控制结构,解决简单问题。 教学难点:根据条件选择恰当的循环语句来解决简单问题。 五、教学方法 讲授法、讨论法、任务驱动、上机实践法、探究法等。 六、教学准备 ⒈教学用具: 多媒体网络教室及教学系统、、课件。 ⒉学习效果评价设计: ⑴问题一、问题二两道上机实践题完成情况; ⑵学习资料上的两道“想一想”题完成情况 ⑶学习活动中的表现 评价量规

第三节:循环结构程序设计题目

1. 用 +-+-≈7 1513114π公式求π的近似值,直到发现某一项的绝对值小于10-6 为止(该项不累计加)。 #include #include int main() { int sign=1; double pi=0,n=1,term=1; while(fabs(term)>=1e-6) { pi=pi+term; n=n+2; sign=-sign; term=sign/n; } pi=pi*4; printf("pi=%10.8f\n",pi); return 0; } 2. 输入一个大于3的整数n ,判定它是否素数(prime ,又称质数) #include int main() { int n,i; printf(“n=?"); scanf("%d",&n); for (i=2;i<=n-1;i++) if(n%i==0) break; if(i int main() { int n,i,k; printf(“n=?"); scanf("%d",&n); k=sqrt(n); for (i=2; i<=k; i++) if(n%i==0) break; if(i<=k) printf("%d is not\n",n); else printf("%d is\n",n); return 0; } 3. 求100~200间的全部素数, 并控制换行。 #include "math.h" main( ) { int m, i, k, c=0; printf("\n"); for(m=101; m<200; m=m+2)

C语言选择结构程序设计编程题.doc

实验2 选择结构程序设计 一.实验目的: 1.掌握选择控制语句的使用方法; 2.了解C程序语句的执行过程。 二.实验内容: 1.编写程序:输入一个整数,判断该数的奇偶性。(输出相应的标志even-偶数odd-奇数,请记住这两个单词)。 2.从键盘输入的正整数,判断是否能被5和7同时整除,若是,则输出Yes;否则输出No。 3.输入一个字符,如果是大写字母改变为小写字母;如果是小写字母,则把它变为大写字母;若是其它字符则不变。 4.编写程序,对于给定的一个百分比制成绩,输出相应的五分制成绩。设:90分以上为‘A’,80~89分为‘B’,70~79分为‘C’,60~69分为‘D’,60分以下为’E’(用if…else…与switch 语句两种方法实现)。 5. 企业发放的奖金根据利润提成。利润(i)低于或等于10万元时,奖金可提成10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;20万元到40万元之间时,高于20万元的部分,可提5%;40万元到60万元之间时,高于40万元的部分,可提成3%;60万元到100万元之间时,高于60万元的部分,可提成1.5%;高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润i,求发放奖金总数。 6. 输入某年某月某日,判断这一天是这一年的第几天。 7. 输入一个字符,请判断是字母、数字还是特殊字符。 8. 身高预测: 男性成人身高=(父亲身高+母亲身高)*0.54cm 女性成人身高=(父亲身高*0.923+母亲身高)/2cm 如果喜爱体育锻炼,那么身高可增加2%;如果有良好的饮食习惯,可增加身高1.5%。键盘输入性别、父母身高、是否爱好体育锻炼、是否有良好的饮食习惯,利用给定身高预测方法对你的身高进行预测。 9. 要求用switch语句编程设计一个简单的计算器程序。要求根据用户从键盘输入的表达式。 操作数1 运算符op 操作数2 计算表达式的值。指定的算术运算符为加(+)、减(-)、乘(*)、除(/)。 在此基础上,增加如下要求: (1)如果要求程序能进行浮点数运算,程序应该如何修改?如何比较实型变量和常数0是否相等? (2)如果要求输入的算术表达式中的操作数和运算符之间可以加入任意多个空格符,那么程序如何修改? (3)如果要求连续多次算术运算,每次运算结束后,程序都给出提示: Do you want to continue(Y/N y/n)? 如果用户输入Y或y时,程序继续进行其它算术运算,否则程序才退出运行状态。那么程序如何进行修改?

高中信息技术_程序的循环结构教学设计学情分析教材分析课后反思

程序的循环结构教学设计 一、教材分析 本节课是广东教育出版社出版《算法与程序设计(选修)》中第二章《程序设计基础》中的第四节《程序的循环结构》内容。 信息技术课程标准中对应要求是:“会使用程序设计语言实现顺序、选择、循环三种控制结构。初步掌握调试、运行程序的方法。 教材通过“超级水稻种植试验的统计分析”、“陈婷植树”、“乘法表”等典型例题,引导学生经历分析问题、设计算法、编写程序、调试程序等用计算机解决问题的过程。通过分析程序,介绍了VB语言的FOR循环语句和Do循环语句的格式、功能和执行过程。 二、设计思想 ⒈教学设计指导思想 设计以学生为中心,以解决问题为主线,引领学生经历“分析问题——设计算法——编写程序——调试程序”等用计算机解决问题的过程,体验程序设计的一般方法,展示问题求解的思维过程和方法,培养学生分析问题、解决问题的能力。强调教师对问题情境的创造性设置,突出学生主动思考、分析、对比和实践探究的过程。 三、教学目标 知识与技能:掌握循环语句的基本格式,理解循环语句的功能和执行过程。 过程与方法:学会使用循环语句解决简单实际问题,初步掌握根

据条件选择恰当的循环语句来解决简单问题的方法。 情感态度价值观:通过对不同循环语句解决问题的过程进行比较,体会到解决问题时要具体问题具体分析。 四、教学重点、难点 教学重点:循环语句的基本格式和执行过程. 教学难点:利用循环结构程序解决生活中的实际问题. 五、教学方法 讲授法、讨论法、任务驱动、探究法等。 六、教学准备 ⒈教学用具: 多媒体网络教室及教学系统、VB6.0、课件。 七、教学过程

3 3 2. DO循环语句的基本格式和执行过程 DO循环执行过程板书 引导 分析 讲 观察 思考 理解 思考 学会 明确学习 内容

循环结构程序设计:三种循环语句

一、循环结构(Iteration Structure)的概述 1.目的 为了解决含有重复处理内容的问题,必须采用循环语句(Loop Statement)来编程实现。 2.类型 (1)当型循环结构 (2)直到型循环结构 二、循环语句 1.while语句 ①功能:实现当型循环结构。 ②形式 while(表达式){ 循环体 } ③特点:先判断后执行。 ④举例:(累加和问题)编程计算整数1~100的和。 int i ; //循环变量 int sum = 0 ; //累加和清0 i = 1 ; //循环变量i赋初值 while( i <= 100){ sum = sum + i ; //循环变量累加到sum中 i = i + 1; //改变循环变量i的值 } 2.do-while语句 ①功能:实现直到型循环结构。 ②形式 do{ 循环体

}while(表达式); //注意最后的分号 ③特点:先执行后判断。 ④举例:修改上例。 /*利用do-while语句编程实现整数1~100的和。*/ int i ; //循环变量 int sum = 0 ; //累加和清0 i = 1 ; //循环变量i赋初值 do{ sum = sum + i ; //循环变量累加到sum中 i = i + 1; //改变循环变量i的值 }while(i<=100);//注意最后的分号 3.for语句 ①功能:实现当型循环结构。 ②形式 for(表达式1;表达式2;表达式3){ 循环体 } ③特点:先判断后执行;使用频率最高。 ④举例:修改上例。 /*使用for语句编程计算整数1~100的和。*/ int i ; //循环变量 int sum = 0 ; //累加和清0 for( i = 1 ; i <=100 ; i++ ){//第一个表达式完成循环变量i赋初值;第三个表达式实现改变循环变量i的值 sum = sum + i ; //循环变量累加到sum中 } 4.几种循环语句的比较 ①由于while语句和for语句均实现当型循环结构,两者是完全等价的。 for(表达式1;表达式2;表达式3){

第5章 循环结构程序设计作业参考答案

第5章循环结构程序设计作业参考答案 班级学号姓名 【第140页】 5-1、请画出课本里5.6中给出的3个程序段的传统流程图。 (1)程序1: #include int main() { int i,j,n=0; for (i=1;i<=4;i++) for (j=1;j<=5;j++,n++) { if(n%5==0)printf("\n"); //控制在输出5个数据后换行 printf("%d\t",i*j); } printf("\n"); return 0; } (2)程序2: #include int main() { int i,j,n=0; for (i=1;i<=4;i++) for (j=1;j<=5;j++,n++) { if(n%5==0)printf("\n"); //控制在输出5个数据后换行 if (i==3 && j==1) break; //遇到第3行第1列,终止内循环 printf("%d\t",i*j); } printf("\n"); return 0; } (3)程序3: #include int main() { int i,j,n=0; for (i=1;i<=4;i++)

for (j=1;j<=5;j++,n++) { if(n%5==0)printf("\n"); //控制在输出5个数据后换行 if (i==3 && j==1) continue; //遇到第3行第1列,提前结束执行本次内循环体 printf("%d\t",i*j); } printf("\n"); return 0; } (1)程序1流程图(2)程序2流程图(3)程序3流程图 5-3、输入两个正整数m和n,求其最大公约数和最小公倍数。 #include int main()

选择结构程序设计练习题

选择结构程序设计练习题 1.逻辑运算符两侧运算对象的数据类型( ) A.只能是0和1 B.只能是0或非0正数 C.只能是整型或字符型数据 D.可以是任何类型的数据 2.下列运算符中优先级最高的是( ) A.< B.+ C.&& D.!= 3.能正确表示“当x的取值在[1,10]和[200,210]范围内为真,否则为假"的表达式是( ) A.(x>=1)&&(x<=10)&&(x>=200)&&(x<=210) B.(x>=1)||(x<=10)||(x>=200)||(x<=210) C.(x>=1)&&(x<=10)||(x>=200)&&(x<=210) D.(x>=1)||(x<=10)&&(x>=200)||(x<=210)

4.表示图中坐标轴上阴影部分的正确表达式是( ) A.(x<=a)&&(x>=b)&&(x<=c) B.(x<=a)||(b<=x<=c) C.(x<=a)||(x>=b)&&(x<=c) D.(x<=a)&&(b<=x<=c 5.判断char型量ch是否为大写字母的正确表达式是() A.‘A’<=ch<=‘Z’ B.(ch>=‘A’)&(ch<=‘Z’) C.(ch>=‘A’)&&(ch<=‘Z’) D.(‘A’<=ch)AND(‘Z’>=ch) 6.设x,y,z都是int型变量,且x=3,y=4,z=5,则下面表达式中值为0的是 () A.‘x’&&‘y’ B.x<=y C.x||y+z&&!y D.!(x

7.已知x=43,ch=‘A’,y=0;则表达式(x>=y&&ch<‘B’&&!y)的值是() A.0 B.语法错误 C.1 D.“假” 8.若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值为“假”,则以下不能满足要求的表达式是() A.A%2==1 B.!(A%2==0) C.!(A%2) D.A%2 9.设有:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c>d)后的值为() A.1 B.2 C.3 D.4 10.下列运算符中优先级最低的是( )优先级最高的是( ) A.? B.&& C.+ D.!=

实验5:循环结构程序设计

实验5:循环结构程序设计 实验名称:循环结构程序设计成绩: 实验日期:年月日实验报告日期:年月日 一、实验目的 1、掌握while,do-while,for循环的语法结构与应用。 2、掌握while,do-while循环的区别。 3、掌握Turbo C单步执行调试程序的方法。 二、实验内容 完成程序题: 1、用三种循环结构,求1000以内奇数的和。 2、用while,do-while循环求i-10的连加和,i由用户输入。 3、有一堆零件(100-200个之间),如果以4个零件为一组进行分组,则多2个零件;如果以 7个零件为一组进行分组,则多3个零件;如果以9个零件为一组进行分组,则多5个零件。 编程求解这堆零件总数。 提示:用穷举法求解。即零件总数x从100-200循环试探,如果满足所有几个分组已知条件,那么此时的x就是一个解。分组后多几个零件这种条件可以用求余运算获得条件表达式。 三、实验要求 1、实验前编制源程序、对第2个实验内容需要准备测试数据。 2、在Turbo C下完成程序的编辑、编译、运行。查看、分析程序结果。 四、实验步骤、过程 1、编辑、编译、运行程序题1。 2、编辑、编译、运行程序题2,分别使用数据3,15做测试。

3、编辑、编译、运行程序题3。 五、源程序清单、测试数据、结果。 1、用三种循环结构,求1000以内奇数的和。 (1)用while结构实现 void main() { long sum; int i,item; sum=0,i=0,item=2*i+1; while(item<1000) { sum=sum+item; i++; item=2*i+1; } printf("1+3+5+...999=%ld\n",sum); } (2)用do-while结构实现 void main() { long sum; int i,item; sum=0,i=0,item=2*i+1; do { sum=sum+item; i++; item=2*i+1; }while(item<1000); printf("1+3+5+...999=%ld\n",sum); } (3)用for结构实现 void main() { long sum; int i,item; for(sum=0,i=0,item=2*i+1; item<1000; i++,item=2*i+1) sum=sum+item; printf("1+3+5+...999=%ld\n",sum);

相关主题
文本预览
相关文档 最新文档