算法与程序设计

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第二部分算法与程序设计(选修)

主题1算法与程序设计

1.1算法

1.1.1计算机解决问题的过程

知识点1:人是如何解决问题的

【知识链接】

本考点要求学生达到“了解”水平。

解决问题的过程可以总结为:观察、分析问题,收集必要的信息,尝试按照一定的方法和步骤解决问题。一般来说,同一个问题可以有多种解决方法,但不同的方法有优劣之分。评价一种方法的优劣要与具体情况相结合。

要理解本考点的内容除了用教科书中“韩信点兵”的例子外,还可以举出其他一些例子,例如:最小公倍数问题、班级活动的设计等。

【技能扫描】

培养将生活中的实例整理成条理化步骤的好习惯,提高自己的逻辑思维和语言叙述能力。

体会逻辑关联词“如果……那么……”、“或者”、“并且”、“否则”的含义,能把这些逻辑关联词翻译成数学“语言”。

【典型题析】

1. 分析“这个人谁都不认识”的含义,体会同一种叙述在不同语境中可以表达不同的意思。

分析:第一种解释是在场的所有人都不认识这个人(这个人是被认识的对象);第二种解释是这个人不认识在场的所有人。

2.张三有一杯咖啡,李四有一杯牛奶,在不交换杯子的前提下如何交换两人的饮料。

分析:设张三的杯子为X,李四的杯子为Y,找一个空杯子T。将X杯中的咖啡倒入T杯中,将Y杯中的牛奶倒入X杯中,再将T杯中的咖啡倒入Y杯中即可。可以写成X→T,Y→X,T→Y。

【模拟练习】

1.把从早晨起床到学校的过程整理成算法(解决问题的方法和步骤)并表述出来。

2.一个侦探逮捕了5个嫌疑犯b因为这5个人供出的作案地点各有出入,进一步审讯后,他们分别提出了如下的申明。

A:5个人当中有1个人说了谎。

B:5个人当中有2个人说了谎。

C:5个人当中有3个人说了谎。

D:5个人当中有4个人说了谎。

E:5个人全说了谎。

然而只能释放说真话的人,请问该释放谁呢?

3.小明有一盒刘德华的歌曲磁带,小云有一盒梁咏琪的歌曲磁带,在不交换磁带的基础上,怎样将两盒磁带上的歌曲对录到对方的磁带上。

参考答案:

1.略

2.提示:

假如E说的是真的,即五个人都说了谎,则A、B、C、D、E都说了谎,自相矛盾,排除;

假如D说的是真的,即有四个人说了谎,则A、B、C、它都说了谎,刚好是四个人说了谎,正确;

假如C说的是真的,即有三个人说了谎,则A、B、D、E都说了谎,四个人说了谎,故C为假;

假如B说的是真的,即有二个人说了谎,则A、C、D、E都说了谎,B为假;

假如A说的是真的,即只有一个人说了谎,则B、C、D、E都说了谎,矛盾,故也为假。故只能放D。

3.提示:

典型题析2中交换两种饮料和本题中的磁带对录问题,都与计算机算法中将要解决的“交换两个变量的值”的问题类似,理解这种解决问题的方法,才能写出解决问题的步骤。

知识点2:计算机解决问题的过程

【知识链接】

本考点要求学生达到“了解”水平。

计算机程序(Computer Program)是指示计算机如何去解决问题或完成任务的一组可执行的指令。

程序设计(Program Design)是寻求解决问题的方法,并将其实现步骤编写成计算机可以执行的程序的过程。

程序设计语言(Program Language)泛指一切用于书写计算机程序的语言。

注意:程序设计语言和计算机语言(Computer Language)是两个不同的概念,程序设计语言是一种重要的计算机语言。

计算机解决问题和人解决问题有着本质的区别:计算机解决问题要经历分析问题、确定算法、

编程求解等基本过程。计算机解决问题的流程如下:

开始结束

编写程序日寸,首先要对问题进行详细的分析,明确已知条件下的初始状态及要达到的目标,找出求解问题的方法和过程,并抽取出一个数学模型,形成算法;然后将这个数学模型连同它要处理的数据,用计算机能识别的方式描述出来,使之成为计算机能处理的对象;最后用程序设计语言设计出具体的问题求解过程,形成计算机程序。

IBM公司的“深蓝”能够战胜国际象棋大师卡斯帕罗夫,原因是人们将国际顶尖象棋大师在过去100年问开局和终局的数十亿范例存入计算机数据库,针对卡斯帕罗夫每一步的对弈,计算机都从数据库中查找能够取胜的应对步骤。所以不是“深蓝”战胜了卡斯帕罗夫,而是缜密的计算机程序战胜了卡斯帕罗夫。

【技能扫描】

利用类比的方法体会计算机解决问题和人解决问题的异同,锻炼类比、推理的能力。

【典型题析】

与人解决问题相比,计算机解决问题的优势有哪些?劣势是什么?

分析:计算机具有存储量大、运算速度快、精确度高、可重复执行命令等优点,这些优势是人无法比拟的,但计算机也有自身的劣势,那就是它无法完成随意性强、无逻辑性的随机问题,计算机只是一个高级工具。到目前为止,还没有一台真正具有人类智能的计算机。

【模拟练习】

1.IBM公司的“深蓝”能够战胜国际象棋大师卡斯帕罗夫是因为()。

A.计算机具有很高的智商

B.计算机具有很快的运算速度

C.计算机事先装载了很多棋局

D.计算机能根据装载的棋局,经过程序判断作出对弈选择

2.利用计算机解决问题的过程描述中,以下说法正确的是()

A.编写程序→调试程序→分析问题→设计算法

B.分析问题→编写程序→调试程序→设计算法

C.分析问题→设计算法→编写程序→调试程序

D.分析问题→设计算法→调试程序→编写程序

3.名词解释:计算机程序程序设计程序设计语言

参考答案:1. D 2. C 3. 略

1.1.2算法的描述方法

知识点1:算法

【知识链接】

本考点要求学生达到“了解"水平。

相关文档
最新文档