版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、n为了能够使计算机理解人的意图,就必须解决人类和计算为了能够使计算机理解人的意图,就必须解决人类和计算机相互交流的问题,将人解决问题的思路、方法、和手段机相互交流的问题,将人解决问题的思路、方法、和手段通过某种计算机能够理解的形式告诉计算机,使得计算机通过某种计算机能够理解的形式告诉计算机,使得计算机能够根据人的指令去一步一步的工作进而完成某种特定的能够根据人的指令去一步一步的工作进而完成某种特定的任务。这种人和计算机之间交流的语言就称为任务。这种人和计算机之间交流的语言就称为计算机程序计算机程序设计语言设计语言。 n机器语言机器语言在计算机系统中,在计算机系统中,一条机器指令规定了计算机系统
2、的一个一条机器指令规定了计算机系统的一个特定动作特定动作。一个系列的计算机在硬件设计制造时就用若干。一个系列的计算机在硬件设计制造时就用若干指令规定了该系列计算机能够进行的基本操作,这些指令指令规定了该系列计算机能够进行的基本操作,这些指令一起构成了该系列计算机的指令系统。在计算机应用的初一起构成了该系列计算机的指令系统。在计算机应用的初期,程序员使用机器的指令系统来编写计算机应用程序,期,程序员使用机器的指令系统来编写计算机应用程序,这种程序称为这种程序称为机器语言程序机器语言程序。n汇编语言汇编语言 用用助记符号助记符号来表示计算机指令的语言称为来表示计算机指令的语言称为符号语言符号语言,
3、亦称,亦称为为汇编语言汇编语言。用汇编语言编写的程序称为源程序,计算机。用汇编语言编写的程序称为源程序,计算机不能直接识别和处理源程序,必须通过某种方法将它不能直接识别和处理源程序,必须通过某种方法将它翻译翻译成成为计算机能够理解并执行的为计算机能够理解并执行的机器语言机器语言,执行这个翻译工,执行这个翻译工作的程序称为汇编程序。作的程序称为汇编程序。 n高级语言高级语言计算机程序设计高级语言是一类计算机程序设计高级语言是一类接近于人类自然语言和数接近于人类自然语言和数学语言的程序设计语言学语言的程序设计语言的统称。高级语言按照一定的语法的统称。高级语言按照一定的语法规则,由表达各种意义的运算
4、对象和运算方法构成。用高规则,由表达各种意义的运算对象和运算方法构成。用高级语言编写的程序称为源程序,计算机系统不能直接理解级语言编写的程序称为源程序,计算机系统不能直接理解和执行,必须通过一个语言处理系统将用高级语言编写的和执行,必须通过一个语言处理系统将用高级语言编写的源程序转换为计算机系统能够认识、理解的目标程序才能源程序转换为计算机系统能够认识、理解的目标程序才能为计算机系统执行。为计算机系统执行。面向过程语言面向过程语言 面向对象语言面向对象语言 n解释方式解释方式解释方式下,计算机对高级语言书写的源程序一边解释一解释方式下,计算机对高级语言书写的源程序一边解释一边执行,不形成目标文
5、件和执行文件。边执行,不形成目标文件和执行文件。 n编译方式编译方式(见图见图p2)编译方式下,首先通过一个对应于所用程序设计语言的编编译方式下,首先通过一个对应于所用程序设计语言的编译程序对源程序进行处理,经过对源程序的词法分析、语译程序对源程序进行处理,经过对源程序的词法分析、语法分析、语意分析、代码生成和代码优化等阶段将所处理法分析、语意分析、代码生成和代码优化等阶段将所处理的源程序转换为用二进制代码表示的目标程序。然后通过的源程序转换为用二进制代码表示的目标程序。然后通过连接程序处理将程序中所用的函数调用、系统功能调用等连接程序处理将程序中所用的函数调用、系统功能调用等嵌入到目标程序中
6、,构成一个可以连续执行的二进制执行嵌入到目标程序中,构成一个可以连续执行的二进制执行文件。调用这个执行文件就可以实现程序员在对应源程序文件。调用这个执行文件就可以实现程序员在对应源程序文件中所指定的相应功能。文件中所指定的相应功能。 编辑器编译器连接器计算机程序在编辑器中生计算机程序在编辑器中生成源程序文件并存盘成源程序文件并存盘计算机程序通过编译器处计算机程序通过编译器处理后生成理后生成二进制代码表示二进制代码表示的的目标程序文件目标程序文件并存盘并存盘连接器将目标程序与库连连接器将目标程序与库连接生成执行文件并存盘接生成执行文件并存盘装入器磁盘磁盘磁盘内存计算机系统装入器将执行计算机系统装
7、入器将执行文件从存盘装入内存准备文件从存盘装入内存准备执行执行n数据的名称数据的名称在程序中被处理的数据需要有一个名字来表示。在程序中被处理的数据需要有一个名字来表示。n数据的特征数据的特征 数据可以表示值的类型和取值的范围。数据可以表示值的类型和取值的范围。n数据的特征值数据的特征值 在数据用于参加某种运算或者用于某种判断之前还必须知在数据用于参加某种运算或者用于某种判断之前还必须知道它所具有的内容,即数据的特征值。道它所具有的内容,即数据的特征值。 程序中所用到的数据在程序的运行过程中都占据一个或一段程序中所用到的数据在程序的运行过程中都占据一个或一段特定的存储单元,这些存储单元在存储器中
8、都有一个起始位特定的存储单元,这些存储单元在存储器中都有一个起始位置,这个起始位置称之为数据在内存中的存储地址。置,这个起始位置称之为数据在内存中的存储地址。定义或定义或者声明变量的作用之一就是为了能够建立用变量名字所表示者声明变量的作用之一就是为了能够建立用变量名字所表示的数据与具体内存地址之间的对应关系。的数据与具体内存地址之间的对应关系。n常量常量 在程序的运行过程中,其值不允许发生改变的数在程序的运行过程中,其值不允许发生改变的数据称为常量,在各种计算机程序设计语言中都有相应的常据称为常量,在各种计算机程序设计语言中都有相应的常量表示方法。量表示方法。 n变量变量 在程序的运行过程中,
9、值有可能(允许)发生变在程序的运行过程中,值有可能(允许)发生变化的数据称为变量。一般地,变量是指在程序中程序员用化的数据称为变量。一般地,变量是指在程序中程序员用符号来显式命名的数据对象。符号来显式命名的数据对象。 n算法的基本概念算法的基本概念算法是用计算机解决实际问题的方法和步骤,是一组明确算法是用计算机解决实际问题的方法和步骤,是一组明确的可执行步骤的有序集合。的可执行步骤的有序集合。 n算法的基本特征算法的基本特征 n有穷性。一个算法必须能够在算法所涉及的每一种情有穷性。一个算法必须能够在算法所涉及的每一种情况下,都能在执行有穷步操作之后结束。况下,都能在执行有穷步操作之后结束。算法
10、的有穷算法的有穷性特征是算法和计算方法之间最明显的区别。性特征是算法和计算方法之间最明显的区别。 n非算法的示例非算法的示例.!9!7!5!3sin9753xxxxxx算法:数值累加算法:数值累加第第1 1步算法开始步算法开始第第2 2步步0- n0- n(即设置(即设置n n为为0 0););第第3 3步步n+1-nn+1-n(将(将n n值加值加1 1););第第4 4步步 转回第转回第3 3步步第第5 5步算法结束步算法结束n算法的基本特征算法的基本特征n确定性。算法的确定性。算法的每一步操作每一步操作,其顺序和内容都必须精,其顺序和内容都必须精确地确地惟一确定惟一确定,不能有任何的歧义
11、性。防止歧义性是,不能有任何的歧义性。防止歧义性是程序设计中必须遵循的基本准则之一,无论使用何种程序设计中必须遵循的基本准则之一,无论使用何种符号、何种数据、何种操作都必须保证其惟一确定的符号、何种数据、何种操作都必须保证其惟一确定的精确意义。精确意义。 n可执行性。算法所描述的每一步操作都必须是可行的,可执行性。算法所描述的每一步操作都必须是可行的,即必须是可以付诸实施并能够具体实现的基本操作。即必须是可以付诸实施并能够具体实现的基本操作。 n* * * *0 0个或多个输入数据个或多个输入数据。n* * * *1 1个或多个输出数据个或多个输出数据。n顺序结构顺序结构 顺序结构是一种简单而
12、基础的算顺序结构是一种简单而基础的算法基本结构,其主要特点是:各法基本结构,其主要特点是:各个操作按其出现的个操作按其出现的先后次序依次先后次序依次顺序执行一遍顺序执行一遍。 n选择(分支)结构选择(分支)结构 选择结构是算法在描述选择结构是算法在描述稍复杂问题时所必不可稍复杂问题时所必不可少的基本结构,其主要少的基本结构,其主要特点是:根据给定条件特点是:根据给定条件的成立与否来选择执行的成立与否来选择执行不同的操作。不同的操作。 n循环结构循环结构 在算法中若要描述某些操作反在算法中若要描述某些操作反复执行的概念,就要使用循环复执行的概念,就要使用循环结构。循环结构的结构。循环结构的特点是
13、:根特点是:根据所给定的条件来判断是否需据所给定的条件来判断是否需要重复地执行一组操作要重复地执行一组操作,当所,当所给条件为真时执行,否则退出。给条件为真时执行,否则退出。 n人类的自然语言人类的自然语言 n程序流程图程序流程图流程图又称为程序框图,使用一些图形符号来表示算法流程图又称为程序框图,使用一些图形符号来表示算法中的各个执行或判断过程,使用流程线(有向线段)来中的各个执行或判断过程,使用流程线(有向线段)来表示算法执行中每一个步骤在执行上的时间顺序。流程表示算法执行中每一个步骤在执行上的时间顺序。流程图可以非常清楚地描述整个算法执行的过程,但由于流图可以非常清楚地描述整个算法执行的
14、过程,但由于流程线画法十分灵活自由,使用不当会造成算法清晰性差程线画法十分灵活自由,使用不当会造成算法清晰性差以及理解上的困惑。以及理解上的困惑。nN-SN-S图图N-SN-S图图是一种结构化程序设计图,与程序流程图的主要区是一种结构化程序设计图,与程序流程图的主要区别在于去掉了程序流程图中的流程线,从而解决了使用别在于去掉了程序流程图中的流程线,从而解决了使用程序流程图容易设计出非结构化算法的问题,程序流程图容易设计出非结构化算法的问题,强制算法强制算法设计者使用结构化程序设计思想设计者使用结构化程序设计思想。n伪语言伪语言 在伪语言中,一般在伪语言中,一般用某种计算机程序设计语言的控制结构
15、用某种计算机程序设计语言的控制结构来描述算法中的控制含义,用近似自然语言的方式来描述来描述算法中的控制含义,用近似自然语言的方式来描述算法中的操作。算法中的操作。n用伪语言描述的算法的基本结构用伪语言描述的算法的基本结构 n顺序结构顺序结构处理处理S1S1处理处理S2 S2 n选择结构选择结构IfIf(条件)(条件)thenthen 处理序列处理序列1 1ElseElse 处理序列处理序列2 2n用伪语言描述的算法的基本结构用伪语言描述的算法的基本结构n多分支选择结构多分支选择结构 SwitchSwitch(条件)(条件) 情况情况1 1:处理:处理S1S1 情况:处理情况:处理 情况情况n
16、n:处理:处理n nn用伪语言描述的算法的基本结构用伪语言描述的算法的基本结构n当型循环结构当型循环结构WhileWhile(条件)(条件) 处理序列(循环体)处理序列(循环体)n直到型循环结构直到型循环结构DoDo 处理序列(循环体)处理序列(循环体)WhileWhile(条件)(条件)n根据圆锥体的底面半径根据圆锥体的底面半径r r和高和高h h求其体积。求其体积。问题分析:对于简单几何体的体积,根据其基本参数按照问题分析:对于简单几何体的体积,根据其基本参数按照几何体的体积计算公式计算即可,此问题是一个简单的顺几何体的体积计算公式计算即可,此问题是一个简单的顺序结构问题。序结构问题。算法
17、:SF-01算法开始输入半径r和高h圆锥体积3.14*r*r*h/3输出圆锥体积算法结束n输入任意的两个实数输入任意的两个实数a a和和b b,两数同号时求它们的几何平均,两数同号时求它们的几何平均数,两数异号时求它们的算术平均数。数,两数异号时求它们的算术平均数。问题分析:只需要对两个实数的值是否异号进行判断处理问题分析:只需要对两个实数的值是否异号进行判断处理即可,两实数即可,两实数a a和和b b是否异号可用是否异号可用a a* *b0b0来表示。来表示。算法:SF-02算法开始输入两个实数a和bIf(a*bzyz则则y y是中间数;若是中间数;若yzyz则比较则比较z z和和x x即可
18、即可找出中间数。找出中间数。算法:SF-04算法开始输入x、y、z三个实数If(xz)then 输出中间数值yElse If(xz)then 输出中间数z Else输出中间数x算法结束n设计算法实现查询星期的英文表示法功能。设计算法实现查询星期的英文表示法功能。问题分析:若用一个整数(取值在问题分析:若用一个整数(取值在1 17 7之间)来对应英文之间)来对应英文的星期的星期1 1到星期日,使用多分支选择结构即可实现查找。到星期日,使用多分支选择结构即可实现查找。算法:SF-05算法开始输入欲查找的周日数wSwitch (w) w=1: 输出”Monday” w=2: 输出”Tuesday” w=3: 输出”Wednesday” w=4: 输出”Thursday” w=5: 输出”Friday” w=6: 输出”Saturday” w=7: 输出”Sunday”算法结束n给定自然数给定自然数n n,求,求n!n!。问题分析:由数学知识可知,求一个数的阶乘就
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024-2025学年度烟草职业技能鉴定试卷附参考答案详解【预热题】
- 2024-2025学年度鄂尔多斯生态环境职业学院单招数学试题预测试卷完整参考答案详解
- 2024-2025学年全国统考教师资格考试《教育教学知识与能力(小学)》考前冲刺测试卷及参考答案详解【能力提升】
- 2024-2025学年度文化教育职业技能鉴定经典例题【B卷】附答案详解
- 2024-2025学年度唐山职业技术学院单招《数学》测试卷及完整答案详解【历年真题】
- 2024-2025学年度计算机四级试题预测试卷(含答案详解)
- 2024-2025学年度电工检测卷及参考答案详解(预热题)
- 2024-2025学年度临床执业医师真题及答案详解【各地真题】
- 2024-2025学年度环卫垃圾处理工高频难、易错点题附答案详解【A卷】
- 2024-2025学年度环保局考试试卷带答案详解(巩固)
- 冶金安全生产责任制度
- 地下水污染健康风险评估工作指南(试行)
- 扁平化指挥调度系统解决方案
- 第16课+模块功能先划分+课件++2025-2026学年人教版初中信息科技八年级全一册
- 商品混凝土培训课件
- 儿科护理特点与注意事项
- 2026年盐城工业职业技术学院单招职业技能考试题库及参考答案详解一套
- 2025至2030中国聚焦离子束系统行业运营态势与投资前景调查研究报告
- 2025年河南法院书记员招聘考试真题及答案
- 租赁修井设备合同范本
- 哈罗德多马增长模型课件
评论
0/150
提交评论