admin 管理员组

文章数量: 1086019


2024年3月27日发(作者:手机出现error是什么意思)

2016年第20期

信息与电脑

China Computer&Communication

教学与教育信息化

VB语言中输出杨辉三角的教学方法

姜金林

(福建省长汀县职业中专,福建 龙岩 366300)

摘 要:

杨辉三角的输出是VB语言程序设计中的经典的例题之一,也是中职升高职单招必练的题目之一,笔者从实

例入手引入杨辉三角的输出方法,通过数组找到规律,并扩展到输出N行的情况,最后谈到了杨辉三角输出方法的改进。

关键词:

VB语言程序设计;杨辉三角;数组

中图分类

号:TP312.1  文献标识码:A  文章编号:1003-9767(2016)20-225-02

1 引言

随着计算机技术的飞速发展,特别是WINDOWS操作

系统的发展,程序设计语言发生了巨大的变化和深刻的变

革。从BASE语言到今天的VISUAL BASIC,从C语言到

VISUAL C++,从DBASE到VISUAL FOXPRO,以及JAVA

语言等,功能变得更加强大,学习和使用变得更加容易。

VISUAL BASIC是当前先进的可视化软件开发工具之

一,它既继承了BASIC语言简单易学的优点,又引入了面

向对象和事件驱动机制等先进的程序设计思想。VISUAL

BASIC程序设计的主要思想是使用现有的部件组装应用程

序。因此,用VISUAL BASIC开发WINDOWS应用程序的

效率是非常高的,它使普通的计算机程序设计人员开发较大

型的WINDOWS应用程序成为可能。本文以二维数组中经

典例题杨辉三角的输出为例,来探讨新的教学法。

输出杨辉三角是将一系列数据按照其特点依次放到一

个二维数组当中,然后将其按行输出的过程。其基本思想是:

给定的二维数组每行的第1个数和最后一个数的值为1,从

第3行开始,除上面指出的第一个数和最后一个数外,其

余各数是上一行同列和前一列两个数之和。由于老师的教

学风格不同,教学方法也不同,有的是将杨辉三角的思想

列出,然后写出程序来讲解该程序是如何实现的。这样理

解程度会大一点。但对于VB程序掌握熟练的学生来说,效

果是不错的。据多年来带中职生参加高职单招的经验,笔

者从另一个角度来带领学生掌握杨辉三角的输出方法,教

学反馈良好。

1

1 1

1 2 1

1 3 3 1

1 4 6 4 1

1 5 10 10 5 1

先打印输出杨辉三角的前6行,这里有个二维数组A(6,

6)用来存放杨辉三角的前6行数据(数组A的行下标和列

下标都从0开始)

第一步:根据杨辉三角的特点(每行的列数与该行的行

标相等)先把数组A每行第一个数和最后一个数设为1,代

码如下。

For i=0 to 6

A(i,1)=1

A(i,i)=1

Next i

第二步:由于杨辉三角其各数是上一行和前一列两个数

之和,因此,可以通过以下代码求出其他的数。

For i=3 to 6

Next i

For i=0 to 5

Next i

Dim a(5, 5) As Integer

For j=0 to i

Next j

Print `每输出一行就换一行

For i=1 to i

Next j

A(I,j)=A(i-1,j)+A(i-1,j-1)

第三步:输出数组A中值,代码如下。

2 输出杨辉三角的思想

本程序是打印杨辉三角形,杨辉三角形的行数由键盘输

入。所谓杨辉三角形,是指整体结构是一个三角形,第一列

和对角线上的所有元素的值都为1,其余元素的值是在该元

素的上一行当中,前一列和同一列的元素之和。下面是一个

6行的杨辉三角形的图示。

Print A(I,j);

由上面的程序段可知,输出杨辉三角前六行的程序如下:

作者简介:

姜金林(1978-),男,福建长汀人,本科,讲师。研究方向:计算机教学。

—   225   —

教学与教育信息化

Dim i, j As Integer

A(0, 0) = 1

A(1, 0) = 1

A(1, 1) = 1

For i = 1 To 5

A(i, 0) = 1

A(i, i) = 1

For j = 1 To 5

信息与电脑

China Computer&Communication

2016年第20期

For j = 0 To i

Print A(i, j);

Next j

Print

Next i

4 输出杨辉三角方法的改进措施

以上的程序只用到了双重循环,而且每次运行的杨辉三

角都显示在同一窗口中,这样执行起来界面不太整洁。为了

提高程序的执行效率,现修改程序如下:

Dim A() As Long

Dim N As Integer

N = Val(InputBox("请输入你要显示的杨辉三角形的行

数","输入"))

If N > 0 Then

ReDim A(1 To N, 1 To N) As Long

For i = 1 To N

For j = 1 To i

If j = 1 Or j = i Then

A(i, j) = 1

Else

A(i, j) = A(i - 1, j) + A(i - 1, j - 1)

End If

Print A(i, j);

Next

Print

Next

Else

MsgBox "请重新输入一个有效的行数:"

End If

采用以上的教学方法能让学生领会到学习VB语言的乐

趣,极大提高学生学习的积极性,可以达到举一反三的效果,

增强学生独立思考问题的能力。

A(i, j) = A(i - 1, j - 1) +A(i - 1, j) `其余各数是上一行同

列和前一列两个数之和

Next j

Next i

For i = 0 To 5

For j = 0 To i

Print A(i, j);

Next j

Print `每输出一行就换一行

Next i

3 输出N行杨辉三角的思想

若要输出N行杨辉三角,则应在程序的开始处定义

一个符号N,用来表示二维数组的行号和列标。语名为:

N=Val(InputBox("请输入你要显示的杨辉三角形的行数","

输入")),N值可以根据程序的需要而改变。

输出N行杨辉三角的程序如下:

Dim N As Integer

Dim A() As Integer

Dim i, j As Integer

N = Val(InputBox("请输入你要显示的杨辉三角形的行数

","输入"))

ReDim a(N, N) As Integer

A(0, 0) = 1

A(1, 0) = 1

A(1, 1) = 1

For i = 2 To N

A(i, 0) = 1

A(i, i) = 1

For j = 1 To i - 1

A(i, j) = A(i - 1, j - 1) +A(i - 1, j)

Next j

Next i

For i = 0 To N - 1

5 结 语

在高职单招教学当中,VB语言这门课占了专业分的

40%,即120分,学生因为有升学压力,想去学好,但因为

基础薄弱,部分学生畏惧英语,所以往往开始积极后面消极。

在VB语言的教学过程当中教师应注重激发学生学习的积极

性,让学生感觉学VB语言不难,从而对该门课程产生兴趣。

同时,教师应给学生布置适当的任务,以培养学生独立思考

的能力。

—   226   —


本文标签: 学生 程序 输出 数组 语言