Giáo trình môn học: nhập môn tin học Phần III – ngôn ngữ lập trình Pascal -1

Từ trước tới nay đã có hàng nghìn ngôn ngữ lập trình khác nhau được thiết kế và sử dụng. Hàng năm lại có nhiều ngôn ngữ mới ra đời. Các ngôn ngữ được dùng phổ biến có thể kể đến: Ngôn gữ Ada, Angol, APL, Asembly Basic, C, C++,Cobol, Fortran, Delphi, Java, Lisp,Pascal,Perl,PHP,Prolog, Python, Ruby Sự phát triển của ngôn ngữ gắn liền với sự phát riển của tin học và phần cứng.

pdf36 trang | Chia sẻ: lylyngoc | Lượt xem: 1794 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Giáo trình môn học: nhập môn tin học Phần III – ngôn ngữ lập trình Pascal -1, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
TRƯỜNG ĐẠI HỌC XÂY DỰNG KHOA CÔNG NGHỆ THÔNG TIN ------------  ------------ GIÁO TRÌNH MÔN HỌC: NHẬP MÔN TIN HỌC PHẦN III – NGÔN NGỮ LẬP TRÌNH PASCAL -1 Giảng viên: ĐÀO TĂNG KIỆM Bộ môn : TIN HỌC XÂY DỰNG Hà nội 2011 ---------- Giáo trình Nhập môn Tin học: Phần III – Ngôn ngữ lập trình Pascal - 1 GVC: Đào Tăng Kiệm Bộ môn Tin học Xây dựng 2 PHẦN 3 NGÔN NGỮ LẬP TRÌNH PASCAL Chương 1 CÁC KHÁI NIỆM CƠ BẢN I. Ngôn ngữ lập trình Pascal: 1. Giới thiệu chung về ngôn ngữ lập trình: Từ trước tới nay đã có hàng nghìn ngôn ngữ lập trình khác nhau được thiết kế và sử dụng. Hàng năm lại có nhiều ngôn ngữ mới ra đời. Các ngôn ngữ được dùng phổ biến có thể kể đến : Ngôn gữ Ada, Angol, APL, Asembly Basic, C, C++,Cobol, Fortran, Delphi, Java, Lisp,Pascal,Perl,PHP,Prolog, Python, Ruby …Sự phát triển của ngôn ngữ gắn liền với sự phát triển của tin học và phần cứng. Mỗi loại ngôn ngữ thích hợp với một lĩnh vực và một số dạng bài toán nhất định. Ví dụ, trong khối kỹ thuật, các ngôn ngữ được sử dụng nhiều là Algol, Fortran, C++, Basic, Visual Basic, Java, Pascal … Các ngôn ngữ lập trình có thể xây dựng dựa trên “ Lập trình tuyến tính”, “ Lập trình có cấu trúc” : Pascal; “Lập trình hướng đối tượng” : Java, Delphi,Visual Basic; “Lập trình trên nền Web”: HTML. 2. Các ưu điểm của Pascal và yêu cầu hệ thống: - Pascal là do Niklaus Wirth phát triển dựa trên Algol năm 1970, nó là ngôn ngữ lập trình có cấu trúc. Pascal phù hợp với các dạng bài toán kỹ thuật và dễ diễn tả các sơ đồ thuật toán, phù hợp cho việc giảng dạy trong các trường phổ thông và đại học. - Với các phiên bản khác nhau của Pascal nó có thể dùng trong các hệ điều hành DOS, Window cà cũng có một số hệ điều hành dùng Pascal để viết (như Macintosh). - Pascal là ngôn ngữ lập trình định kiểu và có trình biên dịch mạnh, có thể giải được các bài toán đệ qui. - Tuỳ theo từng phiên bản của Pascal mà có thể chạy trên môi trường DOS hoặc Window 3. Khởi động và giao diện Turbo Pascal:  Từ DOS : C:\ > CD TP  C:\ TP > CD BIN  C:\ TP \ BIN > TURBO  Trên màn hình xuất hiện màn hình soạn thảo của Turbo Pascal. Bạn có thể bắt đầu gõ chương trình .  Từ WINDOWS có thể bằng nhiều cách :  Chọn và nhấn vào biểu tượng của PASCAL trên màn hình (nếu có) Giáo trình Nhập môn Tin học: Phần III – Ngôn ngữ lập trình Pascal - 1 GVC: Đào Tăng Kiệm Bộ môn Tin học Xây dựng 3  Nhấn Start  Run  Browse mở hộp hội thoại, từ Look in tìm thư mục và tệp chứa Turbo Pascal ( Turbo.exe )  nhấn OPEN sẽ hiện màn hình Pascal (nền xanh): II. Các thành phần cơ bản của ngôn ngữ: 1. Ký hiệu cơ sở của Pascal  Bộ ký tự : - Các chữ : 26 chữ cái từ A-W không phân biệt chữ hoa và chữ thường. - Số từ 0-9 - Các dấu : . , ’ ( ) / [, ], *, …và một số ký tự đặc biệt. Không được sử dụng các ký hiệu toán học và vật lý như Ω, ∆, ∂, ∑ … Trong đó: dấu phẩy (,) dùng để nhăn cách các thành phần trong danh sách; Dấu chấm (.) ngăn phân nguyên- thập phân; dấu nhát đơn (’ ..’) giới hạn hằng xâu ký tự; Dấu ngoặc tròn ( ( ..) ) chứa các biểu thức, đối số của hàm ; dấu bằng (=) phép so sánh; dấu chấm phẩy (;) dùng ngăn cách các câu; dấu ngoặc vuông ( [ ] ) giới hạn chỉ số của mảng. - Dấu của phép tình số học : + - / * Div Mod - Dấu của phép tình so sánh: > ,= , , IN - Dấu của phép tính xâu : + và các phép so sánh - Dấu các phép tính Logic : Not, And, Or, Xor  Từ khóa (Keyword): do ngôn ngữ qui định, là các từ mà người sử dụng không được dùng với mục đích khác. Pascal ưu tiên cao nhất là cho các từ này. Trong chương trình nếu viết đúng ngữ pháp từ khoá có màu trắng. Từ khoá chia thành 3 nhóm: - Các từ chung: PROGRAM, BEGIN, END, PROCEDURE, FUNCTON - Các từ khai báo: LABEL,CONST,TYPE,VAR, FILE, RECORD - Các lệnh điều khiển: GOTO, IF THEN ELSE, CASE OF, FOR TO DO, WHILE DO, REPEAT UNTIL, . . . Giáo trình Nhập môn Tin học: Phần III – Ngôn ngữ lập trình Pascal - 1 GVC: Đào Tăng Kiệm Bộ môn Tin học Xây dựng 4  Từ chuẩn: là các từ mà Pascal đặt tên sẵn nhưng người sử dụng có thể thay đổi được, như: READ, WRITE, INTEGER, REAL …  Tên (Identifier): Mọi đại lượng sử dụng trong chương trình Pascal (hằng, biến, kiểu, hàm, tên chương trình …) đều phải đặt tên để chương trình có thể nhận dạng được. Tên do người sử dụng tự đặt, tuỳ từng phiên bản của Pascal mà qui định về tên là khác nhau.Với Turbo 7.0 trở lên, tên có độ dài tuỳ ý, có thể đến 127 ký tự, nhưng chỉ có 40 ký tự đầu là có nghĩa (phân biệt sự khác nhau giữa các tên). Thông thường tên đặt ngắn và viết tắt cho nghĩa của các hàm, biến, kiểu… cho dễ nhận dạng.  Dấu chấm phẩy và lời giải thích: - Kết thức mọi câu lệnh của Pascal là dấu ; Có thể viết nhiều lệnh trên một dòng và ngăn cách nhau bằng dấu ;. Sau các từ khai báo như Var, Type, Const…Begin không có dấu ; - Trong chương trình, người sử dụng có thể đưa vào một số dòng giải thích cho từng phần của chương trình, hoặc giải thích cho các biến, quá trình thực hiện …, những dòng này chỉ hiện trong listing chương trình, không có tác dụng với trình dịch và quá trình thực hiện. Những dòng này được đặt trong cặp ngoặc { …} hoặc {* …*} và sẽ hiện màu ghi nhạt để nhận biết. Khi gặp những dòng này chương trình bỏ qua phần biên dịch và thực hiện. 2. Hằng và biến:  Hằng là một đại lượng có giá trị không đổi trong các lần thực hiện chương trình. Hằng có thể sử dụng qua một tên và được gán giá trị cụ thể. Các tên của hằng tham gia trong chương trình sẽ tự động được gán giá trị đã khai báo. Khi cần thay đổi giá trị của hằng, chỉ cần thay trong phần khai báo, chương trình sẽ tự động cập nhật.  Biến là một đại lượng có giá trị thay đổi trong mỗi lần thực hiện chương trình. Biến có thể là biến đơn (m,i), biến mảng (A[i], B[i,j]), biến bản ghi (DS[i].HT)…Tất cả các biến dùng trong chương trình đều phải đặt tên (khác nhau) và phải khai báo. Tên biến dùng để xác lập quan hệ giữa biến, địa chỉ bộ nhớ lưu giữ biến. 3. Toán tử và biểu thức:  Toán tử là dấu các phép tính của các phép toán số học, quan hệ, logic, xâu, dùng để kết nối các hằng, biến, hàm thành các biểu thức phức tạp.  Biểu thức là một thành phần hầu như có mặt trong mọi chương trình. Nó có thể là một hằng, một biến, hoặc kết hợp giữa hằng, biến, hàm mẫu và các toán tử. Pascal có 4 loại biểu thức: biểu thức số học, biểu thúc so sánh (quan hệ), biểu thức xâu, biểu thức logic. Tùy từng loại biểu thức mà kết quả của nó có thể là một giá trị số, xâu hoặc nhận một trong hai giá trị logic đúng (True) và sai (False). 4. Hàm mẫu và thủ tục:  Hàm mẫu: là những modul chương trình, đã được viết sẵn, được dịch và cài đặt trong thư viện của chương trình. Khi sử dụng người dùng chỉ việc gọi nó ra qua tên hàm và đưa vào các đối số (đặt trong cặp ngoặc tròn) theo qui định của chương trình. Sau khi Giáo trình Nhập môn Tin học: Phần III – Ngôn ngữ lập trình Pascal - 1 GVC: Đào Tăng Kiệm Bộ môn Tin học Xây dựng 5 tính toán, chương trình trả lại kết quả tại vị trí của hàm mẫu. Hàm mẫu có thể được gọi riêng hoặc là một thành phần trong biểu thức. Mỗi loại biểu thức lại có một số hàm mẫu khác nhau.  Thủ tục: cũng giống như hàm mẫu, nó cũng dùng để thực hiện một nhiệm vụ nào đó, được Pascal viết sẵn hoặc người sử dụng tự tạo và sau đó có thể được sử dụng nhiều lần qua tên và các tham số (không bắt buộc). 5. Các lệnh: Lệnh là một trong các thành phần quan trọng tạo nên chương trình. Lệnh dùng để xác định các công việc mà chương trình cần thực hiện. Lệnh trong Pascal phần thành 2 nhóm: Lệnh đơn giản và lệnh có cấu trúc. Lệnh thực hiện và lệnh không thực hiện. Lệnh đơn giản là lệnh không chứa lệnh khác : lệnh gán, các lệnh nhập, xuất dữ liệu, lời gọi thủ tục, chương trình con. Lệnh có cấu trúc là lệnh có chứa các lệnh khác trong đó: các lệnh điều khiển, chu trình… Lệnh không thực hiện: là các lệnh khai báo, không thực hiện gì, không có kết quả. Lệnh thực hiện: là các lệnh thực hiện một hoặc nhiều thao tác nào đó theo yêu cầu của chương trình. 6. Cấu trúc chung của chương trình Pascal: Nói chung chương trình Pascal có 3 phần:  Phần tiêu đề : khai báo tên của chương trình chính hoặc chương trình con (không bắt buộc): PROGRAM Tên_CT_chính ; PROCEDURE Tên_CT_Con ; .  Phần khai báo: tuỳ từng chương trình cụ thể mà có thể có phần này và số lượng nhiều ít khác nhau, theo một trật tự nhất định (Label,Const, Type, Var, Procedure). Mọi hàm, biến, kiểu sử dụng trong chương trình đều phải báo theo những qui định của chương trình (xem chương 2).  Phần thân chương trình: Mọi chương trình đều phải có phần thân, bắt đầu bằng BEGIN và kết thúc bằng END. Trong thân chương trình thông thường có 3 mảng chính : - Nhập các dữ liệu ban đầu - Tính toán, xử lý các yêu của bài toán - Xuất, in kết quả ra màn hình, giấy in, ghi vào tệp trên đĩa. Ngoài ra có thể thêm các dòng chú giải. Ví dụ: Program Chuong_trinh_con_sap_xep_ma_tran; { Phan khai bao } Type k1=array[1..15,1..15] of real; var n,m,i,j,k:integer; a:k1; c:real; Giáo trình Nhập môn Tin học: Phần III – Ngôn ngữ lập trình Pascal - 1 GVC: Đào Tăng Kiệm Bộ môn Tin học Xây dựng 6 Procedure NhapDL ( Var n,m:integer;Var A:k1); begin write('n,m=?'); readln(n,m); for i:=1 to n do for j:=1 to m do begin write('A[',i,',',j,']=?'); readln(a[i,j]); end end; . . . . { Phan than chuong trinh } BEGIN { Cac loi goi chuong trinh con } NhapDL(n,m,A); Xuly(n,m,A); InKetqua (n,m,A); readln END. Giáo trình Nhập môn Tin học: Phần III – Ngôn ngữ lập trình Pascal - 1 GVC: Đào Tăng Kiệm Bộ môn Tin học Xây dựng 7 Chương 2 CÁC KIỂU DỮ LIỆU VÀ CÁCH KHAI BÁO – BIỂU THỨC I. Các kiểu dữ liệu 1. Khái niệm: Mỗi đại lượng tính toán trong chương trình đều có 3 đặc trưng : tên- kiểu dữ liệu và giá trị. Pascal là ngôn ngữ lập trình có định kiểu mạnh. Kiểu dữ liệu xác định cách ghi, nhận và xử lý dữ liệu trong máy. Dữ liệu có 2 loại: Dữ liệu chuẩn (không có cấu trúc) và Dữ liệu có cấu trúc.  Dữ liệu chuẩn là DL không thể phân nhỏ ra thành các bộ phận, nó là dữ liệu nguyên thủy hay vô hướng.  Dữ liệu có cấu trúc là DL được lập ra từ DL nguyên thủy theo một cách nào đó, có cấu trúc phức tạp hơn. Khi dùng DL này, người lập trình phải mô tả trước cấu trúc để chương trình có cách xử lý riêng.  Ngoài ra Pascal còn có kiểu dữ liệu con trỏ là loại DL có cấu trúc thay đổi trong quá trình xử lý. 2. Sơ đồ cấu trúc các kiểu dữ liệu: Kiểu chuẩn (Nguyên – Thực –Logic -Ký tự) Kiểu vô hướng Kiểu tự tạo - Miền con (Subrange) – Liệt kê ( Enumerated) Kiểu có cấu trúc - Kiểu mảng (Array) - Kiểu tập hợp (Set) - Kiểu bản ghi (Record) - Kiểu tệp (File) Kiểu xâu (String) Kiểu con trỏ động (Pointer) 3. Cách khai báo các kiểu dữ liệu:  Khai báo trực tiếp: đối với các dữ liệu vô hướng, hoặc kiểu của dữ liệu đã xác định, có thể khai báo trực tiếp theo dạng : Danh sách dữ liệu : kiểu dữ liệu; Ví dụ : Var I, m : integer; T: real; A : aray [1 .. 20 ] of real;  Khai báo gián tiếp: cách khai báo này có thể áp dụng cho mọi loại dữ liệu đã xác định kiểu hoặc chưa xác định kiểu. Dùng cách này, bước đầu là mô tả kiểu cho DL (tạo kiểu mới) bằng từ khóa Type, sau đó khai báo. Ví dụ: Type CS = integer ; Giáo trình Nhập môn Tin học: Phần III – Ngôn ngữ lập trình Pascal - 1 GVC: Đào Tăng Kiệm Bộ môn Tin học Xây dựng 8 VT= aray [1.. 20] of real; Var m,i : CS ; A, B : VT; II. Các dữ liệu đơn giản chuẩn (vô hướng) – Khai báo 1. Dữ liệu nguyên:  Là kiểu để biểu diễn một miền số nguyên. Giá trị tối đa của nó phụ thuộc vào phạm vi của máy. Số nguyên có thể dùng cho các hằng, biến, hàm, kiểu.  Số nguyên có thể dùng trong các phép tính số học ( +, -, *, div, mod), các phép tính so sánh (>, =, ).  Dữ liệu nguyên có thể khai báo qua từ khóa INTEGER, BYTE, LONGIN, WORD Để khai báo các giá trị tối đa các chiều của mảng, chỉ số phần tử mảng, biến điều khiển chu trình… phải là số nguyên.  Cách khai báo : Danh sách dữ liệu: Integer ;  Ví dụ: m , i, sl :Integer ; 2. Dữ liệu thực:  Là kiểu để biểu diễn một số thập phân có 2 dạng: - Dạng thông thường: dùng dấu chấm thay cho dấu phẩy thập phân. Ví dụ: 3168.72 - Dạng khoa học: dùng lũy thừa cơ số 10 có dạng E± n1n2 . Ví dụ: 0.1267E+03  Số thực có thể dùng trong các phép tính số học ( +, -, *, / ), các phép tính so sánh (>, =, ), các thành phần của hàm mẫu số như SIN, COS, ABS, SQRT …  Dữ liệu nguyên có thể khai báo qua từ khóa REAL, SINGLE, DOUBLE, EXTENDED  Cách khai báo : Danh sách dữ liệu: Real ;  Ví dụ: a,b, tong : Real ; 3. Ký tự:  Là kiểu nhận một ký tự bất kỳ trong số 256 ký tự của bảng mã ASCII, nó có thể là chữ, dấu hoặc một ký hiệu đặc biệt.  Kiểu ký tự có thể tham gia các phép tính cộng (ghép) hoặc các phép tính so sánh (>, =, ) hoặc các hàm mẫu của ký tự như PRED, SUCC, CHR …  Cách khai báo : Danh sách dữ liệu: Char ;  Ví dụ: nhan, hoi : Char; 4. Kiểu miền con:  Là kiểu dùng để xác định một khoảng giá trị mà dữ liệu có thể nhận. Miền con là kiểu đếm được có giới hạn trên và giới hạn dưới, các giá trị tiếp theo trong miền theo một trật tự tự nhiên.  Cách khai báo: kiểu miền con cũng có thể khai báo trực tiếp hoặc gián tiếp có dạng Tên kiểu = Hằng cận dưới . . Hằng cận trên Ví dụ: Type thang = 1 .. 12 ; max = 1.. 100 Giáo trình Nhập môn Tin học: Phần III – Ngôn ngữ lập trình Pascal - 1 GVC: Đào Tăng Kiệm Bộ môn Tin học Xây dựng 9 Var A: array [ max] of real; TD,TC : thang; 5. Kiểu liệt kê:  Là một tập hợp hữu hạn các giá trị đặt trong cặp ngoặc tròn, được sắp xếp theo một thứ tự tùy ý ngăn cách nhau bởi dấu phẩy.  Cách khai báo: kiểu liệt kê cũng có thể khai báo trực tiếp hoặc gián tiếp có dạng Tên kiểu = (Giá trị1, giá trị2,. . . giá trị n); Ví dụ: Type Caukien = ( tuong, cot, dam,san, panen ) Var Btong, Thep: caukien ; 6. Kiểu xâu ký tự (String):  Xâu là một dãy ký tự có độ dài tối đa là 255 ký tự ( theo bảng mã ASCII). Xâu có thể dùng để chứa các tiêu đề, lời nhắc (hằng xâu); chứa các dữ liệu chữ, số, dấu … như họ tên, địa chỉ, …Xâu có thể là hằng, biến (đơn,mảng).  Khai báo xâu dùng từ khóa STRING .  Cách khai báo: Danh sách dữ liệu: String [n] ; trong đó n là độ dài của xâu  Ví dụ Ten:= ‘ Dai hoc xay dung’ ; Var HT : array [1 .. 10 ] of string [30] ; III. Các kiểu dữ liệu có cấu trúc – Cách khai báo 1. Khái niệm : Trong Turbo Pascal có 6 kiểu dữ liệu có cấu trúc: Array, Set, Record, File, String, Pointer. Muốn làm việc với các dữ liệu này, trước tiên phải khai báo tường minh chúng, một số loại có thể khai báo trực tiếp như Array, String, còn một số khác phải khai báo gián tiếp (mô tả cấu trúc – mô tả kiểu của dữ liệu trước khi khai báo chúng qua từ khóa Type). 2. Khai báo - mô tả kiểu:  Để mô tả một kiểu dữ liệu mới do người lập trình tự tạo dùng từ khóa TYPE có cấu trúc như sau: TYPE Tên kiểu = Mô tả cấu trúc  Ví dụ: Type Thang = [1..12] ; VT = array [1.. 50] of Real ; Hoso = Record HT : string [25] ; NS: integer; LT : array [1.. 30 ] of real ; End; Giáo trình Nhập môn Tin học: Phần III – Ngôn ngữ lập trình Pascal - 1 GVC: Đào Tăng Kiệm Bộ môn Tin học Xây dựng 10 3. Kiểu mảng (Array):  Khái niệm: - Mảng là loại dữ liệu có cấu trúc, là một tập hợp các phần tử có cùng kiểu dữ liệu. Mỗi mảng có một tên chung và các chỉ số để phân biệt giữa các phần tử mảng. Mảng có thể là 1 chiều véc tơ), 2 chiều (ma trận) hoặc n chiều. - Cũng như các biến khác, khi sử dụng mảng, phải khai báo, tuy nhiên, khác với các biến đơn, ngoài việc khai báo tên, kiểu của biến mảng còn phải khai báo số chiều, kích thước mỗi chiều của mảng để máy dành sẵn bộ nhớ cho các mảng. Mảng có thể khai báo trực tiếp trong Var hoặc khai báo gián tiếp qua Type. - Các chỉ số của phần tử mảng phải đặt trong cặp ngoặc vuông [ ]; Chỉ số mảng phải là số nguyên , có thể là các hằng, biến, biểu thức đơn giản. Các chỉ số ngăn cách nhau bởi dấu phẩy. Ví dụ A[i], C[i, j], B[1] ; HT [i+1] ; - Tên và chỉ số mảng có thể viết hoa hoặc chữ thường (như nhau)  Cách khai báo mảng: - Khai báo trực tiếp: Var Danh_sách_biến_mảng : array [n1 .. n2, m1.. m2, ..] of kiểu_phần_tử ; Trong đó n1,m1 là các chỉ số đầu, n2,m2 là các chỉ số cuối của mảng. Kiểu phần tử phải là một trong các kiểu đơn giản chuẩn hoặc kiểu mới (thì phải khai báo trước đó). Ví dụ : Var A,B : array [ 1.. 30 ] of real; HT: array [ 1.. 50 ] of string [20]; C: array [ 1.. 30, 1..5 ] of integer ; - Khai báo gián tiếp: Type Kiểu_mảng = array [n1 .. n2, m1.. m2, ..] of kiểu_phần_tử ; Var Danh_sách_biến_mảng : Kiểu_mảng ;  Ví dụ : Type VT1 = array [ 1.. 30 ] of real; VT2 = array [ 1.. 50 ] of string [20]; VT3 = array [ 1.. 30, 1..5 ] of integer ; HS = record HT, DC, Lop : string ; Diem: real ; End; Var A,B : VT1 ; HT :VT2 ; C: VT3; DSSV : HS; 4. Dữ liệu kiểu bản ghi  Khái niệm: - Bản ghi (Record) là dữ liệu có cấu trúc trong đó mỗi bản ghi có thể có nhiều trường (Field), mỗi trường có thể có kiểu dữ liệu và cấu trức khác nhau (đơn, mảng, bản ghi). - Bản ghi có thể là đơn (1 bản ghi) hoặc tập hợp với nhau trong một mảng, trong đó mỗi phần tử mảng là một bản ghi. - Bản ghi có thể lồng nhau: trong các trường của bản ghi lại có thể có bản ghi con. Giáo trình Nhập môn Tin học: Phần III – Ngôn ngữ lập trình Pascal - 1 GVC: Đào Tăng Kiệm Bộ môn Tin học Xây dựng 11 - Trước khi sử dụng bản ghi dưới dạng biến (đơn, mảng) , phải khai báo hay mô tả cấu trúc bản ghi qua từ khóa Type. - Tên của kiểu và tên trường bản ghi cũng tuân theo cách đặt tên thông thường của Pascal.  Cách khai báo - mô tả cấu trúc bản ghi: Type Tên_bản ghi = Record Tên trường 1 : Kiểu ; Tên trường 2 : Kiểu ; . . . . . . . . Tên trường n : Kiểu ; End;  Ví dụ: Khai báo gián tiếp Type HosoCB = record Hoten : string [30] ; Diachi : string [ 50 ] ; Gioi_tinh : Char ; SPthang: array [1.. 12] of integer ; Luong : real ; End; Var Canbo: HosoCB ; DS: array [ 1..50] of HosoCB ; Khai báo trực tiếp Var Canbo: record Hoten : string [30] ; Diachi : string [ 50 ] ; Gioi_tinh : Char ; SPthang: array [ 1.. 12 ] of integer ; Luong : real ; End; 5. Dữ liệu kiểu tập hợp  Khái niệm: Tập hợp là một số phần tử có cùng một số tính chất nào đó, có thể là các số tự nhiên, hoặc một trong các kiểu dữ liệu vô hướng (trừ kiểu thực –Real). Trong tập hợp không có phần tử trống. Số lượng phần tử cực đại trong tập tùy thuộc vào cấu hình máy (với Turbo Pascal là 256). Một tập được đặt trong cặp ngoặc vuông [ ]. Các thành phần của tập ngăn cách nhau bởi dấu phẩy (,).  Khai báo : tập cũng có thể khai báo trực tiếp hoặc gián tiếp qua từ khóa SET OF Khai báo trực tiếp Var Danh_sách_biến: SET OF Khai báo gián tiếp Type Tên_kiểu = SET OF Var Danh_sách_biến: Tên_kiểu  Ví dụ Giáo trình Nhập môn Tin học: Phần III – Ngôn ngữ lập trình Pascal - 1 GVC: Đào Tăng Kiệm Bộ môn Tin học Xây dựng 12 Type T1 = Set of 5..10 ; T2 = Set of 7.. 15 Var Mon _BB: T1 ; Mon_TC :T2 ;  Các phép tính với tập: Tập có thể tham gia các phép toán số học như : phép gán, phép hợp (+), hiệu (-), giao (*) và các phép tính so sánh (, = >= ….), Ví dụ : Phép gán : T:= T1 kết quả : tập T giống hệt T1 Phép hợp : A:= T1+ T2 kết quả A [5 .. 15] : các phần tử thuộc T1 hoặc T2 Phép hiệu: B:= T1- T2 kết quả B [5,6] : các phần tử thuộc T1không thuộc T2 Phép hợp : C:= T1* T2 kết quả C [7 .. 10] : các phần tử thuộc cả T1 và T2 Phép so sánh T1= T2 kết quả : Sai – False Phép so sánh T1> T2 kết quả : Sai - False Phép so sánh T1< T2 kết quả : Đúng – True vì T1 là tập con của T2 IV. Khai báo 1. Khai báo nhãn :  Nhãn là một số nguyên không dấu (tối đa là 4 chữ số) một ký tự hoặc một tên gọi của Pascal được d
Tài liệu liên quan