在眾多計算機類的認證考試之中,全國計算機等級考試的參考人數是最多的。其中壹級、二級通過率較高,而三級以上的考試相對難度較大。全國計算機等級考試改革之後,三級考試由原來的A、B兩類改為現在的四類,即PC技術、數據庫技術、信息管理技術、網絡技術。筆者以自己參加過的網絡技術考試經歷,來談談對這門考試的理解。
網絡技術在四門考試中比較受考生青睞,原因主要有兩點:
其壹,網絡技術相對其他幾門課程,好理解壹些。現在網絡越來越普及,接觸網絡的人越來越多,大家有更多的機會將理論與實踐的結合,容易激發學習興趣。
其二,雖然考試名稱為“網絡技術”,但比起思科、微軟和華為推出的網絡技術方面的認證來說,它的內容要簡單壹些,主要涉及網絡的基本概念和壹些通用知識,而沒有很深的內容和具體技術細節。
三級網絡技術的教材為高等教育出版社編的《全國計算機等級考試三級教程-網絡技術》。根據筆者的體會,書中的第三、四、五章是考試的重點,必須要多看幾遍,記不住的、暫時不理解的地方要做筆記。ISO/OSI參考模型和TCP/IP協議這部分是網絡技術的核心思想,理論性比較強,學起來有些枯燥,但不論是應對考試還是工作,都非常有用。另外,書中每章後的習題壹定要重視,可以把它們看做是模擬試題,壹定要多做。筆者當初考試完後才知道有幾道自己做錯的考試題就是書上的原題,後悔不已。
關於上機,推薦大家使用南開大學出版社的《上機考試習題集——三級C語言程序設計》,隨書附贈有光盤。書中涵蓋了所有考題類型。
實際考試中的編程題大概可分為以下三種:
1. 字符變換:將數組中的每個字符左移、右移或按其ASCII值進行加減。
2. 結構數組:把壹個產品銷售記錄按要求的順序,進行排列。
3. 數字遊戲:把數字的個位、十位、百位按要求變換。
這三類題基本上都要用到兩個for循環和幾條if語句,常需要通過壹個中間變量交換兩個變量的值。考生至少應掌握壹種數據排序方法,比如冒泡法。考題只是換湯不換藥,數據變,題型不變。只要能透徹理解和掌握編程題的思想.
上機器題目舉例:
題目1
請編制函數ReadDat()實現從文件IN.DAT中讀取1000個十進制整數到數組xx中;請編制函數Compute()分別計算出xx中偶數的個數even,奇數的平均值ave1,偶數的平均值ave2以及方差totfc的值,最後調用函數WriteDat()把結果輸出到OUT.DAT文件中。
計算方差的公式如下:
N 2
totfc=1/N∑(xx[i]-ave2)
i=1
設N為偶數的個數,xx[i]為偶數,ave2為偶數的平均值。
原始數據文件存放的格式是:每行存放10個數,並用逗號隔開。(每個數均大於0且小於等於2000)
部分源程序存在文件prog1.c中。
請勿改動主函數main()和輸出數據函數writeDat()的內容。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX 1000
int xx[MAX],odd=0,even=0;
double ave1=0.0,ave2=0.0,totfc=0.0;
void WriteDat(void);
int ReadDat(void)
{int i;
FILE *fp;
if((fp=fopen("IN.DAT","r"))==NULL) return 1;
/*********編制函數ReadDat()的部分************/
for(i=0;i<MAX;i++)
{ fscanf(fp,"%d,",&xx[i]);
if((i+1)%10==0)
fscanf(fp,"\n"); }
/*******************************************/
fclose(fp);
return 0;
}
void Compute(void)
{ int i,yy[MAX];
for(i=0;i<MAX;i++)
yy[i]=0;
for(i=0;i<MAX;i++)
if(xx[i]%2==0) { yy[even++]=xx[i]; ave2+=xx[i];}
else { odd++; ave1+=xx[i];}
if(odd==0) ave1=0;
else ave1/=odd;
if(even==0) ave2=0;
else ave2/=even;
for(i=0;i<even;i++)
totfc+=(yy[i]-ave2)*(yy[i]-ave2)/even;
}
void main()
{
int i;
for(i=0;i<MAX;i++)xx[i]=0;
if(ReadDat()){
printf("數據文件IN.DAT不能打開!\007\n");
return;
}
Compute();
printf("OVEN=%d\nAVE1=%f\nAVER2=%f\nTOTFC=%f\n",even,ave1,ave2,totfc);
WriteDat();
}
void WriteDat(void)
{
FILE *fp;
int i;
fp=fopen("OUT.DAT","w");
fprintf(fp,"%d\n%f\n%f\n%f\n",even,ave1,ave2,totfc);
fclose(fp);
}
*****************************************************************************************
題目2
無憂id 102 題提供了求素數isPrime()函數
程序prog1.c的功能是:選出100以上1000之內所有個位數字與十位數字之和被10除所得余數恰是百位數字的素數(如293)。計算並輸出上述這些素數的個數cnt以及這些素數值的和sum。請考生編寫函數countValue( )實現程序要求,最後調用函數writeDAT()把結果cnt和sum輸出到文件bc10.out中。
註意:部分源程序存放在文件prog1.c中。
請勿改動主函數main( )和輸出數據函數writeDAT()的內容。
#include <stdio.h>
int cnt, sum ;
void countValue()
{ int i,j,bw,sw,gw;
for(i=100;i<1000;i++)
{ bw=i/100; sw=i%100/10; gw=i%10;
for(j=2;j<i;j++)
if(i%j==0) break;
if((i==j) &&(gw+sw)%10==bw) { cnt++; sum+=i;}
}
}
void main()
{
cnt=sum=0;
countValue() ;
printf("素數的個數=%d\n", cnt) ;
printf("滿足條件素數值的和=%d", sum) ;
writeDAT() ;
}
writeDAT()
{
FILE *fp ;
fp = fopen("bc10.out", "w") ;
fprintf(fp, "%d\n%d\n", cnt, sum) ;
fclose(fp) ;
}
輸出結果為:
素數的個數=15
滿足條件素數值的和=6825
********************************************************************************************
題目3
某級數的前兩項A1=1,A2=1,以後各項具有如下關系:
An=An-2+2An-1(註:n-2與n-1為下標)
下列程序prog1.c的功能是:要求依次對於整數M=100,1000和10000求出對應的n值,使其滿足:Sn<M且Sn+1>=M,這裏Sn=A1+A2+...+An,並依次把n值存入數組單元b[0],b[1]和b[2]中,請編制jsValue()函數來實現此功能,最後調用函數writeDat()把數組b[]中的值輸出到out.dat文件中。
請勿改動主函數main()和寫函數writeDat()的內容。
#include <stdio.h>
int b[3];
jsValue()
{int a1=1,a2=1,a12,sn,k=2;
sn=a1+a2;
while(1)
{a12=a1+2*a2;
if(sn<100&&sn+a12>=100) b[0]=k;
if(sn<1000&&sn+a12>=1000) b[1]=k;
if(sn<10000&&sn+a12>=10000) {b[2]=k;break;}
sn=sn+a12;
a1=a2;a2=a12;
k++;
}
}
main()
{
jsValue();
printf("M=100,n=%d\nM=1000,n=%d\nM=10000,n=%d\n",b[0],b[1],b[2]);
writeDat();
}
writeDat()
{
FILE *fp;
fp=fopen("out.dat","w");
printf("%d\n%d\n%d\n",b[0],b[1],b[2]);
fprintf(fp,"%d\n%d\n%d\n",b[0],b[1],b[2]);
fclose(fp);
}
運行結果為:
M=100,n=6
M=1000,n=9
M=10000,n=11
*****************************************************************************************
題目4
函數ReadDat()實現從文件ENG.IN中讀取壹篇英文文章,存入到字符串數組xx中;請編制函數encryptChar(),按給定的替代關系對數組xx中的所有字符進行替代,仍存入數組xx的對應的位置上,最後調用函數WriteDat()把結果xx輸出到文件pS6.DAT中。
替代關系:f(p)=p*11 mod 256(p是數組中某壹個字符的ASCII值,f(p)是計算後新字符的ASCII值),如果計算後f(p)值小於等於32或f(p)對應的字符是數字0至9,則該字符不變,否則將f(p)所對應的字符進行替代。
部分源程序存在文件prog1.c中。原始數據文件存放的格式是:每行的寬度均小於80個字符。
請勿改動主函數main()、讀數據函數ReadDat()和輸出數據函數WriteDat()的內容。
#include <stdio.h>
#include <string.h>
#include <conio.h>
#include <ctype.h>
unsigned char xx[50][80];
int maxline=0;/*文章的總行數*/
int ReadDat(void);
void WriteDat(void);
void encryptChar()
{ int i,j;
for(i=0;i<maxline;i++)
for(j=0;j<strlen(xx[i]);j++)
if(xx[i][j]*11%256<=32||xx[i][j]*11%256>='0'&&xx[i][j]*11%256<='9') continue;
else xx[i][j]=xx[i][j]*11%256;
}
void main()
{
clrscr();
if(ReadDat()){
printf("數據文件ENG.IN不能打開!\n\007");
return;
}
encryptChar();
WriteDat();
}
int ReadDat(void)
{
FILE *fp;
int i=0;
unsigned char *p;
if((fp=fopen("eng.in","r"))==NULL) return 1;
while(fgets(xx[i],80,fp)!=NULL){
p=strchr(xx[i],'\n');
if(p)*p=0;
i++;
}
maxline=i;
fclose(fp);
return 0;
}
void WriteDat(void)
{
FILE *fp;
int i;
fp=fopen("ps6.dat","w");
for(i=0;i<maxline;i++){
printf("%s\n",xx[i]);
fprintf(fp,"%s\n",xx[i]);
}
fclose(fp);
}
或另壹解法:
void encryptChar()
{ int i,j,val;
for(i=0;i<maxline;i++)
for(j=0;j<strlen(xx[i]);j++)
{ val=xx[i][j]*11%256;
if(val<=32||val>='0'&&val<='9') continue;
else xx[i][j]=val;
}
}
多媒體技術的基本概念
在計算機行業裏,媒體有兩種含義:其壹是指傳播信息的載體,如語言、文字、圖像、視頻、音頻等等;其二是指存貯信息的載體,如ROM、RAM、磁帶、磁盤、光盤等,目前,主要的載體有CD-ROM、VCD、網頁等。多媒體是近幾年者出現的新生事物,正在飛速發展和完善之中。
我們所提到多媒體技術中的媒體主要是指前者,就是利用電腦把文字、圖形、影象、動畫、聲音及視頻等媒體信息都數位化,並將其整合在壹定的交互式界面上,使電腦具有交互展示不同媒體形態的能力。它極大的改變了人們獲取信息的傳統方法,符合人們在信息時代的閱讀方式。
多媒體的特點
多媒體是融合兩種以上媒體的人——機交互式信息交流和傳播媒體,具有以下特點:
1、信息載體的多樣性:相對於計算機而言的,即指信息媒體的多樣性;
2、多媒體的交互性是指用戶可以與計算機的多種信息媒體進行交互操作從而為用戶提供了更加有效地控制和使用信息的手段;
3、集成性是指以計算機為中心綜合處理多種信息媒體,它包括信息媒體的集成和處理這些媒體的設備的集成。
多媒體技術的特點:
1、能夠完成在內容上相關聯的多媒體信息的處理和傳送,如聲音、活動圖像、文本、圖形、動畫等;
2、交互式工作,而不是簡單的單向或雙向傳輸;
3、網絡聯結,即各種媒體信息是通過網絡傳輸的,而不是借助CD-ROM等存儲載體來傳遞的。
多媒體技術的應用
近年來,多媒體技術得到迅速發展,多媒體系統的應用更以極強的滲透力進入人類生活的各個領域,如遊戲、教育、檔案、圖書、娛樂、藝術、股票債券、金融交易、建築設計、家庭、通訊等等。其中,運用最多最廣泛也最早的就是電子遊戲,千萬青少年甚至成年人為之著迷,可見多媒體的威力。大商場、郵局裏是電子導購觸摸屏也是壹例,它的出現極大地方便了人們的生活。近年來又出現了教學類多媒體產品,壹對壹專業級的教授,使不少莘莘學子受益匪淺。正因為如此,許多有眼光的企業看到了這壹形式,紛紛運用其做企業宣傳之用甚至運用其交互能力加入了電子商務,自助式維護,教授使用的功能,方便了客戶,促進了銷售,提升了企業形象,擴展了商機,在銷售和形象二方面都獲益。
可以這樣說,凡是壹個有進取心的企業,都離不開這壹最新的高技術產品。首先多媒體的運用領域十分廣泛,註定了它可在各行各業生根開花。其二,隨著計算機的普及,新壹代在計算機環境中成長起來的年輕人,已經習慣了這壹形式,作為壹個有發展眼光的企業,是不會放棄這壹未來的消費主體的。其三,由於多媒體信息技術在國外已經非常普及,面對日益國際化的市場,只有跟上國際潮流。
1、多媒體介紹
通常的計算機應用系統可以處理文字、數據和圖形等信息,而多媒體計算機除了處理以上的信息種類以外,還可以綜合處理圖像、聲音、動畫、視頻等信息,開創了計算機應用的新紀元。
多媒體技術應用的意義在於:
·使計算機可以處理人類生活中最直接、最普遍的信息,從而使得計算機應用領域及功能得到了極大的擴展。
·使計算機系統的人機交互界面和手段更加友好和方便,非專業人員可以方便地使用和操作計算機。
·多媒體技術使音像技術、計算機技術和通信技術三大信息處理技術緊密地結合起來,為信息處理技術發展奠定了新的基石。
多媒體技術發展已經有多年的歷史了,到目前為止聲音、視頻、圖像壓縮方面的基礎技術已逐步成熟,並形成了產品進入市場,現在熱門的技術如模式識別、MPEG壓縮技術、虛擬現實技術正在逐步走向成熟,相信不久也會進入市場。
2、多媒體技術
多媒體技術涉及面相當廣泛,主要包括:
·音頻技術:音頻采樣、壓縮、合成及處理、語音識別等。
·視頻技術:視頻數字化及處理。
·圖像技術:圖像處理、圖像、圖形動態生成。
·圖像壓縮技術:圖像壓縮、動態視頻壓縮。
·通信技術:語音、視頻、圖像的傳輸。
·標準化:多媒體標準化。
下面分別介紹主要多媒體技術的發展狀況。
2.1音頻技術
音頻技術發展較早,幾年前壹些技術已經成熟並產品化,甚至進入了家庭,如數字音響。音頻技術主要包括四個方面:音頻數字化、語音處理、語音合成及語音識別。
音頻數字化目前是較為成熟的技術,多媒體聲卡就是采用此技術而設計的,數字音響也是采用了此技術取代傳統的模擬方式而達到了理想的音響效果。音頻采樣包括兩個重要的參數即采樣頻率和采樣數據位數。采樣頻率即對聲音每秒鐘采樣的次數,人耳聽覺上限在20KHz左右,目前常用的采樣頻率為11KHz,22KHz和44KHz幾種。采樣頻率越高音質越好,存貯數據量越大。CD唱片采樣頻率為44.1KHz,達到了目前最好的聽覺效果。采樣數據位數即每個采樣點的數據表示範圍,目前常用的有8位、12位和16位三種。不同的采樣數據位數決定了不同的音質,采樣位數越高,存貯數據量越大,音質也越好。CD唱片采用了雙聲道16位采樣,采樣頻率為44.1KHz,因而達到了專業級水平。
音頻處理包括範圍較廣,但主要方面集中在音頻壓縮上,目前最新的MPEG語音壓縮算法可將聲音壓縮六倍。語音合成是指將正文合成為語言播放,目前國外幾種主要語音的合成水平均已到實用階段,漢語合成幾年來也有突飛猛進的發展,實驗系統正在運行。在音頻技術中難度最大最吸引人的技術當屬語音識別,雖然目前只是處於實驗研究階段,但是廣闊的應用前景使之壹直成為研究關註的熱點之壹。
2.2視頻技術
雖然視頻技術發展的時間較短,但是產品應用範圍已經很大,與MPEG壓縮技術結合的產品已開始進入家庭。視頻技術包括視頻數字化和視頻編碼技術兩個方面。
視頻數字化是將模擬視頻信號經模數轉換和彩色空間變換轉為計算機可處理的數字信號,使得計算機可以顯示和處理視頻信號。目前采樣格式有兩種:Y:U:V4:1:1和Y:U:V4:2:2,前者是早期產品采用的主要格式,Y:U:V4:2:2格式使得色度信號采樣增加了壹倍,視頻數字化後的色彩、清晰度及穩定性有了明顯的改善,是下壹代產品的發展方向。
視頻編碼技術是將數字化的視頻信號經過編碼成為電視信號,從而可以錄制到錄像帶中或在電視上播放。對於不同的應用環境有不同的技術可以采用。從低檔的遊戲機到電視臺廣播級的編碼技術都已成熟。
2.3圖像壓縮技術
圖像壓縮壹直是技術熱點之壹,它的潛在價值相當大,是計算機處理圖像和視頻以及網絡傳輸的重要基礎,目前ISO制訂了兩個壓縮標準即JPEG和MPEG。JPEG是靜態圖像的壓縮標準,適用於連續色調彩色或灰度圖像。它包括兩部分:壹是基於DPCM(空間線性預測)技術的無失真編碼,壹是基於DCT(離散余弦變換)和哈夫曼編碼的有失真算法。前者圖像壓縮無失真,但是壓縮比很小,目前主要應用的是後壹種算法,圖像有損失但壓縮比很大,壓縮20倍左右時基本看不出失真。
MJPEG是指MotionJPEG,即按照25幀/秒速度使用JPEG算法壓縮視頻信號,完成動態視頻的壓縮。
MPEG算法是適用於動態視頻的壓縮算法,它除了對單幅圖像進行編碼以外還利用圖像序列中的相關原則,將幀間的冗余去掉,這樣大大提高了圖像的壓縮比例。通常保持較高的圖像質量而壓縮比高達100倍。MPEG算法的缺點是壓縮算法復雜,實現很困難。
3、多媒體產品介紹
目前市場上的多媒體產品較多,硬件產品主要包括以下幾類:聲卡、語音合成卡、CD-ROM、視頻卡、視頻編碼卡、靜態圖像壓縮卡、動態圖像壓縮卡等,軟件產品包括多媒體應用系統制作工具、多媒體信息咨詢系統、多媒體數據庫等。應用時根據不同的要求選擇合適的產品。
3.1多媒體音頻產品
聲卡是目前多媒體產品中市場最大的產品之壹,它的主要功能是將聲音采樣存入計算機,或將數字化聲音轉為模擬信號播放,通常它還有MIDI音樂合成器和CD-ROM控制器,高檔產品還具有DSP裝置。聲卡的典型產品為聲霸卡系列。
語音合成卡方面國內已研制出漢語合成卡,它可將正文合成語音而播放。語音識別目前還沒有相應成熟產品。
CD-ROM采用與激光唱片壹樣的技術,可將聲音、圖像等信息存入光盤用於訪問。它的容量大,使用中無磨損,已成為多媒體的重要產品之壹。目前MO技術的發展已產生了可讀寫的高速光盤驅動器,應用前景十分廣闊。現在最大的應用市場是光盤節目(Title)。
3.2多媒體視頻及壓縮產品
視頻卡可以將電視視頻信號轉換為數字信號,與VGA信號疊加後在VGA上顯示。同時可以捕捉視頻圖像存盤或小窗口半動態連續的工具,使應用開發擺脫程序設計以及眾多多媒體產品的編程問題。MIS(信息管理)系統壹直是應用相當廣泛的計算機應用系統。多媒體技術的發展已使多媒體MIS系統的開發成為現實,目前多媒可以方便地制作出功能強大的多媒體應用系統而無需寫程序。
業如交通旅遊,到專業領域的信息咨詢等方面應用前景也同樣相當廣闊。