Phương pháp số và lập trình FORTRAN GV: Hoàng Đỗ Ngọc Trầm
Phương pháp s ố Phương pháp s ố
và lập trình FORTRAN
GV: Hoàng Đỗ Ngọc Trầm
Mục tiêu
� Biết sự cần thiết của việc tính số trong khoa học;
� Hiểu được phương pháp giải các bài toán cơ bản trongvật lý trên máy tính;
� Biết cách xử lý số liệu thực nghiệm bằng các phần mềmchuyên dụng;chuyên dụng;
� Biết cách lập các chương trình trênngôn ngữ Fortran để giải các bài toán.
Nội dung
� Vẽ được các lưu đồ để giải các bài toán vật lý cơbản;
� Viết chương trình để tính các bài toán đơn giảntrên ngôn ngữ FORTRAN
� Sử dụng thành thạo phần mềm Origin để xử lý sốliệu thực nghiệm và vẽ hình.
Các kiến thức cơ bản Fortran
+ Tìm số lớn nhất, nhỏ nhất
+ Tính diện tích tam giác
+ Giải phương trình bậc hai
Nội dung
+ Giải phương trình bậc hai
Phương pháp số giải một số bài toán cơ bản:
+ Tìm nghiệm phương trình, hệ phương trình
+ Tích phân, đạo hàm => Tính trung bình các đại lượng Vật lý
+ Phương trình vi phân => Euler, Ronghen Kustaa => Phương trình truyền nhiệt
Phân bố chương trình1. Nhu cầu của việc tính toán số
Sự phát triển của công nghệ máy tínhKỹ thuật vẽ lưu đồ - Cài chương trình (1 buổi)
2. Giới thiệu ngôn ngữ Fortran (3 buổi)
3. Tìm nghiệm phương trình phi tuyến (2 buổi)3. Tìm nghiệm phương trình phi tuyến (2 buổi)
4. Các phương pháp nội suy, ngoại suy; các phương pháptính đạo hàm số , tích phân số (3 buổi)
5. Giải phương trình vi phân thường(2 buổi)
6. Giải hệ phương trình (1 buổi)
7. Xử lý số liệu và vẽ hình bằng phần mềm Origin (1 buổi)
Cách thức học
1. Soạn bài trước (theo câu hỏi)
2. Xem ví dụ mẫu, phân tích, giải thích
3. Làm bài tập về nhà
Đã học qua ngôn ngữ lập trình?!
Máy tính?!
Đánh giá
1. Bài tập nhóm: 15%
2. Kiểm tra giữa kì: 25%
3. Kiểm tra cuối kì: 60%
Any question?!
Nhu cầu tính toán số
• Giới hạn của phương pháp giải tích:
Nhu cầu tính toán số
• Tính phức tạp của các hệ vật lý:
Sự phát triển của các phép đo
Sự phát triển của máy tính
Lưu đồ giải thuật
Start
Condition
End
yes
no
VD1
VD2
Bài tập 1
• Vẽ lưu đồ để giải pt bậc 2• Vẽ lưu đồ tính diện tích tam giác khi biết
số đo 3 cạnh• Vẽ lưu đồ để sắp xếp một dãy n số theo• Vẽ lưu đồ để sắp xếp một dãy n số theo
thứ tự tăng dần (hoặc giảm dần)• Tự ra 3 bài yêu cầu và vẽ lưu đồ để thực
hiện yêu cầu đó
Giới thiệu
Giao tiếp với máy tính?!
- Chương trình
- Bit / byte?- Bit / byte?
NGÔN NGỮ LẬP TRÌNH
- Rõ ràng, đơn nghĩa.
- Biểu cảm (expressive)
- Có tính ứng dụng (dễ biên dịch)
- Dễ sử dụng
Các bước thi ết kế một chương trình:
1. Xác định bài toán (hi ểu đúng, rõ, đầy đủ),
2. Phân tích và chia thành các b ước nhỏ (xây dựng giải thu ật),
3. Viết chương trình theo m ột ngôn ng ữ nào đó.
Thiết kế một chương trình
3. Viết chương trình theo m ột ngôn ng ữ nào đó.
4. Biên d ịch và ch ạy chương trình.
5. Kiểm tra, điều ch ỉnh (k ết quả có hợp lý? Có phù hợp với các k ết quả trước?)
Cấu trúc t ổng quát cu ả một chương trình:
Input -> Calculation -> Output
- Bắt đầu một ngôn ng ữ mới:
Thiết kế một chương trình
Hiểuchương trình
có sẵn
Viết chương trình nh ỏ
Viết chương trình l ớn
Tối ưu hóa
- Cấu trúc: t ổ chức thành nhi ều modul nh ỏ.- Cấu trúc: t ổ chức thành nhi ều modul nh ỏ.
- Tên của biến và hàm: liên h ệ với ý nghiã.
- Dùng câu chú thích.
- Không l ạm dụng vi ệc mã hoá.
- Thể hiện kết quả rõ ràng, chi ti ết.
Giới thiệu
Giới thiệu
1966
1977
Fortran 90
1990
1995
Fortran 95
2003
Fortran 2003
Fortran by IBM
Fortran II, III1957
1958
1961
Fortran IV
Fortran 66
Fortran 77
Designed for use in scientificand engineering fields
•Scientific Community•Engineers•Super Computing
Một số trình biên d ịch:
- Plato (Silverfrost)
- Visual Fortran (Compaq)
Download và cài đặt
Download + set up!!!
- Khởi động
- Giao di ện.
- Thực hi ện một chương trình:
• Mở file m ới (text file), so ạn thảo, lưu file (x.f95).
Hướng dẫn sử dụng
• Biên d ịch.
• Chạy chương trình.
•Copy d ữ liệu từ màn hình
•Điều ch ỉnh, sửa lỗi
- Thoát kh ỏi môi tr ường làm vi ệc.
Page 1-10 manual
Sơ lược chương trình viết bằng FORTRAN
PROGRAM Cinderella
Sơ lược chương trình viết bằng FORTRAN
Sơ lược chương trình viết bằng FORTRAN
PROGRAM CinderellaCinderella is beautiful
Sơ lược chương trình viết bằng FORTRAN
Sơ lược chương trình viết bằng FORTRAN
PROGRAM CinderellaCinderella is beautifulSisters are ugly, and coarse, and there are two of
them
Sơ lược chương trình viết bằng FORTRAN
Sơ lược chương trình viết bằng FORTRAN
PROGRAM CinderellaCinderella is beautifulSisters are ugly, and coarse, and there are two of
themThe Prince is rich and handsomeThe Prince is rich and handsome
Sơ lược chương trình viết bằng FORTRAN
Sơ lược chương trình viết bằng FORTRAN
PROGRAM CinderellaCinderella is beautifulSisters are ugly, and coarse, and there are two of
themThe Prince is richThe Prince is richDress Cinderella
Sơ lược chương trình viết bằng FORTRAN
Sơ lược chương trình viết bằng FORTRAN
PROGRAM CinderellaCinderella is beautifulSisters are ugly, and coarse, and there are two of
themThe Prince is richThe Prince is richDress CinderellaTake her to the dance
Sơ lược chương trình viết bằng FORTRAN
Sơ lược chương trình viết bằng FORTRAN
PROGRAM CinderellaCinderella is beautifulSisters are ugly, and coarse, and there are two of
themThe Prince is richThe Prince is richDress CinderellaTake her to the danceNullify the Sisters
Sơ lược chương trình viết bằng FORTRAN
Sơ lược chương trình viết bằng FORTRAN
PROGRAM CinderellaCinderella is beautifulSisters are ugly, and coarse, and there are two of
themThe Prince is richThe Prince is richDress CinderellaTake her to the danceNullify the SistersMake the Prince marry Cinderella
Sơ lược chương trình viết bằng FORTRAN
Sơ lược chương trình viết bằng FORTRAN
PROGRAM CinderellaCinderella is beautifulSisters are ugly, and coarse, and there are two of
themThe Prince is richThe Prince is richDress CinderellaTake her to the danceNullify the SistersMake the Prince marry CinderellaEND PROGRAM Cinderella
Sơ lược chương trình viết bằng FORTRAN
Ví dụ
Sơ lược chương trình viết bằng FORTRAN
Cấu trúc t ổng quát c ủa một chương trình Fortran
gồm 4 phần chính:
[PROGRAM tên_ch ương_trình]
[Các câu l ệnh khai báo]
[Các câu l ệnh thực hiện][Các câu l ệnh thực hiện]
END [PROGRAM [tên_ch ương_trình]]
Bắt buộc phải khai báo END để kết thúc ch ương trình.
Các khai báo trong móc vuông là không b ắt buộc.
Sơ lược chương trình viết bằng FORTRAN
Chương trình con
Tên chương trìnhCác câu lệnh khai báo
Các câu lệnh thực hiện
Kết thúc chương trình
Các kí hiệu để soạn thảo một chương trình FORTRAN
Kí tự: a-z, A-Z(không phân bi ệt
thường – IN)thường – IN)
Số: 0-9
Kí tự đặc bi ệt:
_ . , ( ) + - * /
$ , : = ‘ “
Sơ lược chương trình viết bằng FORTRAN
Quy ước soạn thảo:
- Kiểu cố định (80 cột/ dòng). / t ự do (132 cột/ dòng).
- Nguyên t ắc: một dòng ch ỉ một câu l ệnh, nh ưng một câu l ệnh dài có thể viết trên nhi ều dòng (kí hi ệu nối: &)
- Kiểu cố định: 80 c ột/ dòng
-Nguyên t ắc: một dòng ch ỉ một câu l ệnh, nh ưng một câu l ệnh dài có thể viết trên nhi ều dòng (kí hi ệu nối: &)
Vị trí cột Mục đích
1 Khai báo chú thích (comments), b ắt đầu bằng: “*”, “c”, “!”
1-5 Khai báo nhãn (label): Nhãn có độ dài tối đa là 5 ký t ự.
6 Khai báo k ết nối câu l ệnh khi câu l ệnh dài quá: d ấu “&”, “*”
7-72 Viết câu l ệnh
73-80 Đánh số thứ tự dòng l ệnh
Các đơn v ị cú pháp:
- Hằng số: dữ liệu có giá tr ị không đổi.
- Tên hàm, bi ến: chuỗi liên t ục, dưới 6 kí tự, vị trí đầu tiên là kí t ự hoặc $.
- Từ khoá: chuỗi liên t ục các kí t ự taọ nên câu l ệnh
Sơ lược chương trình viết bằng FORTRAN
- Từ khoá: chuỗi liên t ục các kí t ự taọ nên câu l ệnh trong Fortran, có th ể daì hơn 6 kí tự.
- Các nhãn: chuỗi không quá 5 ch ữ số, có ít nh ất một số khác 0 để đánh dấu câu l ệnh hay toán t ử.
- Các kí hi ệu đặc bi ệt: dùng vi ết phép toán ho ặc bộ phận cuả hằng số.
Lưu ý: câu l ệnh chú thích.
Bài tập về nhà
1. Viết chương trình để giải phương trình b ậc 2.
2. Viết chương trình để xác định di ện tích và s ố đo 3 góc c ủa một tam giác khi bi ết độ dài 3 cạnh.
for your attention!!!