第六章结构化编程word版本
合集下载
第6章STEP7结构化程序设计(2)精品PPT课件

各CPU可以使用的硬件中断OB的个数与CPU 的型号有关, S7-300 的型号有关,S7-300的CPU (不包括 CPU 318) 只能使用OB40。表6-28 所示描述了OB40
只有用户程序中有相应的组织块, 才能执行硬件中断。否则操作系 统会向诊断缓冲区中输入错误信息, 并执行异步错误处理组织块OB80。
信号模板指定参数。对于可分配参数的信号模板(DI 、DO 、AI 、
AO ),可以用STEP 7的硬件组态功能 CONFIGURATION工具来设定
信号模块哪一个通道在什么条件下产生硬件中断, 将执行哪个硬件中断
OB, OB4O 被默认用于执行所有的硬件中断;对于CP 模板和FM模板,
利用相应的组态软件在对话框中设置相应的参数来启动硬件中断OB。
“Input”选项卡中 , 设置在Il24.0的上升沿和Il24.1 的下降沿来产生中
断。下面是用STL编写的OB1的程序。 Network 1:在 Il24.2 的上升沿激活硬件中断
(二) 硬件中断组织块(QB40~OB47) 1.概述 延时中断组织块 OB20~OB23 在过程事件出现后延时一定的时间
再执行中断程序。硬件中断组织块OB40~OB47 用于需要快速响应的 过程事件,事件出现时马上中止循环程序,执行对应的中断程序。即 硬件中断组织块用于快速响应信号模块 (SM, 即输入 / 输出模块 ) 、通 信处理模块 (CP) 和功能模块(FM)的信号变化。当具有中断能力的信 号模块(并非所有的信号模块都具有中断能力)将中断信号传送到 CPU时, 或者当功能模块产生一个中断信号时, 将触发硬件中断。硬件 中断被SM、CP或FM等模块触发后, 操作系统将自动识别是哪一个槽 的模块和模块中哪一个通道产生的硬件中断。硬件中断OB执行完后, 将发送通道确认信号。
只有用户程序中有相应的组织块, 才能执行硬件中断。否则操作系 统会向诊断缓冲区中输入错误信息, 并执行异步错误处理组织块OB80。
信号模板指定参数。对于可分配参数的信号模板(DI 、DO 、AI 、
AO ),可以用STEP 7的硬件组态功能 CONFIGURATION工具来设定
信号模块哪一个通道在什么条件下产生硬件中断, 将执行哪个硬件中断
OB, OB4O 被默认用于执行所有的硬件中断;对于CP 模板和FM模板,
利用相应的组态软件在对话框中设置相应的参数来启动硬件中断OB。
“Input”选项卡中 , 设置在Il24.0的上升沿和Il24.1 的下降沿来产生中
断。下面是用STL编写的OB1的程序。 Network 1:在 Il24.2 的上升沿激活硬件中断
(二) 硬件中断组织块(QB40~OB47) 1.概述 延时中断组织块 OB20~OB23 在过程事件出现后延时一定的时间
再执行中断程序。硬件中断组织块OB40~OB47 用于需要快速响应的 过程事件,事件出现时马上中止循环程序,执行对应的中断程序。即 硬件中断组织块用于快速响应信号模块 (SM, 即输入 / 输出模块 ) 、通 信处理模块 (CP) 和功能模块(FM)的信号变化。当具有中断能力的信 号模块(并非所有的信号模块都具有中断能力)将中断信号传送到 CPU时, 或者当功能模块产生一个中断信号时, 将触发硬件中断。硬件 中断被SM、CP或FM等模块触发后, 操作系统将自动识别是哪一个槽 的模块和模块中哪一个通道产生的硬件中断。硬件中断OB执行完后, 将发送通道确认信号。
第六章17节 结构化与面向对象程序设计基础PPT课件

