同济大学计算机基础学科研究室.ppt

上传人:sccc 文档编号:5374157 上传时间:2023-07-01 格式:PPT 页数:120 大小:2.09MB
返回 下载 相关 举报
同济大学计算机基础学科研究室.ppt_第1页
第1页 / 共120页
同济大学计算机基础学科研究室.ppt_第2页
第2页 / 共120页
同济大学计算机基础学科研究室.ppt_第3页
第3页 / 共120页
同济大学计算机基础学科研究室.ppt_第4页
第4页 / 共120页
同济大学计算机基础学科研究室.ppt_第5页
第5页 / 共120页
点击查看更多>>
资源描述

《同济大学计算机基础学科研究室.ppt》由会员分享,可在线阅读,更多相关《同济大学计算机基础学科研究室.ppt(120页珍藏版)》请在三一办公上搜索。

1、1,同济大学计算机基础学科研究室,2,目录,第 一 章 计算识与信息社会第 二 章 计算机基础知识第 三 章 微型计算机硬件组成 第 四 章 系统软件及其常用操作系统 第 五 章 应用软件和办公软件 第 六 章 网络基础第 七 章 Internet与Intranet第 八 章 数据库基础第 九 章 多媒体基础第 十 章 数据安全第十一章 程序设计基础,3,第九章 多媒体技术基础,9.1 多媒体技术的基本概念9.2 多媒体计算机系统 9.3 多媒体信息的数字化和压缩技术 9.4 多媒体素材制作 9.5 Flash 动画制作,4,9.1多媒体技术的基本概念 9.1.1多媒体,媒体存储信息的物理实体

2、,如磁盘、光盘等信息的表现形式或载体,多媒体是“多媒体技术”的同义语,不仅仅是指多种媒体本身,而主要是指处理和应用它的一整套技术多媒体技术 是一种基于计算机的综合技术,包括数字化信息的处理技术、音频和视频技术、计算机硬件和软件技术、人工智能和模式识别技术、通信和图像技术等,是一门跨学科的综合技术。,5,9.1.2 多媒体技术的特性,多样性 媒体、处理方式 集成性 媒体、设备与软件的集成 交互性 用户与多媒体信息 数字化 媒体信息以数字的形式存储和处理 实时性 声音媒体和视频媒体,6,9.1.3 多媒体信息的类型,1文本2图形由直线、圆、圆弧、任意曲线等组成的画面,以矢量形式存储。3图像通过扫描

3、仪、数字照相机、摄像机等设备捕捉的真实场景的画面,数字化后以位图格式存储。4动画利用了人眼的视觉特性所得到的画面印象。5.视频来自视频信号源的影像。6音频话语、音乐以及各种动物和自然界发出的各种声音。,7,9.1.4 多媒体信息处理的关键技术,1.多媒体数据压缩技术节省存储空间,提高通信介质的传输效率,使计算机实时处理和播放视频、音频信息成为可能。2.多媒体数据存储技术数字化数据存储的介质有:硬盘、光盘和磁带等。3.集成电路制作技术为多媒体技术的进一步发展创造了有力的条件。4.多媒体数据库技术 研究多媒体信息的特征、建立多媒体数据模型;有效地组织和管理多媒体信息;多媒体信息的检索和统计。,8,

4、多媒体信息处理的关键技术,5.虚拟现实技术利用计算机生成一种模拟环境,通过多种传感设备,使人能够沉浸在计算机生成的虚拟境界中,并能够通过语言、手势等自然的方式与之进行实时交互,创建了一种适人化的多维信息空间。6.多媒体网络与通信技术多媒体通信技术支持是保证多媒体通信实施的条件。,9,9.1.5 多媒体技术的应用领域,1.多媒体教育2.电子出版物 3.多媒体网络应用 互联网直播 视频点播远程教育 视频会议系统,10,9.2 多媒体计算机系统 9.2.1多媒体计算机系统组成,多媒体系统层次结构,11,多媒体计算机标准,MPC联盟规定多面体计算机系统由5个基本部件组成:PC机、CD-ROM、声卡、音

5、箱和Windows操作系统MPC 4.0,它为将PC机升级成MPC提供了一个指导原则,要求在普通微机的基础上增加以下4类软、硬件设备:声/像输入设备 光驱、话筒、扫描仪、录音机、摄像机等。声/像输出设备 音效卡、刻录光驱、投影仪等。功能卡 电视卡、视频采集卡、视频输出卡、网卡、VCD压缩卡等。软件支持 音响、视频和通讯信息以及实时、多任务处理软件。,12,9.2.2 多媒体计算机硬件系统,多媒体计算机硬件系统示意图,13,多媒体计算机硬件系统,1.主机多媒体计算机主机可以是中、大型机,也可以是工作站,更普遍的是使用多媒体个人计算机。具备多媒体信息处理功能的芯片:通用和专用的数字信号处理芯片DS

