Giới thiệu về ngôn ngữ pascal

1. Giới thiệu về Pascal - Turbo Pascal : Pascal là một ngôn ngữ lập trình cấp cao do Niklaus Wirth, giáo sư điện toán trường đại học Kỹ thuật Zurich (Thụy sĩ) thiết kế và công bố vào năm 1971 và đặt tên là Pascal để tưởng niệm nhà Toán học và Triết học nổi tiếng Blaise Pascal (người Pháp).

Lúc đầu mục đích của Wirth thiết kế Pascal là để giảng dạy lập trình, do Pascal có các đặc điểm :

*        Ngữ pháp, ngữ nghĩa đơn giản và có tính logic.

*        Cấu trúc chương trình rõ ràng, dễ hiểu (thể hiện tư duy lập trình cấu trúc).

*        Dễ sửa chữa và cải tiến.

Trong quá trình phát triển, Pascal đã phát huy được ưu điểm của mình và tỏ ra hơn hẳn nhiều ngôn ngữ cấp cao khác. Pascal đã trở thành một ngôn ngữ mạnh được ứng dụng trong nhiều lĩnh vực khác nhau. Các tổ chức và công ty chuyên về máy tính dựa trên Pascal chuẩn đã phát triển thêm và tạo ra các chương trình dịch ngôn ngữ Pascal với nhiều phần thêm bớt khác nhau.

Ví dụ :

-         TURBO PASCAL của hãng Borland (Mỹ).

-         QUICK PASCAL của hãng Microsoft.

-         UCSD PASCAL (University of California at San Diego).

-         ANSI PASCAL  (American National Standard Institut).

...

So với nhiều sản phẩm Pascal của nhiều tổ chức và hãng khác nhau xuất bản, Turbo Pascal đã tỏ ra có nhiều ưu điểm nhất và hiện nay được xem như là một trong những ngôn ngữ lập trình cấp cao phổ biến nhất trên thế giới được sử dụng trong lĩnh vực giảng dạy và lập trình chuyên nghiệp.

Chỉ trong vòng mấy năm Turbo Pascal được cải tiến qua nhiều phiên bản : 1.0, 2.0, 3.0, 4.0, 5.0, 5.5 (1989), 6.0 (1990), 7.0 (1992).

Để dánh giá những đóng góp quan trọng trong lĩnh vực Tin học, đặc biệt là sự ra đời của Pascal, Hội Tin học Mỹ (ACM) đã trao giải thưởng quốc tế về Tin học mang tên Turning cho N. Wirth.

2.  Các tập tin chính của Turbo Pascal : Các tập tin của phần mềm Turbo Pascal được chứa trên nhiều đĩa mềm (đĩa cài đặt). Tuy nhiên để chạy được Turbo Pascal thông thường chỉ cần sử dụng các tập tin chủ yếu sau :

·        TURBO.EXE : Trình soạn thảo và biên dịch.

·        TURBO.TPL : Tập tin thư viện, lưu các đơn vị chuẩn để chạy với TURBO.EXE (TPL : Turbo Pascal Library).

Với hai tập tin trên chúng ta có thể bắt đầu viết được chương trình bằng ngôn ngữ Turbo Pascal. Sau đó, muốn sử dụng đồ hoạ thì thêm các tập tin sau :

·        GRAPH.TPU : Tập tin thư viện chương trình đồ hoạ.

·        *.CHR : Các tập tin các phông chữ trong chế độ đồ hoạ.

·        *.BGI : Các trình điều khiển card màn hình trong chế độ đồ hoạ.

Nếu muốn xem hướng dẫn sử dụng Turbo Pascal thì cần có thêm tập tin TURBO.HLP.

3. Các khái niệm cơ bản của Turbo Pascal.

*). Bộ ký tự cơ bản : Turbo Pascal được xây dựng từ bộ ký tự cơ bản sau :

-    Các chữ cái : 26 chữ hoa (A, B, C, ..., Z) và 26 chữ thường (a, b, c, ..., z).

-    Các chữ số thập phân : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9.

-    Các dấu toán học thông dụng : +  -  *  /  =  <  >  (  ).

-    Dấu gạch nối _ (khác với dấu trừ).

-    Các ký hiệu đặc biệt : .  ,  ;  !  ?  :  '  "  {  }  [  ]  %  @  &  #  $  ^.

Lưu ý : Các chữ Ả rập (a, b, ...) không thuộc bộ ký tự của Turbo Pascal.

