1.1算法的含义的练习
- 格式:doc
- 大小:90.00 KB
- 文档页数:2
第一章 算法初步1.1 算法与程序框图1.1.1 算法的概念A 级 基础巩固一、选择题1.下列四种自然语言叙述中,能称作算法的是( )A .在家里一般是妈妈做饭B .做米饭需要刷锅、淘米、添水、加热这些步骤C .在野外做饭叫野炊D .做饭必须要有米解析:算法是做一件事情或解决一类问题的程序或步骤,故选B.答案:B2.以下对算法的描述正确的有( )①对一类问题都有效;②算法可执行的步骤必须是有限的;③算法可以一步一步地进行,每一步都有确切的含义;④是一种通法,只要按部就班地做,总能得到结果.A .1个B .2个C .3个D .4个答案:D3.给出下面一个算法:第一步,给出三个数x ,y ,z .第二步,计算M =x +y +z .第三步,计算N =13M .第四步,得出每次计算结果.则上述算法是( )A .求和B .求余数C .求平均数D .先求和再求平均数解析:由算法过程知,M 为三数之和,N 为这三数的平均数.答案:D4.一个算法步骤如下:S 1,S 取值0,i 取值1;S2,如果i≤10,则执行S3;否则,执行S6;S3,计算S+i并将结果代替S;S4,用i+2的值代替i;S5,转去执行S2;S6,输出S.运行以上步骤后输出的结果S=( )A.16 B.25C.36 D.以上均不对解析:由以上计算可知:S=1+3+5+7+9=25.答案:B5.对于算法:第一步,输入n.第二步,判断n是否等于2,若n=2,则n满足条件;若n>2,则执行第三步.第三步,依次从2到(n-1)检验能不能整除n,若不能整除n,则执行第四步;若能整除n,则执行第一步.第四步,输出n.满足条件的n是( )A.质数B.奇数C.偶数D.约数解析:此题首先要理解质数,只能被1和自身整除的大于1的整数叫质数.2是最小的质数,这个算法通过对2到(n-1)一一验证,看是否有其他约数,来判断其是否为质数.答案:A二、填空题6.给出下列算法:第一步,输入x的值.第二步,当x>4时,计算y=x+2;否则执行下一步.第三步,计算y=4-x.第四步,输出y.当输入x=0时,输出y=________.解析:因为0<4,执行第三步,所以y=4-0=2.答案:27.已知直角三角形两直角边长为a,b,求斜边长c的一个算法分下列三步:(1)计算c=a2+b2.(2)输入直角三角形两直角边长a,b的值.(3)输出斜边长c 的值.其中正确的顺序是________________.解析:算法的步骤是有先后顺序的,第一步是输入,最后一步是输出,中间的步骤是赋值、计算.答案:(2)(1)(3)8.如下算法:第一步,输入x 的值;第二步,若x ≥0,则y =x ;第三步,否则,y =x 2;第四步,输出y 的值.若输出的y 值为9,则x =________.解析:根据题意可知,此为求分段函数y =⎩⎪⎨⎪⎧x ,x ≥0,x 2,x <0的函数值的算法,当x ≥0时,x=9;当x <0时,x 2=9,所以x =-3.答案:9或-3三、解答题9.写出求1×2×3×4×5×6的算法.解:第一步,计算1×2得到2.第二步,将第一步的运算结果2乘3,得到6.第三步,将第二步的运算结果6乘4,得到24.第四步,将第三步的运算结果24乘5,得到120.第五步,将第四步的运算结果120乘6,得到720.10.某商场举办优惠促销活动.若购物金额在800 元以上(不含800 元),打7折;若购物金额在400 元以上(不含400 元),800 元以下(含800 元),打8折;否则,不打折.请为商场收银员设计一个算法,要求输入购物金额x ,输出实际交款额y .解:算法步骤如下:第一步,输入购物金额x (x >0).第二步,判断“x >800”是否成立,若是,则y =0.7x ,转第四步;否则,执行第三步. 第三步,判断“x >400”是否成立,若是,则y =0.8x ;否则,y =x .第四步,输出y ,结束算法.B 级 能力提升1.结合下面的算法:第一步,输入x .第二步,判断x 是否小于0,若是,则输出x +2;否则,执行第三步.第三步,输出x -1.当输入的x 的值为-1,0,1时,输出的结果分别为( )A .-1,0,1B .-1,1,0C .1,-1,0D .0,-1,1解析:根据x 值与0的关系选择执行不同的步骤.答案:C2.求过P (a 1,b 1),Q (a 2,b 2)两点的直线斜率有如下的算法,请将算法补充完整: S 1 取x 1=a 1,y 1=b 1,x 2=a 2,y 2=b 2.S 2 若x 1=x 2,则输出斜率不存在;否则,________.S 3 输出计算结果k 或者无法求解信息.解析:根据直线斜率公式可得此步骤.答案:k =y 2-y 1x 2-x 13.鸡兔同笼问题:鸡和兔各若干只,数腿共100条,数头共30只,试设计一个算法,求鸡和兔各有多少只.解:第一步,设有x 只鸡,y 只兔,列方程组⎩⎪⎨⎪⎧x +y =30,①2x +4y =100.② 第二步,②÷2-①,得y =20.第三步,把y =20代入①,得x =10.第四步,得到方程组的解⎩⎪⎨⎪⎧x =10,y =20. 第五步,输出结果,鸡10只,兔20只.。
算法算法是高中数学课程中的新增内容,是中国数学课程内容的一个新特色.“算法”过程是指机械式地按照某种确定的步骤行事,通过一系列小的简单计算操作完成复杂计算的过程.算法的学习内容大致可分为三个步骤:用自然语言描述算法;精确刻画算法(程序框图);计算机实现执行算法(程序语言的描述过程).算法思想贯穿高中数学课程的相关部分.【知识要点】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 .。
必修3第一章 算法初步1.1.1 算法的概念(学案)学案设计:绵阳市开元中学 王小凤老师 学生姓名【学习目标】1.正确理解算法的概念,掌握算法的基本特点; 2.通过例题学习,体会设计算法的基本思路;3.通过有趣的实例了解算法这一概念,激发学习数学的兴趣. 【学习重点】算法的含义及应用. 【学习难点】写出解决一类问题的算法. 【学习过程】 一.导入新课思路1(情境导入)大家都看过2000年春晚赵本山与宋丹丹演的小品《钟点工》吧,宋丹丹说了一个笑话:“把大象装进冰箱总共分几步?”答案:第一步:把冰箱门打开; 第二步:把大象装进去; 第三步:把冰箱门关上.上述步骤构成了把大象装进冰箱的算法.思路2(直接导入)算法不仅是数学及其应用的重要组成部分,也是计算机科学的重要基础.学习算法的应用,目的就是利用已有的数学知识分析问题和解决问题。
在现代社会里,计算机已成为人们日常生活和工作中不可缺少的工具.听音乐、看电影、玩游戏、打字、画卡通画、处理数据等,计算机是怎样工作的呢?要想弄清楚这个问题,算法的学习是一个开始. 二.学习过程 (一)实例探究用加减消元法.....解二元一次方程组⎩⎨⎧=+-=-)2(,12)1(,12y x y x 的步骤:第一步,①+②⨯2,得 .③ 第二步,解③,得 . 第三步,②﹣①⨯2,得 .④ 第四步,解④,得 .第五步,得到方程组的解为【归纳总结】利用加减消元法.....,对于一般的二元一次方程组⎩⎨⎧=+=+)2(,)1(,222111c y b x a c y b x a (其中01221≠-b a b a ),可以写出类似的求解步骤:第一步,①×b 2﹣②×b 1,得 .③ 第二步,解③,得=x .第三步,②×1a ﹣①×2a ,得 .④ 第四步,解④,得=y .第五步,得到方程组的解为⎪⎪⎩⎪⎪⎨⎧--=--=.,1221122112212112b a b a c a c a y b a b a c b c b x (二)概念理解 【定义】算法的定义:广义的算法是指完成某项工作的方法和步骤,那么我们可以说洗衣机的使用说明书是操作洗衣机的算法,菜谱是做菜的算法等等.在数学中,算法通常是指按照 解决某一类问题的 和 的步骤. 【理解】1. 算法的特征:①确定性:算法的每一步都应当做到准确无误、不重不漏. “不重”是指不是可有可无的,甚至无用的步骤,“不漏” 是指缺少哪一步都无法完成任务.②逻辑性:算法从开始的“第一步”直到“最后一步”之间做到环环相扣,分工明确,“前一步”是“后一步”的前提, “后一步”是“前一步”的继续.③有穷性:算法要有明确的开始和结束,当到达终止步骤时所要解决的问题必须有明确的结果,也就是说必须在有限步内完成任务,不能无限制地持续进行.2.在解决某些问题时,需要设计出一系列可操作或可计算的步骤来解决问题,这些步骤称为解决这些问题的算法.也就是说,算法实际上就是解决问题的一种程序性方法.算法一般是机械的,有时需进行大量重复的计算,它的优点是一种通法,只要按部就班地去做,总能得到结果.因此算法是计算科学的重要基础.(三)应用示例例1 (1)设计一个算法,判断7是否为质数.(2)设计一个算法,判断35是否为质数.算法分析:(1)根据质数的定义,可以这样判断:依次用2—6除7,如果它们中有一个能整除7,则7不是质数,否则7是质数. 算法如下:(1)第一步,用2除7,得到余数 .因为余数不为0,所以2不能整除7.第二步, 第三步,用4除7,得到余数 .因为余数不为0,所以4不能整除7. 第四步,用5除7,得到余数2.因为余数不为0,所以5不能整除7.第五步, 因此,7是质数.(2)类似地,可写出“判断35是否为质数”的算法:第一步,用2除35,得到余数1.因为余数不为0,所以2不能整除35. 第二步,用3除35,得到余数2.因为余数不为0,所以3不能整除35. 第三步,用4除35,得到余数3.因为余数不为0,所以4不能整除35.第四步, 因此,35不是质数.思考:用上述算法判断1997是否为质数,能否可行?【变式训练】写出判断)2(>n n 是否为质数的算法.分析:对于任意的整数)2(>n n ,若用i 表示2~()1-n 中的任意整数,则“判断n 是否为质数”的算法包含下面的重复操作:用i 除n ,得到余数r .判断余数r 是否为0,若是,则不是质数;否则,将i 的值增加1,再执行同样的操作. 这个操作一直要进行到i 的值等于()1-n 为止. 算法如下:第一步,给定大于2的整数n .第二步,令2=i第三步,第四步,判断“0=r ”是否成立.若是,则 ,结束算法;否则, ,仍用i 表示.第五步,判断“()1->n i ”是否成立. 若是,则n 是质数,结束算法;否则,返回第三步. 例2 见教材4P (四)课堂练习 教材5P 练习 第1,2题 (五)课后拓展例 一个人带着三只狼和三只羚羊过河,只有一条船,同船可容纳一个人和两只动物,没有人在的时候,如果狼的数量不少于羚羊的数量就会吃羚羊.该人如何将动物转移过河?请设计算法.分析:任何动物同船不用考虑动物的争斗但需考虑承载的数量,还应考虑到两岸的动物都得保证狼的数量要小于羚羊的数量,故在算法的构造过程中尽可能保证船里面有狼,这样才能使得两岸的羚羊数量占到优势. 解:具体算法如下: 算法步骤:第一步:人带两只狼过河,并自己返回. 第二步: 第三步: 第四步: 第五步: 第六步:第七步: (备注:所需步骤数目不定)。
第一章 算法初步1.1算法与程序框图1.1.1算法的概念1.已知直角三角形两直角边长为a ,b ,求斜边长c 的一个算法分下列三步:①计算22c a b =+a ,b 的值;③输出斜边长c 的值,其中正确的顺序是 【 】A.①②③B.②③①C.①③②D.②①③2.若()f x 在区间[],a b 内单调,且()()0f a f b <,则()f x 在区间[],a b 内 【 】A.至多有一个根B.至少有一个根C.恰好有一个根D.不确定3.已知一个学生的语文成绩为89,数学成绩为96,外语成绩为99.求他的总分和平均成绩的一个算法为: 第一步:取A =89 ,B =96 ,C =99;第二步:____①______;第三步:_____②_____;第四步:输出计算的结果.4.写出按从小到大的顺序重新排列,,x y z 三个数值的算法.1.1.2 程序框图1.在程序框图中,算法中间要处理数据或计算,可分别写在不同的 【 】A .处理框内B .判断框内C .终端框内D .输入输出框内2.将两个数a=10,b=18交换,使a=18,b=10,下面语句正确一组是 【 】A. B. C. D.3指出下列语句的错误,并改正:(1)A =B =50(2)x =1,y =2,z =3(3)INPUT “How o ld are y ou” x(4)INPUT ,x(5)PRINT A +B =;C(6)PRINT Good-b y e!4.2021年我国人口为13亿,如果人口每年的自然增长率为7‰,那么多少年后我国人口将达到15亿?设计一个算法的程序.5.儿童乘坐火车时,若身高不超过1.1 m ,则不需买票;若身高超过1.1 m 但不超过1.4 m ,则需买半票;若身高超过1.4 m ,则需买全票.试设计一个买票的算法,并画出相应的程序框图及程序。
1.2基本算法语句1.2.1输入语句、输出语句和赋值语句1 .在输入语句中,若同时输入多个变量,则变量之间的分隔符号是 【 】A.逗号B.空格C.分号D.顿号2 . 3a =4b =a=b b=a c=b b=a a=c b=a a=b a=cc=b b=aa b =b a =输出 ,a b以上程序输出的结果是 【 】A.3,4B. 4,4C.3,3D.4,33 请从下面具体的例子中说明几个基本的程序框和它们各自表示的功能,并把它填在相应的括号内.4. 设计一个算法,要求输入一个圆的半径,便能输出该圆的周长和面积(π 取3.14)。
1.1.1算法的概念1.应用举例例1《鸡兔同笼问题》一群小兔一群鸡,两群合到一群里,要数腿共48,要数脑袋整17,多少小兔多少鸡? (1)算术解法(2)代数解法小结:代数解法的本质是________________ 例2用消元法解二元一次方程组),,(212221*********2221211212111为常数,,,,,不同时为零b b a a a a a a b x a x a b x a x a ⎩⎨⎧=+=+ 2.5.算法步骤举例(1)我们在描述算法时,用英文_________ ,_________,┅来表示第一步,第二步,┅(2)写出例2中解二元一次方程组的算法步骤。
(1)用数学语言写出对任意3个整数a,b,c,求出最大值的算法。
(2)写出一个求有限整数序列中的最大植的算法。
6.巩固练习:(1)下列关于算法的说法正确的是()①求解某一类问题的算法是唯一的;②算法必须是有限步骤之后停止;③算法的每一步操作必须是明确的,不能有歧异和模糊;④算法执行后一定产生确定的结果;⑤一个程序框图的结构是可逆的;⑥设计算法要本着简单方便的原则;⑦算法是关于某个问题的解题过程;⑧算法要求按部就班地做,每一步可以有不同的结果。
(2)教材练习A1,2(3)练习B1,2,31.1.2程序框图[学习目标]掌握程序框图符号的含义和画程序框图的规则。
[课前自主预习]1.程序框图的概念通常用一些________________________来表示算法,这种图称做程序框图(简称框图)或流程图。
2.用框图表示算法步骤的一些常用的图形符号3.画流程图的规则(1)使用___________的框图的符号。
(2)框图一般按________________________的方向画。
(3)除判断框外,大多数流程图符号只有_____________进入点和_______________退出点。
判断框是具有超过一个退出点的唯一符号。
(4)一种判断框是“是”“不是”两分支的判断,有______________不同的结果。
NOI练习题一、基础算法1.1 递归算法1. 请编写一个C++函数,实现求斐波那契数列的第n项。
2. 编写一个C++函数,实现计算阶乘n!。
1.2 循环算法3. 编写一个C++程序,实现输出1到100之间所有偶数。
4. 编写一个C++程序,计算1到100之间所有奇数的和。
1.3 排序算法5. 编写一个C++程序,使用冒泡排序算法对数组进行从小到大排序。
6. 编写一个C++程序,使用快速排序算法对数组进行从小到大排序。
二、数据结构2.1 线性表7. 编写一个C++程序,实现单链表的创建、插入、删除和查找操作。
8. 编写一个C++程序,实现顺序表的创建、插入、删除和查找操作。
2.2 栈和队列9. 编写一个C++程序,实现栈的基本操作:入栈、出栈、查看栈顶元素。
10. 编写一个C++程序,实现队列的基本操作:入队、出队、查看队首元素。
2.3 树和图11. 编写一个C++程序,实现二叉树的创建、遍历(前序、中序、后序)。
12. 编写一个C++程序,实现图的邻接矩阵表示和邻接表表示。
三、数学问题3.1 素数问题13. 编写一个C++程序,判断一个整数是否为素数。
14. 编写一个C++程序,输出1到100之间的所有素数。
3.2 最大公约数和最小公倍数15. 编写一个C++程序,计算两个整数的最大公约数。
16. 编写一个C++程序,计算两个整数的最小公倍数。
四、搜索算法4.1 暴力搜索17. 编写一个C++程序,实现全排列算法。
18. 编写一个C++程序,实现组合算法。
4.2 深度优先搜索19. 编写一个C++程序,使用深度优先搜索解决迷宫问题。
20. 编写一个C++程序,使用深度优先搜索求解N皇后问题。
五、动态规划5.1 斐波那契数列21. 编写一个C++程序,使用动态规划求解斐波那契数列的第n项。
5.2 最长公共子序列22. 编写一个C++程序,使用动态规划求解两个字符串的最长公共子序列。
5.3 最小路径和23. 编写一个C++程序,使用动态规划求解二维数组中的最小路径和。
描述:例题:高中数学必修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.下列关于算法的说法中,正确的是( )
(A )算法就是某个问题的解题过程 (B )算法执行后可以不产生确定的结果
(C )解决某个问题的算法可以是不惟一的 (D )算法可以无限地操作下去而不停止
2.看下面的四段话,其中不是解决问题的算法的是( )
(A )方程210x -=有两个实根 (B )从济南到北京旅游,先坐火车,再坐飞机抵达
(C )解一元一次方程的步骤是去分母、去括号、移项、合并同类项、系数化为1
(D )求123++的值,先计算123+=,再计算336+=,最终结果为6
3.家中配电盒至冰箱的电路断了,检测故障的算法中,第一步检测的是( )
(A )靠近配电盒的一小段、一小段开始检测 (B )电路中点处检测
(C )靠近冰箱的一小段、一小段开始检测 (D )随意挑一段检测
4.下列叙述不是算法范畴的是( )
(A )减去一个数,等于加上这个数的相反数 (B )同底数幂相乘,底数不变,指数相加
(C )解分式方程的第一步一定是去分母 (D )幂的乘方,底数不变,指数相乘
5.下列叙述:①根据斜率1k ,2k 是否相等来判断两直线位置关系;②正三角形的面积公式
是2
4S =,其中a 表示三角形的边长;③平面上一点()00,P x y 到直线0Ax By C ++=
) (A )0 (B )1
(C )2 (D )3 6.有一堆形状大小相同的珠子,其中只有一粒重量比其他的轻。
某同学利用科学的算法,两次利用天平找出了这粒最轻的珠子(不用砝码),则这堆珠子的粒数最多是( )
(A )4 (B )5 (C )7 (D )9
7.如果一个多面体的每一个面都外切于半径为R 的球,已知这个多面体的表面积为Q ,则求多面体的体积的算法的最后结果是( )
(A )RQ (B )1
3R Q (C
2
(D )无法确定 8.写出解方程0(0)ax b a +=≠的一个算法过程。
第一步,将不含x 的常数项移到方程右边,并改变常数项的符号,得ax b =-;第二步是 。
9.买一个茶杯1.5元,现要写出计算买n 个茶杯所需要的钱数的一个算法,则这个算法中必须要用到的一个算法表达式为 。
10.写出一个能找出a 、b 、c 三个数中最大值的算法。
第一步设最大值是a ,即max a =;第二步为 。
11.将“打电话”的过程描述成一个算法。
12.已知直角坐标系中两点(2,0)
B。
写出求直线A B的方程的一种算法。
A,(0,2)
13.写出解方程2230
x x
--=的一个算法。
14.任意给定一个大于1的整数n,试设计一个程序或步骤,对n是否为素数做出判定。
15.鸡兔同笼,数腿有100条,数头有30个,请设计计算鸡兔各有多少只的算法。