结构化程序设计
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Visual FoxPuo 程序设计基础
第8章 结构化程序设计
8.1
程序设计概述
8.2
程序的基本结构
8.3
过程与过程文件
8.4
数组的应用
8.5
程序的调试
8.1 程序设计概述
• 8.1.1 程序设计相关概念
• 程序是利用系统所提供的设计工具、按 照程序设计语言的规范描述解决问题的算法 并进行程序编写的过程。
• Visual FoxPro应用程序的编写一般由 以下部分组成。
• (1)程序注释。
• (2)程序运行环境设置。 • (3)程序主体。 • (4)程序辅助整理。 • (5)程序退出。
2.程序的控制结构
• 任何复杂的程序都由3种基本控制结构 • 组成。
• 分别是顺序结构、选择结构和循环结构。
• (1)顺序结构。 • (2)选择结构。 • (3)循环结构。
• 解:完成题目功能的命令是:
• WAIT ″请在10秒内做出判断Y/N″ TO X TIMEOUT 10 WINDOW AT 10,20
• 此命令执行时,在主窗口的右上角坐 标(10,20)处显示一个提示窗口,显示 提示信息为“请在10秒内做出判断Y/N”, 如图8.9所示。
图8.9 WAIT 命令提示窗口
4.程序文件的执行
• (1)使用菜单方式。 • (2)使用项目管理器。 • (3)使用命令方式。
wenku.baidu.com
8.1.3 交互式输入输出命令
• 程序的执行过程一般包括输入原始数据、 处理数据和输出结果数据三部分。
1.字符串接收命令
• 字符串接收命令格式是: • ACCEPT [<提示信息>] TO <内存变量>
图8.2 程序的模块化结构
8.1.2 程序文件的建立和编辑
• 1.程序文件的建立
• 在Visual FoxPro中建立程序文件同其他 类型的文件方法类似,通常有以下3种方式。
(1)使用菜单方式。
图8.3 程序编辑窗口
(2)使用项目管理器。
图8.4 使用“项目管理器”建立程序
• (3)使用命令方式。
1.程序的概念
• 程序是能够完成一定任务的命令的有 序集合。
• 这组命令被存放在称为程序文件或命 令文件的文本文件中。
• 与交互式操作方式相比,程序方式有以 下优点。
• (1)可以利用编辑器,方便地输入、 修改、保存程序。
• (2)程序文件一旦建立,就可以被多 次运行,而且一个程序在运行过程中还可 以调用运行另一个程序。
图8.5 “另存为”对话框
• (2)单击“程序编辑器”窗口的关闭 按钮,会出现是否存盘的确认对话框,如 图8.6所示。
• 然后单击“是”按钮,随即将打开 “另存为”对话框,输入程序文件名称, 最后单击“保存”按钮。
图8.6 保存文件确认对话框
3.修改程序文件
• (1)使用菜单方式。 • (2)使用项目管理器。 • (3)使用命令方式。
A B C
(a)
Y A
P N
B
(b)
P
Y
N
A
(c)
A N
P
Y
(d)
图8.1 程序的控制结构
3.结构化程序设计方法
• 结构化程序设计的基本思想是采用“自顶 向下,逐步求精”的程序设计方法和模块化。
• 自顶向下是指对设计的系统要有一个全面 的理解,从问题的全局入手,把一个复杂问题 分解成若干个相互独立的子问题,然后对每个 子问题再进一步的分解,如此重复,直到每个 问题都容易解决为止。
图8.8 INPUT命令示例程序运行结果
3.单个字符接收命令
• 单个字符接收命令格式:
• WAIT[<提示信息>] [TO <内存变量>] [WINDOW [AT<行>,<列>]] • [NOWAIT] [CLEAR|NOCLEAR] [TIMEOUT<数值表达式>]
• 【例8.3】 完成在限定时间做出判断 “是”或“否”功能。
• 逐步求精是指程序设计的过程是一个渐 进的过程,先把一个子问题用一个程序模块 来描述,再把每个模块的功能逐步分解细化 为一系列的具体步骤,模块化设计是结构化 程序的重要原则。
• 这种程序的模块化结构如图8.2所示。
主控模块
子模块 1
子模块 2 …
子模块 n
子模块 21
子模块 22 …
子模块 2n
图8.7 ACCEPT命令示例程序运行结果
2.任意数据输入命令
• 任意数据输入命令格式是: • INPUT [<提示信息>] TO <内存变量>
• 【例8.2】 建立一个程序,实现查询指 定出生日期以前的教师信息。
解:具体求解过程如下。 • ① 建立程序文件,输入以下程序代码:
② 保存、运行程序文件。
• 【例8.1】 建立一个程序,实现按照教 师编号查询教师的教师姓名和职称。
• 解:具体求解过程如下。 • ① 依据8.1.2节介绍的方法建立程序文
件,输入以下程序代码:
② 保存、运行程序文件。
• 保存程序文件名为“accept命令示 例.prg”。
• 当运行该程序文件时,在Visual FoxPro主窗口显示“请输入要查询教师的 教师编号:”,在光标插入处输入要查询 的教师编号,如输入“0000221”按Enter 键,则将其存入内存变量JSBH中,程序将 继续执行。运行结果如图8.7所示。
• 保存程序文件名为“input命令示 例.prg”。
•
当程序文件运行时,在主窗口显示
“请输入要查询教师的出生日期:”,在
光标闪烁处输入要查询的教师出生日期,
如输入{^1980-01-01}按回车键,则会将其
日期值存入BDATE内存变量中,程序继续
执行。
• 在浏览窗口显示该程序的运行结果, 最终运行结果如图8.8所示。
2.保存程序文件
• 当程序文件代码输入完后,首先应该保 存该程序文件,保存文件的常用方法有以下 几种。
• (1)选择“文件”/“保存”命令,或者 单击工具栏中“保存”按钮,如果是第一 次保存则会出现如图8.5所示的“另存为” 对话框,在其中输入程序文件名,并选择 保存目录后,单击“保存”按钮即可完成 对程序文件的保存。
• 程序暂停执行。当用户按Y或N键,或 任意键,会将此键字符保存到X变量中。
• 或者超过10秒后,提示窗口自动关闭, 程序继续向下执行。
4.输出命令
• (1)格式1:
• ?[<表达式1>[, <表达式2 >]…]
• (2)格式2:
• ??[<表达式1 >[, <表达式2 >]…]
第8章 结构化程序设计
8.1
程序设计概述
8.2
程序的基本结构
8.3
过程与过程文件
8.4
数组的应用
8.5
程序的调试
8.1 程序设计概述
• 8.1.1 程序设计相关概念
• 程序是利用系统所提供的设计工具、按 照程序设计语言的规范描述解决问题的算法 并进行程序编写的过程。
• Visual FoxPro应用程序的编写一般由 以下部分组成。
• (1)程序注释。
• (2)程序运行环境设置。 • (3)程序主体。 • (4)程序辅助整理。 • (5)程序退出。
2.程序的控制结构
• 任何复杂的程序都由3种基本控制结构 • 组成。
• 分别是顺序结构、选择结构和循环结构。
• (1)顺序结构。 • (2)选择结构。 • (3)循环结构。
• 解:完成题目功能的命令是:
• WAIT ″请在10秒内做出判断Y/N″ TO X TIMEOUT 10 WINDOW AT 10,20
• 此命令执行时,在主窗口的右上角坐 标(10,20)处显示一个提示窗口,显示 提示信息为“请在10秒内做出判断Y/N”, 如图8.9所示。
图8.9 WAIT 命令提示窗口
4.程序文件的执行
• (1)使用菜单方式。 • (2)使用项目管理器。 • (3)使用命令方式。
wenku.baidu.com
8.1.3 交互式输入输出命令
• 程序的执行过程一般包括输入原始数据、 处理数据和输出结果数据三部分。
1.字符串接收命令
• 字符串接收命令格式是: • ACCEPT [<提示信息>] TO <内存变量>
图8.2 程序的模块化结构
8.1.2 程序文件的建立和编辑
• 1.程序文件的建立
• 在Visual FoxPro中建立程序文件同其他 类型的文件方法类似,通常有以下3种方式。
(1)使用菜单方式。
图8.3 程序编辑窗口
(2)使用项目管理器。
图8.4 使用“项目管理器”建立程序
• (3)使用命令方式。
1.程序的概念
• 程序是能够完成一定任务的命令的有 序集合。
• 这组命令被存放在称为程序文件或命 令文件的文本文件中。
• 与交互式操作方式相比,程序方式有以 下优点。
• (1)可以利用编辑器,方便地输入、 修改、保存程序。
• (2)程序文件一旦建立,就可以被多 次运行,而且一个程序在运行过程中还可 以调用运行另一个程序。
图8.5 “另存为”对话框
• (2)单击“程序编辑器”窗口的关闭 按钮,会出现是否存盘的确认对话框,如 图8.6所示。
• 然后单击“是”按钮,随即将打开 “另存为”对话框,输入程序文件名称, 最后单击“保存”按钮。
图8.6 保存文件确认对话框
3.修改程序文件
• (1)使用菜单方式。 • (2)使用项目管理器。 • (3)使用命令方式。
A B C
(a)
Y A
P N
B
(b)
P
Y
N
A
(c)
A N
P
Y
(d)
图8.1 程序的控制结构
3.结构化程序设计方法
• 结构化程序设计的基本思想是采用“自顶 向下,逐步求精”的程序设计方法和模块化。
• 自顶向下是指对设计的系统要有一个全面 的理解,从问题的全局入手,把一个复杂问题 分解成若干个相互独立的子问题,然后对每个 子问题再进一步的分解,如此重复,直到每个 问题都容易解决为止。
图8.8 INPUT命令示例程序运行结果
3.单个字符接收命令
• 单个字符接收命令格式:
• WAIT[<提示信息>] [TO <内存变量>] [WINDOW [AT<行>,<列>]] • [NOWAIT] [CLEAR|NOCLEAR] [TIMEOUT<数值表达式>]
• 【例8.3】 完成在限定时间做出判断 “是”或“否”功能。
• 逐步求精是指程序设计的过程是一个渐 进的过程,先把一个子问题用一个程序模块 来描述,再把每个模块的功能逐步分解细化 为一系列的具体步骤,模块化设计是结构化 程序的重要原则。
• 这种程序的模块化结构如图8.2所示。
主控模块
子模块 1
子模块 2 …
子模块 n
子模块 21
子模块 22 …
子模块 2n
图8.7 ACCEPT命令示例程序运行结果
2.任意数据输入命令
• 任意数据输入命令格式是: • INPUT [<提示信息>] TO <内存变量>
• 【例8.2】 建立一个程序,实现查询指 定出生日期以前的教师信息。
解:具体求解过程如下。 • ① 建立程序文件,输入以下程序代码:
② 保存、运行程序文件。
• 【例8.1】 建立一个程序,实现按照教 师编号查询教师的教师姓名和职称。
• 解:具体求解过程如下。 • ① 依据8.1.2节介绍的方法建立程序文
件,输入以下程序代码:
② 保存、运行程序文件。
• 保存程序文件名为“accept命令示 例.prg”。
• 当运行该程序文件时,在Visual FoxPro主窗口显示“请输入要查询教师的 教师编号:”,在光标插入处输入要查询 的教师编号,如输入“0000221”按Enter 键,则将其存入内存变量JSBH中,程序将 继续执行。运行结果如图8.7所示。
• 保存程序文件名为“input命令示 例.prg”。
•
当程序文件运行时,在主窗口显示
“请输入要查询教师的出生日期:”,在
光标闪烁处输入要查询的教师出生日期,
如输入{^1980-01-01}按回车键,则会将其
日期值存入BDATE内存变量中,程序继续
执行。
• 在浏览窗口显示该程序的运行结果, 最终运行结果如图8.8所示。
2.保存程序文件
• 当程序文件代码输入完后,首先应该保 存该程序文件,保存文件的常用方法有以下 几种。
• (1)选择“文件”/“保存”命令,或者 单击工具栏中“保存”按钮,如果是第一 次保存则会出现如图8.5所示的“另存为” 对话框,在其中输入程序文件名,并选择 保存目录后,单击“保存”按钮即可完成 对程序文件的保存。
• 程序暂停执行。当用户按Y或N键,或 任意键,会将此键字符保存到X变量中。
• 或者超过10秒后,提示窗口自动关闭, 程序继续向下执行。
4.输出命令
• (1)格式1:
• ?[<表达式1>[, <表达式2 >]…]
• (2)格式2:
• ??[<表达式1 >[, <表达式2 >]…]