浙教版信息技术选修2 vb常用算法课件(共20张ppt)

文档属性

名称 浙教版信息技术选修2 vb常用算法课件(共20张ppt)
格式 zip
文件大小 287.6KB
资源类型 教案
版本资源 浙教版
科目 信息技术(信息科技)
更新时间 2019-08-23 10:00:13

图片预览

文档简介

课件20张PPT。VB常用算法进制转换
(十进制数转换为其它进制)25D=11001BFunction tran(x As Integer, r As Integer) As String
Dim s As String
Dim c As Integer
Do While x<> 0
c = x Mod r
If c >= 10 Then
s = Chr(Asc("A") + c - 10) + s
Else
s = Str(c) + s
End If
x = x r
Loop
tran = s
End Function
aa = "0123456789ABCDEF"
Do While x <> 0
c = x Mod r
s = Mid(aa, c + 1, 1)+s
x = x r
Loop二进制运算Private Sub Command1_Click()
Dim c(1 To 10) As Integer
Dim x1, y1 As Integer
Dim s As String
x = Text1.Text
y = Text2.Text
For i = 1 To Len(x)
x1 = Val(Mid(x, Len(x) - i + 1, 1))
y1 = Val(Mid(y, Len(y) - i + 1, 1))
c(i) = x1 + y1 + t
If c(i) >= 2 Then c(i) = c(i) Mod 2 : t = 1 Else t = 0
Next i
For i = 1 To Len(x)
s = Str(c(i)) + s
Next i
If t = 1 Then s = Str(t) + s
Text3.Text = s
End SubPrivate Sub Command1_Click()
s = "a red car"
s1 = "nice "
i = 3
s = Mid(s, 1, i - 1) + s1 + Mid(s, i, Len(s) - i + 1)
Text1.Text = s
End Sub
字符串的插入Private Sub Command2_Click()
s = "a red car"
s1 = "red "
i = 3
s = Mid(s, 1, i - 1) + Mid(s, i + Len(s1), Len(s) - Len(s1)-i+1)
Text1.Text = s
End Sub字符串的删除表示一个字符是字母:
a>=“A” and a<=“Z” or a>=“a” and a<=“z”
表示一个字符是非字母:
a<“A” or a>“Z” and a<“a” or a>“z”

Not (a>=“A” and a<=“Z” or a>=“a” and a<=“z”)
数组元素的删除Dim a(1 to 10) as integer
X=val(text1.text)
For i=1 to 10
If x=a(i) then exit for
Next i
For j= i+1 to 10
a(j-1)=a(j)
Next i数组元素的插入Dim a(1 to 10) as integer
X=val(text1.text)
For i=1 to 9
If xNext i
For j=10 to i step-1
a(j+1)=a(j)
Next j
a(i)=x高精度运算 高精度运算,是指参与运算的数值的范围大大超出了标准数据类型,改用字符串或数组来表示数据,拆成一位一位或一个个数组来进行运算Private Sub Command1_Click()
Dim c(1 To 20) As Integer
a = Text1.Text : b = Text2.Text
alen = Len(a) : blen = Len(b)
t = 0
For i = 1 To alen
If i <= blen Then
ad = Val(Mid(a, alen - i + 1, 1))
bd = Val(Mid(b, blen - i + 1, 1))
e = ad + bd + t
Else
ad = Val(Mid(a, alen - i + 1, 1))

e = ad + t
End If
If e >= 10 Then c(i) = e - 10: t = 1 Else c(i) = e: t = 0
Next i
For i = 1 To alen
s = Str(c(i)) + s
Next i
If t = 1 Then s = Str(t) + s
Text3.Text = s
End Sub加法运算Private Sub Command1_Click()
Dim c(1 To 50) As Integer
a = Text1.Text : b = Text2.Text
alen = Len(a) : blen = Len(b)
jie = 1
For i = 1 To alen
If i <= blen Then
ad = Val(Mid(a, alen - i + 1, 1))
bd = Val(Mid(b, blen - i + 1, 1))
e = ad + 10 - bd - 1 + jie
Else
ad = Val(Mid(a, alen - i + 1, 1))
e = ad + 10 + jie - 1
End If
c(i) = e Mod 10
jie = e 10
Next i
For i = 1 To alen - 1
s = Str(c(i)) + s
Next i
If c(alen) <> 0 Then s = Str(c(alen)) + s
Text3.Text = s
End Sub
减法运算前序表达式
运算符放在两个运算对象的前面,所有的计算按运算符出现的顺序,严格从右向左进行,不考虑运算符的优先规则
+ 9 ? + * - 3 ? 1 ??3 ?/ 10 ?2 ??+ 9 ? + * - 3 ? 1 ??3 5 ?+ 9 ? + * 2 ?3 5 ?+ 9 ? + 6 5 ?+ 9 ? 1120算式9 +(3-1)*3+10/2?Private Sub Command2_Click()
Dim a(1 To 11) As String
t = n
i = t
Do While t >= 3
ch2 = a(i): ch1 = a(i - 1): ch3 = a(i - 2)
flag = 0
If ch3 = "+" Then
a(i - 2) = Str(Val(ch1)+Val(ch2))
For j = i + 1 To t
a(j - 2) = a(j)
Next j
t = t – 2 : i = t
flag = 1
End If
If flag = 0 Then i = i - 1
Loop
Text2.Text = a(1)
End Sub后序表达式
运算符放在两个运算对象的后面,所有的计算按运算符出现的顺序,严格从左向右进行,不考虑运算符的优先规则 9 ? 3 ? 1 ?- ?3 ?* ?+ ?10 ?2 ?/ ?+ 9 2??3 ?* ?+ ?10 ?2 ?/ ?+ 9 6 ?+ ?10 ?2 ?/ ?+ 15 ?10 ?2 ?/ ?+15 ?5 ?+20算式9 +(3-1)*3+10/2? Private Sub Command1_Click()
Dim a(1 To 11) As String
t = n: i = 1: k = 0
Do While t >= 3
ch1 = a(i): ch2 = a(i + 1): ch3 = a(i + 2)
flag = 0
If ch3 = “+" Then
a(i + 2) = Str(Val(ch1) + Val(ch2))
For j = k To 1 Step -1
a(i - j + 2) = a(i - j)
Next j
t = t - 2: flag = 1: k = 0
End If
If flag = 0 Then k = k + 1
i = i + 1
Loop
Text1.Text = a(i + 1)
End Sub