5-2 循环结构程序设计
- 格式:doc
- 大小:92.00 KB
- 文档页数:8
浙教版信息五下循环结构教案
一、教学目标:
1. 理解循环结构的基本概念和作用。
2. 掌握循环结构的基本结构和用法。
3. 能够运用循环结构解决实际问题。
二、教学内容:
1. 循环结构的基本概念和作用。
2. 循环结构的基本结构和用法。
3. 循环结构的实际应用案例。
三、教学重点与难点:
重点:循环结构的基本结构和用法。
难点:如何运用循环结构解决实际问题。
四、教具和多媒体资源:
1. 投影仪及PPT课件。
2. 教学软件:编程软件(如Python)。
3. 教学视频和案例分析。
五、教学方法:
1. 激活学生的前知:回顾程序结构,介绍本课主题。
2. 教学策略:讲解、示范、案例分析、小组讨论、实操练习。
3. 学生活动:编写简单的循环结构程序,案例分析讨论。
六、教学过程:
1. 导入:通过提问导入本课主题,介绍循环结构的基本概念和作用。
2. 讲授新课:通过PPT演示和讲解,让学生了解循环结构的基本结构和用法,并给出案例分析。
3. 巩固练习:学生在编程软件上编写简单的循环结构程序,教师巡回指导。
4. 归纳小结:总结本课重点和难点,强调循环结构在实际应用中的重要性。
七、评价与反馈:
1. 设计评价策略:小组展示编写程序,进行互评和自评。
2. 为学生提供反馈:点评学生作品,指出优缺点,提供改进建议。
3. 作业布置:课后要求学生编写一个实际应用的循环结构程序,以巩固所学知识。
循环结构程序设计习题及答案1、循环语句的三要素分别是、、;2、for语句括号内的3个表达式的作用分别是、、;3、在2层循环嵌套中,外层循环语句的每个执行周期中,内层循环语句都要完整地,只有当时,才结束整个循环;4、在循环结构中,break语句的作用是;continue语句的作用是;5、当循环条件一开始就为假时,对于while语句、do…while语句、for语句,分别执行循环体次、次、次;6、下面程序段的执行次数:int a=0;whilea=0{ printf"good\n";a--;}7、下面程序段的执行次数:int a=0;whilea==0{ printf"good\n";a--;}8、下面程序段的执行次数:int a=1;whilea=1{ printf"good\n";a++;}9、下面程序段的执行次数:int a=1;whilea==1{ printf"good\n";a++;}10、下列程序段的运行结果是;fori=5;i>=0;i--printf“%d “,i;11、下列程序段的运行结果是;forn=1;n<20;n=n+3printf“%d “,n;12、下列程序段的运行结果是;for ch='a' ;ch<='e' ;ch++printf“%d“,ch-97;13、下列程序段的运行结果是;fori=1,j=5 ; i<j ; i++,j--printf“i=%d j=%d\n“,i,j;14、下列程序段的运行结果是;forn=1 ; nn<20 ; n++printf“%d \n“,n+n;二、选择题1、下列程序段中,死循环的是A、for i=1; ;B、i=32767;{ if++i%2==0 continue; doif++i%3==0 break; { ifi<0 break;} }while++i;C、i=1;D、fori=1; ;whilei--; if++i<10 break;2、下列程序段中,不是死循环的是A、int i=10;B、for ; 1;while1{ i=i%100+1;ifi>100 break;}C、int a=0;D、int x=21;do whilex{ ++a; --x;}whilea>=0;三、阅读程序,写出程序运行结果;1、include"stdio.h"main{int i=0,sum=1;do{sum+=i;i++;}whilei<5;printf"%d\n",sum;}程序运行结果:2、include"stdio.h"main{int a,b;b=10;a=1;whilea<=ba=2;printf"%d\n",a;}程序运行结果:3、include"stdio.h"main{int x=2;whilex--;printf"%d\n",x;}程序运行结果:4、include"stdio.h"main{int x=3;do{printf"%d\n",x-=2;}whilex;}程序运行结果:5、include"stdio.h"main{int i;fori=1;i<=5;i++switchi%5{case 0:printf"";break;case 1:printf"";break;case 2:printf"&";break;default:printf"\n";}}程序运行结果:6、include"stdio.h"main{char ch;whilech=getchar=''putchar++ch;}程序运行结果:7、include"stdio.h"main{int i,j;fori=0;i<=5;i++{forj=1;j<10;j++ifj==5 break;ifi<2 continue;ifi>2 break;printf"j=%d\n",j;}printf"i=%d\n",i;}程序运行结果:8、include"stdio.h"main{int x ,y;x=37,y=13;whilex=y{ifx>yx=x-y;ify>xy=y-x;}printf"x=%d\n",x;}程序运行结果:四、编程题1、输出下列图案12 43 6 94 8 12 165 10 15 20 252、输出下列图案3、编程求2-4+6-8+…-100+102的值;4、输出公元1500年至2500年所有的闰年的年号;5、从键盘上输入若干学生的C语言成绩,统计并输出最高成绩和最低成绩,当输入负数时结束输入;循环结构程序设计参考答案一、填空题、1.循环条件循环体循环控制变量2.循环变量赋初值循环测试条件循环变量更新3.执行整个周期外层循环条件为假4.提前结束包含它的循环语句的执行提前结束本次循环周期开始执行下一次循环周期5.0 1 06.07. 18.无数9. 110.5432111.147****161912.0123413.I=1,j=5I=2,j=414.14916二、选择题1. B2. D三、程序运行结果1.112.163.-14.15.&6.bgufsoppo7.i=5J=38.x=1四、编程题1.include"stdio.h"main{int i,j;fori=1;i<=5;i++{forj=1;j<=i;j++printf"%d ",ij;printf"\n";}}2.include"stdio.h"main{int i,j;fori=5;i>=1;i-=2{forj=1;j<=i;j++printf"";printf"\n";}}3.include"stdio.h"main{int i,y=1,s=0;fori=2;i<=102;i+=2{ s=s+yi;y=-1; y=-y; }printf"2-4+6+...-100+102=%d",y;}4.include"stdio.h"main{int i;fori=1500;i<=2500;i++ifi%4==0&&i%100=0||i%400==0printf"%d ",i;}5.include"stdio.h"main{float cj,min,max=0;printf"请输入学生成绩,输入负数时结束:\n";scanf"%f",&cj;min=cj;whilecj>=0{ifcj>maxmax=cj;ifcj<minmin=cj;scanf"%f",&cj;}printf"max=%f\nmin=%f",max,min; }。
北京建筑工程学院
计算机教学与网络信息部计算机程序设计基础实验报告
实验5-2:实验名称循环结构程序设计(二) 实验地点大兴基础楼B座201
姓名张三专业土木工程班级土081 学号 2 日期2009.04.21
【实验目的】
(1)熟悉掌握使用while语句、do-while语句与for语句实现循环的方法
(2)掌握循环嵌套和多重循环的使用
(3)掌握基本输入和输出多组数据的常用方法
【实验要求】
(1)熟悉掌握使用while语句、do-while语句与for语句实现循环的方法
(2)掌握循环嵌套和多重循环的使用
(3)掌握基本输入和输出多组数据的常用方法
【实验环境】
(1) Microsoft XP操作系统
(2) Microsoft VC++ 6.0
【实验内容】
1.字符统计
题目描述:
/JudgeOnline/problem.php?id=1480输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。
输入:一行字符
输出:统计值。
样例输入:aklsjflj123 sadf918u324 asdf91u32oasdf/.';123
样例输出:24690
提示:
while((c=getchar())!=’\n’)
{
…;
}
判断是否是字母,数字,空格可以用表示范围的逻辑表达式,也可以用C语言的库函数实现。
判断字母:
可以使用if(c>=’A’&& c<=’Z’|| c>=’a’&& c<=’z’),也可以使用isalpha(c) 判断数字:
可以使用 if(c>=’0’ && c<=’9’),也可以使用isdigit(c)
判断空格:
可以使用 if(c==’’),也可以使用isspace(c)
2.和、平方和倒数和
/JudgeOnline/problem.php?id=1483题目描述:
求以下三数的和,保留2位小数 1~a之和 1~b的平方和 1~c的倒数和。
输入: a b c
输出: 1+2+...+a + 1^2+2^2+...+b^2 + 1/1+1/2+...+1/c
样例输入:100 50 10
样例输出:47977.93
3.求平均值
/acmhome/problemdetail.do?&method=showdetail&id=
1461
题目描述:求n个数的平均数。
输入:输入数据有2行,第一行为n,第二行是n个数。
输出:输出n个数中的平均数,结果保留小数点2位。
样例输入:
5
-1 2.1 3 4 -5.8
样例输出:
0.46
4.平方与立方和
/acmhome/problemdetail.do?&method=showdetail&id=
1089
题目描述:
给定一段连续的整数,求出他们中所有偶数的平方和及所有奇数的立方和。
输入:
输入数据包含多组测试实例,每组实例包含一行,由两个整数m和n组成。
输出:
对于每组输入数据,输出一行,应包括两个整数x和y,分别表示该段连续的整数中所有偶数的平方和以及所有奇数的立方和。
你可以认为32位整数足以保存结果。
样例输入:
1 3
2 5
样例输出:
4 28
20 152
5.数字串求和
/acmhome/problemdetail.do?&method=showdetail&id=
1455
题目描述:
求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个1-9的数字。
例如2+22+222+2222+22222(此时共有5个数相加)。
输入:
输入数据有多组,每组占一行,每行有两个数a和n(其中1<=a,n<=9),分别用空格分隔。
输入以EOF结束!
输出:针对每个输入,输出s的值。
样例输入: 2 5
样例输出:24690
提示:
第一类基本输入输出. EOF结束的语句是这样的,今后还后很多这样的题目,千万要记住哦...
while(scanf("%d %d",&a,&b)!=EOF)
{
}
6. 最小公倍数和最大公约数 /acmhome/problemdetail.do?&method=showdetail&id=1179
题目描述:
键盘输入两个正整数,求这两个正整数的最小公倍数和最大公约数,并输出。
输入: 输入包括一行。
两个以空格分开的正整数。
输出: 两个整数的最小公倍数和最大公约数。
样例输入: 6 8
样例输出: 24 2
7. 求数列的和 /acmhome/problemdetail.do?&method=showdetail&id=1371
题目描述:数列的定义如下:
数列的第一项为n ,以后各项为前一项的平方根,求数列的前m 项的和。
输入:
输入数据有多组,每组占一行,由两个整数n (n<10000)和m(m<1000)组成,n 和m 的含义如前所述。
输出:
对于每组输入数据,输出该数列的和,每个测试实例占一行,要求精度保留2位小数。
样例输入: 81 4
2 2
样例输出: 94.73
3.41
8. 圆周率 /acmhome/problemdetail.do?&method=showdetail&id=1476
题目描述:输入n 值,并利用下列格里高里公式计算并输出圆周率: 1
41341 (71513114)
---++-+-=n n π
输入: 输入公式中的n 值。
输出: 输出圆周率,保留5位小数。
样例输入: 1
样例输出: 2.66667
9. 分数序列 /acmhome/problemdetail.do?&method=showdetail&id=1167
题目描述:
有一个分数序列:2/1,3/2,5/3,8/5,13/8,…。
编写程序求出这个序列的前n 项之和。
输入: 输入只有一个正整数n ,1≤n ≤10。
输出: 输出改序列前n 项和,结果保留小数后6位。
样例输入:3
样例输出:5.166667
提示: 结果需要用double 类型来保存。
10. 求级数值 /acmhome/problemdetail.do?&method=showdetail&id=1468
题目描述:求下列级数的值
100
199********-++-+- 输入: 无
输出: 级数的值,以float 浮点数输出。
样例输入: 无
样例输出: 无
提示: 输出格式:printf(“%f ”,sum);
【实验方法】
1.字符统计
【源代码】
【运行结果】
【结论】
2.和、平方和倒数和【源代码】
【运行结果】
【结论】
3.求平均值
【源代码】
【运行结果】
【结论】
4.平方与立方和【源代码】
【运行结果】
【结论】
5.数字串求和
【源代码】
【运行结果】
【结论】
6.最小公倍数和最大公约数【源代码】
【运行结果】
【结论】
7.求数列的和
【源代码】
【运行结果】
【结论】
8.圆周率
【源代码】
【运行结果】
【结论】
9.分数序列【源代码】
【运行结果】【结论】
10.求级数值【源代码】
【运行结果】【结论】【成绩评定】。