算法与程序框图
- 格式:doc
- 大小:89.90 KB
- 文档页数:6
人教版高二数学上册算法框图的基本结构及设计知识点算法与程序框图算法框图是一种图形化的表示方法,用于描述算法的步骤和流程。
它由特定的符号和连接线构成,可以清晰地展示算法的逻辑结构和执行流程。
在人教版高二数学上册中,学生将学习算法框图的基本结构和设计知识点。
以下是相关的基本知识点和注意事项:1.算法框图的基本结构(1) 开始(Start)和结束(End):算法的执行通常从一个开始符号开始,以一个结束符号结束。
(2)输入和输出:算法通常需要获取输入数据并输出结果,在框图中用特殊符号表示。
(3) 过程(Process):算法中的操作步骤可以通过过程符号表示,包括一系列的计算或逻辑操作。
(4) 判断(Decision):算法可能需要进行条件判断,根据不同的条件执行不同的步骤。
判断符号通常有两个或多个出口,分别表示不同的条件结果。
(5) 循环(Loop):算法可能需要进行循环操作,重复执行一些步骤。
循环符号通常有一个判断条件和两个出口。
(6)连接线:算法框图之间通过连接线连接,表示程序的执行流程。
2.算法框图的设计知识点(1)模块化:将算法分解为若干个模块,每个模块完成一个特定的功能。
通过模块化可以提高算法的可读性和可维护性。
(2)层次结构:将算法按照层次结构进行组织,从而使得算法的逻辑结构清晰可见。
(3)合并与分支:合并表示将多个路径上的运行流程合并到一起,分支表示根据不同的条件选择不同的运行路径。
(4)定义变量和赋值操作:算法框图中需要定义和使用变量,通过赋值操作可以对变量进行初始化和修改。
(5)循环操作:循环操作用于重复执行一段程序代码,框图中循环部分需要设置循环条件和循环体。
(6)逻辑判断:算法框图中经常需要进行逻辑判断,根据不同的条件执行不同的代码。
(7)输入和输出:算法框图中需要用特定符号表示输入和输出的部分,以表示算法的输入和输出过程。
3.算法与程序框图的关系算法框图是对算法的图形化描述,用于表示算法的执行流程和逻辑结构。
高考总复习:算法与程序框图【考纲要求】1.算法的含义、程序框图(1)了解算法的含义,了解算法的思想;(2)理解程序框图的三种基本逻辑结构:顺序、条件、循环。
2.基本算法语句理解几种基本算法语句——输入语句、输出语句、赋值语句、条件语句、循环语句的含义。
【知识网络】【考点梳理】考点一、算法1.算法的概念(1)古代定义:指的是用阿拉伯数字进行算术运算的过程。
(2)现代定义:算法通常是指按照一定规则解决某一类问题的明确和有限的步骤。
(3)应用:算法通常可以编成计算机程序,让计算机执行并解决问题。
2.算法的特征:①指向性:能解决某一个或某一类问题;②精确性:每一步操作的内容和顺序必须是明确的;算法的每一步都应当做到准确无误,从开始的“第一步”直到“最后一步”之间做到环环相扣,分工明确.“前一步”是“后一步”的前提,“后一步”是“前一步”的继续.③有限性:必须在有限步内结束并返回一个结果;算法要有明确的开始和结束,当到达终止步骤时所要解决的问题必须有明确的结果,也就是说必须在有限步内完成任务,不能无限制的持续进行.④构造性:一个问题可以构造多个算法,算法有优劣之分。
3.算法的表示方法:(1) 用自然语言表示算法: 优点是使用日常用语, 通俗易懂;缺点是文字冗长, 容易出现歧义;(2) 用程序框图表示算法:用图框表示各种操作,优点是直观形象, 易于理解。
要点诠释:泛泛地谈算法是没有意义的,算法一定以问题为载体。
考点二:程序框图1. 程序框图的概念:程序框图又称流程图,是最常用的一种表示法,它是描述计算机一步一步完成任务的图表,直观地描述程序执行的控制流程,最便于初学者掌握。
2.程序框图常用符号:连接点用于连接另一页或另一部分的框图注释框框中内容是对某部分流程图做的解释说明3.画程序框图的规则:(1)使用标准的框图的符号;(2)框图一般按从上到下、从左到右的方向画;(3)除判断框图外,大多数框图符号只有一个进入点和一个退出点。
算法与程序框图一、基础知识1.算法(1)算法通常是指按照一定规则解决某一类问题的明确和有限的步骤. (2)应用:算法通常可以编成计算机程序,让计算机执行并解决问题. 2.程序框图程序框图又称流程图,是一种用程序框、流程线及文字说明来表示算法的图形. 3.三种基本逻辑结构 (1)顺序结构(2)条件结构(3)循环结构三种基本逻辑结构的适用情境(1)顺序结构:要解决的问题不需要分类讨论. (2)条件结构:要解决的问题需要分类讨论.(3)循环结构:要解决的问题要进行许多重复的步骤,且这些步骤之间有相同的规律.考点一 顺序结构和条件结构[例1] (2019·沈阳质检)已知一个算法的程序框图如图所示,当输出的结果为0时,输入的实数x 的值为( )A .-3B .-3或9C .3或-9D .-3或-9[解析] 当x ≤0时,y =⎝⎛⎭⎫12x -8=0,x =-3;当x >0时,y =2-log 3x =0,x =9.故x =-3或x =9,选B.[答案] B[例2] 某程序框图如图所示,现输入如下四个函数,则可以输出的函数为( )A .f (x )=cos x x ⎝⎛⎭⎫-π2<x <π2,且x ≠0 B .f (x )=2x -12x +1C .f (x )=|x |xD .f (x )=x 2ln(x 2+1)[解析] 由程序框图知该程序输出的是存在零点的奇函数,选项A 、C 中的函数虽然是奇函数,但在给定区间上不存在零点,故排除A 、C.选项D 中的函数是偶函数,故排除D.选B.[答案] B[解题技法] 顺序结构和条件结构的运算方法(1)顺序结构是最简单的算法结构,语句与语句之间、框与框之间是按从上到下的顺序进行的.解决此类问题,只需分清运算步骤,赋值量及其范围进行逐步运算即可.(2)条件结构中条件的判断关键是明确条件结构的功能,然后根据“是”的分支成立的条件进行判断.(3)对于条件结构,无论判断框中的条件是否成立,都只能执行两个分支中的一个,不能同时执行两个分支.[题组训练]1.半径为r 的圆的面积公式为S =πr 2,当r =5时,计算面积的流程图为( )解析:选D 因为输入和输出框是平行四边形,故计算面积的流程图为D. 2.运行如图所示的程序框图,可输出B =______,C =______.解析:若直线x+By+C=0与直线x+3y-2=0平行,则B=3,且C≠-2,若直线x+3y+C=0与圆x2+y2=1相切,则|C|12+(3)2=1,解得C=±2,又C≠-2,所以C=2.答案:3 2考点二循环结构考法(一)由程序框图求输出(输入)结果[例1](2018·天津高考)阅读如图所示的程序框图,运行相应的程序,若输入N的值为20,则输出T的值为()A.1B.2C.3 D.4[解析]输入N的值为20,第一次执行条件语句,N=20,i =2,Ni =10是整数,∴T =0+1=1,i =3<5;第二次执行条件语句,N =20,i =3,N i =203不是整数,∴i =4<5;第三次执行条件语句,N =20,i =4,Ni =5是整数,∴T =1+1=2,i =5,此时i ≥5成立,∴输出T =2. [答案] B[例2] (2019·安徽知名示范高中联考)执行如图所示的程序框图,如果输出的n =2,那么输入的 a 的值可以为( )A .4B .5C .6D .7[解析] 执行程序框图,输入a ,P =0,Q =1,n =0,此时P ≤Q 成立,P =1,Q =3,n =1,此时P ≤Q 成立,P =1+a ,Q =7,n =2.因为输出的n 的值为2,所以应该退出循环,即P >Q ,所以1+a >7,结合选项,可知a 的值可以为7,故选D.[答案] D[解题技法] 循环结构的一般思维分析过程 (1)分析进入或退出循环体的条件,确定循环次数.(2)结合初始条件和输出结果,分析控制循环的变量应满足的条件或累加、累乘的变量的表达式.(3)辨析循环结构的功能. 考法(二) 完善程序框图[例1] (2018·武昌调研考试)执行如图所示的程序框图,如果输入的a 依次为2,2,5时,输出的s 为17,那么在判断框中可以填入( )A .k <n?B .k >n?C .k ≥n?D .k ≤n?[解析] 执行程序框图,输入的a =2,s =0×2+2=2,k =1;输入的a =2,s =2×2+2=6,k =2;输入的a =5,s =2×6+5=17,k =3,此时结束循环,又n =2,所以判断框中可以填“k >n ?”,故选B.[答案] B[例2] (2018·全国卷Ⅱ)为计算S =1-12+13-14+…+199-1100,设计了如图所示的程序框图,则在空白框中应填入( )A .i =i +1B .i =i +2C .i =i +3D .i =i +4[解析] 由题意可将S 变形为S =⎝⎛⎭⎫1+13+…+199-⎝⎛⎭⎫12+14+…+1100,则由S =N -T ,得N =1+13+…+199,T =12+14+…+1100.据此,结合N =N +1i ,T =T +1i +1易知在空白框中应填入i =i +2.故选B.[答案] B[解题技法] 程序框图完善问题的求解方法(1)先假设参数的判断条件满足或不满足;(2)运行循环结构,一直到运行结果与题目要求的输出结果相同为止; (3)根据此时各个变量的值,补全程序框图.[题组训练]1.(2018·凉山质检)执行如图所示的程序框图,设输出的数据构成的集合为A ,从集合A 中任取一个元素a ,则函数y =x a ,x ∈[0,+∞)是增函数的概率为( )A.47B.45C.35D.34解析:选C 执行程序框图,x =-3,y =3;x =-2,y =0;x =-1,y =-1;x =0,y =0;x =1,y =3;x =2,y =8;x =3,y =15;x =4,退出循环.则集合A 中的元素有-1,0,3,8,15,共5个,若函数y =x a ,x ∈[0,+∞)为增函数,则a >0,所以所求的概率为35.2.(2019·珠海三校联考)执行如图所示的程序框图,若输出的n 的值为4,则p 的取值范围是( )A.⎝⎛⎦⎤34,78B.⎝⎛⎭⎫516,+∞C.⎣⎡⎭⎫516,78D.⎝⎛⎦⎤516,78解析:选A S =0,n =1;S =12,n =2;S =12+122=34,n =3;满足条件,所以p >34,继续执行循环体;S =34+123=78,n =4;不满足条件,所以p ≤78.输出的n 的值为4,所以34<p ≤78,故选A.3.(2019·贵阳适应性考试)某程序框图如图所示,若该程序运行后输出的值是137,则整数a 的值为( )A .6B .7C .8D .9解析:选A 先不管a 的取值,直接运行程序.首先给变量S ,k 赋值,S =1,k =1,执行S =S +1k (k +1),得S =1+11×2,k =2;执行S =1+11×2+12×3,k =3;……继续执行,得S =1+11×2+12×3+…+1k (k +1)=1+⎝⎛⎭⎫1-12+⎝⎛⎭⎫12-13+…+⎝⎛⎭⎫1k -1k +1=2-1k +1,由2-1k +1=137得k =6,所以整数a =6,故选A.考点三 基本算法语句[典例] 执行如图程序语句,输入a =2cos 2 019π3,b =2tan 2 019π4,则输出y 的值是( )A .3B .4C .6D .-1[解析] 根据条件语句可知程序运行后是计算y =⎩⎪⎨⎪⎧a (a +b ),a <b ,a 2-b ,a ≥b ,且a =2cos 2 019π3=2cos π=-2,b =2tan 2 019π4=2tan 3π4=-2.因为a ≥b ,所以y =a 2-b =(-2)2-(-2)=6, 即输出y 的值是6. [答案] C[变透练清]1. 执行如图所示的程序,输出的结果是________.i =11S =1DOS =S*ii =i -1LOOP UNTIL i<9PRINT S END解析:程序反映出的算法过程为 i =11⇒S =11×1,i =10; i =10⇒S =11×10,i =9; i =9⇒S =11×10×9,i =8;i =8<9退出循环,执行“PRINT S ”. 故S =990. 答案:9902.阅读如图所示的程序.a 的值是________. 解析:由题意可得程序的功能是计算并输出a =⎩⎪⎨⎪⎧2+a ,a >2,a ×a ,a ≤2的值, 当a >2时,由2+a =9得a =7; 当a ≤2时,由a 2=9得a =-3, 综上知,a =7或a =-3. 答案:-3或7[课时跟踪检测]1.(2019·湖北八校联考)对任意非零实数a ,b ,定义a *b 的运算原理如图所示,则(log222)*⎝⎛⎭⎫18-23=( )A .1B .2C .3D .4解析:选A 因为log222=3,⎝⎛⎭⎫18-23=4,3<4,所以输出4-13=1,故选A. 2.执行如图所示的程序框图,则输出的x ,y 分别为( )A .90,86B .94,82C .98,78D .102,74解析:选C 第一次执行循环体,y =90,s =867+15,不满足退出循环的条件,故x =90;第二次执行循环体,y =86,s =907+433,不满足退出循环的条件,故x =94;第三次执行循环体,y =82,s =947+413,不满足退出循环的条件,故x =98;第四次执行循环体,y =78,s =27,满足退出循环的条件,故x =98,y =78.3.(2018·云南民族大学附属中学二模)执行如图所示的程序框图,若输出的k 的值为6,则判断框内可填入的条件是( )A .s >12?B .s >710?C .s >35?D .s >45?解析:选B s =1,k =9,满足条件;s =910,k =8,满足条件;s =45,k =7,满足条件;s =710,k =6,不满足条件.输出的k =6,所以判断框内可填入的条件是“s >710?”.故选B.4.(2019·合肥质检)执行如图所示的程序框图,如果输出的k 的值为3,则输入的a 的值可以是( )A .20B .21C .22D .23解析:选A 根据程序框图可知,若输出的k =3,则此时程序框图中的循环结构执行了3次,执行第1次时,S =2×0+3=3,执行第2次时,S =2×3+3=9,执行第3次时,S =2×9+3=21,因此符合题意的实数a 的取值范围是9≤a <21,故选A.5.(2019·重庆质检)执行如图所示的程序框图,如果输入的x =0,y =-1,n =1,则输出x ,y 的值满足( )A .y =-2xB .y =-3xC .y =-4xD .y =-8x解析:选C 初始值x =0,y =-1,n =1,x =0,y =-1,x 2+y 2<36,n =2,x =12,y=-2,x 2+y 2<36,n =3,x =32,y =-6,x 2+y 2>36,退出循环,输出x =32,y =-6,此时x ,y 满足y =-4x ,故选C.6.(2018·南宁二中、柳州高中联考)执行如图所示的程序框图,若输出的结果s =132,则判断框中可以填( )A.i≥10? B.i≥11?C.i≤11? D.i≥12?解析:选B执行程序框图,i=12,s=1;s=12×1=12,i=11;s=12×11=132,i =10.此时输出的s=132,则判断框中可以填“i≥11?”.7.(2019·漳州八校联考)执行如图所示的程序,若输出的y的值为1,则输入的x的值为() INPUT xIF x>=1THENy=x2ELSEy=-x2+1END IFPRINT yENDA.0 B.1C.0或1 D.-1,0或1解析:选C当x≥1时,由x2=1得x=1或x=-1(舍去);当x<1时,由-x2+1=1得x=0.∴输入的x的值为0或1.)8.执行如图所示的程序框图,若输入的n=4,则输出的s=(C.20 D.35解析:选C执行程序框图,第一次循环,得s=4,i=2;第二次循环,得s =10,i =3; 第三次循环,得s =16,i =4; 第四次循环,得s =20,i =5.不满足i ≤n ,退出循环,输出的s =20.9.(2018·洛阳第一次统考)已知某算法的程序框图如图所示,则该算法的功能是( )A .求首项为1,公差为2的等差数列的前2 018项和B .求首项为1,公差为2的等差数列的前2 019项和C .求首项为1,公差为4的等差数列的前1 009项和D .求首项为1,公差为4的等差数列的前1 010项和解析:选D 由程序框图得,输出的S =(2×1-1)+(2×3-1)+(2×5-1)+…+(2×2 019-1),可看作数列{2n -1}的前2 019项中所有奇数项的和,即首项为1,公差为4的等差数列的前1 010项和.故选D.10.(2018·郑州第一次质量测试)执行如图所示的程序框图,若输出的结果是7,则判断框内m 的取值范围是( )A .(30,42]B .(30,42)C .(42,56]D .(42,56)解析:选A k =1,S =2,k =2;S =2+4=6,k =3;S =6+6=12,k =4;S =12+8=20,k =5;S =20+10=30,k =6;S =30+12=42,k =7,此时不满足S =42<m ,退出循环,所以30<m ≤42,故选A.11.(2019·石家庄调研)20世纪70年代,流行一种游戏——角谷猜想,规则如下:任意写出一个自然数n ,按照以下的规律进行变换,如果n 是奇数,则下一步变成3n +1;如果n 是偶数,则下一步变成n2.这种游戏的魅力在于无论你写出一个多么庞大的数字,最后必然会落在谷底,更准确地说是落入底部的4-2-1循环,而永远也跳不出这个圈子,下列程序框图就是根据这个游戏而设计的,如果输出的i 值为6,则输入的n 值为( )A .5或16B .16C .5或32D .4或5或32解析:选C 若n =5,执行程序框图,n =16,i =2;n =8,i =3;n =4,i =4;n =2,i =5;n =1,i =6,结束循环,输出的i =6.若n =32,执行程序框图,n =16,i =2;n =8,i =3;n =4,i =4;n =2,i =5;n =1,i =6,结束循环,输出的i =6.当n =4或16时,检验可知不正确,故输入的n =5或32,故选C.12.(2018·贵阳第一学期检测)我国明朝数学家程大位著的《算法统宗》里有一道闻名世界的题目:“一百馒头一百僧,大僧三个更无争.小僧三人分一个,大小和尚各几丁?”如图所示的程序框图反映了对此题的一个求解算法,则输出的n 的值为( )A .20B .25C .30D .35解析:选B 法一:执行程序框图,n =20,m =80,S =60+803=8623≠100;n =21,m =79,S =63+793=8913≠100;n =22,m =78,S =66+783=92≠100;n =23,m =77,S =69+773=9423≠100;n =24,m =76,S =72+763=9713≠100;n =25,m =75,S =75+753=100,退出循环.所以输出的n =25.法二:设大和尚有x 个,小和尚有y 个, 则⎩⎪⎨⎪⎧x +y =100,3x +13y =100,解得⎩⎪⎨⎪⎧x =25,y =75, 根据程序框图可知,n 的值即大和尚的人数,所以n =25.13.已知函数y =lg|x -3|,如图所示程序框图表示的是给定x 值,求其相应函数值y 的算法.请将该程序框图补充完整.其中①处应填________,②处应填________.解析:由y =lg|x -3|=⎩⎪⎨⎪⎧lg (x -3),x >3,lg (3-x ),x <3及程序框图知,①处应填x <3?,②处应填y=lg(x -3).答案:x <3? y =lg(x -3)14.执行如图所示的程序框图,若输入的N =20,则输出的S =________.解析:依题意,结合题中的程序框图知,当输入的N =20时,输出S 的值是数列{2k -1}的前19项和,即19(1+37)2=361.答案:36115.执行如图所示的程序框图,则输出的λ是________.解析:依题意,若λa +b 与b 垂直,则有(λa +b )·b =4(λ+4)-2(-3λ-2)=0,解得λ=-2;若λa +b 与b 平行,则有-2(λ+4)=4(-3λ-2),解得λ=0.结合题中的程序框图可知,输出的λ是-2.答案:-216.执行如图所示的程序框图,如果输入的x ,y ∈R ,那么输出的S 的最大值为________.解析:当条件x ≥0,y ≥0,x +y ≤1不成立时,输出S 的值为1,当条件x ≥0,y ≥0,x +y ≤1成立时,输出S =2x +y ,下面用线性规划的方法求此时S 的最大值.作出不等式组⎩⎪⎨⎪⎧x ≥0,y ≥0,x +y ≤1表示的平面区域如图中阴影部分所示,由图可知当直线S =2x +y 经过点M (1,0)时S 最大,其最大值为2×1+0=2,故输出S 的最大值为2.答案:2。
一、知识网络知识点一:算法与程序框图一、算法1.算法的概念:算法通常是指按一定规则解决某一类问题的明确和有限的步骤。
2.算法的描述方式有:自然语言、程序框图、程序语言。
3.算法的基本特征:①明确性:算法的每一步执行什么是明确的;②顺序性:算法的“前一步”是“后一步”的前提,“后一步”是“前一步”的继续;③有限性:算法必须在有限步内完成任务,不能无限制的持续进行;④通用性:算法应能解决某一类问题。
二、程序框图(一)程序框图基本概念程序框图又称流程图,是一种用规定的图形、指向线及文字说明来准确、直观地表示算法的图形。
一个程序框图包括以下几部分:表示相应操作的程序框;带箭头的流程线;程序框外必要文字说明。
(二)构成程序框的图形符号及其作用程序框名称功能起止框表示一个算法的起始和结束,是任何流程图不可少的。
输入、输出框表示一个算法输入和输出的信息,可用在算法中任何需要输入、输出的位置。
处理框赋值、计算,算法中处理数据需要的算式、公式等分别写在不同的用以处理数据的处理框内。
算法初步算法与程序框图算法语句算法案例算法概念框图的逻辑结构输入语句赋值语句循环语句条件语句输出语句顺序结构循环结构条件结构判断框判断某一条件是否成立,成立时在出口处标“是”或“Y ”;不成立时标明“”或“N ”。
画程序框图的规则如下:①、使用标准的图形符号。
②框图一般按从上到下、从左到右的方向画。
③除判断框外,大多数流程图符号只有一个进入点和一个退出点。
判断框具有超过一个退出点的唯一符号。
④判断框分两大类,一类判断框“是”与“否”两分支的判断,而且有且仅有两个结果;另一类是多分支判断,有几种不同的结果。
⑤在图形符号内描述的语言要非常简练清楚。
(三)、程序框图的三种基本逻辑结构是:顺序结构、条件结构、循环结构。
1、顺序结构:顺序结构在程序框图中的体现就是用流程线将程序框自上而 下地连接起来,按顺序执行算法步骤。
如在示意图中,A 框和B框是依次执行的,只有在执行完A 框指定的操作后,才能接着执行B 框所指定的操作。
高考数学专题—算法与程序框图一、基础知识要求1.算法与程序框图(1)算法:算法通常是指按照一定规则解决某一类问题的明确和有限的步骤;(2)程序框图:程序框图又称流程图,是一种用程序框、流程线及文字说明来表示算法的图形.2.三种基本逻辑结构及相应语句易错点:直到型循环是“先循环,后判断,条件满足时终止循环”;当型循环则是“先判断,后循环,条件满足时执行循环”;两者的判断框内的条件表述在解决同一问题时是不同的,它们恰好相反.二、算法与程序框图常见题型:(共4种题型:由程序框图求输出结果、由输出结果判断输入量的值、辨析程序框图的算法功能、完善程序框图)1、由程序框图求输出结果:已知程序框图,求输出的结果,可按程序框图的流程依次执行,最后得出结果.例1、【2020年高考江苏】如图是一个算法流程图,若输出y 的值为2-,则输入x 的值是_____.【答案】3-【解析】由于20x >,所以12y x =+=-,解得3x =-. 故答案为:3-例2、【广西南宁市第三中学2020届高三适应性月考卷】运行如图所示的程序算法,则输出的结果为A .2B .12C .13D .132【答案】A【解析】当2a =时, 1k =;当132a =时,3k =; 当132132a ==时,5k =;…;当132a =时,99k =,当2a =时,101k =,跳出循环; 故选:A .例3、【河北省衡水中学2020届高三下学期第二次调研数学】执行如图所示的程序框图,输出的结果是A .5B .6C .7D .8【答案】B【解析】1i =,12n =, 第一次循环: 8n =,2i =, 第二次循环:31n =,3i =, 第三次循环:123n =,4i =, 第四次循环:119n =,5i =,第五次循环:475n =,6i =,停止循环, 输出6i =. 故选B .例4、【广东省深圳市2020届高三下学期第二次调研数学】执行如图的程序框图,如果输入的k =0.4,则输出的n =A .5B .4C .3D .2【答案】C【解析】模拟程序的运行,可得k =0.4,S =0,n =1, S 11133==⨯, 不满足条件S >0.4,执行循环体,n =2,S 11113352=+=⨯⨯(1111335-+-)25=,不满足条件S >0.4,执行循环体,n =3,S 11111335572=++=⨯⨯⨯(11111133557-+-+-)37=, 此时,满足条件S >0.4,退出循环,输出n 的值为3. 故选:C .例5、【甘肃省西北师大附中2020届高三5月模拟试卷】“辗转相除法”是欧几里得《原本》中记录的一个算法,是由欧几里得在公元前300年左右首先提出的,因而又叫欧几里得算法.如图所示是一个当型循环结构的“辗转相除法”程序框图.当输入2020m =,303n =时,则输出的m 是A .2B .6C .101D .202【答案】C【解析】输入2020m =,303n =,又1r =. ①10r =>,202r =,303m =,202n =; ②2020r =>,3032021101÷=,101r =,202m =,101n ;③1010r =>,0r =,101m =,0n =; ④0r =,则0r >否,输出101m =.故选:C.例6、【重庆市第一中学2019-2020学年高三下学期期中数学】冰雹猜想也称奇偶归一猜想:对给定的正整数进行一系列变换,则正整数会被螺旋式吸入黑洞(4,2,1),最终都会归入“4-2-1”的模式.该结论至今既没被证明,也没被证伪. 下边程序框图示意了冰雹猜想的变换规则,则输出的i=A.4B.5C.6D.7【答案】B【解析】由题意,第一次循环,12S Z∉,35116S=⨯+=,011i=+=,1S≠;第二次循环,12S Z∈,11682S=⨯=,112i=+=,1S≠;第三次循环,12S Z∈,1842S=⨯=,213i=+=,1S≠;第四次循环,12S Z∈,1422S=⨯=,314i=+=,1S≠;第五次循环,12S Z∈,1212S=⨯=,415i=+=,1S=;此时输出5i=.故选:B例7、【重庆市南开中学2019-2020学年高三下学期线上期中数学】若某程序框图如图所示,则输出的S 的值是A .31B .63C .127D .255【答案】C【解析】第一次运行,1i =,0S =,8i <成立,则2011S =⨯+=,112i =+=; 第二次运行,2i =,1S =,8i <成立,则2113S =⨯+=,213i =+=; 第三次运行,3i =,3S =,8i <成立,则2317S =⨯+=,314i =+=; 第四次运行,4i =,7=S ,8i <成立,则27115S =⨯+=,415i =+=; 第五次运行,5i =,15S =,8i <成立,则215131S =⨯+=,516i =+=; 第六次运行,6i =,31S =,8i <成立,则231163S =⨯+=,617i =+=; 第七次运行,7i =,63S =,8i <成立,则2631127S =⨯+=,718i =+=; 第八次运行,8i =,127S =,8i <不成立, 所以输出S 的值为127. 故选:C .2、由输出结果判断输入量的值例8、【2020·黑龙江哈尔滨六中期中】执行如图所示的程序框图,若输出的结果是1516,则输入的a 为( )A .3B .6C .5D .4【解析】 (1)第1次循环,n =1,S =12;第2次循环,n =2,S =12+122;第3次循环,n =3,S =12+122+123;第4次循环,n =4,S =12+122+123+124=1516.因为输出的结果为1516,所以判断框的条件为n <4,所以输入的a 为4.故选D.例9、我国古代数学著作《周髀算经》有如下问题:“今有器中米,不知其数.前人取半,中人三分取一,后人四分取一,余米一斗五升.问,米几何?”如图是解决该问题的程序框图,执行该程序框图,若输出的S =1.5(单位:升),则输入k 的值为( )A .4.5B .6C .7.5D .9【解析】选B.由程序框图知S =k -k 2-k 2×3-k 3×4=1.5,解得k =6,故选B.例10、执行下面的程序框图,为使输出S 的值小于91,则输入的正整数N 的最小值为( )A.5B.4C.3D.2【答案】D【解析】程序运行过程如下表所示:此时故选D. 例11、【2020届华大新高考联盟高三4月教学质量测评数学】执行如图所示的程序框图,设输出数据构成集合A ,从集合A 中任取一个元素m ,则事件“函数()2f x x mx =+在[)0,+∞上是增函数”的概率为A .14B .12C .34D .35【答案】C【解析】当20x y =-⇒=; 当2111x y =-+=-⇒=-; 当1100x y =-+=⇒=; 当0113x y =+=⇒=; 当1128x y =+=⇒=; 当213x =+=,退出循环. 所以{}0,1,3,8A =-,又函数()2f x x mx =+在[)0,+∞上是增函数,所以002mm -≤⇒≥. 函数()2f x x mx =+在[)0,+∞上是增函数的概率为34. 故选:C .3、辨析程序框图的算法功能:对于辨析程序框图功能问题,可将程序执行几次,即可根据结果作出判断.例12、执行右面的程序框图,如果输入的x=0,y=1,n=1,则输出x,y 的值满足 ( ) A.y=2x B.y=3x C.y=4x D.y=5x【答案】C【解析】由题图可知,x=0,y=1,n=1,执行如下循环: x=0,y=1,n=2;x=12,y=2,n=3;x=12+1=32,y=6,退出循环,输出x=32,y=6,验证可知,C 正确.例13、执行如图所示的程序框图,输出的结果为 ( )A.(-2,2)B.(-4,0)C.(-4,-4)D.(0,-8)【答案】B【解析】x=1,y=1,k=0,进入循环:s=1-1=0,t=1+1=2,x=0,y=2,k=0+1=1<3;s=0-2=-2,t=0+2=2,x=-2,y=2,k=1+1=2<3;s=-2-2=-4,t=-2+2=0,x=-4,y=0,k=2+1=3≥3,跳出循环,输出(x,y),即(-4,0).例14、执行下面的程序框图,如果输入的N=4,那么输出的S=( )A.1+12+13+14B.1+12+13×2+14×3×2C.1+12+13+14+15D.1+12+13×2+14×3×2+15×4×3×2 【答案】B【解析】由程序框图依次计算可得,输入N=4, T=1,S=1,k=2; T=12,S=1+12,k=3; T=13×2,S=1+12+13×2,k=4; T=14×3×2,S=1+12+13×2+14×3×2,k=5; 此时k 满足k>N,故输出S=1+1+1+1.例15、如果执行下边的程序框图,输入正整数N(N ≥2)和实数a 1,a 2,…,a N ,输出A,B,则( )A.A+B 为a 1,a 2,…,a N 的和B. A+B2为a 1,a 2,…,a N 的算术平均数C.A 和B 分别是a 1,a 2,…,a N 中最大的数和最小的数D.A 和B 分别是a 1,a 2,…,a N 中最小的数和最大的数 【答案】C【解析】随着k 的取值不同,x 可以取遍实数a 1,a 2,…,a N ,依次与A,B 比较,A 始终取较大的那个数,B 始终取较小的那个数,直到比较完为止,故最终输出的A,B 分别是这N 个数中的最大数与最小数.例16、【2020届清华大学中学生标准学术能力诊断性测试高三5月测试数学】下列程序框图的算法思想源于我国古代数学名著《九章算术》中的“更相减损术”.执行该程序框图,若输入16a =,10b =,则程序中需要做减法的次数为A .6B .5C .4D .3【答案】C【解析】由16a =,10b =,满足a b ,满足a b >,则16106a =-=;满足a b ,不满足a b >,则1064b =-=; 满足a b ,满足a b >,则642a =-=; 满足a b ,不满足a b >,则422b =-=; 不满足ab ,则输出2a =;则程序中需要做减法的次数为4, 故选:C .4、完善程序框图:完善程序框图问题,结合初始条件和输出结果,分析控制循环的变量应满足的条件或累加、累乘的变量的表达式.例17、【2020届河南省商丘周口市部分学校联考高三5月质量检测数学】宋元时期数学名著《算学启蒙》中有关于“松竹并生”的问题:“松长六尺,竹长两尺,松日自半,竹日自倍,何日竹逾松长?”如图是解决此问题的一个程序框图,其中a 为松长、b 为竹长,则矩形框与菱形框处应依次填A .2a a a =+;a b <B .2aa a =+;a b < C .2a a a =+;a b ≥ D .2aa a =+;a b > 【答案】B【解析】松日自半,则表示松每日增加原来长度的一半,即矩形框应填2aa a =+;何日竹逾松长,则表示竹长超过松长,即松长小于竹长,即菱形框应填ab <. 故选:B例18、【2019·全国1·理T8文T9】下图是求12+12+12的程序框图,图中空白框中应填入( )A.A=12+A B.A=2+1A C.A=11+2AD.A=1+12A【答案】A【解析】执行第1次,A=12,k=1≤2,是,第一次应该计算A=12+12=12+A ,k=k+1=2;执行第2次,k=2≤2,是,第二次应该计算A=12+12+12=12+A,k=k+1=3;执行第3次,k=3≤2,否,输出,故循环体为A=12+A,故选A. 例19、【2018·全国2·理T7文T8】为计算S=1-12+13−14+…+199−1100,设计了右侧的程序框图,则在空白框中应填入( ) A.i=i+1 B.i=i+2 C.i=i+3 D.i=i+4【答案】B【解析】由于N=0,T=0,i=1,N=0+11=1,T=0+11+1=12,i=3,N=1+13,T=12+14,i=5…最后输出S=N-T=1-12+13−14+…+199−1100,一次处理1i 与1i+1两项,故i=i+2. 例20、下面程序框图是为了求出满足3n-2n>1 000的最小偶数n,那么在和两个空白框中,可以分别填入( ) A.A>1 000和n=n+1 B.A>1 000和n=n+2 C.A ≤1 000和n=n+1 D.A ≤1 000和n=n+2【答案】D【解析】因为要求A 大于1 000时输出,且程序框图中在“否”时输出,所以“”中不能填入A>1 000,排除A,B.又要求n 为偶数,且n 初始值为0,所以“”中n 依次加2可保证其为偶数,故选D.例21、执行下面的程序框图,当输入的x 的值为4时,输出的y 的值为2,则空白判断框中的条件可能为( ) A.x>3B.x>4C.x ≤4D.x ≤5【答案】B【解析】因为输入的x 的值为4,输出的y 的值为2,所以程序运行y=log 24=2. 故x=4不满足判断框中的条件,所以空白判断框中应填x>4.例22、【2020年高考浙江】设集合S ,T ,S ⊆N *,T ⊆N *,S ,T 中至少有2个元素,且S ,T 满足:①对于任意的x ,y ∈S ,若x ≠y ,则xy ∈T ;②对于任意的x ,y ∈T ,若x <y ,则y x∈S .下列命题正确的是A .若S 有4个元素,则S ∪T 有7个元素B .若S 有4个元素,则S ∪T 有6个元素C .若S 有3个元素,则S ∪T 有5个元素D .若S 有3个元素,则S ∪T 有4个元素 【答案】A【解析】首先利用排除法:若取{}1,2,4S =,则{}2,4,8T =,此时{}1,2,4,8ST =,包含4个元素,排除选项D ; 若取{}2,4,8S =,则{}8,16,32T =,此时{}2,4,8,16,32S T =,包含5个元素,排除选项C ;若取{}2,4,8,16S =,则{}8,16,32,64,128T =,此时{}2,4,8,16,32,64,128S T =,包含7个元素,排除选项B ;下面来说明选项A 的正确性:设集合{}1234,,,S p p p p =,且1234p p p p <<<,*1234,,,p p p p N ∈,则1224p p p p <,且1224,p p p p T ∈,则41p S p ∈, 同理42p S p ∈,43p S p ∈,32p S p ∈,31p S p ∈,21p S p ∈, 若11p =,则22p ≥,则332p p p <,故322p p p =即232p p =, 又444231p p p p p >>>,故442232p p p p p ==,所以342p p =, 故{}232221,,,S p p p =,此时522,p T p T ∈∈,故42p S ∈,矛盾,舍.若12p ≥,则32311p p p p p <<,故322111,p pp p p p ==即323121,p p p p ==, 又44441231p p p p p p p >>>>,故441331p p p p p ==,所以441p p =, 故{}2341111,,,S p p p p =,此时{}3456711111,,,,p p p p p T ⊆.若q T ∈, 则31q S p ∈,故131,1,2,3,4i q p i p ==,故31,1,2,3,4i q p i +==,即{}3456711111,,,,q p p p p p ∈,故{}3456711111,,,,p p p p p T =, 此时{}234456711111111,,,,,,,S T p p p p p p p p ⋃=即S T 中有7个元素.故A 正确.例23、【2020年高考全国II 卷理数】0-1周期序列在通信技术中有着重要应用.若序列12na a a 满足{0,1}(1,2,)i a i ∈=,且存在正整数m ,使得(1,2,)i m i a a i +==成立,则称其为0-1周期序列,并称满足(1,2,)i m i a a i +==的最小正整数m 为这个序列的周期.对于周期为m 的0-1序列12na a a ,11()(1,2,,1)m i i k i C k a a k m m +===-∑是描述其性质的重要指标,下列周期为5的0-1序列中,满足1()(1,2,3,4)5C k k ≤=的序列是A .11010B .11011C .10001D .11001【答案】C【解析】由i m i a a +=知,序列i a 的周期为m ,由已知,5m =,511(),1,2,3,45i i k i C k a a k +===∑对于选项A ,511223344556111111(1)()(10000)55555i i i C a a a a a a a a a a a a +===++++=++++=≤∑52132435465711112(2)()(01010)5555i i i C a a a a a a a a a a a a +===++++=++++=∑,不满足; 对于选项B ,51122334455611113(1)()(10011)5555i i i C a a a a a a a a a a a a +===++++=++++=∑,不满足; 对于选项D ,51122334455611112(1)()(10001)5555i i i C a a a a a a a a a a a a +===++++=++++=∑,不满足; 故选:C。
第3讲算法与程序框图【考点解读】1. 了解算法的含义,了解算法的思想.2.理解程序框图的三种基本逻辑结构:顺序结构、条件结构、循环结构.【知识扫描】1.算法算法是指可以用计算机来解决的某一类问题的程序或步骤,这些程序或步骤必须是和的,而且能够在有限步之内完成.2.程序框图程序框图又称,是一种用、来准确、直观地表示算法的图形.3.三种基本逻辑结构【考计点拨】牛刀小试:1.(2011高考北京卷)执行如图所示的程序框图,输出的s 值为 (A )3- (B )12- (C )13(D )2答案:D 2.(2011高考山东卷)执行右图所示的程序框图,输入l=2,m=3,n=5,则输出的y 的值是 . 【答案】68【解析】由输入l=2,m=3,n=5,计算得出y=278, 第一次得新的y=173;第二次得新的y=68<105,输出y.3.阅读下面的程序框图,则输出的S =()A .14B .20C .30D .55解析:选C.∵S 1=0,i 1=1;S 2=1,i 2=2;S 3=5,i 3=3;S 4=14,i 4=4;S 5=30,i =5>4退出循环,∴输出结果为30.4. (2011高考辽宁卷)执行右面的程序框图,如果输入的n 是4,则输出的P 是(A) 8(B) 5 (C) 3 (D) 25.(2011高考陕西卷)右图中,1x ,2x ,3x 为某次考试三个评阅人对同一道题的独立评分,P 为该题的最终得分。
当1x =6,2x =9,p=8.5时,3x等于 ( )(A)11 (B)10 (C)8 (D)7答案:C典题分析:考点:1.算法的含义,程序框图(1) 了解算法的含义和算法的思想.(2) 理解程序框图的三种基本逻辑结构:顺序,条件分支,循环. 2.基本语句理解几种基本算法语句——输入语句,输出语句,赋值语句,条件语句,循环语句的含义. 题型一算法的顺序结构 考点一 算法的循环结构例1.(2011高考湖南卷) 若执行如图3所示的框图,输入1231,2,3,2x x x x ====,则输出的数等于____________.答案:23考点二:算法的条件分支结构【例2】 函数y =,写出求该函数值的算法及程序框图. 解:算法如下: 第一步:输入x .第二步:如果x >0,则y =-2;如果x =0,则y =0;如果x <0,则y =2. 第三步:输出函数值y . 相应的程序框图如右图:变式2:“特快专递”是目前人们经常使用的异地邮寄信函或托运物品的一种快捷方式,某快递公司规定甲、乙两地之间物品的托运费用根据下列方法计算:()()()()⎩⎨⎧>⨯-+⨯≤=5085.05053.0505053.0ϖϖϖϖϖf解:算法如下:S1输入ω;S2如果ω≤50,那么f=0.53ω;否则f=50×0.53+(ω-50)×0.85;S3输出f.程序框图为:【例3】画出计算12-22+32-42+…+992-1002的值的程序框图.思维点拨:可以用循环结构来实现累加,设计一个累加变量,用S表示,设计一个计数变量,用I表示,另外还要对I进行奇偶数的判断,以决定是加还是减,因此还需要用到条件分支结构.解:程序框图如下图:变式3:画出求的值的程序框图.解:方法一:当型循环程序框图:方法二:直到型循环程序框图:规律总结:从近两年的高考试题来看,当型与直到型循环结构、条件分支结构是考查的热点,题型以选择题、填空题为主,分值5分左右,属容易题,主要考查算法基本结构以及读图、识图、利用框图解决简单算法问题的能力.预测2012年高考,循环结构与条件分支结构仍是考查的重点,但应同时注意算法的应。
算法 初步要求层次重难点算法及其程序框图算法的含义A (1)算法的含义、程序框图① 了解算法的含义,了解算法的思想.② 理解程序框图的三种基本逻辑结构:顺序、条件分支、循环. (2)基本算法语句理解几种基本算法语句――输入语句、输出语句、赋值语句、条件语句、循环语句的含义.程序框图的三种基本逻辑结构B 基本算法语句A一、算法的概念与描述1.算法的概念:由基本运算及规定的运算顺序所构成的完整的解题步骤,或者看成按照一定规则解决某一类问题的明确的和有限的步骤,称为算法(algorithm ). 通常可以编成计算机程序,让计算机执行并解决问题.2.算法的特征:⑴有穷性:算法必须在执行有限步后结束,通常还理解为实际上能够容忍的合理限度; ⑵确定性:算法的每一个步骤必须有确定的含义;⑶可行性:组成算法的每个步骤和操作必须是相当基本的,原则上都是能精确地执行的; ⑷输入:有零个或多个输入: ⑸输出:有一个或多个输出.知识内容高考要求模块框架程序框图与算法3.算法的描述:⑴用自然语言;⑵用数学语言;⑶用算法语言(程序设计语言);⑷用程序框图(流程图).4.算法的三种基本逻辑结构:顺序结构、条件(分支)结构和循环结构.⑴顺序结构:最简单的算法结构,语句与语句之间,框与框之间是按从上到下的顺序进行的.如下图,只有在执行完A框指定的操作后,才能接着执行B框指定的操作;⑵条件(分支)结构:在一个算法中,用来处理需要根据条件是否成立有不同的流向的结构.常见的条件结构的程序框图有下面两种形式:⑶循环结构:从某处开始,按照一定的条件反复执行某些步骤的情况,就是循环结构,其中反复执行的步骤称为循环体.常见的循环结构的框图对应为:<教师备案>1.在画程序框图时,从开始框沿箭头必须能到达结束框,特别是条件分支结构应沿每条支路都能到达结束框,流程线必须加箭头表示顺序.2.对于循环结构有如下需要注意的情况:⑴循环结构非常适合计算机处理,因为计算机的运算速度非常快,执行成千上万次的重复计算,只不过是一瞬间的事,且能保证每次的结果都正确;⑵循环结构要有中止循环体的条件,不能无休止的运算下去,循环结构中一定包含条件结构,如i n≤就是中止循环的条件;⑶循环结构的关键是,要理解“累加变量”和“用1i 代替i”,S是一个累加变量,i是计数变量,每循环一次,S和i都要发生变化,这两步要重复计算若干次;⑷一种循环结构是先判断i n≤是否成立,若是,执行循环体;若否,则中止循环,像这样,每次执行循环体前对控制循环条件进行判断,条件满足时执行循环体,不满足则停止,称为当型循环.除了当型循环外,常用的循环结构还有直到型循环.5.程序框图的概念:用一些通用的图形符号构成的一张图来表示算法,称为程序框图(简称框图).常用图形符号:<教师备案>1.画程序框图的规则:⑴ 使用标准的框图的符号;⑵ 框图一般按从上到下、从左到右的方向画;⑶ 除判断框外,大多数框图符号只有一个进入点和一个退出点.判断框是具有超过一个退出点的惟一符号;⑷ 一种判断框是“是”与“不是”两分支的判断,而且有且仅有两个结果;另一种是多分支判断,有几种不同的结果;⑸ 在图形符号内描述的语言要非常简练清楚.2.画程序框图要注意的几点:⑴起、止框是任何流程不可少的,表示程序的开始和结束; ⑵输入、输出框可以用在算法中任何需要输入、输出的位置; ⑶算法中间要处理数据或计算,可分别写在不同的处理框内;⑷当算法要求你对两个不同的结果进行判断时,要写在判断框内; ⑸一个算法步骤到另一个算法步骤用流程线连结;⑹如果一个框图需要分开来画,要在断开处画上连结点,并标出连结的号码.如:用海伦公式求任意三角形的面积的程序框图,其中断开处画上连结点,并标出连结的号码.(1)(1)二.基本算法语句Basic语言(A版)1.将算法转变成计算机能够理解和能在计算机上实现的程序,这就需要程序语言,每一种程序语言都包含一些基本的语句,程序语言的基本语句结构:输入语句、输出语句、赋值语句、条件语句、循环语句.2.赋值语句:表明赋给某一个变量一个具体的确定值的语句.一般格式:变量=表达式.其中,“=”叫做赋值号.作用:先计算出赋值号右边表达式的值,然后将它赋给左边的变量,使该变量的值等于表达式的值.3.输入语句:在每次程序运行时,用于输入相应的初始数据的语句,我们主要介绍键盘输入语句.一般格式:INPUT “提示内容”;变量例:INPUT “Maths=”;a,INPUT “Chinese=”;bc=(a+b)/2END表示输入数学与语文的成绩,其中c表示它们的平均数.4.输出语句:以某种形式把求解结果输出的语句.一般格式:PRINT “提示内容”;表达式如上例中输出平均成绩可以用:PRINT “The average=”;(a+b)/25.条件语句:处理条件结构的算法语句.有以下两种基本格式:一般格式1:IF 条件THEN语句体END IF计算机执行语句时,先对IF后的条件进行判断,如果(IF)条件符合,那么(THEN)执行语句体,否则执行END IF之后的语句.一般格式2:IF 条件THEN语句体1ELSE语句体2END IF计算机执行语句时,先对IF后条件进行判断,如果(IF)条件符合,那么(THEN)执行语句体1,否则(ELSE)执行语句体2.6.循环语句:处理算法中的循环结构的语句;有两种基本语句:UNTIL语句和WHILE语句,前者称为直到型循环语句,后者称为当型循环语句.UNTIL语句:DO循环体LOOP UNTIL 条件WHILE语句的一般格式:WHILE 条件循环体WENDScilab程序语言(B版)1.将算法转变成计算机能够理解和能在计算机上实现的程序,这就需要程序语言,每一种程序语言都包含一些基本语句,程序语言的基本语句结构:输入语句、输出语句、赋值语句、条件语句、循环语句.2.赋值语句:表明赋给某一个变量一个具体的确定值的语句.一般格式:变量名=表达式;其中“=”叫做赋值号.作用:先计算出赋值号右边表达式的值,然后将它赋给左边的变量,使该变量的值等于表达式的值.3.输入语句:在每次程序运行时,用于输入相应的初始数据的语句,我们主要介绍键盘输入语句. Scilab 中的输入语句常用的是:“input”; 一般格式:变量名=input (“提示内容”) 例:a=input (“x1”);b=input (“x2”);aver=(a+b )/2表示输入1x ,2x 的值,求它们的算术平均数, 在Scilab 界面内运行结果如下: -->a=input ("x1");b=input ("x2");aver=(a+b )/2 x1-->此时通过键盘输入x1的值,如4,再按“Enter”键,界面出现: x2-->输入x2的值,如6,再按“Enter”键,这时界面出现: aver = 5.4.输出语句:以某种形式把求解结果输出的语句.Scilab 中有:print ,write ,format ,printf ,disp 等输出语句,主要介绍print 语句: 一般格式:print (%io (2),表达式);其中参数%io (2)表示在屏幕上输出. 5.条件语句:处理条件分支结构的算法语句. Scilab 程序语言中常用的条件语句为if 语句. 一般格式:if 表达式语句序列1; else语句序列2; end最简格式:if 表达式语句序列1; end6.循环语句:处理算法中的循环结构的语句; Scilab 有两种循环语句:for 循环和while 循环. for 循环的格式:for 循环变量=初值:步长:终值循环体; endwhile 语句的一般格式:while 表达式(即条件)循环体; end<教师备案>1.计算机能够直接或间接理解的程序语言有很多种,比如C 语言,Basic 语言,以及一些应用数学软件:Matlab ,Mathsmatics ,Scilab 对应的计算机语言.这里的基本语句结构在这些语言中都是存在的,但是对应不同的程序语言,都会有自己的输入指令与方法.这里是以一种语言为例,让大家理解程序语句的含义,为以后深入学习程序设计打下基础. 2.赋值语句:⑴赋值号左边只能是变量名,而不是表达式;如3m =是错误的; ⑵赋值号左右不能对换,是将赋值号右边的表达式的值赋给左边的变量;如x y =表示用y 的值替代变量x 原先的值,与y x =不同;⑶不能利用赋值语句进行代数式(或符号)的演算;如21(1)(1)y x x x =-=+-是不能实现的;并且在一个赋值语句中,只能给一个变量赋值;⑷赋值号与数学中的等号的意义不同,执行赋值语句后,右面表达式的值会赋给左边,如果左边变量原来有一个值,会自动被冲掉,如1N N =+表示将N 的原值加1再赋给N ,即N 的值加1.3.输入语句:在某些算法中,变量的初值要根据情况经常地改变,一般我们把程序与初始数据分开,每次算题时,即使初始数据改变,也不必改变程序部分,只要程序运行时,输入相应的数据即可,这个过程在程序语言中,用“输入语句”来控制.输入语句中还有read输入语句等.输入语句要求输入的一般都是具体的常数,也可输入单个或多个字符,格式为:变量名=input(“提示内容”,“string”),string表示输入字符型变量.4.循环语句:for语句:先把初值赋给循环变量,记下终值和步长,循环变量增值到超过终值时,执行end后面的语句,不超过时,执行for后面的语句;循环变量起计数作用,控制算法中循环次数,有初值与终值,步长是指循环变量每次增加的值,步长为1时,可以省略;while语句:先判断条件是否成立,并在符合条件时,执行循环体;直到某次不符合时,跳到end后面的语句.对应的基本框图是:5.在程序语言中,乘、除、乘方、求平方根、绝对值,分别用下列符号表示:*、/、^、sqrt()、abs ().程序语言中,一般“=”为赋值号,“==”表示等号.≥、≤、≠分别写成:>=、<=、<>.在程序中,如果赋值语句后面用分号隔开,则被赋值的变量不会输出,一般不随便使用逗号或句号,而是直接使用回车或空格.在Scilab语句中,变量名一般用一个字母表示,不可以用几个字母表示.如可以用s表示变量名,但不能用sum表示变量名,但在有些程序语言中,可以用多个字母表示变量名.三.算法案例1.更相减损术——求两个整数的最大公约数的算法如何找到一种算法,对任意两个正整数都能快速地求出它们的最大公约数呢?更相减损术的步骤:以两个数中较大的数减去较小的数,以差数和较小的数构成一对新的数,对这一对数再用大数减小数,以同样的操作一直做下去,直到产生一对相等的数,此数就是这两个数的最大公约数.等值算法:用“更相减损术”设计出来的算法求最大公约数的算法称为“等值算法”,用等值算法可以求任意两个正整数的最大公约数.<教师备案>《九章算法》是中国古代的数学专著,其中的“更相减损术”可以用来求两个数的最大公约数.以具体的例子来说明更相减损术求最大公约数的原理:以求117和182的最大公约数为例:,,,,,,,,(117182)(11765)(6552)(5213)(1339)(1326)(1313)→→→→→→每次操作后得到的两个数与前两个数的最大公约数相同,而且逐渐减少,故总能得到相等的两个数,即为所求的最大公约数.2.辗转相除法又称欧几里得算法,是由欧几里得在公元前300年左右首先提出来的求两个数的最大公约数的算法。
《算法》的教学设计【设计思路】本节课学生第一次接触算法,如果只讲解算法的概念就要求学生对实际问题进行分析、建模、设计合理算法,感觉难度较大。
因此,我从“把大象放冰箱里分几步”、“狼羊过河”智力游戏开始,通过实例介绍算法的概念,再例举学生熟悉的数学问题,以学生为主体,利用情境、协作、交流等学习环境要素发挥学生的积极性,主动性。
让学生在分析问题中学会设计算法,并让他们采用算法描述工具描述相应的算法。
理论依据:1. 社会互赖理论2. 建构主义学习理论设计特色:融入建构主义教学观的要素;设计中渗透合作学习理论;有合适的实践探究活动;【教材分析】本节课是算法的起始课,主要内容有:算法的概念、用自然语言描述算法。
《标准》课程目标要求:通过对解决具体问题过程与步骤的分析,体会算法的思想,了解算法的含义,了解算法及其实现在解决问题过程中的地位和作用;初步帮助学生建立合理的算法与程序设计的认知结构,进而提升学生的信息素养,促进学生信息技术能力的立体发展。
算法具有的基本逻辑结构与形式逻辑结构存在对应关系,有着丰富的逻辑思维材料。
算法思想贯穿于整个中学数学内容之中,有着丰富的层次递进的素材。
因此,算法的学习对整个高中数学的学习有着“源”与“流”的关系。
又由于算法的具体实现上可以和信息技术相结合。
因此,算法的学习十分有利于提高学生的逻辑思维能力,培养学生的理性精神和实践能力,发展他们有条理的思考与表达的能力,同时可以让学生知道如何利用现代技术解决问题。
【学情分析】通过对学生的调查分析了解到,基本上所有的学生在此之前都没有接触过算法和程序,这两个概念对于学生来说是陌生的。
在学生的意识里设计算法和编写程序是很难的,是工程师们才能做的事情,对他们而言是遥不可及的,所以他们会害怕学习这块内容。
这节课是学生学习算法和编程的第一课,不能让学生感到有太大的难度,要让他们觉得算法是一个很好理解的概念,设计算法也并不是难事。
因此在选择例子时我选择了每个学生都会的“设计求解一元二次方程的实数根的算法”的例子,这样可以培养学生的自信心,提高他们的学习兴趣。
我在课堂中设计了很多的学生活动,这样可以提高学生学习的主动性,提高学生学习算法和编程的兴趣,培养学生利用计算机解决问题的能力。
【教学目标】1.知识与技能理解算法的概念、会用自然语言和流程图对简单算法进行描述、理解程序的三种基本结构。
2.过程与方法通过狼羊过河的flash动画体验算法并归纳出算法的概念。
通过求解二元一次方程组的实例,采用教师讲解、提问及小组讨论等方式培养学生分析、总结和归纳的能力和协作、交流的能力。
体会解方程的一般性步骤,从而得到一个解二元一次方程组的步骤,这些步骤就是算法,不同的问题有不同的算法。
由于思考问题的角度不同,同一个问题也可能有多个算法,3.情感态度与价值观通过本节的学习,使我们对计算机的算法语言有一个基本的了解,明确算法的要求,认识到计算机是人类征服自然的一各有力工具,进一步提高探索、认识世界的能力。
并通过开展小组合作讨论,激发学生的学习热情和创新意识;增强合作意识,提高信息素养。
【教学重点与难点】重点:让学生经历分析问题、设计算法,用自然语言、流程图等方法描述算法的过程。
难点:对算法概念的理解,设计出合理的算法。
【教学策略与手段】1.教学过程中融入建构主义教学观,引导学生通过对具体实例的分析,体会算法的思想,算法的特点,,提高教学效率;2.开放式的授课,根据教科书又不局限于教科书,进行部分的扩展,提高学生学习的兴趣。
3.以课堂讨论的方式,引导学生针对趣味性问题和生活实际中会遇到的问题进行思考、讨论,探索解决问题的方法和步骤,从中得出关于算法的诸多概念。
所有内容都以学生独立思考和分组讨论的方式进行,充分调动学生的主观能动性,以达到主动式学习、探究学习和创新性学习。
【教学流程】一. 课前准备(1)学生应对所学内容,进行预习,对该模块内容有一整体模糊印象。
(2)多媒体课件。
二. 导入新课提供具体实例:(1)赵本山的小品中有这样一个问题:要把大象装冰箱,分几步?答:分三步:第一步:打开冰箱门;第二步:把大象装冰箱;第三步:关上冰箱门。
(2)有一个智力游戏:有一名船夫,要带着一匹狼、一只羊和一棵白菜过河。
当船夫不在的时候,狼会吃掉羊,羊会吃掉白菜。
而每次过河该船只能容下船夫和一样东西,请问,船夫应该怎样过河?请写一写你的过河方案。
三.教与学的过程上述问题的解决过程中就包含着算法的实现。
那么到底什么是算法呢?1.从以上实例中由学生归纳出算法的概念,特点:对于算法的概念,需要使学生明确的是:①算法一定是以问题为载体的,算法实际上就是解决问题的一种程序性方法,它通常指向某一个或某一类问题.②用算法解决问题的过程期程序性和构造性.对于算法的特点,需要使学生明确的是:①能行性.算法应有明确的步骤一步一步的引导计算的进行,即每一步都是可读的、可执行的,并且能够得到最终结果.②明确性.算法下一步应执行的步骤必须明确或者有规则确定,或者由规则和上一步的结果确定,而不需要计算者临时动脑筋.③有限性. 算法应由有限步组成.④通用性.算法应追求能适用于某一类问题的所有个体,只用来解决一个具体问题的算法没有多大价值.2.从实例中理解算法:引例(2)的过河步骤(即算法):第一步:先将羊运过河;第二步:农夫撑船回来将菜运过河;第三步:农夫撑船将羊带回;第四步:将狼带过河;第五步:农夫撑船回来将羊带过河。
3.数学问题研究:你能写出求解二元一次方程组:的步骤吗?设计意图:从学生具备的认识水平出发,归纳解二元一次方程组的求解步骤。
从而让学生经历算法分析的基本过程,并在此过程中引导学生关注更具一般性解法,形成解法向算法过渡的准备,为进一步理解算法概念打下基础。
师生活动:让学生解方程组。
收集学生的不同解答,再与教科书上的解答作比较。
问题:你们所写的解答和教科书有什么不同?教科书提供的解答有什么特点?设计意图:旨在引导学生关注书上表达方式的明显地步骤性特征,关注解的过程的逻辑结构,让学生明白解法和算法的差异师生活动:教师引导学生从表达方式上、解的方法上进行对比,让学生对比后回答1.同学们写的是解法,关注的是解,书上写的是解题步骤具有明显的步骤性特征 2.同学们用的是加减代入消元法解方程组,书上两次用的都是加减消元法等。
教师:投影用加减消元法求解的步骤,问:参照本题解法,你能完成下面问题吗?请试一试。
问题:写出求方程组的解的步骤.设计意图:在复习解特殊二元一次方程组基本步骤的基础上.进一步复习回顾解一般的二元一次方程组的步骤,目的是让学生明白算法是用来解决某一类问题的,从而提高学生对算法的普遍适用性的认识,充分理解算法的通用性特点.师生活动:让学生写出求解步:骤;教师投影显示解题步骤4.算法的择优教师:处理同一个问题可能有不同的算法,采用什么样的算法更简单、方便呢?放幻灯片,出示例子:著名数学家华罗庚"烧水泡茶"的两个算法。
算法一第一步:烧水;第二步:水烧开后,洗刷茶具;第三步:沏茶。
算法二第一步:烧水;第二步:烧水过程中,洗刷茶具;第三步:水烧开后沏茶。
教师:大家讲讨论一下这两个算法的区别在哪里?学生:区别是在什么时间洗刷茶具。
教师:大家讲一下,哪个算法更高效?为什么?学生:第二个算法更高效。
因为节约时间。
教师:很好。
第二个算法的科学性在于应用了"统筹方法"。
因此,我们可以明白一个好算法必须用到科学的方法。
我们应该好好学习各学科处理问题的科学方法。
【学习反馈与检测】问题1:你能举出更多算法的例子吗?问题2:如果你要外出购物,需要到菜市场买肉、菜,到超级市场采购副食品,到服装店买衣服。
请你讲一个购物的算法(先买什么,后买什么)。
并相互间比较一下,寻找最有算法。
问题3:阅读下面“棋盘上的麦粒”的故事梗概,请同学们写出求麦粒数量的算法。
在印度有一个古老的传说:舍罕王打算奖赏国际象棋的发明人——宰相西萨班达依尔。
国王问他想要什么,他对国王说:“陛下,请您在这张棋盘的第1个小格里,赏给我1粒麦子,在第2个小格里给2粒,第3小格给4粒,以后每一小格都比前一小格加一倍。
请您把这样摆满棋盘上所有的64格的麦粒,都赏给您的仆人吧!”国王觉得这要求太容易满足了,就命令给他这些麦粒。
当人们把一袋一袋的麦子搬来开始计数时,国王才发现:就是把全印度甚至全世界的麦粒全拿来,也满足不了那位宰相的要求。
那么,宰相要求得到的麦粒到底有多少呢?【作业设计】请同学们写出求一元二次方程的实数根的一个算法.【教学反思】本节课通过一些生活中的具体问题解决方法和步骤,使学生比较轻松的接受了生活算法的概念,进一步理解了计算机算法的概念。
随着新课程实施的不断深入,算法在数学教育中的重要性逐渐引起人们的重视。
由于算法内容对大部分中学数学老师来说是比较陌生的,在实际教学中又没有现成的经验可以借鉴,因此给我们的教学带来了全方位的挑战。
数学教师与计算机老师在算法教学中侧重点是不同的,课堂上所渗透的算法学习的观念也是不同的。
作为数学老师,我们要认真承担起自己的责任,既要立足于本学科,又要全方位的了解一下相关的计算机知识,为自己的教学做好更充分的准备。