1、流程图(三)教学目标:使学生了解循环结构的特点,并能解决一些与此有关的问题.教学重点:循环结构的特性.教学难点:循环结构的运用.教学过程:.课题导入问 题 : 给 出 求 满 足 1 2 3 4 2008 最 小 正 整 数 的 一 种 算 法 , 并 画 出 流 程图 .我的思路:在解题的时候经常会遇到需要重复处理一类相同的事或类似的操作,如此题就需要重复地做加法运算.如果用逐一相加算法,步骤太多,采用循环结构可以很好地解决此类问题.算法如下:S1 n1;S2 T0;S3 TT+n;S4 如果 T2008,输出 n,结束.否则使 n 的值增加 1 重新执行 S3,S4.流程图如下:.讲授新课
2、循环结构分为两种当型(while 型)和直到型(until 型).当型循环在执行循环体前对控制循环条件进行判断,当条件满足时反复做,不满足时停止;直到型循环在执行了一次循环体之后,对控制循环条件进行判断,当条件不满足时反复做,满足时停止.例 1:求 1234567,试设计不同的算法并画出流程图.算法 1 算法 2开 始输 出 X结 束X1X2XX3XX4XX5XX6XX7X开 始输 出 X结 束X1I 2XIXI+1II 7是 否点评:本题主要考查学生对顺序结构和循环结构的理解,学会推理分析.算法都可以由顺序结构、选择结构和循环结构这三块“积木”通过组合和嵌套来完成.算法 2 具有通用性、简明
3、性.流程图可以帮助我们更方便直观地表示这三种基本的算法结构.例 2:有一光滑斜面与水平桌面成 角,设有一质点在 t=0 时,从此斜面的顶点 A 处开始由静止状态自由释放,如下图所示.如果忽略摩擦力,斜面的长度 S300 cm, 65 .求 t0.1,0.2 ,0.3,1.0 s 时质点的速度.试画出流程图.解析:从物理学知识知道:质点在斜面上运动时,它的加速度 agsin .当在水平面上运动时,速度为常数,且保持它在 B 点时的速度.从 A 点到 B 点间的速度 v,可由公式 vat g(sin )t 求出,到 B 点时的速度 vB为vBata = =2Sgsin .S2a解题的过程是这样考虑
4、的:按公式 vat g(sin )t,求 t0.1,0.2,0.3时的速度 v,每求出对应于一个 t的 v 值后,即将 v 与 vB相比较,如果 vv B,表示质点还未到达 B 点,使 t 再增加 0.1 s,再求下一个 t 时的 v 值,直到 vv B时,此时表示已越过 B 点,此后的速度始终等于 vB的值.流程图如下:开 始S30,a650,t0.1vBBB=2 sinSga.v=(sin)g tavv是是 是否否否输 出 ,tv 输 出 ,tvt 1 t 1结 束t t+1 t t+1例 3:设 y 为年份,按照历法的规定,如果 y 为闰年,那么或者 y 能被 4 整除不能被100 整除
5、,或者 y 能被 400 整除.对于给定的年份 y,要确定它是否为闰年,如何设计算法,画出流程图.解析:输 入 y结 束开 始4整 除 ?y 是是是否否否10整 除 ?y输 出 不 是 闰 年y 40整 除 ?y输 出 是 闰 年y总结:1.理解程序框图的三种基本逻辑结构:顺序结构、选择结构、循环结构.算法的表示方法:(1)用自然语言表示算法.(2)用传统流程图表示算法.2.能够理解和掌握构成流程图的符号: 流 程 线 起 止 框 输 入 、 输 出 框 处 理 框 判 断 框 连 接 点3.利用计算机进行数值计算,需要经过以下几个步骤:(1)提出问题、分析问题.(2)确定处理方案,建立数学模
6、型,即找出处理此顺题的数学方法,列出有关方程式.(3)确定操作步骤,写出流程图算法见下图.(4)根据操作步骤编写源程序.(5)将计算机程序输入计算机并运行程序.(6)整理输出结果.以上过程可用流程图表示如下: 提 出 问 题确 定 数 学 模 型 和 计 算 方 法画 流 程 图编 写 程 序运 行 程 序修 改 程 序 有 无 错 误有无结 束.课堂练习课本 P14 1,2.课时小结循环结构的特点:在程序执行过程中,一条或多条语句被重复执行多次(包括 0 次) ,执行的次数由循环条件确定.课后作业课本 P14 7,8,9.练习1.算法的三种基本结构是( )A.顺序结构、选择结构、循环结构 B
7、.顺序结构、流程结构、循环结构C.顺序结构、分支结构、流程结构 D.流程结构、分支结构、循环结构答案:A2.流程图中表示判断框的是( )A.矩形框 B.菱形框 C.圆形框 D.椭圆形框答案:B3.下面是求解一元二次方程 ax2+bx+c=0(a0)的流程图,请在空缺的地方填上适当的标注.输 入 ,abcY N结 束开 始(1) (2)(3)输 出 “方 程无 实 根 ”bac -42答案:(1) 0 (2)x 1 ,x 2 (3)输出 x1,x 2abab4.下面流程图表示了一个什么样的算法?输 入 ,abcabac 及 bcYYNN输 出 a输 出 b输 出 c答案:输入三个数,输出其中最大
8、的一个.5.下面流程图是当型循环还是直到型循环?它表示了一个什么样的算法?开 始n 10N Ysum+nnn+1输 出 sum结 束sumsum0,n1答案:此流程图为先判断后执行,为当型循环.它表示求 1+2+3+100 的算法.6.已知梯形的上底、下底和高分别为 5、8、9,写出求梯形的面积的算法,画出流程图.答案:解:算法如下:S1 a5;S2 b8;S3 h9;S4 S(a+b)h/2;S5 输出 S.流程图如下:开 始结 束bha589S(+)/2abh输 出 S7.设计算法流程图,输出 2000 以内除以 3 余 1 的正整数.答案:开 始结 束n=1输 出 nnn=+3n 200
9、是否8.某学生五门功课成绩为 80,95,78,87,65.写出求平均成绩的算法,画出流程图. 答案:解:算法如下:S1 S80;S2 SS+95;S3 SS+78;S4 SS+87;S5 SS+65;S6 A S/5;S7 输出 A.流程图如下: 开 始结 束SSSSAS+95S+78S+87S+65S/5S80输 出 A9.假设超市购物标价不超过 100 元时按九折付款,如标价超过 100 元,则超过部分按七折收费.写出超市收费的算法,并画出流程图.答案:解:设所购物品标价为 x 元,超市收费为 y 元.则 y= ).10(7.109., ,xx收费时应先判断标价是否大于 100,其算法如
10、下:S1 输入标价 x;S2 如果 x100,那么 y=0.9x; 否则 y=0.9100+0.7(x 100) ;S3 输出标价 x 和收费 y.流程图如下:开 始结 束输 入 x输 出 ,xyx 10Y Ny y0.9x 0.910+0.7(-10)x10.写出求 1357911 的算法,并画出流程图.答案:解:算法如下:S1 p1;S2 I 3;S3 ppI;S4 I I2;S5 若 I11,返回 S3;否则,输出 p 值,结束.流程图:开 始输 出 p结 束p1I 3PIPI+2II 1 是否11.中华人民共和国个人所得税法规定,公民全月工资、薪金所得不超过 800 元的部分不必纳税,
11、超过 800 元的部分为全月应纳税所得额,此项税款按下表分段累进计算:全月应纳税所得额 税 率不超过 500 元的部分 5%超过 500 元至 2000 元的部分 10%超过 2000 元至 5000 元的部分 15%试写出工资 x(x 5000 元)与税收 y 的函数关系式,给出计算应纳税所得额的算法及流程图.答案:解:研究这个表提供的信息,可以发现,如果以一个人的工资、薪金所得为自变量 x,那么应纳税款 yf(x)就是 x 的一个分段函数.y= 50.28 0.157,3)(21, 80. xx,)( 算法为:S1 输入工资 x(x5000) ;S2 如果 x800,那么 y=0;如果 8
12、00x1300,那么 y=0.05(x 800) ;如果 1300x2800;那么 y=250.1(x 1300) ;否则 y=17515(x 2800) ;S3 输出税收 y,结束.流程图如下: 开 始输 入 x输 出 y结 束x 80YYYN NNyy y y0 80 130x0.05(-80)x 130 280x25+0.1(-130)x 175+0.15(-280)x12.根据下面的算法画出相应的流程图.算法:S1 T0;S2 I 2;S3 TT+I ;S4 I I+2;S5 如果 I 不大于 200,转 S3;S6 输出 T,结束.答案:解:这是计算 2+4+6+200 的一个算法.
13、流程图如下:开 始输 出 T结 束T0I 2TI+TI+2II 20 NY13.一个三位数,各位数字互不相同,十位数字比个位、百位数字之和还要大,且十位、百位数字不是素数.设计算法,找出所有符合条件的三位数,要求画出流程图.答案:结 束开 始i=120ai= mod10b a=(1-10) mod10ci ab=-10-10abbcca=或 =或 =ba+ca=2,3,5,7b=2,3,5,7ii=+1i 100输 出 i 是是是是是否否否否否14.已知算法:指出其功能(用算式表示).将该算法用流程图描述之.S1 输入 X;S2 若 X0,执行 S3;否则执行 S6;S3 YX + 1;S4
14、输出 Y;S5 结束;S6 若 X=0,执行 S7;否则执行 S10;S7 Y0;S8 输出 Y;S9 结束;S10 YX;S11 输出 Y;S12 结束.答案: 解:这是一个输入 x 的值,求 y 值的算法.其中 y= .0 , 1x流程图如下: 开 始输 入 xx 0x+1 x=0 x0输 出 y 输 出 y输 出 yYYN Nyy y结 束15.下面流程图表示了一个什么样的算法?试用当型循环写出它的算法及流程图.输 出 A输 入 GS0I 1SG+SI+1II 10AS/10NY答案:解:这是一个计算 10 个数的平均数的算法.当型循环的算法如下:S1 S0;S2 I 1;S3 如果 I 大于 10,转 S7;S4 输入 G;S5 SS+G;S6 I I+1,转 S3;S7 A S/10;S8 输出 A.流程图: