[Pascal] Giáo Trình Lập Trình Pascal cơ bản










Buổi 1- NS: 31/03/2015 – ND: 01/04/2015
Chương 1
CÁC THÀNH PHẦN CƠ BẢN CỦA
NGÔN NGỮ LẬP TRÌNH PASCAL
I. Các khái niệm cơ bản
1. Các bước cơ bản khi lập một chương trình Pascal
          Bước 1: Soạn thảo chương trình.
          Bước 2: Dịch chương trình (nhấn phím F9), nếu có lỗi thì phải sửa lỗi.
          Bước 3: Chạy chương trình (nhấn phím Ctrl-F9).
2. Cấu trúc chung của một chương trình Pascal
                   { Phần tiêu đề }
                   PROGRAM  Tên_chương_trình;
                   { Phần khai báo }
                   USES     ......;
                   CONST  .....;
                   TYPE     .......;
                   VAR       ........;
                   PROCEDURE  ............;
                   FUNCTION ..............;
                   ...............
                   { Phần thân chương trình }

                   BEGIN

                        ...........
                   END.
3. Một số phím chức năng thường dùng
·        F2:                        Lưu chương trình đang soạn thảo vào đĩa.
·        F3:                        Mở file mới hoặc file đã tồn tại trên đĩa để soạn thảo.
·        Alt-F3:        Đóng file đang soạn thảo.
·        Alt-F5:        Xem kết quả chạy chương trình.
·        F8:                        Chạy từng câu lệnh một trong chương trình.
·        Alt-X:                   Thoát khỏi Turbo Pascal.
·        Alt-<Số thứ tự của file đang mở>: Dịch chuyển qua lại giữa các file đang mở.
·        F10:            Vào hệ thống Menu của Pascal.
4. Các thao tác cơ bản khi soạn thảo chương trình
4.1. Các phím thông dụng
·        Insert: Chuyển qua lại giữa chế độ đè và chế độ chèn.
·        Home: Đưa con trỏ về đầu dòng.
·        End: Đưa con trỏ về cuối dòng.
·        Page Up: Đưa con trỏ lên một trang màn hình.
·        Page Down: Đưa con trỏ xuống một trang màn hình.
·        Del: Xoá ký tự ngay tại vị trí con trỏ.
·        Back Space (ß): Xóa ký tự bên trái con trỏ.
·        Ctrl-PgUp: Đưa con trỏ về đầu văn bản.
·        Ctrl-PgDn: Đưa con trỏ về cuối văn bản.
·        Ctrl-Y: Xóa dòng tại vị trí con trỏ.
4.2. Các thao tác trên khối văn bản
·        Chọn khối văn bản: Shift + <Các phím ¬­®¯>
·        Ctrl - KY: Xoá khối văn bản đang chọn
·        Ctrl - Insert: Sao chép khối văn bản đang chọn
·        Shift - Delete: Cắt khối văn bản đang chọn
·        Shift - Insert: Dán khối văn bản tại vị trí con trỏ.
·        Alt - Backspace: Khôi phục thao tác vừa thực hiện
5. Các thành phần cơ bản của ngôn ngữ Pascal
5.1. Từ khóa
          Từ khoá là các từ mà Pascal dành riêng để phục vụ cho mục đích của nó. (Chẳng hạn như: BEGIN, END, IF, WHILE,...)
          Chú ý: Với Turbo Pascal 7.0 trở lên, các từ khoá trong chương trình sẽ được hiển thị khác màu với các từ khác.
5.2 Tên (định danh)
Tên là một dãy ký tự dùng để đặt tên cho các hằng, biến, kiểu, tên chương trình ... Khi đặt tên, ta phải chú ý một số điểm sau:
·        Không được đặt trùng tên với từ khoá
·        Ký tự đầu tiên của tên không được bắt đầu bởi các ký tự đặc biệt hoặc chữ số.
·        Không được đặt tên với ký tự space,các phép toán.
Các loại tên:
-         Tên dành riêng: Program, uses, begin, end….
-         Tên chuẩn: Integer, real….
-         Tên do người lập trình tự đặt.
5.3. Dấu chấm phẩy (;)
          Dấu chấm phẩy được dùng để ngăn cách giữa các câu lệnh. Không nên hiểu dấu chấm phẩy là dấu kết thúc câu lệnh.
