1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Giáo trình ngôn ngữ lập trình pascal

140 210 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 140
Dung lượng 1,12 MB

Nội dung

Ngôn ngữ lập trình Pascal sử dụng trong giảng dạy và học tập nhằm rèn luyện, phát triển tư duy cho sinh viên về phương pháp lập trình, giúp cho sinh viên viết được các chương trình, giải

Trang 1

TRƯỜNG ĐẠI HỌC QUẢNG BÌNH

ThS Lê Minh Thắng

GIÁO TRÌNH NGÔN NGỮ LẬP TRÌNH PASCAL

(DÀNH CHO CÁC LỚP CAO ĐẲNG CNTT)

LƯU HÀNH NỘI BỘ

QUẢNG BÌNH, 2016

Trang 2

GIỚI THIỆU

Ngôn ngữ Pascal là một ngôn ngữ lập trình cấp cao, ngôn ngữ lập trình mang tính cấu trúc và định kiểu chặt chẽ Ngôn ngữ Pascal được sử dụng tương đối phổ biến trong các trường học, đặc biệt là bậc trung học và đại học Ngôn ngữ lập trình Pascal

sử dụng trong giảng dạy và học tập nhằm rèn luyện, phát triển tư duy cho sinh viên về phương pháp lập trình, giúp cho sinh viên viết được các chương trình, giải quyết các bài toán một cách rõ ràng, mạch lạc và chạy được trên máy tính điện tử Giáo trình Ngôn ngữ lập trình Pascal này cũng không ngoài mục đích trên, nhằm cung cấp cho sinh viên các kiến thức cơ bản về ngôn ngữ lập trình Pascal Giáo trình gồm có tất cả

11 chương như sau:

Chương 1 Mở đầu:

Chương 2 Các thành phần ngôn ngữ Pascal

Chương 3 Các kiểu dữ liệu chuẩn

Chương 4 Câu lệnh có cấu trúc điều khiển

Chương 5.Chương trình con

Chương 6 Kiểu vô hướng: liệt kê & miền con, kiểu cấu trúc: tập hợp

Chương 7 Kiểu mảng

Chương 8 Kiểu chuỗi ký tự

Chương 9 Kiểu bản ghi

Chương 10 Kiểu tập tin

Chương 11 Kiểu con trỏ

Giáo trình Ngôn ngữ lập trình Pascal này đáp ứng phục vụ giảng dạy và học tập cho hệ Cao đẳng chuyên ngành CNTT, Toán Tin, Lý Tin Trình bày chi tiết nhưng ngắn gọn, trong các phần trình bày nội dung lý thuyết luôn luôn có các câu hỏi, bài tập

và các ví dụ minh họa

Quá trình biên soạn Giáo trình, mặc dù đã cố gắng tham khảo nhiều tài liệu để hoàn thiện Giáo trình, song không sao tránh khỏi thiếu sót, rất mong nhận được ý kiến đóng góp từ các sinh viên, độc giả và đồng nghiệp Xin chân thành cảm ơn

Tác giả

ThS Lê Minh Thắng

Trang 3

CHƯƠNG 1 MỞ ĐẦU

1 GIỚI THIỆU NGÔN NGỮ PASCAL

1.1 Xuất xứ ngôn ngữ pascal

Pascal là ngôn ngữ lập trình cấp cao, do giáo sư Niklaus Wirth ở trường Đại học Zurich (Thuỵ Sĩ) thiết kế và công bố vào năm 1971 Ông đặt tên cho ngôn ngữ này là

Pascal để tưởng nhớ đến nhà toán học nổi tiếng Blaise Pascal người Pháp thế kỷ 17

* Turbo Pascal: Pascal là một ngôn ngữ chủ yếu dùng để dạy và học, nhờ tính đa

năng và chặt chẽ của nó nên càng ngày càng được nhiều người sử dụng Các hãng phần mềm dựa vào các chuẩn mực của ngôn ngữ để thêm bớt và thương mại hoá với nhiều loại khác nhau:

- ISO Pascal: Pascal chuẩn ISO (International Standard Organization)

- ANSI Pascal: Pascal của Viện tiêu chuẩn Hoa Kỳ (American National Standard Institute)

- Turbo Pascal: Pascal của hãng Borland

- IBM Pascal: Pascal của trường Đại học tổng hợp California ở San Diego

- Pascal chạy trên máy tính VAX

* Các phiên bản củaTurbo Pascal:

- Version 5.0 và 5.5 năm 1989 của hãng Borland

- Version 6.0

- Version 7.0 năm 1992 (hiện nay sử dụng chủ yếu củaTurbo Pascal 7.0)

1.2 Đặc điểm của ngôn ngữ Pascal

- Ngôn ngữ có tính định kiểu chặt chẽ: các biến, các hằng trong một biểu thức

phải có cùng kiểu dữ liệu Điều đó có nghĩa là các biến, hằng có kiểu dữ liệu khác nhau thì phải chuyển đổi để có cùng kiểu dữ liệu

- Ngôn ngữ mang tính cấu trúc: ngoài những điểm giống với ngôn ngữ Algol và

ngôn ngữ C, Pascal còn có một số đặc điểm riêng, đó là có thể tách các dữ liệu và các tác vụ (statement) cần dùng cho một nhiệm vụ nhất định thành một khối riêng và khối

đó được tách ra khỏi phần còn lại của chương trình để người lập trình có thể giải quyết từng phần một

Ngôn ngữ Pascal, ngôn ngữ lập trình có tính cấu trúc thể hiện trên 3 mặt sau:

+ Cấu trúc về mặt dữ liệu: Từ các dữ liệu chuẩn hay dữ liệu cấu trúc, người lập

trình có thể xây dựng các kiểu dữ liệu phức tạp hơn

+ Cấu trúc về mặt câu lệnh: Từ các câu lệnh đơn hay câu lệnh cấu trúc người lập

trình có thể nhóm chúng lại với nhau và để đặt giữa 2 từ khoá BEGIN END thành câu lệnh phức tạp hơn gọi là câu lệnh phức hay câu lệnh ghép

+ Cấu trúc về mặt chương trình: Một chương trình có thể chia thành nhiều

chương trình con dưới dạng các thủ tục, các hàm, các đơn thể (modules), các đơn vị

Trang 4

(Units) độc lập với chương trình chính mà sự tương tác giữa chúng là dữ liệu đưa vào

và nhận lại kết quả

1.3 Khởi động và thoát khỏi Pascal

* Khởi động Pascal:

Trên các môi trường có thể thực hiện như sau:

- Môi trường MS-DOS: - C:\> CD BP\BIN  (Turbo Pascal 7.0)

- C:\ BP\BIN>Turbo 

- Môi trường Windows: Kích đúp vào biểu tượng: Turbo Pascal

* Thoát khỏi Pascal:

- Môi trường MS-DOS: có thể chọn một trong hai cách sau:

2 THUẬT TOÁN (Algorithm)

2.1 Khái niệm thuật toán

Thuật toán là một dãy các câu lệnh chặt chẽ và rõ ràng xác định một trình tự các thao tác trên một số đối tượng nào đó sao cho sau một số hữu hạn bước thực hiện ta đạt được kết quả mong muốn

Lưu ý kết quả của thuật toán không phụ thuộc vào người thực hiện

2.2 Các tính chất của thuật toán

- Tính phổ dụng: Thuật toán không chỉ để giải quyết một bài toán riêng lẻ mà được dùng để giải quyết một lớp các bài toán (có thể là vô hạn) các bài toán cùng loại Tính hữu hạn: Thuật toán phải được kết thúc sau một số hữu hạn bước thực hiện các thao tác Một thuật toán không có tính hữu hạn là không khả thi

- Tính xác định: Thuật toán đòi hỏi mỗi bước thao tác phải rõ ràng và xác định một cách đơn trị bước tiếp theo

- Tính hiệu quả: thể hiện ở các yêu cầu sau:

+ Tính đúng đắn

+ Tính tối ưu: tiết kiệm thời gian thực hiện, tiết kiệm bộ nhớ

2.3 Các đại lượng của thuật toán

- Đại lượng vào: là những đại lượng cho trước làm cơ sở cho việc hình thành nên

bài toán

- Đại lượng ra: thường là kết quả sau khi đã thực hiện xong thuật toán và đó

cũng chính là yêu cầu của bài toán

- Đại lượng trung gian: là các đại lượng tham gia vào quá trình để giải bài toán

nhưng không phải là đại lượng vào mà cũng chẳng phải là đại lượng ra

Trang 5

Ví dụ: bài toán giải phương trình bậc 2: ax2

+ bx + c = 0 (a≠0)

Đại lượng vào là các hệ số a,b,c

Đại lượng ra là: hoặc là nghiệm kép, hoặc là 2 nghiệm phân biệt hoặc là một câu thông báo vô nghiệm

Đại lượng trung gian: delta = b2

- 4ac

- Hằng, biến, kiểu:

Để biểu diễn các đại lượng của thuật toán ta cần sử dụng các hằng, biến và phải

có kiểu dữ liệu nhất định

+ Hằng: là đại lượng không thay đổi trong quá trình thực hiện thuật toán

+ Biến: là đại lượng có thể thay đổi giá trị trong quá trình thực hiện thuật toán + Kiểu: là tập hợp các giá trị (miền trị) mà các đại lượng có thể nhận, đồng thời

với việc quy định các phép toán tác động trên đó

2.4 Biểu diễn của thuật toán [1], [2]

2.4.1 Các dạng biểu diễn của thuật toán

Để biểu diễn thuật toán, có thể thực hiện theo các dạng sau:

- Liệt kê các bước

- Cấu trúc theo ngôn ngữ quy ước của thuật toán

- Sơ đồ khối (lưu đồ)

2.4.2 Biểu diễn thuật toán bằng sơ đồ khối

Đây là dạng biểu diễn có cấu trúc trực quan, rõ ràng

* Các kí hiệu dùng để biểu diễn thuật toán:

Dùng để chỉ sự bắt đầu, kết thúc của thuật toán

Dùng để chỉ việc nhập dữ liệu và xuất dữ liệu Dùng để biểu diễn các thao tác của thuật toán (tính toán)

Dùng để kiểm tra điều kiện (quyết định)

Dùng để chỉ hướng đi của thuật toán (lưu đồ)

Ngoài ra, còn có thể sử dụng ký hiệu : = để biểu diễn cho việc gán giá trị cho các biến

Ví dụ, vẽ sơ đồ thuật toán để tìm ước số chung lớn nhất của 2 số nguyên dương

m và n

Dữ liệu vào: m,n

Dữ liệu ra: ước số chung lớn nhất của 2 số

Trang 6

Lưu đồ thuật toán:

3 KHÁI NIỆM VỀ LẬP TRÌNH CẤU TRÚC

 Tổ chức chương trình: Tổ chức chương trình thành hệ phân cấp và phải điều

khiển mối tương tác giữa các thành phần trong hệ sao cho mức tương tác là tối thiệu

Có thể minh hoạ cách tổ chức chương trình tương tự sơ đồ dưới đây:

Sự phân chia các thành phần trong hệ cho tới thành phần của cấp thấp nhất không thể phân chia được nữa thì thành phần ở cấp thấp nhất đó là thành phần cơ bản

Mỗi thành phần trong hệ nên thiết kế lập mối tương tác tối thiểu lên các thành phần khác sao cho sự giao tiếp đó là rõ ràng và có thể kiểm soát được Ý tưởng đầu tiên của lập trình cấu trúc là “chia một bài toán phức tạp thành các bài toán đơn giản”

Trình tự: lập trình cấu trúc là lập trình từ trên xuống Từ trước tới nay có hai

cách lập trình:

- Lập trình từ dưới lên: là xây dựng những vấn đề cụ thể rồi sau đó mới ghép nối

lại với nhau để trở thành một bài toán lớn Cách này có nhược điểm là không thể hình

End n:=n-m

USCLN:=m

Trang 7

dung được tính tổng quát của bài toán

- Lập trình từ trên xuống: lập trình từ trên xuống là cách phân tích tổng quát bài

toán rồi sau đó mới giải quyết từng vấn đề cụ thể

Không cần lệnh Goto: lập trình không cần đến câu lệnh Goto để rẽ nhánh chương

trình Câu lệnh Goto làm cho chương trình rườm rà, khó hiểu, khó đọc, khó kiểm soát

Sự biến đổi: lập trình cấu trúc cho phép biến đổi bài toán có sơ đồ khối lớn, phức

tạp thành các sơ đồ khối nhỏ dạng chuẩn sao cho chúng có thể diễn đạt được bằng một

số ít các cấu trúc điều khiển cơ bản

Chương trình rõ ràng, sáng sủa: lập trình theo tuần tự từ trên xuống, kết hợp với

các chú thích, nên dễ dàng kiểm tra tính đúng đắn của chương trình Với ý tưởng này, khi viết một chương trình, bản thân nó toát lên những câu hỏi và trả lời: “Làm gì ? Làm như thế nào ? Tại sao"

4 CÁC BƯỚC LẬP TRÌNH

Để lập một chương trình cho máy tính gồm các bước sau:

 Bước 1: Tìm hiểu mục đích, yêu cầu của bài toán

Để giải quyết bài toán cần trước hết phải tìm hiểu mục đích, yêu cầu của bài toán Sau khi nắm chắc nội dung của bài toán, người lập trình dễ dàng tìm được các phương pháp, các công cụ để giải bài toán đó

 Bước 2: Mô tả giải thuật và vẽ lưu đồ

Sau khi tìm hiểu mục đích, yêu cầu bài toán, sử dụng ngôn ngữ toán học để diễn đạt ý tưởng Trong lập trình cần thiết sẽ sử dụng ngôn ngữ giải thuật, sau đó vẽ lưu đồ

để mô phỏng giải thuật và thứ tự các bước cần thực hiện

 Bước 3: Viết chương trình

Sau khi phân tích, thiết kế các giai đoạn, mô tả giải thuật và vẽ lưu đồ, ta sẽ dùng một ngôn ngữ lập trình để viết chương trình chạy trên máy tính

 Bước 4: Nhập và chạy thử chương trình

Gõ nội dung chương trình vào máy tính và tiến hành chạy thử, chú ý lỗi chính tả

và các cú pháp câu lệnh của ngôn ngữ

 Bước 5: Sửa chữa chương trình và kiểm tra kết quả

Khi chạy chương trình, nếu có lỗi, hệ thống sẽ thông báo kiểu lỗi và vị trí có lỗi

ra màn hình, tại đây có thể sửa lỗi Khi chương trình đã chạy thông suốt, cần kiểm tra kết quả của chương trình Kiểm tra thứ tự ưu tiên tính toán trong các biểu thức, thường

dễ dẫn đến sai kết quả

 Bước 6: ứng dụng và bảo quản chương trình

Sau khi kiểm tra chương trình, nếu không có sai sót, có thể được ứng dụng, đồng thời sao lưu bảo quản chương trình nguồn đảm bảo an toàn Trong quá trình sử dụng muốn bổ sung thay đổi, cần hiệu chỉnh lại chương trình nguồn để đáp ứng những yêu cầu cần thiết

Trang 8

CÂU HỎI, BÀI TẬP

Trình bày thuật toán bằng phương pháp vẽ sơ đồ khối để giải các bài toán sau đây:

1 Tính tổng S= 1 + 2 + 3 + + n

(Với n nguyên dương bất kỳ và không dùng công thức S=n(n+1)/2)

2 Tính tổng S = 1 * 2 * 3 * * n (dấu * ký hiệu cho phép nhân)

3 Tính tổng S = 1 + 1 * 2 + 1*2*3 + + 1*2*3* *n

4 Tìm số lớn nhất trong 3 số nguyên nhập vào từ bàn phím

5 Tìm ước số chung lớn nhất của 2 số nguyên dương

6 Tìm tất cả các số nguyên tố trong các số nguyên từ 1 đến n (n>=3)

7 Tính tổng của các số nguyên dương nhập vào từ bàn phím

Trang 9

Chương 2 CÁC THÀNH PHẦN CỦA NGÔN NGỮ PASCAL

1 CÁC KÝ HIỆU VÀ TỪ KHOÁ PASCAL

Mỗi ngôn ngữ lập trình luôn có bộ từ khoá

- Từ: là một dãy liên tiếp các ký tự không chứa ký tự trắng và ký tự điều khiển

- Từ khóa: là từ dành riêng của Pascal với chức năng và cú pháp được quy định

sẵn Vì vậy khi sử dụng từ khoá cần phải theo đúng quy định

Ví dụ các từ khoá: Begin, end, if, then, const, var, function,

1.3 Các tên chuẩn và tên tự đặt

- Tên chuẩn : Trong ngôn ngữ Pascal được thiết lập một danh sách các tên chuẩn

cho các kiểu dữ liệu, các biến, các thủ tục và các hàm định sẵn trong thư viện chuẩn Chú ý: Turbo Pascal cho phép người dùng có thể định nghĩa lại các tên chuẩn để

dùng vào các công việc khác

- Tên tự đặt: Các tên tự đặt dùng để chỉ các hằng, các kiểu, các biến, các hàm, các

thủ tục, các unit, các tên chương trình, các trường trong các kiểu bản ghi

Tên có thể có chiều dài tuỳ ý nhưng giới hạn bởi chiều dài của dòng là 127 ký tự Tuy nhiên chỉ có 63 ký tự đầu tiên là có ý nghĩa

Tên phải bắt đầu là chữ cái, các ký tự khác không được dùng ký tự trắng hoặc là

ký tự đặc biệt Tốt nhất nên dùng ký tự là chữ cái, chữ số hoặc dấu gạch dưới

Tên là do người sử dụng đặt, nhưng đặt tên không được trùng với từ khoá

Trang 10

2 CẤU TRÚC CHUNG CỦA MỘT CHƯƠNG TRÌNH PASCAL

2.1 Cấu trúc chung một chương trình

Một chương trình của Turbo Pascal gồm 3 phần

- Tiêu đề

- Khai báo và định nghĩa

- Thân chương trình

Chi tiết các phần như sau:

1 Program Tên chương trình; } Tiêu đề:

2 Uses Các đơn vị chương trình;

3 Const Định nghĩa các hằng;

4 Type Định nghĩa kiểu dữ liệu người dùng; Các khai báo & định nghĩa

5 Var Khai báo các biến toàn cục;

* Phần tiêu đề: Từ khóa để khai báo là Program, tiếp sau là tên của chương trình do

người dùng từ đặt, sau tên là dấu ";" Tên có tác dụng gợi nhớ đến nội dung của chương trình Tuy nhiên phần này không bắt buộc phải có

(Lưu ý: tên của chương trình phải theo đúng quy cách tên của Turbo Pascal)

* Phần khai báo và định nghĩa:

Uses: Dùng để khai báo các Unit (đơn vị chương trình) của Turbo Pascal

Nếu có nhiều unit thì sử dụng dấu phẩy " , " để ngăn cách

Const: Dùng để khai báo các hằng

Cú pháp: Tên_hằng = Giá trị;

Type: Dùng để định nghĩa các kiểu dữ liệu của người dùng

Cú pháp: Tên _kiểu = định nghĩa cụ thể cho từng kiểu;

Var: Khai báo biến

