09 第四章3之循环结构与流程图

合集下载

第四章三种基本结构程序设计

第四章三种基本结构程序设计

>0 初值<终值 =1 时,可省略 步长 <0 初值>终值 =0 死循环
4.2.3 循环结构实例
例: For I=2 To 13 Step 3 Print I , Next I Print “I=“, I
输出I的值分别为: 2 5 8 11 出了循环输出为: I=14
4.2.3 循环结构实例
2、 Do…Loop循环语句
4.2.2 选择结构实例
例 输入一学生成绩,评定其等级。方法是:90~100分为 “优秀”,80~89分为“良好”,70~79分为“中等”, 60~69分为“及格”,60分以为“不合格” 使用IF语句实现的程序段如下: If x>=90 then Print "优秀" ElseIf x>=80 Then Print "良好" ElseIf x>=70 Then Print "中等" ElseIf x>=60 Then Print "及格" Else Print "不及格" End If
不同分支中执行某一分支的相应操作(程序块),并且任何情 况下总有“无论条件多寡,必择其一;虽然条件众多,仅选其 一”的特性。
4.2.2 选择结构实例
1. If…Then语句(单分支结构)
If <表达式> Then
语句块 End If

If <表达式> Then <语句块>
例:已知两个数x和y,比较它们的大小,使得x大于y. If x<y Then t=x : x=y: y=t End If 或 If x<y Then t=x: x=y: y=t

循环结构程序

循环结构程序

DJNZ
RET
R5,DELAY0
(2)循环体。重复执行的程序段。
(3)循环修改。在单片机中,一般用一个工作寄存器Rn作 为计数器,并给这个计数器赋初值作为循环的次数,运行程序 时,每循环一次,则对该计数器进行修改。 (4)循环控制。判断循环控制变量(保存循环次数的变量
)是否满足终止值的条件,如果满足则结束循环,顺序执行循
环短一些的程序;如果不满足,则继续重复执行循环的工作部 分,直到达到循环结束条件(死循环除外)。
【例4.4】延时10ms子程序(设晶振的频率为6MHz)。 在知道系统的晶振频率之后,延时时间主要与两个因素有关 :一是内循环中指令的执行时间;二是外循环时间常数(内循 环的循环次数)的设置。在本例中,已知晶振频率为6MHz,
则可得一个机器周期为0.5μs,执行一条 DJNZ Rn,rel的指令
的时间为两个机器周期即1μs,10ms的延时子程序设计如下: DELAY: DELAY0: DELAY1: MOV R5,#100 MOV DJNZ R4,#100 R4,DELAY1
循环结构程序
在程序设计过程中,常常遇到反复执行某一段程 序的情况,这种情况下采用循环程序结构,构,可以 缩短程序代码的长度,提高程序的质量和运行效率。 循环的这四个部分有两种情况,如图4- 3所示。
图4- 3 循环结构程序流程图
循环结构程序一般包括以下几个部分: (1)置初值。置初值是设置用于循环过程工作单元的初始 值,例如设置循环次数计数器、地址指针初值、存放变量的单 元的初值。
程序清单如下: ORG 0100H MOV R5,23H CLR A MOV R6,#00H MOV R4,#01H LOOP:ADD A,@R4 JNC NEXT INC R6 NEXT:INC R4 DJNZ R5,LOOP MOV 23H,R6 MOV 24H,A END

流程图——循环结构

流程图——循环结构

试画出算法2的流程图 该算法为何结构 试画出算法 的流程图.该算法为何结构 的流程图 该算法为何结构?
算法2流程图: 开始 T←1 I←2 T←T×I I←I+1 I>5 Y 输出T
结束
思考: 思考 此流程图使用那 一种循环结构? 如何用当型循环 来描述同样问题?
开始 当型循环 T←1 I←2 I←I+1 T←T×I
S ←0
S ← S + 400
S ≥ 10000
Y
N
开始
开始
S ←0
S ← S + 400
S ←0
S ← S + 400
S<10000 N 结束
问题: 问题:
Y
S ≥ 10000
Y 结束
N
仔细观察上述两个算法,有何区别与联系? 仔细观察上述两个算法,有何区别与联系?
像这种需要重复执行同一操作 重复执行同一操作的结构称为循环结构 循环结构. 重复执行同一操作 循环结构 那么这两个循环结构有什么区别呢?
N
X ← S / 10