9
②有穷性。一个算法必须在执行有穷多个计算步骤后终止。 在【例6.2】中执行4
③有效性。算法中的每一个步骤必须能够有效地执行,并能
④输入。一个算法可以有0个或1个以上的输入。在【例6.2】 中需要输入a、b、c 3
⑤输出。一个算法有1个或多个的输出,一个算法得到的结 果就是算法的输出。在【例6.2】中输出的是max
▪ 基本的输入/输出命令 ▪ 程序文件中的辅助命令 ❖ 程序的基本结构 ▪ 顺序结构 ▪ 选择结构 ▪ 循环结构
3
主要内容
❖ 模块的定义和调用 ▪ 子程序 ▪ 过程 ▪ 函数
❖ 变量的作用域 ▪ 公共变量 ▪ 本地变量 ▪ 私有变量 ▪ 变量屏蔽
4
6.1 结构化程序设计的基本概念
6.1.1 程序 程序:是一组能够完成特定任务的命令序列的集合,并以文件形
10
2)算法的描述 算法的描述方法有很多,如自然语言、伪代码、流程图 等。
通常采用流程图的方法。流程图是用一些几何图形 符号、线条及文字说明来表征一个问题的处理过程。
一般采用传统流程图和N-S图来描述算法。
11
开始 输入a,b,c 将a,b中大的数放在max中 将c,max中大的数放在max中 输出max
8
第1步:输入a、b、c 第2步:将a、b中大的一个数放入max 第3步:将c与max中大的数放入max 第4步:输出max 从该例子可以看出,算法是对一个问题的解决方法和步 骤的描述,是一个有穷规则的集合。一个算法应该具有以下
①确定性。一个算法给出的每个计算步骤都必须是准确的、 无二义性。在【例6.2】中每一个步骤的含义都是确定的。
① 当型循环结构,如图6-4所示。
② 直到型循环结构,如图6-5所示 。
②有穷性。一个算法必须在执行有穷多个计算步骤后终止。 在【例6.2】中执行4
③有效性。算法中的每一个步骤必须能够有效地执行,并能
④输入。一个算法可以有0个或1个以上的输入。在【例6.2】 中需要输入a、b、c 3
⑤输出。一个算法有1个或多个的输出,一个算法得到的结 果就是算法的输出。在【例6.2】中输出的是max
▪ 基本的输入/输出命令 ▪ 程序文件中的辅助命令 ❖ 程序的基本结构 ▪ 顺序结构 ▪ 选择结构 ▪ 循环结构
3
主要内容
❖ 模块的定义和调用 ▪ 子程序 ▪ 过程 ▪ 函数
❖ 变量的作用域 ▪ 公共变量 ▪ 本地变量 ▪ 私有变量 ▪ 变量屏蔽
4
6.1 结构化程序设计的基本概念
6.1.1 程序 程序:是一组能够完成特定任务的命令序列的集合,并以文件形
10
2)算法的描述 算法的描述方法有很多,如自然语言、伪代码、流程图 等。
通常采用流程图的方法。流程图是用一些几何图形 符号、线条及文字说明来表征一个问题的处理过程。
一般采用传统流程图和N-S图来描述算法。
11
开始 输入a,b,c 将a,b中大的数放在max中 将c,max中大的数放在max中 输出max
8
第1步:输入a、b、c 第2步:将a、b中大的一个数放入max 第3步:将c与max中大的数放入max 第4步:输出max 从该例子可以看出,算法是对一个问题的解决方法和步 骤的描述,是一个有穷规则的集合。一个算法应该具有以下
①确定性。一个算法给出的每个计算步骤都必须是准确的、 无二义性。在【例6.2】中每一个步骤的含义都是确定的。
① 当型循环结构,如图6-4所示。
② 直到型循环结构,如图6-5所示 。
Visual FoxPro程序设计-电子教案 第6章结构化程序设计

