Ngôn ngữ lập trình Pascal - ĐH Hoa Lư
lượt xem 25
download
Với kết cấu nội dung gồm 7 bài, tài liệu "Ngôn ngữ lập trình Pascal" giới thiệu đến các bạn những nội dung về ngôn ngữ lập trình Pascal, các khái niệm trong Pascal, các kiểu dữ liệu đơn giản, các câu lệnh điều khiển,...
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Ngôn ngữ lập trình Pascal - ĐH Hoa Lư
- BỘ MÔN TIN HỌC TRƯỜNG ĐẠI HỌC HOA LƯ MỤC LỤC Bài 1: NGÔN NGỮ LẬP TRÌNH PASCAL .......................................................... 3 1.Giới thiệu về ngôn ngữ lập trình Turbo Pascal...........................................................3 2. Các thành phần cơ bản trong ngôn ngữ Pascal........................................................4 3. Cấu trúc chung của một chương trình Turbo Pascal.................................................5 4. Sử dụng phần mềm Turbo Pascal ............................................................................9 CÂU HỎI ÔN TẬP.........................................................................................................15 Bài 2: CÁC KHÁI NIỆM TRONG PASCAL ...................................................... 17 1. Hằng, biến, biểu thức ..............................................................................................17 2. Câu lệnh và lời chú thích..........................................................................................18 3. Nhập dữ liệu ............................................................................................................20 4. Xuất dữ liệu...............................................................................................................22 CÂU HỎI ÔN TẬP.........................................................................................................26 Bài 3: CÁC KIỂU DỮ LIỆU ĐƠN GIẢN .......................................................... 28 1. Khái niệm về kiểu dữ liệu.........................................................................................28 2. Kiểu số nguyên.........................................................................................................29 3. Kiểu số thực..............................................................................................................35 4. Kiểu ký tự (CHAR)....................................................................................................37 5. Kiểu Logic (BOOLEAN)............................................................................................40 6. Kiểu liệt kê và kiểu đoạn con....................................................................................42 BÀI TẬP........................................................................................................................46 Bài 4: CÁC CÂU LỆNH ĐIỀU KHIỂN .............................................................. 48 1. Câu lệnh IF...............................................................................................................48 2. Câu lệnh CASE.........................................................................................................51 3. Câu lệnh lặp biết trước só lần lặp (FOR .. TO .. DO)..............................................54 4. Câu lệnh lặp WHILE..DO .........................................................................................57 5. Câu lệnh lặp REPEAT ..UNTIL.................................................................................59 BÀI TẬP........................................................................................................................61 Bài 5: CHƯƠNG TRÌNH CON .......................................................................... 64 1. Khái niệm chương trình con.....................................................................................64 2. Hàm (FUNCTION) ...................................................................................................64 3. Thủ tục (PROCEDURE)...........................................................................................70 4. Tham trị và tham biến...............................................................................................73 5. Phạm vi tác dụng của các khai báo..........................................................................76 6. Sự đệ quy..................................................................................................................79 7. Các ví dụ về chương trình con.................................................................................80 Ngôn ngữ lập trình Pascal 1
- BỘ MÔN TIN HỌC TRƯỜNG ĐẠI HỌC HOA LƯ CÂU HỎI ÔN TẬP – BÀI TẬP......................................................................................83 Bài 6: CÁC CẤU TRÚC DỮ LIỆU PHỨC HỢP ............................................... 86 1. Dữ liệu kiểu mảng.....................................................................................................86 2. Kiểu chuỗi ký tự........................................................................................................91 3. Dữ liệu kiểu bản ghi..................................................................................................96 4. Dữ liệu kiểu tập hợp (SET) và tệp tin (FILE)..........................................................102 CÂU HỎI ÔN TẬP.......................................................................................................112 Bài 7: LẬP TRÌNH NÂNG CAO ....................................................................... 123 1. Con trỏ và biến động ..................................................................................... 123 1.1. Khái niệm.............................................................................................................123 1.2. Kiểu dữ liệu con trỏ - biến con trỏ.......................................................................123 1.3. Địa chỉ của một đối tượng...................................................................................124 1.4. Các thủ tục và hàm tác động trên con trỏ...........................................................124 1.5. Cấp phát động.....................................................................................................125 2.Danh sách liên kết ........................................................................................... 126 2.1. Định nghĩa............................................................................................................126 2.2. Danh sách liên kết ngược...................................................................................127 2.3. Hàng đợi Queue - Danh sách liên kết thuận.......................................................127 2.4. Các thao tác trên danh sách...............................................................................129 3. Tạo thư viện các chương trình con (UNIT) .................................................. 129 3.1. Khái niệm đơn vị chương trình (Unit)..................................................................129 3.2. Cấu trúc một Unit.................................................................................................130 4. Đồ họa và âm thanh ....................................................................................... 131 4.1. Đồ họa..................................................................................................................131 4.2. Các đối tượng đồ họa..........................................................................................132 4.3. Các thủ tục và hàm liên quan đến Đặt - nhận màu - nét và dáng điệu chữ. .....133 5. Một số bài toán ứng dụng ............................................................................. 138 Ngôn ngữ lập trình Pascal 2
- BỘ MÔN TIN HỌC TRƯỜNG ĐẠI HỌC HOA LƯ Bài 1: NGÔN NGỮ LẬP TRÌNH PASCAL 1.Giới thiệu về ngôn ngữ lập trình Turbo Pascal PASCAL là ngôn ngữ lập trình bậc cao đượ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 1971. Ông đặt tên cho ngôn ngữ của mình là Pascal để tưởng nhớ nhà toán học nổi tiếng người Pháp ở thế kỷ 17: Blaise Pascal, người đã sáng chế ra chiếc máy tính cơ khí đầu tiên của nhân loại. Qua thời gian sử dụng, Pascal ngày càng được đông đảo người dùng đánh giá cao, và trở thành một trong các ngôn ngữ lập trình giáo học phổ biến nhất hiện nay. Thành công của ngôn ngữ Pascal ở chỗ nó là ngôn ngữ đầu tiên đưa ra và thể hiện được khái niệm lập trình có cấu trúc. Ý tưởng về một chương trình có cấu trúc xuất phát từ suy nghĩ cho rằng có thể chia một bài toán lớn, phức tạp thành nhiều bài toán nhỏ, đơn giản hơn. Nếu mỗi bài toán nhỏ được giải quyết bằng một chương trình con, thì khi liên kết các chương trình con này lại sẽ tạo nên một chương trình lớn giải quyết được bài toán ban đầu. Bằng cách chia một chương trình thành các chương trình con như vậy, người lập trình có thể lập trình để giải quyết riêng lẻ từng phần một, từng khối một, hoặc có thể tổ chức để nhiều người cùng tham gia, mỗi người phụ trách một vài khối. Ðặc biệt khi phải thay đổi hay sửa chữa trong một khối thì điều đó sẽ ít ảnh hưởng đến các khối khác. Tính cấu trúc của ngôn ngữ Pascal còn thể hiện trong việc tổ chức các câu lệnh và tổ chức dữ liệu. Từ các lệnh đã có, người lập trình có thể nhóm chúng lại với nhau và đặt giữa hai từ khóa Begin và End tạo thành một câu lệnh mới phức tạp hơn gọi là câu lệnh ghép. Ðến lượt mình, hai hay nhiều lệnh ghép lại có thể được nhóm lại để tạo thành một câu lệnh ghép phức tạp hơn nữa,.v.v. Tương tự như thế, ngôn ngữ Pascal cũng cho phép xây dựng các kiểu dữ liệu phức tạp hơn từ các kiểu dữ liệu đã có. Pascal là một ngôn ngữ không chỉ chặt chẽ về mặt cú pháp mà còn chặt chẽ về mặt dữ liệu. Mỗi biến, mỗi hằng tham gia trong chương trình luôn có một kiểu dữ liệu xác định và chỉ nhận những giá trị có cùng kiểu dữ liệu với nó. Ðiều này buộc người lập trình phải nắm chắc cú pháp và luôn chú ý đến tính tương thích của các biểu thức về mặt kiểu dữ liệu. Chính vì thế, lập trình bằng ngôn ngữ Pascal là một cơ hội tốt không chỉ rèn luyện tư duy mà còn rèn luyện tính cẩn thận và chính xác. Ngày nay, Ngôn ngữ Pascal được dùng để viết các chương trình ứng dụng trong nhiều lĩnh vực. Với văn phạm sáng sủa, dễ hiểu, với khả năng đủ mạnh, Pascal được xem là ngôn ngữ thích hợp nhất để giảng dạy ở các trường phổ thông và đại học. Ngôn ngữ lập trình Pascal 3
- BỘ MÔN TIN HỌC TRƯỜNG ĐẠI HỌC HOA LƯ 2. Các thành phần cơ bản trong ngôn ngữ Pascal 2.1. Tập ký tự cơ bản Mỗi ngôn ngữ đều được xây dựng từ một tập ký tự nào đó. Nhiều ký tự nhóm lại với nhau tạo nên các từ. Nhiều từ liên kết với nhau theo một qui tắc ngữ pháp nhất định (gọi là văn phạm) thì tạo nên các mệnh đề. Trong các ngôn ngữ lập trình, mệnh đề, còn được gọi là câu lệnh. Một tập hợp các câu lệnh được sắp xếp theo một trật tự nhất định nhằm chỉ thị cho máy các thao tác phải thực hiện tạo thành một chương trình. Các chương trình được soạn thảo bởi người lập trình và được lưu trữ trên đĩa dưới dạng các tập tin. Ngôn ngữ Pascal được xây dựng trên bộ ký tự cơ bản, gồm: o Các chữ cái la tinh: A, B, C,...,Z, a, b, c,..., z o Các chữ số:0, 1, 2, 3, 4, 5, 6, 7, 8, 9 o Các ký hiệu đặc biệt: +, , *, /, =,
- BỘ MÔN TIN HỌC TRƯỜNG ĐẠI HỌC HOA LƯ Delta, X1, X2, i, j , Chuc_vu, Luong, So_luong, Don_gia. Còn các tên: 3ABC, In, Chu vi, Maso là sai vì: 3ABC: bắt đầu bằng số Chu vi: có chứa ký tự trắng Maso: ký tự ‘’ là dấu trừ chứ không phải gạch nối. In: trùng với từ khóa In Cũng giống như từ khóa, Tên không phân biệt viết hoa hay viết thường. Ví dụ viết X1 hay x1 cũng chỉ là một tên thôi. Trong Pascal có một số tên đã được đặt sẵn rồi, gọi là tên chuẩn, chẳng hạn: Abs, Arctan, Boolean, Byte, Char, Cos, Copy, Delete, Eof, False, Longint, Ord, Integer, Real, Readln, Writeln, True, Text, ... Mặc dù người lập trình có thể đặt một tên mới trùng với một trong các tên chuẩn, song, để đỡ nhầm lẫn, chúng ta nên tránh điều này. 3. Cấu trúc chung của một chương trình Turbo Pascal 3.1. Ví dụ mở đầu Để có một cái nhìn tổng quan trước khi đi vào các vấn đề chi tiết của ngôn ngữ Pascal, hãy cùng xem xét chương trình sau: Bài toán và chương trình: Viết chương trình để nhập vào độ dài hai cạnh của một hình chữ nhật, tính và in lên màn hình diện tích và chu vi của hình chữ nhật đó. Nếu gọi hai cạnh của hình chữ nhật là a và b, gọi diện tích và chu vi lần lượt là S và P thì công thức tính S và P là: S = a.b P = 2(a+b) Chương trình cụ thể như sau: PROGRAM VIDU1; { Tinh dien tich va chu vi hinh chu nhat } Uses CRT; Var a, b, S, P: Real ; Begin Clrscr; Ngôn ngữ lập trình Pascal 5
- BỘ MÔN TIN HỌC TRƯỜNG ĐẠI HỌC HOA LƯ Write(‘Nhap chieu dai: ‘); Readln(a); Write(‘Nhap chieu rong: ‘); Readln(b); S:=a*b; P:=2* (a+b); Writeln (‘ Dien tich = ‘, S:8:2); Writeln (‘ Chu vi = ‘, P:8:2); Readln; End. 3.2. Cấu trúc chung của chương trình Pascal: Chương trình là một dãy các câu lệnh chỉ thị cho máy các công việc phải thực hiện. Một chương trình Pasccal đầy đủ gồm ba phần chính: Phần tiêu đề Phần khai báo Phần thân chương chình Program Têntựđặt ; { Phần tiêu đề} { Phần khai báo } Uses ... {khai báo sử dụng thư viện chuẩn} Label ... {khai báo nhãn} Const ... {khai báo hằng} Type ... {khai báo kiểu dữ liệu} Var ... { khai báo biến} Function ... { khai báo các chương trình con} Procedure ... {hàm và thủ tục } { Phần thân chương trình } Begin { Các lệnh } End. a. Phần tiêu đề chương trình Ngôn ngữ lập trình Pascal 6
- BỘ MÔN TIN HỌC TRƯỜNG ĐẠI HỌC HOA LƯ Phần này bắt đầu bằng từ khóa Program, sau đó ít nhất là một khoảng trắng và một tên do người dùng tự đặt, cuối cùng kết thúc bằng dấu chấm phẩy ‘;’. Ví dụ: Program Btap1; hoặc: Program Giai_pt_bac2; Phần tiêu đề chiếm một dòng, còn gọi là phần đầu của chương trình, nó có thể không có cũng được. b. Phần khai báo Phần khai báo có nhiệm vụ giới thiệu và mô tả các đối tượng, các đại lượng sẽ tham gia trong chương trình, giống như ta giới thiệu các thành viên trong một cuộc họp. Nó gồm khai báo sử dụng thư viện chuẩn, khai báo nhãn, khai báo hằng, khai báo kiểu dữ liệu mới, khai báo biến, và khai báo các chương trình con. Tùy theo yêu cầu cụ thể mà mỗi khai báo này có thể có hoặc không. Khai báo nhãn (Label) chỉ dùng khi trong chương trình có sử dụng lệnh nhảy không điều kiện GOTO. Nhược điểm của lệnh GOTO là làm mất tính cấu trúc của chương trình, trong khi có thể thay thế nó bằng các câu lệnh có cấu trúc của Pascal. Vì thế, để rèn luyện kỹ năng lập trình có cấu trúc, chúng ta sẽ không dùng lệnh GOTO trong giáo trình này. Các thủ tục và hàm được dùng khi có nhu cầu thiết kế các chương trình lớn, phức tạp. Đối với các bài toán nhỏ, đơn giản, việc sử dụng chương trình con là chưa cần thiết. Sau đây ta điểm qua vài nét về các khai báo thông dụng nhất. * Khai báo hằng và khai báo biến: Biến là đại lượng có giá trị thay đổi được, còn Hằng là đại lượng có giá trị không đổi, chúng được dùng trong chương trình để lưu trữ các dữ liệu, tham gia vào các biểu thức tính toán và các quá trình xử lý trong máy. Việc khai báo có tác dụng xác định tên và kiểu dữ liệu của biến hay hằng. Biến và Hằng là những thành phần khó có thể thiếu được trong một chương trình. Để khai báo biến ta dùng từ khóa Var, để khai báo hằng ta dùng từ khóa Const, ví dụ: Const N=10 ; Var x, y: Real ; i, k: Integer; * Khai báo (định nghĩa) một kiểu dữ liệu mới: Ngôn ngữ lập trình Pascal 7
- BỘ MÔN TIN HỌC TRƯỜNG ĐẠI HỌC HOA LƯ Ngoài các kiểu dữ liệu mà bản thân ngôn ngữ đã có sẵn như kiểu thực, kiểu nguyên, kiểu ký tự, kiểu lôgic,.v.v. người dùng có thể tự xây dựng các kiểu dữ liệu mới phục vụ cho chương trình của mình, nhưng phải mô tả sau từ khóa TYPE. Khi đã định nghĩa một kiểu dữ liệu mới, ta có thể khai báo các biến thuộc kiểu dữ liệu này. Ví dụ, ta định nghĩa một kiểu dữ liệu mới có tên là Mang: Type Mang = Array[1..10] of Real; Bây giờ có thể khai báo hai biến A và B có kiểu dữ liệu là kiểu Mang: Var A, B: Mang ; * Khai báo sử dụng thư viện chuẩn: Turbo Pascal có sẵn một số hàm và thủ tục chuẩn, chúng được phân thành từng nhóm theo chức năng mang các tên đặc trưng, gọi là các thư viện hay đơn vị chương trình (Unit ), như: Crt, Graph, Dos, Printer, .v.v. . Muốn sử dụng các hàm hay thủ tục của thư viện nào, ta phải khai báo có sử dụng thư viện đó, lời khai báo phải để ở ngay sau phần tiêu đề của chương trình theo cú phá: Uses danhsáchthư viện ; Ví dụ: do thủ tục Clrscr nằm trong thư viện CRT, nên nếu trong chương trình mà có dùng lệnh Clrscr, thì phải khai báo: Uses CRT; Muốn sử dụng cả hai thư viện CRT và GRAPH, ta khai báo: Uses CRT, GRAPH; c. Phần thân chương trình: Đây là phần chủ yếu nhất của một chương trình, bắt buộc phải có. Thân chương trình bắt đầu bằng từ khóa BEGIN và kết thúc bằng END. (có dấu chấm ở cuối). Giữa khối BEGIN và END là các lệnh. Mỗi lệnh phải kết thúc bằng dấu chấm phẩy: ‘;’. Một lệnh, nếu dài, thì có thể viết trên hai hay nhiều dòng, ví dụ: Writeln(‘ Phuong trinh co hai nghiem la: X1= ‘, X1:8:2,‘ va X2= ‘, X2:8:2; Ngược lại, một dòng có thể viết nhiều lệnh miễn là có dấu ‘;’ để phân cách các lệnh đó, chẳng hạn: Write(‘ Nhap A, B, C: ‘ ); Readln(A,B,C); Thông thường mỗi dòng chỉ nên viết một lệnh để dễ đọc, dễ kiểm tra lỗi. 3.3. Ví dụ Để kết thúc phần này, xin giới thiệu chương trình cho phép nhập vào họ tên, mã số, các điểm Toán, Lý của một sinh viên, tính điểm trung bình theo công thức: Ngôn ngữ lập trình Pascal 8
- BỘ MÔN TIN HỌC TRƯỜNG ĐẠI HỌC HOA LƯ rồi in Họ tên, mã số, các điểm Toán, Lý và điểm trung bình của sinh viên đó lên màn hình. PROGRAM VIDU2; Uses CRT; Var Ho_ten, Maso: String[20]; Toan, Ly, Dtb: Real; Begin Write(‘ Nhap Ho va ten: ‘); Readln(Ho_ten); Write(‘ Nhap ma so: ‘); Readln(Maso); Write(‘ Nhap diem Toan: ‘); Readln(Toan); Write(‘ Nhap diem Ly: ‘); Readln(Ly); Dtb:= (Toan+Ly) / 2; Clrscr; Writeln(‘ KET QUA THI CUA SINH VIEN:’); Writeln(‘Ho va ten: ‘, Ho_ten); Writeln(‘Ma so: ‘, Maso); Writeln(‘Diem Toan: ‘, Toan:3:1); Writeln(‘Diem Ly: ‘, Ly:3:1); Writeln(‘Diem Tbinh: ‘, Dtb:3:1); Readln; END. 4. Sử dụng phần mềm Turbo Pascal 4.1. Giới thiệu Turbo Pascal Turbo Pascal là một phần mềm có nhiệm vụ giúp người lập trình soạn thảo và thực hiện các chương trình viết bằng ngôn ngữ Pascal. Các chức năng chính của Turbo Pascal là o Cung cấp một hệ soạn thảo văn bản cho phép người lập trình soạn và sửa chương trình dễ dàng, tiện lợi. o Giúp người lập trình tìm các lỗi về văn phạm trong chương trình. o Dịch (compiler) chương trình viết bằng ngôn ngữ Pascal thành một chương trình viết dưới dạng mã máy. o Thực hiện hay chạy (Run) chương trình viết bằng ngôn ngữ Pascal. o Cung cấp các thư viện có sẵn nhiều hàm (function) và thủ tục (procedure) chuẩn mang lại cho người lập trình nhiều công cụ hữu ích, làm giảm bớt khối lượng phải lập trình. Ngôn ngữ lập trình Pascal 9
- BỘ MÔN TIN HỌC TRƯỜNG ĐẠI HỌC HOA LƯ 4.2. Khởi động Turbo Pascal a. Các tập tin chính của Turbo Pascal: Để chạy được Turbo Pascal 7.0, chỉ cần hai tập tin sau là đủ: TURBO.EXE: tập tin chính của TP TURBO.TPL: tập tin chứa các thư viện của TP Nếu muốn vẽ đồ họa thì phải có thêm các tập tin: GRAPH.TPU, tập tin chứa thư viện đồ họa *.BGI: các tập tin màn hình đồ họa *.CHR: các tập tin tạo kiểu chữ Trong các tập tin màn hình đồ họa thì thông thường chỉ cần tập tin EGAVGA.BGI là đủ, vì ngày nay phần lớn màn hình đều có kiểu EGA hay VGA. Nếu muốn xem hướng dẫn sử dụng Turbo Pascal thì cần có thêm tập tin TURBO.HLP Thông thường các tập tin này được để trong một thư mục riêng có tên là TP, hay TP7. Dưới đây ta giả thiết thư mục chứa Turbo Pascal là TP nằm ngay tại gốc của đĩa cứng C hay đĩa mềm A. b. Khởi động Turbo Pascal: a) Nếu ta làm việc trên máy cá nhân có hệ điều hành là MSDOS thì sau khi khởi động máy xong: Trường hợp dễ nhất là trên máy tính đã thiết lập sẵn đường dẫn đến thư mục TP chứa Turbo Pascal, khi đó chỉ cần gõ một lệnh: TURBO Trên màn hình sẽ hiện ra cửa sổ soạn thảo như hình 1.1 . Nếu gõ lệnh trên mà cửa sổ Turbo Pascal không hiện ra, do máy tính chưa thiết lập đường dẫn đến thư mục TP, trường hợp này phải di chuyển vào thư mục TP bằng lệnh: CD \TP gõ tiếp: CD \BIN rồi sau đó gõ tiếp:TURBO hoặc gõ lệnh: TP\Bin\Turbo.exe b) Nếu làm việc trên máy cá nhân hoặc trong một mạng có hệ điều hành là WINDOWS 9x, thì sau khi khởi động WINDOWS 9x: Ngôn ngữ lập trình Pascal 10
- BỘ MÔN TIN HỌC TRƯỜNG ĐẠI HỌC HOA LƯ Trường hợp có sẵn một Shortcut chứa Turbo Pascal ở trên Desktop: hãy nhắp left mouse hai lần liên tiếp vào biểu tượng Shortcut của Turbo Pascal. Trường hợp không có sẵn một Shortcut chứa Turbo Pascal: hãy chọn lệnh Start, chọn tiếp lệnh Run, rồi gõ vào đường dẫn đầy đủ của tập tin TURBO.EXE, chẳng hạn: C:\TP\BIN\TURBO.EXE , nếu khởi động TP từ đĩa C. A:\TP\BIN\TURBO.EXE , nếu khởi động TP từ đĩa A. c. Cửa sổ Turbo Pascal và cách chọn lệnh Trong cửa sổ này, dòng trên cùng là một thực đơn ngang, liệt kê chín nhóm lệnh chính của TP. Muốn chọn một lệnh trong thực đơn này, có thể tiến hành theo một trong hai cách: Cách một: Gõ phím F10. Lúc này, trên thực đơn xuất hiện một khung sáng (thường là màu xanh). Muốn chọn lệnh nào thì gõ các phím mũi tên , dời khung sáng đến lệnh đó rồi Enter. Một thực đơn con của lệnh vừa chọn hiện ra, gọi là thực đơn dọc. Để chọn một lệnh trong thực đơn dọc, hãy gõ các phím mũi tên , , dời khung sáng đến lệnh đó rồi Enter. Khi không muốn chọn lệnh nào thì gõ phím ESC để trở về vùng soạn thảo. Ngoài cách dùng phím F10 nói trên, cũng có thể chọn một lệnh trong thực đơn ngang bằng cách gõ đồng thời phím Alt với phím chữ cái đầu tiên của tên lệnh muốn chọn. Ví dụ, muốn chọn lệnh File thì gõ đồng thời hai phím Alt và F (viết tắt là AltF), tương tự, muốn chọn lệnh Compile thì gõ AltC. Cách hai: dùng phím "nóng": Có một số lệnh được gán cho những phím đặc biệt gọi là phím "nóng", ví dụ lệnh Open: F3, lệnh Save: F2, lệnh Exit: AltX. Để thực hiện những lệnh này, thay vì phải chọn nó từ trong thực đơn, ta chỉ cần gõ phím nóng tương ứng với nó. Ví dụ, thay vì chọn lệnh Open thì gõ phím F3, thay vì chọn lệnh Save thì gõ phím F2,... Dưới thực đơn ngang là vùng soạn thảo dùng để gõ chương trình vào. Đầu của vùng này hiện tên của tập tin đang soạn, và nếu người lập trình chưa đặt tên thì TP sẽ đặt sẵn một tên mặc nhiên là NONAME00.PAS. Ngôn ngữ lập trình Pascal 11
- BỘ MÔN TIN HỌC TRƯỜNG ĐẠI HỌC HOA LƯ Dòng cuối cùng tóm tắt một số phím " nóng" hay dùng, như phím F1 để xem hướng dẫn, phím F2 để lưu tập tin lên đĩa, phím F3 dùng để mở xem một tập tin, phím F10 để khởi động thực đơn,.v.v. d. Thoát khỏi Turbo Pascal: Chọn lệnh File trong thực đơn ngang, chọn tiếp lệnh Exit trong thực đơn dọc (viết gọn là chọn lệnh File/ Exit). Hoặc gõ cặp phím nóng AltX 4.3. Các bước thực hiện một chương trình Pascal Để soạn và chạy một chương trình Pascal trong Turbo Pascal, nên tiến hành các bước như sau: Bước 1: Khởi động Turbo Pascal Bước 2: Đặt tên cho tập tin sẽ soạn: Chọn lệnh File/ Open (nếu làm việc trong TP 4.5 thì chọn lệnh File/ Load) hoặc gõ phím F3, sau đó gõ tên tập tin (không cần gõ phần đuôi) vào trong khung vừa hiện ra. Bước 3: Soạn thảo (gõ ) chương trình . Bước 4: Dịch và sửa lỗi: Chọn lệnh Compile/ Compile (hoặc gõ cặp phím AltF9, hay đơn giản chỉ gõ phím F9 cũng được). Máy sẽ dịch chương trình sang mã máy, nếu gặp lỗi thì dừng và hiện thông báo lỗi màu đỏ ở đầu màn hình, đồng thời con trỏ đặt ở vị trí có lỗi. Người lập trình phải tự mình sửa lỗi, rồi gõ AltF9 để dịch và sửa lỗi tiếp cho đến khi hết lỗi. Dấu hiệu cho biết việc dịch đã xong là màn hình xuất hiện cửa sổ thông báo có dòng chữ đặc trưng là: Bước 5: Lưu trữ chương trình lên đĩa: chọn lệnh File/ Save hoặc gõ phím F2. Bước 6: Chạy thử chương trình: Chọn lệnh Run/ Run hoặc gõ phím nóng CtrlF9 (viết tắt là ^F9). Mỗi lần chạy thử, ta cần nhập một bộ dữ liệu cụ thể và kiểm tra xem kết quả in lên màn hình có đúng không. Cần phải chạy thử một số lần ứng với các bộ dữ liệu khác nhau. Nếu kết Ngôn ngữ lập trình Pascal 12
- BỘ MÔN TIN HỌC TRƯỜNG ĐẠI HỌC HOA LƯ quả các lần chạy thử đều đúng thì chương trình đã hoàn thành. Ngược lại, nếu có một lần chạy thử cho kết quả sai thì chương trình chưa ổn, cần phải sửa lại thuật toán của chương trình. Bước 7: Nếu chương trình chạy đúng thì gõ phím F2 để lưu nó lên đĩa lần cuối. Bây giờ có thể lặp lại từ bước 2 để soạn một chương trình mới. 4.4. Mở xem một chương trình cũ: Muốn xem lại một chương trình đã có trên đĩa, hãy chọn lệnh File/ Open hoặc gõ phím F3, trong khung có tiêu đều là Name, gõ vào *.PAS (hoặc A:\*.PAS nếu tập tin nằm trên đĩa A), một danh sách các tập tin có đuôi PAS sẽ hiện ra trong khung phía dưới cho ta chọn. Dùng các phím mũi tên để di chuyển và đặt thanh sáng vào tên muốn chọn rồi Enter. Nội dung tập tin này sẽ được đưa lên màn hình cho chúng ta xem, sửa, chạy thử, .v.v. Chú ý: Để đưa con trỏ từ hộp Name ở trên xuống hộp Files ở dưới, dùng phím Tab, từ hộp File về lại hộp Name: gõ Shift_Tab. 4.5. Lưu tập tin sang đĩa khác: Khi cần ghi tập tin đang soạn từ đĩa cứng sang đĩa A, có thể làm như sau: Chọn lệnh File/ Save as. Trong khung hiện ra , hãy gõ tên tập tin vào, nhớ gõ thêm tên ổ đĩa A hay C: ở đằng trước: Name: A:\BTAP.PAS. Từ nay, mỗi khi gõ phím F2 hoặc chọn lệnh File/ Save, tập tin BTAP1.PAS sẽ được ghi lên đĩa A. 4.6. Một vài kỹ thuật trong soạn thảo: a. Thao tác trên khối: Ta gọi khối là một đoạn văn bản gồm một hay nhiều dòng liên tiếp. Ký tự đầu tiên của khối gọi là đầu khối, ký tự cuối cùng của khối gọi là cuối khối. * Đánh dấu khối: Đưa con trỏ về đầu khối Một tay đè phím Shift, trong khi tay kia gõ các phím mũi tên kéo vùng sáng phủ đến cuối khối. Nếu làm việc trong TP 4.5 thì đánh dấu khối bằng cách: đưa con trỏ về đầu khối, gõ ^K_B, sau đó đưa con trỏ về cuối khối, gõ ^K_K. (Cách gõ ^K_B: một tay đè phím Ctrl trong khi tay kia gõ liên tiếp hai phím K và B). * Sao chép khối: Đánh dấu khối cần sao chép Ngôn ngữ lập trình Pascal 13
- BỘ MÔN TIN HỌC TRƯỜNG ĐẠI HỌC HOA LƯ Đưa con trỏ đến nơi cần chép tới: Gõ lệnh ^K_C * Di chuyển khối: Đánh dấu khối cần di chuyển Đưa con trỏ đến nơi cần chuyển khối tới: Gõ lệnh ^K_V * Xóa khối:Đánh dấu khối cần xóa Gõ lệnh ^K_Y * Che hoặc hiện lại khối đã đánh dấu: lệnh ^K_H b. Các phím lệnh soạn thảo thông dụng: Phím Home: đưa con trỏ về đầu dòng hiện thời Phím End: đưa con trỏ về cuối dòng hiện thời Phím Delete: xóa ký tự ngay tại vị trí con trỏ. Nếu con trỏ đang đứng ở cuối của dòng trên mà gõ phím Delete thì sẽ nối dòng dưới vào cuối dòng trên. Phím Back Space (là phím mũi tên nằm ngay phía trên phím Enter): xóa ký tự bên trái con trỏ. Nếu con trỏ đang đứng ở đầu của dòng dưới mà gõ phím Back Space thì sẽ nối dòng dưới vào cuối dòng trên. Cặp phím Ctrl_Y: xóa toàn bộ dòng hiện thời và đôn các dòng ở dưới lên. Nhóm phím Ctrl_Q_Y: xóa từ vị trí con trỏ đến cuối dòng. Các phím mũi tên: dời con trỏ theo hướng mũi tên. Phím Insert: mở hoặc tắt chế độ viết chèn. Ở chế độ viết chèn, con trỏ màn hình có dạng bình thường, tắt chế độ viết chèn, con trỏ có kích thước lớn gấp 4 lần bình thường. (Trong TP 4.5, chế độ viết chèn hay tắt viết chèn được nhận biết bằng việc chữ Insert có hiện ra hay không hiện ra ở đầu của cửa sổ soạn thảo). Phím Enter: Trong chế độ viết chèn: gõ Enter có tác dụng đưa con trỏ xuống đầu dòng dưới, do đó toàn bộ các chữ đứng sau con trỏ (nếu có) sẽ bị cắt xuống dòng dưới. Khi con trỏ đang đứng ở đầu một dòng mà Enter thì sẽ tạo ra một dòng trống ngay tại vị trí đó. Nếu chế độ viết chèn là tắt thì mỗi khi gõ phím Enter, con trỏ sẽ về đầu của dòng hiện thời (dòng đang chứa con trỏ), chứ không xuống dòng dưới nữa. Ngôn ngữ lập trình Pascal 14
- BỘ MÔN TIN HỌC TRƯỜNG ĐẠI HỌC HOA LƯ CÂU HỎI ÔN TẬP Trong các câu hỏi dưới đây, hãy chọn một câu trả lời thích hợp nhất: Câu 1: Tính cấu trúc của ngôn ngữ Pascal được thể hiện: a) trong việc tổ chức các dữ liệu; b) trong việc tổ chức các câu lệnh; c) trong việc tổ chức chương trình; d) ở cả ba mục a), b), c) ; Câu 2: Khẳng định nào đúng: a) VAR , BEGIN, end là các từ khóa của Pascal được khái niệm lập trình có cấu trúc; b) Các ký hiệu a , b , g , d đều thuộc bộ ký tự cơ bản của Pascal; c) Var, begin, Integer, Real là các từ khóa của Pascal; d)VAR, Var, vaR, var là các từ khóa khác nhau của Pascal ; Câu 3: Tên nào đặt Sai quy định của Pascal: a) Giai_Ptrinh_Bac_2; b) Ngaysinh; c) Noi sinh; d)Sv2000 ; Câu 4: Chọn câu Sai: trong một chương trình Pascal, có thể không có: a) phần thân chương trình ; b) phần khai báo biến; c) phần đầu chương trình; d)phần khai báo hằng ; Câu 5: Dấu hiệu kết thúc chương trình Pascal là: a) End; b) END; c) end. d) End ! ; Ngôn ngữ lập trình Pascal 15
- BỘ MÔN TIN HỌC TRƯỜNG ĐẠI HỌC HOA LƯ Câu 6: Trong Pascal, nếu muốn dùng lệnh xóa màn hình Clrscr thì phải khai báo thế nào ở ngay sau phần tiêu đề chương trình: a) Uses CRT ; b) USES Graph; c) use CRT ; d) không khai báo gì cả ; Câu 7: Khẳng định nào Sai: trong Turbo Pascal, a) để lưu chương trình lên đĩa, gõ phím F2 hoặc chọn lệnh File / Save ; b) để mở một tập tin cũ, gõ phím F1; c) để tìm lỗi cú pháp của chương trình, gõ phím Alt_F9, hay F9 ; d) để chạy chương trình, gõ phím ^F9 hoặc chọn lệnh Run / Run ; Ngôn ngữ lập trình Pascal 16
- BỘ MÔN TIN HỌC TRƯỜNG ĐẠI HỌC HOA LƯ Bài 2: CÁC KHÁI NIỆM TRONG PASCAL 1. Hằng, biến, biểu thức a. Khái niệm về biến và hằng Quá trình xử lý trong máy tính đòi hỏi mỗi giá trị phải được lưu trữ ở một ô nhớ nào đó trong bộ nhớ của máy, và ô nhớ này được đặt một cái tên để gọi. Khi đó mọi việc tính toán hay xử lý liên quan đến mỗi giá trị được thực hiện gián tiếp thông qua tên của ô nhớ chứa giá trị đó. Ví dụ, nếu số 4.72 được lưu trong ô nhớ có tên là x, thì biểu thức 4.72*2 có thể được viết là x*2. Việc dùng tên x dễ nhớ và tiện hơn nhiều so với việc dùng và nhớ số 4.72. Như vậy, khi một ô nhớ được đặt tên thì tên này đồng nhất với giá trị của nó. Trong một chương trình, mỗi ô nhớ có một tên duy nhất nhưng giá trị của nó thì có thể thay đổi hoặc không. Nếu giá trị của ô nhớ có thể thay đổi được thì ô nhớ này là một biến, tên của ô nhớ là tên biến, ngược lại, nếu giá trị của ô nhớ không thể thay đổi, thì ô nhớ là một hằng, tên của ô nhớ là tên hằng. Các biến và hằng tham gia trong chương trình đều phải được khai báo. Việc khai báo có tác dụng báo trước cho máy dành sẵn các ô nhớ thích hợp trong bộ nhớ để sẵn sàng chứa dữ liệu. b. Biểu thức Biểu thức là một công thức gồm có một hay nhiều thành phần được kết nối với nhau bởi các phép toán. Mỗi thành phần (hay toán hạng) có thể là hằng, là biến hay là hàm. Khi các phép toán trong biểu thức được thực hiện thì ta nhận được một giá trị gọi là kết qủa của biểu thức. Kiểu dữ liệu của kết qủa gọi là kiểu dữ liệu của biểu thức. Ví dụ: 3* 5 div 2 + 7 mod 4 là biểu thức nguyên, có kết qủa là 10 2 + sin(pi/2) là biểu thức thực, có kết qủa là 3.0 Chr(ord(‘a’) 32 ) là biểu thức ký tự, có kết qủa là ‘A’ (4+2=6) and (‘B’‘b’) là biểu thức lôgic, có kết qủa là True ‘AB’+’CD’ là biểu thức chuỗi, có kết qủa là ‘ABCD’ Các thành phần trong biểu thức cần phải có kiểu dữ liệu phù hợp để cho các phép toán thực hiện được, nếu không máy sẽ báo lỗi. Ví dụ, biểu thức sau:x:= 5 + ‘A’ là sai vì ta không thể cộng một số nguyên với một ký tự. Một biểu thức có thể chứa nhiều phép toán, thứ tự thực hiện các phép toán được cho trong bảng 2.1 dưới đây. Ngôn ngữ lập trình Pascal 17
- BỘ MÔN TIN HỌC TRƯỜNG ĐẠI HỌC HOA LƯ Cấp ưu tiên Phép toán 1 biểu thức trong ngoặc đơn (...) 2 Các hàm 3 NOT, (phép lấy dấu âm) 4 * , /, DIV, MOD, AND 5 Shl, Shr 6 +, (trừ), OR, XOR 7 =, , =, IN Bảng 2.1 Việc tính toán một biểu thức dựa theo hai quy tắc: Quy tắc 1: Phép toán có cấp ưu tiên nhỏ thì được tính trước, phép toán có cấp ưu tiên lớn thì được tính sau. Quy tắc 2: Ðối với các phép toán đứng liền nhau và có cùng cấp ưu tiên, thì phép toán nào đứng trước được tính trước. Ví dụ: tính biểu thức số học: (4+5)*2 div 7 + sin(pi/6) = 9 * 2 div 7 + 0.5 = 18 div 7 + 0.5 = 2 + 0.5 = 2.5 Ví dụ: tính biểu thức lôgic: (2 > 4 div 2) or Not (49.25 + 2 2) or Not (51.25 =0 then Writeln(k) else Writeln(k) ; Ngôn ngữ lập trình Pascal 18
- BỘ MÔN TIN HỌC TRƯỜNG ĐẠI HỌC HOA LƯ Hai hay nhiều lệnh đơn giản được gom lại và đặt giữa hai từ khóa BEGIN và END tạo thành một câu lệnh ghép, câu lệnh ghép cũng là lệnh có cấu trúc, ví dụ: Begin Write(‘ nhập k:’); Readln(k) End; Từ các lệnh đơn giản và các lệnh có cấu trúc đã có lại có thể xây dựng được các lệnh có cấu trúc phức tạp hơn, ví dụ: If k>= 0 then Writeln(k) else Begin Writeln(‘ k âm, xin nhập lại: ‘); Readln(k); End; Sau đây sẽ trình bày kỹ về một lệnh đơn giản và thông dụng: lệnh gán. b. Lệnh gán Lệnh gán có cú pháp như sau: TênBiến:= Biểuthức; Ý nghĩa: tính toán biểu thức bên phải, rồi lưu kết qủa tính được vào tên biến ở vế trái. Ví dụ, cho khai báo: Var A, B: Real; K: Integer; Khi dùng lệnh các lệnh: K:= 10 ; B:= K* 3+4.5; thì biến K có giá trị là 10, biến B có giá trị là 34.4. Nếu thực hiện tiếp lệnh gán: B:= 17/2; thì giá trị của B bây giờ sẽ là 8.4. Như vậy nếu một biến được gán nhiều lần thì nó sẽ lấy giá trị của lần gán sau cùng, tính đến thời điểm đang xét. Yêu cầu để cho lệnh gán thực hiện được là kiểu dữ liệu của biểu thức ở vế phải phải phù hợp với kiểu dữ liệu của biến ở vế trái, nếu không phù hợp thì khi dịch Ngôn ngữ lập trình Pascal 19
- BỘ MÔN TIN HỌC TRƯỜNG ĐẠI HỌC HOA LƯ (Compile) chương trình, Turbo Pascal sẽ thông báo lỗi: "Error 26: Type mismatch". Ví dụ, lệnh gán dưới đây là sai vì vế trái là kiểu thực còn vế phải là kiểu chuỗi: A:=‘Pascal’; Chú ý rằng một số nguyên có thể gán cho một biến thực, (chẳng hạn lệnh A:=10; là đúng), nhưng một số thực không thể gán cho một biến nguyên. Ví dụ lệnh K:=10/4; là sai vì biến K có kiểu nguyên, còn vế phải cho kết qủa là một số thực (=2.5). Xét thêm ví dụ về các kiểu dữ liệu khác: Cho khai báo: Var Ch: Char ; St: String[20]; Khi đó: Lệnh St:=‘A’; là đúng. Lệnh St:=‘1234’; là đúng. Lệnh Ch:=‘ABCD’; là sai vì vế phải là một chuỗi. Lệnh St:= 100; là sai vì vế phải là một số. Lệnh Ch:=‘1’ ; là đúng. Lệnh Ch:=St ; là sai vì vế phải là một chuỗi. c. Lời chú giải Lời chú giải có thể đặt tại bất kỳ chỗ nào trong chương trình và được viết theo một trong hai cách: { lời giải thích } hoặc (* lời giải thích *) Lời giải thích là một chuỗi ký tự giải thích mục đích của chương trình hay của một câu lệnh. Nó chỉ có tác dụng cho người dùng tham khảo nhằm hiểu nhanh mục đích của chương trình hay của một câu lệnh mà không cần phải đọc hết chương trình hay câu lệnh đó. 3. Nhập dữ liệu Nhập và xuất dữ liệu là hai khâu quan trọng trong quá trình xử lý thông tin. Hầu như chương trình nào cũng phải giải quyết vấn đề nhập, xuất dữ liệu. a. Nhập dữ liệu kiểu số Ðể nhập dữ liệu cho biến nguyên hay thực, ta dùng lệnh: Readln(biến1, biến2, ..., biếnk); trong đó biến1, biến2,..., biếnk đã được khai báo và có kiểu dữ liệu là nguyên hay thực. Khi gặp lệnh này, chương trình tạm dừng, chờ ta gõ đủ k số từ bàn phím và kết thúc bằng Enter, rồi gán lần lượt k số đó cho biến1, biến2, ..., biếnk. Ngôn ngữ lập trình Pascal 20
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Giáo trình Ngôn ngữ lập trình Pascal - TS. Nguyễn Ngọc Cương (chủ biên)
221 p | 302 | 106
-
Bài giảng Ngôn ngữ lập trình Pascal - ĐH Phạm Văn Đồng
125 p | 112 | 21
-
Bài giảng Ngôn ngữ lập trình Pascal: Chương 9 - Chương trình con - Thủ tục và hàm (Procedure và Function)
23 p | 200 | 18
-
Bài giảng Ngôn ngữ lập trình Pascal: Chương 5 - Các câu lệnh điều kiện
17 p | 172 | 18
-
Ngôn ngữ lập trình pascal - GV. Nguyễn Thị Lan
27 p | 122 | 10
-
Giáo trình Ngôn ngữ lập trình Pascal: Phần 1
18 p | 89 | 10
-
Bài giảng Ngôn ngữ lập trình Pascal: Chương 8 - Vòng lặp xác định for và không xác định repeat và while
16 p | 110 | 9
-
Bài giảng Ngôn ngữ lập trình Pascal: Chương 1 - 2 - 3
36 p | 114 | 8
-
Bài giảng Ngôn ngữ lập trình Pascal: Chương 13 - Kiểu dữ liệu có cấu trúc - Kiểu bản ghi (Record)
15 p | 90 | 8
-
Giáo trình Ngôn ngữ lập trình Pascal: Phần 2
16 p | 102 | 7
-
Bài giảng Ngôn ngữ lập trình Pascal: Chương 4 - Thủ tục vào ra dữ liệu
23 p | 93 | 6
-
Bài giảng Ngôn ngữ lập trình Pascal: Chương 6 - Thực hành Turbo Pascal
6 p | 126 | 6
-
Ngôn ngữ lập trình Pascal: Hướng dẫn giải bài tập với Turbo Pascal - Phần 1
88 p | 9 | 4
-
Bài giảng Ngôn ngữ lập trình Pascal: Chương 7 - Kiểu vô hướng liệt kê và kiểu đoạn con
6 p | 78 | 3
-
Ngôn ngữ lập trình Pascal: Hướng dẫn giải bài tập (Tập 2) - Phần 1
67 p | 13 | 3
-
Ngôn ngữ lập trình Pascal: Hướng dẫn giải bài tập (Tập 2) - Phần 2
72 p | 6 | 3
-
Ngôn ngữ lập trình Pascal: Hướng dẫn giải bài tập với Turbo Pascal - Phần 2
101 p | 7 | 2
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn