999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

VFP中圖形打印方法芻議

2019-09-10 07:22:44胡祥柏
安徽教育科研 2019年12期

胡祥柏

摘要:圖形的打印輸出是VFP中的一個(gè)難點(diǎn),很多同學(xué)在學(xué)習(xí)VFP的過程中感到對(duì)圖形輸出程序的編寫束手無策。本文通過采用對(duì)問題拆分,層層分解的辦法,闡述了編寫打印圖形程序的方法及注意事項(xiàng),最后給出了幾個(gè)常見圖形程序的實(shí)現(xiàn)方法,以加深同學(xué)們對(duì)打印圖形程序的理解。

關(guān)鍵詞:VFP 循環(huán)嵌套 圖形打印

在VFP程序設(shè)計(jì)中,打印圖形的操作讓很多同學(xué)頭疼,如何控制好圖形輸出的位置、每一行打印圖形的個(gè)數(shù)是多少、打印的圖形有什么規(guī)律、如何找到其中的規(guī)律,對(duì)于初次學(xué)習(xí)VFP程序設(shè)計(jì)語言的同學(xué)而言是一個(gè)難點(diǎn),也是一個(gè)痛點(diǎn)。以下就VFP中圖形打印原理與方法進(jìn)行介紹。

一、繪制圖形的原理

打印圖形通常要用到循環(huán),若打印一維的多個(gè)相同的符號(hào),也就是在一行打印多列,通常用單重循環(huán)。但是,若打印的圖形是二維的,也就是按一定的規(guī)律輸出多行多列,那就要用二重循環(huán)(即循環(huán)的嵌套),而循環(huán)的嵌套恰恰是程序設(shè)計(jì)中的難點(diǎn)。

在VFP中循環(huán)有三種基本形式:do while ……enddo循環(huán),for……endfor循環(huán),scan ……endscan循環(huán)。由于scan ……endscan循環(huán)是專門對(duì)數(shù)據(jù)表掃描操作所設(shè)計(jì)的循環(huán),因此在打印圖形中一般用不到它,而用其他兩種循環(huán)結(jié)構(gòu)來打印圖形的比較多。

下面就以幾個(gè)典型的特例為例子,介紹打印圖的原理:

問題分析:

(1)程序要解決的問題是打印輸出一個(gè)3行5列的圖形,圖形中的符號(hào)是“*”,所以打印該圖形首先要解決的基本問題是如何輸出一個(gè)“*”。若要在程序中某一行輸出一個(gè)“*”號(hào),那么在程序中只要下列一條語句即可:

??”*”

(2)若要在程序中某一行輸出5個(gè)“*”號(hào),即“*****”,那么在程序中只要把??“*”這個(gè)語句反復(fù)執(zhí)行五次即可。如何讓一個(gè)語句反復(fù)執(zhí)行五次呢?因?yàn)檠h(huán)具有重復(fù)或反復(fù)去完成一件事情的功能,所以就要使用循環(huán):

for j=1 to 5

??“*”

endfor

(3)在第一行輸出完5個(gè)“*”后,因?yàn)橄乱恍羞€要再輸出相同的圖形,所以要在endfor 語句后加一個(gè)?用來進(jìn)行換行,也就是為輸出下一行設(shè)置好起始位置,于是程序就變成如下形式:

for j=1 to 5

??“*”

endfor

(4)如何使每一行在輸出“*”前使整個(gè)圖形往右移若干列呢?為了在每一行開始輸出“*”號(hào)前,使整個(gè)圖形往右移若干列,在執(zhí)行循環(huán)語句前應(yīng)插入若干空格,然后再輸出5個(gè)“*”號(hào)。若每一行前插入的空格數(shù)是固定不變的,則每一行的起始位置都是對(duì)齊的,若每一行前插入的空格數(shù)是可變的,則每一行的起始位置會(huì)向左移或向右移。

例如,本例中若在for語句前插入??space(10)這條語句,則每行圖形在打印前首先會(huì)輸出10空格,即:

??space(10)

for j=1 to 5

