循环结构程序设计说课稿(正式).

循环结构程序设计说课稿(正式).
循环结构程序设计说课稿(正式).

各位评委老师好,我是来自梓潼县第一高级职业中学,至今已工作十五年,主要从事计算机和电子专业的专业课教学

我说课的题目是“循环结构程序设计”(板书),下面我从该课的设计理念,教材分析、教学对象、教学目标、教学重点难点、教学过程七个方面来说明本课,请各位专家多提宝贵意见。

一、教材分析

《循环结构程序设计》是四川省教育科学研究所主编的高中信息技术教材下册第二章第七节的内容。本节内容分2课时。学生刚刚学习了顺序结构程序及分支结构程序,对程序设计的理论与方法有一定的了解。众所周知,无论多么复杂的程序都可以分解为顺序、选择、循环这三种基本结构,因此本节内容的学习效果将影响到今后编程编写的学习以及编程习惯和态度的培养。

根据教学大纲、教材内容的要求和教学对象的实际,确定以下教学目标及重难点

1、教学目标

知识和技能

(1)掌握计数循环语名格式和功能

(2)掌握条件循环语名格式和功能

(3)了解多重循环的结构。

(4)会画循环结构的流程图。

(5)学会用循环语句解决日常生活中实际问题

过程和方法

(1)经历实践、分析、归纳,掌握循环语句的格式和功能。

情感态度与价值观

(1)运用半成品加工策略,完善程序,发展学生思维的逻辑性,及严谨的学习态度。

2、重点、难点

重点:掌握循环语句的格式和功能

难点:提高学生运用循环语句解决实际问题的能力。

突出重点,突破难点的方法:通过投影,教师精讲,学生练习实践、合作探究、师生互动的方式。

三、学情分析

对同学来说,还是刚刚接触程序设计,已学习了顺序程序设计和分支程序设计,学生对于程序设计的知识还是相对匮乏的。因此,在学习设计的过程中,应弱化对于某一编程语言的学习,应更注重学生编程思想的培养。

在让学生实践的环节,让学生随着教学的不断深入,充分发挥自己的思维想象,让学生与教学的进度同步进行,最后能够较好的理解程序的基本结构这一思想,并能较为系统地了解算法分析的一般过程。

四、说教学方法

教师在占用课堂时间较少(大约是30%)的情况下,采用情景教学法,演示法、讲解法、指导法,以任务驱动模式来达到教学效果,同时,教师在教法中适时地给予学生启示。教学环境使用多媒体机房,并且学生一人一机。

确定教学方法的依据:根据教材特点和学生认知规律及教学方法应贯彻“启发学生思维、突出以学生为主体,注重思维品质的培养的原则。

五、说学法

学生在教师的指导下带着任务通过小组合作、实际操作、探究学习等方式,逐步完成任务,使学生在完成任务的过程中不知不觉地实现知识的传递、迁移和融合。本人利用“小组制”,目的是考虑到整个班级水平差异,分4个小组,在每组中设立一位电脑较好的学生担任组长负责这组学生的答疑和管理这组的纪律等。

确定学习方法的依据:不但能分担教师的负担,而且更能让更多的学生当堂掌握知识,并且有问题可以及时解决,充分发挥学生的团结互助精神。达到体验中感悟情感、价值观、活动中归纳知识,参与中培养能力,合作中学会学习。

六、说教学过程

教学环节:创设情景形成概念提出问题、分析问题深入探索、加深理解、解决问题小结归纳布置作业对本堂知识长华提高

(一)创设情境引入课题

教师活动:向学生担出问题:(

从字面上怎样理解循环?(一个(或一系统的动作)在经历一个过程后又重复进行),生活中如:老师累中所在班学生某科总分,对1-100中每个数开一次平方。要解决这个问题,如果用顺序结构程序,会定很长的程序代码,且不现实,分支语句也无法解决,我们就必须使用一种新的程序结构,即循环结构程序。

(设计意图:成功的教学不是强制,而在于激发学生的学习兴趣,从学生熟悉的事情着手,创设教学情境,有效地激发学生的学习兴趣。)

N

(二)合作探究构建新知

以对1-100中第个数开平方为例。画出流程图

教师讲解流程图

按流程图写出程序代码

REM 1到100每数开平方

FOR I =1 TO 100 STEP 1

A= SQR(I

PRINT A

NEXT I

END

教师归纳出计数循环的格式

FOR循环变量 = 初值 TO 终值 STEP 1

语名组(循环体

NEXT 循环变量

强调几个注意事项:

1、步长为1时,STEP1可以省略

2、步长可以为负,为负时,初值大于终值

请同学上机输入该程序段,运行,看跟人工判断是否吻合

让同学改写100到1 的方式,运行。

在上面的过程中,会出现很多错识,教师可以选比较典型的错误加以纠正。帮助部分薄弱的学生重新调整思路,便于更好地解决问题,同时引起大家的注意。

老师讲:很多问题事先无法确定循环次数,但却知道循的某种条件,这类问师就无法用计算循环来解决。比如:输入班上同学的科考试分数,当输入负数时,表示输入完成,让电脑计算出该科的平均成绩

教师修改流程图

教师修改上面的程序

REM******

LET S = 0

LET R = 0

INPUT X

DO WHILE X>=0

LET S = S+X

LET R = R +1

INPUT X

LOOP

E = S/R

PRINT E

END

请同学上机输入该程序段,运行,看跟人工计算是否吻合

拓展:

提出问题:有些问题,一个循不语句,是不能解决的,需要在循环体里嵌套循环,这就是多重循环。

举例:打N行*,第一行打一个,每二行打两个,以此类拄。

INPUT N

FOR I = 1 TO N

FORJ=1TOI

PRINT“*”;

NEXT J

PRINT

NEXT I

END

归纳总结:1、计算循环 2、条件循环 3、多重循环.

目的:进一步让学生理清本节知识的脉络,对本节课的得与失进行较全面剖析。

八、板书设计:内容

目的:能简明扼要的呈现教学内容,突出本节课的重难点知识

七)课后作业:月P86 1,2,3,7

目的:让学生巩固知识,达到学以致用的的,教师能够反馈到学生掌握知识的情况。

(八)、教学效果预测3,4,5

通过本节课的教学,预计学生将会得如如下发展:

发展一:注重教学内容与实际生活的相关性,技能训练与问题的关联性,增强学生解决问题的实际能力。

发展二:采用合作的形式探究学习,组间同质组内异质,为小组取长补短互帮互助合作完成创造条件,体验合作成功的愉快感,形成良好的合作人际关系,促进学生良好心理品质的形成。

发展三:提出问题,引导学生通过合作探究去修正完善,实现将能力的培养落到具体的探究解决问题的过程中,使学生成为学习的主体,增强学生对信息技术变化

我的说课完毕,不足之处请评委老师指出,谢谢大家。

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

循环结构程序设计习题及答案 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 ; i100) break; } C、int a=0; D、int x=21; do while(x) { ++a; --x; }while(a>=0); 三、阅读程序,写出程序运行结果。 1、#include"stdio.h" main() { int i=0,sum=1; do { sum+=i; i++; }while(i<5); printf("%d\n",sum); } 程序运行结果: 2、 #include"stdio.h" main() { int a,b;

C语言 循环结构程序设计模拟题

第五章循环结构程序设计 一、选择题 1.while循环语句中,while后一对圆括号中表达式的值决定了循环体是否进行,因此,进入while循环后,一定有能使此表达式的值变为的操作,否则,循环将会无限制地进行下去。(0级) A)0 B)1 C)成立D)2 2.在do-while循环中,循环由do开始,用while结束;必须注意的是:在while表达式后面的不能丢,它表示do-while语句的结束。(0级) A)0 B)1 C);D), 3.for语句中的表达式可以部分或全部省略,但两个不可省略。但当三个表达式均省略后,因缺少条件判断,循环会无限制地执行下去,形成死循环。(0级)A)0 B)1 C);D), 4.程序段如下 int k=-20; while(k=0) k=k+1; 则以下说法中正确的是。(1级) A)while循环执行20次B)循环是无限循环 C)循环体语句一次也不执行D)循环体语句执行一次5.程序段如下 int k=1; while(!k==0) {k=k+1;printf("%d\n",k);} 说法正确的是。(1级) A)while循环执行2次B)循环是无限循环 C)循环体语句一次也不执行D)循环体语句执行一次6.以下for循环是。(1级) for(a=0,b=0;(b!=123)&&(a<=4);a++) A)无限循环B)循环次数不定C)执行4次D)执行5次7.在下列程序中,while循环的循环次数是。(1级) main( ) { int i=0; while(i<10) {if(i<1) continue; if(i= =5) break; i++; } ...... } A)1 B)10 C)6 D)死循环、不能确定次数8.程序段如下 int k=0; while(k++<=2) printf("%d\n",k); 则执行结果是。(1级)

