Trường THPT Tây Nam Bài tập Pascal 11
BÀI TẬP PASCAL 11
BÀI TẬP PASCAL 11
Phần 1: CÁC KIỂU DỮ LIỆU TRONG PASCAL
Bài 1: Trong các tên sau, hãy cho biết tên sai và giải thích lý do.
#TONG 1DEM SO2 TICH S0 DIENTICHHV
VAR1 Dientich hv END EN9D BAI_1
Bài 2: Hãy chỉ ra tên sai trong những câu sau:
1. a. GiaPT, b. Giai_PT, c. Giai-PT, d. GIAIPT.
2. a. Begina, b. Begin1, c. Begin, d. Beginend
3. a. So2, b. So 2, c. S2o, d. SO2
Bài 3 : Hãy chỉ ra chú thích sai trong các câu sau:
1. { Hãy chọn câu sai }
2. { Hãy chọn {câu sai }
3. (* Hãy chọn { câu sai }
4. (* Hãy chọn câu sai *)
Bài 4 : Hãy chỉ ra chú thích sai trong các câu sau:
1. { Hãy chọn câu sai
2. { Hãy chọn (* câu sai }
3. (* Hãy chọn { câu sai *)
4. (* Hãy chọn (* câu sai *)
Bài 5 : Hãy chỉ ra chú thích đúng trong các câu sau:
1. (* Hãy chọn câu đúng
2. { Hãy chọn { câu } đúng }
3. { Hãy { chọn { câu đúng }
4. { Hãy chọn (* câu ) đúng }
Bài 6 : Cho biết từ nào không phải là từ khoá của Pascal:
1. a. BEGIN, b. END, c. IIF, d. GOTO
2. a. SUB, b. FUNCTION, c. VAR, d. PROCEDURE
3. a. DIV, b. INTEGER, c. INT, d. REAL
Bài 7 : Hãy cho biết ký hiệu nào Pascal không chấp nhận trong tên:
1. a. % b. _ c. 1 d. z
2. a. w b. 0 c. - d. J
Bài 8 : Hãy cho biết từ nào không phải là tên chuẩn của Pascal:
1. a.ABS b. COS c. MOD d. ROUND
2. a. IN b. SQR c. SQRT d. CHR
Lưu hành nội bộ
1
Trường THPT Tây Nam Bài tập Pascal 11
Bài 9: Vì sao bạn phải biết và nhớ các từ khoá của ngôn ngữ Pascal?
Bài 10: Hãy phân biệt từ khoá với tên chuẩn.
Bài 11: Có thể dùng tiếng Việt để đặt tên biến hay không?
Bài 12: Tên là gì? Dùng để làm gì?
Bài 13: Khi cần đếm một số từ – 100 đến 100, ta dùng kiểu nào:
a. BYTE b. SHORTINT
c. WORD c. CHAR
Bài 14: Khi cần đếm một số từ 0 đến 10, dùng kiểu dữ liệu nào tốt nhất:
a. BOOLEAN b.CHAR
c. INTEGER d. BYTE
Bài 15: Để tính điểm trung bình cho từng học sinh, ta dùng kiểu dữ liệu
nào:
a. WORD b.INTEGER
c. BYTE d. REAL
Bài 16: Để đếm các số từ 100 đến 50000, ta có thể dùng các kiểu dữ liệu
nào?
Bài 17: Có thể dùng kiểu INTEGER trong những trường hợp nào nếu các
số đếm từ:
a. – 100 đến 50000 b. 100 đến 32768
c. – 32769 đến 100 d. 0 đến 10000
Bài 18: Trong các biểu thức sau, biểu thức nào sẽ cho kết quả la TRUE:
a. (3>7) and (3<5) b. (3>9)
c. (3>7) or (3<5) d. TRUE < FALSE
Bài 19: Cho biết kết quả của các phép toán sau:
a. 17 DIV 5 b. 30 DIV 7
c. 13 MOD 5 d. 6.5 MOD 2
Bài 20: Cho biết kết quả của các biểu diễn sau:
a. #76 b. CHR(68)
c. ORD(‘c’) d. ‘a’
e. ORD(CHR(78)) f. ORD((‘Z’) +32
G. #100 h.CHR(77)
Bài 21: Cho biết kết quả của các hàm sau:
a. ABS(-7.5) b. SQR(5)
c. SQRT(36) d. ROUND(15.51)
e. ROUND(25.49) f. TRUNC(43.95)
g. SQRT(SQR(11)) h. Sqrt(ord(‘A’) + 16).
Lưu hành nội bộ
2
Trường THPT Tây Nam Bài tập Pascal 11
Phần 2: BÀI TẬP VỀ CÁC KIỂU DỮ LIỆU VÀ CẤU TRÚC
CHƯƠNG TRÌNH PASCAL
Bài 22: Hãy định nghĩa một kiểu dữ liệu mới chỉ chấp nhận các số 0, 1, 2,
3, 4, 5, 6, 7.
Bài 23: Viết câu lệnh khai báo các biến a, b là các biến kiểu số thực; c, d là
các biến kiểu số nguyên có thể chấp nhận các số từ – 32768 đến
32767.
Bài 24: Đầu chương trình ta khai báo hằng Pi = 3.14 bằng câu lệnh sau:
Const Pi = 3.14;
Hãy cho biết trong chương trình có thể thực hiện câu lệnh sau
không? Tại sao?
Pi := 3.1416;
Bài 25: Cho biết kết quả của các biểu thức sau:
a. 49 + 2 <50
b. (18 + 12 < 29) OR (25 DIV 4 > 1)
c. (29 MOD 16) + 4
d. 2*3/4*(4 – 2 /2)
e. 89 DIV 9 MOD 3
f. (ORD(‘a’) – 70 DIV 10) MOD 7
Bài 26: Cho biết giá trị của biến X sau khi thực hiện xong lệnh gán:
a. X := 3*4/(5+1);
b. X := 3*4/5+1;
c. X := (9>5) XOR True;
d. X := 12 DIV 5 + 16;
Bài 27: Đầu chương trình, ta khai báo các biến như sau:
Var a:integer;
b: byte;
Hãy cho biết các câu lệnh gán sau, câu lệnh nào là không hợp lệ? Tại sao?
a. b:=200; b. a:=45000;
c. b:=256; d. a:=3.14;
Bài 28: Viết chương trình tính: Tổng, hiệu, tích, thương của hai số thực bất
kỳ (hai số thực nhập từ bàn phím)
Bài 29: Viết chương trình tính: chu vi, diện tích của hình chữ nhật (với
chiều dài và chiều rộng của hình chữ nhật là số thực dương được nhập từ
bàn phím)
Bài 30: Viết chương trình tính: chu vi, diện tích của hình tròn (với bán kính
của hình tròn là số thực dương nhập từ bàn phím).
Bài 31: Viết chương trình nhập 3 số nguyên dương a, b, c. Sau đó tính và in
ra màn hình giá trị trung bình cộng S của 3 số đó.
Lưu hành nội bộ
3
Trường THPT Tây Nam Bài tập Pascal 11
Phần 3: BÀI TẬP CẤU TRÚC ĐIỀU KIỆN IF…THEN
Bài 32: Viết chương trình nhập vào 2 số thực bất kỳ, kiểm tra xem chúng có
phải là chiều dài và chiều rộng của một hình chữ nhật hay không. Nếu có thì
in chu vi và diện tích của hình chữ nhật đó, nếu không thì in thông báo
‘Không tồn tại hình chữ nhật’.
Bài 33: Viết chương trình nhập vào 1 số thực bất kỳ, kiểm tra xem có phải
là bán kính của hình tròn hay không. Nếu có thì in chu vi và diện tích của
hình tròn đó, nếu không thì in thông báo ‘Không tồn tại hình tròn’.
Bài 34: Viết chương trình nhập vào 3 số thực bất kỳ, kiểm tra xem chúng có
phải là độ dài 3 cạnh của tam giác hay không. Nếu có thì in chu vi và diện
tích của tam giác đó, nếu không thì in thông báo ‘Không phải là tam giác’.
Bài 35: Viết chương trình nhập số nguyên dương X, in kết quả cho biết số
đó có chia hết cho 3 hay 7 không?
Bài 36: Viết chương trình giải và biện luận hệ phương trình bậc nhất hai
ẩn:
ax + by = m
cx + dy = n
Bài 37:
a. Viết chương trình nhập từ bàn phím 4 số thực dương a, b, c, d. Hãy
kiểm tra xem 4 số trên có lập thành 4 cạnh của một tứ giác hay
không?
b. Viết chương trình giải phương trình bậc hai tổng quát: ax
2
+ bx + c =
0.
Bài 38: Viết chương trình : nhập vào từ bàn phím 3 số a, b, c. Sau đó tìm
min của: a+b+c; 2abc; ab; ac; bc.
Bài 39: Viết chương trình: Cho tam giác với 3 cạnh a, b, c. Tính độ dài:
a. Các đường cao
b. Các đường trung tuyến.
c. Các đường phân giác
=> Hướng dẫn công thức: Sử dụng công thức Hêrông.
Bài 40: Viết chương trình giải phương trình bậc nhất tổng quát: ax + b = 0.
Lưu hành nội bộ
4
Trường THPT Tây Nam Bài tập Pascal 11
Phần 4: BÀI TẬP CẤU TRÚC LẶP
Bài 41: Lập chương trình tính tổng n số tự nhiên đầu tiên (n >=1).
Bài 42: Lập chương trình tính tích m số nguyên đầu tiên (n >=1).
Bài 43: Lập chương trình tính:
)
1
1) (
2
1
1)(
1
1
1(
222
n
S
+++=
Bài 44: Lập chương trình in ra số thứ tự các ngày trong tuần bắt đầu từ:
ngày đầu tiên là ngày thứ hai, ngày số 2 là ngày thứ ba, …., ngày số 7 là
ngày chủ nhật.
Bài 45: Cho a
∈
R, n
∈
N. Tính: a(a+1)(a+2)…(a+n-1)
Bài 46: Cho a
∈
R, n
∈
N. Tính:
)) (2)(1(
1
)1(
11
naaaaaaa
+++
++
+
+
Bài 47: Lập chương trình tính:
)63) (3)(1(
)64) (4)(2(
−−−
−−−
xxx
xxx
Bài 48: Viết chương trình tính: S = 2
n
Bài 49: Viết chương trình tính: S = a
n
Bài 50
**
: Lập chương trình: Chia số tiền (t) đồng thành các loại tiền
50.000đ, 20.000đ, 10.000đ. Sao cho tổng số tờ giấy bạc là ít nhất.
Lưu hành nội bộ
5
Trường THPT Tây Nam Bài tập Pascal 11
Phần 5: BÀI TẬP CẤU TRÚC LẶP
Bài 51: Lập chương trình: Tính tổng của 1001 số tự nhiên đầu tiên, bắt đầu
từ số 1. (1<= n <=1001)
Bài 52: Lập chương trình tính tổng n số nguyên dương đầu tiên (n >=1).
Bài 53: Lập chương trình : Tính tích của n số tự nhiên đầu tiên (n nhập từ
bàn phím, n>=1).
Bài 54: Lập chương trình tính:
)
1
1) (
2
1
1)(
1
1
1(
222
n
S
+++=
(n nhập từ bàn phím)
=> Hướng dẫn công thức: S:=S*(1+1/(i*i));
Bài 55: Lập chương trình tính:
n
S
1
5
1
4
1
3
1
2
1
1
++++++=
(n nhập từ bàn phím)
=> Hướng dẫn công thức: S:=S+1/i;
Bài 56: Lập chương trình: Tính hàm luỹ thừa 2
n
, n là số tự nhiên được
nhập vào từ bàn phím (n>=0).
Bài 57: Lập chương trình: Tính hàm luỹ thừa
a
n
, ở đây a là số thực và n là
số tự nhiên được nhập vào từ bàn phím (n>=0).
Bài 58: Cho a
∈
R, n
∈
N. Tính: a(a+1)(a+2)…(a+n-1)
Bài 59: Cho a
∈
R, n
∈
N. Tính:
)) (2)(1(
1
)1(
11
naaaaaaa
+++
++
+
+
Bài 60: Lập chương trình tính:
)63) (3)(1(
)64) (4)(2(
−−−
−−−
xxx
xxx
Lưu hành nội bộ
6
Trường THPT Tây Nam Bài tập Pascal 11
Phần 6: BÀI TẬP KIỂU MẢNG
(61)-Bài mảng 1: Viết chương trình nhập vào một mảng(một dãy số) có n
phần tử, sau đó:
a. In ra các phần tử của mảng đó theo chiều từ phần tử thứ 1 đến phần
tử thứ n theo chiều ngang và theo chiều dọc.
b. In ra các phần tử của mảng đó theo chiều từ phần tử thứ n đến phần
tử thứ 1 theo chiều ngang và theo chiều dọc.
c. In ra các phần tử của mảng đó theo chiều từ phần tử thứ 1 đến phần
tử thứ n và ngược lại từ phần tử thứ n đến phần tử thứ 1 theo chiều
ngang và theo chiều dọc.
(62)-Bài mảng 2: Viết chương trình nhập vào một dãy số nguyên có n số(n
phần tử) sau đó:
a. Tìm và in ra màn hình giá trị lớn nhất(max) của dãy.
b. Tìm và in ra màn hình giá trị nhỏ nhất(min) của dãy.
c. Tìm và in ra màn hình giá trị lớn nhất(max) và giá trị nhỏ
nhất(min) của dãy đó trong cùng một chương trình.
d. Tìm và in ra màn hình vị trí ban đầu của giá trị max.
e. Tìm và in ra màn hình vị trí ban đầu của giá trị min.
f. Tìm và in ra màn hình vị trí ban đầu của giá trị max và giá trị
min trong cùng một chương trình.
(63)-Bài mảng 3: Viết chương trình nhập vào một dãy số nguyên có n số(n
phần tử) sau đó:
a. Tìm và in ra màn hình tổng các phần tử dương của dãy.
b. Tìm và in ra màn hình số hạng > 0 đầu tiên của dãy của dãy.
c. Tìm và in ra màn hình số hạng < 0 đầu tiên của dãy của dãy.
d. Kết hợp cả 3 phần a, b, c ở trên trong một chương trình.
64)-Bài mảng 4: Viết chương trình nhập vào một dãy số nguyên có n số(n
phần tử) sau đó sắp xếp và in ra màn hình dãy tăng dần.
(65)-Bài mảng 5: Viết chương trình nhập vào một định thức(ma trận) có n
hàng và m cột, sau đó in ra màn hình ma trận đó.
(66)-Bài mảng 6: Viết chương trình nhập vào hai định thức( 2ma trận) a và
b đều có n hàng và m cột rồi in hai ma trận đó ra màn hình, sau đó tìm và in
ra màn hình tổng của hai ma trận đó.
Lưu hành nội bộ
7
Trường THPT Tây Nam Bài tập Pascal 11
Phần 7: BÀI TẬP KIỂU CHUỖI
(68)-Bài xâu 1: Định nghĩa:
Var hoten:String[43];
Và gán:
hoten:=’Thuc Anh’;
Hỏi độ dài thực của hoten?
hoten[17] bằng bao nhiêu? Tại sao?
(69)-Bài xâu 2:Hãy cho biết giá trị biến chuỗi S khi được xuất ra màn
hình là gì?:
Var S :String[10];
BEGIN
S:=’Borland 7.0’;
Insert(‘Pascal’ , S, 9);
Writeln;
END.
(70)-Bài xâu 3: Lập chương trình nhập vào một chuỗi bất kỳ S, sau đó in
ra màn hình độ dài thực tế của chuỗi S.
(71)-Bài xâu 4: Lập chương trình nhập vào một chuỗi bất kỳ S có độ dài
thực tế >=3, sau đó lấy và in ra màn hình ký tự thứ 2 và thứ 3 của chuỗi .
(72)-Bài xâu 5: Lập chương trình nhập vào một số nguyên bất kỳ d, sau
đó đổi số nguyên đó ra chuỗi số S rồi in ra màn hình chuỗi số S đó.
(73)-Bài xâu 6: Lập chương trình nhập vào 3 chuỗi bất kỳ a, b, c. Sau đó
nối 3 chuỗi đó thành một chuỗi S và xuất ra màn hình.
(74)-Bài xâu 7: Lập chương trình nhập vào họ và tên của mình(của học
sinh), sau đó chèn vào tên lót(tên đệm) và in ra màn hình họ tên đầy đủ.
(75)-Bài xâu 8: Lập chương trình nhập vào họ và tên đầy đủ của
mình(của học sinh), sau đó xoá họ và in ra màn hình tên của học sinh.
(76)-Bài xâu 9: Lập chương trình nhập vào 2 chuỗi bất kỳ a, b(với chuỗi
b là con của chuỗi a, tức là trong chuỗi a có 1 phần giống chuỗi b). Sau đó
tìm và in ra màn hình vị trí đầu tiên tìm thấy chuỗi b trong chuỗi a.
Lưu hành nội bộ
8