大学计算机基础课件第五章计算机软件技术基础资料讲义

上传人:我*** 文档编号:143092003 上传时间:2020-08-26 格式:PPT 页数:40 大小:1.86MB
返回 下载 相关 举报
大学计算机基础课件第五章计算机软件技术基础资料讲义_第1页
第1页 / 共40页
大学计算机基础课件第五章计算机软件技术基础资料讲义_第2页
第2页 / 共40页
大学计算机基础课件第五章计算机软件技术基础资料讲义_第3页
第3页 / 共40页
大学计算机基础课件第五章计算机软件技术基础资料讲义_第4页
第4页 / 共40页
大学计算机基础课件第五章计算机软件技术基础资料讲义_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《大学计算机基础课件第五章计算机软件技术基础资料讲义》由会员分享,可在线阅读,更多相关《大学计算机基础课件第五章计算机软件技术基础资料讲义(40页珍藏版)》请在金锄头文库上搜索。

1、,大学计算机基础 (省精品课程)计算机软件技术基础 (第五章),华南农业大学信息学院,第五章 计算机软件技术基础,本章讨论的问题,学习计算机软件的相关知识,如什么是软件,程序设计语言的分类及构成等。,知识点,机器、汇编、高级语言,软件及分类,算法描述,程序设计语言构成,教学目的,理解如何利用计算思维的基础算法来进行问题的求解。,第五章 计算机软件技术基础,第五章 计算机软件技术基础,硬件是计算机的“躯体”,软件是计算机的“灵魂”。没有软件的计算机是无法工作的。 计算机问题求解是以计算机为工具、利用计算思维解决问题的实践活动,一般包括分析问题、设计算法、实现算法等步骤,是最典型计算思维方法。本章

2、将学习计算机软件的相关知识,包括软件、程序设计语言、算法等等。,需要编写应用软件,如何让计算机按我们的意志行事?,5.1 计算机软件系统,5.1.1 软件的概念与特点,软件是由程序、数据及其相关文档三部分组成。, 程序:按照事先设计的功能和性能要求执行的计算机指令序列。 数据:使程序能够正常操纵信息的数据结构。 文档:与程序开发、维护和使用有关的资料。,从软件的基本概念可以看出,软件开发不仅仅是编写一个程序,而是包括程序设计、数据结构设计、文档编写等多项工作。,5.1 计算机软件系统,5.1.2 软件的分类,软件分类方式有多种,其中按软件功能可划分为:, 支撑软件:又称为软件开发环境。是介于系

3、统软件和应用软件之间的中间层软件,是支撑各种软件开发与维护的软件。, 应用软件:针对特定领域开发,为特定目的服务的软件。, 系统软件:能与计算机硬件紧密配合,使计算机系统的各个部件、相关的软件和数据协调、高效工作。,5.1 计算机软件系统,计算机软件系统中所包括的各种软件之间的关系不是并列的,而是有一定的层次关系。,5.1.3 计算机软件的层次结构,系统软件,支撑软件,应用软件,5.2 程序设计语言,简单讲,程序设计就是用计算机语言编写程序。,程序 = 算法 + 数据结构,编写计算机程序时使用的语言称为程序设计语言,程序设计语言分为机器语言、汇编语言和高级语言三种。,对数据操作的步骤,如何表示

4、、组织和存储数据,什么是程序设计?,什么是程序设计语言?,5.2 程序设计语言,5.2.1 机器语言,机器语言是唯一能被计算机直接理解和执行的程序设计语言,属低级语言。机器语言的一条语句就是一条指令,机器指令的格式如下:,例如:计算5+8结果的机器代码如下:,机器语言可被计算机直接识别,执行效率高,但编程困难,可读性差,不同机器间无法移植。,5.2 程序设计语言,5.2.2 汇编语言,为了解决机器语言难记忆、可读性差的缺点,人们把机器指令中的操作码和操作数用英文助记符来表示,这种助记符语言称为汇编语言,也属于低级语言。,汇编语言编写的程序属于符号程序,可读性优于机器语言,但汇编语言编写复杂,依

