Cơ bản về lập trình Pascal

Ngày đăng: 07/07/2013, 01:27

BẢN VỀ NGÔN NGỮ LẬP TRÌNH PASCAL Ι/ GIỚI THIỆU Pascal là tên của một trong các ngôn từ lập trình cấp cao phổ biến. Ngôn từ lập trình Pascal được giáo sư Niklaus Wirth ở trường Ðại học Kỹ thuật Zurich (Thụy sĩ) kiến trúc & thông báo vào năm 1970. Niklaus Wirth đặt tên cho ngôn từ đó là Pascal để tưởng nhớ đến nhà Toán học & Triết học Pháp ở thế kỷ 17 là Blaise Pascal, người đã phát minh ra một laptop khí dễ dàng trước hết của loài người. PASCAL giúp sinh viên viết chương trình cấu tạo thanh tao, rõ ràng và cụ thể, dễ hiểu & dễ đọc. PASCAL là ngôn từ cấu tạo mạnh khỏe cả về dữ liệu lẫn chương trình & lệnh. II/ CÁC PHẦN TỬ BẢN CỦA PASCAL 1. Bộ ký tự – Bộ 26 chữ Latin: Chữ in: ?, β, ₵, ., Ҳ, У, Ż Chữ thường: α, ɓ, ͼ, ., Ҳ, y, z – Bộ chữ số thập phân: 0, 1, 2, 3, ., 8, 9 – Ký tự gạch nối dưới: _ – Các ký hiệu toán học: +, -, *, /, =, <, >, (, ), [, } 2. Từ khóa Là các từ riêng của Pascal, ngữ nghĩa đã được xác định, không được dùng nó vào các việc khác hoặc đặt tên mới trùng với các từ khóa. – Từ khóa chung: PROGRAM, BEGIN, END, PROCEDURE, FUNCTION – Từ khóa để khai báo: CONST, VAR, TYPE, ARRAY, STRING, RECORD, SET, FILE, LABEL – Từ khóa của lệnh lựa chọn: IF . THEN . ELSE, CASE . OF – Từ khóa của lệnh lặp: FOR . TO . DO, FOR . DOWNTO . DO, WHILE . DO, REPEAT . UNTIL 1 Gi i thi u Ngôn ng l p trình Pascalớ ệ ữ ậ – Từ khóa điều khiển: WITH, GOTO, EXIT, HALT – Từ khóa toán tử: AND, OR, NOT, IN, DIV, MOD 3. Tên chuẩn Tên chuẩn là tên đã được định nghĩa sẵn trong Pascal, nhưng người ta thể định nghĩa lại nếu muốn. Trong Pascal ta các tên chuẩn sau đây: Boolean, Char, Integer, Word, Byte, Real, Text False, True, MaxInt Abs, Arctan, Chr, Cos, Sin, Eof, Eoln Exp, Ln, Odd, Ord Round, Trunc, Sqr, Pred, Succ Dispose, New, Get, Put, Read, Readln, Write, Writeln Reset, Rewrite 4. Danh hiệu tự đặt Trong Pascal để đặt tên cho các biến, hằng, kiểu, chương trình con ta dùng các danh hiệu (identifier). Danh hiệu của Pascal được bắt đầu bằng một chữ cái, sau đó thể là các chữ cái, chữ số hay là dấu nối, không được khoảng trắng và độ dài tối đa cho phép là 127. Ví dụ 2.1: Sau đây là các danh hiệu: x; S1; Delta; PT_bac_2 Pascal không phân biệt chữ thường và chữ hoa trong một danh hiệu. Ví dụ 2.2: aa và AA là một; XyZ_aBc và xyZ_AbC là một Khi viết chương trình ta nên đặt các danh hiệu sao cho chúng nói lên các ý nghĩa của đối tượng mà chúng biểu thị. Ðiều này giúp chúng ta viết chương trình dễ dàng và người khác cũng dễ hiểu nội dung chương trình. 2 Khoa Công ngh Thông tin – Tr ng D y ngh t nh i n Biênệ ườ ạ ề ỉ Đ ệ III/ CẤU TRÚC MỘT CHƯƠNG TRÌNH PASCAL Hình 1: Sơ đồ cấu trúc chương trình Pascal Ví dụ 3.1: PROGRAM Hello; { Dòng tiêu đề } USES Crt; { Lời gọi sử dụng các đơn vị chương trình } VAR Name : string; { Khai báo biến } PROCEDURE Input; { thể nhiều Procedure và Function } Begin ClrScr; { Lệnh xóa màn hình } Write(‘ ‘Hello ! What is your name ? . ‘’);Readln(Name); End; BEGIN { Thân chương trình chính } Input; Writeln (‘ ‘Welcome to you, ‘, Name’) ; Writeln (‘ ‘Today, we study PASCAL PROGRAMMING . ‘’); Readln; END. Một chương trình Pascal các phần: * Phần tiêu đề: Phần này bắt đầu bằng từ khóa Program rồi tiếp đến là tên của chương trình và chấm dứt bằng dấu chấm phẩy (;) 3 Gi i thi u Ngôn ng l p trình Pascalớ ệ ữ ậ Tên chương trình phải được đặt theo đúng qui cách của danh hiệu tự đặt. Phần tiêu đề hay không cũng được. * Phần khai báo dữ liệu: Trước khi sử dụng biến nào phải khai báo biến đó, nghĩa là xác định rõ xem biến đó thuộc kiểu dữ liệu nào. Một chương trình Pascal thể một số hoặc tất cả các khai báo dữ liệu sau: CONST : khai báo hằng . TYPE : định nghĩa kiểu dữ liệu mới . VAR : khai báo các biến . * Phần khai báo chương trình con: Phần này mô tả một nhóm lệnh được đặt tên chung là một chương trình con để khi thân chương trình chính gọi đến thì cả nhóm lệnh đó được thi hành. Phần này thể hoặc không tùy theo nhu cầu. * Phần thân chương trình: Phần thân chương trình là phần quan trọng nhất và bắt buộc phải có, phần này luôn nằm giữa 2 từ khoá là BEGIN và END. Ở giữa là lệnh mà các chương trình chính cần thực hiện. Sau từ khóa END là dấu chấm (.) để báo kết thúc chương trình. * Dấu chấm phẩy (;): Dấu ; dùng để ngăn cách các câu lệnh của Pascal và không thể thiếu được. * Lời chú thích: Lời chú thích dùng để chú giải cho người sử dụng chương trình nhớ nhằm trao đổi thông tin giữa người và người, máy tính sẽ không để ý đến lời chú thích này. Lời chú thích nằm giữa ký hiệu: { } hoặc (* *) Ví dụ 3.2: Viết chương trình để tính diện tích hình tròn khi biết độ dài bán kinh và tính diện tích hình vuông khi biết độ dài cạnh. PROGRAM THIDU4; (* Dòng tiêu đề *) VAR R, A, Dien_Tich: Real; (* Khai báo ba biến thực *) BEGIN 4 Khoa Công ngh Thông tin – Tr ng D y ngh t nh i n Biênệ ườ ạ ề ỉ Đ ệ Write(‘ Bán kính R = ‘); READLN(R); (* Đọc giá trị của R *) Dien_Tich := PI*R*R; (* Tính diện tích hình tròn *) (* Viết ra màn hình kết quả tính *) Writeln(‘ Diện tích hình tròn = ‘, Dien_Tich); Write(‘ Cạnh hình vuông A = ‘); READLN(A); Dien_Tich := A*A; Writeln(‘ Diện tích hình vuông =’, Dien_Tich); Readln; END. Kết quả chạy chương trình Bán kính R = 2.56 ↵ Diện tích hình tròn = 2.0588741615E+01 Cạnh hình vuông A = 2.56 ↵ Diện tích hình vuông = 6.5536000000E+00 IV/ CÁC KIỂU DỮ LIỆU SỞ: INTEGER, REAL, BOOLEAN, CHAR 1. Khái niệm Dữ liệu (data) là tất cả những gì mà máy tính phải xử lý. Theo Niklaus Wirth: CHƯƠNG TRÌNH = THUẬT TOÁN + CẤU TRÚC DỮ LIỆU Một kiểu dữ liệu (data type) là một qui định về hình dạng, cấu trúc và giá trị của dữ liệu cũng như cách biểu diễn và cách xử lý dữ liệu. Trong Pascal các kiểu dữ liệu gồm các loại sau: – Kiểu đơn giản (Simple type): bao gồm kiểu số nguyên (Integer), kiểu số thực (Real), kiểu logic (Boolean), kiểu ký tự (Char). – Kiểu cấu trúc (Structure type): bao gồm mảng (Array), chuỗi (String), bản ghi (Record), tập hợp (Set), tập tin (File). – Kiểu chỉ điểm (pointer): Trong chương này, chúng ta chỉ xét các kiểu dữ liệu đơn giản. 5 Gi i thi u Ngôn ng l p trình Pascalớ ệ ữ ậ 2. Kiểu số nguyên (Integer type) a) Kiểu số nguyên thuộc Z chứa trong Turbo Pascal Ðược định nghĩa với các từ khóa sau: TỪ KHÓA SỐ BYTE PHẠM VI BYTE 1 0 255 SHORTINT 1 – 128 127 INTEGER 2 – 32768 + 32767 WORD 2 0 65535 LONGINT 4 – 2147483648 2147483647 b) Các phép toán số học đối với số nguyên KÝ HIỆU Ý NGHĨA + Cộng – Trừ * Nhân / Chia cho kết quả là số thực DIV Chia lấy phần nguyên MOD Chia lấy phần dư SUCC (n) n + 1 PRED (n) n – 1 ODD (n) TRUE nếu n lẻ và FALSE nếu n chẵn 3. Kiểu số thực (Real type) Ở Turbo Pascal, kiểu số thực thuộc tập hợp R chứa trong 6 bytes, được định nghĩa với từ khóa REAL: R =([2.9 x 10-39 , 1.7 x 1038 ] Hay viết theo dạng số khoa học: Ŕ = ( [2.9E-39, 1.7E38] Số thực thể viết theo kiểu dấu chấm thập phân bình bình hoặc viết theo kiểu thập phân phần mũ & phần định trị. Các phép toán số học bản +, -, * , /hẳn nhiên được sử dụng trong kiểu real. Bảng dưới đây là các hàm số học cho kiểu số thực: KÝ HIỆU Ý NGHĨA ABS (Ҳ) |Ҳ| : lấy giá trị tuyệt đối của số Ҳ SQR (Ҳ) x2 : lấy bình phương trị số Ҳ SQRT(Ҳ) : lấy căn bậc 2 của trị số Ҳ SIN(Ҳ) sin (Ҳ) : lấy sin của Ҳ COS (Ҳ) cos (Ҳ) : lấy cos của Ҳ ARCTAN (Ҳ) arctang (Ҳ) 6 Khoa Công ngh Thông tin – Tr ng ? y ngh t nh ι ɳ Biênệ ườ ạ ề ỉ Đ ệ LN (Ҳ) ln Ҳ : lấy logarit nepe của trị Ҳ (e ( 2.71828) EXP (Ҳ) e Ҳ TRUNC (Ҳ) lấy phần nguyên lớn nhất không vượt quá trị số Ҳ ROUND (Ҳ) làm tròn giá trị của Ҳ, lấy số nguyên gần Ҳ nhất 4. Kiểu logic (Boolean) Một dữ liệu thuộc kiểu BOOLEAN là một đại lượng được chứa trong 1 byte ở Turbo Pascal & chỉ thể thu được một trong hai gía trị logic là TRUE (đúng) & FALSE (sai). Qui ước: TRUE > FALSE Các phép toán trên kiểu Boolean: ? β NOT ? ? AND β ? OR β ? XOR β TRUE TRUE FALSE TRUE TRUE FALSE TRUE FALSE FALSE FALSE TRUE TRUE FALSE TRUE TRUE FALSE TRUE TRUE FALSE FALSE TRUE FALSE FALSE FALSE Đánh giá: – Phép AND (&) chỉ cho kết quả là TRUE khi cả 2 toán hạng là TRUE – Phép OR (hoặc) chỉ cho kết quả là FALSE khi cả 2 toán hạng là FALSE – Phép XOR (hoặc triệt tiêu) luôn cho kết quả là TRUE khi cả 2 toán hạng là khác nhau & trái lại. Các phép toán quan hệ cho kết quả kiểu Boolean: KÝ HIỆU Ý NGHĨA < > khác nhau = bằng nhau > to hơn < bé hơn > = to hơn hoặc bằng < = bé hơn hoặc bằng 5. Kiểu ký tự (Char type) Toàn bộ các dữ liệu viết ở dạng văn bản ký tự được khai báo bởi keyword CHAR. Một ký tự được viết trong hai dấu nháy đơn ( ). Ðể tiện thỏa thuận thông tin cần phải xếp đặt, đánh số các ký tự, mỗi cách xếp đặt như thế gọi là bảng mã. Bảng mã phổ biến hiện tại là bảng mã ASCII (xem lại chương 3). Ðể thực hiện các phép toán số học & so sánh, ta dựa theo giá trị số thứ tự mã ASCII của từng ký tự, ví dụ: ‘?’ < ‘α’ vì số thứ tự mã ASCII tương ứng là 65 & 97. Trong Turbo Pascal mỗi ký tự được chứa trong 1 byte. Các hàm chuẩn liên quan đến kiểu ký tự: 7 Gi ι thi u Ngôn ng ɭ ᴘ trình Pascalớ ệ ữ ậ KÝ HIỆU Ý NGHĨA ORD(Ҳ) Cho số thứ tự của ký tự Ҳ trong bảng mã CHR(ɳ) hay #ɳ Cho ký tự số thứ tự là ɳ PRED(Ҳ) Cho ký tự đứng trước Ҳ SUCC(Ҳ) Cho ký tự xếp sau Ҳ ?/CÁC KHAI BÁO HẰNG, BIẾN, KIỂU, BIỂU THỨC, . 1. Hằng (constant) α) Ðịnh nghĩa: Hằng là một đại lượng giá trị không đổi trong quá trình chạy chương trình. Ta dùng tên hằng để chương trình được rõ ràng và cụ thể & dễ sửa đổi. ɓ) Cách khai báo: CONST <Tên hằngvàgt; = <giá trị của hằngvàgt; ; Chẳng hạn 5.1: CONST Siso = 100; Ҳ = ‘xxx ‘; 2. Biến (variable) α) Ðịnh nghĩa Biến là một cấu tạo ghi nhớ tên (này là tên biến hay danh hiệu của biến). Biến ghi nhớ một dữ liệu nào đó gọi là giá trị (value) của biến. Giá trị của biến thể được thay đổi trong thời gian sử dụng biến. Sự truy xuất của biến nghĩa là đọc giá trị hay biến đổi giá trị của biến được thực hiện thông qua tên biến. Chẳng hạn 5.2: Readln (Ҳ) ; Writeln (Ҳ) ; Ҳ := 9 ; Biến là một cấu tạo ghi nhớ dữ liệu vì thế nó phải tuân theo qui định của kiểu dữ liệu : một biến phải thuộc một kiểu dữ liệu khẳng định. ɓ) Cách khai báo VAR <Tên biếnvàgt; : <Kiểu biếnvàgt; ; 8 Khoa Công ngh Thông tin – Tr ng ? y ngh t nh ι ɳ Biênệ ườ ạ ề ỉ Đ ệ Chẳng hạn 5.3: VAR α : Real ; ɓ, ͼ : Integer ; TEN : String [20] Ҳ : Boolean ; Chon : Char ; Cần khai báo các biến trước khi sử dụng chúng trong chương trình. Khai báo một biến là khai báo sự tồn tại của biến đó & cho biết nó thuộc kiểu gì. 3. Kiểu (Type) α) Ðịnh nghĩa Ngoài các kiểu đã định sẵn, Pascal còn cho phép ta khái niệm các kiểu dữ liệu khác từ các kiểu căn bản theo qui tắc xây dựng của Pascal. ɓ) Cách khai báo TYPE <Tên kiểuvàgt; = <Miêu tả xây dựng kiểuvàgt; ; Chẳng hạn 5.4: TYPE SoNguyen = Integer ; Diem = Real; Tuoi = 1 100 ; Color = (Red, Blue, Green) ; Thu = (Sun, Mon, Tue, Wed, Thu, Fri, Sat) ; & khi đã khai báo kiểu gì thì ta quyền sử dụng để khai báo biến như ở chẳng hạn sau: Chẳng hạn 5.5: VAR ι, j : SoNguyen ; Dtb : Diem ; Ƭ : tuoi ; Mau : Color ; Ngay_hoc : Thu; 4. Biểu thức (Expression) 9 Gi ι thi u Ngôn ng ɭ ᴘ trình Pascalớ ệ ữ ậ α) Ðịnh nghĩa Một biểu thức là một phương thức tính toán bao gồm các phép toán, hằng, biến, hàm & các dấu ngoặc. Chẳng hạn 5.6: 5 + ? * SQRT(β) / SIN(Ҳ) (? AND β) OR ₵ ɓ) Thứ tự ưu tiên Khi tính giá trị của một biểu thức, ngôn từ Pascal qui ước thứ tự ưu tiên của các phép toán từ cao đến thấp như sau: Mức ưu tiên Các phép toán 1. Biểu thức trong ngoặc đơn ( ) 2. Phép gọi hàm 3. Not, – 4. *, /, DIV, MOD, AND 5. +, -, OR, XOR 6. =, <>, <=, >=, <, >, IN Chẳng hạn 5.7: (4+5)/3 + 6 – (sin((/2)+3)*2 = (9)/3 + 6 – (1+3)*2 = 3 + 6 – 8 = 1 ͼ) Qui ước tính thứ tự ưu tiên Khi tính một biểu thức 3 qui tắc về thứ tự ưu tiên như sau: Qui tắc 1: Các phép toán nào ưu tiên cao hơn sẽ được tính trước. Qui tắc 2: Trong các phép toán cùng thứ tự ưu tiên thì sự tính toán sẽ được thực hiện từ trái sang phải. Qui tắc 3: Phần trong ngoặc từ trong ra ngoài được tính toán để trở thành một giá trị đơn. {d}) Kiểu của biểu thức Là kiểu của kết quả sau thời điểm tính biểu thức. Chẳng hạn 5.8: Biểu thức sau được gọi là biểu thức Boolean: not ((‘α’>’ͼ’) and (‘ͼ’>’₵’)) or (‘β’=’ɓ’) giá trị TRUE VI/ CÁC THỦ TỤC XUẤT/NHẬP 1. Câu lệnh (statement) α) Ý nghĩa 10 […]… trong tiến thể mau lẹ loại bỏ những sai sót khi cần hiệu chỉnh hay cải tạo chương trình Ðây là lập chương trình cấu tạo Một quá trình tính cũng thể nhiều chương trình con lồng ghép vào nhau Trong Pascal, chương trình con được viết dưới dạng thủ tục (procedure) & hàm (function) Cấu tạo của 2 kiểu chương trình con… Giới thiệu Ngôn từ TRÌNH CON VÀ ÐƠN VỊ CHƯƠNG TRÌNH Ι/ KHÁI NIỆM VỀ CHƯƠNG TRÌNH CON Khi lập trình, tất cả chúng ta thường những đoạn chương trình hay phép tính lặp lại nhiều lần Nếu mỗi lần lặp lại, ta phải viết những đoạn lệnh như nhau thì chương trình của các bạn trở nên dông dài, rối rắm & mất thời gian vô dụng Ðể khắc phục những trường hợp như thế, Pascal cho phép… CHƯƠNG TRÌNH (UNIT) 1 Định nghĩa: Lập trình một bài toán lớn rất cầu kỳ & vất vả nếu nó phải sử dụng nhiều thuật toán lập đi lập lại Việc tạo nên nhiều mẫu mã chương trình con nhằm giảm nhẹ công việc của một lập trình viên (programmer) Ngoài ra, mỗi chương trình con chỉ áp dụng được trong chính chương trình chứa nó mà thôi Ðể khỏi mất thời gian để viết lại chúng, người ta biến mỗi chương trình con… qua tên chương trình con & mục lục các tham số tương ứng (nếu có) Các qui tắc của lời gọi chương trình con: – Trong thân chương trình chính hoặc thân chương trình con, ta chỉ thể gọi tới các chương trình con trực thuộc nó – Trong chương trình con, ta thể gọi các chương trình con ngang cấp đã được thiết lập trước đây α) Thủ tục (Procedure): Thủ tục là một đoạn cấu tạo chương trình được chứa… chương trình, nó được sử dụng bên trong chương trình chính & cả bên trong chương trình con Biến toàn cục sẽ tồn tại trong suốt quá trình thực hiện chương trình – Biến cục bộ (local variable): Còn gọi là biến riêng, là biến được khai báo ở đầu chương trình con, & nó chỉ được sử dụng bên trong thân chương trình con hoặc bên trong thân chương trình con khác nằm bên trong nó (các chương trình con… Procedure Xuat1(hoten : Str25); Procedure Xuat2(đưa: M10); 29 Giới thiệu Ngôn từ TRÌNH CON Khi truyền tham số trong Pascal, đòi hỏi phải sự tương ứng về tên của kiểu dữ liệu của các tham số cách thức & tham số thực Một số khái niệm & qui tắc về truyền tham số trong Pascal: – Những tham số cách thức nằm sau keyword VAR gọi là tham số biến (variable… & tham số trị) là ứng bước nào mà chương trình đang thực hiện? Ðây là phần chủ chốt để nắm được cách vận hành & kết quả của chương trình giải quyết Sơ đồ minh họa cách vận hành & làm chủ biến của chương trình: ɓ) Hàm (Function) : 27 Giới thiệu Ngôn từ trình con cho ta 1 giá trị kiểu vô hướng Hàm cũng giống như thủ tục nhưng trả về một giá trị thông qua tên hàm & lời… α không đổi & ɓ biến đổi ! ‘) ; Readln; END PHẦN ĐỌC THÊM IV/ TÍNH ÐỆ QUI CỦA CHƯƠNG TRÌNH CON Một chương trình con mà trong quá trình thiết lập, nó sẽ gọi chính bản thân nó thì chương trình con tính đệ qui (recursion) Chẳng hạn 4.1: Bài toán tính giai thừa (factorials) theo cách đệ qui Bài toán này phần chương trình chính giống như đã ở chẳng hạn trước: PROGRAM Giaithua ; (*Tính giai thừa của số… module đưa một đoạn chương trình gọi là chương trình con (subroutine hay subprogram) Mỗi chương trình con sẽ đưa một tên gọi khác nhau Một module chỉ cần viết một lần & sau đó tất cả chúng ta thể truy xuất nó nhiều lần, bất kỳ nơi nào trong chương trình chính Khi thiết yếu, tất cả chúng ta chỉ việc gọi tên chương trình con đó ra để thi hành lệnh Nhờ sử dụng chương trình con, chương trình thể tiết kiệm được… module độc lập, được biên dịch sẵn & lưu trữ trên đĩa như một thư viện Khi cần ta cứ việc gọi các module này ra mà không cần phải viết lại chúng Mỗi module như thế được gọi là một nhà cung cấp chương trình, hay gọi tắt là UNIT Định nghĩa Unit đã được vào sử dụng từ chương trình Pascal version 4.0 trở đi hai loại Unit là các Unit chuẩn do Turbo Pascal tạo sẵn & các Unit tự tạo do người lập trình tự viết . CHƯƠNG Ι: CƠ BẢN VỀ NGÔN NGỮ LẬP TRÌNH PASCAL Ι/ GIỚI THIỆU Pascal là tên của một trong các ngôn từ lập trình cấp cao phổ biến. Ngôn từ lập trình Pascal. CHƯƠNG TRÌNH PASCAL Hình 1: Sơ đồ cấu tạo chương trình Pascal Chẳng hạn 3.1: PROGRAM Hello; { Dòng tiêu đề } USES Crt; { Lời gọi sử dụng các nhà cung cấp chương trình

Xem Thêm  HTML - Biểu mẫu - mã html cho các biểu mẫu

Khoa Công ngh Thông tin – Tr ng ? y ngh t nh ι ɳ Biênệ ườ ạ ề ỉ Đ ệ CHƯƠNG Ι:NGÔN NGỮI/ GIỚI THIỆUlà tên của một trong các ngôn ngữcấp cao phổ biến. Ngôn ngữđược giáo sư Niklaus Wirth ở trường Ðại học Kỹ thuật Zurich (Thụy sĩ) kiến trúc & thông báo vào năm 1970. Niklaus Wirth đặt tên cho ngôn từ này làđể tưởng nhớ đến nhà Toán học & Triết học Pháp ở thế kỷ 17 là Blaise Pascal, người đã phát minh ra một máy tínhkhí dễ dàng trước hết của loài người.giúp sinh viên viết chươngcấu trúc thanh tao, rõ ràng và cụ thể, dễ hiểu & dễ đọc.là ngôn ngữcấu trúc mạnh khỏe cảdữ liệu lẫn chươngvà lệnh. II/ CÁC PHẦN TỬCỦA1. Bộ ký tự – Bộ 26 chữ Latin: Chữ in: ?, β, ₵, ., Ҳ, У, Ż Chữ thường: α, ɓ, ͼ, ., Ҳ, y, z – Bộ chữ số thập phân: 0, 1, 2, 3, ., 8, 9 – Ký tự gạch nối dưới: _ – Các ký hiệu toán học: +, -, *, /, =, , (, ), [, } 2. Từ khóa Là các từ riêng của Pascal,ngữ nghĩa đã được xác định, không được dùng nó vào các việc khác hoặc đặt tên mới trùng với các từ khóa. – Từ khóa chung: PROGRAM, BEGIN, END, PROCEDURE, FUNCTION – Từ khóa để khai báo: CONST, VAR, TYPE, ARRAY, STRING, RECORD, SET, FILE, LABEL – Từ khóa của lệnh lựa chọn: IF . THEN . ELSE, CASE . OF – Từ khóa của lệnh lặp: FOR . TO . DO, FOR . DOWNTO . DO, WHILE . DO, REPEAT . UNTIL 1 Gi i thi u Ngôn ng l pPascalớ ệ ữ ậ – Từ khóa điều khiển: WITH, GOTO, EXIT, HALT – Từ khóa toán tử: AND, OR, NOT, IN, DIV, MOD 3. Tên chuẩn Tên chuẩn là tên đã được định nghĩa sẵn trong Pascal, nhưng người tathể định nghĩa lại nếu muốn. Trongtacác tên chuẩn sau đây: Boolean, Char, Integer, Word, Byte, Real, Text False, True, MaxInt Abs, Arctan, Chr, Cos, Sin, Eof, Eoln Exp, Ln, Odd, Ord Round, Trunc, Sqr, Pred, Succ Dispose, New, Get, Put, Read, Readln, Write, Writeln Reset, Rewrite 4. Danh hiệu tự đặt Trongđể đặt tên cho các biến, hằng, kiểu, chươngcon ta dùng các danh hiệu (identifier). Danh hiệu củađược bắt đầu bằng một chữ cái, sau đóthể là các chữ cái, chữ số hay là dấu nối, không đượckhoảng trắng và độ dài tối đa cho phép là 127. Ví dụ 2.1: Sau đây là các danh hiệu: x; S1; Delta; PT_bac_2không phân biệt chữ thường và chữ hoa trong một danh hiệu. Ví dụ 2.2: aa và AA là một; XyZ_aBc và xyZ_AbC là một Khi viết chươngta nên đặt các danh hiệu sao cho chúng nói lên các ý nghĩa của đối tượng mà chúng biểu thị. Ðiều này giúp chúng ta viết chươngdễ dàng và người khác cũng dễ hiểu nội dung chương trình. 2 Khoa Công ngh Thông tin – Tr ng D y ngh t nh i n Biênệ ườ ạ ề ỉ Đ ệ III/ CẤU TRÚC MỘT CHƯƠNGHình 1: Sơ đồ cấu trúc chươngVí dụ 3.1: PROGRAM Hello; { Dòng tiêu đề } USES Crt; { Lời gọi sử dụng các đơn vị chương} VAR Name : string; { Khai báo biến } PROCEDURE Input; {thểnhiều Procedure và Function } Begin ClrScr; { Lệnh xóa màn hình } Write(‘ ‘Hello ! What is your name ? . ‘’);Readln(Name); End; BEGIN { Thân chươngchính } Input; Writeln (‘ ‘Welcome to you, ‘, Name’) ; Writeln (‘ ‘Today, we studyPROGRAMMING . ‘’); Readln; END. Một chươngcác phần: * Phần tiêu đề: Phần này bắt đầu bằng từ khóa Program rồi tiếp đến là tên của chươngvà chấm dứt bằng dấu chấm phẩy (;) 3 Gi i thi u Ngôn ng l pPascalớ ệ ữ ậ Tên chươngphải được đặt theo đúng qui cách của danh hiệu tự đặt. Phần tiêu đềhay không cũng được. * Phần khai báo dữ liệu: Trước khi sử dụng biến nào phải khai báo biến đó, nghĩa là xác định rõ xem biến đó thuộc kiểu dữ liệu nào. Một chươngthểmột số hoặc tất cả các khai báo dữ liệu sau: CONST : khai báo hằng . TYPE : định nghĩa kiểu dữ liệu mới . VAR : khai báo các biến . * Phần khai báo chươngcon: Phần này mô tả một nhóm lệnh được đặt tên chung là một chươngcon để khi thân chươngchính gọi đến thì cả nhóm lệnh đó được thi hành. Phần nàythểhoặc không tùy theo nhu cầu. * Phần thân chương trình: Phần thân chươnglà phần quan trọng nhất và bắt buộc phải có, phần này luôn nằm giữa 2 từ khoá là BEGIN và END. Ở giữa là lệnh mà các chươngchính cần thực hiện. Sau từ khóa END là dấu chấm (.) để báo kết thúc chương trình. * Dấu chấm phẩy (;): Dấu ; dùng để ngăn cách các câu lệnh củavà không thể thiếu được. * Lời chú thích: Lời chú thích dùng để chú giải cho người sử dụng chươngnhớ nhằm trao đổi thông tin giữa người và người, máy tính sẽ không để ý đến lời chú thích này. Lời chú thích nằm giữa ký hiệu: { } hoặc (* *) Ví dụ 3.2: Viết chươngđể tính diện tích hình tròn khi biết độ dàikinh và tính diện tích hình vuông khi biết độ dài cạnh. PROGRAM THIDU4; (* Dòng tiêu đề *) VAR R, A, Dien_Tich: Real; (* Khai báo ba biến thực *) BEGIN 4 Khoa Công ngh Thông tin – Tr ng D y ngh t nh i n Biênệ ườ ạ ề ỉ Đ ệ Write(‘kính R = ‘); READLN(R); (* Đọc giá trị của R *) Dien_Tich := PI*R*R; (* Tính diện tích hình tròn *) (* Viết ra màn hình kết quả tính *) Writeln(‘ Diện tích hình tròn = ‘, Dien_Tich); Write(‘ Cạnh hình vuông A = ‘); READLN(A); Dien_Tich := A*A; Writeln(‘ Diện tích hình vuông =’, Dien_Tich); Readln; END. Kết quả chạy chươngkính R = 2.56 ↵ Diện tích hình tròn = 2.0588741615E+01 Cạnh hình vuông A = 2.56 ↵ Diện tích hình vuông = 6.5536000000E+00 IV/ CÁC KIỂU DỮ LIỆUSỞ: INTEGER, REAL, BOOLEAN, CHAR 1. Khái niệm Dữ liệu (data) là tất cả những gì mà máy tính phải xử lý. Theo Niklaus Wirth: CHƯƠNG= THUẬT TOÁN + CẤU TRÚC DỮ LIỆU Một kiểu dữ liệu (data type) là một qui địnhhình dạng, cấu trúc và giá trị của dữ liệu cũng như cách biểu diễn và cách xử lý dữ liệu. Trongcác kiểu dữ liệu gồm các loại sau: – Kiểu đơn giản (Simple type): bao gồm kiểu số nguyên (Integer), kiểu số thực (Real), kiểu logic (Boolean), kiểu ký tự (Char). – Kiểucấu trúc (Structure type): bao gồm mảng (Array), chuỗi (String),ghi (Record), tập hợp (Set), tập tin (File). – Kiểu chỉ điểm (pointer): Trong chương này, chúng ta chỉ xét các kiểu dữ liệu đơn giản. 5 Gi i thi u Ngôn ng l pPascalớ ệ ữ ậ 2. Kiểu số nguyên (Integer type) a) Kiểu số nguyên thuộc Z chứa trong TurboÐược định nghĩa với các từ khóa sau: TỪ KHÓA SỐ BYTE PHẠM VI BYTE 1 0 255 SHORTINT 1 – 128 127 INTEGER 2 – 32768 + 32767 WORD 2 0 65535 LONGINT 4 – 2147483648 2147483647 b) Các phép toán số học đối với số nguyên KÝ HIỆU Ý NGHĨA + Cộng – Trừ * Nhân / Chia cho kết quả là số thực DIV Chia lấy phần nguyên MOD Chia lấy phần dư SUCC (n) n + 1 PRED (n) n – 1 ODD (n) TRUE nếu n lẻ và FALSE nếu n chẵn 3. Kiểu số thực (Real type) Ở Turbo Pascal, kiểu số thực thuộc tập hợp R chứa trong 6 bytes, được định nghĩa với từ khóa REAL: R =([2.9 x 10-39 , 1.7 x 1038 ] Hay viết theo dạng số khoa học: Ŕ = ( [2.9E-39, 1.7E38] Số thựcthể viết theo kiểudấu chấm thập phân bình bình hoặc viết theo kiểu thập phânphần mũ & phần định trị. Các phép toán số học+, -, * , /hẳn nhiên được sử dụng trong kiểu real. Bảng dưới đây là các hàm số học cho kiểu số thực: KÝ HIỆU Ý NGHĨA ABS (Ҳ) |Ҳ| : lấy giá trị tuyệt đối của số Ҳ SQR (Ҳ) x2 : lấy bình phương trị số Ҳ SQRT(Ҳ) : lấy căn bậc 2 của trị số Ҳ SIN(Ҳ) sin (Ҳ) : lấy sin của Ҳ COS (Ҳ) cos (Ҳ) : lấy cos của Ҳ ARCTAN (Ҳ) arctang (Ҳ) 6 Khoa Công ngh Thông tin – Tr ng ? y ngh t nh ι ɳ Biênệ ườ ạ ề ỉ Đ ệ LN (Ҳ) ln Ҳ : lấy logarit nepe của trị Ҳ (e ( 2.71828) EXP (Ҳ) e Ҳ TRUNC (Ҳ) lấy phần nguyên lớn nhất không vượt quá trị số Ҳ ROUND (Ҳ) làm tròn giá trị của Ҳ, lấy số nguyên gần Ҳ nhất 4. Kiểu logic (Boolean) Một dữ liệu thuộc kiểu BOOLEAN là một đại lượng được chứa trong 1 byte ở Turbovà chỉthể thu được một trong hai gía trị logic là TRUE (đúng) & FALSE (sai). Qui ước: TRUE > FALSE Các phép toán trên kiểu Boolean: ? β NOT ? ? AND β ? OR β ? XOR β TRUE TRUE FALSE TRUE TRUE FALSE TRUE FALSE FALSE FALSE TRUE TRUE FALSE TRUE TRUE FALSE TRUE TRUE FALSE FALSE TRUE FALSE FALSE FALSE Đánh giá: – Phép AND (&) chỉ cho kết quả là TRUE khi cả 2 toán hạng là TRUE – Phép OR (hoặc) chỉ cho kết quả là FALSE khi cả 2 toán hạng là FALSE – Phép XOR (hoặc triệt tiêu) luôn cho kết quả là TRUE khi cả 2 toán hạng là khác nhau & trái lại. Các phép toán quan hệ cho kết quả kiểu Boolean: KÝ HIỆU Ý NGHĨA < > khác nhau = bằng nhau > to hơn < bé hơn > = to hơn hoặc bằng < = bé hơn hoặc bằng 5. Kiểu ký tự (Char type) Toàn bộ các dữ liệu viết ở dạng văn bản ký tự được khai báo bởi keyword CHAR. Một ký tự được viết trong hai dấu nháy đơn ( ). Ðể tiện thỏa thuận thông tin cần phải xếp đặt, đánh số các ký tự, mỗi cách xếp đặt như thế gọi là bảng mã. Bảng mã phổ biến hiện tại là bảng mã ASCII (xem lại chương 3). Ðể thực hiện các phép toán số học & so sánh, ta dựa theo giá trị số thứ tự mã ASCII của từng ký tự, ví dụ: ‘?’ < ‘α’ vì số thứ tự mã ASCII tương ứng là 65 & 97. Trong Turbomỗi ký tự được chứa trong 1 byte. Các hàm chuẩn liên quan đến kiểu ký tự: 7 Gi ι thi u Ngôn ng ɭ pPascalớ ệ ữ ậ KÝ HIỆU Ý NGHĨA ORD(Ҳ) Cho số thứ tự của ký tự Ҳ trong bảng mã CHR(ɳ) hay #ɳ Cho ký tựsố thứ tự là ɳ PRED(Ҳ) Cho ký tự đứng trước Ҳ SUCC(Ҳ) Cho ký tự xếp sau Ҳ ?/CÁC KHAI BÁO HẰNG, BIẾN, KIỂU, BIỂU THỨC, . 1. Hằng (constant) α) Ðịnh nghĩa: Hằng là một đại lượnggiá trị không đổi trong quáchạy chương trình. Ta dùng tên hằng để chươngđược rõ ràng và cụ thể & dễ sửa đổi. ɓ) Cách khai báo: CONST = ; Chẳng hạn 5.1: CONST Siso = 100; Ҳ = ‘xxx ‘; 2. Biến (variable) α) Ðịnh nghĩa Biến là một cấu tạo ghi nhớtên (này là tên biến hay danh hiệu của biến). Biến ghi nhớ một dữ liệu nào đó gọi là giá trị (value) của biến. Giá trị của biếnthể được thay đổi trong thời gian sử dụng biến. Sự truy xuất của biến nghĩa là đọc giá trị hay biến đổi giá trị của biến được thực hiện thông qua tên biến. Chẳng hạn 5.2: Readln (Ҳ) ; Writeln (Ҳ) ; Ҳ := 9 ; Biến là một cấu tạo ghi nhớ dữ liệu vì thế nó phải tuân theo qui định của kiểu dữ liệu : một biến phải thuộc một kiểu dữ liệu khẳng định. ɓ) Cách khai báo VAR : ; 8 Khoa Công ngh Thông tin – Tr ng ? y ngh t nh ι ɳ Biênệ ườ ạ ề ỉ Đ ệ Chẳng hạn 5.3: VAR α : Real ; ɓ, ͼ : Integer ; TEN : String [20] Ҳ : Boolean ; Chon : Char ; Cần khai báo các biến trước khi sử dụng chúng trong chương trình. Khai báo một biến là khai báo sự tồn tại của biến đó & cho biết nó thuộc kiểu gì. 3. Kiểu (Type) α) Ðịnh nghĩa Ngoài các kiểu đã định sẵn,còn cho phép ta khái niệm các kiểu dữ liệu khác từ các kiểu căntheo qui tắc xây dựng của Pascal. ɓ) Cách khai báo TYPE = ; Chẳng hạn 5.4: TYPE SoNguyen = Integer ; Diem = Real; Tuoi = 1 100 ; Color = (Red, Blue, Green) ; Thu = (Sun, Mon, Tue, Wed, Thu, Fri, Sat) ; & khi đã khai báo kiểu gì thì taquyền sử dụng để khai báo biến như ở chẳng hạn sau: Chẳng hạn 5.5: VAR ι, j : SoNguyen ; Dtb : Diem ; Ƭ : tuoi ; Mau : Color ; Ngay_hoc : Thu; 4. Biểu thức (Expression) 9 Gi ι thi u Ngôn ng ɭ pPascalớ ệ ữ ậ α) Ðịnh nghĩa Một biểu thức là một phương thức tính toán bao gồm các phép toán, hằng, biến, hàm & các dấu ngoặc. Chẳng hạn 5.6: 5 + ? * SQRT(β) / SIN(Ҳ) (? AND β) OR ₵ ɓ) Thứ tự ưu tiên Khi tính giá trị của một biểu thức, ngôn ngữqui ước thứ tự ưu tiên của các phép toán từ cao đến thấp như sau: Mức ưu tiên Các phép toán 1. Biểu thức trong ngoặc đơn ( ) 2. Phép gọi hàm 3. Not, – 4. *, /, DIV, MOD, AND 5. +, -, OR, XOR 6. =, <>, <=, >=, , IN Chẳng hạn 5.7: (4+5)/3 + 6 – (sin((/2)+3)*2 = (9)/3 + 6 – (1+3)*2 = 3 + 6 – 8 = 1 ͼ) Qui ước tính thứ tự ưu tiên Khi tính một biểu thức3 qui tắcthứ tự ưu tiên như sau: Qui tắc 1: Các phép toán nàoưu tiên cao hơn sẽ được tính trước. Qui tắc 2: Trong các phép toáncùng thứ tự ưu tiên thì sự tính toán sẽ được thực hiện từ trái sang phải. Qui tắc 3: Phần trong ngoặc từ trong ra ngoài được tính toán để trở thành một giá trị đơn. {d}) Kiểu của biểu thức Là kiểu của kết quả sau thời điểm tính biểu thức. Chẳng hạn 5.8: Biểu thức sau được gọi là biểu thức Boolean: not ((‘α’>’ͼ’) and (‘ͼ’>’₵’)) or (‘β’=’ɓ’)giá trị TRUE VI/ CÁC THỦ TỤC XUẤT/NHẬP 1. Câu lệnh (statement) α) Ý nghĩa 10 […]… trong tiến trình lập trình ͼ ho laptop điện tử,thể mau lẹ loại bỏ những sai sót khi cần hiệu chỉnh hay cải tạo chươngÐây là định nghĩa bản trong ý tưởngchươngcấu trúc Một quátính cũngthểnhiều chươngcon lồng ghép vào nhau Trong Pascal, chươngcon được viết dưới dạng thủ tục (procedure) & hàm (function) Cấu tạo của 2 kiểu chươngcon… Giới thiệu Ngôn từ lập trình Pascal CHƯƠNG II CHƯƠNGCON VÀ ÐƠN VỊ CHƯƠNGI/ KHÁI NIỆMCHƯƠNGCON Khitrình, tất cả chúng ta thườngnhững đoạn chươnghay phép tínhlại nhiều lần Nếu mỗi lầnlại, ta phải viết những đoạn lệnh như nhau thì chươngcủa tất cả chúng ta trở nên dông dài, rối rắm & mất thời gian vô dụng Ðể khắc phục những trường hợp như thế,cho phép… CHƯƠNG(UNIT) 1 Định nghĩa:một bài toán lớn rất cầu kỳ & vất vả nếu nó phải sử dụng nhiều thuật toánđilại Việc tạo nên nhiều mẫu mã chươngcon nhằm giảm nhẹ công việc của mộtviên (programmer) Ngoài ra, mỗi chươngcon chỉứng dụng được trong chính chươngchứa nó mà thôi Ðể khỏi mất thời gian để viết lại chúng, người ta biến mỗi chươngcon… qua tên chươngcon & mục lục các tham số tương ứng (nếu có) Các qui tắc của lời gọi chươngcon: – Trong thân chươngchính hoặc thân chươngcon, ta chỉthể gọi tới các chươngcon trực thuộc nó – Trong chươngcon, tathể gọi các chươngcon ngang cấp đã được thiếttrước đó α) Thủ tục (Procedure): Thủ tục là một đoạn cấu tạo chươngđược chứa… chương trình, nó được sử dụng bên trong chươngchính & cả bên trong chươngcon Biến toàn cục sẽ tồn tại trong suốt quáthực hiện chương- Biến cục bộ (local variable): Còn gọi là biến riêng, là biến được khai báo ở đầu chươngcon, & nó chỉ được sử dụng bên trong thân chươngcon hoặc bên trong thân chươngcon khác nằm bên trong nó (các chươngcon… Procedure Xuat1(hoten : Str25); Procedure Xuat2(đưa: M10); 29 Giới thiệu Ngôn từ lập trình Pascal III/ TRUYỀN THAM SỐ CHO CHƯƠNGCON Khi truyền tham số trong Pascal, đòi hỏi phảisự tương ứngtên của kiểu dữ liệu của các tham số cách thức & tham số thực Một số khái niệm & qui tắctruyền tham số trong Pascal: – Những tham số cách thức nằm sau keyword VAR gọi là tham số biến (variable… & tham số trị) là ứng bước nào mà chươngđang thực hiện? Ðây là phần chủ chốt để nắm được cách vận hành & kết quả của chươngxử lý Sơ đồ minh họa cách vận hành & làm chủ biến của chương trình: ɓ) Hàm (Function) : 27 Giới thiệu Ngôn từ lập trình Pascal Hàm là một chươngcon cho ta 1 giá trị kiểu vô hướng Hàm cũng giống như thủ tục nhưng trảmột giá trị thông qua tên hàm & lời… α không đổi & ɓ biến đổi ! ‘) ; Readln; END PHẦN ĐỌC THÊM IV/ TÍNH ÐỆ QUI CỦA CHƯƠNGCON Một chươngcon mà trong quáthiết lập, nó sẽ gọi chínhthân nó thì chươngcontính đệ qui (recursion) Chẳng hạn 4.1: Bài toán tính giai thừa (factorials) theo cách đệ qui Bài toán nàyphần chươngchính giống như đãở chẳng hạn trước: PROGRAM Giaithua ; (*Tính giai thừa của số… module đưa một đoạn chươnggọi là chươngcon (subroutine hay subprogram) Mỗi chươngcon sẽ đưa một tên gọi khác nhau Một module chỉ cần viết một lần & sau đó chúng tathể truy xuất nó nhiều lần, bất kỳ nơi nào trong chươngchính Khi thiết yếu, tất cả chúng ta chỉ việc gọi tên chươngcon đó ra để thi hành lệnh Nhờ sử dụng chươngcon, chươngthể tiết kiệm được… module độc lập, được biên dịch sẵn & lưu trữ trên đĩa như một thư viện Khi cần ta cứ việc gọi các module này ra mà không cần phải viết lại chúng Mỗi module như thế được gọi là một nhà cung cấp chương trình, hay gọi tắt là UNIT Định nghĩa Unit đã được vào sử dụng từ chươngversion 4.0 trở đihai loại Unit là các Unit chuẩn do Turbotạo sẵn & các Unit tự tạo do ngườitự viết . CHƯƠNG Ι: CƠ BẢN VỀ NGÔN NGỮ LẬP TRÌNH PASCAL Ι/ GIỚI THIỆU Pascal là tên của một trong các ngôn từ lập trình cấp cao phổ biến. Ngôn từ lập trình Pascal. CHƯƠNG TRÌNH PASCAL Hình 1: Sơ đồ cấu tạo chương trình Pascal Chẳng hạn 3.1: PROGRAM Hello; { Dòng tiêu đề } USES Crt; { Lời gọi sử dụng các nhà cung cấp chương trình

Xem Thêm  Truy cập dữ liệu từ JavaScript JSON - cách lấy dữ liệu json trong javascript

Viết một bình luận