2019_12_18 Summary(revised)

混江龙づ霸主 提交于 2019-12-19 01:31:03

编程模式

计算机语言解决问题的模式

  • 过程式编程模式
  • 面向过程编程模式
  • 函数式编程模式
  • 说明式编程模式

高级编程语言介绍

高级语言(High-level programming language)相对于机器语言(machine language)是一种指令集的体系。在这种语言下,其语法和结构更类似汉字或者普通英文,且由于远离对硬件的直接操作,使得一般人更容易学习。高级语言通常按其基本类型、代系、实现方式、应用范围等分类。

高级语言有一下几种分类:

  1. BASIC语言
  2. PASCAL语言
  3. C语言
  4. C++语言
  5. Java语言
  6. Ada语言
  7. Logo语言
  8. 脚本语言

并行程序设计

并行程序设计语言

语言名称 注释
Concurrent Pascal Pascal语言的拓展
Ada 全新的编程语言
Modula-P Modula2语言的拓展
CC^* C语言针对SIMD系统的扩展
Concurrent C C语言扩展
Fortran D Fortran语言针对数据并行化语言的拓展

并行程序设计语言的编译过程

在这里插入图片描述

计算机中的数据

数据

数据的定义

数据就是用文字, 数字, 图形, 图像, 声音等方式对人, 事件, 事物等进行的描述.在计算机科学中, 数据是指所有能输入计算机并能被计算机程序处理的符号的总称, 数字, 文本, 音频, 图形, 图像和视频等统称为数据.

在这里插入图片描述

数据和信息的区别

对于数据和信息的判断要根据当时的上下文或情境来进行. 通常来说, 输入计算机的字母, 数字等符号为数据. 如果字母, 数字等符号具有一定意义且能帮助人们完成某个动作或做出决策, 那么就称它们为信息. 需要说明的是, 数据是供计算机处理的, 信息是供用户使用的.

计算机常用的编码方式

  1. ASCII
  2. 拓展ASCII
  3. Unicode
  4. UTF-8
  5. GB-2312
  6. 音频编码
  7. 图像编码

数据结构

数据结构的定义

数据结构(data structure)是带有结构特性的数据元素的集合,它研究的是数据的逻辑结构和数据的物理结构以及它们之间的相互关系,并对这种结构定义相适应的运算,设计出相应的算法,并确保经过这些运算以后所得到的新结构仍保持原来的结构类型。简而言之,数据结构是相互之间存在一种或多种特定关系的数据元素的集合,即带“结构”的数据元素的集合。“结构”就是指数据元素之间存在的关系,分为逻辑结构和存储结构。
数据的逻辑结构和物理结构是数据结构的两个密切相关的方面,同一逻辑结构可以对应不同的存储结构。算法的设计取决于数据的逻辑结构,而算法的实现依赖于指定的存储结构。
数据结构的研究内容是构造复杂软件系统的基础,它的核心技术是分解与抽象。通过分解可以划分出数据的3个层次;再通过抽象,舍弃数据元素的具体内容,就得到逻辑结构。类似地,通过分解将处理要求划分成各种功能,再通过抽象舍弃实现细节,就得到运算的定义。上述两个方面的结合可以将问题变换为数据结构。这是一个从具体(即具体问题)到抽象(即数据结构)的过程。然后,通过增加对实现细节的考虑进一步得到存储结构和实现运算,从而完成设计任务。这是一个从抽象(即数据结构)到具体(即具体实现)的过程。
在这里插入图片描述

数据的逻辑结构

  1. 集合
  2. 线性结构
  3. 树形结构
  4. 图状结构

数据的物理结构

  1. 顺序储存
  2. 链式储存
  3. 索引储存

常见的数据结构

  1. 线性表
  2. 队列

算法

算法的定义

算法是指由基本的运算及规定的运算顺序所构成的完整的解题步骤. 给定初始状态或输入数据, 通过这些解题步骤能够得出所要求的终止状态或输出数据

计算机领域中, 算法具有一下特性:

  1. 输入
  2. 输出
  3. 有穷性
  4. 确定性
  5. 可行性

数据库

数据库的定义及特点

定义:数据库是存放数据的仓库。它的存储空间很大,可以存放百万条、千万条、上亿条数据。但是数据库并不是随意地将数据进行存放,是有一定的规则的,否则查询的效率会很低。当今世界是一个充满着数据的互联网世界,充斥着大量的数据。即这个互联网世界就是数据世界。数据的来源有很多,比如出行记录、消费记录、浏览的网页、发送的消息等等。除了文本类型的数据,图像、音乐、声音都是数据。
数据库是一个按数据结构来存储和管理数据的计算机软件系统。数据库的概念实际包括两层意思:
(1)数据库是一个实体,它是能够合理保管数据的“仓库”,用户在该“仓库”中存放要管理的事务数据,“数据”和“库”两个概念结合成为数据库。
(2)数据库是数据管理的新方法和技术,它能更合适的组织数据、更方便的维护数据、更严密的控制数据和更有效的利用数据。

在这里插入图片描述
特点:

  1. 数据结构化:
    数据库系统实现整体数据的结构化,是数据库的主要特征之一,也是数据库系统与文件系统的本质区别。
    “整体”结构化是指在数据库中的数据不再仅仅针对某一应用,而是面向全组织,不仅数据内部结构化,而且整体结构化,数据之间是有联系的。
    这就要求描述数据时不仅要描述数据本身,还要描述数据之间的联系。
    存取数据的方式很灵活,可以存取数据库中的某一个数据项、一组数据项、一个记录或一组记录,而在文件系统中,数据的存取单位是记录,粒度不能细到数据项。

  2. 数据的共享性高,冗余度低,易扩充:
    数据共享可以大大减少数据冗余、节约存储空间,还能避免数据之间的不相容性和不一致性。所谓数据的不一致性是指同一数据不同拷贝的值不一样。
    数据库系统弹性大,易于扩充,可以选取整体数据的各种子集用于不同的应用系统。

  3. 数据独立性高:
    物理独立性:指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的,也就是说,数据在磁盘上的数据库中怎么样存储是由DBMS管理的,用户程序不需要了解,应用程序处理的只是逻辑结构,这样当数据的物理存储改变时,应用程序不用改变。
    逻辑独立性:是指用户的应用程序与数据库的逻辑结构是相互独立的,也就是说,数据的逻辑结构改变了,用户程序可以不变。

  4. 数据由DBMS统一管理和控制:
    数据的安全性(sercurity)保护
    数据的完整性(Integrity)检查
    并发(Concurrency)控制
    数据库恢复(Recover)

数据库模型

  1. 层次模型
  2. 网状模型
  3. 关系模型

关系的操作及结构化查询语言

SQL

SQL是一种描述性(不是过程化的)语言, 这意味着允许用户在高层数据结构上工作, 即用户不需要指定对数据的存放方法, 也不需要了解具体的数据存放方式.

  1. 插入
  2. 删除
  3. 更新
  4. 选择

数据库管理系统

数据库管理系统(DBMS)是定义, 创建, 维护数据库的一种工具,. DBMS也允许用户来控制数据库中数据的存取. 数据库管理系统由硬件, 软件, 数据, 用户和规程这五部分构成.
在这里插入图片描述

数据中心

数据中心的定义

数据中心是全球协作的特定设备网络,用来在因特网络基础设施上传递、加速、展示、计算、存储数据信息。

计算机应用的主要发展方向

高性能化

高性能计算简介

  1. 高性能计算定义

高性能计算(High performance computing, 缩写HPC) 指通常使用很多处理器(作为单个机器的一部分)或者某一集群中组织的几台计算机(作为单个计 算资源操作)的计算系统和环境。有许多类型的HPC 系统,其范围从标准计算机的大型集群,到高度专用的硬件。大多数基于集群的HPC系统使用高性能网络互连,比如那些来自 InfiniBand 或 Myrinet 的网络互连。基本的网络拓扑和组织可以使用一个简单的总线拓扑,在性能很高的环境中,网状网络系统在主机之间提供较短的潜伏期,所以可改善总体网络性能和传输速率。

  1. 高性能计算机的应用
  • 计算密集型应用
  • 数据密集型应用
  • 通信密集型应用

高性能计算机的发展展望

  1. 高性能计算机发展展望
    1. 多核异构是大势所趋, 且编程模式是关键
    2. 降低高性能计算系统功耗, 追求绿色计算
    3. 个人高性能计算机的发展
    4. 集群系统的应用面扩大, 形成产业规模市场
    5. 网格不仅影响各种应用, 也对计算技术产生巨大影响
    6. 体系结构的创新和体系软件的发展是高性能计算机逐步面向应用的关键
  2. 未来高性能计算机
    1. 量子计算机
    2. 光子计算机
    3. DNA计算机
    4. 纳米计算机

参考书籍:
《计算机导论》宋华珠, 钟珞编
参考链接:
https://www.cnblogs.com/sunbr/p/11724926.html
https://baike.baidu.com/item/%E6%95%B0%E6%8D%AE%E5%BA%93/103728?fr=aladdin
https://baike.baidu.com/item/%E6%95%B0%E6%8D%AE%E4%B8%AD%E5%BF%83/967340?fr=aladdin

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!