1. Trang chủ
  2. » Công Nghệ Thông Tin

Ebook tự học lập trình pascal (tập 4) phần 1 bùi việt hà (chủ biên)

121 218 3
Tài liệu được quét OCR, nội dung có thể không chính xác

Đ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 121
Dung lượng 1,66 MB

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

Nội dung

Viết chương trình Pascal hoàn chỉnh thực hiện các công uiệc của thực đơn sau: 1- Nhập dữ liệu nhập số tự nhiên n.. Viết chương trình Pascal hoàn chỉnh thực hiện công uiệc của thực đơn: 1

Trang 1

BÙI VIỆT HÀ (CHU BIEN)

Trang 2

(Có thể tham khỏdo dé day cho hoe sinh ldp 9)

NHA XUAT BAN GIAO DUC - 1999

Trang 3

Mã số: PIK 86B9

Trang 4

Phần I BÀI TẬP - 3

Phan 1 BAI TAP

§1 ÔN TẬP

DỮ LIỆU VÀ THUẬT TOÁN TRONG PASCAL

ES cau hei, vi du, bài tập

1 Hơi kiểu khai báo sau có tương đương uới nhau không:

Trang 5

4 Ve hae hip Brink Pascal

4 Lập chương trình in ra trên mờn hình 10 dòng đầu tiên của tam gidc Pascal theo dang sau:

c If ((2 > 3) or not({1+ 1 =2} and (3 < 5))} then X:=X*X;

6 Hãy kiểm tra kết quả của chương trình sau:

Trang 6

Whiteln;

i:=0;

While Afi} = 1 do

Begin A(i]:=0; t=i+1;

8 Cá một chuyén gia lap trinh Pascal phát biểu là bất

cu mot lénh lap While nado cũng có thể thay thế tương đương bằng một lệnh lặp RepeaL Ngược lại mọi lệnh Repeat đều có thể thay thế bằng lệnh While

Điều đó có đúng không? Hã y cho 0í du minh hoa

9 Một lệnh lap For cé thé thay thé bằng lệnh While

không Điều ngược lại có đúng không?

Trang 7

6 Tee hac Li think Pascal

10 Trong Pascal có lệnh tạo nhã n (Label) va lệnh chuyển

điâu khiến đến nhã n (Golo) Trên thực tế có thể thấy rằng lệnh tạo nhãn uù chuyển điều khiển tới nhãn dễ gây rồi chương trình uà khó theo dõi Em hãy chuyển chương trừnh sơu có nhấn thành hhông có nhấn mà tác dụng của chương từnh không thay đổi

Writeln(‘Nhap a: '}; Readln(a), Ifa <= 0 then goto 100;

Ifa mod 5 = 0 then Begin

LH Bai tap vé nha

11 Viét chuong trinh nhap sé tw nhién N va in ra dòng thứ N cua tam giác Pascal

12 Xét ban cd vua 8 x 8 Các ô được đánh dấu bởi 0ÿ

trí hùng uà cột, 0í dụ u‡ trí (1,2) chi ra vi tri hang 1 cột 2

Trang 8

Phần 1 BÀI TẬP 7

Cho trước b 0ị trí, trên đó đã xếp b quân hậu: (ÌtÌ} (ial),

ÂM):

a Viết chương trình biểm tra xem b quân hộu trên có

Ở trong trạng thói độc lập huy bhông (tức lò không quân nào có thể khống chế quân nào)

b Trường hợp các quân trên đã độc lập hã y kiểm tro

xem có thể bổ xung thêm một quân hậu nữa mà uôn bảo đâm tính độc lập được hay không, nếu được hãy chỉ ra 0} trí của quân hậu mới

13 Xét bàn cờ uua 8 x 8 Các ô được đánh dấu bởi uị tri hang va cét, vi du vi tri (1,2) chi ra vi tri hang 1 cột 2 Cho trước b uị trí, trên đó đã xếp b quân tốt: (iqds), (lake)

(4):

Hãy uiết chương trình kừểm tra xem có thể xếp một quân hậu trên bàn cờ sao cho nó có thể khống chế toàn bộ

b quân tốt Nếu được hã y chỉ rd uị trí của quán hậu đó

14 Xét ban co vua 8 x 8 Các ô được đánh dấu bởi uị

trí hang va cét, vi du vi tri (1,2) chi ra vi trí hàng 1 cột 2

