中小学生个性化学习辅导中心一对一辅导备课表学生:黄小芸年级:高二学科:数学-教师:洪珍迎教材版本人教版课时统计第(6、7)课时共()课时上课类型□复习课新课□试题解析课此次课时(2)课时本次上课内容条件语句和循环语句教学目标(1)正确理解条件语句和循环语句的概念,并掌握其结构的区别与联系。(2)会应用条件语句和循环语句编写程序。教学重点条件语句和循环语句的步骤、结构及功能教学难点编写程序中的条件语句和循环语句教案一、导入新内容求自然数1+2+3+……+99+100的和。先让学生复习上节课学过的算法,写出题目要求的算法。以我们前面所学的输入、输出语句和赋值语句还不能满足我们的需要,因此,还需要进一步学习基本算法语句中的另外两种:条件语句和循环语句二、条件语句(1)IF-THEN语句首先对IF后的条件进行判断,如果条件符合,就执行THEN后的语句,如果条件不符合,则直接结束该条件语句,转而执行其他语句。其对应的程序框图为:(如上右图)例题1:设计一个程序,要求输入三个数a,b,c,输出其中最大的数。先要求学生画出程序框图程序如下:INPUT“a,b,c=”;a,b,cbig=aIFbbigTHENbig=bENDIFIFcbigTHENbig=cENDIFPRINT“maxis”;bigEND备注栏IF条件THEN语句ENDIF满足条件?语句是否中小学生个性化学习辅导中心(2)IF-THEN-ELSE语句当计算机执行上述语句时,首先对IF后的条件进行判断,如果条件符合,就执行THEN后的语句1,否则执行ELSE后的语句2。其对应的程序框图为:(如上右图)例:编写一个程序,求任意实数的绝对值相应的程序:提问:这两种语句的异同点是什么?分析:当判断框的两个出口都执行语句体时,必须使用IF-THEN-ELSE语句;当判断框的两个出口的“否”出口下面没有执行的语句体时,要用IF-THEN语句书写程序(3)条件语句的嵌套有时候需要对按条件要求执行的某一语句继续按另一条件进行判断,这时可以再利用一个条件语句完成这一要求,这形成了条件语句的嵌套,一般形式是:IF条件THEN语句1ELSE语句2ENDIF满足条件?语句1语句2是否程序如下:INPUTxIFx>=0THENPRINTxELSEPRINT-xENDIFEND中小学生个性化学习辅导中心IF条件1THEN语句体1ENDIF三、循环语句算法中的循环结构是由循环语句来实现的。对应于程序框图中的两种循环结构,一般程序设计语言中也有当型(WHILE型)和直到型(UNTIL型)两种语句结构。即WHILE语句和UNTIL语句。(1)WHILE语句的一般格式是:WHLIE后面的“条件”是用于控制计算机执行循环体或跳出循环体的。当计算机遇到WHILE语句时,先判断条件的真假,如果条件符合,就执行WHILE与WEND之间的循环体;然后再检查上述条件,如果条件仍符合,再次执行循环体,这个过程反复进行,直到某一次条件不符合为止。这时,计算机将不执行循环体,直接跳到WEND语句后,接着执行WEND之后的语句。因此,当型循环有时也称为“前测试型”循环。其对应的程序结构框图为:(如上右图)(2)UNTIL语句的一般格式是:IF条件2THEN语句体2ELSE语句体3ENDIFELSE内层条件语句例题:已知函数-1,x0y=0,x=0编写一个程序,输入一个x值,1,x0输出函数值y,并画出程序框图满足条件?循环体是否WHILE条件循环体WENDDO循环体LOOPUNTIL条件满足条件?循环体是否中小学生个性化学习辅导中心其对应的程序结构框图为:(如上右图)〖思考〗:直到型循环又称为“后测试型”循环,参照其直到型循环结构对应的程序框图,说说计算机是按怎样的顺序执行UNTIL语句的?(让学生模仿执行WHILE语句的表述)提问:通过对照,大家觉得WHILE型语句与UNTIL型语句之间有什么区别呢?区别:在WHILE语句中,是当条件满足时执行循环体,而在UNTIL语句中,是当条件不满足时执行循环体。例题:编写程序,计算自然数1+2+3+……+99+100的和我们可以用WHILE型语句,也可以用UNTIL型语句。由此看来,解决问题的方法不是惟一的,当然程序的设计也是有多种的,只是程序简单与复杂的问题。WHILE型:UNTIL型:小结:本节课主要学习了条件语句和循环语句的结构、特点、作用以及用法,并懂得利用解决一些简单问题。条件语句使程序执行产生的分支,根据不同的条件执行不同的路线,使复杂问题简单化。有些复杂问题可用两层甚至多层循环解决。注意内外层的衔接,可以从循环体内转到循环体外,但不允许从循环体外转入循环体内。课后作业同步练习备课时间:提交时间:上课时间:8.09教师签名:洪珍迎教务主管签名:i=1sum=0WHLIEi=100sum=sum+ii=i+1WENDPRINTsumENDi=1sum=0DOsum=sum+ii=i+1LOOPUNTILi100PRINTsumEND