Các phần chương trình nhỏ, có tên vàcó thểđược gọi bởi tên
ởcác phần khác của chương trình.
Thực hiện một công việc chuyên nhiệm và lập lại nhiều lần trong chương trình (hay cần dùng bởi nhiều chương trình khác nhau).
Cho phép chương trình được thiết kếthành nhiều thành phần nhỏ.
Có thểđịnh nghĩa biến cục bộriêng.
Hàm (function)trảvềkết quả khi được gọi, nếu không trảvề
kết quảthì ta gọi làthủtục (subroutine, procedure).
Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM
Môn : Nhập môn điện toán
Slide 157
Ví dụ
//hàm tìm giá trịlớn nhất trong 2 giá trị
int max(int a, int b) { if (a < b) return a; else return b; } //điểm nhập của chương trình viết bằng ngôn ngữC void main() { int a; a = max(1,2); } Chương 4 : Lập trình Các thế hệ ngôn ngữ lập trình Thếhệthứnhất: Xuất hiện vào thập niên 60
Tập lệnh gần giống nhưtập lệnh máy (machine code) Đại diện tiêu biểu: Fortran
Thếhệthứhai
Phát triển các cấu trúc dữliệu từthếhệthứnhất
Xuất hiện cấu trúc khối (block structure), các cấu trúc điều khiển(control structures) và các dạng cú pháp linh hoạt hơn
Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM
Môn : Nhập môn điện toán
Slide 159
Các thếhệ ngôn ngữ lập trình (tt)
Thếhệthứba:
Xuất hiện các kiểu dữliệu do người sửdụng định nghĩa (user- defined data types)
Các dạng cấu trúc điều khiển tiếp tục được bổsung hiệu quả
hơn.
Ngôn ngữđộc lập hơn với kiến trúc máy tính. Đại diện tiêu biểu: Pascal
Chương 4 : Lập trình
Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM
Môn : Nhập môn điện toán
Slide 160
Các thế hệ ngôn ngữlập trình (tt)
Thếhệthứ tư: (Fourth Generation Languages — 4GL)
Dễsửdụng hơn, đặc biệt dành cho những người không phải là chuyên gia
Cho phép đưa ra những giải pháp nhanh đểxửlý dữliệu Xúc tích hơn
Gần với ngôn ngữtựnhiên Gần gũi với người sửdụng
Không có dạng thủtục (non-procedural)
Đại diện tiêu biểu: Structured Query Language (SQL)
Thếhệthứ năm:
Các ngôn ngữđược chuyên dụng hoá, độc lập với kiến trúc máy tính, phục vụcác nhu cầu lập trình đặc trưng.
Hỗtrợnhiều cấu trúc điều khiển và có các dạng cú pháp tương
đối dễđọc.
Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM
Môn : Nhập môn điện toán
Slide 161 Máy tính chỉ có thể hiểu và thực thi được một chương trình
khi các lệnh của chương trình được viết một cách tuyệt đối
chính xácvàrõ ràng về ngữ nghĩa theo ngôn ngữ mà máy đó
qui định.
Để viết được một chương trình như vậy, ngôn ngữ lập trình cũng phải được định nghĩa theo một hình thức rõ ràng và chính xác.
Ngôn ngữ dùng để định nghĩa ngôn ngữ lập trình là siêu ngôn ngữ(meta-language).
Chương 4 : Lập trình
4.2 Xử lý ngôn ngữ