*). Từ khoá (key word) : Trong Turbo Pascal có một số từ cho sẵn, có ngữ nghĩa đã được xác định và tuân theo một cấu trúc ngữ pháp nhất định gọi là từ khoá. Người lập trình không được đặt một tên mới (tên biến, tên hằng, tên thủ tục, ...) trùng với một trong các từ khoá. Sau đây là danh sách một số từ khoá của Turbo Pascal :

§         Từ khoá chung : PROGRAM, BEGIN, END, PROCEDURE, FUNCTION.

§         Từ khoá để khai báo : CONST, VAR, TYPE, ARRAY, STRING, RECORD, SET, FILE OF, LABEL.

§         Từ khoá của lệnh lựa chọn : IF ... THEN ... ELSE,  CASE ... OF.

§         Từ khoá của lệnh lặp : FOR ... TO ... DO,  FOR ... DOWNTO ... DO,  WHILE ... DO,  REPEAT ... UNTIL.

§         Từ khoá điều khiển : WITH, GOTO, EXIT.

§         Từ khoá toán tử : AND, OR, NOT, IN, DIV, MOD.

Chú ý : Turbo Pascal không phân biệt ký tự in thường (lower case char) hay in hoa (upper case char). Chẳng hạn, các cách viết sau có ý nghĩa hoàn toàn như nhau : BEGIN, begin, Begin, beGIN, ...

*). Tên (identifier) : Tên là một dãy ký tự được tạo thành từ các chữ cái, chữ số và dấu nối (_) dùng để đặt tên cho các đại lượng trong chương trình như tên hằng, tên kiểu dữ liệu, tên biến, tên mảng, tên hàm, tên chương trình, ...

·        Kí tự đầu tiên của tên không được là chữ số.

·        Chiều dài của tên tối đa là 127 ký tự.

·        Tên không được trùng với từ khoá.

Ví dụ :

+ Tên đúng :  PT_BAC_2,   DELTA,   a_1,  _b

+ Tên sai :

     PT  BAC2        (có ký tự trống)

                        3ABC              (ký tự đầu tiên là chữ số)

     g(x)                              (sử dụng dấu ( ))

                        label                 (trùng với từ khoá)

     x-1                               (dùng dấu trừ)

Chú ý : Thông thường tên nên đặt ngắn gọn và có tính gợi nhớ.

*). Tên chuẩn : Trong Turbo Pascal có một số tên đã được đặt sẵn rồi, gọi là tên chuẩn. Sau đây là một số tên chuẩn :

§         Tên hằng chuẩn : FALSE, TRUE, MAXINT, ...

§         Tên kiểu chuẩn : BOOLEAN, CHAR, INTEGER, WORD, REAL, BYTE, ...

§         Tên hàm chuẩn : ABS, ARCTAN, CHR, COS, SIN, EXP, LN, SQR, SQRT, ...

§         Tên thủ tục chuẩn : READ, READLN, WRITE, WRITELN, ...

Mặc dù người lập trình có thể đặt một tên mới trùng với một trong các tên chuẩn, tuy nhiên để khỏi nhầm lẫn, chúng ta nên tránh điều này.




+) Phần tiêu đề của chương trình 

PROGRAM  Tên_chương_trình;

-    Bắt đầu bằng từ khoá PROGRAM và kết thúc bởi dấu ;

-    Tên_chương_trình do người lập trình tự đặt.

+) Phần khai báo

LABEL  ... ;                               {khai báo nhãn}

USES     ... ;                              {khai báo sử dụng các Unit}

CONST ... ;                               {khai báo các hằng}

TYPE    ... ;                               {khai báo kiểu dữ liệu mới}

VAR      ... ;                              {khai báo các biến}

PROCEDURE  ... ;          {khai báo các chương trình con là thủ tục}

FUNCTION            ... ;   {khai báo các chương trình con là hàm}

+) Phần thân chương trình chứa các lệnh để máy tính thực hiện

BEGIN

 ...             {các lệnh của chương trình}

END.

Dấu chấm báo kết thúc chương trình

Ghi chú :

-     Trong cấu trúc tổng quát của chương trình Turbo Pascal :

-    Phần 1 : Chiếm một dòng và có thể có hay không.

-    Phần 2 : Tuỳ theo chương trình cụ thể mà các khai báo có thể có hay không và có thể lặp lại một số lần.