Cho trước È uị trí, trên đó đã xếp k quân tốt: (IÌ\, (lạ),

(isk):

Hãy uiết chương trình để chỉ ra 0à xếp thêm trên ban

cờ một số tối thiểu nhất các con hau sao cho chúng sẽ khống chế toàn bộ b quân tốt Chương trừnh phải chỉ ra duoc vi tri cia mỗi quân hậu được xếp

15 Trên một bàn tròn người ta xếp n số 0 uà 1 Giả sử

dãy số đã cho được uiết dưới dạng: a; œ¿ aạ d„ Sơu mỗi

phút các số trên uòng tròn sẽ tự biến đổi theo cách sau:

Nếu hai số bên cạnh giống nhau thì không thay đổi, ngược

Trang 9

8 Tee hae &y Drink Pascal

tại nếu hai số bên cạnh khác nhau thì sẽ thay đổi Ó —› 1 bà

1 ¬20

Cho trước dã y số như trên, lập chương trình tính sau

b phút (k nhập từ bàn phím) dãy số ban đầu sẽ thay doi như thế nào :

16 Giả thiết giống bài trên Dễ thấy răng dã y đã cho

sẽ không biến đốt nữa bhi mù tất ca cdc sé cua day là như nhau

Cho trước một dã y bất ky ban dau, hay kiém tra xem quá trình biến đổi trên có bị dừng lại hay không Hãy kiểm tra vdi cdc day cu thé sau:

a, 101010101010

b 100100100100

17 Giả thiết giống bài trên Dã y đã cho ban đầu được gọi là Tuân hoàn nếu qua trình biến đổi đến một lúc nào

đó sẽ xuất hiện lại dã y ban đầu

Cho trước một dãy ban đầu hãy kiểm tra xem nó có phúi lò tuần hoàn hay hhông Hũ y biểm tra cu thé vdi cdc day sau:

a, 1010101000101100

b 0100010101111001

18 Cần phải xếp 20 bao gọạo 0ào 8 nhà kho sao cho

mỗi cạnh của nhà kho phổi có tổng số bao gạo là 7 Người

ta đã nghĩ ra cách xêp như sau:

Trang 10

Phần 1 BÀI TẬP 9

a Giải quyết bài toán trên nhưng uới tổng số 24 bao gạo

b Giai quyết bời toán chỉ uới 16 bao gạo

19 Ma tran ky ao bac N la bang số vuéng N x N bao gom cdc 61, 2, 3, ., N? sưo cho tổng số các hàng, các cột 0ò các đường chéo đêu bằng nhau

Em hã y thử tìm mu trận bỳ ao bậc 4

20 Hã y thử tìm ma trận ky ao bac 5

§2 KHÁI NIỆM THỦ TỤC

4 Cau héi, vi du, bai tap

1 Trong phần bhai báo của thủ tục có thể khai báo một thủ tục khác được hay không? Cho uứ dụ

2 Trong chương trình của một thủ tục có thể sử dụng các biến:

a Được khai báo trong chương trình chính hay không?

b Được khơi báo trong các thủ tục khác hay không?

3 Hãy lập một thủ tục nhập 2 số nguyên A, B; sau đó tinh vé in ra man hinh thương A/B

4 Việt thủ tục nhập dữ hiệu cho một mỏng số cho trước

5 Hãy lập thủ tục tìm ma trận chuyến u‡ của ma trận

A khích thước mxn cho trước

6 Dùng thủ tục, đối uới một ma trận A[15X15] tính:

d Tổng bình phương các số hạng nằm trên đường chéo chính.

Trang 11

10 Tec hee Lip, Drink Pageal

12 Có thể khai báo tên của thủ tục trùng uới tên của

một thủ tục có sẵn trong Pascal được không?

13 Dùng thủ tục giải hệ phương trình tuyến tính 2 ổn

cho trước (các hệ số được nhập uào từ bàn phím):

ayx+b¡y =cy

a +boy =Cy

14 Hay viét lai thit tuc INSERT d6éi vdi mét chudi ky

tt cho trước tuỳ ý

15 Hãy uiết lại thủ tục DELETE đối uới một chuỗi ký

tự cho trước tuy 3

16 Viết một chương trùnh Pascal bằng cách thực hiện lần tượt cdc céng viéc sau:

a Lập thủ tục nhập ba số thực dương a, b, c từ bàn phím

b Lập thủ tục kiểm tra xem ba số trên có lập thành ba

cạnh của tam giác hay không

Trang 12

Phần 1 BÀI TẬP 11

c Viết thủ tục tính diện tích tam giác

d Viết thủ tục tính các trung tuyến của tam giác

e Viết hoàn thiện chương trinh chính

17 Cho trước mảng PỊ1 50) oƒ tnfeger, hồ y uiết thủ tục sinh ra mỏng trên bao gồm các số nguyên tố theo thứ tự cua chi so

18 Viết chương trình Pascal hoàn chỉnh để thực hiện theo thực đơn như sau:

1- Nhập dứữ liệu (nhập 3 số thực a, b, ©)

2- Giải phương trình ax? + bx + e = 0

3- Thoát khỏi chương trình

19 Viết chương trừnh Pascdl thực hiện theo thực đơn sau: 1- Nhập dữ liệu (nhập 4 số thực a, b, c, d)