Cú pháp: Tên_ biến : Kiểu dữ liệu;

(Hoặc khai báo trực tiếp không thông qua kiểu Type.)

Nếu có nhiều biến cùng kiểu thì sử dụng dấu phẩy " , " để ngăn cách

Procedure: Định nghĩa chương trình con dạng thủ tục

Function: Định nghĩa chương trình con dạng hàm

Lưu ý: Tùy từng chương trình cụ thể mà trong chương trình có thể có các phần khai

báo và định nghĩa phù hợp, có chương trình có phần khai báo, định nghĩa này mà không có khai báo, định nghĩa kia hoặc ngược lại, thậm chí có chương trình không cần đến một khai báo hay định nghĩa nào cả

Trang 11

* Phần thân chương trình:

- Bắt đầu bằng từ khóa Begin và kết thúc bởi từ khóa End

- Giữa cặp từ khóa này là các câu lệnh của chương trình

- Nếu có nhiều câu lệnh thì sử dụng chấm dấu ” ; ” để ngăn cách các lệnh Phần này bắt buộc phải có

- Sau từ khoá End có dấu chấm (.) báo hiệu kết thúc toàn bộ chương trình

Như vậy chương trình đơn giản nhất là: Begin

End

2.2 Một số quy định khi viết chương trình

- Khi soạn thảo chương trình, Turbo Pascal không phân biệt chữ hoa hay chữ thường

- Các dòng chương trình: Mỗi dòng chương trình độ dài tối đa là 127 ký tự, kết thúc dòng lệnh có dấu chấm phẩy " ; " Nếu muốn xuống hàng nhưng vẫn hiểu là một dòng lệnh thì sử dụng dấu phẩy " , "

- Turbo Pascal cũng sử dụng dấu chấm phẩy " ; " để kết thúc phần này chuyển qua phần khác cũng như giữa khai báo này qua khai báo khác của chương trình

- Các chú thích: Khi soạn thảo chương trình cho phép đưa vào các câu chú thích nhưng phải được đặt trong cặp dấu móc { } hoặc * *

- Các chỉ thị chương trình dịch: Một số đặc điểm chương trình dịch của turbo pascal được điều khiển qua các chỉ thị chương trình dịch Các chỉ thị chương trình dịch được bắt đầu bằng dấu $ sau đó là tên các chỉ thị dịch, chúng được cách nhau bởi dấu phẩy

" , " và toàn bộ được đặt giữa hai dấu ngoặc nhọn { }, không có ký tự trống

Ví dụ {$I-}

{$R-,B+,V-}

3 MỘT SỐ PHÍM THƯỜNG DÙNG [1], [2], [5]

- Các phím chức năng: các phím chức năng sau đây chỉ áp dụng cho Turbo Pacsal 6.0

và Turbo Pacscal 7.0, Borland Pascal 7.0 chạy trong môi trường MS-DOS

F1 Help: Trợ giúp

F2 Save: Lưu văn bản chương trình

F3 Open: Mở tập tin chương trình từ đĩa vào cửa sổ soạn thảo

Atl + F9 Compile: Biên dịch lại một unit có sửa đổi

F9 Make: Biên dịch lại một unit có sửa đổi

F10 Menu bar: Thao tác với thanh menu

Atl + F10 Local menu: thao tác với Menu cục bộ

- Các phím và lệnh soạn thảo

- Sang ký tự bên trái con trỏ <Ctrl + S> hoặc <>

- Sang ký tự bên phải con tỏ <Ctrl + D> hoặc <>

- Sang từ (word) bên trái con trỏ <Ctrl + A> hoặc <Ctrl + >

Trang 12

- Sang từ (word) bên ph ải con trỏ <Ctrl + F> hoặc <Ctrl + >

- Các lệnh về khối

- Đẩy thụt vào (sang phải) một khối <Ctrl + K I>

Trang 13

- Đánh dấu một dòng <Ctrl + K L>

- Di chuyển một khối vào clipboard <Shift + Del>

- Dán khối từ clipboard vào vị trí con trỏ <Shift + Ins>

- Đánh dấu ký tự ở bên trái con trỏ <Shift + >

- Đánh dấu một ký tự ở bên phải con trỏ <Shift + >

- Đánh dấu cùng cột, dòng trên <Shift + >

- Đánh dấu cùng cột, dòng dưới <Shift + >

- Đánh dấu một từ ở ngay con trỏ <Ctrl + K T>

- Đánh dấu một từ ở bến trái con trỏ <Shift + Ctrl + >

- Đánh dấu một từ ở bên phải con trỏ <Shift + Ctrl + >

- Các lệnh khác

- Nạp một tập tin từ đĩa vào bộ nhớ <F3>

- Lặp lại lệnh tìm kiếm sau cùng <Ctrl + L>

4 HẰNG, KIỂU, BIẾN, BIỂU THỨC, CÂU LỆNH

4.1 Hằng

Hằng là đại lượng có giá trị không đổi trong suốt quá trình chương trình hoạt động Các hằng có thể được định nghĩa thông qua một tên gọi là tên hằng

Trang 14

* Cú pháp để định nghĩa hằng như sau:

CONST Tên hằng = giá trị;

Ví dụ: Const Max = 100; CH ='A' ;

Ví dụ: Type Songuyen = Integer;

Var Danh_sách_biến : kiểu_dữ_liệu;

Trang 15

Trong đó: - Danh sách biến: các biến cách nhau dấu phẩy ( , )

- Nếu có nhiều kiểu dữ liệu thì có thể viết nhiều dòng khai báo

Ví dụ: Var: m,n : Integer; x,y: Real;

* Toán hạng: là một trong các đại lƣợng có thể là các hằng, biến, hàm, biểu thức

* Toán tử: là các phép toán tác động lên dữ liệu, nhƣ các phép toán số học, quan hệ,

luận lý

Ví dụ:

Biểu thức nguyên: giá trị trả về là một số nguyên: 3 + 5 - 2 * 4  0

Biểu thức số thực: giá trị trả về là một số thực: 9 / 2 - 4  0.5 Biểu thức logic : giá trị trả về kiểu boolean: true hoặc false:

(2+5) > (5+10)  false

(2 +5) < (5+10)  True

'A' > 'B'  false

Thứ tự ƣu tiên của các phép toán trên biểu thức:

1 Các phép toán 1 ngôi: Phép toán đảo dấu (lấy số đối); cặp dấu ngoặc( );

Trang 16

4.5.1 Câu lệnh đơn giản

* Phép gán: dùng để gán giá trị cho một biến nào đó, ký hiệu : =

