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 . 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à. 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. 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: