欢迎来主页下载---精品文档
§1.1.1 算法的概念(两个课时)教学目标: (1)了解算法的含义,体会算法的思想。
(2)能够用自然语言叙述算法。(3)掌握正确的算法应满足的要求。(4)会写出解线性方程(组)的算法。(5)会写出一个求有限整数序列中的最大值的算法。
教学重点: 算法的含义、解二元一次方程组和判断一个数为质数的算法设计。. 教学难点: 把自然语言转化为算法语言。.
学法:1、写出的算法,必须能解决一类问题(如:判断一个整数n(n>1)是否为质数;求任意一个方程的近似解;……),并且能够重复使用。2、要使算法尽量简单、步骤尽量少。3、要保证算法正确,且计算机能够执行,如:让计算机计算1×2×3×4×5是可以做到的,但让计算机去执行“倒一杯水”“替我理发”等则是做不到的。 教学过程
一、章头图体现了中国古代数学与现代计算机科学的联系,它们的基础都是“算法”。
算法作为一个名词,在中学教科书中并没有出现过,我们在基础教育阶段还没有接触算法概念。但是我们却从小学就开始接触算法,熟悉许多问题的算法。如,做四则运算要先乘除后加减,从里往外脱括弧,竖式笔算等都是算法,至于乘法口诀、珠算口诀更是算法的具体体现。广义地说,算法就是做某一件事的步骤或程序。菜谱是做菜肴的算法,洗衣机的使用说明书是操作洗衣机的算法,歌谱是一首歌曲的算法。在数学中,主要研究计算机能实现的算法,即按照某种机械程序步骤一定可以得到结果的解决问题的程序。(古代的计算工具:算筹与算盘. 20世纪最伟大的发明:计算机,计算机是强大的实现各种算法的工具。) 例1:解二元一次方程组: ??x?2y??1?2x?y?1① ②分析:解二元一次方程组的主要思想是消元的思想,有代入消元和加减消元两种消元的方法,下面用加减消元法写出它的求解过程.
解:第一步:② - ①×2,得: 5y=3; ③ 第二步:解③得 y?
331; 第三步:将y?代入①,得 x?. 555学生探究:对于一般的二元一次方程组来说,上述步骤应该怎样进一步完善?
老师评析:本题的算法是由加减消元法求解的,这个算法也适合一般的二元一次方程组的解法。下面写出求方程组的解的算法:
?a1x?b1y?c1例2:写出求方程组??a2x?b2y?c2①②?a1b2?a2b1?0?的解的算法.
解:第一步:②×a1 - ①×a2,得:?a1b2?a2b1?y?a1c2?a2c1 ③ 第二步:解③得
y?a1c2?a2c1a1c2?a2c1c?by;第三步:将y?代入①,得x?11
a1b2?a2b1a1b2?a2b1a1算法概念:
在数学上,现代意义上的“算法”通常是指可以用计算机来解决的某一类问题是程序或步骤,这些程序或精品文档
欢迎来主页下载---精品文档
步骤必须是明确和有效的,而且能够在有限步之内完成. 2. 算法的特点:
(1)有限性:一个算法的步骤序列是有限的,必须在有限操作之后停止,不能是无限的.
(2)确定性:算法中的每一步应该是确定的并且能有效地执行且得到确定的结果,而不应当是模棱两可. (3)顺序性与正确性:算法从初始步骤开始,分为若干明确的步骤,每一个步骤只能有一个确定的后继步骤,前一步是后一步的前提,只有执行完前一步才能进行下一步,并且每一步都准确无误,才能完成问题. (4)不唯一性:求解某一个问题的解法不一定是唯一的,对于一个问题可以有不同的算法.
(5)普遍性:很多具体的问题,都可以设计合理的算法去解决,如心算、计算器计算都要经过有限、事先设计好的步骤加以解决. 例题讲评:
例3、任意给定一个大于1的整数n,试设计一个程序或步骤对n是否为质数做出判断. 分析:(1)质数是只能被1和自身整除的大于1的整数.
(2)要判断一个大于1的整数n是否为质数,只要根据质数的定义,用比这个整数小的数去除n,如果它只能被1和本身整除,而不能被其它整数整除,则这个数便是质数.
解:算法:第一步:判断n是否等于2.若n=2,则n是质数;若n>2,则执行第二步.
第二步:依次从2~(n-1)检验是不是n的因数,即整除n的数.若有这样的数,则n不是质数;若没有这样的数,则n是质数.
说明:本算法是用自然语言的形式描述的.设计算法一定要做到以下要求:
(1)写出的算法必须能解决一类问题,并且能够重复使用.(2)要使算法尽量简单、步骤尽量少.
(3)要保证算法正确,且计算机能够执行. 利用TI-voyage200图形计算器演示:(学生已经被吸引住了) 例4、.用二分法设计一个求方程x?2?0的近似根的算法. 分析:该算法实质是求2的近似值的一个最基本的方法. 解:设所求近似根与精确解的差的绝对值不超过0.005,算法:
第一步:令f?x??x?2.因为f?1??0,f?2??0,所以设x1=1,x2=2.
22第二步:令m?于0还是小于0.
x1?x2,判断f(m)是否为0.若是,则m为所求;若否,则继续判断f?x1??f?m?大2第三步:若f?x1??f?m??0,则x1=m;否则,令x2=m.
第四步:判断x1?x2?0.005是否成立?若是,则x1、x2之间的任意值均为满足条件的近似根;若否,则返回第二步.
练习1:写出解方程x2-2x-3=0的一个算法。 练习2、求1×3×5×7×9×11的值,写出其算法。
练习3、有蓝和黑两个墨水瓶,但现在却错把蓝墨水装在了黑墨水瓶中,黑墨水错装在了蓝墨水瓶中,要求将其互换,请你设计算法解决这一问题。 小结
1、算法概念和算法的基本思想
(1)算法与一般意义上具体问题的解法的联系与区别;(2)算法的五个特征。 精品文档
欢迎来主页下载---精品文档
2、利用算法的思想和方法解决实际问题,能写出一此简单问题的算法
3、两类算法问题:(1)数值性计算问题,如:解方程(或方程组),解不等式(或不等式组),套用公式判断性的问题,累加,累乘等一类问题的算法描述,可通过相应的数学模型借助一般数学计算方法,分解成清晰的步骤,使之条理化即可。(2)非数值性计算问题,如:排序、查找、变量变换、文字处理等需先建立过程模型,通过模型进行算法设计与描述。 作业: (课本第4页练习)
§1.1.2 程序框图 (三个课时)
教学目标:
1。掌握程序框图的概念;会用通用的图形符号表示算法,掌握算法的三个基本逻辑结构 2.掌握画程序框图的基本规则,能正确画出程序框图。 3.通过模仿、操作、探索,经历通过设计程序框图表达解决问题的过程;学会灵活、正确地画程序框图。
教学重点:经过模仿、操作、探索,经历通过设计程序框图表达求解问题的过程,重点是程序框图的基本概念、基本图形符号和3种基本逻辑结构
教学难点: 难点是能综合运用这些知识正确地画出程序框图。 教学过程
引入:算法可以用自然语言来描述,但为了使算法的程序或步骤表达得更为直观,我们更经常地用图形方式来表示它。 程序框图基本概念:
(1)程序构图的概念:程序框图又称流程图,是一种用规定的图形、指向线及文字说明来准确、直观地表示算法的图形。
一个程序框图包括以下几部分:表示相应操作的程序框;带箭头的流程线;程序框外必要文字说明。 (2)构成程序框的图形符号及其作用
程序框 处理框 输入、输出框 名称 起止框 功能 表示一个算法的起始和结束,是任何流程图不可少的。 表示一个算法输入和输出的信息,可用在算法中任何需要输入、输出的位置。 赋值、计算,算法中处理数据需要的算式、公式等分别写在不同的用以处理数据的处理框内。 判断框 判断某一条件是否成立,成立时在出口处标明“是”或“Y”;不成立时标明“否”或“N”。 学习这部分知识的时候,要掌握各个图形的形状、作用及使用规则,画程序框图的规则如下:
1、使用标准的图形符号。2、框图一般按从上到下、从左到右的方向画。3、除判断框外,大多数流程图符号只有一个进入点和一个退出点。判断框具有超过一个退出点的唯一符号。4、判断框分两大类,一类判断框“是”与“否”两分支的判断,而且有且仅有两个结果;另一类是多分支判断,有几种不同的结果。5、在图形符号内描述的语言要非常简练清楚。 精品文档
欢迎来主页下载---精品文档
(3)、算法的三种基本逻辑结构:顺序结构、条件结构、循环结构。
顺序结构:顺序结构是最简单的算法结构,语句与语句之间,框与框之间是按从上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的,它是任何一个算法都离不开的一种基本算法结构。
顺序结构在程序框图中的体现就是用流程线将程序框自上而 下地连接起来,按顺序执行算法步骤。如在示意图中,A框和B 框是依次执行的,只有在执行完A框指定的操作后,才能接着执 行B框所指定的操作。
例3、已知一个三角形的三边分别为2、3、4,利用海伦公式设计一个算法,求出它的面积,并画出算法的程序框图。 (解法见课本) 条件结构:
条件结构是指在算法中通过对条件的判断, 根据条件是否成立而选择不同流向的算法结构。
它的一般形式如右图所示: 注意:
右图此结构中包含一个判断框,根据给定的
条件P是否成立而选择执行A框或B框。无论P条件是否成立,只能执行A框或B框之一,不可能同时执行A框和B框,也不可能A框、B框都不执行。一个判断结构可以有多个判断框。
例4、任意给定3个正实数,设计一个算法,判断分别以这3个数为三边边长的三角形是否存在。画出这个算法的程序框图。解:(见课本)
A B 是 A p 否 B 循环结构:在一些算法中,经常会出现从某处开始,按照一定条件,反复执行某一处理步骤的情况,这就是循环结构,反复执行的处理步骤为循环体,显然,循环结构中一定包含条件结构。循环结构又称重复结构,循环结构可细分为两类:
(1)、一类是当型循环结构,如下左图所示,它的功能是当给定的条件P成立时,执行A框,A框执行完毕后,再判断条件P是否成立,如果仍然成立,再执行A框,如此反复执行A框,直到某一次条件P不成立为止,此时不再执行A框,离开循环结构。
(2)、另一类是直到型循环结构,如下右图所示,它的功能是先执行,然后判断给定的条件P是否成立,如果P仍然不成立,则继续执行A框,直到某一次给定的条件P成立为止,此时不再执行A框,离开循环结构。
A A P 不成立 P p 成立 成立 结构 直到型循环结构 不成立 当型循环注意:1循环结构要在某个条件下终止循环,这就需要条件结构来判断。因此,循环结构中一定包含
条件结构,但不允许“死循环”。2在循环结构中都有一个计数变量和累加变量。计数变量用于记录循环次数,累加变量用于输出结果。计数变量和累加变量一般是同步执行的,累加一次,计数一次。
例5、设计一个计算1+2+3+…+100的值的算法,并画出程序框图。 精品文档
欢迎来主页下载---精品文档
解:算法和程序框图(可参看课本)
课堂小结:本节课主要讲述了程序框图的基本知识,包括常用的图形符号、算法的基本逻辑结构,算法的基本逻辑结构有三种,即顺序结构、条件结构和循环结构。其中顺序结构是最简单的结构,也是最基本的结构,循环结构必然包含条件结构,所以这三种基本逻辑结构是相互支撑的,它们共同构成了算法的基本结构,无论怎样复杂的逻辑结构,都可以通过这三种结构来表达。
在具体画程序框图时,要注意的问题:流程线上要有标志执行顺序的前头;判断框后边的流程线应根据情况标注“是”或“否”;在循环结构中,要注意根据条件设计合理的计数变量、累加变量等.
§1.2.1输入、输出语句和赋值语句
教学目标:
(1) 正确理解输入语句、输出语句、赋值语句的结构。
(2) 让学生充分地感知、体验应用计算机解决数学问题的方法;并能初步操作、模仿。
(3) 实例使学生理解3种基本的算法语句(输入语句、输出语句和赋值语句)的表示方法、结构和
用法,能用这三种基本的算法语句表示算法,进一步体会算法的基本思想。 教学难点重点:正确理解输入语句、输出语句、赋值语句的作用。
学法:我们用自然语言或程序框图描述的算法,计算机是无法“看得懂,听得见”的。因此还需要将算法用计算机能够理解的程序设计语言翻译成计算机程序。程序设计语言有很多种。如BASIC,Foxbase,C语言,C++,J++,VB,VC,JB等。为了实现算法中的三种基本的逻辑结构:顺序结构、条件结构和循环结构,各种程序设计语言中都包含下列基本的算法语句:输入语句、输出语句、赋值语句条件语句和循环语句.今天,我们一起用类BASIC语言学习输入语句、输出语句、赋值语句。
教学过程:输入语句、输出语句和赋值语句基本上对应于算法中的顺序结构。下面的例题是用这三种基本的算法语句表示的一个算法。
例1:用描点法作函数y=x3+3x2-24x+30的图象时,需要求出自变量和函数的一组对应值。编写程序,分别计算当x=-5,-4,-3,-2,-1,0,1,2,3,4,5时的函数值。
程序:INPUT“x=”;x 输入语句 y=x^3+3*x^2-24*x+30 赋值语句 PRINT x 打印语句 PRINT y 打印语句 END 输入语句
(1)输入语句的一般格式
图形计算器格式
INPUT“提示内容”;变量 INPUT “提示内容”,变量
(2)输入语句的作用是实现算法的输入信息功能;(3)“提示内容”提示用户输入什么样的信息,变量是指程序在运行时其值是可以变化的量;(4)输入语句要求输入的值只能是具体的常数,不能是函数、变量或表达式;(5)提示内容与变量之间用分号“;”隔开,若输入多个变量,变量与变量之间用逗号“,”隔开。 输出语句
(1)输出语句的一般格式
图形计算器格式 精品文档 PRINT“提示内容”;表达Disp “提示内容”,变量