实验2-循环结构程序设计

实验2 循环结构程序设计 一、实验目的 1.学习循环语句for、while和do-while语句的使用方法。 2.学习用循环语句实现各种算法,例如穷举法、迭代法等。 3.进一步熟悉C语言集成环境的使用方法 二、实验内容 1.用while循环实现数据统计问题。:从键盘输入一批任意数量的整数,统 计其中不大于100的非负数数值的个数。 2.编写并调试程序,使用do-while循环控制语句实现上面的数据统计问 题。调试数据仍参照上面给出的几种情况设计使用。 3.编写并调试程序,使用for循环控制语句实现上面的数据统计问题。 4.阶乘累加问题。编写程序,求1+2!+3!+…+n!的值。 三、实验指导 1.用while循环实现数据统计问题。 ?编程分析 由于输入数据个数是不确定的,因此每次执行程序时,循环次数都是不确定的。在进行程序设计时,确定循环控制的方法是本实验的一个关键问题。循环控制条件可以有多种确定方法: (1).使用一个负数作为数据输入结束标志。 (2).输入一个数据后通过进行询问的方式决定是否继续输入下一个数 据。 ?参考程序 参考程序一 /* 使用负数作为数据输入结束标志的程序 */ #include "stdio.h" void main()

{ int m,counter=0; while(1) { printf("请输入一个整数:"); scanf("%d",&m); if(m<0) break; if(m<=100) counter++; printf("\n"); } printf("符合要求的整数个数为: %d\n",counter); } 参考程序二 /* 通过进行询问的方式决定是否继续输入下一个数据的程序 */ #include int main() { int m,counter=0; char ask; while(1) { printf("请输入一个整数:"); scanf("%d",&m); getchar(); if(m>=0&&m<=100) counter++; printf("继续输入下一个数据?(Y/N)"); ask=getchar();

循环结构程序设计练习题 内含答案

第三单元循环结构练习题 选择题: 1、有以下程序执行后的输出结果是( D )。 main( ) { int i,s=0; for(i=1;i<10;i+=2) s+=i+1; printf("%d\n",s);} A.自然数1~9的累加和 B.自然数1~10的累加和 C.自然数1~9中的奇数之和 D.自然数1~10中的偶数之和 2、以下关于for语句的说法不正确的是( A )。 A. for循环只能用于循环次数已经确定的情况 B. for循环是先判断表达式,后执行循环体语句 C. for循环中,可以用break跳出循环体 D. for循环体语句中,可以保含多条语句,但要用花括号括起来 3、若i和k都是int类型变量,有以下for语句 for(i=0,k=-1;k=1;k++) printf("*****\n"); 下面关于语句执行情况的叙述中正确的是( d )。 A.循环体执行两次 B.循环体执行一次 C.循环体一次也不执行 D.构成无限循环 4、以下程序程序的执行后的输出结果是( c )。 main() {int i,t[][3]={9,8,7,6,5,4,3,2,1}; for(i=0;i<3;i++) printf(“%d”,t[2-i][i]);} A.7 5 3 B. 3 5 7 C.3 6 9 D.7 5 1 5、以下程序运行后的输出结果是( A )。 void fun(char*s) { while(*s) { if(*s%2==0) printf(“%c”,*s); s++;} } main() { char a[]={“good”};fun(a);printf(“\n”);} 注意:字母a的ASCⅡ码值为97 A.d B.go C.god D.good 6、已知 int t=0; while(t=1){...} 则以下叙述正确的是( B )。 A)循环控制表达式的值为0 B)循环控制表达式的值为1 C)循环控制表达式不合法 D)以上说法都不对 7、设有以下程序段 B int x=0,s=0; while(!x!=0)s+=++x; printf("%d",s); 则 A)运行程序段后输出0

循环结构程序设计代码

