人教版高中数学必修三第3讲:基本算法语句(学生版)
最新人教版高中数学必修3第一章基本算法语句

1.2 基本算法语句一、本节知识结构二、教学重点与难点重点:通过实例,使学生理解5种基本的算法语句的表示方法、结构和用法,进一步体会算法的基本思想.难点:将某个具体问题的程序框图转换为程序语句.三、编写意图与教学建议通过前面一节的学习,学生了解了算法的含义,学习了用自然语言和程序框图表示算法的方法.本节将在此基础上,进一步学习如何用程序设计语言(PL,programming language)来表示算法.为了向学生说明用程序设计语言表示算法的目的,可以参考下面两个方面:1.用程序设计语言来描述算法的必要性:一是为了解决某个具体问题,我们设计的算法包含大量烦琐的计算、复杂的作图等操作,这时计算机强大的数据处理功能可以帮助我们轻松地完成这些重复性的机械步骤;二是“计算机解决任何问题都要依赖算法”,计算机解决问题的过程就是一个对算法的执行过程,但这个算法必须是用计算机能够理解的语言描述的,而程序设计语言基本上就是计算机能够理解的语言.2.无论是用自然语言描述算法,还是用程序框图和程序语句表示算法,都是对算法的一种形式化的表示.但是写出算法,不等于已经实现了算法.在计算机上运行程序,就是对算法的一种实现.而我们的重点在于学习几种基本的算法语句,并用它们来表示算法,而不是学习上机运行和调试程序.程序设计语言经历了从机器语言、汇编语言到高级语言的发展历程.三种语言都是用于描述算法的,从这个角度来讲,它们之间并没有本质的区别.高级语言比较接近人类的自然语言,它的语句多由一些简单的英文单词或缩写组成,可直接识别各种复杂的科学表达式.高级语言的种类很多,目前较为通用的有BASIC,C,COBOL,Delphi等等.由于BASIC语言具有简单、易学等特点,我们使用了类似BASIC的语句形式和语法规则来介绍算法语句.教师可以参考有关介绍BASIC或QBASIC(BASIC语言的一种)的书籍.同时,教师还可以告诉学生,程序设计语言只是将算法转换为程序的工具,而算法才是解决问题的关键.本节的教学目的之一就是通过学习算法语句,帮助学生进一步体会算法的思想.教科书第13页边空中的插图,是为了帮助学生理解算法与计算机程序之间的对应关系,即:正像一个算法是求解特定问题的步骤的有限序列一样,一个计算机程序是让计算机完成某项任务而设计的一系列程序语句的有序集合.我们可以把程序看成在某种程序设计语言中对算法的具体实现.任何高级程序语言都包含输入语句、输出语句、赋值语句、条件语句和循环语句5种基本语句.这5种基本算法语句与算法的三种基本结构基本上是相互对应的.为了有利于学生在学习本节的同时,进一步理解算法的基本逻辑结构,我们将本节内容分成了3个小节,以体现下面的对应关系:。
人教课标版高中数学必修三《算法案例(第3课时)》教案(1)-新版