输出 X

结束
结束
小结
1.本节课主要讲述了算法的循环结构。算法的 基本逻辑结构有三种,即顺序结构、条件结构和 循环结构。其中顺序结构是最简单的结构,也是 最基本的结构,循环结构必然包含条件结构,所 以这三种基本逻辑结构是相互支撑的,它们共同 构成了算法的基本结构,无论怎样复杂的逻辑结 构,都可以通过这三种结构来表达 。 2.循环结构要在某个条件下终止循环,这就需要 条件结构来判断。因此,循环结构中一定包含条件 结构,但不允许“死循环”。
N
I≤5 N 输出T
结束
Y
延伸、设计一个计算 , , , 的平均数的算法. 延伸、设计一个计算1,2,3,﹍,10的平均数的算法 的平均数的算法 分析:先设计一个循环依次输入 分析 先设计一个循环依次输入1-10,再用一个变量存 先设计一个循环依次输入 , 放这些数的累加和,最后除以10。 放这些数的累加和,最后除以 。 解: S1 S2 S3 S4 S5 S←0 I←1 S←S+I I←I+1 如果I大于 大于10,转 否则返回 否则返回S3. 如果 大于 转S6,否则返回

流程图循环结构

流程图循环结构

奥运会主办权投票过程的算法结构:
S1 投票; S2 计票。如果有一个城市得票超过一半, 那么这个城市取得主办权,进入S3;否则淘 汰得票数最少的城市,转入S1; S3 宣布主办城市。
奥运会主办权投票表决流程图
开始 投票
淘汰得票最少者
有一城市过半票? n y
选出该城市
结束
循环结构:重复执行同一操作,直到满足 给定的条件。常用的结构流程图如下:
A PN Y
例1.写出求1×2×3×4×5的一个算法.
算法1: S1 先算T=1×2 S2 T←T×3 S3 T←T×4 S4 T←T×5 S5 输出T 试画出算法1的流程图.该算法为何结构?
算法2: S1 T←1 S2 I←2 S3 T←T×I S4 I←I+1 S5 如果I不大于5,返回S3,否则输出T.
流程图 ------循环结构
顺序结构
Y pN
A
B
A B
选择结构
问题情境
北京取得2008奥运会主办权的投票过程:
对遴选出的五个城市进行投票表决的操作程序: 首先进行第一轮投票,如果有一个城市得票超过 一半,那么这个城市取得主办权;如果没有一个 城市得票超过一半,那么将其中得票最少的城市 淘汰,然后重复上述过程,直到选出一个城市为 止。
算法2流程图:
开始 S←1 I←2 T←T×I
I←I+1
I>5
N
Y 输出T
练习:1、写出求1×2×3×…×10的一个算法; 2、写出求1×3×5×…×15的一个算法; 3、写出求1+2+3+…+100的一个算法; 4、P14/1 5、P14/2
小结:算法共有顺序结构、选择结构、 循环结构三种结构。

09.09.02高二数学(理)程序框图(循环结构)(课件)

09.09.02高二数学(理)程序框图(循环结构)(课件)
n=1
输入r
r≥6.8? 是 n=n+1 n≤9?

结束

输出r
1
例2.画出
2

2
1 1 1
2 1 2
1
2
的值的程序框图.
解法2.
开始
a1
1 2
1 a2 2 a1
a3
1 2 a2
1
1
1 a4 2 a3
1 a5 2 a4
1 a6 2 a5
输出a6 结束
t
1 2 t
开始 i=1 t=0
行第五步;
第三步:计算m×i并将结果代替m;
第四步:将i+1代替i,转去执行第二步;
第五步:输出m.
湖南长郡卫星远程学校
制作 09
2008年下学期
湖南长郡卫星远程学校
制作 09
2008年下学期
开始 i=1 m=1
i≤100? 是

输出m
结束
i=i+1 m=m×i
例2. 某工厂2005年的生产总值为200万元, 技术革新后预计以后每年的生产总值比上一年 增加5%,问最早需要哪一年年生产总值超过 300万元.写出计算的一个算法,并画出相应的程 序框图.
第一步: n=2005, a=200;
第二步: t=0.05a (计算年增量);
第三步: a=a+t(计算年产值);
第四步: 如果a>300,则输出n;否则, n=n+1, 重复执行第二步;
4. 用流程图设计算法的经验
流程图是任何程序设计的基础, 一般应注 意以下的几点:
(1) 任何的实际问题都有一个数学模型-- 解决的步骤,这是设计流程图的关键所在;

第四章 循环结构程序设计

第四章 循环结构程序设计

while(i<=100)
{ i++;
程序运行结果: sum=5050
sum=sum+i;
}
6
4.3 do-while语句
do-while语句的结构 do 语句 while(表达式);
例如: do
x-=1; while(x>0);
功能:
1)执行“语句”。 2)计算“表达式”的值。如果值为非0,转1);否则转3)。
}
8
4.3 do-while语句
1)循环体如果包含一个以上的语句,要用复合语句表示。 2)在循环体中应有使循环趋于结束的语句。 3)while语句的特点是先执行循环体,然后判断表达式的值。 4)一般情况下,用while语句和用do-while语句处理同一 个问题时,若二者的循环体部分一样,其结果也一样。但如
18
4.7 goto语句以及用goto语句构成循环结构
goto语句的一般格式:
goto 语句标号;
例如: goto loop;
功能:程序执行到goto语句时,将程序流程转到语句标号指定的 语句去执行。
有标号的语句的格式:
语句标号: 语句
例如: loop: sum=sum+i;
19
4.7 goto语句以及用goto语句构成循环结构
【例4-9】用goto语句实现求1~100累加和。
#include <stdio.h>
main() { int n=1, sum=0; loop: sum += n; n++;
if(n<=100) goto loop;
printf("sum=%d\n",sum); }

第四章。循环结构(while、do-while、for)

第四章。循环结构(while、do-while、for)

Top1.循环结构(while、do…while、for)1. 循环结构(while、do…while、for)1.1. 什么是循环结构在日常生活中,会有很多需要反复执行的事情,比如:每一年的4个季节,每一周的7天,每日的3餐,打印机每份文档打印50份,一圈跑道400米跑3圈,都是在反复执行的。

再看软件系统中的需求:问题1:输出100行语句,每行语句都一样,即:∙行动是成功的阶梯,行动越多,登得越高!∙行动是成功的阶梯,行动越多,登得越高!∙行动是成功的阶梯,行动越多,登得越高!…问题2:输出100行语句,每行语句都类似,即:∙第1,行动是成功的阶梯,行动越多,登得越高!∙第2,行动是成功的阶梯,行动越多,登得越高!∙第3,行动是成功的阶梯,行动越多,登得越高!∙…∙第100,行动是成功的阶梯,行动越多,登得越高!问题3:计算1到50乘以8.88的结果∙1×8.88 =8.88∙ 2 ×8.88 =17.76∙ 3 ×8.88 =26.64∙ 4 ×8.88 =35.52∙…∙50 ×8.88 =444诸如此类问题都是在反复执行的,在软件系统中可以通过循环这种语法结构来解决。

循环是程序设计语言中反复执行某些代码的一种计算机处理过程,是一组相同或相似语句被有规律的重复性执行。

对于循环来说,需要考虑两个要素,其一要素为循环体,也就是被反复执行的相同或相似的语句,其二要素为循环的条件,也就是循环得以继续执行下去的条件,常常以循环次数的方式体现。

常用的循环结构有:while、do-while、for。

1.2. while语句1.2.1. while语句的执行逻辑while语句是循环的一种常见语法结构,语法如下:1.while(boolean表达式){语句块;2.}while语句的执行过程为,首先计算boolean表达式的值,而后进行判断,若值为true则执行语句块,语句块执行完后再次判断boolean表达式的值,如果为true则继续执行语句块,如此循环往复,直到boolean表达式的值为false时退出while循环而执行while之后的语句。

