CƠ BẢN VỀ NGÔN NGỮ LẬP TRÌNH PASCAL

71 685 4
CƠ BẢN VỀ NGÔN NGỮ LẬP TRÌNH PASCAL

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Ng«n ng÷ lËp tr×nh Pascal BẢN VỀ NGÔN NGỮ LẬP TRÌNH PASCAL Ph¹m Quang Dòng – Khoa CNTT – C§GTVT 1 Ng«n ng÷ lËp tr×nh Pascal BẢN VỀ NGÔN NGỮ LẬP TRÌNH PASCAL I. CÁC PHẦN TỬ BẢN CỦA NGÔN NGỮ PASCAL 1. Bộ ký tự - Bộ 26 chữ Latin: Chữ in: A, B, C, ., X, Y, Z Chữ thường: a, b, c, ., x, 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 - Từ khóa điều khiển: WITH, GOTO, EXIT, HALT - Từ khóa toán tử: Ph¹m Quang Dòng – Khoa CNTT – C§GTVT 2 Ng«n ng÷ lËp tr×nh Pascal 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ụ : 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ụ : 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. II. CẤU TRÚC MỘT CHƯƠNG TRÌNH PASCAL PROGRAM Tên_Chương_Trình; ® (*Tiêu đề*) USES . ® (*Phần khai báo: đơn vị chương trình LABEL . nhãn . CONST . hằng . Ph¹m Quang Dòng – Khoa CNTT – C§GTVT 3 Ng«n ng÷ lËp tr×nh Pascal TYPE . kiểu . VAR . biến .*) PROCEDURE . ® (*Phần mô tả thủ tục/ch. trình con FUNCTION . hàm .*). BEGIN ® (*Thân chương trình chính*) . (*Các câu lệnh chương trình*) END. ® (*Kết thúc chương trình*) Ví dụ : 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 (;) 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¹m Quang Dòng – Khoa CNTT – C§GTVT 4 Ng«n ng÷ lËp tr×nh Pascal  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 (* *) III. CÁC KIỂU DỮ LIỆU SỞ: INTEGER, REAL, BOOLEAN, CHAR 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): chúng ta chỉ xét các kiểu dữ liệu đơn giản. Ph¹m Quang Dòng – Khoa CNTT – C§GTVT 5 Ng«n ng÷ lËp tr×nh Pascal 1. 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 2. 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 10 38 ] Ph¹m Quang Dòng – Khoa CNTT – C§GTVT 6 Ng«n ng÷ lËp tr×nh Pascal Hay viết theo dạng số khoa học: R = ± [2.9E-39, 1.7E38] Số thực thể viết theo kiểu dấu chấm thập phân bình thường hoặc viết theo kiểu thập phân phần mũ và phần định trị. Các phép toán số học bản +, -, * , /dĩ 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 (x) |x| : lấy giá trị tuyệt đối của số x SQR (x) x 2 : lấy bình phương trị số x SQRT(x) : lấy căn bậc 2 của trị số x SIN(x) sin (x) : lấy sin của x COS (x) cos (x) : lấy cos của x ARCTAN (x) arctang (x) LN (x) ln x : lấy logarit nepe của trị x (e » 2.71828) EXP (x) Ex TRUNC (x) lấy phần nguyên lớn nhất không vượt quá trị số x ROUND (x) làm tròn giá trị của x, lấy số nguyên gần x nhất 3. 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 và chỉ thể nhận được một trong hai gía trị logic là TRUE (đúng) và FALSE (sai). Qui ước: TRUE > FALSE Các phép toán trên kiểu Boolean: A B NOT A A AND B A OR B A XOR B 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ận xét: · Phép AND (và) 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¹m Quang Dòng – Khoa CNTT – C§GTVT 7 Ng«n ng÷ lËp tr×nh Pascal · 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 và ngược 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 > lớn hơn < nhỏ hơn > = lớn hơn hoặc bằng < = nhỏ hơn hoặc bằng 4. Kiểu ký tự (Char type) Tất cả các dữ liệu viết ở dạng chữ ký tự được khai báo bởi từ khóa CHAR. Một ký tự được viết trong hai dấu nháy đơn ( ‘ ‘ ). Để tiện trao đổi thông tin cần phải sắp xếp, đánh số các ký tự, mỗi cách sắp xếp như vậy gọi là bảng mã. Bảng mã thông dụng hiện nay là bảng mã ASCII (xem lại chương 3). Để thực hiện các phép toán số học và so sánh, ta dựa vào giá trị số thứ tự mã ASCII của từng ký tự, chẳng hạn: 'A' < 'a' vì số thứ tự mã ASCII tương ứng là 65 và 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ự: KÝ HIỆU Ý NGHĨA ORD(x) Cho số thứ tự của ký tự x trong bảng mã CHR(n) hay #n Cho ký tự số thứ tự là n PRED(x) Cho ký tự đứng trước x SUCC(x) Cho ký tự đứng sau x IV. CÁC KHAI BÁO HẰNG, BIẾN, KIỂU, BIỂU THỨC, . 1. Hằng (constant) a. Định nghĩa Ph¹m Quang Dòng – Khoa CNTT – C§GTVT 8 Ng«n ng÷ lËp tr×nh Pascal 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à dễ sửa đổi. b. Cách khai báo CONST <Tên hằng> = <giá trị của hằng> ; Ví dụ : CONST Siso = 100; X = ‘xxx ‘; 2. Biến (variable) a. Định nghĩa Biến là một cấu trúc ghi nhớ tên (đó 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 biến đổ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 thay đổi giá trị của biến được thực hiện thông qua tên biến. Ví dụ : Readln (x) ; Writeln (x) ; x := 9 ; Biến là một cấu trúc ghi nhớ dữ liệu vì vậy 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 nhất định. b. Cách khai báo VAR <Tên biến> : <Kiểu biến> ; Ví dụ : VAR a : Real ; b, c : Integer ; TEN : String [20] X : Boolean ; Ph¹m Quang Dòng – Khoa CNTT – C§GTVT 9 Ng«n ng÷ lËp tr×nh Pascal 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 đó và cho biết nó thuộc kiểu gì. 3. Kiểu (Type) a. Định nghĩa Ngoài các kiểu đã định sẵn, Pascal còn cho phép ta định nghĩa 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. b. Cách khai báo TYPE <Tên kiểu> = <Mô tả xây dựng kiểu> ; Ví dụ : TYPE SoNguyen = Integer ; Diem = Real; Tuoi = 1 100 ; Color = (Red, Blue, Green) ; Thu = (Sun, Mon, Tue, Wed, Thu, Fri, Sat) ; và khi đã khai báo kiểu gì thì ta quyền sử dụng để khai báo biến như ở ví dụ sau: Ví dụ : VAR i, j : SoNguyen ; Dtb : Diem ; T : tuoi ; Mau : Color ; Ngay_hoc : Thu; 4. Biểu thức (Expression) a. Định nghĩa Một biểu thức là một công thức tính toán bao gồm các phép toán, hằng, biến, hàm và các dấu ngoặc. Ph¹m Quang Dòng – Khoa CNTT – C§GTVT 10 [...]... : 5 ); End; Readln; End 6 Chương trình con: Hàm và thủ tục Khi lập trình, những đoạn chương trình cần dùng nhiều lần Để tránh viết lại đoạn này, ta nên chuyn đoạn chương trình này thành một chương trình con và mỗi lần cần thực hiện công việc đó thì ta gọi nó thông qua tên Chương trình con còn để mẫu hóa một chương trình làm công việc nào đó Người khác dùng chương trình con chỉ cần biết truyền số... quan tâm đến thuật toán trong chương trình con như thế nào Khi viết những chương trình lớn, để dễ dàng quản lý, gỡ rối và hiệu chỉnh chương trình, ta nên phân chương trình thành nhiều công việc độc lập, mỗi công việc là một chương trình con Chương trình con gồm hai loại là Hàm(Function) và Thủ tục(procedure) Ph¹m Quang Dòng – Khoa CNTT – C§GTVT 29 Ng«n ng÷ lËp tr×nh Pascal 6.1 Hàm và thủ tục Cấu trúc... tỏng chương trình chính cũng như trong tất cả các chương trình con Ph¹m Quang Dòng – Khoa CNTT – C§GTVT 31 Ng«n ng÷ lËp tr×nh Pascal Biến cục bộ là biến khai báo ở đầu chương trình con Chúng được cấp phát bộ nhớ khi chương tình con được gọi đến và bị xóa khi máy thoát khỏi chương trình con đó Biến cục bộ giá trị trong chương trình con và tất cả các chương trình con khác nằm trong chương trình con... nghĩa: Biến và các phát biểu gán là các khái niệm quan trọng của một họ các ngôn ngữ lập trìnhPascal là một đại diện tiêu biểu Chúng phản ánh cách thức hoạt động của máy tính hiện nay, đó là: - Lưu trữ các giá trị khác nhau vào một ô nhớ tại những thời điểm khác nhau - Một quá trình tính toán thể coi như là một quá trình làm thay đổi giá trị của một (hay một số) ô nhớ nào đó, cho đến khi đạt... trị mới nhất do chương trình con tạo ra - Thực hiện xong các lệnh của chương trình con, máy xóa tất cả các đối và các biến cục bộ và trở về lệnh kế sau nơi gọi nó Việc lấy kết quả thực hiện chương trình con như sau: nếu hàm thì lấy kết quả thông qua tên hàm, nếu là thủ tục thì kết quả ở tham số thực sự ứng với tham số biến Khi cần lấy duy nhất một giá trị từ chương trình thì ta lập một FUNCTION, khi... · Nếu điều kiện Đúng thì chương trình sẽ chạy trong cấu trúc WHILE DO · Sau mỗi lần lặp, chương trình trở lại kiểm tra điều kiện Tùy theo biểu thức logic của điều kiện là Đúng hay Sai thì chương trình sẽ thực hiện Công việc tương ứng · Nếu Sai thì chuyển xuống dưới cấu trúc WHILE DO Ph¹m Quang Dòng – Khoa CNTT – C§GTVT 20 Ng«n ng÷ lËp tr×nh Pascal Ví dụ 6.16: Chương trình tính trung bình n số: x1 +... tiếp tục thi hành cho đến khi là đúng Ph¹m Quang Dòng – Khoa CNTT – C§GTVT 23 Ng«n ng÷ lËp tr×nh Pascal Lệnh REPEAT UNTIL thường được sử dụng trong lập trình, nhất là lúc người sử dụng muốn tiếp tục bài toán ở trường hợp thay đổi biến mà không phải trở về chương trình và nhấn tổ hợp phím Ctrl + F9 lại Ví dụ : Nhân 2 số a và b PROGRAM Tich; VAR a, b : integer ; CK : char ; BEGIN... Phương pháp gọi thủ tục: Tên_hàm(Danh sách các tham số thực sự); Sự khác nhau bản giữa hàm và thủ tục là hàm trả về một giá trị thông qua tên hàm, hàm thể tham gia vào các biểu thức tính toán còn thủ tục không cho giá trịu nào cả Khi tạo hàm, trong thân chương tình bao giờ cũng giá trị gán cho tên hàm để hàm trả về giá trị này khi được gọi Các tham số khác sau tên hàm và tên thủ tục gọi là... Begin {Từ khóa chính bắt đầu chương trình chính} a:=10; b:=10; c:=10; d:=10; Chuyen(a,b,c,d); Writeln(‘a=’,a,’và b=’,b,’và c=’,c,’và d=’,d); Readln; End Kết quả khi chạy chương trình: a=10vàb=10và c=40 và d=50 6.2 Biến toàn cục, biến cục bộ và việc truyền dữ liệu: Biến toàn cục là biến khai báo ở đầu chương trình, tồn tại trong suốt thời gian làm việc của chương trình Ta thể sử dụng và làm thay... tuần tự a Lệnh gán (Assignment statement) Một trong các lệnh đơn giản và bản nhất của Pascal là lệnh gán Mục đích của lệnh này là gán cho một biến đã khai báo một giá trị nào đó cùng kiểu với biến * Cách viết: := ; Ví dụ : Khi đã khai báo VAR Ph¹m Quang Dòng – Khoa CNTT – C§GTVT 12 Ng«n ng÷ lËp tr×nh Pascal c : Char ; i,j : Integer ; x, y : Real ; p, q : Boolean ; thì ta . tr×nh Pascal CƠ BẢN VỀ NGÔN NGỮ LẬP TRÌNH PASCAL Ph¹m Quang Dòng – Khoa CNTT – C§GTVT 1 Ng«n ng÷ lËp tr×nh Pascal CƠ BẢN VỀ NGÔN NGỮ LẬP TRÌNH PASCAL. lËp tr×nh Pascal CƠ BẢN VỀ NGÔN NGỮ LẬP TRÌNH PASCAL I. CÁC PHẦN TỬ CƠ BẢN CỦA NGÔN NGỮ PASCAL 1. Bộ ký tự - Bộ 26 chữ Latin: Chữ in: A, B, C, ., X, Y,

Ngày đăng: 27/10/2013, 21:15

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan