从0开始C语言-第一章(2)

218 阅读2分钟

「这是我参与2022首次更文挑战的第5天,活动详情查看:2022首次更文挑战

写在前面

继第上一节,说了一下计算机发展,语言以及算法的概念,今天来分享一下算法及其描述方法 、程序和程序的设计方法

算法及其描述方法

什么是算法?
其实定义的话就是:解决问题的步骤序列就是算法
算法有五种特性:

  1. 可执行性
  2. 确定性
  3. 有穷性
  4. 有输入信息的说明
  5. 有输出信息的步骤
    那么,算法的描述方法有哪些呢:
    | 算法的描述方法 | | | --- | --- | | 自然语言 | 类似于文字描述| | 传统流程图 | 类似于高中数学的那种流程图 | | N-S流程图 | 方块儿里的流程图| | 伪代码 | 基本上算是用英文描述的流程图| | 计算机语言 | 只有用计算机语言编写的程序才能被计算机执行(当然还要编译为目标程序)|

其中,传统流程图以及N-S流程图还有三种结构

  1. 顺序结构
  2. 选择结构
  3. 循环结构
程序和程序的设计方法

首先,什么是计算机程序?
答:- 计算机程序:根据算法描述,用计算机语言表示的能被计算机识别和执行的指令集和。 

程序它分为:数据结构+算法+程序设计方法+程序设计语言和开发环境
程序设计方法氛围两种:

  1. 结构化程序设计方法(面向过程)
  2. 面向对象程序设计
    首先,面向过程的设计方法,他的要点就是:
    1.自顶向下,逐步求精,类似于先做一个大致的东西,然后再做细节,先易后难,先抽象,后具体
    2.程序有是由三个基本结构构成:顺序、选择、循环
    他的有点是:相互独立模块,且是做一个大致的东西,然后再做细节
    但是缺点也很明显:用户的要求难以在需求分析阶段被确认,导致交付产生问题.
    开发周期长,如果需求变化,之前的工作需要推倒重来

面向对象程序设计呢,用的是数据抽象和信息隐藏技术使组成的数据和操作是不可分割的 .
且是由类、对象(类的实例)和对象之间的动态联系组成的
同时,也是自顶向下、逐步求精的设计原则