实验五代码: 基础能力落实: 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);

实验4_循环结构程序设计1题目及解答

4.3 循环结构程序设计1 【(1)题中页码均为《C 语言程序设计教程》中的页码 (2)题后为原程序文件名 (3)仅提交名为【*.c 】的源程序文件,可一起提交,也可逐题提交 】 1、 按照右边给出的流程图用while 语句求1~100之间的偶数之和。(007张三t411.c, 007张三t412.c ) 【提示:参见p89—例4.18 ,并按照下面的左流程图书写007张三t411.c ,右流程图书写007张三t412.c 程序运行结果: s=2550 】 2、 按照右边给出的流程图用while 语句求出所有的水仙花数(如135: 153=13+53+33)。(007张三t42.c )【限制用一重循环实现】 【提示: 程序运行结果: 全部水仙花数如下:??153??370??371??407 】 3、 根据公式,求)(1n n 1 4313212 11 ....+????++++ 的前n 项之和。 (007张三t431.c ,007张三t432.c ) 【提示:参见p90—例4.19了解类似算法的实现 参见p93--例4.18了解do-while 语句的应用 007张三t431.c---用while 语句实现, 007张三t432.c 用do —while 语句实现 程序运行时: 程序运行结果: 请输入n :10? 前10项之和=0.91 请输入n :20? 前20项之和=0.95 】

4、求1!+2!+……+n!(007张三441.c和007张三442.c)【要求n≤10】 【提示:参见p90—例4.20,注意当n=10时,结果超过int 的最大值,建议用长整型(long int--%ld)007张三441.c---用while语句实现, 007张三442.c 用do—while语句实现 程序运行时:程序运行结果: 请输入n:1?1!~1!之和=1 请输入n:3?1!~3!之和=9 请输入n:10?1!~10!之和=4037913 请输入n:20?20超出本程序的求解范围! 请输入n:0?0超出本程序的求解范围! 】 5、输出个位数字是6,且能被3整除的所有3位数(007张三45.c)【要求:输出时,每个数字占4位,右对齐】 程序运行结果: 附加题: 1、编制一个能破解4位数字组成的数字密码的程序(即密码不能以0开头),假设数字密码为:1234(007张三4附加1.c)。【程序运行结果: 密码是:1234 】 2、鸡兔同笼问题,已知鸡和兔的总头数为a,总脚数为b,求鸡和兔的有多少只?(007张三4附加21.c,007张三4附加 22.c)【要求:(1)用循环结构实现,存于007张三4附加21.c (2)顺序结构实现,存于007张三4附加22.c 【程序运行时:程序运行结果: 请输入鸡和兔的总头数和总脚数:4 8?当4个头,8只脚时:鸡4只, 兔0只 请输入鸡和兔的总头数和总脚数:4 12?当4个头,12只脚时:鸡2只, 兔2只 】

高一地理自然界的水循环教案

第一节:自然界的水循环 【教学目的】 一、知识目标 1.使学生了解地球上有着丰富的水及水圈的概念、特点和水的重要性; 2.了解陆地水体类型及其相互关系 3.了解自然界水循环的概念主要环节及其类型及意义; 二、能力目标 1.通过教材P58图3.2,使学生能够分析出河流的补给类型和特点,思考径流的季节变化和年际变化及其原因; 2.学生运用图解方法正确表示出水循环的全过程 三、情感目标 1.认识可利用的淡水在地球水体中只占有很小的比例,理解水循环和水平衡对淡水资源更新的重要意义,牢固建立合理利用和保护水资源的思想。 2.通过自然界水循环的学习,树立事物之间普遍联系的辩证唯物主义观点。 【教学重难点】 水循环的分类及过程、意义图析 【教学媒体与教具】

计算机软件、地球卫星图片、地球水体储量表、地球水储量百分比图、水循环示意图 【课时安排】 1课时 【讲授过程】 【新课导入】 出示计算机图片:地球卫星图片、太阳系九大行星图片。 请同学们看,这是人类的家园——地球,与太阳系其它大行星相比,它的最大特点是什么呢?(有丰富的水)是的,我们所居住的这颗行星,表面四分之三为水所覆盖,是一颗“水的行星”。我们这一章要学习的就是地球上的水。 【板书】第三章地球上的水 第一节自然界的水循环 【引导】水有哪些物理化学性质?(固液气三态变化、比热、胀缩、溶剂等)那么,地球上的水都存在哪里呢?(海洋、河流、湖泊、地下、冰川、沼泽、大气、生物体等)

【总结】水在地理环境中以气态、固态和液态三种形式相互转化,形成各种水体,共同构成了一个连续但不规则的圈层。这实际上就是水圈。 【板书】一、水圈 1、定义 在水的三态中,气态水数量最少但分布最广;液态水数量最大,分布次之;固态水仅在高纬、高山或特殊条件下才能存在。 【计算机显示】水圈的构成图(教材第58页图3.1)。 【引导】在地球上的各种水体中,主要包括哪些类型?其中最主要的是哪种类型?占总水量的多少? 【学生回答】地球上的水体包括海洋水、陆地水和大气水,其中海洋水是最主要的,占全球水储量的96.53%。 【引导】分布在陆地上的各种水体有哪些?(地下水、河流水、湖泊水;沼泽水、土壤水、地下水、冰川水、生物水等)在地球淡水中,主体是什么?约占淡水总量的比重?(冰川、2/3)淡水中我们较常能利用到的淡水有哪些?(河流水、淡水湖泊水、地下淡水、土壤水、生物水、沼泽水)它们能占到淡水总量的百分之多

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

循环结构程序设计典型例题 例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的所有数。 算法分析:

高中地理 3.1 自然界的水循环教案 新人教版必修1(1)

3.1 自然界的水循环 一、教材分析 1.课标分析 普通高中地理课程标准在必修Ⅰ“自然环境中的物质运动和能量交换”的内容要求中提出:“运用示意图,说出水循环的过程和主要环节,说明水循环的地理意义。”同时给出了活动建议:用计算机设计水循环动画。该“标准”旨在引导学生能认识自然界中水的循环运动及其对自然环境和人类活动的影响。根据“标准”要求,学生对于“水循环示意图”不但要能“读”,而且还要会“说”、会“画”、会“用”。通过示意图的学习,帮助学生掌握地理技能和学会用示意图分析地理原理。 2.教材分析 本节课是第三章《地球上的水》的第一节,是开篇内容,本节内容首先介绍水圈的构成及其特点,主要讲述了“相互联系的水体”、“水循环的过程和意义”两个知识点。第一个知识点浅显易懂,是学生学习的基础知识,是为第二个知识点的学习作铺垫;第二个知识点是本节课的重点内容,通过图文和活动设置介绍了水循环发生的领域、水循环的类型、环节和意义。图3.2直观地说明各陆地水体之间的相互联系,本节活动题的设计旨在引导学生结合生活实际,关注生活、关注社会、学以致用,了解人类活动对水循环的影响。 3、三维目标定向 ⑴.知识与技能 ①了解水圈水体的构成和各水体相互转化的关系 ②能绘制示意图表示水循环的过程,掌握其主要环节,运用水循环的原理知识,分析常见的人类活动对水资源的影响,理解水循环的地理意义 ③学会从地理图表、地理现象中获取有用信息,分析地理问题并尝试提出解决地理问题的方法和措施。 ⑵.过程与方法 ①根据所提供的资料,同学间合作探究长江水的补给形式,播放水循环flash动画,通过“说、指、画、比、思、辨”等让学生自主构建水循环的知识。 ③由黄河断流现象,引导学生依据资料和所掌握的知识,分析黄河断流带来的危害、断流的原因,并尝试提出解决黄河断流的方法和措施。

实验5_循环结构程序设计2题目及解答

4.3 循环结构程序设计2 【注意事项: (1)题中页码均为《C语言程序设计教程》中的页码 (2)题后为原程序文件名 (3)仅提交名为【*.c】的源程序文件,可一起提交,也可逐题提交 调试程序中常见问题及处理方法: (1)出现死循环时:关闭运行窗口即可。 】 1、按照下面的流程图书程序,用for语句实现。 【提示:参见p97—例4.23 ,并按照下面的左流程图书写007张三511.c,右流程图书写007张三512.c 程序运行结果: s=2550 】 2、用for语句编程,求300~500之间的水仙花数(如135:153=13+53+33)。(007张三52.c) 【程序运行结果: 300~500之间的全部水仙花数如下:??370??371??407 】 3、判断输入的数是否为素数。【提示:素数是只能被1和其自身和整除的数,】(007张三53.c) 【提示:参见p114—例4.36 程序运行时:程序运行结果: 请输入一个正整数:25?25不是素数 请输入一个正整数:12?125不是素数 请输入一个正整数:13?13是素数 】 4、判断输入的一个不超过32767的正整数是几位数。(007张三54.c)【提示:按照右侧的N-S图编程 运行时:运行结果: 请输入一个正整数(1~32767): 135?135是3位数请输入一个正整数(1~32767): 1356?1356是4位数请输入一个正整数(1~32767): 28906?28906是5位数】

附加题: 1、求出100~200间的所有素数。(007张三5附加1.c )。 【 运行结果: 101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199 】 2、根据以下公式求π值(直到最后一项小于10 –6 为止)(007张三5附加2.c ) 【 运行结果: pi=3.141590 】 3、百钱百鸡问题中国古代数学家张丘建在他的《算经》中提出了著名的“百钱买百鸡问题”:鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一,百钱买百鸡,问翁、母、雏各几何?(007张三5附加3.c ) 【提示:在编程之前,需先根据题意列出方程, 如: 设鸡翁x 只,鸡母y 只,鸡雏z 只 则有下列方程: x+y+z=100 和 5x+3y+z/3=100 因为2个方程,3个未知数,故为不定方程,需用穷举法解题。 运行结果: x=0??? y=25??z=75?? x=4??? y=18??z=78?? x=8??? y=11??z=81?? x=12?? y=4???z=84?? 】 参考解答: 1、~2、略 3、 #include void main( ) { int x, I, k; printf(“请输入一个正整数:”); scanf("%d", &x); k=x/2; while ( i <=k ) { if( x%i ==0 ) break; } if ( i>k ) { printf(“%d is \n”, x); } ??????+???+??+?++=9 4 73523173523152313112π

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

循环结构程序设计典型例题 例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

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

循环结构程序设计习题及答案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第3章《地球上的水》的开篇内容,涉及内容既是水资源基础知识,激发学生求知欲,又为后面章节的学习作铺垫。 本节课由“相互联系的水体”和“水循环的过程和意义”两部分内容组成。“相互联系的水体”部分内容主要是对水圈的构成、自然界的各种水体之间的关系作了简要的介绍,为学习水循环的学习作基础知识方面的铺垫。“水循环的过程和意义”部分内容是本节课的重点内容,紧紧围绕“水循环示意图”以海陆间循环(又称大循环)为主介绍了水循环的过程和主要环节,分析了水循环的地理意义。 (二)说学情分析 高一学生具备由盲目阶段向自觉阶段发展过渡的心理特点;他们的认知能力的发展将接近于成熟,能运用抽象的适用形式、逻辑的推理方式去思考解决问题,可进行独立探究活动和研究性学习。 高一学生对一些地理表面现象的认知较多,对原理性认知较少。学生已有知识是知道自然界水体存在形态、能够概括出地球的圈层结构和各圈层的特点;已有的技能是有一定的读图能力和分析解决问题的能力。学生基本掌握了物质三态变化,对物态变化中吸、放热也有一定的了解;学生要掌握的是水循环过程及其意义、河流的补给等内容。 (三)说教师自身 所谓“知己知彼,百战百胜”,教师只有清晰地认识自己,意识到自身的优缺点,才能更好的扮演好学生学习的合作者、帮助者。 根据MBTI心理类型理论,在四个指标,八个偏爱所组成的16种类型中,我是ENFP型,所以我的教学风格是情感型。在解决探究性问题时,根据学生的不同性格、成绩、性别等组成异质小组,采用小组的形式进行合作交流,营造一种自由、活跃、和谐的环境,从而使教学效果达到优化。 二.教学目标 (一)说课标 本节课所涉及的内容标准是“运用示意图,说出水循环的过程和主要环节,说明水循环的地理意义”,其中“说出”水循环的过程和主要环节,为“了解”的水平;“说明”水循环的地理意义,为“理解”的水平,为本节课的重点。 (二)说教学目标 根据以上对教材、课标的分析,并结合学生的认知水平和思维特点,确定本节教学目标如下: 1 知识与技能 1)知道水的三态变化,说出水圈的构成。 2)绘制水循环示意图,结合示意图说出水循环的过程。 3)举例说明水循环在塑造地表形态的影响。