⼈教课标版⾼中数学必修三《算法案例(第3课时)》教案(1)-新版1.3 算法案例第3课时⼀、教学⽬标 1.核⼼素养在学习古代数学家解决数学问题的⽅法的过程中培养严谨的逻辑思维能⼒,在利⽤算法解决数学问题的过程中培养理性的精神和动⼿实践的能⼒. 2.学习⽬标(1)1.3.3.1理解进位制的概念,掌握各种进位制与⼗进制之间的转换规律.(2)1.3.3.2掌握⼗进位制转化为各种进位制的除k 余法. 3.学习重点各种进位制与⼗进制之间的转换规律. 4.学习难点不同进位制之间的转化规律及其思想⼆、教学设计(⼀)课前设计 1.预习任务任务1阅读教材P40-P45,思考:各种进位制与⼗进制之间转换的规律是什么?任务2你可以熟练的进⾏各进位制之间的转换吗? 2.预习⾃测1.在2进制中,0+0,0+1,1+0,1+1的值分别是多少?【解析】:分别是0,1,1,10 2.把⼆进制数()2110011化为⼗进制数【解析】:()=?+?+?+?+?+?=+++=543210211001112120202121232162151(⼆)课堂设计1.知识回顾(1)⽣活中常见的进位制有哪些(例如时间、钱等)(2)计算机中的2进制和通常的10进制怎么进⾏转换(3)⾮10的两种不同进制之间怎么进⾏转换 2.问题探究问题探究⼀认识进位制,将⼗进制数转化为k 进制数●活动⼀什么是n 进位制?我们常见的数字都是⼗进制的,但是并不是⽣活中的每⼀种数字都是⼗进制的.⽐如时间和⾓度的单位⽤六⼗进位制,电⼦计算机⽤的是⼆进制.那么什么是进位制?不同的进位制之间⼜⼜什么联系呢?进位制是⼀种记数⽅式,⽤有限的数字在不同的位置表⽰不同的数值.可使⽤数字符号的个数称为基数,基数为n ,即可称n 进位制,简称n 进制.现在最常⽤的是⼗进制,通常使⽤10个阿拉伯数字0-9进⾏记数.对于任何⼀个数,我们可以⽤不同的进位制来表⽰.⽐如:⼗进制数57,可以⽤⼆进制表⽰为111001,也可以⽤⼋进制表⽰为71、⽤⼗六进制表⽰为39,它们所代表的数值都是⼀样的.表⽰各种进位制数⼀般在数字右下脚加注来表⽰,如()2110011表⽰⼆进制数,(5)34表⽰5进制数.●活动⼆如何将10进制数转化为2进制数?解:根据⼆进制数满⼆进⼀的原则,可以⽤2连续去除89或所得商,然后去余数. 具体的计算⽅法如下:=?+=?+=?+=?+=?+892441442220222110112515221()(((())))=+++++=?+?+?+?+?+?+?=654321028922222211001120212120202121011001 这种算法叫做除2取余法,还可以⽤下⾯的除法算式表⽰:把上式中的各步所得的余数从下到上排列即可得到89=1011001(2)●活动三如何将10进制数转化为k进制数?上述⽅法可以推⼴为把⼗进制化为k进制数的算法,这种算法成为除k取余法. ⼗进制数化为k进制数(除k取余法)的步骤:1.除:把⼗进制数连续去除以k,直到商为0为⽌,同时将各步的余数写出2.取余:将各步所得的余数倒叙写出,即为所求的k进制数3.标基数:写出k进制数后将基数k⽤括号括起来标在右下⾓例1.将⼗进制数458分别转化为四进制数和六进制数.解:算式如下图,则458=13022(4)=2042(6)问题探究⼆不同进制数相互转换●活动⼀如何将10进制数与k进制数进⾏相互转换?⼆进制数110 011(2)化为⼗进制数是什么数?110 011(2)=1×25+1×24+0×23+0×22+1×21+1×20=32+16+2+1=51.那么如何将⼀个k进制数转换为⼗进制数?将k进制数a n a n-1…a1a0(k)化为⼗进制的⽅法:把k进制数a n a n-1…a1a0(k)写成各数位上的数字与基数k的幂的乘积之和的形式,然后计算出结果即为对应的⼗进制数.这样我们就可以进⾏10进制数与k进制数进⾏相互转换●活动⼆如何将⾮10的不同进制数进⾏相互转换?进制的数转化为10进制数后再把10进制的⼗进制是连接其他进制的桥梁.把k1进制数,各个进制数之间就能实现互相转换.数转化为k2例2.1 011 001(2)=______(10)=______(5).解:89,324 ⾸先将1011001(2) 化为⼗进制数为1×26+0+1×24+1×23+0+0+1×20=89,再将89化成五进制数:89除以5的商是17,余数为4,17除以5的商是3,余数为2,所以五进制数为324.3.课堂总结【知识梳理】(1)k进制化成⼗进制,幂积求和法(2)⼗进制化成k进制,除k取余法进制的数转化为10进制数后再把10进制的数转(3)不同进制之间转换:把k1化为k进制数2【重难点突破】(1)进位制之间的转换⽅法:k进制化成⼗进制,幂积求和法;⼗进制化成k 进制,除k取余法.(2)把⼀个⾮⼗进制数转化为另⼀种⾮⼗进制数,通常是把这个数先转化为⼗进制数,然后再利⽤除k取余法,把⼗进制数转化为k进制数.⽽在使⽤除k 取余法时要注意以下⼏点:1.必须除到所得的商是0为⽌;2.各步所得的余数必须从下到上排列;3.切记在所求数的右下⾓标明基数4.随堂检测1.下列各进制数中值最⼩的是( )A.85(9)B.210(6)C.1 000(4)D.111 111(2)【解析】:D 由进位制的知识易得,故选D.2.把189化为三进制数,则末位数是( )A.0 B.1 C.2 D.3【解析】:A将189除以3得余数为0,所以189化为三进制数的末位数为0. 故选A.3.已知⼀个k进制的数132与⼗进制的数30相等,那么k等于( )A.7或4 B.-7C.4 D.都不对【解析】:C132(k)=1×k2+3×k+2=k2+3k+2,∴k2+3k+2=30,即k2+3k-28=0,解得k=4或k=-7(舍去).故选C.4.四位⼆进制数能表⽰的最⼤⼗进制数是( )A.4 B.64 C.255 D.15【解析】:D由⼆进制数化为⼗进制数的过程可知,当四位⼆进制数为1 111时表⽰的⼗进制数最⼤,此时,1 111(2)=15.故选D5.七进制数中各个数位上的数字只能是______中的⼀个.【解析】:0、1、2、3、4、5、6“满⼏进⼀”就是⼏进制.∵是七进制.∴满七进⼀,根本不可能出现7或⽐7⼤的数字,所以各个数位上的数字只能是0、1、2、3、4、5、6中的⼀个.6.已知三个数12(16),25(7),33(4),将它们按由⼩到⼤的顺序排列为________.【解析】:33(4)<12(16)<25(7)将三个数都化为⼗进制数.12(16)=1×16+2=18,25(7)=2×7+5=19,33(4)=3×4+3=15,∴33(4)<12(16)<25(7).(三)课后作业基础型⾃主突破1.⼆进制数111.11(2)转换成⼗进制数是( )A.7.3 B.7.5 C.7.75 D.7.125【解析】:C 由题意知⼆进制对应的⼗进制是:1×22+1×21+1×20+1×2-1+1×2-2=4+2+1+0.5+0.25=7.75. 故选A2.将⼆进制110 101(2)转化为⼗进制为( )A.106 B.53 C.55 D.108【解析】:B110 101(2)=1+1×22+1×24+1×25=53. 故选B3.下列与⼆进制数1 001 101(2)相等的是( )A.115(8)B.113(8)C.114(8)D.116(8)【解析】:A 先化为⼗进制数:1 001 101(2)=1×26+1×23+1×22+1×20=77,再化为⼋进制数.所以77=115(8),1 001 101(2)=115(8)故选A.4.下列各数中,与1 010(4)相等的数是( )A.76(9)B.103(8)C.2 111(3)D.1 000 100(2)【解析】:D 1 010(4)=1×43+1×4=68.因为76(9)=7×9+6=69;103(8)=1×82+3=67;2111(3)=2×33+1×32+1×3+1=67;1000100(2)=1×26+1×22=68,所以1 010(4)=1 000 100(2)故选D..5.⼀个k进制的三位数与某六进制的⼆位数等值,则k不可能是( )A.3 B.4 C.5 D.7【解析】:D k进制的最⼩三位数为k2,六进制的最⼤⼆位数为5×6+5=35,由k2≤35得0…a1a0(k)表⽰⼀个k进制数,若21(k)=9,则321(k)在⼗进制中所表⽰的6.记anan-1数为( )A.86 B.57 C.34 D.17【解析】:B 由已知中21(k)=9,求出k值,进⽽利⽤累加权重法,可得答案.若21(k)=9,则2k+1=9,解得k=4,故321(k)=321(4)在+进制中所表⽰的数为:3×42+2×4+1=57. 故选B能⼒型师⽣共研7.已知1 0b1(2)=a02(3),求数字a,b的值.【解析】:a=1,b=1 ∵1 0b1(2)=1×23+b×2+1=2b+9,a02(3)=a×32+2=9a+2,∴2b+9=9a+2,即9a-2b=7.∵a∈{1,2},b∈{0,1},∴当a=1时,b=1符合题意,当a=2时,b=112不合题意,∴a=1,b=1.8.已知44(k)=36,把67(k)转化为⼗进制数为( )A.8 B.55 C.56 D.62【解析】:B 由题意得,36=4×k1+4×k0,所以k=8.则67(k)=67(8)=6×81+7×80=55. 故选B9.古时候,当边境有敌⼈来犯时,守边的官兵通过在烽⽕台上举⽕向国内报告,如图,烽⽕台上点⽕,表⽰数字1,不点⽕表⽰数字0,约定⼆进制数对应的⼗进制的单位是1 000,请你计算⼀下,这组烽⽕台表⽰约有多少敌⼈⼊侵?【解析】:27 000 由图可知从左到右的五个烽⽕台,表⽰⼆进制数的⾃左到右五个数位,依题意知这组烽⽕台表⽰的⼆进制数是11 011,改写为⼗进制为:11 011(2)=1×24+1×23+0×22+1×21+1×20=16+8+2+1=27(10).⼜27×1 000=27 000,所以这组烽⽕台表⽰边境约有27 000个敌⼈来犯.探究型多维突破10.分别⽤算法步骤、程序框图、程序语句表⽰把k进制数a(共有n位数)转化成⼗进制数b.【解析】:算法步骤:第⼀步,输⼊a,k,n的值.第⼆步,赋值b=0,i=1.第三步,b=b+a i·k i-1,i=i+1.第四步,判断i>n是否成⽴.若是,则执⾏第五步;否则,返回第三步.第五步,输出b的值.程序框图:程序语句:11.若10y1(2)=x02(3),求数字x,y的值及与此两数等值的⼗进制数.【解析】:x=y=1,11∵10y1(2)=x02(3),∴1×23+0×22+y×2+1=x×32+0×3+2,将上式整理得9x-2y=7,由进位制的性质知,x∈{1,2},y∈{0,1},当y=0时,x=(舍),当y=1时,x=1.∴x=y=1,已知数为102(3)=1 011(2),与它们相等的⼗进制数为1×32+0×3+2=11.⾃助餐1.在什么进位制中,⼗进位制数71记为47( )A.17 B.16 C.8 D.12【解析】:B 设为k进制,有:4k+7=71,从⽽可解得k=16.因此是16进制.故选B.2.把⼗进制数20化为⼆进制数为( )A.10 000(2)B.10 100(2)C.11 001(2)D.10 001(2)【解析】:B 利⽤除2取余数可得.故选B3.在⼋进制中12(8)+7(8)=21(8),则12(8)×7(8)的值为( )A.104(8)B.106(8)C.70(8)D.74(8)【解析】:B 12(8)=1×81+2×80=10(10),7(8)=7×80=7(10),12(8)×7(8)=70(10).故70(10)=106(8).即12(8)×7(8)=106(8).故选B4.将四位⼋进制数中的最⼩数转化为六进制数为( )A.2 120 B.3 120 C.2 212 D.4 212【解析】:C 四位⼋进制中的最⼩数为1 000(8).所以1 000(8)=1×83=512.再将512除以6取余得512=2 212(6).故选C5.两个⼆进制数101(2)与110(2)的和⽤⼗进制数表⽰为( )A.12 B.11 C.10 D.9【解析】:B101(2)=1×22+0×21+1×20=5,110(2)=1×22+1×21+0×20=6,5+6=11.故选B6.在计算机的运⾏过程中,常常要进⾏⼆进制数与⼗进制数的转换与计算.如⼗进制数8转换成⼆进制数是1 000,记作8(10)=1 000(2);⼆进制数111转换成⼗请进制数是7,记作111(2)=7(10)等.⼆进制的四则运算,如11(2)+101(2)=1 000(2).计算:11(2)×111(2)=________,10 101(2)+1 111(2)=________.【解析】:10 101(2),100 100(2)由题可知,在⼆进制数中的运算规律是“满⼆进⼀”,∴11(2)×111(2)=10 101(2),10 101(2)+1 111(2)=100 100(2).7.1 101(2)+1 011(2)=__________(⽤⼆进制数表⽰).【解析】:11 000(2)1 101(2)=1×23+1×22+1=13;1 011(2)=1×23+1×2+1=11,则1101(2)+1011(2)=24.即24=11 000(2).。
(完整版)人教版高中数学必修3各章知识点总结,推荐文档

高中数学必修3知识点第一章算法初步i.i.i 算法的概念算法的特点:(i)有限性:一个算法的步骤序列是有限的,必须在有限操作之后停止,不能是无限的^(2)确定性:算法中的每一步应该是确定的并且能有效地执行且得到确定的结果,而不应当是模棱两可.(3)顺序性与正确性:算法从初始步骤开始,分为若干明确的步骤,每一个步骤只能有一个确定的后继步骤,前一步是后一步的前提,只有执行完前一步才能进行下一步,并且每一步都准确无误,才能完成问题^(4)不唯一性:求解某一个问题的解法不一定是唯一的,对于一个问题可以有不同的算法^(5)普遍性:很多具体的问题,都可以设计合理的算法去解决,如心算、计算器计算都要经过有限、事先设计好的步骤加以解决.1.1.2 程序框图1、程序框图基本概念:(一)程序构图的概念:程序框图又称流程图,是一种用规定的图形、指向线及文字说明来准确、直观地表示算法的图形。
一个程序框图包括以下几部分:表示相应操作的程序框;带箭头的流程线;程序框外必要文字说明。
(二)构成程序框的图形符号及其作用学习这部分知识的时候,要掌握各个图形的形状、作用及使用规则,画程序框图的规则如下:1、使用标准的图形符号。
2、框图一般按从上到下、从左到右的方向画。
3、除判断框外,大多数流程图符号只有一个进入点和一个退出点。
判断框具有超过一个退出点的唯一符号。
4、判断框分两大类,一类判断框“是”与“否”两分支的判断,而且有且仅有两个结果;另一类是多分支判断,有几种不同的结果。
5、在图形符号内描述的语言要非常简练清楚。
(三)、算法的三种基本逻辑结构:顺序结构、条件结构、循环结构。
1、顺序结构:顺序结构是最简单的算法结构,语句与语句之间,框与框之间是按从上到下的顺序进行的,它是由若1个依次执行的处理步骤组成的,它是任何一个算法都离不开的一种基本算法结构。
顺序结构在程序框图中的体现就是用流程线将程序框自上而下地连接起来,按顺序执行算法步骤。
人教版数学必修三 3.1.2基本算法语句

A.
B.
C.
D.
4.执行下面的程序后,输出的结果是( ) A.1,3 B.4,1 C.4,﹣2 D.6,0
【解答】解:根据题中的伪代码,可
得以下4个步骤 第1步,将1的赋给a,3的赋给b; 第2步,将a+b的赋给a,可得此时的a 值为4; 第3步,将a﹣b的赋给b,得此时的b值 为1; 第4步,输出a,b的值 因此最后输出的a=4,b=1 故选:B 【点评】本题给出伪代码,求输出的a、 b之值,着重考查了赋值语句的理解、 伪代码的含义等知识,属于基础题.
【分析】先根据输出的结果推出循 环体执行的次数,再根据 s=1×12×11×10×9=11880得到程 序中UNTIL后面的“条件”. 【解答】解:因为输出的结果是 132,即s=1×12×11×10×9,需 执行4次, 则程序中UNTIL后面的“条件”应 为i<9. 故选D
3.执行如图的算法语句,则输出S为( )
其对应的程序框图如图所示.
(2)条件语句的简单格式 IF 条件 THEN 语句序列; END IF
其对应的框图如图.
计算机执行这种格式的条件语句时,先对表达式的 结果进行判断,若表达式结果为真,则执行表达式后面 的语句序列,否则直接跳过语句序列,执行 END IF 后的 其它语句.条件语句后必须用 END IF 结尾.
XX和X老师的第一节课
1
自我介绍
• 老师姓名/昵称: • 毕业院校: • 教学特点: • 教学经历: • 教学心得: • 辅导成绩:
* 展示老师风采的照片
2
算法初步
第二节
基本算法语句
知识归纳
1.输入语句 (1)输入语句的一般格式是: INPUT“提示内容”;变量 (2)输入语句的作用是实现算法的输入信息功能. (3)“提示内容”提示用户输入什么样的信息.
人教版高中数学必修三 算法案例(进位制)优质教案

