<< Chapter < Page Chapter >> Page >

Các chiến lược định gia biểu thức sẽ được trình bày trong lý thuyết chương trình dịch.

Ðiều khiển tuần tự giữa các lệnh

Các lệnh cơ bản

Lệnh cơ bản là lệnh mà trong đó không chứa các lệnh khác. Các lệnh cơ bản bao gồm lệnh gán, lời gọi chương trình con, các lệnh nhập, xuất, lệnh nhảy goto. Trong một lệnh cơ bản có thể chứa các biểu thức mà cấu trúc điều khiển đã được trình bày ở phần trên.

Các cấu trúc trong chương trình thường có là: hợp thành, lựa chọn và lặp lại. Các ngôn ngữ khác nhau cài đặt các cấu trúc này một cáh khác nhau.

Điều khiển tuần tự dùng nhãn lệnh và lệnh goto

Cơ chế ban đầu của điều khiển tuần tự trong hầu hết các ngôn ngữ là ghi nhãn lệnh và chuyển điều khiển tới lệnh có nhãn từ chỗ này sang chỗ khác trong chương trình. Việc chuyển điều khiển thường được thực hiện bằng lệnh GOTO. Có hai dạng của lệnh GOTO là:

1/ GOTO không điều kiện. Trong một chuỗi các lệnh, một lệnh GOTO không điều kiện như GOTO NEXT chuyển điều khiển tới lệnh có nhãn là NEXT. Lệnh đứng sau GOTO sẽ không được thực hiện.

2/ GOTO có điều kiện. Trong một chuỗi lệnh, một lệnh GOTO có điều kiện như IF A = 0 then GOTO NEXT chuyển điều khiển tới lệnh có nhãn là NEXT chỉ khi điều kiện sau IF đúng.

Sử dụng hai dạng GOTO này, chúng ta dễ dàng biểu diễn các dạng điều khiển cơ bản như sau

Lệnh hợp thành Lệnh lựa chọn Lệnh lặp lại
S0 S0 S0
GOTO L1 IF A=0 THEN GOTO L1 L1: IF A=0 THEN GOTO L2
L2: S2 S1 S1
GOTO L3 GOTO L2 GOTO L1
L1: S1 L1: S2 L2: S2
GOTO L2 L2: S3
L3 : S3
Chuỗi lệnh thực hiện Chuỗi lệnh thực hiện Chuỗi lệnh thực hiện
S0 S1 S2 S3 S0 S1 S3 S0 S2
Hoặc S0 S2 S3 Hoặc S0 S1 S2
Hoặc S0 S1 S1 S2
Hoặc S0 S1 S1 S1 S2

Lệnh GOTO có thuận tiện là dễ dùng, và có hiệu quả trong thực hiện vì nó phản ánh cấu trúc cơ bản của máy tính quy ước (conventional computers), trong đó mỗi một từ lệnh hoặc byte lệnh đều có địa chỉ, và trong phần cứng có các lệnh nhảy được xây dựng để chuyển điều kkhiển đến địa chỉ được chỉ định. Lệnh GOTO biểu thị một cấu trúc điều khiển tự nhiên để người lập trình chuyển ngôn ngữ cấp cao sang hợp ngữ. Hầu hết các ngôn ngữ cũ đều có cả lệnh GOTO cơ bản và nhiều dạng cải tiến đặt nền móng cho việc dùng nhãn như là dữ liệu. Trong các ngôn ngữ mới như Pascal điều khiển tuần tự trên cơ sở lệnh GOTO ít quan trong hơn mặc dù vẫn còn lệnh đó.

Trong một số ngôn ngữ mới, lệnh GOTO đã bị loại bỏ hoàn toàn. Vì sử dụng nhãn và lệnh GOTO thì chương trình trở nên rất khó đọc vì không có cấu trúc tổng thể và thứ tự các lệnh trong văn bản chương trình nguồn không tương ứng với thứ tự các lệnh khi thực hiện.

Các lệnh cấu trúc

Một lệnh có cấu trúc là một lệnh chứa các lệnh khác. Các lệnh thành phần của một lệnh có cấu trúc có thể là một lệnh cơ bản hoặc một lệnh có cấu trúc. Hầu hết ngôn ngữ cung cấp một tập hợp các lệnh có cấu trúc biểu thị các dạng điều khiển cơ bản ( hợp thành, lựa chọn và lặp lại) mà không cần dùng lệnh GOTO.

Lệnh hợp thành (compound statements)

Lệnh hợp thành là một chuỗi các lệnh được đặt vào trong một cặp ký hiệu thể hiện sự mở đầu và kết thúc của chuỗi đó. Chẳng hạn trong Pascal, lệnh hợp thành là chuỗi các lệnh được đặt trong cặp tữ khóa begin và end như sau:

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Ngôn ngữ lập trình. OpenStax CNX. Jul 29, 2009 Download for free at http://cnx.org/content/col10783/1.1
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Ngôn ngữ lập trình' conversation and receive update notifications?

Ask