循环程序设计习题及答案

模块三循环程序设计习题及答案 一、填空题 1、当在数据处理中要重复执行相同的操作时,宜采用程序结构来实现。 2、循环的3要素是、、。 3、在循环语句体中包含另一个循环语句的用法称为。 4、执行循环语句体中的break语句后将使用包含它的循环语句。 5、要结束当前正在执行循环体语句而直接进入下一循环周期,需要执行语句。 6、在for语句中表达式允许省略,但不能少,语句for( ; ;) ;构成的是循环。 7、在for语句中,省略表达式2时,则循环为循环。 8、执行语句for(i=1;i++<4; );后变量i的值是。 9、要使用循环程序提前结束本次循环周期并开始下一个循环周期,应在循环体内有条件使用语句。 10、在每次循环周期均要执行一次的语句,称为。 11、for语句括号内的3个表达式的作用分别是、和循环控制变量的更新。 二、选择题 1、若k为整形变量,则while循环共循环()。 k=5; while(k>=0) k-1; A、无限循环 B、6次 C、5次 D、4次 2、与while( ! n) ; 中表达式!dn等价的是()。 A、dn>=0 B 、dn!=0 C、dn == 0 D、dn != 1 3、以下程序段,while循环执行的次数是() int k=0;

while( k == 1) k++; A、无限次 B、有语法错,不能执行 C、一次也不执行 D、执行1次 4、在C语言中,当do while语句中的条件为()时,结束该循环。 A、0 B、1 C、TRUE D、非0 5、下面程序段的输出结果是() do { b-=a; a++; }while(b--<0); A、10,-1 B、2,8 C、9,0 D、4,-3 6、以下描述正确的是() A、由于do while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句。 B、do while循环由do开始,用while结束,在while(表达式)后面不能写分号 C、在do while循环体中,一定要有能使while后面匠值变为零的操作 D、do while循环中,根据情况可以省略while 7、若有如下程序段,其中s、a、b、c均已定义为整型变量,且a、c均已赋值(c大于0)。 s=c; for(b=1;b<=c;b++) s=s+1; 则与上述程序段功能等价的赋值语句是() A、s=a+b; B、s=a+c; C、s=s+c; D、s=b+c; 8、假定a,b,c,d均已定义为整型变量,且a、c均已赋值,a大于0,c大于0,则与程序段for(d=a,b=1;b<=c;b++) d--;功能等价的语句是() A、d=a+b; B、d=a+c; C、d=a-b; D、d=a-c 9、下列关于for循环的说法正确的是() A、for循环只能用于循环次数已经确定的情况

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

