1、算法基本语句,第二课时(练习),揭阳一中信息技术教研组,如何用程序框图表示条件结构 ? 他们对应的算法语句如何编写?,复习,IFTHENELSE语句:,IF 条件 THEN语句1 ELSE语句2 END IF,(1 )程序框图,当计算机执行上述语句时,,首先对IF后的条件进行判断,,如果条件符合,就执行THEN后的语句1,否则执行ELSE后的语句2,IFTHEN语句 :,IF 条件 THEN语句体 END IF,(2).程序框图,首先对IF后的条件进行判断,,如果条件符合,就执行THEN后的语句体,否则,执行 END IF 之后的语句。,INPUT x IF x3 THENy=x*x-1 EL
2、SE y=2END IF END IF PRINT y END,练习右边给出的是用条件语句编写的一个程序,根据该程序回答问题: 若输入4,则输出的结果为_; 该程序的功能是求某函数的函数值。写出这个函数的解析式。,3 编写程序,输入一元二次方程,算法描述:,S1:输入a,b,c,S2:计算判别式,S3:如果,的系数,输出它的实数根。,0 ,则输出两个不同实根, =0 ,则输出两个相同实根, 0 ,则输出“没有实数根”。,参照课本P12,写出语句程序:,INPUT “a,b,c:”;a,b,c,d = b * b - 4 * a * c,p = -b / (2 * a),q = SQR(d /
3、(2 * a),IF d = 0 THEN,x1 = p + q,x2 = p - q,IF d=0 THEN,PRINT “ x1=x2=”;p,ELSE,PRINT “x1, x2 =”; p+q, p-q,END IF,ELSE,PRINT “方程无实数根”,END IF,END,注意 缩进部分,开 始,输入a,b,c,=b24ac,p= b/2a,q=SQR( /(2a),0?,=0?,输出 “x1, x2=”;p+q,p-q,输出 “x1=x2=”;P,输出”方程无实数根”,结 束,是,否,是,x1=p+q x2=p-q,否,INPUT “a,b,c:”;a,b,c,d = b *
4、b - 4 * a * c,p = -b / (2 * a),q = SQR( d / (2 * a) ),IF d = 0 THEN,x1 = p + q,x2 = p - q,IF d=0 THEN,PRINT “ x1=x2=”;p,ELSE,PRINT “x1, x2 =”; p+q, p-q,END IF,ELSE,PRINT “方程无实数根”,END IF,END,4 编写程序,使得任意输入3个整数按大到小的顺序输出。,算法分析:,算法思想:3个数两两比较,确定大小。,第一步 输入3个整数a、b、c,第二步 将a与b比较,并把小者赋给b,大的赋给a;,第三步 将a与c比较,并把小者
5、赋给c,大的赋给a;,第四步 将b与c比较,并把小者赋给c,大的赋给b;,第五步 按顺序输出a,b,c,按a、b、c输入,要按a、b、c输出,,关键要找到最大值,将它赋值给a,,中值赋给b,,最小值赋给c。,提示:交换两个变量A和B的值,并输出交换前后的值的做法。,R瓶,G瓶,空瓶,红豆,绿豆,提示:交换两个变量A和B的值,并输出交换前后的值的做法。,R瓶,G瓶,空瓶,红豆,绿豆,xA AB Bx,INPUT “a,b,c=”;a,b,c IF b a THENt = aa = bb = t END IF IF c a THENt = aa = cc = t END IF IF c b THE
6、Nt = bb = cc = t END IF PRINT a,b,c END,相应的QBASIC程序:,开始,t=a,a=b,b=t,t=a,a=c,c=t,t=b,b=c,c=t,输入a,b,c,输出a,b,c,ba?,ca?,cb?,结束,是,是,否,否,是,否,对应的流程图,练习题2,Input ”Please Input A Integer”;x IF x9 AND x100 THEN a = x10 b = x MOD 10 x = 10*b+a Print x End IF END,当输入32的话,a等于 b等于 x最后变成了,2,3,23,作业: 课本P29页练习题3、4,提示:能被400整除的是闰年;能被4整除但不能被100整除的是闰年。其他的不是闰年。 第四题算法: 1、输入年份 2、看看能不能被400整除,能的话,就是闰年;不能的话,跳第3步 3、看看能不能被100整除,能的话,就不是闰年,不能的话,跳第四步; 4、看看能不能被4整除,能的话,就是闰年,不能的话,就不是闰年。,