1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Bài tập tin học đại cương

145 78 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 145
Dung lượng 3,77 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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 1

TÔ VĂN NAM

Trang 2

Chươ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 4

1.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 5

1.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 6

1 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 7

2 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 9

1.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 10

1.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 12

2.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 13

Chươ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 14

1.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 15

Lờ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 16

1.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 17

1.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 18

writeln(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 19

If (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 20

Writeln('+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 21

Else 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 22

2: 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 23

Nhuan:=(nam Mod 4)=0;

Mrite^Nam: 1, nam, 1 la: 1 );

If nhuan Then

Writeln('nam nhuan1)Else

Trang 25

2.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 26

Gợ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 27

3.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 28

e 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 29

3.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 30

3.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 31

Writeln(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 33

3.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 34

Chươ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 36

1.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 38

Writeln(' 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 39

Case 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 40

Writeln(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

Ngày đăng: 18/03/2021, 19:16

TỪ KHÓA LIÊN QUAN