• Tôi Yêu Lớp Tôi

    Tôi Yêu Lớp Tôi

    Cuộc sống thời học sinh thật là muôn màu, muôn vẻ, hãy để những kỹ niệm luôn in đậm trong tâm trí từng thành viên.

  • Lớp Tôi Cá Tính

    Lớp Tôi Cá Tính

    Nhớ cái thời học sinh - chúng mình thật là những cậu bé cô bé đầy tinh nghịch, phá phách và cá tính.

  • Cực Bựa

    Cực Bựa

    Bựa - Đó là chất riêng của Buê 15.

  • Cực Chất

    Cực Chất

    With B15 we are one, born to shine.

  • Lớp Tôi Đoàn Kết

    Lớp Tôi Đoàn Kết

    Điên có tổ chức, sung sức có đào tạo.

  • Kỹ Niệm Lưu Giữ

    Kỹ Niệm Lưu Giữ

    Quá khứ qua đi không bao giờ trả lại, nó chỉ nằm trong kí ức của chúng ta. Vì thế hãy nâng niu và lưu giữ cẩn thận.

Chào mừng bạn đến với SPVATLYK37.BLOGSPOT.COM!
Hiển thị các bài đăng có nhãn btphuongphapsovalaptrinh. Hiển thị tất cả bài đăng
Hiển thị các bài đăng có nhãn btphuongphapsovalaptrinh. Hiển thị tất cả bài đăng

Gợi ý giải Đề thi kết thúc học phần môn PHƯƠNG PHÁP SỐ VÀ LẬP TRÌNH - Học kỳ II - NH: 2013-2014

1 nhận xét
Câu 1: Ta có lưu đồ sau:

Câu 2:
Đáp án:
  • t=0.2
    wk=(0.2, 0.6, 1.3, 2.15)
    sum=2.15
  • t=0.3
    wk=(0.3, 0.65, 1.325, 2.1625)
    sum=2.1625
  • t=0.4
    wk=(0.4, 0.7, 1.35, 2.175)
    sum=2.175
  • t=0.5
    wk=(0.5, 0.75, 1.375, 2.1875)
    sum=2.1875

Câu 3:
Chương trình sai:
1     PROGRAM Noi suy Lagrange
2     IMPLICIT NONE
3     INTEGER::j,n
4     REAL::i,P,xnhap
5     PRINT*,'Moi ban nhap bac cua da thuc noi suy ='
6     READ*,n
7     REAL, ALLOCATABLE::x(:),y(:)
8     Do i=0,n
9         PRINT*,'moi ban nhap x_',i,'='
10         READ*,x(i)
11         PRINT*,'moi ban nhap y_',i,'='
12         READ*,y(i)
13    END DO
14    PRINT*,'Moi ban nhap diem x ma ban muon xac dinh gia tri ham'
15    READ*,xnhap
16    P=0
17    DO i=0,n
18        L=1.
19             DO j=0,n
20                 IF i/=j THEN
21             L=L*(xnhap-x(j))/(x(i)-x(j))
22                 END IF
23             END DO
24             P=P+L*y(i)
25    END DO
26    PRINT*, 'y(',xnhap,')=', P
27    END PROGRAM

Lỗi 1: Dòng 1: "PROGRAM Noi suy Lagrange", Tên chương trình không được chứa dấu cách.
  Sửa: Program NoisuyLagrange
Lỗi 2: Dòng 4: "REAL::i,P,xnhap", Biến i là biến đếm, phải là kiểu nguyên chứ không phải là kiểu thực.
  Sửa: Đưa biến i lên khai báo ở dòng 3 chung với các biến kiểu nguyên: "INTEGER::j,n,i"
Lỗi 3: Dòng 7: "REAL, ALLOCATABLE::x(:),y(:)", Phần khai báo biến phải nằm trong phần khai báo chứ không thể nằm ở phần thân chương trình.
  Sửa: Đưa dòng 7 lên ngay sau dòng 4.
Lỗi 4: Biến x, y là biến mảng động, phải được gán giá trị cho số phần tử của mảng.
  Sửa: Thêm vào ngay sau dòng 6 của chương trình dòng lệnh sau: Allocate(x(0:n),y(0:n))
Lỗi 5: Biến L chưa được khai báo biến.
  Sửa: Khai báo thêm vào dòng 4: REAL::P,xnhap, L
Lỗi 6: Dòng 20:"IF i/=j THEN", trong cú pháp câu lệnh IF thì điều kiện phải được đặt ở trong dấu ().
  Sửa: IF (i/=j) THEN

Sau đây là chương trình đã chỉnh sửa hoàn chỉnh:

1     PROGRAM NoisuyLagrange
2     IMPLICIT NONE
3     INTEGER::j,n,i
4     REAL::P,xnhap,L
5     REAL, ALLOCATABLE::x(:),y(:)
6     PRINT*,'Moi ban nhap bac cua da thuc noi suy ='
7     READ*,n
8     ALLOCATE(x(0:n),y(0:n))
9     Do i=0,n
10         PRINT*,'moi ban nhap x_',i,'='
11         READ*,x(i)
12         PRINT*,'moi ban nhap y_',i,'='
13         READ*,y(i)
14    END DO
15    PRINT*,'Moi ban nhap diem x ma ban muon xac dinh gia tri ham'
16    READ*,xnhap
17    P=0
18    DO i=0,n
19        L=1.
20             DO j=0,n
21                 IF (i/=j) THEN
22             L=L*(xnhap-x(j))/(x(i)-x(j))
23                 END IF
24             END DO
25             P=P+L*y(i)
26    END DO
27    PRINT*, 'y(',xnhap,')=', P
28    END PROGRAM

Câu 4:


Vậy phương trình có nghiệm y:
  • Tại x=0.1 là y=0.18124
  • Tại x=0.2 là y=0.26869





Bài làm trên chỉ mang tính chất tham khảo, nếu có gì sai sót mong được các bạn góp ý sửa chữa.


Read more

Đề thi kết thúc học phần môn PHƯƠNG PHÁP SỐ VÀ LẬP TRÌNH - Học kỳ II - NH: 2013-2014 - Thời gian: 90 phút

3 nhận xét
Câu 1: ( 3đ )
Vẽ lưu đồ cho chương trình EULSUM.F95 dưới đây:
PROGRAM eulsum
INTEGER::j,n
REAL::sum,t,dum,tmp
REAL,ALLOCATABLE::wk(:)
WRITE(*,*)'Input n'
READ(*,*)n
WRITE(*,*)'Input t'
READ(*,*)t
ALLOCATE(wk(n+1))
WRITE(*,*)'Input matrix wk'
READ(*,*)wk
sum=0
IF (n==1) THEN
  wk(1)=t
  sum=t/2
 ELSE
   tmp=wk(1)
   wk(1)=t
   DO j=1,n-1
     dum=wk(j+1)
     wk(j+1)=(wk(j)+tmp)/2
     tmp=dum
   END DO
   wk(n+1)=(wk(n)+tmp)/2
   IF (abs(wk(n+1))<=abs(wk(n))) THEN
     sum=sum+0.5*wk(n+1)
     ELSE
       sum=sum+wk(n+1)
   END IF
END IF
WRITE(*,*)wk,sum
END

Câu 2: ( 2đ )
Với chương trình ở câu 1, nếu các giá trị nhập vào ban đầu là: n=3; wk=(1, 2, 3, 4); t nhận một trong các giá trị sau: 0,2; 0,3; 0,4; 0,5 (SV chọn một trong các giá trị này để tính). Hãy cho biết giá trị của biến wk và sum sau khi kết thúc chương trình.

Câu 3: ( 3đ )
Hãy tìm 6 lỗi sai và đề xuất cách sửa cho chương trình dưới đây (không cần chép lại cả đề, chỉ viết lại dòng bị sai, gạch dưới chỗ bị lỗi và đề xuất cách sửa)
1     PROGRAM Noi suy Lagrange
2     IMPLICIT NONE
3     INTEGER::j,n
4     REAL::i,P,xnhap
5     PRINT*,'Moi ban nhap bac cua da thuc noi suy ='
6     READ*,n
7     REAL, ALLOCATABLE::x(:),y(:)
8     Do i=0,n
9         PRINT*,'moi ban nhap x_',i,'='
10         READ*,x(i)
11         PRINT*,'moi ban nhap y_',i,'='
12         READ*,y(i)
13    END DO
14    PRINT*,'Moi ban nhap diem x ma ban muon xac dinh gia tri ham'
15    READ*,xnhap
16    P=0
17    DO i=0,n
18        L=1.
19             DO j=0,n
20                 IF i/=j THEN
21             L=L*(xnhap-x(j))/(x(i)-x(j))
22                 END IF
23             END DO
24             P=P+L*y(i)
25    END DO
26    PRINT*, 'y(',xnhap,')=', P
27    END PROGRAM

