Ng«n ng÷ lËp tr×nh FORTRAN 90 Phan V¨n T©n Ch¬ng 1 Nh÷ng yÕu tè c¬ b¶n cña ng«n ng÷ FORTRAN 1 1 S¬ lîc vÒ ng«n ng÷ lËp tr×nh FOTRAN • TËp hîp c ç qui t¾c ®Æc biÖt ®Ó m∙ ho¸ nh÷ng kiÕn thøc cho m y̧[.]
Ng ônng ữlậptrìnhFORTRAN90 PhanVănTân Chương 1.Những yếutố c ơbảnc ủang ônng ữ FORTRAN 1.1 Sơlược ngôn ngữlập trình FOTRAN ã Tập hợp quitắc đặc biệt để mho kiến thức cho máy tính hiểu gọi ng ônng ữlập trình ã Có nhiều ngôn ngữlập trình: FORTRAN, BASIC, Pascal, C, ã FORTRAN tên cấu tạo từ FORmula TRANslation (công thức dịch), ngôn ngữlập trình bậc cao ã ý tưởng FORTRAN J ohn Backus đề xuất vào khoảng cuối năm 1953, New York, chương trình FORTRAN đà chạy vào tháng năm 1957 ã Năm 1966 lần phiên chuẩn ngôn ngữlập trình ấn hành: FORTRAN 66 ã Phiên chuẩn mới, Fortran 77, ấn hành vào năm 1978 ã Phiên chuẩn FORTRAN 90 (hoặc Fortran 90), đời vào tháng năm 1991 ã Cho đến đà có phiên khác, FORTRAN 95, FORTRAN 2000 ã FORTRAN có nhiều biên dịch dòng khác nhau, làm việc hệ điều hành khác nhau: DOS, WINDOWS, UNIX, LINUX, 1.2 Chạy chương trình Fortran ã Yêu cầu phải có phần mềm biên dịch FORTRAN phù hợp với hệ điều hành máy tính đà cài đặt vào máy tính, vận hành bình thường ã Làm quen dần đến sử dụng thành thạo biên dịch: Cách vận hành, cách biên tập lời chư ơng trình, cách dịch kiểm tra lỗi, cách chạy chư ơng trình, ã Trước hết hÃy thử làm việc với chương trình đơn giản, cố gắng hiểu rõ chương trình hoạt ®éng nh thÕ nµo ! Vi du ! Loi Chao mung! CHARACTER NAME*20 PRINT*, 'Ten ban la gi?' READ*, NAME PRINT*, 'Xin chao ban ', NAME END Khi ch¹y chương trình nhận được: Ten ban la gi? THANH Xin chao ban THANH 174.6 ( t 1981.2 )3 !VÝ dụ 2: Tính giá trị hàm A(t)= ! cho vào giá trị biến t PROGRAM VD2 ! Tinh gia tri ham A(t) INTEGER T ! gia tri bien t REAL A ! gia tri ham A(t) PRINT*,’Cho gia tri cua bien t:’ READ*, T A =174.6 * (T - 1981.2) ** PRINT*,'Gia tri ham A(t) t=', T, ' la :', A END Khichạychươngtrìnhs ẽđược: Cho gia tri cua bien t: 2000 Gia tri ham A(t) t=2000 la : 1.1601688E+06 VÝ dơ 3: Gi¶ sư bạn có $1000 gửi tiết kiệm ngân hàng, với tiền lÃi 9% năm Hỏi sau năm số tiền bạn bao nhiêu? Nếu lập trình cho máy tính ta hÃy tưởng tượng bư ớc thực hiƯn cđa m¸y nh sau: NhËn sè liƯu (sè tiền gửi ban đầu lÃi suất) Tính tiền l·i (9% cđa 1000, tøc 90) Céng tiỊn l·i vµo sè tiỊn gèc (90+1000, tøc 1090) In (hiĨn thị) số bạn có ã Lời chương trình: PROGRAM TinhTien REAL TienGoc, TienLai, LaiSuat TienGoc =1000 LaiSuat =0.09 TienLai =LaiSuat * TienGoc TienGoc =TienGoc +TienLai PRINT*, ‘So tien se có la : ', TienGoc END Chạy chương trình ý không đòi hỏi đầu vào (input) từ bàn phím (Tại sao?) Kết 1.0900000E+03 (1090) Tómtắt ã Chương trình máy tính tập hợp kiến thức mà hoá để giải vấn đề riêng biệt ã Lệnh READ* Fortran để nhận dữliệu đư a vào cho máy tính ã Lệnh PRINT* Fortran để in (hiển thị) thông báo dẫn hướng cho người dùng kết tính toán, xử lý 1.3 Cấu trúc chung chương trình FORTRAN [PROGRAM Te nChuongTrinh] [Caccaule nhKhaibao] [Caccaule nhthuchie n(thanChuongtrinh)] END [PROGRAM [Te nChuongTrinh]] ã Caccaule nhKhaibao:Khai báo để chương trình cấp phát nhớ, phân luồng xử lý, ã Caccaule nhthuchie n: Qui tắc trình tự thực tính toán, xử lý để đạt kết ã END câu lệnh bắt buộc phải có Cách đặt tên cho biến ã Chương trình FORTRAN làm việc thông qua biến hằng, vùng nhớ cấp phát để lưu giữcác giá trị trình tính toán, chúng gán Tê ng ọi theo qui ước ã Tên biến, tên dÃy ký tự viết liền nhau, bao gồm chữcái tiếng Anh chữsố dấu gạch dưới, p hảib ắtđầub ằng m ộ tc hữc ái, không phân biệt chữthường, chữhoa (A, B, C, , a, b, c) • VÝ dơ: Tên hợp lệ Tên không hợp lệ DienTich Dien tich Tien2003 2003Tien AB A,B DoLa $ B¶ng m· ASCII B¶ng mà ASCII 1.4 Cấu trúc câu lệnh ã Từ khóa: REAL, PRINT, READ, ã Câu lệnh gán: VếTrái=VếPhải VếTrái:Tên biến, Tên VếPhải: Giá trị, Biểu thức – VÝ dô: Tie nGoc = 1000 ; Tie nLai = LaiS uat * Tie nGoc ã Các câu lệnh với từ khóa: Ví dụ: R EAD*, T ; PR INT*, ‘S o tie n s e cã la : ', Tie nGoc ã Sử dụng dấu cách (SpaceBar) câu lệnh ã Lời thích chương trình ã Dòng nối tiếp Gán nhÃn cho câu lệnh ã Trong chương trình, câu lệnh gán nhn số ng uyêndương nằm khoảng 99999 ã NhÃn ghi đầu dòng lệnh, cách nội dung câu lệnh dấu cách ã NhÃn câu lệnh dùng để đánh địa câu lệnh, nhờ chương trình chuyển điều khiển đến câu lệnh cần thiÕt • VÝ dơ: 10 PRINT*,’Cho mät so nguyen duong: ‘ PRINT*, ‘Sai so lieu Hay nhap lai.’ GOTO 10 Qui ước biên tập chương trình: ã Đối với FORTRAN 77: Tên file chương trình có phần mở rộng *.FOR, *.F Một dòng chương trình có tối đa 72 ký tự: ã Cột 1-5: Dùng để đánh Nhn câu lệnh (1-99999) Nếu nhÃn thìđểtrố ng ã Cột 6:Đánh dấu dòng nối tiếp câu lệnh ã Cột 7-72: Nội dung câu lệnh Dòng thích: ã Bất kỳ dòng lệnh có ký tự C c cột đư ợc xem dòng thích ã Phần dòng lệnh nằm phía sau dấu chấm than ( ! ) đư ợc hiểu lời thích ã Có thể sử dụng cột 73-80 dòng làm thích ã Khi gặp phần thích chương trình dịch bỏ qua ã Đối với FORTRAN 90: Tên file chương trình có phần mở rộng *.f90, *.F90 Đối với MicroSoft FORTRAN, dòng chương trình dài tời 7200 ký tự, có nhiều câu lệnh, câu lệnh cách dấu chấm phẩy (;) ã Lời chương trình cột ã Nếu không muốn đề dòng lệnh dài dùng ký tự (&) cuối dòng để ngắt dòng lệnh xuống dòng Lời thích: ã Bất kỳ dòng lệnh phần dòng lệnh nằm phía sau dấu chấm than (!) xem lời thích ã Khi gặp phần thích chương trình dịch bỏ qua Phong cách lập trình ã Phong cách lập trình thể tính chất nghiêm túc, tư lôgic người lập trình ã Những điều nên làm: Khi viết chương trình nên sử dụng chữthường, chữ hoa để dễ theo dâi – Dïng lêi chó thÝch ®Ĩ ghi chó, giải thích nội dung đoạn mà chương trình Nên phân cấp câu lệnh để bố trí xếp thụt, thò cho hợp lý, dễ kiểm soát Đặt tên biến cho mang tính gợi nhớ, không dài, không ngắn Sử dụng dấu cách cách thích hợp để nhìn chư ơng trình sáng sủa, đẹp đẽ 1.5 Các Kiểu liệu ã Một cách tương đối FORTRAN định nghĩa hai kiểu dữliệu cơbản KiểuS ố KiểuKhông p h¶i s è : – KiĨu S è : REAL (sè thùc), INTEGER (số nguyên), COMPLEX (số phức) KiểuKhông p hảis ố : CHARACTER (ký tự), LOGICAL (lôgic) ã Tùy theo kiểu dữliệu mà biến/hằng chiếm dung lượng nhớ tương ứng ã Dung lượng nhớ mà biến chiếm giữxác định số b y te cấp phát ã 1b y te =8b it Kiểu D÷liƯu INTEGER INTEGER *1 INTEGER *2 INTEGER *4 Sè byte chiếm giữ Miền giá trị hợp lệ 2,147,483,648 2,147,483,647 –128 127 –32,768 32,767 –2,147,483,648 2,147,483,647 –3.4028235E+38 –1.1754944E–38 (6) +1.1754944E–38 to +3.4028235E+38 (6) –1.797693134862316D+308 –2.225073858507201D–308 +2.225073858507201D–308 +1.797693134862316D+308 DOUBLE PRECISION REAL REAL *4 REAL *8 COMPLEX COMPLEX *4 COMPLEX *8 DOUBLE COMPLEX 8 16 16 (mét cỈp hai sè thùc byte) (mét cỈp hai sè thùc byte) ... ữ FORTRAN 1.1 Sơlược ngôn ng? ?lập trình FOTRAN ã Tập hợp quitắc đặc biệt để mho kiến thức cho máy tính hiểu gọi ng ônng ? ?lập trình ã Có nhiều ngôn ng? ?lập trình: FORTRAN, BASIC, Pascal, C, ã FORTRAN. .. dịch), ngôn ng? ?lập trình bậc cao ã ý tưởng FORTRAN J ohn Backus đề xuất vào khoảng cuối năm 1953, New York, chương trình FORTRAN đà chạy vào tháng năm 1957 ã Năm 1966 lần phiên chuẩn ngôn ng? ?lập trình. .. hành: FORTRAN 66 ã Phiên chuẩn mới, Fortran 77, ấn hành vào năm 1978 ã Phiên chuẩn FORTRAN 90 (hoặc Fortran 90) , đời vào tháng năm 1991 ã Cho đến đà có phiên khác, FORTRAN 95, FORTRAN 2000 ã FORTRAN