《12基本算法语句实用教案》由会员分享,可在线阅读,更多相关《12基本算法语句实用教案(76页珍藏版)》请在金锄头文库上搜索。
1、这就是这一节所要研究的主要内容基本算法语句。今天,我们先一起来学习输入、输出(shch)语句和赋值语句、条件语句。 程序设计语言有很多种。如BASIC,Foxbase,C语言,C+,J+,VB等。各种程序设计语言中都包含下列基本的算法(sun f)语句:输入语句 输出语句 赋值语句 条件(tiojin)语句 循环语句第2页/共75页第二页,共76页。取余数MOD取商=幂运算除法运算/乘法运算功能运算符*Inx|x|功能LOG(x)SQR(x)ABS(x)注意事项函数名BASIC语言中的常用运算(yn sun)符号第3页/共75页第三页,共76页。 1.2.1基本算法语句输入(shr)语句、输出
2、语句和赋值语句第4页/共75页第四页,共76页。【探究(tnji)新知】我们知道,顺序结构是任何一个算法都离不开的基本结构。语句n+1语句n 输入、输出语句和赋值语句基本上对应于算法(sun f)中的顺序结构.计算机从上而下按照语句排列的顺序(shnx)执行这些语句.输入语句和输出语句分别用来实现算法的输入信息,输出结果的功能.(如右图)第7页/共75页第七页,共76页。开始输入x输出x,y结束框图(kungt):例1.用描点法作函数 的图象时,需要求出自变量和函数的一组对应值,编写程序,分别计算当x=-5,-4,-3,-2,-1,0,1,2,3,4,5时的函数值。程序(chngx):INPU
3、T “x=”;xy=x3+3 x2-24 x+30PRINT xPRINT yEND*第8页/共75页第八页,共76页。INPUT “x=”;x y=x3+3*x2-24*x+30PRINT xPRINT yEND程序(chngx): -输入(shr)语句 -赋值语句(yj)-打印语句-打印语句-表示结束输出语句输出语句第9页/共75页第九页,共76页。一.输入(shr)语句 INPUT “提示内容(nirng)”;变量输入语句(yj)的一般格式 说明:(1)“提示内容”提示用户输入什么样的信息,变量是指程序在运行时其值是可以变化的量;(2)输入语句要求输入的值只能是具体的常数,不能是函数、变
4、量或表达式;(3)提示内容与变量之间用分号“;”隔开,若输入多个变量,变量与变量之间用逗号“,”隔开.第10页/共75页第十页,共76页。例如,输入一个学生数学(shxu),语文,英语三门课的成绩,可以写成:INPUT “数学,语文(ywn),英语”;a,b,c注意:INPUT语句(yj)不但可以给单个变量赋值,还可以给多个变量赋值,其格式为:INPUT “提示内容1,提示内容2,提示内容3,”;变量1,变量2,变量3,第11页/共75页第十一页,共76页。二.输出(shch)语句 PRINT “提示(tsh)内容”;表达式说明:(1)“提示内容”提示用户输出什么样的信息(xnx), 表达式是
5、指程序要输出的数据;输出常量,变量的值和字符串等系统信息。输出数值计算的结果。(2)输出语句的用途: 输出语句的一般格式第12页/共75页第十二页,共76页。(3)同输入(shr)语句一样,表达式前也可以有“提示内容”. 例如:输出框 可以转化为输出语句:输出SPRINT “S=”; S 第13页/共75页第十三页,共76页。三.赋值语句(yj)(1)赋值语句(yj)的一般格式:变量(binling)表达式(2)赋值语句的作用是:先计算出赋值号右边表达式的值,然后把这个值赋给左边的变量,使该变量的值等于表达式的值。(3)赋值语句中的“”称作赋值号,与数学中的等号的意义是不同的.赋值号的左右两边
6、不能对换.(4)赋值语句左边只能是变量名字而不是表达式,如:2=x是错误的第14页/共75页第十四页,共76页。例2.编写程序,计算一个(y )学生数学、语文、英语三门课的平均成绩。框图(kungt):开始输入a,b,c输出y结束y=(a+b+c)/3程序(chngx)1:INPUT “Maths=”;aINPUT “Chinese=”;bINPUT “English=”;c(a+b+c)/3PRINT “The average=”;ENDINPUT “Maths, Chinese, English=”;a,b,c程序2:PRINT “The average=”;(a+b+c)/3END【例题
7、解析】第15页/共75页第十五页,共76页。例3:给一个变量(binling)重复赋值。程序(chngx):A=10A=A+15PRINT AENDA的输出(shch)值是多少?分析:此程序给变量A赋了两次值.A的初值为10,第二次赋值后,初值被“覆盖”,A的值变为25,因此输出值是25.第16页/共75页第十六页,共76页。例4交换两个变量(binling)A和B的值,并输出交换前后 的值。分析:比如交换(jiohun)装满水的两个水桶里的水需要再找一个空桶INPUT A,BPRINT A,BX=AA=BB=XPRINT A,BEND程序(chngx):问题:能否用下列赋值语句交换A,B的值
8、?A=BB=A不能!第18页/共75页第十八页,共76页。 1.2.2基本算法(sun f)语句 条件语句第21页/共75页第二十一页,共76页。算法中的条件结构是由条件语句(yj)来表达的,条件语句的一般(ybn)格式 满足条件?语句是否只含一个(y )“分支”的条件结构写成条件语句为IF 条件 THEN 语句体END IF第24页/共75页第二十四页,共76页。满足条件?语句1语句2是否含两个“分支(fnzh)”的条件结构写成条件(tiojin)语句为IF 条件 THEN 语句体1ELSE 语句体2END IF第25页/共75页第二十五页,共76页。例5:编写(binxi)一个程序,求实数
9、x的绝对值. 第一步,输入一个实数x.第二步,判断x的符号(fho).若x0,则 输出 x;否则,输出-x.该算法的程序框图如何(rh)表示?第26页/共75页第二十六页,共76页。x0?开始结束输入x是输出x否输出-xIF 条件(tiojin) THEN 语句体1ELSE 语句体2END IF第27页/共75页第二十七页,共76页。 你能写出这个(zh ge)算法对应的程序吗? x0?开始结束输入x是输出x否输出-xENDINPUT xIF x=0 THEN PRINT xELSEPRINT -xEND IF第28页/共75页第二十八页,共76页。阅读下面的程序,你能说出程序的运行过程(gu
10、chng)并画出对应的程序框图吗? x0?开始结束输入x是x=-x输出x否ENDINPUT xIF x=1 THEN y=x2+3*xELSE y=x-4 END IF PRINT y END 第30页/共75页第三十页,共76页。例2:编写程序,使得(sh de)任意输入的3个整数按从大到小的顺序输出。算法分析:用a,b,c表示输入的3个整数;为了节约变量,把它们重新排列后,仍用a,b,c表示,并使abc.具体(jt)操作步骤如下。第一步:输入3个整数a,b,c.第二步:将a与b比较,并把小者赋给b,大者赋给a.第三步:将a与c比较. 并把小者赋给c,大者赋给a,此时a已是三者中最大的。第四
11、步:将b与c比较,并把小者赋给c,大者赋给b,此时a,b,c已按从大到小的顺序排列好。第五步:按顺序输出a,b,c.第35页/共75页第三十五页,共76页。c=bb=tb=tc=ta=c【程序框图】开始(kish)输入(shr)a,b,cba?是t=aa=b否ca?是t=a否cb?t=c是否输出(shch)a,b,c交换a,b的值第36页/共75页第三十六页,共76页。【程序(chngx)】INPUT “a,b,c =”;a,b,cIF ba THEN t=a a=b b=tEND IFIF ca THEN t=a a=c c=tEND IFIF cb THEN t=b b=c c=tEND
12、IF PRINT a,b,cEND第37页/共75页第三十七页,共76页。 【课堂小结】 本节课主要(zhyo)学习了条件语句的结构、特点、作用以及用法,并懂得利用它解决一些简单问题。条件语句使程序执行产生的分支,根据不同的条件执行不同的路线,使复杂问题简单化。条件语句一般用在需要对条件进行判断的算法设计中,如判断一个数的正负,确定两个数的大小等问题,还有求分段函数的函数值等,往往要用条件语句,有时甚至要用到条件语句的嵌套。第38页/共75页第三十八页,共76页。【课堂练习】1.课本P22页T2.读程序,说明(shumng)程序的运行过程.INPUT “x=:”;xIF 9x AND xc A
13、ND a+cb AND b+ca THEN PRINT “Yes.”ELSE PRINT “No.”END IFEND参考答案:第40页/共75页第四十页,共76页。3.课本P22页T3.编写求一个数是偶数(u sh)还是奇数的程序,从键盘输入一个整数,输出该数的奇偶性.INPUT “a=”; aIF a MOD 2 =0 THEN PRINT “Even.”ELSE PRINT “Odd.”END IFEND参考答案:第41页/共75页第四十一页,共76页。4.课本(kbn)P22页T1.闰年指年份能被4整除但不能被100整除,或者能被400整除的年份.编写一个程序,判断输入的年份是否为闰年
14、.INPUT “Please input a year:”;y b=y MOD 4 c=y MOD 100 d=y MOD 400IF b=0 AND c0 THEN PRINT “Leap year.”ELSEIF d=0 THEN PRINT “Leap year.”ELSE PRINT “Not leap year.” END IFEND IFEND参考答案:表示(biosh)c0第42页/共75页第四十二页,共76页。5.(P25页A组T3)编写一个程序,输入(shr)两个整数a,b,判断a是否能被b整除.INPUT “a,b=”; a,bIF a MOD b =0 THEN PRIN
15、T “b divides a.”ELSE PRINT “b does not divide a.”END IFEND参考答案:第43页/共75页第四十三页,共76页。6.(P25页B组T2)INPUT “x=”;xIF x=1 AND x10 THEN y=2x-1ELSE y=3x-11 END IFEND IFPRINT“y=”;yEND参考答案:第44页/共75页第四十四页,共76页。 1.2.3基本算法(sun f)语句 循环语句第45页/共75页第四十五页,共76页。条件语句(yj)的一般格式 满足条件?语句是否只含一个(y )“分支”的条件结构写成条件(tiojin)语句为IF 条
16、件 THEN 语句体END IF第46页/共75页第四十六页,共76页。满足条件?语句1语句2是否含两个(lin )“分支”的条件结构写成条件(tiojin)语句为IF 条件 THEN 语句体1ELSE 语句体2END IF第47页/共75页第四十七页,共76页。算法中的循环结构(jigu)是由循环语句来实现的 .循环(xnhun)结构有两种-当型与直到型.满足条件?循环体是否当型循环结构(当条件满足时反复(fnf)执行循环体)直到型循环结构(反复执行循环体直到条件满足)循环体是否满足条件?对应于程序框图中的两种循环结构,一般程序设计语言中也有当型(WHILE型)和直到型(UNTIL型)两种语
17、句结构。 第50页/共75页第五十页,共76页。即WHILE语句(yj)和UNTIL语句(yj)。 (1)WHILE语句的一般(ybn)格式是:WHILE 条件(tiojin) 循环体WEND其中循环体是由计算机反复执行的一组语句构成的。WHLIE后面的“条件”是用于控制计算机执行循环体或跳出循环体的。WHILE当 时候WEND朝方向 行走第51页/共75页第五十一页,共76页。(1)WHILE语句的一般(ybn)格式是 WHILE 条 件(tiojin) 循环体WEND 当计算机遇到WHILE语句时,先判断条件的真假,如果(rgu)条件符合,就执行WHILE与WEND之间的循环体;然后再检查
18、上述条件,如果(rgu)条件仍符合,再次执行循环体,这个过程反复进行,直到某一次条件不符合为止.这时,计算机将不执行循环体,直接跳到WEND语句后,接着执行WEND之后的语句. 满足条件?循环体是否当型循环结构第52页/共75页第五十二页,共76页。(2)UNTIL语句(yj)的一般格式是:DO 循环体LOOP UNTIL 条件(tiojin)循环体是否满足条件?直到型循环结构DO做什么(shn me)LOOP UNTIL绕环回线走,直到达到某种 条件为止思考:参照其直到型循环结构对应的程序框图,说说计算机是按怎样的顺序执行UNTIL语句的? 第53页/共75页第五十三页,共76页。(2)UN
19、TIL语句的一般(ybn)格式是:DO 循环体LOOP UNTIL 条件(tiojin)循环体是否满足条件?直到型循环结构从UNTIL型循环结构分析,计算机执行(zhxng)该语句时,先执行(zhxng)一次循环体,然后进行条件的判断,如果条件不满足,继续返回执行(zhxng)循环体,然后再进行条件的判断,这个过程反复进行,直到某一次条件满足时,不再执行循环体,跳到LOOP UNTIL语句后执行(zhxng)其他语句,是先执行(zhxng)循环体后进行条件判断的循环语句.第54页/共75页第五十四页,共76页。提问:通过(tnggu)对照,大家觉得WHILE型语句与UNTIL型语句之间有什么区
20、别呢? 区别(qbi):在WHILE语句中,是当条件满足时执行循环体,而在UNTIL语句中,是当条件不满足时执行循环体。WHILE语句的一般格式WHILE 条件 循环体WENDUNTIL语句的一般格式DO 循环体LOOP UNTIL 条件第55页/共75页第五十五页,共76页。例1.编写程序,计算(j sun)自然数1+2+3+99+100的和.分析:这是一个累加问题.我们可以(ky)用WHILE型语句,也可以(ky)用UNTIL型语句。第56页/共75页第五十六页,共76页。WHILE语句开始结束i=1S=0i=i+1S=S+i输出Si100?是否当型循环结构i=1S=0WHLIE i100
21、?否是直到型i=1S=0DOS=S+ii=i+1LOOP UNTILi100PRINT SEND第58页/共75页第五十八页,共76页。开始i=1S=0i100?是S=S+ii=i+1否输出S结束当型循环结构变式训练(xnlin)(1):编写程序求:n!=12345n的值.如何(rh)修改?输入nWHILE语句(yj)i=1S=0WHLIE i100PRINT SENDS=1101S=Sii=i+2是开始结束i=1S=0i=i+1S=S+i输出Si100?否直到型S=1S=Si i=i+2i101?第60页/共75页第六十页,共76页。2下面为一个求20个数的平均数的程序(chngx),在横线
22、上应填充的语句为()Ai20 Bi20Ci20 Di20答案(d n):A第61页/共75页第六十一页,共76页。6下面的程序执行后输出(shch)的结果是_答案(d n):2第62页/共75页第六十二页,共76页。7读程序(chngx),写出程序(chngx)的意义:_. 第63页/共75页第六十三页,共76页。谢谢大家(dji)观赏!第75页/共75页第七十五页,共76页。内容(nirng)总结计算机完成任何(rnh)一项任务都需要算法,但是,我们用自然语言或程序框图描述的算法,计算机是无法“看得懂,听得见”的。|x|。(1)“提示内容”提示用户输入什么样的信息,。(1)“提示内容”提示用户输出什么样的信息,。值等于表达式的值。例4交换两个变量A和B的值,并输出交换前后。了解条件语句在程序中起判断转折作用,在解决实际问题中起决定作用。在程序执行过程中,根据判断是否满足约定的条件而决定是否需要转换到何处去第七十六页,共76页。