流程控制结构应用智能导盲犬功能开发项目三《Python语言程序设计》
思考智能导盲犬如何躲避障碍物,如何进行功能测试。智能导盲犬在行走过程中给出3种反馈状态,即左转、右转和停止,是通过获取的障碍物距离做出判断,选择不同的引导方式。智能导盲犬功能需求障碍物检测获取障碍物距离信息,作为决策依据三种反馈状态左转右转停止Python实现方案分支结构使用if语句实现智能导盲犬的避障功能,基于障碍物距离做出不同决策循环结构使用循环结构实现智能导盲犬功能测试,验证系统在不同情况下的表现在Python中,我们将学习如何通过流程控制结构来实现这些功能2/18任务导入
知识目标①掌握算法的相关知识②掌握程序流程图的相关知识③掌握分支结构语句(if、if...else、if...elif...else语句的使用方法)④掌握循环结构语句(for、while语句的使用方法)⑤掌握循环嵌套的使用方法能力目标①学会进行结构化程序设计的方法和步骤②能够根据实际需求运用合适的分支结构语句③能够根据实际需求灵活使用for语句和while语句掌握Python三种基本流程控制结构:顺序结构、分支结构与循环结构通过智能导盲犬项目实践,实现知识与能力的双重提升3/18知识与能力目标
算法定义算法(Algorithm)是指解决问题的确切并且完整的描述,是解决问题的一系列清晰指令,是一种解决问题的策略机制。简单来说,算法也可以理解成解决某个问题的计算方法与步骤,它能够接收一定规范的输入,并在有限时间内产生符合要求的输出。算法的实施过程目的为了解决某个/某类问题,需要先对问题进行分析,确定解决问题的方法与步骤。方法按照一定的语法规则,编写一组能够让计算机执行的程序。实施输入可计算的、具体的、可量化的信息,获得输出。优化根据结论判断过程是否符合预期,能否调整、优化。不同的算法可能用不同的时间、空间或效率来解决同类型问题,算法的优劣可以用空间复杂度与时间复杂度来衡量。4/18算法概述
一个算法应该具有以下5个重要的特征,这些特征共同定义了算法的本质和要求:有穷性一个算法应包含有限个步骤,即算法必须在合理的时间内执行有限个步骤之后终止有限时间内结束确定性算法的每一个步骤必须有确切的定义,执行过程和结果应该是无歧义的过程明确无歧义可行性算法中执行的操作都可以被分解为基本的可执行操作步骤,每个操作步骤都可以在有限时间内完成也称为有效性输入用来刻画数据对象的初始情况,多数情况下数据对象靠输入得到,可以有零个或多个输入初始数据来源输出一个算法有一个或多个输出,以反映对输入数据的处理结果处理后的结果这些特征共同定义了算法的完整性和有效性5/18算法的五大特征
一个算法是否优秀应从以下几个方面来进行衡量:确定性算法至少应该有输入、输出和加工处理无歧义性可读性程序便于阅读、容易理解健壮性输入数据不合法时,算法能做出合理处理,而不是产生异常效率与存储效率高并且存储量低确定性的四个层次1算法程序无语法错误程序代码符合语法规范,能够正常编译执行2对合法输入产生满足要求的输出当输入数据符合预期格式时,能得到正确的结果3对非法输入能够做出合理的说明当输入数据不符合要求时,给出明确的错误提示4对有意刁难的测试输入也能产生满足要求的输出在极端或边界情况下依然能正确处理并输出结果优秀的算法应同时具备以上特性,其中确定性是最基本的要求6/18算法评价标准
流程图是描述算法的直观且常用的方法。传统流程图用图形来表示算法,它说明了程序的逻辑结构以及各步骤内容的关系和执行顺序。开始/结束表示程序的起点和终点处理表示执行计算或数据处理操作判断表示条件判断,通常有两个分支输入/输出表示数据的输入或输出操作连接符表示流程的连接点流向线表示程序执行的方向和顺序流程图的表达功能逻辑结构表示清晰展示程序的组成部分表明各部分之间的逻辑关系帮助理解程序的整体架构执行顺序表示通过箭头指示程序的执行方向展示条件判断后的不同执行路径显示循环的起始和结束位置流程图是程序设计的重要工具,有助于设计出清晰、有效的问题解决方案7/18程序流程图基础
结构化程序有3种基本结构,每种结构有不同的执行流程和应用场景。以下通过流程图直观展示各结构的特点:顺序结构特点:最简单的结构按自上而下的顺序逐条执行赋值语句、输入输出语句等可组成顺序结构分支结构是否特点:对设定条件进行判断满足条件或不满足条件时,选择不同分支Python中通过if、if...else等实现循环结构满足不满足特点:根据条件重复执行同一组语句两种类型:当型循环和直到型循环Python中通过for、while语句实现这三种基本结构是程序设计的基础,智能导盲犬功能开发将综合运用这些结构8/18开始语句1语句2结束开始条件判断语句块1语句块2结束开始循环条件循环