当前位置:首页 >> 数学 >>

第一章-算法初步1


算法初步
§1.1.2 .1 程序框图 顺序结构和条件结构

新课:一.程序框图:又称流程图,是一种用程 序框、流程线及文字说明来表示算法的图形。

程序框

名称
终端框(起 止框) 输入、输出 框 处理框(执 行框) 判断框 流程线 连接点

功能与作用
表示一个算

法的起始和结束 表示算法的输入和输出的信息 赋值、计算 判断一个条件是否成立,用 “是”、“否”或“Y”、 “N”标明 连接程序框 连接程序图的两部分

判断整数n是否为质数的算法 第一步,给定一个大于2的整数n; 第二步,令i=2; 第三步,用i除n,得到余数r;

开始

输入n

i=2
求n除以i的余数r i=i+1 否

第四步,判断“r=0”是否成立. i>n-1或r=0? 若是,则n不是质数,结束算法; 否则,令i= i +1; 是
r=0?



第五步,判断“i>(n-1)” 是 是否成立,若是,则n是质 输出“n不是质数” 输出“n是质数” 数,结束算法;否则,返 回第三步.
结束

开始

顺 序 结 构

输入n

i=2 求n除以i的余数r

循 环 结 构

i=i+1
i>n-1或r=0? 是 r=0?





条 是 件 结输出“n不是质数” 输出“n是质数” 构 结束

二.算法三种基本逻辑结构:

1.顺序结构:由若干个依次执行的步骤组成。
任何算法都离不开顺序结构。
步骤n 顺序结构可单独出现, 也可出现在条件结构或 循环结构

步骤n+1

a?b?c 三角形面积为s ? p( p ? a)( p ? b)( p ? c)其中p ? (a、b、c为三角形三边长) 2

例1 已知一个三角形的三边边长分别为a、b、c,利用 海伦-秦九韶公式设计一个算法,求出它的面积,画出 它的程序框图.

例1 已知一个三角形的三边边长分别为a、b、c,利用 海伦-秦九韶公式设计一个算法,求出它的面积,画出 它的程序框图.
三角形面积为s ? p( p ? a)( p ? b)( p ? c) 其中p ? a?b?c (a、b、c为三角形三边长) 2
开始 输入a,b,c

第一步,输入三角形 三条边的边长a,b,c. 第二步,计算 a + b+ c p = 2 第三步,计算 .

p=

a + b+ c 2

S = p(p - a)(p - b)(p - c)
输出S 结束

S = p(p - a)(p - b)(p - c)
第四步,输出S.

例2 已知下图是“求一个正奇数的平方加5的值”的程序 框图,若输出的数是30,求输入的数n的值.
开始 输入正整数n x=2n-1 y=x2+5

顺序结构的程序框图的基本特征: (1)必须有两个起止框,穿 插输入、输出框和处理框,没 有判断框.

(2)各程序框从上到下用流 程线依次连接. (3)处理框按计算机执行顺 序沿流程线依次排列.

输出y
结束

2、条件结构

在某些问题的算法中,有些步骤只有在一定条件下才会被执行,算 法的流程因条件是否成立而变化.在算法的程序框图中,由若干个 在一定条件下才会被执行的步骤组成的逻辑结构,称为条件结构, 用程序框图可以表示为下面两种形式: 满足条件?




满足条件?




步骤A

步骤B

步骤A

你如何理解这两种程序框图的共性和个性? 例3. 任意给定3个正实数,设计一个算法,判断分别 以这3个数为三边边长的三角形是否存在.画出这个算 法的程序框图.

例3. 任意给定3个正实数,设计一个算法,判断分别 以这3个数为三边边长的三角形是否存在.画出这个算 法的程序框图. 第一步,输入三个 正实数a,b,c.
开始 输入a、b、c

第二步,判断 否 a+b>c,a+c>b, a+b>c,b+c>a, b+c>a是否同时成立 c+a>b是否同时成 立.若是,则存在 是 输出“不存在 输出“存在这样的三角形” 这样的三角形; 这样的三角形” 否则,不存在这 样的三角形. 结束

例4 设计一个求解一元二次方程ax2+bx+c=0的算法, 并画出程序框图表示. 算法分析: 第一步,输入三个系数a,b,c. 第二步,计算△=b2-4ac. 第三步,判断△≥0是否成立.若是,则计 b V p = , q = 算 2a 2a ;否则,输出“方程没有 实数根”,结束算法. 第四步,判断△=0是否成立. 若是,则输出x1=x2=p, 否则,计算x1=p+q,x2=p-q并 输出x1,x2.

程序框图:

开始 输入a,b,c △ = b2 - 4 a c △ ≥0 ? 是
p= b 2a



q=

V 2a



△=0? 否 x1=p+q x2=p-q 输出“方程没有 实数根”

输出x1=x2=p

输出x1,x2 结束

例5.你能画出求分段函数
?x ? 2 x ? 1 ? y ? ?3 x ? 1 0 ? x ? 1 ?1 - x x? 0 ?

的值的程序框图吗?

开始

输入x x>1?
是 否
1≥x≥0?





y=x+2

y=3x-1

y=1-x

输出y
结束

3.循环结构:在一些算法中,也经常会出现从某处开始,按
照一定条件,反复执行某一处理步骤的情况,这种结构称为循环 结构.
循环体
循环体 满足条件?



满足条件?







直到型
循环体:反复执行的处理步骤称为循环体

当型

直到型循环:在执行了一次循环体之后,对控制循环体进行判 断,当条件不满足时执行循环体,满足则停止. 当型循环:在每次执行循环体前对控制循环条件进行判断,当条 件满足时执行循环体,不满足则停止.

3.循环结构:在一些算法中,也经常会出现从某处开始,按
照一定条件,反复执行某一处理步骤的情况,这种结构称为循环 结构.
循环体
循环体 满足条件?



满足条件?







直到型 当型 当型循环与直到循环的区别: ? ①直到循环至少执行一次循环体.当型循环可以不执 行循环体, ? ②直到型循环先执行后判断,当型循环先判断后执行 . ? ③对同一算法来说,直到循环和当型循环的条件互为 反条件.

3.循环结构 直到型
循环体
满足条件?

当型

循环体



满足条件?







(2)循环结构中包含条件结构,条件结构中不含循环结构 . 是就直到 否就直到

循环结构的设计步骤
关键:确定循环体 初始值 控制条件

(1)确定循环结构的循环变量和初始条件; (2)确定算法中需要反复执行的部分,即循环体; (3)确定循环的终止条件.

例3:设计一个计算1+2+3+?+100的值的算法,并画出程 序框图: 开始

算法1:

第一步:确定首数a,尾 数b,项数n; 第二步:利用公式“总和 =(首数+尾数)×项数/2” 求和; 第三步:输出求和结果.

输入a,b,n Sum=(a+b)*n/2 输出Sum

结束

例3:设计一个计算1+2+3+?+100的值的算法,并画出程 序框图:

第一步,令i=1,S=0.
第二步,计算S =S+i. 第三步,计算i =i+1; 第四步,判断i>100是否 成立.若是,则输出S, 结束算法;否则,返回 第二步. 思考5:用直到型循环 结构,上述算法的程 序框图如何表示?

开始 i=1 S=0

初始值

S=S+i
i=i+1 否

循环体

i>100? 是

控制条件

输出S 结束

例3:设计一个计算1+2+3+?+100的值的算法,并画出程 序框图: 开始 开始 思考6:用当型 循环结构? i=1
i=1

S=0

S=0 i=i+1 S=S+i 否

S=S+i
i=i+1

i>100?

i≤100?
否 输出S 结束




输出S 结束

变1:设计一个计算1+3+?+99的值的算法,并画出程序 框图: 开始
开始 i=1 S=0 i=1

S=0

S=S+i
i=i+2 i=i+1 否

i=i+1 i=i+2
S=S+i

i>100?

i≤100?
否 输出S 结束




输出S 结束

变2:设计一个计算1*2 * 3 * ? * 100的值的程序 框图:
开始 i=1 S=0 S=1 开始 i=1 S=0 S=1 i=i+1 S=S+i S=S*i 否

S=S+i S=S*i
i=i+1

i>100?

i≤100?
否 输出S 结束




输出S 结束

变3.设计一个计算 12+22+32+…+1002的 一个程序框图.

开始

i=1
Sum=0

i=i+1
i≤100? 否


Sum=sum+i2

输出sum
结束

例4.某工厂2005年的年生产总值为200万元,技术革新后 预计以后每年的年生产总值都比上一年增长5%.设计一个 程序框图,输出预计年生产总值超过300万元的最早年份. 算法分析: 第一步, 输入2005年的年生产总值. 第二步,计算下一年的年生产总值.

第三步,判断所得的结果是否大于300.若是,则输出该 年的年份;否则,返回第二步. 循环结构: (1)循环体:设a为某年的年生产总值,t为年生产总值 的年增长量,n为年份,则t=0.05a,a=a+t,n=n+1. (2)初始值:n=2005,a=200.
(3)控制条件:当“a>300”时终止循环.

程序框图:

开始 n=2005 a=200 t=0.05a a=a+t n=n+1 a>300? 否

是 输出n
结束

开始 判断整数n是否为质数的算法 第一步,给定一个大 输入n 于2的整数n; i=2 第二步,令i=2; 求n除以i的余数r 第三步,用i除n,得 到余数r; i=i+1 否 第四步,判断“r=0” 是否成立.若是,则n不 i>n-1或r=0? 是质数,结束算法;否 是 否 则,令i= i +1; r=0? 是 第五步,判断“i>(n-1)” 是否成立,若是,则n是质 输出“n不是质数”输出“n是质数 数,结束算法;否则,返 回第三步.

结束

满足条件?




循环体

步骤A

步骤B

满足条件?





条件结构和循环结构的基本特征:

(1)程序框图中必须有两个起止框,穿插输入、输出 框和处理框,一定有判断框.

复习:算法三种基本逻辑结构:

1.顺序结构:任何算法
都离不开顺序结构。
开始

步骤n

步骤n+1

例1.设计一个如何 交换x,y两个变量的 值的算法.

p?x

S1
S2

p?x ; x? y ; y? p .

x? y y? p
结束

S3

算法初步
§1.1.2 .1 程序框图的画法

循环结构:在一些算法中,也经常会出现从某处开始,按照一定条 件,反复执行某一处理步骤的情况,这种结构称为循环结构.
满足条件?




循环体

步骤A

步骤B

满足条件?





循环结构中包含条件结构,条件结构中不含循环结构 .

作业.画出

1 2? 2? 2? 2? 2? 1 1 1 1 1 1 2? 2

的值的程序框图.

解法1. 开始
a1 ? 1 2
1 ? 2 ? a1
1 2 ? a2 a4

1
1 ? 2 ? a3

a5
a6

1 ? 2 ? a4
1 ? 2 ? a5
1 ? 2 ? a7

a2

a7
a3 ?

输出a7 结束

1

解法2.

1 t ? 2? t
t=0

开始 i=1

t=1/2
i=i+1
t ?

i≤7?



i≤6?



1 2 ? t

输出t

结束

新课讲授三.程序框图的画法
考点1:程序框图的画法 例1:用“二分法”求方程 x2 ? 2 ? 0( x ? 0) 的近似解的 算法如何设计? 第一步,令f(x)=x2-2,给定精确度d.

第二步,确定区间[a,b],满足f(a)·f(b)<0. 第三步,取区间中点
a?b m? 2

.

第四步,若f(a)·f(m)<0,则含零点的区间为[a,m]; 否则,含零点的区间为[m,b].将新得到的含零点的区间 仍记为[a,b]. 第五步,判断[a,b]的长度是否小于d或f(m)是否等于0. 若是,则m是方程的近似解;否则,返回第三步. 思考1:该算法中哪几个步骤可以用顺序结构来表示?这 个顺序结构的程序框图如何?

考点1:程序框图的画法 例1:用“二分法”求方程 x2 ? 2 ? 0( x ? 0) 的近似解的 算法如何设计? 思考1:该算法中哪几个步骤可以用顺序结构来表示?这 个顺序结构的程序框图如何?
f(x)=x2-2 输入精确度d 和初始值a,b
a?b m? 2

考点1:程序框图的画法 例1:用“二分法”求方程 算法如何设计?

x ? 2 ? 0( x ? 0) 的近似解的
2

思考2:该算法中第四步是什么逻辑结构?这个步骤用程 序框图如何表示?


f(a)f(m)<0?


a=m

b=m

例1:用“二分法”求方程 x2 ? 2 ? 0( x ? 0) 的近似解的 算法如何设计? 思考3:该算法中哪几个步骤构成循环结构?这个循环结 构用程序框图如何表示?
第三步

第四步
|a-b|<d或 f(m)=0? 否

是 输出m

思考4:根据上述分析,你能画出表示整个算法的 程序框图吗? 开始
f(x)=x2-2
输入精确度d 和初始值a,b
m = a + b 2

否 a=m

f( a )f(m)<0? ? 是 b=m 否

|a-b|<d或f(m)=0? 是 输出m
结束

