Tìm hiểu cách viết chương trình pascal lớp 11
Cấu trúc chung:
[]
- Phần thân nhất thiết phải có
- Phần khai báo có thể có hoặc không
Ta quy ước:
- Các diễn giải bằng ngôn ngữ tự nhiên được đặt giữa cặp dấu < và >.
- Các thành phần của chương trình có thể có hoặc không được đặt dấu [ và ]
Phần khai báo bao gồm:
- Khai báo tên chương trình.
Program ;
Tên chương trình: là tên do người lập trình đặt ra theo đúng quy định về tên. Phần khai báo này có thể có hoặc không.
Ví dụ: Program vidu1;
Hay Program UCLN;
- Khai báo thư viện.
Uses ;
Đối với pascal thì thư viện crt thường được sử dụng nhất, đây là thư viện các chương trình có sẵn để làm việc với màn hình và bàn phím.
Ví dụ: Uses crt;
- Khai báo hằng
Const n = giá trị hằng;
Là khai báo thường được sử dụng cho những giá trị xuất hiện nhiều lần trong chương trình.
Ví dụ: Const n = 10;
Hay Const bt = ‘bai tap’;
- Khai báo biến.
Tất cả các biến dùng trong chương trình đều phải được đặt tên và khai báo cho chương trình dịch biết để lưu trữ và xử lý. Biến chỉ nhận một giá trị tại mỗi thời điểm khai báo được gọi là biến đơn.
Ví dụ:Var i: integer;
Phần thân chương trình
Begin
[]
End.
Trong đó:
- Begin: bắt đầu [tên dành riêng]
- End: kết thúc [tên dành riêng]
Những cấu trúc trong chương trình pascal lớp 11
Cấu trúc rẽ nhánh
Cấu trúc rẽ nhánh có dạng:
- Dạng thiếu: If then [đã được học ở lớp 8]
- Dạng đủ If then else
Ở dạng đủ câu lệnh được hiểu như sau: Nếu đúng thì được thực hiện, ngược lại thì được thực hiện.
Ví dụ: Nếu x B nếu ký tự đầu tiên khác nhau giữa chúng kể từ trái sang phải trong xâu A có mã ASCII lớn hơn.
Ví dụ: ‘Ha Noi’ > ‘Ha Nam’ [Do O có mã thập phân lớn hơn A trong bảng mã ASCII]
- Nếu A và B là các xâu có độ dài khác nhau và A là đoạn đầu của B thì A < B
Ví dụ: ‘Thanh pho’ < ‘Thanh pho Ho Chi Minh’
Một số thủ tục chuẩn xử lý xâu
- Thủ tục delete[st, vt, n]
Ý nghĩa: xóa ký tự của biến xâu st bắt đầu từ vị trí vt
Trong đó:
- st: giá trị của xâu.
- vt: vị trí cần xóa.
- n: số kí tự cần xóa.
Ví dụ:
Giá trị S | Thao tác | Kết quả |
‘abcdef’ | delete[S,5,2] | ‘abcd’ |
‘Dat nuoc’ | delete[S,5,4] | ‘Dat’ |
- Thủ tục insert[S1, S2, vt]
Ý nghĩa: Chèn xâu S1 vào xâu S2, bắt đầu ở vị trí vt.
Ví dụ:
S1 | S2 | Thao tác | Kết quả |
‘PC’ | ‘IBM486’ | insert[S1,S2,4] | ‘IBM PC 486’ |
‘’ | ‘Tinhoc’ | insert[S1,S2,4] | ‘Tin hoc’ |
‘lop’ | ‘11C’ | insert[S1,S2,4] | ‘lop11C’ |
- Hàm copy[S, vt, n]
Ý nghĩa: Tạo xâu gồm n kí tự liên tiếp bắt đầu từ vị trí vt của xâu S. Cho giá trị là một xâu ký tự được lấy trong xâu S.
Ví dụ:
Giá trị S | Thao tác | Kết quả |
‘Bai hoc dau tien’ | copy[S,9,8] | ‘dau tien’ |
‘Hoc ki 1’ | copy[S,4,5] | ‘ki 1’ |
- Hàm length[S]
Ý nghĩa: Trả về giá trị là độ dài của xâu S. Kết quả trả về là một số nguyên
Ví dụ:
Giá trị S | Thao tác | Kết quả |
‘Kim Dong’ | length[S] | 8 |
‘Van hoc’ | length[S] | 7 |
- Hàm pos[S1,S2]
Ý nghĩa: Trả về kết quả vị trí của xâu S1 trong xâu S2. Kết quả trả về là một số nguyên.
Ví dụ:
Giá trị S | Giá trị S2 | Thao tác | Kết quả |
‘Nang’ | ‘Nang dong’ | pos[S1,S2] | 1 |
‘Bung’ | ‘Tot bung’ | pos[S1,S2] | 5 |
- Hàm upcase[S]
Ý nghĩa: Trả về kết quả viết in hoa 1 chữ cái có trong S.
Ví dụ:
Giá trị S | Thao tác | Kết quả |
‘a’ | upcase[S] | ‘A’ |
‘b’ | upcase[S] | ‘B’ |
Lưu ý: Kiểu mảng với phần tử thuộc kiểu char khác với kiểu xâu [khai báo bằng từ khóa string] nên không thể áp dụng các thao tác [phép toán, hàm, thủ tục] của xâu cho mảng.
Kiểu bản ghi
- Dữ liệu kiểu bản ghi dùng để mô tả các đối tượng có cùng một số thuộc tính mà các thuộc tính có thể có các kiểu dữ liệu khác nhau.
- Khai báo kiểu bản ghi:
Type = record
: ;
< Tên trường 2>: ;
……………….
: ;
End;
- Biến bản ghi
Var : ;
Ví dụ: Định nghĩa bản ghi Hocsinh để quản lý thông tin của một học sinh gồm: Hoten, Noisinh, Toan, Van, Anh. Khai báo 2 biến A, B là biến kiểu bản ghi
Type Hocsinh = Record
Hoten: String[30];
Noisinh: String[15];
Toan, Van, Anh : Real;
end;
Var A, B : Hocsinh;
Kiểu dữ liệu tệp
- Cách khai báo:
Var : TEXT;
- Gắn tên tệp
Assign [, ];
- Mở tệp để ghi
Rewrite [];
- Ghi tệp văn bản
Writeln [, ];
- Đóng tệp
Close [];
- Mở tệp để đọc
Reset [];
- Đọc dữ liệu từ tệp
Readln [, ];
- Kiểm tra con trỏ đã ở cuối tệp
EOF [];
Nếu con trỏ đã ở cuối tệp hàm sẽ trả về giá trị TRUE.
- Kiểm tra con trỏ đã ở cuối dòng
EOLN [];
Nếu con trỏ đã ở cuối dòng hàm sẽ trả về giá trị TRUE
Chương trình con trong chương trình pascal lớp 11
Chương trình con
Khái niệm: Chương trình con theo định nghĩa chính là một dãy lệnh mô tả một số thao tác nhất định và có thể được thực hiện [được gọi] từ nhiều vị trí trong chương trình.
Cách khai báo:
Ví dụ: Hãy khai báo một chương trình con dùng để tính lũy thừa.
Function luythua [x: Real ; k: integer]: Real;
Var i : integer;
Begin
luythua:=1.0;
For i:=1 to k do luythua:=luythua*x;
End;
Lợi ích của việc sử dụng chương trình con
- Giúp tránh được việc phải viết lặp đi lặp lại cùng một dãy lệnh, đồng thời khi cần dùng có thể gọi lại chương trình con đó.
- Sử dụng chương trình con còn hỗ trợ việc thực hiện các chương trình lớn
- Phục vụ cho quá trình trừu tượng hóa. Người lập trình có thể sử dụng kết quả của chương trình con mà không cần quan tâm đến chương trình đó đã được cài đặt thế nào.
- Mở rộng khả năng ngôn ngữ thành thư viện cho nhiều người dùng.
- Thuận tiện cho phát triển, nâng cấp chương trình.
Biến toàn cục và biến cục bộ
- Biến toàn cục chính là biến được khai báo trên phần khai báo của chương trình chính [được khai báo gần chữ Program] được gọi là biến toàn cục và được sử dụng cho toàn bộ chương trình.
- Biến cục bộ được hiểu là biến được khai báo trong chương trình con. Biến cục bộ chỉ được sử dụng trong chương trình con.
Bài tập viết phương trình pascal lớp 11
Ví dụ 1: Viết phương trình pascal tính diện tích hình tam giác khi biết số đo của 2 cạnh và 1 góc được nhập từ bàn phím.
Cách giải:
Ví dụ 2: Viết phương trình pascal giải phương trình ax + b = 0. a,b được nhập từ bàn phím
Cách giải:
Ví dụ 3: Cho bài toán về tháp Hà Nội.
Cách giải:
Ví dụ 4: Nhập vào mảng A có N phần tử [N < 50]. Hãy viết chương trình pascal sắp xếp mảng A theo thứ tự tăng dần.