




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基本算法语句由上一节的内容我们知道,用顺序结构、选择结构和循环结构的组合和嵌套就可表示任何算法,但算法的这些结构还不能为计算机所“理解”与“识别”,因此我们还必须寻找介于自然(结构)语言与计算机能识别的语言之间的桥梁,并由此而真正发挥计算机的作用那这个桥梁是什么呢?有人说,它是一个中间纽带;也有人说,它是计算机能“识别”的“伪代码”;还有人说,它是一种算法语言也许,你已经对这个桥梁有了一个大概的轮廓、大致的认识:轮廓具有很大的作用,认识具有很多的启示那我们如何寻找这个桥梁,又如何利用这个桥梁呢?那就请你随我们一道进入本节内容的学习学法建议 不论做什么事,都力求简捷、明了,让人看了赏心悦目,研究算法也是如此人的语言从字、词、句开始,算法也从语句开始基本算法语句有那些?又如何表示这些基本算法语句呢?本节将主要探讨上述问题,并由此让你能够操控计算机,让计算机成为你的一个臣民,让计算机为你服务学习本节要求掌握:1理解用伪代码表示的算法语句赋值语句、输入输出语句、条件语句、循环语句,进一步体会算法的基本思想;2体会经历将具体问题的流程图转化为伪代码的过程;3真正体会实施算法的过程:设计、构造、检验、修正、完善,提高运算的效率;4进一步培养逻辑思维能力基本算法语句赋值语句伪代码输入输出语句条件语句循环语句一、知识网络易错点提示 1伪代码的书写没有统一的格式,只要书写简便、容易理解、表达清楚即可2编写实际问题中的条件语句时,应先分析实际问题,将实际问题转化为数学问题,理清算法步骤,然后再用条件语句写算法二、知识归纳1伪代码伪代码是介于自然语言和计算机语言之间的文字和符号,是表达算法的简单而实用的好方法通过伪代码可学习基本的算法语句伪代码的书写虽然没有统一的格式,但也要遵循人们的认识的习惯,且所用符号应相对地统一例如,本书约定符号“”表示赋值,其含义也是清晰的,如赋值语句“m2020”便表示给变是m赋值2020,此时就不宜再用“2020m”或“m2020”等的其它形式来表示给m赋值了2赋值语句(1)赋值语句的一般格式是:变量表达式或变量(2)赋值语句的作用是将一个表达式或变量的值赋给一个变量它实质上是先将赋值号“”右边表达式或变量的值计算出来,然后把该值赋给“”左边的变量,使该变量的值等于表达式或变量的值(3)学习赋值语句时要注意以下几点:赋值号左边只能是变量,而不能是表达式或常数;赋值号左、右两边不能对换,AB和BA的含义及运行结果一般来说是不同的;赋值号“”与数学中的“=”意义是不同的,如数学中式子N=N+1应说是错误的,但在赋值语句中它的作用是将当前N的值加上1再赋给变量N,这样原来的值将被新的值取代如算法:x2;xx3则运行结果为8符号“”两边的量应是同类型的3输入、输出语句(1)输入语句:用“Read a,b”表示输入的数据依次送给a,b输入语句也是赋值语句,只不过是输入语句可处理批量数据的赋值问题例如,“Read a,b,c,d,e”,便一下了读入了5个数据(2)输出语句:用“Print x”表示输出运算结果x输出语句是程序中不可缺少的语句,因为没有输出的程序是无意义的程序可以一次输出多个变量的值,也可输出一些字符当想输出字符时,字符内容应加在引号内如“Print I am a student” ,则输出了“I am a student”;又如“Print 我是中国人”,则输出了“我是中国人”4条件语句要实现选择结构就要用到条件语句条件语句主要有两种形式:“块If语句”与“行If语句”(1)“块If语句”的一般形式是:If A Then BElse CEnd if其中A表示判断的条件,B表示满足条件时执行的操作内容,C表示不满足条件时执行的操作内容,End if表示条件语句结束条件语句的缺口“end if”不能省块If语句,看起来较行If语句清晰,因而在学习时则更多地被采用为了清晰醒目和方便阅读,通常将Then部分和Else部分缩进书写如:Read xIf x1 then m5x Else mx2+2 End ifPrint m上面步骤“m5x”为“then”分支,步骤“mx2+2”为“Else”分支这两个分支分别缩进了一部分(2)“行If语句”的一般形式是:If A then B Else C 一个行If语句必须在一行中写完其中方括号中的Else部分可以缺省教材P22例4采用了行If语句5循环语句要实现循环结构就要用到循环语句循环语句包括“For循环”、“While循环”等(1)For循环:其一般形式为For I from “初值” to “终值” step “步长” End for上面的“For”和“End for”之间缩进的步骤“”称为循环体“step 步长”被省略时,当重复循环时,变量I的值每次增加为1(2)While循环:其一般形式为While A End while上面A表示判断执行循环的条件“While”和“End while”之间缩进的步骤“”称为循环体“While”语句的特点是“前测试”,即先判断,后执行若初始条件不成立,则一次也不执行循环体中的内容任何一种需要重复处理的问题都可以用这种前测试循环来实现三、重点诠释 1程序设计的目的是实现对数据的处理,因此数据输入是任何程序都不可缺少的重要组成部分,提供数据的语句是组成程序的基本成分输入语句也是赋值语句,输入语句可处理批量数据的赋值问题使用赋值语句,一定要注意其格式要求,如:赋值号左边只能是变量而不能是表达式;赋值号左右两边不能对换等利用赋值语句可实现变量值的互换例如,Read x,ypxxyypPrint x,y上述算法程序,使变量x、y的值实现了互换2必须准确理解并掌握各种基本算法语句的格式在使用“For”循环时,应考虑“step 步长”是否能够省略缺省时,则默认步长为1当循环的次数已经确定时,可用“For”循环语句来表示;当循环次数不能确定时,可用“While”循环语句来表示在使用“块If”条件语句时,不能省略条件语句的出口“End if”条件语句与循环语句内均可有嵌套潜能开发 例1下面的表述: 3m;t35-2;b+35;a3,m6;aa+1;x,y,z5;ab3;p(3x+2)-4)x+3 其中正确表述的赋值语句有 (注:要求把正确的表述全填上)思路分析 根据赋值语句的表述格式进行判断解答正确的表述有:例2有一个算法如下:S1 输入x;S2 判断x0? 是:z=1;否:z= -1;S3 z1+z;S4 输出z试写出上述算法的流程图及相应的伪代码思路分析 先读懂该算法的实质,然后再进行相应的处理 解答算法中首先涉及了一个分段函数:最后直接输出z+1例如当x=1时,则输出结果为2;当x= -2时,则输出0 流程图与伪代码见图5-3-1开始输入xx0?Nz=1Yz= -1zz+1输入z结束图5-3-1Read xIf x0 then z-1Else z1End ifzz+1Print z 例3某百货公司为了促销,采用打折的优惠办法:每位顾客一次购物在100元以上者(含100元,下同),按九五折优惠;在200元以上者,按九折优惠;在300元以上者,按八五折优惠;在500元以上者,按八折优惠试写出算法、画出流程图、伪代码,以求优惠价思路分析 先用数学公式表示出优惠付款公式,然后再继续回答相关问题解答设购物款为x元,优惠价为y元,则优惠付款公式为 算法分析: S1 输入x的值; S2 如果x100,输出y=x,否则转入S3; S3 如果x200,输出y=0.95x,否则转入S4; S4 如果x300,输出y=0.9x,否则转入S5; S5 如果x500,输出y=0.85x,否则转入S6; S6 输出y=0.8x 流程图与伪代码见图5-3-2开始输入xx100?YyxNx200?Yy0.95xNx300?Yy0.9xNx500?Yy0.85xNy0.8x输出y结束图5-3-2Read xIf x100 then yxElse If x200 theny0.95x ElseIf x300 then y0.9xElse If x500 then y0.85x Elsey0.8x End ifEnd if End ifEnd ifPrint yEnd 例4请设计求小于1000的完全平方数的和的算法思路分析 用循环语句求和即可本问题中由于不知是多少项的和,故宜采用While循环语句来书写算法解答算法分析:第一步是选择一个变量S表示和,并赋给初值为0;第二步是选一个循环变量I,并赋给初值1;第三步开始进入While循环语句,首先判断I的平方是否小于1000;第四步为循环表达式(循环体);S0I1While II1000SS+IIII+1End whilePrint SEnd第五步用End while来控制循环,结束循环后执行后面的语句;第六步结束程序伪代码见右上所示思维诊断 赋值语句中的“”表示给左边的变量进行赋值,因此左边部分应是一个变量,而右边部分可以是变量或表达式,但两都的类型必须相同另外,左边的变量只有一个,而不能是两个,也不能是表达式同时,一个赋值语句只能对一个变量进行赋值对多个变量赋值应用输入语句知识延伸 一个问题的解决,可有自然语言表示的算法,也有流程图表示的,还有伪代码表示的,它们之间可以互相转化,它们本身也各有其特点自然语言表示的算法,亲切自然;流程图表示的直观易读明了简洁;伪代码表示的,则是介于自然语言与计算机语言之间,它是可被计算机所认识的语言Read xIf x0 then z0Else z2End ifPrint z本题的算法可以改进仅以伪代码为例说明如下:方法拓展 生活中处处存在数学问题,只要留心便会发现许多有趣的问题本例便是实际问题的一个抽象与浓缩本题是用条件语句写的伪代码这里用的是“块If语句”,块If语句可以嵌套在用块If语句时,then分支与Else分支,一般应缩进书写,这样看起来更加醒目且便于阅读一般地说,问题中出现几次条件判断,则在流程图中将会有几个判断框(菱形),同样的在伪代码中,也会有几重条件语句的嵌套思维诊断 在块If语句中,缺口“End if”不能缺省,否则将会出现无法执行的错误判断条件是x100还是x100,或x100还是x100,这里的“=”必须正确的使用思维发散 本题中的判断条件x100可以改为x100,你想想看,流程图与伪代码分别应作怎样的改动?本例的问题是一类代表题型,几乎所有的分段函数类的问题,都可以用该类似的算法来实施思维发散 我们也可采用如下的算法来进行计算I1While II1000II+1End whilenI-1S0For J from 1 to n SS+JJEnd forPrint SEnd(注:运行结果为S=10416)Read a,b,cIf ab then If ac thenPrint a ElsePrint c End ifElse If bc thenPrint b Else Print c End ifEnd ifEnd图5-3-3 体验探究 一、 探究发现算法的相通性Read a,b,cIf ab and ac then Print aElse If bc thenPrint b Else Print c End ifEnd ifEnd 图5-3-4(1)问题:有三个整数a,b,c,由键盘输入,要求最后输出其中最大的数试写出它的算法的相应的伪代码师:请同学们分析一下该问题的思考过程生1:本题实质上是求三个数的最大值,输出最大值的问题,必须判断谁最大,才能确定输出那一个值,因此要设计该问题的算法,必须通过选择结构来实现,相应的伪代码应用条件语句来书写伪代码如图5-3-3所示Read a,b,c,d,eIf ab,ac ,ad ,ae thenPrint aElseIf bc,bd,be then Print b Else If cd,ce then Print cElse If de then Print d Else Print e End ifEnd ifEnd ifEnd ifEnd图5-3-6(1) 师:以上的方法无疑是正确的但这里的算法可以改进为此,引入逻辑联结词“and”,它的意思为同时,于是上述伪代码可改进为如图5-3-4(1)所示师:该题的算法具有通用性与灵活性,稍微改动即可得到输出a、b、c中最小数的算法;也可以加进几个数,从更多的数中求出最大者或最小者请一位同学设计一个求三数中最小的数的算法生2:写出了如图5-3-5(1)的伪代码师:生2的答案是完全正确的Read a,b,cIf ab and ac then Print aElse If bc thenPrint b Else Print c End ifEnd ifEnd 图5-3-5(1)请那一位同学再来写出求五个数中的最大数的算法生3:写出了如图5-3-6(1)的伪代码师:生3的答案也是正确的事实上,在数学上,甚至在各行各业中,求几个数的最大数与最小数的问题是经常会遇到的例如,几个评委为某一位选手打分,规则往往是去掉
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 46096.2-2025船舶与海洋技术压载水管理系统第2部分:电解法压载水管理系统的风险评估与风险减小
- 养护安全培训主持词课件
- 化工企业青工安全培训课件
- 别董大课件-图文
- 养好小金鱼课件
- 初级辐射安全防护培训课件
- 初小衔接文言文课件
- 化工DCS仪表安全培训课件
- 初升高英语标课件
- 初六收心早会课件
- 粉尘涉爆安全培训考试题及答案
- 力量国际礼仪培训课件
- 危化品经营安全培训管理课件
- 交通安全应急处置预案公司
- 工商业分布式屋顶光伏项目投资分析
- 用户侧储能系统调度平台创新创业项目商业计划书
- 药厂生产管理培训课件
- 2021-2025年高考地理真题知识点分类汇编之地球的运动
- 2025海南国考时政试题及答案
- 2023-瑞幸咖啡vi手册
- 高中必修人教A版高中数学必修1指数函数一 完整版课件PPT
评论
0/150
提交评论