5、赖硬件,可移植性差,计算机不能直接识别和执行,必须翻译成计算机能识别的机器指令后才能在计算机上执行,其翻译过程如下:,5.2 程序设计语言,5.2.3 高级语言,高级语言是一类程序设计语言的统称,它采用接近人类自然语言的表示方法,并遵循一定的语法规则来编写程序。,实现求整数的绝对值的C程序段:,int intVar, result; scanf(“%d”, ,5.2 程序设计语言,高级语言面向用户,方便易学,通用性好。用高级语言编写的程序也属于符号程序,不能直接在计算机上执行,必须通过程序的翻译才能执行,其翻译成指令代码的方法主要有编译和解释两种。,5.2 程序设计语言,5.2 程序设计语言,

6、5.2.4 主流高级语言,什么人需要学程序设计?,比尔盖茨说 最 终 用 户 Office等 程序开发人员-Visual Basic等 系统开发人员-Visual C+等,你听过用过哪些编程语言?,Basic、VB、VB.NET C、C+、C# Java ,目前,高级语言种类已达数百种。下面介绍几种常用高级语言。同时也推荐几个方案供大家参考。,方案一 Basic语言,Basic 简单易学,很容易上手;Visual Basic 提供了很强大的可视化编程能力,可以让你轻松地做出漂亮的程序。目前,Basic语言的最新发展是Visual Basic.NET,适合网络环境下的编程。 VB适合初涉编程者,

7、几乎每个人都可以在一个比较短的时间里学会VB编程,并用VB 做出自己的作品。,5.2 程序设计语言,方案二 C语言与C+,C语言灵活性好,效率高,可以接触到软件开发比较底层的东西;C+语言是C语言的超集,也就是说学会了C+,你其实已经把C语言学会了。VC+其实是一个C+语言的编译器环境,是微软制作的产品。至于C#,也是微软公司自己开发出来的一套语言,与C/C+具有极大的相似性,C#是在Java流行起来后所诞生的一种类似的语言,目前主要是应用在网络编程上。 上述这类语言对使用者的要求比较高,如果你可以在编程上投入很大的精力和时间,那么学会它可以随心所欲地进行编程。,5.2 程序设计语言,方案三

8、Java 语言,Java的编程类似C+, 但要比C+简单,学习过C+的人能很快掌握Java的精髓。Java去掉了C+语言的许多功能,使其变得很精炼。Java的跨平台操作兼容任何系统,是目前使用最为广泛的网络编程语言之一。该语言主要应用于Web 浏览器及运行于Web浏览器中的一个程序,如金融系统、电子商务系统、网站开发、手机软件等各种网络平台,Java的市场占有率第一。 该语言对使用者的要求介于VB和C+之间,所以说它也适合非专业人员学习。学会它可以编写各种网络程序。,5.2 程序设计语言,5.2 程序设计语言,5.2.5 计算机软件开发工具和开发环境,软件开发工具主要有三类:即用来编辑源程序的

9、编辑软件、把高级语言编译成机器语言的编译软件,以及调试程序的调试软件。,(1) 单独的工具,早期应用软件开发平台中的软件工具都是独立的,它们之间并没有必然的联系。程序员需要自己决定使用哪个工具来完成某个阶段的工作,某个阶段候选的工具也不只有一个。实际上,有很多编辑软件都可以被程序员选用来编辑程序,甚至类似于Windows中的记事本软件也可以用来编辑程序。单独的工具是早期使用的软件开发工具。,5.2 程序设计语言,(2) 集成的开发环境,为了克服单独工具的缺点,不再让程序员自己寻找和组合开发工具,人们把软件开发过程中必需的工具整合在一起,形成了集成的开发环境。这样,程序员只要启动一个集成环境软件

10、就可以在其中完成全部的程序开发步骤了。,集成开发环境基本功能是一致的。它们都支持编辑、编译、调试、运行等基本功能。程序员可以在上面完成所有开发应用软件所需的动作。,5.2 程序设计语言,现在大多数程序员都工作在各种集成开发环境平台上。以微软的集成开发环境为例,起初,微软针对于不同的语言分别推出了相应的开发平台,如Visual C+等。不过现在的Visual Studio已经把Visual C+、C#、Visual Basic等语言的开发环境都集成在一起。用户可以选择使用其中任何一种语言来开发应用软件。,Visual Studio集成开发环境,5.2 程序设计语言,5.2.6 程序设计语言的构成

11、,程序设计语言的构成主要包括以下几个方面:,(1) 数据类型,基本数据类型:是由程序设计语言内置的,其特点是不能再分解为其它的类型。在主流的程序设计语言中一般包括:整数类型、实数类型、字符类型、布尔类型等。 构造数据类型:是由基本数据类型按照某种方式组合构成的。常见的构造数据类型有:数组类型、记录类型(结构体) 等等。,5.2 程序设计语言,(2) 运算符和表达式,在程序设计中使用表达式可完成各种各样的运算。表达式通常包括:常量、变量、运算符和函数调用等。 例如:给定圆的半径r,求其面积的C语言表达式是: s = 3.14 * r * r 其中,s、r是变量,3.14是常量,*是算术运算符,“

12、=”是赋值运算符。它的作用是把“=”右边的表达式的值计算出来然后赋值给“=”左边的变量s。,(3) 语句,程序是对计算机要执行的操作的描述,高级语言源程序的基本组成单位就是语句。语句按功能可以分为两类: 用于描述操作运算的语句,如赋值语句; 用于控制操作运算流程的语句,如分支控制语句。,5.2 程序设计语言,(4) 控制结构, 顺序结构,按照语句出现的先后顺序依次执行。顺序结构是最简单的一种基本结构。 例如,下面的C程序段中首先给表示圆半径的变量r赋值,然后计算圆的面积。 r = 10.5; s = 3.14 * r * r;,5.2 程序设计语言, 分支结构,根据给定条件判断,决定程序执行的

13、顺序。,【例5.2】求一元二次方程的根的C语言程序段: if( b * b 4 * a * c 0) printf(%sn ,“方程无实根”) else x1 = (-b + sqrt(b * b 4 * a * c)/(2*a); x2 = (-b - sqrt(b * b 4 * a * c)/(2*a); printf(%f,%fn ,x1,x2); ,5.2 程序设计语言, 循环结构,循环(重复)是计算机解题的一个重要特征。如果某些语句或程序段需要在一个固定的位置上重复执行,使用循环语句是最好的选择。,【例5.3】求1+2+3+100 = ?,用循环语句实现的程序段为:,5.2 程序设

14、计语言,(5) 输入/输出,高级程序设计语言中通常以函数或语句的形式提供输入输出操作。现代高级程序设计语言通常都提供通过窗口、文本框、按钮、组合框、图表等图形组件进行输入输出。,(6) 子程序,子程序就是将需要重复使用的程序段或分解的子问题编写成一个独立的子程序,当程序中需要使用子程序时,再对其进行调用。,5.3 问题求解过程,人类求解问题时,善于分析、归纳、总结与推理,对大量数据的处理与计算则非常“头疼”和低效。相反,借助于计算机求解问题则能非常高效地处理大批量的数据(只要告诉计算机“怎么算”,它的计算速度人类已经望尘莫及了),但对于分析、归纳、总结与推理则比人类“笨拙”得多。,人类求解问题

15、时,擅长于形象思维,灵感(顿悟)与直觉有时候很管用,对数据很不敏感,长时间重复做一件事情时很容易疲劳而出错。而借助于计算机求解问题时,擅长于抽象的逻辑思维,刻板又机械,长时间重复做一件事情不会疲劳出错(除非硬件出故障)。,人类解决问题与基于计算机求解问题的差异,5.3 问题求解过程,尽管计算机只是一个工具或者说一个高级的工具,但借助于计算机进行问题求解,其思维方法和求解过程却有自己独特的概念和方法。,当我们面对需要求解的问题时,首先要做的事情就是进行可行性分析,并对待求解的问题进行抽象,获取其数学模型。接下来要做的事情就是组织、提取原始数据,以确定原始数据进入计算机后的存储结构(即数据结构),

16、并在数据结构的基础上研究数据的处理方法和步骤(即算法)。,5.4 算法与数据结构,用计算机解决实际问题时,首先要进行程序设计,而程序设计主要包括算法的设计和数据结构两个方面的内容。计算机算法与数据的结构密切相关,算法依附于具体的数据结构,数据结构直接关系到算法的选择和效率。算法与数据结构是计算机程序设计的重要理论技术基础。,5.4.1 数据结构简介 为了编写出一个“好”的程序,必须分析待处理的对象的特征及各对象之间存在的关系,即如何表示、组织、存储和操作数据,这就是数据结构所要研究的问题。,5.4 算法与数据结构,数据结构涉及到的问题很多,包括数据的逻辑结构、数据的物理结构、数据结构的运算等,这里就不再一一介绍了。,例:公司员工数据的存储(一个员工信息可以构造一个一维数组的数据结构),编写程序通过算法就可实现对员工相关信息(如插入、删除、查找、排序等)的处理了。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号