课件9张PPT。
第一章 算法初步
1.1算法与程序框图
1.2基本算法语句
1.3算法案例
1.1 算法与程序框图1.1.1 算法的概念、回顾二元一次方程组
的求解步骤:① ② 第一步:②-①×2,得5y=3; ③第二步:解③得 ;第三步:将代入①,解得归纳得一般的二元一次方程组也可以按照上述步骤来求解.这些步骤就构成了解二
元一次方程组的算法.
二、算法的含义1、“算法”通常是指可以用计算机来解决的某一类问题的程序或步骤,这些程序或步骤必须是明确的和有效的,且能够在有限步内完成。2、学习算法的意义:算法思想是现代人应具备的一 种数学素养,掌握算法的基本思想、基本特征,是发展学生有条理的思考与表达的能力、是发展学生逻辑思维的能力。三、具体数学问题的算法实例算法分析:
第一步:判断n是否等于2。若n=2,则n是质数;若n>2,则执行第二步。第二步:依次从2~(n-1)检验是不是n的因数,即整除n的数,若有这样的数,则n不是质数;若没有这样的数,则n是质数。例1、任意给定一个大于1的整数n,试设计出一个程序或步骤对n是否为质数做出判定开始输入nflag=1d=2flag=0d=d+1n>2d整除n?d<=n-1且flag=1?flag=1?n是质数n不是质数结束是否否是否是否是算法分析:
第一步:令f(x)= 。因为f(1)<0,f(2)>0,所以设a=1,b=2。例2、用二分法设计一个求方程 的近似根的算法。三、具体数学问题的算法实例第二步:令 。判断f(m)是否为0。若是,则m为所求;若否,则继续判断f(a) ·f(m)大于0还是小于0。第三步:若f(a) ·f(b)>0,则令a=m;否则,令b=m。第四步:判断︳a-b︳<0.005是否成立?若是,则a或b为满足条件的近似根;若否,则返回第二步。开始x1=1
x2=2f(x)=x2-2x1=m
x2=mm=(x1+x2)/2x1=mx2=mf (m)=0f(x1)f(m)>0|x1-x2|<0.005结束输出所求的近似根mm=(x1+x2)/2ynnyny四、课后练习1、任意给定一个正实数,设计一个算法求以这个数为半径的圆的面积。算法步骤:
第一步:输入任意一个正实数r。第二步:计算以r为半径的圆的面积 。第三步:输出圆的面积S。2、任意给定一个大于1的正整数n,设计一个算法求出n的所有因数。算法步骤:
第一步:依次以2~(n-1)为除数去除n,判定余数是否为0,若是,则n是因数;若不是,则不是n的因数。第二步:在n的因数中加入1 和n。第三步:输出n的所有因数。输入半径rs=3.14*r^2输出s结束开始课件2张PPT。开始sum=0i=i+2sum=sum+ii≤100?输出sum结束否是(3)循环结构的应用作业1、设计一个计算1+3+5…+101的值的算法,并画出程序框图。i=1开始s=1i=i+1s=s*ii≤100?输出s结束否是(3)循环结构的应用作业2、设计一个计算1×2×3× …×100的值的算法,并画出程序框图。i=2课件13张PPT。
第一章 算法初步
1.1算法与程序框图
1.2基本算法语句
1.3算法案例
1.1.2 程序框图(流程图)算法分析:
第一步:判断n是否等于2。若n=2,则n是质数;若n>2,则执行第二步。第二步:依次从2~(n-1)检验是不是n的因数,即整除n的数,若有这样的数,则n不是质数;若没有这样的数,则n是质数。例1、任意给定一个大于1的整数n,试设计出一个程序或步骤对n是否为质数做出判定算法可以用自然语言来描述,但为了使算法的程序或步骤表达得更直观,我们更常用图形方式来表示它。开始输入nflag=1d=2flag=0d=d+1n>2d整除n?d<=n-1且flag=1?flag=1?n是质数n不是质数结束是否否是否是否是顺序结构程序框图又称流程图,是一种规定的图形、指向线及文字说明来准确、直观地表示算法的图形。流程图的三种基本逻辑结构:条件结构循环结构顺序结构输入nflag=1条件结构flag=1?n是质数n不是质数结束是否循环结构flag=0d=d+1d整除n?d<=n-1且flag=1?否是否是p=(2+3+4)/2s=SQR(p*(p-2)*(p -3)*(p-4))输出s结束开始(1)顺序结构的应用例3、已知一个三角形的三边长分别为2,3,4,利用海伦-秦九韶公式设计一个算法,求出它的面积,画出它的程序框图。开始输入a,b,ca+b>c,a+c > b,
b+c > a是否同
时成立?存在这样的
三角形不存在这样
的三角形结束否是(2)条件结构的应用例4、任意给定3个正实数,设计一个算法,判断分别以这3个数为三边边长的三角形是否存在,画出程序框图。开始sum=0i=i+1sum=sum+ii≤100?输出sum结束否是(3)循环结构的应用例5、设计一个计算1+2+3+…+100的值的算法,并画出程序框图。i=1开始输入aa ≥0输出 |a|=a输出 |a|=-a结束NYINPUT “输入一个实数a=”;a
IF a≥0 THEN
PRINT “|”;a;“|=”;a
ELSE
PRINT “|”;a;“|=”;-a
END IF
ENDP.11练习1——求绝对值1、设计一个求任意数的绝对值的算法,并画出程序框图。算法步骤:
第一步:输入任意一个实数a。
第二步:判断输入的a是否大于0。若是,则直接输出a;若不是,则输出-a。算法分析:
第一步:令f(x)= 。因为f(1)<0,f(2)>0,所以设a=1,b=2。例2、用二分法设计一个求 近似值,并画出程序框图。第二步:令 。判断f(m)是否为0。若是,则m为所求;若否,则继续判断f(a) ·f(m)大于0还是小于0。第三步:若f(a) ·f(b)>0,则令a=m;否则,令b=m。第四步:判断︳a-b︳<0.005是否成立?若是,则a或b为满足条件的近似根;若否,则返回第二步。P.11练习2——二分法求平方根P.11练习2——二分法求平方根开始a=1
b=2f(x)=x2-3a=m
b=mm=(a+b)/2a=mb=mf (m)=0f(x1)f(m)>0|a-b|<0.005结束输出所求的近似根mm=(a+b)/2ynnyny课件12张PPT。
第一章 算法初步
1.1算法与程序框图
1.2基本算法语句
1.3算法案例
1.2基本算法语句1.2.1输入语句、输出语句、赋值语句一、输入、输出语句作用: 用来实现算法的输入信息、输出结果的功能。格式:输入语句格式:INPUT “提示内容”;变量输出语句格式:PRINT “提示内容”;表达式例:输入语句
INPUT “x=“;x
或INPUT x
或INPUT “x=,y=”;x,y例:输出语句
PRINT “s=“;s
或PRINT y
或PRINT “y=“;(a+b+c)/3y=x^3+3*x^2-24*x+30输出y结束开始例1、用描点法作函数y=x^3+3x^2-24x+30的图象时,需要求自变量和函数的一组对应值。编写程序,求对应值。INPUT “x=“;x y=x^3+3*x^2-24*x+30
PRINT x
PRINT y
END
输入xy=(a+b+c)/3输出y结束开始例2、编写程序,计算一个学生数学、语文、英语三门课的平均成绩。INPUT “a,b,c”;a,b,c
y=(a+b+c)/3
PRINT “y=”;y
END输入a、b、cINPUT “a,b,c”;a,b,c
PRINT “y=”;(a+b+c)/3
ENDINPUT “Maths=“;a
INPUT “Chinese=“;b
INPUT “English=“;c
PRINT “The average=“;(a+b+c)/3
END
二、赋值语句作用: 用来实现把右边表达式所表示的值赋给左边的变量。格式:变量=表达式A=10
A=A+15
PRINT A
ENDINPUT A,B
PRINT A,B
x=A
A=B
B=x
PRINT A,B
END例4:交换两个变量A和B的值,并输出交换前后的值。例3:给一个变量重复赋值三、课后练习p.16练习第一题程序p.16练习第二题程序p.16练习第三题程序p.16练习第四题程序返回三、课后练习1:p.16练习第一题程序程序:
INPUT “F=“;F
C=(F-32)*5/9
PRINT “C=“;C
END三、课后练习2:p.16练习第二题程序程序:
INPUT “a=,b=“;a,b
sum=a+b
diff=a-b
mul=a*b
div=a/b
PRINT sum,diff,mul,div
END返回三、课后练习2:p.16练习第二题程序程序:
INPUT “a=,b=“;a,b
sum=a+b
diff=a-b
mul=a*b
div=a/b
PRINT sum,diff,mul,div
END返回三、课后练习3:p.16练习第三题程序程序:
p=(2+3+4)/2
s=SQR(p*(p-2)*(p-3)*(p-4))
PRINT “s=“;s
END返回三、课后练习3:p.16练习第三题程序程序:
INPUT “a=“;a
INPUT “b=“;b
INPUT “c=“;c
p=(a+b+c)/2
s=SQR(p*(p-a)*(p-b)*(p-c))
PRINT “s=“;s
END返回三、课后练习4:p.16练习第四题程序程序:
INPUT “a,b,c=“;a,b,c
x=10.4*a
y=15.6*b
z=25.2*c
sum=x+y+z
PRINT “sum=“;sum
END返回课件12张PPT。
第一章 算法初步
1.1算法与程序框图
1.2基本算法语句
1.3算法案例
一、条件语句作用: 用来实现算法条件结构的功能。格式一:1.2.2条件语句满足条件?是否步骤IF 条件 THEN
语句体
END IF满足条件?是否格式二:步骤二步骤一IF 条件 THEN
语句体1
ELSE
语句体2
END IF
二、条件语句的应用实例例5、编写程序,输入一个一元二次方程 ax^2+bx+c=0的系数,输出它的实数根。算法分析:开始输入a,b,cΔ=b*b-4acp= -b/(2a)q=SQR(ABS (Δ)/(2a))x1=p+q
x2=p -qΔ≥0x1=x2?原方程有两个不等
的实数根x1、x2原方程有两个相等
的实数根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
二、条件语句的应用实例例6、编写程序,使得任意输入的3个整数按从大到小的顺序输出。算法分析:(设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。INPUT “a,b,c=“;a,b,cIF b>a THENt=aa=bb=tEND IFIF c>a THENt=aa=cc=tEND IFIF c>b THENt=bb=cc=tEND IFPRINT a,b,cEND 开始t=a,a=b,b=tt=a,a=c,c=tt=b,b=c,c=t输入a,b,c输入a,b,cb>a?c>a?c>b?结束是是否否是否三、课后练习p.22练习第一题程序p.22练习第二题程序p.22练习第三题程序p.22练习第四题程序返回三、课后练习1:p.16练习第一题程序程序:
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:p.22练习第三题程序程序:
INPUT “Please input an integer:”;a
IF a MOD 2=0 THEN
PRINT “偶数”
ELSE
PRINT “奇数”
END IF
END返回三、课后练习4:INPUT “Please input a year:”;y
b=y MOD 4
c=y MOD 100
d=y MOD 400
IF b=0 AND C<>0 THEN
PRINT “闰年”
ELSE
IF d=0 THEN
PRINT “闰年”
ELSE
PRINT “不是闰年”
END IF
END IF
END课件16张PPT。
第一章 算法初步
1.1算法与程序框图
1.2基本算法语句
1.3算法案例 一、循环语句作用: 用来实现算法循环结构的功能。格式一当型(while型):1.2.3循环语句满足条件?是否循环体WHILE 条件
循环体
WENDs = 0
i = 1
WHILE i <= 100
s = s + i
i = i + 1
WEND
PRINT “S=“;S
END
例:用当型(WHILE型)语句编写计算1+2+3+……+100的值的程序开始s=0i=i+1s=s+ii≤100?输出s否是i=1结束格式二直到型(until型):DO
循环体
LOOP UNTIL 条件循环体满足条件?否否是开始s=0i=i+1s=s+ii>100?输出sum结束否是例:用直到型(until型)语句编写计算1+2+3+……+100的值的程序i=1s = 0
i = 1
DO
s = s + i
i = i + 1
LOOP UNTIL i>100
PRINT “S=“;S
END 综合应用例子:判断质数程序算法分析:
第一步:判断n是否等于2。若n=2,则n是质数;若n>2,则执行第二步。第二步:依次从2~(n-1)检验是不是n的因数,即整除n的数,若有这样的数,则n不是质数;若没有这样的数,则n是质数。例1、任意给定一个大于1的整数n,试设计出一个程序或步骤对n是否为质数做出判定开始输入ni=2求n除以i的余数i=i+1i>=n或r=0?r=0?n不是质数n是质数结束是是是否否INPUT “n=“;n
i=2
DO
r=n MOD I
i=i+1
LOOP UNTIL i>=n OR r=0
IF r=0 THEN
PRINT “n is not a prime number.”
ELSE
PRINT “n is a prime nmber.”
END IF
END程序:
二、条件语句的应用实例例5、编写程序,输入一个一元二次方程 ax^2+bx+c=0的系数,输出它的实数根。开始输入a,b,cΔ=b-4acp= -b/(2a)q=SQR(ABS (Δ)/(2a))x1=p+q
x2=p -qΔ≥0x1=x2?原方程有两个不等
的实数根x1、x2原方程有两个相等
的实数根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
二、条件语句的应用实例例6、编写程序,使得任意输入的3个整数按从大到小的顺序输出。算法分析:(设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。INPUT “a,b,c=“;a,b,cIF b>a THENt=aa=bb=tEND IFIF c>a THENt=aa=cc=tEND IFIF c>b THENt=bb=cc=tEND IFPRINT a,b,cEND 开始t=a,a=b,b=tt=a,a=c,c=tt=b,b=c,c=t输入a,b,c输入a,b,cb>a?c>a?c>b?结束是是否否是否三、课后练习p.24练习第一题程序p.24练习第二题程序p.24练习第三题程序返回三、课后练习1:开始a=1
b=2f(x)=x2-3a=m
b=mm=(a+b)/2a=mb=mf (m)=0f(x1)f(m)>0|a-b|<0.005结束输出所求的近似根mm=(a+b)/2ynnyny返回三、课后练习2:程序:
x=1
y=0
DO
y=x^2-3*x+5
PRINT “x=”;x,”y=“;y
x=x+1
LOOP UNTIL x>20
END返回三、课后练习3:INPUT “n=“;n
i=1
f=1
WHILE i<=n
f=f*I
i=i+1
WEND
PRINT f
END课件23张PPT。§1.1.2 程序框图算法初步复习1、算法的概念2、算法的特点3、常见的几个例子4、判断一个正整数是否是质数的算法算法的概念算法是指解决给定问题的有穷操作步骤的描述,简单的说,算法就是解决问题的步骤和方法。算法的基本特点1、有穷性一个算法应包括有限的操作步骤,能在执行有穷的操作步骤之后结束。2、确定性算法的计算规则及相应的计算步骤必须是唯一确定的,既不能含糊其词,也不能有二义性。3、可行性算法中的每一个步骤都是可以在有限的时间内完成的基本操作,并能得到确定的结果 。4、不唯一性判断一个正整数n(n>1)是否是质
数的算法自然语言描述图形描述第一步:判断n是否等于2?若n=2,则n是质数,否则,执行第二步;第二步:依次从2~(n-1)检验是不是n的因数,即能整除n的数,若有这样的数,则n不是质数;若没有,则n是质数。判断一个正整数是否是质数的算法图形描述开始输入nn=2?d=2flag=0d=d+1d整除n?d<=n-1且
flag=1?flag=1?n是质数n不是质数结束是否否是否是否思考:1、flag的作用是什么?2、d=d+1是什么意思?3、整个图形中有哪些基本的图形,各自的意义和作用是什么?是程序框图又称流程图,是一种用规定的图形,指向线及文字说明来准确、直观地表示算法的图形。例1 设计一算法:输入圆的半径,输出圆的面积,并画出流程图算法分析:第一步:输入圆的半径第二步:利用公式“圆的面积=圆周率×(半径的平方)”计算圆的面积;第三步:输出圆的面积。思考:整个程序框图有什么特点?例2 已知一个三角形的三边长分别为2,3,4,利用海伦-秦九 韶公式设计一个算法,求出它的p=(2+3+4)/2s=SQR(p*(p-2)*(p -3)*(p-4))输出s结束开始面积,画出算法的程序框图.例3 设计房租收费的算法,其要求是:住房面积80平方米以内,每平方米收费3元,住房面积超过80平方米时,超过部分,每平方米收费5元.输入住房面积数,输出应付的房租.算法分析:第一步:输入住房面积S第二步:根据面积选择计费方式:如果S小于或等于80,则租金为M=s×3,否则为M=240+(S-80)×5第三步:输出房租M的值。思考:整个程序框图有什么特点?例4 任意给定3个正实数,设计一个算法,判断分别以这3个数为三边边长的三角形是否存在.画出这个算法的程序框图.. 开始输入a,b,ca+b>c,a+c > b,
b+c > a是否同
时成立?存在这样的
三角形不存在这样
的三角形结束否是例5 设计一个计算1+2+...+100的值的算法,并画出程序框图.开始i=1sum=0i=i+1sum=sum+1i≤100?输出sum结束否是练习巩固1 看下面的程序框图,分析算法的作用(1)(2)练习2城区一中学生数学模块学分认定由模块成绩决定,模块成绩由模块考试成绩和平时成绩构成,各占50%,若模块成绩大于或等于60分,获得2学分,否则不能获得学分(为0分),设计一算法,通过考试成绩和平时成绩计算学分,并画出程序框图课堂作业P11开始输入aa ≥0输出 |a|=a输出 |a|=-a结束NY练习1开始X1=1X2=2m=(x1+x2)/2x2=mx1=mm*m -3<>0|x1 -x2|<0.005(x1*x1 -3)*(m*m -3) >0输出所求的近似值m结束m=(x1+x2)/2NyyN练习2开始输入nflag=1d=2flag=0d=d+1n>2d整除n?d<=n-1且flag=1?flag=1?n是质数n不是质数结束是否否是否是否是顺序结构输入nflag=1条件结构flag=1?n是质数n不是质数结束是否循环结构flag=0d=d+1d整除n?d<=n-1且flag=1?否是否是小结:1、程序框图的概念2、程序框图图例的名称和意义(作用)3、如何用程序框图表示顺序结构、选择结构与循环结构的算法作业巩固:P20 习题1.1
A组 3
B组 2