程序设计3种基本结构
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
I/O框
判断框
处理框
流程线
3.1 算法及算法的表示
2、三种基本结构的表示
(1)顺序结构
(2)选择结构
语句1 语句2
Y
条件
语句1
N 语句2
3.1 算法及算法的表示
(3)循环结构
a) 当型循环
b) 直到循环
条件 N Y
语句组
(a)
语句组 Y 条件
N (b)
3.1 算法及算法的表示
三种基本结构的特点:
3.1.2 算法的特性
1 有穷性 2 确定性 3 有0个或多个输入 4 有一个或多个输出 5 有效性
3.1 算法及算法的表示
3.1.3 算法的表示
一、自然语言与伪代码表示算法 自然语言:就是指人们日常使用的语言,可以是汉语、英 语或其它语言。 伪代码:是用介于自然语言和计算机语言之间的文字和符 号(包括数学符号)来描述算法。
(1)只有一个入口 (2)只有一个出口 (3)不存在死语句 (4)不存在死循环
例: 例3.2输入10个数,打印输出其中的最大的数的流程图
3.1 算法及算法的表示
从10个数中选出最大的数 的算法流程图
开始 输入A
Max =A N=1
N<10 N
Y
再输入给A
N A>Max Y
Max =A
Hale Waihona Puke Baidu
N=N+1
打印Max 结束
3.1 算法及算法的表示
例如:例3.1可用如下的伪代码表示 Begin(算法开始)
输入 A,B,C IF A>B 则
A→Max 否则 B→Max IF C>Max 则 C→Max Print Max End (算法结束)
3.1 算法及算法的表示
二 用传统流程图表示算法
1、传统流程图中的基本符号
起止框
3.1.1 算法概述
什么是算法: 广义地讲:算法是为完成一项任务所应当遵循的一步一
步的规则的、精确的、无歧义的描述,它的总步数是有限的。 狭义地讲:算法是解决一个问题采取的方法和步骤的描述。
下面通过两个简单的例子加以说明:
3.1 算法及算法的表示
例3.1 输入三个数,然后输出其中最大的数。 将三个数依次输入到变量A、B、C中,设变量MAX存放
3.1 算法及算法的表示
3.1.4 用N—S流程图表示算法
将全部算法写在一个矩形框内,在矩形内还可包含其 它从属于它的框
三种基本结构的N—S图表示:
1、顺序结构 语句A 语句B
2、选择结构
Y
条件 N
语句A 语句B
3.1 算法及算法的表示
(3)循环结构
a) 当型循环
b) 直到循环
当条件成立 语句组 (a)
最大数。其算法如下:
1) 输入A、B、C。 2) A与B中大的一个放入MAX中。 3) 把C与MAX中大的一个放入MAX中。 4) 输出MAX,MAX即为最大数。
3.1 算法及算法的表示
例3.2 输入10个数,打印输出其中最大的数。 算法设计如下:
(1)输入1个数,存入变量A中,将记录数据个数的变量N赋 值为1,即N=1
重点:选择结构及循环结构的实现及其应用 难点:算法设计、选择的嵌套及多重循环结构
3.1 算法及算法的表示
问题: 输入时间(小时,分和秒),然后使用输出消息框输出
总计多少秒。 使用文本框输入数据,使用消息框输出计算结果,程序
运行界面如图3-14所示。
图3-14 程序运行界面
3.1 算法及算法的表示
r<=将x1除j的余
每 个部分承担一定功能,称为“功能模 块” 例:给100个整数,打印输出其中的素数
3.1 算法及算法的表示
输入100个数存入 X1,x2,……x100
S1
让x1, x2,……x100中的
S2
非素变为0
打印x1…..x100中 不等于0的数
S3
N—S流程图
i=1 当i<=100
输入xi i=i+1
i=1
(2)将A存入表示最大值的变量Max中,即Max=A (3)再输入一个值给A,如果A>Max 则 Max=A, 否则 Max不变 (4)让记录数据个数的变量增加1,即N=N+1 (5)判断N是否小于10,若成立则转到第(3)步执行,否 则转到第(6)步 (6)打印输出max
3.1 算法及算法的表示
第3章 程序设计的3种基本结构
本章内容及要求:
(1)了解算法概念及表示,掌握用N—S流程图表示算法; ( 2)熟练掌握赋值语句、输入/输出消息框函数的使用; ( 3)熟练掌握行if语句、块if结构、Select Case情况选 择结构有使用,掌握选择的嵌套结构; (4)熟练掌握实现循环结构的For/Next循环结构及Exit For语句、Do/Loop循环结构的使用,掌握多重循环; (5)能够运用3种结构进行综合程序设计。
打印Max
N—S流程图
传统流程图
3.1 算法及算法的表示
下面是例3.2的计算机 程序,即为用计算机语言表示算法:
Private Sub Form_Click() Dim a%, max%, i% a = Val(InputBox("A=?")) max = a For i = 2 To 10 a = Val(InputBox("A=?")) If a > max Then max = a Next i Print "Max="; max
语句组 直到当条件成立
(b)
例: 画出从10个数中选出最大的数的N—S 流程图
3.1 算法及算法的表示
开始 输入A
输入A Max=A, N=1
Max =A N=1
N<10 N
Y
再输入给A
N A>Max Y
Max =A
N=N+1
打印Max 结束
当N<10
输入A
N A>Max Y
Max =A N=N+1
End Sub
3.1 算法及算法的表示 3.1.6 结构化程序设计方法(补充)
(一)、用计算机解决问题的过程
提出、分 析问题
确定算 法模型
设计 算法
编写 程序
调试 程序
结束
正确 合理
分析输 出结果
3.1 算法及算法的表示
(二)、结构化程序设计思想
自顶向下、逐步细化、模块化 自顶向下:先从全局、整体设计 逐步细化:将一个问题分解成几个较小的问题解决 模块化: 将一个大任务分解成若干个较小的部分,
当i<=100
N xi≠0
Y
打印xi i=i+1
3.1 算法及算法的表示
输入100个数存入 S1 X1,x2,……x100
让x1,……x100中的 非素变为0
S2
打印x1…..x100中
S3
不等于0的数
N—S流程图
i=1 当i<=100
S21
判断xi是否是素数, 若不是则将xi=0
i=i+1
j=2