欢迎来到天天文库
浏览记录
ID:43343283
大小:1.13 MB
页数:43页
时间:2019-10-08
《c语言程序设计 第3章 程序的简单算法设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、C语言程序设计教程(第2版)第3章简单算法设计程序=数据结构+算法+程序设计方法+语言工具和环境数据结构:一个程序至少应包括对数据的描述和对操作的描述两个部分,其中对数据的描述就是指在程序中要指定数据的类型和数据的组织形式,这就是数据结构。算法:对操作的描述就是对解决问题的操作步骤的描述,即所谓的算法。算法是程序的灵魂。一个程序除了数据结构和算法外,还与具体的程序设计环境和语言工具有关。必须使用一种计算机语言,像BASIC(Truebasic、Qbasic、VirtualBasic)语言、C语言、PASCAL语言、FORTRAN语言等都是计算机语言。本书
2、将具体介绍C语言环境下数据结构的定义与算法的实现。1.1算法解决问题的方法和要遵循的步骤。算法描述了程序要执行的操作及操作的步骤顺序。在计算机科学中,算法是指描述用计算机解决给定问题的过程,是解题方案的准确而完整的描述,也是在有限步骤内求解某一问题所使用的一组定义明确的规则。算法并不给出问题的精确的解,只是说明怎样才能得到解。每一个算法都是由一系列的操作指令组成的。这些操作包括加、减、乘、除、判断等,按顺序、选择、循环等结构组成。算法设计重点:掌握分析问题、解决问题的方法。3.1算法的基本概念【例1】要求从键盘输入3个数,找出其中最小的那个数,将其输出
3、到屏幕。请给出解决这个问题的算法。分析:程序对于从键盘输入的3个数必须用3个变量来保存,分别为a,b,c代表输入的3个数,另外,还需要一个变量min来保存最小的那个数。1.先比较a和b的值,把数值小的放入min中;2.再将min与c比较,又把数值小的放入min中。3.经过两次比较,min中已存放的是a,b,c3个数中最小的数。把min的值输出就是所需结果。算法步骤:1.输入3个数,其值分别赋给3个变量a,b,c;2.把a与b中较小的那个数放入变量min中;3.把c与min中较小的那个数放入变量min中;4.输出最后结果min的值。改进上面的算法描述,将
4、第2步和第3步的算法具体化。1.输入三个数,其值分别赋给三个变量a,b,c;2.比较a与b的值,如果a
5、骤1:使k=1步骤2:使w=2步骤3:k=k×w,结果仍放在k中步骤4:使w的值加1(w+1→w),步骤5:如果w的值不大于5,再返回执行步骤3、步骤4;否则结束最后得到1×2×3×4×5的结果:120【例3】:判定2000~2500年之间的每一年是否为闰年,并输出该年是否为闰年的信息。闰年条件:(1)年份能被4整除,但不能被100整除(2)年份能被100整除,同时也能被400整除设year为被检测的年份,算法可表示如下:s1:2000→years2:若year不能被4整除,则输出“year不是闰年”,然后转到s6;s3:若year能被4整除但不能被10
6、0整除,则输出“year是闰年”,然后转到s6;S4:若year能被100整除又能被400整除,则输出“year是闰年”,否则输出“year不是闰年”,然后转到s6;s5:输出“year不是闰年”S6:year+1→yearS7:当year≤2500时,返回s2继续执行,否则结果1.2算法的特性有穷性:无论算法有多么复杂,都必须在有限步之后结束并终止运行,即算法的步骤必须是有限的。在任何情况下,算法都不能陷入无限循环中。确定性:算法中的每一条指令必须有确切的含义,每个步骤都有确定的执行顺序,即上一步在哪里,下一步是什么,都必须明确,无二义性。可行性:算法
7、首先必须是正确的,都是能够精确地执行的。对于任意的一组输入,包括合理的输入与不合理的输入,总能得到预期的输出。如果一个算法只是对合理的输入才能得到预期的输出,而在异常情况下却无法预料输出的结果,那么它就不是正确的。输入:一个算法有零个或多个输入,这些输入的信息有的是在执行过程中输入,而有的已被嵌入到算法之中。输出:一个算法之中可以有一个或多个输出。没有输出结果的算法是没有任何意义的。一个问题的解决方案可以有多种表达方式,但只有满足以上5个条件的解才能称之为算法。在C语言算法的主要结构有如下3种。1.顺序结构顺序结构的特点:程序在执行过程中是按语句的先后
8、顺序来执行的,每一条语句都代表着一个功能。2.分支结构分支结构的特点:程序在执
此文档下载收益归作者所有