算法的概念 算法与程序框图范文
- 格式:doc
- 大小:155.00 KB
- 文档页数:6
一、算法1.算法的概念在数学上,现代意义上的“算法”通常是指可以用计算机来解决的某一类问题的程序或步骤,这些程序或步骤必须是明确和有效的,而且能够在有限步之内完成.注意:(1)算法可以理解为由基本运算及规定的运算顺序所构成的完整的解题步骤,或看成按要求设计好的有限的确切的计算序列,并且这样的步骤或序列能够解决一类问题.(2)通俗地讲,算法就是计算机解题的过程.在这个过程中,无论是形成解题思路还是编写程序,都是实施某种算法,前者是推理实现的算法,后者是操作实现的算法.(3)描述算法可以有不同的方式.可以用自然语言和数学语言加以叙述,也可以用算法语言给出精确的说明,或用框图直观的显示等.2.算法的特点(1)确定性:算法中的每一步应该是确定的并且能有效的执行且得到确定的结果,而不应当是模棱两可或者有歧义.(2)可行性:算法对于某一类问题的解决都必须是有效的,切实可行的,并且能重复使用.(3)有效性:一个算法的步骤序列是有限的,它应在有限步操作之后停止,而不是无限的.二、程序框图1.画程序框图的规则①使用标准的框图符号;②框图一般按从上到下、从左到右的方向画;③除判断框外,大多数框图符号只有一个进入点和一个退出点.判断框是具有超过一个退出点的唯一的符号;④一种判断是“是”与“不是”两分支的判断,而且有且仅有两个结果;另一种是多分支判断,有几种不同的结果;⑤在图形符号内描述的语言要非常简练、清楚.2.算法的基本逻辑结构及框图表示任何一种算法都可由顺序结构、条件结构和循环结构这三种基本逻辑结构组成.学习这部分时应注意:①循环结构中一定包含条件结构;②在循环结构中,通常都有一个起循环计数作用的变量,这个变量的取值一般都含在执行或终止循环体的条件中;③根据对条件的不同处理,循环结构又分为当型(WHILE型)和直到型(UNTIL型)两种.当型循环在每次执行循环体前对控制循环的条件进行判断,当条件满足时执行循环体,不满足则停止;直到型循环在执行了一次循环体之后,对控制循环的条件进行判断,当条件不满足时执行循环体,满足则停止.3.三种基本逻辑结构的共同特点(1)只有一个入口.(2)只有一个出口,请注意一个菱形判断框有两个出口,而一个条件结构只有一个出口,不要将菱形框的出口和条件结构的出口混淆了.(3)结构内的每一部分都有机会被执行到.也就是说对每一个框来说,都应当有一条从入口到出口的路径通过它.(4)结构内不存在死循环,即无终止的循环.在程序设计中是不允许有死循环出现的.以上这些共同特点,也是检查一个程序框图或算法是否正确,合理的有效方法.。
算法与程序框图一、基本概念(一)算法概念:1.什么是算法:广义的算法是指完成某项工作的方法和步骤.大不列颠百科全书:“算法就是能够在有限步产生问题结果的一系列的数学步骤”.例:四则运算,乘法口诀,珠算口诀,解一元二次方程,把大象放冰箱里,水壶烧水等.书中定义:“算法通常是指按照一定规则..和有限......解决某一类问题的明确的步骤....现在,算法通常可以编成计算机程序,让计算机执行并解决问题.”这也就是狭义的算法.算法一般是机械的,有时需要进行大量的重复计算,只要按部就班地去做,总能算出结果.通常把算法过程称为“数学机械化”.这也是为什么算法与计算机的联系如此紧密的原因.2.学习算法的意义:算法是数学及其应用的重要组成部分,是计算机程序的基础,是计算科学的核心,计算机数学即是算法的数学,没有算法就没有计算机程序,计算机与数学的联系越来越密不可分,而算法正是连结数学和计算机的桥梁.通过算法初步的学习,可以使学生初步理解算法的思想,即程序化的思想.有利于培养学生分析问题和解决问题的能力.好的算法源于一个好的思想.3.算法解决的问题:(1)数值性计算问题.如:解方程(或方程组)、解不等式(或不等式组)、套用公式求值、累加或累乘等问题,可通过相应的数学模型借助一般的数学计算方法,分解成清晰的步骤,使之条理化.(2)非数值性问题.如:判断(是否为质数)、排序(大小)、查找(超过80分的)、变量变换(互换x,y)、文字处理(明文与密文)等问题,先需建立过程模型,再通过模型进行算法设计和描述.书中还有的例子:辗转相除法与更相减损术,秦九韶(shao)算法,进位制转化,二分法等.4.算法的特征:(1)确定性:算法的每一步都应当做到准确无误、不重不漏.“不重”是指不是可有可无的、甚至无用的步骤,“不漏”是指缺少哪一步都无法完成任务.出精确度)(2)逻辑性(顺序性和确定性):算法从开始的“第一步”到“最后一步”之间是环环相扣的,且分工明确,“前一步”是“后一步”的前提,“后一步”是“前一步”的继续.每一个步骤都只能有一个确定的后续步骤.(3)有穷性:算法要有明确的开始和结束,当到达终止步骤时,所要解决的问题必须有明确的结果,也就是说必须在有限步内完成任务,不能无限制地持续进行.(1+2+3+……不能计算)(4)不唯一性:求解某一个问题的算法不一定是唯一的,对于一个问题可以有不同的计算.(1+2++3+ (10)(5)普遍性:一个算法可以解决一类问题,具有可推广性.(如解方程组)5.设计算法的要求:(1)写出的算法必须能解决一类问题(如判断一个整数是否为质数,解方程等)(3)要保证算法正确,且计算机能够执行.(那么计算机都会算什么?)6.描述算法的方式:自然语言,数学语言,算法语言,框图,程序.我们在学习过程中常见的描述方法是:语言描述,程序框图,程序语言.其中重要的是语言描述和框图描述,语言是思维过程的最直接体现,程序框图简单明了让人一目了然,虽然程序语言是最终目的,但由于程序语言运用的平台不同所以在写法上也有区别,正如先前所说的,好的程序源于好的算法,所以,只要把算法的程序框图弄清楚明白了,那么以后,在接触了计算机后自然会得心应手.例:计算函数321y x x x =+++在1x =处的函数值.语言描述 程序框图 程序语言(二)程序框图与算法基本逻辑结构:1.程序框图符号及作用:程序框图又称流程图,是一种用规定的图形、指向线及文字说明来准确、直观地表示算法的图形.例:解一元二次方程:20(0)ax bx c a ++=≠开始12.画程序框图的规则:为了使大家彼此之间能够读懂各自画出的框图,必须遵守一些共同的规则,下面对一些常用的规则做一简要介绍.(1)实用标准的框图符号.(2)框图一般按从上到下、从左到右的方向画.(3)一个完整的程序框图必须有终端框,用于表示程序的开始和结束.(4)除判断框外,大多数框图符号只有一个进入点和一个退出点,判断框是具有超过一个退出点的唯一符号,另外,一种判断框是“是”与“不是”两分支的判断,而且有且仅有两个结果;还有一种是多分支判断,有几个不同的结果. (5)在图形符号内用于描述的语言要非常简练清楚. 3.算法的三种基本逻辑结构: (1)顺序结构顺序结构是最简单的算法结构,语句与语句之间,框与框之间是按从上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的,它是任何一 个算法离不开的基本结构.如图,只有在执行完步 骤n 后,才能接着执行步骤n+1.例:.已知梯形的上底、下底和高分别为5、8、9,写出求梯形的面积的算法,画出流程图.解:算法如下: S1 a ←5;S2 b ←8; S3 h ←9; S4 S ←(a +b )×h /2;步骤n 步骤n+1 ↓ ↓↓ b a 58(2)条件结构一些简单的算法可以用顺序结构来实现,顺序结构中所表达的逻辑关系是自然串行,线性排列的.但这种结构无法描述逻辑判断,并根据判断结果进行不同的处理的操作,(例如遇到十字路口看信号灯过马路的问题)因此,需要另一种逻辑结构来处理这类问题.条件结构的结构形式如图,在此结构中含有一个判断框,算法执行到此判断框给定的条件P 时,根据条件P 是否成立,选择不同的执行框(步骤A ,步骤B ),无论条件P 是否成立,只能执行步骤A 或步骤B 之一,不可以两者都执行或都不执行.步骤A 和步骤B 中可以有一个是空的.例:某铁路客运部门规定甲、乙两地之间旅客托运行李的费用为0.53,50500.53(50)0.85,50,c ωωωω⨯≤⎧=⎨⨯+-⨯>⎩其中ω(单位:kg )为行李的重量.试给出计算费用c (单位:元)的一个算法,并画出流程图.1S 输入行李的重量ω;2S 如果50ω≤,那么0.53c ω=⨯,否则500.53(50)0.85c ω=⨯+-⨯; 3S 输出行李的重量ω和运费c .(3)循环结构在一些算法中要求重复执行同一操作的结构称为循环结构.即从算法某处开始,按照一定条件重复执行某一处理过程.重复执行的处理步骤称为循环体.例:北京成功举办了2008年第29届奥运会.你知道在申奥的最后阶段,国际奥委会是如何通过投票决定主办权归属的吗?对筛选出的5个申办城市进行表决的操作程序是:首先进行第一轮投票,如果有一个城市得票超过总票数的一半,那么该城市就获得举办权;如果所有申办城市得票数都不超过总票数的一半,则将得票数最少的城市淘汰,然后重复上述过程,直到选出一个申办城市为止.怎样用算法结构表述上面的操作过程?解:算法为: 1S 投票;2S 统计票数,如果有一个城市得票超过总票数的一半,那么该城 市就获得举办权,转3S ,否则淘 汰得票数最少的城市,转1S ; 3S 宣布主办城市.这里,“投票”就是一个循环体循环结构有两种形式:直到型循环结构(until 型)和当型循环结构(while 型) (1)直到型循环结构如图,直到型循环在执行一次循环体A 之后, 对控制循环的条件P 进行判断,如果条件P 不成立则返回继续执行循环体A ,执行后,再判断条件P 是否成立,依次重复操作,直到某一次给定的判断条件P 成立为止.此时,不再 返回来执行循环体A ,离开循环结构,继续执行下面的结构.直到型循环,因其先.执行一次循环体, 再.对控制循环的条件进行判断,然后根据判断的结 果决定是否继续执行循环体.当条件不成立...时继续执. 行循环体....,当条件成立时,跳出循环结构,所以, 我们也把直到型循环称为“后测试型”循环.(2)当型循环结构如图,每次执行循环体A 前,先对控制循环的条 件P 进行判断,当条件P 成立时执行循环体A ,循环体A 执行完毕后,返回来再判断条件P 是否成立, 如果条件P 仍然成立,那么再执行循环体A ,如此 反复执行循环体A ,直到某一次返回来判断条件P 不成立时为止,此时不再执行循环体A ,离开循环结构, 继续执行下面的结构.也正因为当型循环结构先.对条件P 进行判断,当条件P 成立时...,执行循环体.....跳出循环结构,我们常常把当型循环结构还称为“前测试型”循环.区别:“当型循环”结构中的循环条件时维持循环的;“直到型循环”结构中的循环条件时终止循环的.例:写出计算1001i i=∑的算法及程序框图(分别用直到型循环和当型循环)(全解P15)解:第一步:设i的值为1;第二步:设sum的值为0;第三步:如果i≤100执行第四步,否则转去执行第七步;第四步:计算sum+i并将结果代替sum;第五步:计算i+1并将结果代替i;第六步:转去执行第三步;第七步:输出sum的值并结束算法.循环结构的应用:(1)确定循环变量和初始条件;(2)确定算法中反复执行的部分,即循环体;(3)确定循环的条件;(4)注意不要出现“死循环”.二、习题精练(一)基本概念1.下列关于算法的说法正确的是( D ) A.某算法可以无止境地运算下去 B.一个问题的算法步骤可以是可逆的 C.完成一件事情的算法有且只有一种D.设计算法要本着简单、方便、可操作的原则 2.任何一个算法都离不开的基本结构为( D ) A.逻辑结构 B.选择结构 C.循环结构 D.顺序结构3.下列图形符号表示判断框的是( C )4.能够使算法的程序和步骤表达更为直观的是( B ) A.自然语言 B.流程图 C.数学语言 D.逻辑语言5.下面的四种叙述不能称为算法的是( C ) A.广播的广播操图解 B.歌曲的歌谱 C.做饭用米D.做米饭需要刷锅、淘米、添水、加热这些步骤6.在流程图中,算法要处理数据或计算,可分别写在不同的( A ) A.处理框内 B.判断框内 C.输入、输出框内 D.循环框内 (二)顺序结构及其应用1.早上从起床到出门需要洗脸刷牙(5 min )、刷水壶(2 min )、烧水(8 min )、泡面(3 min )、吃饭(10 min )、听广播(8 min )几个步骤.从下列选项中选最好的一种算法( C ) A.S1洗脸刷牙、S2刷水壶、S3烧水、S4泡面、S5吃饭、S6听广播 B.S1刷水壶、S2烧水同时洗脸刷牙、S3泡面、S4吃饭、S5听广播 C. S1刷水壶、S2烧水同时洗脸刷牙、S3泡面、S4吃饭同时听广播 D.S1吃饭同时听广播、S2泡面、S3烧水同时洗脸刷牙、S4刷水壶2. 写出求方程0ax b +=,(0a ≠)的算法步骤1S ,2S ,3S .答案:移项得ax b =-;两边同时除以a ,得b x a =-;输出b x a=-3. 将两个数a=8,b=17交换,使a=17,b=8,下面语句正确一组是 ( B )A C D . B.4.下面流程图表示算法,输出的s=.5. “鸡兔同笼”是我国隋朝时期的数学著作《孙子算经》中的一个有趣而具有深远影响的题目:“今有雉兔同笼,上有三十五头,下有九十四足.问雉兔各几何.”用方程组的思想不难解决这一问题,请你设计一个这类问题的通用算法.答案:鸡兔同笼,设鸡兔总头数为H,总脚数为F,求鸡兔各有多少只.算法如下:第一步输入总头数H,总脚数F;第二步计算鸡的个数x=(4*H-F)/2;第三步计算兔的个数y=(F-2*H)/2;第四步输出x,y.6.一个人带三只狼和三只羚羊过河,只有一条船,同船可以容纳一个人和两只动物.没有人在的时候,如果狼的数量不少于羚羊的数量,狼就会吃掉羚羊.请设计过河的算法.解:算法或步骤如下:S1 人带两只狼过河;S2 人自己返回;S3 人带一只羚羊过河;S4 人带两只狼返回;S5 人带两只羚羊过河;S6 人自己返回;S7 人带两只狼过河;S8 人自己返回;S9 人带一只狼过河.(三)条件结构及其应用1.给出以下四个问题,①输入一个数x,输出它的相反数.②求面积为6的正方形的周长.③求三个数a,b,c中的最大数.④求函数.1.2{)(≥-<+= xx xxxf的函数值. 其中不需要用条件语句来描述其2.图中所示的算法的功能是_______________(求两个数中的最大数)3.根据题意,完成流程图填空:输入两个数,输出这两个数差的绝对值.a>b②b-a4.设计求一个数x的绝对值的算法,并画出相应的程序框图.(全解20)5.已知函数21(1)1(11)3(1)x xy x x xx⎧-<-⎪=+-≤≤⎨⎪+>⎩,试画出求函数值的程序框图(全解21))6.下图中给出了一个算法的程序框图,根据该程序框图回答下列问题:(1)若输入的四个数为5,3,7,2,则最后输出结果是什么?2(2)该算法程序框图是为什么问题而设计的?求四个数的最小值7.获得学习优良奖的条件如下:(1)所考的六们功课成绩总分不低于540分;(2)前三门(数语外)的成绩都在95分及以上,其他三门课的成绩都在88分及以上.输入一名学生的六科成绩,问他是否符合优良奖的条件,设计算法,并画出这一算法的程序框图(全解30)8.给出以下一个算法的程序框图(如图所示),该程序框图的功能是( B )A.求输出a,b,c 三数的最大数B. 求输出a,b,c 三数的最小数C.将a,b,c 按从小到大排列D. 将a,b,c 按从大到小排列(四)循环结构及其应用1.设计一个算法,求出123100⨯⨯⨯⨯ 的值,画出程序框图(讲义25)2.右图给出的是计算201614121+⋅⋅⋅+++的值的一个程序框图, 其中判断框内应填入的条件是( A )A.i>10B.i<10C.i>20D.i<203.设计算法求100991431321211⨯+⋅⋅⋅+⨯+⨯+⨯的值. 要求画出程序框图4.给出30个数:1,2,4,7,……,其规律是:第1个数是1,第2个数比第1个数大1, 第3个数比第2个数大2,第4个数比第3个数大3,依此类推.要计算这30个数的和,现已给出了该问题算法的程序框图(如图所示),(I )请在图中判断框内(1)处和执行框中的(2)处填上合适的语句,使之能完成该题算法功能;(I )该算法使用了当型循环结构,因为是求30个数的和,故循环体应执行30次,其中i 是计数变量,因此判断框内的条件就是限制计数变量i 的,故应为30≤i .算法 中的变量p 实质是表示参与求和的各个数,由于它也是变化的,且满足第i 个数比其前一个数大1-i ,,第1+i 个数比其前一个数大i ,故应有i p p +=.故(1)处应填30≤i ;(2)处应填i p p +=5.斐波那契数列表示的是这样的一列数:1,1,2,3,5……后一项等于前两项的和,设计一个算法流程图,输出这个数列的前20项(讲义29)6.设计一个算法,求491242++++ 的值,并画出程序框图.(讲义26)7.设计程序框图,求出123499()()2345100⨯-⨯⨯-⨯⨯ 的值.(讲义26) 8.画出求112121212122+++++的值的算法程序框图.(讲义33)9.写出一个满足246810000n +++++> 的最小正整数的n (n 是偶数)的算法,并画出相应的程序框图.(讲义31)10.写出一个求满足135760000n ⨯⨯⨯⨯⨯> 的最小正整数n 的算法,并画出程序框图.11.给出以下十个数:5,9,80,43,95,73,28,17,60,36,要求把大于40的数找出来并输出,试画出该问题的算法程序框图(全解25)12.以下是某次考试中某班15名同学的数学成绩:72,91,58,63,84,88,90,55,61,73,64,77,82,94,60,要求将80分以上的同学的平均分求出来,画出该程序框图.(全解26)13.一个三位数,各位数字互不相同,十位数字比个位、百位数字之和还要大,且十位、百位数字不是素数.设计算法,找出所有符合条件的三位数,要求画出流程图.答案:1=+k k14. 如果执行程序框图1,那么输出的S=(C )A.2450 B.2500C.2550 D.265215. 阅读程序框图2,若输入的n 是100,则输出的变量S 和T 的值依次是( D )A .2500,2500B .2550,2550C .2500,2550D .2550,2500`16. 阅读程序框图3,若输入4m =,6n =,则输出a = 12 ,i = 3图217. 执行右边的程序框图4,若p =0.8, 则输出的n = 4 .图3。
算法与程序框图知识图谱算法与程序框图知识精讲一.算法的概念1.算法的定义由基本运算及规定的运算顺序所构成的完整的解题步骤,或者看成按照一定规则,解决某一类问题的明确的和有限的步骤,称为算法.通常可以编成计算机程序,让计算机执行并解决问题.2.算法的特征:(1)有穷性:算法必须在执行有限步后结束,通常还理解为实际上能够容忍的合理限度;(2)确定性:算法的每一个步骤必须有确定的含义;(3)可行性:组成算法的每个步骤和操作必须是相当基本的,原则上都是能精确地执行的;(4)输入:有零个或多个输入;(5)输出:有一个或多个输出.二.算法的描述1.用自然语言;2.用数学语言;3.用算法语言(程序设计语言);4.用程序框图(流程图).三.程序框图的概念:用一些通用的图形符号构成的一张图来表示算法,称为程序框图(简称框图).1.常用图形符号:图形符号名称符号表示的意义起、止框框图的开始或结束输入、输出框数据的输入或者结果的输出处理框赋值、执行计算语句、结果的传送判断框根据给定条件判断流程线流程进行的方向连结点连结另一页或另一部分的框图四.算法的三种基本逻辑结构:顺序结构、条件(分支)结构和循环结构.1.顺序结构:最简单的算法结构,语句与语句之间,框与框之间是按从上到下的顺序进行的.如下图,只有在执行完A 框指定的操作后,才能接着执行B 框指定的操作;2.条件(分支)结构:在一个算法中,用来处理需要根据条件是否成立有不同的流向的结构.常见的条件结构的程序框图有下面两种形式:否否是是BA A P PB A3.循环结构:从某处开始,按照一定的条件反复执行某些步骤的情况,就是循环结构,其中反复执行的步骤称为循环体.常见的循环结构的框图对应为:否是A P三点剖析一.注意事项:1.在画程序框图时,从开始框沿箭头必须能到达结束框,特别是条件分支结构应沿每条支路都能到达结束框,流程线必须加箭头表示顺序.2.对于循环结构有如下需要注意的情况:(1)循环结构非常适合计算机处理,因为计算机的运算速度非常快,执行成千上万次的重复计算,只不过是一瞬间的事,且能保证每次的结果都正确;(2)循环结构要有中止循环体的条件,不能无休止的运算下去,循环结构中一定包含条件结构,如i n ≤就是中止循环的条件;(3)循环结构的关键是,要理解“累加变量”和“用1i 代替i ”,S 是一个累加变量,i 是计数变量,每循环一次,S 和i 都要发生变化,这两步要重复计算若干次;(4)一种循环结构是先判断i n ≤是否成立,若是,执行循环体;若否,则中止循环,像这样,每次执行循环体前对控制循环条件进行判断,条件满足时执行循环体,不满足则停止,称为当型循环.除了当型循环外,常用的循环结构还有直到型循环.二.方法点拨1.画程序框图的规则:(1)使用标准的框图的符号;(2)框图一般按从上到下、从左到右的方向画;(3)除判断框外,大多数框图符号只有一个进入点和一个退出点.判断框是具有超过一个退出点的惟一符号;(4)一种判断框是“是”与“不是”两分支的判断,而且有且仅有两个结果;另一种是多分支判断,有几种不同的结果;(5)在图形符号内描述的语言要非常简练清楚.2.画程序框图要注意的几点:(1)起、止框是任何流程不可少的,表示程序的开始和结束;(2)输入、输出框可以用在算法中任何需要输入、输出的位置;(3)算法中间要处理数据或计算,可分别写在不同的处理框内;(4)当算法要求你对两个不同的结果进行判断时,要写在判断框内;(5)一个算法步骤到另一个算法步骤用流程线连结;(6)如果一个框图需要分开来画,要在断开处画上连结点,并标出连结的号码.程序框图例题1、下列说法正确的是()A.算法就是某个问题的解题过程;B.算法执行后可以产生不同的结果;C.解决某一个具体问题算法不同结果不同;D.算法执行步骤的次数不可以为很大,否则无法实施.例题2、指出下列哪一个不是算法()A.解方程260x -=的过程是移项和系数化为1B.从济南到温哥华需要先乘火车到北京,再从北京乘飞机到温哥华C.解方程2210x x +-=D.利用公式2πS r =,计算半径为3的圆的面积为2π3⨯例题3、下列语句中是算法的个数为()①从济南到巴黎:先从济南坐火车到北京,再坐飞机到巴黎;②统筹法中“烧水泡茶”的故事;③测量某棵树的高度,判断其是否是大树;④已知三角形的一部分边长和角,借助正余弦定理求得剩余的边角,再利用三角形的面积公式求出该三角形的面积A.1B.2C.3D.4随练1、下面四种叙述能称为算法的是()A.在家里一般是妈妈做饭B.做米饭要需要刷锅.添水.加热这些步骤C.在野外做饭叫野炊D.做饭必需要有米随练2、下列关于算法的说法正确的有()①求解某一类问题的算法是唯一的;②算法必须在有限步操作之后停止;③算法的每一步操作必须是明确的,不能有歧义或模糊;④算法执行后产生确定的结果.A.1个B.2个C.3个D.4个随练3、早上从起床到出门需要洗脸刷牙(5min).刷水壶(2min).烧水(8min).泡面(3min).吃饭(10min).听广播(8min)几个步骤,下列选项中最好的一种算法为()A.s1洗脸刷牙s2刷水壶s3烧水s4泡面s5吃饭s6听广播B.s1刷水壶s2烧水的同时洗脸刷牙s3泡面s4吃饭s5听广播C.s1刷水壶s2烧水的同时洗脸刷牙s3泡面s4吃饭的同时听广播D.s1吃饭的同时听广播s2泡面s3烧水的同时洗脸刷牙s4刷水壶算法的三种逻辑结构和框图表示例题1、如果执行如图所示的程序框图,那么输出的a=()A.2B.12 C.﹣1 D.以上都不正确例题2、如果执行如图所示的程序框图,那么输出的a=()A.2B.12 C.﹣1 D.以上都不正确例题3、阅读右边的程序框图,运行相应的程序,输出的S的值是()A.26B.40C.57D.无法确定随练1、如图是某算法的流程图,则执行该算法输出的结果是S=____.随练2、执行如图所示的程序框图,如果输入a=2,那么输出的a值为()A.4B.16C.256D.log316随练3、执行如图所示的程序框图,则输出的k=()A.4B.5C.6D.7拓展1、算法的有穷性是指()A.算法最后包含输出B.算法的每个操作步骤都是可执行的C.算法的步骤必须有限D.以上都不正确2、下面对算法描述正确的一项是()A.算法只能用自然语言来描述B.算法只能用图形方式来表示C.同一问题可以有不同的算法D.同一问题的算法不同,结果必然不同3、看下面的四段话,其中不是解决问题的算法的是()A.从上海到北京旅游,先坐火车,再坐飞机抵达B.解一元一次方程的步骤是去分母.去括号.移项.合并同类项.系数化为1C.方程210x -=有两个实根D.求12345++++的值,先计算123+=,再由于336+=,6410+=,10515+=,4、根据如图程序框图,输出k 的值为()A.3B.4C.5D.65、给出计算12+14+16+…+120的值的一个程序框图如图,其中判断框内应填入的条件是()A.i >10B.i <10C.i >20D.i <206、如图所示的流程图表示一函数,记作y=f (x ),若x 0满足f (x 0)<0,且f (f (x 0))=1,则x 0=____.。
算法的含义、程序框图一.知识整合1.算法的概念(1)算法的定义:广义的算法是指完成某项工作的方法和步骤,那么我们可以说洗衣机的使用说明书是操作洗衣机的算法,菜谱是做菜的算法等等。
在数学中,现代意义的算法是指可以用计算机来解决的某一类问题的程序和步骤,这些程序或步骤必须是明确和有效的,而且能够在有限步之内完成。
(2)算法的特征:①确定性:算法的每一步都应当做到准确无误、“不重不漏”。
“不重”是指不是可有可无的、甚至无用的步骤,“不漏”是指缺少哪一步都无法完成任务。
②逻辑性:算法从开始的“第一步”直到“最后一步”之间做到环环相扣。
分工明确,“前一步”是“后一步”的前提,“后一步”是“前一步”的继续。
③有穷性:算法要有明确的开始和结束,当到达终止步骤时所要解决的问题必须有明确的结果,也就是说必须在有限步内完成任务,不能无限制的持续进行。
(3)算法的描述:自然语言、程序框图、程序语言。
2.程序框图(1)程序框图的概念:程序框图又称流程图,是一种用规定的图形、指向线及文字说明来准确、直观地表示算法的图形;(2)构成程序框的图形符号及其作用一个程序框图包括以下几部分:实现不同算法功能的相对应的程序框;带箭头的流程线;程序框内必要的说明文字。
3.几种重要的结构 (1)顺序结构顺序结构是最简单的算法结构,语句与语句之间,框与框之间是按从上到下的顺序进行的。
它是由若干个依次执行的步骤组成的,它是任何一个算法都离不开的一种基本算法结构。
见示意图和实例:顺序结构在程序框图中的体现就是用流程线将程序框自上而下地连接起来,按顺序执行算法步骤。
如在示意图中,A 框和B 框是依次执行的,只有在执行完A 框指定的操作后,才能接着执行B 框所指定的操作。
(2)条件结构 如下面图示中虚线框内是一个条件结构,此结构中含有一个判断框,算法执行到此判断给定的条件P 是否成立,选择不同的执行框(A 框、B 框)。
无论P 条件是否成立,只能执行A 框或B 框之一,不可能既执行A 框又执行B 框,也不可能A 框、B 框都不执行。
算法的概念算法与程序框图(A)【从容说课】在这一节首先引入了算法的概念,算法就是一系列(有限步)的解题步骤,并且这样的步骤能够解决一类问题.那些不能终止的或只对某一具体问题有效的步骤不能称之为算法.明确了算法的概念,就可以引导学生初步判别或构造算法,为以后的学习打下基础.然后分别用数学语言和程序框图举例描述了算法的三种基本逻辑结构:顺序结构、条件分支结构、循环结构.熟练掌握这三种基本算法结构对于学生读懂比较复杂的算法、构造算法有很好的帮助.算法步骤的表达方式很多,教材中主要介绍了用数学语言和程序框图来描述算法步骤.【课时安排】1.1.1算法的概念 1课时1.1.2程序框图 3 课时第一课时【课题】§1.1.1算法的概念【从容说课】算法是数学及其其应用科学重要的组成部分,是计算机科学的重要基础现代算法在科学技术、社会发展中发挥着越来越大的作用,并日益融入社会生活的许多方面,算法思想已经成为现代人应具备的一种数学素养。
在信息时代的高中数学中,培养学生寻求问题的机械化解法是非学重要的,这样便于学生在学习数学和数学的应用中使用计算机技术。
算法概念是高中数学课程中的新内容,但学生在以前的学习中就已接触过算法.教材在本章一开始引出的鸡兔同笼问题,就是学生熟悉的实际问题.通过算术方法和方程方法的联系,引入了求解二元一次方程组的高斯消去法的算法步骤.使学生温故知新,明白算法并不神秘,在已有知识的基础上顺利接受算法的概念.【三维目标】¤知识与技能:1、初步了解算法的概念,2、了解算法的确定性、能行性、有穷性、通用性和有输出等特征。
¤过程与方法:1、通过实例分析,发展对具体问题的过程与步骤的分析能力,发展从具体问题中提炼算法思想的能力。
2、通过模仿与操作,学习应用数学软件的能力。
¤情感态度与价值观:通过实例分析,体会算法的思想,发展有条理地清晰地思维的能力,提高人的一般素质。
【教学重点】理解算法的概念,体会算法的基本思想、提高学生逻辑思维能力。
【教学难点】算法的基本思想。
【教具准备】多媒体课件【教学方法】引导与合作交流相结合,在分析具体问题的过程中,应让学生积极参与,讨论交流.但在从2具体问题中总结算法的思想与特征时,由于学生平时没有从此角度思考问题,可能要以引导为主.【教学过程】【新课导入】提出问题在电视节目《幸运52》中,有一种猜价格游戏:竞猜者如能在规定的时间内猜出某种商品的价格,就可获得该件商品。
如:现有一件商品,价格在0~8000元之间,采取怎样的策略才能在较短的时间内说出正确的答案呢?学生讨论:方法1,方法2,方法3,......【教师精讲】概念形成通过分析一个方法的过程。
算法(algorithm )通常是指可以用计算机来解决的某一类..问题的程序或步骤,这些程序或步骤必须是明确和有效的,而且能够在有限步之内完成。
一般来说,“用算法解决问题” 可以利用计算机帮助完成。
【教师精讲】概念深化对于一个算法,究竟有什么具体的要求呢?【合作探究】下面我们回顾一下一个二元一次方程组的求解过程。
解下列二元一次方程组:【方法引导】消元法,并归纳如下步骤:第一步 ② - ① × 2,得5y =3 ③第二步 解③得y =53; 第三步 将y = 53代入①,得x = 51。
教师小结:解二元一次方程组的高斯消去法。
【知识拓展】教师提问:上面的解法能否用来解一般的二元一次方程组?如果能,如何进行?请看下面的分析:设教师解释所用符号,引导学生观察并记忆上面写法的特点。
师生共同完成高斯消去法求解的过程:因为是二元一次方程组,所以方程组中a 11,a 21不能同时为0第一步:假定a 11≠0(如果a 11 = 0,可将第一个个方程与第二个方程互换), ①×)(1121a a -+②,得到111212*********)(a b a b x a a a a -=-。
即方程组可化为第二步:如果012212211≠-a a a a ,解方程组④得到第三步:将⑤代入③,整理得到第四步:输出结果x 1,x 2。
如果012212211=-a a a a ,则从④可以看出,方程组无解或有无穷多组解。
【教师精讲】上面我们采用高斯消去法求解了一般的二元一次方程组。
这个求解过程体现了算法的一些特征:1、明确性;2、有效性;3、有限性。
二、 应用举例1、 用二分法设计一个求方程022=-x 的近似正根的算法,精确度0.05。
【合作探究】第一步 令2)(2-=x x f 。
因0)2(,0)1(><f f ,设2,121==x x 第二步 令221x x m +=(因方程的根在区间(21,x x )内)判断)(m f 是否为0。
若)(m f =0,则m 为所求;若否,则进行第三步;第三步 若0)()(1>⋅m f x f ,则令m x =1;若0)()(1<⋅m f x f ,则令m x =2。
第四步判断05.021<-x x 是否成立?若是,则21,x x 之间的任意取值均为满足的近似根;若否,则返回第二步。
进一步指出,本题实质上是求2的近似值。
【活动与探究】1、任意给定一个正实数a ,试设计一个算法求以a 为直径的圆的面积。
解 第一步 输入a 的值.第二步 ________________________.第三步 ________________________.第四步 输出圆的面积的值.2、任意给定一个大于1的整数n ,试设计一个程序或步骤对n 是否为质数作出判断【合作探究】第一步 判断n 是否等于2。
若n =2,则n 是质数;若n>2,则执行第二步;第二步 依次从2到(n-1)检验是不是n 的因数, 即是否能整除n 的数。
若有这样的数,则n 不是质数;否则,n 是质数。
4【活动与探究】任意给定3个正实数,试设计一个算法,判断分别以这三个数为三边边长的三角形是否存在。
解 第一步 输入三个正实数a , b , c.______________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________【课堂小结】1、算法的概念:算法通常指可以用来解决的某一类问题的步骤或程序,这些步骤或程序必须是明确的和有效的,而且能够在有限步之内完成的。
2、算法的特征是什么?1、明确性; 2、有效性;3、有限性。
【活动与探究】1、 写出你在家里烧开水过程的一个算法。
2、已知平面直角坐标系的两点A(-1,0),B(3,2),写出求直线AB 的方程的一个算法。
【板书设计】课本P 4练习1、解 第一步:输入a 的值;第二步:计算2a r =的值; 第三步:计算2r s ⋅=π的值;第四步:输出圆的面积S 的值.2、 解 第一步 输入n 的值;第二步 依次从1到(1-n )检验是不是n 的因数。
若是,则转到第三步;否则,结束。
第三步 输出。
【备课资料】一、 补充习题1、 一位商人有9枚银元,其中有1枚略轻的是假银元。
你能用天平(不用砝码)将假银元找出来吗?提示:本题方法很多,可一一比较;也可分组比较。
2、 写出对任意3个整数a 、b 、c 求出最大值的算法。
解 第一步 max = a.(max 表示最大值,这个式子的意思是,假定最大值是第一个数)第二步 如果b>max ,则max=b.第三步 如果c>max ,max=c.第四步 max 就是a 、b 、c 中的最大值。
二、 阅读材料数学机械化研究——吴文俊先生的研究工作石 赫(中国科学院系统科学研究所)数学机械化是我国数学家开创的基础研究领域。
20多年来,吴文俊先生身体力行、满腔热情地倡导数学机械化研究,其内容、方法和意义日益获得科学界的理解和赞同。
数学是研究数量关系和形体性质的科学。
“数”与“形”在现实世界中无处不在,因此,数学科学是自然科学的基础,也是高新技术的基础,甚至是工程建设的基础,这已是人们的共识。
数学科学的好处是,可以化难为易,把奥妙变为常识,为各类问题的解决提供框架。
在产业革命的进程中,各类机器不断问世,逐步实现着体力劳动的机械化。
这已延续了数百年。
伴随着这一过程,自然科学获得了巨大进步,数学科学取得了现代数学的伟大发现。
如今,人类社会正步入信息革命时代。
计算机的功能不断增强,人类社会开始逐步实现脑力劳动的机械化。
数学研究是典型的脑力劳动,具有论证严谨、表述明确等优点,理应率先实现机械化。
20世纪70年代,吴文俊先生研读中国数学史。
中国古代数学,既有系统的理论,又有丰硕的成果,这些成果经常以算法(术)的方式表述,其理论依据则总结为一些原理。
直到16世纪,中国数学在很多分支都在国际上遥遥领先,是名副其实的数学强国。
吴文俊先生提出,数学机械化思想贯穿于中国传统数学,数学机械化思想是我国古代数学的精髓。
他分析了中国传统数学的光辉成就在数学科学进步历程中的地位和作用,明确指出,源于西方的公理化思想和源于中国的机械化思想,对于数学的发展都发挥了巨大作用,理应兼收并蓄。
如今,计算机科学被认为是算法的科学。
以算法为核心的机械化思想,既传统又前瞻,将为信息时代数学科学的刨新发挥重大作用。
数学机械化研究,是在初等几何定理的机器证明研究方面取得突破的。
公理化体系的几何定理证明非常不机械化。
以中学课程中的几何为例,-个定理的证明,往往要经过冥思苦想,奇巧构思,无章可循地填加辅助线,迂回曲拆地给出证明。
如何利用计算机进行自动惟理,特别是进行几何定理的自动证明,是学术界长期研究的课题。
所谓定理的机械化证明,就是对一类定理(这类定理可能成千上万)提供一种统一的方法,使得该类定理中每个定理,都可依此方法给出证明。
在证明过程中,每前进一步,都有章可循地确定下一步该做什么和如何做。
从“一理一证”到“-类一证”,是数学的认识和实践的飞跃。
吴先生创立了初等几何(泛指不具有微分运算的几何,如欧氏几何、非欧几何、仿射几何、投影几何、代数几何等等)定理证明的机械化方法,国际上称“吴方法”,首次实现了高效的几何定理的机器证明。
“吴方法”也可用于几何定理的自动发现和未知关系的自动推导。
吴文俊先生的开创性成果,打破了国际自动推理界在几何定理自动证明研究中长期徘徊不前的局面,也使我国在这一领域处于领先地位。