目录

一、计算机发展

二、计算机语言

三、算法及其描述方法

(一)算法

(二)算法描述方法

1、自然语言

2、传统流程图

3、N-S流程图

四、程序和程序设计方法

(一)程序

(二)程序设计方法



一、计算机发展

电子计算机经历的四个发展时代:

  • 第一代:20世纪50年代,主要采用真空电子管制造计算机。
  • 第二代:20世纪50年代末期,出现了以晶体管为主要元件的第二代计算机。
  • 第三代:1964年,IBM公司推出IBM360系列计算机并垄断了60%~70%的国际市场,它的出现标志着计算机进入第三代。
  • 第四代:随着大规模集成电路和微处理器的出现,计算机进入第四代。

世界上第一台现代意义上的计算机于1946年在美国问世,其名称是ENIAC电子数字积分计算机,它的主要原件是电子管

在ENIAC问世的同时,冯·诺伊提出了存储程序的概念。



二、计算机语言

 

 



三、算法及其描述方法 

(一)算法

解决问题的步骤序列就是:算法
算法必须具备的五个特征:
  1. 可执行性
  2. 确定性
  3. 有穷性
  4. 有输信息的说明
  5. 有输出信息的步骤

(二)算法描述方法

1、自然语言

  • 用自然语言描述算法通俗易懂,但文字冗长,容易出现“歧义”。
  • 自然语言就是人们日常使用的语言,可以是汉语或英语或其它语言。
  • 自然语言表示的含义往往不大严格,要根据上下文才能判断其正确含义,描述包含分支和循环的算法时也不很方便。
  • 因此,除了那些很简单的问题外,一般不用自然语言描述算法。

2、传统流程图

  • 流程图是用一些图形表示各种操作。
  • 用图形描述算法形象直观、易于理解。

3、N-S流程图

三种基本结构:

  • 顺序结构
  • 选择结构:二分支选择结构、多分支选择结构
  • 循环结构:当型循环结构、直到型循环结构

(1)顺序结构

 


(2)选择结构


(3)循环结构


(4)伪代码

 伪代码是用介于自然语言和计算机语言之间的文字和符号描述算法


(5)计算机语言

计算机是无法识别流程图和伪代码的。只有用计算机语言编写的程序才能被计算机执行(当然还要编译为目标程序才能被计算机识别和执行)。



四、程序和程序设计方法

(一)程序

计算机程序(简称程序)是指根据算法描述,用计算机语言表示的能被计算机识别和执行的指令集合

程序 数据结构 算法

数据结构 算法 程序设计方法 程序设计语言和开发环境 程序

  


(二)程序设计方法

程序设计方法:

  1. 结构化程序设计方法面向过程程序设计方法
  2. 面向对象程序设计方法

结构化程序设计方法(面向过程):

  • 采用激光自顶向下逐步求精的设计方法
  • 程序由三种基本结构构成

结构化程序设计方法的优点:

  • 采用自顶向下,逐步求精的方法使得整个设计方案层次分明,程序员容易编码实现,读者容易阅读理解。
  • 对于复杂的程序,可以“先易后难,先抽象后具”,使得程序设计工作整体思路清楚,目标明确,程序员能够有条不絮地推进。
  • 程序由相互独立的模块构成,因此在设计某个模块时,不会受到其他模块的牵连,因而可将较为复杂的问题化简为一系列简单模块的设计。
  • 模块的独立性还为扩充已有的系统、建立新系统带来方便。

 结构化程序设计方法的缺点:

  • 用户的要求难以在需求分析阶段被准确确定这样有可能导致在程序交付使用时产生问题
  • 开发周期较长并且这一过程中若用户需求发生变化之前的工作需要推到重来

面向对象程序设计与传统的结构化程序设计相比,面向对象程序设计吸取了结构化程序设计的一切优点(自顶向下、逐步求精的设计原则),而二者之间的最大差别表现在:

  • 面向对象方法采用数据抽象和信息隐藏技术使组成类的数据和操作是不可分割的,避免了结构化程序由于数据和过程分离引起的弊病。
  • 面向对象的程序是由类、对象(类的实例)和对象之间的动态联系组成的。
  • 而结构化程序是由结构化的数据、过程的定义以及调用过程处理相应的数据组成的。
Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