算法初步
算法初步的概念
算法初步的概念算法是指解决特定问题的一系列步骤和规则的有序集合。
它是计算机程序的核心,不仅仅应用于计算机科学领域,还被广泛应用于物流、金融、医疗等各个领域的问题解决中。
算法的基本特点包括确定性、有限性、输入、输出和可行性。
确定性指的是在相同条件下,算法每次的执行都应该得到相同的结果;有限性指的是算法必须在有限步骤内结束;输入是指算法接收的数据,输出是指算法最终产生的结果;可行性是指算法能够被计算机执行。
在算法的设计中,有两个核心概念,即时间复杂度和空间复杂度。
时间复杂度是指算法执行所需的时间,它可以用来度量算法的执行效率,一般用大O符号表示;空间复杂度是指算法执行所需的存储空间,它也可以用来度量算法的执行效率,同样用大O符号表示。
算法的分类有很多种方法,根据实际问题可以将算法分为以下几类:1. 暴力搜索算法:即穷举法,通过逐个枚举的方式来寻找问题的解。
这种算法的优点是简单易懂,但是随着问题规模的增大,其执行时间会急剧增加,因此一般用于问题规模较小的情况。
2. 贪心算法:贪心算法每次选择当前情况下最优的解决方案,从而不断向前推进。
它的优点是执行速度快,但缺点是可能无法得到全局最优解。
3. 分治算法:将原问题分解成多个子问题,然后解决子问题,并将子问题的解合并起来得到原问题的解。
分治算法的经典例子是快速排序和归并排序。
4. 动态规划算法:动态规划算法通过将原问题分解成多个重叠子问题,并保存子问题的解来避免重复计算。
动态规划的经典例子是背包问题和最短路径问题。
5. 回溯算法:回溯算法通过不断尝试种种可能的解决方案,并通过约束条件来回溯和剪枝,从而找到问题的解。
回溯算法的经典例子是八皇后问题和0-1背包问题。
6. 图算法:图算法主要用于解决与图结构相关的问题,例如最短路径问题、最小生成树问题和网络流问题等。
除了上述常见的算法设计方法,还有一些其他的算法思想和技巧,如分支界限算法、模拟退火算法、遗传算法等。
高一数学 算法初步
程序:
INPUT “x=”;x IF x>=0 and x<=4 THEN y=2*x ELSE IF x<=8 THEN y=8 ELSE y=2*(12-x) END IF END IF PRINT y END
程序框图如下图所示:
专题三 循环结构及其应用
算法中的逻辑结构是根据指定条件决定是否重复执行一条或 多条指令的控制结构.由于计算机的运算速度快,最适宜做 重复性的工作,因此循环是计算机解题的一个重要特征,正 因为如此,在算法的三种逻辑结构中,循环结构是最重要、最 常用的一种,也是学者在应用中感到最为困惑的一种.本文 进一步探析循环结构及其应用.
分析:依题意知,砌第20层时剩余砖为a20=1块,砌第19层时剩 余砖为a19=(1+1)×2=4块,砌第18层时剩余砖为 a18=(4+1)×2=10块,…,砌第n层时剩余砖为 an=(an+1+1)×2块,所以递推公式为 a20=1,an=2(an+1+1),n=1,2,…,19.故本题可用循环结构实现 算法.
例3
:已知函数y
x(x 0) (x 1)2 (x≥0)
,
输入任意一个实数x,
求相应的函数值,画出程序框图,写出程序.
分析:根据输入的x确定x的范围,从而确定代入哪一个表 达式.故采用条件语句,可先画出程序框图,再写程序.
解:程序框图如下图所示:
程序如下:
INPUT x IF x<0 THEN y=x ELSE y=(x+1)*(x+1) END IF PRINT y END
例4:如右图,在边长为4的正方形ABCD的边上有一点P,沿着 折线BCDA由点B(起点)向点A(终点)运动.设点P运动的路 程为x,△APB的面积为y,求y与x之间的函数关系式,画出程 序框图,写出程序.
算法初步
1
第十一章 算法初步
一、程序框图
注意:(1)赋值语句中的“=”与平时用的“=”意义是不一样的; (2)赋值符号“=”也可以写成“←”。
二、程序的三种基本结构
(1)顺序结构:是指程序按语句出现的先后次序依次执行,是一种最简单、最基本的控制结构。
(2)条件结构:是指当程序执行到某处时,将根据某种给出的判断条件决定是否执行或不执行某些语句,以改变程序的执行流向。
(3)循环结构:在一些算法中,经常会出现从某处开始,按照一定的条件,反复执行某一处理步骤的情况。
三、典型算法 (1)求和
例、下图给出一个程序框图,其运行结果是____________.
2。
算法初步知识点及习题
算法算法是高中数学课程中的新增内容,是中国数学课程内容的一个新特色.“算法”过程是指机械式地按照某种确定的步骤行事,通过一系列小的简单计算操作完成复杂计算的过程.算法的学习内容大致可分为三个步骤:用自然语言描述算法;精确刻画算法(程序框图);计算机实现执行算法(程序语言的描述过程).算法思想贯穿高中数学课程的相关部分.【知识要点】1.算法:算法可以理解为由基本运算及规定的运算顺序所构成的完整的解题步骤,或者看成按照要求设计好的有限的确切的计算序列,并且这样的步骤或序列能够解决一类问题.现代意义上的“算法”通常是指可以用计算机来解决的某一类问题的程序或步骤.2.程序框图程序框图:用一些通用的符号构成一张图来表示算法,这种图称为程序框图(程序框图又称流程图,是一种用程序框、流程线及文字说明来表示算法的图形).用框图表示算法步骤的一些常用的图形符号:程序框名称功能终端框(起止框) 表示一个算法的起始和结束输入、输出框表示一个算法输入和输出的信息处理框(执行框) 赋值、计算判断框判断某一条件是否成立,成立时在出口处标明“是”,不成立时标明“否”↓→流程线(指向线) 指引流程图的方向连接点连接另一页或另一部分的框图程序框图的三种基本逻辑结构:顺序结构:描述的是最简单的算法结构,语句与语句之间、框与框之间按从上到下的顺序进行(如图9-1).图9-1条件分支结构:依据指定条件选择执行不同指令的控制结构(如图9-2).图9-2循环结构:根据指定条件决定是否重复执行一条或多条指令的控制结构(如图9-3).图9-33.几种基本算法语句任何一个程序设计语言中,都包含五种基本的算法语句,即输入语句、输出语句、赋值语句、条件语句、循环语句.输入语句和输出语句分别用来实现算法的输入信息、输出结果的功能;赋值语句是用来表明赋给某一个变量一个具体的确定值的语句;条件语句是处理条件分支逻辑结构的算法语句;循环语句是用来处理算法中的循环结构的语句.4.中国古代算法案例:更相减损之术、辗转相除法:求两个正数的最大公因数的方法.辗转相除法算法步骤:第一步:用两数中较大数除以较小数,求商和余数.第二步:用除数除以余数.第三步:重复第二步,直到余数为0.第四步,得出两数的最大公约数,即余数0之前的余数.更相减损术算法步骤:第一步:用较大数减去较小数,得到差.第二步:比较减数与差的大小,再用较大数减去较小数.第三步:重复第二步,直到差与减数相等为止.第四步:相等数即为最大公约数.割圆术:用正多边形的面积逐渐逼近圆面积的算法求圆周率π. 秦九韶算法:求一元多项式的值的一种方法,递推关系为),,2,1(10n k a x v v a v k n k kn=⎩⎨⎧+==-- 【复习要求】1.了解算法的含义,了解算法的思想.2.理解程序框图的三种基本逻辑结构:顺序结构、条件分支结构、循环结构.3.理解几种基本算法语句——输入语句、输出语句、赋值语句、条件语句、循环语句的含义.【例题分析】例1 如图(图9-4)所示,将一系列指令用框图的形式表示,箭头指向下一步的操作.请按照框图回答问题:图9-4(1)这个框图表示了怎样的算法?(2)输出的数是多少?【分析】由框图中的文字及图形符号表示的操作内容可知:此算法是“求1到50的和”,由此可以算出输出的数.解:(1)此框图表示的算法为:求1+2+3+…+50的和;(2)易知所求和为1275.【评析】程序框图主要包括三部分:表示相应操作的框,带箭头的流程线和框外必要的说明.读框图时要从这三个方面研究,流程线反映了命令执行的先后顺序,主要看箭头方向,框及内外的文字说明表明了操作内容.常用这种方式考察对算法的理解和应用.例2 (1)如图9-5所示的是一个算法的程序框图,已知a1=3,输出的结果为7,则a2的值为______.图9-5(2)如图9-6所示的是某个函数求值的程序框图,则满足该程序的函数解析式为_____.图9-6(3)如图9-7所示的是求某个数列和的程序框图,此程序输出的结果为_____.图9-7【分析】这三个小题的重点在于读懂框图.(1)只含有顺序结构,(2)含有条件分支结构,表明函数的定义域为R ,当x <0时,遵从解析式f (x )=3x -1,否则(即当x ≥0时),遵从解析式f (x )=2-5x ;(3)中有两个循环变量S 、I ,S 是累加变量,I 是计数变量;另外还要判断I 的奇偶性,以此决定是加还是减.解:(1)112=a ;(2)⎩⎨⎧≥-<-=)0(52)0(13)(x x x x x f ;(3)S =12-22+32-42+…+992-1002=-5050.【评析】题(1),只含有顺序结构,所表示的算法比较简单,只需按照框图箭头方向依次读出即可.题(2)含有条件分支结构,这是一个与分段函数有关的算法,框图中含有判断框.读包含有判断框的框图时,要特别重视判断框内的条件和框外的文字说明,对应的下一步操作会依条件不同而改变.题(3)含有循环结构,当解决一些有规律的科学计算问题,尤其是累加和累乘时,往往可以利用循环结构来实现算法.循环结构有两种,读包含有循环结构的框图时,除关注判断框内外的说明外,一般要从开始依顺序做几次循环,观察变量的变化规律来帮助读懂算法的含义.例3 (1)已知平面上的一点P 0(x 0,y 0)和直线l :Ax +By +C =0,求点P 0到直线l 的距离d ,并画出程序框图.(2)用条件分支结构写“已知三个数a 、b 、c ,找出其中最大数”的算法及框图.(3)写出求n131211++++的和的算法,画出程序框图,并写出相应程序(选做). 【分析】正确分析“算理”,才能选择恰当的算法结构,有条理的表达算法.(1)在已知点到直线距离公式的前提下,适合用顺序结构表示;(2)涉及比大小,必须用到条件分支结构;(3)中分母有规律的递增,可以引入累加变量S 和计数变量i ,且S =S +1/i 是反复进行的,可以用循环结构表示.解:(1)算法及框图为:S1 输入x 0,y 0;A ,B ,C ; S2 计算m =A 2+B 2;S3 计算n =Ax 0+By 0+C ; S4 计算mn d ||=; S5 输出d ;(2)算法及框图为:S1 输入a ,b ,c ; S2 令x =a ;S3 若b >x ,则令x =b ;否则,执行S4;S4 若c >x ,则令x =c ;否则,执行S5; S5 输出x ;(3)算法及框图为:S1 输入i =1,S =0; S2 当i ≤n 时,,1iS S += i =i +1;否则执行S3; S3 输出S ;程序如下; S =0For i =1:1:n S =S +1/i i =i +1 endprint(%io (2),S )【评析】书写算法时,一步一步的程序化步骤,即“算则”固然重要,但这些步骤的依据,即“算理”有着更基本的作用,“算理,,是“算则”的基础,“算则”是“算理”的表现.这三道小题由于算理不同,所蕴含的算法结构也不同.通过实例,模仿、操作、探索,经历通过设计程序框图表达解决问题的过程,可以更好的理解几种基本算法语句——输入语句、输出语句、赋值语句、条件语句、循环语句,体会和理解算法的含义,了解算法语言的基本构成.本例中涉及的“利用公式求点到直线的距离”、“实数排序求最值问题”、“求数列的和或积的问题”,还包括“二分法求函数零点”、“质数的判定”,“求π的近似值”等等,都是算法的典型案例,学习时要给予充分的重视.一般算法的表示方法并不唯一.不同的算法语言的书写形式是有差别的.本书所采用的是Scilab 语言,学习时要了解赋值语句、输入输出语句、if 语句、while 和for 语句的基本含义及表达方式,能够读懂语句表示的算法过程.例4 (1)用辗转相除法计算56和264的最大公约数时,需要做的除法次数是______. (2)用更相减损术求56和98的最大公约数时,操作如下:(98,56)(56,42)(42,14)(28,14)(14,14),由此可知两数的最大公约数为______.(3)用秦九韶算法求得多项式f (x )=x 6-2x 5+3x 3+4x 2-6x +5当x =2时函数值为______.解:(1)8216816240164015640564264+⨯=+⨯=+⨯=+⨯=所以最大公约数为8,需做的除法次数是4;(2)最大公约数为14; (3)33. 【评析】书上所涉及的古代基本算法案例包括:更相减损术与辗转相除法、秦九韶算法、割圆术.辗转相除法与更相减损术都是求最大公约数的方法,辗转相除法又叫欧几里得方法,计算上以除法为主,更相减损术以减法为主,计算次数上,前者相对较少,特别是两个整数相差较大时区别尤其明显;辗转相除法以余数为0结束,更相减损术则以减数与差相等结束.秦九韶算法的特点是把求n 次多项式的值转化为求n 个一次多项式的值,运算时只有加法和乘法,而且运算的次数比较少,求一个n 次多项式的值最多需要进行n 次加法、n 次乘法.割圆术是由中国古代数学家刘徽提出的,是当时计算圆周率比较先进的算法,“算理”明确,即用圆内接正多边形和外切正多边形逼近圆周率,重点是确定递推关系.例5 (09辽宁)某店一个月的收入和支出总共记录了N 个数据,其中收入记为正数,支出记为负数.该店用下边的程序框图计算月总收入S 和月净盈利V .那么在图中空白的判断框和处理框中,应分别填入下列四个选项中的( )A .A >0,V =S -TB .A <0,V =S -TC .A >0,V =S +TD .A <0,V =S +T【分析】本题要注意三点:a k 有正有负;S 为总收入,是所有正数的和;T 为总支出,是所有非正数的和.答案为C【评析】本题结合实际背景,强调算法的应用价值,是一种比较新的题型,应引起关注.练习9一、选择题1.任何一个算法都必须有的基本结构是( )A.顺序结构B.条件分支结构C.循环结构D.以上三个都要有2.下面给出对程序框图的几种说法:①任何一个程序框图都必须有起止框;②判断框有一个入口,有不止一个出口;③对于一个算法来说,判断框内的条件表达方式是唯一的;其中正确的有( )A.0个B.1个C.2个D.3个3.在算法的逻辑结构中,要求进行逻辑判断并根据结果进行不同处理的是哪种结构( ) A.顺序结构B.条件分支结构和循环结构C.顺序结构和条件分支结构D.顺序结构和循环结构4.算法:S1 输入n;S2 判断n是否是2;若n=2,则n满足条件,若n>2,则执行S3;S3 依次从2到n-1检验能否整除n,若都不能整除,则n满足条件;满足上述算法的n是( )A.奇数B.偶数C.质数D.合数二、填空题5.阅读下面两个程序框图,框图1输出的结果为______;框图2输出的结果为______.框图1 框图26.(08广东)阅读图9-8的程序框图,若输入m=4,n=6,则输出a=______,i=______.图9-8 图9-97.阅读图9-9的程序框图,若输入的n是100,则输出的变量S和T的值依次是______.8.“x=3*5”和“x=x+1”是某个程序中的先后相邻两个语句,下列说法中①“x=3*5”是将数值15赋给x,而不是普通运算“x=3*5=15”;②“x=3*5”可以写成“3*5=x”③语句“x=x+1”在执行时,“=”右边x为15,“=”左边x为16;正确的有______.三、解答题9.分别用辗转相除法和更相减损术求189和81的最大公约数.10.用循环语句书写求1+2+3+…+n>1000的最小自然数n的算法,画出程序框图,并写出相应的程序(选做).11.(09宁夏)为了测量两山顶MN间的距离,飞机沿水平方向在AB两点进行测量,MN在同一个铅垂平面内(如图).飞机能够测量的数据有俯角和AB间的距离,请你设计一个方案,包括:指出需要测量的数据(用字母表示,并在图中标出);用文字和公式写出计算MN间距离的步骤.专题九 算法参考答案练习9一、选择题1.A 2.C 3.B 4.C 二、填空题5.27,21 6.12,3 7.2550,2500 8.①③. 三、解答题9.解:辗转相除法:3278127281189 ⨯=⨯=,所以最大公约数为27.更相减损术:189-81=108,108-81=27,81-27=54,54-27=27, 所以最大公约数为27. 10.解:S1 输入S =0,i =1; S2 S =S +i ,i =i +1;S3 若S ≤1000,重复执行S2; 若 S >1000,输出i .S =0,i =1; While S ≤1000 S =S +i ; i =i +1; endprint (%io (2),i )11.解:如图(1)需要测量的数据有:A 点到M 、N 的俯角α1,β1;B 点到M 、N 的俯角α 2,β 2;A 、B 的距离d .11 / 11 (2)第一步:计算BM ,由正弦定理)sin(sin 211ααα+=d BM ; 第二步:计算BN ,由正弦定理)sin(sin 121βββ-=d BN ; 第三步:计算MN ,由余弦定理 )cos(22122αβ+++=⋅⋅BN BM BN BM MN .。
算法初步
第十一章算法初步本章知识结构图考纲解读1.了解算法的含义和思想.2.理解程序框图的3中基本逻辑结构:顺序、条件分支、循环.3.理解5种基本算法语句——输入、输出、赋值、条件和循环语句的含义.命题趋势探究预测在2019年高考中,本章知识仍为考查的热点,内容以程序框图为主.从形式上看,以选择题和填空题为主,或以实际问题为背景,侧重知识应用能力的考查,要求考生具备一定的逻辑推理能力.本专题主要考察算法的逻辑结构,要求能够写出程序的运行结果、指明算法的功能、补充程序框图,求输入参量,并常将算法与其他板块知识(尤其是数列)进行综合考查.一般来说,有关算法的试题属中档题目,分值稳定在5分.知识点精讲一、算法与程序框图1.算法算法通常是指可以用计算机来解决的某一类问题的程序或步骤,这些程序或步骤必须是确定的和能执行的,并且能够在有限步之内完成.2. 程序框图(1)定义:程序框图又称流程图,是一种用程序框、流程线及文字说明来表示算法的图形.(2)说明:在程序框图中,一个或几个程序框的组合表示算法中的一个步骤;带有方向的流程线将程序框连接起来,表示算法步骤的执行顺序.3.3种基本逻辑结构程序框图有3种基本的逻辑结构,如表11-1所示.二、基本算法语句1.3中基本算法语句的一般格式和功能3中基本算法语句的一般格式和功能如表11-2所示.2.条件语句(1)算法中的条件结构由条件语句来表达. (2)条件语句的格式及框图如图11-1和11-2所示. ①IF—THEN 格式IF 条件 THEN 语句体 END②IF—THEN —ELSE 格式 IF 条件 THEN 语句体1 ELSE 语句体2END图11-23.循环语句(1)算法中的循环结构是由循环语句来实现. (2)循环语句的格式及框图如图11-3和11-4所示. ①UNTIL 语句DO循环体LOOP UNTIL 条件②WHILE 语句 WHILE 条件循环体END(3)WHILE 语句与UNTIL 语句之间的区别与联系如表11-3所示.三、算法案例 1.辗转相除法辗转相除法又叫欧几里德算法,是一种求最大公约数的古老而有效的算法,其步骤如下: (1)用两数中较大的数除以较小的数,求得商和余数; (2)以除数和余数中较大的数除以较小的数; (3)重复上述两步,直到余数为0; (4)较小的数是两数的最大公约数. 2.更相减损术更相减损术是我国古代数学专著《九章算术》中介绍的一种求两数最大公约数的算法,其基本过程为:对于任意给定的两个正整数,以大数减小数,接着把所得的差与较小的数比较,并以大数减小数,继续该操作,直到所得的数相等为止,这个数(等数)就是所求的最大图11-3图11-4公约数.3.秦九韶算法秦九韶算法是我国南宋数学家秦九韶在他的代表作《数书九章》中提出的一种用于计算一元n次多项式的值的方法。
小学信息技术五年级下册第6课 《算法初步》课件
是
是
居民生活用电(单表)的计费算法优化:当输入的数值不是≥0时,应该提示用户重新输入;直到用户输入的数值是≥0时才进行电费计算
开始
输出电费t
输入用电度数a
a≤2160?
否
t=2160*0.6+1040*0.65+(a-4200)*0.9
2160<a≤4200?
否
t=a*0.6
t=2160*0.6+(a-2160)*0.65
当循环
先执行循环体语句、后判断条件是否成立。先执行一次循环体语句,再判断条件,当判断框中的条件为“否”时,返回重新执行循环体语句,直到判断框中的条件为“是”时结束循环
直到循环
A
条件
A
条件
是
是
否
否
如下图所示的算法流程图,当输入值为-5时,其输出结果是________
开始
输入A
A<0?
A=A+2
A=A*3
开始
下课,吃午饭
输出”已完成“
结束
输入时间a
a<8点?
是
否
8点≤a<12点?
否
早读
上课
是
开始
①进水
②洗涤
③排水
⑥漂洗
⑤进水
④脱水
⑦排水
⑧脱水
⑨鸣叫
结束
算法是解决“做什么”和“怎么做”的具体步骤的描述,从算法的特征来看,此流程图还不能称为洗衣机的算法,因为其每一步没有定义洗衣机可以明确执行的细节。以第②步“洗涤”为例,通过电动机正转、停、反转、停的反复循环,完成洗涤任务,为这一步单独设计的“洗涤算法”可以用自然语言描述为:
第6课 算法初步
算法初步
n1
a1x a0
f x an x an1 x an 2 x a1 x a0
多少次加法?多少次乘法?
f x an x an 1 x an 2 x a1 x a0
令 vk
Y
P
N
A B
A
B
三 种 结 构
N
A P Y
P N
Y
A
赋值语句 A=B
例如:交换两个变量 x、y 的值。
输入语句与赋值语句的区别是什么?
输出语句有计算功能吗? 赋值语句有计算功能吗? 输入语句有计算功能吗?
开始
输入 x
N N
y 1
x0
x0
Y
y 1
Y
y0
输 出y
结束
设计算法,输出1000以内能被3和5整除的所有正整数,已知算 法流程图如右图,请填写空余部分:① _________ ;② __________。
循环体;
end while 表达式
循环体;
end
第18题
辗转相除法 用较大的数除以较小的数,所得余 数与较小的数继续,直到大数被小 数除尽,这时较小的数就是最大公 约数。
更相减损术 用较大的数减去较小的数,所得差 数与较小的数继续,直到相等,这 时相等的数就是最大公约数。
秦九韶算法
f x an x an1x
i=1
对任意正整数n,设计一个算法求 1 1 1 S 1 2 3 n 的值,画出程序框图。
基本算法语句
a=input(“a=”) print(%io(2),a,b)
条件语句
if 表达式
语句序列1; else
高中数学课件:算法初步
4.(2020·洛阳第一次联考)执行如图所示的程序
框图,若输入 m=209,n=121,则输出的 m
的值为
()
A.0 C.22
B.11 D.88
解析:当 m=209,n=121 时,m 除以 n 的余数 r=88,此时 m =121,n=88,m 除以 n 的余数 r=33,此时 m=88,n=33,m 除以 n 的余数 r=22,此时 m=33,n=22,m 除以 n 的余数 r =11,此时 m=22,n=11,m 除以 n 的余数 r=0,此时 m=11, n=0,退出循环,输出 m 的值为 11,故选 B. 答案:B
二、易错对对碰
(规避易错:程序框图中输入、输出的易错点)
1.当 m=7,n=3 时,执行如图所示的程序框图,
输出的 S 的值为
()
A.7
B.42
C.210
D.840
解析: m=7,n=3,k=7,S=1,不满足 k<m-n+1;S=1×7 =7,k=6,不满足 k<m-n+1;S=7×6=42,k=5,不满足 k<m-n+1;S=42×5=210,k=4,满足 k<m-n+1,退出循 环,输出的 S 的值为 210. 答案:C
2.一算法的程序框图如图所示,若输出的 y=12,则输入的 x 的
值可能为
()
A.-1 C.1
B.0 D.5
解析:由程序框图知 y=sinπ6x,x≤2, 当 x>2 时,令 y=2x 2x,x>2.
=12,解得 x=-1(舍去);当 x≤2 时,令 y=sinπ6x=12,解得 x =12k+1(k∈Z)或 x=12k+5(k∈Z),当 k=0 时,x=1 或 x=5(舍 去),所以输入的 x 的值可能是 1. 答案:C
高一数学必修3第一章《算法初步》
v2 v1x an2
v3
v2
x
an3
vn vn1x a0
用秦九韶算法求 n 次多项式仅需要 n 次乘法运算, n 次加法运算 实质:把 n 次多项式的求值问题转化成了求 n 个一次多项式的值的问题
秦九韶算法求一般多项式 f ( x) an xn an 1 xn 1
a1 x a0 的值
v1 an x an1
一共做了 4 乘法运算,4 次加法运算
秦九韶算法适用于一般的多项式:
f ( x) an xn an 1 xn 1
a1 x a0 的求值问题吗?
第 1 步:不断提取 x,将多项式变形
f (x) (((an x an1)x an2 )x a1)x a0
第 2 步:由内向外逐层计算
v1 an x an1
一共做了 4 乘法运算,4 次加法运算
西方称为: 霍纳算法
秦九韶:我国南宋时期数学家(男,公元1202-1261) 划时代巨著 ———《数书九章》
怎样求多项式 f ( x) 2x4 4x3 3x2 6x 7 当 x 5 时的值?
第 1 步:不断提取 x,将多项式变形
f (x) 2x4 4x3 3x2
高一数学必修3第一章《算法初步》
怎样求多项式 f ( x) 2x4 4x3 3x2 6x 7 当 x 5 时的值?
算法 1:常规方法
f (x) 2 (5 5 5 5) 4 (5 5 5) 3 (5 5) 6 5 7
一共做了 10 次乘法运算,4 次加法运算
算法 2:提高效率
f (x) 2 x3 x 4 x2 x 3 x x 6 x 7
2x3 4x2 3x
6x 7 6x 7
秦
2x2 4x 3 x 6 x 7
算法初步知识点
高中数学必修3知识点总结第一章算法初步1.1.1算法的概念1、算法概念:在数学上,现代意义上的“算法”通常是指可以用计算机来解决的某一类问题是程序或步骤,这些程序或步骤必须是明确和有效的,而且能够在有限步之内完成.2. 算法的特点:(1)有限性:一个算法的步骤序列是有限的,必须在有限操作之后停止,不能是无限的.(2)确定性:算法中的每一步应该是确定的并且能有效地执行且得到确定的结果,而不应当是模棱两可.(3)顺序性与正确性:算法从初始步骤开始,分为若干明确的步骤,每一个步骤只能有一个确定的后继步骤,前一步是后一步的前提,只有执行完前一步才能进行下一步,并且每一步都准确无误,才能完成问题.(4)不唯一性:求解某一个问题的解法不一定是唯一的,对于一个问题可以有不同的算法.(5)普遍性:很多具体的问题,都可以设计合理的算法去解决,如心算、计算器计算都要经过有限、事先设计好的步骤加以解决.1.1.2程序框图1、程序框图基本概念:(一)程序构图的概念:程序框图又称流程图,是一种用规定的图形、指向线及文字说明来准确、直观地表示算法的图形。
一个程序框图包括以下几部分:表示相应操作的程序框;带箭头的流程线;程序框外必要文字说明。
(二)构成程序框的图形符号及其作用学习这部分知识的时候,要掌握各个图形的形状、作用及使用规则,画程序框图的规则如下:1、使用标准的图形符号。
2、框图一般按从上到下、从左到右的方向画。
3、除判断框外,大多数流程图符号只有一个进入点和一个退出点。
判断框具有超过一个退出点的唯一符号。
4、判断框分两大类,一类判断框“是”与“否”两分支的判断,而且有且仅有两个结果;另一类是多分支判断,有几种不同的结果。
5、在图形符号内描述的语言要非常简练清楚。
(三)、算法的三种基本逻辑结构:顺序结构、条件结构、循环结构。
1、顺序结构:顺序结构是最简单的算法结构,语句与语句之间,框与框之间是按从上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的,它是任何一个算法都离不开的一种基本算法结构。
算法初步
算法初步一、知识概述主要学习了算法初步,首先引出了算法的描述性的定义及算法的主要特征,然后借助例题进一步展现这些特征.程序框图能够更加直观、清楚地描述算法步骤.用算法语句描述算法是用计算机解决问题的前提条件,而一般的操作顺序是先设计算法,接着用程序框图表示算法,然后将程序框图转化为算法语句.本节按照三种基本的逻辑结构的顺序,分别介绍了相关的基本的算法语句,其中包含了与相应程序框图比较、把程序框图转化为算法语句的过程.最后学习了算法案例,了解经典的算法案例有助于学生深入理解算法的特征和进一步体会算法的思想.二、重难点知识归纳(一)算法的基本概念1、算法定义描述:在数学中,现代意义上的“算法”通常是指可以用计算机来解决的某一类问题的程序或步骤,这些程序或步骤必须是明确和有效的,而且能够在有限步之内完成.2、算法的特性:①有穷性:一个算法的步骤序列是有限的,它应在有限步操作之后停止,而不能是无限的.②确定性:算法中的每一步应该是确定的并且能有效地执行且得到确定的结果,而不应当是模棱两可.③可行性:算法中的每一步操作都必须是可执行的,也就是说算法中的每一步都能通过手工和机器在有限时间内完成.④输入:一个算法中有零个或多个输入.⑤输出:一个算法中有一个或多个输出.(二)三种基本逻辑结构1、顺序结构:顺序结构是最简单的算法结构,语句与语句之间,框与框之间是按从上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的,它是任何一个算法都离不开的一种基本算法结构.2、条件结构:条件结构是指在算法中通过对条件的判断,根据条件是否成立而选择不同流向的算法结构.3、循环结构:在一些算法中,经常会出现从某处开始,按照一定条件,反复执行某一处理步骤的情况,这就是循环结构,反复执行的处理步骤为循环体,显然,循环结构中一定包含条件结构.循环结构又称重复结构,循环结构可细分为两类:(1)当型循环结构:每次执行循环体前对循环条件进行判断,当条件满足时执行循环体,不满足时停止.(2)直到型循环结构:执行了一次循环体之后,对控制循环条件进行判断,当条件不满足时执行循环体,满足则停止.(三)基本算法语句1、输入语句2、输出语句3、赋值语句注意:赋值语句中的“=”叫做赋值号,它和数学中的等号不同,计算机执行赋值语句时,先计算“=”右边表达式的值,然后把这个值赋给“=”左边的变量.4、条件语句当计算机执行上述语句时,首先对IF后的条件进行判断,如果条件符合,就执行THEN后的语句1,否则执行ELSE后的语句2.其对应的程序框图为:(如上右图)计算机执行这种形式的条件语句时,也是首先对IF后的条件进行判断,如果条件符合,就执行THEN后的语句,如果条件不符合,则直接结束该条件语句,转而执行其他语句.其对应的程序框图为:(如上右图)5、循环语句(1)WHILE语句其中循环体是由计算机反复执行的一组语句构成的.WHLIE后面的“条件”是用于控制计算机执行循环体或跳出循环体的.当计算机遇到WHILE语句时,先判断条件的真假,如果条件符合,就执行WHILE 与WEND之间的循环体;然后再检查上述条件,如果条件仍符合,再次执行循环体,这个过程反复进行,直到某一次条件不符合为止.这时,计算机将不执行循环体,直接跳到WEND语句后,接着执行WEND之后的语句.因此,当型循环有时也称为“前测试型”循环.其对应的程序结构框图为:(如上右图)(2)UNTIL语句当计算机遇到UNTIL语句时,先判断条件的真假,如果条件不符合,就执行DO 与LOOP UNTIL之间的循环体;然后再检查上述条件,如果条件仍不符合,再次执行循环体,直到某一次符合条件时停止.其对应的程序结构框图为:(如上右图)(四)算法案例1、辗转相除法与更相减损术辗转相除法与更相减损术的区别:(1)都是求最大公约数的方法,计算上辗转相除法以除法为主,更相减损术以减法为主,计算次数上辗转相除法计算次数相对较少,特别当两个数字大小区别较大时计算次数的区别较明显.(2)从结果体现形式来看,辗转相除法体现结果是以相除余数为0则得到,而更相减损术则以减数与差相等而得到.2、秦九韶算法3、进位制进位制是一种记数方式,用有限的数字在不同的位置表示不同的数值.可使用数字符号的个数称为基数,基数为n,即可称n进位制,简称n进制.现在最常用的是十进制,通常使用10个阿拉伯数字0-9进行记数.三、典型例题剖析例1、设计求|x-2|的算法,并画出流程图.解:算法如下:⑴若x<2,则|x-2|等于2-x,⑵若x≥2,则|x-2|等于x-2.其流程图如图:例2、(I)用辗转相除法求840与1764的最大公约数.(II)用更相减损术求440 与556的最大公约数.解:(I)用辗转相除法求840与1764 的最大公约数.1764 = 840×2+84;840 = 84×10+0.所以840与1764 的最大公约数是84.(II)用更相减损术求440 与556的最大公约数.556-440 = 116;440-116 = 324;324-116 = 208;208-116 = 92;116-92 = 24;92-24 = 68;68-24 = 44;44-24 = 20;24-20 = 4;20-4 = 16;16-4 = 12;12-4 = 8;8-4 = 4.所以440 与556的最大公约数4.例3、设计算法求的值.要求画出程序框图,写出用基本语句编写的程序.解:这是一个累加求和问题,共99项相加,可设计一个计数变量,一个累加变量,用循环结构实现这一算法.程序框图如下图所示:例4、已知函数, 编写一程序求函数值.解:例5、有10个互不相等的数,写出找出其中一个最大数的算法和程序.解:(一)算法S1:输入一个数,放在MAX中S2:i=1S3:输入第1个数,放入x中S4:若x>MAX,则MAX=xS5: i=i+1S6:若i≤9,返回S3继续执行,否则停.(二)程序框图。
高中数学必修3(人教A版)第一章算法初步1.1知识点总结含同步练习及答案
描述:例题:高中数学必修3(人教A版)知识点总结含同步练习题及答案第一章 算法初步 1.1 算法与程序框图一、学习任务1. 了解算法的含义,了解算法的基本思想,能用自然语言描述解决具体问题的算法.2. 了解设计程序框图表达解决问题的过程,了解算法和程序语言的区别;了解程序框图的三种基本逻辑结构,会用程序框图表示简单的常见问题的算法.二、知识清单算法 程序框图三、知识讲解1.算法算法(algorithm)是指按照一定规则解决某一类问题的明确和有限的步骤 .可以理解为由基本运算及规定的运算顺序所构成的完整的解题步骤,或者看成按照要求设计好的有限的确切的计算序列,并且这样的步骤或序列能够解决一类问题.描述算法可以有不同的方式.例如,可以用自然语言和数学语言加以描述,也可以借助形式语言(算法语言)给出精确的说明,也可以用框图直观地显示算法的全貌.算法的要求:(1)写出的算法,必须能解决一类问题,并且能重复使用;(2)算法过程要能一步一步执行,每一步执行的操作必须确切,不能含混不清,而且经过有限步后能得到结果.下列对算法的理解不正确的是( )A.一个算法应包含有限的步骤,而不能是无限的B.算法中的每一个步骤都应当是确定的,而不应当是含糊的、模棱两可的C.算法中的每一个步骤都应当是有效地执行,并得到确定的结果D.一个问题只能设计出一种算法解:D算法的有限性是指包含的步骤是有限的,故 A 正确;算法的确定性是指每一步都是确定的,故 B正确;算法的每一步都是确定的,且每一步都应有确定的结果,故 C 正确;对于同一个问题可以有不同的算法,故 D 错误.下列叙述能称为算法的的个数为( )描述:2.程序框图程序框图简称框图,是一种用程序框、流程线及文字说明来表示算法的图形.其中,起、止框是任何流程不可少的,表明程序的开始和结束.输入和输出框可用在算法中任何需要输入、输出的位置.算法中间要处理数据或计算,可分别写在不同的处理框内.一个算法步骤到另一个算法步骤用流程线连接.如果一个框图需要分开来画,要在断开处画上连接点,并标出连接的号码.①植树需要运苗、挖坑、栽苗、浇水这些步骤;②依次进行下列运算:,,,,;③从枣庄乘火车到徐州,从徐州乘飞机到广州;④ ;⑤求所有能被 整除的正整数,即 .A. B. C. D.解:B①、②、③为算法.1+1=22+1=33+1=4⋯99+1=1003x >x +133,6,9,12,⋯2345写出解方程组的一个算法.解:方法一:代入消元法. 第一步,由 得 ;第二步,将 代入 ,得 ,解得 ;第三步,将 代入方程 ,得 ;第四步,得到方程组的解为 .方法二:加减消元法.第一步,方程 两边同乘以 ,得 ;第二步,将第一步所得的方程与方程 作差,消去 ,得 ,解得 ;第三步,将 代入方程 ,得 ,解得 ;第四步,得到方程组的解为 .{2x +y =74x +5y =112x +y =7y =7−2x y =7−2x 4x +5y =114x +5(7−2x )=11x =4x =4y =7−2x y =−1{x =4y =−12x +y =7510x +5y =354x +5y =11y 6x =24x =4x =42x +y =72×4+y =7y =−1{x =4y =−1例题:画程序框图的规则(1)使用标准的图形符号.(2)框图一般按从上到下、从左到右的方向画.(3)除判断框外,大多数流程图符号只有一个进入点和一个退出点.判断框是具有超过一个退出点的惟一符号.(4)判断框分两大类,一类判断框是“是”与“否”两分支的判断,而且有且仅有两个结果;另一类是多分支判断,有几种不同的结果.(5)在图形符号内描述的语言要非常简练清楚.算法的三种基本逻辑结构顺序结构:语句与语句之间,框与框之间按从上到下的顺序进行.条件分支结构:在一个算法中,经常会遇到一些条件的判断,算法的流程条件是否成立有不同的流向,条件结构就是处理这种过程的结构.循环结构:在一些算法中,经常会出现从某处开始,按照一定的条件反复执行某些步骤的情况,这就是循环结构.下列程序框图分别是解决什么问题的算法.解:(1)已知圆的半径,求圆的面积的算法.(2)求两个实数加法的算法.执行如图的程序框图,输出的 ______ .解:T =30四、课后作业 (查看更多本章节同步练习题,请到快乐学)某程序框图如图所示,若输出的 ,则判断框内为( )A. B. C. D.解:AS =57k >4?k >5?k >6?k >7?已知函数 ,对每次输入的一个值,都得到相应的函数值,画出程序框图.解:f (x )={2x +3,3−x ,x 2x ⩾0x <0x答案:1. 关于算法的说法中,正确的是 A .算法就是某个问题的解题过程B .算法执行后可以产生不确定的结果C .解决某类问题的算法不是唯一的D .算法可以无限地操作下去不停止C()答案:解析:2. 下列运算不属于我们所讨论算法范畴的是 A .已知圆的半径求圆的面积B .随意抽 张扑克牌算到二十四点的可能性C .已知坐标平面内两点求直线方程D .加减乘除法运算法则B注意算法需按照一定的顺序进行.()4答案:解析:3. 执行如图所示的程序框图,如果输入的 ,则输出的 属于 .A .B .C .D .D取 ,得输出的 ,即可判断.t ∈[−2,2]S ()[−6,−2][−5,−1][−4,5][−3,6]t =−2S =64. 某批发商按客户订单数额的大小分别给予不同的优惠折扣.计算客户应付货款的算法步骤如下: :输入订单数额 (单位:件);输入单价 (单位:元);:若 ,则折扣率 ;若 ,则折扣率 ;若 ,则折扣率 ;若 ,则折扣率 ;:计算应付货款 (单位:元);:输出应付货款 .S 1x A S 2x <250d =0250⩽x <500d =0.05500⩽x <1000d =0.10x ⩾1000d =0.15S 3T =Ax (1−d )S 4T。
高一数学必修课程中的算法初步及知识点
高一数学必修课程中的算法初步及知识点在高一数学的必修课程中,算法初步是一个重要且有趣的部分。
它为我们打开了一扇通往逻辑思维和问题解决的新大门,帮助我们以更加系统和高效的方式去思考和处理问题。
算法,简单来说,就是解决问题的一系列明确的步骤。
它就像是我们做菜时的菜谱,清晰地告诉我们先做什么,再做什么,每一步该怎么做。
算法的描述方式有多种,比如自然语言、程序框图和程序语言。
自然语言描述就像是我们日常的交流,用通俗易懂的话把步骤说清楚。
比如说计算 1+2+3++100 的和,我们可以用自然语言这样描述算法:先设一个变量 S 初始化为 0,再设一个变量 i 初始化为 1,然后判断 i是否小于等于 100,如果是,就把 i 加到 S 中,然后 i 增加 1,重复这个过程,直到 i 大于 100,最后得到的 S 就是所求的和。
程序框图则更加直观形象,通过各种图形符号来表示算法的流程。
常见的图形符号有起止框、输入输出框、处理框、判断框和流程线等。
还是以计算上述求和为例,我们可以用程序框图来表示:先画一个起止框表示开始,然后画一个输入输出框输入变量 i 和 S 的初始值,接着画一个处理框进行累加和 i 的增加,再画一个判断框判断 i 是否小于等于 100,如果是,就沿着流程线回到处理框继续执行,如果否,就输出S 的值结束。
程序语言则是能够让计算机直接执行的语言,比如常见的 Python、C++等。
用程序语言编写上述求和的算法代码,会更加精确和规范。
算法的基本逻辑结构有三种:顺序结构、条件结构和循环结构。
顺序结构是最简单的,就是按照从上到下的顺序依次执行各个步骤。
比如说先计算 2+3 的值,再把结果乘以 5,这就是顺序结构。
条件结构则是根据条件的判断来决定执行不同的步骤。
就像我们出门前根据天气决定是否带伞,如果下雨就带伞,不下雨就不带伞。
循环结构用于重复执行某些步骤,直到满足特定条件为止。
比如前面计算 1 到 100 的和,就是通过循环结构不断累加。
算法初步知识点
算法初步知识点算法初步知识点(上):什么是算法?算法是指在规定时间内,解决特定问题的一种方法。
算法的特点:算法具有以下特点:1. 有穷性:算法必须在有限的步骤内完成。
2. 确定性:算法的每一个步骤都必须是确定的。
3. 可行性:算法的每一步都必须可行,能够执行的。
4. 输入:算法有零个或多个输入值。
5. 输出:算法有一个或多个输出值。
算法的分类:算法可以分为以下几类:1. 算数运算的算法:例如加法、减法、乘法、除法等。
2. 排序算法:例如冒泡排序、选择排序、插入排序、快速排序、归并排序等。
3. 查找算法:例如线性查找、二分查找等。
4. 图算法:例如最短路径算法、最小生成树算法等。
5. 动态规划算法:例如背包问题。
6. 贪心算法:例如最小生成树问题、背包问题。
算法的效率:算法的效率通常用时间复杂度和空间复杂度来表示。
时间复杂度是指算法解决问题所需的时间大小。
空间复杂度是指算法执行过程中所需的内存空间大小。
一般来说,时间复杂度越小,算法的效率越高。
算法的基本结构:算法的基本结构有三种:顺序结构、选择结构和循环结构。
顺序结构是指程序按顺序执行,依次处理。
选择结构是指程序根据某些条件进行选择执行不同的代码块。
循环结构是指程序可以反复执行某些代码块,直到满足某个条件。
算法的设计思路:算法的设计思路有两种:迭代法和递归法。
迭代法是指通过一个循环来完成某个任务。
递归法是指通过函数自身的调用来完成某个任务。
算法的常用工具:1. 数组:是一种用来存储一组相同类型的数据的数据结构。
2. 链表:是由一组节点组成的数据结构。
3. 栈:是一种后入先出的数据结构。
4. 队列:是一种先入先出的数据结构。
5. 树:是一个由节点组成的层级结构。
6. 图:是由节点和边组成的数据结构。
算法初步知识点(下):常见的排序算法:常见的排序算法有以下几种:1. 冒泡排序算法:通过比较相邻的元素大小,将较大的元素逐个交换到右侧。
2. 快速排序算法:通过选取一个基准元素,将数组分为两部分,一部分小于基准元素,一部分大于基准元素。
第九章 第4讲 算法初步
高三一轮复习学案课题第九章第4讲算法初步年级高三年级学科数学组编人核定人审核人日期学习目标:1.了解算法的含义,了解算法的思想.2.理解算法框图的三种基本结构.3.了解几种基本算法语句的含义.高考要求:1. 算法的基本结构2. 程序框图的识别与应用3. 基本算法语句一、知识导学:1. 算法的框图及结构(1)算法算法通常是指按照一定________解决某一类问题的____________的步骤.这些程序或步骤必须是________和________的,而且能够在有限步之内完成.(2)程序框图程序框图又称________,是一种用________、________及________来表示算法的图形.通常,程序框图由程序框和流程线组成,一个或几个程序框的组合表示算法中的一个步骤;________带有方向箭头,按照算法进行的顺序将________连接起来.2.算法语句的格式及框图(1)输入语句、输出语句、赋值语句的格式与功能(2)条件语句的格式及框图①IF-THEN格式②IF-THEN-ELSE格式(3)循环语句的格式及框图①UNTIL语句②WHILE语句二、要点突破:1条重要规律顺序结构是每个算法结构都含有的,而对于循环结构有重复性,条件结构具有选择性没有重复性,并且循环结构中必定包含一个条件结构,用于确定何时终止循环体.循环结构和条件结构都含有顺序结构2点必记注意1. 循环语句有两种格式:WHILE循环和UNTIL循环,WHILE循环语句尤其适合于解决一些事先不确定循环次数的问题,WHILE循环语句中的表达式的结果为真时,执行循环体,为假时跳出循环体.2. 赋值号左右不能对换,赋值语句是将赋值号右边的表达式的值赋给赋值号左边的变量,例如Y=x, 表示用x的值替代变量Y的原先的取值,不能改写为x=Y.因为后者表示用Y的值替代变量x的值.3项必须防范1. 利用循环结构表示算法,一定要先确定是用当型循环结构,还是用直到型循环结构;当型循环结构的特点是先判断再循环,直到型循环结构的特点是先执行一次循环体,再判断.2. 框图内的内容包括累加(积)变量初始值,计算变量初始值,累加值,前后两个变量的差值都要仔细斟酌,不能有丝毫差错.3. 判断框内内容的填写,有时大于等于,有时大于,有时小于,有时还是小于等于,它们的含义是各不相同的,要根据所选循环结构的类型,正确地进行选择.三、考点解析:考点一算法的基本结构例1①[2012·辽宁]执行如图所示的程序框图,则输出的S值是()A. -1B.23 C.32 D. 4②[2012·天津]阅读下面的程序框图,运行相应的程序,当输入x的值为-25时,输出x的值为_______【听课记录】考点二程序框图的识别与应用例2 ①[2012·江西]下图为某算法的程序框图,则程序运行后输出的结果是________.②[2013·合肥联考]如果执行如图所示的程序框图,输入N=5,那么输出的S=________.【听课记录】考点三基本算法语句例3[2013·福建模]运行以下程序时,输出的值共有( )A. 5个B. 4个C. 3个D. 9个【听课记录】四、练习提升:1. [2012·北京]执行如图所示的程序框图,输出的S值为()A. 2B. 4C. 8D. 162. [2013·银川模拟]下面程序运行结果为()A. 7B. 6C. 5D. 43. [2013·宁德模拟]某程序框图如右图所示,若输出的S>80,则m的最小值是()A. 7B. 6C. 5D. 44. 已知程序如图所示,则输出结果S=________.5. [2012·湖北]阅读如图所示的程序框图,运行相应的程序,输出的结果s=________.【课后反思】。
算法初步
数学高考总复习:算法初步知识网络目标认知考试大纲要求:1.了解算法的含义,了解算法的思想;2. 理解程序框图的三种基本逻辑结构:顺序、条件分支、循环.3. 理解几种基本算法语句――输入语句、输出语句、赋值语句、条件语句、循环语句的含义.重点、难点:对算法思想和程序框图的识别与理解。
知识要点梳理知识点一:算法1.算法的概念算法是解决问题的程式,可以是一个公式,也可以是一套可行步骤,通俗理解就是解决问题的一系列可操作的做法. 数学中的算法可以理解为由基本运算及规定的运算顺序所构成的完整的解题步骤,或者看成按照要求设计好的有限的确切的计算序列,并且这样的步骤或序列能够解决一类问题.总之,算法是为解决一个特定问题而采取的确定的有限的步骤。
计算机算法是指根据数值计算问题或处理方案,具体列出让计算机如何进行操作的步骤。
2.算法的特征:①指向性:能解决某一个或某一类问题;②精确性:每一步操作的内容和顺序必须是明确的;算法的每一步都应当做到准确无误,从开始的“第一步”直到“最后一步”之间做到环环相扣,分工明确.“前一步”是“后一步”的前提,“后一步”是“前一步”的继续.③有限性:必须在有限步内结束并返回一个结果;算法要有明确的开始和结束,当到达终止步骤时所要解决的问题必须有明确的结果,也就是说必须在有限步内完成任务,不能无限制的持续进行.④构造性:一个问题可以构造多个算法,算法有优劣之分。
3.算法的表示方法:(1) 用自然语言表示算法: 优点是使用日常用语, 通俗易懂;缺点是文字冗长, 容易出现歧义;(2) 用程序框图表示算法:用图框表示各种操作,优点是直观形象, 易于理解。
注意:泛泛地谈算法是没有意义的,算法一定以问题为载体。
知识点二:程序框图1. 程序框图的概念:程序框图又称流程图,是最常用的一种表示法,它是描述计算机一步一步完成任务的图表,直观地描述程序执行的控制流程,最便于初学者掌握。
3.画程序框图的规则:(1)使用标准的框图的符号;(2)框图一般按从上到下、从左到右的方向画;(3)除判断框图外,大多数框图符号只有一个进入点和一个退出点。
算法初步
2.(2016北京,理3)执行如图所示的程序框图,若输入的a值为1,则 输出的k值为( )
A.1 B.2 C.3 D.4
关闭
由程序框图可知,输入 a=1,则 k=0,b=1;进入循环体,a=-12,a=b 不成
立,k=1,a=-2,a=b 不成立,k=2,a=1,此时 a=b=1,输出 k,则 k=2,故选
知识梳理 双基自测
1234
4.基本算法语句 (1)输入、输出、赋值语句的格式与功能
语 句 一般格式
功能
输入语句 INPUT“提示内容”;变量 输入信息
输出常量、变量的值和 输出语句 PRINT“提示内容”;表达式 系统信息
赋值语句 变量=表达式
将表达式的值赋给变量
第十章
10.1 算法初步
知识体系
知识梳理
第十章
考点1
考点2
考点3
10.1 算法初步
知识体系
知识梳理
核心考点
学科素养
-22-
(2)开始a=4,b=6,n=0,s=0,执行循环, 第一次:a=2,b=4,a=6,s=6,n=1; 第二次:a=-2,b=6,a=4,s=10,n=2; 第三次:a=2,b=4,a=6,s=16,n=3; 第四次:a=-2,b=6,a=4,s=20,n=4; 此时满足判断条件s>16,退出循环,输出n=4.故选B.
综上知s∈[-3,4].故选A. (2)由程序框图,得(14,18)→(14,4)→(10,4)→(6,4)→(2,4)→(2,2),则 输出的a=2.
第十章
10.1 算法初步
知识体系
知识梳理
核心考点
学科素养
-19-
考点1
考点2
第4章计算机算法初步
开始
输入正整数m和n
r←m被n除的余数
N
r不等于0?
Y m ← n; n ← r
r←m被n除的余数
输入正整数m和n
r←m被n除的余数
当r不等于0
m ← n; n ← r
r←m被n除的余数
输出n的值
输出n的值 结束
与流程图相比,N-S盒图保留了流程图方 式直观、形象和易于理解的优点。
去掉了流程线,形式上更紧凑避免了 流程的随意跳转,确保了结构化技术
printf( “No solution\n” ); else if ( t==0 )
printf( “X = %lf\n”, -b/(2.0*a) ); else {
double t0; t0 = sqrt( (double)t ); printf( “X1 = %lf, X2= %lf\n”, (-b+t0)/(2*a), (-b-t0)/(2*a) ); } }
计算1+2+…+100的流程图
开始
A I←1 S←0
I ← I+1
A
B
B
S← S+I
Y
I<=100?
C
N
C
输出S的值
结束
求最大公约数流程图
开始
A
输入正整数m和n
B
r←m被n除的余数
N
r不等于0?
C
Y
m ← n; n ← r
r←m被n除的余数
D
输出n的值
求最大公约数可以用“辗转相 除法”,方法如下:
b. 进行100次加法后结 束,或者当加数大于 100时结束
c. S中存放计算结果
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
bx
否 是 否 输出 x 结束
xb
xc
-5-
三、解答题: 18.已知数列{an }的各项均为正数,观察程序框图,若 k 5, k 10 时,分别有
5 10 和S 11 21 (1)试求数列{an}的通项; S
开始 输入 A1 , k , d
(2)令 bn 2 , 求b1 b2 ... bm 的值.
开始 输入 x, h 是
C. 4
D. 4.5
开始 输入 N , a1 , a2 , , aN
k 1, S 0, T 0
x0
是
否
A ai
x 1
否
否
是
k k 1
y0
x
yx
输出 y
y 1
T T A
kN
否
SSA
是
xh
否
x2
是 结束 9题 输出 S , V 结束 10 题
B 2B 1
否 输出 s 结束 7题 结束
A5
否 输出 B 是 8题
8.某程序框图如图所示,则该程序运行后输出的 B 等于 A. 15 B. 29 C. 31 D. 63
-2-
9.如果执行右边的程序框图,输入 x 2, h 0.5 ,那么输出的各个数的和等于 A. 3 B. 3.5
1 x
D. f ( x) sin x
开始
输入函数 f ( x) 开始 否
f ( x) f ( x) 0 ?
是 否 存在零点? 是 输出函数 f ( x)
输入 a, b
x a b
是
a a2 b x 1
x2
否 输出 x 结束
结束 12 题
13 题
二、填空题: 13.程序框图(即算法流程图)如图所示,其输出结果是_______. 14.执行右边的程序框图,输出的T .
开始
a 1, b 1
否
a3是ຫໍສະໝຸດ b 2ba a 1输出 b 结束
17 右面的程序框图,如果输入三个实数 a,b,c,要求输出这 三个数中最大的数,那么在空白的判断框中,应该填入下面四个选项中的 ①c x ②xc ③C. c b ④b c
开始 输入 a, b, c
xa
是
i
i 1 i 4?
1 1 S
n n 1
S 2
输出 n 2题 结束
是 输出 S 结束 1题
是
3.阅读右图所示的程序框图,运行相应的程序,输出的结果是 A. 2 B. 4 C. 8 D. 16
开始
S 2, n 1
S
开始
1 1 S
k 0, S 0
否
S 100 ? 是
算法初步练习题
一、选择题: 1.阅读下面的程序框图,则输出的 S A. 14 B. 20 C. 30 D. 55 2.阅读图 2 所示的程序框图,运行相应的程序,输出的结果是 A. 1 B. 2 C. 3 D. 4
开始
S 0, i 1
开始
S 2, n 1
S
否 否
S S i2
11. 如图 1 所示,是关于闰年的流程,则 以下年份是闰年的为 A.1996 年 C.2010 年 B.1998 年 D.2100 年
11 题
-3-
12. 某流程如右上图所示,现输入如下四个函数,则可以输出的函数是 A. f ( x) x 2 C. f ( x) ln x 2 x 6 B. f ( x)
D. 418
C.从 1 开始的连续奇数的连乘积,当乘积大于 100 时,计算奇数的个数 D.计算 1 3 5 n 100 时的最小的 n 值.
开始 开始
s 1, i 3
k 1, S 0
s
s i
k 20
是
否
i i2
否
s 100
是 输出 S 开始 输出 i 结束
an
S 0, M 0, i 1
否
i k
是
ai 1 ai d
M
输出 S
1
ai 1ai
结束
S SM k k 1
开始
19.甲乙两人进行围棋比赛,约定每局胜者得 1 分,负 者得 0 分,比赛进行到有一人比对方多 2 分或打满 6 局
1 时停止.设甲在每局中获胜的概率为 p ( p ) ,且各 2
n 0, S 0, T 0
输入 a, b
局胜负相互独立.已知第二局比赛结束时比赛停止的概
5 率为 .若右图为统计这次比赛的局数 n 和甲、乙的总 9
S S a, T T b
M S T
n n 1
是
得分数 S 、 其中如果甲获胜则输入 a 1 , T 的程序框图.
[4,5) [5, 6) [6, 7) [7,8) [8,9]
组中值 ( Gi )
4.5
频数 (人 数) 6 10 20 10 4
频率 ( Fi )
0.12 0.20 0.40 0.20 0.08
输出 S 输入 Gi , Fi 开始
S 0, i 1
5.5 6.5 7.5 8.5
i i 1 S S Gi Fi
n 2n
S 2
是 输出 n 结束
S S 2
S
输出 k 结束
k k 1
4题 3题
4. (09 浙江)某程序框图如图所示,该程序运行后输出的 k 的值是 A. 4 B. 5 C. 6 D. 7
-1-
5.执行右面的程序框图,输出的 S 是 A. 378 B. 378 C. 418 6.如图的程序框图表示的算法的功能是 A.计算小于 100 的奇数的连乘积 B.计算从 1 开始的连续奇数的连乘积
开始
S 0, T 0, n 0
T S
否
是
S S 5 n n2 T T n
输出 T 结束 14 题
-4-
15.下面的程序框图表示的算法的结果是
开始
a 1 a 2a 1
否
15 题
a 100 ?
是 输出 a 结束
16.阅读右上面的流程图,若输入 a 6, b 1 ,则输出的结果是
10.某店一个月的收入和支出总共记录了 N 个数据 a1 , a2 , , aN ,其中 收入记为 正数,支出记为负数。该店用右边的程序框图计算月总收入 S 和月 净盈利 V ,那么在图中空白的判断框和处理框中,应分别填入下列四个选项中 的 A. A 0,V S T C. A 0,V S T B. A 0,V S T D. A 0,V S T
b 0 ;如果乙获胜,则输入 a 0, b 1 .
(1)在右图中,第一、第二两个判断框应分别填 写什么条件? (2)求 p 的值; (3)设 表示比赛停止时已比赛的局数,求随机变量
的分布列和数学期望 E .
否
?
否
?
是 输出 n, S , T 结束
-6-
20.(08 江苏)某地区为了解 70 80 岁的老人的日平均睡眠时间(单位: h ) ,随 机选择了 50 位老人进行调查,下表是这 50 位老人睡眠时间的频率分布表: 分组 序 号i 1 2 3 4 5 (睡眠时 间)
否
i 5?
是
在上述统计数据的分析中一部分计算见算法流程图, 求输出的 S 的值
结束 20 题
-7-
S
S 2k
k k 1
5题
6题
7.右图是把二进制数 11111( 2) 化为十进制数的一个程序框图,判断框内应填入的 条件是 A. i 4
开始
s 1, i 1
B. i 4
C. i 5
开始
A 2, B 1
D. i 5
i i 1
s
1 2 s
是
A A 1