1. Trang chủ
  2. » Giáo án - Bài giảng

Tai lieu pascal

15 1,3K 17
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề Giới thiệu về turbo pascal
Trường học Trường Đại Học Công Nghệ Thông Tin
Chuyên ngành Công Nghệ Thông Tin
Thể loại Bài giảng
Năm xuất bản 2023
Thành phố Hồ Chí Minh
Định dạng
Số trang 15
Dung lượng 104,5 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

 Cấu trúc về mặt lệnh : Từ các lệnh đơn hay 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ừ khóa BEGIN … END để có được câu lệnh phức tạp hơn gọi là câu

Trang 1

TURBO PASCAL BÀI 01 : GIỚI THIỆU VỀ TURBO PASCAL

1 GIỚI THIỆU :

• Turbo Pascal là ngôn ngữ lập trình cao cấp

• Turbo Pascal có những đặc điểm nổi bật như sau :  Là ngôn ngữ có tính định kiểu chặt chẻ  Là ngôn ngữ mang tính cấu trúc Tính cấu trúc của Turbo Pascal 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 lệnh : Từ các lệnh đơn hay 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ừ khóa BEGIN … END để có được 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ể được 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ể , các đơn vị độ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ả

2 CÁC PHÍM CHỨC NĂNG :

 F1 – Help : phím này dùng để hiển thị thông tin , trợ giúp cho người lập trình làm việc dễ dàng hơn

 F2 – Save : phím này dùng để ghi nội dung tập tin vào đĩa

 F3 – Load : phím này dùng để mở một tập tin đã có sẳn trên đĩa

 F9 – Make : phím này dùng để kiểm tra lổi về cú pháp của chương trình Vệt sáng báo lổi ở vị trí nào thì lỗi ở ngay vị trí đó

 Ctrl – F9 ( Run ) : tổ hợp phím này dùng để chạy thử chương trình sau khi đã kiểm tra xong các lỗi về cú pháp

 F10 – Menu : phím này sẽ đưa con trỏ lên thanh thực đơn ngang

FILE EDIT

Khi không muốn làm việc trên thanh thực đơn ngang nữa ta nhấn phím ESC để con trỏ trở về thân chương trình của Pascal

II CƠ SỞ CỦA NGÔN NGỮ TURBO PASCAL :

1 BỘ TỪ VỰNG CỦA TURBO PASCAL :

• Ký tự chữ : a, b , … , z ; A , B , … , Z

• Ký tự số : 0 , 1 , … , 9 , a , b , … f ( hoặc A , B , … , F )

• Ký tự đặc biệt :  Ký tự đơn : + , - , * , / , …  Ký tự kép : := ( phép gán ) , < > ( khác nhau ) , < ( nhỏ hơn ) , <=

Trang 2

( nhỏ hơn hoặc bằng ) , …

• Từ khóa là từ riêng của Turbo Pascal như : begin , end , if , then , else , …

• Từ định hướng chuẩn

2 DANH HIỆU :

• Danh hiệu là một chuỗi liên tiếp các ký tự chữ , số , gạch nối và không được ngắt khoảng bởi khoảng trắng , phím TAB , phím ENTER

• Danh hiệu bắt đầu bằng ký tự chữ hoặc dấu gạch nối

• Danh hiệu có chiều dài tùy ý nhưng chỉ có 63 ký tự đầu tiên là có nghĩa và không phân biệt chữ in với chữ thường

BÀI 02 : MẪU MỘT CHƯƠNG TRÌNH TRONG PASCAL

1 CẤU TẠO CỦA MỘT CHƯƠNG TRÌNH :

[ PROGRAM < TÊN CHƯƠNG TRÌNH > ; ]

[ PHẦN KHAI BÁO ]

BEGIN

[ CÁC LỆNH ]

END

2 GIẢI THÍCH :

* [ … ] : Ký hiệu này biểu thị phần bên trong ngoặc có hay không cũng được

