课件22张PPT。1.1.1 算法的概念 本课主要学习算法的概念。引入桌前的一杯水与酒互换引入新课。接着利用实例及课件引导学生对具体问题的过程与步骤的分析,发展从具体问题中提炼算法的思想,理解算法的特性。
课前导入部分用一个浅显的生活实例对算法有直观的认识;新课讲授部分,讲述采用课件与具体的实例相结合的方法,加深学生对算法的理解;提炼出算法的特性;最后通过习题加强巩固。
初步了解算法的概念
了解算法的确定性,有效性,有限性等特性课前小游戏请你将桌上的一杯酒与一杯水互换,并写出互换的方案.①
②第二步: 解③得:第四步: 解④得:第一步:①+②×2得: ③第三步: 将②- ① ×2 得 ④第五步: 得到方程组的解为③第二步: 解③得:④第四步: 解④得:第五步: 得到方程组的解为 算法的概念明确性有效性有限性算法(algorithm):
简单地说,算法就是解决某一类问题的程序或步骤,这些程序或步骤必须是明确和有效的,而且能在有限步之内完成。说明:
(1)事实上算法并没有精确化的定义.
(2)算法虽然没有一个明确的定义,但其特点是鲜明的,不仅要注意算法的程序性、有限性、构造性、精确性的特点,还应该充分理解算法问题的指向性,即算法往往指向解决某一类问题,泛泛地谈算法是没有意义的。你对以下的“算法”如何理解? 要把大象装冰箱,分几步?答:分三步:第一步:打开冰箱门第二步:把大象装冰箱第三步:关上冰箱门问题1:S1 max=a
S2 如果b>max, 则max=b.
S3 如果C>max, 则max=c.
S4 max就是a, b, c中的最大值。 问题2:用数学语言,写出对任意3个整数a,b,c求出最大值的算法。 例1:一位商人有9枚银元,其中有1枚略轻的是假银元.你能用天平(不用砝码)将假银元找出来吗?说出算法.例 2:设计一个算法,判断7是否为质数。第一步,用2除7,得余数1,因为余数不是0,所以2不能除7.
第二步,用3除7,得余数1,因为余数不是0,所以3不能除7.
第三步,用4除7,得余数3,因为余数不是0,所以4不能除7.
第四步,用5除7,得余数2,因为余数不是0,所以5不能除7.
第五步,用6除7,得余数1,因为余数不是0,所以6不能除7.
变式:设计一算法,判断35是否为质数。第一步,用2除35,得余数1,因为余数不是0,所以2不能除35.
第二步,用3除35,得余数2,因为余数不是0,所以3不能除35.
第三步,用4除35,得余数3,因为余数不是0,所以4不能除35.
第四步,用5除35,得余数0,因为余数是0,所以5能除35.
因此,35不是质数.
变式: 任意给定一个大于2的整数n,试设计一个程序或步骤对n是否为质数做出判断。第一步:给定大于2的整数n.第二步:令i=2第三步:用i除n,得到余数r.第四步:判断”r=0”是否成立,若是,则n不是质数,结束算法;否则,将i的值增加1,仍用i表示,即:i=i+1.第五步:判断”i>(n-1)”是否成立,若是,则n是质数,结束算法;否则,将返回第3步.例3 写出求1+2+3+4+5+6的一个算法。解:算法1:
S1 计算1+2得到3;
S2 将第一步中的运算结果3与3相加得到6
S3 将第二步中的运算结果6与4相加得到10
S4 将第三步中的运算结果10与5相加得到15
S5 将第四步中的运算结果15与6相加得到21算法2:
S1:取n=6;
S2:计算
S3:输出运算结果。算法3:
S1 将原式变形为(1+6)+(2+5)+(3+4)=3×7;
S2 计算3×7;
S3 输出运算结果。 1.任意给定一个正实数a,试设计一个算法求以a为直径的圆的面积.2. 已知平面直角坐标系的两点A(-1,0),
B(3,2),写出求直线AB斜率的一个算法. 第四步:输出圆的面积的值.3.写出求1+2+3+…+100的一个算法.可以运用公式1+2+3+…+n=
直接计算.
第一步 ① ;
第二步 ② ;
第三步 输出运算结果. ①取n=100 ②计算 4.下列关于算法的说法中,正确的是( ).
A. 算法就是某个问题的解题过程
B. 算法执行后可以不产生确定的结果
C. 解决某类问题的算法不是惟一的
D. 算法可以无限地操作下去不停止C算法的特征是什么?明确性有效性有限性算法的概念:算法通常指可以用来解决的某一类问题的步骤或程序,这些步骤或程序必须是明确的和有效的,而且能够在有限步之内完成的.课件16张PPT。1.1.2 程序框图 本课时要求学生理解程序框图。
学生已有的基础刚刚学完算法概念,理解了算法的特点,可以用文字语言来表述算法,学生运用框图来表示算法,首先理解掌握框图的符号,用数学语言来表述算法。然后用三道例题的讲解框图,及其画法,判断框的应用。最后小结本节课,用课堂检测巩固知识。
1、掌握程序框图的概念,会用通用的图形符号表示算法;
2、掌握画程序框图的基本规则,能正确画出程序框图;
3、通过模仿、操作、探索,经历通过设计程序框图解决问题的过程,学会灵活、准确地画程序框图.
1、算法是指 。
2、算法有哪些特征?
3、用自然语言表示算法。1、算法通常是指可以用计算机来解决的某一类问题的程序或步骤,这些程序或步骤必须是明确的和有效的,而且能够在有限步之内完成。 2、 ①有限性 ②明确性 ③程序性 1、程序框图 (1)程序框图的概念 程序框图又称流程图,是一种用规定的程序框、流程线及文字说明来准确、直观地表示算法的图形。 一个程序框图包括以下几部分:
①表示相应操作的程序框;
②带箭头的流程线;
③程序框外必要的文字说明。 在程序框图中,一个或几个程序框图的组合表示算法中的一个步骤;带有箭头的流程线将程序框连接起来,表示算法步骤的执行顺序。2、用框图表示算法步骤的一些常用图形符号流程图的开始或结束 赋值、执行计算语句、结果的传送根据给定条件判断流程进行的方向连接另一页或另一部分的框图帮助理解流程图数据的输入或结果的输出图形符号 名 称 符号表示的意义 起、止框 ________________________ 输入输出框 ______________________ 处理框 ____________________________ 判断框 ____________________ 流程线 ______________ ? 连接点 ____________________________ 注释框 __________________ 3.画流程图的规则
(1)使用______的框图的符号.
(2)框图一般按______________________的方向画.
(3)除判断框外,大多数流程图符号只有______进入点和______退出点.判断框是具有超过一个退出点的唯一符号.
(4)一种判断框是“是”与“不是”两分支的判断,而且有且仅有______个结果;另一种是多分支判断,有______不同的结果.
(5)在图形符号内描述的语言要非常__________.标准 从上到下、从左到右 一个 一个 两 几种 简练清楚 C×√√√√×
[解析] 由于存在着一种多分支判断,所以一个判断框可能有多个退出点,所以B选项是错误的;因为用程序框图描述算法的优点主要就是直观、形象、容易理解,相对于自然语言描述算法,在步骤上表达简单了许多,所以C选项是错误的;另外程序框图就是流程图,所以D选项也是错误的,故选A.法一:
法二:算法步骤如下:
S1 输入实数x;
S2 若x≥0,则y=x;
若x<0,则y=-x;
S3 输出y. 程序框图如图所示:
[点评] 当一个问题的结果因条件不同而发生改变时,在程序框图中必须使用判断框.注意判断框的两个输出点处要注明“是”或“否”.1、下列关于程序框图的说法正确的是( )
A.程序框图是描述算法的语言
B.在框图中,一个判断框最多只能有两个退出点
C.程序框图虽可以描述算法,但不如用自然语言描述算法直观
D.程序框图和流程图不是一个概念
A2、已知两点A(x1,y1)、B(x2,y2),求线段AB的长度d及中点P的坐标.请设计算法并画出框图. 3、下面的程序
框图描述的
算法的运行
结果是( )-51.重点是框图的概念及画框图的规则。理解框图符号的意义。2.画框图的符号要规范,要先设计算法再画框图。课件18张PPT。1.1.3 算法的三种基本逻辑结构和框图表示
第1课时 顺序结构与条件分支结构1.算法框图的理解;
2.顺序结构的理解;
3.条件结构的理解。 首先用一个浅显的例子总结算法结构;新课讲授部分,讲解顺序和条件结构;例题部分,通过典例讲解让学生熟悉两种结构。复习巩固部分通过练习对知识巩固,让学生更系统掌握本节课的所学知识,最后总结作业。 思考“已知圆的半径,求出圆的面积,所画出的程序框图”是属于什么样的逻辑结构?这种结构有哪些共同点?解:是属于顺序结构。顺序结构是最简单的算法结构,语句与语句之间,框与框之间是按从上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的,它是任何一个算法都离不开的一种基本算法结构。例1. 已知点P0(x0,y0)和直线l:Ax+By+C=0,求点P0(x0,
y0)到直线l的距离d.解:(1)用数学语言来描述算法:
S1 输入点的坐标x0,y0,输入直线方程的系数A,B,C;
S2 计算z1=Ax0+By0+C;
S3 计算z2=A2+B2;S4 计算 ;
S5 输出d. (2)用框图来描述算法:否则Δ≥0,即 x1= ,
x2= ;S3 输出x1,x2,或“无实数解”信息.例2、请用数学语言和程序框图描述求一元二次方程
根的过程。解:(1)用数学语言来描述算法:
S1 计算Δ= ;
S2 如果Δ<0,则原方程无实数解;(2)用框图来描述算法:例3.设火车托运重量为P(kg)行李时,每千米的费用(单
位:元)标准为
画出行李托运费用的程序框图。
解:先输入托运的重量P和里程D,再分别用各自条件下的计算式子来计算处理,然后将结果与托运路程D相乘,最后输出托运行李的费用M.程序框图如下图所示:用框图来描述算法:1.对顺序结构,下列说法:①是最基本、最简单的算法
结构;②框与框之间是依次进行处理;③除输入、输出
框之外,中间过程都是处理框;④可以从一个框图跳到
另一个框图执行;其中正确的有( )
A.4个 B.3个 C.2个 D.1个BA2.下边的程序框图(如图所示),能判断任意输入的数
x是奇数还是偶数,其中判断框内的条件是( )
A.m=0 B.x=0 C.x=1 D.m=13.已知三角形的三边a,b,c,计算该三角形的面积。写出算法,并用流程图表示出来。
解:算法如下:
S1 输入a,b,c;
S1 计算p=(a+b+c)/2;
S2 利用公式
即可求出三角形的面积。4.如果考生的成绩大于或等于60分,则输出“及格”,否则输出“不及格”,用流程图表示这一算法的过程。解:
1、顺序结构的程序框图的基本特征
2、条件结构的程序框图的基本特征1.已知梯形上底为2,下底为4,高为5,求其面积,设计出该问题的流程图.
2.求函数
的值的算法流程图.课件21张PPT。1.1.3 算法的三种基本逻辑结构和框图表示
第2课时 循环结构1、更进一步理解算法,
2、掌握算法的循环结构,
3、掌握画程序框图的基本规则,能正确画出
程序框图.学会灵活、正确地画程序框图。 首先用一个浅显的例子复习顺序结构的优缺点;新课讲授部分,讲解循环体,两种不同循环结构;例题部分,通过典例讲解让学生熟悉循环结构。复习巩固部分通过练习对知识巩固,让学生更系统掌握本节课的所学知识,最后总结作业。 如何画出求1+2+3+……+100的程序框图?解答: 思考 在上例写出的程序框图中,应用了什么样的逻辑结构?有什么优缺点?还有没有其它更好的写法? 解答:此程序框图应用了顺序结构,
优点:一目了然,书写清晰;
缺点:当计算次序较多时,步骤太繁琐。另解:1、循环结构---在一些算法中,也经常会出现从某处开始,按照一定条件,反复执行某一步骤的情况,这就是循环结构.反复执行的步骤称为循环体.注意:循环结构不能是永无终止的“死循环”,一定要在某个条件下终止循环,这就需要条件结构来作出判断,因此,循环结构中一定包含条件结构.循环结构用程序框图可表示为:2、循环结构分为两种------当型和直到型.(1)直到型循环在执行了一次循环体之后,对条件进行判断,如果条件不满足就执行循环体,直到条件满足时终止循环.(反复执行循环体,直到条件满足)(2)当型循环在每次执行循环体前对条件进行判断,当条件满足时执行循环体,否则终止循环;(当条件满足时反复执行循环体)?判断直到型当型例1、已经知道现有的人口总数是P,人口的年增长率是R,预测第T年后人口总数将是多少?
分析:
(1)第一年后的人口总数是P+P×R=P(1+R);
(2)第二年后的人口总数是P×(1+R)+P×(1+R)×R=P(1+R)2;
……
以此类推,得到第T年后的人口总数是P(1+R)T. 例2 某工厂2015年的年生产总值为200万元,技术革新后预计以后每年的年生产总值都比上一年增长5%.设计一个程序框图,输出预计年生产总值超过300万元的最早年份.第三步,判断所得的结果是否大于300.若是,则输出该年的年份;否则,返回第二步.第一步,输入2015年的年生产总值.第二步,计算下一年的年生产总值.算法分析:(3)控制条件:当“a>300”时终止循环.(1)循环体:设a为某年的年生产总值, t为年生产总值的年增长量,n为年份,则t=0.05a,a=a+t,n=n+1.(2)初始值:n=2015,a=200.循环结构:程序框图:1、右边的程序框图,
输出S=———?i>3?142、画出计算 值的一个算法程序框图.3、设计计算13+33+53+…+993的算法程序,
并画出相应的流程图。 解答:(1)循环结构的概念;
(2)掌握循环结构的特点;
(3)会把循环结构由数学描述转化为程序框图表达。某高中男子体育小组的50m跑成绩(单位:s)为: 6.4, 6.5, 7.0, 6.8, 7.1, 7.3, 6.9, 7.4, 7.5.
设计一个算法,从这些成绩中搜出小于6.8s的成绩.课件20张PPT。赋值语句1.2.1 算法基本语句输入、输出语句﹠1.理解学习基本算法语句的意义.
2.学会输入语句、输出语句和赋值语句的基本用法.
3.理解算法步骤、程序框图和算法语句的关系,学会算法语句的写法.首先用一个浅显的例子引入,新课讲授部分,通过一个典例讲解输入输出语句。复习巩固部分通过练习对知识巩固,让学生更系统掌握本节课的所学知识,最后总结作业。 中国足球队在亚洲杯上的失利说明,中国足球仍然需要请外国教练。高水平的外国教练有先进的足球理念,有系统科学的训练计划,有先进的足球技术,但由于语言不通不能直接传授给队员。算法步骤、程序框图虽然容易掌握,但计算机不能理解,因此我们需要学习算法语句。·输入语句1.一般格式:INPUT “提示内容”;变量输入a,b,cINPUT a,b,cINPUT “x=”; xINPUT “提示内容”;变量
INPUT 变量
INPUT “提示内容”;变量1,变量2,变量3,···
INPUT 变量1,变量2,变量3,···2. 常用格式:3· 特别的给多个变量赋值时,提示内容与相关
变量要对应一致,其格式为:INPUT “提示内容1,提示内容2,…”;变量1,变量2,… eg.输入一个学生数学,语文,英语三门课的成绩,可以写成:INPUT “数学,语文,英语”;a,b,ceg:1.输入n的值INPUT “n=”; n 2.输入a,b,cINPUT a, b, c 即 “数学,语文,英语”;可以省略.INPUT a,b,c4.特别提示:①“提示内容”和它后面的 ; 可以省略.
②“INPUT”后面要有空格; 提示内容与变量
之间用“;”隔开.
③输入语句要求输入的值只能是具体的常数,
不能是函数、变量或表达式.
④无计算功能,输入多个数据时用“,”分隔,且个数要与变量的个数相同.
INPUT “提示内容”; 变量10·输出语句1.一般格式:PRINT “提示内容”;表达式PRINT “N is not a prime number.”PRINT “提示内容”;表达式
PRINT 表达式
PRINT “提示内容”;表达式1,表达式2,表达式3, ···
PRINT 表达式1,表达式2,表达式3,···
PRINT “提示内容”2.常用格式:·赋值语句1、一般格式:变量=表达式2、特别提示:①作用是将表达式所代表的值赋给变量,计算.赋值语句中的“=”称为赋值号.②赋值语句右边必须是一个数据、常量和算式,左边必须是变量,不能为表达式.③赋值号左右不能对换.④不能用赋值号进行代数式的演算。一个语句只能给一个变量赋值;不能出现多个“=”S1:输入x的值;
S2:计算y=x3+3x2-24x+30的值;
S3:输出y的值.程序框图例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 y
END程序: -----------------输入语句 ---------赋值语句-------------------------输出语句-------------------------表示结束 例2:比较下列各组语句的区别,再判断它们是否正确.
(1)① 输入语句 INPUT “a=” ;a
② 输入语句 INPUT “a=” ,a √╳(2)① 输入语句 INPUT “a,b,c=”;a,b;c
② 输入语句 INPUT a,b, c√“提示内容”与
变量之间用分
号隔开.“提示内容”与
后面的“;”可省略.变量与变量之间用逗号隔开出PRINT出出出PRINTPRINTPRINT╳ 比较下列各组语句的区别,再判断它们是否正确.
(3)① 输出语句PRINT “S=”;7
② 输出语句PRINT S=7√╳√╳赋值号左边是变量,只能给一个变量赋值.╳输入、输出语句中不能用赋值号.即表达式(4)① 赋值语句 r=9
② 赋值语句 9=r
③ 赋值语句 R=r=9(5)输出语句 PRINT 20.3*2
(6)赋值语句 3=B(7)赋值语句 x+y=1解析:
(5)正确,PRINT语句可以输出常量、表达式的值; (6)错,赋值语句中“=”号左右不能互换; (7)错,不能给一个表达式赋值; (8)赋值语句A=B=-2(9)赋值语句 T=T*T (8)错,一个赋值语句只能给一个变量赋值; (9)正确,该句的功能是将当前T的值平方后再赋给变量T. 例3:读下列两个程序语句回答问题.(1)上述两个程序有何区别.
(2) 写出两个程序的运行结果.(a)INPUT X
INPUT Y
X=2009
Y=2008
X=Y
PRINT X , Y
END(b)INPUT X
INPUT Y
X=2009
Y=2008
Y=X
PRINT X , Y
END
2008 20082009 20091.写出求1+2+3+4+5+6+7+8的一个程序算法.2.写出用公式法求x2-2x-8=0的根的程序.INPUT “n=”;n
s=n*(n+1)/2
PRINT s
ENDa=1;b=-2;c=-8
p=-b/(2*a)
q=SQR(b^2-4*a*c)/2*a
x1=p+q
x2=p-q
PTINT x1,x2
END系统自带的算术平方根函数[解析] 由赋值语句的意义知,执行a=a+b后,a的值变为1+3=4,再执行b=a-b时,应为b=4-3=1.故输出的结果应为4,1.
4.程序:“a=3,a=a-5;a”运行的结果是________.
[答案] -2
[解析] ∵a=3,a=a-5=-2,故运行的结果为-2.
5.程序:“x=input(“x=3”);y=x^3;print(%io(2),y);”运行的结果是________.
[答案] 27
[解析] ∵x=3,∴y=x3=33=27,故运行的结果为27.
6.判断下列给出的输入语句、输出语句和赋值语句是否正确,并说明理由.
(1)输入语句:a=input(“a=”);
(2)输入语句:input x=3;
(3)输出语句:print(%io(2),A=4);
(4)输出语句:print(%io(2),20,3]
(1)输入语句、输出语句和赋值语句的基本用法.
(2)用输入语句、输出语句和赋值语句编写算法语句.
课件19张PPT。 1.2.2基本算法语句
——条件语句1.正确理解条件语句的概念,
2.掌握条件语句的结构,
3.会应用条件语句编写程序。 首先知识回顾顺序结构语句及条件结构;引入条件语句,新课讲授部分,讲解条件语句应用;例题部分,通过典例讲解让学生熟悉条件语句。复习巩固部分通过练习对知识巩固,让学生更系统掌握本节课的所学知识,最后总结作业。1、输入语句、输出语句和赋值语句对应于算法中的哪种结构?这三种语句的一般格式是什么? 2、什么是条件结构?用程序框图表示这种结构 顺序结构输入语句输出语句赋值语句INPUT “提示文字”;变量PRINT “提示内容”;变量变量=表达式条件语句是处理条件分支逻辑结构的算法语句 .条件语句的一般格式 只含一个“分支”的条件结构写成条件语句为当计算机执行这种形式的条件语句时,首先对IF后的条件进行判断,如果条件符合,就执行THEN后的语句体,否则执行END IF之后的语句. 含两个“分支”的条件结构写成条件语句为 当计算机执行上述语句时,首先对IF后的条件进行判断,如果条件符合,就执行THEN后的语句体1,否则执行ELSE后的语句体2. 条件语句的作用
在程序执行过程中,根据判断是否满足约定的条件而决定是否需要转换到何处去。需要计算机按条件进行分析、比较、判断,并按判断后的不同情况进行不同的处理。例1:编写程序,输入一元二次方程ax2+bx+c=0的系数,输出它的实数根。算法分析: 一元二次方程的根有三种不同情况:设判别式△=b2-4ac (1)当△>0时,一元二次方程有两个不等的实数根.(2)当△=0时,一元二次方程有两个相等的实数根.(3)当△<0时,一元二次方程没有实数根.【程序框图】输入a,b,c21是开始△=b2-4ac△≥0?原方程无实根2结束否1△=0?输出p是否x1=p+qx2=p-q输出x1,x2【程序】INPUT “ a,b,c =”;a,b,c
d=b*b-4*a*c
IF d>=0 THEN
p=-b/(2*a)
q=SQR(d)/(2*a)
IF d=0 THEN
PRINT “One real root:”;p
ELSE
x1=p+q
x2=p-q
PRINT “Two real roots:”;x1,x2
END IF
ELSE
PRINT “No real root!”
END IF END是开始△=b2-4ac△≥0?原方程无实根否结束△=0?输出p是否x1=p+qx2=p-q输出x1,x2输入a,b,c例2:编写程序,使得任意输入的3个整数按从大到小的顺序输出。 算法分析:用a,b,c表示输入的3个整数;为了节约变量,把它们重新排列后,仍用a,b,c表示,并使a≥b≥c.具体操作步骤如下。
第一步:输入3个整数a,b,c.
第二步:将a与b比较,并把小者赋给b,大者赋给a.
第三步:将a与c比较. 并把小者赋给c,大者赋给 a,此时a已是三者中最大的。
第四步:将b与c比较,并把小者赋给c,大者赋给b,此时a,b,c已按从大到小的顺序排列好。
第五步:按顺序输出a,b,c.c=bb=tb=tc=ta=c【程序框图】开始输入a,b,cb>a?是t=aa=b否c>a?是t=a否c>b?t=c是否输出a,b,c交换a,b的值【程序】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
END1.课本P29页T2.读程序,说明程序的运行过程.INPUT “x=:”;x
IF 9 a=x10
b=x MOD 10
x=10*b+a
PRINT x
END IF
END[问题]如输入的数x=86,则输出的结果是什么?68此程序用于交换一个两位数的个位和十位数字.2.课本P29页T1.INPUT “a,b,c=”; a,b,c
IF a+b>c AND a+c>b AND b+c>a THEN
PRINT “Yes.”
ELSE
PRINT “No.”
END IF
END参考答案:3.课本P29页T3.编写求一个数是偶数还是奇数的程序,从键盘输入一个整数,输出该数的奇偶性.INPUT “a=”; a
IF a MOD 2 =0 THEN
PRINT “Even.”
ELSE
PRINT “Odd.”
END IF
END参考答案:4.编写一个程序,输入两个整数a,b,判断a是否能被b整除.INPUT “a,b=”; a,b
IF a MOD b =0 THEN
PRINT “b divides a.”
ELSE
PRINT “b does not divide a.”
END IF
END参考答案:1、条件结构的程序表示2、注意书写的规范性IF 条件 THEN
语句1
ELSE
语句2
END IFIF 条件 THEN
语句
END IF 某快递公司规定甲、乙两地之间物品的托运费用根据下面的方法计算:物品重量在50千克以内,托运费为每千克 0.53 元,超过的话,超过部分每千克0.85元,试画出计算费用f的程序框图,并写出相应的程序。 课件21张PPT。 1.2.3基本算法语句
——循环语句1.正确理解循环语句的概念,并掌握其结构。
2.会应用循环语句编写程序。
首先知识回顾循环结构;引入循环语句,新课讲授部分,讲解两种类型的循环语句应用;例题部分,通过典例讲解让学生熟悉循环语句。复习巩固部分通过练习对知识巩固,让学生更系统掌握本节课的所学知识,最后总结作业。算法中的循环结构是由循环语句来实现的循环结构有两种-----当型与直到型.当型循环结构(当条件满足时反复执行循环体)直到型循环结构(反复执行循环体直到条件满足)对应于程序框图中的两种循环结构,一般程序设计语言中也有当型(WHILE型)和直到型(UNTIL型)两种语句结构。 (1)For语句的一般格式是:
For 循环变量=初值:步长:终值
循环体;
end即FOR语句和WHILE语句。 (2)WHILE语句的一般格式是 WHILE 条件
循环体
END 当计算机遇到WHILE语句时,
先判断条件的真假,如果条件
符合,就执行WHILE与END之间的循环体;然后再检查上述条件,如果条件仍符合,再次执行循环体,这个过程反复进行,直到某一次条件不符合为止.这时,计算机将不执行循环体,直接跳到END语句后,接着执行END之后的语句. 例1.编写程序,
计算自然数1+2+3+…+99+100的和. 分析:这是一个累加问题.我们可以用WHILE型语句,也可以用UNTIL型语句。S=0For i=1:1:100S=S+iPRINT SENDi=1
S=0WHLIE i<=100S=S+ii=i+1ENDPRINT SEND例2:编写程序求:n!=1×2×3×4×5×……×n的值.如何修改?WHILE语句i=1
S=0WHLIE i<=100S=S+ii=i+1ENDPRINT SENDINPUT “n=”;nS=1S=S*ii≤n?S=1nS=S*i
编写程序求:1×3×5×7×……×101的值.如何修改?UNITL语句S=0For i=1:1:100S=S+iPRINT SENDS=11:2:101S=S*i直到型S=1S=S*i i=i+2i>101?函数y=x^2-3x+5,从x=1开始连续输入19个自然数进行取值,输出相应的函数值,用程序语言进行编程n=1For n=1:1:20y=x^2-3*x+5PRINT “x=”;x, “y=”;yEND程序直到型当型n=1WHILE n<=20y=x^2-3*x+5ENDPRINT “x=”;x, “y=”;yn=n+1程序结束否1、根据P7页图1.1-2,将程序框图转化为程序语句.分析:仔细观察,该程序框图中既有条件结构,又有循环结构。INPUT “n=”;n
For i=2:1:n
r=n MOD i
IF r=0 THEN
PRINT “n is not a prime number.”
ELSE
PRINT “n is a prime number.”
END IF
END程序2、求S=1+1/2+1/3……+1/n,编写程序程序INPUT “n=”;ni=1S=0WHILE i<=nS=S+1/ii=i+1ENDPRINT “S=”;SEND3、P33页A组T3.程序INPUT “n=”;ni=1S=0WHILE i<=nS=S+(i+1)/ii=i+1ENDPRINT “S=”;SEND4、P33页B组T4.程序INPUT “a=”;aINPUT “n=”;ntn=0sn=0i=1WHILE i<=ntn=tn+asn=sn+tna=a*10i=i+1ENDPRINT snEND5、编写一个程序,输入正整数n,计算它的
阶乘n!(n!=n*(n-1)*…*3*2*1)WHILE 条件
循环体
ENDFor循环变量=初值:步长:终值
循环体
End1.P33A组1、2
2.P33B组2、3课件20张PPT。1.3 中国古代数学中的算法案例1.理解算法案例的算法步骤和程序框图.
2.引导学生得出自己设计的算法程序.新课讲授部分,讲解两种算法的应用与优点;例题部分,通过典例讲解让学生熟悉两种中国古代算法。复习巩固部分通过练习对知识巩固,让学生更系统掌握本节课的所学知识。 算法案例一
更相减损之术(等值算法)思考1 小学学过的求两个数的最大公约数的方法是怎样呢? 先用两个公有的质因数连续去除,一直除到所得的商是互质数为止,然后把所有的除数连乘起来.解答:例1:求下面两个正整数的最大公约数:(1)求25和35的最大公约数;
(2)求49和63的最大公约数.所以,25和35的最大公约数为5;所以,49和63的最大公约数为7.解答:思考2 如何算出98与63的最大公约数?除了用这种方法外还有没有其他方法?(辗转相除法)解答:由于63不是偶数,把98和63以大数减小数,并辗转相减 98-63=3563-35=2835-28=728-7=21
21-7=14
14-7=7所以,98和63的最大公约数等于7.思考3 什么是更相减损之术?有什么具体作用呢?解答:所谓更相减损之术,就是对给定的两个数,用较大的数减去较小的数,然后将差和较小的数构成新的一对数,再用较大的数减去较小的数,反复执行此步骤直到差数和较小的数相等,此时相等的两数便为原来两个数的最大公约数。
更相减损之术,是我国古代数学算法的叫法,现代数学中称作等值算法,主要的作用是求两个正整数的最大公约数。思考4 你能根据更相减损之术设计程序,求两个正整数的最大公约数吗?程序a=input(“please give the first number”);
b=input(“please give the second number”);
While a<>b
ifa>b
a=a-b;
else
b=b-a;
end
end
print(%io(2), a, b) 算法案例二
秦九韶算法思考1 想想怎样求多项式f(x)=x5+x4+x3+x2+x+1当x=5时的值呢?算法1:计算多项式f(x)=x5+x4+x3+x2+x+1
当x=5的值的算法:因为f(x)=x5+x4+x3+x2+x+1所以f(5)=55+54+53+52+5+1=3125+625+125+25+5+1=3906解答:算法2:f(5)=55+54+53+52+5+1=5×(54+53+52+5+1)+1=5×(5×(53+52+5+1)+1)+1=5×(5×(5×(52+5+1)+1)+1)+1=5×(5×(5×(5×(5+1)+1)+1)+1)+1思考2 两种算法各用了几次乘法运算和几次加法运算?算法一共做了1+2+3+4=10次乘法运算,5次加法运算。算法二共做了4次乘法运算,5次加法运算。解答:通过对比,很明显,算法二比算法一优越,这种算法就是秦九韶算法。对该多项式按下面的方式进行改写:思考3 秦九韶算法的概念和特点是怎样的呢?解答:这种将求一个n次多项式f(x)的值转化成求n个一次多项式的值的方法,称为秦九韶算法。
秦九韶算法的特点:
通过一次式的反复计算,逐步得出高次多项式的值,对于一个n次多项式,只需做n次乘法和n次加法即可。另外这种算法还避免了对自变量x单独做幂的计算,而是与系数一起逐次增长幂次,从而可提高计算的精度。例2:已知一个五次多项式为用秦九韶算法求这个多项式当x=-0.2的值。将多项式变形:解答:所以,当x=-0.2时,多项式的值等于0.818731、在对16和12求最大公约数时,整个操作如下:
(16,12)→(4,12)→(4,8)→(4,4),由此
可以看出12和16的最大公约数是( )
A.4 B.12 C.16 D.8A2、已知一个5次多项式为
用秦九韶算法求f(5)的值.解:f(x)=((((5x+2)x+3.5)x-2.6)x+1.7)x-0.8v1=5×5+2=27;v2=27×5+3.5=138.5;v3=138.5×5-2.6=689.9;v4=689.9×5+1.7=3451.2;v5=3451.2×5-0.8=17255.2.所以f(5)=17255.2.1、近三年各地的高考中,对算法案例都不作考查. 高考虽然没有考查,但在平时的考试中通常以选择或填空的形式出现,且难度适中;
2、我们学习算法案例,主要是为了进一步理解算法的思想,能够用程序来解决生活中常见的数学问题.所以应该认真学习.