2- Tính phần tử Min

3- Tính phần tử Max

4- Thoát khỏi chương trình

20 Viết chương trình Pascal hoàn chỉnh thực hiện các công uiệc của thực đơn sau:

1- Nhập dữ liệu (nhập số tự nhiên n)

2- Phan tich ra thừa số nguyên tố (phân tích n thành tích các số nguyên tố)

3- Thoát khỏi chương trình

21 Viết chương trình Pascal hoàn chỉnh thực hiện công uiệc của thực đơn:

1- Nhập số tự nhiên N

2- Nhập cơ số q.

Trang 13

12 Tee hac LE Drink Pascal

3- Biểu diễn N theo cơ số q

&S Cau héi, vi du, bai tap

1 Chuong trinh sau déy minh hoa viéc truyén bién cho chuong trinh con Procedure trù không có danh sách bién, không có bha¿ báo VAR, vi vay bién x cua no là biến của chương trinh chinh, Sau khi chạy xong tru biến x bi thay đổi giá trị:

Program VD;

Var x: integer;

(* ` Procedure tru;

Trang 14

Phần 1 BÀI TẬP 13

Writeln( Giá trị x luc nay bang:’, x);

Readln;

End

2 Chương trình sau đáy mình họa uiệc truyền biến cho chương trình con Procedure cong không có danh sách biến nhưng có khai bdo biến X trong phần khai bao VAR, vi bây biến x của nó là biến mới (biến X của chương trình chính bị che) Khi chụy cong biến x của nó sẽ nhộn gia trị khởi đầu băng 0 uì chưa gán giú trị khỏi động

Trang 15

14 Tu hac big Drink Pascal

động tuỳ thuộc lời gọi của chương trình chính Khi chạy cong biến của chương trình chính bi che vi véy khi cong két thúc biến x của chương trình chính uẫn mang giá trị cũ

4 Bạn hãy chạy thử chương trình sau đây 0à giải thích xem tại sao lạt như 0uậy:

Trang 16

Phần 1 BÀI TẬP 15

Writeln(Giá trị của a lúc này bằng ', a);

Writeln ( Giá trị của b lúc này bằng ', b);

Write (‘Cho biét tir sé: '); Readln(a);

Write('Cho biết mẫu số: ‘); ReadIn(b);

Trang 17

16 Tec hoe Lig Drink Pascal

(LE) Bòi tập về nhà

10 Dãy số thực được định nghĩa như sau:

a,=2

ay = a,(6 - a4,)/4

"Vil chuong trình tính dãy trên với n khá lớn (khoảng

10000) uà uới độ chính xác khoảng 20 chữ số sau.dấu phấy

thập phân

Em có nhận xét gì uề đã y số này?

11 Một xâu nhị phân được gọi là không lắp bạc b nếu xâáu trên bhông chứa hai xâu con độ dời b giống nhau Viết chương trình nhập xâu nhị phân bát kỳ tỪ bàn phín uà kiểm trư xem nó có phi là không lặp bậc k huy không

Trang 18

Phần 1 BÀI TẬP 17

12 Cho trước xâu nhị phân Hãy tính số bậc bhông lặp của xâu trên (tức lò số lớn nhất b thỏa mã n xâu là không lặp bác b uà không là không lặp bác b- 1)

18 Một xâu nhị phân gọi là "chuẩn" nếu nó không chứa hai số 0 liền nhau

a Liệt kê và tính số các xâu nhị chân "chuẩn" độ dài 3

b Liệt kê và tính số các xâu nhị phân "chuẩn" độ dài 4

c Liệt kê và tính số các xâu nhị phân "chuẩn" độ dài 5

d Gọi A, là số các xâu nhì phân chuẩn độ dài n Hã y tính A,

14 Gia thiết giống như bời trên Em hãy chứng mảnh céng thite sau: AFA +A

15 Viét chuong trinh liét ké va tinh gố tất cả các xâu nhị phan d6 dai 6 va khong chita 3 số0 hiên Hếp

16 Goi A, la sé cdc xu ký tự độ dài n uà chứa 3 số 0 liên tiếp Gọi B, là số các xâu bý tự độ dài n uà không chứa

3 số 0 liên tiếp Rõ ràng ta có A,+B,=2", Tìm công thức tinh A, va B,,

17 Cấu trúc dữ liệu Ngăn xếp:

Một mảng dữ liệu ngăn xếp là mảng dữ liệu trong đó các phần tử được lưu trữ uò xử lý theo nguyên tắc “Vào sau

ru trước”, tức là phần tử đưa uào lần cuôi cùng sẽ được dua ra dau tiên (Giống như ngăn xếp, đưa uòo đầu tiên

nằm dưới đáy thì không thể lấy ra trước được) Đối uới dữ liệu biểu ngăn xếp (Hếng Anh gọi là Staek) chỉ có hai phép

toán: Đưa uào (Push) uà Lấy ra (Pull)

Hãy mô tủ một biểu dữ liệu Ngăn xép va mé ta hai thu tuc Push va Pull

Trang 19

18 Tee hae “ Drink Paserl

18 Cấu trúc dữ liệu Hăng đợi:

Một mảng dữ liệu Hang doi lă mảng dữ liệu trong đó

câc phần tử được lưu trữ öuă xử lý theo nguyín tắc "Văo trước ra trước”, giống như 0iệc xếp hăng mua uĩ, ai xếp trước mua trước Đối uới kiểu dữ liệu Hăng đợi cũng chỉ có hai phĩp toân la Push va Dull giống như băi toân trín, Hêy mô tả một kiếu dữ liệu Hằng đợi đơn giản uă hai thu tuc Push va Pull

19 Nguồn gốc số Fibonaci:

Trín một hòn đảo hoang người ta đặt uòo một cặp thỏ non (một đực uă một câi) Câc cặp thỏ non chỉ trưởng thănh sau 2 thâng Khi đê trưởng thănh câc cặp thỏ sẽ

sinh ru một cặp thỏ non sau mỗi thúóng Tính số cặp thỏ

trĩn dao sau k thang

Chúng minh rằng số cặp thỏ cần từn trín đảo chính bằng số Fibonaci thứ b

Băi toân trín lần đầu tiín được mô tả trong quyển

sâch Liber abaci của tâc giâ PYbonaci người Italia 0uăo thế

kỷ thứ 13 va tín gọi số Fibonaci bắt đầu có từ đó

§4 KHÂI NIỆM HĂM

/#Ế Cđu hỏi, vĩ dụ, bởi tập

1 Viết đoạn chuong trinh mĩ ta Function tinh gid tri của biểu thức:

x= 3x7 +1, ở đđy x lă số thực tuỳ ý

Trang 20

Phần 1 BÀI TẬP 19

2 Tinh ham s6 a”, ở đây a là số thực uà n là số tự nhiên tuỳ y được nhập ào từ bàn phím

3 Viét Function cho gid tri Boolean hiểm tra tính

nguyên tố của một số tự nhiên cho trước

4 Dùng FuneHon tính UCLN của 2 số tự nhiên +, y theo thuột toán Oclit

5 Dùng Function tách từ đầu tiên rơ khỏi một xâu ký

12 Viết hàm số Euler gín) uới n tự nhiên tính số các

số tự nhiên nhỏ hơn n bà nguyên tố cùng nhưu uới n

IRR) Bòi tập về nhỏ

13 Viết ham s6 tinh n!

14 Viết ham s6 tinh nl! (Ky hiéu nt! dùng để chỉ tích 1*3*5*., *n néu n lé va 2*4*6* *n néu n chan).

Trang 21

20 Te bac hig think Pascal

15 Cho S1, S2 là hai xâu hý tự cùng độ dòi Gọi

d(S1, S2) uới S1, S2 hơi xâu bý tự cùng độ dời, là tổng số

các 0Ÿ trí khúc ruhau trong xôu

Ví dụ: dCabcd’, ‘achc')=2 (cdc vi trí 2 uà 3 )hác nhau)

Viết hờm số tính d(S1, S2) Số d(S1,S2) được gọi là

Khoảng cách ga Š1 va S2

l6 Cho trước xâu nhị phôn S Viết chương trừnh liệt

bê tất cả cúc xâu nhị phân Sˆ cùng độ dài uớởi S sao cho d(S,S%1

17 Cho số tự nhiên N Viết chương trình kiểm tra xem

ÁN có thể biểu diễn thành tổng của một số số tự nhiên liên tiếp (> 1 hạng tử) được hay không Nếu đúng héy in ra một biểu dién nhu vay

18 Số tự nhién N được gọi là "Tích bậc k” nếu nó có thể

biểu diễn dưới dạng tích của b số tự nhiên (>1)

Vi du: một số tự nhiên la Tích bạc 2 bhi uà chỉ khi nó

là hợp số:

Cho trước số tự nhiên N, kiểm tra xem N có phải là

Tich bée 3 hay khang

19 Goi A, la tap hợp các số tự nhiên là Tích bậc k Dễ thấy khẳng định sau:

A1A25 A3 Àk Ak†1D

Số tự nhiên n thuộc A, nhưng không thuộc A„ được goi la có TÝch thực sự bậc k Các số nguyên tố là những số

có Tích thực sự bộc 1

Giả sử số tự nhiên n có dạng khai triển nguyên tố như

Trang 22

NÓ) =0, N(x)= [T Lnếux cắn và

| nếu x lẻ, N(uv) = N(u) + NV), với u,v là các xâu ký tự tương ứng

a Tinh N( 1233536535)

b Tinh N(u) voi u là xâu bat ky

22 Cho trước n số tự nhiên at, 8; a„ Gọi đ !à UCLN của n số trên Hã y tìm các sốtp,, D;, Dạ sơo cho: d # pịa; +

pra + t Đnâr

§5 BIẾN CỤC BỘ, BIEN TONG THE

TRUYỀN THAM BIẾN CHO THỦ TỤC/ HÀM

#@ Câu hỏi, ví dụ, bời tập

1 Các khẳng định sau đúng hay sai:

a Bién cục bộ là biến được mô tả bên trong thủ tục hoặc hàm.

Trang 23

22 Tuc hac big trink Pascal

2 Các khẳng định sau đúng hay sai:

ø Biến cục bộ không có giá trị ở bên ngoài khi tên của biến đó không được khơi báo ở bên ngoài

b Giá trị của biến cục bộ sẽ được gù? nguyên khi biến

đã được khai báo ở bên ngoài

c Giá trị của biến tổng thể hoàn toàn không phụ thuộc uào uiệc thực hiện bên trong cóc hàm va thủ tục

3 Trong Pascal có bao nhiêu cách truyền gió trị cho biển trong Thu tuc va Ham (phan biét cé va không có từ khoa Var)?

4 Doan chuong trinh sau dung hay sai, vi sao:

Trang 24

Phần 1 BÀI TẬP 23

5 Cac ham va thu tuc trong Pascal có thể gọi lông

nhau được hay bhông?

6 Bạn hã y ín uà chạy thử 3 chương trình sau đây:

Kết qua chay sé la: 2 5

Trang 25

24 Tex hee Li Drink Pascal

7 Giả sử ta cần khai báo hai thủ tục (hoặc hàm s6) A

va B Gid sw trong phan chương trình cua A cân gọi B va

Trang 26

Phần 1 BÀI TẬP - 25

trong phần chương trình của B can goi A Trường hợp trên

có thể xử lý trên Pascdl được hay khéng? Vi sao?

8 Trong phần thân của thủ tục hoặc hàm có thể gọi

đến chính nó được không?

9 Giải phương trình 2 ẩn sau trong phạm uì các số nguyén: ax + by = c, vdi a, b, c là cóc số nguyên cho trước Chương trình chỉ cần chỉ ra một nghiệm nòo đó của

phương trình trên hoặc đưa ra phủ định uề nghiệm

10 Mọi phân số dương va nhỏ hơn 1 đều có thể biểu diễn (duy nhữ1!) dưới dang:

a,+

1 apt 1

nạ + + —

ay

Ở đây ay, ay, a, La cde 86 tu nhién

Việt chương trình nhập hai số tự nhiên p, q từ bàn

phím uới p<q Sau dé tim day ay, a, ., a, là khai triển của

phén s6 plq Kết quả thể hiện trên màn hình

LE) Bai tap vé nha

11 Viết thủ tục:

Compare (S1,S2: String; Var Kq: String)

thực hiện công uiệc sau: so sánh hai xâu SI va S82, tim ra tất có các ký tự có trong củ hai xâu trên Xâu Kq sé chứa tat ca cdc ky tự đó, mỗi ký tự chỉ được nhớ một lần

Trang 27

26 Te hac Lig trivh Pascal

12 Cho n xâu ký tự S1, 82, ., Sn Goi d(U,V), voi U,

V la hai xdu ky tu bất bỳ, là tổng số cúc ký tự không giống

nhau trong hai xâu trên, môi loợi ký tự chỉ được nhớ một

lan Vi du daabbe’,'bedd') = 9 uì chỉ có hai ký #ự a 0è ở là không giống nhau trong các xâu trên

a Viết hàm số tinh d(U,V)

Hãy thử uới K=2A M=5,

Lập chương trình để Máy tính chơi uới người

14 Cho bảng số uuông NxN cho bởi mỏng 2 chiêu Nj |) Viết chương trình tính phần tử Max của mỏng trên trong các miền sau của bảng số:

a b € d e,

15 Hừm Mobius của một số tự nhiên n được định nghĩa như sau:

M(n) = 1 nếu n =1 hoặc n biểu diễn thành tích của một

số chẩn các số nguyên tố khác nhau, M (n) s —1 nếu n biểu diễn thònh tích của một số lẻ các số nguyên tố khác nhau

va M(n) = 0 trong các trường hợp còn lại.

Trang 28

18 Gọi một hoán 0ì aya, a, của (12 n) là không cân

bằng nếu vdi moi i thi as>i Goi D, là số các hoán uị không

cân bằng của n phân tử

Viết chương trình tinh D, va in ra tat ca cdc hodn vi không cân bằng của n phần tử

19 Chứng mình rằng dã y sốD, được định nghĩa trong

bai trén sé thoa man dang thitc sau:

Trang 29

28 Tye hae Lig, think Pascal

Dạ = (n-1 XD,-‹ + D;¿) với n > 1

20 Chứng mình rằng dã y sốD, được định nghĩo trong

bởi trên sẽ thỏa mã n đẳng thức sau:

D,=nD,,+(-1)" vdt moi n

§6 LAM VIEC VOI FILE TRONG PASCAL

FS Cau héi, vi du, bai tap

1 Mét file van ban trén dia cé tén la SON.INF chita

đúng một dòng bao gồm hai số tự nhiên n, m được uiết

cách nhưu một dấu cách Sau đây la mét vi du vé file nay:

4

5

Em hũy uiế! đoạn chương trình nhập hai số này từ

ke trên va in két qua ra man hinh

3 Mét file van ban có tên DATA.TXT lưu trừ số liệu của một mảng n số uà có dựng sau:

- Dòng đầu tiên của file ghi số n

- n dòng tiến theo của file ghỉ n số, mỗi số trên một dòng

Trang 30

Phần 1 BÀI TẬP 29

Viết chương trừnh nhập số liệu cua day trên oào một mảng oò in ra dữ liệu của mảng trên sau khi đã sắp lại theo thứ tự tăng dần

4 Một file uăn bản có tên DATA.TXT lưu trữ số liệu của một mảng n số 0ò có dụng sau:

- Dàng đầu tiên của ïile gh¿ số n

- Dòng tiêp theo của file ghí n số các số cách nhau bởi tôi thiểu một dấu cách

Viết chương trình nhập số liệu của đãy trên oào một mang va in ra dit liéu cia mang trén

ð Viết các thủ tục nhập dữ liệu từ file cho cúc trường hợp của 4 bài trên

6 Làm bài tương tự bài 3 Điểm khúc biệt là ở chỗ file

đữ liệu không có dòng đâu tiên ghỉ tổng số đữ liệu như

trong bài 3 Chương trình phải tự kiểm tra uà tính số n đó

7 Làm bài tương tự bài 4 Điểm khác biệt là ở chỗ file

dữ liệu không có dòng đầu tiên ghỉ n, chương trình phải tự kiểm tra 0à uà tính số đó

8 Cho file uăn ban ghỉ số liệu của một bang s6 NxM

Trang 31

30 Tuc bee hip trinh Pascal

Nguyen Van Hung 15G

Bui Quang Than 14K

Tran Minh Quang 16G

Dit liéu ghi trong file nay có ý nghĩa như sau:

- Dòng đâu tiên ghỉ đúng một số n chỉ số lượng học sinh trong ld p

-ndong tiếp theo môi dong ghi dit liéu cilia mét hoc sinh

- Mỗi học sinh được ghỉ các dữ liệu sau:

Trang 32

Phần 1 BÀI TẬP 31

10 Làm tương tự bài trên, điểm khác biệt là không có

dòng đầu tiên ghi số lượng học sinh Chương trình phỏi tự nhận biết uờ tính được số đó

IRR| Bai tap vé nha

11 Thực hiện tất cả các thao tác uới các dạng file van bản như trong phần Câu hỏi, uí dụ, bai tập nhưng theo chiều ngược lại, tức là thực hiện các thao tác ghi

12 Có thể được hay không uiệc thực hiện ghi ru file uốn bản trên một dòng các biến uới kiểu dữ liệu khúc nhau Ví dụ có thể được hay không uiệc ghỉ ra file như sau:

Wrileln(F, Xau1, So1, Xau2, So2);

uới XaUX là các biến biểu strring còn SoX là biến biểu Real

13 Số liệu được nhập từ một He ăn ban INPUT.TXT uò có dạng sau:

- Đòng đầu tiên ghi số tự nhiên N (N <20)

- Ñ dòng tiếp theo, mỗi dòng ghi một dã y số, các số cách nhau

bởi dấu cách Số lượng phần tử của các dã y có thể khác nhau Viết chương trình nhập số liệu từ file trên, sốp xếp N dãy trên theo thứ tự tăng dân va ghi két qua ra file

ODUDTPUT.TXT có dụng tương tự như file nhập liệu

14 Một danh sách lớp được ghi trong một Pie ăn ban cé dang sau:

Nguyen Van Minh Nam

Nguyen Tung Chau Nu

Tran Quang Thu Nam

Bui Van Ngo Nam

Trang 33

32 Tue đạc Lig trink Pasenl

Trong d6 ho vé tén hoc sinh duoc ghi trên độ dài 20

ky tu, 3 ky tu tiép theo sẽ ghỉ Nam hoặc Nu chỉ giới tinh của học sinh đó Số dòng của file này sẽ bằng số bọc sinh trong lớp

Hãy viết! chương trình thực hiện các công uiệc sưu:

a Nhap tén File sé liéu tit ban phim, sau dé nhap

dữ liệu từ File uào bộ nhớ máy tính

b Thực hiện viéc sap xếp lại danh sách học sinh trong lớp sơo cho các bạn Nữ lên trước, các bạn Nam sau

c Nhập tên Pile két qua tit ban phim va ghi danh sách lớp sau khi đã sắp xếp lại ru File đó theo mẫu giống như lúc đọc uào

15 Đầu bài giống bài trên Hã y uiốt chương trình để thực

hién cdc céng viéc sau:

- Đếm xem trong lớp có bao nhiêu bạn là Nam, bao nhiêu bạn là Nữ

- Kiểm tra xem lớp có hai bạn nào cùng họ hưy không? Nếu có liệt hê tất cả các bạn có chưng họ

16 Đầu bài giống bùi trên Hãy oiế! chương trùnh đọc

dit liéu va in bết quả ra File sau khi đã sắp xếp các bạn trong lớp theo trật tự sau: trước tiên sắp xếp theo giới tính, các bạn Nữ trước, Nam sau, sau đó sắp tiếp trong số các bạn cùng giới theo tên theo thứ tự ABC, sau đó sẽ sắp tiếp theo họ Trong 0ý dụ cua bai trén file két qua sẽ có dựng

Nguyen Tung Chau Nu

Nguyen Van Minh Nam

Trang 34

Phan 1 BAI TAP 33

Tran Quang Thu Nam

17 Cho trước một xâu nhị phân độ dài bất kỳ được dua vao tw file vén ban |NPUT.TXT Can biến đổi xảu nhị phan nay vé dạng toàn số 0 Các phép biến đổi có thể chỉ

la mét trong các Ïoại sau:

- Biến đổi xâu con 11 thành 00

- Biến đổi xâu con 010.thành 000

Hay chi mét cach biển đổi xâu đã cho thành xâu có

toàn 0 Kết quả thể hiện trong fñile OUTPUT.TXT như sau: Dòng đầu tiên của OUTPUT.TXT chứa xâu ban đầu, sau

đó môi dòng là một xảu tiếp theo sau một phép biến đối, xâu cuối cùng là xâu toàn 0

18 Cho một file uăn bản BLPAS trên đó ghỉ một

chương trình Pascal

Hãy uiết chương trình thực hiện các công uiệc sau: ơ._ Kiểm tra xem trong chương trình trên số các từ Begin có bằng số các từ End hay không

b Niểm tra tinh đúng đắn của các chú thích của chương trình: số các ký tự "[' có bằng số các ký tử

20 Tại một sản ga người ta xét hành lý của hành khách

va ghi kết qua vao file cé tén KHACHINF sao cho méi hành

Trang 35

34 Tue haz ⁄% Drink Pascal

khách được ghi trên một dòng, mỗi biện hàng được ghủ rõ số cân trên kiện hang do Vi du mot file nhu véy cé dang sau:

File trên có ý nghĩa sau: có tốt cả 4 hành khách, hành

khách 1 có ð biện hàng uới số cân tương ling la 12, 4, 5.5, 6

Uè 2kg, khách thứ hai có 1 kiện nặng 21 kg

Hãy uiết chương trừnh thực hiện các công uiệc sưu:

a Tính tổng số cân của mỗi hành khách va in két qua

ra file có tên CAN.KQ, mỗi hành khách là một số trên một hang Ví dụ uới file đầu vao như trên thì bết quả sẽ là:

29.5

21

20

7

b Kiém tra va in ra những khach hang khéng di: tiéu

chuẩn đi tờu Số liệu duoc ghi ra file cé tén HUY.KQ, modi

dong ghi sé thu tu hanh khdch khong du diéu kién Biét

rằng hành khách sẽ không đủ điêu kién di tau néu téng sé

trọng lượng hùng bóa lớn hơn 20 kg hoặc có quá 10 hiện hàng Trong vi du trén các hành khách số 1 uò 2 là không

đủ điêu kiện do đó file bết quỏ sẽ có dạng:

1

2

Trang 36

Phần 1 BÀI TẬP 35

§7 ON TAP

ZS Cau héi, vi du, bai tap

1 Viét chuong trinh con tính diện tích hình tròn, hình buông, hình thoi trong một chương trình chính Sau đó hoi

va chọn một số phương án tính diện tích bằng cách chọn trong bảng chọn lệnh sau:

1- Tính diện tích hình tròn

3- Tĩnh diện tích hình uuông

3- Tinh dién tích hừnh thoi

2 Hãy uiết lại chương trình giải phương trình bậc 2 bằng cách đưa oào các thủ tục tính giá trị Delta

3 Hãy uiết chương trình cộng 2 số tự nhiên cho trước được nhập uòo từ bàn phím uới bết quủ được oiế! trong hệ

cơ số 9

4 Tim va inra tất cỏ các số Hỷ nhiên nguyên tố có 3

chữ số là số đối xứng trong cách viét cơ số 2

§ Lập trình tách từ cuối cùng ra khỏi một xdu ky tự cho trước uò biểm tra xem đó có phải là từ đối xứng không? Và in kết quả ra màn hừnh

6 Giải phương trình: 2` = 3" +1 trong phạm 0i các số

tự nhiên 1<n,m< 1ô

7 Lập trình chuyển một số được uiết trong hệ cơ số 9 thành số trong hệ cơ số 3

Trang 37

36 Tue bac Lip tien Pascal

8 Các số được utết trong hệ đếm cơ số 16 sử dụng các

ký tự sau: 0, 1, 9 uà A,B,C,D, E, F chỉ các số 10, 11, 12, 13,

5- Ghi két qua ra file

Chu y: Tép két qua sé có tên KQ12.TXT uà bao gầm 4

dòng Dòng thứ nhất gh: số N dạng thộp phân, dòng thứ 2 ghi s6 M dui dang Hexa, dong thu 3 ghi N dang hexa, dong thit 4 ghi M dang thap phan

LL] Bỏi tập về nhà

