Giáo trình “Ngôn ngữlập trình Fortran và ứng dụng trong khí tượng thủy văn” là tập hợp những bài học cơsởvềlập trình mà tác giả đã dạy trong một sốnăm
gần đây cho sinh viên các ngành khí tượng học, thủy văn và hải dương học ởTrường đại học Khoa học Tựnhiên, Đại học Quốc gia Hà Nội.
Sách này nhằm giới thiệu cho sinh viên lần đầu tiên học lập trình những khái niệm cơbản vềlập trình máy tính, tóm tắt những yếu tốcơbản và các lệnh thông
dụng, đặc điểm sửdụng chúng trong ngôn ngữlập trình Fortran. Mục tiêu cuối cùng là giúp sinh viên làm quen với các phương pháp xây dựng thuật giải các bài toán
thông dụng của toán học tính toán, thống kê toán học và xửlý sốliệu, rèn luyện kỹnăng lập trình đểgiải những bài toán xửlý và phân tích sốliệu, tính toán ứng
dụng ởmức độban đầu trong thời gian học tập và nghiên cứu ởtrường đại học.
Những thí dụvà hệthống bài tập tựluyện trong sách này có ý nghĩa minh họa, hướng sinh viên tới vận dụng các lệnh của Fortran đểviết ra những chương trình
ứng dụng nho nhỏcó tính cụthể, bước đầu làm quen với những đặc thù xửlý dữliệu quan trắc trong chuyên môn khí tượng thủy văn. Những đặc điểm khác của nội
dung ứng dụng lập trình trong các chuyên ngành này nhưquản lý cơsởdữliệu, các phương pháp thống kê hiện đại, các phương pháp giải sốtrịnhững bài toán động
lực khí quyển, đại dương. chưa được đềcập ở đây do khuôn khổkiến thức chuyên môn của người học, đó là đối tượng của các môn học chuyên đềkhác của
chương trình học tập, nhưng từ đây đến đó thực ra cũng không xa.
Vì là tài liệu học tập vềlập trình cơsở, nội dung ngôn ngữtrong sách này cũng không bao quát hết những yếu tốtrong thếgiới to lớn của Fortran. Nên bắt đầu
bằng những gì đơn giản nhưng được việc. Một khi người học bắt đầu biết lập trình, thấy được ứng dụng máy tính có ích trong học tập và nghiên cứu của mình sẽnảy
sinh nhu cầu tìm hiểu và khai thác Fortran trong rất nhiều tài liệu tra cứu và sách chuyên khảo khác hoặc hệthống trợgiúp sẵn có của Fortran.
Nhưvậy, sách này không chỉlà tài liệu học tập cho những sinh viên các chuyên môn khí tượng thủy văn, mà có thểcó ích cho sinh viên, học viên cao học nhiều
chuyên ngành khác hoặc bất kì ai muốn tựhọc lập trình máy tính một cách nhẹnhàng.
Trong sách này, mỗi chương được cấu tạo nhưmột bài học. Mỗi chuyên từ, khái niệm xuất hiện lần đầu đều được in nghiêng, các câu lệnh được in chữhoa đậm
và bao trong hộp đểgiúp người đọc thuận tiện tra cứu khi chưa thuộc chính tảcâu lệnh.
Những thí dụminh họa được chọn lọc sao cho đơn giản, nhưng có tính điển hình, giúp người đọc liên tưởng đến lớp bài toán khác có thểcùng sửdụng cách
giải này. Chương trình thí dụluôn nhất quán áp dụng ý tưởng chia đểtrị, tức phân nhiệm vụlớn thành các việc nhỏhơn đểthực hiện từng việc một dẫn tới kết quả
cuối cùng.Với cách trình bày này, bạn đọc sẽthấy lập trình không còn là cái gì rắc rối, khó hiểu, mà nó tựnhiên nhưta vẫn giải quyết bài toán không bằng máy tính.
Những tóm tắt kinh nghiệm gỡrối và lời khuyên vềrèn luyện phong cách lập trình ởmỗi bài học có thểrất có ích cho người học. Và đây là lời khuyên đầu tiên
cho người mới học lập trình: Hãy luôn tưởng tượng xem mình sẽphải giải bài toán “bằng tay” nhưthếnào trước khi bắt đầu nghĩcách viết chương trình máy tính.
Hãy nhớlấy chính tả, cú pháp của câu lệnh và việc này không khó, vì lệnh Fortran giống nhưmột câu tiếng Anh đơn giản. Nhưng hãy rất chú ý tới chính những điều
đơn giản, thí dụkhi nhìn dòng lệnh sau
PRINT * , danh sách các mục cần in
thì hãy cốgắng đọc kĩhay hỏi lại xem thếnào là danh sách, thếnào là một mục in, một mục in có thểlà những gì.
112 trang |
Chia sẻ: ngtr9097 | Lượt xem: 3376 | Lượt tải: 4
Bạn đang xem trước 20 trang tài liệu Giáo trình Ngôn ngữ lập trình fortran và ứng dụng trong khí tượng thủy văn, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
NXB Nông nghiệp - Hà Nội - 2005
Từ khóa: Ngôn ngữ, lập trình, Fortran, thuật giải, giả trình, lưu đồ, khai báo, hằng, biến, file, lệnh, tuần tự, rẽ nhánh, lặp, chương trình con,
thủ tục, hàm.
Tài liệu trong Thư viện điện tử Trường Đại học Khoa học Tự nhiên có thể được sử dụng cho mục đích học tập và nghiên cứu cá
nhân. Nghiêm cấm mọi hình thức sao chép, in ấn phục vụ các mục đích khác nếu không được sự chấp thuận của nhà xuất bản và
tác giả.
NGÔN NGỮ LẬP TRÌNH FORTRAN
VÀ ỨNG DỤNG TRONG KHÍ TƯỢNG THỦY VĂN
Phạm Văn Huấn
1
ĐẠI HỌC QUỐC GIA HÀ NỘI
PHẠM VĂN HUẤN
NGÔN NGỮ LẬP TRÌNH FORTRAN
VÀ ỨNG DỤNG TRONG KHÍ TƯỢNG THỦY VĂN
NHÀ XUẤT BẢN NÔNG NGHIỆP – 2005
2
MỤC LỤC
Giới thiệu .............................................................................................................................................................................................................................. 5
Chương 1 - Khái niệm về lập trình máy tính để giải các bài toán ứng dụng................................................................................................................. 6
1.1. Phần cứng và phần mềm máy tính ........................................................................................................................................................................ 6
1.2. Thực hiện một chương trình máy tính .................................................................................................................................................................. 7
1.3. Quy trình giải bài toán trên máy tính.................................................................................................................................................................... 7
1.4. Những chương trình Fortran hoàn chỉnh ........................................................................................................................................................... 10
1.5. Quy cách soạn thảo một chương trình Fortran.................................................................................................................................................. 11
Chương 2 - Những yếu tố cơ bản của Fortran ............................................................................................................................................................... 12
2.1. Dữ liệu và cách biểu diễn dữ liệu trong Fortran ................................................................................................................................................ 12
2.2. Hằng và biến .......................................................................................................................................................................................................... 13
2.2.1. Tên biến và tên hằng...................................................................................................................................................................................... 13
2.2.2. Mô tả (khai báo) kiểu biến và kiểu hằng ..................................................................................................................................................... 14
2.3. Biến có chỉ số (mảng)............................................................................................................................................................................................. 16
2.3.1. Khái niệm mảng............................................................................................................................................................................................. 16
2.3.2. Mô tả mảng..................................................................................................................................................................................................... 17
2.4. Các hàm chuẩn ...................................................................................................................................................................................................... 17
2.5. Lệnh gán và các toán tử số học ............................................................................................................................................................................ 18
2.5.1. Lệnh gán ......................................................................................................................................................................................................... 18
2.5.2. Các phép tính số học đơn giản...................................................................................................................................................................... 19
2.5.3. Ước lượng biểu thức số học........................................................................................................................................................................... 19
2.5.4. Khái niệm về cắt và các phép tính hỗn hợp................................................................................................................................................. 20
2.5.5. Khái niệm về số quá bé và số quá lớn (underflow và overflow) ................................................................................................................ 20
Chương 3 - Nhập và xuất dữ liệu đơn giản..................................................................................................................................................................... 22
3.1. Các lệnh xuất và nhập dữ liệu.............................................................................................................................................................................. 22
3.2. Các đặc tả trong lệnh FORMAT.......................................................................................................................................................................... 24
Chương 4 - Các cấu trúc điều khiển................................................................................................................................................................................ 27
4.1. Khái niệm về cấu trúc thuật toán......................................................................................................................................................................... 27
4.1.1. Các thao tác cơ bản. Giả trình và lưu đồ..................................................................................................................................................... 27
3
4.1.2. Các cấu trúc tổng quát trong thuật giải....................................................................................................................................................... 28
4.1.3. Thí dụ ứng dụng thuật toán cấu trúc........................................................................................................................................................... 28
4.2. Cấu trúc IF và các lệnh tương ứng ...................................................................................................................................................................... 29
4.2.1. Biểu thức lôgic................................................................................................................................................................................................ 29
4.2.2. Lệnh IF lôgic ................................................................................................................................................................................................. 30
4.2.3. Lệnh IF số học............................................................................................................................................................................................... 32
Chương 5 - Cấu trúc lặp với lệnh DO ............................................................................................................................................................................. 44
5.1. Vòng lặp DO........................................................................................................................................................................................................... 44
5.1.1. Cú pháp của lệnh DO và vòng lặp DO......................................................................................................................................................... 44
5.1.2. Những quy tắc cấu trúc và thực hiện vòng lặp DO .................................................................................................................................... 45
5.1.3. Thí dụ ứng dụng vòng lặp DO...................................................................................................................................................................... 46
5.2. Vòng DO lồng nhau............................................................................................................................................................................................... 47
Chương 6 - File dữ liệu và tổ chức file dữ liệu trong Fortran....................................................................................................................................... 51
6.1. Khái niệm về file dữ liệu và tổ chức lưu trữ dữ liệu.......................................................................................................................................... 51
6.2. Các lệnh nhập, xuất dữ liệu với file ..................................................................................................................................................................... 52
6.3. Kỹ thuật đọc các file dữ liệu ................................................................................................................................................................................. 54
6.3.1. Số dòng ghi được chỉ định............................................................................................................................................................................. 54
6.3.2. Dòng ký hiệu kết thúc dữ liệu....................................................................................................................................................................... 55
6.3.3. Sử dụng tuỳ chọn END.................................................................................................................................................................................. 56
6.4. Tạo lập các file dữ liệu .......................................................................................................................................................................................... 58
6.5. Kỹ thuật trợ giúp tìm lỗi chương trình ............................................................................................................................................................... 58
Chương 7 - Sử dụng biến có chỉ số trong Fortran ......................................................................................................................................................... 60
7.1. Mảng một chiều ..................................................................................................................................................................................................... 61
7.2. Lệnh DATA............................................................................................................................................................................................................ 62
7.3. Mảng hai chiều....................................................................................................................................................................................................... 62
7.3. Mảng nhiều chiều .................................................................................................................................................................................................. 64
7.4. Những điều cần chú ý khi sử dụng các mảng ..................................................................................................................................................... 67
Chương 8 - Chương trình con loại hàm.......................................................................................................................................................................... 70
8.1. Các hàm chuẩn ...................................................................................................................................................................................................... 70
8.2. Các hàm chương trình con ................................................................................................................................................................................... 71
4
8.2.1. Hàm lệnh......................................................................................................................................................................................................... 71
8.2.2. Hàm chương trình con .................................................................................................................................................................................. 72
8.3. Chỉ dẫn gỡ rối và phong cách viết chương trình có hàm con............................................................................................................................ 76
Chương 9 - Chương trình con loại thủ tục ..................................................................................................................................................................... 78
9.1. Khai báo và gọi chương trình con thủ tục........................................................................................................................................................... 78
9.2. Những thí dụ ứng dụng chương trình con thủ tục ............................................................................................................................................. 79
9.3. Những chỉ dẫn gỡ rối khi sử dụng các thủ tục.................................................................................................................................................... 83
Chương 10 - Kiểu dữ liệu văn bản................................................................................................................................................................................... 85
10.1. Tập các ký tự của Fortran .................................................................................................................................................................................. 85
10.2. Các dạng khai báo biến ký tự............................................................................................................................................................................. 85
10.3. Nhập, xuất dữ liệu ký tự ..................................................................................................................................................................................... 86
10.4. Những thao tác với dữ liệu ký tự ....................................................................................................................................................................... 86
10.4.1. Gán các giá trị ký tự .................................................................................................................................................................................... 86
10.4.2. So sánh các giá trị ký tự .............................................................................................................................................................................. 87
10.4.3. Trích ra xâu con........................................................................................................................................................................................... 88
10.4.4. Kết hợp các xâu ký tự.................................................................................................................................................................................. 88
10.4.5. Những hàm chuẩn xử lý xâu ký tự ............................................................................................................................................................. 89
Chương 11 - Những đặc điểm bổ sung về file................................................................................................................................................................. 94
11.1. Các file nội tại (Internal Files)............................................................................................................................................................................ 94
11.2. Các file truy nhập tuần tự (Sequential Files).................................................................................................................................................... 95
11.3. Các file truy cập trực tiếp (Direct-Access Files) ............................................................................................................................................... 97
11.4. Lệnh truy vấn INQUIRE.................................................................................................................................................................................... 98
Tài liệu tham khảo ........................................................................................................................................................................................................... 101
Phụ lục 1: Bảng các hàm chuẩn của FORTRAN ......................................................................................................................................................... 102
Phụ lục 2: Phương pháp Gauss giải hệ phương trình đại số tuyến tính ................................................................................................................... 104
Phụ lục 3: Phương pháp bình phương nhỏ nhất trong phân tích hồi quy................................................................................................................ 108
Phụ lục 4: Sơ đồ ứng dụng phương pháp hồi quy nhiều biến.................................................................................................................................... 110
5
Giới thiệu
Giáo trình “Ngôn ngữ lập trình Fortran và ứng dụng trong khí tượng thủy văn” là tập hợp những bài học cơ sở về lập trình mà tác giả đã dạy trong một số năm
gần đây cho sinh viên các ngành khí tượng học, thủy văn và hải dương học ở Trường đại học Khoa học Tự nhiên, Đại học Quốc gia Hà Nội.
Sách này nhằm giới thiệu cho sinh viên lần đầu tiên học lập trình những khái niệm cơ bản về lập trình máy tính, tóm tắt những yếu tố cơ bản và các lệnh thông
dụng, đặc điểm sử dụng chúng trong ngôn ngữ lập trình Fortran. Mục tiêu cuối cùng là giúp sinh viên làm quen với các phương pháp xây dựng thuật giải các bài toán
thông dụng của toán học tính toán, thống kê toán học và xử lý số liệu, rèn luyện kỹ năng lập trình để giải những bài toán xử lý và phân tích số liệu, tính toán ứng
dụng ở mức độ ban đầu trong thời gian học tập và nghiên cứu ở trường đại học.
Những thí dụ và hệ thống bài tập tự luyện trong sách này có ý nghĩa minh họa, hướng sinh viên tới vận dụng các lệnh của Fortran để viết ra những chương trình
ứng dụng nho nhỏ có tính cụ thể, bước đầu làm quen với những đặc thù xử lý dữ liệu quan trắc trong chuyên môn khí tượng thủy văn. Những đặc điểm khác của nội
dung ứng dụng lập trình trong các chuyên ngành này như quản lý cơ sở dữ liệu, các phương pháp thống kê hiện đại, các phương pháp giải số trị những bài toán động
lực