《基本算法语句(多媒体课件).ppt》由会员分享,可在线阅读,更多相关《基本算法语句(多媒体课件).ppt(46页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、算法的基本语句算法的基本语句温故而知新温故而知新1. 什么是算法?什么是程序框图? 2. 算法的基本逻辑结构有哪些? 算法通常是指按照一定规则解决某一类问题的算法通常是指按照一定规则解决某一类问题的明确的和有限的步骤。明确的和有限的步骤。 程序框图是一种用程序框、流程线及文字说明程序框图是一种用程序框、流程线及文字说明来表示算法的图形。来表示算法的图形。 算法的基本结构有三种:顺序结构、条件结构、算法的基本结构有三种:顺序结构、条件结构、循环结构,其中循环结构又分为当型结构和直到型循环结构,其中循环结构又分为当型结构和直到型结构两种。结构两种。 第一课时算法的基本结构:算法的基本结构: 顺序结
2、构顺序结构 条件结构条件结构 循环结构循环结构顺序结构顺序结构条件结构条件结构循环结构循环结构顺序结构顺序结构是最是最基本基本的的 结构,是任何结构都需结构,是任何结构都需要用到的要用到的;条件结构条件结构是我们在解是我们在解决决条件判断条件判断问题中,常问题中,常用到的一种结构,它是用到的一种结构,它是计算机基本的计算机基本的逻辑逻辑推理推理结构结构;循环结构循环结构是解决是解决反复反复问题的结构。问题的结构。温故而知新温故而知新 计算机完成任何一项任务都需要算法,但当计算机真计算机完成任何一项任务都需要算法,但当计算机真正运行算法时,计算机是无法正运行算法时,计算机是无法“理解理解”自然语
3、言或程序框自然语言或程序框图的。还需要将算法用计算能够图的。还需要将算法用计算能够“理解理解”的程序设计语的程序设计语 (programming language)表示成计算机程序。)表示成计算机程序。 计算机通过程序设计语言将它们计算机通过程序设计语言将它们“翻译翻译”成计算机语成计算机语言言 计算机语言有很多种,为了实现算法中三种最基本的计算机语言有很多种,为了实现算法中三种最基本的结构:顺序结构、条件结构和循环结构,个种程序设计语结构:顺序结构、条件结构和循环结构,个种程序设计语言都要用到下面的最基本的算法语句:言都要用到下面的最基本的算法语句:输入语句输入语句 输出语句输出语句 赋值语
4、句赋值语句 条件语句条件语句 循环语句循环语句我们使用的程序设计语言虽然有很多种,如:我们使用的程序设计语言虽然有很多种,如:BASIC、PASCAL、C、COBOL、FORTRAN、LOGO以及以及VC、VB语言,但在语句形式以及语法上和语言,但在语句形式以及语法上和BASIC语言语言类似类似,稍加改造就可以在计算机上运行稍加改造就可以在计算机上运行BASIC语言全称是语言全称是Beginners all Purpose Symbolic Instruction Code,意为意为“初学者通用符号指令代码初学者通用符号指令代码“。1964年由美国达尔摩斯学院的年由美国达尔摩斯学院的Thoma
5、s和和John G.Kemeny完成设计并提出了完成设计并提出了BASIC语言的第一个版本语言的第一个版本,经过不断丰富和发展经过不断丰富和发展,现已成为一种功能全面的中小型计算现已成为一种功能全面的中小型计算机语言。机语言。BASIC易学易学、易懂易懂、易记易记、易用易用,是初学者的入门是初学者的入门语言语言,也可以作为学习其他高级语言的基础。也可以作为学习其他高级语言的基础。BASIC有解释有解释方式和编译方式两种翻译程序方式和编译方式两种翻译程序 下面我们就这些基本语句来进行一一说明下面我们就这些基本语句来进行一一说明John G.KemenyThomas1.输出、输入和赋值语句基本上对
6、应算法中的顺序结构输出、输入和赋值语句基本上对应算法中的顺序结构语句语句n语句语句n+1利用输入、输出语句可以实现信息的利用输入、输出语句可以实现信息的录入录入和结果的和结果的输出输出1.2.1 输入语句输入语句 输出语句输出语句 赋值语句赋值语句输入语句、输出语句分输入语句、输出语句分别与程序框图中的输入、别与程序框图中的输入、输出框对应输出框对应赋值语句与程序框图中赋值语句与程序框图中表示赋值的处理框对应,表示赋值的处理框对应,用来给变量赋值用来给变量赋值算法:算法:第二步:计算第二步:计算 的值;的值;3232430yxxx开始开始输入输入x3232430yxxx输出输出y结束结束框图:
7、框图:例例1.用描点法作函数用描点法作函数 的图象时,需要求出的图象时,需要求出 自变量和函数的一组对应值,编写程序,分别计算当自变量和函数的一组对应值,编写程序,分别计算当x=-5, -4,-3,-2,-1,0,1,2,3,4,5时的函数值。时的函数值。3232430yxxx第一步:输入第一步:输入x的值;的值;第三步:输出第三步:输出y的值。的值。程序:程序:INPUT “x=”;xy=x3+3 x2-24 x+30PRINT yEND*INPUT “x=”;xy=x3+3*x224*x+20PRINT yEND认识程序:认识程序:输入语句输入语句赋值语句赋值语句输出语句输出语句一、输入语
8、句一、输入语句1、一般格式:、一般格式:INPUT “提示内容提示内容”;变量变量“提示内容提示内容”提示用户输入什么样的信息。可提示用户输入什么样的信息。可以是中文,也可以是其他的以是中文,也可以是其他的变量是指程序在运行时其值是可以变化的量。变量是指程序在运行时其值是可以变化的量。2、说明:、说明:作用为实现算法的输入信息功能。作用为实现算法的输入信息功能。输入语句要求输入的值只能是具体的常数。输入语句要求输入的值只能是具体的常数。提示内容与变量之间用提示内容与变量之间用“;”隔开,有多个隔开,有多个变量的输入时,变量与变量之间用变量的输入时,变量与变量之间用“,”隔开。隔开。INPUT
9、“Maths,Chinese,English”;a,b,c二、输出语句二、输出语句1、一般格式:、一般格式:PRINT “提示内容提示内容”;表达式表达式2、说明:、说明: 作用是实现算法的输出结果功能。作用是实现算法的输出结果功能。“提示内容提示内容”提示用户输出什么样的信息。提示用户输出什么样的信息。表达式是指程序要输出的数据。表达式是指程序要输出的数据。输出语句可以输出输出语句可以输出常量常量、变量变量或或表达式的值表达式的值及及字符字符。INPUT “Maths=”;aINPUT “Chinese=”;bINPUT “English=”;cPRINT “The average is”;
10、(a+b+c)/3三、赋值语句三、赋值语句1、一般格式:、一般格式:变量变量=表达式表达式2、说明:、说明: 作用是将表达式所代表的值赋给变量。作用是将表达式所代表的值赋给变量。赋值语句中的赋值语句中的“=”称为赋值号。称为赋值号。赋值语句右边可以是一个数据、常量和算式,赋值语句右边可以是一个数据、常量和算式, 左边左边只能只能是是变量变量,不能不能为为表达式表达式。赋值号左右不能对换。赋值号左右不能对换。除了除了INPUT语句,例语句,例1中也可以用中也可以用“赋值语句赋值语句”给变量提供初值给变量提供初值INPUT语句语句PRINT语句语句赋值语句赋值语句格式格式INPUT “提示内容”;
11、变量PRINT “提示内容”;表达式变量变量=表达式说明说明1.“提示内容提示内容”和它后面的和它后面的 “;”可以省略;可以省略;2.一个语句可以给多个变一个语句可以给多个变 量赋值,中间用量赋值,中间用“,”隔隔 开;开;3.无计算功能,不能输入无计算功能,不能输入 表达式;表达式;4.输入多个数据时用输入多个数据时用“,” 分隔,且个数要与变量分隔,且个数要与变量 的个数相同。的个数相同。1.“提示内容提示内容”和它后面的和它后面的 “;”可以省略;可以省略;2.一个语句可以输出多个表一个语句可以输出多个表 达式,不同的表达式之间达式,不同的表达式之间 用用“,”隔开;隔开;3.表达式可
12、以是变量,也可表达式可以是变量,也可 以是计算公式;以是计算公式;4.有计算功能,能直接输出有计算功能,能直接输出 计算公式的值。计算公式的值。1.“=”左侧必须是变左侧必须是变 量,右侧可以是数量,右侧可以是数 字、变量或者是计字、变量或者是计 算公式;算公式;2.一个语句只能有一一个语句只能有一 个个“=”,并且只能,并且只能给给 一一 个变量赋值;个变量赋值;3.有计算功能,可以有计算功能,可以 把表达式的值赋给把表达式的值赋给 一个变量。一个变量。例例2.编写程序,计算一个学生数学、语文、英语三门课的平均成绩。编写程序,计算一个学生数学、语文、英语三门课的平均成绩。算法:算法: 第一步
13、:分别输入三科的成绩第一步:分别输入三科的成绩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=”;averageENDINPUT “Maths, Chinese, English=”;a,b,c程序程序2:PRINT “The avera
14、ge=”;(a+b+c)/3END例例3 3:给一个变量重复赋值。:给一个变量重复赋值。程序程序: :A=10A=A+15PRINT AENDA的输出的输出值是多少值是多少?分析分析:此程序给变量此程序给变量A赋了两次值赋了两次值.A的初的初值为值为10,第二次赋值后第二次赋值后,初值被初值被“覆覆盖盖”,A的值变为的值变为25,因此输出值是因此输出值是25. 变式引申变式引申:在此程序的基础上,设计一个程序,在此程序的基础上,设计一个程序,要求最后要求最后A A的输出值是的输出值是30.30.A=10A=A+15PRINT AA=A+5PRINT AEND程序程序: :例例3 3:给一个变量
15、重复赋值。给一个变量重复赋值。程序程序: :A=10A=A+15PRINT AEND例例4、交换两个变量交换两个变量A,B的值的值INPUT AINPUT BPRINT A,BX=AA=BB=XPRINT A,BEND先将先将A的值赋予的值赋予X这时这时X取取A的值的值再将再将B的值赋予的值赋予A这时这时A取取B的值的值再将再将X的值赋予的值赋予B这时这时B取取X的的值即值即A的值的值先将先将A的值赋予的值赋予X这时这时X取取A的值的值X为中间变量为中间变量X是什么?是什么?练习练习: :编写一个程序编写一个程序, ,要求输入一个圆的半径要求输入一个圆的半径, ,便能输出该圆的周长和面积便能输
16、出该圆的周长和面积. .( 取取3.143.14)分析分析: :设圆的半径为设圆的半径为R,R,则圆的周长则圆的周长C=2R,C=2R,面积面积S=RS=R2 2, ,可以利用顺序结构中的可以利用顺序结构中的INPUTINPUT语句语句,PRINT,PRINT语句和赋值语句设计程序。语句和赋值语句设计程序。INPUT “R=”;RC=2*3.14*RS=3.14*R2PRINT “C=”;CPRINT “S=S=”; S END练习 课本P24.1、2、3、4INPUT “a,b,c=”;a ,b,cX=10.4aY=15.6bZ=25.2csum=X+Y+ZPRINT “sum=”;sumE
17、ND4题答案题答案第二课时条件语句的一般格式条件语句的一般格式 只含一个只含一个“分支分支”的条件结的条件结构构写成条件语句为写成条件语句为IFIF 条件条件 THENTHEN 语句体语句体END IFEND IF当计算机执行这种形式的条件语句时,首先对当计算机执行这种形式的条件语句时,首先对IFIF后的条件进行判断,如果条件满足,就执行后的条件进行判断,如果条件满足,就执行THENTHEN后的语句体,否则执行后的语句体,否则执行END IFEND IF之后的语句之后的语句. . 满足条件?满足条件?语句体语句体是是否否1.2.2条件语句条件语句IFTHEN END IF型型条件语句是处理条件
18、结构的算法语句条件语句是处理条件结构的算法语句满足条件?满足条件?语句体语句体1 1语句体语句体2 2是是否否含两个含两个“分支分支”的条件结构的条件结构写成条件语句为写成条件语句为IFIF 条件条件 THENTHEN 语句体语句体1 1ELSEELSE 语句体语句体2 2END IFEND IF当计算机执行上述语句时,首先对当计算机执行上述语句时,首先对IFIF后的后的条件进行判断,如果条件符合,就执行条件进行判断,如果条件符合,就执行THENTHEN后后的语句体的语句体1 1,否则执行,否则执行ELSEELSE后的语句体后的语句体2. 2. IFTHEN ELSEEND IF型型例例5、编
19、写程序,输入一个编写程序,输入一个x的值,要求输出它的绝对值。的值,要求输出它的绝对值。INPUT xIF x=0 THEN PRINT x ELSE PRINT -xEND IFEND程序程序框图框图开始开始输入输入x判断判断x0是是输出输出x否否输出输出-x结束结束第一步:第一步:输入输入x;第二步:第二步:判断判断x的符号;的符号;若若x0,则输出则输出x,否则输出否则输出X;算法算法INPUT xIF x0 THEN PRINT xEND IFEND程序如图所示程序如图所示开始开始输入输入x判断判断x0是是输出输出x否否结束结束框图框图例例7 7:编写程序,使得任意输入的编写程序,使得
20、任意输入的3 3个整数个整数 按从大到小的顺序输出。按从大到小的顺序输出。算法分析:算法分析:用用a a,b b,c c表示输入的表示输入的3 3个整数;为了节个整数;为了节 约变量,把它们重新排列后,仍用约变量,把它们重新排列后,仍用a a,b b,c c 表示,并使表示,并使abcabc. .具体操作步骤如下。具体操作步骤如下。第一步:第一步:输入输入3 3个整数个整数a a,b b,c.c.第二步:第二步:将将a a与与b b比较,并把小者赋给比较,并把小者赋给b b,大者赋给,大者赋给a.a.第三步:第三步:将将a a与与c c比较比较. . 并把小者赋给并把小者赋给c c,大者赋给,
21、大者赋给a a, 此时此时a a已是三者中最大的。已是三者中最大的。第四步:第四步:将将b b与与c c比较,并把小者赋给比较,并把小者赋给c c,大者赋给,大者赋给b b, 此时此时a a,b b,c c已按从大到小的顺序排列好。已按从大到小的顺序排列好。第五步:第五步:按顺序输出按顺序输出a a,b b,c.c.c=bb=tb=tc=ta=c【程序框图【程序框图】开始开始输入输入a,b,cba?是是t=aa=b否否ca?是是t=a否否cb?t=c是是否否输出输出a,b,c交换交换a,ba,b的值的值【程序【程序】INPUT “a,b,c =”;a,b,cIF ba THEN t=a a=b
22、 b=tEND IFIF ca THEN t=a a=c c=tEND IFIF cb THEN t=b b=c c=tEND IF END IF PRINT a,b,cENDEND课本课本P29P29页页1 1. .INPUT “a,b,c=”; a,b,cIF a+bc AND a+cb AND b+ca THEN PRINT “Yes.”ELSE PRINT “No.”END IFEND参考答案:参考答案:【课堂练习【课堂练习1】【课堂练习【课堂练习2】课本课本P29P29页页2.2.读程序读程序, ,说明程序的运行过程说明程序的运行过程. .INPUT “x=:”;xIF 9x AND
23、 x100 THEN a=x10 b=x MOD 10 x=10b+a PRINT xEND IFEND如果有两个或是两个以上的如果有两个或是两个以上的并列条件时,用并列条件时,用“AND”AND”把把它它们连接起来。们连接起来。 “” “”用来取商用来取商. .此处表示此处表示 x x除以除以1010的商的商. .“MOD”“MOD”用来取余数用来取余数. .此处表此处表示示x x除以除以1010所得余数为所得余数为b.b.问题问题如输入的数如输入的数x=86,则输出则输出的结果是什么的结果是什么?68此程序用于交换一个两位数的此程序用于交换一个两位数的个位和十位数字个位和十位数字. .课本
24、课本P29P29页页3 3. .编写求一个数是偶数还是奇数的程序编写求一个数是偶数还是奇数的程序, ,从键盘输入一个整数从键盘输入一个整数, ,输出该数的奇偶性输出该数的奇偶性. .INPUT “a=”; aIF a MOD 2 =0 THEN PRINT “Even.”ELSE PRINT “Odd.”END IFEND参考答案:参考答案:【课堂练习【课堂练习3】课本课本P29页页4.闰年是指年份能被闰年是指年份能被4 4整除但整除但不能被不能被100100整除整除, ,或者能被或者能被400400整除的年份整除的年份. .编写一个程序编写一个程序, ,判断输入的年份是否为闰判断输入的年份是
25、否为闰年年. .【课堂练习【课堂练习4】开始开始结束结束年份年份 n否否是是是是否否闰年闰年是是整整数数吗吗? 400n?1004znzn 且且不是闰年不是闰年闰年闰年11INPUT “年份年份n=”;n IF INT(n/400)=n/400 THEN PRINT “runnian” ELSE IF n MOD 4=0 AND n MOD 1000 THEN PRINT “runnian” ELSE PRINT “bushi” END IF END IFEND方法一方法一INPUT “年份年份n=”;nb=n MOD 4c=n MOD 100d=n MOD 400 IF b =0 AND c
26、0 OR d=0 THEN PRINT “runnian” ELSE PRINT “bushi” END IFEND方法二方法二第三课时循环结构有两种循环结构有两种-直到型与当型直到型与当型.满足条件?满足条件?循环体循环体是是否否当型循环结构当型循环结构(当条件满足时反复执行循环体当条件满足时反复执行循环体)直到型循环结构直到型循环结构(反复执行循环体直到条件满足反复执行循环体直到条件满足)循环体循环体是是否否满足条件?满足条件?对应于程序框图中的两种循环结构,一般对应于程序框图中的两种循环结构,一般程序设计语言中也有直到型(程序设计语言中也有直到型(UNTILUNTIL型)和当型型)和当型
27、(WHILEWHILE型)两种语句结构。型)两种语句结构。 1.2.3循环语句循环语句UNTILUNTIL语句的一般格式是语句的一般格式是DODO 循环体循环体LOOP UNTIL LOOP UNTIL 条件条件循环体循环体是是否否满足条件?满足条件?直到型循环结构直到型循环结构DODO执行(循环体)执行(循环体)LOOP UNTILLOOP UNTIL循环,直到满足某种条件为止循环,直到满足某种条件为止(然后执行后面的程序)(然后执行后面的程序)例例1.1.编写程序编写程序, ,计算自然数计算自然数1+2+3+1+2+3+99+100+99+100的和的和. .分析分析: :这是一个累加问题
28、这是一个累加问题. .考虑用考虑用UNTILUNTIL型语句。型语句。UNTILUNTIL语句语句开始开始结束结束i=1S=0i=i+1S=S+i输出输出Si100?否否是是直到型直到型i=1S=0DOS=S+ii=i+1LOOP UNTIL i100PRINT SEND变式训练变式训练: :编写程序求编写程序求:1:13 35 57 7101101的值的值. .如何修改如何修改? ?UNITLUNITL语句语句i=1S=0DOS=S+ii=i+1LOOP UNTIL i100PRINT SENDS=1101S=Sii=i+2是是开始开始结束结束i=1S=0i=i+1S=S+i输出输出Si10
29、0?否否直到型直到型S=1S=Si i=i+2i101?WHILEWHILE语句的一般格式是语句的一般格式是WHILE WHILE 条件条件 循环体循环体WENDWENDWHLIEWHLIE后面的后面的“条件条件”也是用于控制计算机也是用于控制计算机执行循环体或跳出循环体的。执行循环体或跳出循环体的。WHILEWHILE当当(条件满足条件满足) ) 的时候(执行循环体)的时候(执行循环体)WENDWEND朝朝方向行走方向行走( (回到条件判断回到条件判断) )满足条件?满足条件?循环体循环体是是否否当型循环结构当型循环结构i=1S=0WHLIE i11?是n=1DOINPUT xPRINT yn=n+1LOOP UNTIL n11END y=x3+3*x2-24*x+30程序程序否例例3基本结构基本结构程序框图程序框图顺序结构顺序结构变量与赋值变量与赋值循环结构循环结构基本语句基本语句循环语句循环语句条件语句条件语句WHILE语句语句DO语句语句IF-THEN语句语句语句适用结构语句适用结构算法算法条件结构条件结构
限制150内