1、算法的概念:,温故知新,特点:,算法通常指按照一定规则解决某一类问题的明确和有限的步骤。 (现在,算法通常可以编成计算机程序,让计算机执行并解决问题。),有限性,明确性,有序性,不唯一性,普遍性,(1)设计一个算法判断7是否为质数.,第一步, 用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)设计
2、一个算法判断35是否为质数.,(1)设计一个算法判断7是否为质数.,(2)设计一个算法判断35是否为质数.,第一步, 用2除35,得到余数1.因为余数不为0,所以2不能整除35.,第二步, 用3除35,得到余数2.因为余数不为0,所以3不能整除35.,第三步, 用4除35,得到余数3.因为余数不为0,所以4不能整除7.,第四步, 用5除35,得到余数0.因为余数为0,所以5能整除35.因此,35不是质数.,为什么写算法不能直接写因为5X7=35,从而35不是质数呢?,计算机能执行什么?,1、计算:加、减、乘、除、余数、乘方、开方、指数、对数、绝对值、取整等等 2、赋值:把常数或运算的结果赋值给
3、变量,用等号“=”表示,例如:i=i+1(将i的值增加1,仍用i表示) 3、判断:判断等式或不等式是否可以成立,可进行逻辑“或”、“且”运算 4、人机交流:输入、输出,1.1.2程序框图与算法的基本逻辑结构,开始,输入n,求n除以i的余数,i的值增加1,仍用i表示,in-1或r=0?,r=0?,n不是质数,n是质数,结束,否,否,是,是,i=2,判断整数n(n2)是否为质数,1. 程序框图 又称流程图, 是一种用规定 的图形、指向 线及文字说明 来准确、直观 地表示算法的 图形。,终端框 (起止框),输入、输出框,处理框(执行框),判断框,表示一个算法的起始和结束,表示一个算法输入和输出的信息
4、,赋值、计算,判断某一条件是否成立,成立时在出口处标明“是”或“Y”,不成立时标明“否”或“N”.,构成程序框图的图形符号及其功能,流程线,连接程序框,连结点,连接程序框图的两部分,6,开始,输入n,求n除以i的余数,i的值增加1,仍用i表示,in-1或r=0?,r=0?,n不是质数,n是质数,结束,否,否,是,是,i=2,开始,输入n,求n除以i的余数,i的值增加1,仍用i表示,in-1或r=0?,r=0?,n不是质数,n是质数,结束,否,否,是,是,i=2,顺序结构,循环结构,条件结构,2、算法的三种基本逻辑结构顺序结构、条件结构、循环结构。,课本例3 已知一个三角形的三边长分别为a, b
5、, c,利用海伦-秦九韶公式设计一个计算三角形面积的算法,并画出程序框图表示.,算法步骤:,第一步,输入三角形三边长 a,b,c,第二步,计算,第三步,计算,第四步,输出s.,程序框图:,结束,开始,输入a, b, c,输出s,算法步骤为: 第一步,输入圆的半径 r . 第二步,计算 第三步,输出s.,程序框图:,结束,开始,输入r,输出s,练习1:任意给定一个正实数,设计一个算法求以这个数为半径的圆的面积,并画出程序框图表示.,条件结构是指在算法中通过对某条件的判断,根据条件是否成立而选择不同流向的算法结构.,基本形式2,(2)条件结构,满足条件?,步骤A,否,是,满足条件?,步骤A,步骤B
6、,是,否,基本形式1,例4 任意给定3个正实数,设计一个算法,判断分别以这三个数为三边边长的三角形是否存在.画出这个算法的程序框图.,a+ bc, a+ cb, b+ ca是否 同时成立?,开始,存在这样 的三角形,结束,不存在这样 的三角形,否,是,输入a, b, c,例5 设计一个求解一元二次方程ax2+bx+c=0的算法,并画出程序框图表示.,算法步骤:,第一步,输入3个系数a,b,c.,第二步,计算=b2-4ac.,第四步,判断=0是否成立.若是,则输出 x1=x2=p,否则,计算x1=p+q,x2=p-q, 并输出x1,x2.,第三步,判断0是否成立.若是,则计 算 ;否则,输出“方
7、程没有 实数根”,结束算法.,开始,程序框图:,输入a,b,c,= b2-4ac,0?,=0?,否,x1= p + q,输出x1,x2,结束,否,是,x2= p - q,输出x1=x2=p,是,输出“方程没有实数根”,开 始,输入a,b,c,= 4ac,0?,0?,输出 ,结 束,方程无实数根,输出x,否,是,是,否,例5程序框图也可设计为,输入x,开始,结束,答案:8.,练习:,此为某一函数的求值程序图,则满足该流程图的函数解析式为( ),答案:y=|x-3|+1.,作业题:,设计出一个求分段函数:的函数值的算法,并画出相应的程序框。,1、掌握程序框的画法和功能。 2、了解什么是程序框图,知道学习程序框图的意义。 3、掌握顺序结构、条件结构的应用,并能解决与这两种结构有关的程序框图的画法。,三、课时小结:,