Giáo trình Pascal

82 608 5
Giáo 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

Nguyễn Thanh Bình Khoa K33 Tin học, trờng ĐHSP Hà Nội 2 Điện thoại: 02113.505.909 Chơng 7. Ngôn ngữ lập trình Pascal I. GIớI THIệU Pascal là tên của một trong các ngôn ngữ lập trình cấp cao thông dụng. Ngôn ngữ lập trình Pascal đợc giáo s Niklaus Wirth ở trờng Đại học Kỹ thuật Zurich (Thụy sĩ) thiết kế và công bố vào năm 1970. Niklaus Wirth đặt tên cho ngôn ngữ này là Pascal để tởng nhớ đến nhà Toán học và Triết học Pháp ở thế kỷ 17 là Blaise Pascal, ngời đã phát minh ra một máy tính cơ khí đơn giản đầu tiên của con ngời. Ngôn ngữ Pascal đợc dùng hiện nay có nhiều điểm khác biệt với chuẩn Pascal nguyên thủy của Giáo s Wirth. Tùy theo quốc gia hoặc công ty đã phát triển cho ra đời các chơng trình biên dịch ngôn ngữ Pascal nh: - ISO PASCAL (International Standards Organization) của Châu Âu - ANSI PASCAL (American National Standards Institute) của Mỹ - TURBO PASCAL của hãng BORLAND (Mỹ) - IBM PASCAL của hãng Microsoft (Mỹ) - v.v . Đến nay, ngôn ngữ Pascal đã phát triển đến phiên bản Turbo Pascal Version 7. Các diễn giải và ví dụ trong giáo trình này chủ yếu sử dụng chơng trình Turbo Pascal 5.5 - 7.0, hiện đang đợc sử dụng rộng rãi ở Việt Nam. II. CáC PHầN Tử CƠ BảN CủA NGÔN NGữ PASCAL II.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 : +, -, *, /, =, <, >, (, ), [,} II.2. Từ khóa Là các từ riêng của Pascal, có 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ử: AND, OR, NOT, IN, DIV, MOD. Mọi chi tiết xin liên hệ theo địa chỉ : Email: thienthanvitinh.ntb.sp2@gmail.com Nguyễn Thanh Bình Khoa K33 Tin học, trờng ĐHSP Hà Nội 2 Điện thoại: 02113.505.909 II.3. Tên chuẩn Tên chuẩn là tên đã đợc định nghĩa sẵn trong Pascal, nhng ngời ta có thể định nghĩa lại nếu muốn. Trong Pascal ta có 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 II.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 đó có thể là các chữ cái, chữ số hay là dấu nối, không đợc có khoảng trắng và độ dài tối đa cho phép là 127. Ví dụ 6.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ụ 6.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. interger III. CấU TRúC MộT CHƯƠNG TRìNH PASCAL Hình 6.1: Sơ đồ cấu trúc chơng trình Pascal Ví dụ 6.3: PROGRAM Hello; {Dòng tiêu đề} USES Crt; {Lời gọi sử dụng các đơn vị chơng trình} Mọi chi tiết xin liên hệ theo địa chỉ : Email: thienthanvitinh.ntb.sp2@gmail.com Nguyễn Thanh Bình Khoa K33 Tin học, trờng ĐHSP Hà Nội 2 Điện thoại: 02113.505.909 VAR Name: string; {Khai báo biến} PROCEDURE Input; {Có thể có 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á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 đề có 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 có thể có 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 có thể có 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 (* *) IV. CáC KIểU Dữ LIệU CƠ Sở: INTEGER, REAL, BOOLEAN, CHAR Mọi chi tiết xin liên hệ theo địa chỉ : Email: thienthanvitinh.ntb.sp2@gmail.com Nguyễn Thanh Bình Khoa K33 Tin học, trờng ĐHSP Hà Nội 2 Điện thoại: 02113.505.909 IV.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ó 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. IV.2. Kiểu số nguyên (Integer type) IV.2.1. 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ừ khoa 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 Var I:byte; s: integer; . S:=1; For i:=1 to 8 do s:=S*i; IV.2.2. 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 Mọi chi tiết xin liên hệ theo địa chỉ : Email: thienthanvitinh.ntb.sp2@gmail.com Nguyễn Thanh Bình Khoa K33 Tin học, trờng ĐHSP Hà Nội 2 Điện thoại: 02113.505.909 PRED (n) n - 1 ODD (n) TRUE nếu n lẻ và FALSE nếu n chẵn IV. 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: R = ( [2.9E-39, 1.7E38] Số thực có thể viết theo kiểu có dấu chấm thập phân bình thờng hoặc viết theo kiểu thập phân có phần mũ và phần định trị. Các phép toán số học 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) x2: lấy bình phơng trị số x SQRT(x) : lấy căn bậc 2 của 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) lnx: lấy logarit nepe của trị x (e ( 2.71828) EXP (x) e x 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 IV. 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 và chỉ có 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é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: Mọi chi tiết xin liên hệ theo địa chỉ : Email: thienthanvitinh.ntb.sp2@gmail.com Nguyễn Thanh Bình Khoa K33 Tin học, trờng ĐHSP Hà Nội 2 Điện thoại: 02113.505.909 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 IV. 5. 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ự có số thứ tự là n PRED(x) Cho ký tự đứng trớc x SUCC(x) Cho ký tự đứng sau x V. CáC KHAI BáO HằNG, BIếN, KIểU, BIểU THứC, . V.1. Hằng (constant) V.1.1. Định nghĩa Hằng là một đại lợng có 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. V.1.2. Cách khai báo CONST <Tên hằng> = <giá trị của hằng>; Ví dụ 6.4: CONST Siso = 100; X = xxx ; V.2. Biến (variable) V.2.1. Định nghĩa Biến là một cấu trúc ghi nhớ có 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 có thể đợc biến đổi trong thời gian sử dụng biến. Mọi chi tiết xin liên hệ theo địa chỉ : Email: thienthanvitinh.ntb.sp2@gmail.com Nguyễn Thanh Bình Khoa K33 Tin học, trờng ĐHSP Hà Nội 2 Điện thoại: 02113.505.909 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ụ 6.5: 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. V.2.2. Cách khai báo VAR <Tên biến>: <Kiểu biến>; Ví dụ 6.6: VAR a: Real; b, c: Integer; TEN: String [20] X: 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 đó và cho biết nó thuộc kiểu gì. V.3. Kiểu (Type) V.3.1. Đị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. V.3.2. Cách khai báo TYPE <Tên kiểu> = <Mô tả xây dựng kiểu>; Ví dụ 6.7: 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 có quyền sử dụng để khai báo biến nh ở ví dụ sau: Ví dụ 6.8: VAR i, j: SoNguyen; Dtb: Diem; T: tuoi; Mau: Color; Ngay_hoc: Thu; V.4. Biểu thức (Expression) Mọi chi tiết xin liên hệ theo địa chỉ : Email: thienthanvitinh.ntb.sp2@gmail.com Nguyễn Thanh Bình Khoa K33 Tin học, trờng ĐHSP Hà Nội 2 Điện thoại: 02113.505.909 V.4.1. Đị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. Ví dụ 6.9: 5 + A * SQRT(B) / SIN(X) (A AND B) OR C V.4.2. Thứ tự u tiên Khi tính giá trị của một biểu thức, ngôn ngữ 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 Ví dụ 6.10: (4+5)/3 + 6 - (sin((/2)+3)*2 = (9)/3 + 6 - (1+3)*2 = 3 + 6 - 8 = 1 V.4.3. Qui ớc tính thứ tự u tiên Khi tính một biểu thức 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 có u tiên cao hơn sẽ đợc tính trớc. Qui tắc 2: Trong các phép toán có 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. V.4.4. Kiểu của biểu thức Là kiểu của kết quả sau khi tính biểu thức. Ví dụ 6.11: Biểu thức sau đợc gọi là biểu thức Boolean: not (('a'>'c') and ('c'>'C')) or ('B'='b') có giá trị TRUE VI. CáC THủ TụC XUấT/NHậP VI.1. Câu lệnh (statement) VI.1.1. Trong một chơng trình Pascal, sau phần mô tả dữ liệu là phần mô tả các câu lệnh. Các câu lệnh có nhiệm vụ xác định các công việc mà máy tính phải thực hiện để xử lý các dữ liệu đã đợc mô tả và khai báo. VI.1.2. Câu lệnh đợc chia thành câu lệnh đơn giản và câu lệnh có cấu trúc. - Câu lệnh đơn giản + Vào dữ liệu : Read, Readln + Ra dữ liệu : Write, Writeln + Lệnh gán : := + Lời gọi chơng trình con (gọi trực tiếp tên của chơng trình con) + Xử lý tập tin: RESET, REWRITE, ASSIGN . - Câu lệnh có cấu trúc Mọi chi tiết xin liên hệ theo địa chỉ : Email: thienthanvitinh.ntb.sp2@gmail.com Nguyễn Thanh Bình Khoa K33 Tin học, trờng ĐHSP Hà Nội 2 Điện thoại: 02113.505.909 + Lệnh ghép: BEGIN END + Lệnh chọn : IF THEN ELSE CASE OF. + Lệnh lặp : FOR TO DO REPEAT UNTIL WHILE DO VI.1.3. Các câu lệnh phải đợc ngăn cách với nhau bởi dấu chấm phẩy (; ) và Các câu lệnh có thể viết trên một dòng hay nhiều dòng. VI.2. Cấu trúc tuần tự VI.2.1. Lệnh gán (Assignment statement) Một trong các lệnh đơn giản và cơ 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: <Tên_biến>:= <biểu thức>; Ví dụ 6.12: Khi đã khai báo VAR c: Char; i,j: Integer; x, y: Real; p, q: Boolean; thì ta có thể có các phép gán sau: c:= A; c:= Chr(90); i:= (35+7)*2 mod 4; i:= i div 7; x:= 0.5; x:= i + 1; q:= i > 2*j +1; q:= not p; * ý 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à: - Lu 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 có 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 đợc giá trị cần tìm. VI.2.2. Lệnh ghép (Compound statement) Một nhóm câu lệnh đơn đợc đặt giữa 2 chữ BEGIN và END sẽ tạo thành một câu lệnh ghép. Trong Pascal ta có thể đặt các lệnh ghép con trong các lệnh ghép lớn hơn bao ngoài của nó và có thể hiểu tơng tự nh cấu trúc ngoặc đơn ( ) trong các biểu thức toán học. Mọi chi tiết xin liên hệ theo địa chỉ : Email: thienthanvitinh.ntb.sp2@gmail.com Nguyễn Thanh Bình Khoa K33 Tin học, trờng ĐHSP Hà Nội 2 Điện thoại: 02113.505.909 * Sơ đồ: Hình 6.2: Sơ đồ cấu trúc BEGIN END; ở hình minh họa trên ta dễ thấy các nhóm lệnh thành từng khối (block). Một khối lệnh bắt đầu bằng BEGIN và chấm dứt ở END;. Trong một khối lệnh cũng có thể có các khối lệnh con nằm trong nó. Một khối chơng trình thờng đợc dùng để nhóm từ 2 lệnh trở lên để tạo thành một <Công việc> của các lệnh có cấu trúc, ta có thể gặp khái niệm này trong nhiều ví dụ ở các phần sau. VI.3. Cấu trúc rẽ nhánh VI.3.1.Lệnh IF THEN và Lệnh IF THEN ELSE * Lu đồ diễn tả các lệnh và ý nghĩa cách viết: Hình 6. 3: Lệnh IF <Điều kiện> THEN <Công việc>; Mọi chi tiết xin liên hệ theo địa chỉ : Email: thienthanvitinh.ntb.sp2@gmail.com [...]... logic trong tiến trình lập trình cho máy tính điện tử, có thể nhanh chóng loại bỏ những sai sót khi cần hiệu chỉnh hay cải tiến chơng trình ây là khái niệm cơ bản trong ý tởng lập chơng trình có cấu trúc Một quá trình tính cũng có thể có 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) và hàm (function) Cấu trúc của 2 kiểu chơng trình con này... báo ở đầu chơng trình, nó đợc sử dụng bên trong chơng trình chính và 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 đợc gọi là biến riêng, là biến đợc khai báo ở đầu chơng trình con, và 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 lồng... con đợc thi hành, ta phải có lời gọi đến chơng trình con, lời gọi chơng trình con thông qua tên chơng trình con và danh sách 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ỉ có thể gọi tới các chơng trình con trực thuộc nó Trong chơng trình con, ta có thể gọi các chơng trình con ngang cấp đã đợc thiết lập trớc đó 1... mỗi module mang 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ẽ mang một cái tên khác nhau Một module chỉ cần viết một lần và sau đó chúng ta có thể truy xuất nó nhiều lần, bất kỳ nơi nào trong chơng trình chính Khi cần thiết, 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 có thể tiết kiệm đợc ô... Nội 2 Điện thoại: 02113.505.909 CHƯƠNG TRìNH CON Và ĐƠN Vị CHƯƠNG TRìNH I KHáI NIệM Về CHƯƠNG TRìNH CON Khi lập trình, chúng ta thờng có 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 chúng ta trở nên dài dòng, rối rắm và mất thời gian vô ích ể giải quyết những trờng hợp nh vậy, Pascal cho phép chúng ta tạo ra các module,... tin F Cần lu trữ chơng trình ta dùng phím F2 Mở một file đã có ta dùng phím F3 Để thay đổi kích thớc/Di chuyển cửa sổ chơng trình, dùng phím F5 và Ctrl+F5 Trờng hợp mở nhiều chơng trình, ta dùng phím F6 và Ctrl+F6 để đi đến/trở về trớc chơng trình hiện hành Để biên dịch và kiểm tra lỗi, ta dùng phím F9 Để chạy chơng trình đã soạn thảo xong, đánh Ctrl+F9 Muốn thoát khỏi Turbo Pascal và trở về DOS, đánh... chơng trình con Mức độ phức tạp có thể gia tăng khi trong chơng trình con theo thuật toán đệ qui có chứa những chơng trình con khác Vì vậy, khi dùng đệ qui ta cần thận trọng, nhất là thuật toán này thờng không cho ta thấy rõ trực tiếp toàn bộ quá trình giải các bớc Nói chung, chỉ khi naò không thể dùng thuật toán lặp ta mới nên sử dụng thuật toán đệ qui V ĐƠN Vị CHƯƠNG TRìNH (UNIT) 1 Khái niệm Lập trình. .. 02113.505.909 cần phải viết lại chúng Mỗi module nh vậy đợc gọi là một đơn vị chơng trình, hay gọi tắt là UNIT Khái niệm Unit đã đợc vào sử dụng từ chơng trình Pascal version 4.0 trở đi Có hai loại Unit là các Unit chuẩn do Turbo Pascal tạo sẵn và các Unit tự tạo do ngời lập trình tự viết ra 2 Các Unit chuẩn a Một số Unit chuẩn trong Turbo Pascal 5.5 trở đi * Unit SYSTEM : gồm các hằng, biến, kiểu, hàm, thủ tục... Writeln (' Ta thấy, a không đổi và b thay đổi ! '); Readln; END 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 có tính đệ qui (recursion) Ví dụ 7.9: Bài toán tính giai thừa (factorials) theo cách đệ qui Bài toán này có phần chơng trình chính giống nh đã có ở ví dụ trớc: PROGRAM Giaithua; (*Tính giai thừa của số n theo... nh một chơng trình con kiểu function với tên là sin và tham số là x Trong khi đó, thủ tục (procedure) không trả lại kết quả thông qua tên của nó, do vậy, ta không thể viết các thủ tục trong biểu thức Các lệnh Writeln, Readln trong chơng trớc đợc xem nh các thủ tục chuẩn Một chơng trình có chơng trình con tự thiết lập có 3 khối (block): * Khối khai báo * Khối chơng trình con * Khối chơng trình chính . Ngôn ngữ lập trình Pascal I. GIớI THIệU Pascal là tên của một trong các ngôn ngữ lập trình cấp cao thông dụng. Ngôn ngữ lập trình Pascal đợc giáo s Niklaus. chơng trình dễ dàng và ngời khác cũng dễ hiểu nội dung chơng trình. interger III. CấU TRúC MộT CHƯƠNG TRìNH PASCAL Hình 6.1: Sơ đồ cấu trúc chơng trình Pascal

Ngày đăng: 05/06/2013, 01:26

Hình ảnh liên quan

Hình 6.1: Sơ đồ cấu trúc chơng trình Pascal Ví dụ 6.3:  - Giáo trình Pascal

Hình 6.1.

Sơ đồ cấu trúc chơng trình Pascal Ví dụ 6.3: Xem tại trang 2 của tài 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 - Giáo trình Pascal

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 Xem tại trang 4 của tài liệu.
5. Kiểu ký tự (Char type) - Giáo trình Pascal

5..

Kiểu ký tự (Char type) Xem tại trang 6 của tài liệu.
ORD(x) Cho số thứ tự của ký tự x trong bảng mã CHR(n) hay #nCho ký tự có số thứ tự là n - Giáo trình Pascal

x.

Cho số thứ tự của ký tự x trong bảng mã CHR(n) hay #nCho ký tự có số thứ tự là n Xem tại trang 6 của tài liệu.
ở hình minh họa trên ta dễ thấy các nhóm lệnh thành từng khối (block). Một khối lệnh bắt đầu bằng BEGIN và chấm dứt ở END; - Giáo trình Pascal

h.

ình minh họa trên ta dễ thấy các nhóm lệnh thành từng khối (block). Một khối lệnh bắt đầu bằng BEGIN và chấm dứt ở END; Xem tại trang 10 của tài liệu.
Hình 6.2: Sơ đồ cấu trúc BEGIN.. END; - Giáo trình Pascal

Hình 6.2.

Sơ đồ cấu trúc BEGIN.. END; Xem tại trang 10 của tài liệu.
Hình 6.4: Lệnh IF.. THEN.. ELSE..; Chú ý:  - Giáo trình Pascal

Hình 6.4.

Lệnh IF.. THEN.. ELSE..; Chú ý: Xem tại trang 11 của tài liệu.
Readln; {Dừng màn hình để xem kết quả} END.  - Giáo trình Pascal

eadln.

; {Dừng màn hình để xem kết quả} END. Xem tại trang 11 của tài liệu.
Hình 6.5: Lu đồ lệnh CASE.. OF - Giáo trình Pascal

Hình 6.5.

Lu đồ lệnh CASE.. OF Xem tại trang 12 của tài liệu.
Hình 6.6: Lu đồ phát biểu FOR.. TO..DO - Giáo trình Pascal

Hình 6.6.

Lu đồ phát biểu FOR.. TO..DO Xem tại trang 13 của tài liệu.
FUNCTION &lt;Tên hàm&gt; (&lt;Tham số hình thức: kiểu biến&gt;): &lt;Kiểu kết quả&gt;;  - Giáo trình Pascal

lt.

;Tên hàm&gt; (&lt;Tham số hình thức: kiểu biến&gt;): &lt;Kiểu kết quả&gt;; Xem tại trang 23 của tài liệu.
* LowVideo và NormVideo: thủ tục màn hình, khi gọi LowVideo thì mọi ký   tự   viết   ra   màn   hình   có   độ   sáng   yếu   dần   đi   cho   đến                                khi nhận thủ tục NormVideo mới về độ sáng bình thờng - Giáo trình Pascal

ow.

Video và NormVideo: thủ tục màn hình, khi gọi LowVideo thì mọi ký tự viết ra màn hình có độ sáng yếu dần đi cho đến khi nhận thủ tục NormVideo mới về độ sáng bình thờng Xem tại trang 29 của tài liệu.
Trong hình vẽ trên, bài toán đợc phân thành 4 vấn đề nhỏ hơn là A,B,C và D. Vấn đề B và D có thể giải quyết đợc ngay - Giáo trình Pascal

rong.

hình vẽ trên, bài toán đợc phân thành 4 vấn đề nhỏ hơn là A,B,C và D. Vấn đề B và D có thể giải quyết đợc ngay Xem tại trang 34 của tài liệu.
Khi chạy chơng trình (nhấn Ctrl+ F9), trên màn hình ta sẽ thấy: Nhập bao nhiêu số n để tính trung bình ? 5  - Giáo trình Pascal

hi.

chạy chơng trình (nhấn Ctrl+ F9), trên màn hình ta sẽ thấy: Nhập bao nhiêu số n để tính trung bình ? 5 Xem tại trang 42 của tài liệu.
Hệ tọa độ cho mỗi loại màn hỡnh cú khỏc nhau (xem bảng 1), chẳng hạn ở loại màn hỡnh VGA là 640x480 như hỡnh sau:  - Giáo trình Pascal

t.

ọa độ cho mỗi loại màn hỡnh cú khỏc nhau (xem bảng 1), chẳng hạn ở loại màn hỡnh VGA là 640x480 như hỡnh sau: Xem tại trang 64 của tài liệu.
Với: GraphDriver, GraphMode là loại màn hỡnh và mốt màn hỡnh (xem bảng 1). PathToDriver là đường dẫn của thư mục chứa cỏc tập tin điều khiển đồ họa - Giáo trình Pascal

i.

GraphDriver, GraphMode là loại màn hỡnh và mốt màn hỡnh (xem bảng 1). PathToDriver là đường dẫn của thư mục chứa cỏc tập tin điều khiển đồ họa Xem tại trang 65 của tài liệu.
Chỳ ý: Ở bảng này cỏc hằng DETECT cú giỏ trị 0, hằng VGA cú giỏ trị 9, hằng VGAHi - Giáo trình Pascal

h.

ỳ ý: Ở bảng này cỏc hằng DETECT cú giỏ trị 0, hằng VGA cú giỏ trị 9, hằng VGAHi Xem tại trang 66 của tài liệu.
kờ trong bảng 3, và kiểu tụ màu thỡ cú 11 kiểu đó được định sẵn là từ 0..11 và một kiểu do người lập trỡnh định nghĩa (User - defined fill) và cỏc kiểu tụ được liệt kờ  trong bảng 4 - Giáo trình Pascal

k.

ờ trong bảng 3, và kiểu tụ màu thỡ cú 11 kiểu đó được định sẵn là từ 0..11 và một kiểu do người lập trỡnh định nghĩa (User - defined fill) và cỏc kiểu tụ được liệt kờ trong bảng 4 Xem tại trang 68 của tài liệu.
Với tham số LineStyle cú cỏc giỏ trị như bảng 5 sau: Bảng 5:  Tham số LineStyle   - Giáo trình Pascal

i.

tham số LineStyle cú cỏc giỏ trị như bảng 5 sau: Bảng 5: Tham số LineStyle Xem tại trang 69 của tài liệu.

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