欢迎来到天天文库
浏览记录
ID:8797257
大小:216.50 KB
页数:6页
时间:2018-04-08
《vb字符图形设计原理》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、VB字符图形设计输出如(图一)所示的由符号组成的图形,一般可从图形的大小、形状、位置和组成图形的符号这四方面着手,下面我们就来讨论一下如何解决上述的四个问题。 1.图形共有多少行? 解决方法:用双重循环语句中的外层循环来控制。 用外循环变量x来控制图形的行数,设x的值从-4到4,请看程序一的Forx=-4TO4语句。 2.图形的每行是从什么位置(哪一列)开始输出符号? 解决方法:用内、外层循环之间的部分来确定。 由于各行输出的起始位置不同,因此,这个起始位置一般可以用一个含变量x的绝对值的表达式来确定。进而可以发现,第x行的初始位置随x的绝对值增大而增大,减小而减小,因
2、此可以用Abs(x)来确定。如程序一的PrintTab(Abs(x));语句。 3.图形的每行输出多少个符号? 解决方法:用内循环来控制。 仔细观察一下,每一行的符号个数与行数也是有着因果变化关系的,因此第一行的字符个数也可由一个含变量x的表达式来确定。用内循环变量y来控制各行的数字个数。如程序一的Fory=1TO2*p-1语句。 4.图形各列输出什么样数字或符号? 解决方法:用内层循环体来确定。如程序一的Print“*”;语句。 由以上四个问题我们可以得到程序一 Privatesubform_click() Fori=-4TO4:n=5-Abs(i) Print
3、Tab(Abs(i)); Forj=1TO2*n-1 Print“*”; Nextj Print Nexti EndSub(程序一) 以上是在VB中输出规则图形的方法,我们可以通过改动其中的语句,输出不同的图形,实现多题一解。 一、分解图形 1.输出(图二)。解决方法:是改变控制图形行数的语句。将程序一中的Fori=-4TO4:n=5-Abs(i)语句中的-4改为0即可,其它语句不变。 2.输出(图三)。解决方法:是改变控制图形列数的语句。将程序一中的Forj=1TO2*n-1语句中的2*n-1改为n,则运行后可输出图三。 二、组合图形
4、输出(图四)。解决方法是在程序一的内外循环中间加一个循环z来控制字符个数的循环次数。①在Forj=1TO2*n-1语句前加上循环语句Forz=1TO3;②②在Nextj语句后添上以下语句:PrintSpc(2*Abs(i));:Nextz。 三、图形由数字组成 解决方法:①①将程序1的PrintTab(Abs(i));语句改为PrintTAB(3*Abs(i));。因为在VB中输出数值时,值前有一符号位(正数为空格),数值后有一个空格。故一个数值输出时要占3个字符的位置。②②改动程序1的Print“*”;语句。下面的所有图形都是由数字组成,故程序1内、外层循环之间的部分
5、都是PrintTab(3*Abs(i));。 1.上下对称图形 解决方法:因为上下对称图形的各行数字是一样的。故输出语句只与变量i有关。 如将程序一的Print“*”;语句改为PrintAbs(i);,运行后输出结果为(图五);如改为Print5-Abs(i);,运行后则输出结果为(图六)。 2.左右对称图形 解决方法:左右对称图形的输出语句与变量n和j有关。 如将程序一的Print“*”;改为:PrintAbs(n-j);则运行后输出(图七);如改为:Print5-Abs(n-j);则运行后输出(图八)。 3.中心对称图形 解决方法:中心对称图形,要么
6、是最外层的数字减小,向内逐层增大,要么反之。 如将程序一的Print“*”;语句改为:Printp-Abs(n-j);运行后输出(图九);如改为:Print5-p+Abs(n-j);运行后则输出(图十)。 4.其它图形 如将Print“*”;语句改为IFj=1Orj=2*n-1ThenPrintn;ElsePrint“”;运行后则输出(图十一)。 如将Print“*”;语句改为Print5-Int((n+1)/2);运行后输出图十二。 从上面输出的这些不同的图形,我们可以发现其都有相同之处,有共性,抓住这一共性,我们就可以用相同的算法来输出不同的图形。
此文档下载收益归作者所有