Cùng tìm hiểu tương tự với ngôn ngữ tự nhiên; ngôn ngữ máy tính; hợp ngữ; ngôn ngữ cấp cao; ngôn ngữ lập trình hướng đối tượng;... được trình bày cụ thể trong Bài giảng Chương 12: Ngôn ngữ máy tính.
Nội Dung 12.1 12.2 12.3 12.4 12.5 12.6 12.7 12.8 12.9 Tương tự với ngơn ngữ tự nhiên Ngơn ngữ máy tính Hợp ngữ Ngơn ngữ cấp cao Ngơn ngữ lập trình hướng đối tượng Một số ngơn ngữ lập trình cấp cao Các ngơn ngữ lập trình cấp cao khác Đặc trưng của một ngơn ngữ lập trình Cách lựa chọn một ngơn ngữ lập trình cho một ứng dụng 12.10.Các khái niệm liện quan khác Mã máy thơng qua ngơn ngữ tự nhiên • Ngơn ngữ máy tính biện pháp để giao tiếp dùng để truyền đạt thông tin người máy tính • Tất ngơn ngữ máy tính có từ ngữ riêng chúng • Khác biệt chủ yếu ngôn ngữ tự nhiên ngơn ngữ máy tính ngơn ngữ tự nhiên có từ vựng lớn đa số ngơn ngữ máy tính sử dụng hạn chế hạn chế từ vựng • Ngơn ngữ máy tính phân thành loại sau : Ngơn ngữ máy tính Hợp ngữ Ngơn ngữ cấp cao Ngơn ngữ của máy tính • Là ngơn ngữ máy tính vật lý mà người dùng lập trình • Lệnh máy : – Mỗi lệnh máy thực tác vụ đơn giản phép tính số học hay hoạt động đọc/ghi vùng nhớ/thanh ghi CPU – Một lệnh máy bao gơm phần : mã lệnh tốn hạng Mã lệnh (opcode) chuỗi bit Mỗi chuỗi bit miêu tả số, số miêu tả lệnh máy cụ thể – Toán hạng xác định liệu bị xử lý lệnh máy tương ứng Toán hạng chuỗi bit nhị phân, định dạng ngữ nghĩa phụ thuộc vào lệnh máy cụ thể Ngơn ngữ của máy tính • Các tốn hạng điển hình có tập lệnh máy tính: Phép tốn số học Phép toán logic Các thao tác rẽ nhánh Thao tác để di chuyển liệu vị trí nhớ ghi Thao tác di chuyển liệu từ thiết bị nhập/xuất máy tính Ngơn ngữ của máy tính Ví dụ: Giả sử ta có biến ngun 16 bit, biến nguyên thứ nhât (i) nằm vị trí nhớ 200h, biến nguyên thứ (j) nằm vị trí nhớ 202h.Đọan lệnh máy (Intel 80x86) sau thiết lập nội dung cho biến i = thiết lập nội dung biến j theo công thức i+10 : 10111000 00000101 00000000 b8 05 00 10100011 00000000 00000002 a3 00 02 10100001 00000000 00000002 a1 00 02 00000101 00001010 00000000 05 0a 00 10100011 00000010 00000010 a3 02 02 • Con người khó lập trình (rất khó viết đọc) giải tốn ngồi đời trực tiếp ngơn ngữ máy q xa lạ với ngôn ngữ tự nhiên mà người dùng Ngơn ngữ của máy tính Ưu điểm hạn chế ngơn ngữ máy tính • Ưu: Chương trình viết ngơn ngữ máy tính thi hành nhanh máy tính • Khuyết: – – – – – – Phụ thuộc vào máy Khó viết chương trình Lỗi prone Khó sửa đổi Lập trình viên cần ghi mã số cho lệnh Lập trình viên cần ghi vị trí lưu trữ lệnh liệu dạng số – Lập trình viên cần theo dõi vị trí lưu trữ lệnh liệu ghi chương trình Hợp ngữ • Hợp ngữ sử dụng vào năm 1952 Lập trình hợp ngữ có đặc điểm sau : Sử dụng mã dễ nhớ theo ký tự số thay mã số cho lệnh tập lệnh Lưu trữ vị trí biểu diễn dạng địa theo ký tự số thay địa số Cung cấp lệnh bổ sung gọi lệnh giả tập lệnh dùng để hướng dẫn hệ thống cách muốn chương trình dịch hợp ngữ bên nhớ máy tính START PROGRAM AT 0000 START SET SET ASIDE DATA AT 1000 ASIDE AN ADDRESS FOR FRST ASIDE AN ADDRESS FOR SCND AN ADDRESS FOR ANSR Hợp ngữ • Trình dịch hợp ngữ hệ thống máy tính hệ thống phần mềm, cung cấp nhà sản xuất máy tính dịch chương trình hợp ngữ thành chương trình ngơn ngữ máy tính Assembler language program Input Assembler Output Machine language program One-to-once correspondence (Source Program ) (Object Program ) Figure 12.2 Illustrating the translation process of an assembler Hợp ngữ • Ví dụ: Chương trình hợp ngữ mẫu cộng hai số và lưu trữ kết quả Mnemonic Opcode Meaning HLT CLA ADD SUB STA 00 10 14 15 30 Halt, sử dụng để kết thúc chương trình Xóa và thêm vào thanh ghi A Thêm nội dung vào thanh ghi A Trừ nội dung của thanh ghi A Lưu trữ thanh ghi A MỘT SỐ NGƠN NGỮ LẬP TRÌNH CẤP CAO KHÁC 5) RPG • • • • • • RPG viết tắt của Report Program Generator. Là ngơn ngữ được thiết kế để phát sinh báo cáo kết quả đầu ra từ tiến trình xử lý của các ứng dụng kinh doanh phổ biến. Ngơn ngữ được phát triển bởi IBM vào năm 1961. Các phiên bản RPG sau này được gọi là RPGII Người lập trình viên sử dụng bảng mã hóa chi tiết để viết chương trình của mình để chỉ rõ đầu vào, sự tính tốn, và đầu ra. RPG dễ dàng để học và sử dụng như COBOL. Rpg chủ yếu được sử dụng để xử lý các ứng dụng thương mại trên những máy vi tính nhỏ MỘT SỐ NGƠN NGỮ LẬP TRÌNH CẤP CAO KHÁC 6) LISP • LISP viết tắt LISt Processing • Được phát triển vào năm 1959 John McCarthy MIT • Là ngơn ngữ thao tác với liệu số mà biểu tượng, ký hiệu chuỗi văn • Tất chức để tính tốn ngơn ngữ lập trình hồn thành cách sử dụng hàm • LISP được sử dụng rộng rãi trong các lĩnh vực mơ hình MỘT SỐ NGƠN NGỮ LẬP TRÌNH CẤP CAO KHÁC 7) PROLOG • • • • PROLOG được hiểu là lập trình logic được phát triển sớm vào năm 1970, bởi một nhóm gồm các nhà khoa học của Trường Đại học AixMarseille và Đại học Edinburgh. Trình thơng dịch đầu tiên của nó được phát triển tại Marseille vào năm 1972. PROLOG là 1 ngơn ngữ khơng theo thủ tục. Các lập trình viên chỉ rõ làm cái gì và thốt ra khỏi hệ thống để tính tốn phương pháp để làm việc bằng tay. Cho phép lập trình viên phải tập trung vào các vấn đề kỹ thuật. Được biết đến như là vấn đề hướng đối tượng hay ngơn ngữ đặc tả hướng đối tượng MỘT SỐ NGƠN NGỮ LẬP TRÌNH CẤP CAO KHÁC 7) PROLOG • Khơng sử dụng rộng rãi lý sau : – Ngơn ngữ lập trình logic chứng minh tính hiệu khơng cao – Ngơn ngữ lập trình logic sử dụng hiệu cho vài ứng dụng tương đối nhỏ ĐẶC TRƯNG CỦA MỘT NGƠN NGỮ LẬP TRÌNH • Một số đặc điểm quan trọng cho một ngơn ngữ lập trình tốt : Tính đơn giản Tính tự nhiên Sự trừu tượng hóa Tính hiệu Có cấu trúc Tính chắn Tính cục Tính mở rộng Phù hợp cho mơi trường CÁC KHÁI NIỆM LIÊN QUAN KHÁC 1) Chương trình con: • Là chương trình viết cách đưa vào sử dụng chương trình khác sử dụng cần thiết mà khơng phải viết lại Các chương trình gọi thủ tục con, thủ tục phụ hàm tùy theo ngơn ngữ lập trình • Cấu trúc chương trình bao gồm tiêu đề thân Mỗi tiêu đề chương bao gồm tên có danh sách tham số Thân chương trình chứa đựng tập hợp thị thực tác vụ chương trình • Sau tạo ra, chương trình sử dụng chương trình khác điểm chương trình CÁC KHÁI NIỆM LIÊN QUAN KHÁC Các thuận lợi chương trình con: Dễ dàng viết chương trình lập trình viên viết mã ngắn Chỉ cần mã chương trình giữ lại hệ thống nên tiết kiệm không gian lưu trữ hệ thống tốn nhớ trình chạy chương trình Cho phép chương trình xây dựng modular thích hợp Thiết kế modular hay hệ thống phần mềm hình thức chương trình cung cấp khả biên dịch phần chương trình mà khơng cần biên dịch tồn chương trình Thuận lợi việc bảo dưỡng, gỡ lỗi, tối ưu hóa hiệu suất, đọc hồn thiện CÁC KHÁI NIỆM LIÊN QUAN KHÁC 2) Bộ tiền xử lý • Một ngơn ngữ xử lý là cần thiết khi thêm các câu lệnh dịch vào một chuỗi các câu lệnh của ngơn ngữ trước khi chương trình có thể biên dịch thành cơng bởi một ngơn ngữ biên dịch như một ngơn ngữ được biết đến là bộ tiền xử lý. CÁC KHÁI NIỆM LIÊN QUAN KHÁC 2) Bộ tiền xử lý Minh họa sử dụng của bộ tiền xử lý CÁC KHÁI NIỆM LIÊN QUAN KHÁC 3) Ngơn ngữ kịch bản scripting • Các câu lệnh được sử dụng để hướng dẫn máy tính làm một số cơng việc. • Một chương trình được viết bằng ngơn ngữ scripting thường được gọi là một tập lệnh. • Ngơn ngữ scripting hỗ trợ các biến và kiểm sốt cấu trúc đơn giản để cho phép các lập trình viên viết scripts, có thể thực thi điều kiện hay lặp lại một số lệnh.Với các tính năng này ngơn ngữ script được sử dụng để các xác định các lệnh phức tạp. CÁC KHÁI NIỆM LIÊN QUAN KHÁC 3) Ngơn ngữ kịch bản scripting • Ngơn ngữ scripting thực hiện được trong mơi trường cho các ứng dụng phức tạp nhưng vẫn đủ linh hoạt để sử dụng trong một phạm vi khác nhau. • Ngơn ngữ scripting thì diễn dịch chứ khơng phải là biên soạn. Vì vậy một tập lệnh có thể tương tác được với một chương trình đang chạy và thay đổi trong q trình chạy. • Để kiểm sốt một chương trình đang chạy, scripts có thể xử lý dữ liệu trước và dữ liệu sau. • Thường cho phép lập trình viên gọi ra các thành phần ứng dụng cá nhân một cách trực tiếp. • Ngơn ngữ scripting được gọi là Unix Shell Script, Pert, Tcl, và Python. CÁC KHÁI NIỆM LIÊN QUAN KHÁC 4) Ngơn ngữ thế hệ thứ 4 • Ngơn ngữ thế hệ thứ tư là ngơn ngữ khơng thủ tục. Một ngơn ngữ thủ tục • u cầu các lập trình viên phải đánh vần các bước trong việc xử lý các thủ tục cần thiết để đạt được kết quả mong muốn. • Ngơn ngữ khơng thủ tục cho phép người sử dụng dễ dàng chỉ định “làm gì”, kết quả có thể được mơ tả chi tiết “như thế nào “ • Với tính linh hoạt rất nhiều lập trình viên chun nghiệp dễ dàng và nhanh chóng để viết một chương trình. CÁC KHÁI NIỆM LIÊN QUAN KHÁC 4) Ngơn ngữ hệ thứ • Thân thiện với người dùng sau hay hai ngày đào tạo thực hành • Ngơn ngữ hệ thứ tư sử dụng tiếng anh • Ngơn ngữ hệ thứ tư bao gồm tính hạn chế khả toán học, tự động báo cáo định danh, xếp thứ tự, ghi lại lựa chọn tiêu chuẩn • Một số ngơn ngữ hệ thứ tư thường gọi ý tưởng ADR, phần mềm AG's Natural 2, Cinmon's Mantis, Mathematica Products Group's RAMIS II Information Builders' FOCUS CÁC KHÁI NIỆM LIÊN QUAN KHÁC Chương trình viết bằng ngơn ngữ thế hệ thứ 4 Kết quả sự thực thi của ngơn ngữ thế hệ thứ 4 Câu hỏi và bài tập • Giáo trình trang 426 và bài tập trang 45 ... ngơn ngữ máy tính có từ ngữ riêng chúng • Khác biệt chủ yếu ngôn ngữ tự nhiên ngôn ngữ máy tính ngơn ngữ tự nhiên có từ vựng lớn đa số ngơn ngữ máy tính sử dụng hạn chế hạn chế từ vựng • Ngơn ngữ. .. Ngơn ngữ máy tính phân thành loại sau : Ngơn ngữ máy tính Hợp ngữ Ngơn ngữ cấp cao Ngơn ngữ của máy tính • Là ngơn ngữ máy tính vật lý mà người dùng lập trình • Lệnh máy : – Mỗi lệnh máy thực... tiếp ngơn ngữ máy q xa lạ với ngơn ngữ tự nhiên mà người dùng Ngơn ngữ của máy tính Ưu điểm hạn chế ngơn ngữ máy tính • Ưu: Chương trình viết ngơn ngữ máy tính thi hành nhanh máy tính • Khuyết: