1、算法的概念算法的描述新学期开学,为了方便高一新生完成注册、缴费等事宜,学校在校园入口处摆放如左图所示的“高一新生报到流程”示意图。否否是是高一新生报到流程高一新生报到流程你能根据左图,说出报到的具体流程吗?请你说一说根据图片我们能知道开学的具体的一系列步骤集合,这就是算法!请带着以下三个问题,花五分钟时间阅读书上38、39页,五分钟请同学分享答案。(1)算法的定义是什么?(2)什么是计算机程序设计?(3)什么是枚举算法,你能举出例子吗?01PART ONE算法的概念广义地讲,“算法”指的是解决问题或完成任务的一系列步骤集合。01 算法的概念 算法的定义在计算机科学领域,“算法”指的是用计算机解
2、决问题而需要让计算机有序执行、无歧义、有限的步骤集合。为了让计算机理解算法中的步骤,需要用计算机能理解的语言来描述算法,并将其输入到计算机中,这个过程就称为计算机程序设计。01 算法的概念 计算机程序设计的定义穷举算法也称枚举算法,指的是在求解过程中,先按照一定的顺序一一列举所有可能的解,然后用条件判断列举岀的可能解是否为正确解。穷举法一般适合解决解集为离散的且范围明确的问题。01 算法的概念枚举算法举例:求1-10之内所有能被3整除的数。将1、2、3、9、10这些数依次除以3,当余数为0时,就输出正确的解。例:13商为0,余数为1;23商为0,余数为2;33商为1,余数为0(输出3)01 算
3、法的概念 算法的特征算法可以处理1*2*3*10086,但是不能处理1*2*3*两者有何区别?前者的数字个数是有限的,后者是无限的有穷性01 算法的概念 算法的特征、有穷性一个算法的步骤必须是有限的,不能是无限的。、可行性、确定性、0个或多个输入、1个或多个输出一个算法中的每一步操作与要求都应该是算法执行者(人或者机器)可以实施的,同时在现实环境中能做到并且能在有限的时间内完成。算法中对于每个步骤的执行描述必须是明确的。算法的核心价值就是解决问题,而解的终极目标就是需要知道结果究竞如何注意区分01 算法的概念 算法的三要素、数据、运算、控制转移(选择结构、循环结构)用算法解决问题时,必须明确参
4、与运算的初始数据、运算时产生的中间数据以及解决问题后的结果数据。对数据计算和判断在算法执行过程中,有时需要根据数据或运算结果的特点进行不同的处理,这就需要用对结果数据判断并进行选择执行或循环执行。02PART TWO算法的描述方式设计出一个解决问题的算法,也需要用能被算法执行者理解的形式加以呈现,才能被算法执行者理解并执行。算法的这种呈现就称为算法的描述。02 算法的描述方式 算法的描述方式02 算法的描述方式例如:做一个判断分数的系统,输入的分数60,则显示“及格”,否则显示“不及格”。1、自然语言:人们在日常生活中交流的语言,如:普通话、方言、英语等。解决本算法的自然语言描述如下:(1)输
5、入分数变量a的值(2)判断a60,条件成立则输出“及格”,否则输出“不及格”02 算法的描述方式2、流程图:用一些图形符号表示规定的操作,并用带箭头的流程线连接这些图形符号。开始输入a的值a60?输出“及格及格”输出“不及格”结束否是开始或结束符输入或输出框flag=1?条件判断框处理框连接线连接点02 算法的描述方式3、伪代码:伪代码指的是一种比较接直观简洁、符号接近计算机程序代码的算法描述。根据它很容易转换为相应的计算机语言代码。格式1:If 条件 then (语句序列1)Else (语句序列2)格式2:If 条件 then (语句序列1)条件判断语句循环语句格式:while 条件 (循环
6、体,即:一个或语句序列)02 算法的描述方式3、伪代码:伪代码指的是一种比较接直观简洁、符号接近计算机程序代码的算法描述。根据它很容易转换为相应的计算机语言代码。a获得分数If a60 then 输出“及格”Else 输出“不及格”02 算法的描述方式4、程序设计语言:计算机能够识别和处理的语言。python语言a=input(“输入分数:”)If a60:print(“及格”)Else:print(“不及格”)世界上有很多计算机程序设计语言,实际工作中可以根据问题特点选择恰当的程序设计语言来描述算法。目前我们主要学习计算机高级语言。高级语言有:BASIC(True basic、Qbasic、
7、Virtual Basic)、C、C+、PASCAL、FORTRAN、智能化语言(LISP、Prolog、CLIPS、OpenCyc、Fazzy)、动态语言(Python、PHP、Ruby、Lua)等等1.信息的编码加工中,()是编程的核心。A.算法设计 B.代码编写 C.界面设计 D.调试运行2.下列关于算法的叙述不正确的是()A.程序按照算法运行,程序是算法的实现B.算法必须有输出C.一个问题的算法具有唯一性D.算法的表示方法有自然语言、流程图、伪代码等3.在日常生活中,我们常常会碰到许多需要解决的问题,以下描述中最适合用计算机编程来处理的是()A.修改一张拍得不满意的数码照片B.记录每月
8、零花钱的开支情况C.计算10000以内的奇数平方和D.在因特网上查找自己喜欢的图片练一练ACC练一练A4.在地铁站自动售票机买票的算法描述如下:步骤1:选择地铁线路步骤2:选择目的地站点步骤3:选择需要购买的地铁票数量步骤4:放入一张纸币或一枚硬币步骤5:如果多次投入纸币执行步骤4步骤6:若投入的纸币已达到或超出票价则执行步骤7 步骤7:出票及找零上述算法的描述采用了()A.自然语言 B.伪代码 C.流程图 D.程序设计练一练5.下列关于算法的错误说法是()A.算法必须有输出B.表示算法的语言可以是自然语言C.同一个算法只能用一种程序设计语言来实现D.算法必须在执行有限步后结束。6.算法除了用
9、自然语言外,最常用的还有()A.机器语言 B.流程图 C.汇编语言 D.低级语言7.图形符号 在算法流程图中表示()。A.算法的开始或结束 B.输入输出操作C.处理或运算的功能 D.用来判断是否满足需求CBB练一练8.下图是某程序的流程图,当执行至“结束“时,X和Y的值分别是()D开始X=1 Y=2X=X+YY=X+Y结束A.1 2 B.3 3 C.3 2 D.3 5练一练9.某算法的部分流程图如下图所示,执行这部分流程后,变量a和b的值分别为()Aa=6,b=5A.5和6 B.11和5C.6和5 D.-3和-4ab?NYa=a+bb=a-ba=a-b练一练完成书上48页的思考与练习演示完毕,谢谢观看!