您好,欢迎访问三七文档
先去括号再乘除后加减65(42)1、什么是算法呢?要把大象装冰箱,分几步?答:分三步:第一步:打开冰箱门第二步:把大象装冰箱第三步:关上冰箱门问:2问题简单地说,算法就是解决问题的程序或步骤。什么是算法呢?第一步,第二步,第三步,(消元)(解一元一次方程)①+②×2,得③711x解③得117x(代入求解)117x将代入①,得67y写一写解方程组32324xyxy①②写出的步骤写出解第二个方程组的算法:第一步,第二步,第三步,21122112()ababyacac③解③,得④21122112acacyabab将④代入①得①×2a1a-②×得32324xyxy12212112bcbcxabab变一变111222axbycaxbyc①②1221(0)abab在数学上,通常是按照一定规则解决某一类问题的明确有限的步骤。算法的定义:例1(1)设计一个算法,判断7是否为质数;(1)第一步,用2除7,得到余数1.因为余数不为0,所以2不能整除7.第二步,用3除7,得到余数1.因为余数不为0,所以3不能整除7.第三步,用4除7,得到余数3.因为余数不为0,所以4不能整除7.第四步,用5除7,得到余数2.因为余数不为0,所以5不能整除7.第五步,用6除7,得到余数1.因为余数不为0,所以6不能整除7.因此,7是质数.(2)设计一个算法,判断35是否为质数.算法:第一步,用2除35,得到余数1.因为余数不为0,所以2不能整除35.第二步,用3除35,得到余数2.因为余数不为0,所以3不能整除35.第三步,用4除35,得到余数3.因为余数不为0,所以4不能整除35.第四步,用5除35,得到余数0.因为余数为0,所以5能整除35.因此,35不是质数.探究你能写出”判断整数n(n2)是否为质数”的算法吗?第一步,给定大于2的整数n.第二步,令i=2.第三步,用i除n,得到余数r.第四步,判断”r=0”是否成立.若是,则n不是质数,结束算法;否则,将i的值增加1,仍用i表示.第五步,判断”i(n-1)”是否成立.若是,则n是质数,结束算法;否则,返回第三步.算法的基本特点1、有穷性一个算法应包括有限的操作步骤,能在执行有穷的操作步骤之后结束。2、确定性算法的计算规则及相应的计算步骤必须是唯一确定的,既不能含糊其词,也不能有二义性。3、逻辑性算法中从开始的“第一步”到“最后一步”之间做到环环相扣,分工明确,“前一步”是“后一步”的前提,“后一步”是“前一步”的继续。算法1:第二步:计算101×50;第三步:写出运算结果算法2:第一步:取n=100;第二步:计算(1)2nn第三步:写出运算结果写出求1+2+3++100的一个算法(1+100)+(2+99)++(50+51);第一步:将原式变形为你会了吗?2.任意给定一个正实数,设计一个算法求以这个数为半径的圆的面积.第一步:输入任意一个正实数r0;第二步:计算圆的面积:S=πr2;第三步:输出圆的面积S.程序框图程序框图又称流程图,是一种用程序框、流程线及文字说明来表示算法的图形。在程序框图中,一个或几个程序框的组合表示算法中的一个步骤;带有方向箭头的流程线将程序框连接起来,表示算法步骤的执行顺序。图形符号名称功能终端框(起止框)表示一个算法的起始和结束输入、输出框表示一个算法输入和输出的信息处理框赋值、计算判断框判断某一条件是否成立,成立时在出口处标明“是”或“Y”;不成立时标明“否”或“N”。流程线连接程序框连接点连接程序框图的两部分例用程序框图表示“判断整数n(n2)是否为质数”的算法开始输入ni=2求n除以i的余数ri的值增加1仍用i表示i≥n-1或r=0?输出“n不是质数”结束是否是输出“n是质数”否r=0?设n是一个大于2的整数.一般用i=i+1表示.i=i+1说明:i表示从2~(n-1)的所有正整数,用以判断例1步骤2是否终止,i是一个计数变量,有了这个变量,算法才能依次执行.逐步考察从2~(n-1)的所有正整数中是否有n的因数存在.(1)使用标准的图形符号。(2)框图一般按从上到下,从左到右的方向画。(3)除判断框外,大多数流程图符号只有一个进入点和一个退出点。判断框具有超过一个退出点的唯一符号。(4)判断框分两大类,一类判断框“是”与“否”两分支的判断,而且又且仅有两个结果;另一类是多分支判断,有几种不同的结果。(5)在图形符号内描述的语言要非常简练清楚。开始输入ni=2求n除以i的余数ri=i+1i≥n或r=0?n不是质数结束是否是n是质数否r=0?顺序结构用程序框图来表示算法,有三种不同的基本逻辑结构:条件结构循环结构三种基本结构(表示一个良好算法的基本单元)①顺序结构②条件结构(选择结构)③循环结构ABPAB成立不成立成立AP不成立AP成立不成立While(当型)循环Until(直到型)循环①顺序结构顺序结构是由若干个依次执行的步骤组成的。这是任何一个算法都离不开的基本结构AB例1已知一个三角形的三边边长分别为a、b、c,利用海伦-秦九韶公式设计一个算法,求出它的面积,画出它的程序框图.第一步:输入三角形三条边的边长a,b,c;第二步:计算;第三步:计算;第四步:输出s。()/2pabc()()()Sppapbpc算法分析:开始输入a,b,c输出S结束()/2pabc()()()Sppapbpc程序框图习题1设计一算法:输入圆的半径,输出圆的面积,并画出流程图算法分析:第一步:输入圆的半径第二步:利用公式“圆的面积=圆周率×(半径的平方)”计算圆的面积;第三步:输出圆的面积。开始结束输入半径R计算S=Pi*R*R输出面积S定义Pi=3.14思考:整个程序框图有什么特点?②条件结构(选择结构)算法的流程根据条件是否成立有不同的流向。条件结构就是处理这种过程的结构。PAB成立不成立PA不成立成立例2任意给定3个正实数,设计一个算法,判断分别以这3个数为三边边长的三角形是否存在.画出这个算法的程序框图.开始输入a、b、ca+bc,a+cb,b+ca是否同时成立存在这样的三角形结束否是不存在这样的三角形解:算法如下。S1输入xS2若x为奇数,则输出A=3x+2;否则输出A=5xS3算法结束。习题2设x为一个正整数,规定如下运算:若x为奇数,则求3x+2;若x为偶数,则为5x,写出算法,并画出程序框图。x为奇数?开始输入xA=3x+2结束否是A=5x③循环结构AP成立不成立While(当型)循环成立AP不成立Until(直到型)循环在一些算法中,从否处开始,按照一定条件,反复执行某一处理步骤的情况,这就是循环结构。反复执行的处理步骤称为循环体。在循环结构中,通常都有一个起到循环计数作用的变量,这个变量的取值一般都含在执行或中止循环体的条件中。例3设计一个计算1+2+3+……+100的值的算法,并画出程序框图。算法分析:需要一个累加变量和一个计数变量,将累加变量的初始值设为0,计数变量的值可以从1到100.i=100?i=1开始输出sum结束否是sum=0i=i+1sum=sum+11.2基本算法语句第一章算法初步【探究新知】我们知道,顺序结构是任何一个算法都离不开的基本结构。语句n+1语句n输入、输出语句和赋值语句基本上对应于算法中的顺序结构.计算机从上而下按照语句排列的顺序执行这些语句.输入语句和输出语句分别用来实现算法的输入信息,输出结果的功能.(如右图)输入语句和输出语句分别用来实现算法的输入信息,输出结果的功能。例1用描点法作函数y=x3+3x2-24x+30的图象时,需要求出自变量和函数的一组对应值.编写程序,分别计算当x=-5,-4,-3,-2,-1,0,1,2,3,4,5时的函数值.INPUT“x=”;xy=x^3+3*x^2-24*x+30PRINTxPRINTyEND程序:-----------------输入语句---------赋值语句-------------------------打印语句-------------------------打印语句-------------------------表示结束输出语句输出语句一.输入语句INPUT“提示内容”;变量输入语句的一般格式说明:(1)输入语句的作用是实现算法的输入信息功能;(2)“提示内容”提示用户输入什么样的信息,变量是指程序在运行时其值是可以变化的量;(3)输入语句要求输入的值只能是具体的常数,不能是函数、变量或表达式;(4)提示内容与变量之间用分号“;”隔开,若输入多个变量,变量与变量之间用逗号“,”隔开.例如,输入一个学生数学,语文,英语三门课的成绩,可以写成:INPUT“数学,语文,英语”;a,b,c注意:INPUT语句不但可以给单个变量赋值,还可以给多个变量赋值,其格式为:INPUT“提示内容1,提示内容2,提示内容3,…”;变量1,变量2,变量3,…练一练:请你用输入语句表达课本P5和P9页程序框图中输入框中的内容.P7页:INPUT“n=”;nP9页:INPUTa,b,c二.输出语句PRINT“提示内容”;表达式说明:(1)“提示内容”提示用户输出什么样的信息,表达式是指程序要输出的数据;①输出常量,变量的值和字符串等系统信息。②输出数值计算的结果。(2)输出语句的用途:输出语句的一般格式(3)同输入语句一样,表达式前也可以有“提示内容”.〖思考〗:在课本P7页图1.1-2程序框图中的输出框的内容怎样用输出语句来表达?参考答案:输出框:PRINT“nisaprimenumber.”PRINT“nisnotaprimenumber.”如P9页的输出框可以转化为输出语句:输出SPRINT“S=”;S三.赋值语句(1)赋值语句的一般格式:变量=表达式(2)赋值语句的作用是:先计算出赋值号右边表达式的值,然后把这个值赋给左边的变量,使该变量的值等于表达式的值。(3)赋值语句中的“=”称作赋值号,与数学中的等号的意义是不同的.赋值号的左右两边不能对换.(4)赋值语句左边只能是变量名字而不是表达式,如:2=x是错误的;右边表达式可以是一个数据、常量或算式;不能利用赋值语句进行代数式的演算。(如化简、因式分解、解方程等)(5)对于一个变量可以多次赋值。【例题解析】〖例2〗:编写程序,计算一个学生数学、语文、英语三门课的平均成绩。分析:先写出算法,画出程序框图,再进行编程。结束开始输入a,b,c输出y3abcy程序框图INPUT“Maths,Chinese,English”;a,b,cy=(a+b+c)/3PRINT“y=”;yEND程序:〖例3〗:给一个变量重复赋值。程序:A=10A=A+15PRINTAENDA的输出值是多少?分析:此程序给变量A赋了两次值.A的初值为10,第二次赋值后,初值被“覆盖”,A的值变为25,因此输出值是25.[变式引申]:在此程序的基础上,设计一个程序,要求最后A的输出值是30.A=10A=A+15PRINTAA=A+5PRINTAEND程序:〖例3〗:给一个变量重复赋值。程序:A=10A=A+15PRINTAEND〖例4〗交换两个变量A和B的值,并输出交换前后的值。分析:引入一个中间变量X,将A的值赋予X,又将B的值赋予A,再将X的值赋予B,从而达到交换A,B的值.(比如交换装满水的两个水桶里的水需要再找一个空桶)INPUTAINPUTBPRINTA,BX=AA=BB=XPRINTA,BEND程序:问题:能否用下列赋值语句交换A,B的值?A=BB=A不能!!!!!!〖练习1〗:编写一个程序,要求输入一个圆的半径,便能输出该圆的周长和面积.(π取3.14)分析:设圆的半径为R,则圆的周长C=2πR,面积S=πR2,可以利用顺序结构中的INPUT语句,PRINT语句和赋值语句设计程序。INPUT“R=”;RC=2*3.14*RS=3.14*R^2PRINT“C=”;CPRINT“S=”;SEND算法中的条件结构是由条件语句来表达的,条件语句
本文标题:算法初步课件
链接地址:https://www.777doc.com/doc-4451840 .html