Bài 2. Các thành phần của ngôn ngữ lập trình – Tin học 11: Chương trình dịch là gì

Câu 1: Tại sao người ta phải xây dựng các ngôn ngữ lập trình bậc cao?

Người ta phải xây dựng các ngôn ngữ lập trình bậc cao, bởi những lí do sau:

– Ngôn ngữ lập trình bậc cao gần với ngôn ngữ tự nhiên hơn, thuận tiện cho đông đảo người lập trình (không cho cho những người lập trình chuyên nghiệp).

– Ngôn ngữ lập trình bậc cao nói chung không phụ thuộc vào loại máy, cùng một chương trình có thê thực hiện trên nhiều loại máy khác nhau.

– Chương trình viết bằng ngôn ngữ bậc cao dễ hiểu, dễ hiệu chỉnh và dễ nâng cấp hơn.

– Ngôn ngữ lập trình bậc cao cho phép làm việc với nhiều kiểu dữ liệu và cách tổ chức dữ liệu đa dạng, thuận tiện cho mô tả thuật toán.

Câu 2: Chương trình dịch là gì? Tại sao cần phải có chương trình dịch?

Chương trình dịch là chương trình đặc biệt, có chức năng chuyển đổi chương trình được viết trên ngôn ngữ lập trình bậc cao thành chươnng trình thực hiện được trên máy tính cụ thể.

– Chúng ta cần phải có chương trình dịch bởi vì chương trình dịch có chức năng chuyển đổi chương trình được viết bằng ngôn ngữ lập trình bậc cao thành chương trình thực hiện được trên máy cụ thể. Nó nhận đâu vào là chương trình viết bằng ngôn ngữ lập trình bậc cao (chương trình nguồn) là dữ liệu vào (Input), thực hiện chuyẻn đổi samg ngôn ngữ máy (chương trình đích) là kết qua ra (Output).

Ngoài ra, chương trình dịch trải qua hai giai đoạn: phân tích và tổng hợp.

Giai đoạn phâi tích nhầm phân tích chương trình nguồn về từ vựng và cú pháp. Giai đoạn tổng hợp nhằm tạo ra chương trình đích gồm ba bước, đó là:

Sinh mã trung gian (chuyển chương trình nguồn về chương trình trung gian); Tối ưu mã (chỉnh sửa, tối ưu chương trình trung gian); Sinh mã (tạo chương trình đích từ chương trinh trung gian đã tối ưu).

Câu 3: Biên dịch và thông dịch khác nhau như thế nào?

Biên dịch và thông dịch khác nhau ở những điếm sau:

– Trình biên dịch duyệt, kiểm tra, phát hiện lỗi, xác định chương trình nguồn có dịch được không. Dịch toàn bộ chương trình nguồn thành một chương trình đích có thể thực hiện trên máy và có thể lưu trữ lại để sử dụng về sau khi cần thiết.

Trình thông dịch lần lượt dịch từng câu lệnh ra ngôn ngữ máy rồi thực hiện ngay câu lệnh vừa dịch được hoặc thông báo lỗi nếu không dịch được.

Câu 4: Hãy cho biết các điểm khác nhau giữa tên dành riêng và tên chuẩn?

Các điểm khác nhau giữa tên dành riêng và tên chuẩn, đó là:

Tên dành riêng không được dùng khác với ý nghĩa xác định, tên chuẩn có thể dùng với ý nghĩa khác.

Câu 5: Hãy tự viết ra ba tên đúng theo quy tắc của Pascal.

Ba tên đúng theo quy tắc của Pascal và có độ dài khác nhau:

tinhoc

tin_hoc_2007

hanoi2007

Lưu ý: Tên trong Pascal được đặt theo quy tắc sau đây:

– Chỉ bao gồm chữ cái, chữ số và dấu gạch dưới;

– Không bắt đầu bằng chữ số;

Độ dài theo quy định của trình dịch (Turbo Pascal không quá 127 kí tự:, Free Pascal không quá 255 kí tự).

Tuy nhiên, tên không nên đặt quá dài hay quá ngắn mà nên đặt sao cho gợi nhớ ý nghĩa đối tượng mang tên đó

Câu 6: Những biểu diễn sau đây không phải là biểu diễn trong Pascal và chỉ rõ lỗi trong từng trường hợp.

Biểu diễn

Diễn giải

c) 6,23

Dấu phẩy phải thay bằng dẩu chấm (.)

e) A20

Là tên chưa có giá trị

Chú ý:

Biểu diễn

Diễn giải

g) 4+6

Là biểu thức hẳng trong Pascal chuẩn cũng được coi là hằng trong Turbo Pascal (TP)

h) ‘C

Sai qui định về hằng xâu: thiếu dấu nháy đơn ở cuối

i) ‘TRUE’

Là hằng xâu nhưng không phải là hằng lôgíc