10 Cho trước các hé sé nguyén 4, a1, ., ay Giai phuong trinh sau trong pham vi sé nguyén:

ax tax) + tayx ta, = 0

11 Thuật todn cộng số nguyên:

Xét cức biểu diễn nhị phân của các số tự nhiên:

a = â,+â,; 3yâu,

hay có thể uiốt a = (aayas; 8vãn);,

Trang 38

Phần 1 BÀI TẬP 37

Tu cĩ thuật tốn sau mơ tà phép cơng các số nguyên theo

cách biểu diễn nhị phân:

Gia suf a = 8yvây¿ yaạ, b = bạ„b„¿ bịbạ bờ kết quả của

Gia sử a = a,;a,¿ ậạ nè b = bạbạ¿ bịby khỉ đĩ định nghĩa phép todn left (chuyén sang trai) va right (chuyển sang phat) một số bit như sau:

a left k=a„„ a;a00 0 (k số 0 bên phải)

b right k = 00 0a,,a,„¿ 4-„{k số 0 bên trái)

Để mơ tả thuật tốn ta sử dụng các biến trung gian là

Cạ, Cụ, ., Cạ¡ (cĩc số nguyên)

Trang 39

38 Tee hoe Lit Rrink Pascal

Kế? quả sẽ được gún cho biến p

for i:=Ũ to n-1 do

Begin

lfb,= 1 thenc,:=a left / Else c, :=0

End;

p:=0;

for ì:=0 to n-1 do p:=ptc;

Viết chương trình mô td thuật toán trên

13 Thuật toán nhân nhanh:

Trong bài tập này sẽ mô tả một thuật toán nhôn rốt nhanh các số nguyên

Gia sử ta co: a= 8¿n-13¿n.; 3t3p va b = Don-tDeng:-D4Dp la các

biểu diễn nhị phân của a uờ b Chú ý rằng ta có thể coi

chúng có cùng độ dài 2n bằng cách bổ sung các bít 0 uề bên trái của các số đó

Đặt a = 2À, + Ác và b = 2B, + Bụ

Oday ¡= â¿a:3› 3n,tâu, Áo = â, ;ân¿ 8âu,

By = Dyn tDgn.2:-Dae Dp, Bo = Bp 1Dp-2 - bo

Khi đó thuật toán nhân nhanh được thể hiện trong công thức sau:

ab = (2"+29A:B, + 2(ArAj(ByB,) + (2° + 1)A,Bo

a Chitng minh tinh ding dan cia cong thitc trén

b Viết chương trình mô tỏ thuật toán trên

14 Chứng mình rang day sé Fibonaci F,, Fy, Fạụ thỏa

man đẳng thức sau:

Trang 40

Phần 1 BÀI TẬP 39

FF, + FessFast = Four VOL mot sé tu nhiên K, n

15 Chứng mình các đẳng thức sau uới số EYbonaci:

a FoF” Fy? = (A)

b FoF, + FyF, + + Fons Fan = Fan

6 Fy = F, + F; > F, + one ™ Fo + Fạa = F;„.-1

18 Dã y số a, được định nghĩa qui nạp nhu sau:

a, = 1

a, = 2

Giả sử tất có các số tự nhiên nhỏ hơn n đều đã được

xúc định là thuộc da y trên hay không

Khi đó sốn sẽ được xóc định thuộc đã y trên nếu nó có thể biểu diễn duy nhất dưới dụng tổng của hai số bhác nhau của đã y trên

Ta cé vi du a,= 3, a, = 4, as = 6,

a Em hã y tính tay 10 số hạng đầu tiên của dãy trên

Ngày đăng: 04/12/2015, 07:40

TỪ KHÓA LIÊN QUAN