文档库 最新最全的文档下载
当前位置:文档库 › VB程序设计的常用算法

VB程序设计的常用算法

VB程序设计的常用算法
VB程序设计的常用算法

VB程序设计的常用算法

算法(Algorithm):计算机解题的基本思想方法和步骤。算法的描述:是对要解决一个问题或要完成一项任务所采取的方法和步骤的描述,包括需要什么数据(输入什么数据、输出什么结果)、采用什么结构、使用什么语句以及如何安排这些语句等。通常使用自然语言、结构化流程图、伪代码等来描述算法。

一、计数、求和、求阶乘等简单算法

此类问题都要使用循环,要注意根据问题确定循环变量的初值、终值或结束条件,更要注意用来表示计数、和、阶乘的变量的初值。

例:用随机函数产生100个[0,99]范围内的随机整数,统计个位上的数字分别为1,2,3,4,5,6,7,8,9,0的数的个数并打印出来。

本题使用数组来处理,用数组a(1 to 100)存放产生的确100个随机整数,数组x(1 to 10)来存放个位上的数字分别为1,2,3,4,5,6,7,8,9,0的数的个数。即个位是1的个数存放在x(1)中,个位是2的个数存放在x(2)中,……个位是0的个数存放在x(10)。

将程序编写在一个GetTJput过程中,代码如下:

Public Sub GetTJput()

Dim a(1 To 100) As Integer

Dim x(1 To 10) As Integer

Dim i As Integer, p As Integer

'产生100个[0,99]范围内的随机整数,每行10个打印出来

For i = 1 To 100

a(i) = Int(Rnd * 100)

If a(i) < 10 Then

Form1.Print Space(2); a(i);

Else

Form1.Print Space(1); a(i);

End If

If i Mod 10 = 0 Then Form1.Print

Next i

'统计个位上的数字分别为1,2,3,4,5,6,7,8,9,0的数的个数,并将统计结果保存在数组x(1),x(2),...,x(10)中,将统计结果打印出来

For i = 1 To 100

p = a(i) Mod 10 ' 求个位上的数字

If p = 0 Then p = 10

x(p) = x(p) + 1

Next i

Form1.Print "统计结果"

For i = 1 To 10

p = i

If i = 10 Then p = 0

Form1.Print "个位数为" + Str(p) + "共" + Str(x(i)) + "个"

Next i

End Sub

二、求两个整数的最大公约数、最小公倍数

分析:求最大公约数的算法思想:(最小公倍数=两个整数之积/最大公约数)

(1) 对于已知两数m,n,使得m>n;

(2) m除以n得余数r;

(3) 若r=0,则n为求得的最大公约数,算法结束;否则执行(4);

(4) m←n,n←r,再重复执行(2)。

例如:求m=14 ,n=6的最大公约数. m n r

6 2

6 0

m=inputBox("m=")

n=inputBox("n=")

nm=n*m

If m < n Then t = m: m = n: n = t

r=m mod n

Do While (r <> 0)

m=n

n=r

r= m mod n

Loop

Print "最大公约数=", n

Print "最小公倍数=", nm/n

三、判断素数

只能被1或本身整除的数称为素数基本思想:把m作为被除数,将2—INT(m)作为除数,如果都除不尽,m就是素数,否则就不是。(可用以下程序段实现)

m =val( InputBox("请输入一个数"))

For i=2 To int(sqr(m))

If m Mod i = 0 Then Exit For

Next i

If i > int(sqr(m)) Then

Print "该数是素数"

Else

Print "该数不是素数"

End If

将其写成一函数,若为素数返回True,不是则返回False

Private Function Prime( m as Integer) As Boolean

Dim i%

Prime=True

For i=2 To int(sqr(m))

If m Mod i = 0 Then Prime=False: Exit For

Next i

End Function

四、验证哥德巴赫猜想

(任意一个大于等于6的偶数都可以分解为两个素数之和)

基本思想:n为大于等于6的任一偶数,可分解为n1和n2两个数,分别检查n1和n2是否为素数,如都是,则为一组解。如n1不是素数,就不必再检查n2是否素数。先从n1=3开始,检验n1和n2(n2=N-n1)是否素数。然后使n1+2 再检验n1、n2是否素数,… 直到n1=n/2为止。

利用上面的prime函数,验证哥德巴赫猜想的程序代码如下:

Dim n%,n1%,n2%

n=Val(InputBox("输入大于6的正整数"))

For n1=3 to n\2 step 2

n2=n-n1

If prime(n1) Then

If prime(n2) then

Print n & "=" & n1 & "+" & n2

Exit For '结束循环

End if

End if

Next n1

五、排序问题

1.选择法排序(升序)

基本思想:

1)对有n个数的序列(存放在数组a(n)中),从中选出最小的数,与第1个数交换位置;

2)除第1 个数外,其余n-1个数中选最小的数,与第2个数交换位置;

3)依次类推,选择了n-1次后,这个数列已按升序排列。

程序代码如下:

For i = 1 To n - 1

imin = i

For j = i + 1 To n

If a(imin) > a(j) Then imin = j

Next j

temp = a(i)

a(i) = a(imin)

a(imin) = temp

Next I

2.冒泡法排序(升序)

基本思想:(将相邻两个数比较,小的调到前头)

1)有n个数(存放在数组a(n)中),第一趟将每相邻两个数比较,小的调到前头,经n-1次两两相邻比较后,最大的数已“沉底”,放在最后一个位置,小数上升“浮起”;

2)第二趟对余下的n-1个数(最大的数已“沉底”)按上法比较,经n-2次两两相邻比较后得次大的数;

3)依次类推,n个数共进行n-1趟比较,在第j趟中要进行n-j次两两比较。

程序段如下

For i = 1 To n - 1

For j = 1 To n-i

If a(j) > a(j+1) Then

temp=a(j): a(j)=a(j+1): a(j+1)=temp

End if

Next j

Next i

3.合并法排序(将两个有序数组A、B合并成另一个有序的数组C,升序)

基本思想:

1)先在A、B数组中各取第一个元素进行比较,将小的元素放入C数组;

2)取小的元素所在数组的下一个元素与另一数组中上次比较后较大的元素比较,重复上述比较过程,直到某个数组被先排完;

3)将另一个数组剩余元素抄入C数组,合并排序完成。

程序段如下:

Do While ia <= UBound(A) And ib <= UBound(B) '当A和B数组均未比较完

If A(ia) < B(ib) Then

C(ic) = A(ia):ia = ia + 1

Else

C(ic) = B(ib):ib = ib + 1

End If

ic = ic + 1

Loop

Do While ia <= UBound(A) 'A数组中的剩余元素抄入C数组

C(ic) = A(ia)

ia = ia + 1:ic = ic + 1

Loop

Do While ib <= UBound(B) 'B数组中的剩余元素抄入C数组

C(ic) = B(ib)

ib = ib + 1:ic = ic + 1

Loop

六、查找问题

1.①顺序查找法(在一列数中查找某数x)

基本思想:一列数放在数组a(1)---a(n)中,待查找的数放在x 中,把x与a数组中的元素从头到尾一一进行比较查找。用变量p表示a数组元素下标,p初值为1,使x与a(p)比较,如果x不等于a(p),则使p=p+1,不断重复这个过程;一旦x等于a(p)则退出循环;另外,如果p 大于数组长度,循环也应该停止。(这个过程可由下语句实现)

p = 1

Do While x <> a(p) And p < =n

p = p + 1

Loop

下面写一查找函数Find,若找到则返回下标值,找不到返回0

Option Base 1

Private Function Find( a( ) As Single,x As Single) As Integer

Dim n%,p%

n=Ubound( a )

p = 1

Do While x <> a(p) And p < =n

p = p + 1

Loop

If p>n then p=0

Find=p

End Function

②基本思想:一列数放在数组a(1)---a(n)中,待查找的关键值为key,把key与a数组中的元素从头到尾一一进行比较查找,若相同,查找成功,若找不到,则查找失败。(查找子过程如下。index:存放找到元素的下标。)

Public Sub Search(a() As Variant, key As Variant, index%)

Dim i%

For i = LBound(a) To UBound(a)

If key = a(i) Then

index = i

Exit Sub

End If

Next i

index = -1

End Sub

2.折半查找法(只能对有序数列进行查找)

基本思想:设n个有序数(从小到大)存放在数组a(1)----a(n)中,要查找的数为x。用变量bot、top、mid 分别表示查找数据范围的底部(数组下界)、顶部(数组的上界)和中间,mid=(top+bot)/2,折半查找的算法如下:

(1)x=a(mid),则已找到退出循环,否则进行下面的判断;

(2)x

(3)x>a(mid),x必定落在mid+1和top的范围之内,即bot=mid+1;

(4)在确定了新的查找范围后,重复进行以上比较,直到找到或者bot<=top。

将上面的算法写成如下函数,若找到则返回该数所在的下标值,没找到则返回-1。

Function search(a() As Integer, x As Integer) As Integer

Dim bot%, top%, mid%

Dim find As Boolean '代表是否找到

bot = LBound(a)

top = UBound(a)

find = False '判断是否找到的逻辑变量,初值为False

Do While bot <= top And Not find

mid = (top + bot) \ 2

If x = a(mid) Then

find = True

Exit Do

ElseIf x < a(mid) Then

top = mid - 1

Else

bot = mid + 1

End If

Loop

If find Then

search = mid

Else

search = -1

End If

End Function

七、插入法

把一个数插到有序数列中,插入后数列仍然有序

基本思想:n个有序数(从小到大)存放在数组a(1)—a(n)中,要插入的数x。首先确定x 插在数组中的位置P;(可由以下语句实现)

p=1

do while x>a(p) and p<=n

p=p+1

loop

a(p)—a(n)元素向后顺移一个位置以空出a(p)元素放入x,可由以下语句实现:

for i=n to p step-1

a(i+1)=a(i)

next i

a(p)=x

将其写成一插入函数

Private Sub Instert(a() As Single, x As Single)

Dim p%, n%, i%

n = UBound(a)

ReDim Preserve a(n + 1)

p = 0

Do While x > a(p) And p < =n ' 确定x应插入的位置

p = p + 1

Loop

For i = n To p Step -1

a(i + 1) = a(i)

Next i

a(p) = x

End Sub

八、矩阵(二维数组)运算

(1)矩阵的加、减运算

C(i,j)=a(i,j)+b(i,j) 加法

C(i,j)=a(i,j)-b(i,j) 减法

(2)矩阵相乘

(矩阵A 有M*L 个元素,矩阵B 有L*N 个元素,则矩阵C=A*B 有M*N 个元素)。矩阵C

中任一元素 ∑=?=l

k j k b k i a j i c 1)),(),((),( (i=1,2,…,m; j=1,2,…,n)

For i = 0 To m

For j = 0 To n

c(i, j) = 0

For k = 0 To l

c(i, j) = c(i, j) + a(i, k) * b(k, j)

Next k

Next j

Next i

(3)矩阵传置

例:有二维数组a(5,5),要对它实现转置,可用下面两种方式:

For i=1 to 5 (2) For i=2 to 5

For j=i+1 to 5 For j=1 to i

t=a(i,j) t=a(i,j)

a(i,j)= a(j,i) a(i,j)= a(j,i)

a(j,i)=t a(j,i)=t

Next j Next j

Next i Next i

(4)求二维数组中最小元素及其所在的行和列 基本思路同一维数组,可用下面程序段实现(以二维数组a(2,3)为例):

‘变量max 中存放最大值,row,column 存放最大值所在行列号

Max = a(1, 1): row = 1: Column = 1

For i = 1 To 2

For j = 1 To 3

If a(i, j) > a(row, Column) Then

Max = a(i, j)

row = i

Column = j

End If

Next j

Next i

Print "最大元素是"; Max

Print "在第" & row & "行,"; "第" & Column & "列"

九、迭代法

算法思想:对于一个问题的求解x ,可由给定的一个初值x0,根据某一迭代公式得到一个

新的值x1,这个新值x1比初值x0更接近要求的值x ;再以新值作为初值,即:x1→x0,重新按

原来的方法求x1,重复这一过和直到|x1-x0|<ε(某一给定的精度)。此时可将x1作为问题的解。

例:用迭代法求某个数的平方根。 已知求平方根的迭代公式为:)(210

01

x a x x += Private Function Fsqrt( a As single ) AS single

Dim x0 As Single, x1 As Single

x0 =a/2 '迭代初值

x1 = 0.5*(x0 + a/x0)

Do

x0 = x1 '为下一次迭代作准备

x1 = 0.5*(x0 + a/x0)

Loop While Abs(x1 - x0) > 0.00001

Fsqrt=x1

End Function

十、数制转换

将一个十进制整数m转换成→r(2-16)进制字符串。

方法:将m不断除r 取余数,直到商为零,以反序得到结果。下面写出一转换函数,参数idec为十进制数,ibase为要转换成数的基(如二进制的基是2,八进制的基是8等),函数输出结果是字符串。

Private Function TrDec(idec As Integer, ibase As Integer) As String

Dim strDecR$, iDecR%

strDecR = ""

Do While idec <> 0

iDecR = idec Mod ibase

If iDecR >= 10 Then

strDecR = Chr$(65 + iDecR - 10) & strDecR

Else

strDecR = iDecR & strDecR

End If

idec = idec \ ibase

Loop

TrDec = strDecR

End Function

十一、字符串的一般处理1.简单加密和解密

加密的思想是:将每个字母C加(或减)一序数K,即用它后的第K个字母代替,变换式公式:c=chr(Asc(c)+k)

例如序数k为5,这时"A"→"F","a""f","B""G"…当加序数后的字母超过"Z"或"z"则c=Chr(Asc(c)+k -26)

例如:You are good→ Dtz fwj ltti

解密为加密的逆过程

将每个字母C减(或加)一序数K,即c=chr(Asc(c)-k),

例如序数k为5,这时"Z"→"U","z"→"u","Y"→"T"…当加序数后的字母小于"A"或"a"则c=Chr(Asc(c)-k +26)

下段程序是加密处理:

i = 1: strp = ""

nL = Len(RTrim(strI))

Do While (i <= nL)

strT = Mid$(strI, i, 1) '取第i个字符

If (strT >= "A" And strT <= "Z") Then

iA = Asc(strT) + 5

If iA > Asc("Z") Then iA = iA - 26

strp = strp + Chr$(iA)

ElseIf (strT >= "a" And strT <= "z") Then

iA = Asc(strT) + 5

If iA > Asc("z") Then iA = iA - 26

strp = strp + Chr$(iA)

Else

strp = strp + strT

End If

i = i + 1

Loop

Print strp

2.统计文本单词的个数

算法思路:

(1)从文本(字符串)的左边开始,取出一个字符;设逻辑量WT表示所取字符是否是单词内的字符,初值设为False

(2)若所取字符不是“空格”,“逗号”,“分号”或“感叹号”等单词的分隔符,再判断WT是否为

True,若WT不为True则表是新单词的开始,让单词数Nw=Nw+1,让WT=True;

(3)若所取字符是“空格”,“逗号”,“分号”或“感叹号”等单词的分隔符,则表示字符不是单词内字符,让WT=False;

(4)再依次取下一个字符,重得(2)(3)直到文本结束。

下面程序段是字符串strI中包含的单词数

Nw = 0: Wt = False

nL = Len(RTrim(strI))

For i = 1 To nL

strT = Mid$(strI, i, 1) '取第i个字符

Select Case strT

Case " ", ",", ";", "!"

Wt = False

Case Else

If Not Wt Then

Nw = Nw + 1

Wt = True

End If

End Select

Next i

Print "单词数为:", Nw

十二、穷举法穷举法(又称“枚举法”)的基本思想是:一一列举各种可能的情况,并判断哪一种可能是符合要求的解,这是一种“在没有其它办法的情况的方法”,是一种最“笨”的方法,然而对一些无法用解析法求解的问题往往能奏效,通常采用循环来处理穷举问题。

例:将一张面值为100元的人民币等值换成100张5元、1元和0.5元的零钞,要求每种零钞不少于1张,问有哪几种组合?

Dim i%, j%, k%

Print "5元1元0.5元"

For i = 1 To 20

For j = 1 To 100 - i

k = 100 - i - j

If 5.0 * i + 1.0 * j + 0.5 * k = 100 Then

Print i, j, k

End If

Next j

Next i

十三、递归算法

用自身的结构来描述自身,称递归

VB允许在一个Sub子过程和Function过程的定义内部调用自己,即递归Sub子过程和递归Function函数。递归处理一般用栈来实现,每调用一次自身,把当前参数压栈,直到递归结束条件;然后从栈中弹出当前参数,直到栈空。

递归条件:(1)递归结束条件及结束时的值;(2)能用递归形式表示,且递归向终止条件发展。

例:编fac(n)=n! 的递归函数

Function fac(n As Integer) As Integer

If n = 1 Then

fac = 1

Else

fac = n * fac(n - 1)

End If

End Function

VB程序设计习题

练习一 一、选择题 1、下面列出的程序设计语言中(A )是面向问题的语言。 A、机器语言 B、汇编语言 C、高级语言 D、0、1二进制语言 解释:机器语言和汇编语言都是面向机器的语言,二进制语言为机器语言,故其为面向机器的语言 2、下面列出的程序设计语言中(C )不是面向对象的语言。 A、C B、C++ C、Java D、VB 3、下列(D )不属于VB 6.0的版本。 A、学习版 B、专业版 C、企业版 D、共享版 解释:VB6.0共有三个版本:标准版、专业版、企业版。而其中的标准版是为初学者了解基于windows的应用程序开发而设计的,也可称为学习版。 二、填空题 1、从程序设计语言发展过程的角度来分类,计算机程序设计语言分:机器语言、汇编语言和高级语言。 2、VB 6.0采用了面向对象、事件驱动(可视化编程)的编程机制。 3、启动VB 6.0后可以从“现存”选项卡选择并打开系统中现存的工程文件。 练习二 一、选择题 1、如果窗体对象的名称为Forma1,Backcolor是窗体对象的一个属性,用来设置窗体的背景色,那么设置窗体背景色为蓝色的语句正确的是( A ) A、Forma1.Backcolor=vbBlue B、Backcolor= vbBlue C、Forma1 =vbBlue D、Forma1′s Backcolor is vbBlue. 2、下面方法中,不能打开编码编辑器的是(D) A、单击“视图”菜单中的“代码窗口”命令。 B、双击窗体设计器的窗体或控件。 C、双击窗体设计器的窗体或控件,单击工程资源管理器中的“查看代码”按钮。 D、双击窗体设计器的窗体或控件,单击标准工具栏中的“代码窗口”按钮。 3 、保存VB应用程序时,下列方法中正确的是(A) A、先保存窗体文件,再保存工程文件。 B、先保存工程文件,再保存窗体文件 C、直接保存窗体文件,系统会自动按顺序先保存窗体文件再保存工程文件。 D、直接保存窗体文件,系统会自动按顺序先保存工程文件再保存窗体文件。 二、填空题 1、VB工程文件的扩展名是工程文件(*.vbp),窗体文件的扩展名是窗体文件(*.frm)。 2、选中工程资源管理器中的窗体对象,再单击按钮可打开窗体设计器。 3、在VB中,按下工具栏中的“启动”按钮或键运行程序。 练习三 一、选择题 1、在设计阶段,当双击窗体上的某个控件时,所打开的窗口是(C) A、工程资源管理器窗口 B、工具箱窗口 C、代码窗口 D、属性窗口 2、新建一个工程,将其窗体的名称属性设置为MyFirst,则默认的窗体文件名为(C) A、Form1. frm B、工程1. frm C、MyFirst.frm D、Form1.vbp 3、下列叙述中正确的是(C) A、只有窗体才是VB中的对象 B、只有控件才是VB中的对象 C、窗体和控件都是VB中的对象 D、窗体和控件都不是VB中的对象 解释:窗体时VB中最常见的对象,而控件是VB中预先定好的、程序中能够直接使用的对象。 4、设置窗体最小化时的图标可通过(A )属性来实现。 A、MouseIcon B、BackStyle C、Icon D、Picture 5、设置标签边框的属性是( B ) A、BorderStyle B、BackStyle C、AutoSize D、Alignment 6、文本框没有( D )属性。 A、Enable B、Visible C、BackColor D、Caption 7、下列操作中不能触发命令按钮的Click事件的是( B ) A、在按钮上单击鼠标左键 B、在按钮上单击鼠标右键 C、把焦点移至按钮上,然后按回车键 D、使用该按钮的快捷键

VBProject代码操作代码之常用语句

一、增加模块 1.增加一个模块,命名为“我的模块” ThisWorkbook.VBProject.VBComponents.Add(vbext_ct_StdModule).Name = "我的模块" 系统常量vbext_ct_StdModule=1 2.增加一个类模块,命名为“我的类” ThisWorkbook.VBProject.VBComponents.Add(vbext_ct_ClassModule).Name = "我的类" vbext_ct_ClassModule=2 3.增加一个窗体,命名为“我的窗体” ThisWorkbook.VBProject.VBComponents.Add(vbext_ct_MSForm).Name = "我的窗体" vbext_ct_MSForm=3 二、删除模块 1.删除“模块1” ThisWorkbook.VBProject.VBComponents.Remove hisWorkbook.VBProject.VBComponents("模块1") 2.删除窗体“UserForm1” ThisWorkbook.VBProject.VBComponents.Remove ThisWorkbook.VBProject.VBComponents("UserForm1") 3.删除类模块“类1” ThisWorkbook.VBProject.VBComponents.Remove ThisWorkbook.VBProject.VBComponents("类1") 4.删除所有的窗体 Sub RmvForms() Dim vbCmp As VBComponent For Each vbCmp In ThisWorkbook.VBProject.VBComponents If vbCmp.Type = vbext_ct_MSForm Then ThisWorkbook.VBProject.VBComponents.Remove vbCmp Next vbCmp End Sub 相关: 工作表和ThisWorkbook的模块类型为vbext_ct_Document=100 三、增加代码 1.在“模块1”中插入代码 如果需要在“Sheet1”、“Thisworkbook”、或“Userform1”中操作,用只需将下面的“模块1”换成相应的名称即可。 方法1: 在模块的开始增加代码,增加的代码放在公共声明option,全局变量等后面。 Sub AddCode1() ThisWorkbook.VBProject.VBComponents("模块1").CodeModule.AddFromString _ "sub aTest()" & Chr(10) & _ "msgbox ""Hello""" & Chr(10) & _ "end sub" End Sub

高中信息技术《算法与程序设计VB(选修)》

一、算法 (1)、计算机解决问题的过程 计算机程序(Computer Program)是计算机如何去解决问题完成任务的一组可执行指令。 程序设计(Program Design)是寻找解决问题的方法,并将其实现步骤编写成计算机可执行的程序的过程。 程序设计语言(Program Language)泛指一切用于书写计算机程序的语言。 计算机解决问题和人解决问题有着本质区别:计算机解决问题要经历分析问题、确定算法、编程求解等基本过程主。计算机解决问题的流程如下: 开始→分析问题→设计算法→编写程序→运行程序→结束 编写程序时,首先要对问题进行详细分析,明确已知条件下的初始状态及要达到的目标,找出解决问题的方法和过程,并抽取出一个数学模型,形成算法;然后将这个数学模型连同它要处理的数据,用计算机能识别的方式描述出来,使之成为计算机能处理的对像;最后用程序设计语言设计出具体的问题求解过程,形成计算机程序。 (2)算法的描述方法 ①、算法的定义及其特征 算法:就是解决问题的思想方法,对解题过程的精确描述。 计算机解决问题的步骤为分析问题、设计算法、编写程序、调试程序。 算法是程序设计的“灵魂”,世界著名计算机科学家尼克劳斯·沃斯(N.With)指出:算法+数据结构(Data Structure)=程序。 算法具有以下特征。 1、有穷性:一个算法必须保证执行有限步之后结束; 2、确定性:算法的每一步骤必须有确切的定义; 3、输入:一个算法有0个或多个输入,以刻画运算对象的初始情况,所谓0个输入是指算法本身定出了初始条件; 4、输出:一个算法有一个或多个输出,以反映对输入数据加工后的结果。没有输出的算法是毫无意义的; 5、可行性:算法中执行的任何计算步都是可以被分解为基本的可执行的操作步,即每个计算步都可以在有限时间内完成;(也称之为有效性) ②、算法的描述方法有自然语言、流程图、伪代码三种形式 自然语言描述法:指用人们日常生活中使用的语言(本国语言),用自然语言描述符合我们的习惯,且容易理解。 例1:求圆的周长和面积 算法如下:(自然语言描述法) (1)输入半径r ; (2) 计算周长c=2*π*r ; (3) 计算面积 s=π*r*r ; (4) 输出周长c,输出面积s ; (5) 结束 流程图描述:也称程序框图,它是算法的一种图形化表示方法。且描述算法形象、直观,更易理解。

VB程序设计的常用算法填空题

VB程序设计的常用算法 例:用随机函数产生100个[0,99]范围内的随机整数,统计个位上的数字分别为1,2,3,4,5,6,7,8,9,0的数的个数并打印出来。 将程序编写在一个GetTJput过程中,代码如下: Public Sub GetTJput() Dim a(1 To 100) As Integer Dim x(1 To 10) As Integer Dim i As Integer, p As Integer '产生100个[0,99]范围内的随机整数,每行10个打印出来 For i = 1 To If a(i) < 10 Then Form1.Print Space(2); a(i); Else Form1.Print Space(1); a(i); End If If Then Next i '统计个位上的数字分别为1,2,3,4,5,6,7,8,9,0的数的个数,并将统计结果保存在数组x(1),x(2),...,x(10)中,将统计结果打印出来For i = 1 To 100 p = a(i) Mod 10 ' 求个位上的数字 If p = 0 Then p = 10 Next i Form1.Print "统计结果" For i = 1 To 10 p = i If i = 10 Then p = 0 Form1.Print "个位数为" + Str(p) + "共" + Str(x(i)) + "个" Next i End Sub 二、求两个整数的最大公约数、最小公倍数 m=inputBox("m=") n=inputBox("n=") nm=n*m If m < n Then r=m mod n Do While m=n n=r

vb代码大全

用VB5实现窗口图象缩放、滚动技巧 成都理工学院计算机工程系 洪志全 ---- Visual Basic 是Windows 平台中最常用的应用软件开发语言, 窗口图像缩放、滚动是图像处理、多媒体数据库等应用软件开发中的基本功能。本文将介绍如何用VB 5.0 实现地窗口图像缩放和滚动技巧, 供读者在各种语言系统开发中参考。 ---- 一、获取图像 ---- 本文所介绍的图像缩放并没有对真正的图像进行缩放, 而是复制一幅窗口图像的真实画面, 对这个窗口图像附本进行局部缩放和滚动, 获取窗口图像可使用Windows 的API 函数来实现。具体来说, 实现窗口图像缩放、滚动需要用GetDeskTopWindow() 函数获取桌面窗口句柄, 再通过GetDC() 函数转换为描述表句柄, 则用BitBlt() 函数把桌面图像复制到任意图形容器控件中, 桌面图像复制完成后, 再用ReleaseDC 释放窗口描述表, 各API 函数的具体使用方法参见本文的例子程序。 ---- 本文所用的API 函数包含在WIN95/98 的GDI32.DLL 和USER32.DLL 动态链接库中, 在使用时可通过VB5.0 的TEXT VIEWER 复制到所开发的应用程序中。 ---- 二、图像缩放 ---- 图像缩放显示的基本原理就是把原图像的一部分缩放后再送入窗口的图形容器控件中, 在VB 中可用内部命令PaintPicture 来进行, 语法格式为: PaintPicture Pic,DestX,DestY,DestWidth, DestHeight,ScrX,ScrY,ScrWidth,ScrHeight ---- 其中,Pic 为图片对象, 如图形控件对象等; DestX,DestY为目标图像起始坐标; DestWidth,DestHeight为目标图像幅面尺寸; ScrX,ScrY为源图像起始坐标; ScrWidth,ScrHeight为源图像剪裁尺寸。 ---- 该命令就是把一个源图像资源任意复制到指定的区域, 其功能相当于API 函数的BitBlt, 但使用更简单, 若复制时改变源图像的ScrWidth,ScrHeight 或目标图像的DestWidth,DestHeight 可使复制后的图像尺寸发生变化, 实现窗口图像的缩放显示。若ScrWidth,ScrHeight 或

高中信息技术算法与程序设计VB知识点

高中信息技术《算法与程序设计VB(选修)》 知识要点 相关知识点 (一)算法 1、定义 相关题解: 1算法:就就是解决问题的方法与步骤。算法就是程序设计的“灵魂”,算法+数据结构=程序。运用计算机程序解决实际问题时,合理的步骤就是B、分析问题→设计算法→编写程序→调试程序 2.算法的描述方法: 1算法的描述:可分多种表达方法,一般用自然语言、流程图与伪代码进行描述。 2自然语言描述法:指用人们日常生活中使用的语言(本国语言),用自然语言描述符合我们的习惯,且容易理解。 3流程图描述:也称程序框图,它就是算法的一种图形化表示方法。且描述算法形象、直观,更易理解。 4伪代码描述法:就是介于自然语言与计算机程序语言之间的一种算法描述。就是专业软件开发人员常用方法。 (二) 程序设计基础 对象、属性=属性值 对象中属性可以在设计界面时通过属性窗中设置,也可以在运行时通过程序代码设置,方法如下例:给文本框“Txt123”的“Text”属性赋值为字符串“20”,代码如下 Txt123、text =”20” 变量=对象、属性 如果要获取对象的状态或特性,这时就要读取对象的属性值,方法如下 例:读取文本框“txt123”的“Text”属性的代码如下 a = txt123、text 2方法 [对象]、方法[参数名表] 例:form、print ”欢迎使用” 该语句使用print方法在form1窗体中显示字符串“欢迎使用” 3事件及事件驱动 事件就是对象对外部操作的响应,如在程序执行时,单击命令按钮会产生一个Click事件。如需要命令按钮响应Click事件,就把完成Click事件功能的代码写到Click事件的事件过程中,与事件一

算法与程序设计复习资料

江苏省高中信息技术算法与程序设计(选修) 复习要点 相关知识点 (一)算法 1.定义 1算法:就是解决问题的方法和步骤。算法是程序设计的“灵魂”,算法+数据结构=程序。单选题 1、下列关于算法说法不正确的是( A ) A、算法独立于任何具体的语言,BASIC算法只能用BASIC语言来实现 B、解决问题的过程就是实现算法的过程 C、算法是程序设计的“灵魂” D、其它三项都正确 2.算法的描述方法: 1算法的描述:可分多种表达方法,一般用自然语言、流程图和伪代码进行描述。 2自然语言描述法:指用人们日常生活中使用的语言(本国语言),用自然语言描述符合我们的习惯,且容易理解。 3流程图描述:也称程序框图,它是算法的一种图形化表示方法。且描述算法形象、直观,更易理解。 4伪代码描述法:是介于自然语言和计算机程序语言之间的一种算法描述。是专业软件开发人员常用方法。 相关题解: 单选题 1、图形符号" "在算法流程图描述中表示( B ). A 处理或运算的功能 B 输入输出操作 C 用来判断条件是否满足需求 D 算法的开始或结束 2、图形符号在算法流程图描述中表示( A ). A 处理或运算的功能 B 输入输出操作 C 用来判断条件是否满足需求 D 算法的开始或结束 3、以下哪个是算法的描述方法?( A ) A 流程图描述法 B 枚举法 C 顺序法 D 列表法

4、以下哪个是算法的描述方法?( D ) A 顺序法 B 列表法 C 集合法 D 自然语言描述法 (二)程序设计基础 (1)常用高级编程语言:BASIC、VB、Pascal、C、C++、Java 1面向对象的程序设计语言:其中的对象主要是系统设计好的对象,包括窗体等、控件等2控件:是指工具箱中的工具在窗体中画出的、能实现一定功能的部件,如文本框,命令按钮等。 对象属性=属性值 对象中属性可以在设计界面时通过属性窗中设置,也可以在运行时通过程序代码设置方法如下 例:给文本框“Txt123”的“Text”属性赋值为字符串“20”,代码如下 Txt123.text =”20” 变量=对象.属性 如果要获取对象的状态或特性,这时就要读取对象的属性值,方法如下 例:读取文本框“txt123”的“Text”属性的代码如下 a = txt123.text

VB程序设计知识点归纳

第一章 1 从功能上讲,Visual Basic 6.0有3种版本,即:学习版、专业版、企业版 2 与传统的程序设计语言相比,Visual Basic最突出的特点是事件驱动编程机制。 3 Visual Basic 6.0集成环境的主窗口中含有标题栏、菜单栏、工具栏 4用标准工具栏中的工具按钮不能执行的操作是打印源程序。 5关于Visual Basic"方法"的概念错误的是方法是对事件的响应 6在Visual Basic中,称对象的数据为属性 7Visual Basic应用程序可以用解释方式执行也可以用编译方式执行 第二章 1 计时器控件的Interval属性用于设置Timer事件发生的时间间隔,为了暂时关闭计时器,应把该计时器的Enabled 属性设置为False ,如果要求设置定时器时间间隔为1秒钟,那么它的Interval属性值应该等于1000 2 利用Ctrl + G操作可以打开立即窗口。 3 假定窗体上有一个标签,名为Lable1。为了使该标签透明并且没有边框,则正确的属性设置为:Lable1.BackStyle = 0 Lable1.BorderStyle = 0 4在设计阶段,当双击窗体上的某个控件时,所打开的窗口是代码窗口 5 在Visual Basic中,窗体文件的扩展名为FRM 6 窗体的Name属性指定窗体的名称,用来标识一个窗体 7 改变控件在窗体中的上下位置,应修改该控件的属性是Top 8 表示滚动条控件取值范围最大值的属性是Max 9 如果要改变窗体的标题,则需要设置的属性是Caption 10 在文本框(Text)中,通过ForeColor属性来设置字体颜色 11 若要求从文本框中输入密码时在文本框中只显示*号,则应当在此文本框的属性窗口中设置Passwordchar属性值 为* 12 能够改变复选框中背景颜色的属性是Backcolor 13 图片框是不具有Picture属性的对象 14 窗体的Name属性指定窗体的名称,用来标识一个窗体 15 要想返回文本框中输入的内容则可利用text属性进行编程 第三章 1用于从字符串左边截取字符的函数是Left( ),设a="Visual Basic",使b="Basic"的语句是b=Left(a,8,5)。 2下列符号中哪个是VB程序中合法的变量名:A ab7 B 7ab C If D a*bc (A)数字开头,关键字,* 3X是小于100的非负数,用VB表达式表达正确的是0<=X and X<100 4设有如下变量声明Dim TestDate As Date 为变量TestDate正确赋值的表达方式是 TextDate=#1/1/200 2# 5表达式4 + 5 \ 6 * 7 / 8 Mod 9的值是5,设a=3,b=5,则表达式(a>b)Or(b>0)值为真。5/5.25 为1 如果除数与被除数不是整数时,系统会自动对其进行取整运算,取整是有规律的:如果整数部分为偶数,大于 0.5的就进位,小于等于0.5的就直接把小数去掉,5舍6入;如果整数部分为奇数,4舍5入。例如: 5\2.5等价于5\2 5\2.6等价于5\3 6函数String(n,"str")的功能是返回由n个字符组成的字符串 7设有如下声明: Dim X As Integer 如果Sgn(X) 的值为-1,则X的值是小于0的数Sgn(3-5)=-1 Sgn(5-3)=1 8Integer类型的数据由2字节组成,Long类型的数据由4字节组成。 9已知X<Y,A>B,正确表示它们之间关系的式子是Sgn(Y-X)-Sgn(A-B)=-2 10在一个有①逻辑运算②算术运算及③关系运算混合在一起的表达式(无括号)中,其运算顺序为②③①

vb常用程序代码

1、求半径为r的圆的面积,要求用户从键盘输入半r。 程序代码: Private Sub Form_click() Const PI = 3.14 Dim r% Dim s! r = InputBox("请输入半径r的值:", "求圆的面积") s = PI * r * r Form1.FontSize = 16 Print "半径是" + Str(r) + "的圆的面积是" + Str(s) End Sub 2、输入三个整数,从小到大顺序输出。 程序代码: Private Sub Form_click() a = InputBox("a") b = InputBox("b") c = InputBox("c") Print "排序前:"; a, b, c If a > b Then t = a: a = b: b = t If a > c Then t = a: a = c: c = t If b > c Then t = b: b = c: c = t Print "排序后:"; a, b, c End Sub 3、输入三个整数,从大到小顺序输出。 程序代码: Private Sub Form_click() a = InputBox("a") b = InputBox("b") c = InputBox("c") Print "排序前:"; a, b, c If a

算法与程序设计VB选修

高中信息技术《算法与程序设计VB (选修)》 知识要点 相关知识点 (一)算法 1.定义 相关题解: 1算法:就是解决问题的方法和步骤。算法是程序设计的“灵魂”,算法+数据结构=程序。 单选题 1、下列关于算法说法不正确的是( A ) A 、算法独立于任何具体的语言,BASIC 算法只能用BASIC 语言来实现 B 、解决问题的过程就是实现算法的过程 C 、算法是程序设计的“灵魂” D 、其它三项都正确 2.算法的描述方法: 1算法的描述:可分多种表达方法,一般用自然语言、流程图和伪代码进行描述。 2自然语言描述法:指用人们日常生活中使用的语言(本国语言),用自然语言描述符合我们的习惯,且容易理解。 3流程图描述:也称程序框图,它是算法的一种图形化表示方法。且描述算法形象、直观,更易理解。 4伪代码描述法:是介于自然语言和计算机程序语言之间的一种算法描述。是专业软件开发人员常用方法。 相关题解: 单选题 1、图形符号" " 在算法流程图描述中表示( B ). A 处理或运算的功能 B 输入输出操作 C D 算法的开始或结束 2、图形符号在算法流程图描述中表示( A ). A B 输入输出操作 C 用来判断条件是否满足需求 D 算法的开始或结束 3、以下哪个是算法的描述方法?( A ) A 流程图描述法 B 枚举法 C 顺序法 D 列表法 4、以下哪个是算法的描述方法?( D ) A 顺序法 B 列表法 C 集合法 D 自然语言描述法 (二)程序设计基础

(1)常用高级编程语言:BASIC、VB、Pascal、C、C++、Java 1面向对象的程序设计语言:其中的对象主要是系统设计好的对象,包括窗体等、控件等 2控件:是指工具箱中的工具在窗体中画出的、能实现一定功能的部件,如文本框,命令按钮等。 对象属性=属性值 对象中属性可以在设计界面时通过属性窗中设置,也可以在运行时通过程序代码设置,方法如下例:给文本框“Txt123”的“Text”属性赋值为字符串“20”,代码如下 Txt123.text =”20” 变量=对象.属性 如果要获取对象的状态或特性,这时就要读取对象的属性值,方法如下 例:读取文本框“txt123”的“Text”属性的代码如下 a = txt123.text

VB程序设计的常用算法

VB程序设计的常用算法 算法(Algorithm):计算机解题的基本思想方法和步骤。算法的描述:是对要解决一个问题或要完成一项任务所采取的方法和步骤的描述,包括需要什么数据(输入什么数据、输出什么结果)、采用什么结构、使用什么语句以及如何安排这些语句等。通常使用自然语言、结构化流程图、伪代码等来描述算法。 一、计数、求和、求阶乘等简单算法 此类问题都要使用循环,要注意根据问题确定循环变量的初值、终值或结束条件,更要注意用来表示计数、和、阶乘的变量的初值。 例:用随机函数产生100个[0,99]范围内的随机整数,统计个位上的数字分别为1,2,3,4,5,6,7,8,9,0的数的个数并打印出来。 本题使用数组来处理,用数组a(1 to 100)存放产生的确100个随机整数,数组x(1 to 10)来存放个位上的数字分别为1,2,3,4,5,6,7,8,9,0的数的个数。即个位是1的个数存放在x(1)中,个位是2的个数存放在x(2)中,……个位是0的个数存放在x(10)。 将程序编写在一个GetTJput过程中,代码如下: Public Sub GetTJput() Dim a(1 To 100) As Integer Dim x(1 To 10) As Integer Dim i As Integer, p As Integer '产生100个[0,99]范围内的随机整数,每行10个打印出来 For i = 1 To 100 a(i) = Int(Rnd * 100) If a(i) < 10 Then

Form1.Print Space(2); a(i); Else Form1.Print Space(1); a(i); End If If i Mod 10 = 0 Then Form1.Print Next i '统计个位上的数字分别为1,2,3,4,5,6,7,8,9,0的数的个数,并将统计结果保存在数组 x(1),x(2),...,x(10)中,将统计结果打印出来 For i = 1 To 100 p = a(i) Mod 10 ' 求个位上的数 字 If p = 0 Then p = 10 x(p) = x(p) + 1 Next i Form1.Print "统计结果" For i = 1 To 10 p = i If i = 10 Then p = 0 Form1.Print "个位数为" + Str(p) + "共" + Str(x(i)) + "个" Next i End Sub 二、求两个整数的最大公约数、最小公倍数 分析:求最大公约数的算法思想:(最小公倍数=两个整数之积/最大公约数) (1) 对于已知两数m,n,使得m>n; (2) m除以n得余数r; (3) 若r=0,则n为求得的最大公约数,算法结束;否则执行(4);

VB常用命令大全

常用命令 FontStrikeThru属性是逻辑型,决定对象上正文是否加一删除线。 FontItalic属性是逻辑型,决定对象上正文是否是斜体。 窗体的其它常用属性 2.Icon 控制图标属性:返回或设置窗体左上角显示或最小化时显示的图标。 注意:此属性必须在ControlBox属性设置为Ture才有效 3.ControlBox控制菜单框属性:设置Ture为有,如设置为False则无控件菜单,同时窗体也无最大化按钮和最小化按钮,即使MaxButton属性和MinButton属性设置为Ture。 5. BorderStyle:边框风格, 通过改变BorderStyle 属性,可以控制窗体如何调整大小。 0-None:无边框; 1-Fixed Single:单线边框,不可以改变窗口大小; 2-Sizable:双线边框,可以改变窗口大小; 3-Fixed Double:双线框架,不可以改变窗口大小。 4-Fixed Tool Window:窗体外观与工具条相似。有关闭按钮,不可以改变窗口大小。 5-Sizable Tool Window:窗体外观与工具条相似。有关闭按钮,可以改变窗口大小。 6. WindowsState属性 用来设置窗体的运行状态。 0-Normal:正常窗口状态,有窗口边界; 1-Minimized:最小化状态,以图标方式运行; 2-Maximized:最大化状态,无边框,充满整个屏幕。 7. AutoRedraw属性 该属性决定窗体被隐藏或被另一窗口覆盖之后,是否重新还原该窗体被隐藏或覆盖以前的画面。即是否重画如Circle、Line、Pset和Print等方法的输出。 当为True时,重新还原该窗体以前的画面。 当为False时,则不重画AutoRedraw属性。 4 Resize事件 无论是因为用户交互,还是通过代码调整窗体的大小,都会触发一个Resize事件。 5 Activate事件:当窗体由非活动窗体变为活动窗体,即当窗体得到焦点时触发该事件。窗体常用的方法有: 打印输出Print 移动Move 清除Cls 显示Show 隐藏Hide等方法。 方法的使用的形式: [对象.]方法[参数] 1.Print方法 形式: [窗体名.]Print[{Spc(n)|Tab(n)}][表达式列表][;|,] 作用: 在对象上输出信息 Spc(n)函数:插入n个空格,允许重复使用。 Tab(n)函数:从窗体第n列开始输出,允许重复使用。 ;(分号):光标定位上一个显示的字符后(紧凑格式)。 ,(逗号):光标定位在下一个打印区的开始位置处。每个打印区占14列(标准格式)。无;,换行。

VB程序设计的常用算法4

VB程序设计的常用算法4 十、数制转换 将一个十进制整数m转换成→r(2-16)进制字符串。 方法:将m不断除r 取余数,直到商为零,以反序得到结果。下面写出一转换函数,参数idec为十进制数,ibase为要转换成数的基(如二进制的基是2,八进制的基是8等),函数输出结果是字符串。 Private Function TrDec(idec As Integer, ibase As Integer) As String Dim strDecR$, iDecR% strDecR = "" Do While idec <> 0 iDecR = idec Mod ibase If iDecR >= 10 Then strDecR = Chr$(65 + iDecR - 10) & strDecR Else strDecR = iDecR & strDecR End If idec = idec \ ibase Loop TrDec = strDecR End Function 十一、字符串的一般处理1.简单加密和解密 加密的思想是:将每个字母C加(或减)一序数K,即用它后的第K个字母代替,变换式公式:c=chr(Asc(c)+k) 例如序数k为5,这时"A"→"F","a""f","B""G"…当加序数后的字母超过"Z"或"z"则c=Chr(Asc(c)+k -26) 例如:You are good→ Dtz fwj ltti 解密为加密的逆过程 将每个字母C减(或加)一序数K,即c=chr(Asc(c)-k), 例如序数k为5,这时"Z"→"U","z"→"u","Y"→"T"…当加序数后的字母小于"A"或"a"则c=Chr(Asc(c)-k +26) 下段程序是加密处理: i = 1: strp = "" nL = Len(RTrim(strI)) Do While (i <= nL) strT = Mid$(strI, i, 1) '取第i个字符 If (strT >= "A" And strT <= "Z") Then iA = Asc(strT) + 5 If iA > Asc("Z") Then iA = iA - 26 strp = strp + Chr$(iA) ElseIf (strT >= "a" And strT <= "z") Then iA = Asc(strT) + 5 If iA > Asc("z") Then iA = iA - 26 strp = strp + Chr$(iA) Else strp = strp + strT End If i = i + 1 Loop Print strp

算法与程序设计(VB)论文:算法与程序设计(VB)的反思性学习

算法与程序设计(VB)论文:算法与程序设计(VB)的反思性学 习 【摘要】高中信息技术课程标准是以普通高中整体改革为背景的,新课标注重提高信息素养,打造终身学习的平台,培养解决问题的能力,共同建构健康的信息文化。本文就高中算法与程序设计教学,浅谈了自己的几点思考:即教师在正确认识高中阶段开设程序设计教学的重要性基础之上,如何培养学生的反思性学习能力,从而更好的开展程序设计教学,提高学生的信息素养。 【关键词】程序设计教学;认识;反思性学习 江苏省《高中信息技术课程标准要求》指出:选修“算法与程序设计”模块以算法与程序设计为主线,揭示利用计算机解决实际问题的过程。通过本模块的教学,让学生体验算法思想,了解算法与程序设计在解决问题过程中的地位和作用。使学生能从简单问题出发,设计解决问题的算法,并能初步使用一种程序设计语言编制程序、实现算法、解决问题。就高中程序设计教学而言,笔者有这样几点思考。 一、对高中阶段开设程序设计教学的认识 高中阶段开设算法与程序设计教学有其必要性。学生在高中阶段打下基础,有利于他们进入大学的深造和就业以后的继续教育。此外,高考数学中加入了算法模块,也证明了

开设算法与程序设计教学的重要性。 算法与程序设计属于较高层次的学习内容,所以学习的深度和广度要由教师具体情况具体对待。教师要帮助学生充分认识到该部分内容的重要性,让学生在学习过程中积极发挥主观能动性,从而促使教学工作科学、合理、有效地开展。 二、程序设计教学中培养学生反思性学习能力 反思性学习,顾名思义就是通过对学习活动过程的反思来进行学习。学生具有反思性学习的意识是反思性学习的前提。让学生明确没有反思便难有自我改错纠偏的道理;明确反思不仅能及时改正错误,还能优化已有认识,提高自身合理性水平。对于学生的成功予以适当表扬与鼓励,还可以达到强化学生反思意识的效果。另外,教师要营造开放、合作、协调、信任的教学氛围,鼓励学生大胆地质疑,给出别出心裁的答案。学生智慧的激活,会反作用于教师和其他学生,使其能在更高层次上积极思维,从而在师生、学生间积极思维的互动中,不断闪耀出智慧的光芒,从而建立一种互动的反思关系。 反思性学习不仅仅是对学习一般性的回顾或重复,而是深究学习活动中所涉及的知识、方法、思路、策略等,具有了较强的科学研究的性质。新课标强调关注每个学生的情感、态度、价值观和一般能力的培养。所以在教学中,教师

VB程序设计的常用算法教案.doc

VB程序设计的常用算法教案 算法(algorithm):计算机解题的基本思想方法和步骤。算法的描述:是对要解决一个问题或要完成一项任务所采取的方法和步骤的描述,包括需要什么数据(输入什么数据、输出什么结果)、采用什么结构、使用什么语句以及如何安排这些语句等。通常使用自然语言、结构化流程图、伪代码等来描述算法。 一、计数、求和、求阶乘等简单算法 此类问题都要使用循环,要注意根据问题确定循环变量的初值、终值或结束条件,更要注意用来表示计数、和、阶乘的变量的初值。 例:用随机函数产生100个[0,99]范围内的随机整数,统计个位上的数字分别为1,2,3,4,5,6,7,8,9,0的数的个数并打印出来。 本题使用数组来处理,用数组a(1 to 100)存放产生的确100个随机整数,数组x(1 to 10)来存放个位上的数字分别为1,2,3,4,5,6,7,8,9,0的数的个数。即个位是1的个数存放在x(1)中,个位是2的个数存放在x(2)中,......个位是0的个数存放在x(10)。 将程序编写在一个gettjput过程中,代码如下: public sub gettjput() dim a(1 to 100) as integer

dim x(1 to 10) as integer dim i as integer, p as integer '产生100个[0,99]范围内的随机整数,每行10个打印出来 for i = 1 to 100 a(i) = int(rnd * 100) if a(i) < 10 then form1.print space(2); a(i); else form1.print space(1); a(i); end if if i mod 10 = 0 then form1.print next i '统计个位上的数字分别为1,2,3,4,5,6,7,8,9,0的数的个数,并将统计结果保存在数组x(1),x(2),...,x(10)中,将统计结果打印出来 for i = 1 to 100 p = a(i) mod 10 ' 求个位上的数字 if p = 0 then p = 10 x(p) = x(p) + 1 next i form1.print "统计结果"

VB编程常用代码 大一练习专用

A,B,C排序由大到小 Dim a As Single,b As Single,c As Single a=Val(Text1.Text) b=Val(Text2.Text) c=Val(Text3.Text) If b>a Then d=a:a=b:b=d End If If c>a Then d=a:a=c:c=d End If If c>b Then d=b:b=c:c=d End If Text4.Text=a Text5.Text=b Text6.Text=c End Sub Private Sub Command2_Click() Text1.Text="" Text2.Text="" Text3.Text="" Text4.Text="" Text5.Text="" Text6.Text="" End Sub 计算a+b Private Sub Command1_Click() Text4.Text=Val(Text2.Text)+Val(Text3.Text) Text1.Text="欢迎新同学" End Sub 清除

Private Sub Command2_Click() Text1.Text="" Text2.Text="" Text3.Text="" Text4.Text="" End Sub 奇偶数显示器 显示 Private Sub Command1_Click() Dim a As Integer a=Val(Text1.Text) If a/2=Int(a/2)Then Text2.Text="您输入的数是偶数" Else Text2.Text="您输入的数是奇数" End If End Sub 清除 Private Sub Command2_Click() Text1.Text="" Text2.Text="" End Sub 奇偶数判断 Dim a,b As Integer Dim result As Integer a=Val(InputBox("请输入一个整数","数的输入",300,400)) b=Val(InputBox("请输入一个整数","数的输入",300,400)) If a/2=Int(a/2)Then result=MsgBox("您输入的数:"&a&"是一个偶数",1,"判断结果") Form1.Print rusult Else m="您输入的数:"&a&"是一个奇数" result=MsgBox("您输入的数:"&a&"是一个奇数",1,"判断结果") Form1.Print result End If If b/2=Int(b/2)Then result=MsgBox("您输入的数:"&b&"是一个偶数",1,"判断结果") Form1.Print rusult Else result=MsgBox("您输入的数:"&b&"是一个奇数",1,"判断结果")

算法与程序设计

算法与程序设计(选修) 相关知识点 (一)算法 1.定义 相关题解: 单选题 1、下列关于算法说法不正确的是( A ) A 、算法独立于任何具体的语言,BASIC 算法只能用BASIC 语言来实现 B 、解决问题的过程就是实现算法的过程 C 、算法是程序设计的“灵魂” D 、其它三项都正确 2、下列关于算法说法不正确的是( D ) . A 、算法是程序设计的“灵魂” B 、解决问题的过程就是实现算法的过程 C 、其它三项都正确 D 、算法独立于任何具体的语言,BASIC 算法只能用BASIC 语言来实现 2.算法的描述方法: (1)自然语言描述法; (2)流程图描述法; (3)常用流程图的符号意义。 相关题解: 单选题 1、图形符号" "在算法流程图描述中表示( B ). A 处理或运算的功能 B 输入输出操作 C 用来判断条件是否满足需求 D 算法的开始或结束 2、图形符号 在算法流程图描述中表示( A ). A 处理或运算的功能 B 输入输出操作 C 用来判断条件是否满足需求 D 算法的开始或结束 3、以下哪个是算法的描述方法?( A ) A 流程图描述法

B 枚举法 C 顺序法 D 列表法 4、以下哪个是算法的描述方法?( D ) A 顺序法 B 列表法 C 集合法 D 自然语言描述法 (二)程序设计基础 (1)常用高级编程语言:BASIC、VB、Pascal、C、C++、Java 相关题解: 单选题 1、下列关于程序设计说法正确的是( B )。 A、程序设计语言的发展经历了机器语言、汇编语言到高级语言的过程,比 较流行的高级语言是PASCAL, FORTRAN, EXCEL, C++等 B、程序设计就是寻求解决问题的方法,并将其实现步骤编写成计算机可以执行的程序的过程 C、程序设计语言和计算机语言是同一个概念的两个方面 D、程序设计就是指示计算机如何去解决间题或完成一组可执行指令的过程 2、下列说法错误的是(D ). A、程序设计就是寻求解决问题的方法,并将其实现步骤编写成计算机可以执行的程序的过程 B、程序设计语言的发展经历了机器语言、汇编语言、高级语言的过程 C、计算机程序就是指计算机如何去解决间题或完成一组可执行指令的过程 D、程序设计语言和计算机语言是同一概念的两个方面 2.数据及运算 (1)常用数据类型:Integer、Long、Single、Double、Boolean 表示范围: Integer (-32768 ——32767,存储为16 位,2 个字节) Long(-21亿——21亿,可以表示人口数量) Boolean(True 或False) (2)常量和变量的命名、声明及赋值 符号常量的声明:Const 常量名As 常量类型= 常量值 如:Const pi As Single = 3.14159 变量的声明: Dim 变量名As 变量类型 如:Dim a As Integer 定义一个整型变量,变量名为a 相关题解: 单选题 1、下列变量名写法错误的是( B ) A、abc_123 B、123abc C、abc123 D、abc 2、下列语句中定义了一个实型变量的是( B ) A、Dim end as Integer

相关文档
相关文档 最新文档