书签 分享 收藏 举报 版权申诉 / 44

类型Python程序设计课件第3章 程序流程控制.pptx

  • 文档编号:1101385
  • 上传时间:2023-11-21
  • 格式:PPTX
  • 页数:44
  • 大小:1.38MB
  • 配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    Python程序设计课件第3章 程序流程控制 Python 程序设计 课件 程序 流程 控制
    资源描述:

    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

    16、d year%100!=0:print(%d是闰年%year)else:print(%d不是闰年%year)与C等语言不同的是,Python中没有switch和case语句。但是Python可以用一系列的if、elif和else语句来达到相同的效果。3.3.1 if选择结构第三章 程序流程控制3.3 选择结构of3121当if语句的操作语句中还有if语句时就构成了选择结构的嵌套,就像下面这样:if 条件1:if选择结构elif 条件2:if选择结构else:if选择结构但是在使用选择结构的嵌套时,要注意if和else的搭配,一对if和else一定要对齐。3.3.2 选择结构的嵌套第三章 程序流程控制3.3 选择结构of3122【例3.4】判断一个输入的数是否是偶数且能被3整除。a=input()#输入一个数字b=int(a)#转换成数字类型if b%2=0:if b%3=0:print(该数是偶数且能被3整除)else:print(该数是偶数但不能被3整除)else:if b%3=0:print(该数不是偶数但能被3整除)else:print(该数不是偶数且不能被3整除)3.3.2 选

    展开阅读全文
    提示  兔兜文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:Python程序设计课件第3章 程序流程控制.pptx
    链接地址:https://www.tudouwenku.com/doc/1101385.html

    若发现您的权益受到侵害,请立即联系客服,我们会尽快为您处理!

    copyright@2008-2023 兔兜文库 版权所有

    鲁公网安备37072502000182号  ICP备案号:鲁ICP备2021021588号-1  百度保障

    兔兜文库
    收起
    展开