Các cấu trúc điều khiển

Một phần của tài liệu Giáo trình Fortran (Trang 28 - 31)

dẫn đến kết quả bài toán cần giải. Trong chương này, sẽ giới thiệu những lệnh của Fortran cho phép ta điều khiển được thứ tự các bước cần thực hiện. Sự điều khiển được thực hiện thông qua những lệnh cho phép ta chọn những nhánh khác nhau trong chương trình và những lệnh cho phép ta lặp lại những phần nào đó của chương trình. Những lệnh như vậy gọi là những lệnh điều khiển.

4.1. Khái niệm về cấu trúc thuật toán 4.1.1. Các thao tác cơ bản. Giả trình và lưu đồ 4.1.1. Các thao tác cơ bản. Giả trình và lưu đồ

Trong mục 1.3, chương 1 đã sơ lược nói về quy trình năm bước giải bài tốn. Đối với những bài tốn phức tạp về cách giải thì bước 4 là bước khó khăn nhất. Người lập trình phải mơ tả tuần tự các cơng đoạn từ đầu đến cuối q trình giải, chia quá trình này thành một số khối và liệt kê những khối đó ra để sau này chương trình máy tính sẽ tuần tự thực hiện. Trong mỗi khối người lập trình lại phải chi tiết hố thêm đến mức có thể chuyển thành những lệnh máy tính. Cách chia khối và chi tiết hố từng khối như vậy có thể gọi là phương pháp chia và chinh phục. Kết quả cuối cùng của chia khối và chi tiết hố từng khối chính là thuật giải (algorithm).

Bảng 4.1. Các thao tác cơ bản và quy ước tương ứng trong giả trình và lưu đồ Dạng thao tác Chú giải giả trình Biểu tượng lưu đồ

Tính tốn TBTONG/N TB = TONG / N ↓ ↓ Nhập dữ liệu Đọc A, B Đọc A, B ↓ ↓ Xuất dữ liệu In A, B In A, B ↓ ↓ So sánh Nếu A > B Đ ↓ S A > B ? →

Bắt đầu thuật giải Tên bài toán Bắt đầu ↓

Kết thúc thuật giải Kết thúc

Những hình thức để biểu diễn trực quan thuật giải sao cho dễ dàng chuyển thành chương trình là giả trình và lưu đồ. Một người lập trình có thể chọn hình thức này hoặc hình thức kia. Theo cách giả trình, mỗi cấu trúc của thuật giải được quy ước bởi một chú giải ngắn gọn gần giống với ngơn ngữ viết của chúng ta; cịn trong cách biểu diễn lưu đồ, mỗi cấu trúc đó được mơ tả bằng một biểu tượng hình học.

Dần dần ta sẽ thấy rằng, nói chung những thao tác cơ bản trong một thuật giải thường là những tính tốn, nhập, xuất dữ liệu và so sánh. Nói chung một chương trình máy tính dù đơn giản hay phức tạp đến đâu cũng chỉ gồm có những thao tác cơ bản đó. Một số thao tác (hay lệnh) có thể nhóm lại với nhau tạo thành một khối hay một khối cấu trúc. Những chú giải giả trình và những biểu tượng lưu đồ chính là để thể hiện những thao tác cơ bản đó (xem bảng 4.1).

4.1.2. Các cấu trúc tổng quát trong thuật giải

Các bước trong một thuật giải có thể phân chia thành ba dạng cấu trúc tổng quát - đó là cấu trúc tuần tự, lựa chọn và lặp. Cấu trúc tuần tự là chuỗi các bước thực hiện một cách kế tiếp nhau. Cấu trúc lựa chọn (hay còn gọi là cấu trúc rẽ nhánh) cho phép so sánh hai giá trị, sau đó tuỳ kết quả so sánh mà định ra một chuỗi các bước khác nhau phải thực hiện. Cấu trúc lặp được dùng khi quá trình giải cần lặp lại một số thao tác cho đến khi thoả mãn một điều kiện. Trong thuật giải phức tạp hơn một chút có thể thấy các cấu trúc tổng quát này lồng vào nhau, trong cấu trúc lặp có những đoạn gồm những thao tác tuần tự được thực hiện, có những đoạn xuất hiện sự rẽ nhánh tuỳ theo một điều kiện so sánh nào đó.

4.1.3. Thí dụ ứng dụng thuật tốn cấu trúc

Bây giờ ta tìm hiểu phương pháp xây dựng thuật giải theo kỹ thuật chia khối và chi tiết hố từng khối, phân tích cấu trúc thuật giải thơng qua một thí dụ cụ thể về bài tốn phân tích các số liệu thực nghiệm.

1) Phát biểu bài toán: Xác định giá trị lớn nhất, nhỏ nhất và biên độ các giá trị của tập số liệu quan trắc.

2) Mô tả dữ liệu vào và ra: Dữ liệu vào là một chuỗi các số liệu quan trắc. Đầu ra là trị cực đại, cực tiểu và biên độ các giá trị. 3) Tính thử với tập số liệu quan trắc sau:

Chuỗi số liệu thử: 40.56 55.92

66.31 58.35 58.35 62.88 41.99 49.70 53.21

Thực hiện tìm trị cực đại như sau: Trước hết so sánh số thứ nhất của chuỗi với số thứ hai để xác định số lớn hơn, coi là cực đại tạm thời. Bây giờ xét số thứ ba và so sánh nó với cực đại tạm thời. Nếu cực đại tạm thời lớn hơn, ta xét tới số thứ tư; nhưng nếu số thứ ba lớn hơn cực đại tạm thời, ta thay thế số đó vào cực đại tạm thời. Tiếp tục q trình này với tồn bộ chuỗi số liệu sẽ dẫn tới kết quả là cực đại tạm thời chính là trị cực đại trong cả chuỗi. Một quá trình tương tự sẽ cho phép tìm cực tiểu. Với tập số liệu đang xét, kết quả là:

Một phần của tài liệu Giáo trình Fortran (Trang 28 - 31)