【全程复习方略】2013-2014学年北师大版高中数学必修三配套多媒体教学优质课件第二章 算法初步(6份)

文档属性

名称 【全程复习方略】2013-2014学年北师大版高中数学必修三配套多媒体教学优质课件第二章 算法初步(6份)
格式 zip
文件大小 12.6MB
资源类型 教案
版本资源 北师大版
科目 数学
更新时间 2014-08-11 06:45:51

文档简介

课件29张PPT。第二章 算法初步
§1 算法的基本思想1.了解算法的含义,形成算法的初步印象,体会算法是解决问题的“机械”程序,并能在有限步内解决问题;
2.能够用自然语言叙述算法;
3.掌握正确的算法应满足的条件;
4.会写出简单问题的算法. 作为家里的一员,在平时分担一些力所能及的事是我们应尽的义务,你每天都帮家里做家务吗?你会烧开水吗?请写出你在家中烧开水的过程.1、往壶内注水;
2、点火加热;3、观察:如果水开,则停止烧火,否则继续烧火;
4、如果水未开,重复过程 “3”,直至水开.2、判断水是否烧开与是否继续烧火的过程是一个反馈与判断的过程,因此有必要不断重复过程“3”. 小结:1、其实大部分事情都是按照一定的程序执行的,因此要理清事情的每一步. 事实上,我们完成任何事,都要有步骤,合理安排步骤,会达到事半功倍的效果.从我们数学的意义来讲,在解决某些问题时,需要设计出一系列可操作或可计算的步骤,通过实施这些步骤来解决问题,我们通常把这些步骤称为解决问题的一种算法.这种描述不是算法的定义,但反映了算法的基本思想. 随着计算科学和信息技术的飞速发展,算法的思想已经渗透到社会的方方面面.在以前的学习中,虽然没有出现算法这个名词,但实际上在数学教学中已经渗透了大量的算法思想,如四则运算的过程、求解方程的步骤等等.完成这些工作都需要一系列程序化的步骤,这就是算法的思想. 例1 在电视台的某个娱乐节目中,要求参与者快速猜出物品的价格.主持人出示某件物品,参与者每次估算出一个价格,主持人只能回答高了、低了或者正确.在某次节目中,主持人出示了一台价值在1000元以内的随身听,并开始了竞猜.下面是主持人和参与者的一段对话:……如果你是参与者,你接下来会怎么猜?800元!高了!400元!600元!低了!低了!参与者主持人实际上,可以把过程概括如下:例2 在给定素数表的条件下,设计算法,将936分解成素因数的乘积.(4000以内的素数表见课本附录1)解:算法步骤如下:
1.判断936是否为素数:否.
2.确定936的最小素因数:2. 936=2×468
3.判断468是否为素数:否.
4.确定468的最小素因数:2. 936=2×2×234
5.判断234是否为素数:否.
6.确定234的最小素因数:2. 936=2×2×2×1177.判断117是否为素数:否.
8.确定117的最小素因数:3. 936=2×2×2×3×39
9.判断39是否为素数:否.
10.确定39的最小素因数:3. 936=2×2×2×3×3×13
判断13是否为素数:13是素数,所以分解结束.分解结果是: 936=2×2×2×3×3×13 例3 设计一个算法,求840与1764的最大公因数.1.先将840进行素因数分解: ;2.然后将1764进行素因数分解: ;3.确定他们的公共素因数2,3,7;4.确定公共素因数的指数:公共素因数2,3,7的指数分别为2,1,1;5.最大公约数为: .解:算法步骤如下:例4 “韩信点兵”问题.韩信是汉高祖刘邦手下的大将,他英勇善战,智谋超群,为建立汉朝立下了汗马功劳.据说他在点兵的时候,为了保住军事机密,不让敌人知道自己部队的实力,采用下述点兵的方法:先令士兵从1~3报数,结果最后一个士兵报2;再令士兵从1~5报数,结果最后一个士兵报3;又令士兵从1~7报数,结果最后一个士兵报4.这样,韩信很快就算出了自己部队的总人数.请设计一个算法,求出士兵至少有多少人?分析:从报数情况分析,总人数除以3余2;总人数除以5余3;总人数
除以7余4.算法的第一步是将所有的除以3余2的正整数找出来,按从小
到大排成一列.第二步是从第一步的数列中找出除以5余3的一列数,按
从小到大排成一列.最后在满足前两个条件的第二步数列中再找出除以
7余4的一列数,这列数中最小的数,即为我们所求的数.(1)首先确定最小的满足除以3余2的正整数:2.解:具体算法步骤如下:(5)在第4步得到的一列数中,找出满足除以7余4的最小数:53.这就是我们要求的数.(4)然后依次加上15,得到8,23,38,53……,显然这些数既满足除以3余2,又满足除以5余3.(3)在上列数中确定最小的满足除以5余3的正整数:8.(2)依次加3就得到所有除以3余2的正整数:2,5,8,11,14,17,20,23,26,29,32,35,38,41,44,47,50,53,56……3、算法要简洁,要清晰可读,不能繁杂,易程序化.算法不同于求解一个具体问题的方法,是这种方法的高度概括.一个好的算法有如下要求:1、写出的算法,必须能解决一类问题(如一元二次方程求根公式),并且能重复使用.2、算法过程要能一步一步执行,每步执行的操作,必须确切,不能含混不清,而且在有限步能得出结果.例5、写出以下问题的算法:  一位商人有9枚银元,其中有1枚略轻的是假银元.你能用天平(不用砝码)将假银元找出来吗?解: 1.把银元分成3组,每组3枚.    2.先将两组分别放在天平的两边.如果天平不平衡,那边假银元就放在轻的那一组;如果天平左右平衡,则假银元就在末称的第3组里.3.取出含假银元的那一组,从中任取两枚银元放在天平的两边.如果左右不平衡,则轻的那一边就是假银元;如果天平两边平衡,则末称的那一枚就是假银元.算法是什么?算法可以理解为由基本运算及规定的运算顺序构成的完整的解题步骤,或看成按要求设计好的、有限的、确切的计算序列,并且这样的步骤或序列能解决一类问题.现代意义上的“算法”通常是指可以用计算机来解决的某一类问题的程序或步骤.说明:1、算法实际上就是解决某一类问题的步骤和方法,在解决问题时形成的规律性的东西,按照算法描述的规则与步骤,一步一步地去做,最终便能解决问题.2、算法的基本思想就是我们分析问题时的想法.由于想法不同、思考的角度不同,着手点不一样,同一问题存在不同的算法,算法有优劣之分.3、从熟悉的问题出发,体会算法的程序化思想,学会用自然语言来描述算法.例6在函数的应用部分,我们学习了用二分法求方程f(x)=0的近似解.如图所示分析:二分法的基本思想是:将方程的有解区间分为两个小区间,然后判断解在哪个小区间;继续把有解的区间一分为二进行判断,如此周而复始,直到求出满足精度要求的近似解.其算法步骤如下5.判断新的有解区间长度是否大于精确度:(1)如果新的有解区间长度大于精确度,则在新的有解区间的基础上重复上述步骤;(2)如果新的有解区间长度小于或等于精确度,则这个有解区间中的任意一个数均为方程的满足精度的近似解.3.计算f(0.5)=-0.625;6.计算f(0.75)=-0.015625;9.计算f(0.875)=0.435 546 875;10.由于f(0.75)f(0.875)<0,可得新的有解区间[0.75,0.875],0.875-0.75=0.125>0.1;12.计算f(0.8125)=0.196533203125;所以,区间[0.75,0.8125]中的任一数值,都可以作为方程的近似解.13.第一步:令f(x)=x3+x2-1,因为f(0)f(1)<0,所以设x1=0,x2=1.第三步:若f(x1)f(m)>0,则令x1= m;否则,令x2= m.简化写法:第四步:判断|x1-x2|<0.1是否成立?若是,则x1,x2之间的中间值为满足条件的近似解;若否,则返回第二步.算法的特征 有穷性:一个算法应包含有限的操作步骤而不应是无限的; 确定性:算法中每一个步骤应当是确定的,而不应当是含糊的、模棱两可的;有效性:算法中每一个步骤应当能有效地执行,并得到确定的结果.输入:有零个或多个输入;输出:有一个或多个输出;一个人带三只狼和三只羚羊过河,只有一条船,船可以容纳一个人和两只动物.没有人在的时候,如果狼的数量不少于羚羊的数量,狼就会吃掉羚羊.请设计过河的算法.解:算法或步骤如下:S4 人带两只狼返回;S2 人自己返回;S3 人带一只羚羊过河;S1 人带两只狼过河;S5 人带两只羚羊过河;S6 人自己返回;S7 人带两只狼过河;S8 人自己返回;S9 人带一只狼过河.1、算法:算法是解决某类问题的一系列步骤或程序;2、算法的基本思想:程序化思想;3、算法的特征:有穷性确定性输入输出有效性世间没有一种具有真正价值的东西,可以不经过艰苦辛勤的劳动而得到.课件23张PPT。§2 算法框图的基本结构及设计 2.1 顺序结构与选择结构1、理解算法框图的顺序结构和选择结构;
2、能用文字语言表示算法,并能将算法用顺序结构和选择结构表示简单的框图.1.已知点P0(x0,y0)和直线L:Ax+By+C=0,设计一个算法,求点P到直线L的距离d.2.给定平面内任意两点A(x1,y1),B(x2,y2).设计一个算法,求两点连线的斜率.1.解:算法步骤如下:(1)输入点的坐标x0,y0和直线方程的系数A.B.C(2)计算 Z1=Ax0+By0+C(3)计算 Z2=A2+B2(5)输出d2.解:算法步骤如下:(1)输入点的坐标x1,y1,x2,y2(3)输出k的值. 为了更简洁、清晰、直观和便于检查,我们一般用框图表示算法.1.解:算法步骤如下:(1)输入点的坐标x0,y0和直线方程的系数A.B.C(2)计算 Z1=Ax0+By0+C(3)计算 Z1=A2+B2(5)输出d如: 在算法设计中,算法框图(也称程序框图)可以准确、清晰、直观地表达解决问题的思路和步骤.算法框图:终端框 (起止框)输入、输出框处 理 框判 断 框流 程 线框 图 常 用 图 形(1)使用标准的图形符号.
(2)框图一般按从上到下、从左到右的方向画.
(3)除判断框外,大多数框图符号只有一个进入点和一个退出点.判断框具有超过一个退出点的唯一框图符号.
(4)判断框, “是”与“否”两分支的判断.
(5)在图形符号内描述的语言要简练清楚.画程序框图的规则如下:作法:作图步骤如下:
1、从已知线段的左端点A点出发,作一条射线AP;
2、在射线AP上任取一点C,得线段AC;
3、在射线上作线段CE=EF=FG=GD=AC,那么线段AD=5AC;
4、连接DB;
5、过C作DB的平行线, 交线段AB于M,这样点M就是线段AB的一个5等分点.例1尺规作图,确定线段AB的一个5等分点.ABGPFECMDAB顺 序 结 构算法框图例2.任意给定一个实数x,设计一个算法,求x的绝对值,并画出程序框图.第一步,判断x是否大于0,若x>0,则x的绝对值等于x,令m=x;若x≤0,则执行第二步.第二步, x的绝对值等于-x,令m=-x;第三步,输出m.算法分析: 选 择 结 构顺序结构由若干个依次执行的处理步骤组成的逻辑结构.这是任何一个程序都离不开的基本结构.在一个算法中,经常会遇到一些条件的判断,算法的流程根据条件是否成立有不同的流向,这种算法结构称为条件结构.选择结构例3 通常说一年有365天,它表示地球围绕太阳转一周所需的时间,但事实并不是这样简单.根据天文资料,地球围绕太阳转一周所需要的精确时间是365.2422天,称之为天文年.这个误差看似不大,却引起季节和日历之间难以预料的大变动.在历法上规定四年一闰,百年少一闰,每四百年又加一闰.如何判断某一年是不是闰年呢?请设计一个算法,解决这个问题,并用框图描述这个算法.解:算法步骤如下:1.若y不能被4整除,则输出“y不是闰年”.2.若y能被4整除,则判断y是否能被100整除:(1)若y不能被100整除,则输出“y是闰年”;(2)若y能被100整除,则判断y是否能被400整除:①若y能被400整除,则输出“y是闰年”;②若y不能被400整除,则输出“y不是闰年”.开始输入y4整除y这个算法的框图如下图:是否100整除y100整除y否是输出“y不是闰年”输出“y不是闰年”结束 是否1.写出下列程序的运行结果.
(1)图(1)中,输出S=_____
(2) 图(2)中,若R=8,则a=_____开始结束输入a,ba=2b=4输出S图(1)开始结束输入Ra=2b输出a图(2)2.542.下图的作用是判断输入数x的奇偶性,则②处应为____开始结束输入x 输出“x是奇数” 输出“x是偶数”R=x除以2的余数②是否R=1?
1、设计一个算法,求一元二次方程ax2+bx+c=0(a≠0, b2-4ac>0)的根,画出相应的框图. 输入系数a,b,c输出X1、X2结束开始计算顺序结构探究2、设计一个算法,求一元二次方程ax2+bx+c=0(a≠0)的根,画出相应的框图. 输入a,b,c输出x1,x2结束开始△<0否是输出无实数解计算?选择结构怎样表示一个算法一、用自然语言表示算法
二、算法框图处理框终端框输入输出框流程线框图中的基本符号过去的,让它过去,永远不要回顾;未来的,等来了时再说,不要空想;我们只抓住了现在,用我们现在的理想,做我们所应该做的. ——茅盾课件20张PPT。2.2 变量与赋值 通过对具体实例的解决过程与步骤的分析,体会变量与赋值的含义.1、顺序结构2、选择结构 顺序结构是最基本的结构,是任何结构都需要用到的,选择结构是我们在解决实际问题中常用到的一种结构,它是计算机基本的逻辑推理结构. 用框图表示算法,简洁、清晰、直观、便于检查. 在设计算法过程中,解决问题的基本思想常常很简单、很清楚,但是表述却很麻烦,为了解决这个问题,需要引入变量与赋值.1、变量:在研究问题的过程中可以取不同的值的量.赋值语句的一般形式为:变量名=表达式 计算机中变量的表示一般由一个或几个英文字母组成,或字母加数字表示.2、 赋值: 把B的值赋给变量A, 这个过程称为赋值.记作: A=B其中“=”为赋值符号.如a,x,a1,sum等.探究1 已知两个数A和B, 设计一个算法使A和B位置互换。ABXA算法如下:
(1)X =A
(2)A =B
(3)B= X
(4)输出结果A,BAB=X表示“把X杯中的水倒入B杯中”,这样“B杯”中的水换成了“X杯”中的水,即“A杯”中的水,交换结束.图1其交换过程可以形象理解为:X=A表示“把A杯中的水倒入X杯中”,这样“A杯”是空杯子;A=B表示“把B杯中的水倒入A杯中”,这样“A杯”中的水换成了“B杯”中的水,此时“B杯”是空杯子;其交换过程可以用图1表示:①②③2、在一个赋值语句中,只能给一个变量赋值,不能出现两个或两个以上的“=”号.赋值注意问题:1、赋值符号左边只能是变量名字,而不是表达式,
只能写成:b=2,b=a+1,但不能写成:2=b,b+1=23、赋值符号不同于“等号”,赋值符号左边的变量如果原来没有值,在执行完赋值语句后,该变量获得一个值,如果原来已有值,则执行赋值语句后,以赋值符号右边表达式的值替代原来的值.分析:解决这个问题的思路其实很简单,先选2个数进行比较,去掉小的,留下大的;再取3个数与留下的数进行比较,去掉小的,留下大的;继续进行,直到每个数都被比较,最后留下的数就是最大数.解:例1 设计一种算法,从5个不同的数中找出最大数,并用框图描述这个算法.设这5个不同的数分别为:a1,a2,a3,a4,a5,算法步骤如下:1、比较a1与a2,将较大的数记作b.2、再将b与a3进行比较,将较大的数记作b.3、再将b与a4进行比较,将较大的数记作b.4、再b与a5进行比较,将较大的数记作b.5、输出b,b的值即为所求的最大数.你会制作框图吗?探究2 上面的问题我们可以用赋值结构表示,你会画它的框图吗?分析:首先要先给C赋值,再给F 赋值开始结束C=23.5输出F解:算法描述如下:(3)输出F框图如图:?(1)C=23.5例3 经过市场调查分析得知,1999年第一季度内,某地区对某件商品的需求量为12 000件.为保证商品不脱销,商家在每月月初将商品按相同数量投放市场.已知年初商品的库存量为50 000件,用S表示商品的库存量,请设计一个算法,求出第一季度结束时商品的库存量,并画出框图.分析:因为第一季度商品的需求量为12 000件,而且每个月以相同数量投放市场,因此每个月向市场投放4 000件商品.这样,一月份得库存为年初库存量50000件减去市场投放量4000件,故为46000件.可以用下表表示库存量随着月份的变化情况.还可以用下列赋值语句来表示库存量的变化:S=S-4 000.赋值号左边的变量S可看作盒子,如果它表示的是这个月的存储量,那么右边的变量S表示的是上个月的存储量.
这是对变量S的赋值,赋值的目的是改变变量的值,将变量S上次的值减去4 000再次赋予变量S.解:算法框图如图:例4 有关专家建议,在未来几年,中国的通货膨胀率保持在3%左右将对中国经济的稳定有利无害.所谓通货膨胀率为3%,指的是每年消费品的价格增长率为3%.在这种情形下,某种品牌的钢琴2004年的价格是10 000元,请用框图描述这种钢琴今后4年的价格变化情况,并输出4年后钢琴的价格.解:算法框图如图:1.下列框图中具有赋值、计算功能的是( )
A.处理框 B.输入、输出框
C.循环框 D.判断框
2.下面程序框在框图中具有计算功能的是( )AC3.阅读右侧框图,若输入的a,b,c分别为21,32,75,则输出的a,b,c分别是( )A.75,21,32 B.21,32,75 C.32,21,75 D.75,32,213题图A4、阅读框图,其输出的结果是__________.
分析:在题中所给的框图中,首先赋给x的初始值为2,再把2x+1=5赋给变量y,则y=5,又把3y-2=13赋给变量b,则b=13,所以易得最后结果为13.答案:131、变量与赋值的概念2、变量和赋值是算法中十分重要的概念,掌握将常数赋予变量,将其他变量的表达式赋予变量,将含有自身变量的表达式赋予变量,理解这些赋值方式的意义,切实学会通过赋值的方式改变变量的值,学会给变量赋值是构造算法的关键,也是算法的基本要求.“问号是开启任何一门科学的钥匙”,愿你在学习中多抓住几个问号.课件27张PPT。2.3 循环结构1.进一步理解程序框图的概念;
2.掌握运用程序框图表达循环结构的算法;
3.培养学生逻辑思维能力与表达能力.1、若要从五个不同的数找出最大数,我们可以用什么结构呢?顺序结构如右图所示2、设计一个算法,求100个数中的最大数,画出算法框图.我们是否还可以用上题的方法呢?不能,如果用上述的方法过程太繁杂了.下面介绍另一种结构来解决这类问题,即循环结构.例1 设计一个算法,输出1000以内能被3和5整除的所有正整数,画出算法框图.分析:凡能被3和5整除的正整数都是15的倍数,由于1000=15×66+10,因此一共有66个这样的正整数.解:引入变量a表示待输出的数,则
a=15n (n=1,2,3,…,66 ).
n从1变到66,反复输出a,就能输出1000以内的所有能被的正整数.结束开始n=1a=15n输出an=n+1n>66否是变量n控制循环的开始和结束,称为循环变量.开 始 输出“y 不是闰年”4 整除 y100 整除 y400 整除 y 输出“y 是闰年”否否是是是否y=2000y:=y+1Y>2500否结束是例2 阅读右图中所示的框图,回答下列问题:(1)变量y在这个算法中的作用是什么?(2)这个算法的循环体是哪一部分,功能是什么?变量y是循环变量,控制着循环的开始和结束.红虚线所框部分,其功能是判断年份y是否是闰年,并输出结果.(3)这个算法的处理功能是什么?由前面的分析,我们知道,这个算法的处理功能是:判断2000~2500(包括2500)年中,哪些年份是闰年,哪些年份不是闰年,并输出结果. 本节主要介绍如何用循环结构来描述算法,一般地,在画出算法框图之前,需要确定三要素:①确定循环变量和初始条件;②确定算法中反复执行的部分,即循环体;③确定循环的终止条件.循环结构的算法框图为:循环变量=初始值循环体循环变量=循环变量的后继值终止条件是否成立否是开始结束例3 设计一个算法,求100个数中的最大数,画出框图.引入变量 b与i,并用ai(i=1,2,3…,100)表示待比较的数(b为最大值,先令b=a1)算法中的循环部分为比较b与ai的大小,如果b100是是开始输入a1,a2,…,a100i=2b=a1b100输出b结束否例4 菲波拉契数列表示的是这样一列数: 0,1,1,2,3,5,…,从第三项起每一项等于前两项的和.设计一个算法框图,输出这个数列的前50项.分析:设置50个变量:A1,A2,A3,…, A50,表示斐波那契数列
的前50项.由这个递推关系知道,只要知道这个数列的前两项,就能将后面的所有项都输出来,因为算法中,反复计算和输出的步骤都是一样的,因此,可以用循环结构来描述这个算法,如果设Ai-2,Ai-1,Ai分别表示数列中连续的三项,则(1)循环变量和初始条件:设下标i为循环变量,3为i的初始值.(2)循环体:
算法中反复执行部分为:Ai=Ai-1+Ai-2;输出Ai(3)终止条件:当i>50时,算法结束.解:算法框图如图所示:i>50开始A1=0,A2=1输出Aii=i+1结束否是i=3输出A1,A2Ai=Ai-1+Ai-2思考:(1)你还记得二分法吗?二分法的步骤是什么?(2)怎样设计本题的算法?(3)算法框图如何画?我们知道,对于给定的一元方程,要求精度为0.01的近似解的算法如下:?????(2)如果不为0,则分下列两种情形:分析理解(2)如果区间长度大于0.01,则在新的有解区间的基础上重复上述步骤.?5、判断新的有解区间的长度是否不大于0.01:(1)如果区间长度不大于0.01,则此区间内任意值均可作为方程的近似解;?在上述算法中:(1)循环变量和初始条件?(2)循环体????(3)终止条件???算法框图如图画虚线部分在算法中有什么作用?思考题:请观察给出的框图,这是一个求和算法的框图,请运行几步看一看,指出该循环结构的循环体,循环变量和循环的终止条件.循环变量: i终止条件: i>4处理功能:s=1+2+3+4=10输出结果:10循环体开始s=0i=1输出ss=s+ii>4结束否是i=i+1变式:若改为右图,则输出的结果为________.91、___________________说出下列各框图输出的结果:15, 30, 45, ……990(1题图)2、_____________15, 15, 15……(2题图)9903、_____________(3题图)1.理解循环结构的逻辑,主要用在反复做某项工作的问题中;2.画循环结构程序框图前:①确定循环变量和初始条件;②确定算法中反复执行的部分,即循环体;③确定循环的转向位置;④确定循环的终止条件.3.条件结构与循环结构的区别与联系:区别:条件结构通过判断分支只是执行一次;循环结构通过条件判断可以反复执行. 联系:循环结构是通过条件结构来实现.“知人”,从知道自己到了解他人,都要摆对位置才行.课件22张PPT。3.1 条件语句§3 几种基本语句1、正确理解条件语句的概念;
2、会应用条件语句编写程序. 输入语句、输出语句和赋值语句的一般格式分别是什么?输入语句: INPUT “提示内容”;变量输出语句:PRINT “提示内容”;表达式 赋值语句: 变量=表达式探究一:条件语句(1) IF 条件 THEN
语句体
END IF思考1:下图是算法的条件结构用程序框图表示的一种形式,它对应的条件语句的一般格式设定为:满足
条件?步骤a是否你能理解这个算法语句的含义吗?当计算机执行上述语句时,首先对IF后的条件进行判断,如果(IF)条件符合,那么(THEN)执行语句体,否则执行END IF之后的语句.IF 条件 THEN
语句体
END IF满足
条件步骤a是否思考2:求实数x的绝对值有如下一个算法:
第一步,输入一个实数x.
第二步,判断x的符号.若x<0,则x=-x;否则,x=x.
第三步,输出x.
该算法的程序框图如何表示?探究二:条件语句(2) 思考1:下图是算法的条件结构用程序框图表示的另一种形式,它对应的条件语句的一般格式设定为:If 条件 Then
语句1
Else
语句2
End If你能理解这个算法语句的含义吗?If 条件1 Then
语句1
Else
语句2
End If当计算机执行上述语句时,首先对If后的条件进行判断,如果(If)条件符合,那么(Then)执行语句体1,否则(Else)执行语句体2.思考2:第一步,输入一个实数x.
第二步,判断x的符号.若x≥0,则输出x;否则,输出-x.该算法的程序框图如何表示?求实数x的绝对值又有如下一个算法:思考3:你能写出这个算法对应的程序吗? ENDINPUT “x=”;xIF x>=0 THEN PRINT xELSEPRINT -xEND IF步骤:(1)输入x;解:可以用条件语句表示第(2)、(3)步骤:Elsey=x2+1y=x2-1End If?一般地,对于形如右方框图的算法,都可以用下列语句来表示:语句1Else语句2End If 计算机在执行if-then-else语句时,首先判断条件,当条件成立时,执行then后的语句,如果条件不成立,就执行else后的语句.例2 在音乐唱片超市里,每张唱片售价25元.顾客如果购买5张以上(含5张)唱片,则按照九折收费;如果顾客购买10张以上(含10张)唱片,则按照八五折收费.请用语句描述完成计费工作的算法,画出算法框图.解:假如用变量a表示顾客购买的唱片数,用变量C
表示顾客要缴纳的金额.则这个算法可以表示为:1、输入a.2、对a进行判断:(1)若0 ThenElse If <条件2> Then <语句2> Else<语句3>End IfEnd If<语句1> 复合条件语句一般用于含有两个或两个以上的条件结构中,编程时,要明确条件与语句之间的对应关系,最好先作框图,理清判断的先后顺序,再编程.1、编写一程序,求实数X的绝对值.2、把下列语句的意义翻译成程序框图(2)IF x>0 THEN
y=1
ELSE
y=0
END IF(1)IF x<0 THEN
x=aBS(x) END IF PRINT “x的绝对值为:”;x 3、编写程序,使得任意输入3个整数按从大到小的顺序输出.(注:aBS(x)表示取x的绝对值.)1、(1)算法步骤:S1:输入一个实数XS2:判断X的符号,若X≥0,则输出X;否则输出-X.(2)程序框图:开始输入X输出X输出-X结束是否(3)程序:
INPUT X
IF X>=0 THEN
PRINT X
ELSE
PRINT -X
END IF
END2、(1)(2)INPUT “a,b,c=”;a,b,c
IF b > a THEN
t = a
a = b
b = t
END IF
IF c > a THEN
t = a
a = c
c = t
END IFIF c > b THEN
t = b
b = c
c = t
END IF
PRINT a,b,c
END3、条件语句简单条件语句复合条件语句If <条件> Then
<语句1>
Else
<语句2>
End IfIf <条件1> Then
<语句1>
Else
If <条件2> Then
<语句2>
Else
<语句3>
End If
End If 爬高了才知道原来自己的眼睛也能看到远处的目标,方明白自己也能创建远大理想.课件20张PPT。3.2 循环语句 掌握循环语句的功能和格式,能由循环结构写出循环语句,并学会用计算机解决简单的实际问题.1.指出下图中的循环变量,循环
体,循环终止条件.变量n控制着循环的开始和结束,称为循环变量.反复执行的部分,称为循环体.此用于判断是否继续执行循环体,称为循环的终止条件.2.画出循环结构的算法框图的基本模式思考1、下图是算法的循环结构的程序框图,它对应的循环语句的一般格式是什么?探究一:循环语句(1) For 循环变量 = 初始值 To 终值循环体Next循环语句——For语句 循环结构是算法中的基本结构,for语句是表达循环结构最常见的语句之一,它适用于预先知道循环次数的循环结构.思考2、For循环语句适合什么类型循环结构? 计算机在执行For语句时先对循环变量赋值,然后与循环变量的终值比较,若小于或等于终值,则执行循环体,然后循环变量的值增加,再与终值比较,若还小于或等于终值,再执行循环体,循环变量的值再增加,以此类推,直到循环变量的值大于终值时,停止执行循环体. 利用For循环描述算法时,要注意设定好循环变量的初始值和终值,避免出现多一次循环或少一次循环的情况.提醒:例3 结合右边框图,使用for语句描述输出菲波那契数列算法的前50项的算法.i>50i=3i=i+1结束是否f1=0,f2=1开始f3=f1+f2f1=f2 f2= f3 输出f1, f2输出f3f1=0
f2=1
输出“斐波那契数列为”f1 ,f2For i=3 to 50 f3=f1+f2输出f3f1=f2f2=f3Next解:S=0T=1S=S+iT=T*i输出S输出TNexts=0,T=1i=1S=S+i,T=T*ii=i+1i>20输出S,T结束开始否是例4.请阅读下列用for语句写出的算法,说明该算法的处理功能.for i=1 to 20 这两件事情.这个算法实际上处理的是求和S=1+2+3+…+20及求积T=1×2×3×…×20思考3 如何寻找满足1×2×3×4×…×n>100条件的最小整数?能用For语句写出吗?探究二:循环语句(2) 在一些循环结构中,预先不知道循环的次数,要根据其它形式的终止条件停止循环,其结构如右:在这种情况下一般用Do Loop语句来描述.Do Loop语句一般形式为:Loop WhileDo循环体条件为真Do Loop语句的执行过程:先执行一次循环体,然后对Loop While后面的条件进行判断,若条件满足,则返回执行循环体,再进行条件判断,直到条件不满足时停止循环. PRINT n-1现在你能找出满足1×2×3×4 ×…×n>100条件的最小整数?解: s=1n=1Do s=s*nn=n+11、用Do Loop语句描述判断一个数是否为素数的算法.1、解:t=1Dot=t+1Loop while t不能整除p 且t<=Sqr(p)If t>Sqr(q) Then输出“p是素数”Else输出“p不是素数”End If2、解:m=0n=0i=0For i=1 To 40输入sIf s>=85 Thenm=m+1ElseIf s>63 Thenn=n+1Elsei=i+1End IfNext3、For i=1 to 300If n-1 Mod 5=0 Then 输出nNextiDO 循环体
LOOP While 条件为真For 循环变量 = 初始值 To 终值
循环体
Next1、在计算机语言里,循环结构可以用循环语句来表达分别有:Do—Loop语句For—Next语句2、 For—Next语句的局限性—只能表达已知循环次数的循环结构.3、在运用两种语句都要注意循环变量的初始值和终值.明天是世上增值最快的一块土地,因它充满了希望.