(中职)编程基础——C语言项目二 算法与流程图教学课件().pptx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《(中职)编程基础——C语言项目二 算法与流程图教学课件().pptx》由会员分享,可在线阅读,更多相关《(中职)编程基础——C语言项目二 算法与流程图教学课件().pptx(43页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、(中职)编程基础C语言项目二 算法与流程图教学课件(工信版)项目二 算法与流程图项目概述:近些年,编程从少数程序员的特有技能逐步向通用技能扩散,大有“全民编程”之势;编程的核心在于算法;编程语言纷繁复杂,高级、中级、低级兼备,但无论使用哪种语言算法都是绕不开的。C语言中所谓的算法实际上就是程序设计的主思想,这些思想就是C语言代代码中的各种语句、运算或者指令信息的体现。而流程图则是将编程中的算法思想通过绘制图形以及流程的形式展示出来。本项目将C语言中的算法以及流程图相关内容进行详细讲解。学习目标:了解算法概念;理解算法的特性;了解算法的优劣;掌握用流程图描述算法。知识框架:任务3 比谁更聪明任务
2、4 流程图任务3 比谁更聪明任务描述:计算1+2+3+100的和。任务分析:本任务中100个数逐个相加在一起后的结果,如果按照变量赋值的方法来实现,显然进行100个变量是不合适的,通过使用循环结构,对循环变量进行赋初值后,判断循环变量是否超出100,如果未超出就累加到变量s中,这样循环执行循环体后,就得到了想要的结果。知识准备:著名的计算机科学家沃斯曾提出过一个公式:数据结构+算法=程序。也就是说,一个完整的程序应该包含数据结构和算法。数据结构就是程序中所使用到的数据的类型以及数据的组织形式。而就现在而言,设计一个C语言程序不仅需要数据结构和算法,还需要程序的设计方法以及一个语言工具和环境。所
3、以一个程序的组成可以表示为:程序结构+算法+程序设计方法+语言工具和环境。任务3 比谁更聪明2.1算法在现实生活中,算法无处不在,当人们遇见一个问题并对这个问题进行思考时,就是在使用算法。因此算法可以理解为针对出现的问题所设计的具体步骤以及解决方法。对同一个问题,可以有不同的解题方法和步骤,有的方法只须进行很少的步骤,而有些方法则需要较多的步骤;一般来说,希望采用方法简单、运算步骤少得方法。因此,为了有效地进行解题,不仅需要保证算法的正确,还要考虑算法的质量,选择合适的算法。任务3 比谁更聪明计算机中的算法大致可分为以下两种类别。(1)数值运算算法数值运算算法主要用于针对数值问题进行求解,比如
4、求解方程的根、求解函数的,这类需要借助数学公式进行相应的计算。(2)非数值运算算法。这类算法所包括的面十分广泛,比如在图书索、人事管理、车辆调度中的应用,一般需要建立一个过程模型,根据模型制定算法。任务3 比谁更聪明2.2算法的特性总地来说,算法在解决问题时具有以下特性。l1.有穷性算法应当包含有限的操作步骤,不能无穷无尽,不论在做什么样的运算,一定要注意所包含的上限问题,也就是说要在有限的操作步骤内可以解决问题。l2.确定性算法中的每个步骤都必须是确定的、十分清晰,不得具有二义性。若是某个操作是含糊的、模棱两可的话,解决问题的结果可能就会出现分歧。任务3 比谁更聪明l3.有零个或多个输入输入
5、是指在执行算法时需要从外界来获取若必要的初始量等信息。例如:c=a+b;此时需要用户给定变量a和变量b的值以计算变量c的值。又例如:printf(Hello);此时只是需要输出一段字符串,不需要用户入任何数据,此为零输入。l4.有一个或多个输出算法的最终目的就是为了求解,通过输出的方式将求出的结果显示出来。若是一个程序在执行结束后没有返回任何信息,那么此程序就没有执行的价值。任务3 比谁更聪明l5.有效性算法在执行时,每一个步骤必须都能够有效地执行,并且得到确定的结果。例如:int a=2,b=0;c=a/b;此时,“c=a/b”便为一个无效语句,因为使0作为分母是没有意义的。任务3 比谁更聪
6、明2.3算法的优劣一个产品的质量可以用好坏来区分,算法同也有优劣,评判一个算法的优劣性可以从以下几个方面来讲。1.正确性正确性是说算法在制定完成后能否满足具体问题的要求,也就是说针对任何合法的输入,该算法都能够得出合理正确的结果。2.可读性算法在制定完成后,该算法被理解的难易程即为可读性。可读性对于一个算法来说十分重要,若是一个算法令人难以理解,,那么这个算法就得不到推广也不能进行交流,对于算法的修改、维护以及拓展都十分不利。因此制定算法的时候,需要尽量将算法写得通俗易懂,简单明了。任务3 比谁更聪明3.健壮性在一个程序完成之后,运行该程序的用户对程序的理解会因人而异,开发人员不能够确保每一个
7、用户都能够按照要求来进行输入。健壮性就是说当用户输入的数据非法时,该算法能够做出相应的判断,不会因为输入了错误的数据而造成程序的崩溃瘫痪。4.时间复杂度与空间复杂度时间复杂度是指一个算法在运行的过程中所消耗的时间。影响一个算法的时间复杂度主要有以下几个因素。(1)问题的规模大小。例如,求解10以内自然数之和与求解1000以内自然数之和所花费的时间是不同的。(2)源程序的编译功能强弱以及经过编译所产的机器代码质量的优劣。(3)根据计算机的系统硬件所决定的机器执行一条目标指令所需要的时间。(4)程序中语句所执行的次数。(5)使用不同的计算机语言所实现的效率。任务3 比谁更聪明时间复杂度在一个非常小
8、的程序中可能很体会出来,但是在一个特别大的程序中就会发现一个程序在运行的过程中时间复杂度是举足轻重的。所以说编写出一个更为高效且高速的算法是开发人员对算法不断改进的目标。空间复杂度是指算法在运行的过程中所需要的内存空间的大小。一个算法在计算机的内存中所占用的存储空间包含了算法本身所占的内存空间、算法在对数据输入输出时所占用的内存空间以及算法在运行的过程中所占用的临时存储空间。就目前而言,计算机发展日新月异,对于空间复杂度的考虑已经不再那么要了,但是编程时开发人员也是需要注意的。任务3 比谁更聪明在计算机科学中,算法是指描述用计算机解决给定问题的过程。计算1+2+3+100的算法可表示为:步骤1
9、:0s步骤2:1i步骤3:s+is步骤4:i+1i步骤5:如果i100,转到步骤3,否则,结束。任务实施:任务3 比谁更聪明在上面的算法中,符号s和i表示变量,符号表示给变量赋值。步骤1和步骤2表示给变量s和i赋初值0和1;步骤3将变量i的当前值累加到变量s中;步骤4使变量i在原来的基础上增加1;步骤5判断i的值如果小于等于100,重复做步骤3和步骤4,构成一个循环,而当i的值不小于等于100的时候,循环结束,这时,变量s的值就是要求的计算结果。任务3 比谁更聪明本次任务描述了整个计算过程中算法的实现,下面就将算法以程序的形式录入电脑,以此来验证一下算法。程序的运行结果如图2-1所示。#inc
10、ludemain()int i,s=0;for(i=1;i=100;i+)s+=i;printf(s=%d,s);图2-1 1+2+100的和任务3 比谁更聪明本任务主要讲解算法究竟是什么,算法具有的特性分析及算法优劣的评价等知识,通过1到100的累加求和来分析算法的怎么来实现,通过程序来验证算法。任务总结:任务3 比谁更聪明计算100以内自然数的偶数和或奇数和,应该使用怎样的算法?任务拓展:案例4 流程图案例描述:判定2000-2500年中的每一年是否为闰年,并将结果输出。案例分析:先分析闰年的条件:(1)能被4整除,但不能被100整除的年都是闰年,如2008年、2012年、2048年是闰年
11、;(2)能被400整除的年份是闰年,如2000年是闰年。不符合这两个条件的年份是不是闰年。例如2009年、2100年不是闰年。根据以上条件,采用外循环内判断的方法来绘制流程图,这样设计程序时思路就清晰了。案例4 流程图2.4用自然语言表示算法任务2的任务实施中,其算法是用自然语言来表示的,自然语言就是人们日常使用的语言,可以是汉语、英语或其他语言。用自然语言表示通俗易懂,但文字冗长,容易出现歧义。自然语言表示的含义往往不大严格,要根据上下文才能判其正确含义。例如有这样一句话:“张先生对李先生说他的孩子考上了大学”,请问是张先生的孩子考上大学还是李先生的孩子考上大学呢?光从这句话本身难以判断。此
12、外,用自然语言来描述包含分支和循环的算法不大方便。因此,除了那些很简单的问题外,一般不用自然语言表示算法。案例4 流程图2.5用流程图表示算法使用流程图可以将算法以图形的形式清晰地绘制出来,流程图是使用一些简单的几何图形以及流程线来表示算法中的各种操作和语句,流程图基本元素如图2-2所示。图2-2流程图基本元素 案例4 流程图1.一个流程图包括以下几部分:(1)表示相应操作的框;(2)带箭头的流程线;(3)框内外必要的文字说明。需要提醒的是:流程线不要忘记画箭头,因为它是反映流程的先后的,如不画出箭头就难以判定各框的执行次序了。2.使用流程图表示算法,具有以下优点:(1)结构清晰,逻辑性强;(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 中职编程基础C语言项目二 算法与流程图教学课件 编程 基础 语言 项目 算法 流程图 教学 课件
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内