Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 79 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
79
Dung lượng
540 KB
Nội dung
Nội Dung 12.1 Tương tự với ngôn ngữ tự nhiên 12.2 Ngôn ngữ máy tính 12.3 Hợp ngữ 12.4 Ngôn ngữ cấp cao 12.5 Ngôn ngữ lập trình hướng đối tượng 12.6 Một số ngôn ngữ lập trình cấp cao 12.7 Các ngôn ngữ lập trình cấp cao khác 12.8 Đặc trưng ngôn ngữ lập trình 12.9 Cách lựa chọn ngôn ngữ lập trình cho ứ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ữ 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 toá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ữ máy tính • Các toán hạng điển hình có tập lệnh máy tính: Phép toá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ữ máy tính Ví dụ: Giả sử ta có biến nguyên 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 toán đời trực tiếp ngôn ngữ máy xa lạ với ngôn ngữ tự nhiên mà người dùng Ngôn ngữ 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 Hợp ngữ • Ví dụ: Chương trình hợp ngữ mẫu cộng hai số lưu trữ kết 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 thêm vào ghi A Thêm nội dung vào ghi A Trừ nội dung ghi A Lưu trữ ghi A MỘT SỐ NGÔN NGỮ LẬP TRÌNH CẤP CAO KHÁC 5) RPG • • • • • • RPG viết tắt Report Program Generator Là ngôn ngữ thiết kế để phát sinh báo cáo kết đầu từ tiến trình xử lý ứng dụng kinh doanh phổ biến Ngôn ngữ phát triển IBM vào năm 1961 Các phiên RPG sau gọi 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 để rõ đầu vào, tính toán, đầu RPG dễ dàng để học sử dụng COBOL Rpg chủ yếu sử dụng để xử lý ứng dụng thương mại 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 toán ngôn ngữ lập trình hoàn thành cách sử dụng hàm • LISP sử dụng rộng rãi 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 hiểu lập trình logic phát triển sớm vào năm 1970, nhóm gồm nhà khoa học Trường Đại học Aix-Marseille Đại học Edinburgh Trình thông dịch phát triển Marseille vào năm 1972 PROLOG ngôn ngữ không theo thủ tục Các lập trình viên rõ làm thoát khỏi hệ thống để tính toán phương pháp để làm việc tay Cho phép lập trình viên phải tập trung vào vấn đề kỹ thuật Được biết đến 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 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à 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 toà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 hoà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ý cần thiết thêm câu lệnh dịch vào chuỗi câu lệnh ngôn ngữ trước chương trình biên dịch thành công ngôn ngữ biên dịch ngôn ngữ biết đến 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 tiền xử lý CÁC KHÁI NIỆM LIÊN QUAN KHÁC 3) Ngôn ngữ kịch - scripting • Các câu lệnh sử dụng để hướng dẫn máy tính làm số công việc • Một chương trình viết ngôn ngữ scripting thường gọi tập lệnh • Ngôn ngữ scripting hỗ trợ biến kiểm soát cấu trúc đơn giản phép lập trình viên viết scripts, thực thi điều kiện hay lặp lại số lệnh.Với tính ngôn ngữ script sử dụng để xác định lệnh phức tạp CÁC KHÁI NIỆM LIÊN QUAN KHÁC 3) Ngôn ngữ kịch - scripting • Ngôn ngữ scripting thực môi trường cho ứng dụng phức tạp đủ linh hoạt để sử dụng phạm vi khác • Ngôn ngữ scripting diễn dịch biên soạn Vì tập lệnh tương tác với chương trình chạy thay đổi trình chạy • Để kiểm soát chương trình chạy, scripts xử lý liệu trước liệu sau • Thường cho phép lập trình viên gọi thành phần ứng dụng cá nhân cách trực tiếp • Ngôn ngữ scripting gọi Unix Shell Script, Pert, Tcl, Python CÁC KHÁI NIỆM LIÊN QUAN KHÁC 4) Ngôn ngữ hệ thứ • Ngôn ngữ hệ thứ tư ngôn ngữ không thủ tục Một ngôn ngữ thủ tục • Yêu cầu lập trình viên phải đánh vần bước việc xử lý thủ tục cần thiết để đạt kết mong muốn • Ngôn ngữ không thủ tục cho phép người sử dụng dễ dàng định “làm gì”, kết mô tả chi tiết “như “ • Với tính linh hoạt nhiều lập trình viên chuyên nghiệp dễ dàng nhanh chóng để viế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 ngôn ngữ hệ thứ Kết thực thi ngôn ngữ hệ thứ Câu hỏi tập • Giáo trình trang 426 tập trang 45 [...]... chồng các máy nhiều cấp Thí dụ ngôn ngữ máy là ngôn ngữ lập trình cấp thấp Ngôn ngữ cấp cao • Là các ngôn ngữ của các máy nằm cao trên chồng các máy nhiều cấp • Cho phép dùng nhiều kiểu dữ liệu và nhiều cấu trúc điều khiển hơn so với những gì được cung cấp bởi ngôn ngữ cấp thấp, đồng thời cách biểu diễn các lệnh cũng gần với ngôn ngữ tự nhiên • Phân loại các ngôn ngữ lập trình cấp cao : – Ngôn ngữ đa... 02 mov [202],ax • Ngôn ngữ cấp cao C : short i, j; // khai báo 2 biên i, j thuộc kiểu số nguyên 16 bit i = 5; // chứa 5 vào biến i j = i +10; // chứa kết quả tính công thức i + 10 vào biến j Ngôn ngữ cấp cao • Chương trình dịch để dịch chương trình bằng ngôn ngữ cấp cao phải chuyển đổi thành chương trình ngôn ngữ máy tính tương đương với nó trước khi nó có thể được thi hành trên máy tính Quá trình dịch... thực thi chương trình (nạp module) Ngôn ngữ cấp cao • Trình thông dịch: được sử dụng để phiên dịch các chương trình được viết bằng ngôn ngữ cấp cao • Trình thông dịch lấy các lệnh của một chương trình ngôn ngữ cấp cao dịch nó sang các tập lệnh của ngôn ngữ máy và sau đó ngay lập tức thực thi kết quả các tập lệnh bằng ngôn ngữ máy Vai trò của trình thông dịch Ngôn ngữ cấp cao • Những bất lợi chính của... Pascal – Ngôn ngữ lập trình stack : TrueType, Postscript, – Lập trình khai báo : C, Pascal, – Ngôn ngữ lập trình logic, lập trình thủ tục & lập trình hàm : Prolog, Lisp, – Ngôn ngữ lập trình hướng đối tượng : C++, C#, Java, Ngôn ngữ cấp cao Đặc điểm của ngôn ngữ cấp cao: • Độc lập với máy • Không đòi hỏi lập trình viên biết bất cứ thứ gì về cấu trúc bên trong của máy tính • Không xử lý mã máy • Cho... chuẩn bị chương trình thấp hơn ngữ cấp cao thấp hơn với một hợp ngữ hay với một ngôn ngữ máy • Tài liệu tốt hơn • Dễ dàng lưu trữ Ngôn ngữ cấp cao Hạn chế của ngôn ngữ cấp cao: • Hiệu quả Thấp hơn • Ít linh hoạt hơn Ngôn ngữ lập trình hướng đối tượng(OOP) Lập trình hướng đối tượng(OOP) là gì? • Các khái niệm về OOP lần đầu tiên được giới thiệu vào năm 1967 của các nhà phát triển của một ngôn ngữ lập... trình biên dịch Ngôn ngữ cấp cao Minh họa quá trình biên dịch lại mã nguồn của chương trình Ngôn ngữ cấp cao • Linker (Liên kết, kết nối): được sử dụng để kết hợp chính xác tất cả các tập tin đối tượng chương trình (module) của phần mềm, và chuyển đổi chúng vào chương trình thực thi cuối cùng Ngôn ngữ cấp cao Quá trình biên dịch nhiều chương trình nguồn và kết nối chúng với nhau để thực thi chương trình... • Là ngôn ngữ máy chỉ có hai cấu trúc điều khiển cơ bản để thực hiện các lệnh : tuần tự và nhảy Cấu trúc tuần tự là mặc định: sau khi thực hiện xong lệnh máy hiện hành sẽ thi hành tiếp lệnh đi ngay sau lệnh hiện hành trong chương trình Lệnh nhảy cho phép người lập trình xác định lệnh kế tiếp được thi hành ở đâu trong chương trình • Ngôn ngữ lập trình cấp thấp" để miêu tả các ngôn ngữ của các máy nằm... ngữ Thuận lợi • Dễ hiểu và dễ sử dụng • Dễ định vị hơn và sửa lỗi chính xác • Dễ để sửa • Không quan tâm đến địa chỉ • Dễ dàng xác định đúng vị trí • Hiệu xuất cao hơn ngôn ngữ máy tính Hợp ngữ Hạn chế: • Phụ thuộc vào • Người lập trình phải có kiến thức cần thiết về phần cứng • Các lệnh chỉ được viết ở mức mã máy nên viết chương trình bằng hợp ngữ vẫn còn mất thời gian và không dễ dàng lắm Ngôn ngữ. .. lạc giữa các đối tượng Ngôn ngữ lập trình hướng đối tượng(OOP) Các khái niệm cơ bản 1.Đối tượng • Một đối tượng là yếu tố ban đầu của một chương trình được viết bằng một ngôn ngữ OOP Mỗi đối tượng bao gồm một bộ các thủ tục (gọi là phương thức) và một số dữ liệu (thuộc tính) • Một chương trình được viết bằng một ngôn ngữ OOP là một tập hợp các đối tượng liên kết với nhau Ngôn ngữ lập trình hướng đối... được phổ biến trong những năm 1980 với sự phát triển của ngôn ngữ lập trình khác có tên Smalltalk, từ đó khái niệm OOP được sử dụng rộng rãi Ngôn ngữ lập trình hướng đối tượng(OOP) Lập trình hướng đối tượng(OOP) là gì? • Những ý tưởng đằng sau OOP cơ bản là ngôn ngữ lập trình được sử dụng để mô phỏng các vấn đề của thế giới thực trên các máy tính • Do đó cái cốt lõi của OOP là giải quyết vấn đề bằng ... 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ữ 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... đời trực tiếp ngôn ngữ máy xa lạ với ngôn ngữ tự nhiên mà người dùng Ngôn ngữ 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:... 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