Fortran

Fortran (hay FORTRAN) là một ngôn ngữ lập trình biên dịch, tĩnh, kiểu mệnh lệnh được phát triển từ thập niên 1950 và vẫn được dùng nhiều trong tính toán khoa học hay phương pháp số cho đến hơn nửa thế kỷ sau đó.

Tên gọi này ghép lại từ tiếng Anh Formula Translator/Translation nghĩa là dịch công thức. Các phiên bản đầu có tên chính thức là FORTRAN, nhưng chữ hoa được chuyển sang chữ thường từ phiên bản Fortran 90. Tiêu chuẩn quốc tế cho tên gọi này ngày nay là "Fortran".

Fortran
Fortran
The Fortran Automatic Coding System for the IBM 704 (ngày 15 tháng 10 năm 1956), the first Programmer's Reference Manual for Fortran
Mẫu hìnhMulti-paradigm programming language: Lập trình cấu trúc, Imperative programming (Lập trình thủ tục, Lập trình hướng đối tượng), Generic programming
Thiết kế bởiJohn Backus
Nhà phát triểnJohn Backus & IBM
Xuất hiện lần đầu1957
Phiên bản ổn định
Fortran 2008 (ISO/IEC 1539-1:2010) / 2010
Kiểm tra kiểuKiểu mạnh và kiểu yếu, Type system, Manifest typing
Phần mở rộng tên tập tin.f, .for, .f90, .f95
Trang mạngfortran-lang.org
Các bản triển khai lớn
Absoft Fortran Compilers, Cray, Gfortran, G95, IBM, Intel Fortran Compiler, Hitachi, Lahey/Fujitsu, Numerical Algorithms Group, Watcom C/C++ compiler, PathScale, The Portland Group, Silverfrost FTN95, Oracle Solaris Studio, Visual Fortran, others
Ảnh hưởng từ
Speedcoding
Ảnh hưởng tới
ALGOL 58, BASIC, C (ngôn ngữ lập trình), PL/I, PACT (compiler), MUMPS, Ratfor

Fortran được phát triển ban đầu như là một ngôn ngữ thủ tục. Tuy nhiên các phiên bản mới của Fortran (từ Fortran 90) đã có các tính năng hỗ trợ lập trình hướng đối tượng.

Lịch sử Fortran

Một số phiên bản Fortran tiêu biểu:

  • Fortran IV
  • Fortran 77
  • Fortran 90
  • Fortran 95
  • Fortran 2003

Cú pháp Fortran

Các phiên bản cũ hơn cho đến Fortran 77 có sử dụng định dạng theo cột (fixed column) theo quy định:

  • Cột thứ 7 đến 72 dành cho các câu lệnh
  • Cột thứ 1 đến 5 dành cho nhãn lệnh. Nhãn lệnh là những số nguyên đứng đầu dòng lệnh, và trong Fortran không nhất thiết phải theo thứ tự tăng dần.
  • Cột thứ 6 dành cho ký tự nối dòng (nếu cần thiết).

Các phiên bản mới hơn (từ Fortran 90 trở đi) cho phép dùng định dạng tự do (free-form), không có ràng buộc về vị trí các cột trong chương trình. Dưới đây sẽ trình bày một số ví dụ cú pháp theo định dạng tự do này.

Lệnh gán

Dạng của lệnh gán tương tự như ngôn ngữ lập trình BASIC:

! Tên_biến = Giá_trị A = 5 LoiChao = "Hello" 

Lệnh gọi chương trình con

Các chương trình con được gọi bằng lệnh CALL:

! CALL tenCTC tham_so1, tham_so2,... 

Các cấu trúc

    Rẽ nhánh
IF T > 1.0 THEN    W = 23.7 * T ELSE    W = 23.7 * (T ** 0.75) END IF 
    Lặp
DO I = 1, N    B(I) = 2.8 * (I - 0.3) END DO 

Ví dụ Fortran

Chương trình "Hello world"

Chương trình "Hello world" có thể chạy được sau khi dịch bằng bất cứ trình dịch nào kể từ Fortran 90 trở đi.

program helloworld print*,"Hello world" end program helloworld 

Chương trình tìm diện tích hình trụ

Chương trình này, tính diện tích của hình trụ, chạy khi được dịch bởi bất cứ trình dịch nào kể từ Fortran 90 trở đi. Các chữ đứng sau dấu ! trên cùng dòng sẽ không được dịch, và coi như chú thích của người viết chương trình, để giúp người đọc dễ hiểu hơn.

