



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
VB中巧用Tab格式函数打印图形 作者:yineng 时间:2007-06-05 14:23:21 分类:默认分类标签:For循环阅读器在教育科学出版社出版的算法与程序设计(VB)(选修)一书中,有关于打印图形的例题,而书中并没有对此作详细的讲解。为了让学生能更好的理解和掌握双重循环及Tab(x)格式函数的运用,本人结合平时的教学经验,对Tab(x)格式函数的运用进行了归纳和总结,以便使学生能快速地掌握其方法和技巧。关于图形的打印,我们一般采用双重循环,其中外循环控制打印的行数,内循环控制每行打印的字符个数。对于图形中各字符位置的确定,则需要用到Tab(x)格式函数进行定位。如何进行定位,我们可采用两种方法,即“行定位法”和“点定位法”:一、行定位法:方法:确定每行第一个字符所在的位置。通过图形分析找出各行首字符之间的位置关系,即可得出Tab(x)格式函数中x的表达式。其程序模式一般为:For i=1 to A i为外循环变量,A控制打印的行数Print Tab (x ); x为每行首字符所在的位置,可以为常量,也可以为变量或表达式For j=1 to B j为内循环变量,B控制每行打印的字符个数Print “”;Next jPrintNext i对于所打印的图形,我们基本可将它们分为四类:l基于左端对齐的图形(如图1所示):由于各行首字符的位置在同一列上,且各行所有字符依次打印于首字符之后,则此时只有当x为某一常量时,才能保证图形左端对齐。如Tab(20),若A=3,B=4,则打印图形为3行4列的矩形;若此时A=6,B=i,则打印图形为直角三角形(如图1所示)。l基于向左倾斜的图形(如图2所示):由于各行首字符的位置与前一行首字符相比,有向左移动的趋势,即此时x的值逐渐递减,且x每次变化值为1。由于i的值每循环一次递增1,因此x必定是关于i的表达式即x=常量- i,才能使x的值呈递减趋势,从而达到图形左倾的效果。如Tab(20-i),若A=3,B=4,则打印图形为3行4列左倾的平形四边形;若A=6,B=i或B=2*i1的表达式,则打印图形为左倾的直角三角形(如图2所示)或等腰三角形。l基于向右倾斜的图形(如图3所示):由于各行首字符的位置与前一行首字符相比,有向右移动的趋势,即此时x的值逐渐递增,且x每次变化值为1。由于i的值每循环一次递增1,因此x必定是关于i的表达式即x=常量i,才能使x的值呈递增趋势,从而达到图形右倾的效果。如Tab(20i),若A=3,B=4,则打印图形为3行4列右倾的平形四边形;若A=6,B=A1-i或B2*(A1)-(2*i1),则打印图形为倒直角三角形(如图3所示)或倒等腰三角形。l基于上下对称的图形(如图4所示):图形为上下对称,上半部分为正三角形,下半部分为倒三角形,中间一行的字符最多。我们可以设定中间最长的一行的i值为0作为临界值,上半部分图形中i值设为负,下半部分图形中i值设为正,即i的变化范围是从-A,A,A的值可以根据上半部分图形的行数所确定。此时x和B则是关于i的绝对值的表达式,即x=常量-abs(i),B=2*(A1abs(i)-1。若打印如图4的图形效果,则根据图形分析可知i的变化范围为-3,3,x=20-abs(i),B=2*(4-abs(i)-1。由以上四种图形分析可知,对于不对称图形(如图1、2、3)而言,x的常量值(如20)是以每个图形的第一行第一个字符所在位置为基准,各行首字符的位置在此基础上进行加或减的操作,从而使图形出现右倾或左倾;而对于对称图形(如图4)而言,x的常量值(如20)所表示的是图形中最长的一行左边第一个字符所在位置,相对于它所在位置,上下两部分的图形中各行的首字符呈递增趋势,且由于i是由负值变化到正值,故对各行首字符进行绝对值的加操作。在“行定位法”中,Tab (x )格式函数是在外循环和内循环之间,因此每次执行时所确定的是各行第一个字符所在的位置。依照此程序模式所打印的图形存在一定的局限性,即当确定各行首字符位置之后,该行所有字符均按紧凑格式打印其后,且各字符之间排列紧密,无空格,因而本方法只适用于打印紧凑格式的实心图形,如直角三角形或每行为奇数(2*i1)个字符的等腰三角形,而对于如图5所示的各字符间有间隔的图形则不能实现。若要打印图5所示的三角形,我们一般采用第二种方法“点定位法”。二、点定位法:方法:在打印图形时,对每行中的每个字符的位置都进行定位。这一方法使用起来比较灵活,适用于各种图形的打印。其程序模式如下:For i=1 to A i为外循环变量,A控制打印的行数For j=1 to B j为内循环变量,B控制每行所打印的字符个数Print Tab (x );“”; x为每个字符所在的位置,是关于i和j的表达式Next jPrintNext i在此程序中,与“点定位法”不同之处在于,我们把Tab (x )格式函数放置于内循环之中。在图形中,由于i值的变化而使图形呈左倾或右倾的变化趋势,由于j值的变化而使同一行中不同字符的位置发生了变化,因此x是关于i和j的表达式。要实现对每个字符进行精确定位,我们只需将“点定位法”各图形中x的表达式增加一个j值即可。如对以上所分析的四种图形中x的表达式分别为:x=20j(图1),x=20-ij(图2),x=20ij(图3),x=20abs(i)j(图4)。对于以上的四种图形,我们将它们称为紧凑格式的图形,是由于各字符是按紧凑格式依次输出,此时i与j的系数比为1:1。若想拉大各字符间的间距,我们只需同时扩大i和j的倍数即可如图6所示。而对于如图5所示的空心图形,各字符间存在一定的间距,通过各行首字符间的间距及每行中各字符之间的间距来确定i和j的系数比,即可得出x的表达式。若要打印如图5所示的图形,我们可以通过图形分析可知各行首字符间距为1,每行中各字符之间的间距为2,因此x表达式中i与j的系数比为1:2,即可设x=20i2*j。若要扩大每行中各字符之间的间距,则只需同时扩大i和j的倍数。基于以上分析,对于任何一种图形,我们均应先观察图形中各行首字符位置所呈现的变化趋势,根据趋势确定变量i的符号是加还是减;其次观察分析图形中各行首字符间的间距与每行中各字符之间的间距的比值,若为1:1,则两种方法均可使用,若为1:n,则应运用“点定位法”,将Tab(x)格式函数放置于内循环之中,再对图形中的各字符进行逐个定位,方可打印出合适的图形。由于“行定位法”只与i有关,而“点定位法”与i,j两变量有关,因而“点定位法”具有一定的灵活性。因此我们在打印较为复杂的图形时,可运用“点定位法”。附图形及代码如下表:图形行定位法(代码)点定位法(代码)图1For i=1 to 6Print Tab (20 );For j=1 to iPrint “”;Next jPrintNext iIFor i=1 to 6For j=1 to iPrint Tab (20j );“”;Next jPrintNext i图2For i=1 to 6Print Tab (20-i );For j=1 to iPrint “”;Next jPrintNext iFor i=1 to 6For j=1 to iPrint Tab (20-ij);“”;Next jPrintNext i图3For i=1 to 6Print Tab (20i );For j=1 to 7-iPrint “”;Next jPrintNext iFor i=1 to 6For j=1 to 7-iPrint Tab (20ij );“”;Next jPrintNext i图4For i=-3 to 3Print Tab (20abs(i);For j=1 to 7-abs(2*i)Print “”;Next jPrintNext iFor I=-3 to 3For j=1 to 7-abs(2*i)Print
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医院消防培训课件图片
- 康家滩小学绿色膳食推广计划
- 医院消防培训讲评课件
- 膀胱造瘘管护理
- 互联网公司2025年度人事工作总结与计划
- 2025年语文毕业复习目标与计划
- 2025年教师资格之中学语文学科知识与教学能力每日一练试卷B卷含答案
- 地下工程监理旁站计划
- 2024-2025学年山西省大同市北岳中学八年级上学期期中测试地理试卷
- 2024-2025学年山东省枣庄市峄城区东方学校八年级上学期12月月考地理试卷
- 车床工安全生产职责规章制度
- 2025年庆六一儿童节校长致辞(2篇)
- 房屋市政工程生产安全重大事故隐患排查表(2024版)
- 人教版小学数学五年级下册全册导学案
- 油库设备维护规范
- 国企求职指南培训
- 职业道德与法治综合练习2024-2025学年中职高教版
- 安委会办公室主要职责
- 项目合作分润合同范例
- 《员工质量意识培训》课件
- GB/T 44893-2024人身保险伤残评定及代码
评论
0/150
提交评论