* < … > : Ký hiệu này biểu thị phần bên trong ngoặc bắt buộc phải có

* PROGRAM , BEGIN , END là các từ khóa

* Tên chương trình đặt ra phải có ý nghĩa đặc trưng cho chương trình tên phải viết liền nhau hoặc nối bằng dấu gạch nối , kết thúc phải có dấu chấm phẩy ( ; )

* Phần khai báo không nhất thiết phải đầy đủ các khai báo sau đây :

USES TÊN UNIT ;

LABEL KHAI BÁO NHÃN ;

CONST KHAI BÁO HẰNG ;

TYPE KHAI BÁO KIỂU ;

VAR KHAI BÁO BIẾN ;

PROCEDURE KHAI BÁO THỦ TỤC ;

FUNCTION KHAI BÁO HÀM ;

• Khai báo hằng : Khai báo hằng bắt đầu bằng từ khóa CONST sau đó là tên hằng và giá trị của hằng

• Khai báo kiểu : Ngoài các kiểu dữ liệu chuẩn , các kiểu dữ liệu tự tạo phải khai báo bằng từ khóa TYPE

• Khai báo biến : Các biến được khai báo sau từ khóa VAR , nếu có nhiều biến cùng kiểu dữ liệu thì giữa chúng phân cách nhau bởi dấu phẩy ( , ) tiếp đó là dấu hai chấm ( : ) rồi đến kiểu dữ liệu của biến , cuối cùng là dấu chấm phẩy ( ; )

• Khai báo thủ tục và hàm :

♣ Nếu là những thủ tục và hàm chuẩn ( có sẵn trong thư viện của Pascal ) thì khi cần sử

Trang 3

dụng ta chỉ việc liệt kê tên thủ tục hoặc hàm tại vị trí ta muốn

♣ Nếu là những thủ tục và hàm tự tạo thì :

♠ Đối với thủ tục : phải bắt đầu bằng từ khóa PROCEDURE tiếp đó là tên thủ tục , danh sách các tham số hình thức nếu có thì phải để trong cặp dấu ngoặc đơn , cuối cùng là dấu chấm phẩy ( ; )

♠ Đối với hàm : phải bắt đầu bằng từ khóa FUNCTION tiếp đó là tên hàm , danh sách các tham số hình thức nếu có thì phải để trong cặp dấu ngoặc đơn , dấu hai chấm và kiểu của hàm , kết thúc là dấu chấm phẩy

* Bắt đầu viết chương trình phải bằng từ khóa BEGIN và kết thúc bằng từ khóa END cuối cùng

là dấu chấm ( )

* Thân chương trình có thể là các câu lệnh :

• Câu lệnh gán : được thể hiện bằng hai ký hiệu là dấu hai chấm và dấu bằng ( := ) Câu lệnh gán có ý nghĩa gán giá trị ở bên phải cho một biến ở bên trái

• Câu lệnh đơn : là câu lệnh thực hiện một tác vụ ( công việc ) Câu lệnh đơn có thể là câu lệnh rỗng , câu lệnh tính toán biểu thức hoặc câu lệnh gọi thủ tục hay hàm

• Câu lệnh cấu trúc : còn gọi là câu lệnh phức là câu lệnh được sử dụng trong trường hợp nếu ta muốn thực hiện nhiều tác vụ ở nơi mà Pascal chỉ cho phép viết một câu lệnh Câu lệnh cấu trúc bao gồm một số các câu lệnh được đặt phân cách nhau bởi dấu chấm phẩy ( ; ) và toàn bộ được đặt giữa hai từ khóa BEGIN và END ;

* Các phép toán thường dùng :

• Các phép toán số học gồm : cộng ( + ) ; trừ ( - ) ; nhân ( * ) ; chia ( / )

• Các phép toán quan hệ gồm : bằng nhau “ = ”, nhỏ hơn “ < ”, nhỏ hơn hoặc bằng “ <= ”, lớn hơn “ > ”, lớn hơn hoặc bằng “ >= ”, khác nhau “ < >”

