Nội dung chính Định nghĩa lập trình hướng cấu trúc Khai báo, hiện thực và gọi thủ tục Khai báo và gọi thủ tục có tham số Khai báo, hiện thực và gọi hàm Khai báo và gọi hàm có th
Trang 1Nội dung chính
Định nghĩa lập trình hướng cấu trúc
Khai báo, hiện thực và gọi thủ tục
Khai báo và gọi thủ tục có tham số
Khai báo, hiện thực và gọi hàm
Khai báo và gọi hàm có tham số
Giới thiệu về tầm vực của biến
Tầm vực của tham số
Trang 2Lập trình hướng cấu trúc
Trong giai đoạn đầu tiên của ngôn ngữ lập trình, một chương trình được chấp nhận nếu như nó thực hiện đúng công việc Người ta không chú ý đến phương pháp thiết kế và hiện thực chương trình
Vào khoảng giữa thập niên 60, khi mà công việc máy tính thực hiện trở nên phức tạp, chương trình đòi hỏi phải được viết hiệu quả hơn để tiện cho việc dùng lại và phân chia công việc theo nhóm Điều này dẫn đến sự ra đời của phương pháp lập trình mới là lập trình hướng cấu trúc
Lập trình hướng cấu trúc chia chương trình thành những phân hệ
Trang 3Lập trình hướng cấu trúc (tiếp theo)
Một ứng dụng thường được hình thành từ tập hợp các module tương tác với nhau Sự kết hợp giữa các module này được điều khiển bằng module Main
Module1 Module2 Module3
Main Program
Trang 4Lập trình hướng cấu trúc (tiếp theo)
Lưu đồ sau đây minh họa lập trình hướng cấu trúc
Trang 5Lập trình hướng cấu trúc (tiếp theo)
Các module trong lập trình hướng cấu trúc là
• Thủ tục (procedure)
• Hàm (function)
Trang 6Thủ tục (Procedure)
Thủ tục là tập hợp các câu lệnh thực hiện một công việc nhất định
Trong lập trình hướng cấu trúc, thủ tục là một trong những cách hiện thực các module
Cách làm việc của thủ tục được hiện thực theo cơ chế gọi thủ tục
và trả giá trị về:
• Thủ tục được gọi
• Các câu lệnh bên trong thủ tục được thực thi
• Dòng điều khiển sẽ chuyển về chương trình gọi thủ tục
Trang 7Khai báo, hiện thực và gọi thủ tục
Thủ tục cần phải được khai báo trước khi nó được gọi thực thi
Thủ tục được khai báo bằng cú pháp như sau:
Gọi thủ tục: call <procedure_name>
Trang 8Thủ tục có tham số (parameter)
Tham số được xem như cầu nối giữa thủ tục và chương trình gọi
Tham số bao gồm dữ liệu được dùng (dữ liệu vào) và dữ liệu xử lý (dữ liệu ra) của thủ tục
Tham số có thể là biến kiểu số hoặc kiểu chuỗi
Tham số được dùng cho hai việc chính:
• Gởi dữ liệu qua thủ tục
• Nhận kết quả trả về từ thủ tục
Trang 9Thủ tục có tham số (Tiếp theo)
Thủ tục có tham số được khai báo theo cú pháp sau:
procedure <procedure_name> (input <parameter_data type>, output
<parameter_data type>)
Ví dụ minh họa: Viết một thủ tục tính điểm trung bình của 3 môn học Sau đó viết chương trình nhập vào họ tên học viên và điểm của 3 môn học Hãy cho biết điểm trung bình của học viên này.
// Khai báo thủ tục procedure AverageScore (input numeric, input numeric, input numeric, output numeric)
Trang 10//Chương trình chính.
begin
character cStudentName
numeric nTest1, nTest2, nTest3, nAverage
display “Enter Student Name”
call AverageScore (nTest1, nTest2, nTest3, nAverage)
display cStudentName, nAverage
end
Trang 11// Hiện thực thủ tục
procedure AverageScore (input numeric nTest1, input numeric
nTest2, input numeric nTest3, output numeric nAverage)
begin
nAverage=nTest1+nTest2+nTest3
end
Trang 12Hàm (function)
Hàm là một tập hợp các câu lệnh thực thi một công việc cụ thể Hàm
và thủ tục có cấu trúc giống nhau nên có thể được dùng để thay thế cho nhau
Sự khác nhau giữa hàm và thủ tục là thủ tục không trả về giá trị cho chương trình gọi còn hàm thì trả về giá trị cho chương trình gọi
Cách làm việc của hàm được hiện thực theo cơ chế gọi hàm và trả giá trị về:
• Hàm được gọi
• Các câu lệnh bên trong hàm được thực thi
• Dòng điều khiển sẽ chuyển về chương trình gọi cùng với giá trị
Trang 13Khai báo, hiện thực và gọi hàm
Hàm phải được khai báo trước khi gọi Cú pháp khai báo hàm như sau:
function <function_name>
Hàm được hiện thực giống như thủ tục, chỉ có sự khác biệt là câu lệnh cuối cùng của hàm là câu lệnh trả giá trị về cho chương trình gọi Cú pháp của hiện thực hàm như sau:
function <function_name>
begin//the function statementsreturn // The function returns some valueEnd
Trang 14Khai báo, hiện thực và gọi hàm (tiếp theo)
Hàm sau khi đã khai báo và hiện thực có thể được sử dụng trong chương trình Để dùng hàm thì ta dùng câu lệnh gọi hàm và câu lệnh này có cú pháp như sau:
call <function_name>
Trang 15Tham số của hàm
Tham số của hàm đóng vai trò cầu nối giữa hàm và chương trình gọi
Hàm nhận dữ liệu từ chương trình gọi thông qua tham số Nếu hàm có nhiều tham số thì giữa các tham số này được phân cách bằng dấu phảy
Không giống như thủ tục, tham số của hàm thường được dùng để nhận
dữ liệu vào của hàm Dữ liệu ra thường được trả về qua câu lệnh return
Ví dụ minh họa: Viết một hàm nhân 2 số Sau đó viết chương trình nhập vào 2 số và cho biết tích của 2 số đó
Trang 16numeric nNumber1, nNnumber2, nResult
display “Enter the first number”
Trang 18Tầm vực cục bộ
Biến được định nghĩa bên trong khối begin … end của chương trình chính hoặc là thủ tục và hàm có tầm vực cục bộ
Biến có tầm vực cục bộ gọi là biến cục bộ
Khi chương trình đang chạy:
• Biến cục bộ sẽ được tạo ra khi khối begin … end của chương trình chính hoặc của thủ tục và hàm được chạy
Trang 19Ví dụ về tầm vực cục bộ
Trang 21Ví dụ về tầm vực toàn cục
numeric nScore //Global variable nScore is declared
character cGrade //Global variable cGrade is declared
begin
display “enter your score”
accept nScore call AssignGrade
end
procedure AssignGrade
begin
if nScore > 80 begin
cGrade = “A” //Grade is assigned a value “A”
display cGrade //Value of Grade is displayed
end end
Trang 22Tầm vực của tham số
Tham số của thủ tục và hàm chỉ được truy xuất bởi chính thủ tục và hàm đó Điều này ngầm định rằng tham số chính là biến cục bộ của hàm và thủ tục
Tầm vực của tham số có các đặt điểm như sau:
• Tham số chỉ tồn tại bên trong hàm và thủ tục mà nó được định nghĩa Tham số không được truy xuất từ bên ngòai hàm và thủ tục
• Giá trị của tham số được lưu giữ trong quá trình hàm và thủ tục được thực thi
• Giá trị của tham số được khởi động lại mỗi lần hàm và thủ tục được gọi
Trang 24Tóm tắt
Trong bài này các bạn đã được học:
Lập trình hướng cấu trúc là chia chương trình thành những module nhỏ hơn gọi là hàm và thủ tục
Thủ tục là một tập hợp các câu lệnh để thực thi một công việc cụ thể nào đó
Tham số nhập và tham số xuất dùng được dùng trong thủ tục để nhận giá trị truyền vào và giá trị trả về của thủ tục
Hàm là một tập hợp các câu lệnh để thực thi một công việc cụ thể nào
Trang 25Tóm tắt (Tiếp theo)
Thủ tục không trả về giá trị cho chương trình gọi, hàm có trả về giá trị cho chương trình gọi
Sự truy xuất đến các biến trong mã giã được gọi là tầm vực của biến
Biến được phân thành hai loại là biến toàn cục và biến cục bộ
Biến cục bộ được tạo ra khi hàm và thủ tục được gọi và tự động hủy khi hàm và thủ tục thực hiện xong
Biến toàn cục được sử dụng ở mọi nơi trong chương trình