-    Phần 3 : Bắt buộc phải có đối với mọi chương trình.

-     Lời giải thích : Turbo Pascal cho phép người lập trình có thể đưa vào văn bản chương trình các lời bình luận, giải thích, ghi chú để làm cho chương trình dễ đọc, dễ hiểu hơn mà không ảnh hưởng đến sự thực hiện của chương trình. Các lời giải thích được đặt giữa hai dấu { } hoặc giữa hai cụm dấu (*  *) và có thể viết trên một dòng hay nhiều dòng.

-     Dấu chấm phẩy ( ; ) : Dấu chấm phẩy dùng để ngăn cách các câu lệnh của Turbo Pascal (không phải là dấu kết thúc lệnh). Nếu dấu chấm phẩy đứng ngay trước từ khoá END có thể bỏ. Chẳng hạn, có thể viết :

Begin

                  Write('Turbo Pascal');

                  Readln

End.

-     Câu lệnh : Một chương trình gồm các câu lệnh, mỗi câu lệnh thực hiện một công việc nào đó. Trên một dòng có thể viết một hoặc nhiều câu lệnh. Một lệnh, nếu dài, thì có thể viết trên hai hay nhiều dòng, chẳng hạn :

Writeln('Phương trình có hai nghiệm là : x1 = ', x1:8:2,

 ' và x2 = ', x2:8:2);


4. Các bước để chạy một chương trình Turbo Pascal.

*) Ví dụ 1 : Tạo lập và cho thực hiện chương trình in ra màn hình hai dòng thông báo :

-------------- TURBO PASCAL 7.0 --------------

XIN CHAO CAC BAN YEU THICH TIN HOC

Các bước thực hiện :

Bước 1 : Khởi động Turbo Pascal (cho thực hiện tập tin chương trình TURBO.EXE) bằng lệnh TURBO ¿. Khi đó màn hình làm việc của Turbo Pascal xuất hiện. Dòng trên cùng màn hình là bảng chọn chính




Ghi chú : ở đây trình bày đối với Turbo Pascal 6.0. Người đọc có thể tự suy ra đối với Turbo Pascal 5.5 hay 7.0 vì về cơ bản chúng giống với phiên bản 6.0.

Bước 2 : Đặt tên cho tập tin chương trình sẽ soạn.

Alt-F để chọn mục File trong bảng chọn chính, sẽ xuất hiện bảng chọn dọc :

Trong bảng này chọn New. Tiếp đến gõ tên tập tin (không cần gõ phần mở rộng) vào trong khung vừa hiện ra, ví dụ :

Khi đó tên VIDU1.PAS sẽ hiện ra ở đầu vùng soạn thảo. Đuôi PAS được Turbo Pascal tự động gắn thêm vào.

Tập tin VIDU1.PAS sẽ được lưu trong thực mục hiện hành. Nếu muốn tập tin VIDU1.PAS được lưu trên đĩa A thì khi nhập tên tập tin ta gõ thêm tên ổ đĩa ở đằng trước.

Bước 3 : Soạn thảo văn bản chương trình

Program Vidu_1;

Uses Crt;           {Khai báo Unit Crt : chứa các lệnh xử lý màn hình}