- Cú pháp: Tên biến : = biểu thức;

- Ý nghĩa: giá trị vế phải đựơc tính toán đem lưu trữ vào biến ở vế trái

- Chú ý: Tên biến và giá trị biểu thức phải cùng kiểu dữ liệu

Ví dụ: a:=10; a:= a * 2;

* Lời gọi thủ tục:

Dùng để gọi một thủ tục chuẩn hoặc thủ tục do người dùng định nghĩa

Cú pháp: Tên thủ tục (danh sách tham số);

Danh sách tham số có thể có hoặc không, được đặt trong dấu ngoặc ( ), bao gồm các biến các biểu thức, được đặt phân cách với nhau bởi dấu phẩy

Ví dụ: Begin

Câu lệnh 1;

Câu lệnh 2;

Begin Câu lệnh 3; câu lệnh phức hợp Câu lệnh 4;

- Câu lệnh điều kiện: IF, Case

- Câu lệnh lặp For, While, Repeat

Trang 17

5 THỦ TỤC NHẬP, XUẬT DỮ LIỆU

5.1 Thủ tục nhập dữ liệu từ bàn phím

(1) Read (biến 1, biến 2, ,biến n);

(2) Readln (biến 1, biến 2, ,biến n);

(3) Readln;

Dạng (1): Nhập dữ liệu từ bàn phím có kiểu tương ứng và gán cho các biến, khi

viết các biến phân cách nhau bởi dấu phẩy (,) khi nhập dữ liệu các giá trị phân cách nhau một khoảng trống, sau đó phải gõ phím Enter để kết thúc việc nhập Sau khi nhập xong dữ liệu, con trỏ ở cùng hàng với dữ liệu

Ví dụ: Read ( x,y,z);

Quy tắc nhập: 10 15 20

Dạng (2): Nhập tương tự như dạng (1) nhưng sau khi nhập dữ liệu thì con trỏ

chuyển xuống dòng dưới

Ví dụ:

Write ('Nhap cac so:');

Readln (so1, so2);

Dạng (3): tác dụng chờ nhấn một phím, thông thường dùng để dừng màn hình xem

kết quả

Ví dụ: Write ('Nhap cac so:');

Readln (so1, so2);

Writeln ('Tong =', so1 + so2);

Writeln ('Hieu =', so1 - so2);

Readln;

5.2 Thủ tục xuất dữ liệu

* Xuất dữ liệu ra màn hình:

(1) Write('Thông báo', dữ liệu);

(2) Writeln('Thông báo', dữ liệu);

(3) Writeln;

Dạng (1): Write có thể có hoặc không có thông báo Nếu có thì thông báo phải để

trong cặp dấu nháy đơn ( ' ' ) Sau khi xuất dữ liệu, con trỏ nằm cùng hàng với câu lệnh Nếu xuất nhiều dữ liệu thì phải cách nhau bởi dấu phẩy (,)

Ví dụ: Write ('Nhap tu ban phim cho so1=');

Readln (so1);

Wrile ('So vua nhap la :',so1);

Dạng (2): Writeln tác dụng tương tự dạng (1) nhưng sau khi xuất dữ liệu thì con trỏ

chuyển xuống dòng dưới

Dạng (3): tác dụng cách một dòng trống, tương tự chèn thêm một dòng

Ví dụ: a:=5;

Trang 18

Wrirte (a,b, a +b);

Wrirteln;

Chú ý: - Dữ liệu có thể là hằng, biến, biểu thức, hàm

- Giá trị của các biểu thức trong câu lệnh Write, writeln phải có kiểu chuẩn

Ví dụ: Write ('Tich cua a và b la ', a*b);

* Xuất dữ liệu theo khuôn dạng:

- Số nguyên: Write(dữ liệu : n);

Ý nghĩa: giá trị của biểu thức sẽ được ghi lên màn hình theo chế độ căn phải, trong

đó n là số vị trí (cột) dành để ghi dữ liệu

- Số thực: Write (dữ liệu: n: m); n,m là số nguyên dương n > m

Ý nghĩa: giá trị của biểu thức sẽ được ghi lên màn hình theo chế độ căn phải, trong

đó n là số vị trí (cột) dành để ghi dữ liệu, m là số chữ số thập phân cần lấy

Ví dụ: a: = 350.4769;

WRITE(a:10:3);  _ _ _350.477

* Xuất dữ liệu ra máy in

Trước khi xuất dữ liệu ra máy in ở đầu chương trình phải khai báo Unit Printer bằng câu lệnh:

Uses Printer;

Sau đó thực hiện lệnh xuất ra máy in, cú pháp như sau:

Write (LST, 'Thông báo:', dữ liệu); (1) Writeln (LST,'Thông báo:', dữ liệu); (2)

Dạng 1: Sau khi in, đầu in ở cùng dòng

Dạng 2: Sau khi in đầu in xuống dòng dưới

Trang 19

CÂU HỎI, BÀI TẬP

1 Viết chương trình nhập vào 2 số nguyên, sau đó tính tổng, hiệu, tích của 2 số và xuất ra màn hình các kết quả

2 Viết chương trình tính lương của một nhân viên theo công thức sau:

Tiền lương = Bậc lương/30 * ngày công * Hệ số + Phụ cấp

3 Viết chương trình tính chu vi, diện tích của hình tròn khi nhập bán kính từ bàn phím

4 Viết chương trình nhập vào số nguyên N sau đó xuất ra màn hình các chữ số biểu

diễn số đó Ví dụ N = 123 thì xuất ra màn hình là 00123

5 Viết chương trình thực hiện các phép toán DIV, MOD

6 Viết chương trình tính điểm trung bình của 5 môn học của một học sinh, với:

Trang 20

Chương 3 CÁC KIỂU DỮ LIỆU CHUẨN

1 CÁC KIỂU DỮ LIỆU CỦA PASCAL

Ngôn ngữ Pascal có các loại kiểu dữ liệu sau:

* Kiểu đơn giản (kiểu vô hướng)

+ Các kiểu dữ liệu chuẩn:

+ Kiểu bản ghi (Record)

+ Kiểu tập tin (File)

* Kiểu chuỗi (String)

* Kiểu con trỏ (Pointer)

* Ngoài một số kiểu dữ liệu chuẩn, người lập trình còn được phép tự định nghĩa kiểu

dữ liệu của riêng mình

Trang 21

DIV phép chia lấy phần nguyên

MOD phép chia lấy phần dƣ

/ Chia 2 số nguyên cho nhau kết quả là số thực

