资源预览内容
第1页 / 共42页
第2页 / 共42页
第3页 / 共42页
第4页 / 共42页
第5页 / 共42页
第6页 / 共42页
第7页 / 共42页
第8页 / 共42页
第9页 / 共42页
第10页 / 共42页
亲,该文档总共42页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
基本算法语句,1,沐风教育#,这就是这一节所要研究的主要内容基本算法 语句。,程序设计语言有很多种。如BASIC,Foxbase, C语言,C+,J+,VB等。为了实现算法中的 三种基本的逻辑结构:顺序结构、条件结构和循 环结构,各种程序设计语言中都包含下列基本的 算法语句:,输入语句 输出语句 赋值语句 条件 语句 循环 语句,2,沐风教育#,我们知道,顺序结构是任何一个算法都离不开的基本结构。,输入、输出语句和赋值语句基本上对应于算法中的顺序结构.,计算机从上而下按照语句排列的顺序执行这些语句.,输入语句和输出语句分别用来实现算法的输入信息,输出结果的功能.,(如右图),3,沐风教育#,输入语句和输出语句分别用来实现算法的输入信息,输出结果的功能。,例1 用描点法作函数yx33x224x30的图象 时,需要求出自变量和函数的一组对应值.编写程序, 分别计算当x5,4,3,2,1,0,1, 2,3,4,5时的函数值.,INPUT “x=”;x y=x3+3*x2-24*x+30 PRINT x PRINT y END,程序:,-输入语句,-赋值语句,-打印语句,-打印语句,-表示结束,输出语句,输出语句,4,沐风教育#,一.输入语句,INPUT “提示内容”;变量,输入语句的一般格式,说明: (1)输入语句的作用是实现算法的输入信息功能; (2)“提示内容”提示用户输入什么样的信息, 变量是指程序在运行时其值是可以变化的量; (3)输入语句要求输入的值只能是具体的常数, 不能是函数、变量或表达式; (4)提示内容与变量之间用分号“;”隔开, 若输入多个变量,变量与变量之间用逗号“,”隔开.,5,沐风教育#,例如,输入一个学生数学,语文,英语三门课的成绩, 可以写成:,INPUT “数学,语文,英语”;a,b,c,注意: INPUT语句不但可以给单个变量赋值,还可以给多个变量赋值,其格式为:,INPUT “提示内容1,提示内容2,提示内容3,”;变量1,变量2,变量3,,6,沐风教育#,二.输出语句,PRINT “提示内容”;表达式,说明: (1)“提示内容”提示用户输出什么样的信息,表 达式是指程序要输出的数据;,输出常量,变量的值和字符串等系统信息。 输出数值计算的结果。,(2)输出语句的用途:,输出语句的一般格式,7,沐风教育#,(3)同输入语句一样,表达式前也可以有“提示内容”.,PRINT “S=”; S,8,沐风教育#,三.赋值语句,(1)赋值语句的一般格式:,变量表达式,(2)赋值语句的作用是:先计算出赋值号右边表达 式的值,然后把这个值赋给左边的变量,使该变量的 值等于表达式的值。 (3)赋值语句中的“”称作赋值号,与数学中的等 号的意义是不同的.赋值号的左右两边不能对换. (4)赋值语句左边只能是变量名字而不是表达式, 如:2=x是错误的;右边表达式可以是一个数据、 常量或算式;不能利用赋值语句进行代数式的 演算。(如化简、因式分解、解方程等) (5)对于一个变量可以多次赋值。,9,沐风教育#,【例题解析】 例2:编写程序,计算一个学生数学、语文、 英语三门课的平均成绩。,分析:先写出算法,画出程序框图,再进行编程。,结束,程序框图,INPUT “Maths,Chinese,English”;a,b,c y=(a+b+c)/3 PRINT “y=”;y END,程序:,10,沐风教育#,例3:给一个变量重复赋值。,程序:,A=10 A=A+15 PRINT A END,A的输出值是多少?,分析:此程序给变量A赋了两次值.A的初值为10,第二次赋值后,初值被“覆盖”,A的值变为25,因此输出值是25.,11,沐风教育#,变式引申:在此程序的基础上,设计一个程序, 要求最后A的输出值是30.,A=10 A=A+15 PRINT A A=A+5 PRINT A END,程序:,例3:给一个变量重复赋值。,程序:,A=10 A=A+15 PRINT A END,12,沐风教育#,例4交换两个变量A和B的值,并输出交换前后 的值。,分析:引入一个中间变量X,将A的值赋予X,又将B 的值赋予A,再将X的值赋予B,从而达到交换A, B的值.(比如交换装满水的两个水桶里的水需要 再找一个空桶),INPUT A INPUT B PRINT A,B X=A A=B B=X PRINT A,B END,程序:,不能!,13,沐风教育#,练习1:编写一个程序,要求输入一个圆的半径, 便能输出该圆的周长和面积.( 取3.14),分析:设圆的半径为R,则圆的周长C=2R,面积S=R2,可以利用顺序结构中的INPUT语句,PRINT语句和赋值语句设计程序。,INPUT “R=”;R C=2*3.14*R S=3.14*R2 PRINT “C=”;C PRINT “S=”; S END,14,沐风教育#,练习3.,15,沐风教育#,注:BASIC语言中的标准函数SQR(x),表示数x的算术平方根,ABS(x)表示x的绝对值等.,练习4,ABS(x)=|x|.,16,沐风教育#,INPUT “a,b,h=”;a ,b,h p=a+b s=ph/2 PRINT “s=”;s END,程序:,作业2,17,沐风教育#,算法中的条件结构是由条件语句来表达的,条件语句是处理条件分支逻辑结构的算法语句 .,条件语句的一般格式,只含一个“分支”的条件结构,写成条件语句为,当计算机执行这种形式的条件语句时,首先对IF后的条件进行判断,如果条件符合,就执行THEN后的语句体,否则执行END IF之后的语句.,18,沐风教育#,含两个“分支”的条件结构,写成条件语句为,当计算机执行上述语句时,首先对IF后的条件进行判断,如果条件符合,就执行THEN后的语句体1,否则执行ELSE后的语句体2.,19,沐风教育#,条件语句的作用 在程序执行过程中,根据判断是否满足约定的条件而决定是否需要转换到何处去。需要计算机按条件进行分析、比较、判断,并按判断后的不同情况进行不同的处理。,20,沐风教育#,【例题解析】,例1:编写程序,输入一元二次方程ax2+bx+c=0的系数,输出它的实数根。,算法分析:,一元二次方程的根有三种不同情况:,设判别式=b2-4ac,(1)当0时,一元二次方程有两个不等的实数根.,(2)当=0时,一元二次方程有两个相等的实数根.,(3)当0时,一元二次方程没有实数根.,21,沐风教育#,是,【程序框图】,开始,输入a,b,c,=b2-4ac,0?,原方程无实根,2,2,结束,否,1,1,=0?,输出p,是,否,x1=p+q,x2=p-q,输出x1,x2,22,沐风教育#,【程序】,INPUT “ a,b,c =”;a,b,c d=b*b-4*a*c IF 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 IF ELSE PRINT “No real root!” END IF END,23,沐风教育#,例2:编写程序,使得任意输入的3个整数按从大到小的顺序输出。,算法分析:用a,b,c表示输入的3个整数;为了节约变量,把它们重新排列后,仍用a,b,c表示,并使abc.具体操作步骤如下。 第一步:输入3个整数a,b,c. 第二步:将a与b比较,并把小者赋给b,大者赋给a. 第三步:将a与c比较. 并把小者赋给c,大者赋给a,此时a已是三者中最大的。 第四步:将b与c比较,并把小者赋给c,大者赋给b,此时a,b,c已按从大到小的顺序排列好。 第五步:按顺序输出a,b,c.,24,沐风教育#,c=b,b=t,b=t,c=t,a=c,【程序框图】,开始,输入a,b,c,ba?,是,t=a,a=b,否,ca?,是,t=a,否,cb?,t=c,是,否,输出a,b,c,交换a,b的值,25,沐风教育#,【程序】,INPUT “a,b,c =”;a,b,c IF ba THEN t=a a=b b=t END IF IF ca THEN t=a a=c c=t END IF,IF cb THEN t=b b=c c=t END IF PRINT a,b,c END,26,沐风教育#,读程序,说明程序的运行过程.,INPUT “x=:”;x IF 9x AND x100 THEN a=x10 b=x MOD 10 x=10b+a PRINT x END IF END,问题如输入的数x=86,则输出的结果是什么?,68,此程序用于交换一个两位数的个位和十位数字.,27,沐风教育#,INPUT “a,b,c=”; a,b,c IF a+bc AND a+cb AND b+ca THEN PRINT “Yes.” ELSE PRINT “No.” END IF END,28,沐风教育#,INPUT “a=”; a IF a MOD 2 =0 THEN PRINT “Even.” ELSE PRINT “Odd.” END IF END,29,沐风教育#,算法中的循环结构是由循环语句来实现的 .,循环结构有两种-当型与直到型.,当型循环结构(当条件满足时反复执行循环体),直到型循环结构(反复执行循环体直到条件满足),对应于程序框图中的两种循环结构,一般程序设计语言中也有当型(WHILE型)和直到型(UNTIL型)两种语句结构。,30,沐风教育#,即WHILE语句和UNTIL语句。,(1)WHILE语句的一般格式是:,WHILE 条件 循环体 WEND,其中循环体是由计算机反复执行的一组语句构成的。WHLIE后面的“条件”是用于控制计算机执行循环体或跳出循环体的。,WHILE当 时候,WEND朝方向 行走,31,沐风教育#,(1)WHILE语句的一般格式是,WHILE 条件 循环体 WEND,当计算机遇到WHILE语句时, 先判断条件的真假,如果条件 符合,就执行WHILE与WEND之间的循环体;然后再检查上述条件,如果条件仍符合,再次执行循环体,这个过程反复进行,直到某一次条件不符合为止.这时,计算机将不执行循环体,直接跳到WEND语句后,接着执行WEND之后的语句.,32,沐风教育#,(2)UNTIL语句的一般格式是:,DO 循环体 LOOP UNTIL 条件,DO做什么,LOOP UNTIL绕环回线走,直到达到某种 条件为止,思考:参照其直到型循环结构对应的程序框图,说说 计算机是按怎样的顺序执行UNTIL语句的?,33,沐风教育#,(2)UNTIL语句的一般格式是:,DO 循环体 LOOP UNTIL 条件,从UNTIL型循环结构分析,计算机执行该语句时,先 执行一次循环体,然后进行条件的判断,如果条件不 满足,继续返回执行循环体,然后再进行条件的判断, 这个过程反复进行,直到某一次条件满足时,不再执 行循环体,跳到LOOP UNTIL语句后执行其他语句, 是先执行循环体后进行条件判断的循环语句.,34,沐风教育#,提问:通过对照,大家觉得WHILE型语句与UNTIL型 语句之间有什么区别呢?,区别:在WHILE语句中,是当条件满足时执行循环 体,而在UNTIL语句中,是当条件不满足时执行循环 体。,35,沐风教育#,例1.编写程序, 计算自然数1+2+3+99+100的和.,分析:这是一个累加问题.我们可以用WHILE型语句,也可以用UNTIL型语句。,36,沐风教育#,i=1 S=0,WHLIE i=100,S=S+i,i=i+1,WEND,PRINT S,END,37,沐风教育#,i=1 S=0,DO,S=S+i i=i+1,LOOP UNTIL,i100,PRINT S,END,38,沐风教育#,变式训练(1): 编写程序求:n!=12345n的值.,如何修改?,WHILE语句,i=1 S=0,WHLIE i=100,S=S+i,i=i+1,W
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号