当前位置:文档之家› 程序的循环结构(一)for循环(1)

程序的循环结构(一)for循环(1)

程序的循环结构(一)for循环(1)
程序的循环结构(一)for循环(1)

2.4 程序的循环结构(一)

------ For-Next循环结构教学方案设计教学时间:2017年4月24日下午第三节

授课教师:通德

教学地点:计算机教室105

课题:程序的循环结构(一)---For-Next循环

一、教学设计思想

本节课先通过创设情境,设置悬念,吸引学生的注意力,引起学生的学习兴趣,再提出学习任务和要求,让学生带着问题进入下一环节的学习。

在教学过程中,重点引导学生从生活中的实际问题出发,发现生活中已有的问题,思考如何联系所学的知识来解决问题,将学习到的知识与生活实际问题紧密联系起来。

整个教学设计过程强调以学生为主体,但并不忽略老师的主导作用,学生是信息加工的主体,是知识意义的主动建构者,教师则是教学过程的组织者、指导者,教师要对学生的意义建构过程起促进和帮助作用。

二、教学目标

1.知识与技能

(1)掌握For-Next循环结构的一般格式和使用方法;

(2)结合For-Next循环语句的执行流程图理解For循环结构程序的执行过程;

(3)能对简单的For-Next循环程序进行分析和就具体问题使用For-Next循环结构编写简单的程序。

2.过程与方法

(1)从生活中的实际问题出发创设情景,经历分析、实践、讲解、探究、归纳,通过循序渐进、层层深入,逐步深化对循环思想和执行过程的理解;

(2)在教师提示下学生联系所学的知识点上机操作,进而完成知识的巩固。

3.情感态度与价值观

本节课所创设的悬疑式的教学情境、设计以学生为主体的教学活动以及所营造的教学氛围能够激发学生学习的动机,充分调动学生学习信息技术的兴趣,并能够培养学生的自主学习的能力和发现解决问题的能力,提高他们的逻辑思维能力和分析问题的能力,激发学生的学习热情。

三、教学容分析

《VB循环结构》是本章容的一个重点及难点容。For-Next循环结构的程序设计既需要前面知识的铺垫,同时还要学生打破之前的思维习惯,因此在讲授的过程中有一定的难度,要让学生多去实践、多去探究,让他们在主动学习中理解、体验和感受,提高自身的能力。

四、学生分析

本节课重点是让学生接受循环结构程序设计的方法和思维习惯,学会自主学习,提高自

身分析和思考的能力。在本章的前部分学习中,学生已经掌握VB界面设计,以及顺序结构和分支结构,这些容并不十分难,学生还有一定的学习兴趣。

五、教学重难点

重点:掌握For-Next循环结构的基本格式和执行流程

难点:利用For-Next循环结构编写程序,解决具体问题

六、教学设备

计算机、Visual Basic6.0中文版、教学课件

七、课时数:1课时

八、教学过程:

格式:

引导学生观察输出100个班级的程序,并调试运行显示结果,强调Print 班级名称执行了100次,是循环次数固定的循环。

总结For-Next循环的基本格式,并配合For-Next循环语句流程图讲解语句执行流程。

2.For-Next循环的基本格式:

For 循环变量 = 初值 To 终值 Step 步长语句组

Next 循环变量

3.For-Next循环语句流程图:

4.【教师讲解】现在请同学们将书翻至51页,阅读第二部分容:For-Next循环语句的基本格式,重点阅读需要注意的地方。

5. 【练习1】找找看

在以下For-Next循环结构中寻找出错误的地方。

【答案】○1:循环变量不是数值型变量;

○2:初值、终值、步长均为数值表达式;

○3:步长值为正,但初值大于终值;步长值为负,但初值小于终值;

○4:5、10、5、10

循环知识点巩固8min 提示学生:累加语句的使用。

【提示】

先画出求100以整数累加和的流程图,

再编写程序。

注意For-Next循环的步长值。

累加语句:s=s+i

思考比较,完成任

务一;

2、学生利用For-Next

语句并结合累加语

句s=s+i 实现

1-100的累加和。

和的语句;

2、学生初步学

会For-Next

循环语句的

简单应用。

(四) 知识应用For 循环语句破解悬念7min 【回顾问题】

1. 分析问题:假设n为天数,S是一个累

