intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Ngôn ngữ lập trình Pascal - ĐH Hoa Lư

Chia sẻ: Pham Thi Thanh | Ngày: | Loại File: DOC | Số trang:149

121
lượt xem
25
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

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,...

Chủ đề:
Lưu

Nội dung Text: Ngôn ngữ lập trình Pascal - ĐH Hoa Lư

  1. 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
  2. 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
  3. 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
  4. 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: +, ­, *, /, =, 
  5. 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, Ma­so là sai vì:  3ABC: bắt đầu bằng số Chu vi: có chứa ký tự trắng Ma­so: 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
  6. 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
  7. 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
  8. 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
  9. 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
  10. 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
  11. 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à Alt­F),  tương tự, muốn chọn lệnh Compile thì gõ Alt­C. 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: Alt­X. Để  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
  12. 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 Alt­X 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 Alt­F9, 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õ Alt­F9 để 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 Ctrl­F9 (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
  13. 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
  14. 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
  15. 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
  16. 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
  17. 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
  18. 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
  19. 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
  20. 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
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2