Phần khai báo Phần này bao gồm nhiều mục, mỏ tả các đòi tượng được dùng trong - Khai báo đưn vị chương trình U n its: uses danh sách các unit; - Khai báo hằng : consttên hằng = giá trị;.
Trang 1TÔ VĂN NAM
Trang 2Chương 1. THUẬT TOÁN
1 Một sô bài tập có lời giải
1.1 Dùng sơ đổ khối mô tá thuật toán cho phép tính giá trị của các biếu thứcsau :
A = x" + y
B = X + y + A
c = xy + A - B2 Lời g iả i : Sơ đ ồ khôi có dạng như hình 1.1
1.2 Võ sơ đổ khỏi mô tả thuật toán cho phép tính giá trị lớn nhất cứa ba số
Trang 41.4 Trình bày thuật toán tìm mượn một quyển sách ở thư viện KHOA HỌC, biết tên tác giả, nhớ không chính xác tên sách.
Lờ i g iả i : Thuật toán có thê diễn đạt bằng ngôn ngữ mỏ phỏng như sau :
Bước ỉ : Đến thư viện Khoa học, tìm đến tú phân loại sách theo tên tác
giả Theo cách xếp thứ tự của từ điển, tìm hộp phích có chữ cáitrùng với chữ đầu tên tác giả
Bước 2 : Rút hộp phích này theo thứ tự từ điển tìm tên tác giả.
Bước 3 : Nếu không tìm thấy tên tác giả thì chuyển sang bước 10.
Bước 4 : Theo thứ tự từ điển, tìm tên các sách của tác giả này.
Bước 5 : Nếu không tìm thấy sách thì chuyển sang bước 10.
Bước 6 : Ghi lại tên sách, tên tác giả, mã sách vào phiếu mượn.
Rước 7 : Đưa cho nhân viên thư viện, chờ trả lời.
Bước 8 : Nếu trả lời không còn thì chuyển sang bước 10.
Bước 3 : Đưa ra dãy C | , c 2 , , CM
Bước 4 : Với i = M , M - 1, , 1 tìm i sao cho Cj * N - M + i Nếu tìm
được i thì sang bước 5, khòng thì sang bước 7
Bước 5 : Gán Cj = C| + 1, Cj = Cj_| + 1 với j = i + 1 , i + 2 , , M.
Bước ố : Quay về bước 3.
Bước 7 : Kết thúc.
5
Trang 51.6 Nêu thuật toán dưới dạng sơ dồ khói tính căn bậc hai một sỏ dương A với sai số nhỏ hơn e theo công thức lặp sau đâv :
Trang 61 9 I lù\ mó la thuật toán xoá phần tứ thứ 11 trong một máng sỏ nguyên.
Lời : T h u ậ t to á n n h ư sau :
liiíớc / Nhập dãv số nguyên từ bàn phím.
Hước 2 : Nhập vị trí muôn xoá từ bàn phím (vtri).
Hước 1 : Vòng lặp từ vtri tăng tới spt - 1, trong dó đặt phấn tứ đứng
trước bằng phần tử dứng sau x[i] := x [i+ l]
ỈÌKỚC 4 Giám sô phần tử di 1 spt := spt-1 ;
Hước 5 Kết ihúc.
1.10 llãy mõ ta thuật toán chèn thêm một sô vào vị trí thứ 11 trong một màng
sò Iiuuyõn
Lời g iải : T h u ậ t to á n nh ư sau :
liước / Nhập dãy sỏ nguyên từ bàn phím
li ước 2 Nhập vị trí muôn chèn từ bàn phím (vtri)
Hước J : Vòim lặp i từ spt + I giám xuống vtri +1 trong đó đặt phần tử
đứng sau bằng phần tử dứng trước x[i]:= xỊi-1]
íiước 4 : Gán phần tứ tại vị trí muốn chèn bàng sô muốn chèn x[vtri]:= so Hước 5 : Tăng sò phần tứ lên 1 spl:= spt+1 ;
Hước 6 Kết thúc.
1.11 Cho một mảng số thực ; sau dó nhập vào một sô và tìm xem sỏ ấy có
11'oni! máng hay không
Lời giai : T h u ậ t to á n n h ư sau :
Bước I : Nhập dãy sò thực a \'à so từ bàn phún
Bước 2 : i :=1 :
B iiớc 3 : Ncu a[i] < > so và ị < = spt thì i:= i+l
lỉirức 4 Nếu i<= spt thì in a[i] (a[iỊ có giá trị bàng so)
[ìước 5 Nếu i = spt +1 thì so không có trong máng
'Mfớc 6 : Kòt thúc
7
Trang 72 Bài tập đề nghị
é
2.1 Hãy mô tả giải thuật cho phép tính tống của một dãy bao gồm n số thực.2.2 Cho trước một dãy sô nguyên, loại bó những giá trị trùng nhau (chi giữ lại một) mà vẫn giữ nguyên thứ tự
«2.3 Cho dãy n số thực Hãy trình bày các giải thuật:
- Xoá các sô nhỏ hơn 10
- Xoá các số nằm trong đoạn [10, 20]
2.4 Cho một dãy sô thực Hãy mó tả các giái thuật:
- Sắp xếp các số âm lên đầu dãv, sau đó là các sỏ còn lại
— sắp xếp các số 0 lên đầu dãy, sau đó ỉà các số âm, còn lại là các sô
^ dương
Ì5 Cho một dãy số nguyên Hãy trình bày các giải thuật:
- Sắp xếp các số lẻ lên đầu dãy, sau đó là các số chẩn
- Sắp xếp các số lớn nhất lên đầu dãv, sau đó là các số nhó nhất, cuối cùng là các sô còn lại
2.6 Cho một dãy số thực Hãy trình bày giải thuật cho phép :
- Tim phần tử đầu tiên đạt giá trị lớn nhất
- Tun phần tử cuối cùng đạt giá trị lớn nhất
- Đếm xem có bao nhiêu phần tứ đạt giá trị lớn nhài
2.7 Cho một dãy sỏ nguyên : hãy mô tâfgiái thuầt cho phép :
- Xoá đi các phần từ đạt giá trị lớn nhất
- Xoá đi các phần tứ đạt giá trị nhỏ nhất
Trang 8-* Dấu nhân và dấu chia -*, /
* Dâu lớn hơn và dấu nhó hưn > <
* Dâu lớn hơn hay bằng và dấu nhò hơn hay bàng >= , < =
* Dấu đó la s
*
Đây là lập hợp các ký tự hợp lệ được dùng đế viết các chương trình ; không được dùng các ký hiệu khác ngoài các ký hiệu nói trên chẳng hạn như : ỡ, X co, Vị/, p, a , (f) 7t,
1.2 Các từkhoá
Các từ khoá là một bộ phận khổng thê tách rời của TU RBO PASCAL dược dinh nghĩa trước với V nghĩa xác định và kliònc thê dịnh nghĩa l ạ i ; người lập trình không được phép đặt lên mới trùng với các từ khoá ; sau dây là một sò lừ khoá : begin, program, end,
( I ) T U R B O PASC AL không phán biệt chữ hoa và chữ thường
9
Trang 91.3 Tên
Tên theo định nghĩa là một dãy ký tự dùng đò chi tên biến, lẽn liúiiiĩ tôn kiêu dử liệu, tên chương trình con., tên bát đàu hung chữ cái, sau đó có the là chữ cái, chữ số dâu gạch nổi ; khóiiỊ’ íhotc clítiiụ nít kỷ tự (túc bici nhưilấn irốniỊ, (Iũii " : (lún cliút thin "I" dê íỉặt tcn.
1.4 Các kiêu chuẩn
Một kiêu dữ liệu là một lập hợp các uiá trị mà một hién kiêu đó có thô nhận ; mỗi biến tronu chương trình đều phái két hơp với một và chi một kiêu dữ liệu
1.4.1 Kieu integer
Kicu integer còn gọi là kiêu nguyên Trong TURBO PASCAL, một biến kiêu integcr có thê lấy các giá trị nguyên năm trong đoan [-3 2 7 6 8 , 32767] Mỗi giá trị inleger chiếm 2 byte bộ nhớ
Vì kiểu integer chi biểu diễn được các số nguyên khá bé nõn từ TURBO PASCAL 4.0 trở đi, người ta định nghĩa thèm các kiêu nguvòn khác :
shortlnt 1 bvte [-128,127]
longlnl 4 bytc 1-2 147 483 648 2 147 483 6471Word 2 byte |0 65535]
Byte 1 bvte [0 255]
1.4.2.1)ữ liệu kiéu real
Một biến kiêu real có thè lây các giá trị nằm tron tỉ khoáng [2.9 X 101.7 x io ], một giá trị kiêu real chiếm 6 byte bộ nhớ
1.4.3 Kiéii boolcan
Một giá trị kiêu boolcan chi có thê là một tron SI hai giá trị T R I 1 vi FALSE các giá trị này dược xếp thứ tự như sau TRUE > FALSE Mộ giá trị kiêu boolean chiếm 1 bvte bộ nhớ
Trang 101.4.4 Kiến ehar
Kiêu ( Iiíic còII gọi là kiếu kv tự bao gồm 256 ký tự trong bán mã ASCII.Một kv lự được viết trong hai dấu Iiháv d(tn : ví dụ : T 'a' H' Một
ti ĩ á trị KI cu cliar chiếm 1 bvlc hộ nhớ 128 ký tự dầu tiên (có mã ASCII
lừ 0 dến 127) gọi là ký tự chuán 128 ký tự còn lại dược sứ dụng dô mã hoá các ký tự riêng của từng ngôn ngữ, gọi là các kv tự I11Ớ rộng
1.5 Biêu thức
Biếu thức hao gồm các toán hạng (biến, hằng, lời gọi hàm) kết hợp với nhau bằng các toán từ để biêu diễn một công thức nào dó Các phép tính trong một biếu thức được thực hiện theo thứ tư ưu tiên như sau :C7 . . .
- Phép tính một ngôi (đáo dâu, phú định)
- Các phép tính thuộc lớp nhân
- Các phép tính Ihuộc lớp cộna
- Các phép tính quan hệ
1.6 Cấu trúc cùa một chương trình pascal
Cấu trúc của một chương trình Pascal bao gồm 3 phần :
1.6.1 Phán tiêu đề cúa chương trình
Phần này có dạng : Program ten_chuong_trinh ;
1.6.2 Phần khai báo
Phần này bao gồm nhiều mục, mỏ tả các đòi tượng được dùng trong
- Khai báo đưn vị chương trình (U n its):
uses danh sách các unit;
- Khai báo hằng :
consttên hằng = giá trị;
Trang 11- Khai báo kiêu :
typetên_kiểu = kiểu;
- Khai báo biến :
VarDanh_sách_các_biến:kiểu;
- Khai báo các chương trình con
2.1 Hãv đặt 10 tên hợp lệ trong TU RBO PASCAL
2.2 Các giá trị sau đây thuộc kiêu chuẩn nào ?
e) sqrt(34) f) sqrt(36) g) sqrt(25.0) h) 5 > 8.2.3 Viết các số sau đây ra dạng thòng thường :
3.4E+2 - 4 2 E - 1 5
2.4 Các tên sau đây tên nào hợp lệ trong môi trường TURBO PASCAL :a) tinh dien tich b) Tinh_dien_tich c) bcd d) 12a4h
Trang 122.5 Viết các khai báo cho các yêu cầu sau :
a) x,y là các biến thực
b) biến k sẽ nhận các giá trị trong khoảng (0 255]
c) z, t là các biến nguvên trong khoáng [-32768, + 32767]
d) k j i là các biến có thế nhận các giá trị nguyên trong khoảng [0 65535].e) ch là biến có thê nhận các ký tự
2.6 Viết các hiếu thức sau theo ngôn ngữ PASCAL
Trang 13Chương 3. CÁC LỆNH CỦA PASCAL
1 Lệnh gán, thủ tục vào ra dữ liệu
1.1 Tính và đưa ra màn hình giá trị của biểu thức A sau đâv :
, 3 , • 0.19238 w , ~ , b , <0.20345 + 0 ,
A = (x + s i n ( b ) - e ) / ( 5 + e + c )Trong đó : X = - 1 , 5 172
b = 2X + X3 - 31.769
c = Log 7 (X4 + 5X) + Ln (X2 + 5b)
H ư ớ n g d a n :
- Trong PASCAL để tính luỹ thừa f = ab (a > 0) ta viết: f = exp (b * ln(a))
- Hàm mẫu ln(x) cho ta lnx, vì vậy khi gặp logarit cơ số khác e ta ph.biến đổi theo còng thức : Log a X = In (x)/ln(a)
Lời giải : C h ư ơ n g t r ìn h n h ư sau :
Trang 141.2 V1 êt chương trình nhập họ và tôn bậc lưưng, ngàv công trong tháng, phụ láp, hệ sỏ trách nhiệm, tạm ứng In ra màn hình họ tên, tiền lương và lien còn được lĩnh ; biết răng cóng thức tính toán như sau :
Tiồn lương = Bậc lưưng/30*Ngày công*Hệ số trách nhiệm + Phụ cấpTién còn được lĩnh = Tiền lương - Tạm ứng
Lời g iả i : C h ư ơ n g tr ìn h nh ư sau :
Write('-Cho biet bac luong:’); Readln(bl);
Write('-Cho biet ngay cong:1); Readln(nc);
Write('~Cho biet he so trach nhiem:1); Readln(hs);
Write(*-Cho biet phu cap khu vuc =*); Readln(pc); Write('-Cho biet so tien da tam ung ky 1 =*); Readln (tam); tt:= ((bl/SO^nc^hs) +pc);
cl:= tt - tam;
w r i t e 1 n ;
Writeln(*+ Ong (Ba): *,ten:24);
Writeln('+Tien luong trong thang = 1,t t :10:2, ’dong');
Writeln(' Bam phim <Enter> de ket thuc');
Trang 15Lời g iả i : C h ư ơ n g tr ìn h n h ư sau :
Writeln ('-Chu vi hinh chu nhat = 1,c v :10:2, 'm e t ') ;
Writeln (’-Dien tich lon nhat se = 1,s :10:2, 'met vuong'); Writeln('Bam phim <Enter>de ket thuc');
Writeln(!*Tri cua tam thuc =,,p);
Writeln('Bam phim <Enter> de ket thuc1);
Readln;
E n d
Trang 161.5 Viết chương trình nhập toạ độ X, y, z của một vectơ 3 chiểu sau đó tính
và hiển thị độ dài của vectơ này theo công thức sau :
2 2 2
độ dài = X + y + zLời g iải : C h ư ơ n g t r ìn h n h ư s a u :
1:= Sqrt(Sqr(x) + Sqr(y) + Sqr(z));
Writeln(1+Chieu dai cua vecto =',1:10:2);
Writeln('Bam phim <Enter> de ket thuc*);
Trang 171.7 Viết chương trình nhập vào một ký tự viết hoa sau đó hiển thị dạng vicì thường của nó.
write('nhap chu viet hoa'); readln(ch);
if ('a' < ch) and (ch < 'z') then
begin
writeln('Chu viet hoa tuong ung la:');
write (# (ord (ch) + 32));
endelse write ('khong phai la chu cai thuong:1); readln;
1.10 Lập chương trình đọc toạ độ Đề - các 3 điểm A, B, c từ bàn phím rc tính các góc A, B, c , độ dài các cạnh tam giác ABC và đưa kết quả r màn hình
1.11 Lập chương trình đọc chiều dài các cạnh a, b, c của tam giác ABC rc tính diện tích, độ dài các đường cao và đưa kết quả ra màn hình
Trang 18writeln(fBat phuong trinh dung voi moi X 1)
else writeln('Bat phuong trinh vo nghiêm');
2.2 Viết chương trình nhập vào 2 số nguyên, yêu cầu máy kiêm tra xem
2 sô đó có phải là ước số của nhau khồng ?
Trang 19If (sol Mod so2) = 0 Then
Writeln(1+So: 1,302:4,*la uoc so cua so : ,sol:4)
Else
Begin
Writeln(' Khong phai la uoc so cua nhau');
Trang 20Writeln('+Tam giac deu:',deu);
Writeln(1+Tam giac can:',can);
- Máy sẽ thông báo phím vừa bấm là phím nào :
• Nếu gõ các phím từ 'A' đến 'Z' hay từ 'a' đến 'z' sẽ thông báo
“phím ký tự”
• Nếu gõ các phím từ '0' đến '9' sẽ thông báo “phím ký số”
• Nếu gõ các phím sẽ thông báo “phún các phép toán số học”
• Nếu gõ các phím khác sẽ thông báo “phím đặc biệt”
' 0 ' '9':Writeln(' do la mot phim kỵ so');
':Writeln('do la mot phep toan so hoc');
21
Trang 21Else Writeln('+Ban vua bam mot phim dac biet');
2.5 Viết chương trình tính diện tích của một số đa giác thông dụng ; ví dụ
1 - Hình vuông, 2 - Hình chữ nhật, 3 - Hình tam giác, 4 - Hình thang
5 - Hình tròn Khi chọn một số nào đó thì sẽ nhập số liệu tương ứng đê tính diện tích
Trang 222: Begin
Write(' Nhap chieu rong: 1);Readln (a);
Write(1Nhap chieu da i :*);Readln(b);
s :=a*b;
Writeln (*Dien tich hirìh chu nhat ~ ' ,s:10:2, ' IĨTV1); End;
3: Begin
s :=a*h/2;
Writeln('Dien tich hinh tam giac = *,s:10:2,'mv'); End;
4: Begin
23
Trang 23Nhuan:=(nam Mod 4)=0;
Mrite^Nam: 1, nam, 1 la: 1 );
If nhuan Then
Writeln('nam nhuan1)Else
Trang 252.9 Viết chương trình nhập vào một tháng nào đó, máy sẽ thông báo iháng
đó có bao nhiêu ngày
2.10 Viết chương trình nhập vào một sô nguyên, máv sẽ thòng háo đó là sô chẵn hay số lẻ
2.11 Viết chương trình nhập vào một điểm, máy sẽ cho ra một đánh giá : Kém, trung bình, khá, giỏi, xuất sắc
2.12 Lập chương trình nhập vào hai số a, b rồi tính y = 15x2 + X +72, trong đó :
r a + b
+ b nếu a<b3
Trang 26Gợi ỳ : Đê có thê tính được ta hãy tìm mối quan hệ giữa các sô hạng ớ
vế phái ; nhận xét ràng nếu gọi các số hạng này là T0 , T ị , T n ta có :
T0 = x
T = - T k_|, với k =1, 2 100
k 2k(2k + J) k 1Lời g i ả i : C h ư ơ n g t r ìn h n h ư sau :
Trang 273.3 Viết chương trình tính dân sô của một thành phố sau 5 năm nữa ; biết rằng thành phố này hiện nay có 1.000.500 dân, tỷ lệ tăng dân số hàng năm là 1,5%.
Writeln('-So dan hien nay = ',sodan);
Writeln('-Ty le tang dan so hang nam = 1.5%');
Trang 28e n d
3.5 Một người có T đồng đem gửi tiết kiệm với lãi suất là 1,5% một tháng ; sau mỗi tháng tiền lãi lại được nhập vào tiền vốn để tính lãi tháng sau Hỏi sau bao nhiêu tháng người đó thành tỷ phú
Trang 293.6 Xác định số lần lặp của chu trình trong chương trình sau :
Writeln (’An mot phim bat ky de tiep tuc! ');
Repeat until keypressed;
E n d
Trang 303.8 Lập chương trình nhập một dãy số nguvên vào từ bàn phím cho đến khi gặp số 0 rồi tính tổng các số dương và trung bình cộng của các số âm.
writeln (fTong cac so duong =',sđ);
Trang 31Writeln(fChú ý:Trường hợp b chương trình chay',
'hơi lâu! Xin vui lòng c h ờ 1);gotoxy (1, 1);
Trang 32.11 Lập chương trình liệt kê và đếm các số nguyên tố từ 2 đến n.
Lời g iải : C h ư ơ n g tr ìn h n h ư sau :
Write (' Doc vao n = ' ); readln(n);
Writeln ('Cac so nguyen to tu 2 den ' ,n,' l a : 1);
s : = 0 ;
{ duyet cac so tu 2 den n}
for i:=2 to n do
begin { duyet cac uoc cua i tu 2 den Vỉ}
ok:= true; p:=2; m:=round(sqrt(i));
while ok and (p <= m) do begin
if i mod p = 0 then ok:=false;
if s mod 6 = 0 then writeln;
Trang 333.12 Lập chương trình đọc X , n từ bàn phím rồi tính giá trị biểu thức sau :
3.13 Lập chương trình đọc X , n từ bàn phím rồi tính giá trị biểu thức sau :
3.14 Lập chương trình đọc X , n từ bàn phím rồi tính giá trị biểu thức sau :
3.15 Lập chương trình phân tích số nguyên n thành thừa số nguyên tố
3.16 Lập chương trình tìm các số có 3 chữ số sao cho số đó bằng tổn g lập
phương các chữ số của nó
3.17 Tìm tất cả các ước số của một số nguyên n cho trước
3.18 Tính tổng bình phương của các số lẻ từ 1 tới n
3.19 Tính n!
3.20 Đọc vào n số nguyên rồi in ra giá trị cực đại
3.21 Tim các số nguyên a, b, c, d khác nhau trong khoảng từ 0 tới 10 thoá
mãn điều kiện a*d*d = b *c*c *c
3.22 Viết một chương trình chỉ nhập vào một sô trong phạm vi từ 0 đến 9.3.23 Viết chương trình tính x" với n được nhập vào máy qua bàn phím
3.24 Lập chương trình tính giá trị của biểu thức :
ở đây có n cân thức, a là số dương
Trang 34Chương 4. CÁC KIỂU DỮ LIỆU LIỆT KÊ,
MIỀN CON VÀ TẬP HỢP■ ■
1 Tóm tắt lý thuyết
1.1 Kiêu dữ liệu liệt kê
PASCAL cho phép người lập trình tự định nghĩa ra kiểu dữ liệu mới bằng cách liệt kê các thành phần của dữ liệu ; danh sách các thành phần cùa kiểu được đặt trong cặp ngoặc đơn, mỗi thành phần cách nhau một dấu phẩy Danh sách đó được miêu tả bằng một tên kiểu Dữ liệu được định nghĩa như vậy gọi là kiểu liệt kê Giông nliư kiểu logic các thành pliần của kiểu liệt kê phải lừ một tên.
í 1.1 Định nghla kiêu
Cú pháp khai báo một kiểu liệt ké như sau :
Type
ten_kieu = (danh sach cac phan tu);
1.1.2 Định nghĩa biến có kicu liệt ké
Chúng ta có thể khai báo biến có kiểu liệt kê theo hai cách khác nhau :
Gián tiếp :
Đầu tiên chúng ta khai báo kiểu liệt kê
type
ten_kieu = (danh sach cac phan tu);
sau đó khai báo biến có kiểu vừa định nghĩa :
bien: (danh sach cac phan tu);
Ta có thê so sánh các giá trị thuộc kiểu liệt kê bằng các toán tử =, < > ,
>=, < = và tìm các phần tử đứng trước \à đứng sau bằng các hàm pred(),succO
35
Trang 35Để tìm vị trí các phần tử trong danh sách liệt kê ta sử dụng hàm ord() với lưu ý là vị trí của phần tử đầu tiên là 0.
Chú ý : ta không thể đọc và hiển thị trực tiếp được kiểu liệt kê
1.2 Kiểu dữ liệu miền con (khoảng con)
can_duoi < can_tren
Khi đó các giá trị của kiểu miền con sẽ được xác định trong khoảng từ can_duoi đến can_tren
1.2.2 Khai báo biến
Đế khai báo biến kiểu miền con ta có thể tiến hành theo hai cách :
Trang 361.3.1 Khái niệm kiểu tập hợp
Trong toán học, bản chất của phần tử của một tập hợp là bất kỳ, nhưng trong PASCAL không phải như vậy, các phần tử của một tập hợp phải
cùng một kiểu gọi là kiểu cơ s ở; PASCAL chỉ chấp nhận các tập không quá 256 phần tử ; điều đó có nghĩa là trong khai báo về phần tử của tập hợp ta không thể cho phần tử đó chạy trên một tập nền có quá 256 phần tử
1.3.2 Khai báo kiểu tập hợp
Một kiểu tập hợp được khai báo như sau :
ty p e
ten_kieu = set of < kcs>;
Trong đó s e t , o f là các từ khoá ; còn k c s chỉ có thể là một trong các kiểu sau : Byte, Char hoặc là một trong các kiểu liệt kê do ta khai báo trong mục type.
1.3.3 Khai báo biến tập hợp
Có hai cách khai báo :
Cách 1 : trước hết ta khai báo một kiểu tập hợp, sau đó sẽ khai báo biến
dựa vào kiểu vừa định nghĩa :
Trang 37* Phép < > cho giá trị là true nếu hai tập hợp khác nhau.
* Phép < = cho giá trị true nếu toán hạng bên trái được bao trong toán hạng bên phải
* Phép > = cho giá trị true nếu toán hạng bên trái bao toán hạng bên phải
* Phép toán in là toán tử kiêm tra sự có mật cùa một phần tử trong một
tập hợp ; ví dụ 'a' in ['aVdVh'] cho giá trị T R U E còn 'u' in ['a7k'l cho
giá trị false
- Các phép toán hợp, giao, hiệu :
Giả sử A và B là hai tập hợp cùng kiểu t h ì :
* Toán tử cộng + : A + B là tập hợp mà các phần tử thuộc A hoặc tập B
* Toán tử trừ - : A - B là tập mà các phần tử thuộc A nhưng không thuộc B
* Toán tử giao * : A *B là tập mà các phần tử thuộc cả hai tập hợp
Trang 38Writeln(' Kieu liet ke TenThang*);
2.2 Viết chương trình nhập vào số giờ làm việc của các ngày trong tuần, sau
đó tính lương làm việc trong tuần ; trong đó nếu làm việc ngày chủ nhật được trả lương gấp đồi, làm việc thứ 7 lương gấp rưỡi
Lời g iải : C h ư ơ n g t r ìn h n h ư sau :
Program Tinh luong;
CONST
Ten:Array[0 6] Of string * ( ’Thu H a i ,, ,Thu B a 1,
'Thu Tu 1 , 'Thu Nam','Thu Sau','Thu B a y ,, ,Chu Nhat');TYPE
Trang 39Case Ngay OfChuNhat:Gi o :=2*gio;
Writeln(fOng (Ba) ',HoTen);
Writeln ('Tien luong trong tuan = f, tien: 10 : 2, 'dong',); Writeln;
Write(!Go phim <Enter> de ket thuc1);
Trang 40Writeln(1 TINH GIAI THƯA CƯA N TU 1 DEN 16');
Write(,“Cho biet thang:*);
Readln(Thang);
Write(f-Cho biet nam:');
Readln(Nam) ;Case Thang Of1,3,5,7,8,10,12: If Ngay < 31 Then
Ngay:=Ngay+lElse