Câu 4: ( 2đ )
Tìm nghiệm tại điểm x=0.1 và x=0.2 cho bài toán Cauchy dưới đây bằng phương pháp Euler cải tiến với bước nhảy là h = 0.1:
 \begin{cases} y'=e^{-2x}-2y+4x, 0\leq x\leq 2\\ y(0)=0.1\end{cases}

........................................Hết........................................


Read more

Bài tập phương pháp số và lập trình _ Bài 10

0 nhận xét




Read more

Bài tập phương pháp số và lập trình _ Bài 12

0 nhận xét

Chúng ta có chương trình sau:



Chạy thử chương trình:




Read more

Bài tập phương pháp số và lập trình _ Bài 11

0 nhận xét

Chúng ta có chương trình sau:



s sẽ được cộng dần với các số tự nhiên n, nếu mà s+n+1 tức cộng số liền sau n mà quá 1000 thì chương trình dừng lại. Chúng ta có số n cần tìm là 44.





Read more

Bài tập phương pháp số và lập trình _ Bài 9

0 nhận xét
Đ 9

Viết cơng trình nhập vào 3 số thực a, b, c thoả mãn điều kiện ba cạnh của mt tam giác rồi tính diện tích và bán kính đưng tròn ngoại tiếp của tam giác đó. Gi ý:Bán kính đưng tròn ngoại tiếp là (abc)/(4S), vi S diện ch tam giác.

Chúng ta có chương trình sau:




Chúng ta chạy thử với tam giác vuông có các cạnh dài 3, 4, 5 thì ta có diện tích là 6.00000 và bán kính đường tròn ngoại tiếp là 2.50000



Read more

Bài tập phương pháp số và lập trình _ Bài 8

0 nhận xét
Đ 8


Viết cơng trình nhập vào toạ độ ba điểm A(x1,y1), B(x2,y2), C(x3,y3). Nếu ba đim không thng hàng thì tính diện ch tam giác ABC, ngưc lại thì đưa ra thông báo "Ba diem A, B, C thang hang".

Chúng ta có chương trình sau:

Chương trình trên có sử dụng chương trình con để tính độ dài một đoạn thẳng khi biết tọa độ 2 điểm của đoạn thẳng đó. Chúng ta chạy chương trình sau:
Ví dụ như tam giác vuông cân có cạnh góc vuông bằng 2, có diện tích bằng 2.


Hay ba điểm thuộc đường thẳng y=x sau: (0;0), (1;1) và (6;6)






Read more

Bài tập phương pháp số và lập trình _ Bài 7

0 nhận xét
Đ 7

Viết cơng trình tính tng của các sốnguyên chn liên tiếp trong khong từ 2 đến 1000 và hiển thịkết quả lên màn hình i dạng:

TONG CAC SO CHAN TU 2 DEN 1000 LA: XXXXXX


Chúng ta có chương trình sau:



Chạy thử chương trình cho ta kết quả như sau:




Read more

Bài tập phương pháp số và lập trình _ Bài 6

0 nhận xét

Chúng ta có chương trình sau:



Chúng ta chạy thử chương trình thì có kết quả như sau:




Read more

Bài tập Phương pháp số và lập trình _ Bài 5

0 nhận xét
Đề 5: Vẽ lưu đ và viết chương trình in các số nguyên chia hết cho 13 trong khong t n1 đến n2, vi n1

và n2 nhập từ bàn phím

Chúng ta có chương trình sau:




Đối với bài này khi chạy chương trình chúng ta có nhiều trường hợp, ví dụ như sau:
Bạn nhập hai số giống nhau nhưng nó đều không chia hết cho 13.



Bạn nhập hai số giống nhau và nó đều chia hết cho 13.



Bạn nhập hai số khác nhau và khoảng giữa của chúng có các số chia hết cho 13.


Bạn nhập hai số khác nhau và khoảng giữa của chúng không có số nào chia hết cho 13.


Bạn nhập vào số lớn trước, số nhỏ sau:




Read more