《基本算法语句1.ppt》由会员分享,可在线阅读,更多相关《基本算法语句1.ppt(41页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、计算机完成任何一项任务都需要算法计算机完成任何一项任务都需要算法,但但是是,我们用自然语言或程序框图描述的算法,计我们用自然语言或程序框图描述的算法,计算机是无法算机是无法“看得懂,听得见看得懂,听得见”的。因此还需的。因此还需要将算法用计算机能够理解的程序设计语言要将算法用计算机能够理解的程序设计语言(programming language)翻译成计算机程)翻译成计算机程序。序。【创设情境创设情境】这就是这一节所要研究的主要内容这就是这一节所要研究的主要内容基本算法基本算法语句。今天,我们先一起来学习语句。今天,我们先一起来学习输入、输出语句输入、输出语句和赋值语句。和赋值语句。程序设计语
2、言有很多种。如程序设计语言有很多种。如BASIC,Foxbase,C语言,语言,C+,J+,VB等。为了实现算法中的等。为了实现算法中的三种基本的逻辑结构:顺序结构、条件结构和循三种基本的逻辑结构:顺序结构、条件结构和循环结构,各种程序设计语言中都包含下列基本的环结构,各种程序设计语言中都包含下列基本的算法语句:算法语句:输入语句输入语句 输出语句输出语句 赋值语句赋值语句 条件条件 语句语句 循环循环 语句语句 1.2.1基本算法语句基本算法语句输入语句、输出语句和赋值语句输入语句、输出语句和赋值语句【探究新知探究新知】我们知道,顺序结构是任何一个算法我们知道,顺序结构是任何一个算法都离不开
3、的基本结构。都离不开的基本结构。语句语句n+1语句语句n 输入、输出语句和赋输入、输出语句和赋值语句基本上对应于算法中的顺序结构值语句基本上对应于算法中的顺序结构.计算机从上而下按照语计算机从上而下按照语句排列的顺序执行这些语句句排列的顺序执行这些语句.输入语句和输出语句分输入语句和输出语句分别用来实现算法的输入信息别用来实现算法的输入信息,输出结果的功能输出结果的功能.(如右图如右图)输入语句和输出语句分别用来实现算法的输入语句和输出语句分别用来实现算法的输入信息,输出结果的功能。输入信息,输出结果的功能。例例1 用描点法作函数用描点法作函数yx33x224x30的图象的图象时时,需要求出自
4、变量和函数的一组对应值需要求出自变量和函数的一组对应值.编写程序编写程序,分别计算当分别计算当x5,4,3,2,1,0,1,2,3,4,5时的函数值时的函数值.INPUT “x=”;x y=x3+3*x2-24*x+30PRINT xPRINT yEND程序程序:-输入语句输入语句 -赋值语句赋值语句-打印语句打印语句-打印语句打印语句-表示结束表示结束输出语句输出语句输出语句输出语句一一.输入语句输入语句 INPUT“提示内容提示内容”;变量;变量输入语句的一般格式输入语句的一般格式 说明说明:(1)输入语句的作用是实现算法的输入信息功能;输入语句的作用是实现算法的输入信息功能;(2)“提示
5、内容提示内容”提示用户输入什么样的信息,提示用户输入什么样的信息,变量是指程序在运行时其值是可以变化的量;变量是指程序在运行时其值是可以变化的量;(3)输入语句要求输入的值输入语句要求输入的值只能是具体的常数只能是具体的常数,不能是函数、变量或表达式;不能是函数、变量或表达式;(4)提示内容与变量之间用分号提示内容与变量之间用分号“;”隔开,隔开,若输入多个变量,变量与变量之间用逗号若输入多个变量,变量与变量之间用逗号“,”隔开隔开.例如例如,输入一个学生数学输入一个学生数学,语文语文,英语三门课的成绩英语三门课的成绩,可以写成:可以写成:INPUT“Maths,Chinese,English
6、”;a,b,c注意注意:INPUT语句不但可以语句不但可以给出单给出单个个变量变量,还可以还可以给给出多出多个个变量变量,其格式为:其格式为:INPUT“提示内容提示内容1,提示内容,提示内容2,提示内容,提示内容3,”;变量;变量1,变量,变量2,变量,变量3,练一练练一练:输入输入n的值的值INPUT“n=”;n 输入输入a,b,cINPUT“a,b,c=”;a,b,c 二二.输出语句输出语句 PRINT “提示内容提示内容”;表达式;表达式说明说明:(1)“提示内容提示内容”提示用户输出什么样的信息提示用户输出什么样的信息,表表达式是指程序要输出的数据;达式是指程序要输出的数据;输出常量
7、,变量的值和字符串等系统信息。输出常量,变量的值和字符串等系统信息。输出数值计算的结果。输出数值计算的结果。(2)输出语句的用途:输出语句的用途:输出语句的一般格式输出语句的一般格式(3)同输入语句一样,表达式前也可以有同输入语句一样,表达式前也可以有“提示内容提示内容”.思考思考:在课本在课本P7页图页图1.1-2程序框图中的输程序框图中的输出框的内容怎样用输出语句来表达?出框的内容怎样用输出语句来表达?参考答案:参考答案:输出框:输出框:PRINT “n is a prime number.”PRINT “n is not a prime number.”如如P9页的输出框页的输出框 可以
8、转化为输出语句可以转化为输出语句:输出输出SPRINT“S=”;S 三三.赋值语句赋值语句(1)赋值语句的一般格式赋值语句的一般格式:变量表达式变量表达式(2)赋值语句的作用赋值语句的作用是是:先计算出赋值号右边表达先计算出赋值号右边表达式的值式的值,然后把这个值赋给左边的变量然后把这个值赋给左边的变量,使该变量的使该变量的值等于表达式的值。值等于表达式的值。(3)赋值语句中的赋值语句中的“”称作赋值号称作赋值号,与数学中的等与数学中的等号的意义是不同的号的意义是不同的.赋值号的左右两边不能对换赋值号的左右两边不能对换.(4)赋值语句左边只能是变量名字而不是表达式赋值语句左边只能是变量名字而不
9、是表达式,如如:2=x是错误的是错误的;右边表达式可以是一个数据、右边表达式可以是一个数据、常量或算式;不能利用赋值语句进行代数式的常量或算式;不能利用赋值语句进行代数式的演算。(如化简、因式分解、解方程等)演算。(如化简、因式分解、解方程等)(5)对于一个变量可以多次赋值。)对于一个变量可以多次赋值。INPUT语句语句PRINT语句语句赋值语句赋值语句格式格式INPUT“提示内容”;变量PRINT“提示内容”;表达式变量变量=表达式说明说明1.“提示内容提示内容”和它后面的和它后面的 “;”可以省略;可以省略;2.一个语句可以给多个变一个语句可以给多个变 量赋值,中间用量赋值,中间用“,”隔
10、隔 开;开;3.无计算功能无计算功能,不能输入,不能输入 表达式;表达式;4.输入多个数据时用输入多个数据时用“,”分隔,且个数要与变量分隔,且个数要与变量 的个数相同。的个数相同。1.“提示内容提示内容”和它后面的和它后面的 “;”可以省略;可以省略;2.一个语句可以输出多个表一个语句可以输出多个表 达式,不同的表达式之间达式,不同的表达式之间 用用“,”隔开;隔开;3.表达式表达式可以是可以是变量变量,也可,也可 以是以是计算公式计算公式;4.有计算功能,能直接输出有计算功能,能直接输出 计算公式的值计算公式的值。1.“=”左侧必须是变左侧必须是变 量,右侧可以是数量,右侧可以是数 字、变
11、量或者是计字、变量或者是计 算公式;算公式;2.一个语句只能有一一个语句只能有一 个个“=”,并且只能,并且只能给给 一一 个变量赋值;个变量赋值;3.有计算功能,可以有计算功能,可以 把表达式的值赋给把表达式的值赋给 一个变量。一个变量。练习练习.下面输入、输出语句正确的有:下面输入、输出语句正确的有:(3)PRINT A=4 (1)INPUT a,b,c(2)INPUT x=3(4)PRINT 20,3*2 取余数MOD取商=幂运算除法运算/乘法运算功能功能运算符运算符*Inx|x|功能功能LOG(x)SQR(x)ABS(x)注意事项注意事项函数名函数名BASIC语言中的常用运算符号语言中
12、的常用运算符号例例2.编写程序,计算一个学生数学、语文、英语三门课的平均成绩。编写程序,计算一个学生数学、语文、英语三门课的平均成绩。算法:算法:第一步:分别输入三科的成绩第一步:分别输入三科的成绩a,b,c;第二步:计算第二步:计算average=(a+b+c)/3;第三步:输出三科平均分。第三步:输出三科平均分。框图:框图:开始开始输入输入a,b,c输出输出average结束结束average=(a+b+c)/3程序:程序:INPUT“Maths=”;aINPUT“Chinese=”;bINPUT“English=”;caverage=(a+b+c)/3PRINT“The average=
13、”;averageENDINPUT“Maths,Chinese,English=”;a,b,c程序程序2:PRINT“The average=”;(a+b+c)/3END例例3:给一个变量重复赋值。:给一个变量重复赋值。程序程序:A=10A=A+15PRINT AENDA的输出的输出值是多少值是多少?分析分析:此程序给变量此程序给变量A赋了两次值赋了两次值.A的初值为的初值为10,第二次赋值后第二次赋值后,初值被初值被“覆覆盖盖”,A的值变为的值变为25,因此输出值是因此输出值是25.变式引申变式引申:在此程序的基础上,设计一个程序,在此程序的基础上,设计一个程序,要求最后要求最后A的输出值是
14、的输出值是30.A=10A=A+15PRINT AA=A+5PRINT AEND程序程序:例例3:给一个变量重复赋值。给一个变量重复赋值。程序程序:A=10A=A+15PRINT AEND例例4:交换两个变量交换两个变量A和和B的值的值,并输出交换前后并输出交换前后 的值。的值。分析:分析:引入一个引入一个中间变量中间变量X,将将A的值赋予的值赋予X,又将又将B的值赋予的值赋予A,再将,再将X的值赋予的值赋予B,从而达到交换,从而达到交换A,B的值的值.(比如交换装满水的两个水桶里的水需要(比如交换装满水的两个水桶里的水需要再找一个空桶)再找一个空桶)INPUT AINPUT BPRINT A
15、,BX=AA=BB=XPRINT A,BEND程序程序:问题问题:能否用下列赋值能否用下列赋值语句交换语句交换A,B的值的值?A=BB=A不能不能!练习练习1:编写一个程序编写一个程序,要求输入一个圆的半径要求输入一个圆的半径,便能输出该圆的周长和面积便能输出该圆的周长和面积.(取取3.14)分析分析:设圆的半径为设圆的半径为R,则圆的周长则圆的周长C=2R,面积面积S=R2,可以利用顺序结构中的可以利用顺序结构中的INPUT语句语句,PRINT语句和赋值语句设计程序。语句和赋值语句设计程序。INPUT“R=”;RC=2*3.14*RS=3.14*R2PRINT“C=”;CPRINT“S=S=
16、”;S END练习练习2P24页页T1.程序程序:INPUT“F=”;F C=(F-32)5/9 PRINT“C=”;C END*练习练习3P24页页T2.INPUT“a,b(a,b0)=”;a,bX=a+bY=a-bZ=a bQ=a/bPRINT X,Y,Z,QEND*程序:程序:INPUT“a,b,c=”;a,b,cX=10.4aY=15.6bZ=25.2csum=X+Y+ZPRINT“sum=”;sumEND程序:程序:作业作业1P24页页T4.INPUT“a,b,h=”;a,b,hp=a+bs=ph/2PRINT“s=”;sEND程序:程序:作业作业2P33页页A组组T2.学习目标:学
17、习目标:1、知识与技能、知识与技能(1)正确理解条件语句的概念)正确理解条件语句的概念;(2)会应用条件语句编写程序。)会应用条件语句编写程序。2、过程与方法、过程与方法经历对现实生活情境的探究,认识到应经历对现实生活情境的探究,认识到应用计算机解决数学问题方便简捷,促进发展用计算机解决数学问题方便简捷,促进发展逻辑思维能力逻辑思维能力 1.2.2基本算法语句基本算法语句 条件语句条件语句算法中的条件结构是由条件语句来表达的算法中的条件结构是由条件语句来表达的,条件语句是处理条件分支逻辑结构的算法语句条件语句是处理条件分支逻辑结构的算法语句.条件语句的一般格式条件语句的一般格式 满足条件?满足
18、条件?语句语句是是否否只含一个只含一个“分支分支”的条件结构的条件结构写成条件语句为写成条件语句为IFIF 条件条件 THENTHEN 语句体语句体END IFEND IF当计算机执行这种形式的条件语句时,首先对当计算机执行这种形式的条件语句时,首先对IF后的条件进行判断,如果条件符合,就执行后的条件进行判断,如果条件符合,就执行THEN后的语句体,否则执行后的语句体,否则执行END IF之后的语句之后的语句.满足条件?满足条件?语句语句1语句语句2是是否否含两个含两个“分支分支”的条件结构的条件结构写成条件语句为写成条件语句为IFIF 条件条件 THENTHEN 语句体语句体1 1ELSEE
19、LSE 语句体语句体2 2END IFEND IF当计算机执行上述语句时,首先对当计算机执行上述语句时,首先对IF后的后的条件进行判断,如果条件符合,就执行条件进行判断,如果条件符合,就执行THEN后的语句体后的语句体1,否则执行,否则执行ELSE后的语句体后的语句体2.条件语句的作用条件语句的作用 在程序执行过程中,根据判断是否满在程序执行过程中,根据判断是否满足约定的条件而决定是否需要转换到何处足约定的条件而决定是否需要转换到何处去。需要计算机按条件进行分析、比较、去。需要计算机按条件进行分析、比较、判断,并按判断后的不同情况进行不同的判断,并按判断后的不同情况进行不同的处理。处理。练习练
20、习:编写一个程序,求任意实数的绝对值。编写一个程序,求任意实数的绝对值。程序如下:程序如下:程序框图:程序框图:开始开始输入输入 xy=-xy=x输出输出 y结束结束x=0?否否是是INPUT xIF x=0 THEN y=xELSEy=-xEND IFENDPRINT y例例1:编写程序,输入一元二次方程:编写程序,输入一元二次方程ax2+bx+c=0的的系数,输出它的实数根。系数,输出它的实数根。算法分析算法分析:一元二次方程的根有三种不同情况一元二次方程的根有三种不同情况:设判别式设判别式=b2-4ac(1)当当0时时,一元二次方程有两个不等的实数根一元二次方程有两个不等的实数根.(2)
21、当当=0时时,一元二次方程有两个相等的实数根一元二次方程有两个相等的实数根.(3)当当=0 THENIF d=0 THEN p=-b/(2*a)q=SQR(d)/(2*a)IF d=0 THEN PRINT“One real root:”;p ELSE x1=p+q x2=p-q PRINT“Two real roots:”;x1,x2 END IFELSEELSE PRINT “No real root!”END IFENDEND是是开始开始=b2-4ac0?原方程无实根原方程无实根否否结束结束=0?输出输出p是是否否x1=p+qx2=p-q输出输出x1,x2输入输入a,b,c例例2:编写程
22、序,使得任意输入的:编写程序,使得任意输入的3个整个整数按从大到小的顺序输出。数按从大到小的顺序输出。算法分析:算法分析:用用a,b,c表示输入的表示输入的3个整数;为个整数;为了节约变量,把它们重新排列后,仍用了节约变量,把它们重新排列后,仍用a,b,c表表示,并使示,并使abc.具体操作步骤如下。具体操作步骤如下。第一步:输入第一步:输入3个整数个整数a,b,c.第二步:将第二步:将a与与b比较,并把小者赋给比较,并把小者赋给b,大者,大者赋给赋给a.第三步:将第三步:将a与与c比较比较.并把小者赋给并把小者赋给c,大者赋,大者赋给给a,此时,此时a已是三者中最大的。已是三者中最大的。第四
23、步:将第四步:将b与与c比较,并把小者赋给比较,并把小者赋给c,大者,大者赋给赋给b,此时,此时a,b,c已按从大到小的顺序排列好。已按从大到小的顺序排列好。第五步:按顺序输出第五步:按顺序输出a,b,c.c=bb=tb=tc=ta=c【程序框图程序框图】开始开始输入输入a,b,cba?是是t=aa=b否否ca?是是t=a否否cb?t=c是是否否输出输出a,b,c交换交换a,b的值的值【程序程序】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=tEN
24、D IF END IF PRINT a,b,cENDEND【课堂练习课堂练习】1.课本课本P29页页T2.读程序读程序,说明程序的运行过程说明程序的运行过程.INPUT“x=:”;xIF 9x AND xc AND a+cb AND b+ca THEN PRINT“Yes.”ELSE PRINT“No.”END IFEND参考答案:参考答案:3.课本课本P29页页T3.编写求一个数是偶数还是奇数的编写求一个数是偶数还是奇数的程序程序,从键盘输入一个整数从键盘输入一个整数,输出该数的奇偶性输出该数的奇偶性.INPUT“a=”;aIF a MOD 2=0 THEN PRINT“Even.”ELSE
25、 PRINT“Odd.”END IFEND参考答案:参考答案:4.编写一个程序编写一个程序,输入两个整数输入两个整数a,b,判断判断a是否能是否能被被b整除整除.INPUT“a,b=”;a,bIF a MOD b=0 THEN PRINT“b divides a.”ELSE PRINT“b does not divide a.”END IFEND参考答案:参考答案:29页 练习45 5、练习、练习4 4程序程序 INPUT“Please input a INPUT“Please input a year:“;yyear:“;y b=y MOD 4b=y MOD 4 c=y MOD 100c=y
26、 MOD 100d=y MOD 400d=y MOD 400 IF IF d=0 THEN PRINT“Leap year.”PRINT“Leap year.”ELSE ELSE IF IF PRINT“Leap year.”PRINT“Leap year.”ELSEELSE PRINT“Not leap year.”PRINT“Not leap year.”END IFEND IF END IFEND IF ENDENDb=0 AND C0 THEN6.(P33页页B组组T3)INPUT“x=”;xIF x=1 AND x10 THEN y=2x-1 ELSE y=3x-11 END IFEND IFPRINT“y=”;yEND参考答案:参考答案: