FORMAT(1X, I5 ,' LA SO LE')

Một phần của tài liệu Giáo trình Portral (Trang 93 - 94)

D On in d= ini, li m, inc

8 FORMAT(1X, I5 ,' LA SO LE')

8.2. Các hàm chương trình con

Trong thực tế lập trình giải các bài toán khoa học kỹ thuật nhiều khi đòi hỏi những hàm chưa có trong danh sách các hàm chuẩn của Fortran. Nếu tính toán hay lặp lại thường xuyên và đòi hỏi một số bước, ta nên thực hiện như là một hàm thay vì mỗi lần cần lại phải viết ra các lệnh tính toán. Fortran cho phép chúng ta tự xây dựng những hàm của riêng mình theo hai cách: hàm lệnh (statement function) và hàm chương trình con (function subprogram). Nếu tính toán có thể viết trong một lệnh gán duy nhất, thì ta sử dụng hàm lệnh; ngược lại, nếu phải thực hiện nhiều tính toán hay thao tác mới dẫn tới một giá trị kết quả, thì ta dùng hàm chương trình con.

8.2.1. Hàm lệnh

Dạng tổng quát của hàm lệnh là

Tên hàm (Danh sách đối số) = Biểu thức

Những quy tắc phải tuân thủ khi viết và dùng hàm lệnh:

1) Hàm lệnh được định nghĩa ở đầu chương trình, cùng với các lệnh khai báo kiểu dữ liệu.

2) Định nghĩa hàm lệnh gồm tên của hàm, sau đó đến các đối số nằm trong cặp dấu ngoặc đơn ở vế bên trái của dấu bằng; biểu thức tính giá trị hàm ở vế bên phải của dấu bằng.

3) Tên hàm có thể khai báo trong lệnh khai báo kiểu; nếu không thì kiểu của hàm sẽ được xác định theo cách định kiểu ẩn.

Thí dụ 23: Diện tích của tam giác có thể tính theo hai cạnh và góc xen giữa chúng:

) ( sin 0,5ì ì ì góc = cạnh 1 cạnh 2 tích Diện .

dụng một cặp cạnh và góc tương ứng.

Trong bài tập này ta phải tính diện tích tam giác ba lần, do đó có thể dùng hàm lệnh để tính diện tích tam giác. Chương trình có thể như sau: PROGRAM DTTG

REAL CA, CB, CC, A, B, C, DT, DT1, DT2, DT3, * C1, C2, GOC

DT (C1, C2, GOC) = 0.5 * C1 * C2 * SIN (GOC)

PRINT *, ' Nhap ba canh tam giac theo thu tu sau:' PRINT *, ' Canh A Canh B Canh C'

READ *, CA, CB, CC

PRINT *, ' Nhap ba goc (radian) theo thu tu sau:' PRINT *, ' Doi dien: canh A canh B canh C' READ *, A, B, C

DT1 = DT (CB, CC, A)DT2 = DT (CC, CA, B) DT2 = DT (CC, CA, B) DT3 = DT (CA, CB, C)

PRINT *

PRINT *, 'Cac dien tich tinh theo ba phuong an la:' PRINT 5, DT1, DT2, DT3

Một phần của tài liệu Giáo trình Portral (Trang 93 - 94)

Tải bản đầy đủ (PDF)

(153 trang)