Ví dụ:
                   FOR i:=1 TO 10 DO Write(i);
          Trong câu lệnh trên, lệnh Write(i) được thực hiện 10 lần. Nếu hiểu dấu chấm phẩy là kết thúc câu lệnh thì lệnh Write(i) chỉ thực hiện 1 lần.
5.4. Lời giải thích
          Các lời bàn luận, lời chú thích có thể đưa vào bất kỳ chỗ nào trong chương trình để cho người đọc dể hiểu mà không làm ảnh hưởng đến các phần khác trong chương trình. Lời giải thích được đặt giữa hai dấu ngoặc {và} hoặc giữa (* và *).


Buổi 2- NS: 03/04/2015 – ND: 04/04/2015
Chương 2
CÁC KIỂU DỮ LIỆU CƠ BẢN
KHAI BÁO HẰNG, BIẾN, KIỂU, BIỂU THỨC VÀ CÂU LỆNH
I. CÁC KIỂU DỮ LIỆU CƠ BẢN
1. Kiểu logic
          - Từ khóa: BOOLEAN
          - Miền giá trị: (TRUE, FALSE).
          - Các phép toán: phép so sánh (=, <, >) và các phép toán logic: AND, OR, XOR, NOT.
          Trong Pascal, khi so sánh các giá trị boolean ta tuân theo qui tắc: FALSE < TRUE.
          Giả sử A và B là hai giá trị kiểu Boolean. Kết quả của các phép toán được thể hiện qua bảng dưới đây:
A
B
A AND B
A OR B
A XOR B
NOT A
TRUE
TRUE
TRUE
TRUE
FALSE
FALSE
TRUE
FALSE
FALSE
TRUE
TRUE
FALSE
FALSE
TRUE
FALSE
TRUE
TRUE
TRUE
FALSE
FALSE
FALSE
FALSE
FALSE
TRUE
2.  Kiểu số nguyên
2.1. Các kiểu số nguyên
Tên kiểu
Phạm vi
Dung lượng
Byte
0 ® 255
1 byte
Integer
-32768 ® 32767
2 byte
Word
0 ® 65535
2 byte
LongInt
-2147483648 ® 2147483647
4 byte
2.2. Các phép toán trên kiểu số nguyên
2.2.1. Các phép toán số học:
          +, -, *, / (phép chia cho ra kết quả là số thực).
          Phép chia lấy phần nguyên: DIV  (Ví dụ : 34 DIV 5 = 6).
          Phép chia lấy số dư: MOD (Ví dụ:  34 MOD 5 = 4).
2.2.2. Các phép toán xử lý bit:
          Trên các kiểu Integer, Byte, Word có các phép toán:
·        NOT, AND, OR, XOR.
A
B
A AND B
A OR B
A XOR B
NOT A
1
1
1
1
0
0
1
0
0
1
1
0
0
1
0
1
1
1
0
0
0
0
0
1
·        SHL (phép dịch trái): a SHL n Û a ´ 2n
·        SHR (phép dịch phải): a SHR n Û a DIV 2n
3. Kiểu số thực
3.1. Kiểu số thực
Tên kiểu
Phạm vi
Dung lượng
Real
2.9´10-39 ® 1.7´10+38
6 byte
3.2. Các phép toán trên kiểu số thực: +, -, *, /
Chú ý: Trên kiểu số thực không tồn tại các phép toán DIV và MOD.
Phép toán
Trong toán học
Trong pascal
Các phép toán số học với số nguyên
+, -, x, chia lấy phần nguyên, chia lấy phần dư
+, -, *, div, mod
Các phép toán số học với số thực
+, -, x, :
+, -, *, /
Các phép toán quan hệ
<, ≤, >, ≥, =, ≠
<, <=, >, >=, =, <>
Các phép toán logic
Phủ định, hoặc, và
Not, or, and
3.3. Các hàm số học sử dụng cho kiểu số nguyên và số thực:
          SQR(x):                         Trả về x2
          SQRT(x):                       Trả về căn bậc hai của x (x³0)
          ABS(x):                         Trả về |x|
          SIN(x):                           Trả về sin(x) theo radian
          COS(x):                         Trả về cos(x) theo radian
          TRUNC(x):                    Trả về số nguyên gần với x nhất nhưng bé hơn x.
          INT(x):                           Trả về phần nguyên của x
          FRAC(x):                       Trả về phần thập phân của x
          ROUND(x):                             Làm tròn số nguyên x
          PRED(n):                       Trả về giá trị đứng trước n
          SUCC(n):                       Trả về giá trị đứng sau n
          ODD(n):                         Cho giá trị TRUE nếu n là số lẻ.
          INC(n):                          Tăng n thêm 1 đơn vị (n:=n+1).
          DEC(n):                         Giảm n đi 1 đơn vị (n:=n-1).
4. Kiểu ký tự
          - Từ khoá: CHAR.
          - Kích thước: 1 byte.
          - Để biểu diễn một ký tự, ta có thể sử dụng một trong số các cách sau đây:
·        Đặt ký tự trong cặp dấu nháy đơn. Ví dụ 'A', '0'.
·        Dùng hàm CHR(n) (trong đó n là mã ASCII của ký tự cần biểu diễn). Ví dụ CHR(65) biễu diễn ký tự 'A'.
·        Dùng ký hiệu #n (trong đó n là mã ASCII của ký tự cần biểu diễn). Ví dụ #65.
          - Các phép toán: =, >, >=, <, <=,<>.
* Các hàm trên kiểu ký tự:
- UPCASE(ch): Trả về ký tự in hoa tương ứng với ký tự ch.
       Ví dụ: UPCASE('a')='A'.
- ORD(ch): Trả về số thứ tự trong bảng mã ASCII của ký tự ch.
Ví dụ ORD('A')=65.
- CHR(n): Trả về ký tự tương ứng trong bảng mã ASCII có số thứ tự là n.
        Ví dụ: CHR(65)='A'.
- PRED(ch): cho ký tự đứng trước ký tự ch. Ví dụ: PRED('B')='A'.
- SUCC(ch): cho ký tự đứng sau ký tự ch. Ví dụ: SUCC('A')='B'.
II. KHAI BÁO HẰNG
- Hằng là một đại lượng có giá trị không thay đổi trong suốt chương trình.
- Cú pháp:
          CONST      <Tên hằng> = <Giá trị>;
III. KHAI BÁO BIẾN
- Biến là một đại lượng mà giá trị của nó có thể thay đổi trong quá trình thực hiện chương trình.
- Cú pháp:
          VAR <Tên biến>[,<Tên biến 2>,...] : <Kiểu dữ liệu>;
Trong đó:
          - Các tên biến được viết cách nhau bởi dấu phẩy;
          - <Kiểu dữ liệu>: là một trong các kiểu dữ liệu chuẩn hoặc kiểu dữ liệu do người lậ trình tự định nghĩa.
Ví dụ:
          VAR           x, y: Real;  {Khai báo hai biến x, y có kiểu là Real}
                             a, b: Integer;  {Khai báo hai biến a, b có kiểu integer}
IV. ĐỊNH NGHĨA KIỂU
- Ngoài các kiểu dữ liệu do Turbo Pascal cung cấp, ta có thể định nghĩa các kiểu dữ liệu mới dựa trên các kiểu dữ liệu đã có.
- Cú pháp:
          TYPE         <Tên kiểu> = <Mô tả kiểu>;
          VAR <Tên biến>:<Tên kiểu>;
Ví dụ:
          TYPE                            Sothuc = Real;
                                      Tuoi = 1..100;
                                      ThuNgay = (Hai,Ba,Tu, Nam, Sau, Bay, CN)
          VAR           x :Sothuc;
                                      tt : Tuoi;
                                      Day: ThuNgay;


V. BIỂU THỨC
          Biểu thức (expression) là công thức tính toán mà trong đó bao gồm các phép toán, các hằng, các biến, các hàm và các dấu ngoặc đơn.
