GT7 ow
Trang 4Ph an 1 BAI TAP
Phan 1 BAI TAP
§1 KIEU DU LIEU BOOLEAN
BS Câu hỏi, ví dụ, bởi tập
1 Tn uà cho chạy thử chương trừnh sau: œ) Program Exarnple1;
Var Check: Boolean; X, Y: integer; Begin
Write(‘Nhap giá trị X:);, Readln(X); Write(Nhập giá trị Y:'); ReadIn(Y); Check:= (X>Y), lf Check then Wnteln( X>Y') Else Writeln(X<=Y"; Readin; End b) Program Example2; Var Check: Boolean; x: Integer, Begin Write(Nhập giá trị x:'); ReadIn(x); Check:= (X mod 7 = 0);
Trang 54 Pascal danh cho hoc sinh Readin;
End
Nêu nột dung uà bế! quả của các chương trình trên
2 Tim giá trị của biểu thức Logic
a) (100>76) and ('3'<‘A):
b) Nof((xˆ+x+1)>0 and (2>4 mod 2))
c) (5>10 div 3) and Not(not(100>76) or (x?>=0))
3 Hay viét các biểu thức logic mà nó đúng nếu: a) | chia hết cho J
b) Mchan
©) Y khơng nằm trong khodng (-2, -1) ciing nhu không
nam trong khoảng từ (1, 2)
4 Bạn hãy nhập uào từ bàn phím ba số nguyên bất ky va kiém tra xem tổng của chúng có lớn hơn 1 không va in ra két qua
ð Bạn hãy nhập uào từ bàn phín một số nguyên bất ki va kiém tra xem số đó có chìa hết cho 3 va nằm trong khoảng từ 20 đến 70 không 0à in kết quỏ ra màn hình
6 Nhap ba sé thuc a, b, c bat ky va kiém tra xem: a) Né cé phai la ba canh cua mét tam giác hay khéng?
b) Có phải là ba cụnh của một tan giác 0uông không? c) Có phỏi là ba cạnh của một tam giác tù hay không? 7 Viết chương trình nhập liên tiếp cúc số thực từ bàn phím Chương trùnh chì dừng lại khi tổng các số được
Trang 6Phần 1 BÀI TẬP 5
8 Nhập một số thực a từ bàn phím Viết chương trình làm các công 0uiệc sau:
a) Nếu a <Ô thì ín ra aˆ b) Néu a=0 thi in ra 0 c) Néu a>0 thi in ra a&
9 Cho trude cap sé X, Y la biểu diễn một điểm trên mặt phẳng tọa độ Hã y kiếm tra vi tri cua điểm đã cho bà thông báo Dị trí tương ứng của điểm như sau:
- Nốu X?+Y?= 0 thì thông báo "Điểm đã cho trùng với gốc tọa độ”
- Nếu X°+Y? >0 th} xét các trương hợp sau đáy œ) Nếu X30, Y >0 thông báo "Điểm nằm trong góc 1/4 thứ nhất" b) Nếu X<ũ, Y >0 thông báo "Điểm nằm trong góc 1/4 thứ hai" c) Néu X<0, Y <0 thông báo "Điểm nằm trong góc 1/4 thứ ba” đ) Nếu X>0,.Y<0 thông bao "Điểm nằm trong góc 1/4 thứ tư" e) Trong trường hựp còn lại thông báo "Điểm nằm trên các trục tọa độ”
Trang 76 ` Pascal dành cho học sinh LL Bai tap vé nha
11 Trong các biểu thức toán học sau, biểu thức nào là có biểu Logic (tite la Boolean theo chuẩn Pascdl): a)x°+y)>0 h) ax? + bx+c c) 1+ 1/2 + 1/3 + + 1/100 4) f(X)=X* + 3X) + 5X? - 10X -3 12 Tính giá trị của các biểu thức Logic sau: a) (2> 1+ 1.52) or not(52=3234?) b) (not(2>1) and (12=10+2)) or not((10<0) and (1+1/2+1/3 > 7/4)) 13 Hay kiém tra kết qud của chương trình sau: Program VD; Var b: Boolean; Begin
b:= (not(sqr(2) + sqr(3) < 12) and (not(12 > sqr(2) + sqr(3)}));
Writetn( Biểu thức (not(sqr(2) + sqr(3) < 12) and’
+ '(not(12 > sqr(2) + sqr(3)))) là, b); End
14 Viết chương trình nhập số tự nhiên N từ bàn phím va théng bdo cdc két qua sau ra man hinh:
Trang 8Phần 1 BÀI TẬP 7 15 Chỉ dùng một biến số hiểu Boolean hay viét chương trình so sánh hai số” (1 + 1/100)'* và (1 + 1/101)” 16 Hãy kiểm tra ý nghĩa uà kết qua cua chương trình sau: Program VOD; Var X.Y: real; b: Boolean; Begin Readin{X.Y): b:=X < Round(X); b:=b and (Y < trunc(Y)}; Writeln(b); End 17 Chúng mình các hằng đẳng thức sau: a) X and (not(X)) = False b) X or (not(X)) = True
18 Hay viét biéu thite Logic biểu diễn hàm số sau: | True nếu x <-1 hoặc x > 2
f(x) = False néu -1 <=x<=2 ,
19 Các ô của bàn cờ uua được biểu diễn là một cặp sé tu nhién (i,j) vdi 1<=i,) <=8 Cho trude hai giá trị của hai vi tri trén ban co A=(I;,j;) va B=[Ì;.j;)
a) Hay kiém tra xem hai ô trên có cùng màu không? b) Hã y kiểm tra xem hai quân xe đặt tai hai vi tri
Trang 98 Pascal danh cho hoc sinh c) Kiém tra xem bai quán hậu đặt tại hơi 0ị trí trên có thể ăn lăn nhau được hay không
20 Các mệnh đề sau đúng hay sai? Vì sao?
œ) Biểu thức Logie là biếu thức chỉ nhận một trong hai gid tri 0 vé 1
b) True < False c) Succ(False) = True ad) Pred(Fatse) = True c) True - False = 4
s2, ON TAP KIEU DU LIEU PASCAL
BS cau hỏi, ví dụ, bòi tập
1 Nhập giá trị của 3 điện trở Sau đó tính điện trở của niột cụm ba điện trở đấu song song In bế! quả ra
niòn hình,
2 Nháp ba số @«, b, c tưởng ứng uới ba canh của một tam giác ve tính điện tich cua lam giác theo công thức:
S = ,/plp - aXp -bYp -c)
o day p = (atbtc)i2 !d nica chu vi cua tam gide
Trang 10Phần 1 BÀI TẬP 9
4 Viết chương trình nhập chiều cao (cm), nòng ngực tôi đa (cm), oòng ngực tôi thiêu (cm), cân nang (kg) Sau đó in
ra man hình chỉ số Pignet tính bằng công thức: CSTH=
chiều cao - (trung bình uòng ngực + trọng lượng)
Trang 1140 Pascal danh cho hoc sinh
6 Héy lap trình giải phương trình bậc 2:
ax?+ bx+€= 0
7 Giả sử thuế lợi túc được đánh trên thu nhập theo cach sau:
Thu nhap Thué dén 400.000 2% 400.001 dén 1000000 10% 1000001 dén 2000000 20% trén 2000001 30% Hay lap trinh đưa 0ào số thu nhập của một người, sau đó tính thuế
8 Nếu biết số giây tính từ lúc nửa đêm, hãy uiết chương trình tính giờ, phút, giáy hiện tại
9 Biết rằng ngày 1/1/1997 là ngày thứ tư Cho
trước số tự nhiên N, 1<=NÑ<=365 Hãy uiết chương trình
tính xem trong N ngày đầu tiên của năm 1997 có bœo nhiêu ngày Chủ nhật
Trang 12Phan 1 BAI TAP 11
c) 18014
12 Giai phương trình bậc 4 sau trên máy tính:
ax? + bx” + c =Ũ
13 Viô‡ chương trinh Pascal nhập 4 86 thue a, b, c, d va thu hién cae tinh todn sau:
a) Tinh xem c6 bao nhiéu s6 duong, bao nhiéu sé ám 0uà bao nhiêu số không trong 4 số trên
b) Tính giá trị trung bình của các số trên e) Tính tổng bình phương của các số trên
14 Viết chương trình nhập từ bàn phím 3 số a, b, c Việc nhập số liệu tuân thủ theo nguyên tắc: các số a, b, c phổi khác nhau từng đôi một Trong bhi nhập nếu số đang nhập không thỏa mãn điều biện trên, chương trình sẽ yêu cầu nhập lại Nếu sai phạm quá 2 lần sẽ dừng toàn bộ quá trình nhập liệu
15 Hai cach khai báo biến như sau trong Pascal có gi giống oà bhác nhau: a) Const N:integer = 100: b) Var N:integer; Begin N:=100; 16 Một tổ học sỉnh có 6 bạn cần xếp hàng theo hàng ngang Hỏi có bao nhiêu cách xếp hàng như 0ậy, Em hã y liệt hê tất cả các cách xếp hàng đó
Trang 1312 Pascal danh cho hoc sinh
trường Chứng mình răng sẽ tìm được 3 ong số 6 bạn đó sao cho 3 bạn này hoặc là đã quen nhau đổi một tỪ thước hoặc chưa hề quen nhau bao giờ Em hà y chỉ ra cách để chọn 3 bạn đó
18 Tổ em có ð bạn trong đó có 2 ban nam va 3 ban nữ Cần sắp xếp cả ð bạn của tổ trên một bản tròn sao cho 2 ban nam của tổ không được ngôi cạnh nhau Hỏi có bao nhiêu cách xếp như 0uậy Em hay liét bê tát cả các cách xếp
19 Ent hãy liệt bê tat ca cac cach t6 mau 6 mal cua một khéi lap phuong bot 6 mau: Xanh, Do, Tim, Vang, Da cam, Trang sav cho khong cé hai mat nao cùng màu (Chú ý, khí quay khối lập phuong ta van thu được cùng một cách tô màu)
Trang 14Phần 1 BÀI TẬP 43
§3 KIỂU DỮ LIỆU MẢNG ES cau héi, vi dy, bai tap
1 Các khưi báo sau đúng bay sai: a) Array[5 &] Of Real:
b) Array[3.4 4.8] Of Integer; c) Array Of Array(1 3] Of Integer; ở) Array[10, 13] Of integer;
e) Arrayf'A’ 'Z') Of Array ['A' 'Z'] OFA’ 2
2 Giải hệ phương trình tuyến tính hai ẩn dùng ma trận: th n 32jX+8¿2Y — C2 3 Lap chương trình tạo ra một mũng chứa bảng cửu chương 4 Giả sử em cần uiết chương trình dùng để nhập bờ lưu trữ bảng số có dạng sau: 1000000000 0200000000 0030000000 0000000009
Em sẽ phải khai báo biến như thế nào để đáp úng
được yêu cầu của bài toán
Trang 1514 Pascal danh cho hoe sinh
tcó n dấu căn) em có cần phải khai báo máng để tính tốn khơng, 0ì sao?
6 Tính giá trị trung bình của tổng Ñ số nguyên được nhập vao ti ban phim
7 Viết ra màn hình các chi? edi hoa va nho uit’ đến '2' theo quy cách mi chữ chiêm hai chỗ thành hai dòng khúc nhau Sau đó một dòng trắng rồi đến húi dong ht tu thit tie ngiwoe lai, ee là 0 2) đô? A'oở tir '2' dén ‘a’
8 Viét chuong trinh nhap hai s6 nguyén duong m, n sau đó tính trung bình cộng bình phương các số nguyên từ m đến n
9 Giải bài toán cổ điển Trăm trâu trăm co Trâu đứng ăn năm Trâu năm ăn ba Tréu già ba con ấn Ì
Hỏi có bao nhiêu trâu mỗi loại?
10 Tim tất ca các số có ba chữ số abc sao cho tổng các lập phương của các chữ số bằng chính số đó
11 Viết chương trình nhập một số nguyên dương n, sau đó đếm xem từ 1 đến n có bao nhiêu số chia hết cho 7
12 Viết chương trình nhập một số nguyên dương rồi in ra màn bình tất cả các ước số chăn của nó
Trang 16Phần 1 BÀI TẬP 15 P(x) = a,X"+a,.X" + + a,X` tá 14 Viết chương trình nhập từ bàn phím các phần tử của một dã y số Độ dời của đà y được nhập tử bàn phím 15 Viết chương trình nhập từ bàn phím các phần tứ cúa một mang 2 chiều Kích thước của mảng được nhập trước công từ bàn phím LI Bỏi tập về nhỏ 1G Hai cách khai báo sau có tường đương uới nhau khong:
aj Type Mang = array(1 100] of integer; Var A,B: mang;
b) Var A,B: array[1 100] of integer:
17 Hai cach khai bao sau có tương đương nhau khong:
a) Type Mang = array[1 100] of integer: Var A,B: array{1 100] of mang;
b) Var A,B: array[1 100,1 100] of integer; 18 Dã y s6 sau duoc goi la day Fibonaci:
Trang 1716 Pascal danh cho hoc sinh Viét chuong trinh tinh 20 s6 Fibonaci dau tién va đưa kết quả uào một mảng 20 phần tử
19 Đoạn chương trình sau dùng để sắp xếp lại dã y s6 duoc ghi trong mang Ali}, 1=1,2, N For i:=1 to N do Begin jmin:=i; For j:=i to N do If A[jmin] > Alf) then jmin:=j; Tg:=A[l]; A[il:=A[imin]; Aljmin]:=Tg; End; Hãy kiểm tra tính đúng đắn của đoạn chương trình trên
Trang 18Phần 1 BAI TAP 47 21 Day số À„ được định nghĩa như sau: A, = 1 A,=2 A, = 2A,, + A,2 (0 > 2)
a) Hay lap chương trình tính tà gan gid tri cua day vav mét bién mang
b) Tinh gia tri biéu thitc sau: 1 ste to tory 1 1
Al Aš A:
23 Nhập s6 two nhien N ca viet chiting trình tao mang bao gầm N sé nguyen to duu ten 23 Xét bang sé: oe 6¡7]|0| ——† — | - ` T TT 3412111017] [213.011 6, FPT th » x TẾ —— L1 0,3 2 5: có touts Ị L0|1/2)3, 4i
Các phán tử của bdng† được điện theo gui luat sau:
- Phần từ góc trai dudi thược điền số đâu tiên: 0
- Cúc số Hiếp theo của bang sẽ được điều theo thử fu !0Ừ chưới lên va iu trai qua phat theo nguyén lac: so được điện sẽ lạ xô nguyên thong am nhỏ nhất chứa được điện của các ham a cót chứa ð hiện tại,
q1 CHHng nữĩnh trăng các ô trên đường chéo chính (45 đ))
Trang 1918 - Pascal danh cho hoc sinh b) Báng số trên sẽ đôi xứng qua đường chéo trên e) Viel chương trình điền các sổ của bảng trên trong mang 2 chidu NXN vdi N nhap tit ban phim
24 Viét chuong trinh nhập một bảng số 3x3 uới điều hiện các số được nhập sẽ hiện trên màn hình đúng tự bị trí tương ứng của mình trên bang số
25 Nghiên cứu qui luật nhập số liệu uào nưàng 2 chiều cua các đoạn chương trừnh sau: a) For t:=1 to N do For j:=1 to N do Readin(Aii,j}); b) - For j:=1 to N do For i:=1 to N do Readin(Ali,j}); a) For k:=1 to N For i:=1 to k do Readin{Afik-i]);
26 a) Viét chuong trinh nhap di liéu từ dãy đối xung vao mang mot chiéu
b) Viết chương trình nhập dữ liệu là má trận đối
Trang 20Phần 1 BÀI TẬP 19 §4 LỆNH LẬP FOR BS cau hei, vi du, bai tap 1 Lập trình tính tích cúc số tự nhiên từ 1 đến 10 2 Doan chương trình sau ding hay sai? Tai sao? Fori:= 1 toNdo
For i:= 1 to N do Write(:);
3 Tạo bảng số: dùng vong FOR dé viét lén man
hình các só từ O dén 99 theo cúch sau:
0 1 2 3 4 > 6 7 8 9
10 11 12 19
90 91 92 99
4 Viế! chương trình tính tổng bình phương của các số âm Irong một mảng số nguyên được nhập uào tư bàn phím,
5 Viôt chương trình tùn số lớn nhất uà số nhỏ nhất của
một mảng gồm 10 số nguyên
Trang 2120 Pascal danh cho hoe sinh a) Tính tổng của tất cả các phần tử nằm trên đường chéo chính
b) Tinh tong binh phương của các số trên hang chan e) Có baa nhiêu phần lử của măng có giá trị trong gidi 4 6; 8 Hay nhập tit ban phim câu mỘI Địa trận nguyên A[10,10] oà tĩnh: œ) Tổng bình phương các phần tử là số chắn b) Tổng lập phương các phần tứ là số lẻ
9 Viết chương trình đếm số lần xuất hiện các bí tự từ `A` đến '2' trong 100 lần gõ ki tự vao qua ban phim (la thông phân biệt a voi A, b cói B, ), biết hàm LJpcase tà hàn chuyển đôi chữ thường thành chữ hoa
10 Viết! đoạn chương trình lập ma trận chuyên vi cua ma tran À hai chiều B là ma trận chuyến vi cua ma (trận A nếu các phần tử của chúng có quan hệ
Bị j| = Aliii]
LL) Bai tap vé nha
Trang 22Phần 1 BÀI TẬP — _—— =
14 Cho số tut nhién N Lap chuang trình tỉnh: ga) SốN có hứo nhiêu chữ số
b) Tình tổng các chữ số của Ñ,
15 Cha dã y số a a), , a„ Nháp từ bàn phẩm số C Way tính xem trong đà v trên có bao nhiêu số hạng nho hơn C, có bạo nhiều xố hạng bằng C cà bao nhiều sÓ hạng lớn hơn © 16 Dùng oàng FOR để ciớt lên màn hình các số từ 1 đến 100 theo cách sau: 1 2 3 4 5 6 7 8 9 10 46 37 38 39 40 41 42 43 44 11 45 12 30 ¬ 29 18 28 27 26 25 24 23 22 2¡ 22 19 Các sô được điền theo thử tự theo hình xoáy trôn óc
17 Viel chitong trinh tinh:
tơi n nhập tit ban phim
18 Viel chuong trinh tinh sé hang thi? n cua day 80 Frbonaci ma khong can ding dén mang sé S60 được nhựp từ bán phim,
Trang 2322 Pascal danh cho hoc sinh (chu y¥ so sanh vdi cac gia tri dive ghi trong dấu ngoặc) ; a) (W168) 1+ Stayt cen rd b)(x4) 1 CÓ 242v 4 2 3 4 2n-1 2n e(344) 22,1, 2 — 1.4 2.4 3.5 n(n + 1) d)(i4) 123 2,1 ,_t_, 2.3.4 3.4.5 — 1 n(n +1)(n + 2)
20 Cho trước sé tw nhién N Hot trong N sé tu nhiền đầu tiên có bao nhiêu số:
a) Chia hét cho 2 b) Là bội cua 3
c) Đồng thời chia hết cho 2 uà 3 (l) Có ước nguyên tổ là 3 hoặc 5
$5 THUẬT TỐN TÌM MIN, MAX
BS Céu hoi, vi du, bai tap
1 Tìm giá trị nhỏ nhất của đà y đã cho oà đổi nó tề tị trí đầu tiên
3 Tìm giá trị lớn nhất của day đã cho
3 Vim gid tri nho thie hai cua day va doi no vé vi tri thit hat
Trang 24Phần 1 BÀI TẬP 23
6 Tìm gia trị lớn thứ ba của đã y
7 Nhập từ bàn phím một da y số gồm n phân từ uà hay sap xếp dã y đã cho theo thứ tự tăng dân
8 Cho truy dã y số“ hãy tìm khoảng cách lớn nhất giữa hai số hụng bề nhau của dã y
9 Cho trước dã y số Hã y tìm phần tử năm ở “giữa" nhất theo nghĩa số các phân tử cua dé y lún hơn uà nhỏ hơn số này có hiệu số nho nhấi Ví dụ nếu dã y số lò 2, 3, 6, 8 9 thi s6 can tim sé la 6
10 Cho trước dã y số Hỗ y tìm một dã y con liền nhau cực
đại có các phần tử bằng nhau LH Bai tap về nha
11 Cho số tự nhiên N Viết chương trình tính ước số thực sự lớn nhất của N
12 Cho số tự nhiên N Viết chương trình tính ước số nhỏ nhất của N không phải là don vi
13 Cho trước một dã y số nhập từ bàn phím Hà y thiết lập đãy thứ hai bao gồm các giá trị bhác nhau của dã y thứ nhất uù được sắp xếp theo thứ tự tăng dan 14 Cho trước một dã y số Hà y chỉ ra giá trị số được
lặp lại nhiều nhất của dã y số Trường hợp có nhiêu gid
trị lặp nhiều nhất thì liệt bê tất cả các giá trỷ này 1ã Cho trước bảng số có dạng:
Trang 254 0 0 — Pascal dành cho học sinh
Đế tìm phản tử nhỏ nhất của báng trên tú có hai cach sat: Cách 1: Trén moi hang tim ra mét phan tử nho nhất, ký hiệu chúng !à hụ hạ, , hạ, sau đó tìm phán từ nhà nhất cua day nay Cach 2: Trên môi cột tìm ra một phản HÈ nhỏ nhất, bý hiệu chúng là Cụ Cy v.00, Cy sau đó tìm phần tứ nhỏ nhất của dữ y này, Em hãy cict hai chương trình thực hiện bai toán trên theo hai phương pháp đa nêu trộn, so sánh cdc két qua dal duoc
16 Cho số tự nhiên N Hãy tìm số Fibonace lon nhất không oượt qua N (Chương trình phái chỉ ra được gid tri của số nay va chi sé cua no)
17 Cho trước dã y số â,, 8;, ôy 8, (1) Te day (1) ta lap day mot by, 0», by , bd, (9) theo qui tde sau: b, = a) - a), Dy = 8y + 82 ., Bạa= 8-8„ b,=a,-a, ZW day 86 (2) bang qui tae trên tá lại có thể lap day mi, quá trình có thế béo đái mã ở
Cho trước da y (1), em hà y lập trình at ru 10 da y liên tiếp theo qui tắc trên Kết quả thể hiện trên nàn hình
18 Cho trước dã y 86: a, a, ay 5 Ay
Trang 26Phần 1 BÀI TẬP - 25 - 19 Cho trước đà y so thực: au ay Ay ws Ay Hay chi ra phan tử a là số đứng “gần” một số nguyên nhất, 20 Cho trước da y số Lhực: ðu 3, Ay ui, Ay Lay chi ra phần tử a là số đứng "xa" một số nguyên nhất
21 Cho bring số Al|Ì hích thước 10 x 10 được nhập
từ bàn phím Lần lượt tính hai số U, V theo cách sau:
Cach tinh U: Goi by bs, , by là các phần từ lớn nhat cua cae cél cua bang A Phan tw nhỏ nhất giữa Rhting b, chinh Tà U
Cach tinh V: Goi Cy, Cy ., Cy là các phân tử nhỏ nhất của các hàng của bang A Phan tu lon nhất giữa những c, chính là V
Hà y tính các sốU, V
22 Cho bang số bích thước NxM Phần tit Aij được
gọi là phần từ Yên ngựa nếu nó là phán tử nhỏ nhất trong hàng của nó đồng thời là phần tử lớn nhất của cột chiva no Vi du bang số sau:
1359 5456 7162
Phần tử (2,2) chính là yên ngựa
Trang 2726 Pascal danh cho hoc sinh
§6 THUẬT TỐN TÌM KIẾM
BS Cau hoi, vi du, bai tap
1 Cha trước một dã y sé nguyén hay tim va in ra tat ca cdc s6 hang
a) Bang O b) Duong
c) Am
2 Cho trước một da y các số nguyên Hot đã y có: a) Chita hai số dương hề nhau
b) Chứa hai số âm kề nhau
c) Chứa số dương oà số âm đứng cạnh nhau
d) Chita hai số 0 đứng cạnh nhau
Lập trình uà in bết qua ra màn hình 3 Cho trước một đã y bí tự hoi day co:
a) Hai kí tự a, a đứng liền nhau b) Hai bí tự a, b đứng liền nhau c) Hai kí tự +, - đứng liền nhau hay không?
4 Cho dãy số thực â, a„ , a;„ Hãy biến đổi dã y này theo qui tắc: số lớn hơn trong hai số a, uà 8„¡o (i = 1, 10) sẽ nhận giá trị mới là a, còn số bé hơn sẽ nhận giá trị 8
Trang 28Phan 1 BAI TAP 27
tìm tất cd các số hang adm cia day, nguwoe lai lim tat ca sô hạng dương của day
6 Cho dãy số thực a\, â¿, , 8ạ, trong đó n được nhập từ bàn phím Hãy tìm tát cú các cặp số (ij) uới
1<=i,J<=n, sao cho i <j vd a,> a ‘
7 Nhép hai sé tu nhién N,M(N <M) va tính xem có bao nhiéu số nguyên tố năm giữa N oà M Hã v in ra tất củ các số nguyên tố đó
§ Cho dãy số thịựực: a¡, â;, 8ạ, đ
Mỗi số a, uới 1 <¡ <n chỉ có thể xdy ra một trong 3 (Tường hợp sau:
œ) "Bình thường” nêu: a,; <za, <=a,¡ hoặc 8,¡ > 4, >2 8y bh) “Cao” nến! a,, <a, > a,;-
c) "Thấp" nếu a,, >a, < a,
1a y tính trong đa y trên có bao nhiều phần tu Binh thường, bao nhiều Cao 0à bao nhiêu Thấp
9 Cho da@y 86 thie: aj, a), a3, a, Hoi trong day trên có bao nhiêu lần dã y đổi đấu
10 Chu trước dã y số thực: 4\, â;, 3a 8v 0à một số nguyén bat ky 2 Hay chi ra phan tử a, cáa đã y trên năm gần 2 nhất,
Bởi tập vé nha
11 Trong một dày số cho trước lập chương trình đêm xem có bạo nhiêu số bằng một hãng số cho trước
12 Hày chỉ ra trong 100 số tự nhiên đầu tiên những số chỉ có đúng hai ước nguyên tố:
Trang 2928 Pascal danh cho học sinh
là cúc số Tự giác Các số có dạng N(N+1)/2 được gọt là các sò Tam giác,
Như ậy các số Tứ giác bao gồm 149 16 Các số Tam giác bao gầm I 3 610
Hà y tìm trong 1000 số tự nhiên đầu tiên những số vita là TỨ giác uừua (a Tam giúc
Ý nghĩa của các số này như sau:
Có thể xếp một số TỨ giác các niất lưới trên mát hidi 6 cuông để thụ được một hình nung Tưởng Hự có thể xếp một số Tam giúc các mắt lưới trên một lưới ô buông: đề thu ditdc mét tam giác 0uông cân
14 Viết chương trình nhập lần lượt N số nguyên từ bàn phím, số liệu được nhứp vao mot mang, nhap toi ddu sẽ được tự động sắp xếp lại theo thứ tự tăng dàn In hết quả của dã y trên theo thứ tự ra màn hình
lỗ Cho trước một dáv số thực được nhập từ bàn phim Hay viét chuong trình sinh ra một dãy số thứ hai
bao gầm các số là các giá trị khác nhau của day ban dau Ví dụ: Nếu dãy ban đáu là: 1 2.1535 10
thi day thit hai sé la: 1 2 5 3 10
Trang 30Phén 1 BALTAP 29 19 Cau hoi tuong tự như bài 16 nhưng uới đã y số Fibonact: 1123581321 30 Dã y số Đa giác Tong guát bài 13 ta định nghia day K-da giuc nh sau: a, = ((K-2)n? - (K-4)n)/2
Chi ý rằng oởi K = 31a thu được dã y Tan giác, CƠi K= 41a thu được dũ y Tử giúc,
Em hay mé ta ý nghĩa của các số ít giác này trên
hình cẻ
$7 ĐỊNH NGHĨA KIEU DU LIEU
&S cau héi, vi dy, bai tap
1 Bạn hãy khai báo hằng va tính tổng của 1000 số tự nhiên đầu tiên
9 Bạn hãy tính tích của lã số tự nhiên đầu tiên,
1 1
Bạn hãy tính tổng 4.4 + + + ——
2 3 20
w
4 Ban hay khai bdo hang som va Linh tiên tích cud hinh tròn ban hính R tđộ dài được nhứp cào tit bàn phim),
Trang 3130 Pascal danh cho hoc sinh 6 Bạn hà y khai báo một biến xe đạp như trong bài va in ra man hình gia của xe dap voi: ESKA gid 1.000.000 Peugauet gid 1.500.000 đ Phuong hoang gid 2.000.000 d Thống nhất gid 1.200.000 d 7 Hay kiém tra chương trình sau đúng hay sai Program KT; Type STN = 0 999: Var X.Y,ZSTN; Begin X:=500; Y:=500; Z:=X+Y; Writeln(2); End
Trang 32Phén 1 BAI TAP 31 10 Doan chương trình sau dung hay sai, vi sao? Program CT10; Uses Crt; Type Tuanle = (Hai,Ba, Tu,Nam,Sau, Bay,CN); Congviec = Array{Tuanle] of 0 1; Var T1,T2:Tuanle; CV: Congviec; Begin Clrscr; Write(Nhap ngay nghĩ: '); Readin(T1); CVIT1}=0; Write(‘Nhap ngay lam viec: ); Readin(T2); CVIT2]:=1: End
LO Bai tap về nha
11 Giả sử em cần mô tả uà lưu trừ dữ liệu dưới dang các bảng kích thước 10X10, mỗi phần t của bảng
là một số nguyên có một chữ số Em phải mô tả dữ liệu như thế nào để thỏa mỗn cúc yêu cầu trên uò lại tiết hiệm bộ nhớ
12 Để mô tả thông tin là một lịch năm (bao gồm
nam, thang, ngày, thứ) em phối rô tả dữ liệu như thế nào
13 Hãy mô tả hiểu dữ liệu để lưu trữ thời khóa biếu học tập của em
Trang 3332 Pascal danh cho hoe sinh 15 Đoạn chương trình khai báo sau đúng hay sai Type SoNam = integer, SoThang = 1 12; Ngay = (hai,ba,tu.nam,sau, bay,cn); Ngaynghi=bay cn; Ngaylamviec=hai sau; Cuoituan=cn cn;
16 Viết chương trình nhập n sé tu nhién Hay kiém lra xen day số trồn có là một hoán bị của (123 n) hay khong?
17 Cho một hoán 0ị của (1.2,3, ,n) là 4, 3;, , 8y (1) Hoan vi duoc gọi là Chuyến 0‡ nếu trong (1) chỉ có đúng hai số là nằm không ding vi tri cia minh Vi du
một số Chityén vi sau:
12543678 (cdc 86 3, 5 da chuyén vi cho nhau)
12375648 (cdc 864, 7 da@ chuyén vi cho nhau)
Cho trước một hoán vi, héy viét chucny trinh kiém tra nó có phải là chuyển vi hay khong Hay chi ra cde DỊ trí chuyén‘vi
18 Cho mét hodn vi của (1.2,3, ,n) Ay, 3¿ a, (2)
Trang 34Phần 1 BÀI TẬP - _ò_ 3
Chủ thước nốt hoán vi hay tiết chường trình biểm trút HỘ có phát là chủ trình tron hay thong,
19 Mbt hoan vr bal kv bao gid cling ¢6 thé thu duve Ue day ban dau sau nit so Chuyén vi
Vi du: Loan tí (35412) sẽ thu được từ đà y bạn đầu 1945 bằng cát phép chuyen vi lidn dp sau;
13345
33145 tchuyển đổi tỉ DÝ 1 cà 3) 35113 tchuyên đổi cị trí 2 rà 5) 35412 tchuyén doi cde 86 1 va 4)
Em hay thuc hién cac mo ta tédng lu đổi ĐÓE các hoan cb sau:
a} 3457621 b) 7654321 c) 4756213
30 Một bang số cuông kích thước NxN được gọt là hang sé laa tỉnh nếu mới hàng cà mọi cột của báng đều là các hoán vt cua (123 N) Vi du mot bang La linh nhu sau:
123 231 312
Trang 3534 Pascal danh cho hoc sinh
$8 ON TAP FS Cau héi, vidu, bai tap
1 Doan chuong trinh khai bao sau đúng hay sai, vi sao? Const Nmax = 65000; Type DSTN = Array[1 Nmax] of integer; Var A,B: DSTN: 3 Đoạn chương trình sau dung hay sai, vi sao? Const Nho = 0; To = 1000;
Type mang = array[Nho To] of integer;
3 Kiểm tra xem chuong trinh Pascal sau thực hiện
cong viéc gi va hết quả như thế nào Program VD; Var n,i,kq:integer; bketthuc:boolean; Begin Readln(n); If n=1 then Writeln(n); lfn >=2 then Begin bketthuc:=false; For i:=2 ton do
Ifn mod i = 0 then If bketthuc = false then
Begin
Trang 36Phan 1 BAL TAP 35 Writeln(): End; End; End
Em có nhận xét gì đặc biệt vé chương trình trên 4 Cho trước số tự nhiên N Viết chương trinh in ra tất cả các ước số khúc nhau của N
(Gợi ý: sử dụng chương trình của bòi trên)
5 Cho trước một bảng số 0uông Thực hiện các phép tinh trong 3 trường hợp sau:
g) Tính trung bình cộng của tất ca cde 86 cua hang b) Tinh trung bình cộng của từng hàng, sau đó lấy trung bình cộng của các số này
c) Tinh trung bình cộng của từng cột, sau đó lấy trung
bừnh cộng của các số này
Viết chương trình Paseal để tính 3 số trên, so sánh xem chúng có bằng nhau hay không
6 Viét chương trình in ra tốt ca các nghiệm nguyên dương của phương trình: xXty°=n UỠI n nhập từ bàn phím 7 Viết chương trình tính giá trị biểu thức theo hai cách sau: 1 1 1 1 1 1 {-—4—-—4+— +—_-— 2 3 4 5 99 100
Cách 1: Tính giá trị biếu thức từ trái qua phổi
Trang 3736 ; Pascal danh cho hoc sinh 1 4 1 1 + — + — Y _—— 3 5 99 từ biệu thực: | 1 ¬ ST, 4 6 100
sau do lay gid tri thie what trit di gia try thie hai
Ein hay so sauh hai ket qua da dat duoe va hay
grail thich ci sao chung khac nha,
Ss Gia sa phan khat bao cua mot chicing trinh
nh? sau:
Var
Dayso: Array[1 5] of integer ; Daykt: Array{1 5] of Char;
Hay tiết đoạn chương trình nhập giá IPí vav mang Daykt sau do bién abt cdc kv te nay sang so THƯỜNG ung va chuyén vao mang Dayso Trugng hap cac ky tie duu nhap vao khong la so thi thong bao ngay trén man hinh 9, Viet chuaong trinh nhap moét ky¥ tie te ban phún va thong báo:
a) Nếu ky tự này là số, tức là từ 0° đến '9ˆ thi thông bdo "This is a Number”
b) Néu ky tu nay la chit cai in hoa, từ `Ä' đến 'Z' thì thong bdo "This is a Capital letter"
c) Nếu hý tự này là chữ ín thường, lie ’a’ dén ‘z’ thi thông bao "This is a Normal letter"
Trang 38Phan 1 BÀI TẬP - | sẻ 37 10 Viet chitung trình nhập mot sé lu nhién từ bạn phim va kiém tra xem có phái là một so chính phương
hay khong
11 Viết chương trình nhập một số nguyên từ bạn phím tà hiểm tra xem có phái là một số lập phương hav khong (lite là có dạng 2) tới 2 là số Nguyên),
ZF pai tap vé nha
12 Viet chuang trình in ra tát cá cade nghiệm
nguyễn duong cia phiaing trinh: x‡y+z=n
12 Việt chương trùnh ín ra lal cd các nghiệm nguyễn thường của ĐỀ ng trính:
x?ty2+z?=n cới n nhập từ bàn phím, l4 Cho hứi dã ÿ số nguyễn: 8c, 0¿ 4,
b,, by, , 0,
Viel chương trình nhập giá trí R nhập lan lect hai đa y số trên cà thông bdo tal ca cac gid tri chung cud hai day trén
15 Cho hai day s6 nguyén: a), a2, ., a, by, Do, - Dạ
Viớ! chương trình để chỉ ra thoặc thông báo là không thể) hat chỉ số \) sao cho đồng thoi thea man cde
bái đẳng thức: a,< a, b,<b,
Trang 3938 Pascal danh cho hoe sinh
17 Cho s6 tw nhién N Viét chuong trinh in ra woe số thực sự lớn hat cua N
— 18 Cho trước số tự nhiên N Viết chương trình in ra số nguyên tố lớn nhất không uượt quá N
19 Cho số tự nhiên N Viết chương trình im ra số nguyên tố nhỏ nhát không nho hơn N
20 Em hay viét chuong trình biếm chứng gia thuyết sau vdéi nchdn < 1000: Mọi số tự nhiên chăn đều có thế biểu diễn thành tổng của hai số nguyên tố
Trang 40Phần 9 HƯỚNG DẪN 39
Phần 2 HƯỚNG DẪN
$1 KIEU DU LIEU BOOLEAN
1 a) Trước tiên, các giá trị của biến X, Y được nhập từ
bàn phím Sau đó, tùy thuộc vào việc biểu thức (X>Y)
đúng hay sai, biến check sẽ được gán các giá trị tương ứng là TRUE (đúng) hay FALSE (sai) Cuối cùng máy sẽ viết ra màn hình dòng 'X>Y' nếu check là TRUE hay 'X<=Y' nếu check là FALSE
Nếu khòng dùng biến check ta có thế sử dụng trực tiếp biểu thức (X>Y) để viết lại lệnh [F như sau:
If X>Y then Writeln(X>Y') Else Writeln(X<=Y');
b) Trước tiền, giá trị của biển X được nhập từ bàn
phím sau đó nếu biểu thức (X mod 7 = 0) là đúng thì biến
check sẽ được gán giá trị TRUE, ngược lại biến check sẽ được gản giả trị FALSE Cuối cùng máy sẽ viết ra màn
hình dòng 'Đây là số chia hết cho 7' nếu check có giả trị
TRUE, hay dòng 'Đây tà số không chia hết cho 7' nếu check có giá trị FALSE
Chú ý: (X mod 7 = 0) <=> X chia hết cho 7
2.a.(100>78) and ('3'<'A') TL and T