3. accept命令 格式: ACCEPT [<字符表达式>] TO <内存变量> 功能:程序运行时,通过键盘把字符型常量给变量赋值 说明: ① 系统显示<字符表达式>的内容作为输入的提示信息, 如果不指定<字符表达式>,则执行命令时屏幕上只显 示光标等待输入。 ② 此命令只能接收字符型常量,用户在输入时不需要加 字符串定界符,否则系统会把定界符作为字符串内的 字符。 ③ 如果不输入内容直接按回车键,系统将把空串赋值给 指定的内存变量。
【例6-5】在学生档案表中按姓名查找满足条件的记录, 若找到则显示该学生的学号、姓名、性别、家庭住址 ;若没找到,则显示“姓名输入错误!” 【例6-6】输入货物重量,计算货物的托运费。计费标准 为每公斤0.1元,当超过50公斤时,超出部分为每公斤 0.2元。
6.2.2 嵌套的分支语句 IF语句中还可以出现IF语句,这就构成了IF语句的嵌套。 1.IF语句嵌套的一般格式 2.语句执行过程 3.说明 (1)也可以在IF子句中嵌套,或是在IF和ELSE子句中同 时嵌套; (2)每个嵌套中的IF和ENDIF必须成对出现; (3)各层嵌套不得交叉。
高职高专院校“十二五”精品示范系列教 材(软件技术专业群)
Visual FoxPro程序设计
第6章 结构化程序设计
6.1 程序和程序文件 6.2 选择结构程序设计 6.3 循环结构程序设计 6.4 过程与函数
6.1 程序和程序文件
程序是能够完成一定任务的命令的有序集合。许多任务单靠 一条命令是无法完成的,而是要执行一组命令来完成。学习 Visual FoxPro的目的就是要学习利用命令来编写程序,以完成一 些具体的任务。 程序以文件形式保存在磁盘上,被称为程序文件或命令文件 ,扩展名为.prg。VFP的程序文件和其Байду номын сангаас高级语言程序一样,是一 个文本文件。程序运行时,系统会按照一定的次序自动执行包含 在程序文件中的命令。编写程序文件与在命令窗口中逐条输入命 令相比有以下优点: (1)可以利用编辑器,方便地输入、编辑和保存程序; (2)可以利用多种方式、多次运行程序; (3)可以在一个程序中调用另一个程序。
第6章 STEP7结构化程序设计(1)

②Name(名称):输入数组的符号名。如PRESS、 Motor_data等。 ③Type(数据类型):数组的数据类型。如BOOL、WORD、 INT、STRACT、UDT等基本数据类型或复合数据类型,注意不能 用ARRAY类型。 ④Initial Value(初值):如果不想用缺省值可输入初值。如 “30、22、-3、3(0)”(这里的3(0)表示后3个数组元素全为0, 是一种简化的写法)。当数据块第一次存盘时,若用户没有明确地 声明实际值,则初值将被用于实际值。 ⑤Comment(注释):用于栏目的文字注释,最多可为80 个字符。如“2×3数组”。 (2)访问数组。利用数组中指定元素的下标可访问数组中的 元素数据,这时数据块名、数组名及下标一起使用并用英语的句号 分开。如图6-5中声明的数组在DB3(假设符号名MOTOR)数据块 中,可用以下符号地址或绝对地址访问存在DB3中数组的第3个元素 (数据类型为整数INT,占用一个字或2个字节): MOTOR.PRESS[1 ,3] 或DB3.DBW5
第六章
STEP7结构化程序设计
一个复杂的生产过程或大规模的分散被控对象,总是可以把它分 解为若干个较小的分过程。自动化过程的这种分解处理,得到了 STEP7 “开发软件包”在各个技术层次上的支持。它将控制任务分为 项目,项目可以由一个或多个CPU 程序组成,而每个CPU 程序又是
由它的各种逻辑块和数据块构成,逻辑块中的功能块总是对应一个控
用户根据生产控制的复杂程度,将程序放在不同的逻辑块(包括 OB、FC和FB)中。程序运行时所需的大量数据或变量存储在数据块中, 调用功能块FB 时也必须为其指定一个相应的背景数据块DI ,它随功 能块FB 的调用而打开,随功能块FB的结束而关闭。在块调用时,调 用块可以是任何逻辑块( OB 、FB 、FC 、SFB 、SFC ) ,被调用的 块只能是功能块(除OB 外的逻辑块)。 块调用时,OB的临时变量数据压入L堆栈,所有OB要求至少20字 节的L堆栈中的内存空间。所以OB1 即使没有声明使用其他额外的临 时变量,也要使用20 字节的L堆栈中的内存空间。 二、PLC中断 S7 系列PLC 采用循环程序处理与中断程序处理结合的工作方式。 中断处理方式在计算机和PLC 中均得到广泛应用。这种工作方式是当 有中断申请时,CPU 将暂时中断现有程序的执行,转而执行相关的中 断程序,中断程序执行完毕后,再返回原程序执行。但不同PLC 对中 断的处理可能各有不同,下面介绍S7-300 /400 系列PLC 的中断。
《VisualFoxPro程序设计》第六章结构化程序设计