Ví dụ:         (x +sin(y))/(5-2*x)                   biểu thức số học
                   (x+4)*2 = (8+y)             biểu thức logic
          Trong một biểu thức, thứ tự ưu tiên của các phép toán được liệt kê theo thứ tự sau:
·        Lời gọi hàm.
·        Dấu ngoặc ()
·        Phép toán một ngôi (NOT, -).
·        Phép toán *, /, DIV, MOD, AND.
·        Phép toán +, -, OR, XOR
·        Phép toán so sánh =, <, >, <=, >=, <>, IN
VI. CÂU LỆNH
6.1. Câu lệnh đơn giản
- Câu lệnh gán (:=): <Tên biến>:=<Biểu thức>;
- Các lệnh xuất nhập dữ liệu: READ/READLN, WRITE/WRITELN.
- Lời gọi hàm, thủ tục.
6.2. Câu lệnh có cấu trúc
- Câu lệnh ghép: BEGIN ... END;
- Các cấu trúc điều khiển: IF.., CASE..., FOR..., REPEAT..., WHILE...
6.3. Các lệnh xuất nhập dữ liệu
6.3.1. Lệnh xuất dữ liệu
          Để xuất dữ liệu ra màn hình, ta sử dụng ba dạng sau:
          (1)     WRITE(<tham số 1> [, <tham số 2>,...]);
          (2)     WRITELN(<tham số 1> [, <tham số 2>,...]);
          (3)     WRITELN;
          Các thủ tục trên có chức năng như sau:
(1)  Sau khi xuất giá trị của các tham số ra màn hình thì con trỏ không xuống dòng.
(2)  Sau khi xuất giá trị của các tham số ra màn hình thì con trỏ xuống đầu dòng tiếp theo.
(3)  Xuất ra màn hình một dòng trống.
Chú ý: Các tham số có thể là các hằng, biến, biểu thức. Nếu có nhiều tham số trong câu lệnh thì các tham số phải được phân cách nhau bởi dấu phẩy.
Khi sử dụng lệnh WRITE/WRITELN, ta có hai cách viết: không qui cách và có qui cách:
- Viết không qui cách: dữ liệu xuất ra sẽ được canh lề ở phía bên trái. Nếu dữ liệu là số thực thì sẽ được in ra dưới dạng biểu diễn khoa học.
Ví dụ:
                   WRITELN(x); WRITE(sin(3*x));
- Viết có qui cách: dữ liệu xuất ra sẽ được canh lề ở phía bên phải.
Ví dụ:
                   WRITELN(x:5); WRITE(sin(13*x):5:2);
Câu lệnh
Kết quả trên màn hình
Writeln('Hello');
Writeln('Hello':10);
Writeln(500);
Writeln(500:5);
Writeln(123.457)
Writeln(123.45:8:2)
Hello
     Hello
500
  500
1.2345700000E+02
  123.46
Chú ý: Trong quá trình in kết quả ra màn hình có thể thực hiện in theo quy cách:
          - Đối với số thực:
                   : <độ rộng>:<số chữ số thập phân>
Ví dụ: Write(x:6:2);
          - Đối với các dữ liệu khác:     :<Độ rộng>
Ví dụ: Write(i:3);
6.3.2. Nhập dữ liệu
          Để nhập dữ liệu từ bàn phím vào các biến có kiểu dữ liệu chuẩn (trừ các biến kiểu BOOLEAN), ta sử dụng cú pháp sau đây:
                   READLN(<biến 1> [,<biến 2>,...,<biến n>]);
Chú ý: Khi gặp câu lệnh READLN; (không có tham số), chương trình sẽ dừng lại chờ người sử dụng nhấn phím ENTER mới chạy tiếp.
Ví dụ: Để nhập giá trị cho biến a từ bàn phím ta thực hiện lệnh:
          Write (‘Nhập giá trị cho a =’);
          Readln(a);



Do tài liệu dài nên các bạn tải file đầy đủ phía dưới!

Chi tiết các bạn tải tại ĐÂY!




Comments

Popular Posts