• Các phép toán logic gồm : phủ định “ not ”, giao “ and ”, hợp “ or ”, chỉ hoặc “ xor ”

BÀI 03 : XUẤT _ NHẬP DỮ LIỆU TRONG PASCAL

I NHẬP DỮ LIỆU :

READ ( DANH SÁCH BIẾN ) ;

READLN ( DANH SÁCH BIẾN ) ;

READLN ;

• Các lệnh này dùng để nhập các giá trị vào từ bàn phím cho danh sách biến theo thứ tự liệt kê

• Ta thường dùng để nhập cho các biến có kiểu nguyên , kiểu thực , kiểu ký tự nhưng không nhập cho kiểu luận lý

• Sự khác nhau giữa ba câu lệnh trên là sự khác nhau của vị trí con trỏ sau khi kết thúc câu lệnh :

♣ Cú pháp đầu : Con trỏ ở ngay sau giá trị vừa nhập

♣ Cú pháp giữa : Con trỏ chuyển xuống đầu dòng tiếp theo

♣ Cú pháp cuối : Dừng chương trình lại

II XUẤT DỮ LIỆU :

WRITE ( Item1 , Item2 , Item3 , … , ItemN ) ;

WRITELN ( Item1 , Item2 , Item3 , … , ItemN ) ;

Trang 4

WRITELN ;

• Các lệnh này dùng để xất dữ liệu ra màn hình

• Item là các mục cần viết ra ; có thể là một biểu thức , một giá trị , một biến , một hằng , …

• Sự khác nhau giữa ba câu lệnh trên là sự khác nhau của vị trí con trỏ sau khi kết thúc câu lệnh :

♣ Cú pháp đầu : Con trỏ ở ngay sau giá trị của ItemN

♣ Cú pháp giữa : Con trỏ chuyển xuống đầu dòng tiếp theo

♣ Cú pháp cuối : Không in ra gì cả và con trỏ xuống đầu dòng tiếp theo

• Chú ý : ( Định dạng xuất )

♣ Đối với kiểu nguyên , kiểu ký tự , kiểu luận lý thì ta thường dùng :

WRITE ( BIẾN : m ) ;

WRITELN ( BIẾN : m ) ;

Máy sẽ bố trí giá trị của biến từ bên phải sang bên trái m vị trí Nếu thừa chỗ nó sẽ để trống phần bên trái

♣ Đối với kiểu số thực thì ta thường dùng :

WRITE ( BIẾN : m : n ) ;

WRITELN ( BIẾN : m : n ) ;

Giá trị của biến được viết từ vị trí m tính từ phải sang trái , trong đó có n số thập phân

III CÁC VÍ DỤ MINH HỌA :

1 Viết chương trình tính chu vi và diện tích hình tam giác khi biết độ dài ba cạnh của nó

Program Tam_giac ; Var

a , b , c : word ;

cv , dt : real ; Begin

Writeln ( ‘ Chuong trinh tinh chu vi va dien tich hinh tam giac ‘ ) ; Writeln ( ‘ Khi biet do dai ba canh cua tam giac do ‘ ) ;

Write ( ‘ Nhap vao do dai canh thu nhat a = ‘ ) ; readln ( a ) ;

Write ( ‘ Nhap vao do dai canh thu hai b = ‘ ) ; readln ( b ) ;

Write ( ‘ Nhap vao do dai canh thu ba c = ‘ ) ; readln ( c ) ;

cv := a + b + c ;

dt := sqrt ( (cv/2) * ((cv/2) – a ) * (( cv/2) – b ) * ((cv/2) – c )) ; writeln ( ‘ Chu vi hinh tam giac la : ‘ , cv :20 : 0 ) ;

writeln ( ‘ Dien tich hinh tam giac la : ‘ , dt :20 : 2 ) ; readln ;

End

2 Viết chương trình tính chu vi và diện tích hình bình hành khi biết độ dài hai cạnh liên tiếp của nó và góc hợp bởi hai cạnh đó

