程序设计的基本方法.doc

  • 格式:docx
  • 大小:50.08 KB
  • 文档页数:33

下载文档原格式

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

程序设计的基本方法

、课题:

二、教学目标:

⑴理解算法的概念,了解描述算法的两种方法一一自然语言和流程图,知道各自的优缺点。

⑵ 初步掌握用流程图描述算法。

三、教学的重点和难点:

⑴算法的概念。

⑵用流程图描述算法。

四、教学过程:

新课导入

我们在日常生活中经常要处理一些事情,就拿邮寄一封信来说

吧,大致可以将寄信的过程分为这样的几个步骤:写信、写信封、贴邮票、投入信箱等四个步骤。将信地投入到信箱后,我们就说寄信过程结束了。

那么在计算机中,它是如何来处理问题的呢?是否和我们日常处理事情的过程很类似呢?

回答是肯定的,例如要设计一个程序让计算机求1+1=?,那

么我们就要先编写程序。在编写程序前需要先确定解决问题的思路和方法,并要正确地写出求解步骤,这就是算法。

新授课

、算法的概念

为了更好地理解算法,举几个例子说明:

例1交换两个变量中的数据。

先请学生考虑解决这个问题的方法, 然后请一个学生说一说自 己想到的解决方法。如学生回答不出来,作适当提示:如果要将 醋瓶中的醋和酒瓶中的酒互换应怎么做?学生会很容易地想到 要借助于一只空瓶子。 分析题意:已知变量x 和y 中分别存放了数据,现在要交换其 中的数据。为了达到交换的目的,需要引进一个类似于空瓶子的 中间变量m 交换两变量中数据的具体算法如下:

①将x 中的数据送给变量m 即XT m

② 将y 中的数据送给变量X ,即yTX ;

③ 将m 中的数据送给变量y ,即nr y 。

例2输入三个不相同的数,求出其中的最小数。

同样,先请学生思考,然后请学生说出他所想到的解决该问题 的方法。 教师分析:先设置一个变量 min ,用于存放最小数。当输入 b 、c 三个不相同的数后,先将 a 与b 进行比较,把小者送给变

量min ,再把c 与min 进行比较,若c

① 若 a

总结:在程序设计中 ,交换变量中的数据常用在排序算法中。

a 、 min ,最后 min 中就是三个数中的最小数,具体算法如下:

②再将c与min进行比较,若cvmin,贝U c—min。这样,min 中存放的即是三个数中的最小数。

请学生思考以下两个问题:

⑴如果要求出三个不相同数中的最大数,该如何设计算法?

⑵ 如果是n个不相同的数,求出其中的最小数呢?

例3输入两个正整数a和b (a>b)求它们的最大公约数。

提问:什么叫最大公约数?

给学生思考后回答。然后举一个用欧几里德法求最大公约数的例子,如求56和32的最大公约数的过程如下:

56 ,32 ,24,8,0

则8就是56和32的最大公约数。从第三项开始的各项,分别

是前两项相除所得的余数,如果余数为0,它的前一项就是a和b的最大公约数。

算法如下:

①输入a,b(a>b);

②求a/b的余数r ;

③如果r工0则将ba a, r a b,再次求a/b的余数r,转③;

④输出最大公约数bo

总结:对于同一个问题,可以有不同的解决方法,即有不同的算法。

二、算法的描述

为了描述一个算法,可以用自然语言、流程图或其他形式进行。

前面的三个例子就是用自然语言描述的。自然语言就是人们日常使

用的语言。用自然语言描述算法,人们比较容易接受。但有个缺点就是叙述比较繁琐和冗长,容易出现“歧义性”。

请学生阅读课本中的讨论与思考,然后分别请学生将自己所理解的含义表述出来。学生可能有两种理解:“老张不认识这个人”和“这个人不认识老张”,从而说明自然语言表述容易产生

“歧义”。为了能够将解决问题的算法清晰、直观地表示出来,我们一起来学习流程图。

、课题:

二、教学目标:

⑴理解算法的概念,了解描述算法的两种方法一一自然语言和流程图,知道各自的优缺点。

⑵初步掌握用流程图描述算法。

三、教学的重点和难点:

⑴算法的概念。

⑵用流程图描述算法。

四、教学过程:

新课导入

我们在日常生活中经常要处理一些事情,就拿邮寄一封信来说

吧,大致可以将寄信的过程分为这样的几个步骤:写信、写信封、贴邮票、投入信箱等四个步骤。将信地投入到信箱后,我们就说寄信过程结束了。

那么在计算机中,它是如何来处理问题的呢?是否和我们日常处理事情的过程很类似呢?

回答是肯定的,例如要设计一个程序让计算机求1+1=?,那

么我们就要先编写程序。在编写程序前需要先确定解决问题的思路和方法,并要正确地写出求解步骤,这就是算法。

新授课

、算法的概念

为了更好地理解算法,举几个例子说明:

例1交换两个变量中的数据。

先请学生考虑解决这个问题的方法,然后请一个学生说一说自己想到的解决方法。如学生回答不出来,作适当提示:如果要将醋瓶中的醋和酒瓶中的酒互换应怎么做?学生会很容易地想到要借助于一只空瓶子。

分析题意:已知变量x和y中分别存放了数据,现在要交换其中的数据。为了达到交换的目的,需要引进一个类似于空瓶子的中间变量m交换两变量中数据的具体算法如下:

①将x中的数据送给变量m即XT m

②将y中的数据送给变量X,即yTX;

③将m中的数据送给变量y,即nr y。

总结:在程序设计中,交换变量中的数据常用在排序算法中。

例2输入三个不相同的数,求出其中的最小数。

同样,先请学生思考,然后请学生说出他所想到的解决该问题