其中各参数的说明如下:
Visual FoxPro 6.0 程序设计.课件
4.非格式输出命令
-*-
该命令的格式如下: ?|?? <表达式列表> 该命令的功能是在Visual FoxPro的主窗口中换行或不换行输出<表达式列表>中各个表达式的值,其中,?表示换行输出,即<表达式列表>中各个表达式的值在当前主窗口中最后一次输出位置的下一行输出;??表示不换行输出,即<表达式列表>中各个表达式的值在当前主窗口中最后一次输出位置后直接输出,并不换行。
程序文件 程序控制结构 过程与过程调用 程序的调试 提示:单击各个标题前的动画符号“ ” ,链接到相应的章节。
第6章 结构化程序设计
在程序设计的方法中,结构化程序设计是程序设计的基本方法。结构化程序设计的基本思想是逐步求精、模块化和自顶向下,将一个复杂的程序系统的设计任务分成多个易于控制和处理的子任务,每个子任务都是可独立编程的子程序、过程或函数模块。其程序控制结构有顺序结构、分支结构和循环结构三种。
Visual FoxPro 6.0 程序设计.课件
6.2 程序控制结构
Visual FoxPro 6.0 程序设计.课件
-*-
01
02
04
分支结构程序设计
循环结构程序设计
顺序结构程序设计
6.2程序控制结构
-*-
程序的控制结构包括顺序结构、分支结构和循环结构3种,每一种控制结构可以包含一个或多个语句,任何程序都是由这3种基本控制结构构成的。
其中各参数的说明如下:
该命令格式如下:
@<行,列> SAY <提示信息> [GET <变量名>6-6 结果显示 【例6-2】编写程序prog2.prg,使用格式输入输出命令,修改学生信息表student中指定学号的学生记录的字段值。 程序编辑窗口的输入如图6-5,运行时在屏幕中输入“王燕燕”,运行结果如图6-6。
Visual FoxPro 6.0 程序设计.课件
4.非格式输出命令
-*-
该命令的格式如下: ?|?? <表达式列表> 该命令的功能是在Visual FoxPro的主窗口中换行或不换行输出<表达式列表>中各个表达式的值,其中,?表示换行输出,即<表达式列表>中各个表达式的值在当前主窗口中最后一次输出位置的下一行输出;??表示不换行输出,即<表达式列表>中各个表达式的值在当前主窗口中最后一次输出位置后直接输出,并不换行。
程序文件 程序控制结构 过程与过程调用 程序的调试 提示:单击各个标题前的动画符号“ ” ,链接到相应的章节。
第6章 结构化程序设计
在程序设计的方法中,结构化程序设计是程序设计的基本方法。结构化程序设计的基本思想是逐步求精、模块化和自顶向下,将一个复杂的程序系统的设计任务分成多个易于控制和处理的子任务,每个子任务都是可独立编程的子程序、过程或函数模块。其程序控制结构有顺序结构、分支结构和循环结构三种。
Visual FoxPro 6.0 程序设计.课件
6.2 程序控制结构
Visual FoxPro 6.0 程序设计.课件
-*-
01
02
04
分支结构程序设计
循环结构程序设计
顺序结构程序设计
6.2程序控制结构
-*-
程序的控制结构包括顺序结构、分支结构和循环结构3种,每一种控制结构可以包含一个或多个语句,任何程序都是由这3种基本控制结构构成的。
其中各参数的说明如下:
该命令格式如下:
@<行,列> SAY <提示信息> [GET <变量名>6-6 结果显示 【例6-2】编写程序prog2.prg,使用格式输入输出命令,修改学生信息表student中指定学号的学生记录的字段值。 程序编辑窗口的输入如图6-5,运行时在屏幕中输入“王燕燕”,运行结果如图6-6。
第六章 结构化程序设计

17
(2)格式化输出语句 (2)格式化输出语句 格式: 行号, <表达式 表达式> 格式:@行号,列号 SAY <表达式> 例: @3,10 say "我叫王小力 我叫王小力," 我叫王小力 @4,10 say “我是学会计 我是学会计." 我是学会计
2010-11-29
18
6.3程序的基本控制结构 6.3程序的基本控制结构
2010-11-29
9
6.2.5 程序设计常用命令 1.注释命令 1.注释命令 (1):note 注释内容 行首注释 (2):* (3)&&注释内容 (3)&&注释内容 行尾注释 2.文本显示命令 文本显示命令( 2.文本显示命令(略) 3.环境设置命令 3.环境设置命令
<参数 参数> <参数 参数> <参数值 参数值> set <参数> on/off 或set <参数> to <参数值> 作用: 作用:设置某种状态来满足程序处理或数据处理的需 。(书164页 要。(书164页)
2010-11-29
26
参考答案: 参考答案:
Input “请输入第1个数” to 请输入第1 请输入第 个数” x1 Input “请输入第2个数” to 请输入第2 请输入第 个数” x2 Input “请输入第3个数” to 请输入第3 请输入第 个数” x3 Input “请输入第4个数” to 请输入第4 请输入第 个数” x4 m=max(x1,x2,x3,x4) n=min(x1,x2,x3,x4) ?m,n 2010-11-29
程序设计语言: 程序设计语言:就是人与计算机之间进行交流的工 是由字、词和语法规则构成的指令系统。 具,是由字、词和语法规则构成的指令系统。 计算机语言:包括机器语言、汇编语言和高级语言。 计算机语言:包括机器语言、汇编语言和高级语言。 通常所说的程序设计语言就是指高级语言,例如, 通常所说的程序设计语言就是指高级语言,例如, 语言、C++、 Basic、 FoxPro、VC、 C语言、C++、Visual Basic、Visual FoxPro、VC、 Java等 Java等。
6+学习编写结构化的程序—过程

◦ 3 End Function
下面的代码调用Multi函数计算两个数 的乘积。
◦ 1 Dim Result As Integer ◦ 2 Result=Multi(10,20)
下面的代码调用Multi函数计算三个数 的乘积。
◦ 1 Dim Result As Integer ◦ 2 Result=Multi(10,20,30)
6.4 为过程传递参数
Sub子过程和Function函数都可以有零 到多个形参,在实际调用的时候需要由 实参与之一一对应,这个过程就称为参 数传递。
6.4.1 按值传递和按引用传递
通常,可以通过两种方式把实参传递给 过程,即按值传递(也称为传值)和按 引用传递(也称为传地址),因此参数 可以分为值类型参数(以ByVal关键字 标识)和引用类型参数(以ByRef关键 字标识)两种。
btn_Calculate_Click
2
tb_result.Text = Fac(Val(tb_num.Text))
3 End Sub
运行结果
小结
函数定义包含函数头、函数体和End Function关键字。
函数头由Function关键字开始,后跟函 数名,之后是一对圆括号括起来的形参 列表。
6.3 Function函数过程
Function函数过程简称函数,由关键字 Function开头,End Function结尾,其 基本结构如下。
◦ Function 函数名([参数列表]) As 返回值 类型
◦ 函数体 ◦ End Function
Function与Sub的不同
二者唯一不同的地方在于,Function函 数的参数列表之后比Sub子过程多了一 项As 返回值类型。
第6章结构化程序设计基础教学课件VF

语句格式: Do While <循环条件> <语句序列> Enddo 说明: Do While 与 Enddo 必须成对使用。
33/65
循环体后的语句 结束
6.5.1 Do While(当型)循环语句
例6.14,求前100个自然数的和: S=0 N=1 Do While N<=100 循环条件 S=S+N 循环体 N=N+1 Enddo
16/65
6.3.2 等待语句
Timeout <数值表达式>:用于设定等待的秒 数。在等待时间内按任意键或等待超时,程序 将继续向下执行。 例:Wait "显示时间:" Timeout 3 ?? Time()
17/65
6.3.3 输入表达式语句
语句格式: Input [<字符表达式>] To <内存变量> 说明:允许输入任何类型的表达式。Input输 入字符串时必须加上定界符。 例6.5: N=2 Input "请输入数据: " To M ? M
程序文件的类型
在 VFP 中,可以执行源程序、编译程序、 应用程序和可执行程序4种程序文件。 (1)源程序(PRG):源程序是文本文件,可 以对其内容进行修改。只要有源程序文件, 就可以生成其他3种程序文件。
8/65
6.2.3 程序的编译与执行
(2)编译程序(FXP):每个源程序文件都有 对应的编译程序文件,执行编译程序比执行 源程序的速度快。
说明2:若所有条件都不成立,而有Otherwise 项,则执行语句序列n+1,然后执行Endcase后 面的语句;若所有条件都不成立,且无 Otherwise项,则直接执行Endcase后面的语句。