加变量,t为每天应该存的钱数,那么第二

天的钱数为第一天钱数的2倍,即t=2*t,

那么就有:

令存钱的总数为S,那么初始状态下S为0;

第1天存钱t=0.1元,存完钱之后,存钱的

总数S为0+0.1;

第2天存钱t=0.1*2元,存完钱之后,存钱

的总数S为0+0.1+0.1*2;

第3天存钱t=0.1*2*2=0.1*22元,存完钱之

后,存钱的总数S为0+0.1+0.1*2+0.1*22;

第n天存钱t=0.1*2n-1元,存完钱之后,存

钱的总数S为

S=0+0.1+0.1*21+0.1*22+…+0.1*2n-1;

第30天存钱t=0.1*229元,存完钱之后,存

钱的总数S为

0+0.1+0.1*2+0.1*22+…+0.1*229;

2. 【提问】

那么请问一个月能存多少钱?首先完

善流程图,并正确编写程序。

1、根据老师分析,学

生完成流程图中缺

少的部分;

2、上机操作,完善程

序:

3、t = 1

For i = 1 To

30

s = s +

t

t = 2 *

t

Next i

输出一个月共存多

少钱;

4、学生会发现这是一

个非常巨大的数

字,如果使用人力

去完成,基本上完

成不了,但是使用

计算机去操作,只

需要几行代码,就

可以完成任务,体

会到计算机编程能

力的强大。

1、通过分析问

题,更加深

入理解循环

的执行过

程;

2、掌握循环结

构流程图,

学会根据流

程图完善

For-Next循

环代码;

3、通过编写程

序的过程,

体验编写程

序的乐趣;

并且亲身体

会计算机编

程能力的强

大。

(五) 课堂总结5min 1. 选取几份有典型意义的作品,做简单点

评;

2. 总结学生经常出现的问题,并提醒应该

注意的地方;

1、学生提交VB窗体

文件;互相欣赏作

品,指出优缺点;

2、回顾本节课所学的

通过对本节课的

回顾,使学生掌

握本节课的教学

容,达到教学目

附件:

【练习1】找找看:在以下For循环过程都存在什么问题?

○1Dim A as String

For A = 1 to 10 step 2

Print A

Next A

○2For A = s To 10 step 1 s = 1

S = S + A For A = s To 10 step 1 Next A S = S + A

Next A

○3For A = 10 To 5 step 1 For A = 1 to 10 step -1 S = S + A S = S + A

Next A Next A

○4将上述程序修改正确后,计算循环体执行的次数

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

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

实验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、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、循环语句的三要素分别是、、。 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;

循环结构程序设计练习题

第三单元循环结构练习题 选择题: 1、有以下程序执行后的输出结果是()。 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. for循环只能用于循环次数已经确定的情况 B. for循环是先判断表达式,后执行循环体语句 C. for循环中,可以用break跳出循环体 D. for循环体语句中,可以保含多条语句,但要用花括号括起来 3、若i和k都是int类型变量,有以下for语句 for(i=0,k=-1;k=1;k++) printf("*****\n"); 下面关于语句执行情况的叙述中正确的是()。 A.循环体执行两次 B.循环体执行一次 C.循环体一次也不执行 D.构成无限循环 4、已知 int t=0; while(t=1){...} 则以下叙述正确的是()。 A)循环控制表达式的值为0 B)循环控制表达式的值为1 C)循环控制表达式不合法 D)以上说法都不对 5、设有以下程序段 int x=0,s=0; while(!x!=0)s+=++x; printf("%d",s); 则 A)运行程序段后输出0 B)运行程序段后输出1 C)程序段中的控制表达式是非法的 D)程序段执行无限次 6、设i,j,k均为int型变量,则执行完下面的for语句后,k的值为()。for(i=0, j=10; i<=j; i++, j- -) k=i+j; A.6 B.9 C.10 D.11 7、C语言中,break; 语句可以用于循环语句和( )语句中。 A.if B.switch C.for D.while 8、for(i=0; i<=15; i++) printf("%d", i ); 循环结束后,i 的值为()。 A.14 B.15 C.16 D.17 9、与语句“while(!x)”等价的语句是()。 A. while(x==0) B. while(x!=0) C. while(x==1) D. while(x!=1) 10、下述程序段中,while循环执行次数是()。 int k=0;

