Báo cáo thực hành phương pháp tính
lượt xem 76
download
Thông thường thì hàm số được xác định bằng một biểu thức tổng quát y = f(x) nào đó, ví dụ như y = x2 - 5. Tuy nhiên cũng có những hàm đặc biệt mà qui tắc cho tương ứng x với y của nó không theo bất kỳ một qui luật nào để có thể diễn đạt bằng một biểu thức toán học.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Báo cáo thực hành phương pháp tính
- Báo cáo thực hành phương pháp tính
- MỤC LỤC CHƯƠNG III: TÍNH GIÁ TRỊ HÀM .................................................................................................. 3 Bài 10: Viết chương trình xác định giá trị x1, x2 theo định lý 3 ........................................................ 14 CHƯƠNG V: GIẢI HỆ PHƯƠNG TRÌNH ................................................................................ 15 Bài 3: Viết chương trình giải hệ phương trình đại số tuyến tinh bằng phương pháp Gauss ............ 16 Thuật toán: .......................................................................................................................................... 16 Lặp i=n1............................................................................................................................................ 16 Chương trình: ...................................................................................................................................... 16 Bài 4: viết chương trình giải hệ đại số tuyến tính bằng phương pháp lặp Gauss Siedel ................... 19 Thuật toán: .......................................................................................................................................... 19 Lặp i=1 n........................................................................................................................................... 19 Lặp j=1n do ..................................................................................................................................... 19 Chương trình: ...................................................................................................................................... 19 // Thuc hien hoan chuyen hai hang cho nhau .......................................................................................... 21 S=0; ...................................................................................................................................................... 22 Bài 5: Giải phương trình đại số tuyến tính bằng phương pháp giảm dư ........................................... 22 Thuật toán: .......................................................................................................................................... 22 Chương trình: ...................................................................................................................................... 23 Thuật toán: .......................................................................................................................................... 27 Chương trình: ...................................................................................................................................... 27 Bài 8: Lập trình in ra bảng sai phân. .................................................................................................. 28 Thuật toán: .......................................................................................................................................... 28 Chương trình: ...................................................................................................................................... 29
- CHƯƠNG III: TÍNH GIÁ TRỊ HÀM Bài 3: Khai báo ( định nghĩa) hàm trong C để tính giá trị đa thức bậc n tổng quát theo sơ đồ Hoocner. Thuật toán : -Nhập vào: n,c, các hệ số ai(i= ) -Xử lý: Gán p=a0 Lặp i=1n: p=p*c+ai -Xuất kết quả: p Chương trình: #include #include #define MAX 20 /*********************************************/ float hoocner(float A[],int x,int c); /*********************************************/ void main() { float A[MAX],c; int n; do { printf("\Nhap vao bac hamso :"); scanf("%d",&n); } while(n=MAX); for(int i=0;i
- /*********************************************/ Bài 4: Viết chương trình ( có sử dụng hàm ở câu 3) nhập vào 2 giá trị a,b. Tính p(a) +p(b) Thuật toán: Sử dụng hàm đã viết ở câu 3 để làm nhưng ở đây ta gọi hàm 2 lần. Chương trình: #include #include #define MAX 20 /*********************************************/ float hoocner(float A[],int x,int c); /*********************************************/ void main() { float A[MAX],a,b; int n; do { printf("\Nhap vao bac ham so :"); scanf("%d",&n); } while(n=MAX); for(int i=0;i
- Bài 5:Viết chương trình nhập vào 2 đa thức pn (x) bậc n , pm (x) bậc m và một giá trị c. Tính pn (x) + pm (x) Thuật toán: - Nhập bậc của hai đa thức n,m - Nhập hệ số của hai đa thức bậc n, m - Nhập c - In ra hoocner( A, n, c) + hoocner( B,m,c ) // với hàm hoocner được sử dụng ở câu 3 Chương trình : #include #include #include #define MAX 20 /*************************************************/ float hoocner(float A[],int n,int m,float c); void nhap(float A[],int n); /*************************************************/ void main() { float A[MAX],B[MAX],x,a,b; int n,m,chon; printf("\n Nhap bac n cua pt1 :"); scanf("%d",&n); nhap(A,n); printf("\n Nhap bac m cua pt1 :"); scanf("%d",&m); nhap(B,m); printf("\n Nhap 1 giatri c="); scanf("%f",&x); printf("\n Giatri Pn©+Pm© =%5.2f", hoocner(A,n,n,x)+hoocner(B,m,m,x)); getch(); } /*************************************************/ float hoocner(float A[],int n,int m, float c) { //Tra ve giatri int i; float s=0; for(i=n-m;i
- printf("\n Heso A[%d]=",i); scanf("%f",&A[i]); } } /*************************************************/ Bài 6: Cho đa thức p(x) bậc n . viết chương trình xác định các hệ số của đa thức p(y+ c) theo sơ đồ Hoocner tổng quát. Thuật toán : - Nhập n, c, hệ số của đa thức ai(i= ) - hoocnertq (A, n, c) Lặp i=n 1 Lặp j=1 i Ai=Ai-1*c+Ai - In ra đa thức p(y+c) Chương trình : #include #include #include #define MAX 20 /*************************************************/ void hoocnertq(float A[],int n,float c); void inra(float A[],int n); void nhap(float A[],int n); /*************************************************/ void main() { float A[MAX], x,a,b; int n,m,chon; printf("\n Nhap vao bac cua dathuc n="); scanf("%d",&n); nhap(A,n); printf("\n Nhap vao giatri c="); scanf("%f",&x); hoocnertq(A,n,x); printf("\n Phuongtrinh P(x+%5.2f)=",x); inra(A,n); getch(); } /*************************************************/ void hoocnertq(float A[],int n,float c) { int i,j; for(i=n;i>=1;i--) for(j=1;j
- void inra(float A[],int n) { //In ra ptrinh int i; for(i=0;i0?'+':' '),A[i],n-i); } /*************************************************/ void nhap(float A[],int n) { int i; for(i=0;i eps) - Xuất s; Khai báo hàm : sin(x) - n=3; s=0; a=x; - Lặp s+=a; a*=(-(x*x)/(n*(n-1))); n+=2; trong khi |a|>eps Khai báo hàm : cos(x) - n=2; s=a=1; - Lặp a*=(-(x*x)/(n*(n-1))); s+=a; n+=2; trong khi |a|>eps Chương trình : #include #include #include
- #define MAX 20 #define eps 1e-3 /*************************************************/ float sinx(float x); float cosx(float x); float expx(float x); /*************************************************/ void main() { float x; int chon; printf("\n Muon' tinh :"); printf("\n 1. Sin(x)"); printf("\n 2. Cos(x)"); printf("\n 3. e^x"); do { printf("\n Ban chon 1-3 :"); scanf("%d",&chon); } while(chon3); printf("\n Nhap giatri x="); scanf("%f",&x); switch(chon) { case 1: printf("\n Sin(%5.2f)=%5.2f",x,sinx(x)); break; case 2: printf("\n Cos(%5.2f)=%5.2f",x,cosx(x)); break; case 3: printf("\n e^%5.2f=%5.2f",x,expx(x)); break; } getch(); } /*************************************************/ float sinx(float x) { float s,a; int n=3; s=0; a=x; do{ s+=a; a*=(-(x*x)/(n*(n-1))); n+=2; }while(fabs(a)>eps); return(s); } /*************************************************/ float cosx(float x) {
- float s,a; int n=2; s=a=1; do{ a*=(-(x*x)/(n*(n-1))); s+=a; n+=2; }while(fabs(a)>eps); return(s); } /*************************************************/ float expx(float x) { float s,a; int n=2; s=1; a=x; do{ s+=a; a*=x/n; n++; }while(fabs(a)>eps); return(s); } /*************************************************/ CHƯƠNG VI: GIẢI GẦN ĐÚNG PHƯƠNG TRÌNH Bài 7: Viết chương trình tìm nghiệm cho các dạng tổng quát : f(x)= a0xn + a1x n-1+ ...+ an-1 x + an = 0
- a.Áp dụng phương pháp chia đôi b.Áp dụng phương pháp dây cung Thuật toán: * Phương pháp chia đôi: float chiadoi(float A[],int n,float a,float b) với a, b là khoảng nghiệm. - Lặp: c= (a+b)/2 nếu f(b).f(a) > 0 thì a = c không thì b = c trong khi |a-b| >eps * Phương pháp dây cung: float daycung(float A[],int n,float a,float b) với a, b là khoảng nghiệm. - Lặp: x=a-(b-a)*f(A,n,a)/(f(A,n,b)-f(A,n,a)); nếu f(x) = = 0 trả về x ngược lại nếu f(x).f(a) eps) ngược lại lặp a=x x = a-(b-a).f(a)/(f(b)-f(a)) trong khi |x-a|>eps Chương trình: #include #include #include #define MAX 20 #define eps 1e-3 /**************************************************/ float chiadoi(float A[],int n,float a,float b); float daycung(float A[],int n,float a,float b); float f(float A[],int n,float x); /**************************************************/ void main() { float a,b,A[MAX]; int i,n; printf("Chuongtrinh tim nghiem cua pt a(0)*x^n+a(1)*x^(n-1)+...+a(n-1)*x+a(n)=0\n"); printf("Nhap vao bac pt :"); scanf("%d",&n); for(i=0;i
- printf("\nHeso A[%d]=",i); scanf("%f",&A[i]); } Do { printf("Nhap vao khoang nghiem [a,b] voi'f(a)*f(b)
- } while(fabs(x-a)>eps); } else { do { a=x; x=a-(b-a)*f(A,n,a)/(f(A,n,b)-f(A,n,a)); } while(fabs(x-a)>eps); } } return x; } Bài 8:Viết chương trình tìm nghiệm cho phương trình : ex -10x +7=0 bằng phương pháp tiếp tuyến Thuật toán: Lặp y = x; x = y - f(y)/f’(y) trong khi |y - x| > epsilon Chương trình: #include #include #include #define eps 1e-3 /*******************************************/ float f(float x); float fdh(float x); /*******************************************/ void main() { int n; float x,y; printf("\n Nhap vao giatri x="); scanf("%f",&x); do { y=x; x=y-f(y)/fdh(y); } while(fabs(y-x)>eps); printf("\n Giatri nghiem la : %10.3f",y); getch(); } /*******************************************/ float f(float x)
- { return (exp(x)-10*x+7); } /*******************************************/ float fdh(float x) { return (exp(x)-10); } /*******************************************/ Bài 9: Viết chương trình tìm nghiêm cho phương trình :x3 - x -1= 0 bằng phương pháp lặp. Thuật toán: - Khai báo hàm g(x) - Nhập nghiệm gần đúng x - Lặp y=x x = g(x) trong khi | y-x| > eps - Xuất x Chương trình: #include #include #include #define eps 1e-3 float f(float x); float lap(float x0); /******************************************/ void main() { float a; printf("\n Chuongtrinh tim nghiem pt theo pp lap"); printf("\n Nhap 1 giatri : "); scanf("%f",&a); printf("\n Nghiem gan dung' la: %7.3f",lap(a)); getch(); } /******************************************/ float f(float x) { return(exp((1.0/3)*log(x+1))); } /******************************************/ float lap(float x0) { float tmp; do {
- tmp=x0; x0=f(x0); } while(fabs(x0-tmp)>eps); return(tmp); } /******************************************/ Bài 10: Viết chương trình xác định giá trị x1, x2 theo định lý 3 Thuật toán: - Nhập hệ số của đa thức - Tìm m1 sao cho m1 = max{|ai|} với i= - Tìm m2 sao cho m2 = max{|ai|} với i= - Tìm x1= - Tìm x2= - Xuất x1, x2 Chương trình: #include #include #include #define MAX 20 void main() { int i,n; float A[MAX],max; printf("\n Nhap bac cua pt :"); scanf("%d",&n); for(i=0;i
- Thuật toán: - Nhập hàm f(x) - Nếu a[0]>0 + Tìm giá trị lớn nhất a = max{|ai|} với i= sao cho ai
- Bài 3: Viết chương trình giải hệ phương trình đại số tuyến tinh bằng phương pháp Gauss a) Nhập dữ liệu trực tiếp b) Nhập dữ liệu từ file Thuật toán: - Nhập n, aij(i= 1, n , j= 1, n 1 ) - Biến đổi A A’ (ma trận tma giác trên) Lặp i=1 n-1 + Nếu aij=0 Tìm j sao cho aij#0 (j=i+1 n) Nếu j
- scanf("%d",&n); printf("\n 1.Nhap du lieu truc tiep "); printf("\n 2.Nhap du lieu tu file "); do {printf("\n Ban chon:"); scanf("%d",&tt);} while(tt!=1&&tt!=2); switch(tt) { case 1: nhap(); Gauss(); break; case 2: input_from_file(); Gauss(); break; } printf("\n ----------------------------------------------------------------"); printf("\n Xuat nghiem ra man hinh de xem :"); xuat(); fflush(stdin); printf("\n Ban co muon tiep tuc khong (c/k)?\n"); scanf("%c",&key); if(key!='c') break; } } /*-------------------------------Cac ham con-----------------------------------*/ // Dinh nghia ham nhap du lieu tu file void input_from_file() { int i=1,j=1; FILE *fp; fp=fopen("INPUT.txt","rt"); if(fp==NULL) { printf("\n Can't open this file.Please try again."); exit(1); } else { while(!feof(fp)) { fscanf(fp,"%f",&A[i][j]); if(j==n+1) { i++; j=1; } else j++; } } fclose(fp); }
- //ham nhap du lieu truc tiep void nhap() { for(int i=1;i
- // Thuc hien hoan chuyen hai hang cho nhau for(k=1;k
- int n; void nhap(); void input_from_file(); void xuat(); int Gauss_S(); /*----------------------------Chuong trinh chinh--------------------------------*/ void main() {int tt;char key;int dem; while(1) { printf("\n------------------------He Phuong trinh--------------------------"); printf("\n Moi ban nhap n.Theo ma tran de bai ban nhap n=:"); scanf("%d",&n); printf("\n 1.Nhap du lieu truc tiep "); printf("\n 2.Nhap du lieu tu file "); do {printf("\n Ban chon:"); scanf("%d",&tt);} while(tt!=1&&tt!=2); switch(tt) { case 1: nhap(); dem=Gauss_S(); break; case 2: input_from_file(); dem=Gauss_S(); break; } printf("\n ----------------------------------------------------------------"); if(dem
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Quản lý và xử lý chất thải rắn - Chương 8
48 p | 375 | 151
-
Kỹ thuật phân tích cảm quan thực phẩm - Chương 3
14 p | 400 | 144
-
Báo cáo: ứng dụng hóa học vào đời sống
23 p | 544 | 142
-
Bài giảng Kỹ thuật phân tích cảm quan thực phẩm - Chương 3
19 p | 241 | 82
-
Bài giảng học Kỹ thuật phân tích cảm quan thực phẩm - Chương 3
9 p | 186 | 62
-
Cơ sở viễn thám-Chương 8
69 p | 313 | 44
-
Báo cáo thực hành vật lý chất rắn - Bài số 2 Đường cong từ trễ của vật liệu sắt từ
7 p | 215 | 17
-
Nghiên cứu xử lý nước thải nhiễm dầu mỡ bảo quản vũ khí bằng phương pháp vi sinh
5 p | 106 | 10
-
Tính toán diện tích thực của bề mặt thửa đất trên bản đồ địa chính ở khu vực đồi, núi
8 p | 322 | 7
-
Hướng dẫn đạo đức trong thực hành thống kê
7 p | 27 | 3
-
Những tác động của Taxol lên việc bảo quản lạnh tế bào trứng bò trưởng thành bằng phương pháp thủy tinh hóa
7 p | 49 | 2
-
Hiệu chỉnh tự động dự báo nhiệt độ các thành phố từ đầu ra mô hình IFS
7 p | 51 | 1
-
Hướng dẫn thực hành Quản lý môi trường: Phần 1 - Cao Trường Sơn
32 p | 4 | 1
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn