基本的算法语句

合集下载

基本算法语句(优质课)教案

基本算法语句(优质课)教案

基本算法语句(优质课)教案教学目标: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_2_1输入语句、输出语句和赋值语句

1_2_1输入语句、输出语句和赋值语句
1.2.1输入语句、输出语句和赋值语句
课时小结:
(1)、赋值语句中的“=”的作用及应用 (2)、编程的一般步骤:先写算法,再进 行编程。
我们要养成良好的习惯,也有助于数学逻辑 思维的形成。
课时小结:
1、本节介绍了输入语句和输出语句 的结构特点及联系。掌握并应用输入 语句,输出语句编写一些简单的程序 解决数学问题。
X=4,Y=4
END
③:下面的程序运行后,a,b,c各等于多少?
a=3 b=-5 c=8
a=b b=c c=a
a=-5,b=8,c=-5
PRINT a,b,c
END
例2.交换两个变量A和B的值,并输出交换前后的值。
INPUT A INPUT B PRINT A,B x=A A=B
B=x PRINT A,B END
(1)输入语句: 一般格式是:
INPUT “提示内容”;变量
INPUT “x=” ;x
注意(1)“提示内容”与变量之间必须用分号“;”隔开。 (2)提示的内容要用双引号。
(3)提示的内容,双引号,分号也能够不写。 (4)从键盘输入的数据只能是常量(不包括符号常量), 不能是表达式(包括变量和函数)
思考:若把前三步去掉,则运行后显示的结果是什么呢?
(3)用PRINT语句可以输出表达式的值。 如: PRINT 3+5/2
说明:PRINT语句具有计算和输出的双重功能,遇到 表达式时,它先计算,后输出。
想一想:①用PRINT语句可以输出多个表达式的值吗? 如: PRINT 2+3,5﹡6,8/2
②下面的PRINT语句可以这样写吗? 如: PRINT x=3﹡5
算法的三种基本逻辑结构:顺序结构,条件结构和循环结构。

基本算法语句(输入输出赋值)

基本算法语句(输入输出赋值)

算 法
程 序 框 图
程 序 设 计 语 言
文字语言
图形语言
程序设计语言的基本算法语句有哪些?
输入语句、输出语句、赋值语句 条件语句、循环语句
例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.3基本算法语句_循环语句

1[1].2.3基本算法语句_循环语句
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

基本算法语句

基本算法语句
PRINT “提示内容”;表达式
说明: (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)对于一个变量可以多次赋值。

13.2 基本算法语句与算法案例

13.2  基本算法语句与算法案例

对甲、乙两程序和输出结果判断正确的是( B ) A.程序不同,结果不同 B.程序不同,结果相同 C.程序相同,结果不同 解析 D.程序相同,结果相同 从两个程序可知它们的程序语句不同,但其
算法都是求1+2+3+„+1 000,故结果相同.
题型分类 深度剖析
题型一 输入、输出、赋值语句的应用
【例1】 已知一个正三棱柱的底面边长为2,高 为3,用输入、输出语句和赋值语句表示出计算
(2)更相减损术的定义
任给两个正整数(若是偶数,先用2约数),以 较大的数减较小的数 ,接着把所得的差与较小的 数比较,并以大数减小数,直到所得的数 相等为止 , 则这个数(等数)(或这个数与约简的数的乘积)
就是所求的最大公约数.
(3)秦九韶算法 秦九韶算法是我国南宋数学家秦九韶在他的代表 作 《数书九章》中提出的一种用于计算 一元n次多 项式的值 的方法.
基础自测
1.下列关于赋值语句的说法中不正确的是( C ) A.赋值语句就是将表达式所代表的值赋给变量 B.赋值号左右不能互换 C.赋值号与数学中的等号有着完全相同的意义
D.执行赋值语句时,先计算“=”右边表达式
的值 解析 赋值语句中的“=”叫做赋值号,
它和数学中的等号不完全一样.
2.下列赋值语句正确的是( D ) A.a+b=5 B.5= a C.a=b=2 解析 D.a=a+1 赋值语句的一般格式是变量=表达式,赋
程序框图:
程序
题型二
条件语句的应用
【例2】 如图所示,在边长为4的正方形 ABCD的边上有一点P,沿着折线BCDA
由点B(起点)向点A(终点)运动.设 点P运动的路程为x,△APB的面积为y,

