ĐỀCƯƠNGÔNTẬP TIN HỌC11 HKII I. Trắc nghiệm Câu 1. Cho chương trình sau: (Tính thành 5 câu) Program kt; Var m,n,T : integer; Procedure TD(Var C: integer; x: byte); Var i: Byte; Begin i:=3; Writeln(C, ‘ ’,x); x:=x+i; C:=C+i; S:=x+C; Writeln(C, ‘ ’,x); End; Begin Write(‘nhập m và n:’); Readln(m,n); TD(m,n); Writeln(m,’ ‘,n,’ ‘,T); Readln; End. Câu 2: Cho chương trình sau: Var f: text; Begin Assign(f,'Khoi11.txt'); Rewrite(f); Write(f, 105*2-134); Close(f); End. Câu 3: Cho chương trình sau: Var g: text; Begin Assign(g,'ktra.inp'); Rewrite(g); Write(g,'510+702-792'); Close(g); End. Câu 4. Khẳng định nào sau đây là đúng? A. Cả thủ tục và hàm đều có thể có tham số hình thức B. Chỉ có thủ tục mới có thể có tham số hình thức C. Chỉ có hàm mới có thể có tham số hình thức. D. Thủ tục và hàm nào cũng phải có tham số hình thức Câu 5. Dữ liệu kiểu tệp A. sẽ bị mất hết khi tắt máy. C. sẽ bị mất hết khi tắt điện đột ngột. B. không bị mất khi tắt máy hoặc mất điện. D. cả A, B, C đều sai. Câu 06. Để gán tệp kq.txt cho biến tệp f1 ta sử dụng câu lệnh A. assign(‘f1,D:\kq.txt’); B. assign(‘kq.txt=f1’); C. assign(kq.txt,’D:\f1’); D. assign(f1,’D:\kq.txt’); Câu 7. Dữ liệu kiểu tệp A. được lưu trữ trên ROM. B. được lưu trữ trên RAM. C. chỉ được lưu trữ trên đĩa cứng. D. được lưu trữ trên bộ nhớ ngoài Câu 8. Kiểu dữ liệu của chương trình con A. Chỉ có thể là kiểu integer. B. Chỉ có thể là kiểu real C. Có thể là các kiểu integer, real, char, boolean, string. Sau khi thực hiện chương trình bên, tập tin 'Khoi11.txt' có nội dung như thế nào? A. 105*2-134 B. 76 C. 105 304 234 D. 175 Sau khi thực hiện chương trình bên, tập tin 'ktra.inp' có nội dung như thế nào? A. 510 702 792 B. 420 C. 510 + 702 - 792 D. 510702792 Hãy cho biết? + Biến toàn cục là: …… . + Biến cục bộ là: ……………… + Tham số hình thức - Tham số giá trị: ……… . - Tham biến: …………… +Tham số thực sự: ………………… . + Khi chạy chương trình, nhập m = 5, n = 7 thì kết quả: A. B. C. D. D. Có thể là integer, real, char, boolean, string, record, kiểu mảng. Câu 9. Để ghi kết quả vào tệp văn bản ta có thể sử dụng thủ tục nào sau: A. read(<tên tệp>,<danh sách kết quả>); B. read(<tên biến tệp>,<danh sách kết quả>); C. write(<tên tệp>,<danh sách kết quả>); D. write(<tên biến tệp>,<danh sách kết quả>); Câu 10. Để đọc dữ liệu từ tệp văn bản ta có thể sử dụng thủ tục nào sau: A. read(<tên tệp>,<danh sách kết quả>); B. read(<tên biến tệp>,<danh sách kết quả>); C. write(<tên tệp>,<danh sách kết quả>); D. write(<tên biến tệp>,<danh sách kết quả>); Câu 11: Cho khai báo của một hàm: Function F( k : Integer) : String ; Begin If k mod 2=0 then F:=’Chan’ else F:=’Le’; End; Muốn gán X:= F(5); thì biến X phải khai báo kiểu gì : a) Var X: Real; b) Var X: String; c) Var X: Integer; d) Var X : Char; Câu 12 Cho khai báo đầu của một hàm: Function F( k : Integer) : String ; Begin If k mod 2=0 then F:=’Chan’ else F:=’Le’; End; Muốn in Write( F(y) ); thì biến y phải khai báo kiểu gì : a) Var y : Real; b) Var y : String; c) Var y : Integer; d) Var y : Char; Câu13: Cho khai báo biến và khai báo đầu của thủ tục TT: Var x, y : Integer ; St :String ; Procedure TT( Var a : Integer ; b : String); -Lệnh nào đúng : a) TT(x +1, St) ; b) TT(10, St) ; ) TT(x, St) ; d) y:= TT(St, x) ; Câu 14 Khi chạy chương trình : Var x, y : Real; Function F(x, y:Real):Real; Begin F:=x; If x < y then F := y; End; BEGIN x:=10; y:=15; Write(F(x, y): 0:0); END. -Kết qủa in ra: a) 10 b) 15 c) 0 d) F(x,y) Câu15 Cho a là biến nguyên a=3, và khai báo thủ tục : Procedure TT( x : Integer) ; Begin x:=x+2; End; Sau khi gọi thủ tục TT(a); thì Giá trị của biến a là : a) 2b) 5 c) 3 d) 0 Câu16: Cho x, y là hai biến nguyên và khai báo thủ tục : Procedure Doicho( Var a : Integer; b : Integer); Var z : Integer; Begin z:=a; a:=b; b:=z; End; -Sau khi thực hiện các lệnh: x:=7; y:=3; Doicho(x, y); thì giá trị của x, y là: a) x=7, y=7 b) x=3, y=3 c) x=3, y=7 d) x=7, y=3 Câu 17 Cho khai báo hàm đệ quy : Function F( a : Integer) : Integer; Begin If a=1 then F:=1 else F:= a*a+ F(a-1); End; Giá trị của hàm F(4) là: a) 1 b) 25 c) 14 d) 30 Câu18: Khi chạy chương trình : Var x : Integer; Procedure TT ; Begin x:=4; x:= x+5; End; BEGIN x:=0; TT; Write(x); END. -Kết quả in ra là: a) 4 b) 5 c) 9 d) 0 Câu19: Khi chạy chương trình : Var x : Integer; Procedure TINH ; Var x: Integer ; Begin x:=1; x:= x+12; End; BEGIN x:=10; TINH; Write(x); END. -Kết quả in ra là: a) 10 b) 12 c) 22 d) 13 Câu20 : Khi chạy chương trình : Var x : Integer; Procedure TTA ; Var x : Integer; Begin x:= 7* 5; Write(x, ‘,’); End; BEGIN x:=4; TTA; Write(x:2); END. -Kết quả in ra là: a) 35, 4 b) 4, 35 c) 4, 75d) 354 Câu 21: Chương trình con chuẩn nào sau đây không thuộc thư viện GRAPH A. SetColor(màu). B. TextColor(màu). C. PutPixel(x,y,màu). D. MoveTo(x,y). Câu 22: Chương trình con chuẩn nào sau đây không thuộc thư viện CRT A. TextColor(màu). B. SetColor(màu). C. Clrscr. D. TextBackGround(màu) Câu 23: Để biết khi nào thì hết dòng, người ta dùng hàm A. EOFLN(<biến tệp>) B. EOF(<biến tệp>) C. FOE(<biến tệp>) D. EOLN(<biến tệp>) Câu 24: Từ khóa clrscr dùng để: A. Tô màu màn hình B. Đặt màu nền màn hình C. Xóa màn hình D. Làm nhấp nháy màn hình Câu 25: Thử tục nào sau đây không phải là thủ tục để vẽ đoạn thẳng A. Line(x,y,x’,y’) B. LneRel(dx,dy). C. PutPixel(x,y,màu) D. LineTo(x,y). II. Nội dung Chương V: Tệp và thao tác với tệp Chương VI: Chương trình con và lập trình có cấu trúc III. Bài Tập Bài 1: Cho kiểu dữ liệu được khai báo như sau: Type Vector = Array [1 200] of real; Các biến A,B thuộc kiểu Vector; A=(a 1 ,a 2 , ……, a n ), B= (b 1 ,b 2 ,……,b n ) , 1 ≤ n ≤ 200. Hãy viết hàm FUNCTION Tich_vo_huong(Var a, b: vector; n : Byte) : Real; tính tích vô hướng hai vector A và B. Ghi chú: Tích vô hướng của A và B theo định nghĩa là 1 * n i i i a b = ∑ Bài 2:Hãy mô tả các hàm MIN2(A, B) trả về giá trị Min(A, B) và hàm MAX2(A, B) trả về giá trị Max (A,B) (với A, B là các giá trị thực). Sử dụng các hàm này để mô tả hàm MIN4(A, B, C, D) và hàm MAX4(A, B, C, D) trả về các giá trị tương ứng Min(A, B, C, D) và Max(A, B, C, D) (với A,B,C,D là các giá trị thực). Bài 3: Hãy mô tả hàm FACT(n) trả về giá trị n! (n giai thừa, n nguyên): Sử dụng hàm này tính và đưa ra màn hình n! với n=0,1,……., 10. Ghi chú: 1, êu n=0, ! 1*2*3* .*n, trong truong hop còn lai n n = Bài 4: lập trình nhập từ bàn phím ba cặp số nguyên (X A ,Y A ), (X B ,Y B ), (X C ,Y C ) ứng với tọa độ 3 điểm A, B, C trong mặt phẳng. Hãy kiểm tra xem 3 điểm A,B,C có phải là 3 đỉnh của một tam giác vuông hay không? Đưa kết quả kiểm tra CO hoặc KHONG ra màn hình. Bài 5: Viết chương trình thực hiện việc rút gọn một phân số, trong đó có sử dụng hàm tính ước chung lớn nhất của hai số nguyên UCLN (x, y:integer): integer; Bài 6:Giả thiết tam giác được xác định bởi tọa độ của 3 đỉnh. Ta sử dụng kiểu bản ghi để mô tả một tam giác: Type Diem = record x, y: real; end; Tamgiac = record A, B, C : Diem; End; Hãy xây dựng các hàm và thủ tục sau: - Hàm tính khoảng cách giữa hai điểm P, Q : function khoang_cach(P, Q: Diem): real; - Thủ tục nhân dữ liệu vào là biến mô tả tam giác R và dữ liệu ra là độ dài 3 cạnh a, b, c: Procedure Dai_canh (Var R: Tamgiac; var a,b,c: real); - Hàm tính chu vi tam giác R: Function Chu_vi(var R: Tamgiac):real; - Hàm tính diện tích tam giác R: Function Dien_tich(var R: Tamgiac):real; Bài 7: Sử dụng thủ tục: Procedure Hoan_doi( var x,y: integer); Var TG: integer; Begin TG:=x; x:=y; y:= TG; end; Lập trình nhập số nguyên n( 1<n ≤ 100 ) và dãy số P=(p 1 ,p 2 ,….,p n ) p i là số nguyên, sắp xếp lại các phần tử của P theo thứ tự không giảm. Đưa kết quả đã sắp xếp ra màn hình. . ĐỀ CƯƠNG ÔN TẬP TIN HỌC 11 HKII I. Trắc nghiệm Câu 1. Cho chương trình sau: (Tính thành 5. trình bên, tập tin 'Khoi11.txt' có nội dung như thế nào? A. 105*2-134 B. 76 C. 105 304 234 D. 175 Sau khi thực hiện chương trình bên, tập tin 'ktra.inp'