一、循环结构(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){

2.2.10循环结构程序设计 - 循环结构程序设计_教学案例

【教学案例一】 1. 实验目的 熟练使用for语句控制循环。 2. 实验任务 (1)实验内容:打印输出所有"水仙花数"。所谓"水仙花数"是指一个三位的正整数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=13+53+33。 (2)实验要求:没有输入,输出所有"水仙花数"。 程序输出以下4个"水仙花数": 153 370 371 407 3. 实验分析 (1)问题分析:用循环语句循环测试每一个三位数是否符合"水仙花数"的规则。即对所有100至999的数,把每个数分解出个位数,十位数和百位数,再判断是否符合条件。 (2)实现要点:用一次穷举循环就可以了。因为是固定次数的循环,一般采用for语句。对于每个当前的整数,用取余和整除运算分解出各位的数字。对于三位的正整数n,个位数g = n%10,十位数s = (n%100)/10,百位数b = n/100。 4. 参考代码 #include int main(void) { int n, g, s, b; for (n=100; n<=999; n++) { b = n / 100; s = n / 10 % 10; g = n % 10; if ( g*g*g + b*b*b + s*s*s==n) printf("%d ",n); } return 0; } 5. 思考题 什么情况下采用穷举循环是比较合适的? 【教学案例二】 1. 实验目的 (1)熟练使用while 语句和理解该语句的执行顺序,掌握累加和计算的算法。 (2)熟练运用断点调试。 2. 实验任务 74

(1)实验内容:根据下面关系式,求π的值,直到最后一项的值小于epsilon 。epsilon 的值由键盘输入。 12!3!!12335357357n p =++++???????…+…(2n+1) (2)实验要求:改正下面的错误程序,达到满足如下表的运行示例结果。测试用例: /* 1 */ #include /* 2 */ int main(void)/* 3 */ { /* 4 */double sum,item;/* 5 */double epsilon;/* 6 */int i; /* 7 */printf("Enter Epsilon:");/* 8 */scanf("%lf",&epsilon);/* 9 */item = 1; /* 10*/sum = 0; /*调试时设置断点*//* 11*/while (item >= epsilon)/* 12*/{/* 13*/sum += item;/* 14*/i++;/* 15*/item *= i;/* 16*/item /=(2*i-1);/* 17*/} /* 18*/printf("Pi=%.6lf\n",2*sum); /*调试时设置断点*//* 19*/return 0; /* 20*/ } 3. 实验分析 (1)程序分析:这是一个求累加和的问题。为解决这个问题,首先抽取出具有共性的算式:sum=sum + item ,其中sum 存放累加和,item 表示第i 项的内容。题目没有显式地给出循环次数,只是提出了精度要求。在反复计算累加的过程中,一旦第i 项的绝对值小于Epsilon ,就达到了给定的精度,计算终止,这说明精度要求实际上给出了循环的结束条件,

第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) 掌握while、do~while、for语句的使用。 (2) 掌握循环体内使用break、continue语句的作用。 (3) 掌握循环及嵌套循环结构的程序设计方法。 二、实验准备 1.C语言实现循环的方法 ①goto 和if 构成的循环:由于goto是无条件转向,不符合结构化程序设计思想,所以不建议使用。 ②while循环:实现“当型”循环,首先判断循环条件,当条件为真,执行循环体,再判断循环条件……此种循环有可能一次也不执行循环体。 ③do~while循环:实现“直到型”循环,与while循环的区别是先执行循环体,再判断循环条件,当循环条件为真,再执行循环体……此种循环至少执行一次循环体。 ④for循环:与while循环类似,一般用于知道循环变量初值、终值及步长值的循环。 2.break 和continue 语句 ①break 语句:可用在循环体或switch语句中,作用是跳出其所在的控制结构。若是在循环体中,则是跳出其所在的循环,使得循环不止一个出口。 ②continue语句:只能用在循环体中,其作用是结束本层本次循环,注意不是退出循环。 3.阅读以下程序,并分析其功能,调试运行程序后再分析其运行结果。 ①掌握三种方法求1到100的累加和。 文件名为ex3-1-1.c,内容如下: # include main() { int sum=0,i=1; while(i<=100) sum+=i++; // 等价于:{ sum=sum+i; i++; } printf("sum is %d\n",sum); } 文件名为ex3-1-2.c,内容如下: # include main() { int sum=0,i=1; do sum+=i++; while(i<=100); printf("sum is %d\n",sum); } 文件名为ex3-1-3.c,内容如下: # include main()

循环结构程序设计(1)

实验报告_实验5 循环结构程序设计(1)(学号_姓名) 一、实验目的: 1、熟悉循环结构的循环控制部分和循环体部分; 2、掌握for语句、while语句、do…while语句的使用,并能相互代替; 3、熟悉累加、连乘积、分类统计等算法,能根据实际需要构建循环语句; 4、熟悉随机函数rand()、三角函数sin(x)、cos(x)的使用。 二、实验内容 1、(基础题)用for语句编写程序,计算1-3+5-7+…-99+101的值。 程序代码: #include int main() { int sign=-1,sum=0; int i; for(i=1;i<=101;i+=2) { sign=-sign; sum=sum+sign*i; } printf("1-3+5-7+…--99+101=%d\n\n",sum); while(1); return 0;

2、(基础题)用while语句编写程序,如下图所示:输出角度0、10、20、30、……180的正弦、余弦值。 程序代码: #include #include #define PI 3.1415926 int main()

int i=10; double x; while(i<=180) { x=i/180.0*PI; printf("角?度¨¨: %4d\t",i); printf("正y弦¨°: %10.6f\t",sin(x)); printf("余?¨¤弦¨°: %10.6f\n",cos(x)); i+=10; } return 0; }

相关文档
最新文档