6、P(Digital Signal Procesor)现有的CPU芯片增加多媒体数据处理指令和数据类型,Pentium 4 微处理器包括了144条多媒体及图形处理指令 媒体处理器(Media Processor),有可编程性,通过软件可增加新的功能。是现有通用处理器的强有力的支持芯片。,14,多媒体接口卡,1.声卡又称音频卡,是处理音频信号的硬件,,15,多媒体接口卡,2.图形加速卡图形加速卡拥有图形函数加速器和显存,专门用来执行图形加速任务,可以减少CPU处理图形的负担。工作在CPU和显示器之间,控制计算机的图形输出。现在的显示卡上都集成有图形处理芯片组,成为图形加速卡。,16,多媒体接口卡,

7、3.视频采集视频采集卡可以获取数字化视频信息,提供硬件压缩功能,17,多媒体接口卡,4.IEEE 1394卡标准的IEEE 1394接口可以同时传送数字视频信号以及数字音频信号,相对于模拟视频接口,IEEE 1394技术在采集和回录过程中没有任何信号的损失。现在的IEEE 1394卡多为PCI接口,只要插入到计算机主板相应的PCI插槽上就可以提供视频采集功能,18,信息获取设备,数码照像机(DC)数码照像机所拍摄到的照片是以文件形式存储在相机内的存储卡中,将数码照像机中的照片存储到计算机中,先用连接线将数码照像机与计算机连结起来。数码照像机的驱动程序就会将相机的存储卡视为计算机的一个可移动磁盘

8、,存储卡中的图像会以略图方式显示,数码设备,19,信息获取设备,数码摄像机(DV)数码摄像机的优点是动态拍摄效果好,数码摄像机使用的小尺寸电荷耦合器件CCD与其镜头的不匹配,在拍摄静止图像时的效果不如数码照像机。,20,9.2.3 多媒体计算机软件系统,多媒体计算机软件系统,21,9.2.4 多媒体创作工具,多媒体创作工具的功能 提供编程环境及对各种媒体数据流的控制能力 处理各种媒体数据 生成应用系统和提供应用程序链接能力 用户界面处理和提供人机交互功能 预演与播放能力,22,多媒体创作工具,多媒体创作工具的类型 基于时间序列的创作工具 Director 基于流程图的创作工具 Authorwa

9、re 基于描述语言(符号)的创作工具 Multimedia ToolBook 可视化编程环境 Visual Basic和Visual C+,23,9.3多媒体信息的数字化和压缩技术 9.3.1音频信息,复杂的声波由许许多具有不同振幅和频率的正弦波组成。波形相对基线的最大位移称为振幅A,反映音量;波形中两个相邻的波峰(或波谷)之间的距离称为振动周期T,周期的倒数1/T即为频率f,以赫兹(Hz)为单位。正常人所能听到的声音频率范围为20 Hz20 kHz。,24,模拟音频的数字化,用计算机对音频信息处理,就要将模拟信号(如语音、音乐等)转换成维数字信号。,采样 每隔一定时间间隔对模拟波形上取一个幅

10、度值。量化 将每个采样点得到的幅度值以数字存储。编码 将采样和量化后的数字数据以一定的格式记录下来,25,数字音频的技术指标,采样频率、量化位数和声道数采样频率:每秒钟的采样次数量化位数(采样精度):存放采样点振幅值的二进制位数。通常量化位数有8位、16位,分别表示有28、216个等级。声道数:声音通道的个数,立体声 为双声道。每秒钟存储声音容量的公式为:采样频率采样精度声道数/8=字节数例如,用44.10 kHz的采样频率,16位的精度存储,则录制1秒钟的立体声节目,其WAV文件所需的存储量为:44 100162/8=176 400(字节),26,数字音频的文件格式,Wave格式文件(.Wa

11、v)记录了真实声音的二进制采样数据,通常文件较大。MIDI格式文件(.MID)数字音乐的国际标准.记录的是音符数字,文件小。MPEG音频文件(.MP1/.MP2/.MP3)采用MPEG音频压缩标准进行压缩的文件。,WAV文件,MIDI文件,27,9.3.2 图形和图像,图形和图像 图形:由点、线等组成的有边界画面,文件中存放描述图形的指令。图像:由图像设备输入的无边界画面,数字化后以位图形式存储。图形与图像的数字化 分辨率(行、列)和颜色深度 真彩色每个像素点占3个字节,224=16777216 种颜色。计算存储一秒图像公式:列数行数像素的颜色深度/8 帧/秒=字节数 例:12801024分辨

12、率的“真彩色”电视图像,按每秒30帧计算,显示1分钟,则需要:1280102433060 6.6 GB,28,常用图像文件格式,BMP和DIB格式文件 与设备无关的位图格式文件,Windows环境中经常使用.GIF格式文件 Internet上的重要文件格式之一,最大不超过64 KB,256色以内,压缩比较高,与设备无关。JPEG格式文件(.JPG)利用JPEG方法压缩,Internet上重要文件格式之一,适用于处理256色以上、大幅面图像。WMF格式文件 位图与矢量图的混合体,Windows中许多剪贴画图像 是以该格式存储的。广泛应用于桌面出版印刷领域。,29,9.3.3 视频,视频是将一幅幅

13、独立图像组成的序列按照一定的速率连续播放,利用视觉暂留现象在人的眼前呈现出连续运动的画面。模拟视频常用两种标准:NTSC制式(30帧/秒,525行/帧)PAL制式(25帧/秒,625行/帧),我国采用PAL制式。,模拟视频和数字视频640480 3 30 60=1 658 880 000字节,分辨率,帧/秒,采样深度,时间,30,常用视频文件格式,AVI(Audio-Video Interleaved)文件将视频与音频信息交错地保存在一个文件中,较好地解决了音频与视频的同步问题,已成为Windows视频标准格式文件。MOV文件利用它可以合成视频、音频、动画、静止图像等多种素材。MPG(.mpg

14、)文件是按照MPEG标准压缩的全屏视频的标准文件。DAT文件是VCD专用的格式文件,文件结构与MPG文件格式基本相同。,31,流媒体概述,流媒体一种可以使音频、视频等多媒体文件能在Internet上以实时的、无需下载等待的流式传输方式进行播放的技术,应用 互联网直播 视频点播 远程教育 视频会议系统,32,常用流媒体文件,RealMediaRA(RealAudio)用来传输接近CD音质的音频数据RM(RealVideo)在低速率的网络上实时传输活动视频影像RF(RealFlash)一种高压缩比的动画格式QuickTime是数字媒体领域事实上的工业标准,是创建3D动画、实时效果、虚拟现实、A/V

15、和其他数字流媒体的重要基础。ASF与WMAASF是一种数据格式,音频、视频、图像以及控制命令脚本等多媒体信息通过这种格式,以网络数据包的形式传输,实现流式多媒体内容发布。WMV是微软公司推出的与MP3格式齐名的一种音频格式,是用于高清晰度映像的编解码器。,33,9.3.4 数据压缩技术,无损压缩无损压缩方法原理是统计被压缩数据中重复数据的出现次数来进行编码,能确保解压后的数据不失真。有损压缩有损压缩方法是以牺牲某些信息(这部分信息基本不影响对原始数据的理解)为代价,换取了较高的压缩比。,数据压缩的国际标准 JPEG标准 适用于连续色调和多级灰度的静态图像 MPEG标准 适用于运动图像、音频信息

16、。包括MPEG视频、MPEG音频、MPEG系统(视频和音频的同步)。MPEG已制定了MPEG-1、MPEG-2、MPEG-4和MPEG-7四种。,34,文件压缩和解压缩软件,35,9.4多媒体素材制作 9.4.1 Windows XP的数字媒体,数字媒体处理功能:Windows Media Player Windows Movie Maker CD Burning 个人屏保 快速图片浏览等,36,Windows Movie Maker,制作电影的数字媒体程序,制作过程参见实验教材,37,9.5 Flash动画制作,Flash被广泛地用于多媒体领域,被公认为交互式矢量动画的标准。Flash格式文

17、件的数据量小,采用流媒体技术,可以在网络上更快地播放动画,实现交互。IE5.0起的版本内置了Flash播放器插件,可以直接浏览带有Flash动画的网页。Flash动画作品案例,38,滚屏技术时间帧颜色填充与透明移动、变形、旋转遮罩、引导配音,案例作品使用的技术,39,9.5.1 Flash MX的界面组成,Flash MX的界面由以下几个部分组成:菜单栏标准工具栏状态栏绘图工具时间轴面板工作区各类面板等,40,9.5.2 动画类型,Flash动画类型:逐帧动画 过渡动画逐帧动画 由一组连续的关键帧序列组成帧是构成Flash动画的基本组成元素。Flash时间轴面板上的每一小方格代表一帧。逐帧动画

18、涉及到:关键帧 包含有内容或对内容的改变起决定性作用的帧。静止帧 是相邻前一帧的延续。普通的静止帧显示为灰色方格,空白帧显示为白色方格。,41,9.5.2 动画类型,过渡动画 由两端的关键帧和中间的过渡帧序列组成过渡动画分为位移过渡动画和变形过渡动画。过渡帧 出现于过渡动画的两个关键帧之间,42,1)对每一关键帧中的内容进行逐个的制作和编辑2)图层为制作复杂动画而引入的一种手段。将复杂动作分解到不同的图层,图层按一定的顺序重叠在一起,产生综合效果,如同将画有不同图形的玻璃板重叠在一起。3)Alpha通道Alpha通道是决定图像中每个像素透明度的通道,用不同的灰度值来表示图像的可见程度,共有25

19、6级变化。,9.5.3 Flash动画制作基本方法手段,43,9.5.4 逐帧动画制作,制作的基本方法是对每一帧中的内容进行逐个的制作和编辑,改变帧内元素对象位置和内容例1 制作文字滚动的动画。,类似地可以实现自左向右滚动、上下滚动和往返滚动的效果。,最后一帧的文字与前一帧的文字坐标保持不变,可使循环播放返回到帧1时产生延迟效果。,44,9.5.5 过渡动画制作,过渡动画制作的基本方法是通过改变关键帧的位置、形状、颜色和大小等属性来完成。也可通过几个层之间动画的叠加来实现。,45,过渡动画制作方法之一:变形过渡,变形过渡通过改变对象外形、颜色、大小、位置、翻转、移动和组合等实现动画。例2 制作

20、由圆形变为方形的动画。,在属性面板的补间下拉框中选择形状,两帧之间出现实线箭头,表示补间动画已正确地设置,若出现虚线,则设置有错误。错误原因可能是补间动画的方式错或对象类型不正确。,46,过渡动画制作方法之二:位移过渡,位移过渡通过改变对象大小、位置、颜色、透明度等实现动画。例3 制作逐渐消失的文字。,设计思路:通过改变帧内元素位置、颜色和大小的方法利用颜色亮度、色调、Alpha值可产生变色效果。,注意:位移过渡动画中的所有对象必须转换为符号或群组。,47,过渡动画制作方法之三:图层使用,例4 制作小球碰撞运动的动画。设计思路:每个小球在各自的图层上运动,中间一点使2个小球处于相切的位置。,注

21、意:小球与阴影构成为符号补间动画采用动作,进一步应用 镜面效果 制作方法,48,过渡动画制作方法之四:遮罩技术,例5 使用层的遮罩技术滚动显示彩色文字。设计思路:文字色彩使用一幅图片来填充,遮罩技术可以透过遮罩层内图形区域显示被遮罩层的内容,其他区域则不透明。利用遮罩层可产生特殊效果。,注意 文字层(图层2)应位于图片层(图层1)的上方必须锁定遮罩层与被遮罩层改变图片的位置或改变文字的位置产生彩色变化的效果,49,遮罩技术,进一步应用 倒影效果 制作方法水波用上下变化的线条图形形成,并作为倒影的遮罩层光影效果 制作方法光影效果通过过渡渐变矩形形成过渡渐变配置可在混色器中完成,选用线性方式,50

22、,过渡动画制作方法之五:引导层技术,例6 使用引导层使对象沿指定曲线运动。注意 运动对象必须构成一个整体,通常通过创建新元件输入对象。,51,9.5.6 添加音效,在Flash中不能自己创建或是录制声音,编辑动画所使用的声音文件,需要从外部导入到Flash中。可使用的声音文件类型为.wav与.mp3。Flash规定声音必须在独立的图层内播放。在影片中加入声音的方法如下:将声音文件导入到Flash的库中。为声音创建一个图层,在希望开始播放声音的位置上插入一个空白关键帧。在属性面板的声音下拉框选择要使用的声音文件的名。,52,9.5.7 发布与输出,制作完动画之后,可以把生成的动画导出为后缀名为.

23、swf的动画播放文件,也可以把它发布为影片,生成网页浏览器支持的HTML、GIF、JPEG文件。当动画导出为影片或者是完成HTML文档的创建后,就可以上载给有MIME类型文件、能识别Flash影片的浏览器,任何带有Flash播放器(Shockwave Flash Player)的浏览器都可以播放它。,53,9.5.7 发布与输出,发的过程为:发布设置 选择“文件|发布设置”命令,指定要发布的文件格式和文件名。每种图形格式都有相应的选项,在选择了一种图形格式发布时Flash会自动嵌入该图形的HTML代码。发布 设置完成后可直接单击发布按钮,或关闭对话框后选择“文件|发布”命令。,54,发布与输出

24、,在输出为GIF文件时,如果指定为静态,只输出指定的帧(默认为第1帧),在以动态GIF格式输出时,如果不作指定,Flash输出电影所有的帧;如果要输出电影中的某一段,可以把一段中的开始帧和结束帧的标签设置为First和Last。如果输出为HTML文件,在对应选项卡需要指定模板,模板文件会在输出文件内插入HTML参数。当通过导出影片命令输出为电影时,swf格式为Flash本身特有的文件格式,输出的文件量小,效果不失真。而输出为avi文件后,可在视屏编辑应用程序中进行编辑。,55,第十章 信息系统安全与社会责任,10.1 计算机病毒 10.2 网络黑客及防范 10.3 数据加密与数字签名10.4

25、防火墙技术 10.5 网络社会责任与计算机职业道德规范,56,10.1 计算机病毒 10.1.1计算机病毒的定义,计算机病毒代码进入内存后才能传染和破坏 病毒的破坏能力不在于病毒代码的长短,取决于病毒的再生机制。,计算机病毒 破坏计算机功能或者毁坏数据,影响计算机使用,并能自我复制的一组计算机指令或者程序代码。,57,10.1.2 计算机病毒的分类,1按病毒攻击的操作系统来分类 攻击DOS系统的病毒 攻击Windows系统的病毒 成为计算机病毒攻击的主要对象。首例破坏计算机硬件的CIH病毒 攻击UNIX系统的病毒 UNIX病毒的破坏性很大 攻击OS/2系统的病毒 该类病毒比较少见,58,计算机

26、病毒的分类,2按病毒攻击的机型来分类 攻击微型计算机的病毒 传播最为广泛的病毒 攻击小型机的计算机病毒 攻击工作站的计算机病毒3按病毒的破坏情况分类 良性计算机病毒 恶性计算机病毒,59,计算机病毒的分类,4按病毒的寄生方式和传染对象来分类 引导型病毒 寄生在磁盘的引导区或硬盘的主引导扇区文件型病毒 寄生在文件内的计算机病毒 混合型病毒 同时具有引导型和文件型病毒的寄生方式 宏病毒 一般指寄生在文档上的宏代码5网络病毒 计算机蠕虫 特洛伊木马,60,10.1.3 计算机病毒的防治,1计算机病毒的预防 病毒防治的关键是做好预防工作 2计算机病毒的检测 通过一定的技术手段判定出计算机病毒 3计算机

27、病毒的清除 选择一个合适的防杀毒软件应该考虑的因素:能够查杀的病毒种类越多越好 对病毒具有免疫功能(即能预防未知病毒)具有实现在线检测和即时查杀病毒的能力 能不断对杀毒软件进行升级服务,61,10.2网络黑客及防范 10.2.1网络黑客,网络黑客(Hacker)一般指的是计算机网络的非法入侵者有些黑客仅仅是为了验证自己的能力而非法闯入,并不会对信息系统或网络系统产生破坏作用,但也有很多黑客非法闯入是为了窃取机密的信息、盗用系统资源或出于报复心理而恶意毁坏某个信息系统等。,62,10.2.2 黑客常用的攻击方式,1黑客的攻击步骤 信息收集 通常利用相关的网络协议或实用程序来收集 探测分析系统的安

28、全弱点 实施攻击 2黑客的攻击方式 密码破解 IP嗅探(Sniffing)与欺骗(Spoofing)系统漏洞 端口扫描,63,10.2.3 防止黑客攻击的策略,64,10.3数据加密与数字签名 10.3.1数据加密技术,加密技术加密算法密钥,明文 没有加密的原文 密文 原文经过加密加密密钥 一串数字 加密算法 一个数学函数密文通过解密算法与解密密钥还原为明文,65,对称密钥密码体系,加密密钥与解密密钥使用相同的算法,n个用户的网络,需要n(n1)/2个密钥,(密钥密码体系),66,非对称密码体系,(公钥密钥体系),加密密钥与解密密钥使用不同的密钥,67,10.3.2 数字签名,数字签名接收方能

29、够确认发送者的身份发送方不能抵赖接收方不能伪造报文,68,10.3.3 数字证书,版本号序列号签字算法发出该证书的认证机构有效期限主题信息,包括持有人的姓名、服务处所等信息公共密钥信息认证机构的数字签字,类似物理证书的数据,69,10.4防火墙技术 10.4.1防火墙概述,防火墙是一个分离器、一个限制器、也是一个分析器,有效地监控了内部网和Internet之间的任何活动,保证了内部网络的安全。,将局域网络放置于防火墙之后可以有效阻止来自外界的攻击。,70,10.4.2 防火墙的主要类型,包过滤防火墙在网络层对数据包进行分析、选择和过滤。,71,防火墙的主要类型,应用代理防火墙 网络内部的客户不

30、直接与外部的服务器通信。防火墙内外计算机系统间应用层的连接由两个代理服务器之间的连接来实现。状态检测防火墙 在网络层由一个检查引擎截获数据包并抽取出与应用层状态有关的信息,并以此作为依据决定对该数据包是接受还是拒绝。,72,10.4.3 防火墙的局限性,防火墙防外不防内 防火墙很难解决内部网络人员的安全问题 防火墙难于管理和配置,容易造成安全漏洞 由于防火墙的管理和配置相当复杂,对防火墙管理人员的要求比较高,除非管理人员对系统的各个设备(如路由器、代理服务器、网关等)都有相当深刻的了解,否则在管理上有所疏忽是在所难免的。,73,安全问题及相应对策,对来访的流量进行过滤和限制,防火墙专用网络,未

31、经授权擅自访问,冒名发送数据或发送后抵赖,数据被泄露或篡改,加密数据以防非法读取或篡改,对称加密非对称加密,对信息的发送者进行身份验证,数字签名身份认证,74,10.5网络社会责任与计算机职业道德规范 10.5.1网络道德建设,处理好以下几个关系:虚拟空间与现实空间的关系 网络道德与传统道德的关系 个人隐私与社会监督 信息共享与信息所有,75,10.5.2 软件工程师道德规范,软件工程职业规范,意在教育和激励采用规范的职业群体和成员,阐述一种职业的职责及其重要性。规范并不代表立法。软件工程师道德规范主要包含8条准则,与专业软件工程师的行为和他们所作出的决定有关,也适用于本行业的从业者、教育者、

32、管理者和该职业受训者及学生等。这些准则对参与其中的个人、群体和组织相互之间的各种关系给出了区别,并指出了在这些关系当中各自的主要义务。,76,第十一章 程序设计基础,11.1 程序和程序设计语言11.2 算法11.3 程序设计步骤和程序设计方法11.4 常用程序设计语言,77,11.1程序和程序设计语言,程序:计算机为完成序某一个任务所必须 执行的一系列指令的集合。例1:用VB来编写的显示教龄满30年的教职工 Sub Command1_Click()单击命令按钮,执行下列程序段 Open d:zg.dat For Input As#1 打开文件Do While Not EOF(1)循环控制 I

33、nput#1,姓名,部门,教龄 读入一个人员的三项信息 If 教龄=30 Then 若是满足大于30年教龄则 Print 姓名,部门 显示该人员的姓名和部门 End If LoopClose#1 全部读完,关闭文件End Sub,78,11.1.1 程序的一般概念,由此可见一个计算机程序主要描述两部分内容:数据结构描述问题的每个对象之间的关系 算法对问题的处理规则 经典公式:程序=数据结构+算法,79,计算机程序的共同性质,目的性 程序有明确的目的,运行时能完成赋予它的功能。分步性 程序由一系列计算机可执行的步骤组成。有序性 执行步骤是有序的,不可随意改变执行顺序。有限性 程序是有限的指令序列

34、,所包含的步骤是有限的。操作性 有意义的程序总是对某些对象进行操作,使其改变状态,完成其功能。,80,11.1.2 程序设计语言概述,按照程序设计语言发展的过程,大概分为三类:机器语言机器语言是由0和1二进制代码按一定规则组成的、能被机器直接理解和执行的指令集合。机器语言中的每一条语句实际上是一条二进制形式的指令代码,指令格式如下:,操作码 要完成的操作类型或性质操作数 操作的内容或所在的地址,81,机器语言,例如,计算A=15+10 的机器语言程序如下:10110000 00001111:把15放入累加器A中00101100 00001010:10与累加器A的值相加,结果仍放入A中11110

35、100:结束,停机编程工作量大,难学、难记、难修改,只适合专业人员使用;由于不同的计算机,其指令系统不同,机器语言随机而异,通用性差,是面向机器的语言。机器语言优点:程序代码不需要翻译,所占空间少,执行速度快。现在已经没有人用机器语言直接编程了。,82,汇编语言,将机器指令的代码用英文助记符来表示,代替机器语言中的指令和数据。例如用ADD表示加、SUB表示减、JMP表示程序跳转等等,这种指令助记符的语言就是汇编语言。例如,计算 A=15+10 的汇编语言程序:MOVA,15:把15放入累加器A中ADDA,10:10与累加器A相加,结果存入A中HLT:结束,停机汇编语言克服了机器语言难读等缺点,

36、保持了其编程质量高,占存储空间少,执行速度快的优点。常用于过程控制等编程。汇编语言面向机器,使用者需要专业知识。汇编语言编写的程序,必须翻译成机器语言,才能被计算机执行。,83,高级语言,高级语言是由表达各种意义的词和数学公式按照一定的语法规则来编写程序的语言。高级语言使程序员可以完全不用与计算机的硬件打交道,可以不必了解机器的指令系统,是面向过程的语言。这样,程序员就可以集中精力来解决问题本身而不必受机器制约,编程效率高;由于与具体机器无关,因此程序的通用性强。例如,计算 A=15+10 的BASIC语言程序如下:A=15+10 15与10相加的结果放入A中PRINT A 输出AEND 程序

37、结束,84,高级语言分类,高级语言的发展分为3类:1)面向过程的语言如FORTRAN、BASIC、PASCAL、C等。面向过程的语言致力于用计算机能够理解的逻辑来描述需要解决的问题和解决问题的具体方法、步骤。编程时,程序不仅要说明做什么,还要告诉计算机如何做,程序需要详细描述解题的过程和细节。计算 A=15+10的BASIC程序对应的流程图,85,面向问题的语言,2)面向问题的语言(非过程化的语言)面向问题的语言又称为第四代语言(4GLS)。解题时,不必关心问题的求解算法和求解的过程,只须指出要计算机做什么,数据的输入和输出形式,就能得到所需结果。例如,用非过程化的语言,只要用如下的一条语句就

38、可实现:SELECT 姓名,部门,教龄 FROM d:zg.dbf WHERE 教龄=30面向问题的语言是采用快速原型法开发应用软件的强大工具,能够快速地构造应用系统,提高软件开发效率。面向过程的语言需要详细地描述“怎样做”;面向问题的语言仅需要说明“做什么”。它和与数据库的关系非常密切,能够对大型数据库进行高效处理。,86,面向对象语言,在20世纪80年代推出面向对象语言。它与以往各种语言的根本不同点在于:它设计的出发点就是为了能更直接地描述客观世界中存在的事物(即对象)以及它们之间的关系。面向对象语言将客观事物看作具有属性和行为的对象,通过抽象找出同一类对象的共同属性和行为,形成类。通过类

39、的继承与多态可以很方便地实现代码重用,这大大提高了程序的复用能力和程序开发效率。面向对象语言已是程序语言的主要研究方向之一。面向对象的语言有C+、Java、Visual Basic等。,87,11.1.3 语言处理程序,在所有的程序设计语言中,除了用机器语言编制的程序能够被计算机直接理解和执行外,其他的程序设计语言编写的程序都必须经过一个翻译过程才能转换为计算机所能识别的机器语言程序,实现这个翻译过程的工具是语言处理程序,即翻译程序。用非机器语言写的程序称为源程序;通过翻译程序翻译后的程序称为目标程序。翻译程序也称为编译器。针对不同的程序设计语言编写出的程序,有各自的翻译程序,互相不通用。,8

40、8,语言处理程序 汇编程序,汇编程序是将汇编语言编制的程序(源程序)翻译成机器语言程序(目标程序)的工具。,汇编程序的具体翻译工作步骤:用机器操作码代替符号化的操作符。用数值地址代替符号名称。将常数翻译为机器的内部表示。分配指令和数据的存储单元。,89,语言处理程序 高级语言翻译程序,1)解释方式 解释方式的翻译工作由解释程序来完成。解释程序对源程序进行逐句分析,若没有错误,将该语句翻译成一个或多个机器语言指令,然后立即执行这些指令;若解释时发现错误,会立即停止,报错并提醒用户更正代码。解释方式不生成目标程序。,90,高级语言翻译程序编译方式,翻译工作由编译程序完成。如同笔译在纸上记录翻译后的

41、结果。编译程序对整个源程序经过编译处理,产生一个与源程序等价的目标程序;目标程序还可能要调用一些其他语言编写的程序和程序库中的标准子程序,通过连接程序将目标程序和有关的程序库组合成一个完整的可执行程序。执行速度快,修改源程序后都必须重新编译。一般高级语言(C/C+、PASCAL、FORTRAN、COBOL等)都是采用编译方式。,91,编译方式编译过程,词法分析、语法分析、中间代码生成、优化和目标代码生成,92,编译方式编译过程,词法分析、语法分析、中间代码生成、优化和目标代码生成,93,11.1.4 程序设计语言的组成,包括如下成分:数据类型、表达式和赋值、控制结构、输入/输出、函数和过程。,

42、94,表达式和赋值,表达式由变量、常量、函数调用和运算符组成。例如,已知圆半径,求其面积用Visual Basic程序设计语言描述的语句为:s=3.14*r*r其中:s、r为变量,3.14为常量,*为运算符;为赋值号,它的语义是将右端表达式计算出的结果赋给左端的变量。变量 计算的数据对象和计算结果对象在程序中用变量表示。变量在使用前必须声明其类型和名称,编译程序根据其数据类型,在内存分配相应的存储空间,以存储该变量的值。,95,表达式和赋值运算符,计算机不但能进行算术运算,还能进行逻辑运算。虽然不同的程序设计语言提供的运算符种类不同,表示形式也可能不同,但一般都有如下几类:算术运算:加、减、乘

43、、除、乘方等。字符运算:连接、取子串等。关系运算:大于、大于等于、小于、小于等于、等于、不等于等。逻辑运算:与、或、非等。,96,表达式和赋值赋值,赋值是改变变量值的基本手段,在程序设计语言中使用频率最高。不同的程序设计语言有不同的赋值号,一般用等号“”来表示。表达式和赋值号构成了程序设计的一条赋值语句。,97,控制结构,结构化的程序设计包括三类控制结构,顺序结构,选择结构,循环结构,98,输入/输出,程序的输入/输出分为两大类:以文件形式数据传送 人机交互输入、输出在不同的程序设计语言中由不同的语句或函数来实现。例如Visual Basic中文件形式的输入/输出语句有:Input 文件号,变

44、量列表 从文件中读出数据 Print 文件号,变量列表 将变量中的值写到文件利用文本框、InputBox和MsgBox函数、Print方法等从键盘读入数据,从显示屏显示数据,实现人机交互。,顺序结构,选择结构,循环结构,99,过程,将重复处理程序段或分解的子功能编写成一个逻辑上独立的过程,当程序需要该过程时,只需调用它。使用过程可降低程序的复杂度,简化程序编写,便于调试。一般程序设计语言中有两种过程:函数过程 函数名有返回值 子过程 子过程名没有返回值各种语言系统还提供了已定义好的大量标准函数,如数学函数、字符串函数、类型转换函数等,放在系统的函数库中,供用户直接调用。,先定义后调用,100,

45、11.2 算法 11.2.1算法概述,在计算机中,把解题过程的准确而完整的描述称为解该题的算法。通俗地讲,程序就是用计算机语言表述的算法;流程图就是图形化的算法。算法可以分为两大类:数值计算算法求数值解,其特点是少量的输入、输出,复杂的运算,如求高次方程的根、求函数的定积分等。非数值计算算法对数据的处理,其特点是大量的输入、输出,简单的运算,例如,对数据的排序、查找等算法。,101,11.2.2 算法的表示,自然语言 用人们使用的语言描述算法 传统的流程图法 用一些图框、线条以及文字说明来形象地、直观地描述算法。N-S流程图法 去掉了传统流程图中带箭头的流向线,全部算法以一个大的矩形框表示,框

46、内还可以包含一些从属于它的小矩形框,适于结构化程序设计。,N-S图的三种基本结构,102,算法的表示,伪代码法 是一种假的代码不能被计算机所理解,但接近于某种语言编写的程序,便于转换成编程语言。根据编程语言的不同,有对应的类Pascal、类C等类-xxx语言。在数据结构教材中,经常用类-xxx语言来描述算法。计算机语言 计算机无法识别自然语言、流程图、伪代码。这些方法仅为了帮助人们描述、理解算法,要用计算机解题,就要将它们转换成计算机语言程序。用计算机语言描述算法,只有用计算机语言编写的程序才能被计算机执行。,103,11.2.3 常用算法,两个变量的值交换,Sub Swap(x,y)Dim

47、t t=x x=y y=tEnd Sub,计数器和累加器,N=N+1 计数器,N为计数器变量,Sum=Sum+x 累加器,Sum为累加器变量,104,常用算法枚举法,枚举法(穷举法或试凑法)根据条件确定答案的范围,在此范围内对所有可能的情况逐一验证。若某个情况符合条件,则为一个解;若全部情况均不符合条件,则问题无解。例 假定小鸡0.5元/只,公鸡2元/只,母鸡3元/只。百元买百鸡,列出所有可能的购鸡方案。根据题意列出方程:x+y+z=100 3x+2y+0.5z=100,Print 母鸡,公鸡,小鸡For x=0 To 33 For y=0 To 50 z=100-x-y If 3*x+2*y

48、+0.5*z=100 Then Print x,y,z Next yNext x,105,常用算法 递推法,递推法(迭代法)从初值出发,归纳出新值与旧值间直到最后值为止存在的关系,每次重复都从旧值的基础上递推出新值,并由新值代替旧值。例 猴子吃桃子问题。小猴有桃若干,每天吃掉现有数的一半多一个,到第7天要吃时只剩下一个了,问小猴原有桃子多少个?设第n天的桃子为xn,它是前一天的桃子数的一半少1个递推公式 xn-1=(xn+1)2,x=1 第7天的桃子Print 第 7 天的桃子数为:1只For i=6 To 1 Step-1 x=(x+1)*2 Print 第;i;天的桃子数为:;x;只Nex

49、t i,106,常用算法 求最值,求最值 在n个数中先假设第1个数为最大(小)值初值,依次同第2、3、n个数据逐一比较,一旦某个数大(小),马上替换;所有数比较完,最大(小)值也就获得。例 对输入的若干个学生成绩,求最高分。,TotalSalary=0 n=Input Box(输入学生人数)Max=InputBox(输入第1个学生的成绩)假设第一个成绩最高 For i=2 To n mark=Input Box(输入第&i&个学生的成绩)If mark Max Then Max=mark 当前学生成绩高,替换 Next i Print Max,107,11.3 程序设计步骤和程序设计方法,编制

50、程序的工作称为程序设计,为了有效地进行程序设计,必须掌握两方面知识:一门程序设计语言 解题的算法一个好的程序有可靠性、易读性、高效性、可维护性等良好特性。为达到这些目标,应采用好的程序设计方法,以便从方法上更有助于设计出具有上述特性的程序,108,11.3.1 程序设计步骤,黑盒测试白盒测试找出程序中的错误,109,11.3.2 程序设计方法,1.结构化程序设计结构化程序的结构简单清晰,可读性强,模块化强,描述方式符合人们解决复杂问题的普遍规律,在软件重用性、软件维护等方面有所进步,可以显著提高软件开发的效率。程序设计模式:“数据结构算法”在软件设计和实现过程中,采用自顶向下、逐步细化的模块化

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号