第3课时案例3 进位制(一)导入新课情境导入在日常生活中,我们最熟悉、最常用的是十进制,据说这与古人曾以手指计数有关,爱好天文学的古人也曾经采用七进制、十二进制、六十进制,至今我们仍然使用一周七天、一年十二个月、一小时六十分的历法.今天我们来学习一下进位制.(二)推进新课、新知探究、提出问题(1)你都了解哪些进位制?(2)举出常见的进位制.(3)思考非十进制数转换为十进制数的转化方法.(4)思考十进制数转换成非十进制数及非十进制之间的转换方法.活动:先让学生思考或讨论后再回答,经教师提示、点拨,对回答正确的学生及时表扬,对回答不准确的学生提示引导考虑问题的思路.讨论结果:(1)进位制是人们为了计数和运算方便而约定的计数系统,约定满二进一,就是二进制;满十进一,就是十进制;满十二进一,就是十二进制;满六十进一,就是六十进制等等.也就是说:“满几进一”就是几进制,几进制的基数(都是大于1的整数)就是几.(2)在日常生活中,我们最熟悉、最常用的是十进制,据说这与古人曾以手指计数有关,爱好天文学的古人也曾经采用七进制、十二进制、六十进制,至今我们仍然使用一周七天、一年十二个月、一小时六十分的历法.(3)十进制使用0~9十个数字.计数时,几个数字排成一行,从右起,第一位是个位,个位上的数字是几,就表示几个一;第二位是十位,十位上的数字是几,就表示几个十;接着依次是百位、千位、万位……例如:十进制数3 721中的3表示3个千,7表示7个百,2表示2个十,1表示1个一.于是,我们得到下面的式子:3 721=3×103+7×102+2×101+1×100.与十进制类似,其他的进位制也可以按照位置原则计数.由于每一种进位制的基数不同,所用的数字个数也不同.如二进制用0和1两个数字,七进制用0~6七个数字.一般地,若k是一个大于1的整数,那么以k为基数的k进制数可以表示为一串数字连写在一起的形式a n a n-1…a1a0(k)(0<a n<k,0≤a n-1,…,a1,a0<k).其他进位制的数也可以表示成不同位上数字与基数的幂的乘积之和的形式,如110 011(2)=1×25+1×24+0×23+0×22+1×21+1×20,7 342(8)=7×83+3×82+4×81+2×80.非十进制数转换为十进制数比较简单,只要计算下面的式子值即可:a n a n-1…a1a0(k)=a n×k n+a n-1×k n-1+…+a1×k+a0.第一步:从左到右依次取出k进制数a n a n-1…a1a0(k)各位上的数字,乘以相应的k的幂,k的幂从n开始取值,每次递减1,递减到0,即a n×k n,a n-1×k n-1,…,a1×k,a0×k0;第二步:把所得到的乘积加起来,所得的结果就是相应的十进制数.(4)关于进位制的转换,教科书上以十进制和二进制之间的转换为例讲解,并推广到十进制和其他进制之间的转换.这样做的原因是,计算机是以二进制的形式进行存储和计算数据的,而一般我们传输给计算机的数据是十进制数据,因此计算机必须先将十进制数转换为二进制数,再处理,显然运算后首次得到的结果为二进制数,同时计算机又把运算结果由二进制数转换成十进制数输出.1°十进制数转换成非十进制数把十进制数转换为二进制数,教科书上提供了“除2取余法”,我们可以类比得到十进制数转换成k进制数的算法“除k取余法”.2°非十进制之间的转换一个自然的想法是利用十进制作为桥梁.教科书上提供了一个二进制数据与16进制数据之间的互化的方法,也就是先由二进制数转化为十进制数,再由十进制数转化成为16进制数.(三)应用示例思路1例1 把二进制数110 011(2)化为十进制数.解:110 011(2)=1×25+1×24+0×23+0×22+1×21+1×20=1×32+1×16+1×2+1=51.点评:先把二进制数写成不同位上数字与2的幂的乘积之和的形式,再按照十进制的运算规则计算出结果.变式训练设计一个算法,把k进制数a(共有n位)化为十进制数b.算法分析:从例1的计算过程可以看出,计算k进制数a的右数第i位数字a i与k i-1的乘积a i·k i-1,再将其累加,这是一个重复操作的步骤.所以,可以用循环结构来构造算法.算法步骤如下:第一步,输入a,k和n的值.第二步,将b的值初始化为0,i的值初始化为1.第三步,b=b+a i·k i-1,i=i+1.第四步,判断i>n是否成立.若是,则执行第五步;否则,返回第三步.第五步,输出b的值.程序框图如下图:程序:INPUT “a,k,n=”;a,k,nb=0i=1t=a MOD 10DOb=b+t*k^(i-1)a=a\\10t=a MOD 10i=i+1LOOP UNTIL i>nPRINT bEND例2 把89化为二进制数.解:根据二进制数“满二进一”的原则,可以用2连续去除89或所得商,然后取余数.具体计算方法如下:因为89=2×44+1,44=2×22+0,22=2×11+0,11=2×5+1,5=2×2+1,2=2×1+0,1=2×0+1,所以89=2×(2×(2×(2×(2×2+1)+1)+0)+0)+1=2×(2×(2×(2×(22+1)+1)+0)+0)+1=…=1×26+0×25+1×24+1×23+0×22+0×21+1×20=1 011 001(2).这种算法叫做除2取余法,还可以用下面的除法算式表示:把上式中各步所得的余数从下到上排列,得到89=1 011 001(2).上述方法也可以推广为把十进制数化为k进制数的算法,称为除k取余法.变式训练设计一个程序,实现“除k取余法”.算法分析:从例2的计算过程可以看出如下的规律:若十制数a除以k所得商是q0,余数是r0,即a=k·q0+r0,则r0是a的k进制数的右数第1位数.若q0除以k所得的商是q1,余数是r1,即q0=k·q1+r1,则r1是a的k进制数的左数第2位数.……若q n-1除以k所得的商是0,余数是r n,即q n-1=r n,则r n是a的k进制数的左数第1位数.这样,我们可以得到算法步骤如下:第一步,给定十进制正整数a和转化后的数的基数k.第二步,求出a除以k所得的商q,余数r.第三步,把得到的余数依次从右到左排列.第四步,若q≠0,则a=q,返回第二步;否则,输出全部余数r排列得到的k进制数.程序框图如下图:程序:INPUT “a,k=”;a,kb=0i=0DOq=a\\kr=a MOD kb=b+r*10^ii=i+1a=qLOOP UNTIL q=0PRINT bEND思路2例1 将8进制数314 706(8)化为十进制数,并编写出一个实现算法的程序.解:314 706(8)=3×85+1×84+4×83+7×82+0×81+6×80=104 902.所以,化为十进制数是104 902.点评:利用把k进制数转化为十进制数的一般方法就可以把8进制数314 706(8)化为十进制数.例2 把十进制数89化为三进制数,并写出程序语句.解:具体的计算方法如下:89=3×29+2,29=3×9+2,9=3×3+0,3=3×1+0,1=3×0+1,所以:89(10)=10 022(3).点评:根据三进制数满三进一的原则,可以用3连续去除89及其所得的商,然后按倒序的顺序取出余数组成数据即可.(四)知能训练将十进制数34转化为二进制数.分析:把一个十进制数转换成二进制数,用2反复去除这个十进制数,直到商为0,所得余数(从下往上读)就是所求.解:即34(10)=100 010(2)(五)拓展提升把1 234(5)分别转化为十进制数和八进制数.解:1 234(5)=1×53+2×52+3×5+4=194.则1 234(5)=302(8)所以,1 234(5)=194=302(8)点评:本题主要考查进位制以及不同进位制数的互化.五进制数直接利用公式就可以转化为十进制数;五进制数和八进制数之间需要借助于十进制数来转化.(六)课堂小结(1)理解算法与进位制的关系.(2)熟练掌握各种进位制之间转化.(七)作业习题1.3A组3、4.。
人教版高中数学必修三 基本算法语句 ppt课件