小结: 设计一个算法的程序框图的基本思路: 第一步,用自然语言表述算法步骤. 第二步,确定每个算法步骤所包含的逻辑结构,并用相应 的程序框图表示. 第三步,将所有步骤的程序框图用流程线连接起来,并加 上两个终端框. 画程序框图的规则: 1.使用标准的框图符号 2.框图一般按从上到下,从左到右的方向画 3.除判断框外.大多数框图符号只有一个进入点 和一个退出点. 4.一种判断是“是”与“否”两支的判断有且仅 有两个结果,另一种是多支判断,有几种不同的结 果. 5.在图形符号内描述的语言要非常简练,清楚.

例2.设计一个求1+2+4+7+…+46的算法,并画出 相应的程序框图. 算法如下: ?第一步:S=0; ?第二步:i=1; ?第三步:t=-1; ?第四步:S=S+i; ?第五步:i=i+t. ?第六步:t=t+1; ?第七步:判断i是否大于46,若是输出S,算 法结束;否则返回第四步.

开始 S=0

1
t=t+1

i=1 i=i+t t=-1 S=S+i

1

i >46? 是 输出S



结束

例2.设计一个求1+2+4+7+…+46的算法,并画出 相应的程序框图. 算法如下: ?第一步:S=0; ?第二步:i=1; ?第三步:t=0; ?第四步:S=S+i; ?第五步:t=t+1; ?第六步:i=i+t. ?第七步:判断i是否大于46,若是输出S,算 法结束;否则返回第四步.

开始 S=0

1
S=S+i

i=1 t=t+1 t=0 i=i+t

1

i >46? 是 输出S



结束

练习:画出求三个不同实数中的最大值的程序框图.
开始 输入a,b,c 否 否 a>b?


b>c? 是 x=b a>c? 否 x=c

x=c

是 x=a

输出x

结束

考点2:程序框图的阅读与理解

例3:考察下列程序框图: 思考1:怎样理解该程序框图中 包含的逻辑结构? 开始 思考2:该程序框图中的循环 n=1 结构属于那种类型? 思考3:该程序框图反映 S=0 的实际问题是什么?
n=n+1 S=S-n×n S=S+n×n 否


n≤100? 否 输出S 结束 是 n是偶数?

求12-22+32-42+?+992-1002的值.

例4.根据给出的两个流程图, 图1 分析: 输入x (1)图1所解决的是什么问题? (2)回答: Y N x?2 ①当输入的x值为1时,输出 y 的值为多大? y ? ?2 y ? x2 ? 2x ②要使输出的y值为8,输入的 x值为多大? 输出y ③输入的x和输出的y能相等 吗? 结束
开始

图2
N

开始 输入a,b Y

(3)图2所解决的是什 么问题?

(4)回答:①第一个判 a=0 断框中的内容a=0改 为 a ? 0 ,第二个判 Y N x = -b/a b?0 断框中的 b ? 0 改 为b=0行吗?②连接 输出“x是 输出“方 输出“方程 第一个判断框的流 方程的根” 程无实数 根为全体实 程线上的“是”或 根” 数” “否”能否互相交 换?③连接第二个判 结束 断框的流程线上的 “是”或“否”能 否互相交换?

练习.下面流程图表示一个什么样的算法?
开始 输入a,b,c Y

a>b且 a>c
N

输出a

b>c
N
输出c

Y

输出b

结束

作业: P19练习(只要求画出算法的 程序框图). P20习题1.1B组:2.

知识探究(一):多重条件结构的程序框图

思考1:解关于x的方程ax+b=0的算法步骤 如何设计? 第一步,输入实数a,b.

第二步,判断a是否为0.若是,执行第三 b 步;否则,计算 x = - ,并输出x,结束 a 算法.
第三步,判断b是否为0.若是,则输出 “方程的解为任意实数”;否则,输出 “方程无实数解”.

思考2:该算法的程序框图如何表示?
开始

输入a,b a=0? 否
b x = a



b=0? 是



输出“方程的解为 任意实数”

输出“方程无 实数根”

输出x 结束

1.2 基本算法语句(1)
输入语句、输出语句和赋值语句

思考1:在每个程序框图中,输入框与输 出框是两个必要的程序框,我们用什么 图形表示这个程序框?其功能作用如何?

表示一个算法输入和输出的信息.

思考2:已知函数y=x3+3x2-24x+30,求自 变量x对应的函数值的算法步骤如何设计?
第一步,输入一个自变量x的值.

第二步,计算y=x3+3x2-24x+30.
第三步,输出y. 思考3:该算法是什么逻辑结构?其程序 框图如何?

思考3:该算法是什么逻辑结构?其程序 框图如何?
开始
输入x y=x3+3x2-24x+30

输出y
结束

思考4:我们将该程序框图中第一个程序框省 略,后四个程序框中的内容依次写成算法语 句,就得到该算法的计算机程序:
开始

INPUT


“x=”;x “y=”;y

PRINT y=x3+3x2-24x+30 END
输出y 结束

输入x

y = x 3 + 3 * x 2 - 24 * x + 30 y=x^3+3*x^2-24*x+30

你能理解这个程 序的含义吗?

INPUT


“x=”;x “y=”;y

y = x 3 + 3 * x 2 - 24 * x + 30

PRINT END

这个程序由4个语句行组成,计算机 按语句行排列的顺序依次执行程序中的 语句,最后一行的END语句表示程序到此 结束.

新课:一.输入语句:在这个程序中,第1行中的 INPUT语句称为输入语句,其一般格式是:

INPUT “提示内容”;变 量: 1.输入语句与程序框图中的输入框对应 说明
2.输入语句作用:实现算法的输入信息功能。 3.“提示内容”提示用户输入什么样的信息,它可 以用字母、符号、文字等来表述 4.变量是指程序在运行时其值是可以变化的 量,一般用字母表示 5.提示内容加引号,提示内容与变量之间用分号隔开. 若输入多个变量,变量与变量之间用逗号隔开.

问1:输入框 以怎样表述?

输入a,b,c

转化为输入语句可

新课:二.输出语句:在这个程序中,第3行中的PRINT 语句称为输出语句,其一般格式是:

PRINT “提示内容”;表达式
说明: 1.输出语句与程序框图中的输出框对应 2.输出语句作用:实现算法的输出结果功能。 3.“提示内容”提示用户输出什么样的 信息,它可以用字母、符号、文字等来表 述 4.表达式一般是表示输出信息所对应的字母或代数式 . 5.输出语句可以输出常量、变量、表达式的值以及字符 问2:在计算a与b的和S时,输出框 输出S 转化为输出 语句可以怎样表述? PRINT “S=”;S 或 RINT “Sum=”;a+b

例1 写出计算一个学生语文、数学、英语三门课 的平均成绩的算法、程序框图和程序 . 程序框图: 算法分析: 开始 第一步,输入该学生数学、语 文、英语三门课的成绩. 输入a,b,c a + b+ c 第二步,计算 y = . 第三步,输出y. 程序: 输出y INPUT “Chinese=”;a INPUT “Maths=”;b 结束 INPUT “English=”;c PRINT “The average=”;(a+b+c)/3 END
3
a + b+ c y= 3

新课:三、赋值语句:在上述求函数值的程序 中,第二行中的语句称为赋值语句,其一般 格式是: 变量=表达式

说明: 1、赋值语句与程序框图中表示赋值的处理框对应 2、作用:将表达式所代表的值赋给变量。 3、赋值语句中的“=”叫做赋值号,而不是“等号”。 4、格式中右边“表达式”可以是一个数据、常量和算式 . 如果“表达式”是一个算式时,计算机在执行赋值语句 时,先计算“=”右边表达式的值,然后把这个值赋给 “=”左边的变量. 5、赋值语句的左边只能是变量,而不是表达式 问3: 执行框 m =
2

2x + y 转化为赋值语句可以怎样表述? ? 3

m = (2 * x + y 2)/ 3

例1 写出计算一个学生语文、数学、英语三门课 的平均成绩的算法、程序框图和程序. 开始
INPUT “Maths=“;a INPUT “Chinese=“;b
输入a,b,c

INPUT “English=“;c
PRINT “The average=“;(a+b+c)/3 END INPUT “a,b,c”;a,b,c

a + b+ c y= 3
输出y 结束 a=100 b=85 C=90 PRINT “y=”;(a+b+c)/3 END

y=(a+b+c)/3
PRINT “y=”;y

例2:考察给一个变量重复赋值的程序: A=10 A=A+15 25 PRINT A END 那么,A的输出值是多少?

例3 写出“交换两个变量A和B的值,并 输出交换前后的值”的程序.
INPUT “A,B=”;A,B PRINT x=A A ,B

A=B B=x PRINT END

A ,B

练习1:写出下边程序运行的结果: 10,20,30 若输入10,20,30,则输出结果是 20,30,20
INPUT a,b,c PRINT a,b,c a=b b=c c=a PRINT a,b,c END

练习 2、写出下列语句描述的算法的输出结果 (3) a=10 (1) a=5 (2) a=1 b=20 b=3 b=2 c=30 c=(a+b)/2 c=a+b a=b d=c*c b=a+c-b b=c d PRINT a,b,c PRINT “d=”; c=a PRINT a,b,c 1 2 3 d= 16 20 30 20

例4:判断下列给出的输入语句、输出语 句和赋值语句是否正确?为什么?
(1)输入语句 INPUT a;b;c (2)输入语句 INPUT x=3 a,b,c INPUT x PRINT A

(3)输出语句 PRINT A=4
(4)输出语句 PRINT 20.3*2

(5)赋值语句 3=B
(6)赋值语句 x+y=0

B=3 × ×

(7)赋值语句 A=B=2
(8)赋值语句 T=T*T

