Top Banner
Phương pháp svà lp trình FORTRAN GV: Hoàng Đỗ Ngc Trm
48

0 mo dau

Jul 02, 2015

Download

Documents

Hajunior9x
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 0 mo dau

Phương pháp s ố Phương pháp s ố

và lập trình FORTRAN

GV: Hoàng Đỗ Ngọc Trầm

Page 2: 0 mo dau

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.

Page 3: 0 mo dau

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.

Page 4: 0 mo dau

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

Page 5: 0 mo dau

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)

Page 6: 0 mo dau

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?!

Page 7: 0 mo dau

Đá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?!

Page 8: 0 mo dau

Nhu cầu tính toán số

• Giới hạn của phương pháp giải tích:

Page 9: 0 mo dau

Nhu cầu tính toán số

• Tính phức tạp của các hệ vật lý:

Page 10: 0 mo dau

Sự phát triển của các phép đo

Page 11: 0 mo dau

Sự phát triển của máy tính

Page 12: 0 mo dau
Page 13: 0 mo dau

Lưu đồ giải thuật

Start

Condition

End

yes

no

Page 14: 0 mo dau

VD1

Page 15: 0 mo dau

VD2

Page 16: 0 mo dau

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 đó

Page 17: 0 mo dau

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

Page 18: 0 mo dau

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

Page 19: 0 mo dau

- 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.

Page 20: 0 mo dau

Giới thiệu

Page 21: 0 mo dau

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

Page 22: 0 mo dau

Một số trình biên d ịch:

- Plato (Silverfrost)

- Visual Fortran (Compaq)

Download và cài đặt

Download + set up!!!

Page 23: 0 mo dau

- 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

Page 24: 0 mo dau

Sơ lược chương trình viết bằng FORTRAN

PROGRAM Cinderella

Page 25: 0 mo dau

Sơ lược chương trình viết bằng FORTRAN

Page 26: 0 mo dau

Sơ lược chương trình viết bằng FORTRAN

PROGRAM CinderellaCinderella is beautiful

Page 27: 0 mo dau

Sơ lược chương trình viết bằng FORTRAN

Page 28: 0 mo dau

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

Page 29: 0 mo dau

Sơ lược chương trình viết bằng FORTRAN

Page 30: 0 mo dau

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

Page 31: 0 mo dau

Sơ lược chương trình viết bằng FORTRAN

Page 32: 0 mo dau

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

Page 33: 0 mo dau

Sơ lược chương trình viết bằng FORTRAN

Page 34: 0 mo dau

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

Page 35: 0 mo dau

Sơ lược chương trình viết bằng FORTRAN

Page 36: 0 mo dau

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

Page 37: 0 mo dau

Sơ lược chương trình viết bằng FORTRAN

Page 38: 0 mo dau

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

Page 39: 0 mo dau

Sơ lược chương trình viết bằng FORTRAN

Page 40: 0 mo dau

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

Page 41: 0 mo dau

Sơ lược chương trình viết bằng FORTRAN

Ví dụ

Page 42: 0 mo dau

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.

Page 43: 0 mo dau

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

Page 44: 0 mo dau

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:

_ . , ( ) + - * /

$ , : = ‘ “

Page 45: 0 mo dau

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

Page 46: 0 mo dau

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.

Page 47: 0 mo dau

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.

Page 48: 0 mo dau

for your attention!!!