程序設(shè)計(jì)實(shí)驗(yàn)報(bào)告_第1頁(yè)
程序設(shè)計(jì)實(shí)驗(yàn)報(bào)告_第2頁(yè)
程序設(shè)計(jì)實(shí)驗(yàn)報(bào)告_第3頁(yè)
程序設(shè)計(jì)實(shí)驗(yàn)報(bào)告_第4頁(yè)
程序設(shè)計(jì)實(shí)驗(yàn)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩11頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

《程序設(shè)計(jì)》試驗(yàn)匯報(bào)類與對(duì)象一、名稱:類與對(duì)象試驗(yàn)設(shè)計(jì)匯報(bào)二、問(wèn)題描述定義一個(gè)基類和多個(gè)派生類,像基本類型那樣利用這些類。三、試驗(yàn)?zāi)繕?biāo)和基本要求1、掌握類與對(duì)象關(guān)系。2、最少定義一個(gè)基類。如有理數(shù)rational或點(diǎn)形狀類型shape。3、最少定義兩個(gè)派生類。如圓類型,三角形類型或四邊形類型等。4、類定義中包含結(jié)構(gòu)函數(shù),析構(gòu)函數(shù),重載函數(shù),重載運(yùn)算符,虛函數(shù)等。5、類定義為頭文件,組員函數(shù)由源程序文件實(shí)現(xiàn)。6、像基本類型那樣應(yīng)用這些類編寫應(yīng)用程序。四、試驗(yàn)內(nèi)容1、寫一個(gè)C++程序,定義抽象基類Shape,由它派生出一個(gè)基類Point,再由Point派生出2個(gè)派生類:Circle(圓形),Rectangle(矩形)。2、用一個(gè)函數(shù)Area分別輸出以上二者面積,2個(gè)圖形數(shù)據(jù)在定義對(duì)象時(shí)給定。3、用+運(yùn)算符對(duì)矩形長(zhǎng)度,寬度重載,得到兩個(gè)矩形長(zhǎng)度和與寬度和。五、程序代碼及運(yùn)行結(jié)果1、代碼:#include<iostream.h>#include<cmath>constdoublepi=3.14;classShape//抽象基類{public:virtualvoiddisplay()=0;};classPoint:publicShape{public:voiddisplay(){};};classCircle:publicPoint{private:doubler;public:voidset(doubler){r=r;}doublearea(doubler){returnpi*r*r;}voiddisplay(){cout<<"圓面積是:"<<area(r)<<endl;}};classTectangle:publicPoint{private:doubletemp[2];doublelength;doublewidth;public:voiddisplay();doublearea(doublel,doublew){returnl*w;}voidset(doublel=0,doubler=0){temp[0]=length=l;temp[1]=width=r;}Tectangleoperator+(constTectangle&other);//函數(shù)重載voidcalculate();//輸出兩個(gè)矩形長(zhǎng)度和與寬度};voidTectangle::calculate(){for(inti=0;i<2;i++)cout<<temp[i]<<"\t";}voidTectangle::display(){cout<<"矩形面積:"<<area(length,width)<<endl;}TectangleTectangle::operator+(constTectangle&other){Tectangletect;tect.temp[0]=temp[0]+other.temp[0];tect.temp[1]=temp[1]+other.temp[1];returntect;}voidmain(){doubler,length,width;Circlecir;Tectangletect1,tect2,tect3;cout<<"請(qǐng)輸入圓形半徑r:"<<endl;cin>>r;cir.set(r);cir.display();cout<<"請(qǐng)輸入1矩形長(zhǎng)、寬:"<<endl;cin>>length>>width;tect1.set(length,width);tect1.display();cout<<"請(qǐng)輸入2矩形長(zhǎng)、寬:"<<endl;cin>>length>>width;tect2.set(length,width);tect2.display();tect3=tect1+tect2;cout<<"兩個(gè)矩形長(zhǎng)度和與寬度和分別是:"<<endl;tect3.calculate();}2、運(yùn)行結(jié)果:六、總結(jié)1、什么類和對(duì)象?類與對(duì)象關(guān)系?答:類是現(xiàn)實(shí)世界或思維世界中實(shí)體在計(jì)算機(jī)中反應(yīng),它將數(shù)據(jù)以及這些數(shù)據(jù)上操作封裝在一起。對(duì)象是具備類類型變量。類是對(duì)象模板,也是對(duì)象類型,而對(duì)象是類詳細(xì)實(shí)例。類是抽象,不占用內(nèi)存,而對(duì)象是詳細(xì),占用存放空間。2、在試驗(yàn)中大大小小碰到了很多問(wèn)題,讓我明白自己上機(jī)能力還是有所欠缺,這些問(wèn)題處理,提升了自己操作能力。經(jīng)過(guò)此次試驗(yàn),加深了對(duì)類與對(duì)象了解與掌握,收獲了很多。函數(shù)應(yīng)用一、名稱:函數(shù)應(yīng)用試驗(yàn)設(shè)計(jì)匯報(bào)二、問(wèn)題描述問(wèn)題一:利用快速弦截法求解一元三次方程根,并與弦截法進(jìn)行比較分析。問(wèn)題二:利用迭代法求解一元n次方程P(x)=QUOTE根。三、試驗(yàn)?zāi)繕?biāo)1、熟悉函數(shù)使用。2、掌握弦截法和快速弦截法使用方法。3、分析弦截法和快速弦截法區(qū)分和聯(lián)絡(luò)。4、掌握迭代法,用迭代法求解一元數(shù)次方程根。四、試驗(yàn)內(nèi)容1、用快速弦截法求解一元三次方程f(x)=QUOTE根。并與弦截法進(jìn)行比較分析。2、用迭代法求解一元三次方程f(x)=QUOTE根。五、程序代碼及結(jié)果問(wèn)題一:1、代碼:#include<iostream.h>#include<math.h>doublef(doublex){returnx*x*x-5*x*x+16*x-80;}voidKuaiSuXieJie(doublex,doubley,doublee){cout<<'\t'<<"k\t"<<"x\t"<<"x前-x后\n";doublet1,t2,z;cout<<'\t'<<"0\t"<<x<<'\n';for(intk=1;;k++){cout<<'\t'<<k<<'\t'<<y<<'\t'<<y-x<<'\n';if(fabs(y-x)<e){cout<<"結(jié)果為:"<<y<<'\n';break;}else{t1=f(x);t2=f(y);z=y-(y-x)*t2/(t2-t1);x=y;y=z;}}}voidmain(void){doublex,y,e;cout<<"輸入初始值:";cin>>x;cout<<"輸入另一個(gè)初始值:";cin>>y;cout<<"輸入精度:";cin>>e;KuaiSuXieJie(x,y,e);}2、運(yùn)行結(jié)果:?jiǎn)栴}二:1、代碼:#include<stdio.h>#include<math.h>doublef(doublex){ doubley;y=x*x*x-5*x*x+16*x-80;//輸入方程式return(y);}voidmain(){intn=0,i=2;printf("kf(x(k))\n");while(i<=100){doublea[100];n;a[0]=6;a[1]=2;a[i]=5-16/a[i-1]+80/(a[i-1]*a[i-1]);//將方程轉(zhuǎn)化為等價(jià)x=φ(x)形式if(fabs(a[i-1]-a[i-2])/a[i-1]<1e-4)break;//誤差循環(huán)條件elseprintf("%d\t%.6f\n",n++,a[i]);i++;}}2、運(yùn)行結(jié)果:六、總結(jié)1、弦截法原理是什么?弦截法與快速弦截法有什么區(qū)分答:1)、取兩個(gè)不一樣初始點(diǎn)x1,x2,使得f(x1)*f(x2)<0,這時(shí),區(qū)間(x1,x2)內(nèi)有一個(gè)根。2)、連接(x1,f(x1))與(x2,f(x2))兩點(diǎn),與X軸交點(diǎn)為x*.x*值可由以下公式求出:x*=QUOTE3)、若f(x*)f(x2)<0,則區(qū)間(

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論