C?D 练2:对于分式 在程序语句中表达式正确的是( A?B A、C ? D / A ? B D B、(C ? D) / A? B C、C ? D ( / A ? B) D、(C ? D) ( / A ? B)

例5、下列程序语言中表达式的值正确的是() (A) 6 ? SQR(4) ? 3 2*2 ? 15
? ? 4

(B)( 3 ? 5 ? 4) ? SQR(9)2 ? 17 (C)(5 ? 3 ? ( 12 ? 7)) /4?5
?

c

(D)(2 ? 3) ? 5 ? 4 ? 2 ? 3SQR(4)2 ? 72

计算机中一些特殊程序符号 : ( 1)乘 ? (2)除( / 3)乘方 ? (4)余数MOD

(5)小于等于<=(6)大于等于〉=(7)不等号〈〉

(8)开根号SQR(9)ABS绝对值(10)且AND(11)或0R

数学符号与程序符号的对比
数学符号 × ÷
ab

≤ ≥ ≠ |x|
x x除以y的商

x除以y的余数

程序符号 * / a^b <= >= <> ABS(x) SQR(x) x /y x MOD y

例6、根据下列程序,画出程序框图 INPUT “x,y=“;x,y x=x/2 y=3*y X=x+1 y=y-1 PRINT “x=“;x, “y=“; y END

例7:(1)编写一个程序,要求输入两个正数a,b值, 输出ab与ba的值. (2)写出用公式法求x2-2x-8=0的根的程序.

1.2 基本算法语句 1.2.2 条件语句

复习

1.输入语句、输出语句和赋值语句的 一般格式分别是什么?
语句 一般格式
是否有计算 功能

输入语句 INPUT “提示文字”;变量



输出语句 PRINT “提示内容”;表达式 有 赋值语句 变量=表达式 有

数学符号与程序符号的对比
数学符号 × ÷
ab

≤ ≥ ≠ |x|
x x除以y的商[ ]

x除以y的余数

程序符号 * / a^b <= >= <> ABS(x) SQR(x) x \y x MOD y

对于顺序结构的算法或程序框图,我们可以利用 输入语句、输出语句和赋值语句写出其计算机程 序.对于条件结构的算法或程序框图,要转化为计 算机能够理解的算法语言,我们必须进一步学习 条件语句. 复习: 2、条件结构
满足条件?



满足条件?




步骤A 步骤B


步骤A

新课:条件语句: 算法中的条件结构是由条件语句来表达的, 是处理条件分支逻辑结构的算法语句。
1、条件语句的一般格式有两种:
满足条件?




(1) IF—THEN语句 : IF 条件 THEN 语句体 END IF

步骤A

当计算机执行上述语句时,首先对IF后 的条件进行判断,如果(IF)条件符合,那 么(THEN)执行语句体,否则执行END IF之 后的语句.

(2) IF—THEN—ELSE语句:
IF 条件 THEN


语句体1
ELSE

满足条件?


语句体2
END IF

步骤A

步骤B

当计算机执行上述语句时,首先对IF后的条件 进行判断,如果(IF)条件符合,那么(THEN) 执行语句体1,否则(ELSE)执行语句体2.

例1、编写程序,输入一个x的值,要求输 出它的绝对值.

求实数x的绝对值有如下一个算法: 第一步,输入一个实数x. 第二步,判断x的符号.若x<0,则x=-x; 否则,x=x. 第三步,输出x.

例1、编写程序,输入一个x的值,要求输出它的绝对值.

程序框图:
开始 输入x x≥0? 否

程序

是 输出x

INPUT x IF x>= 0 THEN PRINT x ELSE PRINT -x END IF END

输出-x

结束

开始 输入x x<0? 是 x=-x 否

INPUT x IF x<0 THEN x=-x END IF

输出x
结束

PRINT END

x

例2:阅读下面的程序,你能说明它是一 个什么问题的算法吗? 求分段函数 INPUT “x=”;x ì x + 3x , x ? 1 ? IF x>=1 THEN ? y= í ? x - 4, x < 1 ∧ ? y=x 2+3*x ? ? 的函数值. ELSE y=x-4 END IF PRINT y END
2

开始

例3、将下列解 一元二次方程 ax2+bx+c=0的程 序框图转化为 程序.


输入a,b,c △ = b2 - 4 a c △ ≥0? 是
p= b 2a



q=

V 2a

△=0? 否 x1=p+q x2=p-q 输出“方程没有 实数根”

输出x1=x2=p

输出x1,x2 结束

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 THEN PRINT “x1=x2=”;p ELSE PRINT “x1,x2=”;p+q,p-q END IF ELSE PRINT “No real root.” END IF END

思考:阅读下面的程序,你能说明它是一个什 么问题的算法吗?并画出他的程序框图。

INPUT “a,b=”;a,b IF b>a THEN x=a 对实数 a , b a=b 按从大到小 b=x 排序 . END IF PRINT a,b END

〖例2〗:编写程序,使得任意输入的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.

开始

输入a,b,c 是 b>a?


t=a a=b b=t

c>a? 否



t=a a=c c=t


c>b? 否

t=b
b=c c=t

输出a,b,c 结束

INPUT 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.2基本算法语句
1.2.3循环语句

问题提出:

1.两种条件语句的一般格式分别是什 么? 格式2: 格式1: IF 条件 THEN IF 条件 THEN 语句体1 语句体 ELSE END IF 语句体2 END IF

2、循环结构:
Until(直到型)循环 While(当型)循环

A
P 是 P 否 是

A


两种循环结构有什么差别?

一、两种循环语句 作用: 用来实现算法循环结构的功能。 格式一直到型(until型):

循环体 满足条件?
y n

DO 循环体 LOOP UNTIL 条件

计算机执行UNTIL语句时,先执行DO和LOOP UNTIL之间的循环体,然后判断条件是否成立。如果 不成立,执行循环体这个过程可反复执行,直到某一 次符合条件为止,这时不再执行循环体,跳出循环体 执行LOOP UNTIL后面的语句。

例1:用UNTIL语句编写计算机程序,来计算 1+2+…+100的值.
程序框图:
开始 i=1 s=0 s=s+1 i=i+1 i>100? 是 输出s

程序:



i=1 s=0 DO s=s+i i=i+1 LOOP UNTIL i>100 PRINT s END

结束

两种循环语句:
格式二当型(while型):
While(当型)循环 循环体

满足条件? 否



WHILE 条件 循环体 WEND

当计算机遇到WHILE语句时,先判断条件的真假,如 果条件符合,就执行WHILE与WEND之间的循环体; 然后再检查上述条件,如果条件仍符合,再次执行循环 体,这个过程反复进行,直到某一次条件不符合为止. 这时,计算机将不执行循环体,直接跳到WEND语句 后,接着执行WEND之后的语句.

思考:用while型语句来编写编写计算机程序 来计算1+2+…+100的值
开始 i=1 程序:

s=0 i<=100? 否 输出s 结束


i=i+1 s=s+i

i=1 s=0 WHILE i<=100 s=s+i i=i+1 WEND PRINT s END

书本P21、已知函数y=x3+3x2-24x+30,求自变量x对应 的函数值算法的程序框图及计算机程序:

开始

INPUT


“x=”;x “y=”;y

PRINT y=x3+3x2-24x+30 END
输出y 结束

输入x

y = x 3 + 3 * x 2 - 24 * x + 30

例2.修改该例的程序,连续 输入自变量的11个取值, 输出相应的函数值.

例2、已知函数y=x3+3x2-24x+30,写出 连续输入自变量的11个取值,分别输出 相应的函数值的程序.
算法分析: 第一步,输入自变量x的值. 第二步,计算y=x3+3x2-24x+30. 第三步,输出y. 第四步,记录输入次数.

第五步,判断输入的次数是否大于11.若是, 则结束算法;否则,返回第一步.

开始 n=1 输入x

格式一直到型(until型):

y=x3+3x2-24x+30
输出y n=n+1 n>11? 是 结束 否

n=1 DO INPUT x y=x∧3+3*x∧2-24*x+30 PRINT y n=n+1 LOOP UNTIL n>11 END

格式二当型(while型): 开始 n=1 n=n+1

n=1
WHILE n<=11

INPUT x
y=x^3+3*x^2-24*x+30

输出y
y=x3+3x2-24x+30 是 n≤11? 否 结束 输入x

PRINT y
n=n+1 WEND END

编写程序,计算函数f(x)=x2-3x+5当x=1,2, 3,…,20时的函数值。 x=1 WHILE x<=20 y=x^2 -3*x+5 PRINT "y=";y x=x+1 WEND END

练习

例3 将用“二 分法”求方程
x2 ? 2 ? 0( x ? 0)

开始

f(x)=x2-2 输入精确度d 和初始值a,b
m = a + b 2

的近似解的程序 框图转化为相应 的程序.
a=m



f(a)f(m)<0?


b=m |a- b|<d或f(m)=0?




输出m 结束

INPUT “a,b,d=”;a,b,d DO m=(a+b)/2 f=a∧2-2 g=m∧2-2 IF f*g<0 THEN b=m ELSE a=m END IF LOOP UNTIL ABS(a-b)<d OR g=0 PRINT m END

练习 P32
练习1、任意给定 一个大于2的整数 n,试设计出一个 程序对n是否为质 数做出判定. 书本第7页 。

开始 输入n i=2 求n除以i的余数r i=i+1 否 i>=n-1或r=0? 是 否 r=0? 是 n是质数 n不是质数 结束

程序:

INPUT “n=”;n i=2 DO r=n MOD i

i=i+1
LOOP UNTIL i>=n OR r=0 IF r=0 THEN PRINT “n is not a prime number.” ELSE

PRINT “n is a prime nmber.”
END IF END

例4:在下面的程序运行中,计算机输出 的结果是多少? x=20 DO x=x-3 LOOP UNTIL PRINT x END

x <0

-1

练习:阅读下面的程序,你能说明它是 一个什么问题的算法吗? x=1 WHILE x∧2<1000 PRINT x x=x+1 WEND END

求满足x2<1000的所有正整数x的值.

练习 P32
3.编写一个程序,输入正整数n,计算它的 阶乘n!(n!=n*(n-1)*…*3*2*1)
s=1 i=1 INPUT "请输入n的值:";n DO s=s*i i=i+1 LOOP UNTIL i>n PRINT "这个数的阶乘为:";s END

小结作业

1.两种循环语句源于两种循环结构,直到型 循环语句先执行循环体,再判断条件;当型 循环语句先判断条件,再执行循环体.
2.直到型循环语句在条件不符合时再执行循 环体,当型循环语句在条件符合时再执行循 环体.
作业: P32练习:1,2. P33习题1.2A组:3. B组:2.

1.3

算法案例
第一课时

辗转相除法与更相减损术

思考: 小学学过的求两个数的最大公约数的方法? 先用两个公有的质因数连续去除,一直除到所得的 商是互质数为止,然后把所有的除数连乘起来. 例:求下面两个正整数的最大公约数: (1)求25和35的最大公约数 (2)求49和63的最大公约数

辗转相除法

( 1) 5

25 5

35 7

7 49 63 ( 2) 7 9 所以,49和63的 最大公约数为7

所以,25和35的 最大公约数为5

思考:除了用这种方法外还有没有其它方法?

一:辗转相除法(欧几里得算法) 1、定义:就是对于给定的两个数,用较大的 数除以较小的数,若余数不为零,则将余数和 较小的数构成新的数对。继续上面的除法,直 到大数被小数除尽,则这时的较小数就是原来 两个数的最大公约数. 例如:求8251与6105这两个数最大公约数? 8251=6105×1+2146, 6105=2146×2+1813, 2146=1813×1+333, 1813=333×5+148, 333=148×2+37, 148=37×4+0.

一:辗转相除法 1、定义:就是对于给定的两个数,用较大的数 除以较小的数,若余数不为零,则将余数和较 小的数构成新的数对。继续上面的除法,直到 大数被小数除尽,则这时的较小数就是原来两 个数的最大公约数. 2、算法:一般地,用辗转相除法求两个正整 数a,b的最大公约数,算法步骤: 第一步,给定两个正整数a,b(a>b). 第二步,计算a除以b所得的余数r. 第三步,a=b,b=r. 第四步,若r=0,则a,b的最大公约数等于a;否 则,返回第二步.

3、该算法的程序框图如何表示?
开始
输入a,b

求a除以b的余数r
a=b b=r r=0? 是



输出a 结束

4、该程序框图对应的程序如何表述?
开始 输入a,b 求a除以b的余数r

a=b
b=r r=0? 是 输出a 结束 否

INPUT a,b DO r=aMODb a=b b=r LOOP UNTIL r=0 PRINT a END

开始 输入a,b 求a除以b的余数r

当型循环结构?

求a除以b的余数r
b=r a=b r≠0? 否 输出a 结束 是

INPUT a,b r=a MODb WHILE r<>0 a=b b=r r=a MODb WEND PRINT a END

一:辗转相除法 2、算法:一般地,用辗转相除法求两个正整 数a,b的最大公约数,算法步骤: 第一步,给定两个正整数a,b(a>b).

第二步,计算a除以b所得的余数r. 第三步,a=b,b=r. 第四步,若r=0,则a,b的最大公约数等于a;否 则,返回第二步.
思考1:第一步,给定两个正整数a,b?

二、更相减损术
背景介绍: (1)、《九章算术》中的更相减损术: 可半者半之,不可半者,副置分母、子之数,以少 减多,更相减损,求其等也,以等数约之。

(2)、现代数学中的更相减损术:
第一步:任意给定两个正整数;判断他们是否都是 偶数。若是,则用2约简;若不是则执行第二步。 第二步:以较大的数减较小的数,接着把所得的差 与较小的数比较,并以大数减小数。继续这个操作, 直到所得的减数和差相等为止,则这个等数就是所 求的最大公约数。

二、更相减损术 1、定义: 所谓更相减损术,就是对于给定的两个 数,用较大的数减去较小的数,然后将差和较小 的数构成新的一对数,再用较大的数减去较小的 数,反复执行此步骤直到差数和较小的数相等, 此时相等的两数便为原来两个数的最大公约数。
例: 用更相减损术求98与63的最大公约数. 98-63=35 63-35=28 35-28=7 28-7=21 21-7=14 14-7=7 所以,98和63的最大公约数等于7

二、更相减损术 1、定义:所谓更相减损术,就是对于给定的两个数, 用较大的数减去较小的数,然后将差和较小的数构成新 的一对数,再用较大的数减去较小的数,反复执行此步 骤直到差数和较小的数相等,此时相等的两数便为原来 两个数的最大公约数。

2、算法:一般地,用更相减损术法求两个正整数 a,b的最大公约数,算法步骤: 第一步,给定两个正整数a,b(a>b). 第二步,计算a-b所得的差r. 第三步,比较b与r的大小,其中大者用a表 示,小者用b表示. 第四步,若a=b,则a,b的最大公约数等于 a;否则,返回第二步.

3、该算法的当型程序框图:
开始 输入a,b a≠b? a=r




是 r=a-b b>r? 是 a=b b=r 输出a 结束

4:该程序框图对应的程序如何表述? 开始 INPUT a,b WHILE a<>b 输入a,b r=a-b IF b > r THEN 否 a≠b? a=b 是 b=r r=a-b a=r ELSE a=r 否 输出a b>r? END IF 是 WEND 结束 a=b PRINT a b=r END

2、算法:一般地,用更相减损术法求两个正整数 a,b的最大公约数,算法步骤: 第一步,给定两个正整数a,b(a>b). 第二步,计算a-b所得的差r. 第三步,比较b与r的大小,其中大者用a表 示,小者用b表示. 第四步,若a=b,则a,b的最大公约数等于 a;否则,返回第二步. 思考2:第一步,给定两个正整数a,b?

思考3:第一步,给定两个正偶数a,b?

三、例题讲解: 例1 分别用辗转相除法和更相减损术求 168与93的最大公约数.

辗转相除法:168=93×1+75, 93=75×1+18, 75=18×4+3, 18=3×6.

例1 分别用辗转相除法和更相减损术求 168与93的最大公约数.
更相减损术:168-93=75, 93-75=18, 75-18=57, 57-18=39, 39-18=21, 21-18=3, 18-3=15, 15-3=12, 12-3=9, 9-3=6, 6-3=3. 辗转相除法和更 相减损术两者的 联系与区别

比较辗转相除法与更相减损术的区别 (1)都是求最大公约数的方法,计算上辗 转相除法以除法为主,更相减损术以减法为 主,计算次数上辗转相除法计算次数相对较 少,特别当两个数字大小区别较大时计算次 数的区别较明显。 (2)从结果体现形式来看,辗转相除法体 现结果是以相除余数为0则得到,而更相减损 术则以减数与差相等而得到。

例2 求325,130,270三个数的最大公约数.
因为325=130×2+65,130=65×2,所以325与 130的最大公约数是65. 因为270=65×4+10,65=10×6+5,10=5×2, 所以65与270最大公约数是5.

故325,130,270三个数的最大公约数是5.

练习:求324,243,135三个数的最大公约数.

例3 有甲、乙、丙三种溶液分别重147克, 343克,133克。现要将它们分别全部装入小 瓶中,每个小瓶装入的液体的质量相同,问 每瓶最多装多少? 问题转化问求三个数的最大公约数.

案例3:进位制(一)

复习:利用秦九韶算法求多项式

f(x)=anxn+an-1xn-1+?+a1x+a0的值: 先化为f(x)=(?((anx+an-1)x+an-2)x+?+a1)x+a0,
由内向外逐层计算一次多项式的值,其算法步骤:

令v0=an 计算v1=v0x+an-1. 计算v2=v1x+an-2. 计算v3=v2x+an-3. … 计算vn=vn-1x+a0.

练习:利用秦九韶算法分别计算

并判断多项式 f ( x)在区间?? 1, 2? 内有无零点。 7 6 5 4 3 2 解:f ( x) ? 8x ? 5x ? 0x ? 3x ? 0x ? 0x ? 2x ? 1

f ( x) ? 8 x ? 5 x ? 3x ? 2 x ? 1在x ? 2与x ? ?1时的值,
7 6 4

? ((((((8x ? 5) x ? 0) x ? 3) x ? 0) x ? 0) x ? 2) x ? 1 v4 ? 87 ? 2 ? 0 ? 174, (1)计算f (2):
? v0 ? 8, v1 ? 8 ? 2 ? 5 ? 21 v2 ? 21? 2 ? 0 ? 42, v3 ? 42 ? 2 ? 3 ? 87,

v5 ? 174 ? 2 ? 0 ? 348 v6 ? 348 ? 2 ? 2 ? 698, v7 ? 698 ? 2 ? 1 ? 1397

? f (2) ? 1397 ? 0 (2)计算f (?1) ? ?1? f (?1) ? f (2) ? 0? f ( x)在区间??1 ,内有零点 2?

一、进位制的概念
进位制是人们为了计数和运算方便而约定的计数系统。 比如: 满二进一,就是二进制; 满十进一,就是十进制;
满十二进一,就是十二进制; 满六十进一,就是六十进制 2、常见的进位制: 十进制、二进制、七进制、十二进制、六十进制…… 十进制数用0-9十个数字来表示 二进制只有0和1两个数字,七进制用0~6七个数字 十六进制有0~9十个数字及ABCDEF六个字母.

1、定义:“满几进一”就是几进制,几进制的基数就是几

3、K进位制中数值的一般形式:为了区分不同的进位制, 常在数的右下角标明基数,十进制一般不标注基数. 例如十进制的133.59,写成133.59(10) 七进制的13,写成13(7);二进制的10,写成10(2)

一般地,若k是一个大于1的整数,那么以k为基数 的k进制可以表示为一串数字连写在一起的形式:

anan?1 ?a1a0(k ) (0 ? an ? k,0 ? an?1,?, a1, a0 ? k ).
下列写法正确的是: ( A、751 (16) C、095 (12) B、751 (7) D、901 ( 2)

A

) 注意书写及读法

二、k进制化十进制
P40 na n ?1 ? a1a0( k ) 表示一个k 进制数,请你把它 a探究:若 a ?a a a
n n ?1 1 0( k )

写成各位上数字与 k的幂的乘积之和的形式。 n n ?1 1

? an ? k ? an ?1 ? k

? ? ? a1 ? k ? a0 ? k

0

其它进制数化成十进制数公式
在二进制数中,10111.01 可表示为 10111.01=1×24+0×23+1×22+1×21+1×20+0×2-1+1×2-2

例1 将二进制数110011(2)化成十进制数

110011(2) =1×25+1×24+0×23+0×22+1×21+1×20 =32+16+2+1=51.

例2 将下列各进制数化为十进制数. (1)10303(4) ; (2)1234(5). 10303(4)=1×44+3×42+3×40=307. 1234(5)=1×53+2×52+3×51+4×50=194. 练习:将下面的二进制数化为十进制数? (1)11 (2)111 (3)1111 (4)11111

例3已知10b1(2)=a02(3),求数字a,b的值. 10b1(2)=1×23+b×2+1=2b+9.

a02(3)=a×32+2=9a+2. 所以2b+9=9a+2,即9a-2b=7. 故a=1,b=1.

三、十进制数化为K进制数:

1 2 44 解: 除2取余法 0 2 22 0 2 11 可以推广为把十进 1 2 5 制数化为k进制数 1 2 2 0 的算法,称为除k 21 1 0 取余法。(最后一 步商为零) 把上式各步所得的余数从下到 上排列,得到89=1011001(2)

例4.把89化为二进制数。 2 89

余数

练习:

把89化为五进制数

89=324(5)

例5.将五进制数30241(5)转化为七进制数.
30241(5)=3×54+2×52+4×5+1=1946. 30241(5)=5450(7) 点评:两个非十进制之间的 转化方法:先转化为十进制 再由十进制转化为其他进制
7 7 7 1946 278 余数 0 5

39
5

7

4
5

例6.比较下列四个数大小: 25,101 (5) ,10111 (2) ,1A (16)

0

点评:将所有数都转化为十进制数再比较大小

例7.已知44 (K) =36,把67(K) 转化为十进制数.

练习.已知175 (K) =125,求K
变题:哪一种进位制下,十进制125可化为175? 例8.若13M502 (6) =12710 (10) ,求M

案例3:进位制(二)

复习:

1.用 anan - 1 L a2a1(k ) 表示k进制数,其中k称 为基数,十进制数一般不标注基数. 2. 把k进制数化为十进制数的一般算式是: anan - 1 L a2a1(k )

= an ? k
n i ?1

n- 1

an - 1 ? k

n- 2

L + a2 ? k

1

a1 ? k

0

? ? ai ? k i ?1

3.利用除k取余法,可以把任何一个十进制 数化为k进制数,并且操作简单、实用.

一、k进制化十进制算法 a a L a a = n n- 1 2 1( k )

?

n

ai ? k i - 1

思考1:k进制数右数 an an?1 ?a1( k ) 第i位数字ai化为 十进制数是什么数? i- 1 a ? k i 思考2:按照上述思路,把k进制数

i= 1

a = anan - 1 L a2a1(k ) 化为十进制数b的算法步骤
如何设计? 第一步,输入a,k和n的值. 第二步,令b=0,i=1. i- 1 第三步, b = b + ai ? k ,i=i+1.

第四步,判断i>n 是否成立.若是,则输出b的值; 否则,返回第三步.

思考3:上述把 k进制数 a = anan - 1 L a2a1(k ) 化为十进制数 b的算法的程 序框图如何表 示?

开始

输入a,k,n

b=0
i=1

把a的右数第i位数字赋给t
b=b+t· k i- 1 i=i+1

i>n?
是 输出b 结束



思考4:该程序框图对应的程序如何表述?
开始

输入a,k,n

b=0
i=1 把a的右数第i位数字赋给t b=b+t· k i- 1 i=i+1 i>n? 否 是 输出b 结束

INPUT a,k,n b=0 i=1 t=a MOD10 DO b=b+t*k∧(i-1) a=a\10 退位取余 t=a MOD10 i=i+1 LOOP UNTIL i>n PRINT b END

二、十进制化k进制的算法 思考1:若十进制数a化为K进制数b怎么化? a除以K所得的商是q0,余数是r0, 即a=K·q0+ r0; q0除以K所得的商是q1,余数是r1, 即q0=K·q1+ r1; ?? qn-1除以K所得的商是0,余数是rn, 即qn-1= K· 0+rn,

a=rnrn-1?r1r0(K)=b

二、十进制化k进制的算法 思考2:利用除k取余法,将十进制数a化为k进制数 的算法步骤如何设计? 第一步,输入十进制数a和基数k的值. 第二步,求出a除以k所得的商q,余数r. 第三步,把所得的余数依次从右到左排列.

第四步,若q≠0,则a=q,返回第二步; 否则,输出全部余数r排列得到的k进制数.

思考3:将除k取余法的算法步骤用程序框 图如何表示? 开始
输入a,k

q=a\k r=a MOD k
把所得的余数依次从右到左排列
a=q

否 q=0? 是 输出全部余数r排 列得到的k进制数 结束

思考4:该程序框图对应的程序如何表述?
开始 输入a,k

q=a\k r=a MOD k
把所得的余数依次从右到左排列 a=q

否 q=0? 是 输出全部余数r排 列得到的k进制数
结束

INPUT a,k b=0 i=0 DO q=a\k r=a MOD k b=b+r*10∧i i=i+1 a=q LOOP UNTIL q=0 PRINT b END

三、二进制与四进制 、八进制、十六进制互化 作业讲解:1、(1)将二进制数11010110110(2) 转化为四进制数、八进制数、十六进制数 (2)将3021(4),514(8),3A65(16)转化 为二进制数 结论:1、把二进制数转化为四(八、十六)进制 数时,只要从右到左把2(3、4)位二进制数化成 一组,然后每组用一个四(八、十六)进制数字 代替即可。 2、把四、八、十六制数转化为二进进制数时,只 要将一位数字用2位或3位或4位二进制数字代替即 可。

书圣:13、设计一个程序,将一个四位数 5136各位上的数字顺序倒排,即为6315后 输出。 退位取余

a=a\10

t=aMOD10
作用可以将一个数中的每位数字输出

书圣:14、《张邱建算经》云:今有鸡 翁一,值钱五;鸡母一,值钱三;鸡雏 三,值钱一.凡百钱买百鸡,问鸡翁、母、 雏各几何?编写程序解决上述问题. 设鸡翁、母、雏分别为x、y、z只,则
? x y + z = 100 ? ? ? í z ? 5x + 3y + = 100 ? ? 3 ?

? 7x 4y = 100 ? 即 ? í ? z = 100 x y ? ? ? x ? 28 ? ? y ? 25

正确的程序框图:开始
x=1 否

x=x+1 否

x≤14? 是 y=1 y≤25? 是
7x+4y=100? 是 z=100-x-y

结束

y=y+1 否

输出x,y,z

开始

x=1
x≤14? 是 y=1 否 y≤25? 是 7x+4y=100? 是 z=100-x-y 输出x,y,z 结束

错误的程 序框图与 程序:


x=1 WHILE x<=14 y=1 WHILE y<=25
IF 7*x+4*y=100 THEN

x=x+1

y=y+1



z=100-x-y PRINT x,y,z ELSE y=y+1 END IF WEND x=x+1 WEND END


相关文章:
第一章算法初步1
第一章算法初步1_数学_高中教育_教育专区。阿尔山市一中高一年级数学学科导学案主备人 课题 代丽艳 课时 1 时间 45 分钟 1.1.1 算法的概念 学习目标 1、知识...
必修3第一章算法初步1.2基本算法语句
必修3第一章算法初步1.2基本算法语句_高一数学_数学_高中教育_教育专区。人教 A 版 数学教案 必修 3 第一章 1.2.1 第一课时 第一章算法初步 1.2 基本...
第一章 算法初步 1.1.2第1课时有详细答案
第一章 算法初步 1.1.2第1课时有详细答案_数学_高中教育_教育专区。1.1.2 程序框图与算法的基本逻辑结构 程序框图、顺序结构 第 1 课时课时目标 1.理解程序...
第一章 算法初步 1.1.1
第一章 1.1.1 算法初步 算法的概念 课时目标 通过分析解决具体问题的过程与步骤, 体会算法的思想, 了解算法的含义, 能用自然语言描述解决具体问题的算法. 1....
第一章 算法初步 1
高​中​数​学​必​修​三​第​一​章​知​识第一章 算法初步 1.1.1 算法的概念 1、 算法概念: 在数学上, 现代意义上的“算法”...
第一章 算法初步 1.2.2有详细答案
第一章 算法初步 1.2.2有详细答案_数学_高中教育_教育专区。1.2.2 课时目标 条件语句 1.理解条件语句.2.能够用条件语句编写条件结构的程序. 条件语句的格式...
第一章 算法初步 1.2.3有详细答案
第一章 算法初步 1.2.3有详细答案_数学_高中教育_教育专区。1.2.3 循环语句 课时目标 1.理解给定的两种循环语句,并会应用. 2.应用两种循环语句将具体问题...
第一章 算法初步 §1.1
第一章 1.1.1 算法初步 算法的概念 课时目标 通过分析解决具体问题的过程与步骤, 体会算法的思想, 了解算法的含义, 能用自然语言描述解决具体问题的算法. 1.算...
第一章算法初步测试题及其答案
第一章算法初步测试题及其答案_高二数学_数学_高中教育_教育专区。算法初步测试题...一. 选择题(每小题 5 分共 60 分) 1.下列运算不属于我们所讨论算法范畴的...
第一章 算法初步1.1.1导学案
第一章 算法初步 1.1.1 算法的概念(第 1 课时)导学案 一、教学目标: 1.理解算法的概念与特点; 2.学会用自然语言描述算法,体会算法思想; 3.培养学生逻辑思...
更多相关标签:
算法导论第一章答案 | 算法初步 | 高中数学算法初步 | 算法初步知识点 | 算法初步测试题 | 算法初步ppt | 必修三算法初步 | 高中数学算法初步视频 |