Danh mục

Bài giảng Các vấn đề cơ sở của khoa học máy tính: Chương 4 - Tô Oai Hùng

Số trang: 47      Loại file: pdf      Dung lượng: 346.02 KB      Lượt xem: 13      Lượt tải: 0    
Hoai.2512

Xem trước 5 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Bài giảng "Các vấn đề cơ sở của khoa học máy tính - Chương 4: Phần mềm" cung cấp cho người học các kiến thức: Các thệ hệ của ngôn ngữ lập trình, trình biên dịch và trình thông dịch, máy ảo, lập trình thủ tục, lập trình hướng đối tượng, ngôn ngữ kịch bản, ngôn ngữ lập trình hàm, cú pháp ngôn ngữ và ngữ nghĩa. Mời các bạn cùng tham khảo nội dung chi tiết.


Nội dung trích xuất từ tài liệu:
Bài giảng Các vấn đề cơ sở của khoa học máy tính: Chương 4 - Tô Oai HùngChương 4: PHẦN MỀM Nội Dung1. Các thệ hệ của ngôn ngữ lập trình.2. Trình biên dịch và trình thông dịch.3. Máy ảo.4. Lập trình thủ tục.5. Lập trình hướng đối tượng.6. Ngôn ngữ kịch bản.7. Ngôn ngữ lập trình hàm.8. Cú pháp ngôn ngữ và ngữ nghĩa. 2Các Vấn Đề Cơ Sở của KHMT ThS. GVC Tô Oai HùngCác Thế Hệ của Ngôn Ngữ Lập Trình• Các nhà khoa học máy tính gọi chung các ngôn ngữ lập trình, các chương trình và các sản phẩm là phần mềm (software).• Một lệnh máy là một dãy các bit 0 và 1 được chứa trong bộ nhớ máy tính.• Khi máy tính đọc bộ nhớ, nó xác định xem dãy bit đã đọc có phải là lệnh máy không. Nếu đúng, máy tính thực thi lệnh đó, ngược lại máy tính sẽ dừng vì lệnh không hợp lệ.• Mỗi máy tính (một họ CPU) có một tập lệnh máy hữu hạn. Hầu hết các máy tính ngày nay có từ 75 đến 150 lệnh máy trong tập lệnh.• Mỗi kiến trúc máy tính được thể hiện trong 3Các Vấn Đề Cơ Sở của KHMT ThS. GVC Tô Oai HùngCác Thế Hệ của Ngôn Ngữ Lập Trình tập lệnh. Các tập lệnh của các kiển trúc khác nhau sẽ khác nhau. Ví dụ, tập lệnh của Intel Pentium khác với của Sun SPARC. Cả khi thực hiện cùng một tác vụ, một lệnh của kiến trúc này cũng sẽ khác với kiến trúc khác.• Trong các máy tính trước đây, việc lập trình được thực hiện trực tiếp bằng lệnh máy. Người lập trình làm việc với các bit 0 và 1 để viết mã cho mỗi lệnh. Ví dụ sau là ba lệnh của máy tính 16 bit để cộng hai giá trị được chứa trong bộ nhớ tại địa chỉ 64 và 65 và lưu kết quả vào địa chỉ 66: 4Các Vấn Đề Cơ Sở của KHMT ThS. GVC Tô Oai HùngCác Thế Hệ của Ngôn Ngữ Lập Trình 0110000001000000 Nạp giá trị tại 64 vào AX 0100000001000001 Cộng với giá trị tại 65. 0111000001000010 Chứa giá trị AX vào 66.• Khi tất cả lệnh máy được tạo, người lập trình lưu chúng vào bộ nhớ. Sau đó, thiết lập thanh ghi PC trỏ đến lệnh đầu tiên của chương trình và thực thi.• Các thao tác cơ bản của máy tính là đọc lệnh trong bộ nhớ được trỏ bởi thanh ghi PC, tăng thanh ghi PC, thực thi lệnh và lặp lại.• Một sự cải tiến trước đây để lập trình hiệu quả hơn là sử dụng hợp ngữ (assembly language). Trong hợp ngữ, chúng ta có thể 5Các Vấn Đề Cơ Sở của KHMT ThS. GVC Tô Oai HùngCác Thế Hệ của Ngôn Ngữ Lập Trình đọc mã lệnh bằng từ gợi nhớ (chữ và số - mnemonic) thay vì mã máy và mỗi từ gợi nhớ ứng với một lệnh máy.• Hợp ngữ được gọi là ngôn ngữ thế hệ thứ hai (second-generation language). Trong hợp ngữ, người lập trình viết mã lệnh gợi nhớ và nó sẽ được biên dịch (bằng trình hợp dịch – assembler) trực tiếp thành mã máy. Một số từ gợi nhớ tiêu biểu như sau: - LDA m: Nạp giá trị tại địa chỉ m vào thanh ghi AX. - ADA m: Cộng giá trị của AX với giá trị tại địa chỉ m, kết quả chứa trong AX. 6Các Vấn Đề Cơ Sở của KHMT ThS. GVC Tô Oai HùngCác Thế Hệ của Ngôn Ngữ Lập Trình - ALS: Dịch các bit trong AX sang trái 1 đơn vị. - SSA: Nếu bit msb của AX là 1, bỏ qua lệnh kế tiếp. Ngược lại, thực thi lệnh kế tiếp. - JMP m: Nhảy đến địa chỉ m.• Sau đây là mã hợp ngữ để viết lại 3 lệnh máy ở trên: LDA 100 // 100 octal = 64 ADA 101 // 101 octal = 65 STA 102 // 102 octal = 66• Người lập trình thường sử dụng hợp ngữ để viết chương trình vì nó gần gũi với phần 7Các Vấn Đề Cơ Sở của KHMT ThS. GVC Tô Oai HùngCác Thế Hệ của Ngôn Ngữ Lập Trình cứng máy tính hoặc những chương trình tối ưu tốc độ hay bộ nhớ.• Như là một công cụ giáo dục, lập trình hợp ngữ rất quan trọng, bởi vì nó là cách tốt nhất để biết được máy tính làm gì và làm như thế nào.• Vào năm 1954, ngôn ngữ thế hệ thứ ba ra đời. Ngôn ngữ đó là FORTRAN, do John Backus của IBM phát minh.• FORTRAN là chữ viết tắt của FORmula TRANslation. Ngôn ngữ này giúp người lập trình làm việc ở mức trừu tượng cao hơn.• Thay vì bị hạn chế bởi tập lệnh máy, người 8Các Vấn Đề Cơ Sở của KHMT ThS. GVC Tô Oai HùngCác Thế Hệ của Ngôn Ngữ Lập Trình lập trình bây giờ sử dụng các câu lệnh giống như tiếng Anh và các biểu thức toán học. Ngôn ngữ cũng bao gồm các lệnh rẽ nhánh, lặp và nhập/xuất.• Sau đây là câu lệnh của FORTRAN. Các tên biến X, Y và Z trở thành tên đại diện cho các vị trí nhớ. Câu lệnh sẽ cộng nội dung của Y với Z và chứa tổng vào X: X = Y + Z• So sánh với hợp ngữ, câu lệnh của FORTRAN dễ đọc, dễ viết và ngắn gọn hơn.• FORTRAN là “ngôn ngữ thủ tục” (procedural language). Nghĩa là, người lập trìn ...

Tài liệu được xem nhiều: