![大机计算机基础课件9to11章节_第1页](http://file4.renrendoc.com/view10/M01/09/1F/wKhkGWW2LUKATkNLAAK8Cg7yLv0005.jpg)
![大机计算机基础课件9to11章节_第2页](http://file4.renrendoc.com/view10/M01/09/1F/wKhkGWW2LUKATkNLAAK8Cg7yLv00052.jpg)
![大机计算机基础课件9to11章节_第3页](http://file4.renrendoc.com/view10/M01/09/1F/wKhkGWW2LUKATkNLAAK8Cg7yLv00053.jpg)
![大机计算机基础课件9to11章节_第4页](http://file4.renrendoc.com/view10/M01/09/1F/wKhkGWW2LUKATkNLAAK8Cg7yLv00054.jpg)
![大机计算机基础课件9to11章节_第5页](http://file4.renrendoc.com/view10/M01/09/1F/wKhkGWW2LUKATkNLAAK8Cg7yLv00055.jpg)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1同济大学计算机基础学科研究室2目录第一章计算识与信息社会第二章
计算机基础知识第三章微型计算机硬件组成
第四章系统软件及其常用操作系统第五章应用软件和办公软件第六章网络基础第七章Internet与Intranet第八章数据库基础第九章多媒体基础第十章数据安全第十一章程序设计基础3第九章多媒体技术基础
9.1多媒体技术的基本概念9.2多媒体计算机系统9.3多媒体信息的数字化和压缩技术9.4多媒体素材制作9.5Flash动画制作
49.1多媒体技术的基本概念
9.1.1多媒体媒体存储信息的物理实体,如磁盘、光盘等信息的表现形式或载体
多媒体是“多媒体技术”的同义语,不仅仅是指多种媒体本身,而主要是指处理和应用它的一整套技术多媒体技术
是一种基于计算机的综合技术,包括数字化信息的处理技术、音频和视频技术、计算机硬件和软件技术、人工智能和模式识别技术、通信和图像技术等,是一门跨学科的综合技术。59.1.2多媒体技术的特性
多样性媒体、处理方式集成性媒体、设备与软件的集成交互性用户与多媒体信息数字化媒体信息以数字的形式存储和处理实时性声音媒体和视频媒体69.1.3
多媒体信息的类型1.文本2.图形由直线、圆、圆弧、任意曲线等组成的画面,以矢量形式存储。3.图像通过扫描仪、数字照相机、摄像机等设备捕捉的真实场景的画面,数字化后以位图格式存储。4.动画利用了人眼的视觉特性所得到的画面印象。5.视频来自视频信号源的影像。6.音频话语、音乐以及各种动物和自然界发出的各种声音。79.1.4
多媒体信息处理的关键技术1.多媒体数据压缩技术节省存储空间,提高通信介质的传输效率,使计算机实时处理和播放视频、音频信息成为可能。2.多媒体数据存储技术数字化数据存储的介质有:硬盘、光盘和磁带等。3.集成电路制作技术为多媒体技术的进一步发展创造了有力的条件。4.多媒体数据库技术研究多媒体信息的特征、建立多媒体数据模型;有效地组织和管理多媒体信息;多媒体信息的检索和统计。8多媒体信息处理的关键技术5.虚拟现实技术利用计算机生成一种模拟环境,通过多种传感设备,使人能够沉浸在计算机生成的虚拟境界中,并能够通过语言、手势等自然的方式与之进行实时交互,创建了一种适人化的多维信息空间。6.多媒体网络与通信技术多媒体通信技术支持是保证多媒体通信实施的条件。99.1.5
多媒体技术的应用领域1.多媒体教育2.电子出版物3.多媒体网络应用
互联网直播
视频点播远程教育
视频会议系统
109.2多媒体计算机系统
9.2.1多媒体计算机系统组成多媒体系统层次结构
多媒体应用系统运行平台多媒体编辑与创作系统多媒体应用程序接口API操作系统、多媒体设备驱动程序多媒体计算机主机、外围设备119.2.2
多媒体计算机硬件系统多媒体计算机硬件系统示意图
光盘机扫描仪电视机扬声器显示器网络通信主机声音卡话筒音响设备MIDI视频卡影碟机录像机摄像机打印机网卡12多媒体计算机硬件系统1.主机多媒体计算机主机可以是中、大型机,也可以是工作站,更普遍的是使用多媒体个人计算机。具备多媒体信息处理功能的芯片:
通用和专用的数字信号处理芯片DSP(DigitalSignalProcesor)现有的CPU芯片增加多媒体数据处理指令和数据类型,Pentium4微处理器包括了144条多媒体及图形处理指令媒体处理器(MediaProcessor),有可编程性,通过软件可增加新的功能。是现有通用处理器的强有力的支持芯片。13多媒体接口卡1.声卡又称音频卡,是处理音频信号的硬件,
14多媒体接口卡2.图形加速卡图形加速卡拥有图形函数加速器和显存,专门用来执行图形加速任务,可以减少CPU处理图形的负担。工作在CPU和显示器之间,控制计算机的图形输出。现在的显示卡上都集成有图形处理芯片组,成为图形加速卡。15多媒体接口卡3.视频采集视频采集卡可以获取数字化视频信息,提供硬件压缩功能16多媒体接口卡4.IEEE1394卡标准的IEEE1394接口可以同时传送数字视频信号以及数字音频信号,相对于模拟视频接口,IEEE1394技术在采集和回录过程中没有任何信号的损失。现在的IEEE1394卡多为PCI接口,只要插入到计算机主板相应的PCI插槽上就可以提供视频采集功能17信息获取设备数码照像机(DC)数码照像机所拍摄到的照片是以文件形式存储在相机内的存储卡中,将数码照像机中的照片存储到计算机中,先用连接线将数码照像机与计算机连结起来。数码照像机的驱动程序就会将相机的存储卡视为计算机的一个可移动磁盘,存储卡中的图像会以略图方式显示
数码设备18信息获取设备数码摄像机(DV)数码摄像机的优点是动态拍摄效果好,数码摄像机使用的小尺寸电荷耦合器件CCD与其镜头的不匹配,在拍摄静止图像时的效果不如数码照像机。
199.2.3
多媒体计算机软件系统多媒体计算机软件系统多媒体应用系统多媒体计算机主机、外围设备多媒体编辑与创作工具多媒体库函数、素材制作工具多媒体操作系统设备驱动软件、接口程序系统软件209.2.4
多媒体创作工具多媒体创作工具的功能提供编程环境及对各种媒体数据流的控制能力处理各种媒体数据生成应用系统和提供应用程序链接能力用户界面处理和提供人机交互功能预演与播放能力21多媒体创作工具多媒体创作工具的类型基于时间序列的创作工具Director
基于流程图的创作工具
Authorware
基于描述语言(符号)的创作工具
MultimediaToolBook
可视化编程环境
VisualBasic和VisualC++229.3多媒体信息的数字化和压缩技术
9.3.1音频信息复杂的声波由许许多具有不同振幅和频率的正弦波组成。波形相对基线的最大位移称为振幅A,反映音量;波形中两个相邻的波峰(或波谷)之间的距离称为振动周期T,周期的倒数1/T即为频率f,以赫兹(Hz)为单位。正常人所能听到的声音频率范围为20Hz~20kHz。
振幅频率23模拟音频的数字化用计算机对音频信息处理,就要将模拟信号(如语音、音乐等)转换成维数字信号。采样每隔一定时间间隔对模拟波形上取一个幅度值。量化将每个采样点得到的幅度值以数字存储。编码将采样和量化后的数字数据以一定的格式记录下来模拟信号采样量化编码数字信号
振幅
频率1/T
采样点
T
振幅1/TT24数字音频的技术指标采样频率、量化位数和声道数采样频率:每秒钟的采样次数量化位数(采样精度)
:存放采样点振幅值的二进制位数。通常量化位数有8位、16位,分别表示有28、216个等级。声道数:声音通道的个数,立体声为双声道。每秒钟存储声音容量的公式为:采样频率×采样精度×声道数/8=字节数例如,用44.10kHz的采样频率,16位的精度存储,则录制1秒钟的立体声节目,其WAV文件所需的存储量为:44100×16×2/8=176400(字节)25数字音频的文件格式
Wave格式文件(.Wav)记录了真实声音的二进制采样数据,通常文件较大。
MIDI格式文件(.MID)数字音乐的国际标准.
记录的是音符数字,文件小。
MPEG音频文件(.MP1/.MP2/.MP3)采用MPEG音频压缩标准进行压缩的文件。
WAV文件MIDI文件269.3.2
图形和图像
图形和图像
图形:由点、线等组成的有边界画面,文件中存放描述图形的指令。图像:由图像设备输入的无边界画面,数字化后以位图形式存储。图形与图像的数字化分辨率(行、列)和颜色深度真彩色每个像素点占3个字节,224=16777216种颜色。计算存储一秒图像公式:列数×行数×像素的颜色深度/8×帧/秒=字节数例:1280×1024分辨率的“真彩色”电视图像,按每秒30帧计算,显示1分钟,则需要:
1280×1024×3×30×60≈6.6GB27常用图像文件格式BMP和DIB格式文件与设备无关的位图格式文件,Windows环境中经常使用.GIF格式文件
Internet上的重要文件格式之一,最大不超过64KB,
256色以内,压缩比较高,与设备无关。JPEG格式文件(.JPG)
利用JPEG方法压缩,Internet上重要文件格式之一,适用于处理256色以上、大幅面图像。WMF格式文件位图与矢量图的混合体,Windows中许多剪贴画图像是以该格式存储的。广泛应用于桌面出版印刷领域。
289.3.3
视频视频是将一幅幅独立图像组成的序列按照一定的速率连续播放,利用视觉暂留现象在人的眼前呈现出连续运动的画面。模拟视频常用两种标准:NTSC制式(30帧/秒,525行/帧)PAL制式(25帧/秒,625行/帧),我国采用PAL制式。
模拟视频和数字视频640×480×3×30×60=1658880000字节分辨率帧/秒采样深度
时间29常用视频文件格式AVI(Audio-VideoInterleaved)文件将视频与音频信息交错地保存在一个文件中,较好地解决了音频与视频的同步问题,已成为Windows视频标准格式文件。MOV文件利用它可以合成视频、音频、动画、静止图像等多种素材。MPG(.mpg)文件是按照MPEG标准压缩的全屏视频的标准文件。DAT文件是VCD专用的格式文件,文件结构与MPG文件格式基本相同。
30流媒体概述流媒体一种可以使音频、视频等多媒体文件能在Internet上以实时的、无需下载等待的流式传输方式进行播放的技术应用互联网直播视频点播远程教育视频会议系统31常用流媒体文件RealMediaRA(RealAudio)用来传输接近CD音质的音频数据RM(RealVideo)在低速率的网络上实时传输活动视频影像RF(RealFlash)一种高压缩比的动画格式QuickTime是数字媒体领域事实上的工业标准,是创建3D动画、实时效果、虚拟现实、A/V和其他数字流媒体的重要基础。ASF与WMAASF是一种数据格式,音频、视频、图像以及控制命令脚本等多媒体信息通过这种格式,以网络数据包的形式传输,实现流式多媒体内容发布。WMV是微软公司推出的与MP3格式齐名的一种音频格式,是用于高清晰度映像的编解码器。329.3.4
数据压缩技术无损压缩无损压缩方法原理是统计被压缩数据中重复数据的出现次数来进行编码,能确保解压后的数据不失真。有损压缩有损压缩方法是以牺牲某些信息(这部分信息基本不影响对原始数据的理解)为代价,换取了较高的压缩比。
数据压缩的国际标准
JPEG标准适用于连续色调和多级灰度的静态图像
MPEG标准适用于运动图像、音频信息。包括MPEG视频、MPEG音频、MPEG系统(视频和音频的同步)。MPEG已制定了MPEG-1、MPEG-2、MPEG-4和MPEG-7四种。
33文件压缩和解压缩软件
349.4多媒体素材制作
9.4.1WindowsXP的数字媒体
数字媒体处理功能:
WindowsMediaPlayerWindowsMovieMakerCDBurning
个人屏保快速图片浏览等35WindowsMovieMaker制作电影的数字媒体程序制作过程参见实验教材369.5Flash动画制作Flash被广泛地用于多媒体领域,被公认为交互式矢量动画的标准。Flash格式文件的数据量小,采用流媒体技术,可以在网络上更快地播放动画,实现交互。IE5.0起的版本内置了Flash播放器插件,可以直接浏览带有Flash动画的网页。Flash动画作品案例37滚屏技术时间帧颜色填充与透明移动、变形、旋转遮罩、引导配音案例作品使用的技术389.5.1
FlashMX的界面组成FlashMX的界面由以下几个部分组成:菜单栏标准工具栏状态栏绘图工具时间轴面板工作区各类面板等399.5.2
动画类型Flash动画类型:逐帧动画 过渡动画逐帧动画由一组连续的关键帧序列组成帧是构成Flash动画的基本组成元素。Flash时间轴面板上的每一小方格代表一帧。逐帧动画涉及到:①关键帧包含有内容或对内容的改变起决定性作用的帧。②静止帧是相邻前一帧的延续。普通的静止帧显示为灰色方格,空白帧显示为白色方格。409.5.2
动画类型过渡动画由两端的关键帧和中间的过渡帧序列组成过渡动画分为位移过渡动画和变形过渡动画。过渡帧出现于过渡动画的两个关键帧之间411)对每一关键帧中的内容进行逐个的制作和编辑2)图层为制作复杂动画而引入的一种手段。将复杂动作分解到不同的图层,图层按一定的顺序重叠在一起,产生综合效果,如同将画有不同图形的玻璃板重叠在一起。3)Alpha通道Alpha通道是决定图像中每个像素透明度的通道,用不同的灰度值来表示图像的可见程度,共有256级变化。9.5.3Flash动画制作基本方法手段429.5.4
逐帧动画制作制作的基本方法是对每一帧中的内容进行逐个的制作和编辑,改变帧内元素对象位置和内容例1
制作文字滚动的动画。类似地可以实现自左向右滚动、上下滚动和往返滚动的效果。最后一帧的文字与前一帧的文字坐标保持不变,可使循环播放返回到帧1时产生延迟效果。439.5.5
过渡动画制作过渡动画制作的基本方法是通过改变关键帧的位置、形状、颜色和大小等属性来完成。也可通过几个层之间动画的叠加来实现。44过渡动画制作方法之一:变形过渡变形过渡通过改变对象外形、颜色、大小、位置、翻转、移动和组合等实现动画。例2制作由圆形变为方形的动画。在属性面板的补间下拉框中选择形状,两帧之间出现实线箭头,表示补间动画已正确地设置,若出现虚线,则设置有错误。错误原因可能是补间动画的方式错或对象类型不正确。45过渡动画制作方法之二:位移过渡位移过渡通过改变对象大小、位置、颜色、透明度等实现动画。例3制作逐渐消失的文字。设计思路:通过改变帧内元素位置、颜色和大小的方法利用颜色亮度、色调、Alpha值可产生变色效果。注意:位移过渡动画中的所有对象必须转换为符号或群组。46过渡动画制作方法之三:图层使用例4制作小球碰撞运动的动画。设计思路:每个小球在各自的图层上运动,中间一点使2个小球处于相切的位置。注意:小球与阴影构成为符号补间动画采用动作进一步应用镜面效果
制作方法47过渡动画制作方法之四:遮罩技术例5使用层的遮罩技术滚动显示彩色文字。设计思路:文字色彩使用一幅图片来填充遮罩技术可以透过遮罩层内图形区域显示被遮罩层的内容,其他区域则不透明。利用遮罩层可产生特殊效果。注意文字层(图层2)应位于图片层(图层1)的上方必须锁定遮罩层与被遮罩层改变图片的位置或改变文字的位置产生彩色变化的效果48遮罩技术进一步应用倒影效果
制作方法水波用上下变化的线条图形形成,并作为倒影的遮罩层光影效果
制作方法光影效果通过过渡渐变矩形形成过渡渐变配置可在混色器中完成,选用线性方式49过渡动画制作方法之五:引导层技术例6使用引导层使对象沿指定曲线运动。注意运动对象必须构成一个整体,通常通过创建新元件输入对象。509.5.6
添加音效在Flash中不能自己创建或是录制声音,编辑动画所使用的声音文件,需要从外部导入到Flash中。可使用的声音文件类型为.wav与.mp3。Flash规定声音必须在独立的图层内播放。在影片中加入声音的方法如下:①将声音文件导入到Flash的库中。②为声音创建一个图层,在希望开始播放声音的位置上插入一个空白关键帧。③在属性面板的声音下拉框选择要使用的声音文件的名。519.5.7
发布与输出制作完动画之后,可以把生成的动画导出为后缀名为.swf的动画播放文件,也可以把它发布为影片,生成网页浏览器支持的HTML、GIF、JPEG文件。当动画导出为影片或者是完成HTML文档的创建后,就可以上载给有MIME类型文件、能识别Flash影片的浏览器,任何带有Flash播放器(ShockwaveFlashPlayer)的浏览器都可以播放它。529.5.7
发布与输出发的过程为:①发布设置
选择“文件|发布设置”命令,指定要发布的文件格式和文件名。每种图形格式都有相应的选项,在选择了一种图形格式发布时Flash会自动嵌入该图形的HTML代码。②发布
设置完成后可直接单击发布按钮,或关闭对话框后选择“文件|发布”命令。53发布与输出在输出为GIF文件时,如果指定为静态,只输出指定的帧(默认为第1帧),在以动态GIF格式输出时,如果不作指定,Flash输出电影所有的帧;如果要输出电影中的某一段,可以把一段中的开始帧和结束帧的标签设置为First和Last。如果输出为HTML文件,在对应选项卡需要指定模板,模板文件会在输出文件内插入HTML参数。当通过导出影片命令输出为电影时,swf格式为Flash本身特有的文件格式,输出的文件量小,效果不失真。而输出为avi文件后,可在视屏编辑应用程序中进行编辑。54第十章信息系统安全与社会责任10.1计算机病毒10.2网络黑客及防范10.3数据加密与数字签名10.4防火墙技术10.5网络社会责任与计算机职业道德规范5510.1计算机病毒
10.1.1计算机病毒的定义
计算机病毒代码进入内存后才能传染和破坏病毒的破坏能力不在于病毒代码的长短,取决于病毒的再生机制。计算机病毒
破坏计算机功能或者毁坏数据,影响计算机使用,并能自我复制的一组计算机指令或者程序代码。5610.1.2
计算机病毒的分类1.按病毒攻击的操作系统来分类攻击DOS系统的病毒
攻击Windows系统的病毒
成为计算机病毒攻击的主要对象。首例破坏计算机硬件的CIH病毒攻击UNIX系统的病毒
UNIX病毒的破坏性很大攻击OS/2系统的病毒
该类病毒比较少见
57计算机病毒的分类2.按病毒攻击的机型来分类
攻击微型计算机的病毒传播最为广泛的病毒攻击小型机的计算机病毒
攻击工作站的计算机病毒3.按病毒的破坏情况分类良性计算机病毒
恶性计算机病毒
58计算机病毒的分类4.按病毒的寄生方式和传染对象来分类
引导型病毒寄生在磁盘的引导区或硬盘的主引导扇区文件型病毒寄生在文件内的计算机病毒混合型病毒同时具有引导型和文件型病毒的寄生方式宏病毒一般指寄生在文档上的宏代码5.网络病毒计算机蠕虫
特洛伊木马
5910.1.3
计算机病毒的防治1.计算机病毒的预防病毒防治的关键是做好预防工作
2.计算机病毒的检测
通过一定的技术手段判定出计算机病毒
3.计算机病毒的清除
选择一个合适的防杀毒软件应该考虑的因素:能够查杀的病毒种类越多越好对病毒具有免疫功能(即能预防未知病毒)具有实现在线检测和即时查杀病毒的能力能不断对杀毒软件进行升级服务
6010.2网络黑客及防范
10.2.1网络黑客网络黑客(Hacker)一般指的是计算机网络的非法入侵者有些黑客仅仅是为了验证自己的能力而非法闯入,并不会对信息系统或网络系统产生破坏作用,但也有很多黑客非法闯入是为了窃取机密的信息、盗用系统资源或出于报复心理而恶意毁坏某个信息系统等。6110.2.2
黑客常用的攻击方式1.黑客的攻击步骤信息收集通常利用相关的网络协议或实用程序来收集探测分析系统的安全弱点
实施攻击
2.黑客的攻击方式密码破解
IP嗅探(Sniffing)与欺骗(Spoofing)
系统漏洞
端口扫描6210.2.3
防止黑客攻击的策略
数据加密
身份验证建立完善的访问控制策略
审计
其他安全措施
对系统的数据、文件、口令和控制信息等
对用户身份的正确识别与检验设置入网访问权限、网络共享资源的访问权限、目录安全等级控制
记录系统中和安全有关的事件,保留日志文件安装具有实时检测、拦截和查找黑客攻击程序用的工具软件,做好系统的数据备份工作,及时安装系统的补丁程序
6310.3数据加密与数字签名
10.3.1数据加密技术加密技术=加密算法+密钥明文没有加密的原文密文原文经过加密加密密钥一串数字加密算法一个数学函数密文通过解密算法与解密密钥还原为明文
解密密钥加密密钥明文加密算法明文密文解密算法窃取者发送接收64对称密钥密码体系加密密钥与解密密钥使用相同的算法明文明文发送明文明文密文接收n个用户的网络,需要n(n-1)/2个密钥(密钥密码体系)65非对称密码体系(公钥密钥体系)明文明文其他人明文明文密文本人公共密钥PK私有密钥SK加密密钥与解密密钥使用不同的密钥6610.3.2
数字签名数字签名接收方能够确认发送者的身份发送方不能抵赖接收方不能伪造报文6710.3.3
数字证书版本号序列号签字算法发出该证书的认证机构有效期限主题信息,包括持有人的姓名、服务处所等信息公共密钥信息认证机构的数字签字类似物理证书的数据6810.4防火墙技术
10.4.1防火墙概述防火墙是一个分离器、一个限制器、也是一个分析器,有效地监控了内部网和Internet之间的任何活动,保证了内部网络的安全。将局域网络放置于防火墙之后可以有效阻止来自外界的攻击。6910.4.2
防火墙的主要类型
包过滤防火墙在网络层对数据包进行分析、选择和过滤。
70防火墙的主要类型
应用代理防火墙
网络内部的客户不直接与外部的服务器通信。防火墙内外计算机系统间应用层的连接由两个代理服务器之间的连接来实现。
状态检测防火墙
在网络层由一个检查引擎截获数据包并抽取出与应用层状态有关的信息,并以此作为依据决定对该数据包是接受还是拒绝
。7110.4.3
防火墙的局限性
防火墙防外不防内
防火墙很难解决内部网络人员的安全问题
防火墙难于管理和配置,容易造成安全漏洞
由于防火墙的管理和配置相当复杂,对防火墙管理人员的要求比较高,除非管理人员对系统的各个设备(如路由器、代理服务器、网关等)都有相当深刻的了解,否则在管理上有所疏忽是在所难免的。
72安全问题及相应对策对来访的流量进行过滤和限制防火墙专用网络未经授权擅自访问冒名发送数据或发送后抵赖数据被泄露或篡改
加密数据以防非法读取或篡改对称加密非对称加密对信息的发送者进行身份验证数字签名身份认证7310.5网络社会责任与计算机职业道德规范
10.5.1网络道德建设处理好以下几个关系:虚拟空间与现实空间的关系网络道德与传统道德的关系个人隐私与社会监督信息共享与信息所有
7410.5.2
软件工程师道德规范软件工程职业规范,意在教育和激励采用规范的职业群体和成员,阐述一种职业的职责及其重要性。规范并不代表立法。软件工程师道德规范主要包含8条准则,与专业软件工程师的行为和他们所作出的决定有关,也适用于本行业的从业者、教育者、管理者和该职业受训者及学生等。这些准则对参与其中的个人、群体和组织相互之间的各种关系给出了区别,并指出了在这些关系当中各自的主要义务。75第十一章程序设计基础11.1程序和程序设计语言11.2算法11.3程序设计步骤和程序设计方法11.4常用程序设计语言7611.1程序和程序设计语言
程序:计算机为完成序某一个任务所必须执行的一系列指令的集合。例1:用VB来编写的显示教龄满30年的教职工SubCommand1_Click()‘单击命令按钮,执行下列程序段
Open"d:\zg.dat"ForInputAs#1‘打开文件DoWhileNotEOF(1) ‘循环控制
Input#1,姓名,部门,教龄‘读入一个人员的三项信息If教龄>=30Then‘
若是满足大于30年教龄则
Print姓名,部门 ‘显示该人员的姓名和部门
EndIfLoop Close#1‘
全部读完,关闭文件EndSub7711.1.1程序的一般概念由此可见一个计算机程序主要描述两部分内容:
数据结构—描述问题的每个对象之间的关系算法—对问题的处理规则经典公式:程序=数据结构+算法78计算机程序的共同性质
目的性程序有明确的目的,运行时能完成赋予它的功能。分步性
程序由一系列计算机可执行的步骤组成。有序性
执行步骤是有序的,不可随意改变执行顺序。有限性
程序是有限的指令序列,所包含的步骤是有限的。操作性
有意义的程序总是对某些对象进行操作,使其改变状态,完成其功能。7911.1.2
程序设计语言概述按照程序设计语言发展的过程,大概分为三类:机器语言机器语言是由0和1二进制代码按一定规则组成的、能被机器直接理解和执行的指令集合。机器语言中的每一条语句实际上是一条二进制形式的指令代码,指令格式如下:操作码
操作数
操作码要完成的操作类型或性质操作数
操作的内容或所在的地址
80机器语言例如,计算A=15+10的机器语言程序如下:1011000000001111 :把15放入累加器A中0010110000001010 :10与累加器A的值相加,结果仍放入A中11110100 :结束,停机编程工作量大,难学、难记、难修改,只适合专业人员使用;由于不同的计算机,其指令系统不同,机器语言随机而异,通用性差,是面向机器的语言。机器语言优点:程序代码不需要翻译,所占空间少,执行速度快。现在已经没有人用机器语言直接编程了。
81汇编语言将机器指令的代码用英文助记符来表示,代替机器语言中的指令和数据。例如用ADD表示加、SUB表示减、JMP表示程序跳转等等,这种指令助记符的语言就是汇编语言。例如,计算A=15+10的汇编语言程序:MOV A,15 :把15放入累加器A中ADD A,10 :10与累加器A相加,结果存入A中HLT :结束,停机汇编语言克服了机器语言难读等缺点,保持了其编程质量高,占存储空间少,执行速度快的优点。常用于过程控制等编程。汇编语言面向机器,使用者需要专业知识。汇编语言编写的程序,必须翻译成机器语言,才能被计算机执行。
82高级语言高级语言是由表达各种意义的词和数学公式按照一定的语法规则来编写程序的语言。高级语言使程序员可以完全不用与计算机的硬件打交道,可以不必了解机器的指令系统,是面向过程的语言。这样,程序员就可以集中精力来解决问题本身而不必受机器制约,编程效率高;由于与具体机器无关,因此程序的通用性强。例如,计算A=15+10的BASIC语言程序如下:A=15+10 ‘15与10相加的结果放入A中PRINTA ‘输出AEND ‘程序结束83高级语言分类高级语言的发展分为3类:1)面向过程的语言如FORTRAN、BASIC、PASCAL、C等。面向过程的语言致力于用计算机能够理解的逻辑来描述需要解决的问题和解决问题的具体方法、步骤。编程时,程序不仅要说明做什么,还要告诉计算机如何做,程序需要详细描述解题的过程和细节。计算A=15+10的BASIC程序对应的流程图84面向问题的语言2)面向问题的语言(非过程化的语言)面向问题的语言又称为第四代语言(4GLS)。解题时,不必关心问题的求解算法和求解的过程,只须指出要计算机做什么,数据的输入和输出形式,就能得到所需结果。例如,用非过程化的语言,只要用如下的一条语句就可实现:SELECT姓名,部门,教龄FROMd:\zg.dbfWHERE教龄>=30面向问题的语言是采用快速原型法开发应用软件的强大工具,能够快速地构造应用系统,提高软件开发效率。面向过程的语言需要详细地描述“怎样做”;面向问题的语言仅需要说明“做什么”。它和与数据库的关系非常密切,能够对大型数据库进行高效处理。
85面向对象语言在20世纪80年代推出面向对象语言。它与以往各种语言的根本不同点在于:它设计的出发点就是为了能更直接地描述客观世界中存在的事物(即对象)以及它们之间的关系。面向对象语言将客观事物看作具有属性和行为的对象,通过抽象找出同一类对象的共同属性和行为,形成类。通过类的继承与多态可以很方便地实现代码重用,这大大提高了程序的复用能力和程序开发效率。面向对象语言已是程序语言的主要研究方向之一。面向对象的语言有C++、Java、VisualBasic等。
8611.1.3
语言处理程序在所有的程序设计语言中,除了用机器语言编制的程序能够被计算机直接理解和执行外,其他的程序设计语言编写的程序都必须经过一个翻译过程才能转换为计算机所能识别的机器语言程序,实现这个翻译过程的工具是语言处理程序,即翻译程序。用非机器语言写的程序称为源程序;通过翻译程序翻译后的程序称为目标程序。翻译程序也称为编译器。针对不同的程序设计语言编写出的程序,有各自的翻译程序,互相不通用。
87语言处理程序——汇编程序汇编程序是将汇编语言编制的程序(源程序)翻译成机器语言程序(目标程序)的工具。汇编语言源程序汇编程序机器语言程序汇编程序的具体翻译工作步骤:①用机器操作码代替符号化的操作符。②用数值地址代替符号名称。③将常数翻译为机器的内部表示。④
分配指令和数据的存储单元。
88语言处理程序——高级语言翻译程序1)解释方式
解释方式的翻译工作由解释程序来完成。解释程序对源程序进行逐句分析,若没有错误,将该语句翻译成一个或多个机器语言指令,然后立即执行这些指令;若解释时发现错误,会立即停止,报错并提醒用户更正代码。解释方式不生成目标程序。
数据高级语言源程序解释程序计算结果89高级语言翻译程序——编译方式翻译工作由编译程序完成。如同笔译在纸上记录翻译后的结果。编译程序对整个源程序经过编译处理,产生一个与源程序等价的目标程序;目标程序还可能要调用一些其他语言编写的程序和程序库中的标准子程序,通过连接程序将目标程序和有关的程序库组合成一个完整的可执行程序。执行速度快,修改源程序后都必须重新编译。一般高级语言(C/C++、PASCAL、FORTRAN、COBOL等)都是采用编译方式。目标程序
源程序可执行程序编译程序连接程序数据计算结果90编译方式——编译过程词法分析、语法分析、中间代码生成、优化和目标代码生成91编译方式——编译过程词法分析、语法分析、中间代码生成、优化和目标代码生成9211.1.4
程序设计语言的组成包括如下成分:数据类型、表达式和赋值、控制结构、输入/输出、函数和过程。数据类型构造数据类型(由基本数据类型按某种方式组合而成)基本数据类型(程序设计语言系统内置的。一般有:整数类型、实数类型、字符类型、逻辑类型、指针类型等93表达式和赋值表达式由变量、常量、函数调用和运算符组成。例如,已知圆半径,求其面积用VisualBasic程序设计语言描述的语句为:s=3.14*r*r其中:s、r为变量,3.14为常量,*为运算符;=为赋值号,它的语义是将右端表达式计算出的结果赋给左端的变量。变量计算的数据对象和计算结果对象在程序中用变量表示。变量在使用前必须声明其类型和名称,编译程序根据其数据类型,在内存分配相应的存储空间,以存储该变量的值。94表达式和赋值——运算符计算机不但能进行算术运算,还能进行逻辑运算。虽然不同的程序设计语言提供的运算符种类不同,表示形式也可能不同,但一般都有如下几类:①
算术运算:加、减、乘、除、乘方等。②
字符运算:连接、取子串等。③
关系运算:大于、大于等于、小于、小于等于、等于、不等于等。④逻辑运算:与、或、非等。95表达式和赋值——赋值赋值是改变变量值的基本手段,在程序设计语言中使用频率最高。不同的程序设计语言有不同的赋值号,一般用等号“=”来表示。表达式和赋值号构成了程序设计的一条赋值语句。96控制结构结构化的程序设计包括三类控制结构ABAB条件NY
A条件YN
A条件YN顺序结构选择结构循环结构97输入/输出程序的输入/输出分为两大类:以文件形式数据传送人—机交互输入、输出在不同的程序设计语言中由不同的语句或函数来实现。例如VisualBasic中文件形式的输入/输出语句有:
Input#文件号,变量列表
‘从文件中读出数据
Print#文件号,变量列表
‘
将变量中的值写到文件利用文本框、InputBox和MsgBox函数、Print方法等从键盘读入数据,从显示屏显示数据,实现人—机交互。顺序结构选择结构循环结构98过程将重复处理程序段或分解的子功能编写成一个逻辑上独立的过程,当程序需要该过程时,只需调用它。使用过程可降低程序的复杂度,简化程序编写,便于调试。一般程序设计语言中有两种过程:函数过程函数名有返回值子过程子过程名没有返回值各种语言系统还提供了已定义好的大量标准函数,如数学函数、字符串函数、类型转换函数等,放在系统的函数库中,供用户直接调用。
先定义后调用9911.2算法
11.2.1算法概述在计算机中,把解题过程的准确而完整的描述称为解该题的算法。通俗地讲,程序就是用计算机语言表述的算法;流程图就是图形化的算法。算法可以分为两大类:数值计算算法求数值解,其特点是少量的输入、输出,复杂的运算,如求高次方程的根、求函数的定积分等。非数值计算算法对数据的处理,其特点是大量的输入、输出,简单的运算,例如,对数据的排序、查找等算法。
10011.2.2
算法的表示
自然语言
用人们使用的语言描述算法
传统的流程图法用一些图框、线条以及文字说明来形象地、直观地描述算法。
N-S流程图法去掉了传统流程图中带箭头的流向线,全部算法以一个大的矩形框表示,框内还可以包含一些从属于它的小矩形框,适于结构化程序设计。ABAB条件TF当条件成立A直到条件成立AN-S图的三种基本结构101算法的表示
伪代码法是一种假的代码———不能被计算机所理解,但接近于某种语言编写的程序,便于转换成编程语言。根据编程语言的不同,有对应的类Pascal、类C等类-xxx语言。在数据结构教材中,经常用类-xxx语言来描述算法。
计算机语言计算机无法识别自然语言、流程图、伪代码。这些方法仅为了帮助人们描述、理解算法,要用计算机解题,就要将它们转换成计算机语言程序。用计算机语言描述算法,只有用计算机语言编写的程序才能被计算机执行。10211.2.3
常用算法
两个变量的值交换XY②
③
①
SubSwap(x,y)Dimtt=xx=yy=tEndSub
计数器和累加器n+1sum+xN=N+1
计数器,N为计数器变量Sum=Sum+x累加器,Sum为累加器变量103常用算法——枚举法
枚举法(穷举法或试凑法)根据条件确定答案的范围,在此范围内对所有可能的情况逐一验证。若某个情况符合条件,则为一个解;若全部情况均不符合条件,则问题无解。例假定小鸡0.5元/只,公鸡2元/只,母鸡3元/只。百元买百鸡,列出所有可能的购鸡方案。根据题意列出方程:
x+y+z=100
3x+2y+0.5z=100Print"母鸡","公鸡","小鸡"Forx=0To33Fory=0To50z=100-x-yIf3*x+2*y+0.5*z=100ThenPrintx,y,zNextyNextx104常用算法——递推法
递推法(迭代法)从初值出发,归纳出新值与旧值间直到最后值为止存在的关系,每次重复都从旧值的基础上递推出新值,并由新值代替旧值。例猴子吃桃子问题。小猴有桃若干,每天吃掉现有数的一半多一个,到第7天要吃时只剩下一个了,问小猴原有桃子多少个?设第n天的桃子为xn,它是前一天的桃子数的一半少1个递推公式xn-1=(xn+1)×2x=1'第7天的桃子Print"第7天的桃子数为:1只"Fori=6To1Step-1x=(x+1)*2Print"第";i;"天的桃子数为:";x;"只"Nexti1211-=-nnxx105常用算法——求最值
求最值在n个数中先假设第1个数为最大(小)值初值,依次同第2、3、…、n个数据逐一比较,一旦某个数大(小),马上替换;所有数比较完,最大(小)值也就获得。例对输入的若干个学生成绩,求最高分。
TotalSalary=0n=InputBox("输入学生人数")Max=InputBox("输入第1个学生的成绩") ‘
假设第一个成绩最高
Fori=2Tonmark=InputBox("输入第"&i&"个学生的成绩")Ifmark>MaxThenMax=mark‘
当前学生成绩高,替换
NextiPrintMax10611.3程序设计步骤和程序设计方法编制程序的工作称为程序设计,为了有效地进行程序设计,必须掌握两方面知识:一门程序设计语言解题的算法一个好的程序有可靠性、易读性、高效性、可维护性等良好特性。为达到这些目标,应采用好的程序设计方法,以便从方法上更有助于设计出具有上述特性的程序10711.3.1
程序设计步骤分析问题设计程序(总体设计和详细设计)程序编码以及编辑、编译和连接测试程序编写程序文档黑盒测试白盒测试找出程序中的错误10811.3.2
程序设计方法1.结构化程序设计结构化程序的结构简单清晰,可读性强,模块化强,描述方式符合人们解决复杂问题的普遍规律,在软件重用性、软件维护等方面有所进步,可以显著提高软件开发的效率。程序设计模式:“数据结构+算法”
①
在软件设计和实现过程中,采用自顶向下、逐步细化的模块化程序设计原则。
②
在代码编写时,采用顺序、选择、循环三种基本控制结构,避免使用GOTO语句。109程序设计方法2.面向对象程序设计将问题分解为对象,对象的数据——属性,作用于数据的操作——方法,将属性和方法封装成一个整体,供程序设计者使用。对象之间的相互作用通过消息传递来实现。程序设计模式:“对象+消息”面向对象的分解突出:做什么?大量的工作由相应的对象来完成,程序员在应用程序中只需说明要求对象完成的任务。
结构化程序设计的分解突出:如何做?强调代码的功能是如何得以完成。面向对象的程序设计语言有:
C++、Java、VisualBasic等
11011.4常用程序设计语言——FORTRANFORTRAN语言世界上最早出现的高级程序设计语言,用于科学计算。从1954年推出的FORTRANⅠ起,版本不断更新,功能不断增强,结构化程度提高,使古老的语言保持旺盛的生命力,最
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 木材运输时间保障合同
- 三农产品包装与储存方案设计
- 生产流程标准化与持续改进实践
- 食品饮料行业品质控制与安全保障指南
- 驾校场地出租合同
- 场调查委托合同协议书
- 冷却塔填料采购合同
- 全新搅拌桩合同
- 2025年河南货运从业资格考试模拟考试题库答案大全
- 小学二年级数学上册口算笔算天天练
- 浙江省宁波市余姚市2023-2024学年五年级上学期期末英语试题及答案含听力原文
- 2023年江苏省苏州市中考物理试卷及答案
- 大学计算机基础(第6版)(微课版)课件 第1章认识计算机
- 压疮课件教学课件
- 精神分裂症合并糖尿病患者护理查房课件
- 河南省南阳市2023-2024学年八年级上学期期末考试数学试题
- GB/T 44230-2024政务信息系统基本要求
- 销售调味品工作总结5篇
- 2024年江苏省劳动合同条例
- 成人鼻肠管的留置与维护
- 《中电联团体标准-220kV变电站并联直流电源系统技术规范》
评论
0/150
提交评论