1、楚水实验学校高二数学备课组基本算法语句基本算法语句广义地说:广义地说:为了解决某一问题而为了解决某一问题而采取的方法和步骤,就称之为算法。采取的方法和步骤,就称之为算法。算法的概念算法的概念:一般而言,一般而言,对一类问题的机械的、统一的求解方法称为算法。知识回顾知识回顾 流流程程图图:是是由由一一些些图图框框和和流流程程线线组组成成的的,其其中中图图框框表表示示各各种种操操作作的的类类型型,图图框框中中的的文文字字和和符符号号表表示示操操作作的的内内容容,流流程程线线表表示示操操作作的的先先后后次次序。序。流程图的概念流程图的概念 尽尽管管不不同同的的算算法法千千差差万万别别,但但它它们们都
2、都是是由由三三种种基基本本的的逻逻辑辑结结构构构构成成的的,这这三三种种逻逻辑辑结结构构就是顺序结构、就是顺序结构、选择结构、选择结构、循环结构循环结构.I 1S 0S S+II I+1I5?否否是是1.1.计算机能够计算机能够“理解理解”的语言与人的语言的语言与人的语言 有什么区别?有什么区别?计算机不同于人:人有大脑,可计算机不同于人:人有大脑,可以思考问题,而计算机则不能以思考问题,而计算机则不能.用自用自然语言和程序框图描述的算法,计算然语言和程序框图描述的算法,计算机无法识别,必须转化为其能理解的机无法识别,必须转化为其能理解的语言,即程序语言。语言,即程序语言。对于对于程序语言还不
3、是我们程序语言还不是我们目前学习主要知识目前学习主要知识我们只是先学习一种介于我们只是先学习一种介于自然语言和自然语言和计算机计算机语言之间的文字和符号语言之间的文字和符号-伪代码伪代码 计算机完成任何一项任务都需要算法,但是,用自然语言或程序计算机完成任何一项任务都需要算法,但是,用自然语言或程序框图描述的算法,计算机是无法框图描述的算法,计算机是无法“看得懂,听得见看得懂,听得见”的的.因此还需要因此还需要将算法用计算机能够理解的程序设计语言(将算法用计算机能够理解的程序设计语言(programming language)翻译成计算机程序)翻译成计算机程序.程序设计语言有很多种,如程序设计
4、语言有很多种,如BASIC,Foxbase,C语言,语言,C+,J+,VB等等.各种语言的语法存在比较大的区别,因此我们教材各种语言的语法存在比较大的区别,因此我们教材使用了一种使用了一种介于自然语言和计算机语言之间的文字和符号,介于自然语言和计算机语言之间的文字和符号,来表来表表示算法表示算法.这种文字和符号,称为这种文字和符号,称为伪代码伪代码(pseudo code).为了能更好的检验我们的算法,我们还要将伪代码转换为真正为了能更好的检验我们的算法,我们还要将伪代码转换为真正的程序,我们使用的工具是一种称为的程序,我们使用的工具是一种称为VBA(Visual Basic for Appl
5、ication)的程序设计语言,它可以看成是的程序设计语言,它可以看成是VB程序设计语言的一程序设计语言的一种简化版本种简化版本.基本的算法语句有哪些?基本的算法语句有哪些?基本的算法语句有:输入语句、基本的算法语句有:输入语句、输出语句、赋值语句、条件语句、循输出语句、赋值语句、条件语句、循环语句;环语句;各自对应怎样的算法结构?各自对应怎样的算法结构?输入语句、输出语句、赋值语句基本上输入语句、输出语句、赋值语句基本上是对应顺序结构,条件语句对应条件结构、是对应顺序结构,条件语句对应条件结构、循环语句对应循环结构。循环语句对应循环结构。赋值语句:赋值语句:值语句伪代码的一般格式:值语句伪代
6、码的一般格式:变量变量表达式表达式(公式或运算式公式或运算式)或变量或变量符号表示符号表示“”如:如:“xyxy”表示将表示将y y的值赋给的值赋给x x赋值语句:赋值语句:值语句伪代码的一般格式:值语句伪代码的一般格式:变量变量表达式表达式(公式或运算式公式或运算式)或变量或变量注意:l 赋值号左边只能是变量,不能是表达式 或常数;l 赋值号左右两边不能调换;l 赋值号左右两边可以出现同一个变量,但值可能不相同;l 赋值号左右两边的量应该是同类型的 x3 y(x2+x/3)/(1)伪代码:伪代码:虚线边框虚线边框 用伪代码写出求时多项式用伪代码写出求时多项式的值的算法的值的算法例例1.“鸡兔
7、同笼鸡兔同笼”是我国隋朝时期的数学著作是我国隋朝时期的数学著作孙子算孙子算经经中的一个有趣而具有深远影响的题目:中的一个有趣而具有深远影响的题目:“今有雉兔今有雉兔同笼,上有三十五头,下有九十四足问雉兔各几何同笼,上有三十五头,下有九十四足问雉兔各几何”设有设有x只鸡,只鸡,y只兔,则只兔,则下面我们设计一个解二元一次方程组的通用算法下面我们设计一个解二元一次方程组的通用算法数学应用:数学应用:S1 输入输入a1,b1,c1,a2,b2,c2;S2 x(b2c1b1c2)/(a1b2a2b1);S3 y(a1c2a2c1)/(a1b2a2b1);S4 输出输出x,y.开始开始输入输入a1,b1
8、,c1,a2,b2,c2x(b2c1b1c2)/(a1b2a2b1)y(a1c2a2c1)/(a1b2a2b1)输出输出x,y结束结束自然语言:自然语言:流程图:流程图:输入语句:输入语句:输入语句伪代码的一般格式:输入语句伪代码的一般格式:Read a,b l输入语句也是赋值语句,只不过是从键盘等输入设输入语句也是赋值语句,只不过是从键盘等输入设备上接受数据,而且可以批量接受数据备上接受数据,而且可以批量接受数据输出语句:输出语句:输出语句伪代码的一般格式:输出语句伪代码的一般格式:Print a,b l 注意使用输出语句输出字符串时,字符内容应加注意使用输出语句输出字符串时,字符内容应加在
9、括号内在括号内S1 输入输入a1,b1,c1,a2,b2,c2;S2 x(b2c1b1c2)/(a1b2a2b1);S3 y(a1c2a2c1)/(a1b2a2b1);S4 输出输出x,y.10 Read a1,b1,c1,a2,b2,c220 x(b2c1b1c2)/(a1b2a2b1);30 y(a1c2a2c1)/(a1b2a2b1)40 Print x,y开始开始输入输入a1,b1,c1,a2,b2,c2x(b2c1b1c2)/(a1b2a2b1)y(a1c2a2c1)/(a1b2a2b1)输出输出x,y结束结束自然语言:自然语言:伪代码:伪代码:流程图:流程图:Sub 解二元一次方程
10、组解二元一次方程组()Dim a1,b1,c1,a2,b2,c2,x,y As Single a1=InputBox(输入输入a1,输入二元一次方程组的系数输入二元一次方程组的系数)b1=InputBox(输入输入b1,输入二元一次方程组的系数输入二元一次方程组的系数)c1=InputBox(输入输入c1,输入二元一次方程组的系数输入二元一次方程组的系数)a2=InputBox(输入输入a2,输入二元一次方程组的系数输入二元一次方程组的系数)b2=InputBox(输入输入b2,输入二元一次方程组的系数输入二元一次方程组的系数)c2=InputBox(输入输入c2,输入二元一次方程组的系数输入
11、二元一次方程组的系数)x=(b2*c1-b1*c2)/(a1*b2-a2*b1)y=(a1*c2-a2*c1)/(a1*b2-a2*b1)MsgBox 方程组的解为方程组的解为:x=&x&,y=&yEnd Sub10 Read a1,b1,c1,a2,b2,c220 x(b2c1b1c2)/(a1b2a2b1)30 y(a1c2a2c1)/(a1b2a2b1)40 Print x,y在在word工具菜单的工具菜单的宏子菜单下,打开宏子菜单下,打开VBA编辑器编辑器在在VBA编辑器中输编辑器中输入代码入代码点击执行程序点击执行程序输入方程组未输入方程组未知数系数知数系数输出方程组的输出方程组的解
12、解例例2.求多项式函数求多项式函数 ,当当x5时的函数值?时的函数值?10 x 5 30 Print y20 y 我们一共做了12+34515次乘法运算,5次加法运算.10 x 5 20 a x*x30 b a*x40 c b*x50 d c*x60 y 7d+6c+5b+4a+3x+170 Print y一共做了4+5=9次乘法运算,5次加法运算.有没有更简单的有没有更简单的算法?算法?10 x 5 20 y7x+630 y y*x+540 y y*x+450 y y*x+360 y y*x+170 Print y秦九韶算法秦九韶算法,其算法特点是:通过一次式的反复计算,逐步得,其算法特点是
13、:通过一次式的反复计算,逐步得出高次多项式的值;对于一个次多项式,只要做出高次多项式的值;对于一个次多项式,只要做n次乘法和次乘法和n次加法次加法 这种方法是我国南宋时期的数学家秦九韶秦九韶在他的代表作数书九章中提出的,直到今天,这种算法仍是多项式求值比较先进的算法课堂小结:课堂小结:、赋值语句:、赋值语句:值语句伪代码的一般格式:值语句伪代码的一般格式:变量变量表达式表达式(公式或运算式公式或运算式)或变量或变量注意:注意:l 赋值号左边只能是变量,不能是表达式或常数;l 赋值号左右两边不能调换;l 赋值号左右两边可以出现同一个变量,但值可能不相同;l 赋值号左右两边的量应该是同类型的符号表
14、示符号表示“”如:如:“xyxy”表示将表示将y y的值赋给的值赋给x x输入语句:输入语句:输入语句伪代码的一般格式:输入语句伪代码的一般格式:Read a,b l输入语句也是赋值语句,只不过是从键盘等输入设输入语句也是赋值语句,只不过是从键盘等输入设备上接受数据,而且可以批量接受数据备上接受数据,而且可以批量接受数据输出语句:输出语句:输出语句伪代码的一般格式:输出语句伪代码的一般格式:Print a,b l 注意使用输出语句输出字符串时,字符内容应加注意使用输出语句输出字符串时,字符内容应加在括号内在括号内课后作业:课后作业:课后作业:课后作业:课本课本课本课本 P P P P1 1 1 1 练习练习练习练习 No.No.No.No.、.
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100