1. Trang chủ
  2. » Giáo án - Bài giảng

Bài giảng chương 12 ngôn ngữ máy tính

79 560 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 79
Dung lượng 540 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Ưu điểm và hạn chế của ngôn ngữ máy tính • Ưu: Chương trình viết ngôn ngữ máy tính có thể được thi hành rất nhanh bằng máy tính – Lập trình viên cần ghi mã số cho từng lệnh.. • Trình th

Trang 2

12.1 Tương tự với ngôn ngữ tự nhiên

12.8 Đặc trưng của một ngôn ngữ lập trình

12.9 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

Nội Dung

Trang 3

• Ngôn ngữ máy tính là một biện pháp để giao

tiếp dùng để truyền đạt thông tin giữa người

và máy tính

• Tất cả ngôn ngữ máy tính có từ ngữ riêng của

chúng.

• Khác biệt chủ yếu giữa ngôn ngữ tự nhiên và

ngôn ngữ máy tính là ngôn ngữ tự nhiên có từ vựng lớn nhưng đa số ngôn ngữ máy tính sử dụng rất hạn chế hoặc hạn chế từ vựng

• Ngôn ngữ máy tính có thể phân thành các loại

Trang 4

• Là ngôn ngữ của máy tính vật lý mà người dùng có

thể lập trình được

• Lệnh máy :

– Mỗi lệnh máy chỉ thực hiện một tác vụ rất đơn giản

như 1 phép tính số học hay 1 hoạt động đọc/ghi vùng nhớ/thanh ghi CPU

– Một lệnh máy bao gôm 2 phần : mã lệnh và toán

hạng Mã lệnh (opcode) là một chuỗi các bit 0 và 1 Mỗi chuỗi bit miêu tả 1 số, mỗi số miêu tả 1 lệnh máy cụ thể

– Toán hạng xác định dữ liệu nào sẽ bị xử lý bởi lệnh

máy tương ứng Toán hạng cũng là chuỗi bit nhị phân, nhưng định dạng và ngữ nghĩa của nó phụ thuộc vào từng lệnh máy cụ thể

Ngôn ngữ của máy tính

Trang 5

• Các toán hạng điển hình có trong tập lệnh của máy

Trang 6

Ví dụ: Giả sử ta có 2 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ứ 2 (j) nằm

ở vị trí nhớ 202h.Đọan lệnh máy (Intel 80x86) sau đây sẽ thiết lập nội dung cho biến i = 5 rồi thiết lập nội dung của biến j theo công thức i+10 :

• Con người rất khó lập trình (rất khó viết và đọc) giải quyết

bài toán ngoài đời trực tiếp bằng ngôn ngữ máy vì quá xa

lạ với ngôn ngữ tự nhiên mà con người đã từng dùng

Ngôn ngữ của máy tính

Trang 7

Ưu điểm và hạn chế của ngôn ngữ máy tính

• Ưu: Chương trình viết ngôn ngữ máy tính có thể được

thi hành rất nhanh bằng máy tính

– Lập trình viên cần ghi mã số cho từng lệnh

– Lập trình viên cần ghi vị trí lưu trữ của lệnh và dữ liệu ở dạng số

– Lập trình viên cần theo dõi vị trí lưu trữ của lệnh và dữ liệu trong khi ghi chương trình

Ngôn ngữ của máy tính

Trang 8

• Hợp ngữ được sử dụng vào năm 1952 Lập trình bằng

START PROGRAM AT 0000 START DATA AT 1000 SET ASIDE AN ADDRESS FOR FRST SET ASIDE AN ADDRESS FOR SCND ASIDE AN ADDRESS FOR ANSR

Hợp ngữ

Trang 9

• Trình dịch hợp ngữ của hệ thống máy tính là hệ thống

phần mềm, cung cấp bởi 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ữ

Trang 10

Ví dụ: Chương trình hợp ngữ mẫu cộng hai số và lưu trữ

Halt, sử dụng để kết thúc chương trình

Xóa và thêm vào thanh ghi AThêm nội dung vào thanh ghi ATrừ nội dung của thanh ghi A Lưu trữ thanh ghi A

Trang 12

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

Hợp ngữ

Trang 13

• 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 thấp dưới đáy 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ữ lập trình cấp thấp

Trang 14

• 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 mục đích: Basic, C, C++, C#, Java, Fortran,

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

Trang 15

Đặ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 phép sử dụng máy tính giải quyết vấn đề ngay cả

khi người dùng không phải là chuyên gia lập trình

Ngôn ngữ cấp cao

Trang 16

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

Trang 17

• 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

Ngôn ngữ cấp cao

Quá trình dịch của một trình biên dịch

Trang 18

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

Trang 19

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

Trang 20

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 (nạp module)

Trang 21

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

Ngôn ngữ cấp cao

Vai trò của trình thông dịch

Trang 22

• Những bất lợi chính của trình biên dịch so với trình thông dịch là chúng chạy chậm hơn so với trình biên dịch khi dịch một chương trình hoàn tất

• So với biên dịch, thông dịch được dễ dàng hơn để viết

• Lợi thế chính của thông dịch so với các trình biên dịch

là một lỗi cú pháp trong một biểu thức của chương trình được phát hiện thì sẽ đưa ra hướng giải quyết cho các lập trình viên ngay sau khi nó được dịch

Ngôn ngữ cấp cao

Vai trò của trình thông dịch

Trang 23

Thuận lợi của ngôn ngữ cấp cao:

• Dễ sử dụng trên từng máy độc

• Dễ dàng đọc và sử dụng hơn

• Lỗi ít

• Chi phí 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

Trang 24

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ữ cấp cao

Trang 25

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 có tên Simula-67

• Khái niệm này bắt đầu đượ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)

Trang 26

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 cách

xác định các đối tượng thế giới thực của vấn đề và xử lý yêu

cầu của các đối tượng, và sau đó tạo ra mô phỏng của những

đối tượng, quy trình của họ, và được yêu cầu thông tin liên

lạc giữa các đối tượng

Ngôn ngữ lập trình hướng đối tượng(OOP)

Trang 27

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 tượng(OOP)

Trang 28

Các khái niệm cơ bản

2.Phương thức

• Một phương thức của một đối tượng xác

định tập hợp các thao tác mà đối tượng sẽ

thực hiện khi một thông báo tương ứng với

các phương thức nhận được của đối tượng.

• Trong một đoạn chương trình, phương thức

được định nghĩa như chức năng hoàn chỉnh

với các thông số và khả năng trở về giá trị.

Ngôn ngữ lập trình hướng đối tượng(OOP)

Trang 29

Mô hình của 1 đối tượng sử dụng trong OOP

Trang 30

Các khái niệm cơ bản

3.Thông báo

• Các cơ chế để hỗ trợ giao tiếp giữa các đối

tượng là thông qua thông báo

• Tức là, tất cả các máy tính trong một chương

trình được viết bằng một ngôn ngữ OOP

được thực hiện bằng cách gửi thông báo cho

một đối tượng để gọi một trong các phương

thức

Ngôn ngữ lập trình hướng đối tượng(OOP)

Trang 31

Các khái niệm cơ bản

4.Lớp

• Một lớp là một mô tả của một hay nhiều đối tượng tương tự

nhau Khái niệm lớp là tương tự với "kiểu" trong các quy

ước thủ tục- hướng ngôn ngữ

• Lớp có 2 dạng: lớp biến và lớp thực thể.

• Ví dụ, nếu "số nguyên" là một kiểu (lớp), sau đó "8" là một

thực thể (đối tượng) của kiểu (lớp) "số nguyên"

Tương tự, "Người-1" và "Người-2" có thể là hai thực thể

(đối tượng) của một lớp "Người"

Ngôn ngữ lập trình hướng đối tượng(OOP)

Trang 32

Các khái niệm cơ bản

5.Thừa kế

Trong OOP, kế thừa là một cơ chế để chia sẻ mã lệnh và

hành vi Nó cho phép một lập trình viên tái sử dụng các

hành vi của một lớp trong các định nghĩa của lớp mới

• Kế thừa không cần phải có giới hạn đối với một lớp cha

Lớp con có thể kế thừa từ nhiều lớp cha Đây gọi là đa thừa

kế

Ngôn ngữ lập trình hướng đối tượng(OOP)

Trang 33

Ví dụ về cấu trúc thừa kế của lớp

Trang 34

Chương trình hướng thủ tục

• Ngôn ngữ lập trình hướng thủ tục quy ước sử dụng thủ tục trừu tượng mà thứ tự đóng gói một dãy các lệnh vào trong các thủ tục

• Vai trò của các thủ tục là chuyển đổi dữ liệu đầu vào được xác định bởi các tham số vào các giá trị

• Mô hình của ngôn ngữ lập trình hướng thủ tục có nguyên tắc tổ chức mạnh mẽ để quản lý các hành động và thuật toán nhưng yếu kém về nguyên tác tổ chức quản lý dữ liệu dùng chung

Trang 35

Chương trình hướng đối tượng

• Ngôn ngữ lập trình hướng đối tượng đóng gói dữ liệu cũng như thứ tự thao tác vào trong các thực thể trừu tượng gọi là đối tượng

• Lập trình hướng đối tượng cung cấp nhiều công cụ tiện dụng

và hữu ích hơn lập trình hướng thủ tục

• Vai trò của các đối tượng là phục vụ như một kho dữ liệu và đáp ứng thực hiện các hành động được yêu cầu theo một cách thức xác định bởi trạng thái hiện tại của hệ thống

• Mô hình của ngôn ngữ lập trình hướng đối tượng thì mạnh

mẽ về tổ chức quản lý các hành động và thuật toán và cả quản lý dữ liệu dùng chung

• Kế thừa cung cấp thêm sức mạnh cho phép các lớp được phân loại theo các thuộc tính và theo thừa số để tách thành nhiều lớp phụ vào một siêu lớp

Trang 36

Chương trình hướng đối tượng

Trang 38

MỘT SỐ NGÔN NGỮ LẬP TRÌNH CẤP CAO

1 FORTRAN

• FORTRAN là từ viết tắt của FORmula TRANslation

• Được thiết kế để giải quyết các vấn đề khoa học và kỹ thuật

Một số tính năng quan trọng của FORTRAN77 là:

1.Xử lý chuỗi ký tự.

2.Khởi tạo các vòng lặp rõ ràng hơn.

3.Câu lệnh IF với một lựa chọn ELSE.

Một số tính năng quan trọng của FORTRAN 90:

1.Xây dựng hàm cho các dãy toán tử như DOTPRODUCT,

MATMUL, TRANSPOSE, MAXVAL, M1NV AL, PRODUCT, và SUM.

2 Cơ sở để tự động phân vùng và phân chia vị trí mảng hỗ trợ dữ liệu

3 Sử dụng biến con trỏ cho phép truy xuất các địa chỉ gián tiếp cung

cấp một phương thức động quản lý lưu trữ

4 Thêm một số lệnh để dễ dàng lập trình như CASE, CYCLE, EXIT

Trang 39

MỘT SỐ NGÔN NGỮ LẬP TRÌNH CẤP CAO

C FORTRAN PROGRAM TO COMPUTE

C THE SUM OF 10 NUMBERS

SUM = 0

DO 50 I = 1, 10READ (5, 10)NSUM = SUM + N

END

Ví dụ về chương trình FORTRAN

Trang 40

2 COBOL

COBOL là từ viết tắt của COmmon Business Oriented

Language Các chuẩn mới COBOL có những tính năng:

Định dạng miễn phí, cho phép nhập lệnh vào bất cứ vị trí nào trên dòng

Các chú thích trên dòng

Một số loại dữ liệu mới

Điều kiện biên soạn của một số mã phân đoạn cho phép người lập trình viết các chương trình đáp ứng được với các môi trường khác nhau

Dữ liệu tự động xác nhận

Gọi lệnh cải tiến

Chia sẻ tập tin và khóa các bản ghi

Các tính năng hướng đối tượng: lớp, đối tượng, thừa kế,

MỘT SỐ NGÔN NGỮ LẬP TRÌNH CẤP CAO

Trang 41

2 COBOL

COBOL là từ viết tắt của COmmon Business Oriented

Language Các chuẩn mới COBOL có những tính năng:

Định dạng miễn phí, cho phép nhập lệnh vào bất cứ vị trí nào trên dòng

Các chú thích trên dòng

Một số loại dữ liệu mới

Điều kiện biên soạn của một số mã phân đoạn cho phép người lập trình viết các chương trình đáp ứng được với các môi trường khác nhau

Dữ liệu tự động xác nhận

Gọi lệnh cải tiến

Chia sẻ tập tin và khóa các bản ghi

Các tính năng hướng đối tượng: lớp, đối tượng, thừa kế,

MỘT SỐ NGÔN NGỮ LẬP TRÌNH CẤP CAO

Trang 42

Các ràng buộc được chỉ định để tự động chấp nhận dữ liệu

MỘT SỐ NGÔN NGỮ LẬP TRÌNH CẤP CAO

Trang 43

Tất cả các chương trình COBOL phải có bốn phần sau:

1 Phần xác minh: xác định các thông tin về chương trình

2 Phần môi trường: xác định máy tính và các thiết bị

ngoại vi được sử dụng để biên dịch và thực thi các

chương trình

3 Phần dữ liệu: xác định cấu trúc và định dạng của các

tập tin dữ liệu đầu vào và đầu ra cũng như tất cả các

vùng lưu trữ được sử dụng để lưu trữ những kết quả

trung gian và các giá trị khác trong quá trình xử lý

4 Phần thủ tục: chứa các các lệnh tuần tự được thực hiện

bởi chương trình

MỘT SỐ NGÔN NGỮ LẬP TRÌNH CẤP CAO

Trang 45

Tất cả các chương trình COBOL phải có bốn phần sau:

1 Phần xác minh: xác định các thông tin về chương trình

2 Phần môi trường: xác định máy tính và các thiết bị

ngoại vi được sử dụng để biên dịch và thực thi các

chương trình

3 Phần dữ liệu: xác định cấu trúc và định dạng của các

tập tin dữ liệu đầu vào và đầu ra cũng như tất cả các

vùng lưu trữ được sử dụng để lưu trữ những kết quả

trung gian và các giá trị khác trong quá trình xử lý

4 Phần thủ tục: chứa các các lệnh tuần tự được thực hiện

bởi chương trình

MỘT SỐ NGÔN NGỮ LẬP TRÌNH CẤP CAO

Trang 46

COBOL thường gọi tắt là ngôn ngữ “self –

documenting” có các tính năng của sau đây:

1 Các câu lệnh tương tự như tiếng anh

2 Cấu trúc câu và đoạn của nó giống với tiếng anh.

3 Chiều dài tối đa của tên trường là 30 ký tự Với chiều dài của tên lên đến 30 ký tự, tên có thể nhận diện chính xác những lĩnh vực và mục đích của nó

MỘT SỐ NGÔN NGỮ LẬP TRÌNH CẤP CAO

Trang 47

3) Basic

• BASIC là chữ viết tắt của Beginners All-purpose Symbolic

I nstruction C ode, BASIC được phát triển vào năm 1963 bởi các giáo sư John Kemeny và Thomas Kurtz thuộc đaih học Darmouth ,Mỹ

MỘT SỐ NGÔN NGỮ LẬP TRÌNH CẤP CAO

Trang 48

5 REM PROGRAM TO COMPUTE

6 REM THE SUM OF 10 NUMBERS

Trang 49

4) Pascal:

• Được đặt tên theo nhà toán học nổi tiếng người Pháp ở

thế kỷ 17, Blaise Pascal, ngôn ngữ này được tạo ra năm

1971 bởi Nicklaus Wirth sư của Viện Công nghệ liên bang ở Zurich, Thụy Sĩ

• Pascal đã được phát triển dựa trên các khái niệm liên

quan đến cấu trúc chương trình, đặc biệt biểu thức điều khiển và cấu trúc lặp

• Để tạo ra chương trình có cấu trúc, các chương trình

Pascal gồm nhiều khối Mỗi khối bắt đầu với biểu thức BEGIN và kết thúc với biểu thức END

MỘT SỐ NGÔN NGỮ LẬP TRÌNH CẤP CAO

Ngày đăng: 26/04/2016, 23:29

HÌNH ẢNH LIÊN QUAN

6. Hình thức hóa khái niệm kiểu dữ liệu. - Bài giảng chương 12  ngôn ngữ máy tính
6. Hình thức hóa khái niệm kiểu dữ liệu (Trang 62)

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm