Giáo trình Tin học đại cương - Phần 2 - Chương 1: Cấu trúc của chương trình Pascal
PASCAL là ngôn ngữ lập trình bậc cao của tác giả Niklaus Wirth (giáo sưngười Thuỵ
sĩ), ñược công bố vào ñầu những năm 1970. Tên PASCAL là ñể kỉ niệm nhà Toán học người
Pháp B. Pascal.
PASCAL là ngôn ngữ lập trình có tính cấu trúc và tính hệ thống: các kiểu dữliệu ña
dạng, các cấu trúc ñiều khiển chặt chẽ, các cấu trúc khối trong chương trình rõ ràng.
PASCAL là ngôn ngữ lập trình có ñịnh kiểu rõ ràng: các ñại lượng (biến và hằng) ñã
ñược khai báo ñể sử dụng với kiểu dữ liệu này thì không thể ñem dùng lẫn với kiểu khác.
khác mỗi loại máy có một ngôn ngữ máy riêng. + Ngôn ngữ tập hợp: Khắc phục một số nhược ñiểm trên người ta nghĩ cách thay thế một số mã nhị phân bằng các chữ cái và cho ra ñời ngôn ngữ tập hợp (còn gọi là ngôn ngữ kí hiệu). Ưu ñiểm là việc lập trình ñã dễ dàng hơn, tuy nhiên cần phải có chương trình dịch từ ngôn ngữ tập hợp ra ngôn ngữ máy, và vẫn còn phụ thuộc vào từ máy. + Ngôn ngữ bậc cao: Chương trình ñược viết gần với ngôn ngữ tự nhiên của con người, do ñó dễ dàng cho người lập trình, tuy nhiên chương trình sẽ chạy chậm hơn. Năm 1958, ALGOL - ngôn ngữ lập trình bậc cao ñầu tiên ra ñời. Năm 1960 nó ñược bổ sung, chỉnh lí và có ảnh hưởng sâu sắc ñến các ngôn ngữ lập trình bậc cao sau này như FORTRAN, C, BASIC, PASCAL,... 1.2. Turbo Pascal PASCAL là ngôn ngữ lập trình bậc cao của tác giả Niklaus Wirth (giáo sư người Thuỵ sĩ), ñược công bố vào ñầu những năm 1970. Tên PASCAL là ñể kỉ niệm nhà Toán học người Pháp B. Pascal. PASCAL là ngôn ngữ lập trình có tính cấu trúc và tính hệ thống: các kiểu dữ liệu ña dạng, các cấu trúc ñiều khiển chặt chẽ, các cấu trúc khối trong chương trình rõ ràng... PASCAL là ngôn ngữ lập trình có ñịnh kiểu rõ ràng: các ñại lượng (biến và hằng) ñã ñược khai báo ñể sử dụng với kiểu dữ liệu này thì không thể ñem dùng lẫn với kiểu khác. PASCAL ban ñầu ñược sáng tác ñể làm ngôn ngữ dạy học cho những người mới học lập trình. ðặc tính sáng sủa, dễ hiểu, dễ ñọc của nó giúp người mới học có thể viết một chương trình máy tính một cách dễ dàng. Sau khi ra ñời, do có nhiều ưu ñiểm,PASCAL ñã ñược nhiều hãng máy tính phát triển và cài ñặt cho nhiều hệ thống máy tính, như: ISO PASCAL (PASCAL chuẩn ), ANSI PASCAL v.v. Phổ biến nhất hiện nay ở nước ta cũng như trên thế giới là việc cài ñặt TURBO PASCAL cho các hệ thống máy tính. TURBO PASCAL ñược hãng BORLAND INTERNATIONAL hoàn thiện với các ưu ñiểm là chương trình viết gọn, Trường ðại học Nông nghiệp 1 - Giáo trình Tin học ñại cương --------------------------------------------- 113 113 dịch nhanh, không ngừng ñược cải tiến ñáp ứng yêu cầu của người sử dụng. TURBO PASCAL ñã ñược phát triển qua các phiên bản ngày càng mở rộng và phức tạp. Việc khai thác sâu các tính năng của từng phiên bản là do khả năng và nhu cầu của người lập trình. Giáo trình này chọn version 5.0 làm chuẩn ñể minh hoạ, tuy nhiên người ñọc có thể áp dụng cho các phiên bản sau này như 6.0, 7.0. 2. Yêu cầu phần mềm và cách khởi ñộng 2.1. Yêu cầu phần mềm Phần mềm TURBO PASCAL có khá nhiều File, tuy nhiên ñể có thể bước ñầu học và sử dụng ñược, trên ñĩa cần có tối thiểu các file sau: TURBO.EXE file chính, chứa cả chương trình dịch, hệ soạn thảo và các dịch vụ gỡ rối... TURBO.TPL là thư viện các chương trình mẫu có sẵn của TURBO PASCAL Nếu có sử dụng ñồ hoạ thì cần chép thêm ñơn vị GRAPH.TPU và một số file phụ trợ khác tuỳ theo kiểu màn hình và kiểu chữ sử dụng. 2.2. Khởi ñộng và thoát TURBO PASCAL Thông thường các file nói trên nằm trong thư mục TP (hoặc TURBO hay TP5, TP7 tuỳ theo phiên bản hay người sử dụng) Ta chuyển vào thư mục này bằng lệnh CD TP↵, sau ñó gõ TURBO ↵ . Màn hình sẽ hiện ra như sau: File Edit Run Compile Options Debug Break/Watch Line 1 Col 1 Insert Indent Unindent C:NONAME.PAS | F1-Help F5-Zoom F6-Switch F7-Trace F8-Step F9-Make F10-Menu Dòng 1: là dòng menu chính, trên ñó có ghi các mục cơ bản nhất ñể người sử dụng có thể chọn bằng cách ấn ñồng thời Alt+ chữ cái ñầu của mục. Ví dụ: Alt+F ñể mở mục File. Dòng 2: là dòng trạng thái, cho người dùng biết một số thông số soạn thảo như toạ ñộ con trỏ, chế ñộ soạn thảo là viết chèn hay viết ñè, tên tệp ñang làm việc... Dòng cuối cùng là dòng hướng dẫn, nhắc người sử dụng một số phím chức năng chính. Phần màn hình rộng ở giữa là phần soạn thảo ñể ta nhập và chạy chương trình. Người mới học lập trình nên ghi nhớ ngay các phím chức năng: F2 ghi tệp ñang soạn thảo vào ñĩa. Nếu chưa ñặt tên sẽ có thông báo ñể ta gõ tên vào (tên ñược ñặt theo quy ñịnh của MS-DOS ) Trường ðại học Nông nghiệp 1 - Giáo trình Tin học ñại cương --------------------------------------------- 114 114 F3 mở tệp mới Alt+F9 dịch chương trình Ctrl+F9 dịch và cho chạy chương trình Alt+X Kết thúc PASCAL trở về hệ ñiều hành 3. Những quy ñịnh về cách viết biểu thức và chương trình 3.1. Bộ kí tự TURBO PASCAL sử dụng bộ chữ viết như sau: - Bộ 26 chữ cái Latinh: A, B, ..., Z ; a, b, ..., z - Bộ các chữ số: 0, 1, ..., 9 - Các kí hiệu Toán học: +, -, * , /, =, , ... - Dấu gạch nối, dấu chấm, dấu ngoặc và các kí hiệu ñặc biệt khác: _ . , ; ? [ ] ( ) $ % ... 3.2 Từ khóa Từ khoá là một số từ dành riêng của TURBO PASCAL, những từ này ñã ñược gán sẵn những chức năng ñặc biệt, ta không ñược dùng vào việc ñặt tên hay các công việc khác. Sau ñây là một số từ quan trọng, bạn ñọc sẽ lần lượt biết các từ khoá và chức năng của từng từ qua các bài học. - Các từ khoá chung: Program, begin, end - Các từ khoá ñể khai báo: uses, const, type, label, var procedure, function array, string, record, ... - Các từ khoá lệnh: if... then... else... case ...of .... for .... to ... do... while... do... repeat... until... - Một số tên chuẩn: Boolean, char, integer, real, read, readln, write, writeln, abs, cos, sin, sqrt, exp... 3.3 Tên Tên là một dãy kí tự dùng ñể chỉ tên các ñại lượng như tên hằng, tên biến, tên kiểu hay tên chương trình con. Tên ñược ñặt theo quy tắc sau: bắt ñầu bởi một chữ cái, rồi ñến chữ số hay dấu gạch nối và không dài quá 127 kí tự (!). Tên thường ñược ñặt mang tính gợi nhớ. TURBO PASCAL không phân biệt chữ hoa và chữ thường khi viết từ khoá hay tên. Ví dụ : khi viết chương trình giải phương trình bậc 2, ta có thể ñặt tên chương trình là GIAI_PHUONG_TRINH_BAC2, ñặt tên biến chứa biệt thức ∆ là delta (không ñược dùng kí hiệu ∆), ñặt tên các nghiệm là X1 và X2,... - Dấu chấm phảy (;) dùng ñể ngăn cách các câu lệnh trong một chương trình - Lời giải thích ñược ñặt trong cặp dấu (* ... *) hoặc { ... }, các nội dung ñược chứa trong cặp dấu này sẽ bị chương trình bỏ qua trong khi dịch Trường ðại học Nông nghiệp 1 - Giáo trình Tin học ñại cương --------------------------------------------- 115 115 4. Cấu trúc chung của một chương trình PASCAL Ta hiểu một chương trình máy tính là một dãy các lệnh, các chỉ thị hướng dẫn máy thực hiện một nhiệm vụ, một xử lí nào ñó trên tập các dữ kiện vào và cho ra kết quả. Một chương trình PASCAL có cấu trúc chung như sau: PROGRAM Tên_ chương_trình; USES Danh sách ñơn vi.; LABEL Danh sách nhãn; CONST Danh sách hằng; TYPE Danh sách kiểu; VAR Danh sách biến; PROCEDURE Khai báo thủ tục; FUNCTION Khai báo hàm; BEGIN { Các câu lệnh; } END. Một chương trình PASCAL ñiển hình gồm 3 phần: Phần tiêu ñề, phần khai báo, phần thân chương trình. 4.1. Phần tiêu ñề Phần này có dạng PROGRAM Tên_ chương_trình; bắt ñầu bằng từ khoá PROGRAM, ít nhất một dấu cách rồi ñến tên chương trình, kết thúc bởi dấu chấm phảy (;). Tên_ chương_trình do ta ñặt ra, mang ý nghĩa nội dung của chương trình, dấu ; là bắt buộc phải có. Ví dụ : Program Giai_PT_bac2; Phần tiêu ñề là tuỳ chọn, có thể có hay không cũng ñược, nhưng nếu ñã có thì phải ñủ các thành phần như trên. 4.2. Phần khai báo Phần này mô tả các ñối tượng của bài toán mà chương trình sẽ xử lí. Các khai báo khác nhau ñược viết cách nhau bởi dấu ;. Gồm: Khai báo ñơn vị uses ... Khai báo nhãn label Khai báo hằng: const Khai báo kiểu: Type Khai báo biến: Var Khai báo chương trình con: Procedure Function Các khai báo của phần này tuỳ thuộc từng bài toán cụ thể mà có thể có hay không, hoặc có một hoặc một vài khai báo. Cách khai báo và sử dụng cụ thể sẽ ñược giới thiệu ở trong mỗi phần sau. 4.3. Phần thân chương trình Trường ðại học Nông nghiệp 1 - Giáo trình Tin học ñại cương --------------------------------------------- 116 116 Phần này ñược bắt ñầu bởi từ khoá BEGIN , kết thúc bởi từ khoá END và dấu chấm (.) hết. ðặt giữa BEGIN và END là các lệnh của chương trình , các lệnh ñược viết cách nhau bởi dấu ; như sau: BEGIN Lệnh 1; Lệnh 2; ... Lệnh n; END. Phần này bắt buộc phải có ñối với mọi chương trình, nó chứa các lệnh xử lí các dữ liệu ñã ñược mô tả ở phần khai báo. ðây là phần chính của chương trình ñể giải quyết bài toán. Người lập trình phải bỏ nhiều công sức ñể thiết kế thuật giải và viết chương trình cho phần này. 4.4. Các bước cơ bản khi lập trình Trước khi viết một chương trình giải quyết một bài toán nào ñó, người lập trình phải biết cách giải bài toán ñó hay chính xác hơn phải biết thuật giải ñể giải bài toán và trình bày thuật giải bằng ngôn ngữ lập trình . Bước 1: Soạn thảo chương trình ðây là bước viết mới một chương trình, có thể viết trên giấy trước rồi nhập vào máy, sửa lỗi, cập nhật. Các chương trình này ñược gọi là chương trình nguồn, tên chúng ñược tự ñộng gán ñuôi PAS. Ta có thể dùng một hệ soạn thảo văn bản nào ñó, thường là hệ soạn thảo văn bản của chính TURBO PASCAL. Bước 2: Dịch chương trình (Alt+F9) Gọi chương trình dịch (compiler) dịch chương trình nguồn ñã viết ở bước 1 sang dạng mã máy, kết quả thường tạo ra các tệp dạng *.EXE, *.OBJ. Bước này sẽ cho phép ta phát hiện các lỗi ñể sửa. Thường các lỗi cú pháp như thiếu dấu ; hoặc viết sai từ khoá, sai tên sẽ ñược thông báo. Ta phải sửa hết các lỗi rồi chuyển sang bước 3. Bước 3: Chạy chương trình và thử (Ctrl+F9) Nếu các dữ kiện ñược cung cấp chính xác mà chương trình cho kết quả sai thì ta phải xem lại thuật giải. ðây là lỗi ñặc biệt nghiêm trọng vì nó không thể hiện ra ngoài qua các thông báo lỗi và có thể làm sai toàn bộ bài toán. Ta cũng phải quay lại bước 1 ñể sửa và chạy lại. Câu hỏi ôn tập chương I 1- Nêu quy tắc ñặt tên trong Turbo Pascal. Cho 3 ví dụ tên ñặt ñúng, 3 ví dụ tên ñặt sai. 2- Nêu cấu trúc chung của một chương trình Turbo Passcal.
File đính kèm:
- Giáo trình Tin học đại cương - Phần 2 - Chương 1_Cấu trúc của chương trình Pascal.pdf