




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、常用算法及數值計算(1)了解所用計算機系統的基本操作方法,學會獨立使用Turbo C系統。(2)學會在該系統上如何編輯、編譯、連接和運行一個C程序的方法。(3)通過運行簡單的C程序,進一步了解C源程序的特點、基本結構和語法規則。(4)了解和掌握如何用自然語言方式描述算法、以及通過實習學會、如何將自然語言方式描述的算法轉化為可執行的C語言程序; (5)了解排序與查找算法以及窮舉算法的過程,掌握這兩種算法所遵循的原則。 (6)通過實習進一步掌握排序與查找算法以及窮舉算法的基本思想,并能靈活應用。(7)加深對排序與查找以及窮舉算法的理解,逐步培養解決實際問題的編程能力;(8)了解數值計算中誤差的基本
2、概念和來源;(9)掌握數值計算中應注意的一些原則。(1)熟悉Turbo C的編譯環境;(2)實習前復習C語言的基本語法規則;(3)實習前復習如何用自然語言方式描述算法;(4)實習前復習排序與查找算法以及窮舉算法的基本思想與過程;(5)實習前復習有關誤差的基本概念。(1)硬件設備:單機或網絡環境下的微型計算機一臺;(2)軟件設備:DOS3.3以上操作系統,Turbo C2.0編譯器。實習一 算法的描述及實現求5!的自然語言算法描述如下:程序代碼如下:#include "stdio.h"void main()int i=2,p=1;for(i=2;i<=5;i+) p=p
3、*i; printf("%dn",p);實驗總結:在實驗過程中遇到一個問題;既是p=p*i是放在for語句前面還是for后面,兩種做法結果完全不同,經過反復調整才正確。對for語句不太熟,認真看了其他資料書后,能掌握清楚。運行結果為實習二 算法的描述及實現#include <stdio.h># define N 10 實驗時沒有定義這一句void main()int i,nN,gN;for(i=0;i<N;i+)printf("輸入學號和成績:");scanf("%d %d",&ni,&gi);for
4、(i=0;i<50;i+)if(gi>=80)printf("%d : %d/n",ni,gi);實驗總結:在這個實驗中開始沒有定義#define N 10這一句,導致會出現'N' : undeclared identifier這一句錯誤提示進過改正程序正常運行,編寫是容易遺忘。實驗三 排序與查找算法(1) 一個英語學習小組有10名學生,請將這10名學生的高考英語成績按從低分到高分的順序排列,并存放在數組a中。(2) 如果這個學習小組又加入一名同學,請從鍵盤上輸入這名學生的高考英語成績,要求按原來的規律將他插入數組a中。程序為# include
5、<stdio.h>#define N 10void exchange(int *i,int *j)int temp;temp=*i;*i=*j; *j=temp;void main() bool flag=false;int i=0,j=0,temp;int aN+1=0;printf("輸入N個同學的英語成績:n",N);for(i=0;i<N;i+)printf("a%d=",i);scanf("%d",&ai);for(i=0;i<N;i+)for(j=0;j<N-1-i;j+)if(aj&
6、gt;aj+1)exchange(&aj,&aj+1);for(i=0;i<N;i+)printf("%d",ai); printf("n");printf("%d輸入一個新同學的英語成績:n",N+1);scanf("%d",&temp);for(i=0;i<N+1;i+)if(!flag&&temp<ai)flag=true;if(flag)exchange(&temp,&ai);aN+1=temp;printf("%d插入后學
7、生的分數排列:n",N+1);for(i=0;i<N+1;i+)printf("%d",ai);printf("n"); printf("n");運行結果為如下圖:實驗總結:這個實驗的難點在怎樣插入一個數據,開始要定義兩個函數exchange和下面的一個插入程序,然后分別對兩函數進行調用。實習四 窮舉算法(1) 把一元錢換成5分,2分,1分的零錢,統計有多少種換法?# include <stdio.h>void main()int a,c,cnt=0;float b;for(a=0;a<=20;a+)
8、for(b=0;b<=(100-5*a)/2;b+)c=100-5*a-2*b; cnt+;printf("count=%dn",cnt);實驗總結:實驗過程中可以用a,b來表示c,然后根據a,b,c各自的條件來學出下面的一段程序,應該可以運行,但實際無法運行。會出現(syntax error : missing '' before identifier 'a'yntax error : 'bad suffix on number'syntax error : missing '' before iden
9、tifier 'b''-' : operator has no effect; expected operator with side-effect)這些錯誤,不知如何改正。開始的程序寫為:#include "stdio.h"void main()int a,b,c,cnt;c=100-5a-2b;for(a=0;a<=20;a+)for(b=0;b<=50;b+)if(5*a+2*b+c=100) cnt+;printf("cnt= %dn",cnt);實習五 數值計算(1) 編程計算想x/y的值,驗證絕對值很小的數做除數,而且這個很小的除數稍有一點誤差時,對計算結果卻有較大的影響。x=2.7182,y=0.001,dy=0.0001.(2) 思考題:x/y與x/(y+dy)的差是多少?程序為:#include <stdio.h>#include <math.h>void main()float x=2.7182,y=0.001,y1=0.0001,t,k,p;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 公司財務臺賬管理制度
- 生產實習年度工作報告總結(16篇)
- 行政組織行為分析及其意義試題及答案
- 網絡自動化運維工具介紹試題及答案
- 愛崗敬業的演講稿題目(20篇)
- 網絡流量監測工具試題及答案
- 2025借款抵押合同(16篇)
- 房產銷售代理及傭金結算合同
- 假想的奇幻世界探險經歷想象作文14篇
- 優美現代詩歌朗誦(18篇)
- 七年級下冊英語第三次月考試題
- 全科專業住院醫師規范化培訓全科教學查房規范
- -AAR工具的介紹課件完整版
- 藥用菊花規范化種植及深加工項目可研報告
- GB/T 41631-2022充油電纜用未使用過的礦物絕緣油
- 一起重新構想我們的未來:為教育打造新的社會契約
- 文字圖形創意課件
- 層序地層學在油氣勘探開發中的應用
- 殘疾青少年與扶持課件
- 冠脈造影術前術后的護理課件
- 青銅器的紋樣課件
評論
0/150
提交評論