資源描述:
《fortran90數(shù)組編程作業(yè)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、數(shù)組--程序設(shè)計(jì)作業(yè)數(shù)組是FORTRAN90最重要的結(jié)構(gòu)數(shù)據(jù)類型之一。許多實(shí)際問題往往設(shè)計(jì)大量的數(shù)據(jù),數(shù)組是存儲(chǔ)和處理大批量數(shù)據(jù)的有效工具,有些問題如果不用數(shù)組求解將難以解決。數(shù)組是類型相同且有序的一組數(shù)據(jù),涉及到這類數(shù)據(jù)均可考慮使用數(shù)組。本次實(shí)驗(yàn)是學(xué)習(xí)和掌握數(shù)組聲明、數(shù)組元素引用、數(shù)組輸入輸出、數(shù)組賦初值的一次系統(tǒng)實(shí)驗(yàn)活動(dòng)。通過本次實(shí)驗(yàn),能夠設(shè)計(jì)和編寫比較簡(jiǎn)單的數(shù)組應(yīng)用程序。一.實(shí)驗(yàn)內(nèi)容11.問題描述已知10個(gè)正整數(shù):10、55、25、70、45、15、25、85、45、35,輸入一個(gè)待刪除整數(shù),在10個(gè)整數(shù)中查找,若有該整數(shù),則將其刪除,輸出刪除前后這組整數(shù)。編寫程序?qū)崿F(xiàn)之。2.算法設(shè)計(jì)
2、已知的10個(gè)正整數(shù)符合數(shù)組定義,用一維整型數(shù)組num保存,用數(shù)組構(gòu)造器賦初值。待刪除整數(shù)n從鍵盤輸入。算法基本思想:輸入待刪除整數(shù),從第1個(gè)數(shù)組元素num(1)開始,依次用n去比較是否相等,若相等查找成功,將該數(shù)組元素刪除(在該數(shù)組元素位置設(shè)置刪除標(biāo)志),直到第10個(gè)數(shù)組元素檢查比較完畢。輸出刪除前后數(shù)組元素。因10個(gè)整數(shù)為正數(shù),所以刪除標(biāo)志可用-1表示。算法:(1)輸入待刪除整數(shù)n;(2)輸出刪除前10個(gè)整數(shù);(3)用n依次在數(shù)組元素num(1)、num(2)、…、num(10)中查找,查找成功置刪除標(biāo)志;(4)輸出刪除后數(shù)據(jù)。(5)結(jié)束算法第3步可用“計(jì)數(shù)型”循環(huán)結(jié)構(gòu)和DO循環(huán)語(yǔ)句實(shí)現(xiàn)。
3、3.程序編寫根據(jù)算法,設(shè)計(jì)和編寫不完整示例程序如下(請(qǐng)?jiān)谙聞澗€空白處填充正確內(nèi)容):程序8-1:?!班級(jí):????!姓名:????!時(shí)間:???-63-?!數(shù)據(jù)查詢?PROGRAMproblem01?INTEGER::num(10)=(),n?PRINT*,‘請(qǐng)輸入100以內(nèi)的一個(gè)正整數(shù):’?READ*,n?PRINT*,‘刪除前數(shù)據(jù):’?WRITE(*,100)(num(I),)?DOI=1,10?IF(n==num(I))num(I)=-1?ENDDO?PRINT*?PRINT*,‘刪除后數(shù)據(jù):’?DOI=?IF()WRITE(*,100)num(I)?ENDDO?PRINT*?100F
4、ORMAT((I3,2X))?END4.實(shí)驗(yàn)要求l分析問題,理解算法和程序,將程序填寫完整。l掌握數(shù)組聲明、數(shù)組構(gòu)造器、隱含DO循環(huán)基本概念和使用規(guī)則。l將輸入數(shù)據(jù)和輸出結(jié)果以注釋形式編輯輸入到源程序文件末尾。l(下次上機(jī)試驗(yàn))改寫程序,提高通用性(正整數(shù)個(gè)數(shù)不定,且從鍵盤輸入,數(shù)組元素最大個(gè)數(shù)max通過PARAMETER語(yǔ)句定義)。運(yùn)行輸入幾組不同數(shù)據(jù),獲得不同運(yùn)行結(jié)果。5.實(shí)驗(yàn)步驟l分析問題,理解算法和程序,完成程序填空,得到正確完整程序。l啟動(dòng)軟件開發(fā)環(huán)境MicrosoftDeveloperStudio。l編譯、構(gòu)建、運(yùn)行、調(diào)試程序。運(yùn)行時(shí)輸入數(shù)據(jù)45,得到輸出結(jié)果。l將輸入數(shù)據(jù)和輸
5、出結(jié)果以注釋形式編輯輸入到源程序文件末尾。二.實(shí)驗(yàn)內(nèi)容21.問題描述輸入一個(gè)班學(xué)生(人數(shù)≤40)的學(xué)號(hào)和3門課(英語(yǔ)、數(shù)學(xué)、物理)成績(jī),-63-計(jì)算每個(gè)學(xué)生平均成績(jī)、每門課平均成績(jī)和三門課平均成績(jī),統(tǒng)計(jì)高于每門課平均成績(jī)和三門課平均成績(jī)的學(xué)生人數(shù)和占總?cè)藬?shù)比例,輸出統(tǒng)計(jì)結(jié)果。編寫程序?qū)崿F(xiàn)之。2.算法設(shè)計(jì)問題中涉及一個(gè)班級(jí)的學(xué)生學(xué)號(hào)、3門課成績(jī)和學(xué)生平均成績(jī),這些數(shù)據(jù)符合數(shù)組定義,用五個(gè)數(shù)組存儲(chǔ)這些數(shù)據(jù)。定義以下五個(gè)數(shù)組:lnumbers:字符型數(shù)組,存儲(chǔ)學(xué)生學(xué)號(hào)。從鍵盤輸入。lenglishs:整型數(shù)組,存儲(chǔ)英語(yǔ)成績(jī)。lmaths:整型數(shù)組,存儲(chǔ)數(shù)學(xué)成績(jī)。從鍵盤輸入。lphysics:整型數(shù)
6、組,存儲(chǔ)物理成績(jī)。從鍵盤輸入。laverages:實(shí)型數(shù)組,存儲(chǔ)學(xué)生平均成績(jī)。計(jì)算獲得。計(jì)算獲得英語(yǔ)平均成績(jī)english_av、數(shù)學(xué)平均成績(jī)math_av、物理平均成績(jī)physic_av和三門課平均成績(jī)average,均為實(shí)型。從鍵盤輸入學(xué)生人數(shù)n。統(tǒng)計(jì)高于英語(yǔ)平均成績(jī)?nèi)薾1和比例p1,高于數(shù)學(xué)平均成績(jī)?nèi)薾2和比例p2,高于物理平均成績(jī)?nèi)薾3和比例p3,高于三門課平均成績(jī)?nèi)薾n和比例pp。求解算法比較簡(jiǎn)單,設(shè)計(jì)算法如下:(1)輸入學(xué)生人數(shù)n;(2)采用“計(jì)數(shù)型”循環(huán)結(jié)構(gòu)輸入學(xué)生學(xué)號(hào)和三門課成績(jī),同時(shí)計(jì)算學(xué)生平均成績(jī),統(tǒng)計(jì)英語(yǔ)、數(shù)學(xué)、物理課總成績(jī);(3)計(jì)算英語(yǔ)、數(shù)學(xué)、物理課平均成績(jī)和三門課
7、平均成績(jī);(4)采用“計(jì)數(shù)型”循環(huán)結(jié)構(gòu)統(tǒng)計(jì)高于平均成績(jī)?nèi)藬?shù)及比例(5)輸出統(tǒng)計(jì)結(jié)果(6)結(jié)束3.程序編寫根據(jù)算法,設(shè)計(jì)和編寫不完整示例程序如下(請(qǐng)?jiān)谙聞澗€空白處填充正確內(nèi)容):程序8-2:?!班級(jí):????!姓名:????!時(shí)間:????!統(tǒng)計(jì)人數(shù)及比例?PROGRAMmain?PARAMETER(max=40)?CHARACTER*5::numbers(max)?INTEGER,DIMENSION()::e