基本算法语句(第2课时)珠海北大附属实验学校何莲姣教学目标:通过实例,使学生理解条件语句的表示方法、结构和用法,能用条件语句表示算法,进一步体会算法的基本思想。教学重点:条件语句的表示方法、结构和用法,用条件语句表示算法。教学难点:理解条件语句的表示方法、结构和用法。教学工具:电脑。教学过程:一、引入新课1、输入语句的一般格式是,其作用是实现算法的;输出语句的一般格式是,其作用是实现算法;赋值语句的一般格式是,其作用是。2、用输入语句、输出语句和赋值语句编写程序。3、算法逻辑结构中的条件结构一般由算法语言中的来实现。二、讲授新课1、条件语句的一般格式有两种:(1)IF—THEN—ELSE语句;(2)IF—THEN语句。2、IF—THEN—ELSE语句(1)IF—THEN—ELSE语句的一般格式为图1,对应的程序框图为图2。图1图2(2)在IF—THEN—ELSE语句中,“条件”表示判断的条件,“语句1”表示满足条件时执行的操作内容;“语句2”表示不满足条件时执行的操作内容;ENDIF表示条件语句的结束。计算机在执行时,首先对IF后的条件进行判断,如果条件符合,则执行THEN后面的语句1;若条件不符合,则执行ELSE后面的语句2。3、IF—THEN语句(1)IF—THEN语句的一般格式为图3,对应的程序框图为图4。图3图4(2)“条件”表示判断的条件;“语句”表示满足条件时执行的操作内容,条件不满足时,结束程序;ENDIF表示条件语句的结束。计算机在执行时首先对IF后的条件进行判断,如果条件符合就执行THEN后边的语句,若条件不符合则直接结束该条件语句,转而执行其它语句。用心爱心专心115号编辑IF条件THEN语句1ELSE语句2ENDIFIF条件THEN语句ENDIF否是满足条件?语句1语句2满足条件?语句是否x2-1(x≥0),例1、已知函数f(x)=编写一个程序,对每输入的一个x值,都得到2x2-5(x<0),相应的函数值。分析:这是一个分段函数,计算函数值必须先判断x的范围,因而设计求函数值的算法必须用到条件结构,相应程序的书写也应用条件语句书写。解:用变量x,y分别表示自变量和函数值。算法:第一步:输入x值;第二步:判断x的范围,若x≥0,则用函数y=x2-1求函数值,否则用y=2x2-5求函数值。第三步:输出y的值。程序:可分别用IF—THEN—ELSE语句和IF—THEN语句表示程序。练习一:2x2-1(x>0),1、已知函数f(x)=2x+1(x=0),编写一个程序,对每输入的一个x值,-2x2+4x(x<0),都得到相应的函数值。(条件语句的嵌套)2、课本第20页第1、2题。例2、编写程序,输入一元二次方程ax2+bx+c=0的系数,输出它的实数根。算法分析:在求解方程之前,需要首先判断判别式的符号,再根据判别式的符号判断方程根的情况:△>0时,方程有两个不相等的实数根;△=0时,方程有两个相等的实数根;△<0时,方程没有实数根。这个过程可以用算法中的条件结构来表示。程序框图:见课本第17页。程序:用心爱心专心115号编辑INPUT“x=”;xIFx>=0THENy=x^2-1ELSEy=2*x^2-5PRINT“y=”;yENDINPUT“a,b,c=”;a,b,cd=b*b-4*a*cp=-b/(2*a)q=SQR(ABS(d))/(2*a)IFd>=0THENx1=p+qx2=p-qIFx1=x2THENPRINT“Onerealroot:”;x1ELSEPRINT“Tworealroots:x1”;x1,“andx2”;x2ENDIFELSEPRINT“NOrealroot.”ENDIFENDINPUT“x=”;xIFx>=0THENy=x^2-1ENDIFIFx<0THENy=2*x^2-5ENDIFPRINT“y=”;yEND练习二:1、阅读课本第18—19页例题6:这是用IF—THEN语句表示的一个程序。2、把下列程序补充完整:(1)输入两个数,输出其中较大的数;(2)判断输入的任意数x的奇偶性。你能用IF—THEN语句表示这两个程序吗?三、小结1、条件语句:用来实现算法中的条件结构。(1)条件语句的两种形式(1)IF—THEN—ELSE语句;(2)IF—THEN语句;(2)条件语句的两种形式的一般格式;(3)条件语句的嵌套。2、编程的一般步骤:(1)算法分析根据提供的问题,利用数学及相关学科的知识,设计出解决问题的算法(熟悉之后可在大脑中进行);(2)画出程序框图依据算法分析,画出程序框图(可在草稿纸上进行);(3)写出程序根据程序框图中的算法步骤,逐步把算法用相应的程序语句表达出来。四、布置作业课本第23页第3题,第24页B组第2题。用心爱心专心115号编辑INPUTa,bIFa>bTHENPRINTaELSEENDIFENDINPUTxm=xMOD2IFTHENPRINT“x是奇数”ELSEPRINT“x是偶数”ENDIFEND