【文档说明】算法—程序的灵魂课件.ppt,共(30)页,643.012 KB,由小橙橙上传
转载请保留链接:https://www.ichengzhen.cn/view-7189.html
以下为本文档部分文字说明:
2022/11/13课件1第2章程序的灵魂---算法2第2章程序的灵魂---算法2-1算法的概念(理解)2-2简单算法举例(理解)2-3算法的特性(理解)2-4怎样表示一个算法(熟练掌握)2-5结构化程序设计方法(了解)3第2章程序的灵魂---算法本
章要点算法的概念算法的表示结构化程序设计方法4一个程序应包括两个方面的内容:对数据的描述:数据结构(datastructure)对操作的描述:算法(algorithm)著名计算机科学家沃思提出一个公式:数据结构+算法=程序数据结构
+算法+结构化程序设计方法+语言工具完整的程序设计应该是:2-1算法52-1算法定义:算法是指为解决一个问题而采取的方法和步骤。分类:数值运算算法和非数值运算算法算法有优劣为了有效地进行解题,不仅需要保证算法正确,还要考虑算法的质量,选择合适的算法。希
望方法简单,运算步骤少。62-2简单算法举例例1-1计算任意长方形的面积例1-2计算1x2x3x4x5=?例1-3计算1-1/2+1/3-...+1/99-1/100=?例1-4判断一个数是否素数算法描
述7计算任意长方形的面积问题分析:输入长和宽计算面积=长X宽输出面积数据存放:长-len,宽-wid,面积-area设计算法:输入len和wid的值;计算area=len×wid;输出面积area的值;8求1×2×3×4×5=?步骤1:先求1×
2,得到结果2步骤2:将步骤1得到的乘积2再乘以3,得到结果6步骤3:将6再乘以4,得24步骤4:将24再乘以5,得120如果要求1×2×…×1000,则要写999个步骤9S1:使p=1S2:使i=2S3:使p×i,乘积仍放在变量p中,可表示为:p×i=>p
S4:使i的值加1,即i+1=>iS5:如果i≤5,返回步骤S3;否则,算法结束。最后得到p的值就是5!的值。可以设两个变量:一个变量代表被乘数,一个变量代表乘数。不另设变量存放乘积结果,而直接将每一步骤的乘积放在被乘数变量中。设p
为被乘数,i为乘数。用循环算法来求结果,算法可改写:10S1:1=>pS2:3=>iS3:p×i=>pS4:i+2=>iS5:若i≤1001,返回S3。否则,结束。如果题目改为:求1×3×5×……×1001算法只需作很少的改动:111-1/2+1/3-...+1/99-
1/100=?提示:首先考虑实现1+2+3+4+…+100其次考虑实现1/1+1/2+1/3+1/4+...+1/100最后考虑实现1/1-1/2+1/3-1/4+...+1/100思路:S1:SUM=0,I=1S2
:SUM=SUM+IS3:I=I+1S4:如果I<=100则转S2,否则转S5S5:打印SUM的值1/I,P=1P*1/I,P=-P;12判断一个数是否素数分析:本题要点是先搞清楚什么是素数。思路:输入一个大于3的正
整数N定义一个变量I从2~N-1,I每取一个值做:如果N能被I整除则中断循环,N不是素数;否则I继续取下一个值;若当I取完所有值都不能整除N,则N是素数一个正整数,若不能被除1和它本身以外的任何整数整除,则是素数。132.3算法的特性有穷性指一个算法经过有限步骤后停止(或在合理范围内)
确定性算法的每一步都应当是确定的,无歧义的有效性算法的每一步计算机都能有效执行有0个或多个输入一个算法可以没有输入,即执行时无需输入信息有1个或多个输出一个算法必须有输出,运算过程或运算结果142.4怎样表示一个算法常用的算法描述方法:①带序号的自然语言描述,易懂却不直观,
不严格。②流程图:灵活、自由、形象、直观,可表示任何算法。15一、结构化程序设计的三种基本结构三种基本结构:顺序、选择、循环,用这三种基本结构作为表示一种良好算法的基本单元。结构化程序设计方法16二、相关术语程序:使用语言给计算机的一组指令序列。结构化程序:用三种基本结构组成
的程序就是结构化程序。程序设计:为求解特定问题而编写的正确有效的程序。程序设计语言:编写程序所用的语言。结构化程序设计方法171、顺序结构例如:a=3;b=4;c=a+b;操作的步骤按照书写的顺序执行AB结构化程序设计方法三、三种基本结构182、选择结构例如:i
f(x!=0)y=sin(x)/x;elsey=1;PABYN结构化程序设计方法三、三种基本结构193、循环结构:根据条件P决定是否重复执行循环体中的操作例如:sum=0;i=1;while(i<=100){sum+=
i;i++;}先判断后执行NAPY结构化程序设计方法三、三种基本结构20循环结构例如:sum=0;i=1;do{sum+=i;i++;}while(i<=100)先执行后判断PNAY结构化程序设计方法三、三种基本
结构21结构化程序设计方法二、三种基本结构特点:1.只有一个入口和一个出口;2.结构内每一部分都有机会执行到;3.结构内不存在“死循环”。注:以上三种基本结构顺序组成的算法结构可以解决任何复杂的问题。22常用的算法描述方法:③N-S图(盒图):特点是完全去掉了带箭头的流程
线,算法的所有处理步骤都写在一个大矩形框,表示简单,符合结构化思想。ATPFAB当P1成立AA直到P2成立处理判断循环23N-S图:ABAB顺序结构PABYNYPNAB选择结构24N-S图:当型循环直到型循环当P1成立AAP1YA直到P2成立PYANN
25常用的算法描述方法:④伪代码:用介于自然语言与计算机语言之间的文字及符号来描述算法,特点是方便、易懂、便于向计算机语言过渡。26学习建议:流程图和N-S图一定要熟练掌握,伪代码表示法在学习完基本的流程控制语句后也经常使用。27例题:计算s
=∑n,写出其算法S=0,n=1n<=100输出SN开始结束S=S+nn=n+1Y100n=1流程图描述:自然语言描述:1、0S单元2、1n单元3、s+ns4、n+1n5、判断n≤100?是,转3;否则转66、输出S的值28例题:计算s=∑n,
写出其算法100n=1伪代码描述:N—S图描述:n≤100?s+nsn+1n输出S的值0s1nBegin1s2nwhilen≤100{s+nsn+1n}printsend292.5结构化程序设计方法核心思想:自顶向下,逐步细化,模块化设计,结构化编码。强调程序设计的风格和程序结构的规范化。优点:
易编、易读、易懂、易维护。30本章小结本章介绍算法及算法表示的基本知识重点:分析问题,设计算法作业:P36习题第4、8题