《算法初步》PPT课件.ppt
《《算法初步》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《算法初步》PPT课件.ppt(100页珍藏版)》请在三一办公上搜索。
1、1.1算法与程序框图,1.1.1算法的概念,先去括号,再乘除,后加减,1、,什么是算法呢?,要把大象装冰箱,分几步?,答:分三步:,第一步:打开冰箱门,第二步:把大象装冰箱,第三步:关上冰箱门,问:,简单地说,算法就是解决问题的程序或步骤。,什么是算法呢?,第一步,第二步,第三步,(消元),(解一元一次方程),+2,得,解得,(代入求解),将 代入,得,写一写,写出解第二个方程组的算法:,第一步,第二步,第三步,解,得,将代入得,变一变,在数学上,通常是按照一定规则解决某一类问题的明确有限的步骤。,算法的定义:,例1,(1)设计一个算法,判断7是否为质数;,(2)设计一个算法,判断35是否为质
2、数.,算法:,探究,你能写出”判断整数n(n2)是否为质数”的算法吗?,第一步,给定大于2的整数n.,第二步,令i=2.,算法的基本特点,1、有穷性,一个算法应包括有限的操作步骤,能在执行有穷的操作步骤之后结束。,2、确定性,算法的计算规则及相应的计算步骤必须是唯一确定的,既不能含糊其词,也不能有二义性。,3、逻辑性,算法中从开始的“第一步”到“最后一步”之间做到环环相扣,分工明确,“前一步”是“后一步”的前提,“后一步”是“前一步”的继续。,算法1:,第二步:计算10150;,第三步:写出运算结果,算法2:,第一步:取n=100;,第二步:计算,第三步:写出运算结果,写出求1+2+3+100
3、的一个算法,(1+100)+(2+99)+(50+51);,第一步:将原式变形为,你会了吗?,2.任意给定一个正实数,设计一个算法求以这个数为半径的圆的面积.,第一步:输入任意一个正实数r0;,第二步:计算圆的面积:S=r2;,第三步:输出圆的面积S.,1.1.2程序框图,程序框图,程序框图又称流程图,是一种用程序框、流程线及文字说明来表示算法的图形。,在程序框图中,一个或几个程序框的组合表示算法中的一个步骤;带有方向箭头的流程线将程序框连接起来,表示算法步骤的执行顺序。,例 用程序框图表示“判断整数n(n2)是否为质数”的算法,设n是一个大于2的整数.,一般用i=i+1表示.,i=i+1,说
4、明:i表示从2(n-1)的所有正整数,用以判断例1步骤2是否终止,i是一个计数变量,有了这个变量,算法才能依次执行.逐步考察从2(n-1)的所有正整数中是否有n的因数存在.,画程序框图的规则,(1)使用标准的图形符号。,(2)框图一般按从上到下,从左到右的方向画。,(3)除判断框外,大多数流程图符号只有一个进入点和一个退出点。判断框具有超过一个退出点的唯一符号。,(4)判断框分两大类,一类判断框“是”与“否”两分支的判断,而且又且仅有两个结果;另一类是多分支判断,有几种不同的结果。,(5)在图形符号内描述的语言要非常简练清楚。,算法的基本逻辑结构,顺序结构,用程序框图来表示算法,有三种不同的基
5、本逻辑结构:,条件结构,循环结构,三种基本结构(表示一个良好算法的基本单元),顺序结构,条件结构(选择结构),循环结构,While(当型)循环,Until(直到型)循环,顺序结构,顺序结构是由若干个依次执行的步骤组成的。这是任何一个算法都离不开的基本结构,例1 已知一个三角形的三边边长分别为a、b、c,利用海伦-秦九韶公式设计一个算法,求出它的面积,画出它的程序框图.,程序框图,习题1 设计一算法:输入圆的半径,输出圆的面积,并画出流程图,算法分析:,第一步:输入圆的半径,第二步:利用公式“圆的面积=圆周率(半径的平方)”计算圆的面积;,第三步:输出圆的面积。,思考:整个程序框图有什么特点?,
6、条件结构(选择结构),算法的流程根据条件是否成立有不同的流向。条件结构就是处理这种过程的结构。,例2 任意给定3个正实数,设计一个算法,判断分别以这3个数为三边边长的三角形是否存在.画出这个算法的程序框图.,解:算法如下。S1 输入xS2 若x为奇数,则输出A=3x+2;否则输出A=5x S3 算法结束。,习题2 设x为一个正整数,规定如下运算:若x为奇数,则求3x+2;若x为偶数,则为5x,写出算法,并画出程序框图。,循环结构,在一些算法中,从否处开始,按照一定条件,反复执行某一处理步骤的情况,这就是循环结构。反复执行的处理步骤称为循环体。,在循环结构中,通常都有一个起到循环计数作用的变量,
7、这个变量的取值一般都含在执行或中止循环体的条件中。,例3 设计一个计算1+2+3+100的值的算法,并画出程序框图。,算法分析:需要一个累加变量和一个计数变量,将累加变量的初始值设为0,计数变量的值可以从1到100.,1.2,基本算法语句,第一章 算法初步,【探究新知】我们知道,顺序结构是任何一个算法都离不开的基本结构。,输入、输出语句和赋值语句基本上对应于算法中的顺序结构.,计算机从上而下按照语句排列的顺序执行这些语句.,输入语句和输出语句分别用来实现算法的输入信息,输出结果的功能.,(如右图),输入语句和输出语句分别用来实现算法的输入信息,输出结果的功能。,例1 用描点法作函数yx33x2
8、24x30的图象时,需要求出自变量和函数的一组对应值.编写程序,分别计算当 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)“提示内容”提示用户输入什么样的信息,变量是指程序在运行时其值是可以变化的量;(3)输入语句要求输入的值只能是具体的常数,不能是函数、变量或表达式;(4)提示内容
9、与变量之间用分号“;”隔开,若输入多个变量,变量与变量之间用逗号“,”隔开.,例如,输入一个学生数学,语文,英语三门课的成绩,可以写成:,INPUT“数学,语文,英语”;a,b,c,注意:INPUT语句不但可以给单个变量赋值,还可以给多个变量赋值,其格式为:,INPUT“提示内容1,提示内容2,提示内容3,”;变量1,变量2,变量3,,练一练:请你用输入语句表达课本P5和P9页程序框图中输入框中的内容.,P7页:,INPUT“n=”;n,P9页:,INPUT a,b,c,二.输出语句,PRINT“提示内容”;表达式,说明:(1)“提示内容”提示用户输出什么样的信息,表达式是指程序要输出的数据;
10、,输出常量,变量的值和字符串等系统信息。输出数值计算的结果。,(2)输出语句的用途:,输出语句的一般格式,(3)同输入语句一样,表达式前也可以有“提示内容”.,思考:在课本P7页图1.1-2程序框图中的输出框的内容怎样用输出语句来表达?,参考答案:输出框:PRINT“n is a prime number.”PRINT“n is not a prime number.”,PRINT“S=”;S,三.赋值语句,(1)赋值语句的一般格式:,变量表达式,(2)赋值语句的作用是:先计算出赋值号右边表达式的值,然后把这个值赋给左边的变量,使该变量的值等于表达式的值。(3)赋值语句中的“”称作赋值号,与数
11、学中的等号的意义是不同的.赋值号的左右两边不能对换.(4)赋值语句左边只能是变量名字而不是表达式,如:2=x是错误的;右边表达式可以是一个数据、常量或算式;不能利用赋值语句进行代数式的演算。(如化简、因式分解、解方程等)(5)对于一个变量可以多次赋值。,【例题解析】例2:编写程序,计算一个学生数学、语文、英语三门课的平均成绩。,分析:先写出算法,画出程序框图,再进行编程。,结束,程序框图,INPUT“Maths,Chinese,English”;a,b,cy=(a+b+c)/3PRINT“y=”;y END,程序:,例3:给一个变量重复赋值。,程序:,A=10A=A+15PRINT AEND,
12、A的输出值是多少?,分析:此程序给变量A赋了两次值.A的初值为10,第二次赋值后,初值被“覆盖”,A的值变为25,因此输出值是25.,变式引申:在此程序的基础上,设计一个程序,要求最后A的输出值是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
13、 A,BX=AA=BB=XPRINT A,BEND,程序:,不能!,练习1:编写一个程序,要求输入一个圆的半径,便能输出该圆的周长和面积.(取3.14),分析:设圆的半径为R,则圆的周长C=2R,面积S=R2,可以利用顺序结构中的INPUT语句,PRINT语句和赋值语句设计程序。,INPUT“R=”;RC=2*3.14*RS=3.14*R2PRINT“C=”;CPRINT“S=”;S END,算法中的条件结构是由条件语句来表达的,条件语句是处理条件分支逻辑结构的算法语句.,条件语句的一般格式,只含一个“分支”的条件结构,写成条件语句为,当计算机执行这种形式的条件语句时,首先对IF后的条件进行判
14、断,如果条件符合,就执行THEN后的语句体,否则执行END IF之后的语句.,含两个“分支”的条件结构,写成条件语句为,当计算机执行上述语句时,首先对IF后的条件进行判断,如果条件符合,就执行THEN后的语句体1,否则执行ELSE后的语句体2.,条件语句的作用 在程序执行过程中,根据判断是否满足约定的条件而决定是否需要转换到何处去。需要计算机按条件进行分析、比较、判断,并按判断后的不同情况进行不同的处理。,1、编写一个程序,求任意实数的绝对值。,程序如下:,程序框图:,开始,y=-x,y=x,输出 y,结束,x0?,是,否,【例题解析】,【例题解析】,例6:编写程序,输入一元二次方程ax2+b
15、x+c=0的系数,输出它的实数根。,算法分析:,一元二次方程的根有三种不同情况:,设判别式=b2-4ac,(1)当0时,一元二次方程有两个不等的实数根.,(2)当=0时,一元二次方程有两个相等的实数根.,(3)当0时,一元二次方程没有实数根.,【程序】,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:”;pELSE x1=p+q x2=p-q PRINT“Two real roots:“;x1,x2 END IFELSE PRINT“No re
16、al root!”END IFEND,例7:编写程序,使得任意输入的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.,【程序】,INPUT“a,b,c=”;a,b,cIF ba THEN t=a a=b b=tEND
17、 IFIF ca THEN t=a a=c c=tEND IF,IF cb THEN t=b b=c c=tEND IF PRINT a,b,cEND,算法中的循环结构是由循环语句来实现的.,循环结构有两种-当型与直到型.,当型循环结构(当条件满足时反复执行循环体),直到型循环结构(反复执行循环体直到条件满足),对应于程序框图中的两种循环结构,一般程序设计语言中也有当型(WHILE型)和直到型(UNTIL型)两种语句结构。,即WHILE语句和UNTIL语句。,(1)WHILE语句的一般格式是:,WHILE 条件 循环体WEND,其中循环体是由计算机反复执行的一组语句构成的。WHLIE后面的“条
18、件”是用于控制计算机执行循环体或跳出循环体的。,WHILE当 时候,WEND朝方向 行走,(1)WHILE语句的一般格式是,WHILE 条件 循环体WEND,当计算机遇到WHILE语句时,先判断条件的真假,如果条件符合,就执行WHILE与WEND之间的循环体;然后再检查上述条件,如果条件仍符合,再次执行循环体,这个过程反复进行,直到某一次条件不符合为止.这时,计算机将不执行循环体,直接跳到WEND语句后,接着执行WEND之后的语句.,(2)UNTIL语句的一般格式是:,DO 循环体LOOP UNTIL 条件,DO做什么,LOOP UNTIL绕环回线走,直到达到某种 条件为止,思考:参照其直到型
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 算法初步 算法 初步 PPT 课件

链接地址:https://www.31ppt.com/p-5565426.html