流程图课件

流程图课件

3.你能说出流程图的特点么? 你能说出流程图的特点么? 你能说出流程图的特点么
流程图的特点: 直观、 流程图的特点:可以直观、明确地表示 某个算法或工序的动态的从开始到结束 的全部过程
4.流程图的定义? 流程图的定义? 流程图的定义
像这样由一些图形文字和文字说明构成 的图示称为流程图。 的图示称为流程图。
第四章 框图
4.1 流程图
三里畈高中高二数学组
• 一、问题情境 • 士兵过河问题: 士兵过河问题: • 一队士兵来到一条有鳄鱼的深河的右岸,只 一队士兵来到一条有鳄鱼的深河的右岸 只 有一条小船可供使用,这条小船一次只能承 有一条小船可供使用 这条小船一次只能承 载两个儿童或一个士兵. 载两个儿童或一个士兵 • 这队士兵怎样渡到右岸呢 这队士兵怎样渡到右岸呢? • 你能用语言表述解决这个问题的过程吗? 你能用语言表述解决这个问题的过程吗?
你能为“儿童之家”的这项 你能为“儿童之家” 活动设计一个活动流程图吗? 活动设计一个活动流程图吗?
流程图表示数学计算与证明过 程中的主要思路与步骤: 程中的主要思路与步骤
从解决实际问题出发,我们通常可以这样来描述流程图: 从解决实际问题出发,我们通常可以这样来描述流程图: 分析问题
是否有现 成的解法? 成的解法?


x1 = m
x2 = m
第四步与第二步、第三步构成了一个循环结构
第二步
第三步
x1 − x2 ≺ ε或
否 是 输出
f(m) 0?)=x2-2
输入误差ε以及 输入误差 以及 x1、x2的初值
m =
x1 + x 2 2
f(x1)f(m)>0

f(m)=0?
怎样用程序框图表 达算法步骤中的 第一步? “第一步?”

Python程序设计 第4章 循环结构程序设计(第6次课)

Python程序设计 第4章 循环结构程序设计(第6次课)
(2)假设1个班级中有n名同学,统计男同学和女 同学各有多少名。该问题的求解需要重复执行n次, 对每1个同学依次进行判断,同时统计男同学和女 同学的人数。
Copyright © SWFU-CISD, 2012. All rights reserved. 1-8
计算机编程导论
4.2 循环结构概述
(3)给定2个整数,求它们的最大公约数和最小 公倍数。例如:给定6和9,求最大公约数时, 循环过程从6依次பைடு நூலகம்减至1,当循环到3时,判 断得6和9都能被3整除,于是终止循环,求得 最大公约数是3.;求最小公倍数时,循环过程 从9依次递增至54,当循环到18时,判断得18 同时能被6和9整除,于是终止循环,求得最小 公倍数是18。
练习: 1. 求1+3+5+…+99 2. 求2*4*6*…*12
Copyright © SWFU-CISD, 2012. All rights reserved.
1-21
计算机编程导论
第6次上机作业: 1.计算,参考值: S=1.718282 1 1 1 S 1 1*2 1*2*3 1*2*3*50 2.编程求斐波拉契数列的前20项,已知该数列 的第一、二项分别是0、1,从第三项开始,每 一项都是前两项之和。例如:0, 1, 1, 2, 3, 5, 8, 13……
Copyright © SWFU-CISD, 2012. All rights reserved. 1-12
输出 s 结束 图 4-3 累加若干整数值的框图
计算机编程导论
程序:
#Exp4_1.py print '请输入若干正整数进行求和操作,当输入负数时结束: ' s=0 x = input("请输入一个整数: ") while x >= 0: s=s+x x = input("请输入一个整数: ") print '整数之和=', s

流程图-循环结构-课件苏教版

流程图-循环结构-课件苏教版