Begin

            ClrScr;              {xoá màn hình}

            Writeln('-------------- TURBO PASCAL 7.0 --------------’);

Writeln(' XIN CHAO CAC BAN YEU THICH TIN HOC’)

End.

Ghi chú : Muốn ghi văn bản chương trình vào đĩa thì chọn lệnh File/ Save hoặc gõ F2. Nếu muốn ghi tập tin với tên khác hay ghi vào thư mục khác với thư mục lúc đầu thì chọn lệnh File/ Save as, sau đó nhập vào tên tập tin mới cùng đường dẫn và gõ Enter.

Bước 4 : Biên dịch và thực hiện chương trình

            Ctrl-F9. Khi dịch máy sẽ kiểm tra ngữ pháp của từng lệnh, gặp lệnh sai hoặc nhập sai máy dừng lại, trên mà hình có thông báo nguyên nhân sai của lỗi, Người lập trình phải tự mình sửa lỗi, rồi gõ Ctrl-F9 để chạy tiếp. Lặp lại quá trình này cho đến khi sửa hết lỗi.

Ghi chú :

-     Nếu sau khi chạy, máy không báo lỗi nhưng lại cho kết quả sai thì ta phải tự tìm lỗi vì đây là lỗi logic, lỗi về thuật toán máy không phát hiện được. Chẳng hạn, khi giải phương trình bậc hai ta gán nhầm giá trị cho biệt số :  delta := b*b - 2*a*c.

-    Sau khi biên dịch và thực hiện chương trình xong mà không thấy kết quả chương trình trên màn hình thì gõ Alt-F5 để hiện kết quả, xem xong gõ phím bất kỳ để trở lại màn hình ban đầu.

-    Nếu chương trình chạy đúng thì gõ F2 để lưu nó lên đĩa lần cuối. Bây giờ có thể lặp lại từ bước 2 để soạn một chương trình mới.

-     Khi chương trình đã chạy thông suốt, muốn dịch chương trình ra tập tin trên đĩa có phần mở rộng EXE để sau này có thể chạy độc lập không phải vào môi trường của Turbo Pascal, thì thực hiện bước 5 và bước 6.

Bước 5 : Alt-C (chọn mục Compile), trên màn hình xuất hiện bảng chọn dọc Compile, trong bảng chọn này, chọn DestinationDisk để kết quả dịch chương trình được ghi ra đĩa, rồi gõ Alt-F9 để dịch chương trình. Khi xuất hiện thông báo Compile Successful :  Press any key thì dịch xong. Nếu có lỗi máy cũng dừng lại và thông báo nguyên nhân lỗi trên màn hình.

Bước 6 : Thoát tạm thời khỏi môi trường Turbo Pascal để chạy chương trình đã dịch thành công : gõ Alt-F để vào bảng chọn dọc File, trong bảng chọn này, chọn Dos Shell. Sau đó cho chạy tập tin chương trình có đuôi EXE đã dịch. Chạy xong chương trình, trở lại Turbo Pascal bằng lệnh EXIT (¿).

Bước 7 : Thoát khỏi hẳn Turbo Pascal : gõ Alt-X.

        Mở xem hoặc hiệu chỉnh một chương trình cũ : Trường hợp muốn mở xem hoặc hiệu chỉnh một chương trình đã có trên đĩa, hãy chọn lệnh File/ Open hoặc gõ phím F3, trong khung có tiêu đề là Name, gõ vào *.PAS ¿  (hoặc A:*.PAS ¿ nếu tập tin nằm trên đĩa A), một danh sách các tập tin có phần mở rộng PAS sẽ hiện ra trong khung phía dưới cho ta chọn. Dùng các phím mũi tên để di chuyển và đặt thanh sáng vào tên muốn chọn rồi gõ Enter. Nội dung tập tin này sẽ được đưa lên màn hình cho chúng ta xem, sửa, chạy thử, ...

*) Ví dụ 2 : Viết chương trình tính chu vi, diện tích hình tròn với bán kính R nhập vào từ bàn phím.

Program Vidu_2;

Uses Crt;

Var  R, S, P : Real;        {khai báo 3 biến thực R (bán kính), S (dien tich), P (chu vi)}

Begin

    Clrscr;                      {xóa màn hình}

    Write('Nhập bán kính R = '); Readln(R);

    {Tính toán}

    S := pi*R*R; P := 2*pi*R;

    {Xuất kết quả}                                              

    Writeln('Diện tích S = ',S:1:4);

    Writeln('Chu vi P = ',P:1:4);

    Readln                                                        

end.

Kết quả thực hiện chương trình :

 

Nhập bán kính R  = 3.5

Diện tích S = 38.4845

Chu vi P = 21.9911

5. Các thao tác soạn thảo cơ bản với Turbo Pascal.

Phím lệnh soạn thảo thông dụng

Đưa con trỏ về đầu dòng

Home

Đưa con trỏ về cuối dòng

End

Đưa con trỏ lên một trang

Page Up

Đưa con trỏ xuống một trang

Page Down

Xóa kí tự ngay tại vị trí con trỏ

Del

Xóa kí tự bên trái con trỏ

Back Space

Xóa một dòng tại vị trí con trỏ

Ctrl-Y

Xóa từ con trỏ đến cuối dòng

Ctrl-Q Y

Chuyển con trỏ sang cửa sổ mới

Alt - số hiệu cửa sổ

Thao tác trên khối

Đánh dấu khối

Shift + các phím mũi tên

Sao chép khối

Ctrl-K C

Di chuyển khối

Ctrl-K V

Xóa khối

Ctrl-K Y

Che/hiện lại khối đã đánh dấu

Ctrl-K H




























Comments