1.繪制余弦曲線
在屏幕上用“*”顯示0~360度的余弦函數(shù)cos(x)曲線
*問題分析與算法設(shè)計
如果在程序中使用數(shù)組,這個問題十分簡單。但若規(guī)定不能使用數(shù)組,問題就變得不容易了。
關(guān)鍵在于余弦曲線在0~360度的區(qū)間內(nèi),一行中要顯示兩個點,而對一般的顯示器來說,只能按行輸出,即:輸出第一行信息后,只能向下一行輸出,不能再返回到上一行。為了獲得本文要求的圖形就必須在一行中一次輸出兩個“*”。
為了同時得到余弦函數(shù)cos(x)圖形在一行上的兩個點,考慮利用cos(x)的左右對稱性。將屏幕的行方向定義為x,列方向定義為y,則0~180度的圖形與180~360度的圖形是左右對稱的,若定義圖形的總寬度為62列,計算出x行0~180度時y點的坐標(biāo)m,那么在同一行與之對稱的180~360度的y點的坐標(biāo)就 應(yīng)為62-m。程序中利用反余弦函數(shù)acos計算坐標(biāo)(x,y)的對應(yīng)關(guān)系。
使用這種方法編出的程序短小精煉,體現(xiàn)了一定的技巧。
*程序說明與注釋
#include #include void main()
{
double y;
int x,m;
for(y=1;y>=-1;y-=0.1) /*y為列方向,值從1到-1,步長為0.1*/
{
m=acos(y)*10; /*計算出y對應(yīng)的弧度m,乘以10為圖形放大倍數(shù)*/
for(x=1;x printf("*\n"); /*控制打印同一行中對稱的右側(cè)*號*/
}
}
2.繪制余弦曲線和直線
在屏幕上顯示0~360度的cos(x)曲線與直線f(x)=45*(y-1)+31的迭加圖形。其中cos(x)圖形用“*”表示,f(x)用“+”表示,在兩個圖形相交的點上則用f(x)圖形的符號。
*問題分析與算法設(shè)計
本題可以在上題的基礎(chǔ)上進行修改。圖形迭加的關(guān)鍵是要在分別計算出同一行中兩個圖形的列方向點坐標(biāo)后,正確判斷相互的位置關(guān)系。為此,可以先判斷圖形的交點,再分別控制打印兩個不同的圖形。
*程序注釋與說明
#include #include void main()
{
double y;
int x,m,n,yy;
for(yy=0;yy<=20;yy++) /*對于第一個y坐標(biāo)進行計算并在一行中打印圖形*/
{
y=0.1*yy; /*y:屏幕行方向坐標(biāo)*/
m=acos(1-y)*10; /*m: cos(x)曲線上y點對應(yīng)的屏幕列坐標(biāo)*/
n=45*(y-1)+31; /*n: 直線上y點對應(yīng)的列坐標(biāo)*/
for(x=0;x<=62;x++) /*x: 屏幕列方向坐標(biāo)*/
if(x==m&&x==n) printf("+"); /*直線與cos(x)相交時打印“+”*/
else if(x==n) printf("+"); /*打印不相交時的直線圖形*/
else if(x==m||x==62-m) printf("*"); /*打印不相交時的cos(x)圖形*/
else printf(" "); /*其它情況打印空格*/
printf("\n");
}
}
3.繪制圓
在屏幕上用“*”畫一個空心的圓
*問題分析與算法設(shè)計
打印圓可利用圖形的左右對稱性。根據(jù)圓的方程:
R*R=X*X+Y*Y
可以算出圓上每一點行和列的對應(yīng)關(guān)系。
*程序說明與注釋
#include #include void main()
{
double y;
int x,m;
for(y=10;y>=-10;y--)
{
m=2.5*sqrt(100-y*y); /*計算行y對應(yīng)的列坐標(biāo)m,2.5是屏幕縱橫比調(diào)節(jié)系數(shù)因為屏幕的
行距大于列距,不進行調(diào)節(jié)顯示出來的將是橢圓*/
for(x=1;x<30-m;x++) printf(" "); /*圖形左側(cè)空白控制*/
printf("*"); /*圓的左側(cè)*/
for(;x<30+m;x++) printf(" "); /*圖形的空心部分控制*/
printf("*\n"); /*圓的右側(cè)*/
}
}
·2009年計算機等考一級WPS上機考試指導(dǎo)(六) (2009-9-17 17:26:38)
·2009年計算機等考一級WPS上機考試指導(dǎo)(五) (2009-9-17 17:18:25)
·2009年計算機等考一級WPS上機考試指導(dǎo)(四) (2009-9-17 17:14:45)
·2009年計算機等考一級WPS上機考試指導(dǎo)(三) (2009-9-17 17:09:59)
·2009年計算機等考一級WPS上機考試指導(dǎo)(二) (2009-9-17 17:05:19)
全國計算機等級考試三級教程--數(shù)據(jù)庫技術(shù) |
計算機等級考試三級教程--網(wǎng)絡(luò)技術(shù) |
全國計算機等級考試一級B教程(2009年版) |
全國計算機等級考試三級教程--信息管理技術(shù) |
如果計算機等級考試網(wǎng)所轉(zhuǎn)載內(nèi)容不慎侵犯了您的權(quán)益,請與我們聯(lián)系,我們將會及時處理。如轉(zhuǎn)載本計算機等級考試網(wǎng)內(nèi)容,請注明出處。