能否将该语句也 放入循环?
开始
S ←1
i←2 S←S+i
i←i+1
i>4
N
Y
S←S+i
输出S
结束
算法三:
S1 S←1;
S1 S←1;
S2 i←2;
S2 i←2;
S3 S← S+i; S3 S← S+i;
i=3 S4 i←i + 1; S4 i←i + 1;
S5 S← S+i; S5 如果i不大于5
S1 S←0; S2 i ←0;
S3 输入成绩x; S4 S ← S+x;
“否则”多 余
S1 S←0; S2 i ←0; S3 输入成绩x;
S4 S ←x;
S5 i ← i+1;
S6 如果x>80,输出i, 否则转S7;
S7 如果i不大于10, 转S3;
S8 A←S/10;
S5 i ← i+1; S6 如果x>80,输出i;
开始 S←0
i←0
A
Y
p
N
当型循环
S←S+i
i<10
N 输出S
结束
i←i+1 Y
例5:用自然语言描述流程图表示的算法.
S1 S←0; S2 i←0; S3 若i小于10,
i←i + 1; S← S+i ; 转S3;
S4 输出S.
开始 S←0 i←0
S←S+i
i<10
N 输出S
结束
i←i+1 Y
S 1 3 5 99
i←i+1
在算法中,像这种需要重复执行同一操作
i>5
N 的结构称为循环结构(cycle strcuture).图 中就是常见的一种循环结构:先执行A框,

程序框图(循环结构)课件详解

程序框图(循环结构)课件详解
累加变量:用于输出结果.累加变量和计数变 量一般是同步执行的,累加一次,记数一次.
改进上面的算法,表示输出 1,1+2,1+2+3, …,
1+2+3+…+(n-1)+n( n N* ) 的过程。
开始 输入n i=0,S=0
i=i+1 S=S + i
输出S
i>n?


结束
练习巩固 1、设计一算法,求积:1×2×3×…×100,画出流程图
直到型循环在执行了一次循环体之后,对控制循环条 件进行判断,当条件不满足时执行循环体,满足则停 止.(反复执行循环体,直到条件满足)
当型循环在每次执行循环体前对循环条件进行判断,当条 件满足时执行循环体,不满足则停止;(当条件满足时反复 执行循环体)
循环体
满足条件?


Until(直到型)循环
循环体
步骤A
i=i + 1
输出S 结束
步骤B
答:达不到预期结果;当i = 100 时,没有退出循环,i的值为101加 入到S中;修改的方法是将判断条件 改为i<100
程序框图:
开始
直到型循
i=1
环结构
S=0
S=S+i
i=i+1

i>100?

输出S
结束
开始
i=1
S=0
i=i+1
i≤100?

输出S
结束
S=S+i 是
满足条件?
是 否
While(当型)循环
(2)注意:循环结构不能是永无终止的“死 循环”,一定要在某个条件下终止循环,这就 需要条件结构来作出判断,因此,循环结构中 一定包含条件结构.

流程图(循环结构)课件

流程图(循环结构)课件
←p+i
t←t+1
i←i+t

i >46?

输出p
流程图(循环结构)
结束
此课件下载可自行编辑修改,供参考! 感谢您的支持,我们努力做得更好!
流程图(循环结构)
流程图(循环结构)
开始
投票
有一个城市 得票数超过总票
数的一半
Y
输出该城市
淘汰得票数 最少的城市
N
结束
流程图(循环结构)
循环结构及框图表示
1.循环结构的概念
循环结构是指在算法中从某处开始,按 照一定的条件反复执行某一处理步骤的结 构.在科学计算中,有许多有规律的重复计算, 如累加求和、累乘求积等问题要用到循环 结构.
流程图(循环结构)
设计一算法,求和: 1 2 3 L 1 0 0 .
开始
开始
i←1,S←0
i←1,S←0
S←S + i
i←i+1 否
i>100? 是
输出S
结束
i≤100? 否 是 S←S + i
i←i+1
输出S
流程图(循环结构)
结束
2.循环结构的算法流程图



语句A


结 构
条件 N
Y
直到型循环执行了一次循环体之后,对控 制循环条件进行判断,当条件不满足时执行循 环体,满足则停止.
流程图(循环结构)
设计一个求1+2+4+7+…+46的算法,并画出相应 的程序框图.
算法如下:
第一步:P←0; 第二步:i←1; 第三步:t←0; 第四步:p←p+i; 第五步:t←t+1; 第六步:i←i+t. 第七步:如果i不大于46,返回第四步;否 则,跳出循环结束程序.