Ví dụ: 9 DIV 2 = 4, 9 MOD 2 = 1

2.3 Các hàm chuẩn

x:=x-r (ví dụ: dec(10,2)=8)

* Lưu ý: Kiểu dữ liệu số nguyên có tính đếm được và nó có thứ tự, tính đếm được và

số thứ tự như trong Toán học

Trang 22

3 KIỂU SỐ THỰC

3.1 Các kiểu dữ liệu số thực

a Kiểu Real: được lưu trữ trong 6 byte, trong đó có phần nguyên và phần thập phân

được cách nhau bởi dấu chấm (dấu phẩy)

b Các kiểu dữ liệu số thực mở rộng khác

Các cách biểu diễn số thực: có 2 cách

- Biểu diễn bằng dấu chấm tĩnh: loại có dấu chấm thập phân Ví dụ: 352.435

- Biểu diễn bằng dấu chấm động: loại dấu chấm động có cấu tạo gồm 2 phần:

+ Phía bên trái chữ E là phần định trị

+ Phía bên phải chữ E là phần luỹ thừa

Ví dụ 3.512 = 35.12000000 E - 01 = 35.12.10-1

= 0.03512000 E + 2 = 0.03512.102

= 0.00035120 E + 4 = 0.0003512.104

- Các phép toán: +, -, *, /, như trong toán học

- Trong số thực không có các phép toán DIV & MOD

- Kiểu dữ liệu Real có thứ tự nhưng không đếm được

3.2 Các hàm chuẩn kiểu số thực

Ví dụ: abs (-3)=3 abs (3)=3 SQR (x) Real/ nguyên Real/ nguyên Bình phương của x: x2

SQR (3)= 9 : SQR (-3) =9

Ví dụ: SQRT (25) = 5

(Longint)

lấy phần nguyên của x

Ví dụ: Trunc(35.75) = 35

Trang 23

Frac (x) Real Real Lấy phần lẻ của số thực x

- Các phép toán Logic: AND, OR, XOR, NOT

Các hàm: Odd(x), Pred(x), Succ(x)

Ví dụ: Odd(False)=0, Odd(True)=1, Pred(False)=true, Succ(False)=true

5 KIỂU KÝ TỰ (Char)

Kiểu ký tự bao gồm các ký tự có trong bảng mã ASCII

Kiểu ký tự có tính thứ tự và đếm đƣợc theo thứ tự của bảng mã ASCII, ký tự nào

có số thứ tự trong bảng mã ASCII bé thì ký tự đó bé hơn

>= So sánh lớn hơn hoặc bằng 'A' >='B'False

<= So sánh nhỏ hơn hoặc bằng 'A' <='B' True

* Các hàm chuẩn kiểu Char

Trong kiểu Char, mỗi ký tự đƣợc đặt bên trong 2 dấu nháy đơn Ví dụ: 'A' , 'C' Giả sử cho ch là 1 ký tự kiểu Char, ta có một số hàm sau:

Trang 24

- Hàm Ord(ch) = cho kết quả là 1 số nguyên kiểu byte là số thứ tự mã ASCII của ký

tự ch Ví dụ: Ord('A') = 65

- Hàm Chr(n): cho kết quả là ký tự có số thứ tự mã ASCII là n

Ví dụ: Chr(65) = 'A' Cách ghi khác là dùng dấu thăng # trước số n :

Ví dụ: Chr(65) = 'A' hoặc #65 = 'A'

- Pred(ch): cho kết quả là ký tự đứng trước ký tự ch

Ví dụ: Pred ('B') = 'A'

- Succ (ch)= cho kết quả là ký tự đứng liền sau ký tự ch

Ví dụ: Succ (' B ') ='C'

- Upcase(ch) đổi chữ thường ra chữ hoa Ví dụ: Upcase ('a') = 'A'

- Inc(ch, r) tăng ký tự ch lên r phần tử Ví dụ: Inc('M',2) = 'O'

- Dec(ch, r) giảm ký tự ch xuống r phần tử Ví dụ: Dec('M',2) = 'K'

Trang 25

CÂU HỎI, BÀI TẬP

1 Viết chương trình thực hiện nhập 1 số nguyên x, sau đó thực hiện các phép toán để tính và cho hiển thị lên màn hình các hàm:

Succ(x)

Sqr(x)

Sqrt(x)

Ln(x)

2 Viết chương trình thực hiện nhập 2 số nguyên, sau đó đổi chỗ 2 số đó

3 Viết chương trình thực hiện tính thể tích hình cầu, có bán kính nhập vào từ bàn

phím Cho thể tích hình cầu: v:=4/3*pi*r*r*r;

4 Viết chương trình thực hiện nhập vào hai ký tự, sau đó thực hiện cộng 2 ký tự và in kết quả ra màn hình

5 Viết chương trình thực hiện nhập vào một ký tự rồi in ra mã ASCII của ký tự đó

6 Viết chương trình nhập vào một số thứ tự mã ASCII rồi in ra ký tự tương ứng

7 Viết chương trình nhập vào một ký tự chữ thường, sau đó đổi thành chữ HOA

8 Viết chương trình nhập vào một ký tự chữ HOA, sau đó đổi thành chữ thường

9 Viết chương trình tách một số nguyên n nhập vào từ bàn phím thành 2 số a và b

Trang 26

Chương 4 CÂU LỆNH CÓ CẤU TRÚC ĐIỀU KHIỂN

1 CÂU LỆNH CẤU TRÚC ĐIỀU KIỆN IF [1], [6]

1.1 Cấu trúc If Then (thiếu)

Cú pháp:

IF <BTLG> Then <câu lệnh>;

Lưu đồ cú pháp:

Ý nghĩa:

Nếu biểu thức logic BTLG có giá trị đúng (True) thì thi hành câu lệnh sau then

rồi tiếp tục thực hiện các lệnh khác của chương trình,

Nếu BT_logic sai (False) thi bỏ qua câu lệnh sau then để thực hiện các lệnh khác

Writeln('TIM SO LON NHAT TRONG 2 SO NGUYEN');

Write('-Nhap so thu nhat: '); Readln(so1);

Write('-Nhap so thu hai : '); Readln(so2);

If so1 > so2 Then Writeln('So thu nhat la so lon nhat');

If so2 > so1 Then Writeln('So thu hai la so lon nhat');

Trang 27

Writeln('TIM SO LON NHAT TRONG 2 SO NGUYEN');

Write('-Nhap so thu nhat: '); Readln(so1);

If so1 > so2 Then

Writeln('+So thu nhat la so lon nhat') Else