program HinhTru ! Tinh dien tich Hinh tru. ! ! Khai bao bien. implicit none ! Yeu cau moi bien can duoc khai bao -- danh cho Fortran 90. integer:: Loi real:: BanKinh,ChieuCao,DienTich real, parameter:: Pi = 3.14159 do    ! Nhac nguoi dung nhap Ban kinh va Chieu cao.    write (*,*) "Nhap Ban kinh va Chieu cao, nhan 't' de thoat."    read (*,*,iostat=Loi) BanKinh,ChieuCao    !     ! Neu khong nhap duoc, thoat.    if (Loi /= 0) stop "thoat"    !    ! Tinh dien tich. Ky hieu ** nghia la "luy thua".    DienTich = 2*Pi*(BanKinh**2 + BanKinh*ChieuCao)    !    ! Viet (BanKinh, ChieuCao) va (DienTich) ra man hinh.    write (*,"(1x,'BanKinh=',f6.2,5x,'ChieuCao=',f6.2,5x,'DienTich=',f6.2)") BanKinh,ChieuCao,DienTich end do end program HinhTru 

Chú ý: câu lệnh

 write (*,"(1x,'BanKinh=',f6.2,5x,'ChieuCao=',f6.2,5x,'DienTich=',f6.2)") BanKinh,ChieuCao,DienTich 

có sử dụng khai báo định dạng trong Fortran. Có thể giải thích sơ lược như sau:

  • 1x nghĩa là một ký tự trống. Số ký tự trống cần in ra đi trước chữx.
  • f6.2 tương ứng với số thực có 6 chữ số, trong đó 2 chữ số trong phần thập phân.

Kiểu định dạng chuỗi này của riêng Fortran, nó rất khác so với chuẩn định dạng printf của ngôn ngữ lập trình C vốn được sử dụng rộng rãi.

Tham khảo

  • Adams, Jeanne; Brainerd, Walter; Martin, Jeanne; Smith, Brian; Wagener, Jerrold (1997). Fortran 95 Handbook: Complete ISO/ANSI Reference. MIT Press.
  • Metcalf, Michael; Reid, John; Cohen, Malcolm (2004). Fortran 95/2003 Explained. Oxford University Press.
  • Nyhoff, Larry; Leestma, Sanford (1995). FORTRAN 77 for Engineers and Scientists with an Introduction to FORTRAN 90. 4th Edition. Prentice Hall. ISBN 0-13-363003-X.
  • ANSI X3.198-1992 (R1997), Programming Language "Fortran" Extended. Xuất bản bởi ANSI.

Liên kết ngoài

Chung chung

Các chương trình Fortran ví dụ

(bằng tiếng Anh)

Trình dịch Fortran có bản quyền thương mại

Trình dịch Fortran tự do

Tags:

Lịch sử FortranCú pháp FortranVí dụ FortranFortranLập trình mệnh lệnhNgôn ngữ lập trìnhPhương pháp sốThập niên 1950

🔥 Trending searches on Wiki Tiếng Việt:

Tôn Đức ThắngQuảng ĐôngPhenolPhan Đình TrạcChiến cục Đông Xuân 1953–1954Dương Văn MinhSécHKT (nhóm nhạc)Tài xỉuNguyễn Chí VịnhQuảng NgãiMẹ vắng nhà (phim 1979)Hùng VươngĐông Nam ÁSaigon PhantomReal Madrid CFThái NguyênKinh tế Trung QuốcMùi cỏ cháyThành phố Hồ Chí MinhSteve JobsLê Ánh DươngQuân chủng Hải quân, Quân đội nhân dân Việt NamGấu trúc lớnThái BìnhNhà bà NữMười hai vị thần trên đỉnh OlympusFakerNgười ChămMinh Lan TruyệnAcid aceticTrần Quốc ToảnKhang HiHệ Mặt TrờiQuần thể danh thắng Tràng AnTạ Đình ĐềĐiện Biên PhủQuân khu 5, Quân đội nhân dân Việt NamVladimir Vladimirovich PutinTiền GiangĐêm đầy saoLâm ĐồngPhố cổ Hội AnHà NamĐội tuyển bóng đá quốc gia Việt NamCampuchiaLương Thế VinhBạo lực học đườngTwitterThượng HảiĐội tuyển bóng đá U-23 quốc gia Thái LanCô SaoNhật BảnNguyễn Tấn DũngTrương Thị MaiDanh sách đảo Việt NamChế Lan ViênIndonesiaLạc Long QuânTần Thủy HoàngNgô QuyềnBắc GiangBà Rịa – Vũng TàuNhà Hậu LêPhạm TháiNguyễn Trung TrựcBáo động khẩn, tình yêu hạ cánhLịch sử Chăm PaHang Sơn ĐoòngVũ Đức ĐamHàn TínBài Tiến lênBùi Vĩ HàoSa PaĐại Việt sử ký toàn thưThời bao cấpThiên địa (trang web)El NiñoThomas Edison🡆 More