




已阅读5页,还剩41页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
大学计算机基础,1,大学计算机基础,计算机与通信学院,大学计算机基础,2,历史回顾: 计算机安全 数据加密 数据加密技术 数字签名 数字证书 公钥基础设施 防火墙技术 防火墙概述 防火墙的主要类型 防火墙的局限性 计算机病毒,大学计算机基础,3,第九章 程序设计基础,主要问题: 如何进一步学习计算机? 如何让计算机实现自己想要做的工作?,大学计算机基础,4,第九章 程序设计基础,主要内容: 一、程序和程序设计语言 二、算法 三、软件工程 四、程序设计 五、常用程序设计语言,大学计算机基础,5,一、程序和程序设计语言,Evolution of computer languages,大学计算机基础,6,一、程序和程序设计语言 Evolution of computer languages,Program in machine language,00000000 00000100 0000000000000000 01011110 00001100 11000010 0000000000000010 11101111 00010110 0000000000000101 11101111 10011110 0000000000001011 11111000 10101101 11011111 0000000000010010 01100010 11011111 0000000000010101 11101111 00000010 11111011 0000000000010111 11110100 10101101 11011111 0000000000011110 00000011 10100010 11011111 0000000000100001 11101111 00000010 11111011 0000000000100100 01111110 11110100 10101101 11111000 10101110 11000101 0000000000101011 00000110 10100010 11111011 0000000000110001 11101111 00000010 11111011 0000000000110100 00000100 0000000000111101 00000100 0000000000111101,1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16,大学计算机基础,7,一、程序和程序设计语言 Evolution of computer languages,Program in symbolic language,Entry main, m subl2 #12,sp jsb C$MAIN_ARGS movab $CHAR_STRING_CON pushal -8(fp) pushal (r2) pushal -12(fp) pushal 3(r2) mull3 -8(fp),-12(fp),- pushal 6(r2) calls #2,print clrl r0 ret,1 2 3 4 5 6 7 8 9 10 11 12 13,大学计算机基础,8,一、程序和程序设计语言 Evolution of computer languages,Program in C language,#include int main (void) /*Local Declarations */ int number1, number2; int result; / Statements scanf(“%d,%d”, ,大学计算机基础,9,一、程序和程序设计语言,Building a program Executable file (machine language):可执行文件 (1)writing and editing the program:编写和编辑程序 (2)compiling the program:编译程序 (3)Linking the program with the required library modules:用所需的库模块链接程序 Source file:源文件 preprocessor:预处理程序 Translator:翻译程序 Object module:目标模块 Linker:链接器,大学计算机基础,10,一、程序和程序设计语言 Building a program,大学计算机基础,11,一、程序和程序设计语言 Building a program,大学计算机基础,12,一、程序和程序设计语言,Program execution,大学计算机基础,13,一、程序和程序设计语言,Categories of languages:语言的分类。 procedural:过程化语言 Object-Oriented :面向对象的语言 Functional :函数型语言 Declarative:说明型语言 Special:专用语言,大学计算机基础,14,一、程序和程序设计语言 Categories of languages,Procedural (imperative)languages Fortran、Cobol、Pascal、C、Ada Object-Oriented C+、Java Encapsulation:封装 Inheritance:继承 Polymorphism:多态,大学计算机基础,15,一、程序和程序设计语言 Categories of languages,Function in a functional language,大学计算机基础,16,一、程序和程序设计语言 Categories of languages,说明性语言(declarative language )依据逻辑推理的原则回答查询。 First-order predicate calculus:一阶谓词演算 Special:专用语言 HTML(Hypertext markup language):由格式标记(formatting hints)+超链接(links)组成的伪语言。,大学计算机基础,17,二、算法(Algorithm),Concept(概念) Algorithm:算法,是一种逐步解决问题或完成任务的方法。每个算法都有自己不同于其他算法的名字。 Informal definition:非正式定义 Input data :输入数据 output data :输出数据 Findlargest:取最大值。(一种算法的名字) Refinement:精化 Generalization:普遍化(泛化),大学计算机基础,18,二、算法(Algorithm) Concept,Informal definition of an algorithm used in a computer,大学计算机基础,19,二、算法(Algorithm) Concept,Finding the largest integer among five integers,大学计算机基础,20,二、算法(Algorithm) Concept,Defining actions in FindLargest algorithm,大学计算机基础,21,二、算法(Algorithm) Concept,FindLargest refined,大学计算机基础,22,二、算法(Algorithm) Concept,Generalization of FindLargest,大学计算机基础,23,二、算法(Algorithm),Three Constructs:三种结构 Sequence:顺序 Decision(selection):判断(选择) repetition:循环,大学计算机基础,24,二、算法(Algorithm) Three Constructs,大学计算机基础,25,二、算法(Algorithm),算法的五个特征 有穷性 确定性 输入 输出 可执行性,大学计算机基础,26,二、算法(Algorithm),Algorithm representation flowchart:流程图。使用大图的形式掩盖了算法的所有细节,只显示算法从开始到结束的整个流程。 pseudocode:伪代码。类似英语的表示法。,大学计算机基础,27,二、算法(Algorithm) Algorithm representation,Flowcharts for three constructs,大学计算机基础,28,二、算法(Algorithm) Algorithm representation,Pseudocode for three constructs,大学计算机基础,29,二、算法(Algorithm),Subalgorithm subalgorithm:子算法。 subprogram:子程序 subroutine:子例程 procedure:过程 function:函数 method:方法 module:模块,大学计算机基础,30,二、算法(Algorithm) Subalgorithm,Concept of a subalgorithm,大学计算机基础,31,二、算法(Algorithm),Basic algorithm summation:求和 product:乘积 Smallest and largest:最大和最小 sorting:排序 Selection sort:选择排序 Bubble sort:冒泡排序 Insertion sort:插入排序 Searching:查找 Sequential search:顺序查找 binary search:折半查找,大学计算机基础,32,二、算法(Algorithm),Recursion Iterative:迭代 Recursion:递归。算法自我调用。 Factorial :阶乘,大学计算机基础,33,二、算法(Algorithm) Recursion,Iterative definition of factorial,大学计算机基础,34,二、算法(Algorithm) Recursion,Recursive definition of factorial,大学计算机基础,35,二、算法(Algorithm) Recursion,Tracing recursive solution to factorial problem,大学计算机基础,36,三、软件工程(Software engineering),Software life cycle:软件生命周期,过时,大学计算机基础,37,三、软件工程(Software engineering),System development phases,分析阶段 设计阶段 实现阶段 测试阶段,大学计算机基础,38,三、软件工程(Software engineering),Development process models Waterfall model,大学计算机基础,39,三、软件工程(Software engineering) Development process models,Incremental model,大学计算机基础,40,三、软件工程(Software engineering),Quality factors,大学计算机基础,41,三、软件工程(Software engineering),Quality circle,大学计算机基础,42,、总结,计算机能理解的唯一语言是机器语言(machine language)。 符号语言使用符号来表示各种机器语言指令,符号语言也称为汇编语言。 高级语言可以使程序员避免考虑硬件。 构建程序的步骤包括编写、编辑、编译和链接代码。 有5种计算机语言:过程化语言、面向对象的语言、函数型语言、说明性语言、专用语言。,大学计算机基础,43,、总结,非正式地讲,算法(Algorithm)是一步一步解决问题或完成任务的方法。 算法接受一个输入数据的列表,生成一个输出数据的列表。 程序由顺序(sequence)、判断(decision)和循环(repetition)结构构成。 流程图(flowchart)是算法图形化的表示。 伪代码(pseudocode)是算法类似英语的表示。,大学计算机基础,44,、总结,算法正式定义为一组步骤明确的有序集合,它产生结果并在有限的时间内终止。 算法可分解为称为子算
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 护士法规考试题及答案
- 起重机械作业人员考试题库及答案
- 法考试题库及答案
- 钢结构试题及答案
- 重庆中考物理试题及答案
- 学校管理试题及答案
- 汉川保安考试题及答案
- 油漆工考试试题及答案
- 品酒雅集活动方案
- 团购活动策划方案方案
- 2025年广东省广州市南沙区中考二模道德与法治试题
- 2025届重庆市普通高中学业水平选择性考试预测历史试题(含答案)
- 2025-2030中国眼底照相机行业市场发展趋势与前景展望战略研究报告
- 2024年深圳市大鹏新区区属公办中小学招聘教师真题
- 缅甸语教学与学习作业指导书
- 人教版小学语文四年级下册作文范文2
- 大学语文试题及答案琴
- 红十字会资产管理制度
- T/CSPSTC 112-2023氢气管道工程施工技术规范
- 医院感染暴发报告流程及处置预案
- 24春国家开放大学《农业推广》调查报告参考答案
评论
0/150
提交评论