计算机解决问题的过程
- 格式:pdf
- 大小:119.60 KB
- 文档页数:6
计算机解决问题的5个步骤计算机解决问题的过程可以分为五个主要步骤,包括问题定义、算法设计、编写程序、测试和调试、以及解决问题。
每个步骤都是独立的,但彼此又相互关联,都需要正确地执行才能最终达到解决问题的目标。
1.问题定义:问题定义是解决问题的起点,它涉及明确问题的需求和目标。
在这个阶段,我们需要仔细分析问题背景、确定问题的输入和输出、定义问题的约束条件以及规定问题的界限。
具体来说,我们需要搞清楚问题的输入是什么、它们的格式和类型是什么,以及最终希望得到什么样的输出。
问题定义的准确性对后续步骤的执行非常重要,因为一个明确的问题定义将为算法设计和程序编写提供清晰的指导。
2.算法设计:在问题定义的基础上,我们需要设计一个合适的算法来解决问题。
算法是一组指令或规则的集合,描述了解决特定问题的步骤和操作。
算法设计可以采用多种方法,如流程图、伪代码等。
在设计算法时,我们需要考虑问题的性质和特点,选择适当的数据结构和算法策略。
好的算法应该具有高效性、可读性和可维护性,能够快速准确地解决问题。
3.编写程序:在完成算法设计后,我们需要用具体的编程语言来实现算法。
编写程序的关键是将算法转化为计算机可以理解和执行的代码。
编程语言提供了一系列的语法和规则,我们需要按照这些规则来编写代码,并将问题的输入转化为相应的数据结构,然后根据算法进行计算和操作。
编写程序需要仔细考虑各种细节,包括变量的命名、语句的顺序、循环和判断结构等。
在编写程序的过程中,我们还可以利用现有的库和框架来提高开发效率。
4.测试和调试:编写完程序后,我们需要对其进行测试和调试,以确保程序的正确性和稳定性。
测试是通过输入一组已知的数据,执行程序并检查输出是否符合预期结果来验证程序的正确性。
调试是在测试过程中发现问题并进行修复的过程。
调试可以通过使用调试工具来追踪程序的执行过程,查找错误和异常。
测试和调试是一个迭代的过程,可能需要多次进行才能最终得到一个正确和可靠的程序。
计算机解决问题的一般过程
1. 问题定义:首先,需要明确问题的目标和需求,确定计算机需要完成的任务。
2. 分析问题:对问题进行分析,理解其本质和要求,确定解决问题所需的输入和输出。
3. 设计算法:根据问题的分析结果,设计一种解决问题的算法。
算法是一系列步骤的描述,用于指导计算机如何完成任务。
4. 编程实现:使用编程语言将算法转化为可执行的程序代码。
编程语言可以是高级语言如Python、Java 等,也可以是低级语言如汇编语言。
5. 测试与调试:编写完程序后,需要进行测试和调试,以验证程序的正确性和可靠性。
这包括检查输入输出是否符合预期,修复可能存在的错误等。
6. 运行程序:在测试和调试通过后,将程序在计算机上运行,执行算法来解决问题。
7. 结果输出:计算机根据算法的执行结果,输出问题的解决方
案。
8. 维护与改进:根据实际应用情况,对程序进行维护和改进,以适应新的需求或修复可能出现的问题。
信息技术:计算机解决问题的过程在当今这个数字化的时代,计算机已经成为我们生活和工作中不可或缺的一部分。
从智能手机中的各种应用程序,到企业的复杂业务系统,计算机无时无刻不在帮助我们解决各种各样的问题。
那么,计算机究竟是如何解决问题的呢?这背后又有着怎样的过程和原理呢?要理解计算机解决问题的过程,首先我们需要明确一个概念,那就是计算机并不能像人类一样“思考”和“理解”问题。
它所依靠的是一系列预先设定好的指令和算法,按照特定的步骤来处理数据和执行任务。
当我们向计算机提出一个问题时,比如计算两个数的和,计算机首先要做的是将这个问题进行“翻译”,转化为它能够理解的形式。
这就涉及到编程语言和输入设备的作用。
我们通过键盘、鼠标等输入设备,使用特定的编程语言,如 Python、C++等,将问题以代码的形式输入到计算机中。
在接收到我们输入的指令后,计算机的中央处理器(CPU)开始发挥作用。
CPU 就像是计算机的“大脑”,负责执行各种计算和控制操作。
它会从内存中读取相关的程序和数据,并按照预定的逻辑顺序进行处理。
以一个简单的加法运算为例,假设我们要计算 5 + 3 的结果。
计算机首先会从内存中读取这两个数字,然后使用加法指令将它们相加,得到 8 的结果。
这个过程看似简单,但实际上涉及到了大量的电子信号传输和逻辑判断。
然而,现实中的问题往往比简单的加法运算要复杂得多。
对于更复杂的问题,计算机需要采用更复杂的算法和数据结构来进行处理。
比如说,在进行排序操作时,计算机可能会使用冒泡排序、快速排序等算法。
以冒泡排序为例,它会依次比较相邻的两个元素,如果顺序不对就进行交换,经过多次循环,最终将数组中的元素按照从小到大或从大到小的顺序排列好。
在处理图像、音频等多媒体数据时,计算机需要使用专门的技术和算法。
例如,在图像识别中,计算机需要对图像中的像素进行分析和处理,提取出特征信息,然后与预先存储的模板进行比对,从而识别出图像中的物体或场景。
计算机程序——计算机解决问题的过程在当今这个数字化的时代,计算机已经成为我们生活中不可或缺的一部分。
从智能手机中的各种应用,到办公室里的自动化软件,再到控制交通信号灯的系统,计算机程序无处不在,默默地为我们解决着各种各样的问题。
那么,计算机程序究竟是如何帮助计算机解决问题的呢?要理解计算机程序解决问题的过程,首先得明白计算机的工作原理。
计算机本质上是一种能够按照预定的规则和指令进行数据处理和计算的机器。
它不懂什么是情感、创造力或者直觉,只会根据输入的指令和数据,进行精确的运算和操作。
当我们面对一个需要解决的问题时,比如计算一组数据的平均值,或者找出一个文本中出现频率最高的单词,首先要做的就是将这个问题进行清晰明确的定义和描述。
这一步非常关键,因为如果问题的定义不清晰,计算机就无法准确理解我们的需求。
接下来,我们需要设计一种解决问题的方法或算法。
算法就像是一本详细的操作手册,告诉计算机在每一个步骤应该做什么。
以计算平均值为例,我们需要告诉计算机先将所有的数据相加,然后除以数据的个数。
这个过程看起来简单,但在实际编写程序时,需要考虑各种可能的情况,比如数据的类型(整数、小数)、数据的数量是否固定等等。
有了算法之后,就可以使用某种编程语言将其转化为计算机能够理解的程序代码。
编程语言就像是我们与计算机交流的语言,有很多种,比如 Python、Java、C++等。
每种语言都有自己的语法和规则,但它们的目的都是为了让我们能够向计算机传达我们的意图。
在编写程序的过程中,我们需要定义变量来存储数据,使用控制结构(如循环、条件判断)来控制程序的流程。
还是以计算平均值为例,我们可能会定义一个变量来存储总和,一个变量来记录数据的个数,然后通过一个循环来依次读取每个数据并进行相加。
当程序编写完成后,就可以将其输入到计算机中进行编译和运行。
编译的过程就是将我们编写的源代码转换成计算机能够直接执行的机器代码。
如果在编译过程中发现了语法错误或者逻辑错误,计算机会给出相应的提示,我们需要根据提示对程序进行修改,直到编译成功。
计算机解决问题的过程在当今社会,计算机已经成为了我们工作和生活中不可或缺的一部分。
从个人电脑到超级计算机,计算机在解决问题和提供解决方案方面发挥着重要作用。
那么,计算机是如何解决问题的呢?本文将从计算机解决问题的整体过程、问题解决的方法以及计算机如何应用这些方法来探讨这个问题。
计算机解决问题的整体过程可以概括为四个步骤:问题定义、问题分析、解决方案设计和解决方案实现。
首先是问题定义,这一步是确定要解决的问题,并明确问题的范围和目标。
接着是问题分析,这一步是对问题进行彻底的分析、拆解和理解,以便找到解决问题的关键点。
然后是解决方案设计,这一步是根据问题的分析结果,设计出能够解决问题的方案,并为其制定合理的计划和策略。
最后是解决方案实现,这一步是将设计好的解决方案付诸实施,并对其进行测试和验证,以确保其能够有效地解决问题。
这四个步骤构成了计算机解决问题的整体过程,每一步都至关重要,缺一不可。
与人类解决问题的方法相似,计算机也有自己的问题解决方法。
常见的计算机问题解决方法包括算法、模拟和智能系统。
首先是算法,算法是解决问题的一种数学方法,它是一系列精确的操作步骤的有序集合,可以用于解决特定类型的问题。
算法可以分为逻辑算法和数值算法,逻辑算法主要用于解决逻辑性问题,而数值算法主要用于解决数学计算问题。
接着是模拟,模拟是一种模仿真实世界的方法,通过计算机模拟真实世界的过程和行为,以解决实际问题。
模拟可以分为数学模拟和物理模拟,数学模拟主要用于解决数学问题,而物理模拟主要用于解决物理问题。
最后是智能系统,智能系统是一种模拟人类智能的计算机系统,通过模拟人类的思考和决策过程,以解决复杂的问题。
智能系统可以分为专家系统、神经网络和遗传算法等,它们都具有自学习和自适应的能力,可以不断地优化和改进解决方案。
计算机如何应用这些方法来解决问题呢?在实际应用中,计算机会根据具体的问题和需求,选择适合的问题解决方法,并进行相应的计算和处理。
计算机解决问题步骤计算机解决问题的步骤一、基本动作要领1. 明确问题这就像是你要去一个地方,得先知道目的地在哪。
你得把要解决的问题搞清楚,到底是计算一个复杂的数学公式,处理一些文字数据,还是查找某个文件之类的。
比如我之前想要算出自己一个月的收支情况,那我的问题就是统计收入和支出并计算差额。
这可是最基础的一步,要是问题都不明确,后面就全乱套了。
记住了,这个动作很重要,一定要仔细想清楚需求。
2. 分析问题这一步有点像规划路线。
在明确了要去的地方(问题)后,要看看怎么去,有几条路可走。
像要算出收支差额,那我就要分析需要把收入项汇总,把支出项汇总,然后相减。
要考虑这个问题有没有什么前置条件,有没有特殊要求。
比如说收入是否含税啊,要不要分不同类型的支出什么的。
这是个很重要的思考过程,得多花点时间,不要着急进入下一个步骤。
3. 设计算法这时候就像是根据路线规划制定具体的行动方案。
比如为了算出收支差额,我的算法就是先设置两个变量,一个存储总收入,一个存储总支出。
然后把每一笔收入加到总收入变量里,每一笔支出加到总支出变量里,最后用总收入减去总支出得到结果。
这个算法就像是做菜的食谱,每一步都得很明确。
4. 编写程序或选择合适的软件工具这就好比你要去旅行,你可以选择走路去(自己编写程序实现需求),也可以选择乘车(用现成的软件工具)。
如果是自己编写程序,那就要根据设计好的算法用编程语言把它实现出来。
要是用软件工具,就去找个能满足需求的,像计算收支差额就可以用一个账本类的APP。
如果是编写程序,编程语言有很多种,像Python就比较简单易学。
我学Python的时候试过好多次才慢慢掌握怎么把算法转化为代码,像给变量赋值这些基本操作,格式不对就会出错。
这里一定要小心,每个编程语言都有它的语法规则,就像不同地方的交通规则一样,必须遵守。
要是用软件工具,那也要了解这个工具的基本操作流程。
二、个人小技巧1. 在分析问题阶段,可以把问题分解得更细。
计算机解决问题的过程在我们的日常生活中,计算机已经成为了不可或缺的一部分。
从简单的计算到复杂的数据分析,从娱乐休闲到科学研究,计算机都在发挥着重要的作用。
但你是否想过,计算机是如何解决各种各样的问题的呢?要理解计算机解决问题的过程,首先我们得明确一个概念,那就是计算机并不会像人类一样思考。
它没有创造力、直觉或者情感,它所做的一切都是基于预先设定的程序和指令。
当我们给计算机一个问题时,第一步就是对问题进行明确的定义和描述。
这就好比我们要去一个陌生的地方,首先得知道目的地在哪里。
对于计算机来说,清晰准确的问题描述是至关重要的。
如果我们给的信息模糊不清或者不完整,计算机就会像迷路的孩子一样不知所措。
接下来,计算机需要把这个问题转化为一种它能够理解和处理的形式。
这通常涉及到使用特定的编程语言或者算法来构建一个模型。
比如说,如果我们要让计算机计算两个数的和,我们就需要用编程语言告诉它如何获取这两个数,然后如何进行加法运算。
在问题被转化为计算机能够理解的形式之后,就进入了算法设计的阶段。
算法可以简单地理解为解决问题的一系列步骤。
一个好的算法应该是高效、准确并且能够在合理的时间内给出答案。
以排序问题为例,有冒泡排序、快速排序等多种算法,不同的算法在不同的情况下可能会有不同的效率。
有了算法,计算机就可以开始执行了。
在执行过程中,计算机按照预定的步骤一步一步地进行操作,处理数据、进行计算,并不断地检查中间结果是否正确。
这就像是一个精密的机器在有条不紊地运转。
在执行完算法之后,计算机得到了一个结果。
但这个结果并不一定就是最终的答案,还需要进行验证和评估。
如果结果不符合预期,那么就需要回过头去检查问题的定义、算法的设计或者执行过程中是否出现了错误。
比如说,在进行一个数学计算时,如果得出的结果明显不合理,那么很可能是在某个步骤中出现了差错,比如数据输入错误、算法选择不当或者计算过程中的逻辑错误。
为了让大家更清楚地理解计算机解决问题的过程,我们来看一个具体的例子。
举例说明计算机求解问题的过程在计算机科学领域中,求解问题是一项重要而又复杂的任务。
在本文中,我将通过举例说明计算机求解问题的过程,以及解决问题的方法和策略。
我将从简单到复杂,由浅入深地探讨这一主题,以期让读者更深入地理解计算机求解问题的过程。
1. 分析问题计算机求解问题的过程始于对问题的深入分析。
就像人类面临问题时需要仔细分析一样,计算机也需要对问题进行彻底的分析,以确保能够找到合适的解决方案。
在一个简单的数学问题中,计算机需要分析问题的输入、输出和相关条件,才能找到适当的解决方案。
2. 设计算法一旦问题得到了充分的分析,接下来就需要设计解决问题的算法。
算法是指一组清晰的指令和步骤,可以帮助计算机解决特定的问题。
举一个简单的例子,当计算机需要对一组数字进行排序时,它就需要设计一个排序算法,例如冒泡排序或快速排序。
这些算法能够帮助计算机有效地解决排序问题。
3. 编写代码一旦算法设计完成,接下来就需要将算法转化为计算机能够理解和执行的代码。
编写代码是计算机求解问题过程中至关重要的一步。
通过编写代码,计算机能够按照设计好的算法来执行解决问题的步骤。
举个例子,如果要解决一个简单的加法问题,计算机就需要编写相应的代码,以实现对数字的加法操作。
4. 测试与调试完成代码编写后,就需要进行测试和调试。
在测试过程中,计算机将会对指定的问题进行求解,并输出相应的结果。
如果结果符合预期,那么说明代码正确无误。
但如果出现问题,就需要通过调试来找出并修复错误。
测试与调试是确保计算机能够正确求解问题的重要环节。
总结回顾计算机求解问题的过程包括对问题的分析、算法的设计、代码的编写以及测试与调试。
通过这一系列的步骤,计算机能够有效地解决各种复杂的问题,从而为人类社会带来了许多便利和进步。
个人观点与理解在我看来,计算机求解问题的过程实际上是一种复杂的思维活动。
通过对问题的深入分析和算法的设计,计算机能够模拟人类的思维过程,并最终找到解决问题的方法。
计算机解决问题的过程计算机在现代社会中扮演着越来越重要的角色,无论是在生活中还是在工作中,计算机都可以帮助我们解决各种各样的问题。
计算机解决问题的过程不仅仅是简单的执行指令,而是一个复杂而又精密的系统。
在这篇文章中,我们将深入讨论计算机解决问题的全过程,包括问题的定义、算法的设计、编程实现和最终的解决方案。
问题的定义问题的定义是解决问题的第一步,这一步非常重要,因为一个清晰明确的问题定义将直接影响到后续的解决步骤。
在问题定义阶段,我们需要明确问题的背景、需求和目标,并且尽量将问题具体化、清晰化。
如果我们要解决一个物流配送问题,我们需要明确配送的物品种类、数量、配送地点和配送时间等具体信息,这样才能够更好地进行后续的解决步骤。
算法的设计一旦问题被清晰地定义出来,接下来就需要设计合适的算法来解决这个问题。
算法是一种具体的解决问题的方法,它可以被理解为一系列的步骤和规则的集合,用来解决特定的问题。
在算法设计的过程中,我们需要考虑问题的复杂程度、计算的效率、资源的利用以及解决方案的可行性等方面。
而且,一个好的算法设计可以大大提高问题的解决效率,降低解决的成本。
编程实现一旦算法设计完成,就需要将其转化为计算机可以理解和执行的程序。
编程实现是算法设计的具体实现过程,它需要将算法转化为计算机语言的形式,使得计算机可以根据程序的指令来进行相应的计算操作。
在编程实现的过程中,我们需要考虑诸如程序的结构、语法规范、变量的定义、函数的调用以及程序的调试等方方面面。
解决方案最终,通过编程实现,我们将得到一个可以解决问题的程序,并且通过程序的运行,计算机将输出一个具体的解决方案。
这个解决方案可能是一个物品的配送方案、一个数值的计算结果或者一组数据的分析报告等。
无论是什么样的解决方案,它都代表着计算机成功解决了问题,达到了问题定义的目标。
一旦得到了解决方案,我们还需要对其进行验证和优化,来确保其有效性和可靠性。
总结计算机解决问题涉及到问题的定义、算法的设计、编程实现和解决方案的获得等多个环节。
引言用计算机解决问题一般步骤:一般来说,用计算机解决一个具体问题时,大致经过以下几个步骤:首先要从具体问题抽象出一个适当的数学模型,然后设计一个解此数学模型的算法,最后编出程序进行测试调整知道的到最终解答。
寻求数学模型的实质就是分析问题,从中提取操作的对象,并找出这些操作对象之间含有的关系,然后用数学的语言加以描述。
三种经典的数学模型图书书目自动检索系统——线性关系 博弈问题——树 城市道路问题——图数据结构(data structure )简单的解释:相互之间存在一种或多种特定关系的数据元素的集合。
数据间的联系有逻辑关系、存储联系,通常的数据结构指的是逻辑结构。
前面提到的三种经典的数学模型体现了数据结构的基本结构,数据结构通常有如下四种关系:(1)集合结构 (2)线性结构 (3)树形结构 (4)图状结构 ☆ 线性表(一)N 个数据元素的有限序列存储结构:顺序存储结构、链式存储结构 (1) (2) (3) (4) (5) (6) (7) (8) 12 131522343843当需要在顺序存储的线性表中插入一个数据元素时,需要顺序移动后续的元素以“腾”出某个合适的位置放置新元素。
删除元素呢? ☆ 线性表(二) 链式存储插入新元素的时候只需要改变指针所指向的地址。
☆ 二维数组与线性表 具体问题数学模型算法 编程、调试 得到答案20如果某一线性表,它的每一个数据元素分别是一个线性表,这样的二维表在数据实现上通常使用二维数组。
二维数组的一个形象比喻——多个纵队形成的方块m * n☆数组地址计算问题题目描述:已知N*(N+1) / 2个数据,按行的顺序存入数组b[1],b[2],…中。
其中第一个下标表示行,第二个下标表示列。
若aij (i>=j ,j=1,2,…,,n)存于b[k]中,问:k,i,j之间的关系如何表示?给定k值,写出能决定相应i,j的算法。
答案①K=i*(i-1)/2+j②Read(k);For i:=1 to k dofor j:=1 to i doif k=(trunc(I*(I-1)/2)+j) then writeln(k,’对应的i,j为:‘,i,’,’,j)☆栈特殊的线性表操作特点:后进先出(Last In First Out)栈顶——表尾栈底——表头空栈☆栈(考题分析)(1998)栈S初始状态为空,现有5个元素组成的序列{1,2,3,4,5},对该序列在栈S 上一次进行如下操作(从序列中的1开始,出栈后不再进栈):进栈、进栈、进栈、出栈、进栈、出栈、进栈。
1-1节计算机解决问题的过程
一、教学目标
1、知识与技能
(1)让学生了解算法、穷举法、程序设计语言、编写程序和调试程序等概念。
(2)让学生知道对现实问题的自然语言的描述,特别是类似程序设计语言的自然语言描述。
(3)让学生理解分析问题、设计算法、编写程序、调试程序这一用计算机解决问题的基本步骤,认识其在算法与程序设计中的作用。
2、方法与过程
(1)培养学生发现旧知识的规律、方法和步骤,并把它运用到新知识中去的能力。
(2)培养学生调试程序的能力。
(3)培养学生合作、讨论、观摩、交流和自主学习的能力。
3、情感态度和价值观
通过“韩信点兵”这个富有生动情节的实例和探究、讲授、观摩、交流等环节,让学生体验用计算机解决问题的基本过程。
二、重点难点
本节的重点用计算解决问题的过程中的分析问题、设计算法、和上机调试程序等步骤。
用计算机解决问题的过程中的分析问题、设计算法也是本节的难点。
三、教学环境
1、教材处理
教学内容选用中华人民共和国教育部制订的《普通高中技术课程标准》(2003年4月版)中信息技术部分的选修模块1“算法与程序设计”第一章的第一课“计算机解决问题的过程”。
教材选用《广东省普通高中信息技术选修一:算法与程序设计》第三章第一节,建议“算法与程序设计”模块在高中一年级下学期或高中二年级开设。
根据2003年4月版《普通高中技术课程标准》的阐述,“算法与程序设计”是普通高中信息技术的选修模块之1,它的前导课程是信息技术的必修模块“信息技术基础”。
学生在“信息技术基础”模块里已经学习了计算机的基本操作,掌握了启动程序、窗口操作和文字编辑等基础知识。
学生可以利用上述的基础知识,用于本节课的启动Visual Basic程序设计环境,输入程序代码,运行程序等操作。
本节课“计算机解决问题的过程”是“算法与程序设计”模块的第一节课,上好这节课是使学生能否学好“算法与程序设计”这一模块的关键。
本节课的教学目的是让学生理解分析问题、设计算法、编写程序和调试程序等用计算机解决问题的基本过程,认识其在算法与程序设计中的地位和作用,它也是后续课程如模块化程序设计、各种算法设计等课程的基础。
让学生在人工解题中发现分析问题、设计算法等步骤,并把它应用到用计算机解决问题中去,这是构建主义中知识迁移的方法。
本节课还采用了探究、讲授、观摩、交流、阅读材料等多种教学活动的有机结合的方法。
2、预备知识
本节课相联系的旧知识是计算机的基本操作中鼠标、键盘操作,启动、关闭程序,窗口、菜单操作和文字编辑等基础知识,还有解决数学问题的步骤等知识。
3、硬件要求
可以进行屏幕广播的多媒体电脑室。
教师自行设计制作的课件。
准备《计算机解决问题的过程》教学活动表。
4、所需软件
学生机要安装VB6.0或以上版本。
5、所需课时
2课时(100分钟)
四、教学过程
(一)引入
教师:“在科技发达的今天,我们到处都可以看到计算机的踪影,感受到计算机给学习、生活带来的方便。
然而,在惊叹计算机的神奇和享受的欢乐的时候,你是否了解计算解决问题的基本过程?有没有思考过其中的奥妙呢?下面我们先看一个古典的问题:”
学生观看约1分钟的电视剧《汉刘邦》片断,内容大致如下:
“韩信是我国西汉初著名的军事家,刘邦得天下,军事上全依靠他。
韩信点兵,多多益善,不仅如此,还能经常以少胜多,以弱胜强。
在与楚军决战时韩信指挥诸侯联军,在垓下十面埋伏,击败楚军,楚霸王项羽因此自杀。
”
片断结束时屏幕出现“韩信点兵”问题:“相传汉高祖刘邦问大将军韩信统御兵士多少,韩信答说,每3人一列余1人、5人一列余2人、7人一列余4人、13人一列余6人……。
刘邦茫然而不知其数。
你呢?”
(二)问题
教师:“下面我们先助刘邦解决一个简单的问题。
”
展示题目:
“韩信点兵”问题1:求整除3余1、整除5余2、整除7余4的最小自然数。
(三)探究
把全班分成16个学习小组,每个小组的同学一起探究、讨论问题。
利用已学过的数学知识找出题目已知什么求什么、明确已知和未知之间的关系和写出求解问题的解题步骤。
并填写《计算机解决问题的过程》教学活动表中的“探究问题记录表”。
如下:
探究问题记录表
分析问题(找出已知和未知、
写出解题步骤结果
列出已知和未知之间的关系)
给5分钟学生讨论,教师在这过程中到各学习小组中,引导个别学习小组分析问题、写出解题步骤。
教师提问2~3个同学,从中逐渐引导出类似如下的分析问题和解题步骤,并给出算法的概念。
分析问题(找出已知和未知、
写出解题步骤
列出已知和未知之间的关系)
设所求的数为X,则X
1、令X为1。
应满足:
X整除3余1 X整除5余2 X整除7余4
2、如果X整除3余1,X整除5余2,
X整除7余4,这就是题目要求的数,则记下这个X。
3、令X为X+1(为算下一个作准备)。
4、如果算出,则结束;否则跳转2。
5、写出答案。
教师解释第3步“另X为X+1”并指出它与数学中的区别,并从上面的解题步骤中总结出穷举的算法。
教师:“刚才有些同学把题目解出来了,答案是67,韩信作为大将军,统率士兵当然不止67人,下面我们来解决一个数据量稍大的问题。
”
展示题目:
“韩信点兵”问题2:求整除3余1、整除5余2、整除7余4、整除13余6、整除17余8的最小自然数。
给2分钟学生分析上述问题并写出算法,不用计算。
学生有了第1题的经验,很快会写出和第一题类似的算法。
如下:
分析问题(找出已知和未知、
列出已知和未知之间的关系)
写出解题步骤
设所求的数为X,则X 应满足:
X整除3余1
X整除5余2
X整除7余4
X整除13余6
X整除17余81、令X为1。
2、如果X整除3余1,
X整除5余2,
X整除7余4,
X整除13余6,
X整除17余8,则记下这个X。
3、令X为X+1。
4、如果算出,则结束;否则跳转2。
5、写出答案。
教师:“上面的结果超过1万,人工计算要很长时间,在科技发达的今天,你想到什么?”(用计算机解题)
(四)用计算机解决问题
教师:“计算机怎么样解决问题?用计算机解决问题,同样要经过分析问题、设计算法两步骤。
”在讲授过程中展示人工解题中分析问题和设计算法这两个步骤。
教师:“用计算机解题,是不是输入上面的算法?上面用自然语言描述的算法,计算机不懂,必须翻译成计算机的语言,这就是程序设计语言。
”教师展示与用Visual Basic语言编写的程序作对照。
简单解释变Y的作用,并提示学生程序设计语言是我们以后学习的重点。
本例用Visual Basic语言编写的程序请看教材如下:
Private Sub Command1_Click()
Dim X As Integer,Y As Integer
X=1:Y=0
Do
If X Mod3=1Then
If X Mod5=2Then
If X Mod7=4Then
If X Mod13=6Then
If X Mod17=8Then Y=X
End If
End If
End If
End If
X=X+1
Loop Until Y>0
Print"韩信统御士兵数:";Y
End Sub
教师:“程序编好以后,通过键盘输入计算机,并运行程序查看结果这个过程叫调试程序。
”
(五)观摩
根据前面编制的程序,启动Visual Basic程序设计环境,输入程序代码,进行调试,最后得到运行的结果。
具体操作步骤请看教材(第4、5页)。
要求同组内先完成的同学帮助还未完成的同学。
帮助的时候不能代劳,只能动口不动手。
教师演示操作步骤。
学生上机调试程序,教师作个别指导,时间是10分钟。
操作时有些学生很快完成,有些学生则很慢,解决案是布置操作快的同学阅读教材并完成《计算机解决问题的过程》教学活动表中的填空题。
较慢的同学在他们调试了约8分钟后告诉他们可以通过网上邻居下载程序。
以便能在10分钟内调试出程序。
(六)交流
教师:“前面我们学习了用计算机解决问题的过程,它和人工解有什么关系呢?同一学习小组的同学一起探讨人工求解问题和用计算机求解问题的异同,并把讨论结果记录在《计算机解决问题的过程》教学活动表的“讨论记录”表中。
如下:
关于求解问题的方式讨论记录
求解问题的方式相同点不同点
人工求解问题
用计算机求解问题
教师提问2~3个小组的讨论结果,并引导出大致如下的形式结果:
求解问题的方式相同点不同点
人工求解问题
分析问题、设计算法、得
出结果、验算结果等对题目进行解答、运算速度慢、不需要计算机等
用计算机求解问题编写程序、调试程序、运算速度快等。