1.1.1 算法的概念补 - 副本
【高中数学必修三】1.1.1 算法的概念
b2c1 b1c2 第二步:解(3)得:x a1b2 a2b1
(2) a1 (1) a2 : (a1b2 a2b1 ) y a1c2 a2c1 (4) 第三步:
a1c2 a2c1 第四步: 解(4)得:y a1b2 a2b1
b2 c1 b1c2 x a1b2 a 2 b1 a c a 2 c1 y 1 2 a1b2 a 2 b1
第三步:取区间中点 m
含零点的区间为 [m, b]. 将新得到的含零点的区间仍记为 [a, b]. 第五步:判断 [a, b] 的长度是否小于d或f(m)是否等于0. 若是,则m是方程的近似值;否则,返回第三步.
【例2】 x 2 2 0( x 0) 写出用“二分法”求方程 法. 取d=0.005,可以得到以下表格:
【例1】(1)设计一个算法,判断7是否为质数.
(2)设计一个算法,判断35是否为质数.
第一步:用2除35,得余数为1,所以2不能整除35. 第二步:用3除35,得余数为2,所以3不能整除35. 第三步:用4除35,得余数为3,所以4不能整除35. 第四步:用5除35,得余数为0,所以5能整除35. 因此,35不是质数.
简单地说,算法就是解决 问题的程序或步骤。
问题创设
小品“钟点工”片段
问: 要把大象装冰箱,分几步?
答:分三步:
第一步:打开冰箱门 第二步:把大象装冰箱 第三步:关上冰箱门
算法:就是解决一个问题的程序与步骤.
问题创设
x 2 y 1 ① 解二元一次方程组 , 2 x y 1 ② 并写出具体求解步骤
算法分析:按照逐一相加的程序进行. 算法1 第一步:计算1+2,得3;
1.1.1 算法的概念
§1.1.1 算法的概念【学习目标】:(1) 了解算法的含义,体会算法的思想. (2) 能够用自然语言叙述算法.(3) 掌握正确的算法应满足的要求. (4) 会写出解线性方程(组)的算法.(5) 会写出一个求有限整数序列中的最大值的算法.【学习重点】算法的含义、解二元一次方程组和判断一个数为质数的算法设计.. 【学习难点】把自然语言转化为算法语言.. 【学法与学习用具】:学法:1.写出的算法,必须能解决一类问题(如:判断一个整数n(n>1)是否为质数;求任意一个方程的近似解;……),并且能够重复使用.2.要使算法尽量简单、步骤尽量少.3.要保证算法正确,且计算机能够执行,如:让计算机计算1×2×3×4×5是可以做到的,但让计算机去执行“倒一杯水”“替我理发”等则是做不到的. 学习用具:计算机,TI-voyage200图形计算器【课堂过程】一、本章章头图说明章头图体现了中国古代数学与现代计算机科学的联系,它们的基础都是“算法”. 算法作为一个名词,在中学教科书中并没有出现过,我们在基础教育阶段还没有接触算法概念.但是我们却从小学就开始接触算法,熟悉许多问题的算法.如,做四则运算要先乘除后加减,从里往外脱括弧,竖式笔算等都是算法,至于乘法口诀、珠算口诀更是算法的具体体现.广义地说,算法就是做某一件事的步骤或程序.菜谱是做菜肴的算法,洗衣机的使用说明书是操作洗衣机的算法,歌谱是一首歌曲的算法.在数学中,主要研究计算机能实现的算法,即按照某种机械程序步骤一定可以得到结果的解决问题的程序.古代的计算工具:算筹与算盘.20世纪最伟大的发明:计算机,计算机是强大的实现各种算法的工具. 例1 解二元一次方程组: ⎩⎨⎧=+-=-②y x ①y x 1212分析:解二元一次方程组的主要思想是消元的思想,有代入消元和加减消元两种消元的方法,下面用加减消元法写出它的求解过程.解:第一步:② - ①×2,得5y=3; ③第二步:解③得 53=y ;第三步:将53=y 代入①,得 51=x .探究:对于一般的二元一次方程组来说,上述步骤应该怎样进一步完善?评析:本题的算法是由加减消元法求解的,这个算法也适合一般的二元一次方程组的解法.下面写出求方程组的解的算法.例2 写出求方程组()01221222111≠-⎩⎨⎧=+=+b a b a ②c y b x a ①c y b x a 的解的算法.解:第一步,②×a 1 - ①×a 2,得()12211221c a c a y b a b a -=-. ③ 第二步,解③得 12211221b a b a c a c a y --=;第三步,将12211221b a b a c a c a y --=代入①,得111c b y x a -=.利用TI-voyage200图形计算器演示:运行结果:算法概念:在数学上,现代意义上的“算法”通常是指可以用计算机来解决的某一类问题是程序或步骤,这些程序或步骤必须是明确和有效的,而且能够在有限步之内完成.说明:1.“算法”没有一个精确化的定义,教科书只对它作了描述性的说明.2. 算法的特点: (1)有限性:(其中输入a1=1,b1=-2,m1=-1,a2=2 b2=1,m2=1,当然可输入其它数值)一个算法的步骤序列是有限的,必须在有限操作之后停止,不能是无限的. (2)确定性:算法中的每一步应该是确定的并且能有效地执行且得到确定的结果,而不应当是模棱两可.(3)顺序性与正确性:算法从初始步骤开始,分为若干明确的步骤,每一个步骤只能有一个确定的后继步骤,前一步是后一步的前提,只有执行完前一步才能进行下一步,并且每一步都准确无误,才能完成问题.(4)不唯一性:求解某一个问题的解法不一定是唯一的,对于一个问题可以有不同的算法. (5)普遍性:很多具体的问题,都可以设计合理的算法去解决,如心算、计算器计算都要经过有限、事先设计好的步骤加以解决.例题讲评:例3 任意给定一个大于1的整数n ,试设计一个程序或步骤对n 是否为质数做出判断. 分析:(1)质数是只能被1和自身整除的大于1的整数.(2)要判断一个大于1的整数n 是否为质数,只要根据质数的定义,用比这个整数小的数去除n ,如果它只能被1和本身整除,而不能被其它整数整除,则这个数便是质数.解:算法:第一步,判断n 是否等于2.若n=2,则n 是质数;若n >2,则执行第二步.第二步,依次从2~(n-1)检验是不是n 的因数,即整除n 的数.若有这样的数,则n 不是质数;若没有这样的数,则n 是质数.说明:本算法是用自然语言的形式描述的.设计算法一定要做到以下要求: (1)写出的算法必须能解决一类问题,并且能够重复使用. (2)要使算法尽量简单、步骤尽量少.(3)要保证算法正确,且计算机能够执行. 利用TI-voyage200图形计算器演示:例4 用二分法设计一个求方程022=-x 的近似根的算法. 分析:该算法实质是求2的近似值的一个最基本的方法. 解:设所求近似根与精确解的差的绝对值不超过0.005,算法: 第一步,令()22-=x x f .因为()()02,01><f f ,所以设x 1=1,x 2=2. 第二步,令221x x m +=,判断f (m )是否为0.若是,则m 为所求;若否,则继续判断运行()()m f x f ⋅1大于0还是小于0.第三步,若()()01>⋅m f x f ,则x 1=m ;否则,令x 2=m.第四步,判断005.021<-x x 是否成立?若是,则x 1、x 2之间的任意值均为满足条件的近似根;若否,则返回第二步.说明:按以上步骤,我们将依次得到课本第4页的表1-1和图 1.1-1.于是,开区间(1.4140625,1.41796875)中的实数都满足假设条件的原方程是近似根.利用TI-voyage200图形计算器演示:运行结果:练习1:写出解方程x 2-2x -3=0的一个算法. 解:算法1:第一步,移项,得x 2-2x -3=0; ① 第二步,①式两边同加1并配方,得(x -1)2=4; ② 第三步,②式两边开方,得x -1=±2; ③ 第四步,解③得x =3或x =-1. 算法2:第一步,计算方程的判别式判断其符号△=22+4×3=16>0; 第二步,将a =1,b =-2,c =-3代入求根公式x =-b ±b 2-4ac2,得x 1=3,x 2=-1评析:比较两种算法,算法2更简单,步骤少,所以利用公式解决问题是最理想、合算的算法.因此在寻求算法的过程中,首先是利用公式.下面设计一个求一般的一元二次方程ax 2+bx +c =0的根的算法如下: 第一步,计算△=b 2+4ac ; 第二步,若△<0; 第三步,输出方程无实根; 第四步,若△≥0;第五步,计算并输出方程根x 1,2=-b ±b 2-4ac2.练习2 求1×3×5×7×9×11的值,写出其算法. 第一步,先求1×3,得到结果3;第二步,将第一步所得结果3再乘以5,得到结果15; 第三步,再将15乘以7,得到结果105; 第四步,再将105乘以9,得到945;第五步,再将945乘以11,得到10395,即是最后结果.评析:求解某个问题的算法不同于求解一个具体问题的方法,算法必须能够解决一类问题,并且能够重复使用;算法过程要能一步一步地执行,每一步操作必须确切,能在有限步后得出结果.练习3有蓝和黑两个墨水瓶,但现在却错把蓝墨水装在了黑墨水瓶中,黑墨水错装在了蓝墨水瓶中,要求将其互换,请你设计算法解决这一问题.分析:由于两个墨水瓶中的墨水不能直接交换,故可以考虑通过引入第三个空墨水瓶的办法进行交换.解:算法步骤如下:第一步,取一只空的墨水瓶,设其为白色; 第二步,将黑墨水瓶中的蓝墨水装入白瓶中; 第三步,将蓝墨水瓶中的黑墨水装入黑瓶中; 第四步,将白瓶中的蓝墨水装入蓝瓶中; 第五步,交换结束.评析:对于这种非数值性问题的算法设计问题,应当首先建立过程模型,根据过程设计步骤,完成算法.小结1. 算法概念和算法的基本思想(1)算法与一般意义上具体问题的解法的联系与区别; (2)算法的五个特征.2. 利用算法的思想和方法解决实际问题,能写出一此简单问题的算法3. 两类算法问题(1)数值性计算问题,如:解方程(或方程组),解不等式(或不等式组),套用公式判断性的问题,累加,累乘等一类问题的算法描述,可通过相应的数学模型借助一般数学计算方法,分解成清晰的步骤,使之条理化即可.(2)非数值性计算问题,如:排序、查找、变量变换、文字处理等需先建立过程模型,通过模型进行算法设计与描述.4. 利用TI-voyage200图形计算器演示时,开始学生看,想,探究,然后模范、创新.图形计算器为学生创建一个自我发挥的平台.作业:(课本第5页练习)1. 任意给定一个正实数,设计一个算法求以这个数为半径的圆的面积.解:算法步骤:第一步,输入任意一个正实数r;第二步,计算以r为半径的圆的面积:2r=π;S⋅第三步,输出圆的面积S.2. 任意给定一个大于1的正整数n,设计一个算法求出n的所有因数.解:算法步骤:第一步,依次以2~(n-1)为除数去除n,检查余数是否为0.若是,则是n的因数;若不是,则不是n的因数;第二步,在n的因数中加入1和n;第三步,输出n的所有因数.利用TI-voyage200图形计算器演示:运行结果:(即32的公因数为1,2,4,8,16,32)。
1.1.1《算法的概念》课件
例6. 利用二分法求函数y=f(x) (x在定义区 间D) 上的一个变号零点x0的近似值x,使 它与零点的误差不超过正数ε ,即使|x- x0|<ε ,写出它的一个算法. S1 在D内取一个闭区间[a,b],使f(a)与 f(b)异号,即f(a)f(b)<0; S2 令x0=
ab 2
,计算f(x0);
S4 ⑥代入⑤.得
a 2 2 b1 a 1 2 b 2 x 1 a1 1 a 2 2 a 2 1 a1 2 x a 1 1 b 2 a 2 1 b1 2 a1 1 a 2 2 a 2 1 a1 2 ⑦
⑧
S5 输出结果x1,x2, S6 若a11b2-a21b1≠0. 则执行下一步;否
数的最大公因数的算法等。因此,
算法其实是重要的数学对象。
一、算法的概念
算法(algorithm)一词源于算术(algorism), 即算术方法,是指一个由已知推求未知的 运算过程。后来,人们把它推广到一般,
把进行某一工作的方法和步骤称为算法。
广义地说,算法就是做某一件事的步 骤或程序。菜谱是做菜肴的算法,洗衣 机的使用说明书是操作洗衣机的算法, 歌谱是一首歌曲的算法。 在数学中,主要研究计算机能实现的 算法,即按照某种机械程序步骤一定可 以得到结果的解决问题的程序。比如解 方程的算法、函数求值的算法、作图的 算法,等等。
S3 如果c>max, 则max=c.
S4 max就是a, b, c中的最大值。
例3 写出求1+2+3+4+5+6的一个算法。 解:算法1: S1 计算1+2得到3; S2 将第一步中的运算结果3与3相加得到6 S3 将第二步中的运算结果6与4相加得到10
【随堂优化训练】2014年高中数学 1.1.1 算法的概念配套课件 新人教A版必修3
【变式与拓展】 3.一位商人有 4 枚银元,其中有 1 枚略轻的是假银元,你
能用天平(无砝码)将假银元找出来吗?写出解决这一问题的一
种算法.
解:方法一:算法步骤如下:
第一步,任取 2 枚银元分别放在天平的两边,若天平左右 不平衡,则轻的那一边就是假银元;若天平平衡,则进行第二 步.
第二步,取下右边的银元,放在一边,然后把剩下的 2 枚 银元依次放在右边进行称量,直到天平不平衡,偏轻的那一边
现代算法
注意:(1)组成算法的每个步骤是明确的和有效的.例如:把 一堆球分成两类,步骤“先把较轻的挑出来”是不确定的、无 效的.(2)组成算法的所有步骤是有限的.例如:将 其不能在有限步骤内完成,故不能称为一个算法. 表示成小数, 2
2.算法与计算机 算法 只有将解决问 计算机解决任何问题都要依赖于________. 明确的步骤 ,即______ 算法 ,并用计算 题的过程分解为若干个______________ 语言 机能够接受的“________” 准确地描述出来,计算机才能够解决 问题.
思维突破:设 a 为最大数,与 b 比较,取较大者与 c 比较
即可.
解:第一步,令 max=a.
第二步,比较 max 与 b 的大小,若b>max,则令max=b. 第三步,比较 max 与 c 的大小,若c>max,则令max=c. 第四步,max 就是 a;b;c 中的最大数.
对于非数值型问题,应当先建立求解过程模型, 然后根据过程设计步骤,完成算法.算法要简练、清晰、严密, 并包含任何可能出现的情况.
解:方法一:第一步,移项,得 x2-2x=3. ① 第二步,①两边同时加 1,并配方,得(x-1)2=4. ②
第三步,②两边同时开方,得 x-1=±2. ③
人教版高中数学必修三第一章第1节 1.1.1 算法的概念 课件(共65张PPT)
1.写出求方程 x 2 + bx + c = 0 的解的 一个算法 ,并画出算法流程图。
开始
计算△=b2 – 4 c
N
△≥0?
Y
输出无解
输出 x b
2a
结束
四、练习
2.任意给定3个正实数,设计一个算法,判断以这3个数为三 边边长的三角形是否存在.画出这个算法的程序框图.
算法步骤如下:
第一步:输入3个正实数 a,b,c;
计算机的问世可谓是20 世纪最伟大的科学 技术发明。它把人类社会带进了信息技术时代。 计算机是对人脑的模拟,它强化了人的思维智能;
21世纪信息社会的两个主要特征: “计算机无处不在” “数学无处不在”
21世纪信息社会对科技人才的要 求: --会“用数学”解决实际问题 --会用计算机进行科学计算
现算法代的研科究和学应用研正是究本课的程的三主题大!支柱
算法(2) 第一步,用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不是质数
语句A
左图中,语句A和语句B是依次执 行的,只有在执行完语句A指定的
操作后,才能接着执行语句B所指
语句B
定的操作.
四、练习 2.设计一个求任意数的绝对值的算法,并画出程序框图。
2. 算法:
框图:
第一步:输入x的值;
第二步:若x≥0,则输出x; 若否,则输出-x;
开始 输入x
x≥0?
是
输出x
2020-2021学年高中数学必修3人教A版课件:1.1.1 算法的概念
其中正确的顺序是( )
A.①②③
B.②③①
(2)设计算法时注意的问题 ①算法从初始步骤开始,每一个步骤只能有一个确定的后继步骤,从而组成 一个步骤序列,序列的终止表示问题得到解答或指出问题没有解. ②一个具体问题的算法不唯一,如解二元一次方程组的算法就有消元法、代 入法两种.由于传统数学问题解法的不唯一,使得求解某一个问题的算法也不唯 一. ③不同的算法有简繁、优劣之分,但每一种都会使问题有一个最终的结果.对 于一个具体的问题,我们可以找到一个算法步骤相对较少、执行步骤也较少的算 法,即最优算法.
4.已知 A(x1,y1),B(x2,y2),求直线 AB 的斜率的一个算法如下: (1)输入 x1、y1、x2、y2 的值. (2)计算 Δx=x2-x1,Δy=y2-y1. (3)若 Δx=0,则输出斜率不存在,否则(Δx≠0),k=__①__.
(4)输出斜率 k.
则①处应填________. 解析: 由斜率的计算公式应填ΔΔyx.
[自主练习] 1.下列叙述不能称为算法的是( ) A.从北京到上海先乘汽车到飞机场,再乘飞机到上海 B.解方程 4x+1=0 的过程是先移项再把 x 的系数化成 1 C.利用公式 S=πr2 计算半径为 2 的圆的面积得 π×22 D.解方程 x2-2x+1=0
解析:
A× A,B 两选项给出了解决问题的方法和步骤,是算法
题型二 算法的设计 写出解方程 x2-2x-3=0 的一个算法. [思路探究] 解一元二次方程的方法很多,此处,我们用因式分解法、配方 法、公式法写出算法. , 解析: 法一:算法如下. (1)将方程左边因式分解,得(x-3)(x+1)=0.① (2)由①得 x-3=0,②或 x+1=0.③ (3)解②得 x=3,解③得 x=-1.
1.1.1算法的概念-新人教B版
S1
S2
计算
D a11a22 a21a12 ;
如果D=0,则原方程组无解或者有无 穷多组解;否则(D≠0),
a22b1 a12b2 a11b2 a21b1 x1 , x2 ; D D
S 3 输出结果X1,X2或者无法求解信息.
10
问题
你对以下的“算法”如何理解?
问: 要把大象装冰箱,分几步?
试一试
写出对任意3个整数 a, b, c,
求出最大值的算法.
15
练一练
写出求一元二次方程 ax 2 bx c 0(a 0)
的算法.
S1 S2 计算△=b2-4ac; 如果△<0,则原方程无实数解; 否则( △≥0),
b b 2 4ac x1 , 2a
b b 2 4ac x2 ; 2a
16
S3
输出解x1,x2或无实数解信息.
4.算法的特点:
①有穷性:算法的有穷性是指算法必须能在有限的时间内 执行完,即算法必须能在执行有限个步骤之后终止.②确 定性:算法中的每一步应该是确定的并且能有效地执行且 得到确定的结果,而不应当是模棱两可的. ③顺序性:算法从初始步骤开始,分为若干个明确的步骤, 前一步是后一步的前提,只有执行完前一步才能进行下一 步,并且每一步都准确无误,才能完成问题. ④不唯一性:求解某一个问题的算法不一定只有唯一的一 个,可以有不同的算法. ⑤普遍性:很多具体的问题,都可以设计合理的算法去解 决,如心算、计算器计算都要经过有限的、事先设计好的 步骤加以解决.
(3) 算法要简洁,要清晰可读,不能繁杂.
入口 原料
机器
出口
产品
13
合作探究
写出一个求有限个整数序列中的最大值的算法.
人教版高中数学必修三课件:1.1.1 算法的概念
考点类析
例2 写出解方程x2-2x-3=0的一个算法.
解:方法一,算法如下: 第一步,将等号左边因式分解,得(x-3)(x+1)=0①; 第二步,由①式得x-3=0或x+1=0; 第三步,解x-3=0得x=3,解x+1=0得x=-1,即x=3或x=-1.
考点类析
例2 写出解方程x2-2x-3=0的一个算法. 解:方法二,算法如下: 第一步,移项,得x2-2x=3①; 第二步,①式等号两边同时加1并配方,得(x-1)2=4②; 第三步,②式等号两边同时开方,得x-1=±2③; 第四步,解③式得x=3或x=-1.
预习探究
(4)不唯一性:求解某一个问题的算法不一定只有唯一的一个,也可以有不同 的算法,这些算法有繁简、优劣之分. (5)普遍性:很多具体的问题,都可以通过设计合理的算法去解决.
预习探究
知识点三
算法的设计要求
设计算法的要求主要有以下几点: (1)写出的算法必须能解决一类问题,并且能够重复使用; (2)要使算法尽量简单、步骤尽量少; (3)要保证算法的各个步骤有效,计算机能够执行,且在有限步骤后能得到结果.
备课素材
累加、累乘问题的算法 解决一个问题的算法一般不是唯一的,不同的算法有优劣之别,保证得到正 确的结果是对每个算法的最基本的要求.另外,还要求算法的每个步骤都要 易于实现、易于理解,效率要高,通用性要好等.
备课素材
备课素材
[例2] 求1×3×5×7×9×11的值,写出其算法.
解:算法如下:
备课素材
[小结]
知识 1.算法的概念; 2.算法的特性; 3.算法的设计
方法
易错
1.根据具体的问题进行判断,是 给出问题,在书写步骤时,不能
2014-2015高中数学人教B版必修3配套课件:1.1.1算法的概念
第一章
1.1
1.1.1
成才之路 · 高中新课程 · 学习指导 · 人教B版 · 数学 · 必修3
3.下面对算法描述正确的是( A.算法只能用自然语言来描述 B.算法只能用图形方式来表示 C.同一个问题可以有不同算法
)
D.同一个问题算法不同,结果必不同
[答案] C [解析] 算法的描述方式不惟一,且同一个问题可以有不 同算法,但无论哪个算法得到的结果都是一样的.
第一章
第一章
1.1
1.1.1
成才之路 · 高中新课程 · 学习指导 · 人教B版 · 数学 · 必修3
课堂典例讲练
第一章
1.1
1.1.1
成才之路 · 高中新课程 · 学习指导 · 人教B版 · 数学 · 必修3
算法的概念
我们已学过的算法有一元二次方程的求根公式、 加减消元法求二元一次方程组的解、二分法求函数零点等.对 算法的描述有: (1)对一类问题都有效; (2)对个别问题有效; (3)计算可以一步一步进行,每一步都有惟一结果;
5.如下算法:
S1 输入x的值; S2 若x≥0,则y=x; S3 否则,y=x2; S4 输出y的值.
若输出的y值为9,则x=________.
[答案] 9或-3 [ 解析 ] 9,x=-3. 根据题意可知,当 x≥0 时, x = 9 ;当 x<0 时, x2 =
第一章
1.1
1.1.1
成才之路 · 高中新课程 · 学习指导 · 人教B版 · 数学 · 必修3
第一章
1.1
1.1.1
成才之路 · 高中新课程 · 学习指导 · 人教B版 · 数学 · 必修3
3.算法的要求 解决一类问题 (1) 写 出 的 算 法 , 必 须 能 __________________ ,并且能 重复使用 . __________ 一步一步执行 ,每一步执行的操作, (2)算法过程要能________________ 确切 ,不能含混不清,而且经过 __________ 有限步后 能得出结 必须 ______ 果.
2016-2017学年高一数学人教B版3讲义:第一章算法初步1.1.1算法的概念 含答案
1.1。
1算法的概念明目标、知重点1。
了解算法的含义,体会算法的思想;2。
能够用自然语言叙述算法;3.掌握正确的算法应满足的要求;4。
会写出解线性方程(组)的算法.1.算法的概念及描述(1)算法的定义算法可以理解为由基本运算及规定的运算顺序所构成的完整的解题步骤,或者看成按照要求设计好的有限的确切的计算序列,并且这样的步骤或序列能够解决一类问题.(2)算法的特征①有限性:一个算法的步骤序列是有限的,必须在有限操作之后停止,不能是无限的.②确定性:算法中的每一步应该是确定的并且能有效地执行且得到确定的结果,而不应当模棱两可.③顺序性与正确性:算法从初始步骤开始,分为若干明确的步骤,每一个步骤只能有一个确定的后续步骤,前一步是后一步的前提,只有执行完前一步才能进行下一步,并且每一步都准确无误,才能完成问题.④不唯一性:求解某一问题的解法不一定是唯一的,对于同一个问题可以有不同的算法.⑤普遍性:很多具体的问题,都可以设计合理的算法去解决,如心算、计算器计算都要经过有限、事先设计好的步骤加以解决.(3)描述算法的方式描述算法可以有不同的方式:自然语言、数学语言(算法语言)、框图语言等.2.算法设计的目的设计算法的目的实际上是寻求一类问题的算法,它可以通过计算机来完成.设计算法的关键是把过程分解成若干个明确的步骤,然后用计算机能够接受的”语言”准确地描述出来,从而达到计算机执行的目的.3.算法设计的要求(1)写出的算法,必须能解决一类问题,并且能重复使用;(2)算法过程要能一步一步执行,每一步执行的操作,必须确切,不能含混不清,而且经过有限步后能得出结果.[情境导学]赵本山和宋丹丹的小品《钟点工》中有这样一个问题:(宋丹丹)要把大象装冰箱,总共分几步?哈哈哈哈,三步.第一步,把冰箱门打开;第二步,把大象装进去;第三步,把冰箱门关上.探究点一算法的概念思考1 算法随着时代的发展其含义在不断的变化,阅读教材第3页的上半页,你能说出现代对算法是怎样理解的吗?答算法可以理解为由基本运算及规定的运算顺序所构成的完整的解题步骤,或者看成按照要求设计好的有限的确切的计算序列,并且这样的步骤或序列能够解决一类问题.思考2 描述算法有怎样的方式?答可以用自然语言和数学语言、数学语言(算法语言)、框图语言等.例1 下列关于算法的说法,正确的个数为()①求解某一类问题的算法是唯一的;②算法必须在有限步操作之后停止;③算法的每一步操作必须是明确的,不能有歧义或模糊;④算法执行后一定产生确定的结果.A.1 B.2C.3 D.4答案C解析②③④正确,而解决某类问题的算法不一定唯一,从而①错.反思与感悟算法实际上是解决问题的一种程序性方法,它能够解决某一个或一类问题.跟踪训练1 下列语句表达中是算法的是( )①从济南到巴黎可以先乘火车到北京,再坐飞机抵达;②利用公式S =错误!ah计算底为1,高为2的三角形的面积;③错误!x〉2x+4;④求M (1,2)与N(-3,-5)两点连线所在直线的方程,可先求直线MN 的斜率,再利用点斜式方程求得.A.①②③ B.①③④C.①②④ D.②③④答案C解析算法是解决问题的步骤与过程,这个问题并不仅仅限于数学问题,①②④都表达了一种算法.探究点二算法的设计例2 “一群小兔一群鸡,两群合到一群里,要数腿共48,要数脑袋整17,多少小兔多少鸡?"思考1 用代数方法如何求解?答设有x只小鸡,y只小兔,则有(Ⅰ) 错误!,将方程组(Ⅰ)中的第一个方程的两边同乘以-2加到第二个方程中去,得到(Ⅱ)错误!解方程组(Ⅱ)中的第二个方程,得y=7,将y代入第一个方程,得x =10。
1.1.1算法的概念2
2.算法的特点:
思路简单清晰,叙述复杂,步骤繁琐,计算量大,完全依靠人力 难以完成.而这些恰恰就是计算机的特长,它能不厌其烦地完成 枯燥的、重复的繁琐的工作. 正因为这些,现代算法的作用之一 就是使计算机代替人完成某些工作,这也是我们学习算法的重要 原因之一.
例题讲解
例1.任意给定一个大于1的整数n,试设计一个程 序或步骤对n是否为质数做出判定.(课本p )
问题1
这 两个解方程组算法 的适用范围有何不同?
① ②
3 x 2 y 3 2 x y4
a1 x b1 y c1 ① a2 x b2 y c2 ② (a1b2 a2b1 0)
---------------------------------------------------
第一步:
①+②×2,得 7 x 11 ③ 第二步:
第一步:
a 2 - ②× a1 得 (a2b1 a1b2 ) y a2c1 a1c2 ③
①×
第三步:
11 x 解③得 7
第二步: 解③,得
a2 c1 a1c2 y ④ a2b1 a1b2
b1c2 b2 c1 x a2b1 a1b2
算法1: 第一步:将原式变形为 (1+100)+(2+99)+
+(50+51);
第二步:计算101×50; 第三步:写出运算结果
算法2: 第一步:取n=100;
n( n 1) 第二步:计算 2
第三步:写出运算结果
思 考
现有有限个实数,怎样从中找出最大值?
第一步: 先假定这些实数中的第一个数为“最大值”。 第二步: 将这些实数中的下一个数与“最大值”比较,如 果它大于此“最大值”,这时就假定“最大值” 是这个实数。 第三步: 如果还有其他实数,重复第二步。 第四步: 一直到没有可比的数为止,这时假定的“最大值” 就是这有限个实数的最大值。
1.1.1算法的概念
x1 x2 第二步:令m (因方程的根在区间(x1,x2 )内). 2 判断f ( m )是否为0。若f ( m ) 0, 则m为所求; 若否,则进行第三步.
第三步:若f ( x1 ) f ( m ) 0, 则令x1=m; 若f ( x1 ) f ( m ) 0, 则令x2=m .
1.写出你在家里烧开水过程的一个算法. 2.已知平面直角坐标系的两点A(-1,0), B(3,2),写出求直线AB的方程的一个算 法.
章头图体现了中国古代数学与现代计算机科学的联系, 它们的基础都是“算法”. 算法对于我们来说并不陌生. 从小学我们就开始接触算 法,熟悉许多问题的算法. 如,做四则运算要先乘除后加减, 从里往外脱括弧,竖式笔算等都是算法,至于乘法口诀、珠 算口诀更是算法的具体体现. 广义地说,算法就是做某一件 事的步骤或程序. 菜谱是做菜肴的算法,洗衣机的使用说明 书是操作洗衣机的算法,歌谱是一首歌曲的算法.在数学中, 主要研究计算机能实现的算法,即按照某种机械程序步骤一 定可以得到结果的解决问题的程序.
第四步:判断 x1-x2 0.05是否成立? 若是,则x1,x2之间的任意取值均为满足条件的近似根; 若否,则返回第二步.
练习
任意给定一个正实数a,试设计一个算法 求以a为直径的圆的面积. 解 第一步:输入a的值.
第二步:________________________. 第三步:________________________.
一般来说,“用算法解决问题” 可以利用 计算机帮助完成.
思考
一位商人有9枚银元,其中有1枚略 轻的是假银元.你能用天平(不用砝码) 将假银元找出来吗?
例题
用二分法求方程 x 2 2 0
的近似正根,精确度0.05.
第1章数据结构与算法笔试题考点分析
1算法考试的内容:1.1 算法的基本概念1.算法的概念(必记):算法是指解题方案的准确而完整的描述。
分析:要用计算机实现某一任务时,先应设计出一整套解决问题的指导方案,然后具体实现。
整套的指导方案称之为算法,而具体的实现称之为程序。
并且在设计指导方案时,可不用过多考虑到实现程序的具体细节(即可以一点点的理想化),但在程序实现时,必须受到具体环境的约束(现实不同于理想)。
结论:算法不等于程序,也不等于计算方法,程序的编制不可能优于算法的设计。
2.算法的基本特征(必记):a.可行性:由于算法总是在某个特定的计算工具上实现并执行的,因而受到计算工具的限制,所以在设计算法时,要考虑到设计的算法是否是可性的。
b.确定性:算法中的每一个步骤都必须是有明确定义的,不允许有模棱两可的解释,也不允许有多义性。
c.有穷性:算法必须能在有限的时间内做完,即算法必须能在执行有限个步骤之后终止。
d.拥有足够的情报:算法有相应的初始数据。
3.算法的基本要素:一个算法通常由两个基本要素所组成:一是对数据对象的运算和操作,二是算法的控制结构。
基本运算和操作分为四类:a. 算术运算: (加、减、乘、除等运算)b. 逻辑运算: (与、或、非等运算)c. 关系运算: (大于、小于、等于、不等于等运算)d. 数据传输: (赋值、输入、输出等操作)算法的控制结构:算法中各操作之间的执行顺序称之为算法的控制结构。
一个算法一般都可以用顺序、选择、循环三种基本控制结构组合而成。
注意:一个计算机系统能执行的所有指令的集合,称为该计算机系统的指令系统。
4.算法设计基本方法:列举法、归纳法、递推、递归、减半递推技术、回溯法。
1.2 算法的复杂度(必记)算法的复杂度主要包括时间复杂度和空间复杂度。
1.算法的时间复杂度:是指执行算法所需要的计算工作量,是由算法所执行的基本运算次数来度量。
可用平均性态和最坏情况两种分析方法。
其中平均性态分析是指用各种特定输入下的基本运算次数的加权平均值来度量算法的工作量;而最坏情况分析是指在所有特定输入下的基本运算次数据的最大次数。
2020版数学人教A版必修3课件:第一章 1.1.1 算法的概念 .pdf
第一章§1.1 算法与程序框图1.1.1 算法的概念学习目标XUEXIMUBIAO1.了解算法的含义和特征.2.会用自然语言描述简单的具体问题的算法.NEIRONGSUOYIN内容索引自主学习题型探究达标检测1自主学习PART ONE知识点一 算法的概念12世纪的算法是指用阿拉伯数字进行 的过程数学中的算法通常是指按照解决某一类问题的 和 的步骤现代算法通常可以编成 ,让计算机执行并解决问题算术运算一定规则明确有限计算机程序知识点二 算法的特征算法的五个特征(1)有限性:一个算法的步骤是的,它应在有限步操作之后停止.(2)确定性:算法中的每一步应该是 的,并且能有效地执行且得到确定的结果,而不是模棱两可的.(3)逻辑性:算法从初始步骤开始,分为若干个明确的步骤,前一步是后一步的前提,只有完成前一步,才能进行下一步,而且每一步都是正确无误的,从而组成具有很强逻辑性的 .有限确定步骤序列(4)普遍性:一个确定的算法,应该能够解决一类问题.(5)不唯一性:求解某一个问题的算法不一定只有唯一的一个,也可以有不同的算法.特别提醒:判断一个问题是不是算法,关键是明确算法的含义及算法的特征.知识点三 算法的设计1.设计算法的目的设计算法的目的实际上是寻求一类问题的解决方法,它可以通过计算机来完成.设计算法的关键是把过程分解成若干个明确的步骤,然后用计算机能够接受的“语言”准确地描述出来,从而达到让计算机执行的目的.2.设计算法的要求①写出的算法必须能解决一类问题.②要使算法尽量简单、步骤尽量少.③要保证算法步骤有效,且计算机能够执行.1.算法是解决一个问题的方法.( )2.一个算法可以产生不确定的结果.( )3.算法的步骤必须是明确的、有限的.( )4.求解一类问题的算法是唯一的.( )思考辨析 判断正误SIKAOBIANXIPANDUANZHENGWU××√×2题型探究PART TWO题型一 对算法概念的理解例1 下列说法正确的是A.算法就是某个问题的解题过程√B.算法执行后可以产生不同的结果C.解决某一个具体问题算法不同,则结果不同D.算法执行步骤的次数不可以很多,否则无法实施解析 选项B正确,例如:判断一个整数是否为偶数,结果为“是偶数”和“不是偶数”两种;选项A,算法不能等同于解法;选项C,解决某一个具体问题算法不同,但结果应相同;选项D,算法可以为很多次,但不可以为无限次.反思感悟 算法实际上是解决问题的一种程序性方法,它通常解决某一个或一类问题,用算法解决问题,体现了从特殊到一般的数学思想.跟踪训练1 下列描述不是解决问题的算法的是A.从中山到北京先坐汽车,再坐火车B.解可化为一元一次方程的分式方程的步骤是去分母、去括号、移项、合并同类项、系数化为1√C.方程x2-4x+3=0有两个不相等的实根D.解不等式ax+3>0时,第一步移项,第二步讨论解析 A选项,从中山到北京,先坐汽车,再坐火车,解决了怎样去的问题;B选项,解可化为一元一次方程的分式方程的步骤:去分母、去括号、移项、合并同类项、系数化为1,解决了怎样解一元一次方程的问题;D选项,解不等式ax+3>0时,第一步移项,将不等式化为ax>-3,第二步讨论a的符号,进而根据不等式的基本性质,求出不等式的解集,解决了怎样求不等式解集的问题;选项C只是一个真命题,没有解决什么问题,因此不是算法.题型二 算法的设计解 如图,先给r ,l 赋值,计算h ,再根据圆锥体积公式V= πr 2h 计算V ,然后输出结果.多维探究命题角度1 直接应用数学公式设计算法例2 有一个底面半径为3,母线长为5的圆锥,写出求该圆锥体积的算法.第一步,令r =3,l =5.第四步,输出运算结果.反思感悟 利用公式解决问题时,必须先求出公式中的各个量,在设计算法时,应优先考虑未知量的求法.跟踪训练2 已知一个等边三角形的周长为a,求这个三角形的面积.设计一个算法解决这个问题.解 第一步,输入a的值.第四步,输出S的值.命题角度2 非数值性问题的算法例3 所谓正整数p为素数是指:p的所有约数只有1和p.例如,35不是素数,因为35的约数除了1,35外,还有5与7;29是素数,因为29的约数就只有1和29.试设计一个能够判断一个任意正整数n(n>1)是否为素数的算法.解 算法如下:第一步,给出任意一个正整数n(n>1).第二步,若n=2,则输出“2是素数”,判断结束.第三步,令m=1.第四步,将m的值增加1,仍用m表示.第五步,如果m≥n,则输出“n是素数”,判断结束.第六步,判断m能否整除n,①如果能整除,则输出“n不是素数”,判断结束;②如果不能整除,则转第四步.反思感悟 设计一个具体问题的算法,通常按以下步骤(1)认真分析问题,找出解决该问题的一般数学方法.(2)借助有关变量或参数对算法加以表述.(3)将解决问题的过程划分为若干步骤.(4)用简练的语言将这个步骤表示出来.跟踪训练3 判断一个大于2的整数是否为质数的算法步骤如何设计?解 第一步,给定大于2的整数n.第二步,令i=2.第三步,用i除n,得到余数r.第四步,判断“r=0”是否成立.若是,则n不是质数,结束算法;否则,将i的值增加1,仍用i表示.第五步,判断“i>(n-1)”是否成立.若是,则n是质数,结束算法;否则,返回第三步.核心素养之数学运算解方程组的算法设计HEXINSUYANGZHISHUXUEYUNSUAN典例 写出解方程组的一个算法.解 方法一 (代入消元法) 第一步,由①得y=7-2x.③第二步,将③代入②,得4x+5(7-2x)=11.④第三步,解④得x=4.第四步,将x=4代入③,得y=-1.方法二 (加减消元法)第一步,①×5-②得,(2×5-4)x=7×5-11.⑤第二步,解⑤得x=4.第三步,①×2-②,得(1×2-5)y=7×2-11.⑥第四步,解⑥得y=-1.素养评析 (1)设计算法时,经常遇到解方程组的算法问题,一般是按照数学上解方程组的方法进行设计,但应注意全面考虑方程组解的情况,即先确定方程组是否有解,有解时有几个解,然后依据求解步骤设计算法步骤. (2)从对运算方法的选择,运算程序的设计,到最后求得运算结果,整个过程就是典型的数学运算素养的体现.3达标检测PART THREE1.下列关于算法的说法正确的是A.一个算法的步骤是可逆的√B.描述算法可以有不同的方式C.算法可以看成是按照要求设计好的、有限的、确切的计算序列,并且这样的步骤或序列只能解决当前问题D.算法只能用一种方式显示解析 由算法的定义知A,C,D错.2.下列叙述中:①植树需要运苗、挖坑、栽苗、浇水这些步骤;②按顺序进行下列运算:1+1=2,2+1=3,3+1=4,…,99+1=100;③从青岛乘火车到济南,再从济南乘飞机到广州;④3x>x+1;⑤求所有能被3整除的正数,即3,6,9,12,….能称为算法的个数为√A.2B.3C.4D.5解析 根据算法的含义和特征知,①②③都是算法;④⑤不是算法.其中④只是一个问题,而没有解决问题,不能称为算法;⑤的步骤是无穷的,与算法的有限性矛盾.3.已知直角三角形两直角边长为a,b,求斜边长c的一个算法分下列三步:(1)计算c=;(2)输入直角三角形两直角边长a,b的值;(3)输出斜边长c的值.(2)(1)(3)其中正确的顺序是________.解析 算法的步骤是有先后顺序的,第一步是输入,最后一步是输出,中间的步骤是赋值、计算.4.下面是解决一个问题的算法:第一步:输入x.第二步:若x≥4,转到第三步;否则转到第四步.第三步:输出2x-1.第四步:输出x2-2x+3.12当输入x的值为__时,输出的数值最小值为____.当x≥4时,f(x)=2x-1≥2×4-1=7;当x<4时,f(x)=x2-2x+3=(x-1)2+2≥2,所以f(x)min=2,此时x=1.即输入x的值为1时,输出的数值最小,最小值为2.解析 第一步是给a ,b ,c 赋值.第二步运行后a >b .第三步运行后a >c .第四步运行后b >c ,所以a >b >c .第五步运行后,显示a ,b ,c 的值,且从大到小排列.5.下面算法要解决的问题是____________________________________________.第一步,输入三个数,并分别用a ,b ,c 表示.第二步,比较a 与b 的大小,如果a <b ,则交换a 与b 的值.第三步,比较a 与c 的大小,如果a <c ,则交换a 与c 的值.第四步,比较b 与c 的大小,如果b <c ,则交换b 与c 的值.第五步,输出a ,b ,c .输入三个数a ,b ,c ,并按从大到小的顺序输出6.写出解二元一次方程组的算法.解 第一步,①+2×②得7x=1.③第三步,②×3-①×2得7y=5.④课堂小结KETANGXIAOJIE1.算法的特点:有限性、确定性、逻辑性、普遍性、不唯一性.2.算法设计的要求:(1)写出的算法必须能够解决一类问题(如判断一个整数是否为质数,求任意一个方程的近似解等),并且能够重复使用.(2)要使算法尽量简单,步骤尽量少.(3)要保证算法正确,且算法步骤能够一步一步执行,每步执行的操作必须确切,不能含混不清,而且在有限步后能得到结果.。
1.1 算法的概念
张喜林制1.1 算法与程序框图1.1.1 算法的概念教材知识检索考点知识清单1.算法可以理解为或者看成____,并且这样的能够解决一类问题.2.描述算法可以有,例如,可以用加以叙述,也可以借助给出精确的说明,也可以用显示算法的全貌.3.教材中阐述的这种求解方程组的方法称为.4.我们学习的算法不同于一个具体问题的求解方法,它有如下要求:(1)写出的算法,必须能(例如解任意一个二元一次方程组),并且能使用.(2)算法过程要能____,每一步执行的操作,必须,不能____,而且经过有限步后能.要点核心解读1.算法的含义算法可以理解为由基本运算及规定的运算顺序所构成的完整的解题步骤,或看成按要求设计好的有限的确切的计算序列,并且这样的步骤或序列能够解决一类问题.2.算法的要求我们现在学习的算法不同于求解一个具体问题的方法,它有如下的要求:(1)写出的算法,必须能解决一类问题(例如解任意一个二元一次方程组),并且能重复使用;(2)算法过程要能一步一步执行,每一步执行的操作,必须确切,不能含混不清,而且能在有限步后得出结果.总之,算法虽然没有一个明确的概念,但其特点还是很鲜明的.不仅要注意理解算法的程序性、有限性、构造性、精确性的特点,还应充分理解算法的问题指向性即算法往往指向解决某一个或某一类问题.泛泛地谈算法是没有意义的,算法一定要以问题为载体, 3.高斯消去法(1)高斯消去法,例如:解方程组⎩⎨⎧=+=+,4842,17y x y x记(I)⎩⎨⎧=+=+.4842,17y x y x将方程组(I)中的第一个方程的两边同乘-2加到第二个方程中去,得⎩⎨⎧⨯-=-=+∏,21748)24(,17)(y y x 解方程组(Ⅱ)中的第二个方程,得.72421748=-⨯-=y利用方程组(I)中的第一个方程来消去第二个方程中的未知数x ,从而使该方程组(I)化为与其等价的方程组(Ⅱ),进而通过(Ⅱ)的第二个方程确定y ,再通过第一个方程确定x ,这种求解方程组的方法称为高斯消去法.(2)用高斯消去法解一般的二元一次方程组的算法.用高斯消去法解一般的二元一次方程组:⎩⎨⎧=+=+②①22221211212111,b x a x a b x a x a 的算法描述如下: 因为是二元一次方程组,所以方程组中的2111,a a 不能同时为0.第一步:假定011=/a (如果,011=a 可将第一个方程与第二个方程互换),,)(1121②①+-⨯a a得,)(111212211122122a b a b x a a a a -=-即方程组可化为⎩⎨⎧⋅-=-=+④③1212112122122111212111)(,b a b a x a a a a b x a x a第二步:如果,012212211=/-a a a a 解方程④得到:122122111212112a a a a b a b a x --= ⑤第三步:将⑤代入③,整理得122122112121221a a a a ba b a x --= ⑥第四步:输出结果⋅21,x x如果,012212211=-a a a a 则从④可以看出,方程组无解或有无穷多组解,以后,我们在描述算法时,用英文Stepl ,Step2,…来表示第一步,第二步,……也可以简写为:Sl ,S2,…4.解二元一次方程组的公式算法算法步骤如下:Sl 计算;12212211a a a a D -=S2如果D=O ,则原方程组无解或者有无穷多组解;如果D ≠0,;,21111221222211Dab a b x D a b a b x -=-=则S3 输出计算的结果21,x x 或无法求解信息.5.算法的描述描述算法可以有不同的.方式,常用的有自然语言、框图、程序设计语言、伪代码等. (1)自然语言.自然语言就是人们日常使用的语言,可以是汉语、英语或数学语言等,用自然语言描述算法的优点通俗易懂,当算法中的操作步骤都是按顺序执行时比较容易理解,缺点是如果算法中包含判断和转向,并且操作步骤较多时,就不那么直观清晰了.(2)框图(下一节研究). (3)程序设计语言.典例分类剖析考点1算法的概念[例1] 指出下列哪个不是算法( ).A .解方程062=-x 的过程是移项和系数化为1B .从济南到温哥华要先乘火车到北京,再转乘飞机C .解方程0122=-+x xD .利用公式2r S π=计算半径为3的圆的面积就是计算23⨯π [试解] .(做后再看答案,发挥母题功能)[解析] 由算法的含义可知选C . [答案]C[点拨] 正确理解算法的含义是解决此类问题的关键. 1.下列语句中是算法的有().①从广州到北京旅游,先坐火车,再坐飞机抵达;②解一元一次方程的步骤是去分母、去括号、移项、合并同类项、系数化为1;③方程012=-x 有两个实根;④求4321+++的值,先计算,321=+再由1046,633=+=+得最终结果是10.A .1个 B.2个 C.3个 D.4个考点2 高斯消去法和解二元一次方程组的公式算法[例2] 给出求解方程组⎩⎨⎧=+=+②①1154,72y x y x 的一个算法.[答案] 算法分析一:用高斯消去法求解. 解法-:Sl ,2⨯-①②得③;33-=y S2 解③得④;1-=y S3 将④代入①,得.4=x算法分析二:用公式法求解. 解法二:Sl 计算;61452=⨯-⨯=D S2 因为,06=/=D 所以,4611157=⨯-⨯=x;1647211-=⨯-⨯=yS3 输出.1,4-==y x[点拨] 本题的算法一是由加减消元法求解的,这个算法也适合一般的二元一次方程组的解法,下面写出求方程组)0()2.........(0A )1.(..........0y 1221222111≠-⎩⎨⎧=++=++B A B A C y B x C B x A 的解的算法:第一步:③①②;0)(,1221122121=-+-⨯-⨯C A C A y B A B A r A A r第二步:解③,得;12212112B A B A C A C A y --=第三步:将lB A B AC A C A y 2212112--=代入①,得 ⋅-+-=12212112B A B A C B C B x此时我们得到了二元一次方程组的求解公式,利用此公式可得到例2的另一个算法:第一步:取;11,5,4,7,1,2222111-===-===C B A C B A 第二步:计算 ;122121121222112B A B A C A C A y B A B A C B C B x l --=-+-=与第三步:输出运算结果.可见利用上述算法,更加有利于上机执行与操作. 2.写出二元一次方程组⎩⎨⎧-=+=-2,1423y x y x 的两种算法.考点3算法的描述[例3] (1)写出一个求解任意二次函数++=bx ax y 2)0(=/a c 的最值的算法. (2)设计一个算法,对任意3个数a ,b ,c ,求出其中的最小数.[答案] (1)由二次函数的性质知,当0>a 时,函数有最小值;442ab ac -当a<0时,函数有最大值 ab ac 442- 算法步骤用自然语言叙述如下:Sl 计算;442ab ac m -=S2 若a>0,则函数的最小值是m ;否则,执行S3; S3 函数的最大值是m . (2)算法步骤如下:;min 1a S =S2 如果min,<b 则;min b =S3 如果min,<c 则⋅=c mm S4 min 就是a ,b ,c 中的最小数.[点拨] (1)第(1)题用的是自然语言,第(2)题用的是数学语言,至于用哪种语言结合具体的问题而定. (2)任给有限个数,求其中的最大数、最小数的算法,在数不是很多的情况下,就可以采用这种逐一比较的办法.3.写出解方程0322=--x x 的一个算法, 考点4算法的应用[例4] -位商人有9枚银元,其中有一枚略轻的是假银元,你能用天平(不用砝码)将假银元找出来吗?设计一个算法,解决这一问题.[解析] 最容易想到的解决这个问题的一种方法是:把9枚银元按顺序排成一排,先称前2枚,若不平衡,则可找出假银元;若平衡,则2枚银元都是真的,再依次与剩下的银元比较,就能找出假银元.上述算法,最少要称量1次最多需称量7次,我们还可以对这种算法进行改进,使得称量的次数尽量少一些.[答案] 解法一:算法步骤如下:Sl任取2枚银元分别放在天平的两边,如果天平左右不平衡,则轻的一边就是假银元;如果天平平衡,则执行S2;S2取下右边的银元,放在一边,然后把剩余的7枚银元依次放在右边进行称量,直到天平不平衡,偏轻的那一枚就是假银元.解法二:算法步骤如下:Sl把银元分成3组,每组3枚;S2先将两组分别放在天平的两边,如果天平不平衡,那么假银元就在偏轻的那一组;如果天平左右平衡,则假银元就在未称的第3组里;S3取出含假银元的那一组,从中任取两枚银元放在天平的两边,如果左右不平衡,则轻的那一边就是假银元;如果天平平衡.则未称的那一枚就是假银元.4.-个人带三只狼和三只羚羊过河,只有一条船,同船可以容一个人和两只动物,没有人在的时候,如果狼的数量不少于羚羊的数量,它就会吃掉羚羊.请你设计安全渡河的算法,优化分层测训学业水平测试1.下列关于算法的说法中,正确的是( ). A .算法就是某个问题的解题过程 B .算法执行后可以不产生确定的结果 C .解决某类问题的算法不是唯一的 D .算法可以无限地操作下去不停止 2.假设家中生火泡茶有下列步骤:a.生火 b .将水倒入锅中 c .找茶叶 d .洗涤茶壶茶碗 e .用开水冲茶 则最优算法为( ).A. abcdeB.bacdeC.cdabeD.dcabe 3.下列算法的说法中,正确的有 . ①求解某一类问题的算法是唯一的; ②算法必须在有限步操作后停止; ③算法的每一步操作必须是明确的; ④算法执行后一定产生确定的结果.4.对于像“喝一碗水”这类含有动作性的语言能否出现在算法的一个步骤中,下列说法中正确的是——: ①能;②不能;③有些题目能,有些不能;④以上说法均不对. 5.写出一个能找出a ,b ,c ,d 最大数的算法.高考能力测试(测试时间:45分钟测试满分:100分)一、选择题(本大题共8小题,每小题5分,共40分,在每小题给出的四个选项中,只有一项是符合题目要求的)1.下列对算法描述正确的一项是( ). A .算法只能用自然语言来描述 B .算法只能用图形方式来表示 C .同一问题可以有不同的算法D .同一问题的算法不同,必然结果不同 2.算法的有穷性是指( ). A .算法必须包含输出B .算法中的每个操作步骤都是可执行的C .算法的步骤必须有限D .以上说法均不正确3.下列语句表达中是算法的有( ).①从济南到巴黎,可以先乘火车到北京,再坐飞机抵达;②利用公式ah S 21=计算底为1,高为2的三角形的面积;;4221+>x x ③④求M(l ,2)与Ⅳ(-3,-5)两点连线的方程,可先求MN 的斜率,再利用点斜式方程求得.A .1个B .2个C .3个 D.4个 4.早上从起床到出门需要洗脸刷牙(5 min)、刷水壶(2 min)、烧水(8 min)、泡面(3 min)、吃饭(10 min)、听广播(8 min)几个步骤,下列选项中最好的一种算法是( ). A .洗脸刷牙、刷水壶、烧水、泡面、吃饭、听广播B .刷水壶、烧水同时洗脸刷牙、泡面、吃饭、听广播C .刷水壶、烧水同时洗脸刷牙、泡面、吃饭同时听广播D .吃饭同时听广播、泡面、烧水同时洗脸刷牙、刷水壶 5.下面四句话中不是解决问题的算法的是( ).A .从济南到北京旅游,先坐火车,再坐飞机B .解一元一次方程的步骤是去分母、去括号、移项、合并同类项、系数化为1C .方程012=-x 有两个实根D .求54321++++的值,先计算,321=+再由,633=+,15510,1046=+=+最终结果为15 6.计算下列各式中的s 的值,能设计算法求解的是( ).;100321++++= s ① ;100321 +++++=s ②⋅∈≥++++=),1(321N n n n s 且③①②.A .B ①③ ②③.C ①②③.D7.对于算法:Sl 输入n ;S2 判断n 是否等于2,若,2=n 则n 满足条件;若n>2,则执行S3;S3 依次从2到n-1检验能不能整除n ,若不能整除n ,则执行S4;若能整除n ,则执行Sl ; S4 输出n .满足条件的n 是( ).A .质数B .奇数C .偶数D .约数 8.-个算法步骤如下:第一步:S 取值0,i 取值1;第二步:如果i≤10,则执行第三步,否则执行第六步; 第三步:计算S+i 并将结果代替S ; 第四步:用i+2的值代替i ; 第五步:转去执行第二步; 第六步:输出S .运行以上步骤输出的结果为( ). A .25 B .20 C .15 D .10二、填空题(本大题共4小题,每小题5分,共20分,把答案填在题后的相应位置) 9.可设计一个计算分段函数.⎩⎨⎧≤+>-=)0(5),0(12)(2x x x x x x f 的函数值的算法,该算法最后输出的结果是6时,输入的x 的值为10.已知数字序列:.8,52,12,18,32,15,8,7,5,2写出从该序列中搜索18的一个算法: 第一步:输入实数a .第二步: 第三步:输出.18=a11.求1197531⨯⨯⨯⨯⨯的值的一个算法是:第一步:求lx3得到结果3.第二步:将第一步所得的结果3乘5,得到结果15. 第三步: 第四步:再将105乘9得到945.第五步:再将945乘11,得到10395,即为最后结果.12. -个求解任意二次函数)0(2=/++=a c bx ax y 的最值的算法是:第一步:计算;442ab ac m -=第二步: , 第三步:三、解答题(本大题共4小题,每小题10分,共40分,解答须写出文字说明、证明过程和演算步骤) 13.写出任意给出的4个数a ,b ,c ,d 的平均数的一种算法.14.某人带着一只狼和一只羊及一捆青菜过河,只有一条船,此船仅可载此人和狼、此人和羊或此人和青菜,没有此人在的时候,狼会吃羊,羊会吃青菜,请设计一个安全过河的算法.15.下面给出了一个问题的算法:第一步:输入a .第二步:若,4≥a 则执行第三步,否则执行第四步. 第三步:输出.12-a 第四步:输出.322+-a a问题:(1)这个算法解决的问题是什么?(2)当输入a 的值为多大时,输出的数值最小?16.如图1 -1 -1 -1,已知直线-+=+-y x l y x l 23:0123:21和,06=求1l 和2l 与y 轴所围成的三角形的面积,写出解决本题的一个算法.11 / 11。
2023年计算机等级考试二级辅导讲义
全国计算机等级考试——二级公共基础知识辅导讲义第一章数据构造与算法1.1 算法1.算法是指解题方案旳精确而完整旳描述。
换句话说, 算法是对特定问题求解环节旳一种描述。
*: 算法不等于程序, 也不等于计算措施。
程序旳编制不也许优于算法旳设计。
2.算法旳基本特性(1)可行性。
针对实际问题而设计旳算法, 执行后可以得到满意旳成果。
(2)确定性。
每一条指令旳含义明确, 无二义性。
并且在任何条件下, 算法只有唯一旳一条执行途径, 即相似旳输入只能得出相似旳输出。
(3)有穷性。
算法必须在有限旳时间内完毕。
有两重含义, 一是算法中旳操作环节为有限个, 二是每个环节都能在有限时间内完毕。
(4)拥有足够旳情报。
算法中多种运算总是要施加到各个运算对象上, 而这些运算对象又也许具有某种初始状态, 这就是算法执行旳起点或根据。
因此, 一种算法执行旳成果总是与输入旳初始数据有关, 不一样旳输入将会有不一样旳成果输出。
当输入不够或输入错误时, 算法将无法执行或执行有错。
一般说来, 当算法拥有足够旳情报时, 此算法才是有效旳;而当提供旳情报不够时, 算法也许无效。
*:综上所述, 所谓算法, 是一组严谨地定义运算次序旳规则, 并且每一种规则都是有效旳, 且是明确旳, 本次序将在有限旳次数下终止。
3.算法复杂度重要包括时间复杂度和空间复杂度。
(1)算法时间复杂度是指执行算法所需要旳计算工作量, 可以用执行算法旳过程中所需基本运算旳执行次数来度量。
(2)算法空间复杂度是指执行这个算法所需要旳内存空间。
1.2 数据构造旳基本概念1.数据构造是指互相有关联旳数据元素旳集合。
2.数据构造重要研究和讨论如下三个方面旳问题:(1)数据集合中各数据元素之间所固有旳逻辑关系, 即数据旳逻辑构造。
数据旳逻辑构造包括:1)表达数据元素旳信息;2)表达各数据元素之间旳前后件关系。
(2)在对数据进行处理时, 各数据元素在计算机中旳存储关系, 即数据旳存储构造。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第五步,用6除7, 得到余数1. ∵余数不为0, ∴6不能整除7.
故7是质数.
例题1
(2).设计一个算法,判断35是否为质数?
根据以上分析,可以写出如下的算法: 解: 第一步,用2除35, 得到余数1.∵余数不为0, ∴2不能整除35.
算筹、算盘、计算机等从古到今的计算工具的 基础都是“算法”.算法对我们而言并不陌生,其实 我 们从小学就开始接触算法,例如,做四则运算要先 乘除后加减、从里往外去括号 、竖式笔算等都是算 法,至于乘法口诀、珠算口诀更是算法的具体体现. 后来我们又陆续学习过一元一次方程、一元一次不 等式、一元二次方程、一元二次不等式、二元一次 方程组的解法,求两个数的最大公因数,解三角形 等,这些问题中都蕴含了丰富的算法.
农夫过河问题
有一个农夫带三只狼和三只羚羊过河,只有一条船, 同船可以容纳一个人和两只动物。没有人在的时候,如果 狼的数量不少于羚羊的数量,狼就会吃掉羚羊。农夫应 该如何渡河?
河
流
1.算法的概念: 在数学中“算法”通常是指按照一定的规则来 解决的某一类问题的明确和有限的步骤,这些 步骤必须是明确和有效的,而且能够在有限步 之内完成。 2.算法的表示方法:自然语言、程序框图、程序 3.算法的基本思想与特征:
步骤三: 如果c>max,则max=c.
思考:你能写出一个求有限整数列中的最大值的算法吗?
思考:写出一个求有限整数列中的最大值的算法。
解: 步骤一: 先假定序列中的第一个整数为“最大值”。
步骤二: 将序列中的下一个整数值与“最大值”比较 如果它大于此“最大值”,这时你就假定“最大值” 这个整数。
步骤三: 如果序列中还有其他整数,重复步骤二。 步骤四: 在序列中一直到没有可比的数为止, 这时假定的“最大值”就是这个序列中的最大值.
例2、用二分法设计一个求方程x2-2=0的近 似根的算法(精确度为0.005).
根据以上分析,可以写出如下的算法:
第一步:令f(x)=x2-2,给定精确度d.
第二步:确定区间 a , b , 满足f a f b 0;
ab 第三步:取区间中点m ; 2
第四步:若f a • f m 0,则含零点的区间为 a , m ,
例题1
(1).设计一个算法,判断7是否为质数?
算法分析:由质数的定义,可以这样判断:依次用2~6除7, 若它们中有一个能整除7,则7不是质数,否则7是质数. 解: 根据以上分析,可以写出如下的算法: 第一步,用2除7, 得到余数1. ∵余数不为0, ∴2不能整除7.
第二步,用3除7, 得到余数1. ∵余数不为0, ∴3不能整除7. 第三步,用4除7, 得到余数3. ∵余数不为0, ∴4不能整除7.
第二步:计算以r为半径的圆的面积 S r 2 . 第三步:得到圆的面积S.
2、任意给定一个大于1的正整数n,设计一个算法求 出n的所有因数。 算法步骤: 第一步:给定一个大于1的正整数n. 第二步:令i=1. i表示1~n中的任意整数. 第三步:用i除n,得到余数r.
第四步:判断“r=0”是否成立,若是,则i是n的因数; 否则i不是n的因数.
判断下列关于算法的说法是否确:
1、求解某一类问题的算法是唯一的;
2、算法必须在有限步操作之后停止;
3、算法的每一步必须是明确的,不能有歧 义或模糊; 4、算法执行后一定产生确定的结果.
例题1
(1).设计一个算法,判断7是否为质数?
(2).设计一个算法,判断35是否为质数? 只能被1和自身整除的大于1的整数叫质数.
1 2
2 1Байду номын сангаас
1 2
2 1
我们从事各种工作和活动,都必须事先想
好进行的步骤,然后按部就班地进行才能避免 产生错乱,即做每件事情都需要设计出“行动 步做数学问题也是按一定步骤进行的.上述步 骤构成 了解二元一次方程组的算法,我们可以进一步根据这一 骤”.
算法编制计算机程序,让计算机来解二元一次方程组.
阅读教材P2-3页.
回顾
如何求解二元一次方程组?
二元一次方程组
x 2 y 1 2 x y 1
的求解过程. 归纳它的步骤: 第一步: ②-①×2,得 5y=3
① ②
③
第二步: 解③得 y=
3 5
3 1 第三步: 将y 代入①,得x 5 5
一般的二元一次方程组
思考?
1.1.1 算法的概念
为什么要学习算法?
计算机与算法: 在现代社会里,计算机已经成为人们日常 生活和工作不可缺少的工具.听音乐、看 电影、玩游戏、画卡通画、处理数据…计 算机几乎可以是一个全能的助手,你可以 用它来做你想做的任何事情.那么,计算 机是怎样工作呢?要想弄清楚这个问题, 就需要学习算法.
a1 x b1 y c1 ① 其中a1b2 a2b1 0 a2 x b2 y c2 ② 第一步:②× a1 -①×a 2 ,得 ③ (a b a b ) y a c a c
a1c2 a2 c1 第二步:解③,得 y a1b2 a2b1 a1c2 a2 c1 第三步:将 y 代入①,得 a1b2 a2b1 b2 c1 b1c2 x a1b2 a2b1
(1)解决某一类问题 (一般性) (2)在有限步之内完成 (有限性)
(3)每一步的明确性和有效性 (确定与可行性)
(4)每一步具有顺序性 (顺序性)
一般算法的基本性质有四条:
A.有穷性; B. 唯一的初始动作; C.每个动作都有唯一的后继动作; D.动作序列终止时,表示问题得到解答 或没有解答.
练习
否则为 m,b , 将新得到的区间仍记为 a , b .
第五步:判断区间 a , b 的长度是否小于d 或f m 是否等于0; 若是,则m即为所求方程的近似解,不是,则返回第三步。
例3. 写出一个求整数a、b、c最大值的算法
解:步骤一: max=a 步骤二: 如果b>max,则max=b.
例2、用二分法设计一个求方程x2-2=0的近 似根的算法(精确度为0.005).
• 分析: • 1.二分法求方程近似解是通过求对应函 数的近似零点得到的,所以首先要建立 函数,而且要有具体精确度要求,因此 第一步应该怎么做? • 2.二分法分的是什么? • 3.如何确定新区间的端点? • 4.如何表达出反复二分区间的过程?
第五步:将i的值增加1,仍用i表示. 第六步,判断“i>n”是否成立,若是,则结束算法; 否则,返回第三步.
上课时我们学习了算法的概念及特征,以及用自 然语言表示算法步骤. 虽然用自然语言表示算法步骤 有明确的顺序性,但对于在一定条件下才会被执行的 步骤,或在一定条件下会被重复执行的步骤,自然语 言的表示往往显得比较困难,而且不直观、不准确.本 课时我们学习程序框图,其特点是用图形的方式表示 算法,使算法的结构更清楚、步骤更直观也更精准.
第二步,用3除35, 得到余数2.∵余数不为0, ∴3不能整除35. 第三步,用4除35, 得到余数3.∵余数不为0, ∴4不能整除35.
第四步,用5除35, 得到余数0. ∵余数为0, ∴5能整除35. 故35不是质数.
探究:你能写出“判断整数n(n>2)是否为质数”的算法吗?
【算法分析】对于任意的整数n(n>2),若用i表示2~(n-1) 中的任意整数,则“判断n是否为质数”的算法包含下面 的 重复操作:用i除n,得到余数r,判断余数r是否为0,若 为0,则n不是质数,否则将i 的值增加1,再执行同样的 操作,一直到i的值等于n-1为止. 【解析】由上述算法分析我们得到判断任意大于2的 整数n是否为质数的算法步骤为: 第一步:给定大于2的整数n; 第二步:令i=2; 第三步:用i除n,得到余数r; 第四步:判断“r=0”是否成立,若是,则n不是质数, 结束算法;否则,将i的值增加1,仍用i表示; 第五步,判断“i>n-1”是否成立,若成立,则n是质数, 结束算法;否则,返回第三步.
课堂练习(教材第5页练习1~2)
1、任意给定一个正实数,设计一个算法求以这个数为半 径的圆的面积。
2、任意给定一个大于1的正整数n,设计一个算法求出n 的所有因数。
课堂练习:教材第5页练习1~2
1、任意给定一个正实数,设计一个算法求以这个数为半 径的圆的面积。 算法步骤:
第一步:输入任意一个正实数r.
阅读教材P6-7页.
课后作业
1. 教材选修2-1第111页 习题3.2 2. 教辅选修2-1第85页~87页 3. 预习教材必修3教材第6页~19页 A组 1~8