程序的循环结构

2-1节程序的循环结构 (for循环结构) 一、教学目标 1、知识与技能 掌握循环结构编程的一般步骤及特点。(1)掌握VB语言的FOR循环语句、语句的格式、功能和执行过程;(2)掌握VB语言的循环嵌套的规则。培养和提升学生:(1)学会使用VB语言的FOR循环语句来实现循环控制结构,解决实际问题;(2初步掌握程序调试运行的方法。 2、方法与过程 采用“问题解决教学法”。 3、情感态度和价值观 (1)经历用计算机解决问题的过程,体验成功的快乐。 (2)在老师的指导下,与同学共同探究问题,让学生体验自主学习、协助学习的乐趣。 二、重点难点 让学生学会使用VB语言的FOR循环语句来实现循环控制结构,解决实际问题。 三、教学环境 1、教材处理 教材选自《广东省普通高中信息技术选修一:算法与程序设计》第二章第二(4)节,原教材的编排是以问题为线索,层层深入,通过亲身设计一个简单的程序实践 来加深本节知识的理解。 以VB编程的基本步骤为线索,通过对各阶段性问题的解决,形成循序渐进的梯度,组成一个任务链,让学生在“做中学”“学中做”的过程中加深知识的理 解,通过适当地为学生提供拓展性的内容,充分挖掘学生潜力,让有余力的学生可 以有更大的发展空间。它既强调学生进行自主学习、协作学习,又能使学生在学习 时有规可依,使学生在程序设计中得到适度的创新体验。 2、预备知识 学生已掌握了程序设计基础的顺序及选择结构。 3、硬件要求 建议本节课在多媒体电脑教室中完成,最好有广播教学系统或投影仪,为拓展学习,学生机应允许上互联网。 4、所需软件 学生机要安装VB6.0或以上版本。 5、所需课时 2课时(90分钟)

程序框图、顺序结构、循环结构(精)

程序框图、顺序结构、循环结构 1.程序框图 (1程序框图又称流程图,是一种用程序框、流程线及文字说明来表示算法的图形. (2在程序框图中,一个或几个程序框的组合表示算法中的一个步骤;带有方向箭头的流程线将程序框连接起来,表示算法步骤的执行顺序. 2.常见的程序框、流程线及各自表示的功能 图形符号名称功能 终端框(起止框表示一个算法的起始和结束 输入、输出框表示一个算法输入和输出的信息 处理框(执行框赋值、计算

判断框判断某一条件是否成立,成立时在出口处标明“是”或“Y”;不成立时标明“否”或“N” 流程线连接程序框 ○连接点连接程序框图的 两部分 3.条件结构的概念 在一个算法中,经常会遇到一些条件的判断,算法的流程根据条件是否成立有不同的流向.条件结构就是处理这种过程的结构. 名称双条件结构单条件结构 结构 形式 特征两个步骤A、B根据条件是否满足选 择其中一个执行 根据条件是否成立选择是否执行步 骤A

4.循环结构的定义 在一些算法中,经常会出现从某处开始,按照一定的条件反复执行某些步骤的情况,这就是循环结构.反复执行的步骤称为循环体. 名称 双条件结构单条件结构 结构形式 特征 两个步骤 A 、 B 根据条件是否满足选择其中一个执行 根据条件是否成立选择是否执行步 骤A 对条件结构的理解

(1如图1-1-16是算法流程图的一部分,其算法的逻辑结构是( 图1-1-16 A .顺序结构 B .条件结构 C .判断结构 D .以上都不对 (2给出以下四个问题:

①输入一个数x ,输出它的相反数;②求面积为6的正方形的周长;③求三个数 a , b , c 中的最大数;④求函数f (x x -1,x ≥0,x +2,x <0 的函数值. 其中不需要用条件结构来描述其算法的有( A .1个 B .2个 C .3个 D .4个 [再练一题] 1.条件结构不同于顺序结构的特征是含有( A .处理框 B .判断框 C .输入、输出框 D .起止框 简单条件结构的设计

实验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.1.3循环结构 课标要求1.掌握程序框图的概念;2.会用通用的图形符号表示算法; 3.掌握画程序框图的基本规则,能正确画出程序框图; 教学目标 知识目标 掌握程序框图的概念;会用通用的图形符号表示算法,掌握算法的三 个基本逻辑结构;掌握画程序框图的基本规则,能正确画出程序框图。 技能目标 通过模仿、操作、探索,经历通过设计程序框图表达解决问题的过程; 学会灵活、正确地画程序框图。 情感态度价值观 通过本节的学习,使我们对程序框图有一个基本的了解;掌握算法语 言的三种基本逻辑结构,明确程序框图的基本要求;认识到学习程序 框图是我们学习计算机的一个基本步骤,也是我们学习计算机语言的 必经之路。 重点循环结构 难点综合运用这些知识正确地画出程序框图。 教学过程及方法 问题与情境及教师活动学生活动 一.导入新课 1.设计一个算法的程序框图的基本思路: 第一步,用自然语言表述算法步骤. 第二步,确定每个算法步骤所包含的逻辑结构,并用相应 的程序框图表示. 第三步,将所有步骤的程序框图用流程线连接起来,并加 上两个终端框. 2.算法的基本逻辑结构有哪几种?用程序框图分别如何表 示?(顺序结构、条件结构) 3.前面我们学习了顺序结构,顺序结构像一条没有分支的河 流,奔流到海不复回;条件结构像有分支的河流最后归入 大海;事实上很多水系是循环往复的,今天我们开始学习 循环往复的逻辑结构——循环结构. 二.研探新知 探究(一):循环结构 提出问题 (1)请大家举出一些常见的需要反复计算的例子. (2)什么是循环结构、循环体? (3)试用程序框图表示循环结构. (4)指出两种循环结构的相同点和不同点. 讨论结果:

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

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

程序的循环结构教学设计

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

⑴学生已经学习了程序的顺序结构、选择结构和循环结构中的For循环。 ⑵掌握了For循环语句的格式、功能和执行过程。 三、教学目标 知识与技能:理解Do循环语句的基本格式、功能和执行过程 过程与方法:初步学会使用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){

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 ,就达到了给定的精度,计算终止,这说明精度要求实际上给出了循环的结束条件,

程序的循环结构(一)for循环(1)

2.4 程序的循环结构(一) ------ For-Next循环结构教学方案设计教学时间:2017年4月24日下午第三节 授课教师:李通德 教学地点:计算机教室105 课题:程序的循环结构(一)---For-Next循环 一、教学设计思想 本节课先通过创设情境,设置悬念,吸引学生的注意力,引起学生的学习兴趣,再提出学习任务和要求,让学生带着问题进入下一环节的学习。 在教学过程中,重点引导学生从生活中的实际问题出发,发现生活中已有的问题,思考如何联系所学的知识来解决问题,将学习到的知识与生活实际问题紧密联系起来。 整个教学设计过程强调以学生为主体,但并不忽略老师的主导作用,学生是信息加工的主体,是知识意义的主动建构者,教师则是教学过程的组织者、指导者,教师要对学生的意义建构过程起促进和帮助作用。 二、教学目标 1.知识与技能 (1)掌握For-Next循环结构的一般格式和使用方法; (2)结合For-Next循环语句的执行流程图理解For循环结构程序的执行过程; (3)能对简单的For-Next循环程序进行分析和就具体问题使用For-Next循环结构编写简单的程序。 2.过程与方法 (1)从生活中的实际问题出发创设情景,经历分析、实践、讲解、探究、归纳,通过循序渐进、层层深入,逐步深化对循环思想和执行过程的理解; (2)在教师提示下学生联系所学的知识点上机操作,进而完成知识的巩固。 3.情感态度与价值观 本节课所创设的悬疑式的教学情境、设计以学生为主体的教学活动以及所营造的教学氛围能够激发学生学习的动机,充分调动学生学习信息技术的兴趣,并能够培养学生的自主学习的能力和发现解决问题的能力,提高他们的逻辑思维能力和分析问题的能力,激发学生的学习热情。 三、教学内容分析 《VB循环结构》是本章内容的一个重点及难点内容。For-Next循环结构的程序设计既需要前面知识的铺垫,同时还要学生打破之前的思维习惯,因此在讲授的过程中有一定的难度,要让学生多去实践、多去探究,让他们在主动学习中理解、体验和感受,提高自身的能力。 四、学生分析

循环结构程序设计(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; }

实验三 循环结构程序设计(教案)

实验教案 一、实验目的 (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()

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