Readln;

End

1.3 Cấu trúc If Then Else mở rộng

If <BTLG1 > Then câu lệnh 1 Else

If <BTLG2> then câu lệnh 2 Else

IF <BTLG3> then

câu lệnh 3 Else

câu lệnh ;

BT_logic

câu lệnh 1 câu lệnh 2

BT LG

Trang 28

1.4 Cấu trúc If Then Else lồng nhau

If <BTLG1 > Then

If <BTLG2> Then câu lệnh

Else câu lệnh Else

If <BTLGn > Then câu lệnh

Else câu lệnh ;

Ví dụ 1: Viết chương trình giải phương trình ax+b=0

Writeln(„nghiem duy nhat la: „, x:5:2 );

End Else

If b<>0 then Writeln(„phuong trinh vo nghiem‟)

Else Write(„PT vo dinh – nghiem la moi x‟);

Writeln('XEP LOAI HOC SINH');

Writeln('Nhap cac ky tu a,b,c,d,e ');

Write('-Cho biet loai: ');

Trang 29

Else If loai = 'B' Then

Else If loai = 'C' Then

Ví dụ: 10, 7, 15

GT thuộc tập hằng1

GT thuộc tập hằng2

GT thuộc tập hằng n

Lệnh nLệnh 2

Trang 30

- Lệnh CASE có thể được thay thế bởi nhiều lệnh IF lồng nhau và ngược lại lệnh

IF cũng có thể được thay thế bằng lệnh CASE, ví dụ IF dạng 2 có thể được thay thế bằng: CASE<BTLG> OF

- Có thể cho vừa kết hợp liệt kê vừa kết hợp kiểu đoạn con: 2, 5, 10 15, 20

* Hoạt động của câu lệnh như sau:

- Xác định giá trị của Biểu thức

- Xem xét giá trị của Biểu thức đó có nằm trong miền giá trị của tập hằng1 không Nếu có thì câu lệnh 1 được thực hiện và sau đó là kết thúc câu lệnh Nếu không thì tương tự như vậy nó làm việc với miền giá trị của tập hằng 2

- Tiếp tục như vậy nếu giá trị của biểu thức không thuộc bất cứ 1 giá trị nào thì không có câu lệnh nào thực hiện và kết thúc câu lệnh

'0' '9' : Writeln('Ban vua nhap mot ky so');

'B' : Writeln('Ban vua nhap chu B');

'C','D','E' : Writeln('Ban vua nhap mot trong cac chu C, D, E')

Trang 31

Lưu đồ cú pháp:

Câu lệnh hoạt động tương tự dạng case thiếu Tuy nhiên nếu giá trị của biến chọn không thuộc miền giá trị của tập hằng nào thì câu lệnh sau từ khoá Else sẽ được thực hiện

0 : Writeln('So vua nhap la 0');

1 : Writeln('So vua nhap la 1');

2 : Writeln('So vua nhap la 2');

3 : Writeln('So vua nhap la 3');

