必修三集体备课材料——算法初步

文档属性

名称 必修三集体备课材料——算法初步
格式 zip
文件大小 135.7KB
资源类型 教案
版本资源 人教新课标A版
科目 数学
更新时间 2012-03-30 14:54:08

图片预览

文档简介

山东省实验中学高一数学组
集体备课材料(必修三)
第一章 算法初步
参与编辑:山东省实验中学本校高一数学组
潘洪艳、刘建宇、林宝磊、郭红星、张永花、吴建广
徐 萍、盛喜鑫、周明君、宋中华、王 虎、胡志明
算法初步知识学习
§1.1.1 算法的概念
一、引入:
二、概念形成及深化
1、算法的定义:
算法可以理解为有基本运算及规定的运算顺序所构成的完整的解题步骤。或者看成按照要求设计好的有限的确切的计算序列,并且这样的步骤和序列可以解决一类问题。
例1、下列四种叙述可称为算法的是( )
A、在家里一般是妈妈做饭 B、做米饭需要刷锅、淘米、添水、加热这些步骤
C、在野外做饭叫野炊 D、做饭必须要有米
2、算法的五个特征
①有穷性:步骤是有限的,它应在有限步操作之后停止,而不能是无限地执行下去。
②确定性:每一步应该是确定的并且能有效地执行且得到确定的结果,而不应当是模棱两可的。
③逻辑性:从初始步骤开始,分为若干个明确的步骤,前一步是后一步的前提,只有执行完前一步才能进行下一步,并且每一步都准确无误,才能完成问题。
④不唯一性:求解某一个问题的算法不一定只有唯一的一个,可以有不同的算法。
⑤普遍性:很多具体的问题,都可以设计合理的算法去解决。
注:其他还有输入性、输出性等特征,结论不固定.
例2、下列说法正确的是( )
A、算法就是某个问题的解决过程 B、解决某类问题的算法不是唯一的
C、一个算法可以无止境的进行下去 D、完成一件事情的算法有且只有一种
例3、算法的有穷性是指( )
A、算法的最后必须包含输出 B、算法的步骤必须有限
C、算法的每个操作步骤都是可执行的 D、以上说法都不对
3、算法的表述形式:
⑴自然语言/数学语言
⑵程序框图语言(简称框图)。
⑶程序语言。
三、典型例题
例1、《孙子算经》:今有鸡兔同笼,上有一十七头,下有四十八足,问鸡兔各几何?
思考:将题目改为“上有M头,下有N足”则(1)M、N满足什么关系?(2)问鸡兔各几何?
例2、写出解二元一次方程组的一个算法:(高斯消去法)
例3、写出一个求有限整数序列中的最大值的算法。
练习:
1.下列有关算法的说法错误的是( )
求解某一类问题的算法是唯一的; 算法必须在有限步操作之后停止; 算法的每一部操作必须是明确的,不能有歧义或者模糊; 算法执行后一定产生确定的结果.
2.以下四中叙述能称为算法的是( )
每年的三月十二日是植树节; 植树需要运苗、挖坑、栽苗、浇水这些步骤;
植树有利于环保; 植树需要用铁锹.
3.早上从起床到出门需要洗脸刷牙(5分钟),刷水壶(2分钟),烧水(8分钟),做饭(3分钟),吃饭(10分钟),听广播(8分钟)几个步骤,下列选项中最好的一种算法为( )
S1: 洗脸刷牙;S2: 刷水壶;S3: 烧水;S4: 做饭;S5: 吃饭;S6: 听广播;
S1: 刷水壶;S2: 烧水的同时洗脸刷牙;S3: 做饭;S4: 吃饭;S5: 听广播;
S1: 刷水壶;S2: 烧水的同时洗脸刷牙;S3: 做饭;S4: 吃饭的同时听广播;
S1: 吃饭的同时听广播;S2: 做饭;S3: 烧水的同时洗脸刷牙;S4: 刷水壶。
4.我国GDP的年增长率约为8%,按此速度,若某一年的GDP为,则计算年后的GDP值的算法中,要用到的一个函数式为_____________________
5.已知摄氏温度C与华氏温度F的关系是则由摄氏温度求华氏温度的一个算法是:
S1: ___________________________;S2: ___________________________;S3: ___________________________
6. 写出求的一个算法.
7. 写出解方程的一个算法.
8. 已知三角形三边的长,写出判定三角形是否为直角三角形的一个算法.
9. 写出作的外接圆的一个算法.
10. 家电配电盒至冰箱的线路断了,检测故障的算法中,第一步检测的是( )
靠近配电盒的一小段; 电路中点处; 靠近冰箱的一小段; 随意挑一段.
11 . 给定两条直线写出判断两直线位置关系的一个算法.
12.写出给定一个大于1的整数n,判定n是否为质数的一个算法.
§1.1.2 程序框图
一、定义:通常用一些通用 构成一张图来表示算法,这种图称做程序框图..一个程序框图包括以下几部分:表示相应操作的程序框;带箭头的流程线;程序框外必要文字说明。
图形符号 名称 符号表示的意义
起、止框 (1)
(2) 数据的输入或结果的输出
(3) 赋值、执行计算语句、结果的传送
(4) (5)
(6) 流程进行的方向
循环框 (7)
(8) 连结另一页或另一部分的框图
(9) 帮助理解框图
二、框图:
三.画程序框图有一些简单的规则:
(1)使用标准的框图的符号;
(2)程序框图一般按从上到下、从左到右的方向画;
(3)除判断框外,大多数程序框图符号只有一个进入点和一个退出点. 判断框是具有超过一个退出点的唯一符号;
(4)一种判断框是“是”与“不是”两分支的判断而且有且仅有两个结果;另一种是多分支判断,有几种不同结果
(5)在图形符号内描述的语言要非常简练清楚.
四、典型例题例
例1. 下列关于程序框图的说法正确的有( )①程序框图一般按从上到下、从左到右的方向画;②程序框图中有的部分可以执行不到;③程序框图中每一部分都应有一条从入口到出口的路径通过它;④程序框图中的循环可以是无尽循环.
②③; ①④;①②; ①②③.
例2、分析下列两个框图表示的算法的功能
注意:判断框内(1) “?”打不打都可;(2)“是”、“否”可写为Y、N.
例3. 画出输入3个实数按从大到小的次序排序的程序框图.
例4.下面的程序框图可以计算图1中阴影部分的面积,
①中应填______________
§1.1.3 算法的三种基本逻辑结构
知识要点:
1.算法的三种基本逻辑结构: 、 、 .
2.(1)顺序结构描述的是 的算法结构,语句与语句之间、框与框之间是按照 的顺序进行.
(2)顺序结构一般形式:顺序结构是任何一个算法都离不开的最简单、最基本的结构,用图框A、B、C
表示顺序结构的示意图,其中A、B、C各框是依次进行的,即在执行完A框所指定的操作后,必
然接着执行B框所指定的操作,然后再进行C框所指定的操作。
3.条件分支结构:条件结构是指在算法中通过对条件的判断,根据条件是否成立而选择不同流向的算法结构.
注意:
(1)判断框根据给定的条件是否成立而选择执行某个处理。无论条件是否成立,只能执行处理之一,不可能同时执行,也不可能都不执行。一个判断结构可以有多个判断框。
(2)两种结构的共性:一个入口,一个出口。特别注意:一个判断框可以有两个出口,但一个条件分支结构只有一个出口;结构中每个部分都有可能被执行,即对每一个框都有从入口进、出口出的路径。
以上两点是用来检查流程图是否合理的基本方法
(3)分类:单分支结构、双分支结构(包含多重的情况,如下图)、多分支结构
4.循环结构:
(1)根据指令条件决定是否重复执行一条或多条指令的控制结构称为循环结构.
循环体:反复执行的处理步骤称为循环体.
计数变量:在循环结构中,通常都有一个起到循环计数作用的变量,这个变量的取值一般都含在执行或终止循环体的条件中.
累加变量:用于输出结果,它和计数变量一般是同步执行的,累加一次则计数一次.
(2)循环结构的一般形式:
当型循环在每次执行循环体前对循环条件进行判断:当条件满足时,反复执行循
环体,条件不满足则停止——“当条件满足时,反复执行循环体”.
直到型循环在每次执行了循环体之后对循环条件进行判断:当条件不满足是执行
循环体,满足则停止——“反复循环直到条件满足”.
注意:两种形式(1)先判断再处理;(2)先处理再判断.
(3)循环结构的应用
⑴利用循环结构求和:涉及多项的和或积的程序框图要用到循环和条件分支结构,画图时应注意三个量:循环变量的初值、终值、循环变量的增量在程序中的作用和位置.
⑵利用循环结构寻数:使用循环结构寻数时,要明确数字的结构特征,决定循环的终止条件与数的结构特征的关系及循环的次数等.尤其是在统计数时,注意要统计的数的出现次数与循环次数的区别.
注意事项:
(1)严格按照框图书写标准书写:从上而下、从左往右、图形正确
(2)开始结束框不可缺少。三种结构只能有一个入口(开始点)和一个出口(结束点)。
(3)输入框和输出框只能写变量,不能写“输入y=3”,“输出y=23”等形式“a=3”应写在处理框内。输入框不一定要有,输出框必须有。输入框中尽量不写变量范围。
(4)各种图形都只能有一个进入点,除判断框可以有不止一个退出点外,其他图形只有一个退出点。
(5)判断框必须有至少两个退出点,且每部分都有可能执行到。
(6)循环结构都有累加变量和计数变量,格外须注意循环条件和初值的选择
(7)不能出现死循环(如图)
相关例题:
一、顺序结构
例1.已知点和直线:Ax+By+C=0,写出求点到直线的距离的流程图.
例2. 交换两个变量A和B的值,并输出交换后的值.
二、条件分支结构
例3.用数学语言和程序框图描述求一元二次方程的根的过程.
例4.设火车托运重量为行李时,每千米的费用(单位:元)标准为:
画出行李托运费用的程序框图.
三、循环结构
例5、设计一个计算1+2+…+100的值的算法.
例6、设计一个计算100个数(用表示)的平均数的算法,用程序框图表示
例7、已知个正整数排成一行如下:,,,…,,.其中下角码表示个数的排列位置.这一行数满足条件:,,.(,).画出计算第项的程序框图.
练习:
1、算法有三种逻辑结构,即顺序结构、条件分支结构和循环结构,下列说法正确的是( )
一个算法只能有一种逻辑结构;
一个算法最多可以包含两种逻辑结构;
一个算法必须包含上述三种逻辑结构;
一个算法可以是上述三种逻辑结构的任意组合.
2.、下列关于条件分支结构的说法正确的是( )
条件分支结构的程序框图中有一个入口和一个出口; 无论条件分支结构中的条件是否满足,都只能执行两条路径之一; 条件分支结构中的两条路径可以同时执行; 对于一个算法的程序来说,菱形框中的条件是唯一的.
3、下列四个说法:
(1)任何一个算法都离不开顺序结构;
(2)算法程序矿途中,根据条件是否成立有不同的流向;
(3)循环体是指按照一定条件,反复执行某一处理步骤;
(4)循环结构中有条件结构,条件结构中有循环结构.
以上说法正确的个数有( )
1个; 2个; 3个; 4个.
4、超市购物:购物不足250元的,无折扣;购物满250元(含,下同),不足500元的,打九五折;购物满500元,不足1000元的,打九二折;购物满1000元,不足2000元的,打九折;购物满2000元及以上的的,打八五折.试画出此算法的流程图.
5、某电信部门规定:拨打市话时,若通话时间不超过3分钟,则收取通信费0.2元;若通话时间超过3分钟,则超过部分按0.1元/分钟收取话费(t以分钟记,不足1分钟按1分钟记).请设计一个计算话费的算法框图.
6、一个弹球自由落地撞击地板后,它反弹能达到的最大高度是原来的85%.架设初始高度为2米,请设计一个算法,计算它反弹4次后能达到的高度.
7、如果我国GDP以每年8%的速度增长,问几年后我国国民生产总值翻一番.实用程序框图描述其算法.
8、输入50个学生的数学成绩,若60分以上为及格,设计一个统计及格率的算法,画程序框图.
9、相传古印度国王要褒奖它的宰相达依尔(国际象棋的发明者),达依尔说:“国王只要在国际象棋的期盘第一格子上放一粒麦子,第二个字放两粒麦子,第三个字放四粒麦子,以后按比例每一格加一倍,一直放到第64格,我就感恩不尽了.”国王答应了,然扛来一袋小麦,但很快用完,又扛来一袋,又很快用完,但格子还远远没有填满,国王怎么也算不清这笔帐,请你设计一个算法帮国王计算一下,用程序框图
§1.2.1输入、输出语句和赋值语句
一、引入:《孙子算经》:今有鸡兔同笼,上有M头,下有N足,问鸡兔各几何?
如何才能把这些文字语言写成计算机识别的程序语言并能够运行呢
二、概念形成及深化
程序设计语言有很多种.为了实现算法中的三种基本逻辑结构:顺序结构、条件结构和循环结构,各种程序设计语言中都包含下列基本的算法语句:
赋值语句 输入语句  输出语句  条件语句  循环语句
一)赋值语句 格式:变量=表达式
说明:赋值与等不相同,不换不乱不连等。
(1)表达式可以是数值、函数、多项式、字符等等,但表达式是函数和多项式时,未知数(自变量)必须在前面首先赋值;表达式是字符时,用双引号括起来。
(2)赋值号“=”不等同于等号“=”,含义是将后面的表达式赋给变量,变量在未被替代前等于表达式。如x=x+1表示x在上一个值的基础上再加1,属于累加;同理:x=x*i表示x在上一个值的基础上再加i,属于累乘。
(3)格式中变量和表达式不能乱写。如:3=x,x+1=y是错误的
(4)格式中左右变量不能交换。如y=x和x=y含义是不相同的
(5)不能进行运算连等。如:y=x2-1=(x-1)(x+1)
(6)表达式格式:加(a+b) 减(a-b) 乘(a*b) 除(a/b或a\b 含义不同) 乘方(a^b) 开二次方( sqrt(a) )
二)输入语句:
格式一:变量名=input(“提示语句”) 格式二:变量名=input(“提示语句”,”string”)
1)“提示语句”作用:屏幕显示,只提示要输入什么东西。必须加双引号不能输出函数、变量、表达式等,只能是字符和数据形式。
2)对于格式一:输入常数,如果输字符则不行
3)对于格式二:输入字符或字符串,如果输入函数、变量、表达式等程序会认为是字符串
4)其他命令:read、load等
例:
三)输出语句
格式一: print(%io(2),变量) 格式二: disp(“输出信息”)
说明:(1)格式固定:%io(2)表示屏幕输出,io表示input-output数据输出
(2)当多个变量时,输出顺序是逆向的。如print(%io(2),a,b,c)输出结果为c= b= a= (先入后出)
(3)格式二中“输出信息”作用:屏幕输出的显示内容
(4)如果屏幕输出,还可以直接:变量(回车)即可
(5)其他形式:print,write,format,printf等
相关例题:
课本:
1)写出鸡图同笼问题的一个算法,,并用Scilab写出程序语言.
2)P25
练习:
1、下列给出的赋值语句正确的有( )个
①赋值语句3= B; ②赋值语句;
③赋值语句A=B=-2;④赋值语句T=T*T.
一个; 二个; 三个; 四个
2、对于分式在Scilab语言中的表达式正确的是( )

; .
3、“x=4*5”“x=x+1”是某一程序中的先后相邻两个语句,那么下列说法正确的是( )
①“x=4*5”的意思是,此式与算术中的式子是一样的;
②“x=4*5”是将数值20赋给;
③“x=4*5”可以写为“4*5= x”;
④“x=x+1”在执行时“=”右边的值是20,执行后的值是21.
①③; ②④; ①④; ②③.
4.下列程序运行后的结果是( )
1; 2; 3; 4.
5.下列程序是输出的中点的程序,请将程序补全.


6.下列程序的输出结果为:
① ②
① ②
7.已知直线,
试编写一个程序,要求输入符合条件的A,B,C的值,输出该直线在x轴,y轴上的截距以及斜率.
8.是设计一个程序,输入圆锥体的底的半径和高,输出圆锥体的表面积.
9.任给五个实数,求他们积的相反数.
10.已知函数,求,写出程序.
11、某高中期中考试之后统计出了语文、数学、外语、物理、化学这五门课程各自的平均分,现在我们要计算出这五门课程的平均成绩.
§1.2.2 条件语句
条件语句:处理条件分支逻辑结构的算法语句
格式一: 格式二:
说明:(1)每个if都要以end结尾。
(2)格式一和二分别对应右边的两种框图。
(3)复杂结构格式有两种:
相关例题:见课本
相关练习:
1.解决下列问题的程序适合用条件语句的是( )
求点P(-1,3)到直线的距离;
由直角三角形的两条直角边长求斜边长;
解不等式;
计算100个数的平均数.
2.读程序:
x=input(“x=”)if x>0 y=1;else if x=0 y=0;else y= -1;end end y
3、编写程序,比较两个数的大小,并输出较大者
4、写出下列程序的输出结果
x=input(“x=”)if x<=10 y=x*0.4;else y=10*0.4+(x-10)*0.6;end y
若输入,则 ;
若输入,则 .
5、输入一个数,判断它是否是5的倍数,写出程序.
6、“依法纳税”是每个公民应尽的义务,国家征收个人所得税是分段计算的,总收入不超过800元,免征个人所得税,超过800元需征税,设全月纳税所得额为X,X=全月总收入-800,税率如下:
级数 全月纳税所得额 税率
1 不超过500元 5%
2 超过500元至2000元 10%
3 超过2000元至5000元 15%
… … …
若某公司员工的工资最高不超过5800元,请为该公司会计室设计一个程序,要求输入员工应发工资数,输出税后工资额.
7、输入一个三位自然数,把这个数的百位数和个位数对调,输出对调后的数,请设计Scilab程序.
-- >x=input(“我是谁”,”string”)
我是谁-- >212121
-- >x=input(“我是谁”,”string”)
我是谁-- >dfsdf
x=
dfsdf
-- >x=input(“姓名”)
姓名-->212121
x=
212121
-->x=input(“姓名”)
姓名-->dfsdf
Underfined variable: dfsdf 姓名-->
if 表达式 语句序列1;
end
if 表达式 语句序列1;
else 语句序列2;
end
条件嵌套:
if 表达式1 语句序列1;
if 表达式2 语句序列2;
else 语句序列3
end
else 语句序列4
end
条件并列:
if 表达式1 语句序列1;
end
if 表达式2 语句序列2;
end
if 表达式3 语句序列3;
end