基本算法语句

基本算法语句

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.算法的选择结构由 条件语句来表达,条件语句有两种,一
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

§1.3 基本的算法语句教学目标:1.理解学习基本算法语句的意义;2.理解算法步骤、程序框图和算法语句的关系,学会算法语句的写法;3.学会输入语句、输出语句和赋值语句的基本用法;4.学会条件语句的基本用法;5.学会循环语句的基本用法.教学重点:1.输入语句、输出语句和赋值语句的基本用法;2.条件语句的基本用法;3.循环语句的基本用法.教学难点:1.算法语句的写法;2.程序中条件语句的写法;3.理解两种循环语句的表示方法、结构和用法,程序中循环语句的写法.教学过程:一、引入前面我们学习了程序框图的画法,为了让计算机能够理解算法步骤、程序框图,我们开始学习算法的语句.程序设计语言有很多种.如BASIC,Foxbase,pascal,C语言,C++,J++,VB,VC,JB等.为了实现算法中的三种基本的逻辑结构:顺序结构、条件结构和循环结构,各种程序设计语言中都包含下列基本的算法语句:输入语句、输出语句、赋值语句、条件语句和循环语句.今天,我们一起用类BASIC语言学习输入语句、输出语句、赋值语句、条件语句和循环语句.二、讲授新课(一)输入语句、输出语句和赋值语句1.输入语句(1)格式:INPUT “提示内容”;变量(2)功能:可以一次为一个变量或多个变量赋值,实现算法中的输入功能.(3)说明:①又称“键盘输入语句”,在程序运行过程中,停机等候用户由键盘输入数据,而不需要在写程序时指定;②“提示内容”是提示用户输入什么样的信息,“提示内容”和它后面的“;”可以省略;③程序框图中的输入框转化为算法语句就是输入语句;④一个语句可以给多个变量赋值,中间用“,”分隔;⑤无计算功能;⑥用户由键盘输入的数据必须时常量,输入多个数据时,用“,”分隔,且个数要与变量的个数相同.2.输出语句(1)格式:PRINT “提示内容”;表达式(2)功能:先计算表达式的值,然后输出结果,实现了算法中的输出功能.显示在计算机屏幕上,也就输出信息,可以是常量、变量的值或系统信息.(3)说明:①又称“打印语句”,将表达式的值在屏幕上显示出来;②“提示内容”是提示用户想输出什么样的信息,“提示内容”和它后面的“;”可以省略;③程序框图中的输出框转化为算法语句就是输出语句;④表达式可以是变量、计算公式或系统信息;⑤一个语句可以输出多个表达式,不同的表达式之间用“,”分隔;⑥有计算功能,能直接输出计算公式.3.赋值语句(1)格式:LET 变量=表达式(2)功能:先计算表达式的值,然后吧结果赋值给“=”左边的变量,此步完成后,“=”右边变量的值就改变了.(3)说明:①在程序运行过程中给变量赋值;②赋值语句中“=”叫做赋值号,它和数学中的等号不一样.计算机执行赋值语句时,先计算“=”右边表达式的值,然后把这个值给“=”左边的变量;③“LET”可以省略,“=”的右侧必须是表达式,左侧必须是变量;④一个语句只能给一个变量赋值;⑤有计算功能;⑥将一个变量赋值给另一个变量,前一个变量的值保持不变,可先后给一个变量赋多个不同的值,但变量的去职总是最后被赋予的值.4.用BASIC语言编写计算机程序是由若干语句组成,计算机按语句行排列的顺序一次执行程序中的语句,每个完整的程序最后一行是END语句(又称结束语句)表示程序(二)条件语句 1.格式1 (1)框图(2)格式(3)功能:当计算机执行上述语句时,首先对IF后面的条件进行判断,如果满足条件P,那么执行语句A,否则执行END IF 2.格式2 (1)框图(2)格式(3)功能:当计算机执行上述语句时,首先对IF P,那么执行语句体1,在执行END IF 之后的语句,即结束条件语句;如果不满足条件P,那么执行语句体2,再执行END IF 之后的语句,即结束条件语句.3.两种格式的比较(1)相同点:首先对IF 后的条件进行判断,如果复合条件就执行THEN 后面的语句. (2)不同点:对于“IF —THEN —ELSE ”语句,若不符合条件,则执行ELSE 后面的“语句体2”;对于“IF--THEN ”语句,若不符合条件则直接结束该条件语句,转而执行其他后面的语句.4.程序中的条件语句与程序框图的条件结构存在一一对应的关系.(三)循环语句1.当型(WHILE 型)循环语句 (1)框图(2)格式(3)功能:计算机执行此程序时,遇到WHILE 语句,先判断条件是否成立,如果成立,则执行WHILE 和WEND 直接的循环体;然后返回到WHILE 语句再判断上述条件是否成立,如果成立,再执行循环体,这个过程反复执行,直到一次返回到WHILE 语句判断上述条件不成立为止,这时不再执行循环体,而是跳到WEND 语句后,执行WEND 后面的语句.因此当型循环又称“前测试型”循环,也就是我们经常讲的“先测试后执行”、“先判断后循环”.2.直到型(UNTIL 型)循环语句 (1)框图(2)格式(3)功能:计算机执行UNTIL 语句时,先执行DO 和LOOP UNTIL 之间的循环体,然后判断LOOP UNTIL 后面的条件是否成立,如果条件不成立,返回DO 语句重新执行循环体.这个过程反复执行,知道一次判断LOOP UNTIL 后面的条件成立为止,这时不再返回执行循环体,而是跳出循环体执行LOOP UNTIL 条件下面的语句.因此直到型循环又称“后测试型”循环,也就是我们经常讲的“先执行后测试”、“先循环后判断”.3.两种格式的比较(1)都是反复执行循环体的语句.(2)当型循环语句时先判断后循环,直到型循环语句时先循环后判断. 4.程序中的循环语句与程序框图中的循环结构存在一一对应的关系.(四)编写程序思维步骤1.根据问题设计算法分析(算法的自然语言形式);2.将算法分析转化为程序框图,形象直观地把算法分析描述出来(算法的图形语言形式);3.将程序框图用算法语句表述出来,即逐步把程序框图中的算法步骤用算法语句表达出来,即编写出了程序(算法的符号语言形式).三、典例剖析(一)输入语句、输出语句和赋值语句例1判断下列给出的输入语句、输出语句和赋值语句是否正确?为什么?(1)输入语句 INPUT a;b;c(2)输出语句 A=4(3)赋值语句 3=B(4)赋值语句 A=B=2解: (1)错,比例直接应用“,”分隔;(2)错,PRINT语句不能用赋值号“=”;(3)错,赋值语句中“=”号左右不能互换;(4)错,一个赋值语句只能给一个变量赋值.点评:输入语句、输出语句和赋值语句基本上对应于算法中的顺序结构.输入语句、输出语句和赋值语句都不能包括“控制转移”,由他们组成的程序段必然是顺序结构.例2 请写出下面运算输出的结果.(1) a=5b=3c=(a+b)/2d=c*cPRINT “d=”;d(2) a=1b=2c=a+bb=a+c-bPRINT “a=,b=,c=”;a,b,c(3) a=10b=20c=30a=bb=cc=aPRINT “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.点评: 语句的识别问题是一个逆向性思维,一般我们认为我们的学习是从算法步骤(自然语言)至程序框图,再到算法语言(程序).如果将程序摆在我们的面前时,我们要先识别每个语句,在整体把握并概括出程序的功能.例3 用描点法作函数3024323+-+=x x x y 的图象时,需要求出自变量和函数的一组对应值.编写程序,分别计算当5,4,3,2,1,0,1,2,3,4,5-----=x 时的函数值. 解:程序:INPUT “x ”;x y=x^3+3*x^2-24*x+30 PRINT y END例4 编写一个程序,计算一个学生数学,语文,英语三门课的平均成绩. 解:程序:INPUT “Maths=,Chinese=,English=”;a,b,c PRINT “The average=”;(a+b+c)/3 END例5 变换两个变量A 和B 的值,并输出交换前后的值. 解:程序:INPUT A,B PRINT A,B x=A A=B B=x PRINT A,B END例6 已知一个三角形的三边长分别是c b a ,,,它的面积可用海伦—秦九韶公式计算.))()((c p b p a p p S ---=,其中2cb a p ++=.为计算机设计一个算法,输入三角形的三条边长c b a ,,,解:该算法用自然语言表述为Step1:输入三角形三边边长c b a ,,;Step2:计算2cb a p ++=; Step3:计算))()((c p b p a p p S ---=;Step4:输出三角形的面积S . 程序框图为 程序: INPUT a,b,c P=(a+b+c)/2s=SQR(s*(s-a)*(s-b)*(s-c)) PRINT “area=”;s END例7 写出求三个数c b a ,,的方差的程序. 解:程序:INPUT a,b,c d=(a+b+c)/3s=((a-d)^2+(b-d)^2+(c-d)^2)/3 PRINT s END例8 编写一个程序,要求输入两个正数a 和b 的值,输出b a 和ab 的值. 解:程序1:INPUT “a,b:”;a,b A=a^b B=b^aPRINT “a^b=,b^a=”;A,B END程序2:INPUT “a,b:”;a,b A=a^bPRINT “a^b=”;A x=a a=b b=x A=a^bPRINT “b^a=”;A END(二)条件语句例1 分析下面的程序,当输入x 的值为3时,程序的输出结果为________. INPUT x IF x<-1 THEN y=x^2 ELSEIF x<=1 THEN y=0 ELSE y=(-2)^x END IF END IF PRINT y END 答案:8-例2 给出下列程序,如果输入8,26,10--,那么输出的是________. INPUT a,b,c IF a>b THEN a=b END IFIF a>c THEN a=c END IF PRINT a END 答案:26-例3 编写一个程序,求实数x 的绝对值. 解:程序1:INPUT x IF x>=0 THEN PRINT x ELSE PRINT –x END IF END 程序1: INPUT x IF <0 THEN x=-x END IF PRINT x END类型题1: 给计算机编写一个算法,输入一个自变量x 的值,求分段函数⎩⎨⎧<≥+=002)(2x x x x x f 的函数值.解:该算法用自然语言表述为Step1:输入x 的值.Step2:进行判断,如果0≥x ,则2)(+=x x f ,否则2)(x x f =.Step3:输出)(x f 的值.程序框图为 程序: INPUT x IF x>=0 THEN y=x+2 ELSE y=x^2 END IFPRINT “f(x)=”;y END类型题2: 函数⎪⎩⎪⎨⎧<-=>=010001x x x y ,编写一个算法,输入x 的值,输出y 的值. 解:该算法用自然语言表述为Step1:输入x 的值.Step2:进行判断,如果0>x ,则输出1=y ,结束;否则进入Step3. Step3:进行判断,如果0=x ,则输出0=y ,结束;否则输出1-=y ,结束. 程序框图为: 程序1: INPUT x IF x>0 THEN y=1 ELSEIF x=0 THEN y=0 ELSE y=-1 END IF END IF PRINT “y=”;y END 程序1:INPUT x IF x>0 THEN y=1 END IF IF x=0 THEN y=0 END IF IF x<0 THEN y=-1 END IF PRINT “y=”;y END点评: (1)条件结构的差异,造成程序执行的不同.当输入x 的数值时,“程序1”先判断外层条件,依次执行不同的分支,随后再判断内层条件;而“程序2”中执行了对“条件1”的判断,同时也对“条件2”进行判断,是按程序中条件语句的先后依次判断所有的条件,满足哪个条件就执行哪个语句.(2)条件语句的嵌套可多于两层,可以表达算法步骤中的多重限制条件.类型题3 乘坐火车时,可以托运货物,从甲地到乙地,规定每张火车客票托运费计算方法是:行李质量不超过kg 50时按25.0元kg /;超过kg 50而不超过kg 100时,其超过部分按35.0元kg /;超过kg 100时,其超过部分按45.0元kg /.编写程序,输入行李的质量,计算出托运的费用.解:算法分析:数学模型实际上为:y 关于x 的分段函数.关系式为:⎪⎩⎪⎨⎧>-+⨯+⨯≤<-+⨯≤<=100)100(45.05035.05025.010050)50(35.05025.050025.0x x x x x xy , 算法步骤:第一步 输入行李质量x .第二步 当50≤x 时,计算x y 25.0=,否则,执行下一步.第三步 当100≤x 时,计算535.0-=x y ,否则,计算1545.0-=x y . 第四步 输出托运费y . 程序框图为:略程序为: INPUT x IF x<=50 THEN y=0.25*x ELSEIF x<=100 THEN y=0.35*x-5 ELSEy=0.45*x-15 END IF END IF PRINT “y=”;y END例4 判断一元二次函数)0(02≠=++a c bx ax 是否有根. 分析:ac b 42-=∆,当0≥∆时,方程有实根;当0<∆时,方程无实根. 解:该算法用自然语言表述为Step1:输入三个系数c b a ,,. Step2:计算ac b 42-=∆.Step3:判断0≥∆是否成立.若是,则输出“方程有实根”;程序框图为: 程序为:INPUT “a,b,c=”;a,b,c d=b^2-4*a*c IF d>=0 THENPRINT “Have real root ELSEPRINT “No real root ” END IF END变形题1: 设计一个求解一元二次方程)0(02≠=++a c bx ax 的算法,并画出程序框图表示.解:算法:第一步:输入三个系数c b a ,,. 第二步:计算ac b 42-=∆.第三步:判断0≥∆是否成立.若是,则计算;2,2aq a b p ∆=-= 否则,输出“方程无实根”,结束算法.第四步:判断0=∆是否成立,若是,则输出p x x ==21; 否则,计算q p x q p x -=+=21,,并输出21,x x . 程序框图:略 程序为:INPUT “a,b,c=”;a,b,c d=b^2-4*a*c IF d>=0 THEN p=-b/(2*a) q=SQR(d)/(2*a) IF d=0 THENPRINT “x1=x2=”;p ELSEPRINT “x1=,x2=”;p+q,p-q END IF ELSEPRINT “No real root ” END IFEND变式题2: 设计算法,求0=+b ax 的解,并画出流程图. 解:算法:第一步:判断0≠a 是否成立.若成立,输出结果“解为ba-”. 第二步:判断0,0==b a 是否成立.若成立,输出结果“解集为R ”.第三步:判断0,0≠=b a 是否成立.若成立,输出结果“方程无解”,结束算法. 程序框图:略 程序为:INPUT “a,b=”;a,b d=b^2-4*a*c IF a=0 THEN IF b=0 THENPRINT “All real ” ELSEPRINT “No root ” END IF ELSEPRINT “x=”;-b/a END IFEND变式题3: 设计算法,找出输入的三个不等实数c b a ,,的最大值,并画出流程图. 解:算法:第一步:输入c b a ,,的值.第二步:判断b a >是否成立,若成立,则执行第三步;否则执行第四步. 第三步:判断c a >是否成立.若成立,则输出a ,并结束;否则输出c ,并结束. 第四步:判断c b >是否成立,若成立,则输出b ,并结束;否则输出c 并结束. 程序框图:略 程序为: INPUT a,b,c IF a<b THEN a=b END IFIF a<c THEN a=c END IF PRINT END例5 编写一个程序,使任意输入的3个整数按从大到小的顺序输出.解:算法分析:用c b a ,,表示输入的3个整数.为了节约变量,把他们重新排列后,仍用c b a ,,表示,并使c b a ≥≥.具体操作步骤如下:第一步,输入3个整数c b a ,,.第二步,将a 与b 比较,并把小者赋给b ,大者赋给a .第三步,将a 与c 比较,并把小者赋给c ,大者赋给a (此时a 已是三者中最大的). 第四步,将b 与c 比较,并把小者赋给c ,大者赋给b (此时c b a ,,已按从大到小的顺序排列好).第五步,按顺序输出c b a ,,.程序: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(二)循环语句例1 下列程序执行后输出结果为________.i=11S=1DOS=S*ii=i-1LOOP UNTIL i<9PRINT SEND答案:990例2 下列程序输出的结果是( )i=1S=0WHILE i<=4S=S*2+1i=i+1WENDPRINT SENDA.3B.7C.15D.19答案: C例3 已知以下程序,则( )x=-1DOx=x*xLOOP UNTIL x>10PRINT xENDA.输出结果是1B.能执行一次C.能执行10次D.是“死循环”,有语法错误答案: D例7 饿汉吃饼,下面是描述描述一个饿汉吃饼的情况,如果饥饿的话就吃一张饼,直到探究: 找出当型和直到型的区别(1)当型:先判断条件,再执行循环体;直到型:_________________________. (2)当型和直到型的条件_________.(3)当型:满足条件时执行循环体;直到型____________________________. 点评: (1)当型型循环结构在执行循环体之前,对循环条件进行判断,当条件满足时执行循环体,不满足则停止循环,(2)对循环条件进行判断,行循环体,满足则停止循环,后面的步骤.例8 设计一个计算100321++++Λ的算法解:算法如下:第一步:输入n (这里100=n ). 第二步:0=sum ,1=i . 第三步:i sum sum +=.第四步:1+=i i .第五步:如果i 不大于n ,返回第三步;否则,算法结束.最后得到的sum 值就是100321++++Λ的值.程序框图为:点评: 这里我们用的是当型循环结构,那么本题如果用直到型循环结构,其算法又该如何?类型题1: 已知有一列数1,,43,32,21+n nΛ,设计一个算法实现该列数的前20项和. 解:算法如下:第一步:输入n (这里20=n ).第二步:0=sum ,1=i .第三步:1++=i isum sum ,1+=i i . 第四步:如果i 不大于n ,返回第三步;否则,算法结束.最后得到的sum 值就是该列数的前20项和.程序框图为:略类型题2: 设计一个算法计算100642++++Λ. 解:算法如下:第一步:输入n (这里100=n ).第二步:0=sum ,2=i .第三步:i sum sum +=,2+=i i .第四步:如果i 不大于n ,返回第三步;否则,算法结束.最后得到的sum 值就是100642++++Λ的值.程序框图为:略类型题3: 设计一个算法计算2222100321++++Λ. 解:算法如下:第一步:输入n (这里100=n ).第二步:0=sum ,1=i .第三步:2i sum sum +=,1+=i i .第四步:如果i 不大于n ,返回第三步;否则,算法结束.最后得到的sum 值就是2222100321++++Λ的值.程序框图为:略类型题4: 设计一个算法计算632421++++Λ.解:算法如下:第一步:输入n (这里63=n ).第二步:0=sum ,0=i .第三步:isum sum 2+=,1+=i i .第四步:如果i 不大于n ,返回第三步;否则,算法结束.最后得到的sum 值就是632421++++Λ的值.程序框图为:略类型题5: 设计一个算法计算100321⨯⨯⨯⨯Λ. 解:算法如下:第一步:输入n (这里100=n ).第二步:0=sum ,1=i . 第三步:i sum sum ⨯=,1+=i i .第四步:如果i 不大于100,返回第三步;否则,算法结束.最后得到的sum 值就是100321⨯⨯⨯⨯Λ的值.程序框图为:略例9 高中某班一共有40名学生,浙江算法流程图,统计班级学生成绩良好(分数80>)和优秀(分数90>)的人数.分析:用循环结构实现40个成绩的输入,每循环一次就输入一个成绩s ,然后对s 的值进行判断.设两个计数器n m ,,如果90>s ,则1+=m m ,如果80>s ,则1+=n n .设计数器i ,用来控制40个成绩的输入,注意循环条件的确定.解: 略例10 任意给定一个大于1的整数n ,试设计一个算法对n 是否为质数做出判断. 分析:(1)质数是只能被1和自身整除的大于1的整数.(2)要判断一个大于1的整数n 是否为质数,只要根据质数的定义,用比这个整数小的数去除n ,如果它只能被1和本身整除,而不能被其它整数整除,则这个数便是质数.解:算法用自然语言表述为:第一步:判断n 是否等于2.若2=n ,则n 是质数;若2>n ,则执行第二步. 第二步:令2=i .第三步:用i 除n ,得到余数r .第四步:判断0=r 是否成立.若是,则n 不是质数,结束算法;否则,将i 的值增加1,仍用i 表示.第五步:判断1->n i 是否成立.若是,则n 是质数,结束算法;否则,返回第三步. 程序框图为:略说明:本算法是用自然语言的形式描述的.设计算法一定要做到以下要求:(1)写出的算法必须能解决一类问题,并且能够重复使用. (2)要使算法尽量简单、步骤尽量少. (3)要保证算法正确,且计算机能够执行.例11 用二分法设计一个求方程)0(022>=-x x 的近似根的算法. 分析:该算法实质是求2的近似值的一个最基本的方法. 解:设所求近似根与精确解的差的绝对值不超过d ,算法:第一步:令()22-=x x f .因为()()02,01><f f ,所以设2,121==x x .第二步:令221x x m +=,判断)(m f 是否为0.若是,则m 为所求;若否,则继续判断()()m f x f ⋅1大于0还是小于0.第三步:若()()01>⋅m f x f ,则m x =1;否则,令m x =2.第四步:判断d x x <-21是否成立?若是,则21,x x 之间的任意值均为满足条件的近似根;若否,则返回第二步.程序框图为:略例12 写出一个求有限整数序列中的最大值的算法. 解: 算法如下:S1 先假定序列中的第一个整数为“最大值”.S2 将序列中的下一个整数值与“最大值”比较,如果它大于此“最大值”,这时你就假定“最大值”是这个整数. S3 如果序列中还有其他整数,重复S2.S4 在序列中一直到没有可比的数为止,这时假定的“最大值”就是这个序列中的最大值. 程序框图为:略例13 求444344421Λ4104141414个共++++,画出程序框图.分析: 如果采用逐步计算的方法,利用顺序结构来实现,则非常麻烦,由于前后的运算需要重复多次相同的结果,所以应采用循环结构,可用循环结构来实现其中的规律.观察原式中的变化的部分及不变的项,找出总体的规律是x14+,要实现这个规律,需设初值为4解: 算法步骤:第一步 输入10,4==n x第二步 1=i 第三步 xx 14+=,1+=i i 第四步 判断n i ≥是否成立.若成立,则输出x ,结束算法;否则,返回第三步. 程序框图为:略例15 某厂2005年的生产总值为200万元,技术革新后预计以后美年的年生产总值都比上一年增长%5,设计一个程序框图,输出预计年生产总值超过300万元的最早年份.解:算法步骤:第一步 输入2005年的年生产总值200.第二步 计算下一年的年生产总值.第三步 判断所得的结果是否大于300,若是,则输出该年的年份,结束算法; 否则,返回第二步.程序框图为:略。

相关文档
最新文档