Bài thực hành môn Phương pháp tính

BÀI THỰC HÀNH PHƯƠNG PHÁP TÍNH  
Bài số 1.  
• Viết chương trình tính giá trị đa thức p(x) bậc n tổng quát theo sơ đồ Hoocner.  
• Thuật toán:  
- Nhập : bậc đa thức n, giá trị cần tính c, các hệ số ai ()  
- Xử lý: Gán p = a0  
Lặp i = 1 n : p = p * c + ai  
- Xuất kết quả: p  
• Viết chương trình thực hiện:  
• Khai báo (định nghĩa) hàm tính giá trị đa thức p(x) bậc n tổng quát theo sơ đồ Hoocner  
• Nhập vào đa thức p(x) bậc n và 2 giá trị thực y, z. Tính:  
• S1 = p(y) + p(z)  
• S2 = p(1) + p(2) + … + p(n)  
• Nhập vào 2 đa thức pn(x) bậc n, pm(y) bậc m và giá trị c. Tính pn(c) + pm(c)  
• 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, ai (i = )  
- Lặp k = n → 1  
Lặp i = 1 → k : ai = ai-1 * c + ai  
- Xuất : ai (i = )  
• Viết chương trình tìm nghiệm gần đúng cho phương trình có dạng tổng quát:  
f(x) = a0xn + a1xn-1 + … + an-1x + an = 0 bằng phương pháp chia đôi  
• Thuật toán:  
- Khai báo f(x) là hàm tính giá trị đa thức bậc n  
- Nhập khoảng nghiệm a, b sao cho f(a)<0 và f(b)>0  
- Lặp  
c = (a+b)/2  
nếu f(c) > 0 b = c  
ngược lại a = c  
trong khi (f(c)> ) /* a - b > và f(c) != 0 */  
- Xuất nghiệm: c  
Bài số 2.  
• Viết chương trình tìm nghiệm gần đúng cho phương trình có dạng tổng quát:  
f(x) = a0xn + a1xn-1 + … + an-1x + an = 0 bằng phương pháp dây cung  
• Thuật toán:  
- Khai báo hàm f(x) là hàm tính giá trị đa thức bậc n  
- Nhập khoảng nghiệm a, b  
- Tính x = a – (b-a)f(a) / (f(b)-f(a))  
- Nếu f(x)*f(a) <0  
Lặp b = x  
x = a – (b-a)f(a) / (f(b)-f(a))  
trong khi x - b>  
Ngược lại  
Lặp a = x  
x = a – (b-a)f(a) / (f(b)-f(a))  
trong khi x - a>  
- Xuất nghiệm: x  
• Viết chương trình tìm nghiệm cho phương trình ex - 10x + 7 = 0 (có thể thay phương trình khác)  
bằng phương pháp tiếp tuyến.  
• Thuật toán:  
- Khai báo hàm f(x), hàm fdh(x) tính f’(x)  
- Nhập xấp xỉ nghiệm ban đầu x ϵ khoảng nghiệm a,b  
- Lặp y= x  
x = y – f(y)/fdh(y)  
trong khi x - y>  
- Xuất nghiệm: x (hoặc y)  
• Viết chương trình giải hệ đại số tuyến tính bằng phương pháp Gauss  
• Thuật toán:  
- Nhập n, aij () (nhập trực tiếp hoặc từ file)  
- Biến đổi A A’ (ma trận tam giác trên)  
Lặp i = 1 n -1  
Tìm j sao cho aji # 0 , j = i+1n  
• Nếu aii = 0  
Nếu j<=n thì hoán đổi dòng i và dòng j cho nhau  
ngược lại thì kết thúc (vì dữ liệu ko hợp lệ)  
• Lặp j = i + 1 n  
m = -aji /aii  
Lặp k = i n +1 ajk = ajk + aik * m  
- Tìm nghiệm  
( i =n 1)  
Lặp i = n 1  
s = 0  
lặp j = i + 1 n s = s + aij * xj  
xi = (ain+1 - s)/aii  
- Xuất vectơ nghiệm: xi (i=1n)  
• 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  
• Thuật toán:  
- Nhập n, aij (i=1 n, j=1 n+1) (nhập trực tiếp hoặc từ file)  
- Nhập xấp xỉ nghiệm ban đầu: xi (i =1n)  
- Lặp  
t = 0 /* cho thoat */  
lap i = 1 n  
{ s = 0  
lap j = 1 n do  
if (j i) s = s + aij * xj  
yi = (ain + 1 - s ) / aii  
if ( | yi – xi | > = ) t =1 /* cho lap */  
xi = yi }  
trong khi (t)  
- Xuất vectơ nghiệm: xi hoặc yi (i =1n)  
Bài số 3.  
• Cho hàm f(x) thoả mãn bảng giá trị:  
x
x0 x1 x2 … … xn  
y0 y1 y2 … … yn  
f(x)  
Viết chương trình tính giá trị hàm f(x) tại điểm x=t cho trước (t ϵ [x0, xn], dùng bảng nội suy  
Ayken dạng 1)  
• Thuật toán:  
- Nhập: n, xi, yi (i = 0n), t  
- w = 1; s = 0;  
- Lặp i = 0 n  
{ w = w*(t - xi)  
d = t - xi  
Lặp j = 0 n  
Nếu j != i thì d = d * (xi - xj)  
s = s + yi/d }  
- Xuất kết qủa: w*s  
• Viết chương trình tính gần đúng tích gần đúng phân xác định của hàm f(x) trên đoạn [a, b] trong  
3 trường hợp:  
• Áp dụng công thức Hình thang  
• Thuật toán:  
• Khai báo hàm f(x)  
• Nhập a, b, n (số đoạn cần chia)  
• Tính h = (b-a)/n, J = (f(a) + f(b))/2  
• Lặp i = 1 n-1 : J+ = f(a+i*h)  
• Xuất kết quả : h*J  
• Áp dụng công thức Parabol  
• Thuật toán:  
• Khai báo hàm f(x)  
• Nhập a, b, n (số đoạn cần chia)  
• Tính h = (b-a)/2n, J = f(a) + f(b)  
• Lặp i = 1 2n-1  
if (i%2) J+ = 4*f(a+i*h)  
else J+ = 2*f(a+i*h)  
• Xuất kết quả : h*J /3  
• Áp dụng công thức Newton-cotet  
i
• Thuật toán: Dùng file heso.txt lưu trữ các giá trị pn  
• Khai báo hàm f(x)  
• Nhập a, b, n (số đoạn cần chia)  
• Quét dòng n của file heso.txt và gán cho pi (i=0,1, …n)  
• J = 0  
• Lặp i = 0 n : J = J + yi*pi  
• Xuất kết quả : (b-a)*J  
• Viết chương trình (có sử dụng hàm) tính gần đúng tích phân xác định trên đoạn [a, b] của một số  
hàm cụ thể (trong đó có hàm đa thức bậc n) theo 3 cách (tương ứng với 3 công thức trên). So  
sánh kết quả, nhận xét.  
doc 5 trang myanh 20340 Free
Bạn đang xem tài liệu "Bài thực hành môn Phương pháp tính", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • docbai_thuc_hanh_mon_phuong_phap_tinh.doc