Trang 5

Program Hinh_binh_hanh ; Var

a , b : word ; goc , cv , dt : real ; Begin

Writeln ( ‘ Chuong trinh tinh chu vi va dien tich hinh binh hanh ‘ ) ; Write ( ‘ Khi biet do dai hai canh cua hinh binh hanh ‘ ) ;

Writeln ( ‘ va goc hop boi hai canh do ‘ ) ; Write ( ‘ Nhap vao do dai canh thu nhat a = ‘ ) ; readln ( a ) ;

Write ( ‘ Nhap vao do dai canh thu hai b = ‘ ) ; readln ( b ) ;

Write ( ‘ Nhap vao goc hop boi hai canh do goc = ‘ ) ; readln ( goc ) ;

cv := ( a + b ) * 2 ;

dt := a * b * sin ( goc ) ; writeln ( ‘ Chu vi hinh binh hanh la : ‘ , cv :20 : 0 ) ; writeln ( ‘ Dien tich hinh binh hanh la : ‘ , dt :20 : 2 ) ; readln ;

End

BÀI 04 : BIẾN VÀ CÁC KIỂU DỮ LIỆU CƠ BẢN TRONG PASCAL

• Biến là một đại lượng có thể thay đổi giá trị trong khi chạy chương trình

• Tên biến là tên của ô nhớ chứa dữ liệu ( chứa giá trị của biến )

• Tên biến là một chuỗi liên tiếp các chữ cái , chữ số , dấu gạch nối Ký tự đầu tiên phải là một chữ cái ; không được dùng các từ khóa , các ký tự đặc biệt

• Khai báo biến : VAR Tênbiến1 , tênbiến2 , … , tênbiếnN : Kiểu dữ liệu của biến ;

Các kiểu dữ liệu trong Pascal do Pascal định nghĩa sẵn , ta khai báo xong thì có thể sử dụng

1 KIỂU NGUYÊN :

Trang 6

• Khi cộng , trừ , tính toán , ta phải lưu ý đến phạm vi sử dụng vì nếu vượt quá phạm vi giới hạn cho phép thì máy sẽ báo lỗi hoặc cho ra kết quả sai

• Có hai phép toán dùng cho số nguyên là : ♣ MOD là phép chia lấy phần dư ♣ DIV là phép chia lấy phần nguyên

• Ví dụ : 5 mod 2 → Kết quả là : 1

5 div 2 → Kết quả là : 2 ( Vì 5 chia 2 được 2 dư 1 )

2 KIỂU THỰC :

Ta dùng dấu ‘.’ Thay cho dấu ‘,’ để ngăn cách giữa phần nguyên

và phần thập phân

• Ta nên định dạng biến khi xuất kết quả ( cách viết có quy cách )

• Ta không được sử dụng các phép toán MOD và DIV cho số thực

3 KIỂU KÝ TỰ :

• Chỉ nhận một ký tự

• Phải được dặt giữa hai dấu nháy

Ví dụ : ‘A’ ; ‘B ’ ; ‘1 ’ ; ‘a’ ; …

• Dùng dấu # với mã ASCII

Ví dụ : # 65 ≈ ‘A’

4 KIỂU LOGIC :

Boolean Chỉ nhận một trong hai giá trị

TRUE hoặc FALSE

1 byte

• Ta thường gặp ở một số mệnh đề toán học , một câu nói , …

• Các phép toán sử dụng : > ; < ; >= ; <= ; < > ; AND ; OR ; NOT ; XOR ( nếu khác nhau cho ra giá trị TRUE , giống nhau cho ra giá trị FALSE )

IV CÁC VÍ DỤ MINH HỌA :

1 Viết chương trình nhập vào một ký tự chữ thường rồi đổi thành chữ hoa Program Doi_chu_thuong_ra_chu_hoa ;

Var

a , b , ch : char ; Begin

Writeln ( ‘ Chuong trinh doi chu thuong ra chu hoa ‘ ) ; Writeln ( ‘ ……… ‘ ) ;

Trang 7

Write ( ‘ Nhap vao mot ky tu bat ky ch = ‘ ) ; readln ( ch ) ;

a := upcase ( ch ) ;

b := chr(ord(ch) – 32 ) ; writeln ( ‘ Cach thu nhat dung ham upcase : ‘ , a ) ;

writeln ( ‘ Cach thu hai dung ma ASCII : ‘ , b ) ; readln ;

End

2 Viết chương trình nhập vào một ký tự chữ hoa rồi đổi thành chữ thường Program Doi_chu_hoa_ra_chu_thuong ;

Var

a , ch : char ; Begin

Writeln ( ‘ Chuong trinh doi chu ra chu thuong ‘ ) ; Writeln ( ‘ ……… ‘ ) ; Write ( ‘ Nhap vao mot ky tu bat ky ch = ‘ ) ;

readln ( ch ) ;

a := chr (ord ( ch ) + 32 ; writeln ( ‘ Doi ra chu thuong la : ‘ , a ) ;

readln ; End

BÀI 05 : CÂU LỆNH IF … THEN … ELSE …

IF < Biểu thức điều kiện > THEN lệnh1 [ ELSE lệnh2 ] ;

• IF , THEN , ELSE là các từ khóa

• < Biểu thức điều kiện > sẽ cho ra một trong hai trị : đúng ( TRUE ) hoặc sai ( FALSE )

• Tại vị trí lệnh1 và lệnh2 ta chỉ sử dụng được một lệnh , nếu tại vị trí này

ta muốn thực hiện nhiều lệnh thì phải sử dụng câu lệnh phức Câ lệnh phức bắt đầu bằng từ khóa Begin sau đó là các lệnh , cuối cùng là từ

khóa End với dấu ‘;’

• Từ cú pháp của lệnh ta chia ra làm hai mẫu câu : ♣ IF biểu thức điều kiện THEN lệnh1 ; Câu lệnh này có nghĩa là nếu biểu thức điều kiện đúng thì thực hiện lệnh1 , nếu sai thì câu lệnh này sẽ bỏ qua

♣ IF biểu thức điều kiện THEN lệnh1 ELSE lệnh2 ; Câu lệnh này có nghĩa là nếu biểu thức điều kiện đúng thì thực hiện lệnh1 , nếu sai thì thực hiện lệnh2

III CÁC VÍ DỤ MINH HỌA :

Trang 8

1 Viết chương trình nhập vào hai số nguyên Nếu số thứ nhất nhỏ hơn số thứ hai thì không cần đổi chỗ , ngược lại nếu số thứ nhất lớn hơn số thứ hai thì đổi chỗ để in

ra hai số theo thứ tự nhỏ đến lớn

Program Sap_xep_hai_so_nguyen ;

Var

a , b , c : integer ;

Begin

Writeln ( ‘ Chuong trinh sap sep hai so nguyen ‘ ) ;

Writeln ( ‘ ……… ‘ ) ; Write ( ‘ Nhap vao so thu nhat a = ‘ ) ;

readln ( a ) ;

Write ( ‘ Nhap vao so thu hai b = ‘ ) ;

readln ( b ) ;

if a > b then

begin

c := a ;

a := b ;

b := c ;

end ;

writeln ( ‘ Ta vua nhap cac so sau : ‘ ) ;

writeln ( a : 20 ) ;

writeln ( b : 20 ) ;

readln ;

End

2 Viết chương trình giải phương trình bậc nhất dạng ax + b = 0

Program PTB1 ;

Var

a , b , x : real ;

Begin

Writeln ( ‘ Chuong trinh giai phuong trinh bac nhat dang : ax + b = 0 ‘ ) ; Write ( ‘ Nhap so thuc a = ‘ ) ;

readln ( a ) ;

Write ( ‘ Nhap so thuc b = ‘ ) ;

readln ( b ) ;

if a < > 0 then

begin

x:= - b/a ;

writeln ( ‘ Phuong trinh co mot nghiem x = ‘ ; x : 20 : 2 ) ;

end

else

if b < > 0 then

writeln ( ‘ Phuong trinh vo nghiem ‘ )

else

writeln ( ‘ Phuong trinh co nghiem voi moi x ‘ ) ;

Trang 9

CASE < biểu thức > OF Giá trị 1 : < Việc 1 > ; Giá trị 2 : < Việc 2 > ; ………

Giá trị N : < Việc N > ; Else < Việc N + 1 > ; END;

readln ;

End

BÀI 06 : CÂU LỆNH CASE … OF …

Mẫu 1 : Mẫu 2 :

II GIẢI THÍCH :

- Trong cả hai mẫu trên < biểu thức > có thể có nhiều kiểu khác nhau ( Logic, ký tự , … ) nhưng không được có kiểu REAL

- Mẫu 2 sẽ thực hiện < Việc N + 1 > ( được viết sau từ khóa Else ) nếu như

< biểu thức > không rơi vào các giá trị từ 1 … N kể trên

- Lệnh CASE bao giờ cũng kết thúc bằng từ khóa END ;

III CÁC VÍ DỤ MINH HỌA :

VD1 : Chương trình nhận biết số chẵn hay số lẻ :

Program Chan_le;

Uses crt;

Var

So, Du : integer;

Begin

Clrscr;

Write('Nhap vao mot so nguyen : ');

Readln(so);

Du:=So mod 2;

Case Du of

0 : Writeln('Day la so chan');

1 : Writeln('Day la so le');

End;

Readln;

End

VD 2 : Tính số ngày của một tháng

Program Tinh_ngay_thang ;

CASE < biểu thức > OF

Giá trị 1 : < Việc 1 > ;

Giá trị 2 : < Việc 2 > ;

………

Giá trị N : < Việc N > ;

END;

Trang 10

Uses crt ;

Var

So_ngay, thang, nam : integer ;

Begin

Clrscr ;

Write( ' Nhap thang : ' ) ;

Readln(Thang) ;

Write( ' Nhap nam : ' ) ;

Readln(Nam) ;

Case Thang of

1,3,5,7,8,10,12 : So_ngay:=31 ;

4,6,9,11 : So_ngay:=30 ;

2 : Case Nam Mod 4 of

0 : So_ngay:=29 ;

1,2,3 : So_ngay:=28 ;

End ;

End ;

Writeln (' So ngay cua Thang ',Thang,' Nam ', Nam ,' la : ',so_ngay) ;

Readln ;

End

BÀI 09 : VÒNG LẶP WHILE … DO …

I CÚ PHÁP :

WHILE < Biểu thức điều kiện > DO < Lệnh > ;

II GIẢI THÍCH :

• While , do là các từ khóa

• < Biểu thức điều kiện > có thể là biểu thức hoặc biến kiểu Boolean

• Tại vị trí < Lệnh > ta chỉ thực hiện được một lệnh

• Toàn bộ cấu trúc While … do … là một câu lệnh đơn

• Cấu trúc While … do … có công dụng tạo vòng lặp khi số lần lặp không biết trước Khi < Biểu thức điều kiện > lặp còn đúng thì còn thực hiện lệnh , cho tới khi nào < Biểu thức điều kiện > lặp là sai thì thoát khỏi vòng lặp

III CÁC VÍ DỤ MINH HỌA :

1 Viết chương trình để chứng minh rằng phép chia giữa hai số nguyên chẳng qua chỉ là phép trừ In kết qủa ra màn hình số thương và số dư

Program Phep_chia ; Var

chia , bichia , tam , thuong , du : integer ; Begin

Writeln ( ‘ Chuong trinh phep chia chi la phep tru ‘ ) ; Writeln ( ‘ ……… ‘ ) ;

Ngày đăng: 17/09/2013, 12:10

Xem thêm

TỪ KHÓA LIÊN QUAN

w