Else Writeln(''So vua nhap khong phai la cac so 0,1,2,3');

Readln;

End

GT thuộc tập hằng1

GT thuộc tập hằng2

GT thuộc tập hằng n

Lệnh nLệnh 2Lệnh 1

Trang 32

- Nếu GT1> GT2, thì câu lệnh sẽ không thực hiện lần nào

Ví dụ: Viết chương trình để tính tổng S = 1+2+ +n , với n được nhập vào từ bàn phím

Program Tong;

Uses crt;

F

Lệnh (khối lệnh) inc(BĐK)

BĐK <= GT2

T BĐK:= GT1

Trang 33

- Giá trị GT1 và GT2 phải cùng kiểu

- Nếu giá trị GT1 < GT2 thì lệnh không thực hiện được lần nào

Ví dụ: Viết chương trình hiển thị các số nguyên từ n đến 1

Program Hienthiso;

Var n,i: byte;

Begin

Write ('nhap n='); Readln(n);

For i:=n DownTo 1 Do Writeln(i);

Readln;

End

F

Lệnh (khối lệnh) dec(BĐK)

BĐK >=GT2

T BĐK:= GT1

Trang 34

4 CẤU TRÚC CÂU LỆNH WHILE DO [1],[2]

Cú pháp:

WHILE <Điều kiện> DO < Lệnh>;

Ý nghĩa:

Câu lệnh While Do là câu lệnh lặp với số lần không biết trước

<Điều kiện> là một biến hay biểu thức cho kết quả kiểu Boolean

Nếu <Điều kiện> cho kết quả là True thì thực hiện <lệnh> tiếp tục cho đến khi Nếu <Điều kiện> cho kết quả là False thì thoát khỏi vòng lặp

Ví dụ: Viết chương trình nhập vào một số và kiểm tra xem số đó có phải là số nguyên

While (n Mod i <> 0) Do i:=i+1;

if i=n Then Writeln('-So ',n,' la so nguyen to')

Else Writeln('So ',n,' khong phai la so nguyen to');

Write('Nhap mot so (so 0 de ngung): ');

Trang 35

5 CẤU TRÚC REPEAT UNTIL

Cú pháp:

REPEAT <Lệnh 1 >;

<Lệnh 2 >;

<Lệnh n >;

UNTIL <Điều kiện>;

Câu lệnh lặp với số lần không biết trước

(Trong trường hợp biết trước số lần lặp ta nên dùng lệnh For)

Ví dụ 1: Viết chương trình nhập vào một số nguyên, in lên màn hình số ký số của số nguyên đó

Trang 37

CÂU HỎI, BÀI TẬP

Cấu trúc If

1 Viết chương trình giải phương trình bậc nhất aX + b = 0

2 Viết chương trình giải phương trình bậc hai aX2

+ bX + c = 0

3 Viết chương trình nhập vào 1 số nguyên, yêu cầu máy kiểm tra xem số chẵn hay lẻ

4 Viết chương trình nhập vào 2 số nguyên, yêu cầu máy kiểm tra xem 2 số đó có phải

là ước số của nhau hay không?

5 Viết chương trình nhập vào 3 số nguyên bất kỳ nhưng khi xuất ra màn hình theo thứ

- Nếu tổng của 2 cạnh lớn hơn cạnh thứ ba

- Nếu 3 cạnh bằng nhau (tam giác đều)

- Nếu có 2 cạnh bằng nhau (tam giác cân)

Cấu trúc Case

8 Viết chương trình để khi bấm vào phím, máy sẽ thông báo phím vừa bấm là phím nào? Ví dụ:

- Nếu bấm các phím „Aa‟ đến „Zz‟ sẽ thông báo “Phím ký tự”

- Nếu bấm các phím 0 đến 9 sẽ thông báo “Phím ký số”

- Nếu bấm các phím „+, -, *, /‟ sẽ thông báo “Phím các phép toán học”

- Nếu bấm các phím khác như „Atl, Ctrl, Tab ‟ sẽ thông báo “Phím đặc biệt”

9 Viết chương trình tính diện tính một số hình học sơ cấp

Ví dụ: 1 – Hình vuông, 2- Chữ nhật, 3 – Tam giác, 4 – Hình thang, 5 – Hình tròn Khi chọn số nào thì sẽ nhập số liệu để tính diện tính của hình tương ứng

Trang 38

16 Viết chương trình nhập vào N số nguyên, tìm số lớn nhất trong các số đó

17 Viết chương trình tính N!, với N nhập vào từ bàn phím

Cấu trúc While

18 Tính tổng: S= 1 + 2 + + n bằng câu lệnh While Do

19 Viết chương trình nhập vào các điểm thi của một sinh viên In ra màn hình điểm cao nhất, điểm thấp nhất và số điểm đã nhập vào

20 Viết chương trình tính Xn với n được nhập vào từ bàn phím

21 Viết chương trình nhập vào một số nguyên N, hãy tìm các số nguyên tố từ 2 đến N

22 Sử dụng cấu trúc While viết chương trình tìm ước số chung lớn nhất và bội số

chung nhỏ nhất của 2 số nguyên dương nhập vào từ bàn phím

Cấu trúc Repeat

23 Viết chương trình giải phương trình bậc hai aX2 – bX + c = 0 sử dụng câu lệnh lặp Repeat Until để bắt buộc nhập hệ số a< >0

24 Viết chương trình đổi một số nguyên hệ 10 sang hệ 2

25 Sử dụng cấu trúc Repeat Viết chương trình tìm ước số chung lớn nhất và bội số chung nhỏ nhất của 2 số nguyên dương nhập vào từ bàn phím

Trang 39

Chương 5 CHƯƠNG TRÌNH CON

1 KHÁI NIỆM

1.1 Khái niệm lập trình từ trên xuống

Trong thực tế khi giải quyết các bài toán lớn, phức tạp nếu viết chương trình một mạch từ trên xuống sẽ rất khó khăn, chương trình rườm rà và phức tạp Mặt khác, khi tìm và sửa lỗi chương trình cũng sẽ nhiều khó khăn vì lỗi sẽ ảnh hưởng đến toàn bộ chương trình Vì vậy đối với các bài toán lớn cần thiết phải phân tích bài toán thành những công việc mang tính tương đối độc lập, sau đó chi tiết dần thành các công việc nhỏ hơn, “phân mảnh” theo từng cấp Pascal cho phép người lập trình “phân mảnh” chương trình trong việc giải quyết bài toán, chia chương trình lớn thành nhiều phần nhỏ rồi giải quyết từng phần một (gọi là chương trình con) Sau đó tuỳ nội dung công việc để thiết kế lắp ghép các chương trình con này lại thành một chương trình lớn Phương pháp lập trình có phân mảnh này được gọi là lập trình từ trên xuống (Top-Down Programming) tức là từ gốc đến ngọn hay còn gọi là lập trình có cấu trúc

1.2 Phân loại và cấu trúc chung của chương trình con

Turbo Pascal cho phép xây dựng hai loại chương trình con đó là thủ tục (Procedure) và hàm (Function)

- Thủ tục là một chương trình con dùng để thực hiện một số thao tác xử lý nào đó

để giải quyết một công việc cụ thể nào đó đã được phân mảnh

- Hàm là một chương trình con dùng để xác định một giá trị của đại lượng nào đó

có kiểu dữ liệu đơn giản (số, kí tự, chuỗi kí tự, logic, ) Giá trị của đại lượng ra này được gọi là giá trị trả về của hàm

Mỗi chương trình con đều có cấu trúc chung theo tuần tự như sau:

- Phần khai báo chương trình con thuộc loại thủ tục hay hàm

- Các định nghĩa và khai báo địa phương (hằng, kiểu, biến, chương trình con)

- Thân của chương trình con

2 CHƯƠNG TRÌNH CON DẠNG THỦ TỤC

2.1 Khái niệm

Chương trình con dạng thủ tục có cấu trúc tương tự một chương trình chính Pascal, chỉ khác là thay từ khoá Program bằng từ khoá Procedure, ngoài ra sau phần khai báo <tên thủ tục> có thể có hoặc không có các (tham số), dấu chấm phẩy (;) rồi đến thân của thủ tục là những câu lệnh đơn giản, câu lệnh đơn, câu lệnh phức, câu lệnh điều kiện, câu lệnh lặp, tuỳ theo chức năng và nhiệm vụ của từng thủ tục trong chương trình

Cấu trúc của thủ tục như sau:

Trang 40

Procedure TênThủTục[(Tham số hình thức)];

Const Tên hằng = <Giá trị>;

Type Tên kiểu=<Kiểu dữ liệu>;

Var Tên biến: <Kiểu dữ liệu>;

Begin

Các câu lệnh;

End;

* TênThủTục: Do người lập trình đặt theo quy cách đặt tên của Pascal

* Tham số hình thức: chứa tên các tham số có vai trò nhận thông tin vào cho thủ tục

- Tham số hình thức được chia thành 2 loại:

+ Tham trị: Khi khai báo thì không có từ khoá Var đứng trước

+ Tham biến: Khi khai báo thì phải có từ khoá Var đứng trước

Ví dụ: Procedure tenTT(x,y: Real; a: Word; Var m,n: Real);

* Khai báo địa phương:

- Khai báo toàn cục là các khai báo ngay từ đầu chương trình chính, các đối tượng khai báo này dùng trong chương trình chính và trong bất kỳ chương trình con nào

- Khai báo địa phương của chương trình con nào thì chỉ được dùng cho chương trình con đó, các chương trình chính và chương trình con khác không được dùng

- Khai báo địa phương: gồm hằng, kiểu, biến, các biến này gọi là biến địa phương

* Các câu lệnh: là hệ thống câu lệnh được cài đặt nhằm thực hiện giải thuật đã thiết

kế cho thủ tục

Ví dụ: Tính tổng S = 1+2+ +n Với n được nhập vào từ bàn phím

PROCEDURE tongS1 (n: Word); {tham tri}

Ngày đăng: 24/08/2017, 10:02

TỪ KHÓA LIÊN QUAN

w