第4章_程序分析_
Python程序设计 第4章 循环结构程序设计(第7次课)2
sum += score[i]
#循环体——对列表元素求和
aver = sum / 8.0 #循环之后,求平均值 print '\naver = ', aver
计算机编程导论
Copyright © SWFU-CISD, 2012. All rights reserved.
Copyright © SWFU-CISD, 2012. All rights reserved. 1-11
为 i 赋初值 1 False
判断 i <= 100? True
判断 i 是否能被 7 整除但不能被 5 整 除 ?
False
True 输出 i
i 自增 1
结束 图 4-10 整除问题的框图
计算机编程导论
1 1 2 1 2 3 1 2 3 4 1 2 n 1 2 3 3 5 3 5 7 3 5 7 9 3 5 (2n 1)
Copyright © SWFU-CISD, 2012. All rights reserved.
1-10
Copyright © SWFU-CISD, 2012. All rights reserved.
计算机编程导论
【例4-8】求1 ~ 100之间能被7整除,但不能同 时被5整除的所有整数 。
开始
【分析】 (1)本题需要对1 ~ 100 范围内的所有数一一进 行判断。 (2)本题的循环次数确 定是100次。 (3)在每次循环过程中 需要用 if 语句进行条件 判断。因此本题是循环 嵌套选择的结构。
1-19
利用for语句实现双层循环嵌套
循环的嵌套是指在一个循环中又包含另外一个 完整的循环,即循环体中又包含循环语句。 while循环和for循环可以相互嵌套。 循环嵌套的执行过程是:一次外循环对应着完 整的一轮内循环。
第4章 定量分析概论第一节
采集方法:不用制备,直接采用测定。 2. 组成不均匀的固体试样 (如:矿石,煤炭)
采集方法:应根据试样堆放情况,颗粒大小,从 不同的部位和深处选取多个取样点。
原始样品取好后,再经破碎、过筛、混合和缩分,
最后制成分析试样。
缩分一般采取四分法,按经验式确定缩分的次 数。
方法 常量分析 半微量分析 微量分析 超微量分析
试样质量 >0.1g 0.01~0.1g 0.1~10mg <0.1mg
试液体积 >10ml 1~10ml 0.01~1ml <0.01ml
试样的采集 和制备
提出问题
Problem definition
4.1 定量分析过程
结果评价
Reports
预处理
2019年10月25日
Q 值检验法: 当测定次数为3-10时,根据所要求的 置信度,用Q值检验法检验可疑数据是否可以舍去。
步骤:
(1)将测定结果按从小到大顺序排列 x1 x2 …… xn, 则最大值xn或最小值x1 为可疑值。 (2)计算Q值:
Q 计算
=
x n - x n -1 xn -x1
3. 可用下列哪种方法减免分析测试中的偶然误差:
A.加样回收试验
B.增加平行测定次数
C.对照试验
D.空白试验
4. 下列各项定义中不正确的是:
A.绝对误差是测定值与真值之差
B.相对误差是绝对误差在真值中所占的百分率
C.总体平均值就是真值
D.偏差是指测定值与平均值之差
三、分析数据的处理
有效数字及位数 有效数字的修约与运算规则 分析数据的评价
C.精密度是保证准确度的前提
第4章 程序分析
办公桌 人
1 3
4
公 文 柜
5
4
6
放回票
8
储存与暂存不一样,储存是有目的的,从储存处取出物
品一般需要申请单或其他的票据。暂存是没有目的的, 从暂存处取出物品一般不需要任何票据。
在实际工作中,除了上述5种表示的单一活动符号以外,
还有两种活动同时发生的情况。为此,还派生出如表4-2 所示的一些复合活动符号。
检查
数量 检查 品质 检查
实例:设有一业务员依照顾客来函核对某张支票上的 数字,信(顾客来函)放在公文柜中。
7
实例:设有一业务员依照顾客来函核对某张支票上的 数字,信(顾客来函)放在公文柜中。
1
1 2
去公文柜 开公文柜 拿出信 带信回办公桌
3
2
找票 核对 带信回公文柜 放回信 关公文柜 回办公桌
32
(4)加工工具分析
分析加工工具及设备的精度要求是否合理。精度要求太高, 必须使用价格昂贵的工具、设备及熟练工人,使产品成本增 加。精度要求过低,则会增加废次品率及误差率。是否能改 用利用率高且价格合理的专用设备以提高加工效率等。
33
(5)搬运分析
在生产过程中,搬运工作量占相当大的比重。减少这一环节 的时间和费用对提高生产率及降低成本有重大意义。研究是 否可以合理地安排生产场地(加工位置的合理布局),使用 适当的搬运设备,更恰当地安放物品(包括更恰当的工位器 具),以减少搬运距离和费用。
31
(3)检验分析
对检验工具、仪器精度要求是否合理。精度要求太高,会使检验工具、 仪器成本过高,从而增加产品成本;精度要求过低,则增加误检的可能 性,使不合格产品有较大的可能通过检查,从而增加废次品率。对原材 料、元器件等零件、部件、半成品、成品的检验项目是否必要,是否足 以保持质量,公差上下限要求是否合适等进行分析。
第4章 程序分析
#
流程程序图表
工作部门: 工作名称: 开始: 结束: 研究者: 审阅者: 情 况 操 运 检 等 贮 作 送 验 待 存 年 年 月 月 日 日 图号: 编号: 统 计 表 项别 现行方法 改良方法 节省 操作次数: 运送次数: 检验次数: 等待次数: 贮存次数: 运输距离:m 共需时间:s 改良方法 情 况 距 需 改善要点 步 离时 剔 合排 简 操 运 检等 贮 骤 m S 除 并列 化 作 送 验待 存 工作说明 距 需 离 时 m S
(4)按实际加工装配的先后顺序,将加工与检查符号从上到 下、从右至左分别从1开始依次编号于符号内。
(5)通常将最主要的分程序置于最右边,依重要性自右向左 依次排列。 #
工艺程序图的结构形式
合成型
直列型
分解型
复合型
#
工艺程序图结构
投入材料4 投入材料3 投入材料2 投入材料1 耗费工时 操作内容 1 检验内容
#
例1:一张火车票自出售、使用至回收止,其间经过许 多人之手,现用流程程序图表示如下:
1
(物型) 1 2
在票架上 拿起并查看票价
用手拿至柜台上 打印日期 等待找钱
1
D
3 2 4
拿给旅客
旅客带至入口处 查看并打孔 旅客带至旅途上
3 5
在终点站查看并回收
#
例题2:工人按要求核对工件尺寸
1
1
(人型)
到仪器柜 开仪器柜
程序分析的目的
• 改善生产中不经济、不合理、不科学的作业方 法、作业内容以及现场布置 • 程序分析是进行工序管理、搬运管理、布局管 理、作业编制等获取基础资料的必要手段。 从流程入手 从工序入手 从作业入手
#
第四章操作分析
四、人机操作分析的案例分析
图4-2 滚齿加工的人机操作图(现行方法)
四、人机操作分析的案例分析
1.人机作业活动分析 由图4-2可以看出,人的空闲时间太多,人的时间利 用率仅为27%。则采用“5W1H”提问技术和 “ECRS”原则进行分析改进: 1)分析得取加工件为人的独立工作与装夹工件前后顺 序不紧密。 问:为什么是先取加工件再装夹工件后滚齿? 答:这是加工操作的习惯和顺序。 问:可不可以在机器滚齿过程中取加工件为装夹工作 做准备? 答:可以,这样还可以减少机器空闲时间。
四、人机操作分析的案例分析
2)分析得去毛刺和检查尺寸为人的独立工作。 问:为什么去毛刺和检查尺寸要在机器停止时进行? 答:过去一直是这样的。 问:有无改进的可能性? 答:有。 问:如何改进? 答:可将操作重排,在滚齿机加工齿轮时,可以对上 一个已加工好的齿轮进行去毛刺和检查尺寸的作业。 改进后的人机操作图如图4-3所示。
4.1 操作分析概述
4.操作分析的类型 操作分析的种类,按照不同的工序作业对象和调查目 的,可分为三类: (1)人机操作分析; (2)联合操作分析; (3)双手操作分析。
4.2 人机操作分析
一、人机操作分析概述
1.人机操作分析的概念 人机操作分析是应用于机器作业的一种分析方法,通 过现场观察记录一个操作周期(加工完一个零件的整 个过程称为一个操作周期或周程)内操作者和机器设 备在同一时间内的工作情况与相互关系,绘制人机操 作图并加以分析,研究人与机器的闲余时间,寻求合 理的操作方法,使人和机器的配合更加协调,充分发 挥人和机器的效率。
C程序设计(第五版)-第4章选择结构程序设计课后习题答案
C程序设计(第五版)-第4章选择结构程序设计课后习题答案1. 什么是算术运算?什么是关系运算?什么是逻辑运算?【答案解析】算熟运算:算术运算即“四则运算”,是加法、减法、乘法、除法、乘⽅、开⽅等⼏种运算的统称。
其中加减为⼀级运算,乘除为⼆级运算,乘⽅、开⽅为三级运算。
在⼀道算式中,如果有多级运算存在,则应先进⾏⾼级运算,再进⾏低⼀级的运算。
C语⾔中的算熟运算符包括:+、-、*、/、++、--、%等种类。
如果只存在同级运算;则从左⾄右的顺序进⾏;如果算式中有括号,则应先算括号⾥边,再按上述规则进⾏计算。
⽰例:$ (1 + 1)^{2} * 4+5 * 3$解析:1. 先进⾏括号内运算1+1,然后进⾏乘⽅运算得到结果4.2. 接下来与4相乘,得到结果163. 因为乘法优先级⼤于加法,因此先进⾏5*3,得到结果154. 最终相加得到结果31结果:31关系运算:关系的基本运算有两类:⼀类是传统的集合运算(并、差、交等),另⼀类是专门的关系运算(选择、投影、连接、除法、外连接等),⽽在C语⾔中,关系运算通常被认为是⽐较运算,将两个数值进⾏⽐较,判断⽐较结果是否符合给定的条件。
常见的关系运算符包括:<、<=、>、>=、==、!=等种类。
其中,前4种关系运算符(<、<=、>、>= )的优先级别相同,后2种(==、!=)也相同。
⽽前4种⾼于后2种。
例如, >优先于==。
⽽>与<优先级相同。
并且,关系运算符的优先级低于算术运算符,关系运算符的优先级⾼于赋值运算符(=)。
逻辑运算:在逻辑代数中,有与、或、⾮三种基本逻辑运算。
表⽰逻辑运算的⽅法有多种,如语句描述、逻辑代数式、真值表、卡诺图等。
⽽在C语⾔中,逻辑运算通常⽤于使⽤逻辑运算符将关系表达式或其它逻辑量连接起来组成逻辑表达式⽤来测试真假值。
常见的逻辑运算符包括:&&、||、!等种类&&:与是双⽬运算符,要求有两个运算对象,表⽰两个运算对象都成⽴,则结果为真,否则结果为假。
汇编语言程序设计(第四版)第4章【课后答案】【精选】
汇编语言程序设计 第四版【课后习题答案】--囮裑為檤第4章 基本汇编语言程序设计〔习题4.1〕例题4.2如果要求算术右移8位,如何修改程序。
〔解答〕思路: 首先由最高位字节向次低位字节传送……次低位字节向最低位字节传送(共7次);再判最高位字节符号位,如为0,送00h 到最高位字节;如为1,送ffh 到最高位字节。
传送可参考例题4.2,不过应从第一号字节送第零号字节,……最高位字节向次低位字节传送;也可以用循环来完成: .model small .stack 256 .dataqvar dq 1234567887654321h .code .startup mov cx,7 mov si,1again: mov al, byte ptr qvar[si] mov byte ptr qvar[si-1],al inc siloop again test al,80h jz ezzmov bl,0ffh jmp done ezz: mov bl,0done: mov byte ptr qvar[7],bl .exit 0 end〔习题4.2〕例题4.2如果要求算术左移7位,如何用移位指令实现。
〔解答〕思路:可设计外循环体为8个字节左移一次,方法是:最低位字节算术左移一次, 次低位字节至最高位字节依次带 CF 位循环左移一次(内循环共8次),外循环体控制执行7次即可。
.model small .stack 256 .dataqvar dq 1234567887654321h4 11 201628.code.startupmov dx, 7 ;外循环次数mov ax, byte ptr qvar[0] ;最低位字节送axlpp: shl ax, 1 ;最低位字节左移一次,其d7移入CF 位 mov si, 1mov cx, 7 ;内循环次数again: rcl byte ptr qvar[si], 1 ;高位字节依次左移 P50 inc siloop again dec dx jnz lpp .exit 0 .end〔习题4.3〕将AX 寄存器中的16位数连续4位分成一组,共4组,然后把这4组数分别放在AL 、BL 、CL 和DL 寄存器中。
第4章 分支结构程序设计
4.1 分支结构的设计思想 4.2 实现分支结构判断条件的构成 4.3 实现分支结构程序设计的语句 4.4 分支结构程序设计举例
4.1 分支结构的设计思想
根据不同的条件,执行不同的程序流程,这就形成了所谓 的“分支”结构。 分支结构程序的设计要考虑两个方面的问题: –判断条件 判断条件是分支结构设计的关键。一个判断条件的结果只 有两种可能:条件成立和条件不成立,并由此决定了程序流程 的走向。 –实现分支结构语句的构成及选择 分支结构程序的设计就是要正确描述判断的条件,并将其 与要实现的具体工作放在分支结构语句中,实现要完成的处理。 。
首页 上一页
4.2 实算符及其优先顺序
表4.1是关系运算符种类、功能及优先级别顺序。 • 关系运算符优先级低于算术运算符,高于赋值运算符 • 关系运算符 >=、<=、==、!=在书写时,不要用空格将 其分开,否则会产生语法错误。
–关系表达式
4.3 实现分支结构程序设计的语句
• if语句
–if语句的简单形式
if(表达式) if(表达式) 语句 语句的执行过程见图4.2: 例4.2
–if语句标准形式
if(表达式) 语句1 if(表达式) 语句1 语句2 else 语句2 语句的执行过程见图4.3: 例4.3 首页 上一页
–if语句的嵌套形式
例4.5
– 关于Switch结构的注意事项:
• switch后表达式的类型,一般为整型、字符型或枚举 类型。 • 每个case后面常量表达式的值必须互不相同。 • 把default放在最后是一种良好的程序设计习惯。 • 多个case可共有一组执行语句。 • case后常量表达式仅起语句标号的作用,并不进行条 件判断。 • switch语句中仅需执行一个分支时,须在该case后面 的语句中加上break语句,让其跳出switch结构。 • 当case后包含多条执行语句时,可以不用花括号括起 来,系统会自动识别并顺序执行所有语句。 上一页
第04章 C程序设计
2.逻辑运算符的运算优先级 (1)逻辑非的优先级最高,逻辑与次之,逻辑或最低, 即: !(非) → &&(与) → ||(或) (2)与其它种类运算符的优先关系 !→ 算术运算 → 关系运算 → &&→ || → 赋值运算 4.2.2 逻辑表达式 1.逻辑表达式的概念 所谓逻辑表达式是指,用逻辑运算符将1个或多个表达 式连接起来,进行逻辑运算的式子。在c语言中,用逻辑表 达式表示多个条件的组合。 例如,(year%4==0)&&(year%100!=0)||(year%400==0)就 是一个判断一个年份是否是闰年的逻辑表达式。
程序运行情况如下: Please input three numbers:11,22,18↙ Three numbers after sorted: 11,18,22
1.if语句的一般格式
if(表达式) {语句组1;} [else {语句组2;} ] (1)if语句中的“表达式”必须用“(”和“)”括起来。 (2)else子句(可选)是if语句的一部分,必须与if配对使用,不 能单独使用。 (3)当if和else下面的语句组,仅由一条语句构成时,也可不使 用复合语句形式(即去掉花括号)。
main() {int year,leap=0; /* leap=0:预置为非闰年*/ printf("Please input the year:"); scanf("%d",&year);
if (year % 4==0) {if (year % 100 != 0) leap=1;} else {if (year%400==0) leap=1; } if (leap) printf("%d is a leap year.\n",year); else printf("%d is not a leap year.\n",year);
C语言程序设计第四章
运行情况: 1989↙ 1989is not a leap year.
2000↙
2000 is a leap year.
C程序设计
第五章
选择结构程序设计
例4.6 求
2 ax bx c 0 方程的解
#include "stdio.h" #include "math.h" main() {float a,b,c,d,disc,x1,x2,realpart,imagpart; scanf("%f,%f,%f",&a,&b,&c); printf("The equation"); if (fabs(a)<=1e-6) printf("is not a quadratic"); else disc=b*b-4*a*c; if(fabs(disc)<=1e-6) printf("has two equal roots:%8.4f\n",-b/(2*a)); else if(disc>1e-6) {x1=(-b+sqrt(disc))/(2*a); x2=(-b-sqrt(disc))/(2*a); printf("has distinct real roots:%8.4f and %8.4f\n",x1,x2); } else {realpart=-b/(2*a); imagpart=sqrt(-disc)/(2*a); printf("has complex roots:\n"); printf("%8.4f+%8.4fi\n",realpart,imagpart); printf("%8.4f-%8.4fi\n",realpart,imagpart); } }
Python程序设计 第4章 循环结构程序设计(第6次课)
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
第04章 程序的控制结构
第 4 章
程序的控制结构
计算机中的问题求解过程
Example :银行定期存款 已知年利率rate,存款期为n年,本金为capital,n年后得 到的本利之和是多少?
Input
• 存款年数 • 本金 •利率
Process
deposit = capital* (1+rate)n
Output
deposit
Page 3
C语言程序设计
第 4 章
程序的控制结构
算法的概念及其描述方法
一个程序应包括两个方面的内容:
对数据的描述:数据结构(data structure) 对操作的描述:算法(algorithm)
著名计算机科学家沃思提出一个公式:
数据结构 + 算法 = 程序
计算机中的算法( Algorithm )
}
_ 15 Input a,b: 20
没有输入或有多个输入 有一个或多个输出
计算机与信息工程学院
Page 5
C语言程序设计
第 4 章
程序的控制结构
算法的描述方法
自然语言描述
传统流程图(Flowchart)
在1966年,Bohra 与 Jacopini 提出
N-S结构化流程图
1973年,美国学者I.Nassi 和 B.Shneiderman 提 出
为解决一个具体问题而采取的确定的有限的操作
步骤,仅指计算机能执行的算法。
计算机与信息工程学院
Page 4
C语言程序设计
第 4 章
程序的控制结构
算法的特性
有穷性 在合理的时间内完成 确定性,无歧义
微机原理第04章4子程序
mov ah,9
;;宏定义体
lea dx,message
int 21h
endm
…
dispmsg string ;宏调用(宏指令)
…
1 mov ah,9
;宏展开
1 lea dx,string
1 int 21h
第4章:宏与比子程序的比较
宏
较
子程序
仅是源程序级的简化: 宏调用在汇编时进行 程序语句的展开,不 需要返回;不减小目 标程序,执行速度没 有改变
第4章:例4.16 显示以“0” 结尾字符串的嵌套子程序
msg
;数据段 db 'Well, I made it !',0 ;代码段(主程序) mov si,offset msg ;主程序提供显示字符串 call dpstri ;调用子程序
第4章:例4.16 子程序
;子程序dpstri:显示DS:SI指向的字符串(以0结尾)
第4章:4.6 子程序设计
把功能相对独立的程序段单独编写和调 试,作为一个相对独立的模块供程序使 用,就形成子程序
子程序可以实现源程序的模块化,可简 化源程序结构,可以提高编程效率
主程序(调用程序)需要利用CALL指令 调用子程序(被调用程序)
子程序需要利用RET指令返回主程序
第4章:4.6.1 过程定义和 子程序编写
dpstri proc
push ax
dps1: mov dl,[si] ;取显示字符
inc si
cmp dl,0
;是结尾,则显示结束
jz dps2
call dpchar ;调用字符显示子程序
jmp dps1
dps2: pop ax ret
dpstri endp
编译原理第四章语法分析-自上而下分析
• 例 4.4
4.4 递归下降分析程序构造
• 递归下降分析器:
这个分析程序由一组递归过程组成的,每个过程对应 文法的一个非终结符。 E→TE’ E’→+TE’| T→FT’ T’→*FT’| F→(E)|i
PROCEDURE E BEGIN T ; E’ END PROCEDURE E’ IF SYM=‘+’THEN BEGIN ADVANCE ; T ; E’ END
4.2 自上而下分析面临的问题
• 例4.1 假定有文法
(1) SxAy (2)A**|*
对输入串x*y,构造语法树。 • 构造过程:
(1)把S作为根 (2)用S的产生式构造子树 (3)让输入串指示器IP指向输入串的第一个符号。
S x A y x
S
A y x
S
A y
*
*
*
(4)调整输入串指示器IP与叶结点进行匹配。 (5)如果为非终结符,用A的下一个产生式构建子树。 (6)如果匹配成功则结束;否则,回溯到步骤(4)。
• 一个反例:
– 文法:SQc|c;QRb|b;RSa|a虽然不是直接 左递归,但S、Q、R都是左递归。
• 消除左递归算法:
– 算法的思想是:
• • • • 首先构造直接左递归; 再利用一般转换规则,消除直接左递归 化简文法。 下面算法在不含PP,也不含在右部产生式时可以消除 左递归。
• 消除一个文法的左递归算法:
(1) 把文法 G 的所有非终结符按任一种顺利排列成 P1…Pn;按此顺序执行; (2) FOR i:=1 TO n DO
BEGIN FOR j:=1 TO i-1 DO 把形如Pj+1→Pj 的规则改写成 Pj+11|1|…k| 。其中 Pj1|1|…k 是关于 Pj 的 所有规则; 消除关于Pi规则的直接左递归性。 END 化简由(2)所得的文法。即去除那些从开始符号出发永 远无法到达的非终结符的产生规则。
915145-C语言程序设计-第4章 选择结构程序设计
老年人
票价分类 两日联票
65周岁及以上
选择两日联票
• 常见错误
– 条件表示时,“==” 运算符误写作“=”运算符 – 数值0、1、…、9与数字字符’0’、’1’、…、’9’的混淆
4.2.2 逻辑运算
• • • 逻辑运算符
– 逻辑非(!)、逻辑与(&&)和逻辑或(||)
• 逻辑表达式求值方法
– 在逻辑表达式的求值过程中,按其操作数从左至右的 计算顺序,当某个操作数的值可以确定整个逻辑表达 式的值时,其余的操作数不再计算
4.2.3 短路求值
例如:假如有变量定义为 int x,y,z; 求下列表达式执行后,表达式的值和变量的值
序号
① ② ③ ④ ⑤ ⑥
变量初始值
x=y=z=1; x=2,y=0,z=1; x=y=z=1; x=0,y=1,z=2; x=0,y=1,z=2; x=0,y=1,z=2;
单分支 双分支 多分支 综合决策
– 选择控制结构
• 即根据条件进行判断选择执行相应操作的 问题,也称为分支控制结构 • 一般分为单分支、双分支和多分支三种结 构
• 实现的关键
– 判断条件的合法描述 – 选择操作流程的合理设计
4.1 门票价格问题
表4-1 上海迪士尼主题乐园的门票价格表
平日票
370
4.2 条件的表示
微视频:短路求值示例
4.3 单分支结构
• 问题
– 迪士尼门票规则
• 老年人:65周岁以上 平日票:280元,高峰日票:375元
分析 – 需要对条件(年龄大于等于65)进行判断
如果为真,则享受优惠票价 平日票:280元,高峰日票:375元
第4章 4.1 流程图
①③ .(填序号) 正确的是________
解析 进一步了解程序框图的结构,其中①③正确.②不 正确,输出框有可能在程序中间.④不正确,判断框内条 件不一定是唯一的.
研一研· 问题探究、课堂更高效
§4.1
2-x,x<0, 例 1 已知函数 f(x)=2,x=0, 2+x,x>0, 出 y 值的流程图.
练一练· 当堂检测、目标达成落实处
§4.1
9 -2 2.某一程序框图如图,输入 x=1 得结果为________ .
本 课 时 栏 目 开 关
1 9 解析 ∵x=1>0,∴y=2×1-5=-2.
练一练· 当堂检测、目标达成落实处
§4.1
3.某工程的工序流程图如图 (工时单位:天),现已知工程总
4 时数为 10 天,则工序 c 所需工时数为________ 天.
§4.1
解
流程图如下:
本 课 时 栏 目 开 关
研一研· 问题探究、课堂更高效
§4.1
小结
本 课 时 栏 目 开 关
实际生活中的流程图没有程序框图那样严格规范,但
要弄清楚各步之间的逻辑关系,画流程图时可利用流程线来 体现它们之间的逻辑关系.
研一研· 问题探究、课堂更高效
§4.1
跟踪训练 3 某保险公司业务流程如下: (1)保户投保:填单交费、公司承保、出具保单; (2)保户提赔:公司勘查:同意,则赔偿;不同意,则拒赔.试 画出该公司业务流程图.
研一研· 问题探究、课堂更高效
§4.1
例2
某药厂生产某产品的过程如下:
(1)备料、前处理、提取、制粒、压片、包衣、颗粒分装、
本 课 时 栏 目 开 关
包装; (2)提取环节经检验,合格,进入下一工序,否则返回前 处理; (3)包衣、颗粒分装两环节分别检验合格进入下一工序,否 则为废品.画出生产该产品的工序流程图.
第4章-程序结构习题答案教学提纲
第4章程序结构4.1 简答题(1)CPUID指令返回识别字符串的首字符“G”在哪个寄存器中?EBX的高8位(2)数据的直接寻址和指令的直接寻址有什么区别?数据的直接寻址给出数据所在的存储器地址,指令的直接寻址给出指令所在的存储器地址。
(3)是什么特点决定了目标地址的相对寻址方式应用最多?指令代码中提供目标地址相对于当前指令指针寄存器EIP的位移量,使得同一个程序被操作系统安排在不同的存储区时,指令间的位移并没有变化的特点。
(4)Jcc指令能跳转到代码段之外吗?不能,Jcc指令采用段内相对寻址方式(5)什么是奇偶校验?数据通信时,数据的某一位用做传输数据的奇偶校验位,数据中包括校验位在内的“1”的个数恒为奇数,就是奇校验;恒为偶数,就是偶校验(6)助记符JZ和JE为什么表达同一条指令?两个数相减,差值为0(JZ)与两个数相等(JE)是一个含义(7)为什么判断无符号数大小和有符号大小的条件转移指令不同?判断两个无符号数的大小和判断两个有符号数大小关系要利用不同的标志组合。
判断有符号数的大小需要组合SF和OF标志,并利用ZF标志确定相等与否。
判断无符号数的高低利用CF标志,利用ZF标志确定相等。
(8)双分支结构中两个分支体之间的JMP指令有什么作用?用于跳过分支体2,避免进入分支体2而出现错误。
(9)如果循环体的代码量远超过128个字节,还能用LOOP指令实现计数控制循环吗?不能,因为LOOP指令的目标地址采用相对短转移,只能在-128~+127字节之间循环(10)什么是“先循环、后判断”循环结构?指先执行循环体,然后判断是否继续循环的结构,这种结构通常至少执行一次循环体4.2 判断题(1)指令指针或者号包括代码段寄存器值的改变将引起程序流程的改变。
对(2)指令的相对寻址都是近转移。
对(3)采用指令的寄存器间接寻址,目标地址来自存储单元。
错,(4)JMP指令对应高级语言的GOTO语句,所以不能使用错,需要使用(5)因为条件转移指令Jcc要利用标志作为条件,所以也影响标志。
第四章 程序设计
…………
R3=7,转向SUBR7
拟以多向分支 的形式实现
MOV DPTR, #JMPTAB
MOV A, R3
ADD A, R3 JMP @A+DPTR JMPTAB: AJMP SUBR0 ;转移指令表 AJMP SUBR1 …… AJMP SUBR7
三、循环结构与循环程序设计
循环结构使程序简练,大大节省存储空间。 循环程序包含四部分: 1、初始化部分 (循环计数器、变量置初值) 2、循环处理部分(主体,需要重复执行的部分) 3、循环控制部分(修改地址指针、修改变量、检测 循环结束条件)
TABLE: DB
…………
五、子程序设计
经常重复使用的程序宜设计成子程序。子程序 在结构上应具有通用性和独立性,编写子程序应 注意以下几点:
1. 子程序应取名,常用标号作为其名称,也代表子程序的入 口地址。 2. 主程序调用子程序必须有LCALL等指令实现,子程序返回 必须在末尾处执行RET等指令。
3. 调用子程序应特别注意保护现场和恢复现场。LCALL等指 令只自动对PC指针进行保护和恢复,其它重要内容,需要 客户自行编写现场保护与恢复的软件。 4. 调用子程序,要能正确传送参数,即要满足入口条件和出 口条件。
书例4.2.17-----看5分钟 该程序几个特点: 1. 求平方通过子程序实现。
(2)循环次数未知的程序
例2、设用户用键盘输入长度不超过100字节的字符串放在8031单片 机外部RAM以20H为首地址的连续单元,该字符串用回车符CR (‘CR’= 0DH)作为结束标志,要求统计此字符串的长度并存入内 部RAM的1FH单元中。
解:从首单元开始取数,每取一数判断其是否为‘CR’,是则结束。 ORG 1000H
C语言程序设计:第4章 顺序结构与选择结构
printf("max: %d\n",b); return 0; }
#include <stdio.h> int main(void) {
int a ,b,max; printf("请输入a和b的值\n"); scanf("%d%d",&a,&b); max = a; if(max < b)
7
顺序结构:复合语句
复合语句:由大括号{}中的0个或多个声明和语句列表共同构成。
#include <stdio.h> int main(void) {
int a = 10; int b = 11;
注意: 1>复合语句不以分号;作为结束符, 即最后的}后面不加分号。 2>在复合语句中可以定义变量,但
if(score >= 60)
printf("及格\n");
else
printf("不及格\n");
return 0;
}
19
选择结构: if...else if语句
成绩等级划分: 输入自己的成绩,根据成绩的范围输出成绩等级。
成绩范围
等级
90--100
A
80--89
B
70--79
C
60--69
D
0--59
3.输入一个字符,如果是大写字母改变为小写字母;如果是小写字 母,则把它变为大写字母;若是其他字符则不变
4.输入数字1-7,并输出显示对应的星期 (输入的数字 1 ,输出星期一,以此类推)
第4章 选择程序设计
4.1 关系运算符和关系表达式
一、关系运算符 1.关系运算: 即比较运算
若 a 为 5,则成立,结果为“真” 否则不成符: <、<=、>=、>、= =、!= 高 低 3.优先级: 注:C中判断是否相等用两个等号!
算术运算符与关系运算符的优先级哪个高? 4.结合性: 左结合 与赋值运算符相比呢?
假 B
例如: …… if ( x > y ) z=x; else z = y; ……
3
第4章 选择程序设计 多分支选择可以看作选择结构的嵌套
4
第4章 选择程序设计
例:判断任意正数 n 是否能被 7 整除 解题思路: 1、判断能否整除的依据 n 除以 7 的余数是否为零 2、“任意”的意思是用键盘输入
y = sin(x)/x 输出 y
6
第4章 选择程序设计
#include <stdio.h> #include <math.h> void main() { float x, y; printf ("Enter x : "); 选择结构 scanf ("%f", &x ); 关系运算 if ( x != 0.0 ) y = sin (x) / x; else y = 1; printf ("x =%5.2f\ty =%7.4f\n", x, y); }
11
4.2 逻辑运算符和逻辑表达式
一、逻辑运算符 1、逻辑运算 是逻辑值的运算 与、或、非 如:与、或、非、异或 …… 2、逻辑运算符 && || ! && 真 真 假 真 假 假 假 假 || 真 假
真
假
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
43
储存
合理制定供应计划和生产作业计划 尽量缩短物料的储存时间,改进仓库管理 尽量减少物料的储存数量 删除不必要的中间储存环节
2013-7-9
44
等待或暂存
毛坯或产品在仓库中贮藏(保管)的状态 中间品在等待下一工序进行的状态,等待工序 小批量生产时,加工前及加工后的产品停滞
2013-7-9
45
等待或暂存
37
例1:一张火车票自出售、使用至回收止,其间经过许 多人之手,现用流程程序图表示如下:
1
(物型)
在票架上 拿起并查看票价
用手拿至柜台上 打印日期 等待找钱
1
1
1
2 1 2 2 4 3
2013-7-9
D
3
拿给旅客
旅客带至入口处 查看并打孔 旅客带至旅途上
3
5
在终点站查看并回收
38
例题2:工人按要求核对工件尺寸
流程程序图通 常是一条单线
2013-7-9
31
认识浪费
什么是浪费:
不增加价值的活动,是浪费; 尽管是增加价值的活动,所用的资源超过 了“绝对最少”的界限,也是浪费。
凡是超过生产产品所绝对必要的最少量的设备、材料、零件 和工作时间的部分,都是浪费。
2013-7-9 32
无附加价值的劳动 浪费!!! 超额使用资源而产生附加价 值的劳动 浪费!!!
2013-7-9
16
工艺程序图的说明:
(1)垂直线表示工艺流程的程序,短线连接各种操作 (检验)符号。 (2)水平线代表材料及零件的投入,引入线上应填写材 料或零件规格、型号。 (3)符号右边填写操作或检验的内容,左边记录操作时间。
(4)按实际加工装配的先后顺序,将加工与检查符号从上到 下、从右至左分别从1开始依次编号于符号内。
(5)通常将最主要的分程序置于最右边,依重要性自右向左 依次排列。
2013-7-9 17
工艺程序图结构
投入材料4
投入材料3
投入材料2
投入材料1
9 10 11
6
2
耗费工时
1
操作内容
7
3
耗费工时
1
检验内容
3 4
4
2
5
8
5
2013-7-9 18
工艺程序图可提供以下信息:
各项操作和检验的内容及生产线上工位的设置
现行方法 步 骤 工作说明
2013-7-9
36
流程程序图示例
快餐制备过程的流程程序图
步骤
作业
描述 将生面饼方入蒸锅中蒸烘 将包装纸铺在柜台上 等待面饼蒸熟
时间(秒)
距离(m)
1 2 3
4
5 6 7 8 9
2013-7-9
听到铃响后,将面饼从蒸锅取出
将一勺肉倒在面饼上 检查订单上是否注明要加奶酪 将一勺奶酪倒在肉上 取调味品 …… …… ……
1 1
箱子成型
装上保护衬
放入箱内
检查箱子 有无破损
2013-7-9
10 封箱 11 打带 贴出厂 12 日期标签
24
2013-7-9
25
5-5 开关转子工艺程序图
案例-工序改善
阶梯轴
2013-7-9 26
阶梯轴加工工艺过程(生产量小)
工序号 1 2 3 4 5 工序内容 车端面,钻中心孔 车外圆、车槽、倒角 铣键槽、去毛刺 粗磨外圆 热处理 车床 车床 铣床 磨床 高频淬火机 设 备
流程程序图与工艺程序图的区别?
工艺程序图
用途
了解工作的概貌
流程程序图
进行更详细的研究
“操作”、“检查”、“运输”“ 等待”、“储存”符号,在符号 记录符号 “操作”和“检查”符号左边标注时间和搬运距离 简单, 包含的操作数较多 详细, 可对总装的各主 要零部件分别制表, 通常是一 条单线
图形
2013-7-9
7
流程图
3.程序分析的种类
产品、材料的工艺程序分析 工艺程序分析 作业人员的工艺程序分析
程序分析
流程程序分析
产品、材料的流程程序分析
作业人员的流程程序分析
布置和经路分析 管理事务分析
2013-7-9
8
4. 程序分析的技巧
一个不忘—— 不忘动作经济原则; 四大原则—— “ECRS”四大原则; 五个方面—— 操作、运输、贮存、检验、 等待; 5W1H 提问技术。
6
2013-7-9
精磨外圆
磨床
27
阶梯轴加工工艺过程(生产量大)
工序号 工序内容 设 备
1
2 3 4 5 6 7 8
2013-7-9
两边同时铣端面、钻顶尖孔
车一端外圆,车槽、倒角 车另一端外圆,车槽、倒角 铣键槽 去毛刺 粗磨外圆 热处理钻 精磨外圆
铣端面钻顶尖孔机床
车床 车床 立式铣床 钳工台 磨床 高频淬火机 磨床
1
1
(人型)
到仪器柜 开仪器柜
拿起量规 带量规回工作台 调整量规 用量规核对工件尺寸 带量规回仪器柜 放回量规 关仪器柜 回工作台
39
2 2
3 1
3 4 5 4
2013-7-9
改善重点:
增值活动:加工
非增值活动:检验、搬运、等待、储存
2013-7-9
40
加工
尽量消除不必要的加工 是否可以和相邻工序合并 改进简化加工 是否让供应商做
例如
车削、磨削、炼钢、搅拌、打 字等都属于加工
〇
口
检查
对照图纸检验产品的加工尺寸、 查看仪器盘、检查设备的正常 运转情况
D
搬运 等待或 暂存
物料的运输、操作工人的移动 等待被加工、被运输、被检验 都属于等待
2013-7-9
储存
为了控制目的而保存货物的活动
物料在某种授权下存入仓库或 从仓库中取出都属于储存活动。
14
4.2
工艺程序分析
只分析程序中的“操作”和“检验”工序;
工艺程序图相当于机械制造中的装配图; (Operation Process Chart,梗概程序图)
2013-7-9
15
工艺程序图的内容
工艺程序的全面概况
各工序之间的相互关系
机器设备、工作范围
工艺顺序及所需的时间
工艺各种材料及零件的投入
第四章
第一节 第二节 第三节 第四节
程序分析
程序分析概述 工艺程序分析 流程程序分析 布置和经路分析
2013-7-9
1
教学目的与要求
1.明确程序分析中常用的五种代表活动的 标准化符号和含义; 2.理解工艺流程、流程程序、布置和经路、 管理事务流程分析的定义和主要用途; 3.掌握工艺程序图、流程程序图、线图和 线路图、管理事务流程图的基本结构及其 分析改进的重点。
流程程序分析是以产品或零件的加工制造全过程为
对象,运用程序分析的方法和工具,把整个工艺流
程划分为加工、检查、搬运、等待和贮存等五种状 态加以记录和分析的一种方法。
2013-7-9
30
流程程序图
(Flow Process Chart)
进一步对整个制造程序作详细的记录
由操作、检验、搬运、等待、贮存五种符号构成 特别是用于分析搬运距离,等待、贮存等隐藏成本的浪费 常单独对每一主要零件作图 可分为物料型及人型两种
原材料的规格和零件的加工要求
制造程序及工艺布置的大概轮廓 所需工具和设备的规格、型号和数量
2013-7-9
19
工艺程序图的结构形式
合成型
直列型 分解型 复合型
2013-7-9
20
工艺流程图示例
衣袖料
6 剪裁 7 缝袖子 2 检验
拉链料
4 剪裁
镶边料
2 剪裁
衣身料
1
剪裁
4 5
5
续钉几下
重复四次
1
检查并贴标签
2013-7-9
23
电视机及遥控器装箱工艺程序图(练习)
附件及干燥剂 遥控器
检查附件及 干燥剂数量 装附件及 干燥剂入 塑料袋内 装入箱内
电视机
检查遥控 器外观
箱片
检查电视 机外观
4 8
3
6 装入塑 料袋内
9
7
放入箱内
2 2 3 4 5
贴出厂 编号标签
放入塑料袋内
28
练习:绘制水泵及接受器装箱的工艺程序图
泵及接受器装箱的程序为:
检查箱子内部有无破损——>装保持衬里——>检查泵的全 部情况——>打印号码——>放泵入纸箱——>再装装箱的 衬片(以准备放接受器)——>检查接受器的加工——>缚
束——>附标签——>放接受器入箱——>封闭盖
2013-7-9
29
4.2 流程程序分析
宏观、全面、系统而概略的分析
2013-7-9
4
2.程序分析的常用符号
符号 名称
加工
表示的意义
指原材料、零件或半成品按照生产目的 承受物理、化学、形态、颜色等的变化 对原材料、零件、半成品、成品的特性 和数量进行测量。或者说将某目的物与 标准物进行对比,并判断是否合格的过 程 表示工人、物料或设备从一处向另一处 在物理位置上的移动过程 指在生产过程中出现的不必要的时间耽 误
2013-7-9
41
检验
检验的必要性 检验工序的数量 分析检验方法
2013-7-9
42
搬运
尽量减少搬运的次数和距离 尽量减少搬运力 尽量减少手工搬运
约70%~80%的工序时间是搬运及停滞时间 约25%~40%的加工费是搬运费 约85%的工厂的灾害是在搬运作业中发生