Python程序设计课件第3章 程序流程控制.pptx
《Python程序设计课件第3章 程序流程控制.pptx》由会员分享,可在线阅读,更多相关《Python程序设计课件第3章 程序流程控制.pptx(44页珍藏版)》请在163文库上搜索。
1、3.1 算法概述第三章 程序流程控制of311算法是指为解决问题而采取的方法和步骤。算法的要素有以下两部分:(1)对数据对象的运算和操作。(2)算法的控制结构(运算和操作时间的顺序):顺序结构,循环结构,选择结构。其中顺序结构是最简单也最常用的结构,它的执行顺序是自上而下,依次执行。其余两种结构接下来会介绍。3.1.1 算法及其要素和特性3.1 算法概述of312算法的特征有如下几方面。有穷性:算法的有穷性是指算法必须能够在执行有限步之后停止;确切性:算法的每一步都要有确切的定义;输入项:一个算法要有0个或多个输入项,用来反映问题的原始状态,如果是0个输入项,则是算法自己有初始条件;输出项:算
2、法都有输出项,可以是一个也可以是多个输出项。用来反映对数据加工处理后的结果;可行性:即算法的每个步骤都能在有限时间内完成。因为计算机的运算速度并不是无限快的,所以在设计算法时一定要注意时间资源,同样,存储器的空间也是有限的,所以在设计算法时一定要尽可能地节约时间和空间两方面的开销。3.1.1 算法及其要素和特性第三章 程序流程控制3.1 算法概述of3131.用自然语言表示该方法就是直接用自然语言描述算法。一般除了很简单的问题,不用自然语言表示。2.用流程图表示流程图可以很直观地表现出算法的过程,易于理解。流程图主要由图3.1所示的4种框加上流程线组合而成。3.1.2 算法表示方法图3.1流程
3、图的部件第三章 程序流程控制3.1 算法概述of314图3.2描述判断输入的年份是否为闰年的流程。3.1.2 算法表示方法图3.2 判断年份是否为闰年的流程图第三章 程序流程控制3.1 算法概述of3153.用伪代码表示伪代码是一种用来书写程序或描述算法时使用的非正式、透明的表述方法。伪代码通常采用自然语言、数学公式和符号相结合来描述算法的操作步骤,同时采用计算机高级语言的控制结构来描述算法步骤的执行。只要自己或者别人能看懂即可。下面看一个例子:用伪代码表示求一个列表中最大元素值的算法。3.1.2 算法表示方法第三章 程序流程控制3.1 算法概述of316MaxElement(a_list:l
4、ist)#求一个列表中的最大元素#a_list:list代表输入的数据是一个list类型。(关于list会在后面详细讲解)#输出,a_list中的最大元素max_element=a_list0for i 1 to len(a_list)1 doif listi max_elementmax_element=listireturn max_element 这里只是举一个例子,实际上,在Python中,如果要求一个列表的最大元素值,并不需要这么麻烦,只需要调用Python的内置函数max即可。当然算法的表示方法还有很多种,在这里只是选取了比较常用的3种进行讲解。3.1.2 算法表示方法第三章 程序
5、流程控制编写程序到软件工程师的职责of3171.负责项目组开发或设计工作,能够按要求、高质量地完成开发或设计任务;2.熟练掌握分析设计工具,按照规范的要求,编写设计文档;3.按照设计功能,实现模块的代码编写和维护;4.按照公司的规范进行编码,并对开发的代码进行单元测试;5.负责项目开发过程中的技术攻关及运行中出现的技术问题。程序员编写程序要解决问题,明辨是非,服务于国家、社会和人民,要具有良好的道德素养社会主义核心价值观做“四有”新人:要讲政治、有信念,政治合格;要讲规矩、有纪律,执行纪律合格;要讲道德、有品行,品德合格;要讲奉献、有作为,发挥作用合格第三章 程序流程控制软件工程师良好的道德素
6、养of318原则1:公众 软件工程师的行为应与公众利益一致原则2:客户与雇主 软件工程师应以他们的客户和雇主最大利益化的方式做事,与公众利益一致。原则3:产品 软件工程师应当确保他们的产品以及相关的修改达到尽可能高的专业标准。原则:判断 软件工程师应当完整独立地进行自己的专业判断原则5 管 理 软件项目的经理和领导人员应赞成和促进对软件开发和维护合乎道德规范的管理原则6 职业 在与公众利益一致的原则下,软件工程师应当保证其职业的完整和声誉原则7:同事 软件工程师应当正直地去帮助他们的同事原则8:自身 软件工程师的行为都应该从自身规范起,从而延伸到行业、乃至社会和未来,成为一个对代码构建世界有伟
7、大贡献,对社会进步有卓越奉献的人。第三章 程序流程控制软件工程师道德素养之反面案例of319华夏银行盗窃案 华夏银行科技发展中心的前员工,其工作职责包括技术需求分析、功能规范编译、设计、开发、单元测试、集成测试等,其将一个计算机病毒程序植入华夏银行总部的核心系统,阻止跨银行ATM取款交易被包括在账户中,然后成功地将717.9万元存入自己的账户 结果 被判处有期徒刑10年6个月,罚金人民币11000元,剥夺政治权利2年邮政局信息被倒卖某程序员利用开发国家邮政局安监三期项目数据库之便,非法获取该数据库内公民个人信息15万余条,并将1万余条公民个人信息倒卖他人,非法获利785元,同时非法获取其他信息
8、400余万条结果 被判非法获取公民个人信息罪,判处有期徒刑一年,缓刑一年,并处罚金一万元阿里巴巴月饼事件2016年在阿里内部展开的中秋抢月饼活动中,四名程序员使用脚本,多刷了124盒月饼结果 有多个相关涉事人员被开除第三章 程序流程控制软件工程师道德素养之史上著名的后门of3110Back OrificeBack Orifice后门。这是史上第一个后门,也是它使得人们开始意识到后门存在的可能性。Back Orifice可以让运行Windows的计算机能够被远程操控。NSA“NSA“特定访问操作(TAOTAO)”硬件后门。根据斯诺登提供的资料,NSA的“特定访问操作”项目就是NSA一个试图通过在
9、硬件中植入后门的项目。除了在网络设备固件中加入后门,NSA还在不同的PC甚至PC附件如硬盘中加入了监控程序。Windows _NSAKEYWindows _NSAKEY后门。_NSAKEY的变量是一个1024位的公钥,人们怀疑微软为NSA提供了一些形式的后门,使得NSA能够访问Windows的一些加密数据甚至操作Windows本身。双椭圆曲线后门。又是NSA,双椭圆曲线后门可能是最隐蔽的后门了。通过一个在密码学中常用的随机数发生算法植入后门。理论上,Dual_EC_DRBG(双椭圆确定性随机数生成器)是NIST制定的一个标准,这里面存在一个很隐蔽的缺陷使得攻击者能够解密数据。在斯诺登揭密之后,
10、人们才知道这个后门的存在,也知道了NSA通过干预标准的制定来达到在算法中植入后门的方式。美国国家安全局(National Security AgencyNational Security Agency,NSANSA)是美国政府机构中最大的情报部门第三章 程序流程控制3.2顺序结构3.1算法概述3.3选择结构3.4循环结构of5611第三章程序流程控制3.2 顺序结构of3112顺序结构是结构化程序设计中的基本结构,在该结构中,各语句或语句组按照出现的先后顺序依次执行,如图3.3所示。在选择结构和循环结构中,顺序结构也是组成部分。图3.3 顺序结构流程图3.2.1 顺序结构第三章 程序流程控制3
11、.2 顺序结构of3113【例3.1】输入3个数,计算这三个数的平均值。a=float(input(“请输入a的值:”)b=float(input(“请输入b的值:”)c=float(input(“请输入c的值:”)f=(a+b+c)/3print(str.format(“三个数的平均值为::.2f”,f)遵守规则,不插队,开车、遵守规则,不插队,开车、结账结账排队排队时时都要都要按顺序进行;按顺序进行;3.2.1 顺序结构第三章 程序流程控制3.3选择结构3.2顺序结构3.1算法概述3.4循环结构of5614第三章程序流程控制3.3 选择结构of3115用if语句可以构成选择结构。它根据给定
12、的条件进行判断,以决定执行某个分支程序段。Python的if语句有三种基本形式。该结构形式为:if 条件:执行的操作1 执行的操作2其流程图如图3.4所示。3.3.1 if选择结构图3.4 单分支选择结构流程图第三章 程序流程控制3.3 选择结构of3116该结构的意思是,如果条件为真则执行操作1和操作2。除了False(包括表达式的值为False),none,各种数字的类型的0以及空的序列和空的字典外,其余的都可以看成条件为真。需要注意的是,Python中如果后面的语句需要缩进,那么在该行代码末尾需要加冒号。由选择结构程序设计可知,凡事都要考虑周全,尊重事实,合理选择;一切从实际出发,实事求
13、是;人的一生也面临很多选择,要慎重选择并承担抉择之后带来的后果,不要患得患失,要养成良好的逻辑性。在生活中“鱼和熊掌不可兼得”,千万不要做违背良心的事情,不要做有背社会公德的事情;抗击新冠病毒疫情期间,国家审时度势,科学规划,依据实际情况划分高风险区、中风险区和低风险区,不同类型区域采取有针对性的防范策略,最大化各方效率。3.3.1 if选择结构第三章 程序流程控制3.3 选择结构of3117b=input()a=int(b)if a%2=0:print(%d是偶数%a)在上述例子中,如果想这个数在不是偶数的时候也将结果打印出来,就需要用到ifelse结构,如下所示。当条件为真时,执行条件语句
14、下的嵌套语句,否则的话执行else部分。b=input()#输入一个数a=int(b)#将输入转换成if a%2=0:print(%d是偶数%a)else:print(%d不是偶数%a)可以看出ifelse的语句结构为:if 条件:操作1else:操作23.3.1 if选择结构第三章 程序流程控制3.3 选择结构of3118其流程图如图3.5所示。3.3.1 if选择结构图3.5 双分支选择结构流程图即当满足条件时,执行操作1,条件不满足时,执行操作2。一个if只能和一个else搭配。第三章 程序流程控制3.3 选择结构of3119但有时候,所需要的结果不是一次选择能得到的,可能需要多次判断,
15、这就需要用到ifelifelse结构了。if 条件1:操作1elif 条件2:操作2else:操作3其流程图如图3.6所示。3.3.1 if选择结构图3.6 多分支选择结构流程图第三章 程序流程控制3.3 选择结构of3120在ifelifelse结构中,可以有多个elif语句,但只能有一个else语句,当所有的条件都为假时,才执行else部分。下面用一个例子说明下。【例3.3】判断输入的年份是否为闰年。str_year=input()#输入年份year=int(str_year)#将字符串转换成数字if year%400=0:print(%d是闰年%year)elif year%4=0 an
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《Python程序设计课件第3章 程序流程控制.pptx》由用户(momomo)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Python程序设计课件第3章 程序流程控制 Python 程序设计 课件 程序 流程 控制

链接地址:https://www.163wenku.com/p-7301177.html