摘要:利用数学知识解决编程问题,具体通过QBASIC语言中的文本作图进行分析,找出文本图形的共性,并用数学知识总结图形的变化与这些变量的关系。 结论:表明学科之间的联系,特别是运用数学知识,可以快速引导学生学习编程。
关键字: QBASIC; 数学思维; 程序设计
中图分类号: TP301.6文献识别码: a文章编号: 16727800(2012 ) 008004802
作者简介:魅力红牛(1977-),男,在泰州机电高等职业技术学校教一级教师,研究方向为多媒体技术。 引言0
在计算机编程语言中,QBASIC是一种比较灵活的编程语言,最容易入门。 它主要培养学生的编程能力和程序阅读能力,其语言接近生活语言并与数学语言相通。 现在,我们来谈谈如何利用数学知识解决编程问题。
1文本作图示例
在学习QBASIC语言时,经常会遇到输出各种文本图形的编程问题。 在QBASIC语言中,文本方法使用QBASIC语言的PRINT语句显示字符,以构成规则图形。 这种绘图方式叫文本绘图,在QBASIC文本方式中,屏幕从上到下有25行,每行从左到右。每行有多少个字符? 画面上各行开头文字的位置该图形由几行文字构成。
文本制图是循环结构在QBASIC语言中的重要应用。 循环语句首先标识整个循环,即要被重复执行的段; 接下来,决定循环体的循环次数。
图1文本图形1
如图1所示,对于这样的文本图形,我们如何实现编程呢? 整体原则是简化复杂,从点到线,从线到面,点印星号; 也就是说,打印星号行。 面是整个图形文本。
我们知道打印输出命令使用“PRINT”。 在输出格式中,分号表示连接的输出。 逗号表示间隔输出,PRINT后面没有表示换行符的参数。 每行的星号前面有一个空格。 PRINT TAB (可以使用表达式指定每行第一个星号的输出位置。
分析文本图形,找出图形中最具代表性的一行,例如第四行,生成打印第四行的程序段:
打印tab (2;
FOR J=1 TO 7
打印“*”;
NEXTJ
打印
打印第1、2、3、5行的方法相似,只是循环的最终值和各行的位置发生了变化,并设定变量y、m。 y用于确定每行的字符数,m用于确定每行第一个字符的位置。 通过上述分析,每行的段可以由以下段实现:
打印tab (m;
FOR J=1 TO Y
打印“*”;
NEXTJ
打印
该图形共有五行,运行该程序段5次,即循环5次,如下所示。
FOR X=1 TO 5
打印tab (m;
FOR J=1 TO Y
打印“*”;
NEXTJ
打印
NEXTX
在上段中,我们发现外环控制图形的行数,内环控制每行的字符数,每行字符的起始位置不同。 从表中可以看到这些变量的对应关系。
表1变量对应关系根据一行数X12345开始位置M54321的字符数Y13579表1的关系,通过作图法引出与直角坐标平面内对应的点,连接这些点的直线是函数的图像,如图2、图3所示。 求解函数方程,取Y=2X-1和M=6-X,代入程序段完成程序。
图2函数图像1图3函数图像2
FOR X=1 TO 5
打印tab (6- x );
FOR J=1 TO 2 *X-1
打印“*”;
NEXTJ
打印
NEXTX
结束
将图1改为图4。
图4文本图形2图5函数图像3图6函数图像4
因为图4是上下对称的,所以在制作程序时,外环的变量也是对称的。 该分段如下:
FOR X=-4 TO 4
pirnttab(m;
FOR J=1 TO Y
打印“*”;
NEXT J
打印
NEXT X
变量的对应关系如表2所示。
表2变量对应关系2行数X-4-3-2-101234开始位置M543212345个字符的个数Y135797531,根据表2的关系,在正交坐标平面内通过绘图法描绘对应的点,将这些点连接而成的曲线是函数的图像求解函数方程,取Y=9-2|X|和M=|X| 1,将函数方程y、m代入分段完成程序:
FOR X=-4 TO 4
打印tab (ABS (x ) 1;
forj=1to9-2*ABS(x )
打印“*”;
NEXTJ
打印
NEXTX
结束
两结
从以上分析可以看出,这些文本图形有共同的方面。 即,在各行的位置、各行的列数变化中,在变量的形成中制作共同的程序模块,并结合实际图形,利用数学知识找出图形的行数和这些变量之间的关系。 对初学者来说,刚开始参与算法和编程,需要熟悉和适应的过程,通过学科之间的联系,特别是运用数学知识,可以快速引导学生学习编程。
总之,计算机教育是在社会发展和技术发展的基础上“与时俱进”的教育,只要我们不断在教育和实践中体现、发现、总结,就一定能够构建适合学生和计算机专业特点的科学教育模式和教学方法
参考文献:
(1) mldmt .浅析编程与数学的关系——以——C语言编程为例([j(] .重庆工贸职业技术学院学报,2007(3) )。
(2) mhdxh .感受数学思维与算法艺术之美——推荐《程序设计中常用的计算思维方式》([j(] .计算机教学,2010(3) )。
(3)坦率的早晨,lhzddt .谈数学与计算机的关系([j ) .科技信息,2010(15 ) .