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