基本算法语句与算法案例_第1页
基本算法语句与算法案例_第2页
基本算法语句与算法案例_第3页
基本算法语句与算法案例_第4页
基本算法语句与算法案例_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、.第二节基本算法语句与算法案例.一、三种语句的一般格式和功能一、三种语句的一般格式和功能语句语句一般格式一般格式功能功能输入输入语句语句输出输出语句语句赋值赋值语句语句INPUT“提示内容提示内容”;变量;变量输入信息输入信息PRINT“提示内容提示内容”;表达式;表达式 输出结果输出结果变量表达式变量表达式将表达式的值将表达式的值赋给变量赋给变量.二、条件语句二、条件语句 1IFTHEN格式格式.2IF-THEN-ELSE格式格式.三、循环语句三、循环语句1UNTIL语句语句.2WHILE语句语句.四、算法案例四、算法案例 我国古代典型的算法案例有我国古代典型的算法案例有 、 、 辗转相除法

2、辗转相除法秦九韶算法秦九韶算法 进位制进位制.基本算法语句与算法结构的对应关系是什么?基本算法语句与算法结构的对应关系是什么?提示:提示:.1下列赋值语句正确的是下列赋值语句正确的是 () Aab5B5a Ca2b2 Daa1解析:解析:赋值语句的一般格式是变量表达式,赋值号赋值语句的一般格式是变量表达式,赋值号左右两边不能互换,赋值号左边只能是变量,而不能左右两边不能互换,赋值号左边只能是变量,而不能是表达式是表达式答案:答案:D.2读程序回答问题读程序回答问题甲甲 乙乙i i=1 000S=0DO S=S+i i=i-1LOOP UNTIL iPRINT SENDi=1S=0WHILEi=

3、1 000 S=S+i i=i+1WENDPRINT SEND1.对甲、乙两程序和输出结果判断正确的是对甲、乙两程序和输出结果判断正确的是 ()A程序不同,结果不同程序不同,结果不同 B程序不同,结果相同程序不同,结果相同C程序相同,结果不同程序相同,结果不同 D程序相同,结果相同程序相同,结果相同解析:解析:程序不同但结果相同都为程序不同但结果相同都为S121 000.答案:答案:B.3如果下边程序执行后输出的结果是如果下边程序执行后输出的结果是132,那么在程序,那么在程序 UNTIL后面的后面的“条件条件”应为应为 ()i12S1DO SS i ii1LOOP UNTIL“条件条件”PR

4、INT SEND*.Ai11 Bi11Ci11 Di11解析:解析:因为输出的结果是因为输出的结果是132,即,即S11211,需执,需执行行2次,则在程序次,则在程序UNTIL后面的后面的“条件条件”应为应为i11.答案:答案:D.4下面的程序:下面的程序:a33b39IFabTHEN ta ab bt aabPRINT“a”;aENDIFEND.该程序运行的结果为该程序运行的结果为_解析:解析:运行的结果为运行的结果为39336.答案:答案:6.5将二进制数将二进制数101 101(2)化为十进制数,结果为化为十进制数,结果为_再再 将该数化为八进制数,结果为将该数化为八进制数,结果为_解

5、析:解析:101 101(2)12502412312202112045(10)又又45855,5805,45(10)55(8)答案:答案:45(10)55(8).1输入、输出、赋值语句是任何一个算法中必不可少的语输入、输出、赋值语句是任何一个算法中必不可少的语 句一个语句可以输出多个表达式在赋值语句中,变句一个语句可以输出多个表达式在赋值语句中,变 量的值始终等于最近一次赋给它的值,先前的值将被替换量的值始终等于最近一次赋给它的值,先前的值将被替换2一个赋值语句只给一个变量赋值,但一个语句行可以写出一个赋值语句只给一个变量赋值,但一个语句行可以写出 多个赋值语句多个赋值语句3不能利用赋值语句进

6、行代数式的演算不能利用赋值语句进行代数式的演算(如化简、因式分解、如化简、因式分解、 解方程等解方程等)【注意注意】输入语句没有计算功能,而输出语句、赋值语输入语句没有计算功能,而输出语句、赋值语句有计算功能句有计算功能. 某工种按工时计算工资,每月总工资每月劳动某工种按工时计算工资,每月总工资每月劳动时间时间(小时小时)每小时工资,从总工资中扣除每小时工资,从总工资中扣除10%作公积金,作公积金,剩余的为应发工资,当输入劳动时间和每小时工资数,试剩余的为应发工资,当输入劳动时间和每小时工资数,试编写一程序输出应发工资编写一程序输出应发工资 .设出每小时工资,每月劳动时间,每月总工资,先求出每

7、设出每小时工资,每月劳动时间,每月总工资,先求出每月总工资,再求应发工资月总工资,再求应发工资.【解解】算法分析:第一步,输入月劳动时算法分析:第一步,输入月劳动时间间t和每小时工资和每小时工资a;第二步,求每月总工资第二步,求每月总工资y=每月劳动时间每月劳动时间t每每小时工资小时工资a;第三步,求应发工资第三步,求应发工资z=每月总工资每月总工资y(1-10%);第四步,输出应发工资第四步,输出应发工资z.程序框图如右图:程序框图如右图:.程序:程序:INPUT t,aya tz0.9 yPRINT zEND*.1结合右图指出下列程序的功能结合右图指出下列程序的功能INPUT“R”;RIN