INPUT “R=”;R C=2*3.14*R S=3.14*R^2 PRINT “C=”;C
PRINT “S=”; S
END
2020/12/27
16
〖练习3〗.
程序:
INPUT “a,b(a,b≠0)=”;a ,b X=a+b Y=a-b Z=a * b Q=a/b PRINT X,Y,Z,Q END
例1 用描点法作函数y=x3+3x2-24x+30的图象 时,需要求出自变量和函数的一组对应值.编写程序, 分别计算当x=-5,-4,-3,-2,-1,0,1, 2,3,4,5时的函数值.
程序: INPUT “x=”;x -----------------输入语句
y=x^3+3*x^2-24*x+30---------赋值语句
2020/12/27
7
注意: INPUT语句不但可以给单个变量赋值,还可以
给多个变量赋值,其格式为:
INPUT “提示内容1,提示内容2,提示内容3,…”;变量1,变量2,变量 3,…
例如,输入一个学生数学,语文,英语三门课的成绩, 可以写成:
INPUT “数学,语文,英语”;a,b,c
2020/12/27
2020/12/27
1
程序设计语言有很多种。如BASIC,Foxbase, C语言,C++,J++,VB等。为了实现算法中的 三种基本的逻辑结构:顺序结构、条件结构和循 环结构,各种程序设计语言中都包含下列基本的 算法语句:
输入语句 条件 语句
输出语句 循环 语句
赋值语句
这就是这一节所要研究的主要内容——基本算法 语句。
2020/12/27
2
高中数学必修三《基本算法语句》课件

〖例2〗:编写程序,计算一个学生数学、语文、 英语三门课的平均成绩。
分析:先写出算法,画出程序框图,再进行编程。
程序框图:
开始
程序: INPUT “Maths,Chinese,English”;a,b,c y=(a+b+c)/3 PRINT “y=”;y END
输入a,b,c
abc y 3
输出y
(1) SQR( )是一个函数,用来求某个非负数的 算术平方根,即SQR( x )= x (2) ABS( )是一个函数,用来求某个数的绝对 值,即ABS( x )=︱x ︱
一.输入语句
输入语句的一般格式
INPUT “提示内容”;变量
说明: (1)输入语句的功能是对程序中的变量函数、变量或表达式; (3)提示内容与变量之间用分号“;”隔开, 若输入多个变量,变量与变量之间用逗号“,”隔开 (4)“提示内容”和它后面的“ ;”可以省略;
二.输出语句 输出语句的一般格式 PRINT “提示内容”;表达式 说明: (1)输出语句的功能:输出表达式的值,计算。 (2)表达式可以是变量,计算公式或系统信息;
(3)有计算功能,能直接输出计算公式的值.
三.赋值语句 赋值语句的一般格式: 变量=表达式
说明: (1)赋值语句的功能是:先计算出赋值号右边表达 式的值,然后把这个值赋给左边的变量,使该变量的 值等于表达式的值。 (2)赋值语句中的“=”称作赋值号,与数学中的等 号的意义是不同的.赋值号的左右两边不能对换. (3)对于一个变量可以多次赋值。
【探究新知】 例1 用描点法作函数y=x3+3x2-24x+30的图象时,需要求 出自变量和函数的一组对应值.编写程序,分别计算当x=-5, -4,-3,-2,-1,0,1,2,3,4,5时的函数值. 分析:先写出算法,画出程序框图,再进行编程。 程序框图: 开始 输入x 程序: 输入语句
最新人教版高中数学必修3第一章《基本算法语句》

