NANJINGUNIVERSITYOFINFORMATIONSICENCE&TECHNOLOGY第二章算法-程序的关键1FORTRAN语言程序设计第二章算法-程序的关键NANJINGUNIVERSITYOFINFORMATIONSICENCE&TECHNOLOGY第二章算法-程序的关键2FORTRAN语言程序设计本章内容算法的含义及其特征算法的表示简单算法举例NANJINGUNIVERSITYOFINFORMATIONSICENCE&TECHNOLOGY第二章算法-程序的关键3FORTRAN语言程序设计1.算法的含义(1)算法是程序的重要组成部分(2)算法是为解决一个问题而采取的方法和步骤(3)算法分类:数值运算算法,非数值运算算法2.1算法的含义及其特征NANJINGUNIVERSITYOFINFORMATIONSICENCE&TECHNOLOGY第二章算法-程序的关键4FORTRAN语言程序设计2.算法的特征(1)有穷性一个算法必须总是在执行有限步骤之后结束。(2)确定性算法中的每一个步骤应当是确定的,无二义性;相同的输入只能得出相同的输出。(3)可行性算法中的每步骤都是有效地执行。(4)有零个或多个输入(5)有一个或多个输出NANJINGUNIVERSITYOFINFORMATIONSICENCE&TECHNOLOGY第二章算法-程序的关键5FORTRAN语言程序设计2.2算法的表示1.算法表示(1)有效、简洁地描述一个计算机求解过程(2)表示方法有:自然语言表示方法、流程图表示方法、PAD图和伪代码表示方法等NANJINGUNIVERSITYOFINFORMATIONSICENCE&TECHNOLOGY第二章算法-程序的关键6FORTRAN语言程序设计2.程序的三种基本结构(1)顺序结构:从头到尾依次执行每一个语句。严格按照语句的书写顺序从上到下,从左到右执行。(2)选择结构:根据不同的条件执行不同的语句或者语句体;可分为:单分支、二分支和多分支结构。(3)循环结构:重复的执行语句或者语句体,达到重复执行一类操作的目的;常见有:计数型循环、当型循环、直到型循环。NANJINGUNIVERSITYOFINFORMATIONSICENCE&TECHNOLOGY第二章算法-程序的关键7FORTRAN语言程序设计3.流程图及其表示(1)符号NANJINGUNIVERSITYOFINFORMATIONSICENCE&TECHNOLOGY第二章算法-程序的关键8FORTRAN语言程序设计(2)顺序结构(3)选择结构:两分支和单分支NANJINGUNIVERSITYOFINFORMATIONSICENCE&TECHNOLOGY第二章算法-程序的关键9FORTRAN语言程序设计(4)循环结构NANJINGUNIVERSITYOFINFORMATIONSICENCE&TECHNOLOGY第二章算法-程序的关键10FORTRAN语言程序设计(2)选择结构4.N-S图及其表示特点:不允许使用流程线(1)顺序结构(3)循环结构NANJINGUNIVERSITYOFINFORMATIONSICENCE&TECHNOLOGY第二章算法-程序的关键11FORTRAN语言程序设计2.3简单算法举例例1:根据降雪量的大小可分为小雪、中雪、大雪和暴雪四个等级。通常规定如下:1)小雪:12小时内降雪量小于1.0mm;2)中雪:12小时内降雪量1.0mm≤中雪<3.0mm;3)大雪:12小时内降雪量3.0mm≤大雪<6.0mm;4)暴雪:12小时内降雪量≥6.0mm,暴雪。从键盘上接收一个12小时内降雪量,输出下雪的等级。NANJINGUNIVERSITYOFINFORMATIONSICENCE&TECHNOLOGY第二章算法-程序的关键12FORTRAN语言程序设计(1)流程图表示NANJINGUNIVERSITYOFINFORMATIONSICENCE&TECHNOLOGY第二章算法-程序的关键13FORTRAN语言程序设计(2)N-S图表示NANJINGUNIVERSITYOFINFORMATIONSICENCE&TECHNOLOGY第二章算法-程序的关键14FORTRAN语言程序设计例2:写一个算法输入南京市2009年5月份每天的平均气温,求出这个月的平均气温并输出。NANJINGUNIVERSITYOFINFORMATIONSICENCE&TECHNOLOGY第二章算法-程序的关键15FORTRAN语言程序设计(1)流程图表示NANJINGUNIVERSITYOFINFORMATIONSICENCE&TECHNOLOGY第二章算法-程序的关键16FORTRAN语言程序设计(2)N-S图表示NANJINGUNIVERSITYOFINFORMATIONSICENCE&TECHNOLOGY第二章算法-程序的关键17FORTRAN语言程序设计本章小结算法是程序的关键和灵魂算法是使用计算机求解问题的思路和步骤一个好的算法不仅能节省计算时间和存储空间,而且能提高计算结果重点阐述了常见算法表示方法,使读者能够理解算法的表示和描述,有利于提高编程的质量