1、123学习与考核学习与考核教师讲授为主教师讲授为主上机实验:上机语言上机语言c语言语言考核方式:平时成绩平时成绩20%+上机实验、完成实验上机实验、完成实验报告报告20%+期末考试成绩期末考试成绩60%4绪论绪论计算机硬件及其发展计算机软件数据结构、操作系统、数据库与软件工程5 软件从短小、精干、讲究效率到复杂可靠、兼容性强、结构性好软件从短小、精干、讲究效率到复杂可靠、兼容性强、结构性好6计算机软件计算机软件软件是:与一系统(尤指计算机系统)有关的程序、步软件是:与一系统(尤指计算机系统)有关的程序、步骤和有关文件编制的完整集合。特指特定类型计算机骤和有关文件编制的完整集合。特指特定类型计算
2、机所使用的程序的总称,连同与计算机或程序有关的资所使用的程序的总称,连同与计算机或程序有关的资料,例如手册、图表和操作指令。料,例如手册、图表和操作指令。功能:针对一个系统(计算机),合理组织工作。功能:针对一个系统(计算机),合理组织工作。l经历:机器语言,汇编语言,高级语言,面向对象语经历:机器语言,汇编语言,高级语言,面向对象语言言软件的发展:语言的发展软件的发展:语言的发展- -操作系统的出现操作系统的出现- -数据库的出现数据库的出现- -网络的出现网络的出现7l数据结构:描述数据及数据元素之间的关系,数据在数据结构:描述数据及数据元素之间的关系,数据在计算机系统中的存储方式及数据的
3、运算。计算机系统中的存储方式及数据的运算。l操作系统:方便用户有效利用各种软、硬件资源的程操作系统:方便用户有效利用各种软、硬件资源的程序的集合序的集合 l数据库:可以共享相关数据,以一定组成方式的集合数据库:可以共享相关数据,以一定组成方式的集合 l软件工程:软件设计的基本过程,思想和方法。软件工程:软件设计的基本过程,思想和方法。8第一章算法第一章算法2022-3-21算法的基本概念算法的基本概念算法设计的基本方法算法设计的基本方法算法的复杂度分析算法的复杂度分析C语言简介语言简介9(1 1)能行性)能行性(2 2)确定性)确定性(3 3)有穷性)有穷性(4 4)拥有足够的情报)拥有足够的
4、情报10 111213 a). a). 算术运算,加、减、乘、除等运算;算术运算,加、减、乘、除等运算; b). b). 逻辑运算,逻辑运算,“与与”、“或或”、“非非”等运算;等运算; c). c). 关系运算,关系运算,“大于大于”、“小于小于”、“等于等于”、“不不等于等于”等运算;等运算; d). d). 数据传输,主要包括赋值、输入、输出等操作;数据传输,主要包括赋值、输入、输出等操作;14算法设计基本方法算法设计基本方法l列举法列举法 基本思想:根据提出的问题,列举所有可能的根据提出的问题,列举所有可能的情况,并用问题中给定的条件检验哪些是需要情况,并用问题中给定的条件检验哪些是需
5、要的。的。l特点:算法简单;工作量大15方案一方案一假设买母鸡假设买母鸡i只,公鸡只,公鸡j只,只,小鸡小鸡k只。只。procedure baijifor i=0 to 100 dofor j=0 to 100 dofor k=0 to 100 dom=i+j+kn=3i+2j+0.5kif(m=100)and(n=100) thenoutput I,j,kreturn方案二方案二procedure baijifor i=0 to 33 dofor j=0 to 50-1.5i dok=100-i-jIf(3i+2j+0.5k=100) thenoutput I,j,kreturn162、归纳
6、法、归纳法l基本思想基本思想 通过列举少量的特殊情况,经过分析,最后找出一通过列举少量的特殊情况,经过分析,最后找出一般的关系。般的关系。 172、递归法、递归法基本思想基本思想 为了降低问题的复杂度,总是将问题组成为了降低问题的复杂度,总是将问题组成分解,最后归纳为一个最简单的问题,当解决分解,最后归纳为一个最简单的问题,当解决这个简单问题后,再沿着就原来分解的逆过程这个简单问题后,再沿着就原来分解的逆过程逐步进行综合,这就是递归逐步进行综合,这就是递归。18l递归公式表示:递归公式表示:) 1()!1() 1 , 0(1!nnnnnn19#include int main()int fac
7、(int n);int n;int y;printf(“input an integer number”);scanf(“%d”,&n);y=fac(n);printf(“%d!=%dn”,n,y);Return 0;int fac(int n)int f;if(n0) printf(“n0,data error!”);else if(n=0|n=1) f=1;else f=fac(n-1)*n;return(f);2022211211aaaaA22211211bbbbB2222122121221121221212112112111122211211babababababababaccccAB
8、C62311142215312754111xxxxcxxcxxcxxxxc21基本思想: 通过对问题的分析,找出一个解决问题的线索,然后沿着这个线索逐步试探,对于每一步的试探,若试探成功,就得到问题的解,若试探失败,就逐步回退,换别的路线再进行试探。 22 nDxxtxpnA)()()()(max)(xtnWnDx23111/niqninqpi1,1,ninniiti比较次数比较次数111)1(2/)1()1()/()(niniiinqqnnqinqtpnA24nnitnWi11max)(25算法的空间复杂度算法的空间复杂度 一般指执行这个算法所需要的内存空间,包括算法程序所占的空间、输入的初始数据所占的存储空间以及算法执行过程中所需要的额外空间。