??“*”

endfor

(5)上面程序完成了在一行中輸出5個(gè)“*”的功能,若再讓上述程序作為循環(huán)體執(zhí)行3次,就可以達(dá)到輸出3行5列“*”的目的。如何讓上述循環(huán)執(zhí)行三次呢?這就要用到循環(huán)的嵌套,具體實(shí)現(xiàn)代碼如下:

for i=1 to 3

??space(10)

for j=1 to 5

??“*”

endfor

endfor

通過上面的程序我們可以發(fā)現(xiàn),在打印輸出圖形時(shí),外層循環(huán)控制輸出圖形的行數(shù),內(nèi)層循環(huán)控制輸出圖形的列數(shù),控制好插入空格位置、個(gè)數(shù)及換行的時(shí)機(jī),弄明白要輸出的圖形,打印輸出圖形就不再是什么難事了。同學(xué)們?cè)趯W(xué)習(xí)循環(huán)時(shí)覺得打印輸出圖形特別難,最主要的原因是沒有學(xué)會(huì)如何把要解決的問題分解成最基本的小問題,如何在分解的小問題的基礎(chǔ)上進(jìn)行有條不紊的分步驟綜合。

二、常見圖形的打印方法

常見的圖形有以下幾種,針對(duì)下面各種圖形的特點(diǎn),我們來進(jìn)行分析,并給出它們的代碼,以供參考。

(1)圖2的特點(diǎn)是每一行打印“*”的個(gè)數(shù)(即列數(shù))和行號(hào)相等,每一行的起始位置(起始列)都相同。

程序代碼:

clear

for i=1 to 4 &&控制圖形輸出4行

??space(10) &&每一行開始先插入10個(gè)空格,起始位置相同

for j=1 to i &&控制每一行輸出的字符個(gè)數(shù)為i個(gè)

??“*”? &&“*”若換成str(j,1)+“*”+str(i,1)+“=”+str(i*j,2)+space(1),

&&則可以打印九九乘法表

endfor

endfor

(2)圖3的特點(diǎn)是每一行打印的字符和個(gè)數(shù)都在變化,輸出字符的個(gè)數(shù)(即列數(shù))和行號(hào)之間的關(guān)系是,每行字符個(gè)數(shù)=2*行號(hào)-1,下一行的起始位置(起始列)比上一行左移一列。根據(jù)上述特點(diǎn),編寫的程序代碼如下:

clear

for i=1 to 4

??space(10-i)

for j=1 to 2*i-1

??chr(64+i)

endfor

endfor

(3)圖4的特點(diǎn)是每一行的起始位置(起始列)都相同,每一行打印的字符和個(gè)數(shù)都在變化,每一行輸出字符的個(gè)數(shù)(即列數(shù))和行號(hào)之間的關(guān)系是,每行字符個(gè)數(shù)=5-行號(hào)。根據(jù)上述特點(diǎn),編寫的程序代碼如下:

clear

for i=1 to 4

??space(10)

for j=1 to 5-i

??str(j,1)

endfor

endfor

(4)圖5可以看成是由上下兩個(gè)三角形拼湊而成的圖形,其特點(diǎn)是上三角由4行組成,下三角由3行組成。上三角下一行的打印圖形的起始位置比上一行左移一列,每行輸出的字符個(gè)數(shù)=2*行號(hào)-1。下三角共3行,第一行輸出字符的起始位置相對(duì)于上三角的最后一行而言右移一列,同樣,最后兩行輸出字符的起始位置都是在上一行的基礎(chǔ)上右移一列,每一行輸出字符的個(gè)數(shù)=7-2*行號(hào)。根據(jù)上述特點(diǎn),編寫的程序代碼如下:

clear

for i=1 to 4? &&下面的程序是輸出上三角圖形

??space(10-i)

for j=1 to 2*i-1

??“*”

endfor

endfor

for i=1 to 3? &&下面的程序是打印下三角圖形

??space(6+i)

for j=1 to 7-2*i

??“*”

endfor

endfor

打印輸出圖形要用到循環(huán)的嵌套,循環(huán)的嵌套是VFP程序設(shè)計(jì)中的重點(diǎn)和難點(diǎn),文中通過對(duì)打印輸出內(nèi)容進(jìn)行漸近分析和分步分解的方法來介紹輸出圖形的方法,最終讓同學(xué)們理解雙重循環(huán)執(zhí)行過程和打印圖形中的注意事項(xiàng),從而使同學(xué)們更好地掌握打印圖形的一般規(guī)律。

參考文獻(xiàn):

[1]羅頌,詹斌,余健.Visual FoxPro課程設(shè)計(jì)案例精編[M].北京:清華大學(xué)出版社,2008.

[2]李玉龍,張永花,蒲會(huì)蘭.Visual FoxPro程序設(shè)計(jì)與數(shù)據(jù)應(yīng)用基礎(chǔ)[M].北京:中國(guó)鐵道出版社,2007.

[3]何明瑞.數(shù)據(jù)原理及Visual FoxPro 6.0實(shí)用教程[M].上海:浦東電子出版社,2003.

[4]高偉,陳林. Visual FoxPro 9.0基礎(chǔ)教程[M].北京:清華大學(xué)出版社,2005.

[5]張洪舉. Visual FoxPro開發(fā)答疑160問[M].北京:人民郵電出版社,2003.

主站蜘蛛池模板: 国产又色又爽又黄| 激情视频综合网| 欧美日韩精品一区二区在线线| 久久久久久国产精品mv| 国产毛片基地| 在线免费观看AV| 97国产在线观看| 孕妇高潮太爽了在线观看免费| 国产精品毛片一区视频播| av在线人妻熟妇| 国产精品对白刺激| 无码中文字幕乱码免费2| 欧美日韩动态图| 又大又硬又爽免费视频| 91色国产在线| 亚洲日韩精品无码专区97| 亚洲精品无码AV电影在线播放| 制服丝袜亚洲| 亚洲AV电影不卡在线观看| 久久国产精品77777| 亚洲色图欧美在线| 国产好痛疼轻点好爽的视频| 国产欧美日韩视频怡春院| 国产精品白浆无码流出在线看| 色婷婷视频在线| 青青久久91| 精品国产91爱| 成人中文在线| 国产精品流白浆在线观看| 国产亚洲日韩av在线| 久久国产精品电影| 香蕉伊思人视频| 日韩高清在线观看不卡一区二区| 欧美不卡视频在线| 色吊丝av中文字幕| 国产区福利小视频在线观看尤物| 国产精品无码久久久久久| 国产欧美视频一区二区三区| 高清久久精品亚洲日韩Av| 欧美在线导航| 国产在线观看人成激情视频| 欧美无专区| 九九免费观看全部免费视频| 日韩欧美网址| 色爽网免费视频| 亚洲色欲色欲www在线观看| 欧美激情网址| 欧美一区日韩一区中文字幕页| 人人艹人人爽| 亚洲天堂网视频| 国产激情无码一区二区APP| 无码中文字幕精品推荐| 在线欧美国产| 在线高清亚洲精品二区| 国产a v无码专区亚洲av| 午夜福利免费视频| 人人澡人人爽欧美一区| 亚洲精品老司机| 成人精品视频一区二区在线 | 国产女人喷水视频| 亚洲一欧洲中文字幕在线| 色精品视频| 久久综合伊人 六十路| 亚洲无限乱码一二三四区| 欧美亚洲激情| 国产屁屁影院| 免费一级α片在线观看| 无码免费视频| 中文字幕中文字字幕码一二区| 午夜一区二区三区| 久草热视频在线| 久久这里只有精品66| 精品欧美日韩国产日漫一区不卡| 日本在线视频免费| 久久精品66| 色窝窝免费一区二区三区| 国产精品亚洲天堂| 国产成熟女人性满足视频| 欧美不卡视频一区发布| 曰韩免费无码AV一区二区| 波多野结衣无码AV在线| 老司机精品一区在线视频|