循环结构的流程图

循环结构的流程图

谈算法中“循环结构的流程图”的学习策略)高中数学新教材增加了算法知识,其中流程图是算法中的重点,而相对于顺序结构和选择结构的流程图来说,循环结构的流程图教学难度较大。

这是因为,程序设计中的循环结构与学生熟悉的重复运算存在一定的区别,学生对循环体和终止条件的学习还是比较困难的。

因此,加强对算法中循环结构的分析与研究很有必要,下面结合具体问题谈谈对循环结构的流程图认识及学习策略。

一、理解两类循环结构及相互转化循环结构是指在算法中从某处开始,按照一定的条件反复执行某一处理步骤的结构。

循环结构有两类,当型循环和直到型循环。

如图1所示为当型循环结构表示“当条件p满足时,反复执行A框操作,直到条件P不成立时才停止循环”;如图2所示直到型循环结构表示“先执行A框操作,再判断给定的条件P是否成立,若条件P不成立,则执行A,如此反复,直到条件P成立为止”。

直到型循环的特点是至少执行一次操作,当事先不能确定是否至少执行一次循环的情况下,用当型循环较好。

两类循环结构是可以相互转化的。

二、关注循环结构的三要素及其对程序的影响(1)循环前,初始化变量的值,并关注其对程序的影响所谓循环变量,是指在算法执行过程中,被反复赋值修改的变量。

例如,在上述两类循环结构中,都先给变量s、i分别赋初值0、1,当然也可以给变量s、i分别赋初值1、3。

(2)确定循环体,并关注其对程序的影响循环体就是在循环结构中反复执行的操作步骤,例如,上述循环结构中的循环体是“S←S+I,I←I+2”(3)设置循环终止条件,并关注其对程序的影响循环结构不能是永无终止的,一定要在某个条件下终止循环,这就需要条件结构来做出判断,因此,i≤”都是终止条件。

循环结构中一定包含条件结构。

例如,上述循环结构中的“i>99”、“99如果把上述循环结构中的循环体“S←S+i,i←i+2”改成“i←i+2,S←S+i”,则循环终止条件也要作出相应的改变,程序流程图如下:流程图如下:作者简介:孟庆东(1980-),男,江苏涟水人,江苏省淮阴中学教师,学士通讯地址:江苏省淮安市解放东路99号江苏省淮阴中学孟庆东(收)邮编:本人联系电话:邮箱:hymqd2003@。

循环结构及程序框图 PPT

循环结构及程序框图 PPT
循环结构及程序框图
自学导引 1.掌握两种循环结构的程序框图的画法. 2.能进行两种循环结构程序框图的相互转化. 3.能正确设置程序框图,解决实际问题.
课前热身 1.循环结构的概念
循环结构是指在
算法中从某处开始,按照一定的条件反复执行某些步骤的情况
___________________循_环__体_________________ _直_到__型_循, 环结构 当型循环结构
变式训练1:设计求1+2+3+…+1000的值的一个 算法,并画出相
应的算法流程图. 分析:由于加数较多,采用逐个相加的方法程序
太长,是不可 取的,因此我们应采用引入变量应用循环的办
法.
解:算法如下: 第一步,p=0. 第二步,i=1. 第三步,p=p+i. 第四步,i=i+1. 第五步,如果i不大于1000,返回重新执行第三
反复执行的步骤称为________,循环结构又分 为________________和____ ____.
2.循环结构的类型
循环结构有两种类型,即当型(WHILE型循环)结构 和直到型
一次也不执行循环体
(UNTIL要型执循行环一次)结循构环,体它们之间的联系与区别是: (1)当型循环可能________________________,而
解析:要实现所求算法,程序框中最后一次执 行循环体时,i的值为10,当条件i=11>10时就 会终止循环,所以条件应为i≤10? .
题型三 循环结构的实际应用
例3:某工厂2008年的生产总值为200万元,技术 革新后预计以后每年的生产总值比上一年 增加5%,问最早到哪一年年生产总值超过 300万元.写出计算的一个算法并画出相应的 程序框图. 分析:依题意知第n年后生产总值的计算公式 为a=200(1+0.05)n,此时为(2008+n)年.
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

