算法复习课1

文档属性

名称 算法复习课1
格式 rar
文件大小 2.6MB
资源类型 教案
版本资源 人教新课标A版
科目 数学
更新时间 2009-08-24 23:30:00

图片预览

文档简介

课件42张PPT。算法初步复习习题课一、课后练习p.29练习第一题程序p.29练习第四题程序p.32练习第一题程序p.B组第三题程序一、课后练习:p.29练习第一题程序程序:
INPUT “请输入3个正实数“;a,b,c
IF a+b>c AND b+c>a AND c+a>b THEN
PRINT “存在这样的三角形“
ELSE
PRINT “不存在这样的三角形”
END IF
ENDp.29练习第四题程序程序:
INPUT “请输入一个年份“;y
b=y MOD 4
c=y MOD 100
d=y MOD 400
IF b<>0 THEN
PRINT “输入的年份不是闰年”
ELSE
IF c<>0 THEN
PRINT “输入的年份是闰年”
IF d=0 THEN
PRINT “输入的年份是闰年”
ELSE
PRINT “输入的年份不是闰年”
END IF
ENDp.32练习第一题程序程序:
INPUT n
i=2
DO
r=n MOD I
i=i+1
LOOP UNTIL i>n-1 OR r=0
IF r=0 THEN
PRINT “n不是质数“
ELSE
PRINT “n是质数”
END IF
ENDp.33 B组第三题程序本章知识结构三大算法案例(2)多项式求值问题 (1)最大公约数问题 (3)进位制问题 辗转相除法和更相减损术秦九韶算法除k取余法2:算法的特点:
1.程序性:有明确的顺序性,能用来解决同一类问题;
2.确定性:每一步都应该是能有效执行且有确定的结果,
而不应该是模棱两可的;
3.有限性:应能在有限步内解决问题.
4.不唯一性:解决问题的方法可以有多种不同的方法.
5.可行性:计算机可以解决的.如让计算机沏茶是不可能的.1:算法(algorithm)一词出现于12世纪,指的是用啊拉伯数字进行算术运算的过程。在数学中,现代意义上的“算法”通常是指按照一定规则解决某一类问题的明确和有限的步骤。
3.程序框图 程序框图又称流程图,是一种用程序框、流程线及文字说明来表示算法的图形。基本的程序框和它们各自表示的功能如下:终端框(起止框)表示一个算法的起始和结束输入、输出框表示一个算法输入和输出的信息处理框(执行框)判断某一条件是否成立,成立时在出口处标明“是”或“Y”;不”成立时标明“否”或“N”.判断框赋值、计算流程线连接程序框连接点连接程序框图的两部分4.算法的基本逻辑结构 用程序框图表示算法时,算法的逻辑结构分别为顺序结构、条件结构和循环结构,这是算法的三种基本逻辑结构。算法的基本逻辑结构:①顺序结构②条件结构(选择结构)(3)循环结构INPUT语句PRINT语句赋值语句格式 INPUT“提示内容”;变量 PRINT“提示内容”;表达式  变量=表达式功能可对程序中的变量赋值可输出表达式的值,
计算可对程序中的变量赋值,
计算说明1.提示内容提示用户输
入的是什么信息,必须
加双引号,“提示内容”
和它后面的“;”可以省
略 
2.一个语句可以给多个
变量赋值,中间用“,”
分隔
3.无计算功能 
4.用户由键盘输入的数
据必须是常量,输入多
个数据时用“,”分隔,
且个数要与变量的个数
相同.1.又称“打印语句”,将
表达式的值在屏幕上显
示出
2.表达式可以是变量、
计算公式或系统信息
3.一个语句可以输出多
个表达式. 不同的表达
式之间可用“,”分隔
4.有计算功能,能直接
输出计算公式的值.1.在程序运行过程中给
变量赋值
2.左边只能是变量,右
边表达式可以是一个常
量、变量或含变量的运
算式
3.赋值号左右不能互换
4.有计算功能
5.可先后给多个变量赋
值,但变量的取值总是
最后被赋予的值.
6.一个语句只能给一个
变量赋值.条件结构条件语句应用实例例5 编写一个程序,求实数x的绝对值。INPUT x
IF x>=0 THEN
PRINT x
ELSE
PRINT -x
END IF
END
例 交换两个变量A和B的值
算法
第一步:输入A,B,
第二步:令x=A,
第三步:令A=B,
第四步:令B=x,
第五步:输出A,B.程序框图:开始B=x输出A,B结束A=Bx=A输入A,B
例7、编写程序,使得任意输入的3个整数按从大到小的顺序输出。算法步骤:第一步:输入3个整数a,b,c第二步:将a与b比较,并把小的赋给b,大的赋给a。第三步:将a与c比较,并把小的赋给c,大的赋给a,此时a已是三个当中最大的。第四步:将b与c比较,并把小的赋给c,大的赋给b,此时a,b,c已按从小到大的顺序排列好。第五步:按顺序输出a,b,c。应用实例开始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?结束是是否否是否INPUT 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 应用实例练习.画程序框图,试编写程序,对于输入的x值,输出相应的y值.开始程序框图x<0?是y=0否0≤x<1?是y=1否y=x输出y结束输入x程序INPUT “X=”;XIF X<0 THENPRINT “Y=”;0END IFIF 0<=X<1 THENELSEEND IFPRINT “Y=“;XEND PRINT “Y=”;1循环结构应用示例写出下面的程序框图的程序。i = 1
S = 0DOLOOP UNTILS = S + i
i = i + 1i>100PRINT SEND写出下面的程序框图的程序。应用示例i = 1
S = 0WHILEWENDS = S + i
i = i + 1i<=100PRINT SEND应用示例        修改P21例1的程序,连续输入自变量的11个取值,输出相应的函数值。n=1
Do
INPUT x
y=x^3+3*x^2-24*x+30
PRINT y
n=n+1
LOOP UNTIL n>11
END应用示例写出P19的程序框图的程序。INPUT “a,b,d=“;a,b,dDOm=(a+b)/2g=a^2-2f=m^2-2IF g*f<0 THENb=mELSEa=mEND IFLOOP UNTILABS(a-b)(A)INPUT A=3+5
(B)PRINT 3+5
(C)PRINT “how are you”
(D)a=a+2 自主学习A2、分析下面程序执行的结果(1)7 3(2)INPUT A
IF A>=0 THEN
PRINT SQR(A)
ELSE
PRINT “是负数”
END IF
END若输入-81,输出结果:
若输入64,输出结果:INPUT “A,B=”;A,B
B=A+B
A=B-A
B=B-A
PRINT A,B
END
(从键盘输入3,7)
是负数8
A=3 B=7
B=3+7=10
A=10-3=7
B=10-7=3(3)i=12
S=1
DO
S=S*i
i=i-1
LOOP UNTIL i<11
PRINT “S=”;S
END输出结果:132(4) N=5
S=0
WHILE S<15
S=S+N
N=N+1
WEND
PRINT “N=”;N
END
输出结果:N=8i=12,S=1
S=12*1=12
i=12-1=11
不满足i<11
S=12*11=132
i=10 满足i<11
S=132S=3、若输出的 值是945,则横线处应填_S=1
i=3
WHILE i<=____
S=S*i
i=i+2
WEND
PRINT S
END9A、6 B、8
C、7 D、 94、为了在运行下面的程序之后得到输出的结果为2008,键盘输入的X值应是_____INPUT X
IF x<0 THEN
Y=-2*X
ELSE
IF X=0 THEN
Y=2008
ELSE
Y=2*X
ENDIF
ENDIF
END输入-1004或0
或1004
二、合作学习INPUT“n=”;n
S=0
i=1
DO
S=S+1/i
i=i+1
LOOP UNTIL i>n
PRINT“S=”;S
END例题1、对任意正整数n,下面的程序的功能是什么?
若将程序中步骤A和步骤B交换位置,结果会怎样?要达到原来的结果,需做怎样的修改?功能:
i=i+1
S=S+1/i改成i>=n 再
见再见
例2、(2007年
山东 理10)阅读
右边的程序框图,
若输入的是100,
则输出的变量S和T
的值依次是( )
A.2500,2550
B.2550,2550
C.2500,2500
D.2550,2500D思考:
1、此流程图中的
循环结构是不是 WHILE型循环结构?
2、若要写出含WHILE型语句的程序,则条件判断处是否需要修改?
3、编写出程序代码.n=n-1是WHILE型循环结构INPUT n
S=0
T=0
WHILE n>=2
S=S+n
n=n-1
T=T+n
n=n-1
WEND
PRINT S,T
END否是例3、高一(2)班共有学生60名,请设计一个程序:输入每个学生的成绩后,统计出成绩在区间 内的人数。统计的人数分别记为A、B、C。并求出全班学生的平均成绩。 算法:
第一步:分别给变量A、B、C、S、i 赋初始值。
第二步:输入学生的成绩x,并将x累加到S中。
第三步:对学生的成绩进行判断:若x<90则
A=A+1,否则,若X<120则 B=B+1,
否则,C=C+1.
第四步:计数变量i=i+1.
第五步:对i进行判断若i<60则跳转到第二步。
第六步:P=S/60
第七步:输出A、B、C、P的值。开始A=0,B=0,C=0,S=0,i=0输入学生成绩XC=C+1P=s/60A=A+1B=B+1S=S+Xi=i+1i>=60?X<90?X<120?11输出A,B,C,P结束22NYNYYNA=0
B=0
C=0
S=0
i=0
DO
INPUT“输入学生成绩”;X
IF X<90 THEN
A=A+1
ELSE
IF X<120 THEN
B=B+1
ELSE
C=C+1ENDIF
ENDIF
i=i+1
LOOP UNTIL i>=60
P=S/60
PRINT“A=”;A
PRINT“B=”;B
PR INT“C=”;C PRINT“P=”;P
END