为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

计算思维案例及平时成绩讨论题

2017-12-19 31页 doc 59KB 121阅读

用户头像

is_153723

暂无简介

举报
计算思维案例及平时成绩讨论题计算思维案例及平时成绩讨论题 1.5本章计算思维的典型案例 案例1: 计算作为人类文明的开端,从最远古的手指计数到中国古代的算盘计算到近代西方的纳皮尔算筹及帕斯卡机械式计算机,至当前的电子计算机的高速度计算,不管是计算方法还是计算工具都有了变革性的创新,计算也作为一种思维方式存在,并成为人类科学思维的重要一员。从算盘到计算机的发展过程是计算思维内容不断拓展的过程。 现今,我们面临着一个问题:计算机能不能再快些,我们还能不能依靠单一的电子器件加快我们的“大脑”,从历史来看,机械到电子不但是材料的进步,也是思维方式的进步。...
计算思维案例及平时成绩讨论题
计算思维案例及平时成绩讨论 1.5本章计算思维的典型案例 案例1: 计算作为人类文明的开端,从最远古的手指计数到中国古代的算盘计算到近代西方的纳皮尔算筹及帕斯卡机械式计算机,至当前的电子计算机的高速度计算,不管是计算还是计算工具都有了变革性的创新,计算也作为一种思维方式存在,并成为人类科学思维的重要一员。从算盘到计算机的发展过程是计算思维内容不断拓展的过程。 现今,我们面临着一个问题:计算机能不能再快些,我们还能不能依靠单一的电子器件加快我们的“大脑”,从历史来看,机械到电子不但是材料的进步,也是思维方式的进步。计算机发展,归根结底是计算思维的传承和发扬光大。计算机的历史就像一个孩子的成长史,它已经经历了少年时期的疯长,进入了青年时期。它还会有下一轮的飞速成长,但是要靠人类的智慧作为营养哺育它。在不久的将来,我们会将计算机变成一个众多学科交叉结合而成的精灵。而到那时,我们相信那个精灵传承和发扬的仍然是计算思维。 案例2: 抽象就是忽略一个主题中与当前问题(或目标)无关的那些方面,以便更充分地注意与当前问题(或目标)有关的方面。通过抽象,人们可以从众多的事物中抽取出共同的、本质性的特征,舍弃其非本质的特征。抽象是一种从个体把握一般、从现象把握本质的认知过程和思维方法。 在本章中介绍了图灵机模型,它是一个抽象的计算模型。图灵把他的计算模型抽象成一种非常精简的装置:一条无限长的纸带、一个读写头、一套控制读写头工作的规则、一个状态寄存器。有了图灵机这一抽象模型,我们可以得到很多本质的规律,通过抽象我们能够抽取事物的本质特性、忽略烦琐的细节,在抽象的模型上进行科学研究,有助于发现事物的内在规律。虽然图灵机是现代计算机的数学模型,但它不等同于实际的计算机,如何设计实际可用的计算机系统,也需要抽象的思维。在第3章中介绍的冯?诺依曼体系结构就是对现代计算机体系结构的一种抽象认识。 本章小结与思考 本章通过对计算技术的发展起到关键作用的人物和事件的介绍,回顾了计算机的发展简史。从计算机的起源开始,介绍计算机系统的发展历程及未来可能的发展趋势。介绍了科学技术的发展特别是电子器件的发展在计算机发展中的重要作用。了解了计算机的“存储程序方式”和采用二进制思想。 计算机是20世纪最伟大的发明之一。计算技术从简单到复杂,经历了漫长的发展过程,但最近20余年却取得了飞速的进展。这里面蕴含了其自身的规律性,值得深刻领悟。计算机及计算机网络的应用己使人类社会的各个领域都发生了翻天覆地的变化,计算和计算机的应用己经无处不在。 信息作为继物质和能源之后的第三类资源,它的价值日益受到人们的重视。在计算机渗透到社会各行各业的今天,每一名大学生都应该接受信息技术教育,应该具有“获取信息、分析信息、加工信息”的基础知识和实际能力。 计算思维是运用计算机科学的基础概念去求解问题、设计系统和理解人类的行为,它包括了涵盖计算机科学之广度的一系列思维活动。计算思维的本质是抽象和自动化。计算思维 代表着一种普遍的认识和一类普适的技能,因此每个人都应热心于计算思维的学习和应用。 计算机作为一种工具,既然为人类所广泛使用,它必将对人类的思维产生影响。计算机赖以运行的思想和方法也将从后台进入前台,走进人类的生活,成为人类工作和生活有力助手。如同所有其他学科一样,计算学科也有自己的认识和处理世界事物的方法学。未来,计算思维必将随着计算学科的发展而不断丰富和完善。 学习完本章后,请思考并讨论以下提出的几个问题: 1(你认为一个学生应具有什么样的信息素养,才能在未来的职业生涯中具有较强的竞争力,这些竞争力体现在哪些方面, 2(结合你所学的专业谈谈计算思维对本学科研究领域的影响和应用。 3(新一代计算机的发展趋势是什么,谈谈你对未来计算机发展及应用的看法。 2.4本章计算思维的典型案例 案例1: 现实世界可以表示为0 和1?用0 和1 可进行逻辑与算术运算?0 和1 可以用电子技术实现?用二极管、三极管等实现基本门电路?组合逻辑电路实现?芯片(复杂组合逻辑电路)。 具体来说,0 和1 的思维蕴含着:信息表示。数值信息和非数值信息均可用0 和1 表示,均能够被计算;符号化数字化。物理世界/语义信息?符号化?0和1(进位制与编码)?数字计算(算术运算,逻辑运算)?硬件与软件实现。即任何事物只要能表示成信息,也就能够表示成0 和1,也就能够被计算,也就能够被计算机所处理。 案例2: 递归是计算思维的方法之一。当我们通过键盘将字母“A”输入到计算机,在计算机内部它将以二进制代码形式存储,但从显示器或打印机输出的依然是字母“A”,由此体现了一种递归的方式。 究竟什么是递归呢,其实,递归就是大鱼吃小鱼,就是一条蛇咬住自己的尾巴。递归是指一样东西自己包含了自己。例如,当两面镜子相互之间近似平行时,镜中嵌套的图像是以无限递归的形式出现的。递归在数学与计算机科学中,是指在函数的定义中使用函数自身的方法。递归一词还较常用于描述用相似方法重复事物的过程。 案例3: 当数据被储存在硬盘或传送到网络上时,它们一般是不会发生改变的(不过,有时候一些故障也会导致数据值突然改变,比如电子干扰。而避免这类事件的发生至关重要。利用类似奇偶校验的方法,可以保护计算机中几乎所有的数据。数据硬盘、CD、DVD、闪存、网络下载、电子邮件和网页都在数据中添加了你看不到的校验码。一旦系统中个别比特发生错误,计算机就会在你不知情的情况下自动恢复原始数据。这充分体现了计算思维是按照预防、保护及通过冗余、容错、纠错的方式,并从最坏情况进行系统恢复的一种思维方法。 奇偶校验是一种校验代码传输正确性的方法。根据被传输的一组二进制代码的数位中“1”的个数是奇数或偶数来进行校验。采用奇数的称为奇校验,反之,称为偶校验。采用何种校验是事先规定好的。通常专门设置一个奇偶校验位,用它使这组代码中“1”的个数为奇数或偶数。若用奇校验,则当接收端收到这组代码时,校验“1”的个数是否为奇数, 从而确定传输代码的正确性。 在本章中,介绍了ASCII码为7位编码,占1个字节,空出来的最高位通常为0。但在需要传输数据时可以用作奇偶校验的校验位。例如偶校验时,若7位ASCII码中“1”的个数为偶数,则校验位置为“0”;若7位ASCII码中“1”的个数为奇数,则校验位置为“1”。这样就可以保证传送数据满足偶校验的要求。在接收方收到数据时,将按照奇校验的要求检测数据中“1”的个数,如果是偶数,表示传送正确,否则表示传送错误。奇偶校验位是最简单的错误检测码。 案例4: 对中国汉字的信息处理就是一种典型的计算思维应用,蕴含了构造原理。计算机是西方人发明的,他们用了近40年的时间发展了一整套技术来实现对西文的处理。而汉字是一种象形文字,字种繁多,字形复杂,汉字的信息处理与通用的西方简单的字母数字类信息处理有很大差异,一度成为棘手问题。然而,近几十年来,汉字信息处理研究得到飞跃式的发展。这其中,让计算机能表示并处理汉字要解决的首要的问题就是要对汉字进行编码,即确定每个汉字同一组通用代码集合的对应关系。这样,在输入设备通过输入法接收汉字信息后,即按对应关系将其转换为可由一般计算机处理的通用字符代码,然后再利用传统计算机的信息处理技术对这些代码信息的组合进行处理,如信息的比较、分类合并、检索、存储、传输和交换等。处理后的代码组合,再通过汉字输出设备,按照同样的对应关系转换为汉字字形库的相应字形序号,输出设备将处理后的汉字信息直观地显示或打印出来。 本章小结与思考 本章主要介绍了计算机基本信息表示方法,所谓基本信息,是指数值信息和字符信息。其中二进制的概念是十分重要的,因为二进制是计算机信息表示的基础,在计算机内部的底层,任何类型的信息都用二进制编码,还因为在计算领域,很多术语直接与二进制相联系,不懂得二进制,就不能很好理解这些术语。同一个数可以用不同的进制表示,不同进制表示之间存在等价关系,利用这个等价关系可以在不同的进制之间进行转换。针对数值的二进制表示,还介绍了如何采用原码、反码和补码的方法解决了带符号数值的处理,以及带小数点的实数表示方法。掌握这些知识对于理解计算机的运算过程非常重要。 计算机之所以具有逻辑处理能力,是因为计算机中采用了实现各种逻辑功能的电路,这些逻辑电路是由能够实现与、或、非等逻辑运算的基本电路组成的。而逻辑代数是进行逻辑电路设计的数学基础。通过组合基本的逻辑电路,可以设计出非常复杂的组合逻辑电路,用于构建计算机系统。 了解计算机信息数据的编码对于计算机信息处理具有很大的帮助。由于计算机是以二进制方式组织、存放信息的,这就意味着所有需要计算机存储并处理的信息包括都要转换成二进制的形式来表示。因此,信息编码就是指对输入到计算机中的各种数值和非数值型数据用二进制数进行编码的方式。对于不同机器、不同类型的数据其编码方式是不同的,编码的方法也很多。本章主要介绍了常用编码的国家或国际标准,如ASCII码、汉字编码等,包括计算机使用这些编码在计算机内部和外部设备之间以及计算机之间是如何进行信息交换的。 学习完本章后,请思考并讨论以下提出的几个问题: 1(假设有两支友邻军队夜间在一条河的两岸并行行军。为了保持行动一致,他们必须进行通信。双方预先确定了53条通信密语。两支军队都没有带通信设备,但带了至少8支手电筒。请为他们设计一种通信方案。 2(举例说明身边的某一编码,说说其编码方式、规则与取值范围,写出自己的看法与认识。 3(对下列ASCII码进行译码。 01001110 01101001 01101000 01100001 01101111 00100001 01001010 01101001 01100001 01111001 01101111 01110101 00100001 4(对于下面一组不同编码的数,请按照从小到大的顺序排列。 (+01110) (01101) (10110) (10000) (10110) (10010) 原补反反原补 3.7 本章计算思维的典型案例 案例1: 在计算机科学中,抽象是一种被广泛使用的计算思维方法。 在本章中介绍的冯?诺依曼体系结构就是对现代计算机体系结构的一种抽象认识。在冯?诺依曼体系结构中,计算机由内存、处理单元、控制单元、输入设备和输出设备等五部分组成。这一体系结构屏蔽了实现上的诸多细节,明确了现代计算应该具备的重要组成部分及各部分之间的关系,是计算机系统的抽象模型,为现代计算机的研制奠定了基础。 案例2: 并行是一种重要的计算思维方法。并行计算一般是指许多指令得以同时进行的计算模式。 我们在计算机系统的设计中看到了很多运用并行技术提高系统效率的例子,例如,本章介绍的“多核处理器”技术,是从空间的角度,通过硬件的冗余,让不同的处理器并发执行不同的任务。该种技术体现了运用并行方法解决问题的思路。 在日常生活中也不乏并行思维的例子。在高速公路收费站服务中也可以经常见到并行。在车流量多的高峰时段,收费站可以通过增加一些通行通道提高服务的并行度,从而提高服务能力,减少车辆通行的等待时间;而在车流量较少的时候,会通过关闭一些通道降低服务的并行度,在保证通行速度的同时减少高速公路收费站自身的运营成本。 案例3: 缓存也是一种重要的计算思维方法。缓存是将未来可能会被用到的数据存放在高效存储区域中,使得将来用到这些数据时能够非常快地得到。在计算机系统中有一个重要的原理,即程序的局部性原理。程序的局部性原理有两方面的含义:时间局部性和空间局部性。时间局部性是指,如果一个信息项正在被访问,那么近期它很可能还会被再次访问;空间局部性是指,在最近的将来将用到的信息很可能与现在正在使用的信息在空间地址上是临近的。因此,在时间和空间上,程序总是趋向于使用最近使用过的数据和指令,其访问行为不是随机的,而是相对集中的。 CPU访问存储器,无论存取指令还是存取数据,所访问的存储单元都趋于聚集在一个较小的连续区域中。根据这一原理,计算机系统中采取了层次性的存储体系,包括高速缓存、内存储器、外存储器等。高速缓存的访问速度最快、容量最小、成本最高,外存储器的访问速度最慢、容量最大、成本最低。计算机系统充分利用了局部性原理,提高系统在缓存中命中数据的可能性,从而以较多的低速大容量存储器、配合较少的高速缓存,得到速度和高速 存储器差别不大的大容量存储器,在存储容量、速度和成本上获得了较好的平衡。 在我们的工作和生活中也存在有缓存思维的例子。例如,学生上学在书包中通常只放上当天上课需要的书本,而不需要把所有书本都带上;我们的办公桌上总是放上最常用或刚刚看到过的书,而长时间不用的书都转移到书架上,这些都是通过缓存和预取提高效率的例子。 案例4: 以键盘输入与屏幕显示为例可以感受“信息处理的思维”,即:位置?电信号?编码?存取/ASCII?解码?字形?显示。理解和掌握这一思维之后,可以很容易地推广至其他语言文字的处理,如汉字等。更进一步,这一例子蕴含着一种普适的思维——信息处理思维,即:物理对象通过采集设备采集相关信息(物理,信息映射),然后按一定的编码规则使用编码器进行编码及存储,再按编码规则使用解码器进行解码,识别所需信息并进行显示。 本章小结与思考 本章介绍了计算机中硬件的基本常识。首先从总体上介绍了其构成和各部分的作用,以及构成的依据一一冯•诺依曼体系结构。此后,以我们最熟悉的微型计算机为切入占,介绍了CPU的工作过程、主板的特性。接着,介绍了存储系统,存储系统的设计原则和工作原理。然后,介绍了连接计算机硬件系统各分系统的通路——总线,以及连接主机和外部设备之间的部件——接口。另外,还介绍了常用的外部存储设备,如硬盘、光盘,以及常用的输入输出设备。最后,介绍了简要地介绍了计算机指令系统。 通过本章学习,应建立起计算机系统的全貌,并对各组成部分的构成和工作原理有一定的认识和理解。应能从总体上理解一个程序经过外部输入、CPU处理,最后输出结果的整个流程所涉及的硬件及其工作原理。 学习完本章后,请思考并讨论以下提出的几个问题: 1(解释硬盘分区的类别及特点,如果有一个新硬盘你将如何分区。 2(在当地的电脑销售商处收集一些不同品牌、不同配置电脑的宣传单,对收集到的资料按高、中、低档次分别配置一台电脑,列出相关的配置参数。 3(谈谈通过哪些方法可以提高计算机的速度。 4(简述内存与外存的关系。 4.9 本章计算思维的典型案例 案例1: 从裸机到虚拟机是一个用计算思维解决自身问题的典型案例。 一台裸机通过加装软件(操作系统),并由软件提供与用户的接口,直到用户通过接口使用这台计算机,是将一台复杂的、几乎不能使用的系统变成使用简单、功能强大的系统。整个过程拥有极其丰富的计算思维活动。 同样,以分时操作系统为例。分时操作系统是指在一台主机上连接多个带有显示器和键盘的终端,同时允许多个用户通过主机的终端,以交互方式使用计算机,共享主机中的 资源。分时操作系统是一个多用户交互式操作系统。分时操作系统将CPU的时间划分成若干个片段,称为时间片。操作系统以时间片为单位,轮流为每个终端用户服务。每个用户轮流使用一个时间片而使每个用户并不感到有别的用户存在。宏观上看是多个人同时使用一个CPU,微观上是多个人在不同时刻轮流使用CPU。 这种时间片轮转思想就是一个古老的、最简单、最公平的思想,它既解决了计算机自身的问题,又能解决实际的问题。 案例2: 操作系统的产生和使用,其本身就充分体现了运用计算思维抽象和分解的方法。 计算机硬件经冯?诺依曼阐述后,划分为五大模块或称计算机的五大组成部分。而操作系统诞生及其所提供的四大功能,即进程管理、内存管理、文件管理、设备管理则是对硬件的五大模块所涉及的庞大而复杂的工作进行有效的控制和管理。操作系统架起了硬件与用户之间沟通的桥梁。 案例3: 操作系统对进程的管理采用了多道程序并行处理的方式。宏观上多个程序同时执行,微观上各程序轮流占用CPU,交替执行,即串行,这就大大提高了系统的资源利用率。这是将计算思维中使用并行方法解决问题的思路运用到操作系统设计的一个典型实例。 案例4: 内存管理,是指软件运行时对计算机内存资源的分配和使用的技术。其最主要的目的是如何高效,快速的分配,并且在适当的时候释放和回收内存资源。虚拟内存是内存管理技术的一个极其实用的创新,当进程建立时,不需要在物理内存件之间搬移数据,数据储存于磁盘内的虚拟内存空间,也不需要为该进程去配置主内存空间,只有当该进程被被调用的时候才会被加载到主内存。可以想像一个很大的程序,当他执行时被操作系统调用,其运行需要的内存数据都被存到磁盘内的虚拟内存,只有需要用到的部分才被加载到主内存内部运行。 内存管理的设计所用到的预置和缓存技术也是一种重要的计算思维方法。 案例5: 文件管理是操作系统中一项重要的功能。其重要性在于,在现代计算机系统中,用户的程序和数据,操作系统自身的程序和数据,甚至各种输出输入设备,都是以文件形式出现在操作系统的管理者和用户面前。文件管理是对文件存储器的存储空间进行组织、分配和回收,负责文件的存储、检索、共享和保护。从用户角度来看,文件管理主要是实现“按名取存”,用户只要知道所需文件的文件名,就可存取文件中的信息,而无需知道这些文件究竟存放在什么地方。 文件管理的设计运用了存储、检索、共享、保护等多种计算思维的方法,从而实现对信息的有效管理和快速存取。 案例5: 操作系统对设备的管理就是如何有效合理地使用这些设备。设备管理的功能之一是缓冲管理,即为达到缓解CPU和I/O设备速度不匹配的矛盾,达到提高CPU和I/O设备利用率,提高系统吞吐量的目的,许多操作系统通过设置缓冲区的办法来实现。 在缓冲管理方面所用到的缓存技术是计算思维的一种重要的方法。 设备驱动程序是设备管理的重要组成部分。是一种可以使计算机和设备通信的特殊程 序,可以 说相当于硬件的接口,操作系统只有通过这个接口,才能控制硬件设备的工作,假如某设备的驱动程序未能正确安装,便不能正常工作。 而计算机中的设备种类繁多,千差万别。所以编写设备驱动程序就要充分采取抽象、化简、统一的计算思维方法,尽可能实现驱动程序的通用性及程序与设备的无关性。 本章小结与思考(待定) 本章从操作系统是计算机系统管理者的角度,依次介绍了进程管理、存储管理、文件管理、设备管理和用户接口等内容。在这些内容的介绍中,重点介绍了各项管理功能所针对的对象、采用何种管理策略,即管理谁、怎么管的问题,进一步探讨了这些管理功能是如何支持程序运行的问题。操作系统是计算机系统的管控中心,它管理计算机系统的所有资源,用户通过操作系统才能间接对计算机进行操作。 程序是实现特定操作的指令集合。执行的程序被称为进程。进程是“活”着的程序,有其三命周期和活动规律。进程管理涉及进程创建、调度、资源分配、运行等一系列操作。 文件是计算机中信息管理的基本单位。计算机中所有信息(包括操作系统本身〉都是以文的形式存在的。对计算机的操作实际上是对文件的操作。为了实现对文件的管理,系统内部设置了文件目录、文件分配表等组织结构。用户通过文件目录树结构对文件进行操作。文件因数量巨大所以被组织存放在硬盘中。文件名是文件存放在计算机中的唯一标识符,文件名包括文件主名、文件扩展名和文件路径。文件操作包括创建、修改、复制、删除、重命名、共享、隐藏等。 现代计算机系统中包含的外部设备越来越多,处理标准配置的设备〈鼠标、键盘、显示器)外,还包括许多非标配设备(移动硬盘、U盘、打印机、扫描仪等)。设备管理的任务除了保证这些外部设备本身处于正常的工作状态外,还要保证I/O控制器、通道、设备与CPU之间的信息通信和数据传输、各种设备的排队管理、各种设备的I/O操作等。 存储管理的主要任务是存储分配、地址重定位、存储保护和存储扩充等。所有程序和数据一般是存放在外存中,执行时才调入内存,这就关系到存储器的分配和管理:程序本身的数据和代码是按逻辑地址存放的,运行时是在物理地址空间,这就涉及地址空间的变换(地址重位);为了解决实际应用中在较小的实存空间中运行大程序的问题,存储管理中引入虚拟存储技术,即将部分外存空间开辟出来作为内存空间的补充,采用软、硬件技术结合的方式,实在的虚拟存储空间和较小的实存储空间的转换。 用户接口是用户操作计算机的界面。用户接口包括命令方式、系统调用方式和图形窗式等操作界面。 通过本章的学习,应从总体上对操作系统有一个整体认识。在学习中,要弄清楚计算机系统软硬件是如何配合起来支持程序运行的,要分清楚哪些支持由硬件提供,哪些由软件提供,它们是如何协调一致构成一个整体的。 学习完本章后,请思考并讨论以下提出的几个问题: 1(为什么要使用操作系统平台?而不是让用户直接面对裸机? 2(计算机系统为什么要组织成层次结构?它的实质是什么? 3(同样是设计和开发程序,操作系统的设计和开发者的工作与应用程序员有什么不同?为什么? 4(你对操作系统和用户程序之间的关系有何看法?阐述你的视角。 5(有人说设备管理软件(设备驱动程序)因为经常由第三方提供,因此不应该作为操作系统的一部分,你对此有何看法? 驱动程序的作用是什么?为什么必须为外设安装驱动程序? 什么是设备无关性?为什么要在设备管理中引人设备无关性? 5.6本章计算思维的典型案例 案例1: 计算思维反映的是利用计算机技术解决实际问题的思维方法,如果对利用计算机技术如何解决实际问题的认知出现误解,那是不可能达到目的的。很多初学者以为计算机神乎其神,似乎什么都能干,所以就想当然起来。例如,某同学刚学了几天C语言程序设计,想试试 2自己的能力,找一道求方程3x+5x-15=0的根的题目。用C语言写出下述的程序段: float x; /*定义变量*/ 3*x*x+5*x-15=0; /*给出方程,让计算机求解*/ printf(“%f”,x); /*输出结果*/ 结果上机一试,才发现错误一大堆,根本不可能得到想要的解。该同学实在想不 明白的是:计算机不是很神吗,怎么这么简单一个方程都不能求解,恐怕大多数人刚开 始都和该同学一样,都有这样的疑问。 事实上,计算机确实不能求解上述方程,至少目前基本如此(第四代问题描述语言 例外)。确切地说,计算机只会帮我们“计算”,至于如何计算那就是我们的事情了。 就本例而言,如果我们自己都不知道如何求解此方程,那也就别指望计算机帮我 们求解它。换句话说,我们得告诉计算机如何一步一步地去求解此方程,然后计算机按 照我们的计算要求帮我们一步一步地去计算。只有很好地理解了这样的“计算思维”, 我们才能写出下面的程序段: float x1 , x2, d; /*定义变量*/ d=5 * 5-4 * 3 * (-15); x1 = (-5 + sqrt(d))/(2 * 3); /*求根公式*/ x2 = (-5 - sqrt(d))/(2 * 3); /*求根公式*/ printf(“%f”, %f”, x1, x2); /*输出结果*/ 通过这个例子,大家应该明白计算机并不是你想象的那么“智能”。和人脑相比,它只是会算,而且算的速度非常快,除此以外计算机几乎没有什么更多的优越性了。如果你要完成的计算任务比较复杂,又不能(或者不会)分解成计算机能接受的基本操作,那就没法利用计算机求解了。记住,计算机永远都是在人脑的指挥下工作的~ 案例2: 在计算机科学中,将大规模的复杂问题分解成若干个较小规模的、更简单的问题加以解决,是一种常用的计算思维。运用问题分解这种思维方法进行问题求解,首先需对问题本身做出明确描述,并对问题解法做出全局性决策,把问题分解成相对独立的子问题,再以同样的方式对每个子问题进一步精确化,直到获得对问题的明确的解答。 在本章中,结构化程序设计采取了计算思维中的典型方法——分解。按照“分而治之”的策略,将顶层问题的求解目标逐层分解成子目标,每个子目标用相应的程序模块进行实现,这样构成求解整个问题的程序。 结构化程序设计方法的一个重要原则就是“自顶向下、逐步求精”,它是指程序设计时,先描述顶层问题的求解目标,然后步步深入,设计一些比较粗略的子目标作为过渡,再逐层细分,直到整个问题可用程序设计语言明确地描述出来为止。程序的模块化设计,则是针对 任何一个大系统都可以按子结构之间的疏密程度分解成较小的模块,每个模块完成一定问题的求解。整个程序是由层次的、逐级细化的诸模块组成。一个复杂的问题可以看成由若干稍简单的问题构成。对于可以用计算机求解的问题,所需的计算时间都与其规模有关,问题规模越小,解题所需的计算时间也越少,也越容易求解。因此,可以将一个难以直接解决的大问题,分割成一些规模较小的相同问题,以便各个击破、分而治之。模块化与自顶可下、逐步求精紧密联系。 日常工作中的层次化管理也是一种对分解方法的运用。以企业运行为例,一个大型企业也是一个非常复杂的系统,采取“金字塔”型的管理层次是一种常用的策略,将企业逐层分解,越上层的机构越少,越向下功能分解越细、机构数目越多。各级机构管理好自己的下属机构,完成上级机构制定的目标,最终整个企业实现自己的整体目标。 案例3: 计算思维是利用海量数据来加快计算,在时间和空间之间、在处理能力和存储容量之间进行折中的思维方法。计算机问题求解是以计算机为工具,利用计算思维解决问题的实践活动。计算机解题的核心是算法设计,设计算法是计算机问题求解中非常重要的步骤。 查找(Searching)也称检索,计算机最重要的功能之一就是在浩瀚的数据中找到用户所要的信息。但是计算机的速度还并没有快到能瞬间完成这一过程的程度,而且等待计算机查找的数据集往往是异常庞大的,因此我们需要更快捷更有效的搜索方式。世界上最庞大的搜索问题是在网络世界中搜索信息,网络搜索引擎能实现同时为大量在线用户在数以百万计的网页中进行高速查询,这无疑是一个令人惊讶的事实,而它们能做到这点无非是因为使用了正确的算法。查找的结果有两种:一种是查找到满足条件的结点,称为查找成功;否则称为查找失败。查找的方法很多,下面介绍两种针对线性表的查找算法。 ? 顺序查找 顺序查找是最简单的查找算法。计算机运行速度很快,你或许认为当计算机进行搜索时,应该从储存数据的开头开始找,直到找到指定数据时结束查找,这种方式称线性搜索,然而,这种算法对计算机来说是非常慢的。 ? 折半查找 如果所有待查的数据元素按关键字递增(或递减)有序,则可以采用折半查找也称为二分查找,它是一种效率较高的线性表查找算法。 折半查找的基本思想是:先取表的中间位置的结点关键字与所给定的关键字进行比较,如果相等,则查找成功。如果给定值比该结点的关键字大,则所找结点在表的后半部分;否则所找结点在表的前半部分,然后再把选定的部分表的中间结点的关键字与给定关键字进行比较。如此反复进行,直到查找成功或者查找失败为止。 使用折半查找要比顺序查找效率高很多,只用检查队列的中间项就可锁定搜索关键词位于哪一半队列,这样一来,每查找一次相当于将待查找的目标数量减少一半。以查找超市商品为例(假设商品是按编号从小到大排序),如果采用折半查找方式在10000件货品中查找,仅须用到14次搜索。 值得注意的是折半查找效率虽然较高,但必须先将待查数据进行排序。这是折半查方法的前提条件或代价。 下面例子显示了查找成功和查找失败的过程,给定线性表的各结点的关键字为{05,13,17,42,46,55,60,94}。 查找关键字为k=55的结点,查找过程如下: [05 13 17 42 46 55 60 94] ———第1次 ? 05 13 17 42 [46 55 60 94] ———第2次,查找成功 ? 查找关键字为k=12的结点,查找过程如下: [05 13 17 42 46 55 60 94] ———第1次 ? [05 13 17] 42 46 55 60 94 ———第2次 ? [05] 13 17 42 46 55 60 94 ———第3次 ? [05] 13 17 42 46 55 60 94 ———第4次,查找失败 案例4: 排序(Sort)是数据处理中的一种重要运算,它的功能是将一组数据元素(或)从任意序列排列成一个按关键字排序的序列。这是一种常用的计算思维方法。几乎所有计算机中的序列都是被排过序的,电子邮件列表按照日期排序,最新的邮件被放置在最顶端;播放器中的歌曲按照名字或歌手名排列在一起,以便你快速查找到最喜欢的那首歌,文件名则往往是按照字母顺序排列的。那么计算机是如何进行排序的呢,计算机科学家设计了很多排序的算法,这里介绍两种简单有效的排序算法。 ? 直接插入排序 直接插入排序是最简单的排序方法,适用于记录个数较少的场合。其算法的基本思想是:逐个处理待排序列中的记录,将其与前面已经排好序的子序列中的记录按关键字比较,确定要插入的位置,并将记录插入到子序列中。具体做法如下: 开始时,把第一个记录看成是已经排好序的子序列,这时子序列中只有一个记录; ? ? 从第二个记录起到最后一个记录,依次将每个记录与前面子序列的记录按关键字比较,确定记录插入的位置; ?将记录插入到子序列中,子序列记录个数加1,直至子序列长度与待排序列长度相等时结束。 例如:已知一组记录的关键字值初始排列为:49,38,65,97,76。图5.14给出了直接插入排序的过程示意图。 ? 冒泡排序 冒泡排序是一种简单直观的排序算法。该算法重复地扫描要排序的数列,依次比较两个元素,如果它们的顺序错误就把它们交换过来。扫描数列的工作是重复地进行直到没有再需要的交换,也就是说该数列已经排序完成。在这个算法的工作过程中,较小的元素会通过交换慢慢“浮”到数列的前端,较大的元素会慢慢“浮”到数列的末端,这就是该算法得名的原因。可以更具体地描述该算法,如下: ? 将第n个记录的关键字与将第n-1个记录的关键字进行比较,若为逆序则将两个记录进行位置的交换,否则保持原来顺序; ? 将第n-1个记录的关键字与将第n-2个记录的关键字进行比较; ? 重复上述排序过程,直到全部关键字均比较一遍; ? 上面三步的比较交换过程称为第一趟排序,其结果是使关键字最小的记录被交换到了第1个记录的位置,完成一趟排序; ? 第二趟排序从第n个记录到第2个记录进行同样的操作,结果是使关键字次小的记录被交换到了第2个记录的位置; 依次类推,第i趟排序是从第n个记录到第i个记录依次比较交换。设有n个关键字,需要经过n-1趟比较和交换,使得n个记录的关键字从小到大排好序了。判断冒泡排序结束的一个条件是“在一趟排序中没有进行过交换记录的操作”。 例如:已知一组记录的关键字值初始排列为:13,49,38,27,65。图5.15给出了冒泡排序的过程示意图。 人们在日常生活中将物品有规律的摆放,如水果由小到大摆放,图书按书名或学科顺序排序等。将物品按照某种规律顺序排列摆放称为排序。排序的根本目的是能够根据实际需要方便快捷地拿取物品。计算机经常被用来把数据清单排列成有序的顺序,无论是按字母、数字或日期。如果使用了错误的方法,即使是在高速的计算机上运行,它都可能需要很长的时间进行排序。 13 49 38 27 65 [初始] (49) 38 65 97 76 13 49 27 38 65 第1趟 13 27 49 38 65 i=2: (38 49) 65 97 76 13 27 49 38 65 13 27 49 38 65 i=3: (38 49 65) 97 76 13 27 38 49 65 第2趟 13 27 38 49 65 i=4: (38 49 65 97) 76 13 27 38 49 65 第3趟 i=5: (38 49 65 76 97) 13 27 38 49 65 图5.14 直接插入排序的过程 图5.15 冒泡排序的过程 本章小结与思考 本章首先简要介绍了软件和程序这两个截然不同的概念。接着介绍了机器语言、汇编语言和高级语言三大程序设计语言的分类及特点,描述了程序编码、编译和运行的基本过程。附加介绍了几种常用高级语言的特性、开发环境及选用范围,其目的是让初学者在宏观层面对常用的高级语言有一个大致的了解。另外,从“程序本质上是描述特定数据的处理过程”的观点出发,简要介绍了高级程序设计语言的构成、算法、数据结构等基本概念,并结合具体的例子介绍了常用的程序设计方法一一结构化程序设计方法的基本思想。 计算机问题求解是以计算机为工具、利用计算思维解决问题的实践活动,一般包括分析问题、设计算法、实现算法等步骤,是最典型计算思维方法。在通过本章的学习,希望读者对计算思维和计算机问题求解有一个初步的了解,对于算法和程序的基本概念、算法设计的基本方法以及程序设计的原则和思想有所理解。 学习完本章后,请思考并讨论以下提出的几个问题: 1. 结合你所学的专业谈谈你适合学习哪种程序设计语言。 2. 谈谈你是如何理解算法是程序的灵魂,是计算机的灵魂,是计算思维的灵魂。 6.7本章计算思维的典型案例 案例1: 抽象和分解是计算思维的两个重要特征。设计一个数据库,本身就体现了计算思维抽象和分解的过程。 在本章中需要在计算机上建立数据库,需要根据系统的需求,将客观世界的信息转化成计算机系统中的二进制信息。由于客观世界的复杂性,直接完成这种转换是非常复杂和困难的。因此,在数据库设计中,将建模分成了三个层次:概念数据模型、逻辑数据模型和物理数据模型。设计者依次在这三个层次上进行建模,分别完成一定的信息转换,最终完成客观世界信息到计算机系统中二进制信息的转换。这就是一种将复杂问题进行分解而得到答案的例子。 以上抽象思维的结果需要在计算机上实现,这体现了自动化这个本质,也是将理论成果应用于技术实践的过程。自动化隐含着需要某类计算机(可以是机器或人,或两者的组合)去解释抽象。 案例2: 排序是信息处理中经常进行的一种操作,其目的是将一组元素从“无序”的序列调整为“有序”的序列。虽然排序算法是一个看似简单的问题,但它却是计算机科学的发展历史中一个重要的研究问题,计算机科学家设计了一系列的排序算法。由于排序操作是一项经常被使用的基本功能,所以高效的排序算法对于提高信息处理的效率具有非常基础性的意义。和排序相关的另一个信息处理方法是索引,是指对具有共性的一组对象进行编目,以提供根据数据某一属性快速访问数据的能力。在数据库中,使用索引可快速访问数据库表中的特定信息。为了提高数据访问效率,可以建立一个对数据库表中一列或多列的值进行排序的一种结构(即索引)。 以本章中的学生选课数据库为例,例如,要查看学生表中的数据,一般看到的是按学号由小到大排列。但有时可能需要查看按学生年龄、姓名或籍贯排列的学生记录。这时可以允许将数据表的数据按多种顺序排列显示出来。另外,如果要在“学生关系”表中按籍贯查找特定学生,如果没有索引,就必须依次搜索表中的所有行,效率非常低。而利用索引技术,可以为“学生关系”表的“籍贯”字段建立索引,这样如果需要在该表中按籍贯查找特定学生,例如,需要查找籍贯为“湖南”的某学生,通过索引,可以很快地找到该学生。 在我们的工作和生活中也存在有计算思维索引特征的例子。例如,在出版和图书馆行业,利用索引进行文献的管理。每本图书的目录就是该书的一个索引。又如经常使用的新华字典,前面很大一部分篇幅就是提供了各种索引,包括拼音、部首和笔画等多种索引方式,为读者提供了方便、快捷的检索功能。 案例3: 运用多种算法,从海量数据中挖掘或抽取出知识,在时间和空间之间、在处理能力和存储容量之间进行折中的思维方法是典型的计算思维方法。 以数据挖掘在零售行业中的应用为例,零售公司跟踪客户的购买情况,发现某个客户购买了大量的真丝衬衣,这时数据挖掘系统就在此客户和真丝衬衣之间创建关系。销售部们就会看到此信息,直接发送真丝衬衣的当前行情,以及所有关于真丝衬衫的资料发给该客户。这样零售商店通过数据挖掘系统就发现了以前未知的关于客户的新信息,并且扩大经营范围。 本章小结与思考 本章介绍了数据库技术中的基本概念。所涉及的主要包括什么是数据库、数据库管理系统、数据库系统,以及数据库的三大模型:层次模型、网状模型、关系模型。还介绍 了目前所流行的关系数据库及相关概念,并且以学生选课系统为例,阐述了数据库的设计、创建过程。最后,简要介绍了数据库在管理信息系统中的应用及常用的数据库管理软件。 在学习过程中,可以通过一些例子,如图书管理、库房商品的管理、学校教室的管理、成绩管理等等加强对数据库应用的理解,虽然这些数据来自不同的领域处理的要求也不尽相同,但在操作方法却是相同或相近的,因为这是基于一个相同的数据模型,这就是关系模型。 通过对本章内容的学习,希望读者能建立起对数据的存储、维护和查询等问题的兴趣,或许这些兴趣能够用在自己感兴趣的其他数据上,成为你将来追求专业解决之道的推动力。 学习完本章后,请思考并讨论以下提出的几个问题: 1(通过查阅相关资料,撰写一篇与数据管理技术发展历程相关的研究报告。 2(谈谈管理信息系统可以应用到你所学专业的哪些方面。 7.7本章计算思维的典型案例 案例1: 数据压缩技术,就是用最少的数码来表示信号的技术。数据压缩的发展就是创新思维的发展。人类不断通过创新性研究和总结出不同的数据压缩算法,并在计算机多媒体数据压缩过程中得以应用,是运用计算机科学的基础概念进行问题求解的一个典型的计算思维活动。 对我们来说,计算机能越高效地表达信息越好。没人希望通过网络传送数据时总是耗费过久的时间,也没人希望计算机里总没有足够的空间来储存数据。减小数据占用空间的方法称为压缩。在储存信息之前压缩数据,需要使用的时候再将其解压缩,信息便能在网络中更快地传送了,而硬盘中也能储存更多数据。从网络上下载音乐、图片或视频的时候压缩尤其显得重要。为了满足上述要求,我们需要做两件事情:压缩数据以便缩小它的体积;然后解压缩以便人们正常阅读信息。通常这两道工序由计算机在后台自动完成。 许多人绞尽脑汁想设法创新和改进各种压缩算法与编码。经常换个角度来思考问题,没准儿你我就能发明一种新的算法,就能在压缩技术发展史上扬名呢。 案例2: 在多媒体技术中,运动捕捉与三维动画设计就是一个典型的运用建模与仿真的计算思维方法。 例如,采用运动捕捉技术对演员动作进行捕捉,演员动作不受限制,动作流畅,自然。这些动作都是非常具有特点的、非常敏锐的。一旦动作被捕捉,坐标就被映射到任意通过三维软件制作的卡通人物模型上。如果制作人员想改变以下所捕捉的动作,可以利用标准的动画工具如反应运动学、皮肤变形等对这个动作做进一步的编辑。制作人员也可以对动作增加各种变化,产生新的艺术效果。 例如,用三维扫描技术对一个八十岁的白发老人进行扫描,形成一个数字化人物模型,然后将篮球明星乔丹的动作捕捉下来,用这些动作或表情数据直接驱动动老人模型的运动,观众将看到八十老人空中扣篮的场面。想像一下,如果我们用演员的表演来驱动动物的模型,专讲动物王国的故事又将是一个怎样的场面。 案例3: 虚拟现实技术是利用计算机技术生成的一个逼真的具有视、听、触及嗅觉的感觉世界, 在这个虚拟世界中,人们可直接观察周围世界及物体的内在变化,与其中的物体之间进行自然的交互,并能实时产生与真实世界相同的感觉,使人与计算机融为一体。这同样也可以看成是一个建模和仿真的问题。 例如,带上特制的头盔,骑一辆自行车,从头盔显示器中远远看到天安门城楼,你骑车越过金水桥,穿过午门„车速太快一下子破墙而入,冲进了金銮殿,当你摘下头盔,发觉自己仍然骑在自行车上,一步也没动„„。 本章小结与思考 本章从多媒体技术的基础内容出发,首先介绍了多媒体技术的基本概念和基础知识,多媒体计算机系统的组成。然后介绍了多媒体技术中对声音、图像的数字化处理过程和方法,并简要介绍了视频和动画的基本概念。最后从多媒体数据压缩的必要性和可能性出发,介绍了多媒体数据压缩的基本概念。多媒体技术涉及的领域众多,各种相关技术的研究和发展迅速,因此许多概念还在扩充、深入和更新。 通过本章的学习,希望读者对多媒体技术的相关内容有一个初步的了解,对多媒体技术的基本概念、多媒体信息的获取、表示、存储、处理的基本原理及主要技术有所理解。 学习完本章后,请思考并讨论以下提出的几个问题: 1(从网络下载一幅JPG彩色图片并保存,然后使用Windows的“画图”工具,将该图片分别保存为24位位图和256色位图。试比较三者的图像质量及文件大小。 (请用手机录制一段WAV格式的音频,然后选择一种音频格式转换软件,将该WAV2 音频文件按不同的压缩率分别转换成WMA、MP3格式。比较转换前后视频文件大小及播放效果。 8.8本章计算思维的典型案例 案例1: 抽象是计算机问题求解中最基本的方法之一。在抽象过程中,人们剔除细节,只关注与理解问题和解决问题相关的概念,忽略一些对于问题求解不重要的细节,把注意力集中到事物的本质和核心特性上,从而发现事物的本质的、重要的规律。 在本章中介绍的网络协议就是计算机科学与技术中运用抽象思维解决复杂问题的典型。网络协议的ISO/OSI七层体系结构模型的建立,是将复杂的网络通信任务分解成七个层次,每个层次都是利用下一层的接口,完成本层的数据处理,并为上一层次提供更加高层服务接口。越靠近底层的协议也越接近物理实现细节,越靠近顶层的协议越接近人们的认识和理解,每一层都是在下一层的基础上做更高层的抽象,屏蔽细节,提供更高级的、更本质的服务。借助七层体系结构模型,网络系统最终完成了用户信息到物理线路信息的正确、可靠的转换,实现了计算机之间的通信。 案例2: 随着互联网的迅猛发展、Web信息的增加,用户要在信息海洋里查找自己所需的信息,就象大海捞针一样,搜索引擎技术恰好解决了这一难题。搜索引擎是指互联网上专门提供检索服务的一类网站,这些站点的服务器通过网络搜索软件或网络登录等方式,将Internet上大量网站的页面信息收集到本地,经过加工处理建立信息数据库和索引数据库,从而对用户 提出的各种检索做出响应,提供用户所需的信息。 索引作为计算思维的主要特征之一,在计算机信息检索方面应用十分广泛,它也是Web搜索引擎的核心技术之一。搜索引擎要对所收集到的信息进行整理、分类、索引以产生索引库,其工作原理和图书的索引本质上是一样的。目前各搜索引擎只是具体的算法有所不同而已。核心的技术可以公开,但核心的搜索算法则是一级机密。 案例3: 尽管计算机的运算速度很快,可它们解决问题的速度还是存在上限。多核计算机通过并行计算加快了计算机处理数据的速度,而在网络环境中,进—步加快运行速度的方法是让不同的计算机同时处理问题的不同部分。即将多台计算机通过网络连接在一起,形成分布式网络系统,另外,还有大规模并行超级计算机(数千台计算机紧密联系在一起),可用于将一个大的任务划分成不同部分并分配给不同的计算机去解决。 在本章中所提到的分布式网络“云计算”则体现了计算思维中并行处理的特征。而“云”的概念则是计算思维高度抽象化的体现。 案例4: 网络负责从一台计算机传送消息到另一台计算机,直到它到达目的地。你可以把网络想象成一个高速公路系统,信息在繁忙的路上奔驰着,计算机们在岔口处认真地接收着每条信息,然后将它们转发到正确的目的地。和真正的道路不同,这些路上的每个岔口处每秒钟都有数以千计的信息们到达。将信息发送给正确目的地被称为“路由”。事实上,常常有一个名叫路由器的设备作为网络的一部分,用以传送所有信息到正确的计算机。如果我们不按照这些路由的步骤来发送信息,那么我们将不得不在每两个计算机间建立一个直接连接用于交流信息,这弄不好将需要用到无穷根网线。 有网络必有通信,有通信必有协议。从网络中获取更多的信息和向网络发布自己的消息,是网络互连的最主要的动力。把自己的网络同其他的网络互连有多种方式,其中使用最多的是路由器互连。路由器互连与网络的协议有关,路由器工作在网络OSI模型中的第三层,即网络层。路由动作包括两项基本内容:寻径和转发。寻径即判定到达目的地的最佳路径,由路由选择算法来实现。转发即沿寻径好的最佳路径传送信息分组。 计算思维采用了抽象和分解来迎战浩大复杂的任务或者设计巨大复杂的系统。计算思维建立在计算过程的能力和限制之上,由人由机器执行。网络OSI模型是一个抽象的理论模型,路由器所使用的协议则是该模型的分解。路由器所采用的算法则是计算思维在机器上的实践过程,协议和算法为路由器设计奠定了基础。 本章小结与思考 本章主要介绍计算机网络的基本概念,包括网络发展的历程、网络的定义与功能、网络的各种分类方法及特性、网络拓扑结构、网络体系结构与协议、常见传输介质、设备及其作用。结合日常使用计算机网络的情况重点介绍了Internet基本概念及应用,包括IP地址、域名系统、Internet的各种上网方式及常用的服务等。通过学习计算机网络的基础知识,了解如何构建小型局域网的使用环境;如何构建网络服务器成为网络应用的重要组成部分之一,从一个网络资源的消费者转变成为生产者;如何使用各种方式获取网络信息资源是十分必要的。对于在高等院校就读的学生,还需要关注学校可以提供的得天独厚的信息资源。 由于近年来互网络技术的不断发展,催生一系列新的应用并走向多元化,人们在工作、学习和生活中越来越多地使用互联网,整个社会的运行都搭上了互联网的快车,并打上了互联网的烙印。 物联网被视为继个人计算机、互联网与移动通信网之后的信息产业新方向。它将用户端延伸和扩展到了任何物品,让物体拥有“智慧”,从而实现人与物、物与物之间的沟通。而云计算的核心思想,则是将大量用网络连接的计算资源统一管理和调度,构成一个计算资源池向用户提供按需服务。 学习完本章后,请思考并讨论以下提出的几个问题: 1(试述Ping、Ipconfig命令的基本功能。 2(使用搜索引擎时,哪些操作符号可以用来表达搜索意愿,各自的作用是什么? 3(DHCP指的是什么? 使用DHCP服务能带来什么好处? 简述主机通过DHCP获得地址的过程。DHCP支持哪几种地址分配方式? 4(谈谈你对物联网、云计算的认识,物联网有可能在哪些方面应用到你所学的专业上。 9.5本章计算思维的典型案例 案例1: 缓存、保护、系统恢复作为算思维方式普遍应用于网络信息传输与网络安全的各个节点中。 在实际应用中,网络上的节点在等待传送信息的过程中可以储存大量信息,这一现象被称为缓冲或队列。然而,缓冲的大小取决于计算机上的可用空间,如果缓冲溢出,这台计算机要么将无法接收任何信息直到缓冲队列重新为空,要么会丢失传送过来的信息。计算机中的缓冲通常能一边等待下一台计算机或网络设备准备好接收下一条信息,一边自己储存大量信息。过溢的缓冲可能暴露出计算机被攻击的弱点。比如,在设计糟糕的系统中,一个“拒绝服务”(DoS)攻击会同时发送大量信息给这台计算机,一旦这台计算机的缓冲队列被填满,那么它将丢失接下来进入的信息,包括它自身需要的合法信息,这是黑客常用的攻击手段之一。通过运用各种手段软件和硬件手段,如采用防火墙、设计算法并编写防御性保护代码等,保护缓冲区免受溢出的攻击和影响。 案例2: 人们习惯于沿着事物发展的正方向去思考问题并寻求解决办法。其实,对于某些问题,尤其是一些特殊问题,从结论往回推,倒过来思考,从求解回到已知条件,反过去想或许会使问题简单化。这样的思维方式就叫逆向思维。逆向思维也可以看做是应用计算思维求解问题的一种手段。 计算机病毒之所以能够破坏计算机系统,它往往是利用了计算机系统设计中的漏洞。我们知道,最保险的防治病毒的方式是设计没有漏洞的计算机软件系统。但是由于软件规模的庞大,计算机系统的复杂程度使得出现漏洞是不可避免的。漏洞的存在终究是系统的不完善,如果没有恶意的病毒破坏,这些漏洞则很可能成为一个暗藏的隐患,直到造成无法预计的灾难。 在病毒防治过程中,我们可以运用逆向思维去利用病毒,从技术上借鉴病毒迅速的传播和衍生方式,来完善计算机系统。毕竟病毒(指其技术原理)也是人类的智力成果之一。 案例2: 数据加密是保证信息安全的重要手段之一,它涉及大量的算法,是毫无争议的典型的计 算思维案例。设计加密算法设计需要具备良好的数学素养。数学具有运用抽象思维去把握实际的能力,应用数学知识去解决实际问题时的建模过程是一个突出主要因素的科学抽象过程。进行抽象和形式化需要学习和掌握常用的计算思维方式。 例如,穷举法(又称枚举法)是一种比较耗时的算法,但正是计算机的出现,使得穷举法有了用武之地。针对密码的暴力破解法就是一种用穷举法实现的密码破译方法,它对密码进行逐一测试直到找到真正的密码。例如一个已知是六位并且全部由数字组成的密码,共有66 10种组合,最多尝试10-1次就能找到正确的密码。理论上利用这种方法可以破解任何一种密码,但如果密码比较复杂的话,破译密码的时间会很长,因此我们在设置密码时就需要充分考虑密码的复杂性,以增加密码被破译的难度。 本章小结与思考 本章介绍了保证信息安全的基本策略和常用技术,包括密码技术、防火墙技术等,部分地展示了当前信息安全技术发展状况。信息安全任重道远,新的安全问题会不断出现,新的安全技术、安全方法也将不断产生。 计算机和通信网络已经广泛应用于社会的各个领域,以此为基础建立的各种信息系统给人们的生活和工作带来了极大的便利,但随之也产生了信息安全的问题。信息安全涉及整个信息系统,无论硬件系统、软件系统还是网络都存在相关安全问题,黑客入侵、计算机病毒、恶意程序这些都是计算机用户每时每刻都面临的问题。因此,掌握必要的信息安全管理和安全防范技术是非常必要的。利用防火墙、杀毒软件,可以在一定程度上防护恶意软件的入侵。对数据加密是安全的最后一道防线,可以在系统被攻破后对数据进行保护。此外,采用法律手段也是增强计算机网络系统安全性的必备方法。通过对本章的学习,读者可初步理解计算机信息安全的基本原理,提高信息安全意识,通过采取各种必要的软硬件防范措施,达到信息的安全。 学习完本章后,请思考并讨论以下提出的几个问题: 1(简述网络端口与漏洞的关系。 2(请说明网络面临的主要威胁和防护措施,并查询有关“黑客”对计算机造成危害的实例。 3(网络攻击的主要方式有哪些?主动攻击与被动攻击的区别是什么?
/
本文档为【计算思维案例及平时成绩讨论题】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索