数学人教B必修3第一章1.2 基本算法语句1.了解程序语言与自然语言和程序框图设计算法的区别.2.理解输入、输出语句和赋值语句、条件语句、循环语句的格式和功能.3.能用条件语句、循环语句的格式编写相关问题的程序.1.程序语言都包含一些基本的语句结构,它们分别是________、__________、__________、__________、________.【做一做1】下列语句不属于基本算法语句的是().A.赋值语句B.运算语句C.条件语句D.循环语句2.赋值语句(1)用来表明赋给某一个变量一个具体的确定值的语句叫做__________.(2)赋值语句的一般格式是______________.(3)赋值语句中的“=”号,称做________.①赋值号左边只能是变量名字,而不能是表达式.例如3.6=X是错误的.②赋值号左右不能对换.赋值语句是将赋值号右边的表达式的值赋给赋值号左边的变量,例如Y=X,表示用X的值替代变量Y原先的取值,不能改写为X=Y.因为后者表示用Y 的值替代变量X的值.③不能利用赋值语句进行代数式(或符号)的演算(如化简、因式分解等),如y=x2-1=(x+1)(x-1),这是不能实现的.在赋值语句中的赋值号右边的表达式中的每一个“变量”都必须事先赋给确定的值.在一个赋值语句中只能给一个变量赋值.不能出现两个或多个“=”.④赋值号与数学中的等号的意义不同.赋值号左边的变量如果原来没有值,则在执行赋值语句后,获得一个值.如果原已有值,则执行该语句后,以赋值号右边表达式的值代替该变量的原值,即将原值“冲掉”.如:N=N+1在代数学中是不成立的,但在赋值语句中,意思是将N的原值加1,再赋给N,即N的值增加1.【做一做2-1】下列赋值语句正确的是().A.x=3 B.3=xC.x-3=0 D.3-x=0【做一做2-2】已知变量a,b已被赋值,要交换a,b的值,下列方法正确的是().A.a=b,b=a B.a=c,b=a,c=bC.a=c,b=a,c=a D.c=a,a=b,b=c3.输入语句与输出语句输入语句―→可以为变量提供运行所需要的数据,实现了算法中的输入功能输出语句―→任何求解问题的算法,都要把求解的结果“输出”,通过输出语句来控制①“input ”又称“键盘输入语句”,当计算机执行到该语句时,暂停并等候用户输入程序运行需要的数据.此时,用户只需把数据由键盘输入,然后回车,程序将继续运行.②“提示内容”的作用是在程序执行时提醒用户明确将要输入的是什么样的数据. 如:x =input(“输入学生的语文成绩x =”). ③无计算功能.输入语句要求输入的值只能是具体的常数,不能是函数、变量或表达式. ④变量是指程序运行时其值可以变化的量,我们可以通俗地把它比喻成一个盒子,盒子内可以存放数据,必要时可随时更换盒子内的数据.⑤Scilab 程序语言规定:表达式中的*一定不能省略,也不能写成圆点或×;表达式中的括号一律用小括号;方括号[]另有用法;除法用符号“/”;标准函数的自变量应放在小括号内,如sin(x);圆周率π写成“%pi ”;自然对数的底e 写成“%e ”;绝对值|x |写成abs(x);x 的平方写成x*x 或x^ 2.【做一做3】读下列两个程序,回答问题. ①x =3; y =4; x =y ;print(%io(2),x ,y ) ②x =3; y =4; y =x ;print(%io(2),y ,x )(1)上述两个程序的运行结果分别是________,________; (2)上述两个程序中的第三行有什么区别? 4.条件语句(1)算法结构中的条件分支结构一般由算法语言中的__________来实现.(2)条件语句的一般格式有两种,一种是____________格式,其形式为:if 表达式语句序列1;else 语句序列2;end另一种是__________格式,形式是:if 表达式语句序列1;end有时候条件语句中还套有条件语句,形成条件语句的嵌套.识读程序时,可以用文字的缩进来表示嵌套的层次,以帮助阅读和理解.【做一做4】下面的程序运行后,y 的值是( ). x =3; if x >3 y =x*x ;elsey=2*x;endprint(%io(2),y)A.3 B.6 C.9 D.275.循环语句(1)循环语句用来处理算法中的__________.(2)循环语句主要有两种类型,________和__________.for循环的一般格式为for循环变量=初值:步长:终值循环体;endwhile循环的一般格式为while表达式循环体;endfor循环主要用于预先知道循环次数的情形,while循环用于预先不知道循环次数的情形,两种循环都必须以end结尾.【做一做5-1】下列程序最后输出的结果为().i=1;for i=1:2:7S=3*i;endSA.17 B.21 C.27 D.37【做一做5-2】下列程序的运行结果是________.i=2;S=1;while i<=10S=S/i;i=i+1;endprint(%io(2),S)两种循环语句的执行原理剖析:(1)for循环的执行过程:通过for语句进入循环,将初值赋给循环变量i,当循环变量的值不超过终值时,则顺序执行循环体内的各个语句,遇到end,将循环变量增加一个步长的值,再与终值比较,如果仍不超过终值范围,则再次执行循环体,这样重复执行,直到循环变量的值超过终值,则跳出循环.①只有当循环次数明确时,才能使用本语句.②步长可以为正、负,但不能是0,否则会陷入“死循环”.步长为正时,要求终值大于初值,如果终值小于初值,循环将不能执行.步长为负时,要求终值必须小于初值.③for 语句对应的程序框图如下图所示:(2)while 语句执行过程:该语句对应于程序框图中的循环结构,先判断条件是否成立,当条件成立时,执行循环体,遇到end 语句时,就返回到while ,继续判断条件,若仍成立,则重复上述过程,若不成立,则去执行end 后面的语句(即退出循环体).①当循环次数未知时,只能利用while 循环语句解决累加、累乘问题,循环体结束循环的条件必须是唯一的,若不确定,则无法结束,形成“永不停止”的循环.对于循环结束的条件,要注意与“是”“否”后面的处理框相对应.②while 语句对应的基本框图如图所示:题型一 输入、输出、赋值语句的应用【例1】读用Scilab 语句编写的程序,根据程序画出程序框图. x =input(“x =”); y =input(“y =”); print(%io(2),x/2); print(%io(2),3*y); x =x +1,y =y -1; print(%io(2),x); print(%io(2),y);分析:该程序第1,2句是input 输入语句,要求从键盘输入x 与y 的值;第3,4句是print 输出语句,要求从屏幕输出x2和3y 的值,第5句赋值语句,用x +1的值代替原来x 的值,用y -1的值代替原来y 的值.第6、7句从屏幕输出x 和y 的值,由此可得程序框图.反思:给出程序画框图类的题型,关键是理解程序的功能是什么,然后进行实际操作,在用赋值语句时,可对一个变量重复赋值,变量的值取最后一次的赋值.题型二 条件语句的应用【例2】已知函数y =⎩⎪⎨⎪⎧2x 2-1(x >0),2x +1(x =0),-2x 2+4x (x <0),输入x 的值计算y 的值,画出程序框图,并写出程序.分析:本题是属于已知分段函数的解析式求函数值的问题.本题中分段函数的定义域被分成了三部分,从而在程序中需判定的条件有两个,在使用条件语句时要注意书写顺序及语句间的对应.反思:根据本题可画出条件语句的整体书写格式(嵌套式)如下:⎭⎪⎪⎬⎪⎪⎫if 表达式1语句序列1;else⎭⎪⎬⎪⎫if 表达式2语句序列2;else 语句序列3;end内层条件语句end外层条件语句 题型三 循环语句的应用【例3】用for 语句写出计算1×3×5×7×…×2 011的值的程序. 分析:解决这一问题的算法如下: S1 S =1; S2 i =3; S3 S =S ×i ; S4 i =i +2;S5 如果i >2 011,则执行S6,否则执行S3,S4,S5; S6 输出S .反思:(1)本题中的S =S*i 是循环体.(2)由于是一个累乘问题,如果我们设定S 的初始值为1,i 的初始值为1,则第二句也可改为for i =1:2:2 011,最后程序的运行结果是一样的.(3)注意本程序中分号的作用,如果没有分号,则最后在屏幕上会出现每一步的运行结果;而有分号,则只出现最后的运行结果.【例4】用循环语句写出求满足1+12+13+…+1n >10的最小自然数n 的算法,并写出相应程序.分析:本题不等号的左边为1+12+13+…+1n ,是有规律的累加运算,故引入和变量S ,而要求S >10的最小自然数n ,故可用“while S <=10”来控制循环,又要引入计数变量i ,通过“i =i +1”进行循环.反思:由于本题中终值预先不清楚,因此才考虑用while 循环,要注意程序与算法一致. 题型四 易错辨析【例5】写出求使1+2+3+…+________<2 012成立的所有正整数的一个程序. 错解:S =1; i =1;while S <2 012i =i +1; S =S +i ; endprint(%io(2),i); 错因分析:该算法只能输出符合条件的最大正整数加1后所得的值,故不正确.事实上,为了能输出所有符合条件的正整数,必须把“print(%io(2),i)”移到循环体内.1当a =3,b =5,c =b +2时,print(%io(2),a ,b ,c)在屏幕上的输出结果自上而下依次是( ).A .3,5,7B .3,5,5C .7,3,5D .7,5,32下面程序输入“x =π”时的运算结果是( ).x =input (“x =”);if x>0y =-2;elseif x =0 y =0;elsey =2;end endprint (%io (2),y )A .-2B .1C .πD .2 3下列程序的运行结果是( ).i =0;S =0;while S <=20i =i +1;S =S +i ;end iA .7B .6C .5D .44画出程序框图,编写程序,输入两个实数,输出其差的绝对值. 5设计算法框图和程序,求1+12+13+14+15+16+…+12 011+12 012的值.答案:基础知识·梳理1.输入语句 输出语句 赋值语句 条件语句 循环语句 【做一做1】 B 2.(1)赋值语句 (2)变量名=表达式 (3)赋值号【做一做2-1】 A 【做一做2-2】 D【做一做3】答案:(1)4,43,3(2)上述两个程序中的第三行的区别是:①中“x=y”是将y的值赋给x,②中“y=x”是将x的值赋给y.4.(1)条件语句(2)if—else—end if—end【做一做4】 B5.(1)循环结构(2)for循环while循环【做一做5-1】 B【做一做5-2】 3 628 800程序的功能是计算1×2×3×4×…×10的值.典型例题·领悟【例1】解:【例2】解:程序如下.x=input(“x=”);if x>0y=(2* x^2)-1;elseif x=0y=2*x+1;elsey=-2*x^2+4*xendendprint(%io(2),y)程序框图如下图所示:【例3】解:程序如下:S =1;for i =3:2:2 011 S =S*i ; Endprint(%io(2),S)【例4】 解:算法如下: S1 S =0; S2 i =1;S3 S =S +1i;S4 如果S ≤10,则令i =i +1,并返回S3,否则输出i. 程序如下: S =0; i =1;S =S +1/i ; While S <=10 i =i +1; S =S +1/i ; endprint(%io(2),i)【例5】 正解:解法一: S =1; i =1;w hile S <2 012 print(%io(2),i); i =i +1; S =S +i ; end解法二: S =1; i =1;w hile S <2 012 i =i +1; S =S +i ;print(%io(2),i -1); end随堂练习·巩固1.D print(%io(2),a ,b ,c)在屏幕上的输出是从右往左,即最上面是c 的值,中间是b 的值,最下面是a 的值.2.A 3.B4.解:程序框图如下图所示:程序如下:a =input(“a =”);b=input(“b=”);if a>=ba-b;elseb-a;end5.解:程序框图如下图所示.程序如下:i=1;S=0;w hile i<=2 012S=S+(1/i);i=i+1;endS。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
人教版高中数学基本算法语句____________________________________________________________________________________________________________________________________________________________________1.理解学习基本算法语句的意义.2.学会输入语句、输出语句和赋值语句,条件语句和循环语句的基本用法.3.理解算法步骤、程序框图和算法语句的关系,学会算法语句的写法.1. 赋值、输入和输出语句(1)赋值语句:在表述一个算法时,经常要引入变量,并赋给该变量一个值。
用来表明赋给某一个变量一个具体的确定值的语句叫做赋值语句。
在算法语句中,赋值语句是最基本的语句。
赋值语句的一般格式为:__________________。
赋值语句中的“=”号,称作赋值号,赋值语句的作用是先计算出赋值号右边表达式的值,然后把该值赋给赋值号左边的变量,使该变量的值等于表达式的值。
说明:①赋值语句左边只能是变量名字,而不是表达式,右边表达式可以是一个数据、常量或表达式;②赋值语句中的赋值号“=”的左右两边不能对换,它将赋值号右边的表达式的值赋给赋值号左边的变量;③不能利用赋值语句进行代数式(或符号)的演算(如化简、因式分解等)。
在赋值语句中的赋值号右边的表达式中的每一个“变量”都必须事先赋给确定的值。
在一个赋值语句中只能给一个变量赋值,不能出现两个或多个“=”;④赋值号与数学中的等号的意义不同。
赋值号左边的变量如果原来没有值,则在执行赋值语句后,获得一个值。
如果原已有值,则执行该语句后,以赋值号右边表达式的值代替该变量的原值,即将原值“冲掉”;⑤对于一个变量可以多次赋值。
(2)输入语句在某些算法中,变量的初值要根据情况经常地改变。
一般我们把程序和初始数据分开,每次算题时,即使初始数据改变,也不必改变程序部分,只要每次程序运行时,输入相应的数据即可。
这个过程在程序语言中,用“输入语句”来控制。
不同的程序语言都有自己的输入指令和方法。
在Scilab2.7中的输入语句之一是“input”。
“input”在计算机程序中,通常称为键盘输入语句。
“input”不仅可以输入数值,也可以输入单个或多个字符,如X=input(“What is your name?”.“string”)输入你的名字。
String代表输入字符型变量。
在Scilab2.7中,还有其它输入语句。
如“read”输入语句。
在其它各种程序语言中,一般都有自己的输入控制语句,它们的作用是相同的,只是每种程序语言的控制代码和表现形式不同。
这里,我们只需理解程序语言的含义,减少你今后深入学习程序语言的困难。
输入语句与赋值语句的区别在于:赋值语句可以将一个代数表达式的值赋于一个变量,而输入语句由于要求输入的值只能是具体的常数,不能是函数、变量或表达式,因此输入语句只能将读入的具体数据赋给变量。
(3)输出语句任何求解问题的算法,都要把求解的结果“数出”。
由此可知,任何程序语言也必须有“输出语句”来控制数出。
不同的程序语言都有自己的输出语句和表现形式,但功能是一样的,就是以某种形式把求解结果“数出”出来。
在Scilab中,有各种输出语句,如:print,write,format,printf,disp。
例如:一个算法是用Scilab中的rand()函数,首先生成一个0~1之间的随机数并把它赋值a+赋值给变量c,最后把它们都输出到屏幕上,这个算给变量a,再把数值3复制给变量b,把b法用Scilab程序写出,并用print(%io(2),a,b,c)语句控制输出。
在Scilab界面内直接写出程序并运行如下:a=rand();b=3;c=ba+;print(%io(2),a,b,c)c=3.7560439b=3.a=.7560439程序中的print(%io(2),a,b,c)的参数%io(2)表示在屏幕上输出。
2. 条件语句处理条件分支逻辑结构的算法语句,叫做条件语句。
计算机通常是按照程序中语句出现的先后顺序依次往下执行的,但有时需要根据某个给定的条件是否满足而决定所要执行的语句,这时就需要条件语句。
Scilab语言中的条件语句分为if语句和select-case语句。
我们主要介绍if语句。
if语句的一般格式是:if 表达式语句序列1;else语句序列2;end该语句的功能为,如果表达式结果为真,则执行表达式后面的语句序列1;如果表达式结果为假,则执行else后面的语句序列2。
其实,if语句的简单的格式是:if 表达式语句序列1;end这就是说,如果表达式结果为真,则执行表达式后面的语句序列1,否则跳过语句序列1。
3. 循环结构在算法程序语言中一般通过循环语句来处理算法中的循环结构。
我们知道,在实际问题中会遇到许多有规律的重复运算,或者在程序中需要多某些语句进行重复的执行,这样就需要用到循环语句进行控制。
Scilab程序语言中提供了两种循环语句:for循环和while循环。
for循环的格式为:for循环变量=初值:步长:终值循环体end这种循环结构,循环变量被赋初值后,如果循环变量没有超过终值,则执行语句序列;循环变量递增(递增值为步长),如果没有超过终值,继续执行循环;否则,循环结束。
while语句的格式为:while 表达式循环体end这种循环结构,首先要求对表达式进行判断,如果表达式为真,则执行循环体部分。
每次开始执行循环体前,都要判断表达式是否为真。
这样重复执行,一直到表达式值为假时,就跳过循环体部分,循环结束。
类型一赋值语句的应用例1:请写出下面程序运行后输出的结果.a=7;b=5;c=(a-b)/2;d=c*c;d练习1:下列关于赋值语句的说法错误的是()A.赋值语句的作用是先计算出赋值号右边的表达式的值B.赋值语句是把左边变量的值赋给赋值号右边的表达式C.赋值语句是把右边表达式的值赋给赋值号左边的变量D.在算法语句中,赋值语句是最基本的语句练习2:请写下面程序运行的结果.x=0;x=x+1;x=x+2;x=x+3;x类型二输入、输出语句例2:编写一个程序,要求输入两个数a、b的值,输出a+b和ab的值.练习1:任给三个变量a、b、c赋值,设计一个计算a2-3b2+5c的程序.类型三三种语句的功能例3:写出下列语句描述的算法的输出结果.(1)a=5;b=3;c=(a+b)/2d=c*c;print(%io(2),d);(2)a=1;b=2;c=a+b;b=a+c-b;print(%io(2),a,b,c);(3)a=10;b=20;c=30;a=b;b=c;c=a;print(%io(2),a,b,c);练习1:阅读下列程序,给出当a=2,b=-5时的运行结果:(1)a=input(“a=”);b=input(“b=”);x=a+b;y=a-b;a=(x+y)/2;b=(x-y)/2;print(%io(2),a,b);(2)a=input(“a=”);b=input(“b=”);a=a+b;b=a-b;a=(a+b)/2;b=(a-b)/2;print(%io(2),a,b);(3)a=input(“a=”);b=input(“b=”);a=a+b;b=a-b;a=(a-b)/2;b=(a+b)/2;print(%io(2),b,a);类型四 条件语句的应用例4:编写程序计算:y =⎩⎪⎨⎪⎧1, x ≥0-1,x <0.练习1:编写程序,输入两个实数,由大到小输出这两个数.练习2:编写一个程序对输入的任意一个非零实数,判断其符号.类型五 循环语句的应用例5:应用循环语句编写程序求12+14+…+1100的值.练习1:利用循环语句编写一个程序,求所输入的50名同学数学成绩中大于80分的成绩的平均分.例6:写出求满足1+2+3+…+n >2 010的最小的自然数n 的程序,并画出其程序框图.练习1:编写程序计算102+202+302+…+1002的值.1.下列赋值语句正确的是( ) A .6=x B .x +y =6 C .x =y =2D .x =x +22.当a =1,b =3时,执行完下面一段程序后x 的值是( ) if a<b x =a +b elsex =a -b end xA .1B .3C .4D .-23.下列程序运行后输出的结果为( ) x =1; y =1; z =0; while x<=4 while y<=x +2 z =z +1; y =y +1; endprint(%io(2),z); x =z +1; y =1; end end A .3,4,5,6 B .4,5,6,7 C .5,6,7,8D .6,7,8,94.下列程序的运行结果是________. a =1;b =3;a =a +b ;b =b*a ;print (%io (2),a ,b );5.运行下面的程序时,若输入的值为100、99,则输出的结果为________;若输入的值为1、2,则输出的结果为________.A =input (”A =”);B =input (”B =”);if A<B T =A ; A =B ;B =T ;elseA =A -B ;endprint (%io (2),A );6.在求1+2+3+…+50的值时,在Scilab 中的文本编辑中写出的程序如下:则横线上应填写的语句是________.;%io (2),S );7.根据以下给出的程序,画出其相应的程序框图,并指明该算法的功能. n =1;S =1;while S<5 000 S =S*n ;n =n +1;endn =n -1;print (%io (2),n );_________________________________________________________________________________ _________________________________________________________________________________基础巩固一、选择题1.执行“print(%io(2),3+5)”的输出结果是( ) A .3+5=3+5 B .3+5=8 C .8D .8=82.下列给出的输入、输出语句正确的是( ) ①input a ;b ;c ②input x =3③print A =4 ④print(%io(2),a) A .①② B .②③ C .③④D .④3.给出以下四个问题:①输入一个数x ,输出它的相反数;②求面积为6的正方形的周长;③求三个数a 、b 、c 中的最大数;④求函数f (x )=⎩⎪⎨⎪⎧x -1, x ≥0x +2, x <0的函数值.其中不需要用条件语句来描述其算法的有( ) A .1个 B .2个 C .3个D .4个4.下列对while 语句的说法不正确的是( )A .当计算机遇到while 语句时,先判断是否满足条件,如果符合条件,就执行循环体B .当条件不符合时,将不执行循环体直接跳出循环C .while 语句的格式为:while —表达式—循环体—endD .while 语句的特点是“后测试”,即先执行循环体,然后判断是否满足条件 5.下列关于for 循环的说法错误的是( ) A .在for 循环中,循环表达式也称为循环体B .在for 循环中,步长为1,可以省略不写;若为其他值,则不可省略C .理解for 循环关键是理解为循环变量设定初值、步长、终值D .在for 循环中,“end”控制结束一次循环,开始一次新的循环 二、填空题 6.执行下列程序:A =20;B =15;A =A +B ;B =A -B ;A =A*B ;B =A +B ;print (%io (2),B );运行结果为________.7.执行下面的程序语句,输入a =3,b =-1,n =4后,输出的结果是________.a =input (“a =”);b =input (“b =”);n =input (“n =”);i =1;while i<=n c =a +b ; a =b ; b =c ; i =i +1endprint (%io (2),c ); 能力提升一、选择题1.下边程序的输出结果为( ) A =8;B =7;A =A +B ;B =A -B ;C =A*B ;A =C ;print (%io (2),B ,A ); A .15,1 B .15,7 C .56,8D .120,82.若输入4,则下面程序执行后输出的结果是()A .4B .0.2C .0.1D .0.33.下面程序的作用是( )i =1;sum =0;for i =sum =sum +i ;endprint (%io (2),sum );A .求1+3+…+9+11B .求1+2+3+…+10C .求1×3×5×…×11D .求1×2×3×4×…×104.以下程序运行后的输出结果为( )A .21B .13C .17D .25二、填空题5.下列程序的运行结果是________.a =2;b =3;c =4;a =b ;b =a +c ;c =b +a ;a =(a +b +c )/2;print (%io (2),a );6.如图的程序框图所对应的程序是________.7.读下面的程序,如果输出y 的值是20,则通过键盘输入的变量x 的值是________.118.下面是一个用于计算11×2+12×3+13×4+…+120×21的程序,试填上适当的语句.9.如果以下的程序运行的结果为240,那么在程序中while 后面的“表达式”应为i>________.三、解答题10.设计一个程序,输入一个学生的成绩S ,根据该成绩的不同值作以下输出:若S <60,则输出“不及格”;若60≤S ≤90,则输出“及格”;若S >90,则输出“优秀”.11.铁路运输托运行李,从甲地到乙地,规定每张客票托运费计算方法是:行李重量不超过50kg 时,按0.25元/kg ;超过50kg 而不超过100kg 时,其超过部分按0.35元/kg ;超过100kg 时,其超过部分按0.45元/kg.编写程序,输入行李重量,计算并输出托运费用.。