基本算法语句
基本算法语句(优质课)教案
基本算法语句(优质课)教案教学目标:1.理解学习基本算法语句的意义.2.学会输入语句、输出语句和赋值语句,条件语句和循环语句的基本用法.3.理解算法步骤、程序框图和算法语句的关系,学会算法语句的写法.教学过程:1. 赋值、输入和输出语句(1)赋值语句:在表述一个算法时,经常要引入变量,并赋给该变量一个值。
用来表明赋给某一个变量一个具体的确定值的语句叫做赋值语句。
在算法语句中,赋值语句是最基本的语句。
赋值语句的一般格式为:变量名=表达式。
赋值语句中的“=”号,称作赋值号,赋值语句的作用是先计算出赋值号右边表达式的值,然后把该值赋给赋值号左边的变量,使该变量的值等于表达式的值。
说明:①赋值语句左边只能是变量名字,而不是表达式,右边表达式可以是一个数据、常量或表达式;②赋值语句中的赋值号“=”的左右两边不能对换,它将赋值号右边的表达式的值赋给赋值号左边的变量;③不能利用赋值语句进行代数式(或符号)的演算(如化简、因式分解等)。
在赋值语句中的赋值号右边的表达式中的每一个“变量”都必须事先赋给确定的值。
在一个赋值语句中只能给一个变量赋值,不能出现两个或多个“=”;④赋值号与数学中的等号的意义不同。
赋值号左边的变量如果原来没有值,则在执行赋值语句后,获得一个值。
如果原已有值,则执行该语句后,以赋值号右边表达式的值代替该变量的原值,即将原值“冲掉”;⑤对于一个变量可以多次赋值。
(2)输入语句在某些算法中,变量的初值要根据情况经常地改变。
一般我们把程序和初始数据分开,每次算题时,即使初始数据改变,也不必改变程序部分,只要每次程序运行时,输入相应的数据即可。
这个过程在程序语言中,用“输入语句”来控制。
不同的程序语言都有自己的输入指令和方法。
在Scilab2.7中的输入语句之一是“input”。
“input”在计算机程序中,通常称为键盘输入语句。
“input”不仅可以输入数值,也可以输入单个或多个字符,如X=input(“What is your name?”.“string”)输入你的名字。
计算机的基本算法语句类型和讲解
计算机从上而下按照语
句排列的顺序执行这些语句.
语句n
输入语句和输出语句分 别用来实现算法的输入信息, 输出结果的功能.
语句n+1
例1.用描点法作函数 yx33x2 的24 图x 象3时0,
需要求出自变量和函数的一组对应值,编写程序, 分别计算当x=-5,-4,-3,-2,-1,0,1,2,3,4,5时的函数值。
注意: INPUT语句不但可以给单个变量赋值,还可以
给多个变量赋值,其格式为:
INPUT “提示内容1,提示内容2,提示内容3,…”;变量1,变量2,变量 3,…
例如,输入一个学生数学,语文,英语三门课的成绩, 可以写成:
INPUT “数学,语文,英语”;a,b,c
二.输出语句 输出语句的一般格式
框图: 开始
输入x
yx33x224x30
程序: INPUT “x=”;x y=x^3+*3 x^2-2*4 x+30 PRINT x PRINT y END
输出x,y 结束
程序:
INPUT “x=”;x -----------------输入语句
y=x^3+3*x^2-24*x+30 ---------赋值语句
PRINT “S=”; S
三.赋值语句 (1)赋值语句的一般格式: 变量=表达式
(2)赋值语句的作用是:先计算出赋值号右边表达 式的值,然后把这个值赋给左边的变量,使该变量的 值等于表达式的值。 (3)赋值语句中的“=”称作赋值号,与数学中的等 号的意义是不同的.赋值号的左右两边不能对换. (4)赋值语句左边只能是变量名字而不是表达式, 如:2=x是错误的
〖例4〗交换两个变量A和B的值,并输出交换前后 的值。
基本算法语句(输入输出赋值)
算 法
程 序 框 图
程 序 设 计 语 言
文字语言
图形语言
程序设计语言的基本算法语句有哪些?
输入语句、输出语句、赋值语句 条件语句、循环语句
例1、任意给定一个正实数,设计一个程序, 求以这个数为半径的圆的面积. 第一步:输入一个正实数r; 第二步:计算S=π r2; 第三步:输出圆的面积S. 输入语句
其中 p
abc 2 开始
,
设计一个求三角形面积的程序。
程序: 程序框图:
输入a,b,c 计算p
计算S 输出,b,c p=(a+b+c)/2 S=SQR(p*(p-a)*(p-b)*(p-c)) PRINT “三角形面积S=”;S END
例4、设计程序交换两个变量A和B的值,并 输出交换前后的值。
程序:
INPUT INPUT PRINT X=A A=B B=X PRINT END “A”;A “B”;B A,B
A,B
小结
作业 P24 练习题 T2 T4
基本算法语句
输入、输出、赋值语句
瑞四中 林光明
回顾
1. 什么是算法?什么是程序框图? 算法通常指按照一定的规则解决的某一类 问题的明确和有限的步骤。 程序框图是一种用程序框、流程线及文字 说明来准确、直观的表示算法的图形。
2. 算法的基本逻辑结构有哪些? 算法的基本结构有三种:顺序结构、条件 结构、循环结构(循环结构又分为当型和直 到型)。
程序框图:
开始
输入数学a
输入语文b 输入英语c 总分s=a+b+c 平均分p=s/3
程序: INPUT “Maths=”;a INPUT “Chinese=”;b INPUT “Enghlish=”;c s=a+b+c p=s/3 PRINT “zongfen=”;s PRINT “The average=”;p END
知识讲解_高考总复习:算法与程序框图
高考总复习:算法与程序框图【考纲要求】1.算法的含义、程序框图(1)了解算法的含义,了解算法的思想;(2)理解程序框图的三种基本逻辑结构:顺序、条件、循环。
2.基本算法语句理解几种基本算法语句——输入语句、输出语句、赋值语句、条件语句、循环语句的含义。
【知识网络】【考点梳理】考点一、算法1.算法的概念(1)古代定义:指的是用阿拉伯数字进行算术运算的过程。
(2)现代定义:算法通常是指按照一定规则解决某一类问题的明确和有限的步骤。
(3)应用:算法通常可以编成计算机程序,让计算机执行并解决问题。
2.算法的特征:①指向性:能解决某一个或某一类问题;②精确性:每一步操作的内容和顺序必须是明确的;算法的每一步都应当做到准确无误,从开始的“第一步”直到“最后一步”之间做到环环相扣,分工明确.“前一步”是“后一步”的前提,“后一步”是“前一步”的继续.③有限性:必须在有限步内结束并返回一个结果;算法要有明确的开始和结束,当到达终止步骤时所要解决的问题必须有明确的结果,也就是说必须在有限步内完成任务,不能无限制的持续进行.④构造性:一个问题可以构造多个算法,算法有优劣之分。
3.算法的表示方法:(1) 用自然语言表示算法: 优点是使用日常用语, 通俗易懂;缺点是文字冗长, 容易出现歧义;(2) 用程序框图表示算法:用图框表示各种操作,优点是直观形象, 易于理解。
要点诠释:泛泛地谈算法是没有意义的,算法一定以问题为载体。
考点二:程序框图1. 程序框图的概念:程序框图又称流程图,是最常用的一种表示法,它是描述计算机一步一步完成任务的图表,直观地描述程序执行的控制流程,最便于初学者掌握。
2.程序框图常用符号:连接点用于连接另一页或另一部分的框图注释框框中内容是对某部分流程图做的解释说明3.画程序框图的规则:(1)使用标准的框图的符号;(2)框图一般按从上到下、从左到右的方向画;(3)除判断框图外,大多数框图符号只有一个进入点和一个退出点。
1[1].2.3基本算法语句_循环语句
——循环语句
循环结构有两种-----当型与直到型. 直到型循环结构 当型循环结构
循环体 循环体
满足条件? 否
是
满足条件?
否
是
即WHILE语句和UNTIL语句。
(1)WHILE语句的一般格式是: WHILE 条件 循环体 WEND WHILE——当…… 时候
WEND——朝……方向 行走
循环体
条件
满足条件?
否
是
(2)UNTIL语句的一般格式是:
直到型循环结构 DO 循环体 LOOP UNTIL
循环体
条件
满足条件?
否
是
WHILE语句的一般格式 WHILE 条件 循环体 WEND
UNTIL语句的一般格式
DO 循环体 LOOP UNTIL
条件
区别:在WHILE语句中,是当条件满足时执行循环 体,而在UNTIL语句中,是当条件不满足时执行循环 体。
结束
结构
变式训练(2): 编写程序求:1×3×5×7×……×101的值. 直到型 开始 如何修改? UNITL语句
i=1 S=0 S=1 S=S+i S=S*i
i=i+2 i=i+1
i>100? i>101? 否
是
输出S 结束
i=1 S=0 S=1 DO S=S+i S=S*i i=i+1 i=i+2 LOOP UNTIL i>100 101 PRINT S END
是
S=S+i
结束
直到型
开始
UNTIL语句 i=1 S=0 DO S=S+i i=i+1 LOOP UNTIL i>100 PRINT S END
基本算法语句
说明: (1)“提示内容”提示用户输出什么样的信息,表 达式是指程序要输出的数据;
(2)输出语句的用途: ①输出常量,变量的值和字符串等系统信息。 ②输出数值计算的结果。
(3)同输入语句一样,表达式前也可以有“提示内
容”. 如的输出框 句:
输出S 可以转化为输出语
PRINT “S=”; S
(1)WHILE语句的一般格式是 WHILE 条件
当计算机遇到WHILE语句时,
循环体
先判断条件的真假,如果条件 WEND
符合,就执行WHILE与WEND之间
的循环体;然后再检查上述条 当型循环结构 件,如果条件仍符合,再次执行
循环体,这个过程反复进行,直
到某一次条件不符合为止.这
循环体
时,计算机将不执行循环体,直 接跳到WEND语句后,接着执行 WEND之后的语句.
PRINT “Yes.” ELSE
PRINT “No.” END IF END
算法中的循环结构是由循环语句来实现的 .
循环结构有两种-----当型与直到型. 当型循环结构(当条件满 直到型循环结构(反复执 足时反复执行循环体) 行循环体直到条件满足)
循环体
循环体
满足条件? 是
否
否
满足条件?
是
对应于程序框图中的两种循环结构,一般 程序设计语言中也有当型(WHILE型)和直到型 (UNTIL型)两种语句结构。
三.赋值语句 (1)赋值语句的一般格式: 变量=表达式
(2)赋值语句的作用是:先计算出赋值号右边表达 式的值,然后把这个值赋给左边的变量,使该变量的 值等于表达式的值。 (3)赋值语句中的“=”称作赋值号,与数学中的等 号的意义是不同的.赋值号的左右两边不能对换. (4)赋值语句左边只能是变量名字而不是表达式, 如:2=x是错误的;右边表达式可以是一个数据、 常量或算式;不能利用赋值语句进行代数式的 演算。(如化简、因式分解、解方程等) (5)对于一个变量可以多次赋值。
高二数学教学教案人教版上册必修《基本算法语句》
高二数学教学教案人教版上册必修《基本算法语句》种子牢记着雨滴献身的叮嘱,增强了冒尖的勇气。
下面是XX小编为您推荐高二数学教学教案人教版上册必修《基本算法语句》。
一、本章教材分析算法是数学及其应用的重要组成部分,是计算科学的重要基础.算法的应用是学习数学的一个重要方面.学生学习算法的应用,目的就是利用已有的数学知识分析问题和解决问题.通过算法的学习,对完善数学的思想,激发应用数学的意识,培养分析问题、解决问题的能力,增强进行实践的能力等,都有很大的帮助.本章主要内容:算法与程序框图、基本算法语句、算法案例和小结.教材从学生最熟悉的算法入手,通过研究程序框图与算法案例,使算法得到充分的应用,同时也展现了古老算法和现代计算机技术的密切关系.算法案例不仅展示了数学方法的严谨性、科学性,也为计算机的应用提供了广阔的空间.让学生进一步受到数学思想方法的熏陶,激发学生的学习热情.在算法初步这一章中让学生近距离接近社会生活,从生活中学习数学,使数学在社会生活中得到应用和提高,让学生体会到数学是有用的,从而培养学生的学习兴趣. 数学建模也是高考考查重点.本章还是数学思想方法的载体,学生在学习中会经常用到算法思想转化思想,从而提高自己数学能力.因此应从三个方面把握本章:(1)知识间的联系;(2)数学思想方法;(3)认知规律.本章教学时间约需12课时,具体分配如下(仅供参考): 1.1.1 算法的概念约1课时1.1.2 程序框图与算法的基本逻辑结构约4课时1.2.1 输入语句、输出语句和赋值语句约1课时1.2.2 条件语句约1课时1.2.3 循环语句约1课时1.3算法案例约3课时本章复习约1课时1.1 算法与程序框图1.1.1 算法的概念整体设计二、教学分析算法在中学数学课程中是一个新的概念,但没有一个精确化的定义,教科书只对它作了如下描述:在数学中,算法通常是指按照一定规则解决某一类问题的明确有限的步骤. 为了让学生更好理解这一概念,教科书先从分析一个具体的二元一次方程组的求解过程出发,归纳出了二元一次方程组的求解步骤,这些步骤就构成了解二元一次方程组的算法.教学中,应从学生非常熟悉的例子引出算法,再通过例题加以巩固.三维目标1.正确理解算法的概念,掌握算法的基本特点.2.通过例题教学,使学生体会设计算法的基本思路.3.通过有趣的实例使学生了解算法这一概念的同时,激发学生学习数学的兴趣.重点难点教学重点:算法的含义及应用.教学难点:写出解决一类问题的算法.课时安排1课时三、教学过程导入新课思路1(情境导入)一个人带着三只狼和三只羚羊过河,只有一条船,同船可容纳一个人和两只动物,没有人在的时候,如果狼的数量不少于羚羊的数量狼就会吃羚羊.该人如何将动物转移过河?请同学们写出解决问题的步骤,解决这一问题将要用到我们今天学习的内容算法.思路2(情境导入)大家都看过赵本山与宋丹丹演的小品吧,宋丹丹说了一个笑话,把大象装进冰箱总共分几步?答案:分三步,第一步:把冰箱门打开;第二步:把大象装进去;第三步:把冰箱门关上.上述步骤构成了把大象装进冰箱的算法,今天我们开始学习算法的概念.思路3(直接导入)算法不仅是数学及其应用的重要组成部分,也是计算机科学的重要基础.在现代社会里,计算机已成为人们日常生活和工作中不可缺少的工具.听音乐、看电影、玩游戏、打字、画卡通画、处理数据,计算机是怎样工作的呢?要想弄清楚这个问题,算法的学习是一个开始.推进新课新知探究提出问题(1)解二元一次方程组有几种方法?(2)结合教材实例总结用加减消元法解二元一次方程组的步骤. (3)结合教材实例总结用代入消元法解二元一次方程组的步骤. (4)请写出解一般二元一次方程组的步骤.(5)根据上述实例谈谈你对算法的理解.(6)请同学们总结算法的特征.(7)请思考我们学习算法的意义.讨论结果:(1)代入消元法和加减消元法.(2)回顾二元一次方程组的求解过程,我们可以归纳出以下步骤:第一步,①+② 2,得5x=1.③第二步,解③,得x= .第三步,②-① 2,得5y=3.④第四步,解④,得y= .第五步,得到方程组的解为(3)用代入消元法解二元一次方程组我们可以归纳出以下步骤:第一步,由①得x=2y-1.③第二步,把③代入②,得2(2y-1)+y=1.④ 第三步,解④得y= .⑤第四步,把⑤代入③,得x=2 -1= .第五步,得到方程组的解为(4)对于一般的二元一次方程组其中a1b2-a2b1 0,可以写出类似的求解步骤:第一步,① b2-② b1,得(a1b2-a2b1)x=b2c1-b1c2.③第二步,解③,得x= .第三步,② a1-① a2,得(a1b2-a2b1)y=a1c2-a2c1.④第四步,解④,得y= .第五步,得到方程组的解为(5)算法的定义:广义的算法是指完成某项工作的方法和步骤,那么我们可以说洗衣机的使用说明书是操作洗衣机的算法,菜谱是做菜的算法等等.在数学中,算法通常是指按照一定规则解决某一类问题的明确有限的步骤.现在,算法通常可以编成计算机程序,让计算机执行并解决问题.(6)算法的特征:①确定性:算法的每一步都应当做到准确无误、不重不漏. 不重是指不是可有可无的,甚至无用的步骤,不漏是指缺少哪一步都无法完成任务.②逻辑性:算法从开始的第一步直到最后一步之间做到环环相扣,分工明确,前一步是后一步的前提,后一步是前一步的继续.③有穷性:算法要有明确的开始和结束,当到达终止步骤时所要解决的问题必须有明确的结果,也就是说必须在有限步内完成任务,不能无限制地持续进行.(7)在解决某些问题时,需要设计出一系列可操作或可计算的步骤来解决问题,这些步骤称为解决这些问题的算法.也就是说,算法实际上就是解决问题的一种程序性方法.算法一般是机械的,有时需进行大量重复的计算,它的优点是一种通法,只要按部就班地去做,总能得到结果.因此算法是计算科学的重要基础.应用示例思路1例1 (1)设计一个算法,判断7是否为质数.(2)设计一个算法,判断35是否为质数.算法分析:(1)根据质数的定义,可以这样判断:依次用2 6除7,如果它们中有一个能整除7,则7不是质数,否则7是质数.算法如下:(1)第一步,用2除7,得到余数1.因为余数不为0,所以2不能整除7.第二步,用3除 7,得到余数1.因为余数不为0,所以3不能整除7.第三步,用4除7,得到余数3.因为余数不为0,所以4不能整除7.第四步,用5除7,得到余数2.因为余数不为0,所以5不能整除7.第五步,用6除7,得到余数1.因为余数不为0,所以6不能整除7.因此,7是质数.(2)类似地,可写出判断35是否为质数的算法:第一步,用2除35,得到余数1.因为余数不为0,所以2不能整除35.第二步,用3除35,得到余数2.因为余数不为0,所以3不能整除35.第三步,用4除35,得到余数3.因为余数不为0,所以4不能整除35.第四步,用5除35,得到余数0.因为余数为0,所以5能整除35.因此,35不是质数.点评:上述算法有很大的局限性,用上述算法判断35是否为质数还可以,如果判断1997是否为质数就麻烦了,因此,我们需要寻找普适性的算法步骤.变式训练请写出判断n(n 2)是否为质数的算法.分析:对于任意的整数n( n 2),若用i表示2 (n-1)中的任意整数,则判断n是否为质数的算法包含下面的重复操作:用i除n,得到余数r.判断余数r是否为0,若是,则不是质数;否则,将i的值增加1,再执行同样的操作.这个操作一直要进行到i的值等于(n-1)为止.算法如下:第一步,给定大于2的整数n.第二步,令i=2.第三步,用i除n,得到余数r.第四步,判断 r=0 是否成立.若是,则n不是质数,结束算法;否则,将i 的值增加1,仍用i表示.第五步,判断 i (n-1)是否成立.若是,则n是质数,结束算法;否则,返回第三步.例2 写出用二分法求方程x2-2=0 (x 0)的近似解的算法.分析:令f(x)=x2-2,则方程x2-2=0 (x 0)的解就是函数f(x)的零点.二分法的基本思想是:把函数f(x)的零点所在的区间[a,b](满足f (a) f(b) 0)一分为二,得到[a,m]和[m,b].根据 f(a) f(m) 0 是否成立,取出零点所在的区间[a,m]或[m,b],仍记为[a,b].对所得的区间[a,b]重复上述步骤,直到包含零点的区间[a,b] 足够小,则[a,b]内的数可以作为方程的近似解.[来源:学科网Z X X K]解:第一步,令f(x)=x2-2,给定精确度d.第二步,确定区间[a,b],满足f(a) f(b) 0.第三步,取区间中点m= .第四步,若f(a) f(m) 0,则含零点的区间为[a,m];否则,含零点的区间为[m,b].将新得到的含零点的区间仍记为[a,b].第五步,判断[a,b]的长度是否小于d或f(m)是否等于0.若是,则m是方程的近似解;否则,返回第三步.当d=0.005时,按照以上算法,可以得到下表.a b |a-b|1 2 11 1.5 0.51.25 1.5 0.251.375 1.5 0.1251.375 1.437 5 0.062 51.406 25 1.437 5 0.031 251.406 25 1.421 875 0.015 6251.414 062 5 1.421 875 0.007 812 51.414 062 5 1.417 968 75 0.003 906 25于是,开区间(1.414 062 5,1.417 968 75)中的实数都是当精确度为0.005时的原方程的近似解.实际上,上述步骤也是求的近似值的一个算法.点评:算法一般是机械的,有时需要进行大量的重复计算,只要按部就班地去做,总能算出结果,通常把算法过程称为数学机械化 .数学机械化的最大优点是它可以借助计算机来完成,实际上处理任何问题都需要算法.如:中国象棋有中国象棋的棋谱、走法、胜负的评判准则;而国际象棋有国际象棋的棋谱、走法、胜负的评判准则;再比如申请出国有一系列的先后手续,购买物品也有相关的手续思路2例1 一个人带着三只狼和三只羚羊过河,只有一条船,同船可容纳一个人和两只动物,没有人在的时候,如果狼的数量不少于羚羊的数量就会吃羚羊.该人如何将动物转移过河?请设计算法.分析:任何动物同船不用考虑动物的争斗但需考虑承载的数量,还应考虑到两岸的动物都得保证狼的数量要小于羚羊的数量,故在算法的构造过程中尽可能保证船里面有狼,这样才能使得两岸的羚羊数量占到优势.解:具体算法如下:算法步骤:第一步:人带两只狼过河,并自己返回.第二步:人带一只狼过河,自己返回.第三步:人带两只羚羊过河,并带两只狼返回.第四步:人带一只羊过河,自己返回.第五步:人带两只狼过河.点评:算法是解决某一类问题的精确描述,有些问题使用形式化、程序化的刻画是最恰当的.这就要求我们在写算法时应精练、简练、清晰地表达,要善于分析任何可能出现的情况,体现思维的严密性和完整性.本题型解决问题的算法中某些步骤重复进行多次才能解决,在现实生活中,很多较复杂的情境经常遇到这样的问题,设计算法的时候,如果能够合适地利用某些步骤的重复,不但可以使得问题变得简单,而且可以提高工作效率.例2 喝一杯茶需要这样几个步骤:洗刷水壶、烧水、洗刷茶具、沏茶.问:如何安排这几个步骤?并给出两种算法,再加以比较.分析:本例主要为加深对算法概念的理解,可结合生活常识对问题进行分析,然后解决问题.解:算法一:第一步,洗刷水壶.第二步,烧水.第三步,洗刷茶具.第四步,沏茶.算法二:第一步,洗刷水壶.第二步,烧水,烧水的过程当中洗刷茶具.第三步,沏茶.点评:解决一个问题可有多个算法,可以选择其中最优的、最简单的、步骤尽量少的算法.上面的两种算法都符合题意,但是算法二运用了统筹方法的原理,因此这个算法要比算法一更科学.例3 写出通过尺轨作图确定线段AB一个5等分点的算法.分析:我们借助于平行线定理,把位置的比例关系变成已知的比例关系,只要按照规则一步一步去做就能完成任务.解:算法分析:第一步,从已知线段的左端点A出发,任意作一条与AB不平行的射线AP.第二步,在射线上任取一个不同于端点A的点C,得到线段AC.第三步,在射线上沿AC的方向截取线段CE=AC.第四步,在射线上沿AC的方向截取线段EF=AC.第五步,在射线上沿AC的方向截取线段FG=AC.第六步,在射线上沿AC的方向截取线段GD=AC,那么线段AD=5AC.第七步,连结DB.第八步,过C作BD的平行线,交线段AB于M,这样点M就是线段AB的一个5等分点.点评:用算法解决几何问题能很好地训练学生的思维能力,并能帮助我们得到解决几何问题的一般方法,可谓一举多得,应多加训练.知能训练设计算法判断一元二次方程ax2+bx+c=0是否有实数根.解:算法步骤如下:第一步,输入一元二次方程的系数:a,b,c.第二步,计算 =b2-4ac的值.第三步,判断 0是否成立.若 0成立,输出方程有实根;否则输出方程无实根,结束算法.点评:用算法解决问题的特点是:具有很好的程序性,是一种通法.并且具有确定性、逻辑性、有穷性.让我们结合例题仔细体会算法的特点.拓展提升中国网通规定:拨打市内电话时,如果不超过3分钟,则收取话费0.22元;如果通话时间超过3分钟,则超出部分按每分钟0.1元收取通话费,不足一分钟按一分钟计算.设通话时间为t(分钟),通话费用y(元),如何设计一个程序,计算通话的费用.解:算法分析:数学模型实际上为:y关于t的分段函数.关系式如下:y=其中[t-3]表示取不大于t-3的整数部分.算法步骤如下:第一步,输入通话时间t.第二步,如果t 3,那么y=0.22;否则判断t Z 是否成立,若成立执行 y=0.2+0.1 (t-3);否则执行y=0.2+0.1 ([t-3]+1).第三步,输出通话费用c.课堂小结(1)正确理解算法这一概念.(2)结合例题掌握算法的特点,能够写出常见问题的算法.作业课本本节练习1、2.设计感想本节的引入精彩独特,让学生在感兴趣的故事里进入本节的学习.算法是本章的重点也是本章的基础,是一个较难理解的概念.为了让学生正确理解这一概念,本节设置了大量学生熟悉的事例,让学生仔细体会反复训练.本节的事例有古老的经典算法,有几何算法等,因此这是一节很好的课例.。
基本算法语句-条件语句
1条件语句知识与技能1.正确理解条件语句的概念,并掌握其结构的区别与联系. 2.会应用条件语句编写程序. 过程与方法经历对现实生活情境的探究,认识到应用计算机解决数学问题方便简捷,促进发展学生逻辑思维能力. 情感态度与价值观了解条件语句在程序中起判断转折作用,在解决实际问题中起决定作用.深刻体会到循环语句在解决大量重复问题中起重要作用.减少大量繁琐的计算.通过本小节内容的学习,有益于我们养成严谨的数学思维以及正确处理问题的能力. 重点与难点重点:条件语句的步骤、结构及功能. 难点:会编写程序中的条件语句.A.实例引入B.条件语句1. IF-THEN-ELSE 语句 (1(2)句型:IF 条件 THEN 语句体1 ELSE 语句体2 END IF2(3)含义:2.IF-THEN 语句: (1(2)句型:(3)含义:C.应用举例例1 编写程序,求实数x的绝对值分析:,0,||,0.x x x x x ≥⎧=⎨-<⎩算法步骤:第一步,输入一个实数x .第二步,若0x ≥成立,则输出x ;否则,输出x -程序框图:如图. 程序:如图.例2 编写程序,输入一元二次方程20ax bx c ++=的系数,输出它的实数根.如果(IF ) 条件符合 那么(THEN )执行语句体否则执行END IF 之后的语句如果(IF ) 条件符合 那么(THEN )执行语句体1否则(ELSE )执行语句体2否则执行END IF 之后的语句IF 条件 THEN语句体END IFINPUT xIF x>=0 THEN PRINT x ELSE PRINT -xEND IF END3分析:先把解决问题的思路用程序框图表示出来,然后再根据程序框图给出的算法步骤,逐步把算法用对应的程序语句表达出来.算法步骤:第一步,输入3个系数,,a b c . 第二步,计算24b ac ∆=-.第三步,判断0∆≥是否成立.若是,则计算2bp a=-,q ;否则,输出“方程没有实数根”,结束算法.第四步,判断0∆=是否成立.若是,则输出12x x p ==; 否则,计算1x p q =+,2x p q =-,并输出12,x x .例3 编写程序,使得任意输入的3个整数按从大到小的顺序输出.算法分析:用a ,b ,c 表示输入的3个整数;为了节约变量,把它们重新排 列后,仍用a ,b ,c 表示,并使a ≥b ≥c.具体操作步骤如下:第一步:输入3个整数a ,b ,c. 第二步:将a 与b 比较,并把小者赋给b ,大者赋给a. 第三步:将a 与c 比较. 并把小者赋给c ,大者赋给a , 此时a 已是三者中最大的.第四步:将b 与c 比较,并把小者赋给c ,大者赋给b ,此时a ,b ,c 已按从大到小的顺序排列好. 第五步:按顺序输出a ,b ,c. 程序4练习 铁路部门托运行李的收费方法如下:y 是收费额(单位:元),x 是行李重量(单位:kg ),当020x <≤时,按0.35元/kg 收费,当20kg x >时,20kg 的部分按0.35元/kg ,超出20kg 的部分,则按0.65元/kg 收费,请根据上述收费方法编写程序.分析:首先由题意得:0.35,020,0.35200.65(20),20.x x y x x <≤⎧=⎨⨯+->⎩该函数是个分段函数.需要对行李重量作出判断,因此,这个过程可以用算法中的条件结构来实现.程序: INPUT “请输入旅客行李的重量(kg )x=”;x IF x>0 AND x<=20 THEN y=0.35*x ELSEy=0.35*20+0.65*(x-20) END IFPRINT “该旅客行李托运费为:”;y END。
基本算法语句
2.两种条件语句的执行过程 计算机在执行条件语句时,首先对 If 后的条件进行判断, 如果条件符合,就执行 Then 后的语句 1,若条件不符合, 对于 If—Then—Else 语句就执行 Else 后的语句 2,然后 结束这一条件语句.对于 If—Then 语句,则直接结束该 条件语句.
3.两种循环语句的区别 在当型语句中,是当条件满足时执行循环体,而在直到型 语句中是当条件不满足时执行循环体,二者是有区别的, 在解决问题时用两种循环语句编写应注意条件的不同.
则输出的结果是________.
伪代码所示的算法是一个求和运算:
1×1 3+3×1 5+5×1 7+…+99×1101 =[1-13+13-15+15-17+…+919-1101]×12 =1-1011×12=15001.
答案
50 101
对应的流程图为
要点梳理
说明:上面“For”和“End For”之间缩进的步骤称为循环体, 如果省略“Step 步长”,那么重复循环时,I 每次增加 1. (2)不论循环次数是否确定都可以用下面循环语句来实现循环结 构当型和直到型两种语句结构.
当型语句的一般格式是
,
对应的流程图为
要点梳理
直到型语句的一般格式是
输入、输出和赋值语句
例 1 要求输入两个正数 a 和 b 的值,输出 ab 与 ba 的值,画 出流程图,写出伪代码.
解 流程图:
伪代码如下
变式训练 1
编写伪代码,求用长度为 l 的细铁丝分别围成一个正方形和 一个圆时的面积.要求输入 l 的值,输出正方形和圆的面积.(π 取 3.14)
解 伪代码如下:
要点梳理
3.算法的选择结构由 条件语句来表达,条件语句有两种,一
基本算法语句(输入输出、条件)
If A Then B End If
A N
Y B
回顾反思
条件语句的一般格式:
If A Then B Else C End If
A Y B
N
C
回顾反思
条件语句一般用在需要对条件进行判断的 算法设计中,如判断一个数的正负,确定 两个数的大小等问题,还有求分段函数的 函数值等,往往要用条件语句,有时甚至 要用到条件语句的嵌套
算法步骤: S1 测量儿童身高h; S2 如果 h 1.1,那么免费乘车;
否则,如果 h 1.4 ,那么购买半票乘车;
否则,购买全票乘车.
流程图
开始 输入h
Y
输出 “免费乘车”
h
输出“半票乘车”
输出“全票乘车”
结束
伪代码 Read h
条件语句“If Then Else”
b b x1 , x2 2a 2a
Print x1
if
, x2
End
运行程序: Read A,B If A>B Then C←A/2 Else C←B/2 End If Print C 在两次运行中分别输入8,4和2,4,则 两次运行程序的输出结果分别为
例2.儿童乘坐火车时,若身高不超过1.1m, 则无需购票;若身高超过1.1m但不超过 1.4m,可买半票;若超过1.4m,应买全票.试 设计一个购票的算法,画出流程图,并写 出伪代码
If h 1.1 Then Print “免费乘车” Else If h 1.4 Then Print “半票乘车” Else
可以嵌套
若乘车的旅 客以成人为
主,如何设
计算法可以 更有效率?
Print “全票乘车” End If
基本算法语句——赋值、输入、输出语句
§1.6 基本算法语句——赋值、输入、输出语句 教学目标(1)正确理解赋值语句、输入语句、输出语句的结构;(2)让学生充分地感知、体验应用计算机解决数学问题的方法;(3)通过实例,使学生理解3种基本的算法语句(输入语句、输出语句和赋值语句)的表示方法、结构和用法,能用这三种基本的算法语句表示算法,进一步体会算法的基本思想. 教学重点正确理解输入语句、输出语句、赋值语句的作用.教学难点准确写出输入语句、输出语句、赋值语句.教学过程一、问题情境1.问题1:已知我班某学生上学期期末考试语文、数学和英语学科成绩分别为80、100、89,试设计适当的算法求出这名学生三科的平均分. 二、学生活动1.学生讨论,教师引导学生写出算法并画出流程图.2.怎样将以上算法转换成计算机能理解的语言呢?下面我们将通过伪代码学习基本的算法语句. 三、建构数学1.伪代码:伪代码是介于自然语言和计算机语言之间的文字和符号,是表达算法的简单而实用的好方法.为了今后能学好计算机语言,我们在伪代码中将使用一种计算机语言“BASIC 语言”的关键词.2.赋值语句:赋值语句是将表达式所代表的值赋给变量的语句.例如:“x y ←”表示将y 的值赋给x ,其中x 是一个变量,y 是一个与x 同类型的变量或表达式.说明:①赋值语句中的赋值号“←”的左右两边不能对换,它将赋值号右边的表达式的值赋给赋值号左边的变量;②赋值语句左边只能是变量名字,而不是表达式,右边表达式可以是一个数据、常量或表达式; ③对于一个变量可以多次赋值.例1.写出求23x =时多项式3273511x x x +-+的值的算法.算法1 算法: S1 a ←80S2 b ←100S3 c ←89 S4 A ←(a+b+c)/3S5 输出A流程图:322373511x p x x ←←+-+算法2 23((73)5)11x p x x x ←←+-+ 说明:①以上两种算法,算法1要做6次乘法,算法2只要做3次乘法,由此可见,算法的好坏会影响运算速度;②算法2称为“秦九韶算法”,其算法特点是:通过一次式的反复计算,逐步得出高次多项式的值;对于一个n 次多项式,只要做n 次乘法和n 次加法.附:秦九韶(1202—1261年),字道古,普州安岳(今四川安岳)人.他是我国古代最有成就的数学家之一.著有数学名著《数书九章》(又名数学九章》).该书共十八卷,分为大衍、天时、田域、测望、赋役、钱谷、营建、军旅、市易等九大类,每类用九个例题全书共八十一题)来阐明各种算法.这部中世纪的数学杰作,许多方面都有创造,而书中最突出的成就是“大衍求一术”和高次方程的数值解法“正负开方术”,是具有世界意义的成就.3.输入、输出语句:输入、输出语句分别用“Input ”(或者“Read ”)和“Print ”来描述数据的输入和输出.(1)输入语句与赋值语句的区别在于:赋值语句可以将一个代数表达式的值赋于一个变量,而输入语句由于要求输入的值只能是具体的常数,不能是函数、变量或表达式,因此输入语句只能将读入的具体数据赋给变量.(2)输出语句的主要作用是:①输出常量、变量的值和系统信息;②输出数值计算的结果. 例如:可以将问题1中的算法改进为求任意三门功课的平均值的算法.流程图:说明:输入语句“Read a ,b ”表示输入的数据依次送给a ,b ;“Print A ”表示输出运算结果A .四、数学运用1.例题:例2.“鸡兔同笼”是我国隋朝时期的数学著作《孙子算经》中的一个有趣而具有深远影响的题目:“今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何?”请你先列出解决这个问题的方程组,并设计一个解二元一次方程组的通用算法,并画出流程图,写出伪代码.解:设有x 只鸡,y 只兔子,则352494x y x y +=⎧⎨+=⎩. 伪代码: Read a ,b ,c A ←(a+b+c)/3 Print A设二元一次方程组为1111221222,(0),a x b y c a b a b a x b y c +=⎧-≠⎨+=⎩用消元法解得2112122112211221b c b c x a b a b a c a c y a b a b -⎧=⎪-⎪⎨-⎪=⎪-⎩, 因此,只要输入相应的未知数的系数和常数项,就能计算出方程组的解,即可输出,x y 的值.2.练习:1)将五进制数化为十进制数的方法是“按权展开”,如将(5)1403化为十进制数为321015450535228⨯+⨯+⨯+⨯=.试用输入输出语句、赋值语句表示将五进制数(5)abcd 化为十进制数的算法.2)请用伪代码编写程序,实现三个变量1,2,3A B C ===的值按顺序互换,即A B C A →→→之间的交换.3)已知一个正三棱柱的底面边长为3,高为4,用输入、输出和赋值语句表示计算这个正三棱柱的体积的算法。
12基本算法语句lian
y=0 END IF IF X>0 THEN
y=x+1 END IF PRINT y END
巩固练习
右边给出的是用条件语 句编写的一个程序,根 据该程序回答:
2x(x 3)
y 0(x 3)
x2
1(
x
3)
(1)若输入5,则输出结果y {是
注意:⑶不能利用赋值语句进行代数的演算(如化简、 因式分解、解方程等)
例如:①x2+10x+16=0
(x+8)(x+2)=0 X=-8,x=-2
这是不能实现的
②y=x2-1=(x-1)(x+1)
问题3:我们知道a=a+1在数学中是不成立的, 但在赋值语句中成立吗?为什么?
答: 在赋值语句中是成立的,意思是将a的原值 加1在赋给a,即a的值增加1。如果多次给一个变量 赋值,则该变量的值取最后赋予的那个值。
b=c
c=a
d= 16
123
PRINT a,b,c 20 30 20
例如:编写一个程序,从键盘上输入一个整 数,若是正数就将其输出。
程序: INPUT “x=” ;x IF x>0 THEN PRINT x END IF END
例子、把下列语句的意义翻译成程序框图
(1)IF x>0 THEN (2)IF x<0 THEN
y=(-2)*x+1 ELSE
y=x+1 END IF PRINT y
END
变式:已知, 2x 1(x 0)
开始
编写程序, y= 0(x 0) 输输入出自相变 应量 的的 函值 数, 值。x 1(x 0) 是
1[1].2.2基本算法语句之条件语句
例5:编写一个程序,求实数x的绝对值.
第一步,输入一个实数x. 第二步,判断x的符号.若x≥0,则 输出 x;否则,输出-x. 该算法的程序框图如何表示?
开始
IF
输入x
x≥0?
否
是 输出x
结束
条件 THEN 语句体1 ELSE 语句体2 END IF
输出-x
你能写出这个算法对应的程序吗?
开始
输入x x≥0? 是 输出x 结束 否
INPUT
x
IF
ELSE
输出-x
x>=0 THEN PRINT x
-x
PRINT END IF END
阅读下面的程序,你能说出程序的运行 过程并画出对应的程序框图吗?
开始
INPUT x IF x<0 THEN x=-x END IF PRINT END x
输入x
x<0?
是 x=-x 输出x 结束
否
思考:阅读下面的程序,你能说明它是一 个什么问题的算法吗? INPUT “a,b=”;a,b IF a>b THEN t=a 对实数a,b a=b 按从小到大 b=t 排序. END IF PRINT a,b END
例7 编写程序,使任意输入的3个整 数按从大到小的顺序输出.
算法分析: 第一步,输入3个整数a,b,c. 第二步,将a与b比较,并把小者赋给b,大者 赋给a. 第三步,将a与c比较,并把小者赋给c,大者 赋给a. 第四步,将b与c比较,并把小者赋给c,大者 赋给b. 第五步,按顺序输出a,b,c.
思考:阅读下面的程序,你能说明它是一 个什么问题的算法吗? INPUT “x=”;x 2 IF x>=1 THEN x 3 x, x 1 y y=x∧2+3*x ELSE x 4, x 1 y=x-4 END IF PRINT y END
2014年人教A版必修三课件 1.2 基本算法语句
2. 输出语句
一般格式: PRINT “提示内容”; 表达式 如: PRINT “S=”; PIr^2 这是输出一个圆的面积, 如果在输入语句中输入 一个 r 值, 如 5, 则在计算机上显示: S=78.5398…
例1 中,
程序: INPUT“x=”;x y=x^3+3x^2-24x+30 PRINT x PRINT y END 第三行、第四行就是输出语句, 输出 x, y 的值.
开始 输入a, b y= b b=a
y=y+2ab
输出y 结束
INPUT a,b LET y=b LET b=a LET y=y+2ab PRINT y END 第二、三、四行都是赋值语句.
3. 赋值语句 一般格式: LET 变量 = 表达式 如: LET S=PIr^2 (1) 赋值语句的LET可以省略. (2) 赋值语句中的 “=” 叫赋值号, 其含意与数学 计算中的等号有所不同. (3) 一个语句只能给一个变量赋值. (4) 若给一个变量先后赋多个不同的值, 最后的取 值只取最近所赋的一个. (5) 赋值语句有计算功能.
本章内容
1.1 算法与程序框图 1.2 基本算法语句 1.3 算法案例 第一章 小结
1.2 基本算法语句
1.2.1 输入 输出和赋值语句 1.2.2 条件语句 1.2.3 循环语句
复习与提高
返回目录
学习要点
1. 怎样将程序框图表示的算法让计算机能识别? 2. 输入语句、输出语句和赋值语句的文字、符号、 格式分别是怎样的? 3. 输入语句、输出语句和赋值语句各有哪些功能? 4. 用输入语句、输出语句和赋值语句编写简单的 计算机程序的格式是怎样的?
3. 赋值语句 一般格式: LET 变量 = 表达式 如: LET S=PIr^2 例1 中, 程序: INPUT “x=”;x y=x^3+3x^2-24x+30 PRINT x PRINT y END 第二行就是赋值语句, 给变量 y 赋值.
第六节 基本算法语句与算法案例-高考状元之路
第六节基本算法语句与算法案例预习设计基础备考知识梳理1.输入语句、输出语句、赋值语句的格式与功能2.条件语句(1)算法中的与条件语句相对应.(2)条件语句的格式及框图,①IF-THEN格式;②IF-THEN-ELSE格式:3.循环语句(1)算法中的与循环语句相对应.(2)循环语句的格式及框图.①UNTIL语句;②WHILE语句:4.算法案例(1)辗转相除法:辗转相除法是用于的一种方法,这种算法是由欧几里得在公元前300年左右首先提出的,因此又叫(2)更相减损术的定义:任给两个正整数(若是偶数,先用2约数),以 ,接着把所得的差与较小的数比较,并以大数减小数,直到所得的数 则这个数(等数)(或这个数与约简的数的乘积)就是所求的最大公约数.(3)秦九韶算法: 秦九韶算法是我国南宋数学家秦九韶在他的代表作《 》中提出的一种用于计算 的方法.典题热身1.以下语句中赋值语句的个数是 ( );2x =①;0=+y x ②);1)(1(12-+=-=x x x y ③=A ④;3=B .*p p P =⑤0.A 1.B 2.c 3.D答案:B2.下边程序运行的结果是( )3,2,1.A 1,3,2.B 2,3,2.c 1,2,3.D答案:C3.阅读下列程序,则其输出的结果为( )6463.A 3231.B 128127.c 1615.D 答案:A4.阅读程序:若,4-=x 输出结果为若,9=x 输出结果为答案:负数35.将二进制数)2(101101化为十进制数,结果为 再将该数化为八进制数,结果为 答案:)10(45 )8(55课堂设计 方法备考题型一 输入、输出、赋值语句的应用【例l 】编写一个程序,求用长度为l 的细铁丝分别围成一个正方形和一个圆时所围成的正方形和圆的面积,要求输入l 的值,输出正方形和圆的面积(π取3.14),并画出程序框图,题型二 条件语句的应用【例2】国庆期间,某超市实行购物优惠活动,规定一次购物付款总额:①若不超过200元,则不予优惠;②若超过200元,但不超过500元,则按标价价格给予9折优惠;③如果超过500元,500元的部分按②优惠,超过500元的部分给予7折优惠,编写一个付款算法,并写出相应程序,画出程序框图,题型三 循环语句的应用【例3】高-(2)班共有54名同学参加数学竞赛,现已有这54名同学的竞赛分数,请设计一个将竞赛成绩优秀同学的平均分输出的算法(规定90分以上为优秀),画出程序框图,并设计程序.题型四 进位制之间的相互转化【例4】(1)将七进制数)7(235转化为十进制的数;(2)把五进制的数)5(44转化为二进制的数,技法巧点(1)输入、输出语句是任何一个程序必不可少的语句.(2)赋值语句是重要的一种基本语句.利用赋值语句可以实现两个变量值的互换,方法是引进第三个变量.(3)要区分条 件语句的两种格式:IF-THEN-ELSE 格式和IF-THEN 格式.(4)条件语句一般用在需要对条件进行判断的算法设计中,如判断一个数的正负,确定两个数的大小等问题都要用到条件语句,失误防范1.赋值语句的“=”不能与等号相混淆.2.赋值语句左右两边不能对调,随堂反馈1.(2011.安徽马鞍山二中月考)下图是把二进制的数)2(11111化成十进制的数的一个流程图,则判断框内应填入的条件是( )?4.<i A ?5.≤i B ?5.>i C ?4.≤i D答案:D2.(2011.深圳模拟)下列程序执行后输出的结果是 ( )1.-A 0.B 1.c2.D答案:C3.(2011.佛山模拟)下面程序运行后,输出的值是 ( )42.A 43.B 44.C 45.D答案:C4.(2011.青岛模拟)若k 进制数)(123k 与十进制数)10(38等,则=k答案:5高效作业 技能备考一、选择题1.(2011.宁夏模拟)当3=a 时,下面的程序段输出的结果是( )9.A 3.B 10.c 6.D答案:D2.(2011.海南模拟)计算机执行下面的程序段后,输出的结果是 ( )3,1.A 1,4.B 0,0.c 0,6.D答案:B3.读下面的甲、乙两程序:对甲、乙两程序和输出的结果判断正确的是 ( )A .程序不同,结果不同B .程序不同,结果相同C .程序相同,结果不同D .程序相同,结果相同答案:B4.(2011.广东模拟)将两个数17,8==b a 交换,使,17=a ,8=b 下面语句正确的一组是( )答案:B5.(2011.山东模拟)如果下边程序执行后输出的结果是132,那么程序中UNTIL 后面的“条件”应为 ( )11.>i A 11.>=i B 11.<=i C 11.<i D答案:D6.(2011.日照模拟)下列各数中最小的数是 ( ))2(111111.A )6(210.B )4(1000.c )8(110.D答案:A二、填空题7.(2011.常熟模拟)阅读下面的程序,并写出5,3==b a 时,输出的值=a答案:4218.(2011.深圳调研)阅读下面的程序,当分别输入、、12==x x 0=x 时,输出的y 值分别为答案:1 1 1-9.(2011.威海模拟)下面程序表达的是求函数 的值.答案:⎪⎩⎪⎨⎧<-=>=0,10,00,1x x x y三、解答题10.设计算法求100991431321211⨯++⨯+⨯+⨯ 的值.要求画出程序框图,写出用基本语句编写的程序.11.读下列程序,指出此程序用来解决什么问题.12.到银行办理个人异地汇款时,银行要收取一定的手续额不超过100元,收取1元手续费;超过100元但不超元,按汇款额的1%收取;超过5000元,一律收取50费.试用条件语句描述汇款额为x 元时,银行收取手自元的过程,画出程序框图并写出程序.。
高考数学 15.2 基本算法语句与算法案例
15、算法初步15.2 基本算法语句与算法案例【知识网络】1.理解用伪代码表示的几种基本算法语句:赋值语句、输入语句、输出语句、条件语句、循环语句。
2.能用自然语言、流程图和伪代码表述算法,会用“While循环”和“For循环”语句或GoTo语句实施循环(注意:优先使用While和For语句,尽量少用GoTo语句)。
【典型例题】[例1](1)下列问题所描述出来的算法,其中不包含条件语句的为()A.读入三个表示三条边长的数,计算三角形的面积B.给出两点的坐标,计算直线的斜率C.给出一个数x,计算它的常用对数的值D.给出三棱锥的底面积与高,求其体积(2)设计一个计算1×3×5×7×9×11×13的算法.图中给出了程序的一部分,则在横线①上不能填入下面的那一个数?答:()A.13B.13.5C.14D.14.5(3)若mod(m,3)=1,则m的取值不可以是()A.2005 B.2006 C.2008 D.2020(4)下面的表述:①6←p;②t←3×5+2;③b+3←5;④p←((3x+2)-4)x+3;⑤a←a3;⑥x,y,z←5;⑦ab←3;⑧x ←y+2+x .其中正确表述的赋值语句有 . (注:要求把正确的表述全填上)(5)下面程序的运行结果为4[例2] 某百货公司为了促销,采用打折的优惠办法:每位顾客一次购物①在100元以上者(含100元,下同),按九五折优惠; ②在200元以上者,按九折优惠; ③在300元以上者,按八五折优惠; ④在500元以上者,按八折优惠. 试写出算法、画出流程图、伪代码,以求优惠价.[例3] 定义运算“!”为:n!=1×2×3×…×n ,其中n 为正整数,并且读作“n 的阶乘”,例如,5!=1×2×3×4×5=120,10!=9!×10= 3628800. 计算2007!写出算法分析与伪代码,并画出流程图。
基本算法语句
基本算法语句
顺 序 结 构 条 件 分 支 结 构
赋值语句 输入语句 输出语句 条件语句
变量名=表达式 变量名=input(“提示内容”) print(%io(2),变量名)
if 表达式 语句序列1; else 语句序列2; end for 循环变量=初值:步长:终值 循环体; end while 表达式 循环体; end
(1)2, wrong input (2)任给一个正数x, 求log2x
知识结构
算法的基本结构
顺序结构
算法语句
输入、输出语句 和赋值语句
条件分支结构
条件语句
循环结构
循环语句
循环语句 ——for循环
例:求1+2+3+…+1000=?
for循环的格式 像这种预先知道循 环次数的情形, 用for循环语句
知识结构
算法的基本结构
顺序结构
条件分支结构
循环结构
1.2 基本算法语句
——“Scilab”程序
“Scientific Laboratory"科学实验室
画出 “求a,b,c三个数的平均数M” 的程序框图
开始 输入 a,b,c 输入语句
M=
(a+b+c) 3
赋值语句 变量名=表达式 输出语句 “=”号, 称作赋值号
输出M 结束
符号Biblioteka 算法语句中的符号
运算符号:加号+,减号−,乘号*, 除号/,乘方^。 关系符号:大于>,小于<,等于==, 大于或等于>=, 小于或等于<=, 不等于<>。 函数符号:开方 sqrt(x), 取绝对值 abs(x)
1.2.2算法基本语句二
课后作业
P33:A组1,2 B组3 预习《循环语句》
2.1.2 基本算法语句(2)
学习目标:
1、正确理解条件语句的概念; 2、会应用条件语句编写程序; 3、了解条件语句在程序中起判断转折作用, 在解决实际问题中起决定作用。
知识回顾
条件结构常用的程序语言和格式?
只含一个“分支”的条件结构
满足条件?
开始 输入a,b,c b>a? N Y t=a a=c c=t c>b? N c>a? N Y t=b b=c c=t 输出a,b,c 结束
程序:
交换a,b 的值
Y t=a a=b b=t
INPUT “a,b,c=”;a,b,c IF b>a THEN t=a a=b b=t END IF IF c>a THEN t=a a=c c=t END IF IF c>b THEN t=b b=c c=t END IF PRINT a,b,c END
INPUT “输入年份:”;y b=y MOD 4 c=y MOD 100 d=y MOD 400 IF b=0 AND c< >0 THEN PRINT “闰年.” ELSE IF d=0 THEN PRINT “闰年.” ELSE PRINT “不是闰年.” END IF END IF END
归纳延伸
是
写成条件语句为
否
语句体
IF 条件 THEN 语句体 END IF
当计算机执行这种形式的条件语句时,首先对IF后的 条件进行判断,如果条件满足,就执行THEN后的语句 体,否则执行END IF之后的语句.
含两个“分支”的条件结构
满足条件?
写成条件语句为
否
语句体2
《基本算法语句(第1课时)》教学设计
第一章算法1.2 算法语句第1课时1.2.1 输入语句、输出语句和赋值语句(名师:余业兵)一、教学目标1.核心素养通过学习输入语句、输出语句和赋值语句,初步形成基本的数学抽象和数据处理能力.2.学习目标(1)理解输入语句、输出语句和赋值语句的功能和一般格式;(2)理解变量的概念,掌握变量的赋值;(3)通过实例,初步了解并掌握将算法的描述变成伪代码的过程,比较自然语言、程序框图和伪代码表示算法的区别和联系;(4)进一步体会算法的基本思路,能准确地运用输入语句、输出语句和赋值语句.3.学习重点(1)输入语句、输出语句和赋值语句的功能和一般格式;(2)将算法的描述变成伪代码的过程,伪代码的书写.4.学习难点赋值语句的理解与伪代码的书写.二、教学设计(一)课前设计1.预习任务任务1阅读教材P21—P24,思考:输入语句、输出语句和赋值语句的功能是什么?有怎样的格式要求?任务2举两个顺序结构程序框图的例子,并运用输入语句、输出语句和赋值语句写出其程序语言.2.预习自测1.下列给出的赋值语句中,正确的是( )A.3=A B.m=-m C.B=A=2 D.x+y=0【解析】本题根据赋值语句的定义:赋值语句用来表明赋给某一个变量一个具体的确定值的语句叫做赋值语句,来直接进行判断.A:左侧为数字,故不是赋值语句B:赋值语句,把−m的值赋给mC:连等,不是赋值语句D:不是赋值语句,是等式,左侧为两个字母的和.解:B2.下列正确的语句的个数是( )①输入语句INPUT a+2②赋值语句x=x-5③输出语句PRINT M=2A.0 B.1 C.2 D.3【解析】①中输入语句只能给变量赋值,不能给表达式a+2赋值,所以①错误;②中x=x-5表示变量x减去5后再赋给x,即完成x=x-5后,x比的来的值小5,所以②正确;③中不能输出赋值语句,所以③错误,故答案选B.解:B(二)课堂设计1.知识回顾(1)算法的顺序结构:由若干个依次执行的____组成的逻辑结构,是任何一个算法都含有的基本结构.程序框图如图所示(2)任何程序框图必含有两个终端框(一个起始,一个结束),至少含有一个输出框,一定有流程线,但并不是任何程序框图都含有处理框和判断框以及连接点.2.问题探究问题探究一为什么要学习算法语句?●活动一阅读与思考,了解学习算法语句的必要性在现代社会里,计算机已经成为人们日常生活和工作不可缺少的工具,如:听MP3,看电影,玩游戏,打字排版,画卡通画,处理数据等等,那么,计算机是怎样工作的呢?计算机完成任何一项任务都需要算法,但是,我们用自然语言或程序框图描述的算法,计算机是无法“看得懂,听得见”的.因此还需要将算法用计算机能够理解的程序设计语言(programming language)翻译成计算机程序.程序设计语言有很多种.如BASIC,Foxbase,C语言,C++,J++,VB等.为了实现算法中的三种基本的逻辑结构:顺序结构、条件结构和循环结构,各种程序设计语言中都包含下列基本的算法语句:这就是这一节所要研究的主要内容——基本算法语句.问题探究二 什么是输入语句、输出语句和赋值语句,它们有怎样的格式要求,具有什么样的功能?重点、难点知识★▲●活动一 阅读与思考,初步认识输入语句、输出语句和赋值语句 引例1 下面这个计算机程序是什么结构?实现什么样的功能?详解:该算法是顺序结构,功能是“任意输入一个自变量x 的值,输出函数3232430y x x x =+-+的自变量x 的值与函数值y .”变式:在这个程序中,你们觉得哪些是输入语句、输出语句和赋值语句呢?详解:输入语句是INPUT “x=”;x ,输出语句是PRINT x 和 PRINT y ,赋值语句y=x^3+3*x^2-24*x +30.●活动二 输入语句、输出语句、赋值语句的格式与功能 三种算法语句的格式及功能 (1)输入语句. ①格式:②“提示内容”一般是提示用户输入什么样的信息.③功能:输入提示内容要求的相应信息或值,计算机每次都把新输入的值赋给变量.输入语句只能够输入数据,不能输入变量、函数或表达式,其中一般格式中的“变量”是指变量的值.(2)输出语句. ①格式:②输出语句的作用和要求i.输出语句的功能:在计算机的屏幕上输出常量,变量的值、系统信息和数值计算的结果.INPUT “x=”;xy=x^3+3*x^2-24*x +30 PRINT x PRINT y END输入语句 输出语句 赋值语句 条件语句 循环语句ii.同输入语句一样,表达式前也可以有“提示内容”,且“提示内容”和表达式之间必须用分号“;”隔开.(3)赋值语句.①格式:②赋值语句的作用与要求.i.赋值语句的功能:将表达式的值赋给变量.ii.赋值语句中的“=”叫做赋值号,它和数学中的等号不完全一样,计算机执行赋值语句时,先计算“=”右边表达式的值,然后把这个值赋给“=”左边的变量.点拨:①赋值号左边只能是变量名字,而不能是表达式.如:2=X是错误的.②赋值号左右不能对换.如“A=B”“B=A”的含义运行结果是不同的.③不能利用赋值语句进行代数式的演算.(如化简、因式分解、解方程等)④赋值号“=”与数学中的等号意义不同.问题探究四程序语言中有哪些常见运算符●活动一认识常见数学运算符引例2 下列程序语言中表达式的值正确的是( )详解:C中,[5+3(12-7)]÷4=(5+15)÷4=5;A中,64+32×2=12+18=30;(9)=36;B中,3×9+2D中,5×5-4+2×3×4=45.●活动二常见数学运算符归纳(1)程序中的常见算术运算符号数学符号程序符号×(代数运算中的乘法运算符)*(程序里面表示乘法的运算符)÷(代数运算中的除法运算符)/(程序里面表示除法的运算符)[]代数中取整运算(如[5÷3]=1)\(如5\3=1)a b(代数运算中的指数运算符)a^b(程序里面表示指数的运算符)≤(代数中小于等于符号)<=(程序里面表示小于等于的符(2)问题探究四●活动一识别输入语句、输出语句、赋值语句例1.下列给出的输入、输出语句正确的是( )①输入语句INPUT a;b;c②输入语句INPUT x=3③输出语句PRINT A=4④输出语句PRINT 20,3*2A.①③B.②③C.③④D.④【知识点:算法的输入输出语句】详解:①INPUT语句可以给多个变量赋值,变量之间用“,”隔开;②INPUT语句中只能是变量,而不能是表达式;③PRINT语句中不用赋值号“=”;④PRINT语句可以输出常量、表达式的值.点拨:(1)输入语句要求输入的值只能是具体的常数,不能是变量或表达式.(2)输出语句可以输出常量、变量或表达式的值.例2 阅读下列程序,并回答问题.(1)中若输入1,2,则输出的结果为________;(2)中若输入3,2,5,则输出的结果为________.【知识点:算法的输入、输出、赋值语句】详解:(1)阅读程序,由语句c=a-b及a=1,b=2,可得c=-1;又根据语句b=a+c-b,可得b=-2.所以程序运行后的结果为1,-2,-1.(2)阅读程序,由语句A=A+B及A=3,B=2,C=5,可得A=5.又根据语句B=B-A,可得B=-3,又C=C/A*B,所以输出结果为C=-3.点拨:(1)赋值号左边只能是变量名称而不能是表达式.赋值语句的作用是先算出赋值号右边表达式的值,然后把该值赋给赋值号左边的变量,使该变量的值等于表达式的值.(2)赋值号两边的内容不能对调,如a=b与b=a表示的意义完全不同.(3)赋值语句只能给一个变量赋值,不能接连出现两个或多个“=”.可给一个变量多次赋值,但只保留最后一次所赋的值.●活动二应用输入语句、输出语句、赋值语句设计简单的程序例3 交换两个变量A和B的值,并输出交换前后的值.【知识点:算法的输入、输出、赋值语句】详解:点拨:引入一个中间变量X,将A 的值赋予X,又将B 的值赋予A ,再将X 的值赋予B ,从而达到交换A ,B 的值.(比如交换装满水的两个水桶里的水需要再找一个空桶)例4 编写一个程序,要求输入一个圆的半径,便能输出该圆的周长和面积.(π 取3.14) 【知识点:算法的输入、输出、赋值语句】 详解:点拨:设圆的半径为R ,则圆的周长为2C R π=,面积为2S R π=,可以利用顺序结构中的INPUT 语句,PRINT 语句和赋值语句设计程序. 3.课堂总结 【知识梳理】 (1) 输入语句格式: (2) 输出语句格式:(3) 赋值语句格式:【重难点突破】(1)赋值语句中的“=”与数学运算中的等号一样吗? 名师点拔:不一样.①赋值号左边只能是变量,而不是表达式.②赋值号左右不能对换.赋值语句是将赋值号右边表达式的值赋给赋值号左边变量.③不能利用赋值语句进行代数式的演算(如化简、因式分解等).赋值语句中的赋值号右边的表达INPUT “半径为R=”;R C=2*3.14*R S=3.14*R^2PRINT “该圆的周长为:”;C PRINT “该圆的面积为:”;S ENDINPUT A INPUT B PRINT A ,B X=A A=B B=XPRINT A ,B END式中的每一个“变量”都必须事先赋给确定的值.在一个赋值语句中只能给一个变量赋值,不能出现两个或多个“=”.④赋值号与数学中的等号的意义不同.(2)输入语句输入的值可以是变量吗?输出语句呢?名师点拔:①输入语句要求输入的值只能是具体的常数,不能是变量或表达式.②计算机执行到输入语句时,暂停等候用户输入“提示内容”所提示的数据,输入后回车,则程序继续运行.“提示内容”及其后的“;”可省略.③输出语句可以输出常量、变量或表达式的值.4.随堂检测1.阅读下面的程序,然后判断下列程序执行后的结果是( )A.5 B.15 C.11 D.14【知识点:算法的输入、输出、赋值语句】【解析】由x=2,得y=3×2-1=5;把5赋值给x,输出的值为3×5-1=14.解:D2.下列输入语句不正确的是( )A.INPUT“x=”;xB.INPUT x,y,zC.INPUT 2,3,4D.INPUT“请输入x”;x【知识点:算法的输入、输出、赋值语句】【解析】输入语句后不能是具体数字或值,必须为变量名,故C错误.解:C3.下列输出语句中正确的有( )①PRINT a②PRINT“a=”;a③PRINT a+4 ④PRINT“a的值为”;aA.1个B.2个C.3个D.4个【知识点:算法的输入、输出、赋值语句】【解析】根据算法的输出语句的格式,4个语句全部正确,答案为D.解:D4.将两个数a=8,b=17交换,使a=17,b=8,下列语句正确的是( )【知识点:算法的输入、输出、赋值语句】【解析】先把b的值赋给中间变量c,这样c=17,再把a的值赋给变量b,这样b=8,把c的值赋给变量a,这样a=17,故选B.解:B(三)课后作业基础型自主突破1.下面的程序输出的结果是( )A.27 B.9C.2+25 D.11【知识点:算法的输入、输出、赋值语句】【解析】执行算法,x=2,y=9,故x+y=11.解:D2.以下程序运行时输出的结果是( )A .12,5B .12,21C .12,3D .21,12 【知识点:算法的输入、输出、赋值语句】【解析】此程序所表示的是先将3赋给A ,再将3×3=9赋给B ,再将3+9=12赋给A ,再将9+12=21赋给B ,所以输出的A 为12,输出的B 为21.故选B. 解:B3.如图所示的程序输出的结果是________.【知识点:算法的输入、输出、赋值语句】 【解析】由a =5,b =3,得42a bc +==,d =c 2=16.由程序知,输出的结果是d =16. 解:d =164.已知A (x 1,y 1),B (x 2,y 2)是平面上的两点,试设计一个算法程序,输入A 、B 两点的坐标,输出其中点的坐标,现已给出程序中的一部分,试在横线上填上适当的语句,把程序补充完整.①________;②________.【知识点:算法的输入、输出、赋值语句】【解析】本题主要考查学生对算法输入语句、输出语句、和赋值语句相关知识的理解,同时涉及到平面上两点求中点的公式.根据中点公式,可知122x x x +=,122y yy += 解:①122x x x +=②122y yy +=能力型师生共研5.下列程序:输出的结果a是( )A.5 B.6 C.15 D.120【知识点:算法的输入、输出、赋值语句】【解析】执行算法,a=1×2×3×4×5=120.解:D6.读下面两个程序:若程序1、2运行结果相同,则程序2输入的值为( )A.6 B.0 C.2 D.2或-2【知识点:算法的输入、输出、赋值语句】【解析】程序1运行结果是6.因为程序2与程序1运行结果相同,故x2+2=6,x2=4,x=±2,选D.解:D7.下面程序的运行结果为________.【知识点:算法的输入、输出、赋值语句】【解析】执行算法,①a =1,②b =4,③b =5.解:b =58.下面程序的运行结果为________.【知识点:算法的输入、输出、赋值语句】【解析】执行算法,a =b =3,b =c +2=4+2=6,c =b +4=6+4=10.故 1119()().3336103d a b c =++=++=解:19.3d = 探究型多维突破9.以下是一个用基本算法语句编写的程序,根据程序画出其相应的程序框图.【知识点:算法的输入、输出、赋值语句】【解析】根据题目中的程序语言,得出该程序是顺序结构,利用构成程序框的图形符号及其作用,即可画出流程图.解:程序框图如图所示10.甲、乙、丙三个学生的三门功课考试成绩如下:设计一个程序计算各个学生的总分和平均分.【知识点:算法的输入、输出、赋值语句】【解析】由题意可知,程序的运算过程中第一步是输入三门课的成绩;第二步是将三门课的成绩相加,得到这三门课的总分;第三步是用这三门课的总分除以3,即可得到它们的平均分,至此,即可编写出程序.解:程序如下:自助餐1.下列程序在电脑屏幕上显示的结果为( )A.2 B.“x=”;x C.“x=”;2 D.x=2【知识点:算法的输入、输出、赋值语句】【解析】PRINT后引号中提示的内容直接输出,变量输出其值,故显示的结果为x=2.解:D2.下列说法中,正确的是( )【知识点:算法的输入、输出、赋值语句】【解析】赋值语句中的“=”与代数中的“=”是不一样的,式子两边的值也不能互换,而"x=x+1"是将x+1的值赋给x,因此①错,②对,③错,④对.故选B.解:B3.下列赋值语句中运算结果等于15的是()A.15=xB.x=3^5C.x=5*3D.x2=225【知识点:算法的输入、输出、赋值语句】【解析】C4.阅读下列两个程序,回答问题.(1)上述两个程序的运行结果是①________;②________.(2)上述两个程序的第三行有什么区别:________.【知识点:算法的输入、输出、赋值语句】【解析】(1)①从所给的赋值语句中可以看出,x,y初始赋给的值分别为3,4,接下来x是y 赋给的值:x=4,故输出的d的值是:x=4,y=4,故答案为:4,4;②从所给的赋值语句中可以看出,x,y初始赋给的值分别为3,4,接下来y是x赋给的值:y=3,故输出的d的值是:y=3,x=3,故答案为:3,3.(2)由程序框图可知:程序①中的x=y是将y的值4赋给x,赋值后,x的值变为4;程序②中的y=x是将x的值3赋给y,赋值后y的值变为3.解:(1)4,4;3,3 (2)程序①中的“x=y”是将y的值4赋给x,赋值后x的值变为4;程序②中的“y=x”是将x的值3赋给y,赋值后y的值变为3.5.下面程序的功能是求所输入的两个正数的平方和,已知最后输出的结果是3.46,则此程序中,①处应填________;②处应填________.【知识点:算法的输入、输出、赋值语句】【解析】由于程序的功能是求所输入的两个正数的平方和,故S=x12+x22,由于最后输出的数是3.46,所以3.46=1.12+x22,即x22=2.25,又x2>0,故x2=1.5.解:1.5;x1^ 2+x2^ 26.根据下列程序,画出程序框图.【知识点:算法的输入、输出、赋值语句】【解析】从编号的程序可以看出,此程序只用INPUT 输入语句、赋值语句和 PRINT 输出语句组成,因此根据程序画程序框图,只要按顺序从上到下把输入语句、赋值语句、输出语句换成输入框、处理框、输出框就可以了.解:程序框图如图.7.用算法语句写出下面程序框图的程序.【知识点:算法的输入、输出、赋值语句】【解析】本题主要考查学生对算法知识的掌握,关键是理解算法前后的逻辑关系.题中该程序的作用是依次用输入的x 1,x 2,求出y 1,y 2,运用2121x x y y K --=,再综合运用输入语句、输出语句、赋值语句的格式,进而得出答案.解:程序如下:8.对于平面直角坐标系中给定的两点A (a ,b ),B (c ,d),编写一个程序,要求输入两点的坐标,输出这两点间的距离.【知识点:算法的输入、输出、赋值语句】【解析】本题考查了程序语句的书写,同时考查了两点间的距离公式,综合性较强,需恰当运用输入、输出、赋值语句.解:9.给定函数()321213f x x x =++,编写程序求任意给定x 的值,求f (f (x ))的值,并画出程序框图. 【知识点:算法的输入、输出、赋值语句】【解析】本题考查了程序框图和解析几何的相关知识.经分析,本框图为顺序结构,在编写程序和程序框时应注意格式及变量的应用.解:程序框图:。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
普通高中课程标准实验教科书—数学[人教版]高三新数学第一轮复习教案(讲座16)—基本算法语句一.课标要求:1.经历将具体问题的程序框图转化为程序语句的过程,理解几种基本算法语句——输入语句、输出语句、赋值语句、条件语句、循环语句,进一步体会算法的基本思想;2.通过阅读中国古代数学中的算法案例,体会中国古代数学对世界数学发展的贡献。
二.命题走向算法是高中数学课程中的新内容,本章的重点是算法的概念和算法的三种逻辑结构。
预测2007 年高考对本章的考察是:以选择题或填空题的形式出现,分值在5 分左右,本讲考察的热点是识别程序和编写程序。
三.要点精讲1.输入语句输入语句的格式:INPUT “提示内容” ;变量例如:INPUT “x=”;x 功能:实现算法的输入变量信息(数值或字符)的功能。
要求:(1)输入语句要求输入的值是具体的常量;(2)提示内容提示用户输入的是什么信息,必须加双引号,提示内容“原原本本”的在计算机屏幕上显示,提示内容与变量之间要用分号隔开;(3)一个输入语句可以给多个变量赋值,中间用“,”分隔;输入语句还可以是“ “提示内容1 ”;变量1 ,"提示内容2”;变量2,"提示内容3”;变量3, ”的形式。
例如:INPUT “a=,b=,c=,”;a,b,c。
2.输出语句输出语句的一般格式:PRINT “提示内容”;表达式例如:PRINT“S=”;S功能:实现算法输出信息(表达式)要求:(1 )表达式是指算法和程序要求输出的信息;(2)提示内容提示用户要输出的是什么信息,提示内容必须加双引号,提示内容要用分号和表达式分开。
(3)如同输入语句一样,输出语句可以一次完成输出多个表达式的功能,不同的表达式之间可用“,”分隔;输出语句还可以是“提示内容1”;表达式1,“提示内容2”;表达式2, “提示内容3”;表达式3,……”的形式;例如:PRINT “a,b,c:”;a,b,c。
3.赋值语句赋值语句的一般格式:变量=表达式赋值语句中的“=”称作赋值号作用:赋值语句的作用是将表达式所代表的值赋给变量;要求:(1)赋值语句左边只能是变量名字,而不是表达式,右边表达式可以是一个常量、变量或含变量的运算式。
如:2= x 是错误的;(2)赋值号的左右两边不能对换。
赋值语句是将赋值号右边的表达式的值赋给赋值号左边的变量。
如“ A= B”“ B= A”的含义运行结果是不同的,女口x=5是对的,5=x是错的,A+B=C 是错的,C=A+B 是对的。
( 3)不能利用赋值语句进行代数式的演算。
(如化简、因式分解、解方程等) ,如2y x21 (x 1)(x 1)这是实现不了的。
在赋值号右边表达式中每一个变量的值必须事先赋给确定的值。
在一个赋值语句中只能给一个变量赋值。
不能出现两个或以上的“ = ”。
但对于同一个变量可以多次赋值。
4.条件语句(1)“IF —THEN —ELSE ”语句格式:IF 条件THEN语句1ELSE语句2END IF说明:在“IF —THEN —ELSE ”语句中,“条件”表示判断的条件,“语句1 ”表示满足条件时执行的操作内容;“语句2”表示不满足条件时执行的操作内容;END IF 表示条件语句的结束。
计算机在执行“IF —THEN —ELSE”语句时,首先对IF后的条件进行判断,如果符合条件,则执行THEN 后面的“语句1”;若不符合条件,则执行ELSE 后面的“语句2”。
( 2)“ IF—THEN ”语句格式:IF 条件THEN语句END IF说明:“条件”表示判断的条件;“语句”表示满足条件时执行的操作内容,条件不满足时,直接结束判断过程;END IF表示条件语句的结束。
计算机在执行“IF —THEN ”语句时,首先对IF 后的条件进行判断,如果符合条件就执行THEN 后边的语句,若不符合条件则直接结束该条件语句,转而执行其它后面的语句。
5.循环语句( 1 )当型循环语句当型( WHILE 型)语句的一般格式为:WHILE 条件循环体WEND说明:计算机执行此程序时,遇到WHILE 语句,先判断条件是否成立,如果成立,则执行WHILE 和WEND 之间的循环体,然后返回到WHILE 语句再判断上述条件是否成立,如果成立,再执行循环体,这个过程反复执行,直到一次返回到WHILE 语句判断上述条件不成立为止,这时不再执行循环体,而是跳到WEND 语句后,执行WEND 后面的语句。
因此当型循环又称“前测试型” 循环,也就是我们经常讲的“先测试后执行” 、“先判断后循环” 。
( 2)直到型循环语句直到型(UNTIL 型)语句的一般格式为:DO循环体LOOP UNTIL 条件说明:计算机执行UNTIL 语句时,先执行DO 和LOOP UNTIL 之间的循环体,然后判断“ LOOP UNTIL ”后面的条件是否成立,如果条件成立,返回DO 语句处重新执行循环体。
这个过程反复执行,直到一次判断“ LOOP UNTIL ”后面的条件条件不成立为止,这时不再返回执行循环体,而是跳出循环体执行“ LOOP UNTIL 条件”下面的语句。
因此直到型循环又称“后测试型”循环,也就是我们经常讲的“先执行后测试” 、“先循环后判断”。
四.典例解析题型1:输入、输出和赋值语句例1 .判断下列给出的输入语句、输出语句和赋值语句是否正确?为什么?1)输入语句INPUT a;b;c2)输出语句A= 43)赋值语句3= B4)赋值语句 A = B=—2解析:(1)错,变量之间应用“,”号隔开;(2)错,PRINT 语句不能用赋值号“ =”;(3)错,赋值语句中“ =”号左右不能互换;(4)错,一个赋值语句只能给一个变量赋值。
点评:输入语句、输出语句和赋值语句基本上对应于算法中的顺序结构....。
输入语句、输出语句和赋值语句都不包括“控制转移” ,由它们组成的程序段必然是顺序结构。
例2 .请写出下面运算输出的结果。
(1)a5b3c (a b)/2d c cPRINT "d ";d(2)a1b2c a bb ac bPRINT "a ,b ,c ";a,b,c(3)a 10b 20c 30 a b b c c a PRINT "a ,b ,c ";a,b,c解析: (1)16;语句c (a b)/2是将a ,b 和的一半赋值给变量c ,语句d c c 是将c 的平方赋值给d ,最后输出d 的值。
(2) 1,2,3;语句c a b 是将a ,b 的和赋值给c ,语句b a c b 是将a c b 的值赋值给了 b 。
(3) 20,30,20;经过语句a b 后a ,b ,c 的值是20,20,30。
经过语句b c 后a , b ,c 的值是20,30,30。
经过语句 c a 后a ,b ,c 的值是20,30,20。
点评:语句的识别问题是一个逆向性思维, 一般我们认为我们的学习是从算法步骤 (自然语言)至程序框图,再到算法语言(程序) 。
如果将程序摆在我们的面前时,我们要从识别逐个语句,整体把握,概括程序的功能。
题型2:赋值语句的应用例3 .写出求三个数a , b ,c 的方差的程序。
解析:方差是在初中统计内容中学习过的知识,计算所有数的方差首先计算所有数的平2 2 2均数Xn算法步骤:第一步:计算平均数X第三步:得到的结果即为所求。
程序如下:INPUT a ,b ,c y=(a+b+c)/3S=((a - y)2+ (b - y)2+ (c - y)2)/3 PRINT S END点评:套用公式求值问题是传统数学求值问题的一种, 它是一种典型的顺序结构,也就是说只通过输入、输出和赋值语句就可以完成任务。
解决这类问题的关键是先分析这种问题的解法,即构造计算的过程,再写出算法步骤和流程图,再翻译成算法语句即可。
例4.编写一个程序,要求输入的两个正数a 和b 的值,输出a b 和b a 的值。
解析:可以利用INPUT 语句输入两个正数, 然后将a b 和b a 的值分别赋给两个变量输出第二步:计算方差S 2(X a)2 (x a)2 3(x a)2 ;;即可。
也可以将a b和b a的底数和幕数进行交换,故还可以利用赋值语句,采用将两个变量的值互换的办法实现。
程序1:INPUT “a,b:” a,bA=a A bB=b A aPRINT “a b= ” A, “b a= ” BEND程序2:INPUT “a,b:” a,bA=aAbPRINT “a b= ” Ax=aa=bb=xA=aAbPRINT “a b= ” AEND点评:交换a,b的值可通过下面三个语句来实现:t aa bb t通过引进一个变量t实现变量a和b的值的交换,因此只需用赋值语句即可实现算法。
在一些较为复杂的问题算法中经常需要对两个变量的值进行交换,因此应熟练掌握这种方法。
题型3:条件语句例5 .编写程序,输出两个不相等的实数a、b的最大值。
解析:要输出两个不相等的实数a、b的最大值,从而想到对a, b的大小关系进行判断, a,b的大小关系有两种情况:(1) a>b; ( 2) b>a,这也就用到了我们经常提及的分类讨论的方式,找出两个数的最大值。
解:算法一:第一步:输入a,b的数值;第二步:判断a,b的大小关系,a>b,则输出a的值,否则输出b的值。
(程序框图如右图)程序如下:(“IF —THEN —ELSE”句)INPUT “a,b” a,bIF a> b THENPRINT aELSE语若结束END算法二:第一步:输入a,b的数值;第二步:判断a,b的大小关系,若b > a,则将b的值赋予a;否则直接执行第三步;第三步:输出a的值,结束。
(程序框图如右图)程序如下:“IF—THEN ”语句)INPUT “a,b”;a,bIF b > a THENa=bEND IFPRINT aEND点评:1•一个“好”的算法往往像上面教材题中的“小技巧”,要熟练、有效的使用它们,则要在大量的算法设计中积累经验。
我们也可以先根自己的思路设计算法,再与“成形”的、高效的、秀的算法比较,改进思路,改进算法,以避免重复算等问题,提高算法设计的水平!2.我们在平常的训练中尽可能的少引用变量,多的变量不仅会使得算法和程序变得复杂,而且不于计算机的执行。
为此,我们在练习中要积极思考尽可能少引入变量以及如何才能少引入变量。
例6 •高等数学中经常用到符号函数,符号函数的定义为输入x的值,输出y的值。
程序一:(嵌套结构)程序框图:(右图)程序语言:INPUT xIF x>0 THENy=1ELSEIF x=0 THENy=0ELSEy= —1END IFEND IF例需据优计过利1,x 0y 0, x 0 ,试编写程序程序二:(叠加结构)程序框图:程序如下:INPUT xIF x>0 THENy=1END IFIF x=0 THENy=0END IFIF x<0 THENy= —1END IFPRINT yEND点评:1 •条件结构的差异,造成程序执行的不同。