大学计算机基础课件.PPT
《大学计算机基础课件.PPT》由会员分享,可在线阅读,更多相关《大学计算机基础课件.PPT(192页珍藏版)》请在三一办公上搜索。
1、大学计算机基础,大学计算机基础,2006年11月28日,Fundamentals of Computers,第五章 程序设计,2,程序设计是工科学生计算机学习中的一项重要内容,各专业根据自身的需要选择不同的语言类型的程序设计课程。程序设计是一门综合性很强的课程,希望通过四个学时掌握相关内容是不现实的。因此本章节的主要目的是为今后的相关内容开设作一些准备,重点在介绍概念,对于具体语言的理解与掌握要求课后能够参考相关的资料作更多的了解。,3,(1)理解程序设计语言的功能与要素;(2)理解程序设计的基本过程;(3)理解程序编译/解释/语言转换的概念;(4)理解抽象数据类型与数据结构的概念;(5)理解
2、算法的概念与表示;(6)理解程序控制的三种基本结构;,4,(1)理解抽象数据类型与数据结构的概念;(2)理解算法的概念与表示;(3)理解程序控制的三种基本结构;,5,(1)了解程序设计语言的历史与分类;(2)了解结构化程序设计的基本思想;(3)了解面向对象程序设计的基本思想;(4)了解软件开发生命周期的概念。,6,第一节 程序设计概述,第二节 程序设计语言,第三节 程序设计方法,Content,第四节 算法、数据结构及VB程序设计,7,第一节 计算机程序概述,软件工程介绍,程序的一般概念(1),程序设计的基本过程(2),8,计算机科学中的研究成果都可以用于软件工程,但计算机科学着眼于原理和理论
3、,软件工程着眼于如何建造一个软件系统。软件工程要用工程科学中的技术来进行成本估算、安排进度及制定计划和方案;软件工程还要利用管理科学中的方法原理来实现软件生产的管理;并用数学的方法建立软件开发中的各种模型和算法,如可靠性模型、说明用户要求的形式化模型等。,软件工程是用工程概念进行软件度量和管理,9,介绍软件的基本概念和软件工程的目标,通过对传统的面向过程的软件开发方法和面向对象的软件开发方法的介绍,使学生掌握开发高质量软件的方法;通过对软件开发过程和过程管理技术的学习,使学生了解如何进行软件度量和管理,怎样进行质量保证活动,从而能够有效地策划和管理软件开发活动。,10,软件是一种逻辑实体,不是
4、具体的物理实体。因而它具有抽象性。,软件工程特点,这个特点使它和计算机硬件,或是其他工程对象有着明显的差别。人们可以把它记录在介质上,但却无法看到软件的形态,必须通过观察、分析、思考、判断,去了解它的功能、性能及其他特性。,11,软件的生产与硬件不同,它没有明显的制造过程。也不象硬件那样,一旦研制成功,可以重复制造,在制造过程中进行质量控制,以保证产品的质量。通过人们的智力活动,把知识与技术转化成信息的一种产品。一旦某一软件项目研制成功,可以大量地复制同一内容的副本。软件的质量控制,必须在软件开发方面下功夫。,12,在软件的运行和使用期间,没有硬件那样的机械磨损,老化问题。所以软件的维护比硬件
5、的维护要复杂得多,与硬件的维修有着本质的差别。任何机械、电子设备在运行和使用中,其失效率大都遵循型曲线(即浴盆曲线)。而软件的情况与此不同,因为它不存在磨损和老化问题。然而它存在退化问题,要多次修改(维护)软件。,13,软件分类,按软件使用功能分类,按软件规模分类,按软件工作方式分类,14,按软件使用功能分类,支撑软件,应用软件,系统软件,15,用户,计算机层次结构,应用软件,系统软件,机器语言,硬件系统,16,系统软件(OS),支撑软件,应用软件,软件层次,17,微型软件,小型软件,中型软件,大型软件,甚大型软件,极大型软件,按软件规模分类,几天,500行以内,半年,2000行以内,多人,5
6、千5万行以内,多人,5万10万行以内,多人,100万行以内,多人,1000万行以内,18,按软件工作方式分类,实时处理软件,分时软件,交互式软件,19,正如同任何事物一样,软件也有一个孕育、诞生、成长、成熟、衰亡的生存过程。我们称其为计算机软件的生存期。,软件生存期模型是从软件项目需求定义直至软件经使用后废弃为止,跨越整个生存期的系统开发、运作和维护所实施的全部过程、活动和任务的结构框架。,20,制定计划,需求分析,算法设计,程序编码,程序测试,维护运行,软件开发实践表明,各项活动之间并非完全是自上而下,呈线性图式。实际情况是,每项开发活动均处于一个质量环中(输入-处理-输出-评审),定义阶段
7、,开发阶段,维护阶段,计算机程序设计是指用计算机语言编写一些代码(指令)来驱动计算机完成特定的功能,也就是说,用计算机能理解的语言告诉计算机如何工作。,21,程序的概念:,完成指定动作的代码的集合,1、对于数据(操作对象)的描述介绍,2、对于操作的描述(通过操作得预期结果),对于数据的描述是关键,22,程序设计是什么?,使用计算机解决实际问题,通常是先把问题建立起数学模型,可以用算法描述,然后用计算机语言编制使计算机直接或间接接受的解决问题的一系列指令集(称为程序),最后调试程序,使之输入已知数据后,能产生预期的结果。上述整个过程,称为程序设计。,23,烹饪一盆榨菜肉丝汤。,、准备100克榨菜
8、和50克精猪肉。、将榨菜和精肉切细丝。、向锅中倒入25克色拉油。、将锅中油加温至八成熟。、将榨菜和精肉丝放入锅中烧熟。、放少许盐和适当水并烧开。、尝咸、淡否?、若咸,则加少许开水,转。、若淡,则加少许精盐,转。、烹饪结束,出锅。,24,流 程,参加会议,25,程序的特征性质,目的性,有明确的目的,分步性,由一系列的动作完成,有序性,动作有先后顺序,有限性,动作有限度,不能无穷无尽,操作性,动作能够操作,26,计算机可以做任何事情;只要能把实际问题抽象、制作为计算机可求解的程序。,程序设计的过程,27,分析抽象,模型求解,命令编程,调试程序,实际问题,问题模型,求解算法,编制程序,问题实现,28
9、,分析问题:,问题的提出,期望的结果,具体要求,29,通常把指示计算机进行某一工作的命令称为指令,而为完成某一任务的若干条指令的有序集合称为程序。,对数据的描述,对操作的描述,求解的算法,数据结构,30,问题:,多少科目的成绩?优秀的定义(总分?平均分?第一名?前五名?)数据如何录入?如何输出?,统计一个班学生的考试成绩,并选出优秀学生,问题定义确定了未来程序的输入、处理、输出(IPO,即Input,Process,Output),31,算法设计:,(1)算法(Algorithm)是对解决问题步骤的描述(2)算法不能被计算机理解、执行(3)算法的表示方法1)自然语言描述2)伪代码(Pseudo
10、 code)3)流程图(Flow chat),32,流程图是采用图形的方法描述算法的一种算法描述工具,习惯称框图。流程图是使用较为普遍的算法描述工具,其优点是描述简洁、清晰和直观,缺点是由于转移箭头的无约束使用,影响算法的可靠性。通过规范图形符号和对转移箭头的约束使用可削弱流程图的缺点,提高算法的可靠性。,起止框,输入输出框,判断框,处理框,流程线,连接点,注释框,33,步骤1:输入全部学生姓名、学号、英语成绩、计算机成绩;步骤2:对各个学生成绩求合计;步骤3:按合计对学生进行排序;步骤4:取排序的学生列表中第一个学生步骤5:该学生有不及格吗?没有则打印姓名并结束;有不及格,则取下一个学生并重
11、复步骤5,算法自然语言描述示例,34,步骤1:输入一个学生的姓名、学号、英语成绩、计算机成绩;步骤2:该学生有不及格吗?有则转步骤1步骤3:该合计大于以前学生的合计吗?大于则记录姓名、学号、合计成绩;步骤4:重复步骤1直到输入全部学生成绩 步骤5:打印姓名、学号、合计成绩,算法自然语言描述示例,35,算法的流程图表示,x+1=x,打印x,x5,0=x,0=x,x5?,打印x值,x+1=x,Y,N,Y,N,36,程序编码:,编码就是用计算机能够识别的语言编写源程序的过程。不同语言提供的功能、性能有较大差距。,37,#include/包含文件void main()/主函数int i,j,max;/
12、声明整型变量i,j,max cinij;/从键盘输入i和j的值 if(ij)/判断a和b中的较大数 max=i;elsemax=j;cout“max=”max;/输出较大数,例:求两个数中的较大数,C+程序,38,例:求两个数中的较大数,BASIC程序,Input“a,b=“,a,B 输入已知数据if ab then 确定a,b的关系 print A 如果a大,则输出aelse print b 如果b大则输出b endif 判断工作结束end 程序结束,39,例:求两个数中的较大数,FORTRAN程序,read(*,*)a,B 输入已知数据write(*,*)max(A,b)输出两个数中的大数
13、end 程序结束,40,例:求两个数中的较大数,VB程序,Private sub form_click()定义一个过程 Dim x As Single,y As Single定义x,y变量类型 x=InputBox(“请输入x的值”)通过对话框输入x y=InputBox(“请输入y的值”)通过对话框输入y If xy then 比较x与y的大小 Print x x大于y,则输出xElse Print y y大于x,则输出yEnd IfEnd Sub 过程结束,41,调试运行:,程序设计语言的检查功能只能查出语法错误,即程序是否按规定的格式书写,但更为困难的是排除逻辑错误,而这可能直接导致错误
14、的结果。,集成开发环境(IDE,Integrated Development Environment),指将程序的编辑、编译、运行、调试集成在同一环境下,使程序设计者既能高效地执行程序,又能方便地调试程序,甚至是逐条调试和执行源程序。,42,编译环境对程序的出错报告,定义的变量是i,使用的是I,不相符,出错信息提示,43,FORTRAN77提示,出错信息提示,44,文档编写:,文档由程序说明文件和用户操作手册组成。程序中的注释就是一种很好的文档,注释并不要求计算机理解它们,但可被读程序的人理解。,C语言的注释放在“/*/”之间C+的注释用“/”开头BASIC的注释则用REM开头,45,!a,b
15、为从键盘输入的两个实数 read(*,*)a,B 输入已知数据 write(*,*)max(A,b)输出两个数中的大数 end 程序结束,说明程序中a,b分别表示的概念,46,不同语言处理方式有所不同:将一个大程序分成若干小程序块(子程序)每一个子程序完成相对单一的功能一个程序可以调用别的子程序不同语言的处理也不同,如C+中对应函数,47,如何用语句表达思想(算法)?,(初级)了解语句、语法(高级)熟悉语言提供的功能,不同语言提供的功能、性能有较大差距,如何组织程序代码,开始点执行过程(子程序拆分、调用)结束点,48,调试运行,(1)IDE(集成开发环境),(2)程序错误类型,语法错误逻辑错误
16、,49,正确性,可读性,通用性,高效率,程序设计算法评价标准,50,第二节 程序设计语言,程序设计语言概述(3),程序设计语言的分类及组成(2),常用设计语言介绍(4),51,程序设计语言是一个能完整、准确和规则地表达人们的意图,并用以指挥或控制计算机工作的“符号系统”。,程序设计语言分类,52,机器语言,计算机语言是人机交流的工具。最初的计算机语言是机器语言,由二进制代码(0和1组成的一序列数字代码)组成,这种代码能够被计算机直接识别执行,称为机器语言。尽管执行效率高,但可移植性差,难学难懂,出错后难修改。,53,例如:计算2+3-4,并从屏幕上输出,机器语言描述程序:,0010001100
17、000010,-将2送累加器A,0000001100000011,-将3与累加器相加,结果在累加器,00110111,-将累加器数取反,求反码,00010111,-将累加器数加1,求补码,结果为-5,0000001100000100,-将4与累加器相加,结果-1在累加器,00110111,-将累加器数取反,求反码,00010111,-将累加器数加1,求补码,结果为1,00000010,-将累加器数1从总线输出,54,汇编语言,汇编语言是用一些易于理解的符号来取代机器语言中难于理解的二进制编码,但程序代码在字符型上看起来非常不直观,与机器指令相对应,都属于低级语言。如:用“ADD”代替加法的二进
18、制编码“00000011”。用汇编语言替代机器语言编写程序,可大大提高程序的可理解性、可读性、可靠性、可维护性和可移植性。,55,例如:计算2+3-4,并从屏幕上输出,汇编语言描述程序:,MOV A,2H,-将2送累加器A,ADD A,3H,-将3与累加器相加,结果在累加器,CPL A,-将累加器数取反,求反码,INC A,-将累加器数加1,求补码,结果为-5,ADD A,4H,-将4与累加器相加,结果-1在累加器,CPL A,-将累加器数取反,求反码,INC A,-将累加器数加1,求补码,结果为1,OUTL BUS,A,-将累加器数1从总线输出,56,用汇编语言编写的程序不能被计算机直接识别
19、和执行,必须由“汇编程序”(Assembler,能把用汇编语言书写的程序翻译成机器语言程序的软件)将其转换成机器语言之后才能执行,这一过程称为汇编。,汇编过程,汇编语言程序,机器语言程序,结果,汇编程序,汇编,57,汇编程序的功能是将汇编语言所编写的源程序翻译成由机器指令组成的目标程序。汇编程序基本工作包括:(1)将可执行汇编语句转成对应的机器指令;(2)对源程序中的伪指令进行相应处理汇编程序的处理过程通常由两次扫描完成。第一次扫描的主要工作是定义符号的值,以及对与定义符号值有关的伪指令进行处理;第二次扫描将可执行汇编语句翻译成对应的机器指令,产生目标程序。,汇编语言,58,高级语言,高级语言
20、采用人们熟悉的英语和数学公式来表达,它的编写方式比较直观,程序员可以用比较抽象与机器无关的方法来解决问题。这也导致硬件制造跟软件研发分成了不同的专业领域。要执行高级语言编制的程序,必须要经过编译程序进行翻译工作,把高级语言转换成计算机所能识别的机器语言。,59,如常用的高级语言BASIC、PASCAL、C、C+等。随着WINDOWS操作系统的普及,以上基于WINDOWS系统的可视化的程序语言已经相当普遍。,例如:计算2+3-4,并从屏幕上输出,汇编语言描述程序:,write(*,*)2+3-4,end,-计算2+3-4,并输出,-结束,60,#include void main()int a;
21、/声明整型变量a a=5+7;couta=aendl;/显示结果,用C+语言程序实现5+7的运算。,61,高级语言的执行过程,计算机不能直接接受和执行用高级语言编写的源程序,必须通过“翻译程序”翻译成机器语言形式的目标程序。这种“翻译”通常有两种方式:,编译方式,编译(compiling),源程序,目标程序,目标程序,可执行程序,连接(linking),基本基本模块,62,高级语言的执行过程,计算机不能直接接受和执行用高级语言编写的源程序,必须通过“翻译程序”翻译成机器语言形式的目标程序。这种“翻译”通常有两种方式:,解释程序边扫描边解释,逐句输入,逐句翻译,逐句执行,并不产生目标程序。,解释
22、方式,63,解释过程,BASICfoxbaseJava,高级语言源程序,解 释,CPU执行,输入数据,输出结果,高级语言的执行过程,64,解释程序是另一种语言处理程序。以源代码作为输入,不产生源程序的目标代码,直接对源程序的语句进行执行处理,完成该语句规定的动作。通常解释程序并不直接对输入的源程序进行解释执行,而是通过两个步骤完成:(1)对源程序进行词法分析和语法语义分析,把源程序翻译成中间代码;(2)对第一步产生的中间代码解释执行。如Java就是将源程序首先译成一种称为字节码的中间代码,然后解释执行这种字节码。,解释过程,65,PASCALFORTRANCOBOLCC+,高级语言的执行过程,
23、编译过程,高级语言源程序,可执行机器语言程序,输出结果,编译,连 接,机器代码目标程序,通用目标程序模块,输入数据,CPU执行,66,编译过程,编译程序的功能是将高级语言编写的程序翻译成在逻辑上与之等价的目标程序。编译过程一般分成5个阶段:词法分析、语法分析、中间代码生成、代码优化和目标代码生成。,67,高级语言源程序,目标程序,出错处理程序,表格处理程序,68,面向过程的语言,面向问题的语言,SQL(Structured Query Language),面向对象的语言,C+、ObjectC、Object Pascal、Simula、Smalltalk、Eiffel、Actor和Java等。,
24、如FORTRAN、BASIC、PASCAL、C等。,69,未来的语言,程序设计语言的进一步发展是自然语言。向人们所习惯的自然语言靠拢。采用自动编程技术。发展软件构件复用技术。,70,各种程序设计语言尽管应用领域、功能及风格各不相同,然而它们都包括一些共同的成分:,组成,71,基本数据类型:整数类型、实数类型、字符类型、逻辑类型等。,构造数据类型:数组类型、枚举类型、记录类型、集合类型等。,决定该类型数据的取值形式、范围和存储与表示方式。,决定该类型数据所能执行的操作种类,72,表达式和赋值,表达式由常量、变量、函数调用和运算符组成。不同的程序设计语言中有不同的赋值号,一般用等(=)来表示。例:
25、已知圆半径,求其面积用C+语言描述的语句为:s=3.14*r*r 其中:s、r为变量,3.14为常量,*为运算符,=为赋值号,它的语义是将右端表达式计算出的结果赋给左端的变量。,73,顺序结构,按照语句出现的先后顺序依次执行。,A,B,74,选择结构,根据条件判断,决定程序的执行次序。,A,B,A,P,P,75,选择结构对应的语句,if(条件表达式)语句块Aelse语句块B,例5-8 有一函数,当时x0,y=2x-1;当x0时,y=4x+1,使用C+语言语句表示为,if(x0)y=2*x-1;else y=4*x+1;,76,循环结构,当型循环结构,P,A,不成立,成立,先判断条件P,如果P成
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 大学计算机 基础 课件
链接地址:https://www.31ppt.com/p-4942352.html