8、PUT“a”;a S1a a S3.14 R R-S1PRINTSEND*.解:解:用来求一个半径为用来求一个半径为R的圆中除去内接边长为的圆中除去内接边长为a的正方形的正方形后图示阴影部分的面积只要输入后图示阴影部分的面积只要输入R,a的值,就可输出阴的值,就可输出阴影部分的面积影部分的面积S.1条件语句一般用在需要对条件进行判断的算法设计中,条件语句一般用在需要对条件进行判断的算法设计中, 求分段函数的函数值往往用条件语句编写程序求分段函数的函数值往往用条件语句编写程序2条件语句可以嵌套,即条件语句的条件语句可以嵌套,即条件语句的THEN或或ELSE后面后面 还可以跟条件语句,其一般形式是

9、:还可以跟条件语句,其一般形式是:.对应的程序框图为:对应的程序框图为:. 如右图,在边长为如右图,在边长为4的正方形的正方形ABCD的边上有一点的边上有一点P,沿着折线沿着折线BCDA由点由点B(起点起点)向点向点A(终点终点)运动设点运动设点P运动的运动的路程为路程为x,APB的面积为的面积为y,求,求y与与x之间的函数关系式并画之间的函数关系式并画出程序框图,写出程序出程序框图,写出程序 .根据题意可知,根据题意可知,y是是x的分段函数,因此,根据的分段函数,因此,根据x的的变化,写出分段函数的解析式,再利用解析式画变化,写出分段函数的解析式,再利用解析式画程序框图,写程序程序框图,写程

10、序.【解解】由题意可得由题意可得程序框图如下图:程序框图如下图:. 程序:程序:INPUT“x”;xIF x0 AND x4 THENy2 xELSEIF x8 THEN y8ELSEIF x12THEN y2 (12-x)ELSEEND END IF END IFEND IF PRINT yEND*.2编写程序,输入两个实数,由小到大输出这两个数编写程序,输入两个实数,由小到大输出这两个数解:解:程序框图:程序:程序框图:程序: INPUT“a”;a INPUT“b”;b IFabTHEN ta ab bt PRINTa,b ELSE PRINTa,b END IF END. 1UNTIL语

11、句适用于预先知道循环次数的循环结构,而语句适用于预先知道循环次数的循环结构,而 WHILE循环结构首先要对表达式进行判断,这是这两种循环结构首先要对表达式进行判断,这是这两种 语句的区别语句的区别2UNTIL语句是先执行循环体再判断条件,语句是先执行循环体再判断条件,WHILE语句是语句是 先判断条件再执行循环体先判断条件再执行循环体.3理解理解UNTIL循环的关键是理解计算机如何执行程序语句循环的关键是理解计算机如何执行程序语句 中第三步中第三步“SSi”,这个执行过程实际上是每次循环所,这个执行过程实际上是每次循环所 赋给赋给S的值都比上一步增加一个的值都比上一步增加一个“步长步长”,如此

12、循环直至结,如此循环直至结 束而束而WHILE循环则是在每次执行循环体之前,都要判循环则是在每次执行循环体之前,都要判 断表达式是否为真这样重复执行,一直到表达式为假断表达式是否为真这样重复执行,一直到表达式为假 时,就跳过循环体部分,结束循环时,就跳过循环体部分,结束循环4循环语句主要用来处理算法中的循环结构,在处理一些循环语句主要用来处理算法中的循环结构,在处理一些 有规律地重复计算问题,如累加求和、累乘求积及其他有规律地重复计算问题,如累加求和、累乘求积及其他 问题时常常用到循环语句编写程序问题时常常用到循环语句编写程序. 编写一个程序计算编写一个程序计算求和型的程序语句要注意选择循环语

13、句类型求和型的程序语句要注意选择循环语句类型.【解解】用用i表示循环次数,用表示循环次数,用sum表示总和,步骤如下表示总和,步骤如下第一步:输入第一步:输入i、sum,i的初始值为的初始值为1,sum的初始值为的初始值为0;第二步:第二步:i从从1开始递增到开始递增到1 000,sumsum1/i;第三步:循环结束后,输出第三步:循环结束后,输出sum.程序框图如图所示:程序框图如图所示:. 程序:程序:i1sum0WHILE i1 000 sumsum1/i ii1WENDPRINT sumEND.3将下列程序用将下列程序用DOLOOP UNTIL循环语句重新编写出来,循环语句重新编写出来

14、, 并说明是解决的什么数学问题并说明是解决的什么数学问题 INPUTn s=0 i=0 WHILEi=n s=s+i/(i+2) i=i+1WENDPRINT sEND.解:解:用用DOLOOP UNTIL循环语句编写的程序为循环语句编写的程序为功能是:求功能是:求INPUTn s=0 i=0 DO s=s+i/(i+2) i=i+1 LOOP UNTIL in PRINT s END. 由于高考对本节内容要求较低,目前课改省区高由于高考对本节内容要求较低,目前课改省区高考中没有出现有关本节内容的高考题,但各地的模拟考中没有出现有关本节内容的高考题,但各地的模拟题中偶有考查题中偶有考查.(2010烟台模拟烟台模拟)下图是把二进制的数下图是把二进制的数11111(2)化成十进制数化成十进制数的一个程序框图,则判断框内应填入的条件是的一个程序框图,则判断框内应填入的条件是 ()Ai4?Bi5?Ci4? Di5?.解析解析11111(2)1201211221231242(2(2(211)1)1)1.或用秦九韶算法:或用

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论