浙教版 高中信息技术 必修1 3.4 算法及其实现 课件(共35张PPT)

资源下载
  1. 二一教育资源

浙教版 高中信息技术 必修1 3.4 算法及其实现 课件(共35张PPT)

资源简介

(共35张PPT)
算法及其实现
自然语言
输入变量x,y和z的值
比较x和y。如果x大于y,则x存入以max命名的存储单元中;否则,y存入max。
比较z和max。如果z大于max,则将z值存入max.
输出结果max。
流程图
处理框( )
输入、输出框( )
判断框( )
连接框( )
流程线( )
开始、结束框( )
开始
输入变量x,y和z
X大于y
Max=x
Max=y
Z大于max
Max=z
输出max
结束
Y
N
Y
N
计算机语言
INPUT x,y,z
IF x>y
THEN max=x
Else max=y
END IF
IF z>max
THEN max=z
END IF
PRINT max
END
算法设计与分析的基本方法
一、枚举法
列举出所有的可能性,然后依次枚举,直到求得正解。
百鸡百钱问题
鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一;百钱买百鸡,问鸡翁、母、雏各几何?
设xyz分别代表公鸡、母鸡和小鸡的数量,根据题意,列出方程为
X+y+z=100
5x+3y+z/3=100
开始
结束
x=1
y=1
z=100-x-y
x=x+1
y=y+1
5x+3y+z/3=100
y<=33
x<=20
输出x,y,z
Y
Y
Y
N
N
N
二、解析法
用解析的方法找出表示问题的前提(已知)条件与所求结果之间关系的数学表达式,并通过表达式的计算来实现问题求解。
出租车计价
假设出租车的计价情况是: 起步价3公里10元,3公里以上到10公里,每公里2元,10公里以上每公里3元,并且最后金额保留到元,小数部分四舍五入到元。
用解析算法,先写出路程x与价格f(x)的数学表达式
f(x)= 10 (0f(x)=10+2(x-3) (3f(x)=10+14+3(x-10) (x>10)
作业:同步练习p40-43
三、排序算法
排序是计算机程序设计中的一种重要操作,它的功能是将一个数据元素(或记录)的任意序列,重新排列成一个关键字有序的序列。
冒泡排序
排序算法主要分为:
选择排序
(一)常见变形代码举例
1.VB程序(冒泡排序已知n=6)
For i=1 To n-1
For j=n to i+1 step -1
if a(j)t = a(j):a(j)=a(j-1):a(j-1)=t
End if
Next j
Next i
例:a(1)=6,a(2)=9,a(3)=8,a(4)=3,a(5)=5,a(6)=1
经过_______趟后数据就已经有序。
2.VB程序(冒泡排序变形已知n=6)
For i=1 To n-1
For j=1 to n-i
if a(j)t = a(j):a(j)=a(j+1):a(j+1)=t
End if
Next j
Next i
例:a(1)=6,a(2)=9,a(3)=8,a(4)=3,a(5)=5,a(6)=1
经过_______趟后数据就已经有序。
冒泡排序及优化
1.有以下VB程序段
For i=1 to 3
For j=i to 5
if a(j)>a(j+1) then
t = a(j):a(j)=a(j+1):a(j+1)=t
end if
Next j
List1.AddItem str(a(i))
Next i
a(1)到a(6)的初始值依次为“8 6 5 7 9 3”,经过该程序段“加工”后,列表框List1中显示的是( )
A. 8 7 6 B. 8 7 9 C. 6 5 3 D. 5 6 7
2.有以下VB程序段
For i=1 to 2
For j=i to 5-i
if a(j)>a(j+1) then
t = a(j):a(j)=a(j+1):a(j+1)=t
end if
Next j
Next i
数据“56,23,78,11,8”依次存放在数组a(1)到a(5)中,执行下列VB程序段后,数组a(1)到a(5)中的数据依次为( )
A. 8, 11, 23, 56, 78 B. 23, 11, 8, 56, 78
C. 11, 8, 23, 56, 78 D. 8 , 11, 56, 23, 78
冒泡排序及优化
冒泡排序及优化
3.有以下VB程序段
bottom=6:i = 1:r = val(Text1.text)
Do While i < r
For j=bottom to i+1 step -1
if a(j)>a(j-1) then
t = a(j):a(j)=a(j-1):a(j-1)=t
end if
Next j
i=i+1
For j=i To bottom -1
if a(j)t = a(j):a(j)=a(j+1):a(j+1)=t
end if
Next j
bottom = bottom -1
Loop
数组元素a(1)到a(6)的值依次为“73、56、28、61、44、92”,若在文本框Text1中输入“2”,则经过该程序段“加工”后,数组元素a(1)到a(6)的值依次为( )
A.73,61,56,92,44,28
B.92,73,56,61,44,28
C.92,73,61,56,28,44
D.92,73,61,56,44,28
1.VB程序(选择排序已知n=6)
For i=1 To n-1
k = i
For j=i+1 to n
if a(j)Next j
If i <> k then
t=a(i):a(i)=a(k):a(k)=t
End if
Next i
例:a(1)=2,a(2)=3,a(3)=8,a(4)=1,a(5)=7,a(6)=9
经过_______趟后数据就已经有序。
选择排序
2.VB程序(选择排序变形已知n=6)
For i=1 To n-1
k = i
For j=i+1 to n
if a(j)Next j
t=a(i):a(i)=a(k):a(k)=t
Next i
例:a(1)=2,a(2)=3,a(3)=8,a(4)=1,a(5)=7,a(6)=9
经过_______趟后数据就已经有序。
选择排序
选择排序及改进
1.有以下VB程序段
For i=5 to 4 step -1
k=i
For j=6-i to 1 step -1
if a(j)>a(k) then k=j
Next j
If i <> k then
t=a(i):a(i)=a(k):a(k)=t
End if
Next i
数组元素a(1)到a(5)的依次为“41,66,70,83,31”,经过该程序段”加工“后,数组元素a(1)到a(5)的依次为( )
A. 31,41,66,83,70 B. 83,70,66,41,31
C. 83,66,70,41,31 D. 31,41,66,70,83
选择排序及改进
1.有如下VB程序
a(1)=44:a(2)=36:a(3)=58:a(4)=65:a(5)=12
b=0:c=0
For i=1 To 4
k = i
For j=i+1 to 5
if a(j)Next j
If i <> k then
t=a(i):a(i)=a(k):a(k)=t
c=c+1
End if
Next i
Text1.Text = Str(b)+Str(c)
该程序段执行后,文本框Text1显示的内容是( )
A.53 B.44 C.43 D.34
3.某VB程序段如下:
i=1:s =” ”
Do While i <=3
k=i:j=i+1
Do While j<=8
If a(j)j = j+1
Loop
If i <> k Then
t=a(i):a(i)=a(k):a(k)=t
n=n+1
End if
s=s+Str(a(i)):i=i+1
loop
Label1.Caption = Str(n)+ “:”+s
数组a(1)到a(8)依次为:“16,19,8,20,4,12,6,15”,程序运行后,标签中显示的值为( )
A.2:4 6 8 B.2:8 6 4 C.3:4 6 8 D.3:8 6 4

展开更多......

收起↑

资源预览