欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      《程序設(shè)計實踐》課程實驗內(nèi)容(精選合集)

      時間:2019-05-12 06:51:01下載本文作者:會員上傳
      簡介:寫寫幫文庫小編為你整理了多篇相關(guān)的《《程序設(shè)計實踐》課程實驗內(nèi)容》,但愿對你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫還可以找到更多《《程序設(shè)計實踐》課程實驗內(nèi)容》。

      第一篇:《程序設(shè)計實踐》課程實驗內(nèi)容

      《程序設(shè)計實踐》實驗內(nèi)容

      實驗一函數(shù)與程序結(jié)構(gòu)(1-2)

      1.實驗指導(dǎo)書P123:

      一、調(diào)試示例,掌握采用“文件包含”和“工程文件”實現(xiàn)多文件模塊程序的兩種方法

      2.實驗指導(dǎo)書P132:編程題2,5,7,8

      實驗二 指針進(jìn)階(1-2)

      指針進(jìn)階根據(jù)數(shù)據(jù)結(jié)構(gòu)中的內(nèi)容做以下要求

      要求會使用指針數(shù)組,鏈表等內(nèi)容

      實驗題目

      1、實驗指導(dǎo)書P138:編程題2,32、實驗指導(dǎo)書P140:

      一、調(diào)試示例

      3、實驗指導(dǎo)書P145:編程題1,2,3實驗三 文件(1-2)

      文件實驗指導(dǎo)書中主要涉及普通數(shù)據(jù)的寫入和結(jié)構(gòu)體類型數(shù)據(jù)的寫入,我們重點強(qiáng)調(diào)一下結(jié)構(gòu)體類型數(shù)據(jù)的寫入,因此布置集中在結(jié)構(gòu)體類型數(shù)據(jù)的題目 題目中沒有如何將鏈表寫入文件中,建議補充上去,作為題目4實現(xiàn)吧!

      1、實驗指導(dǎo)書P148:改錯題

      2、實驗指導(dǎo)書P150:編程題3,7

      實驗四綜合設(shè)計

      標(biāo)準(zhǔn)化考試系統(tǒng)的設(shè)計與實現(xiàn)

      開發(fā)出一個標(biāo)準(zhǔn)化考試系統(tǒng),所謂標(biāo)準(zhǔn)化考試系統(tǒng)即僅支持選擇題,也是為方便自動批改的功能的實現(xiàn)。要求實現(xiàn)以下基本功能:

      (1)提供給教師添加試題的功能(試題信息用文件保存)--輸入與存儲

      (2)試題的整體瀏覽功能(按照知識點、章節(jié)、分頁顯示等)--輸出

      (3)能夠抽取試題組合成一套試卷(組卷的策略:可以是隨機(jī)的,當(dāng)然若教師添加的試題時有知識點、章節(jié)等信息,亦可以實現(xiàn)按照一定的組卷策略實現(xiàn)出題:如每個知識點抽取若干題目,最終組合一套試卷)

      (4)教師實現(xiàn)題目信息的管理,比如刪除、修改等

      (5)查詢功能(至少一種查詢方式)、排序功能(至少一種排序方式)

      擴(kuò)展功能:可以按照自己的程度進(jìn)行擴(kuò)展。比如(1)簡單的權(quán)限處理(2)成績報表打印功能(3)甚至根據(jù)自己情況,可以加上學(xué)生信息和考試成績信息的管理,并擴(kuò)充為廣義的考試系統(tǒng)。即學(xué)生輸入賬號密碼登陸,進(jìn)行考試,交卷后顯示成績;(4)模糊查詢(5)綜合查詢(6)數(shù)據(jù)加密、統(tǒng)計、分析等功能。

      特別說明:盡可能地運用自己已經(jīng)學(xué)習(xí)過的數(shù)據(jù)結(jié)構(gòu)的知識去展現(xiàn)。

      第二篇:《程序設(shè)計實踐》課程實驗內(nèi)容

      《程序設(shè)計實踐》實驗內(nèi)容

      實驗一函數(shù)與程序結(jié)構(gòu)(1)

      實驗一函數(shù)與程序結(jié)構(gòu)(2)

      1.實驗指導(dǎo)書P123:

      一、調(diào)試示例,掌握采用“文件包含”和“工程文件”實現(xiàn)多文件模塊程序的兩種方法

      2.實驗指導(dǎo)書P132:編程題5,7,8

      實驗二 指針進(jìn)階(1)

      實驗二 指針進(jìn)階(2)

      指針進(jìn)階根據(jù)數(shù)據(jù)結(jié)構(gòu)中的內(nèi)容做以下要求

      要求會使用指針數(shù)組,鏈表等內(nèi)容

      實驗題目

      1、實驗指導(dǎo)書P138:編程題2,32、實驗指導(dǎo)書P140:

      一、調(diào)試示例

      3、實驗指導(dǎo)書P145:編程題1,2,3實驗三 文件(1)

      實驗三 文件(2)

      文件實驗指導(dǎo)書中主要涉及普通數(shù)據(jù)的寫入和結(jié)構(gòu)體類型數(shù)據(jù)的寫入,我們重點強(qiáng)調(diào)一下結(jié)構(gòu)體類型數(shù)據(jù)的寫入,因此布置集中在結(jié)構(gòu)體類型數(shù)據(jù)的題目 題目中沒有如何將鏈表寫入文件中,建議補充上去,作為題目4實現(xiàn)吧!

      1、實驗指導(dǎo)書P148:改錯題

      2、實驗指導(dǎo)書P150:編程題3,7

      實驗四綜合設(shè)計

      以課程報告任務(wù)書要求為準(zhǔn):開發(fā)一個圖書信息管理系統(tǒng),圖書信息包括:圖書編號、書名、作者、出版社、類別、出版時間、價格等基本信息(也可以根據(jù)自己情況進(jìn)行擴(kuò)充,比如是否借出、庫存量等)。使之能提供以下基本功能:

      (1)圖書信息錄入功能(圖書信息用文件保存)--輸入?

      (2)圖書信息瀏覽功能--輸出

      (3)查詢功能(至少一種查詢方式)、排序功能(至少一種排序方式):?①按書名查詢 ②按作者名查詢③ 按照價錢排序 ④按出版時間排序等等

      (4)圖書信息的刪除與修改

      按照功能模塊大致劃分,也可以細(xì)化:輸入、輸出、查詢、統(tǒng)計、排序、插入、刪除等功能,學(xué)生根據(jù)自己的情況可以提出更好的功能,要求學(xué)生給出調(diào)試過程抓圖、知識點總結(jié)、源代碼,到時候回答問題相結(jié)合給成績。

      第三篇:程序設(shè)計課程教學(xué)方法的探討和實踐

      程序設(shè)計課程教學(xué)方法的探討和實踐

      高等學(xué)校的根本任務(wù)是培養(yǎng)人才,人才培養(yǎng)是辦學(xué)的核心問題。在高等教育大眾化、國際化的趨勢中,高等學(xué)校辦學(xué)的競爭日益加劇。教學(xué)質(zhì)量將決定著一所學(xué)校的生存和發(fā)展。因此,教學(xué)質(zhì)量是教育者、管理者不可不思、不可不謀、不可不為的重要任務(wù)。

      隨著經(jīng)濟(jì)的發(fā)展和科技的進(jìn)步,對人才素質(zhì)提出了更高的要求,在人才培養(yǎng)上,各高校都在夯實基礎(chǔ)的同時重視能力的培養(yǎng),開始實施理論教學(xué)和實踐的配套改革,進(jìn)一步加強(qiáng)實踐教學(xué),加強(qiáng)學(xué)生實踐能力、創(chuàng)新能力的培養(yǎng)。但是,對不同層次的高校而言,教育培養(yǎng)的對象雖然都是大學(xué)生,但各校均有自己的特性,在教學(xué)方法上,有其共性,也具有特殊性,互相之間,只能借鑒,不能照搬,而需要根據(jù)自己的情況來制定切合實際的教學(xué)方法。本文是以某高校計算機(jī)專業(yè)的“程序設(shè)計”課程為對象,探討教學(xué)方法的改進(jìn)和實踐。

      科學(xué)的教學(xué)方法是通向成功的橋梁。古人曰:“授之以魚,供一飯之需;教之以漁,終身受用不盡?!笔谥苑椒?培養(yǎng)學(xué)生的自學(xué)能力,是實現(xiàn)“教是為了不教”的正確途徑。教學(xué)方法的改進(jìn),首先要改傳統(tǒng)的單純灌輸式教學(xué)法為啟發(fā)式和探究式的教學(xué)法,教師提出問題,激發(fā)學(xué)生積極思維,主動思考,發(fā)現(xiàn)未知,發(fā)展智力,達(dá)到由此及彼、由表及里、聞一知

      十、舉一反三的目的。教師不僅要注意培養(yǎng)學(xué)生的“智商”,更要發(fā)展學(xué)生的“情商”,即非智力因素,充分調(diào)動學(xué)生學(xué)習(xí)的需要、興趣、動機(jī),引導(dǎo)學(xué)生進(jìn)行科學(xué)的思維,包括形式邏輯思維、形象思維、靈感思維等,以培養(yǎng)學(xué)生獨立思考問題、提出問題和解決問題的能力,即所謂“既要授之以魚,更要授之以漁”。教師可以假設(shè)一種以案例和問題為核心的情景和背景,激發(fā)學(xué)生探究問題的興趣,通過選擇與確定問題,討論與提出設(shè)想,實踐與尋求結(jié)果,驗證與得出結(jié)論,培養(yǎng)學(xué)生獨立思考能力、研究能力和創(chuàng)新能力,形成一種討論式、開放式的現(xiàn)代教學(xué)方法,這就體現(xiàn)了大學(xué)教學(xué)的創(chuàng)新精神和平等合作精神,這種方法稱為程序案例教學(xué)法或程序驅(qū)動教學(xué)法。這種方法要求教師精心備課,根據(jù)學(xué)生的知識水平和能力,創(chuàng)設(shè)實用的程序案例,引導(dǎo)過程中的問題情境,幫助學(xué)生激發(fā)創(chuàng)新意識,促進(jìn)學(xué)生質(zhì)疑,培養(yǎng)學(xué)習(xí)興趣。在課堂上,要努力營造民主、寬松、和諧的學(xué)習(xí)環(huán)境。

      現(xiàn)今普遍的程序設(shè)計教學(xué)方法都是從語法入手,詳細(xì)地講解各種編程語言的語法,而涉及的程序案例卻很少,雖然有一些例題,但很簡單,距離解決實際問題的復(fù)雜度相差甚遠(yuǎn),學(xué)生在學(xué)習(xí)之后,常常缺乏動手能力和解決問題的能力,無法構(gòu)建程序設(shè)計的思維,而且機(jī)械式的記憶語法規(guī)則往往是枯燥無味的,很難激發(fā)學(xué)習(xí)的興趣。以“C++程序設(shè)計”為例,針對各種語法規(guī)則,創(chuàng)建16個實用的程序案例:1)庫存清單應(yīng)用程序(變量,輸入);2)工資計算應(yīng)用程序(算法,偽代碼);3)牙科付費應(yīng)用程序(邏輯運算符,字符串);4)購車還貸應(yīng)用程序(WHILE循環(huán)語句);5)計算班級平均成績應(yīng)用程序(標(biāo)記控制循環(huán));6)利息計算應(yīng)用程序(FOR循環(huán)語句和數(shù)學(xué)函數(shù));7)計算個人所得稅應(yīng)用程序(多分支選擇語句SWITCH);8)捐款管理應(yīng)用程序(作用域與函數(shù)原型);9)游戲應(yīng)用程序(生成隨機(jī)數(shù)和枚舉);10)薪金統(tǒng)計應(yīng)用程序(一維數(shù)組);11)學(xué)生成績統(tǒng)計應(yīng)用程序(二維數(shù)組);12)數(shù)字時鐘應(yīng)用程序(自定義類和對象);13)購物清單管理應(yīng)用程序(指針,引用及動態(tài)數(shù)據(jù)結(jié)構(gòu));14)工資表應(yīng)用程序(繼承與多態(tài)性);15)便箋信息應(yīng)用程序(順序訪問文件);16)屏幕抓取應(yīng)用程序(字符串處理)。

      首先教師給出程序案例的框架結(jié)構(gòu),學(xué)生經(jīng)過思考,選擇合適的算法和指令語句,經(jīng)互相討論,完善和豐富程序案例,然后上機(jī)調(diào)試,通過運行來檢驗結(jié)果。程序案例的教學(xué)法是從興趣入手,首先給人們編程的樂趣,繼而帶領(lǐng)學(xué)生進(jìn)入程序的天地,提高探索的欲望,使學(xué)習(xí)編程變得生動而有趣。經(jīng)過對計算機(jī)科學(xué)專業(yè)198名學(xué)生的問卷調(diào)查表明,其中194人贊成這種教學(xué)方法,在反饋的意見中,認(rèn)為這種方法效果很好,能夠很容易接受。在教學(xué)過程中既學(xué)到應(yīng)得的知識,又感受到編程的快樂;既感受到成功的喜悅,又得到探索的樂趣??己说某煽儽砻?85%的學(xué)生達(dá)到預(yù)期的效果,其中有20%的學(xué)生達(dá)到優(yōu)秀的水平,雖然,教學(xué)實踐取得明顯的效果,但仍有15%的學(xué)生尋求適合的解決方法。尚未達(dá)到預(yù)期的效果,這表明仍有一些問題尚待解決,今后將進(jìn)一步研究不足之處。

      (作者單位:山東省濰坊科技學(xué)院)

      第四篇:C高級語言程序設(shè)計實驗內(nèi)容

      實驗一 C語言的運行環(huán)境和基礎(chǔ)知識

      一、實驗?zāi)康?/p>

      1.掌握c程序設(shè)計編程環(huán)境visual c++,掌握運行一個c程序設(shè)計的基本步驟,包括編輯、編譯、連接和運行。

      2.熟練掌握Visual C++ 6.0環(huán)境運行的C程序上機(jī)步驟 3.數(shù)據(jù)類型、常量和變量的使用 4.表達(dá)式及運算符的應(yīng)用 5.C程序的調(diào)試。

      二、實驗內(nèi)容和源程序清單、測試數(shù)據(jù)、結(jié)果。

      1、最簡單的C程序。(要求文件名:1_1.c)#include int main(){

      printf(“Hello world!n”);return 0;}

      2、一個具有致命錯誤的程序,請修改。(要求文件名:1_2.c)#include int main(){ int i scanf(“%d”,i);

      printf(“i=%dn”,i);

      return 0;}

      3、一個具有警告語法錯的程序。(要求文件名:1_3.c)#include int main(){ int i=9,j,s;

      s=i+j;printf(“s=%dn”,s);return 0;}

      4、寫出一個程序測試整型、字符型數(shù)據(jù)表示,并輸出以驗證是否正確。(要求文件名:1_4.c)#include int main(){

      int x=010,y=10,z=0x10;

      /* 整型數(shù)據(jù)表示 */ char c1='M',c2='x4d',c3='115',c4=77,c;

      /* 字符型數(shù)據(jù)表示 */

      /* 整型數(shù)據(jù)的輸出 */ printf(“x=%o,y=%d,z=%xn”,x,y,z);

      /* 數(shù)據(jù)以原進(jìn)制輸出,注意是否有前導(dǎo)0或0x */ printf(“x=%d,y=%d,z=%dn”,x,y,z);

      /* 數(shù)據(jù)以10進(jìn)制輸出,換算到10進(jìn)制,結(jié)果對嗎? */ /* 字符型數(shù)據(jù)的輸出 */ printf(“c1=%c,c2=%x,c3=%o,c4=%dn”,c1,c2,c3,c4);

      /* 數(shù)據(jù)以原進(jìn)制輸出,注意是否有前導(dǎo)0或0x ?*/ printf(“c1=%c,c2=%c,c3=%c,c4=%cn”,c1,c2,c3,c4);

      /* 結(jié)果都是什么字符?,也就是說字符可以自由的表示成幾種形式? */ printf(“c1=%d,c2=%d,c3=%d,c4=%dn”,c1,c2,c3,c4);

      /* 看看這些字符的10進(jìn)制ASCII碼,哦,ASCII碼一樣,同一種字符 */

      /* 字符型數(shù)據(jù)參與算術(shù)運算 */ c=c1+32;

      /* 字符怎么參加了數(shù)學(xué)運算,哦,是字符對應(yīng)的ASCII碼-整數(shù) /* 參與數(shù)學(xué)運算;結(jié)果還是一個整數(shù)-另外一個字符的ASCII碼 */ printf(“c=%c,c=%dn”,c,c);

      /* 看看這個字符是什么?哇,'M'+32='m'了,看看ASCII碼表,原來如此!*/ return 0;} 參考結(jié)果: x=10,y=10,z=10 x=8,y=10,z=16 c1=M,c2=4d,c3=115,c4=77 c1=M,c2=M,c3=M,c4=M c1=77,c2=77,c3=77,c4=77 c=m,c=109

      三、實驗報告要求

      將題目:2和4的源程序、運行結(jié)果,以及實驗中遇到的問題和解決問題的方法,以及實驗過程中的心得體會,寫在實驗報告上。2

      實驗二

      順序結(jié)構(gòu)程序設(shè)計

      一、實驗?zāi)康模?/p>

      1.掌握順序結(jié)構(gòu)程序設(shè)計 2.掌握賦值語句的用法

      3.熟練地進(jìn)行數(shù)據(jù)輸入和輸出

      二、實驗內(nèi)容和源程序清單、測試數(shù)據(jù)、結(jié)果。

      1、已知:a=2,b=3,x=3.9,y=2.3(a,b整型,x,y浮點),計算算術(shù)表達(dá)式(float)(a+b)/2+(int)x%(int)y的值。試編程上機(jī)驗證。(要求文件名:2_1.c)提示編程要點:

      (1)先判斷結(jié)果值類型,可設(shè)置一個此類型的變量用于記錄表達(dá)式結(jié)果,本例用r存放結(jié)果;(2)程序先給幾個變量賦初值,然后將表達(dá)式賦值給變量r;(3)最后打印變量r的值就是表達(dá)式的值。參考程序:

      #include int main(){

      int a=2,b=3;float x=3.9,y=2.3;

      float r;

      r=(float)(a+b)/2+(int)x%(int)y;

      printf(“%fn”,r);return 0;} 參考結(jié)果: 3.500000 思考:為什么是這個結(jié)果?

      2、分析下面程序結(jié)果,并上機(jī)驗證。(要求文件名:2_2.c)#include int main(){

      int i,j,m,n;

      i=8;

      j=10;

      m=++i;

      n=j++;

      printf(“i=%d, j=%d, m=%d, n=%dn”,i,j,m,n);

      return 0;} 參考結(jié)果:

      i=9, j=11, m=9, n=10

      3、用下面的scanf函數(shù)輸入數(shù)據(jù),使a=3,b=7,x=8.5,y=71.82,c1=’A’,c2=’a’。從鍵盤如何輸入?(要求文件名:2_3.c)#include int main(){ int a,b;float x,y;char c1,c2;scanf(“a=%d b=%d”,&a,&b);scanf(“%f %e”,&x,&y);scanf(“%c%c”,&c1,&c2);printf(“a=%d,b=%d,x=%f,y=%f,c1=%c,c2=%cn”,a,b,x,y,c1,c2);return 0;}

      4、編程序,用getchar函數(shù)讀入兩個字符給c1、c2,然后分別用 putchar函數(shù)和 printf函數(shù)輸出這兩個字符。(要求文件名:2_4.c)參考程序:

      #include int main(){ char c1,c2;c1=getchar();c2=getchar();putchar(c1);putchar(c2);printf(“n%c,%c”,c1,c2);return 0;}

      三、實驗報告要求

      將題目:1和3的源程序、運行結(jié)果,以及實驗中遇到的問題和解決問題的方法,以及實驗過程中的心得體會,寫在實驗報告上。

      實驗三

      選擇結(jié)構(gòu)程序設(shè)計

      一、實驗?zāi)康?/p>

      1.2.3.4.了解C語句表示邏輯量的方法(以0代表“假”以1代表“真”);

      學(xué)會正確使用邏輯運算符和邏輯表達(dá)式;

      熟練掌握if語句和switch語句;

      熟練掌握switch語句中break語句的作用。

      二、實驗內(nèi)容和源程序清單、測試數(shù)據(jù)、結(jié)果。

      (1)掌握各種格式轉(zhuǎn)換符的正確使用方法,輸出結(jié)果。(要求文件名:3_1.c)#include int main(){ int a=5,b=7;float x=67.8564,y=-789.124;char c='A';long n=1234567;unsigned u=65535;printf(“%d%dn”,a,b);printf(“%3d%3dn”,a,b);printf(“%f,%fn”,x,y);printf(“%-10f,%-10fn”,x,y);printf(“%8.2f,%8.2f,%.4f,%.4f,%3f,%3fn”,x,y,x,y,x,y);printf(“%e,%10.2en”,x,y);printf(“%c,%d,%o,%xn”,c,c,c,c);printf(“%ld,%lo,%xn”,n,n,n);printf(“%u,%o,%x,%dn”,u,u,u,u);printf(“%s,%5.3sn”,“COMPUTER”,“COMPUTER”);return 0;}

      (2)1.從鍵盤任意輸入一個年號,判斷它是否是閏年。若是閏年,輸出“Yes”,否則輸出“No”。已知符合下列條件之一者是閏年:(1)能被4整除,但不能被100整除;(2)能被400整除。(要求文件名:3_2.c)參考程序:

      #include int main(){

      int year, flag;printf(“Enter year:”);scanf(“%d”, &year);if(year%4==0&&year%100!=0 || year%400==0)

      {

      flag = 1;

      } else

      {

      flag = 0;

      } if(flag)

      {

      printf(“Yesn”);

      } else

      {

      printf(“Non”);} return 0;}(3)編程序,并給出程序的運行結(jié)果,注意思考case中break的用法以及為什么是這樣的結(jié)果?(要求文件名:3_3.c)參考程序:

      #include int main(){

      int x=2,y=1,a=1,b=2;switch(x){ case 2:

      switch(y)

      {

      case 1:a++;

      case 2:b++;break;

      }

      case 3:a++;b++;break;} printf(“%d %dn”,a,b);return 0;}(4)編程序:輸入4個整數(shù),要求按由小到大的順序輸出。(要求文件名:3_4.c)參考程序:

      #include int main(){

      int t,a,b,c,d;scanf(“%d,%d,%d,%d”,&a,&b,&c,&d);printf(“a=%d,b=%d,c=%d,d=%dn”,a,b,c,d);if(a>b){t=a;a=b;b=t;} if(a>c){t=a;a=c;c=t;} if(a>d){t=a;a=d;d=t;} if(b>c){t=b;b=c;c=t;} if(b>d){t=b;b=d;d=t;} if(c>d){t=c;c=d;d=t;} printf(“%d,%d,%d,%dn”,a,b,c,d);return 0;}

      三、實驗報告要求

      將題目:2和3的源程序、運行結(jié)果,以及實驗中遇到的問題和解決問題的方法,以及實驗過程中的心得體會,寫在實驗報告上。

      實驗四 循環(huán)結(jié)構(gòu)程序設(shè)計

      一、實驗?zāi)康?/p>

      1.2.3.4.5.熟練使用while、for語句實現(xiàn)循環(huán)程序設(shè)計

      理解循環(huán)條件和循環(huán)體,以及while、for語句的相同及不同之處 掌握嵌套循環(huán)程序設(shè)計

      熟練掌握下拉菜單Debug的程序調(diào)試方法 掌握break和continue的用法

      二、實驗內(nèi)容和源程序清單、測試數(shù)據(jù)、結(jié)果。

      (1)輸入兩個正整數(shù)m和n,求它們的最大公約數(shù)和最小公倍數(shù)。(要求文件名:4_1.c)參考程序:

      #include int main(){ int x,y,i,m,max;scanf(“%d,%d”,&x,&y);if(x>y)

      m=x;else

      m=y;for(i=1;i<=m;i++){

      if((x%i==0)&&(y%i==0))

      max=i;} printf(“%dn”,max);printf(“%dn”,x*y/max);return 0;}(2)從鍵盤輸入一個 int 類型的正整數(shù),輸出它的所有因子。如輸入6,輸出1,2,3;輸入20,輸出1,2,4,5,10。(要求文件名:4_2.c)參考程序:

      #include int main(){ int x,i;scanf(“%d”,&x);for(i=1;i

      printf(“%dn”,i);} return 0;}(3)輸入一行字符,分別統(tǒng)計出其中的英文字母、空格、數(shù)字和其他字符的個數(shù)。(要求文件名:4_3.c)參考程序:

      #include #include int main(){ char c;int letter=0,digit=0,space=0,other=0;printf(“please input string:”);while((c=getchar())!='n'){

      if(c>='a'&&c<='z'||c>='A'&&c<='Z')

      letter++;

      else if(c>='0'&&c<='9')

      digit++;

      else if(c==' ')

      space++;

      else other++;} printf(“%d,%d,%d,%dn”,letter,digit,space,other);return 0;}(4)編程計算1?11111??????的值。(要求文件名:4_4.c)23499100參考程序:

      #include int main(){

      int sign = 1;double sum = 1;double deno = 2;double term = 1;while(deno<=100){

      sign =(-1)*sign;

      term = sign*(1/deno);

      sum = sum+term;

      deno++;} printf(“%lfn”,sum);return 0;}

      三、實驗報告要求

      將題目:3和4的源程序、運行結(jié)果,以及實驗中遇到的問題和解決問題的方法,以及實驗過程中的心得體會,寫在實驗報告上。

      實驗五

      數(shù)組

      一、實驗?zāi)康?/p>

      1.掌握一維、二維數(shù)組的定義、引用、應(yīng)用 2.掌握字符數(shù)組的定義、引用、應(yīng)用 3.掌握字符串處理函數(shù)

      二、實驗內(nèi)容和源程序清單、測試數(shù)據(jù)、結(jié)果。

      (1)給出下面程序的結(jié)果,思考為什么?(要求文件名:5_1.c)#include int main(){

      char a[]=“Chinaren”,b[]=“Tiananmen”;char *p1,*p2;

      int k=0;p1=a;

      p2=b;for(k=0;k<10;k++)

      if(*(p1+k)==*(p2+k))

      printf(“%c”,*(p1+k));printf(“n”);return 0;}(2)有一個3×4的矩陣,要求輸出其中值最大的元素的值,以及它的行號和列號。(要求文件名:5_2.c)參考程序: #define M 3 #define N 4

      #include int main(){ int max,i,j,r,c;

      int a[M][N]={{123,94,-10,218},{3,9,10,-83},{45,16,44,-99}};

      max=a[0][0];

      for(i=0;i

      for(j=0;j

      if(a[i][j]>max)

      {

      max= a[i][j];

      r=i;

      c=j;

      }

      printf(“max=%d , row =%d , colum=%d n”,max , r, c);

      return 0;}(3)編程序用于讀入10個字符串,然后找出最大的字符串并打印。(要求文件名:5_3.c)參考程序:

      #include #include main(){

      char str[10][80],maxstring[80];

      int i;printf(“Enter ten strings:n”);for(i=0;i<10;i++)

      {

      scanf(“%s”, str[i]);} strcpy(maxstring, str[0]);

      for(i=1;i<10;i++)

      {

      if(strcmp(str[i],maxstring)>0)

      {

      strcpy(maxstring,str[i]);

      } } printf(“The max string is:%sn”,maxstring);}(4)給出下面程序的運行結(jié)果,思考為什么?(要求文件名:5_4.c)#include int main(){

      int a[4][4]={{1,2,-3,-4},{0,-12,-13,14},{-21,23,0,-24},{-31,32,-33,0}};int i,j,s=0;for(i=0;i<4;i++){

      for(j=0;j<4;j++)

      {

      if(a[i][j]<0)continue;

      if(a[i][j]==0)break;

      s+=a[i][j];

      } } printf(“%dn”,s);return 0;}(5)測試二維數(shù)組的各個地址值,結(jié)果是什么,思考原因。(要求文件名:5_5.c)#include #define M 3 #define N 4 int main(){

      int a[M][N];printf(“%xn”,a);printf(“%xn”,a[0]);for(int i=0;i

      printf(“%x,”,&a[i][j]);

      return 0;}

      三、實驗報告要求

      將題目:2和3的源程序、運行結(jié)果,以及實驗中遇到的問題和解決問題的方法,以及實驗過程中的心得體會,寫在實驗報告上。

      實驗六

      函數(shù)

      一、實驗?zāi)康?/p>

      1.掌握C語言函數(shù)的定義方法、函數(shù)的聲明及函數(shù)的調(diào)用方法。

      2.了解主調(diào)函數(shù)和被調(diào)函數(shù)之間的參數(shù)傳遞方式。

      二、實驗內(nèi)容和源程序清單、測試數(shù)據(jù)、結(jié)果。

      (1)給出下面程序的結(jié)果,思考為什么?(要求文件名:6_1.c)#include void swap(int x,int y){ int t;t=x;x=y;y=t;printf(“%d %d ”,x,y);} int main(){ int a=5,b=7;swap(a,b);printf(“%d %dn ”,a,b);return 0;}(2)寫一個判別素數(shù)的函數(shù),在主函數(shù)輸入一個整數(shù),輸出是否素數(shù)的信息。(要求文件名:6_2.c)參考程序:

      #include int prime(int number);int main(){ int number;printf(“please input a num:n”);scanf(“%d”,&number);if(prime(number))

      printf(“%d is prime!”,number);else

      printf(“%d is not!”,number);return 0;} int prime(int number)/*此函數(shù)用于判別素數(shù)*/ { int flag=1,n;for(n=2;n

      if(number%n==0)

      flag=0;return(flag);}(3)求兩個整數(shù)的最大公約數(shù)和最小公倍數(shù)。寫一個函數(shù)求最大公約數(shù)。(要求文件名:6_3.c)參考程序:

      #include int max_ys(int x,int y);int main(){ int x,y,i,max;scanf(“%d,%d”,&x,&y);max=max_ys(x,y);printf(“%dn”,max);printf(“%dn”,x*y/max);return 0;} int max_ys(int x,int y){ int i,m,max;if(x>y)m=x;else m=y;for(i=1;i<=m;i++){ if((x%i==0)&&(y%i==0))

      max=i;} return(max);}(4)寫一函數(shù),輸入一個十六進(jìn)制數(shù),輸出相應(yīng)的十進(jìn)制數(shù)。(要求文件名:6_4.c)參考程序:

      #include #include #include long change(char shu[]){ long i,k,sum=0;k=strlen(shu)-1;for(i=k;i>=0;i--)

      if(shu[i]>=48&&shu[i]<=57)

      sum=sum+(shu[i]-48)*pow(16,k-i);

      else if(shu[i]>=65&&shu[i]<=70)

      sum=sum+(shu[i]-55)*pow(16,k-i);

      else if(shu[i]>=97&&shu[i]<=102)

      sum=sum+(shu[i]-87)*pow(16,k-i);

      else

      {

      printf(“error!n”);

      break;

      } return sum;} int main(){ char str[100];long s;gets(str);s=change(str);if(!s)

      printf(“The number is not oxn”);else

      printf(“change:%ldn”,s);return 0;}

      三、實驗報告要求

      將題目:3和4的源程序、運行結(jié)果,以及實驗中遇到的問題和解決問題的方法,以及實驗過程中的心得體會,寫在實驗報告上。

      實驗七

      指針

      一、實驗?zāi)康?/p>

      1.掌握指針變量的定義與引用。

      2.熟練使用函數(shù)指針、數(shù)組指針、字符串指針編寫應(yīng)用程序。

      二、實驗內(nèi)容和源程序清單、測試數(shù)據(jù)、結(jié)果。

      (1)輸入三個整數(shù),按由小到大的順序輸出,然后將程序改為:輸入三個字符串,按由小到大順序輸出。參考程序:(輸入三個整數(shù),按由小到大的順序輸出)(要求文件名:7_0.c)#include void swap(int *p1,int *p2);int main(){ int n1,n2,n3,*p1,*p2,*p3;scanf(“%d,%d,%d”,&n1,&n2,&n3);p1=&n1;p2=&n2;p3=&n3;if(n1>n2)swap(p1,p2);if(n1>n3)swap(p1,p3);if(n2>n3)swap(p2,p3);printf(“the order is:%d,%d,%dn”,n1,n2,n3);return 0;} void swap(int *p1,int *p2){ int temp;temp=*p1;*p1=*p2;*p2=temp;} 參考程序:(輸入三個字符串,按由小到大順序輸出)(要求文件名:7_1.c)#include #include void swap(char *p1,char *p2);int main(){ char s1[20],s2[20],s3[20];char *ps1=s1,*ps2=s2,*ps3=s3;scanf(“%s”,ps1);scanf(“%s”,ps2);scanf(“%s”,ps3);if(strcmp(ps1,ps2)>0)swap(ps1,ps2);if(strcmp(ps1,ps3)>0)swap(ps1,ps3);if(strcmp(ps2,ps3)>0)swap(ps2,ps3);printf(“the order is:%s,%s,%sn”,ps1,ps2,ps3);return 0;} void swap(char *p1,char *p2){ char temp[20];strcpy(temp,p1);strcpy(p1,p2);strcpy(p2,temp);}(2)用指向指針的指針的方法對x個整數(shù)排序并輸出。要求將排序單獨寫成一個函數(shù)。x和各整數(shù)在主函數(shù)中輸入,最后在主函數(shù)中輸出。(要求文件名:7_2.c)參考程序:

      #include void maopao(int *p,int x);int main(){

      int x,a[100],*p,i;p=a;scanf(“%d”,&x);for(i=0;i

      scanf(“%d”,p++);p=a;printf(“n”);maopao(p,x);printf(“the sorted numbers:n”);p=a;for(i=0;i

      printf(“%dt”,*p);

      return 0;} void maopao(int *p,int x){ int i,j,temp;for(i=0;i

      for(j=0;j

      if(*(p+j)>*(p+j+1))

      {

      temp=*(p+j);

      *(p+j)=*(p+j+1);

      *(p+j+1)=temp;

      } }(3)利用函數(shù)和指針將給定字母字符串的第一個字母變成大寫字母,其它字母變成小寫字母。在main函數(shù)中接收字符串的輸入,改變后的字符串的輸出也在main函數(shù)中實現(xiàn)。(要求文件名:7_3.c)參考程序:

      #include #include void change(char *s);int main(){ char s[100];char *ps=s;scanf(“%s”,ps);change(ps);printf(“%s”,ps);return 0;} void change(char *s){ int x,i;x=strlen(s);if(*s>='a'&&*s<='z')

      *s-=32;s++;

      } for(i=0;i='A'&&*s<='Z')

      *s+=32;

      三、實驗報告要求

      將題目2和3的源程序、運行結(jié)果,以及實驗中遇到的問題和解決問題的方法,以及實驗過程中的心得體會,寫在實驗報告上。

      實驗八

      結(jié)構(gòu)體和共用體

      一、實驗?zāi)康?/p>

      1.掌握結(jié)構(gòu)體類型和結(jié)構(gòu)體變量的定義。

      2.掌握結(jié)構(gòu)類型變量的定義和使用。

      3.掌握鏈表的概念,初步學(xué)會對鏈表進(jìn)行操作。

      二、實驗內(nèi)容和源程序清單、測試數(shù)據(jù)、結(jié)果。

      (1)給出下面程序的運行結(jié)果,思考為什么?(要求文件名:8_1.c)#include struct STU {

      char num[10];

      float score[3];};

      int main(){

      struct STU s[3]={{“1122301”,90,95,85}, {“1122302”,80,90,75}, {“1122303”,98,92,85}}, *p=s;

      int i;

      float sum = 0;

      for(i=0;i<3;i++){

      sum = sum + p->score[i];

      } printf(“%6.2fn”,sum);

      return 0;}(2)有10個學(xué)生,每個學(xué)生的數(shù)據(jù)包括學(xué)號,姓名,三門課的成績,從鍵盤輸入十個學(xué)生的數(shù)據(jù),要求打印出每個學(xué)生的平均成績,以及最高分的學(xué)生的數(shù)據(jù)(包括學(xué)號,姓名,三門課的成績,平均分?jǐn)?shù))。(要求文件名:8_2.c)#include #define N 10 struct student {

      char num[6];

      char name[8];

      float score[3];

      float avr;} stu[N];

      int main(){ int i,j,maxi;

      float sum,max,average;

      for(i=0;i

      { printf(“input scores of student %d:n”,i+1);

      printf(“NO.:”);

      scanf(“%s”,stu[i].num);

      printf(“name:”);

      scanf(“%s”,stu[i].name);

      for(j=0;j<3;j++)

      { printf(“score %d:”,j+1);

      scanf(“%f”,&stu[i].score[j]);

      }

      }

      average=0;

      max=0;

      maxi=0;

      for(i=0;i

      { sum=0;

      for(j=0;j<3;j++)

      sum+=stu[i].score[j];

      stu[i].avr=sum/3.0;

      average+=stu[i].avr;

      if(sum>max)

      { max=sum;

      maxi=i;

      }

      }

      average/=N;

      printf(“

      NO.name

      score1

      score2

      score3

      averagen”);

      for(i=0;i

      for(j=0;j<3;j++)

      printf(“%9.2f”,stu[i].score[j]);

      printf(“

      %8.2fn”,stu[i].avr);

      }

      printf(“average=%5.2fn”,average);

      printf(“The highest score is : student %s,%sn”,stu[maxi].num,stu[maxi].name);printf(“his scores are:%6.2f,%6.2f,%6.2f,average:%5.2f.n”,stu[maxi].score[0],stu[maxi].score[1],stu[maxi].score[2],stu[maxi].avr);return 0;}(3)建立一個鏈表,每個結(jié)點包括:學(xué)號,姓名,性別,年齡。輸入一個年齡,如果鏈表中的結(jié)點所包含的年齡等于此年齡,則將此結(jié)點刪去。(要求文件名:8_3.c)

      #include #include #define LEN sizeof(struct student)struct student {

      char num[6];char name[8];char sex[2];int age;struct student *next;} stu[10];

      int main(){

      struct student *p,*pt,*head;int i,length,iage,flag=1;int find=0;

      //找到待刪除元素 find=1,否則find=0 while(flag==1){

      printf(“input length of list(<10):”);

      scanf(“%d”,&length);

      if(length<10)

      flag=0;}

      //建立鏈表

      for(i=0;i

      p=(struct student *)malloc(LEN);

      if(i==0)

      head=pt=p;

      else

      pt->next=p;

      pt=p;

      printf(“NO.:”);

      scanf(“%s”,p->num);

      printf(“name:”);

      scanf(“%s”,p->name);

      printf(“sex:”);

      scanf(“%s”,p->sex);

      printf(“age:”);

      scanf(“%d”,&p->age);

      }

      p->next=NULL;

      p=head;printf(“n NO.name

      sex agen”);

      //顯示

      while(p!=NULL){

      printf(“%4s%8s%6s%6dn”,p->num,p->name,p->sex,p->age);

      p=p->next;}

      // 刪除

      printf(“input age:”);

      //輸入待刪年齡

      scanf(“%d”,&iage);pt=head;p=pt;

      if(pt->age==iage)

      //鏈頭是待刪元素

      {

      p=pt->next;

      head=pt=p;

      find=1;

      }

      else

      //鏈頭不是待刪元素

      pt=pt->next;

      while(pt!=NULL){

      if(pt->age==iage)

      {

      p->next=pt->next;

      find=1;

      }

      else

      // 中間結(jié)點不是待刪元素

      p=pt;

      pt=pt->next;

      }

      if(!find)

      printf(“ not found %d.”,iage);

      p=head;

      printf(“n NO.name

      sex agen”);//顯示結(jié)果

      while(p!=NULL){

      printf(“%4s%8s”,p->num,p->name);

      printf(“%6s%6dn”,p->sex,p->age);

      p=p->next;

      }

      return 0;}

      三、實驗報告要求

      將題目3的源程序、運行結(jié)果,以及實驗中遇到的問題和解決問題的方法,以及實驗過程中的心得體會,寫在實驗報告上。

      實驗九

      文件操作

      一、實驗?zāi)康?/p>

      1.掌握文件和文件指針的概念以及文件的定義方法。

      2.了解文件打開和關(guān)閉的概念和方法。

      3.掌握有關(guān)文件的函數(shù)。

      二、實驗內(nèi)容和源程序清單、測試數(shù)據(jù)、結(jié)果。

      (1)對data.dat文件寫入100條記錄。(要求文件名:8_1.c)

      #include int main(){ FILE *fp;

      int i;

      float x;

      fp=fopen(“c:data.dat”,“w”);

      for(i=1;i<=100;i++)

      {

      scanf(“%f”,&x);

      fprintf(fp,“%fn”,x);

      }

      fclose(fp);

      return 0;}

      (2)設(shè)有一文件cj.dat存放了50個人的成績(英語、計算機(jī)、數(shù)學(xué)),存放格式為:每人一行,成績間由逗號分隔。計算三門課平均成績,統(tǒng)計個人平均成績大于或等于90分的學(xué)生人數(shù)。(要求文件名:8_2.c)

      #include int main(){ FILE *fp;

      int num=0;

      float x , y , z , s1 , s2 , s3;

      fp=fopen(“c:cj.dat”,“r”);

      while(!feof(fp))

      {

      fscanf(fp,“%f,%f,%f”,&x,&y,&z);

      s1=s1+x;

      s2=s2+y;

      s3=s3+z;

      if((x+y+z)/3>=90)

      num=num+1;

      }

      printf(“分?jǐn)?shù)高于90的人數(shù)為:%dn”,num);

      fclose(fp);

      return 0;}

      (3)統(tǒng)計上題cj.dat文件中每個學(xué)生的總成績,并將原有數(shù)據(jù)和計算出的總分?jǐn)?shù)存放在磁盤文件“stud”中。(要求文件名:8_3.c)

      #include “stdio.h” int main(){

      FILE *fp1,*fp2;

      float x,y,z;

      fp1=fopen(“c:cj.dat”,“r”);

      fp2=fopen(“c:stud”,“w”);

      } while(!feof(fp1)){

      fscanf(fp1,“%f,%f,%f”,&x,&y,&z);

      printf(“%f,%f,%f,%fn”,x,y,z,x+y+z);

      fprintf(fp2,“%f,%f,%f,%fn”,x,y,z,x+y+z);}

      fclose(fp1);fclose(fp2);return 0;

      三、實驗報告要求

      將題目1、2和3的源程序、運行結(jié)果,以及實驗中遇到的問題和解決問題的方法,以及實驗過程中的心得體會,寫在實驗報告上。

      第五篇:《Java程序設(shè)計》課程實驗指導(dǎo)書

      ...《Java程序設(shè)計》課程實驗指導(dǎo)書

      合肥學(xué)院計算機(jī)系

      實驗一 Java開發(fā)環(huán)境的安裝與配置,熟悉Java程序

      結(jié)構(gòu)

      一、實驗?zāi)康模?/p>

      1.掌握J(rèn)DK的安裝步驟。

      2.理解環(huán)境變量PATH, CLASSPATH的作用,以及它們的設(shè)置方法。3.熟悉Editplus 或Eclipse(或TextPad,JCreator)編輯環(huán)境,編寫簡單的Application程序和Applet程序,并編譯和執(zhí)行。

      二、實驗內(nèi)容:

      熟悉JDK的安裝和配置,學(xué)習(xí)如何編寫并運行簡單的Application程序和Applet程序(能輸出一條簡單的問候信息);

      三、實驗要求:

      1.能正確地安裝JDK 2.熟悉環(huán)境變量PATH, CLASSPATH設(shè)置方法,熟悉編輯環(huán)境 3.調(diào)試程序、編譯,運行后得到正確的結(jié)果

      4.寫出實驗報告,要求記錄編譯和執(zhí)行Java程序當(dāng)中的系統(tǒng)錯誤信息提示,并給出解決辦法。

      四、實驗步驟:

      1.從http://java.sun.com 上下載最新版本的JDK,并安裝。

      2.設(shè)置環(huán)境變量PATH, CLASSPATH, 使得Java程序能正確編譯和執(zhí)行。3.在Eclipse(或JCreator,Textpad)環(huán)境下編寫一個HelloWorld.java程序,(1)在主方法static public void main(String[ ] args)中調(diào)用System.out.println()方法,使程序輸出一條問候信息;

      (2)編譯運行程序,觀察運行情況和輸出結(jié)果。(使用JDK環(huán)境,調(diào)用javac.exe和java.exe編譯和執(zhí)行程序)

      4.在Eclipse(或JCreator,Textpad)環(huán)境下編寫一個HelloWorldApplet.java程序。

      (1)在public void paint(Graphics g)方法中調(diào)用g.drawString()方法,使 程序輸出一條問候信息;

      (2)編譯運行程序,觀察運行情況和輸出結(jié)果。(使用JDK環(huán)境,調(diào)用javac.exe編譯和瀏覽器解釋執(zhí)行Applet程序)

      實驗二 Java語言基礎(chǔ)

      一、實驗?zāi)康模?/p>

      熟悉Java基本語法,基本數(shù)據(jù)類型,各種運算符及表達(dá)式的使用,掌握運算符優(yōu)先級,熟悉使用Java的選擇語句,循環(huán)語句。

      二、實驗內(nèi)容:

      1.編寫Java Application程序,輸出1900年到2000年之間的所有潤年。(閏年的判斷條件:能被4整除且不能被100整除,或能被400整除); 2.編寫Java Appet 程序打印 “水仙花” 數(shù)(它的個、十、百位數(shù)字的立方的和等于該數(shù)本身,如:153=1^3+5^3+3^3)3.編寫Java Application程序,分別用do-while和for循環(huán)計算1+1/2!+1/3!+1/4!...的前20項和

      三、實驗要求:

      1.正確使用Java語言的選擇語句,循環(huán)語句; 2.調(diào)試程序、編譯,運行后得到正確的結(jié)果

      3.寫出實驗報告。要求記錄編譯和執(zhí)行Java程序當(dāng)中的系統(tǒng)錯誤信息提成示,并給出解決辦法。

      四、實驗步驟:

      1.編寫主類;

      2.在static public void main(String[ ] args)方法中加入實現(xiàn)要求功能的代碼,主要步驟如下:

      (第一題)從1900到2000循環(huán),按照閏年的判斷條件是則輸出1900年到2000年之間的所有潤年。

      (第二題)編寫Java Applet, 在public void paint(Graphics g)方法中加入實現(xiàn)要求功能的代碼, 主要步驟是:從100到1000循環(huán),判斷每個數(shù)是否符合水仙花數(shù)的特點,是則輸出之。3.編譯運行程序,觀察輸出結(jié)果是否正確。

      五、自做實驗

      1.輸出100以內(nèi)的所有素數(shù)。提示: 逐個判斷小于a的每個正整數(shù)x,第二重循環(huán)針對x,判斷其是否是質(zhì)數(shù)。

      2.將所輸入之正整數(shù),以二、八、十六進(jìn)制表示出來。提示: 可寫三個方法分別計算輸出二、八、十六進(jìn)制表示。

      實驗三 類和對象

      一、實驗?zāi)康模?/p>

      掌握J(rèn)ava類的結(jié)構(gòu)、類的定義、方法和屬性的定義以及對象的實現(xiàn); 掌握類及其成員修飾符的使用;掌握構(gòu)造函數(shù)的使用;方法的參數(shù)傳遞和返回值的用法;

      掌握類變量與實例變量,以及類方法與實例方法的區(qū)別。

      三、實驗內(nèi)容:

      1.定義一個學(xué)生類(Student),屬性有private的名字(name), public的年齡(age),專業(yè)(specialty)和封裝name屬性的方法:setName(),getName(),getspecialty()編寫Application,創(chuàng)建一個學(xué)生對象,設(shè)置name和age屬性值,然后調(diào)用一個方法(此方法將對象作為參數(shù)傳遞,在方法中打印出學(xué)生的名字name和年齡age)。(學(xué)生類僅包含靜態(tài)成員變量和方法。)2.定義一個類Point,代表一個點,public屬性有x和y,方法有顯示點坐標(biāo) show(),構(gòu)造函數(shù)有兩個參數(shù)分別給x,y賦值,在main方法中構(gòu)造兩個對象,再創(chuàng)建一方法(getMiddle)為取兩個點構(gòu)成線段的中點的坐標(biāo),參數(shù)為2個點對象,調(diào)用此方法后得到一個新的點,編寫Application,顯示該對象的坐標(biāo)值。

      3.定義一個復(fù)數(shù)(z=x+iy)類Complex,包含:

      兩個屬性:實部x和虛部y 默認(rèn)構(gòu)造函數(shù) Complex(),設(shè)置x=0,y=0 構(gòu)造函數(shù):Complex(int i,int j)顯示復(fù)數(shù)的方法:showComp()將其顯示為如: 5+8i或5-8i 的形式。求兩個復(fù)數(shù)的和的方法:(參數(shù)是兩個復(fù)數(shù)類對象,返回值是復(fù)數(shù)類對象)public Complex addComp(Complex C1,Complex C2)求兩個復(fù)數(shù)的差的方法:(參數(shù)是兩個復(fù)數(shù)類對象,返回值是復(fù)數(shù)類對象)public Complex subComp(Complex C1,Complex C2)求兩個復(fù)數(shù)的乘積的方法:(參數(shù)是兩個復(fù)數(shù)類對象,返回值是復(fù)數(shù)類對象,新復(fù)數(shù)實部=兩復(fù)數(shù)實部乘積-兩復(fù)數(shù)虛部乘積,新復(fù)數(shù)虛部=兩復(fù)數(shù)實部與虛部 交叉乘積之和,)public Complex multiComp(Complex C1,Complex C2)比較兩個復(fù)數(shù)是否相等的方法(參數(shù)是兩個復(fù)數(shù)類對象,返回值是boolean類型)public boolean equalComp(Complex C1,Complex C2)在Application中測試該類的方法,實部x和虛部y可由main方法參數(shù)提供輸入。

      三、實驗要求:

      1.正確地定義類、方法和屬性;2.學(xué)會方法的參數(shù)傳遞和返回值的用法; 3.熟練使用類及其成員修飾符 4.使用構(gòu)造函數(shù)創(chuàng)建類的對象;

      5.類變量與實例變量,以及類方法與實例方法的使用 6.程序應(yīng)包括各個被調(diào)用方法的執(zhí)行結(jié)果的顯示。

      7.寫出實驗報告。要求記錄編譯和執(zhí)行Java程序當(dāng)中的系統(tǒng)錯誤信息提示,并給出解決辦法。(附運行界面、源代碼)。

      四、實驗步驟:

      1.(第1題)定義一個學(xué)生類(Student)及它的屬性和方法;定義主類和main(),在main()方法中創(chuàng)建學(xué)生對象,并通過對象調(diào)用它的方法setName(),getName(),輸出學(xué)生的名字name和年齡age。

      2.(第2題)定義類Point及它的屬性、方法和構(gòu)造函數(shù),定義主類和main(),在main()方法中創(chuàng)建兩個坐標(biāo)對象,,并通過對象調(diào)用getMiddle方法后得到一個新的點坐標(biāo),調(diào)用show()顯示該對象的坐標(biāo)值。3.(第3題)定義一個復(fù)數(shù)(z=x+iy)類Complex,及它的屬性、方法和構(gòu)造函數(shù);定義主類和main()方法,在main()方法中創(chuàng)建兩個復(fù)數(shù)類Complex對象,并通過復(fù)數(shù)類對象調(diào)用它們的屬性和方法,輸出方法執(zhí)行結(jié)果。

      五、自做實驗

      1.構(gòu)造一個類來描述屏幕上的一個點,該類的構(gòu)成包括點的x和y兩個坐標(biāo),以及一些對點進(jìn)行的操作,包括:取得點的坐標(biāo)值,對點的坐標(biāo)進(jìn)行賦值,編寫應(yīng)用程序生成該類的對象并對其進(jìn)行操作。

      2.編寫實現(xiàn):有一個三角形類Triangle,成員變量有底邊x和另一條邊y,和兩邊的夾角a(0

      3.編寫實現(xiàn): 構(gòu)造函數(shù)為 Triangle(int xx,int yy,int aa)參數(shù)分別為x,y,a賦值 在main方法中構(gòu)造兩個對象,求出其面積,然后使用修改角度的方法,修改兩邊的夾角,再求出面積值。(提示:求高的方法 h=y*Math.sin(a))注意:構(gòu)造方法用于對成員變量初始化,無參數(shù)的構(gòu)造方法將成員變量初始化為0值。

      實驗四 java繼承與多態(tài)

      一、實驗?zāi)康模?/p>

      掌握繼承、多態(tài)的概念與實現(xiàn)方法;

      掌握包和接口的定義和使用方法;

      了解JAVA語言實現(xiàn)多繼承的途徑;

      二、實驗內(nèi)容:

      1.分別編寫兩個類Point2D,Point3D來表示二維空間和三維空間的點,使之滿足下列要求:

      (1)Point2D有兩個整型成員變量x, y(分別為二維空間的X,Y方向坐標(biāo)),Point2D的構(gòu)造方法要實現(xiàn)對其成員變量x, y的初始化。

      (2)Point2D有一個void型成員方法offset(int a, int b),它可以實現(xiàn)Point2D的平移。

      (3)Point3D是Point2D的直接子類,它有有三個整型成員變量x,y,z(分別為三維空間的X,Y,Z方向坐標(biāo)),Point3D有兩個構(gòu)造方法:Point3D(int x,int y,int z)和Point3D(Point2D p,int z),兩者均可實現(xiàn)對Point3D的成員變量x, y,z的初始化。

      (4)Point3D有一個void型成員方法offset(int a, int b,int c),該方法可以實現(xiàn)Point3D的平移。

      (5)在Point3D中的主函數(shù)main()中實例化兩個Point2D的對象p2d1,p2d2,打印出它們之間的距離,再實例化兩個Point2D的對象p3d1,p3d2,打印出他們之間的距離。

      2.定義抽象類Shape,抽象方法為showArea(),求出面積并顯示,定義矩形類Rectangle,正方形類Square,圓類 Circle,根據(jù)各自的屬性,用showArea方法求出各自的面積,在main方法中構(gòu)造3個對象,調(diào)用showArea方法。

      定義接口DiagArea,其中包含方法double getDiagonal()求對角線長, double getArea()求面積,定義一個矩形類,實現(xiàn)此接口,并自行擴(kuò)充成 員變量和方法,定義一個正方形類繼承矩形類(如矩形有長w和寬h,正方形有邊x,并有相應(yīng)的構(gòu)造函數(shù),有一個方法中一次直接顯示邊長、面積和對角線長),在另一類中的主方法里使用測試該類。

      三、實驗要求:

      1.能實現(xiàn)類的繼承關(guān)系;

      2.用多種方法創(chuàng)建各個類的對象;

      3.程序應(yīng)包括各個被調(diào)用方法的執(zhí)行結(jié)果的顯示。

      4.寫出實驗報告。要求記錄編譯和執(zhí)行Java程序當(dāng)中的系統(tǒng)錯誤信息提示,并給出解決辦法。(附運行界面、源代碼)。

      四、實驗步驟:

      1.(第1題)定義Point2D,及定義它的屬性和方法;

      定義子類Point3D,及定義它的屬性和方法;在Point3D中的主函數(shù)main()中實例化兩個Point2D的對象,并通過這兩個對象調(diào)用它們的屬性和方法,輸出方法執(zhí)行結(jié)果。

      2.(第2題)定義抽象類Shape,抽象方法為showArea(),再定義矩形類Rectangle,正方形類Square,圓類 Circle,和各自的屬性。定義主類、主方法,在main方法中構(gòu)造3個對象,調(diào)用showArea方法;定義接口DiagArea,其中包含方法double getDiagonal(),在主main方法中輸出方法執(zhí)行結(jié)果。

      六、自做作實驗

      1.定義一個描述人的基本類,該類包括人的性別和出生日期兩個數(shù)據(jù)成員,以及設(shè)置和獲取這些屬性值的方法成員;再定義一個大學(xué)生類,使大學(xué)生類具有人的所有屬性外,還具有姓名、學(xué)號,大學(xué)入學(xué)成績,籍貫屬性以及設(shè)置和獲取這些屬性值的方法成員;編寫完整的程序,完成一個具有班級學(xué)生信息管理功能的程序。

      2創(chuàng)建一個接口Shape,其中有抽象方法area,類Circle、Rectangle實現(xiàn)area方法計算其面積并返回。又有Star實現(xiàn)Shape的area方法,其返回值是0,Star類另有一返回值boolean型方法isStar;在main方法里創(chuàng)建一個Vector,根據(jù)隨機(jī)數(shù)的不同向其中加入Shape的不同子類對象(如是1,生成Circle 10 對象;如是2,生成Rectangle對象;如是3,生成Star對象)。然后將Vector中元素依次取出,判斷其是否為Star類。如是返回其是個Star。否則返回其面積。

      3..學(xué)校中有老師和學(xué)生兩類人,而在職研究生既是老師又是學(xué)生,對學(xué)生的管理和對教師的管理在他們身上都有體現(xiàn)。

      1)設(shè)計兩個信息管理接口StudentManageInterface和TeacherManageInterface。其中,StudentInterface接口包括setFee()方法和getFee()方法,分別用于設(shè)置和獲取學(xué)生的學(xué)費;TeacherInterface接口包括setPay()方法和getPay()方法,分別用于設(shè)置和獲取教師的工資

      2)定義一個研究生類Graduate,實現(xiàn)StudentInterface接口和TeacherInterface接口,它定義的成員變量有name(姓名)、sex(性別)、age(年齡)、fee(每學(xué)期學(xué)費)、pay(月工資)。

      3)創(chuàng)建一個姓名為“zhangsan”的研究生,統(tǒng)計他的年收入和學(xué)費,如果收入減去學(xué)費不足2000元,則輸出“provide a loan”(需要貸款)信息。提示:

      1)定義兩個接口,分別在其中申明兩個方法。2)定義主類Graduate,實現(xiàn)這兩個接口。3)定義主類的成員變量,和構(gòu)造方法。

      4)給出四個接口方法的實現(xiàn)。5)給出一個計算是否需要貸款的方法,在里面統(tǒng)計年收入和學(xué)費,并輸出是否需要貸款的信息。

      6)寫main方法。在其中創(chuàng)建一個姓名為“zhangsan”的研究生,調(diào)用計算是否需要貸款的方法。4.書后練習(xí)

      實驗五 Java的異常處理

      一、實驗?zāi)康模?/p>

      理解 java 語言中獨特的異常處理機(jī)制;掌握異常處理方法;正確地使用捕獲異常和聲明拋棄異常的兩種異常處理的方法;了解自定義異常類的使用;理解拋出異常和聲明拋出異常的區(qū)別與聯(lián)系;

      二、實驗內(nèi)容:

      1. 從命令行得到5個整數(shù),放入一整型數(shù)組,然后打印輸出,要求:如果輸入數(shù)據(jù)不為整數(shù),要捕獲Integer.parseInt()產(chǎn)生的異常,顯示“請輸入整數(shù)”,捕獲輸入?yún)?shù)不足5個的異常(數(shù)組越界),顯示“請輸入至少5個整數(shù)”。

      2.寫一個方法void sanjiao(int a,int b,int c),判斷三個參數(shù)是否能構(gòu)成一個三角形,如果不能則拋出異常IllegalArgumentException,顯示異常信息a,b,c+”不能構(gòu)成三角形”,如果可以構(gòu)成則顯示三角形三個邊長,在主方法中得到命令行輸入的三個整數(shù),調(diào)用此方法,并捕獲異常。

      3.自定義類Sanj,其中有成員 x,y,z,作為三邊長,構(gòu)造方法Sanj(a,b,c)分別給x,y,z賦值,方法求面積getArea和顯示三角形信息(三個邊長)showInfo,這2個方法中當(dāng)三條邊不能構(gòu)成一個三角形時要拋出自定義異常NotSanjiaoException,否則顯示正確信息。在另外一個類中的主方法中構(gòu)造一個Sanj對象(三邊為命令行輸入的三個整數(shù)),顯示三角形信息和面積,要求捕獲異常。

      三、實驗要求:

      1.通過實驗掌握捕獲異常和聲明拋棄異常的兩種異常處理的方法; 2.程序必須能夠捕獲Integer.parseInt()產(chǎn)生的異常并作相應(yīng)的處理; 3.程序必須能夠?qū)⑻幚淼南鄳?yīng)的信息輸出出來;

      4.寫出實驗報告。要求記錄編譯和執(zhí)行Java程序當(dāng)中的系統(tǒng)錯誤信息提材示,并給出解決辦法。(附運行界面、源代碼)。

      四、實驗步驟:

      1.(第1題)使用try?..catch?.finally語句對Integer.parseInt()產(chǎn)生的異常進(jìn)行捕獲處理;2.(第2題)定義方法void sanjiao(int a,int b,int c)中,不符合條件則拋出異常(if a+b<=c(或a+c<=b,b+c<=a)then throw new IllegalArgumentException(),),再定義main方法,調(diào)用此方法,用try?..catch?.finally語句并捕獲異常;3.(第3題)定義三角形類及相應(yīng)的方法, 在定義的方法中對不符合條件則拋出異常(如上題),再定義main方法,對正確的數(shù)據(jù)輸出正確信息,否則捕獲異常;

      五、自做實驗

      1.參考下面的程序,試修改程序,捕獲相關(guān)異常,使得程序能正常運行。[提示:用錯誤數(shù)據(jù)測試,即可得到異常類名,運行時主方法參數(shù)輸入 abc 測試] public class StringIndexOutOf{ public static void main(String args[]){ System.out.println(“字符串索引越界異?!?;String str=args[0];System.out.println(“第四個字符為 ”+str.charAt(3));int aa=Integer.parseInt(args[0]);

      System.out.println(“

      方為 ”+aa*aa);} }

      實驗六 Java數(shù)組、字符串及常用類應(yīng)用

      一、實驗?zāi)康模?/p>

      掌握數(shù)組的定義和使用方法;熟悉數(shù)組的排序、查找等算法。掌握字符串的使用方法。

      二、實驗內(nèi)容:

      1.編寫Application程序, 從命令行參數(shù)輸入10個整數(shù)并保存在數(shù)組中,求數(shù)組中最大、最小、數(shù)據(jù)的和、平均值。

      2.從命令行參數(shù)一日期,如“2005-5-6”,計算與今日之間的天數(shù)間隔。3.將命令行第一個參數(shù)每個字符放入一字符數(shù)組,然后逆序輸出

      4.編寫Application程序,接受用戶輸入一段英文文字后,輸出其中的字符數(shù)、單詞數(shù)和句子數(shù)(設(shè)句子以“?”、“!”、“.”結(jié)束)。5.打印楊輝三角的前10層。

      6.編寫Applet程序,使用 *畫一條正弦曲線(提示:y=a* sin(x),坐標(biāo)要取整)

      三、實驗要求:

      1.熟練對象數(shù)組及創(chuàng)建初始化和未初始化的數(shù)組的方法;2.熟悉從命令行參數(shù)的使用;3.熟悉String 和StringBUFFER的使用方法 4.熟悉常用類庫的使用;5.寫出實驗報告。要求記錄編譯和執(zhí)行Java程序當(dāng)中的系統(tǒng)錯誤信息提示,并給出解決辦法。(附運行界面、源代碼)。

      四、實驗步驟:

      1(第1題).從命令行輸入10個數(shù)到數(shù)組,用循環(huán)語句分別求最大、最小、數(shù)據(jù)的和、平均值。

      2.(第2題)利用String類的各種方法,分別判斷字符是否為“?”、“!”、“.”,用3個計數(shù)器分別計數(shù)。

      3(第3題)將命令行第一個參數(shù)字符串中的每個字符作為數(shù)組元素放入一字符數(shù)組,再循環(huán)語句逆序數(shù)組元素。

      4.(第4題)定義一個二維數(shù)組,第一維的長度為所打印楊輝三角的層數(shù)(即 10),第二維為每一層的數(shù)據(jù)個數(shù)(也就是其所在的層數(shù))。(第5題)利用Math類中sin函數(shù),在Paint()方法中用Graphics類drawString()畫一條正弦曲線.五、自做實驗

      1.求Fibonacci序列的前n項,要求:

      在main方法中定義一數(shù)組,數(shù)組的長度n為一final定義的常量,使用一單獨方法,無返回值,參數(shù)為一數(shù)組,在方法中給數(shù)組賦予序列的值,在main方法中調(diào)用該方法,然后打印結(jié)果數(shù)組的內(nèi)容

      2.聲明一個矩陣類Matrix,成員變量是一個二維數(shù)組,設(shè)數(shù)組元素類型為int,請設(shè)計方法:(1)構(gòu)造方法:

      Matrix()//構(gòu)造一個10X10個元素的矩陣,沒有數(shù)據(jù)

      Matrix(int n,int m)//構(gòu)造一個nXm個元素的矩陣,數(shù)據(jù)由隨機(jī)數(shù)產(chǎn)生 Matrix(int table[][])//以一個整型的二維數(shù)組構(gòu)造一個矩陣 要求使用 this(2)實例方法:

      public void output()//輸出Matrix類中數(shù)組的元素值 public void transpose()//輸出一個矩陣的轉(zhuǎn)置矩陣 2.隨機(jī)數(shù)求法:

      Math.random()返回0-1的小數(shù),由上題中的Matrix類派生出正方形Square類,在構(gòu)造方法中調(diào)用父類的構(gòu)造方法(使用super)。

      3.編寫一個Java程序,完成以下功能:

      (1)聲明一個名為s的String對象,并使它的內(nèi)容是“My name is Carrol”;(2)打印整個字符串;(3)打印字符串的長度;(4)打印字符串的第一個字符;(5)打印最后一個字符;(6)打印字符串的第一個單詞。

      *4.編寫一個程序,用散列表實現(xiàn)學(xué)生成績單的存儲和查詢,并將若干個查 15 詢結(jié)果存放到一個向量中,通過循環(huán)將向量對象內(nèi)容逐個輸出。*5.從命令行讀入一浮點數(shù)值,將其轉(zhuǎn)化為中文金額的大寫方式,如123.45,轉(zhuǎn)化為:壹佰貳拾叁元肆角伍分,中間有多個0只要一個零。*6.利用Vector對象改寫上面的程序,輸入元素個數(shù)由用戶自由確定。

      實驗七 圖形用戶界面與事件處理機(jī)制

      (一)一、實驗?zāi)康模?/p>

      掌握J(rèn)ava圖形組件和布局管理器的使用; 掌握使用Java事件處理機(jī)制的使用。

      掌握圖形界面的各種控件的使用,如:標(biāo)簽、文本框、按鈕、復(fù)選框、列表框、窗框等。

      二、實驗內(nèi)容:

      1.編寫Application程序,在Frame中加入2個按鈕(Button)和1個標(biāo)簽(Label),單擊兩個按鈕,顯示按鈕的標(biāo)簽于Label。

      2.在Applet中加入1個文本框,1個文本區(qū),每次在文本框中輸入文本,回車后將文本添加到文本區(qū)的最后一行。

      3.在Applet中加入2個復(fù)選框,顯示標(biāo)題為“學(xué)習(xí)”和“玩耍”,根據(jù)選擇的情況,分別顯示“玩耍”、“學(xué)習(xí)”、“勞逸結(jié)合”。

      4.在Applet中加入1個滾 動列表框List、1個下拉列表框Choice和1個按鈕,點擊按鈕將List中的項目移到Choice組件中,5.編寫Application程序,在Frame中加入80個按鈕,分20行4列,用GridLayout布局方式,按鈕背景為黃色(Color.yellow),按鈕文字顏色為紅色(Color.red)。

      6.設(shè)計一個簡單計算器,如下圖所示。在“操作數(shù)”標(biāo)簽右側(cè)的兩個文本框輸入操作數(shù),當(dāng)單擊操作符+,-,×,÷按鈕時,對兩個操作數(shù)進(jìn)行運算并將結(jié)果填入到“結(jié)果”標(biāo)簽右側(cè)的文本框中。

      三、實驗要求:

      1.采用布局管理器進(jìn)行界面的布局; 2.學(xué)會對不同的事件用相應(yīng)的事件處理器;

      3.寫出實驗報告。要求記錄編譯和執(zhí)行Java程序當(dāng)中的系統(tǒng)錯誤信息提材示,并給出解決辦法。(附運行界面、源代碼)。

      四、實驗步驟:

      1.運用一種或多種布局管理器,繪制出一個簡單的計算器;

      2.為按鈕注冊事件監(jiān)聽器,使其點擊按鈕,并在顯示區(qū)域同步顯示當(dāng)前輸入或運算結(jié)果;

      3.編譯運行程序,檢查計算器的正確性;

      五、自做實驗

      1.學(xué)生可以視個人情況完成更復(fù)雜更完善的計算器功能,通過多種布局管理方法實現(xiàn)更美觀的界面布局。

      2.編寫Applet程序,在控制按鈕程序中,實現(xiàn)播放音樂,顯示圖片等操作。3.編寫Java Applet程序,使它在瀏覽器中通過響應(yīng)功能按鈕的點擊事件繪制各種簡單的幾何圖形(矩形、圓形、扇形、多邊形和他們的填充效果),并且能夠通過接收傳遞參數(shù)控制圖形的繪制。

      4.在Applet中做2個按鈕,點擊它們,分別畫一個填充的藍(lán)矩形和粉紅色圓,位置隨機(jī),并統(tǒng)計每個按鈕點擊的次數(shù)

      實驗七 圖形用戶界面與事件處理機(jī)制

      (二)一、實驗?zāi)康模?/p>

      掌握菜單、彈出式菜單設(shè)計。會處理事件以及設(shè)置輸入對話框。

      了解對文本域JTextArea中字符進(jìn)行復(fù)制和粘貼的操作。

      二、實驗內(nèi)容:

      1.在窗口中建立菜單和彈出式菜單,”文件”中有”打開”項目,點擊后彈出文件對話框,在界面中的1個文本框中顯示打開的文件名。

      *2.設(shè)計一個JAVA程序模仿記事本(NotePad)的部分功能,界面如下圖。

      三、實驗要求:

      1.學(xué)會建立菜單和彈出式菜單;

      2.學(xué)會文件對話框的使用;對不同的事件用相應(yīng)的事件處理器; 3.寫出實驗報告。要求記錄編譯和執(zhí)行Java程序當(dāng)中的系統(tǒng)錯誤信息提材示,并給出解決辦法。(附運行界面、源代碼)。

      四、實驗步驟:

      1.(第1題)從打開文件對話框中獲取文件名,將文件名放入文本框。2.(第2題)新建文件時,文本域為空;打開文件和保存文件時要給出輸入對話框,輸入相應(yīng)文件名后進(jìn)行操作;選擇退出菜單將退出整個程序。

      再對文本域中選中的字符能夠進(jìn)行復(fù)制和粘貼操作。3.編譯運行以上程序

      五、自做實驗:

      1.利用所學(xué)的Java語言知識,完成一個實現(xiàn)秒表功能的Applet程序。它的GUI界面如下所示: 利用所學(xué)的Java語言知識,完成一個實現(xiàn)秒表功能的Applet程序。它的GUI界面如下所示:

      要求該程序能夠完成以下功能:

      (1)在界面上方的文本框中,按照“小時:分鐘:秒”的順序?qū)崟r顯示系統(tǒng)時間;

      (2)當(dāng)按下界面中間的“Current Time:”按鈕時,當(dāng)前系統(tǒng)時間能夠在界面下方的文本框中顯示出來。

      提示:可以通過調(diào)用java.util.Data類的方法,獲得系統(tǒng)時間。Data類的接口如下所示,public class Date {

      // 返回當(dāng)前系統(tǒng)時間的小時值

      public String getHours(){ ?}

      // 返回當(dāng)前系統(tǒng)時間的分鐘值

      public String getMintues(){ ? }

      // 返回當(dāng)前系統(tǒng)時間的秒鐘值

      public String getSeconds(){ ?}

      ?

      } 2.編寫一個計算器程序,只有加減乘除功能,當(dāng)作Applet運行。

      3.編寫一個Applet程序:畫圖

      要求:界面上有2個按鈕,一個為標(biāo)簽為“橢圓”,另一個為“矩形”,點擊后分別畫紅色的橢圓和藍(lán)色的矩形,其寬度為100、高度為60,左上角頂點坐標(biāo)為(50,50),試寫出完整程序,并且要寫出其對應(yīng)的HTML文件代碼。

      實驗八 Applet類及應(yīng)用

      一、實驗?zāi)康模?/p>

      掌握applet的程序結(jié)構(gòu)和運行方式;掌握從html文檔向Java Applet傳遞參數(shù)的方法;了解applet程序的生命周期;掌握在Applet中對字體、顏色、播放聲音、顯示圖像和動畫控制方法;

      二、實驗內(nèi)容:

      1.編寫Applet程序,改變applet窗口大小,使其最大化、最小化,查看init()、start()、paint()、和destroy()方法的執(zhí)行情況(執(zhí)行順序和執(zhí)行次數(shù))。2. 編寫Applet顯示字符串,顯示字符串及其顯示位置,字體、字體大小和顏色通過HTML文件中的參數(shù)來傳遞。

      3.編寫Applet(大小140*60),其背景色為藍(lán)色,畫一個長方形(其填充色為pink,各邊離邊小于10像素)和一個在填充的長方形中左右移動的小球(半徑15)。

      4.實現(xiàn)一個Applet,顯示一幅圖片。不停地運行一個動畫。

      三、實驗要求:

      1.必須編寫成Java Applet程序;

      2.能夠通過傳遞參數(shù)控制一種或者幾種圖形的繪制;

      3.寫出實驗報告。要求記錄編譯和執(zhí)行Java程序當(dāng)中的系統(tǒng)錯誤信息提示,并給出解決辦法。(附運行界面、源代碼)。

      四、實驗步驟:

      1.(第1題)在paint()方法中,繪制init()、start()、paint()、和destroy()方法的執(zhí)行次數(shù)的直方圖。

      2.(第2題)在HTML文件中添加參數(shù)傳遞的代碼:

      ??

      在init()方法中,調(diào)用getParameter()獲取由HTML傳遞的參數(shù),再按照要求,在paint()方法中調(diào)用Graphics類中drawString()函數(shù)顯示 字符串。

      3.(第3題)在paint()方法中調(diào)用Graphics類中drawString()函數(shù)時,X坐標(biāo)定義成變量(10〈=X〈=120),4.(第4題)在init()方法中,根據(jù)指定的位置獲取一系列圖片類對象放入數(shù)組,再循環(huán)顯示系列圖片就形成動畫。5.運行、檢查和調(diào)試 以上各程序。

      五、自做實驗

      1.編寫Applet,訪問并顯示指定URL地址處的圖像和聲音資源。2.編寫Applet,訪問并顯示指定URL地址處的一組圖像構(gòu)成的動畫。3.編寫Applet,接收用戶輸入的網(wǎng)頁地址,并與程序中事先保存的地址相比較,若存在則打開網(wǎng)頁,并在新打開的瀏覽器窗口顯示*編寫一個Applet程序,顯示一個圓心在Applet的中心,半徑從0到100像素不斷變大的綠色球的動畫。

      4.在Applet中畫矩形,要求矩形做上角點坐標(biāo)(20,20),高度為400*200,上下左右邊設(shè)為藍(lán)色、矩形填充色為綠色,并在居中的位置寫上文字“面向?qū)ο蟪绦蛟O(shè)計”,字體為楷體_gb2312,大小自定。

      5.自定義橢圓(或圓)的方法,畫一組橢圓(最大半徑200),以圓心處為參考點,半徑依次增加2個像素,圓周的顏色隨機(jī)。

      6.給定數(shù)組data[]={1,2,3,4}分別畫出圓餅圖、條形圖(寬隨意給定,高代表所占百分比),顏色任意。

      7.找一幅圖像,顯示在Applet中,要求按原圖大小顯示,再放大或縮小一倍顯示,或者放大顯示右下部的1/4塊

      實驗九 Java多線程

      一、實驗?zāi)康模?/p>

      熟悉利用Thread類建立多線程方法。熟悉利用Thread接口建立多線程方法。

      二、實驗內(nèi)容:

      1.閱讀下列程序,分析并上機(jī)檢驗其功能。class DelayThread exends Thread{ private static int count=0;private int no;private int delay;public DelayThread(){ count++;no=count;} public void run(){ try{ for(int i=0;i<10;i++){ delay=(int)(Math.random()*5000);sleep(delay);System.out.println(“Thread ”+no+” with a delay ”+delay);} }catch(InterruptedException e){}}} public class MyThread{ public static void main(String args[]){ DelayThread thread1=new DelayThread();DelayThread thread2=new DelayThread();thread1.start();thread2.start();try{ Thread.sleep(1000);}catch(InterruptedException e){ System.out.println(“Thread wrong”);}}} 2.講上列程序利用Runnable接口改寫,并上機(jī)檢驗。

      3.利用多線程 編寫一個模擬時鐘(AWT程序、Runnable接口),有時分秒 針 編寫一個應(yīng)用程序,創(chuàng)建三個線程分別顯示各自的時間。

      三、實驗要求:

      1.通過實驗掌握Thread、Runnable使用方法; 2.程序必須能夠?qū)崿F(xiàn)多線程; 3.程序必須能夠完成題目要求; 4.寫出實驗報告。

      四、實驗步驟:

      首先分析程序功能,再通過上機(jī)運行驗證自己的分析,從而掌握通過Thread類建立多線程的方法。

      通過將擴(kuò)展Thread類建立多線程的方法改為利用Runnable接口的方法,掌握通過Runnable接口建立多線程的方法。

      四、自做實驗

      課本:P262 12,13,14 25

      實驗十 輸入輸出流

      一、實驗?zāi)康模?/p>

      熟悉Java的文件讀寫機(jī)制,練習(xí)輸入輸出流的使用。

      二、實驗內(nèi)容:

      1、鍵盤輸入10個整數(shù),從小到大進(jìn)行排序。

      2、接收鍵盤輸入的字符串,用FileInputStream類將字符串寫入文件,用FileOutputStream類讀出文件內(nèi)容顯示在屏幕上。

      3、將一個文本文件的內(nèi)容按行讀出,每讀出一行就順序加上行號,并寫入到另一個文件中。

      三、實驗要求:

      1.通過實驗掌握文件輸入輸出流的使用方法; 2.程序必須能夠從鍵盤接收字符串并保存在文件中; 3.程序必須能夠讀出文件內(nèi)容顯示在屏幕上; 4.寫出實驗報告。

      四、實驗步驟:

      1.(第1題)接收鍵盤輸入字符串,再轉(zhuǎn)化整數(shù);

      2.(第2、3題)編寫主方法main(),其中實現(xiàn)接收鍵盤輸入功能、文件操作功能和文件內(nèi)容輸出功能; 3.調(diào)試運行程序,觀察輸出結(jié)果。

      五、自做實驗

      課本:P300,7、10

      實驗十一

      Java網(wǎng)絡(luò)編程

      一、實驗?zāi)康模?/p>

      1、熟悉掌握J(rèn)ava的相對高級別(簡單的)網(wǎng)絡(luò)通訊

      2、熟悉掌握URL類訪問Web頁面的操作流程

      3、學(xué)會JAVA的Socket類和ServerSocket類的使用

      二、實驗內(nèi)容:

      1、編程實現(xiàn)同一Web頁面兩個Applet之間的通訊

      2、編程實現(xiàn)顯示URL中的Html文件

      *

      3、參照例程編寫一個簡單的聊天室程序(P411,2)

      三、實驗要求:

      1.通過實驗掌握的URL類、Socket類和ServerSocket類的使用方法; 2.程序必須完成題目要求的功能; 3.寫出實驗報告。

      四、實驗步驟:

      1.(第1題)參照例程兩個Applet分別加上按鈕,互相控制對方的線程 2.(第2題)通過URL類中方法,實現(xiàn)通訊,獲取Html文件 3.(第3題)參照例程增加多客戶端,實現(xiàn)聊天室 4.調(diào)試運行程序,觀察輸出結(jié)果。

      五、自做實驗 P411,8

      實驗十二

      Java與數(shù)據(jù)庫連接

      一、實驗?zāi)康模?/p>

      熟悉SQL命令集。

      學(xué)會編寫加載數(shù)據(jù)庫驅(qū)動和連接數(shù)據(jù)庫的JAVA程序。應(yīng)用Java.sql包中的類和接口編寫操作數(shù)據(jù)庫的應(yīng)用程序。

      二、實驗內(nèi)容:

      編程實現(xiàn)如下功能:在數(shù)據(jù)庫中建立一個表,表名為學(xué)生,其結(jié)構(gòu)為:編號、姓名、性別、年齡、JAVA語言、數(shù)據(jù)結(jié)構(gòu)、微機(jī)原理、總分。在表中輸入多條記錄。將表每條記錄按照總分大到小的順序顯示在屏幕上。查找并顯示姓名為“張三”的記錄。(要求圖形界面)

      三、實驗要求:

      1.通過實驗掌握SQL命令的使用;

      2.使用J2SDK中提供的JDBC-ODBC橋連接數(shù)據(jù)庫; 3.使用的數(shù)據(jù)庫系統(tǒng)不受限制,比如可以用Access。4.調(diào)試運行程序,觀察輸出結(jié)果。5.寫出實驗報告。

      四、實驗步驟:

      1、首先設(shè)計一個圖形界面

      2、首先建立一個數(shù)據(jù)庫,在此基礎(chǔ)上通過編程實現(xiàn)一下功能:

      在數(shù)據(jù)庫中建立一個表,表名為職工,其結(jié)構(gòu)為:編號、姓名、性別、年齡、JAVA語言、數(shù)據(jù)結(jié)構(gòu)、微機(jī)原理、總分。1)在表中輸入多條記錄。

      2)將每條記錄按照總分大到小的順序顯示在屏幕上。

      3)查找并顯示姓名為“張三”的記錄

      五、自做實驗

      課本:P411,2

      實驗十三

      實現(xiàn)C/S應(yīng)用

      一、實驗?zāi)康模?/p>

      熟悉綜合運用圖形用戶界面與事件處理機(jī)制、Java的文件讀寫機(jī)制、輸入輸出流的使用、多線程、Java的異常處理、Java網(wǎng)絡(luò)編程知識,編寫一個綜合程序

      二、實驗內(nèi)容:

      利用Socket編程實現(xiàn)C/S應(yīng)用。其中,Client端為GUI程序,用于提供界面輸入兩個數(shù),并有1個“發(fā)送”按鈕,另外還有一個 TextField用于顯示傳來的計算結(jié)果;Server端用于監(jiān)聽連接請求、計算發(fā)送過來的兩數(shù)的和、送回數(shù)據(jù)結(jié)果。

      三、實驗要求:

      1.有良好的圖形用戶界面; 2.多個用戶能同時操作; 3.要有異常處理機(jī)制

      4.調(diào)試運行程序,觀察輸出結(jié)果。5.寫出實驗報告。

      四、實驗步驟:

      1、編寫服務(wù)器端程序

      2、客戶端首先設(shè)計一個圖形界面

      3、實現(xiàn)客戶端程序

      五、自做實驗

      在此程序的基礎(chǔ)上,增加相應(yīng)的功能。

      下載《程序設(shè)計實踐》課程實驗內(nèi)容(精選合集)word格式文檔
      下載《程序設(shè)計實踐》課程實驗內(nèi)容(精選合集).doc
      將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
      點此處下載文檔

      文檔為doc格式


      聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報,并提供相關(guān)證據(jù),工作人員會在5個工作日內(nèi)聯(lián)系你,一經(jīng)查實,本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

      相關(guān)范文推薦

        《C程序設(shè)計》課程實驗教學(xué)大綱(電子)

        《C程序設(shè)計》課程實驗教學(xué)大綱 (電子信息技術(shù)本科專業(yè)使用) 一、教學(xué)目標(biāo): 要求學(xué)生在掌握C語言程序設(shè)計的基本概念和語法規(guī)則的同時,掌握程序設(shè)計的基本思想和方法,培養(yǎng)學(xué)生的......

        Java程序設(shè)計課程實驗代碼及答案

        Java程序設(shè)計課程實驗 上機(jī)實踐1 初識JAVA ................................................................................................................. 3 實......

        《C語言程序設(shè)計(實踐)》課程教學(xué)大綱.

        《C語言程序設(shè)計(實踐)》課程教學(xué)大綱 一、課程的性質(zhì)和任務(wù) 課程性質(zhì):《C語言程序設(shè)計(實踐)》是多媒體技術(shù)專業(yè)《C后續(xù)課程設(shè)計課程。 本課程的任務(wù)是:通過課程設(shè)計,為學(xué)生提供......

        Scratch程序設(shè)計課程

        Scratch程序設(shè)計課程《跳舞的女孩》教學(xué)設(shè)計與反思 在Scratch編程創(chuàng)作過程中,角色形狀的變化可以通過改變造型來實現(xiàn),同時也可以通過特效模塊Scratch程序設(shè)計課程《跳舞的女......

        程序設(shè)計課程教學(xué)研究

        程序設(shè)計課程教學(xué)研究 摘要 學(xué)習(xí)計算機(jī)語言并進(jìn)行編程訓(xùn)練,是學(xué)生深入理解計算機(jī)的一個突破口,是熟悉計算機(jī)思維的一個重要途徑。但如何讓學(xué)生掌握程序設(shè)計的基本概念和基本方......

        《C程序設(shè)計基礎(chǔ)及實驗》教學(xué)大綱與課程簡介

        《C程序設(shè)計基礎(chǔ)及實驗》教學(xué)大綱 課程號:211G0020 課程名稱:《C程序設(shè)計基礎(chǔ)與實驗》 Fundamentals of Programming in C 周學(xué)時:2-2 學(xué)分:3 課程類別:通識 預(yù)修課程:大學(xué)計算機(jī)......

        《程序設(shè)計實踐》教學(xué)大綱

        課程編號:02202001 課程名稱:程序設(shè)計實踐 課程性質(zhì):專業(yè)基礎(chǔ)限選 總 學(xué) 時:30(實踐學(xué)時30)學(xué)分:2 適用專業(yè):計算機(jī)科學(xué)與技術(shù) 《程序設(shè)計實踐》教學(xué)大綱 一、教學(xué)目標(biāo) 《程序設(shè)計實......

        實驗二 定時器程序設(shè)計121

        一、 實驗?zāi)康膶W(xué)會使用單片機(jī)定時器產(chǎn)生定時中斷,并利用定時中斷產(chǎn)生更長時間延時。二、實驗設(shè)備及器件 IBM PC機(jī)一臺 DP-51PRO.NET單片機(jī)仿真器、編程器、實驗儀三合一綜......