END
开始
SI指向首地址 指向首地址 AX<-[SI]
SI<-SI+1
Y N
CX=0 ?
AX<=[si] ?
N
该同学的流程图有改进, 该同学的流程图有改进, 但仍有问题: 但仍有问题: 1.有必要两处判断 有必要两处判断CX=0? 有必要两处判断 ? 2.计数寄存器 在哪里会 计数寄存器CX在哪里会 计数寄存器 发生变化? 发生变化? 本流程图接近完善。 本流程图接近完善。
某同学的流程图存疑: 某同学的流程图存疑: 1.变址寄存器 在哪里改 变址寄存器SI在哪里改 变址寄存器 变? 2.计数寄存器 在哪里会 计数寄存器CX在哪里会 计数寄存器 发生变化? 发生变化? 3.分支结构画得不直观, 分支结构画得不直观, 分支结构画得不直观 似乎有三重分支。 似乎有三重分支。 4.标号 标号NEXT在哪里? 在哪里? 标号 在哪里 5.似乎有两个结束出口。 似乎有两个结束出口。 似乎有两个结束出口 6.未能充分反映算法核心 未能充分反映算法核心 步骤。 步骤。
2.程序例 从键盘输入一位16进制数,转 化成10进制数后在屏幕上显示
CODE SEGMENT ASSUME CS:CODE AGAIN: MOV AH,1 INT 21H CMP AL,’0’ JB AGAIN
CMP AL,’9’ JBE DIGITAL CMP AL,’A’ JB AGAIN CMP AL,’F’ JBE ALPHA CMP AL,’a’ JB AGAIN CMP AL,’f’
JBE LALP JMP AGAIN DIGITAL: SUB AL,30H JMP DISP ALPHA: SUB AL,37H JMP DISP LALP: SUB AL,57H DISP: XOR AH,AH ADD AX,0 AAA
0~9在这里处理 在这里处理
A~F在这里处理 在这里处理
a~f在这里处理 在这里处理
第四章 汇编语言的程序设计
1.流程图 1.流程图 上次的实验题: 上次的实验题: 编程找出10个有符号双字节数中的最小数。 编程找出10个有符号双字节数中的最小数。 10个有符号双字节数中的最小数
开始
Si指向第 指向第 一个数 Y N
AX<=[si] ?
转到 NEXT
CX=0 ?
N
AX<-[si]
Y Y
AX<-[si]
N
CX=0 ?
保存AX 保存
END
开始
SI指向首地址 指向首地址 AX<-[SI] CX<-9 SI<-SI+1
Y
AX<=[si] ?
N
AX<-[si]
该流程图反映了核心的算 法步骤: 法步骤: 1.有一个选择结构判定两 有一个选择结构判定两 数大小。 数大小。 2.计数寄存器 反映出循 计数寄存器CX反映出循 计数寄存器 环次数。 环次数。 本流程图可以很容易地变 成指令。 成指令。
CX<-CX-1 CX=0 ?
N Y
保存A经常使用指令: 循环结构经常使用指令: LOOP 标号 相当于 (1)CX<-CX-1 (1)CX<-CX(2) JNZ 标号
为了在约定的循环次数后使循环结束,在循环之前, 为了在约定的循环次数后使循环结束,在循环之前,应当把 循环次数值放入CX CX中 再开始进入循环体。 循环次数值放入CX中,再开始进入循环体。
AH中存放了十位,AL 中存放了十位, 中存放了十位 中存放了个位
MOV DH,AL MOV DL,AH ADD DL,’0’ MOV AH,2 INT 21H MOV DL,DH ADD DL,’0’ INT 21H MOV AH,4CH
CODE
INT 21H ENDS END
3。编程任务
编程找出10000~10100之间的全部 素数,各组依次类推。
相关文档
最新文档