Đề cương ôn tập cuối học kì II Tin học 11 - Năm học 2022-2023
Bạn đang xem tài liệu "Đề cương ôn tập cuối học kì II Tin học 11 - Năm học 2022-2023", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.
File đính kèm:
de_cuong_on_tap_cuoi_hoc_ki_ii_tin_hoc_11_nam_hoc_2022_2023.pdf
Nội dung tài liệu: Đề cương ôn tập cuối học kì II Tin học 11 - Năm học 2022-2023
- BÀI 12: KIỂU XÂU Nhận biết: Câu 1: Độ dài tối đa của xâu kí tự trong Pascal là: A. 255 B. 256 C. 0 D. Không giới hạn Câu 2: Xâu kí tự có độ dài bằng 0 gọi là: A. Không tồn tại B. Xâu rỗng C. Chứa kí tự 0 D. Xâu ngắn Câu 3: Kí tự đầu tiên trong xâu được đánh số là: A. 0 B. 1 C. Do người lập trình đặt D. Không quy định Câu 4: Cú pháp khai báo biến xâu là: A. Var :string[độ dài lớn nhất của xâu]; B. Var tên biến :string[độ dài lớn nhất của xâu]; C. Var :string(độ dài lớn nhất của xâu); D. Var tên biến :string(độ dài lớn nhất của xâu); Câu 5: Để khai báo biến xâu ta sử dụng tên dành riêng: A. Array B. String C. Type D. Const Câu 6: Thủ tục Delete(a,b,c) có nghĩa là: A. Xóa c kí tự của biến xâu a bắt đầu từ vị trí b B. Xóa a kí tự của biến xâu b bắt đầu từ vị trí c C. Xóa c kí tự của biến xâu b bắt đầu từ vị trí a D. Xóa a kí tự của biến xâu c bắt đầu từ vị trí b Câu 7: Hàm Copy(a,b,c) có nghĩa là: A. Tạo xâu gồm a kí tự liên tiếp bắt đầu từ vị trí b của xâu c B. Tạo xâu gồm b kí tự liên tiếp bắt đầu từ vị trí c của xâu a C. Tạo xâu gồm c kí tự liên tiếp bắt đầu từ vị trí a của xâu b D. Tạo xâu gồm c kí tự liên tiếp bắt đầu từ vị trí b của xâu a Câu 8: Thủ tục Insert(a,b,c) có nghĩa là: A. Chèn xâu c vào xâu b bắt đầu ở vị trí a
- B. Chèn xâu a vào xâu c bắt đầu ở vị trí b C. Chèn xâu a vào xâu b bắt đầu ở vị trí c D. Chèn xâu b vào xâu a bắt đầu ở vị trí c Câu 9: Tham chiếu đến phần tử của xâu được xác định bởi: A. Tên biến xâu và chỉ số đặt trong cặp ngoặc ( và ) B. Tên biến xâu và chỉ số đặt trong cặp ngoặc [ và ] C. Tên biến xâu và chỉ số đặt trong cặp ngoặc { và } D. Tên biến xâu và chỉ số đặt trong cặp ngoặc “ và ” Câu 10: Một số thao tác xử lí xâu là: A. Phép gán, phép so sánh B. Phép ghép, phép so sánh C. Phép cộng, phép gán D. Phép so sánh, phép trừ Thông hiểu: Câu 11: Cho xâu S là “Ha Noi – Viet Nam” , kết quả của hàm Pos(‘Viet Nam’,S) là: A. 9 B. 10 C. 11 D. 12 Câu 12: Cho xâu S là “Ha Noi – Viet Nam” , kết quả của hàm Pos(‘Vietnam’,S) là: A. 9 B. 10 C. 0 D. 11 Câu 13: Sau khi thực hiện đoạn chương trình sau, kết quả của S là: S:= ‘Mua thu Ha Noi’; Delete(s,8,8); Insert(Mua thu,s,1); A. Ha Noi B. Mua thu Ha Noi C. Ha Noi Mua thu D. Mua thu Mua thu Câu 14: Trong ngôn ngữ lập trình Pascal, hai xâu kí tự được so sánh dựa trên: A. Mã của từng kí tự trong các xâu lần lượt từ trái sang phải B. Độ dài tối đa của hai xâu C. Độ dài thực sự của hai xâu
- D. Số lượng kí tự khác nhau của hai xâu Câu 15: Trong ngôn ngữ lập trình Pascal, để xóa đi ký tự đầu tiên của xâu ký tự S ta viết? A. Delete(S, 1, 1); B. Delete(S, i, 1); { i là biến đếm có giá trị ≠ 1} C. Delete(S, length(S), 1); D. Delete(S, 1, i); { i là biến có giá trị bất kỳ } Câu 16: Trong ngôn ngữ lập trình Pascal, để tìm vị trí xuất hiện đầu tiên của xâu ‘hoa’ trong xâu S ta có thể viết bằng cách nào trong các cách sau ? A. S1 := ‘hoa’ ; i := pos(S1, ‘hoa’) ; B. i := pos(‘hoa’, S) ; C. i := pos(S, ’hoa’) ; D. i := pos(‘hoa’, ‘hoa’) ; Câu 17: Trong ngôn ngữ lập trình Pascal, để in một xâu kí tự ra màn hình theo thứ tự ngược lại của các ký tự trong xâu (vd : abcd thi in ra là dcba), đoạn chương nào sau đây thực hiện việc đó? A. For i := 1 to length(S) do write(S[i]) B. For i := length(S) downto 1 do write(S[i]) C. For i := length(S) downto 1 do write(S) D. For i := 1 to length(S) div 2 do write(S[i]) Câu 18: Xác định biểu thức cho giá trị đúng (true) trong các biểu thức sau đây. A. ‘Ninh thuan que toi’ < ‘Ninh thuan’ B. ‘Truong chinh’ = ‘TRUONG CHINH’ C. ‘Anh’ > ‘Em’ D. ‘Tin hoc’ > ‘Tien hoc le – Hau hoc van’ Câu 19: Cho xâu St = ‘THPT Phan Boi Chau’, Để có xâu St =’THPT’ ta dung thủ tục nào sâu đây: A. Delete(St, 5,14 ); B. Delete(St, 14, 5 ); C. Delete(St, 1, 5 ); D. Delete(St,5, 1 ); Vận dụng: Câu 20: Sau khi chạy chương trình ta nhân được kết quả?
- A. 4 B. 2017 C. Thông báo lỗi D. Đáp án khác Câu 21: Đoạn chương trình sau thực hiện công việc gì? (giá trị của biến đếm): Dem:=0; For ch:= ‘a’ to ‘z’ do If pos(ch,s) <> 0 then dem := dem +1; A. Đếm số lượng ký tự khác dấu cách của xâu S B. Đếm số lượng kí tự là chữ cái in hoa của xâu S C. Đếm số lượng ký tự là chữ cái thường trong xâu S D. Đếm số lượng chữ cái thường khác nhau có trong xâu S Câu 22: Trong ngôn ngữ lập trình Pascal, đoạn chương trình sau thực hiện công việc gì? X:=length(S); For i:=X downto 1 do If S[i] = ‘ ’ then Delete(S,i,1); A. Xóa dấu cách đầu tiên trong xâu ký tự S B. Xóa dấu cách thừa trong xâu ký tự S C. Xóa dấu cách tại vị trí cuối cùng của xâu S D. Xóa mọi dấu cách của xâu S Câu 23: Trong ngôn ngữ lập trình Pascal, đoạn chương trình sau thực hiện công việc gì? S1 := ‘anh’ ; S2 := ‘em’ ; i := pos(S2, S) ; While i <> 0 do Begin Delete(S, i, 2) ; Insert(S1, S, i) ; i := pos(S2, S) ; End ; A. Thay toàn bộ cụm từ ‘anh’ trong xâu S bằng cụm từ ‘em’ ; B. Thay toàn bộ cụm từ ‘em’ trong xâu S bằng cụm từ ‘anh’ ; C. Thay cụm từ ‘em’ đầu tiên trong xâu S bằng cụm từ ‘anh’ ; D. Thay cụm từ ‘anh’ đầu tiên trong xâu S bằng cụm từ ‘em’ ; Câu 24: Trong ngôn ngữ lập trình Pascal, sau khi thực hiện xong đoạn chương trình sau, biến Found có giá trị là gì ? (S là biến xâu ký tự) Found := 0 ; x := length(S) ; For i := 1 to x Div 2 do If S[i] <> S[x – i + 1] then Found := 1 ; A. Found bằng 0 nếu S là xâu đối xứng;
- B. Found bằng 0 nếu S là xâu không đối xứng; C. Found bằng 1 nếu S là xâu đối xứng; D. Found không có giá trị gì; Câu 25: Trong ngôn ngữ lập trình Pascal, đoạn chương trình thực hiện công việc nào trong các công việc sau: i := pos(‘ ’, S); { ‘ ’ là 2 dấu cách } while i <> 0 do Begin Delete(S, i, 1) ; i := pos(‘ ’, S) ; End; A. Xóa 2 dấu cách liền nhau đầu tiên trong xâu; B. Xóa đi một trong 2 dấu cách đầu tiên trong xâu; C. Xóa các dấu cách trong xâu S để S không còn 2 dấu cách liền nhau; D. Xóa các dấu cách liền nhau cuối cùng trong xâu; Câu 26: Trong ngôn ngữ lập trình Pascal, đoạn chương trình sau làm công việc gì : i := pos(‘ ’, X) ; while i <>0 do Begin Delete(X, i, 1) ; i := pos(‘ ’, X) ; End; A. Xóa tất c ả các dấu cách trong xâu X ; B. Xóa tất cả các dấu cách phía bên trái trong xâu X ; C. Xóa tất cả các dấu cách phía bên phải trong xâu X ; D. Xóa tất cả các dấu cách ở hai đầu của xâu X ; Câu 27: Trong ngôn ngữ lập trình Pascal, sau khi thực hiện đoạn chương trình sau, biến X có giá trị là gì? S := ‘Hoang Anh Tuan’ ; X := ‘ ’ ; i := length(S) ; while S[i] <> ‘ ’ do Begin X := X + S[i] ; i := i + 1 ; End ; A. Xâu rỗng B. ‘Hoang’ C. ‘Anh’ D. ‘Tuan’ Câu 28: Trong ngôn ngữ lập trình Pascal, đoạn chương trình sau thực hiện công việc gì?
- d := 0 ; For i := 1 to length(S) do if S[i] = ‘ ’ then d := d + 1 ; A. Xóa đi các dấu cách trong xâu; B. Đếm số ký tự có trong xâu; C. Đếm số dấu cách có trong xâu; D. Xóa đi các ký tự số; Câu 29: Trong ngôn ngữ lập trình Pascal, đoạn chương trình sau thực hiện công việc gì? d := 0 ; For i := 1 to length(S) do if ( S[i] >= ‘ 0 ’ ) AND ( S[i] <= ‘ 9 ’ ) then d := d + 1 ; A. Đếm số ký tự là ký tự số trong xâu S; B. Đếm xem có bao nhiêu ký tự số trong xâu S; C. Xóa đi các chữ số có trong S; D. Xóa đi ký tự đầu tiên trong S; BÀI 14: KIỂU DỮ LIỆU TỆP BÀI 15: THAO TÁC VỚI TỆP BÀI 16:VÍ DỤ LÀM VIỆC VỚI TỆP Nhận biết: Câu 1: 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 2: Dữ liệu kiểu tệp A. Sẽ bị mất hết khi tắt máy. B. Sẽ bị mất hết khi tắt điện đột ngột. C. Không bị mất khi tắt máy hoặc mất điện. D. Tất cả đều sai. Câu 3: Phát biểu nào dưới đây là đúng ? A. Các kiểu dữ liệu đều được lưu trữ ở bộ nhớ trong (RAM). B. Dữ liệu kiểu tệp được lưu trữ ở bộ nhớ trong. C. Dữ liệu kiểu tệp được lưu trữ ở bộ nhờ ngoài (đĩa mềm, đĩa cứng, CD, thiết bị nhớ Flash). D. Các dữ liệu trong máy tính đều bị mất đi khi tắt nguồn điện. Câu 4: Phát biểu nào sau đây là sai ? A. Tệp có cấu trúc là tệp mà các thành phần của nó được tổ chức theo một cấu trúc nhất định. B. Tệp chứa dữ liệu được tổ chức theo một cách thức nhất định gọi là tệp có cấu trúc C. Tệp văn bản không thuộc loại tệp có cấu trúc. D. Tệp văn bản gồm các kí tự theo mã ASCII được phân chia thành một hay nhiều dòng.
- Câu 5: Phát biểu nào sau đây là đúng ? A. Số lượng phần tử của tệp là cố định. B. Kích thước tệp có thể rất lớn. C. Dữ liệu một tệp được lưu trữ trên đĩa thành một vùng dữ liệu liên tục. D. Tệp lưu trữ lâu dài trên đĩa, không thể xóa tệp trên đĩa. Câu 6: Phát biểu nào sau đây là sai ? A. Trong lập trình, muốn thao tác trên tệp dữ liệu phải thao tác gián tiếp qua biến tệp. B. Biến tệp là biến kiểu xâu. C. Trong Pascal, biến tệp văn bản có kiểu text. D. Trong chương trình, tên tệp có thể là biến xâu hoặc hằng xâu . Câu 7: Phát biểu nào sau đây là sai ? A. Muốn đọc / ghi dữ liệu trong một tệp, sau khi gắn biến tệp với tên tệp cần phải thực hiện thao tác mở tệp đó; B. Trong lệnh mở tệp, cần khai báo tên tệp để xác định đúng vị trí tệp trên đĩa. C. Trong lệnh gán tên tệp với biến tệp, cần khai báo tên tệp để xác định đúng vị trí tệp trên đĩa. D. Sau khi mở tệp, con trỏ tệp ở vị trí đầu tệp. Câu 8: Chọn mệnh đề sai trong các mệnh đề sau : A. Sau khi đọc xong tệp, không đóng tệp cũng không gây ảnh hưởng gì cho việc quản lí tệp. B. Một tệp văn bản đang mở và con trỏ tệp không ở phần tử đầu tiên, muốn làm việc với phần tử đầu tiên của tệp cần đóng tệp và mở lại. C. Khi mở lại tệp, nếu không thay đổi biến tệp thì không cần gán lại biến tệp với tên tệp. D. Khi ghi xong dữ liệu vào tệp, cần đóng tệp. Câu 9: Cách thức truy cập tệp văn bản là A. Truy cập tuần tự. B. Truy cập ngẫu nhiên. C. Truy cập trực tiếp D. Vừa truy cập tuần tự vừa truy cập trực tiếp. Câu 10: Số lượng phần tử trong tệp A. Không được lớn hơn 128. B. Không được lớn hơn 255. C. Phải được khai báo trước. D. Không bị giới hạn mà chỉ phụ thuộc vào dung lượng đĩa Thông hiểu: Câu 11: Hãy chọn thứ tự hợp lí nhất khi thực hiện các thao tác đọc dữ liệu từ tệp : A. Mở tệp => Gán tên tệp với biến tệp => Đọc dữ liệu từ tệp => Đóng tệp . B. Mở tệp => Đọc dữ liệu từ tệp => Gán tên tệp với biến tệp => Đóng tệp. C. Gán tên tệp với biến tệp => Mở tệp => Đọc dữ liệu từ tệp => Đóng tệp . D. Gán tên tệp với biến tệp => Đọc dữ liệu từ tệp => Mở tệp => Đóng tệp. Câu 12: Hãy chọn các thao tác ghi trên tệp văn bản chứa dữ liệu là : A. Thông báo mở tệp để đọc => Đọc dữ liệu trong tệp => Đóng tệp => Gán biến tệp với tên tệp. B. Thông báo mở tệp để đọc => Đọc dữ liệu trong tệp => Gán biến tệp với tên tệp => Đóng tệp. C. Gán biến tệp với tên tệp => Thông báo mở file để ghi dữ liệu mới => Ghi dữ liệu mới => Đóng tệp. D. Gán biến tệp với tên tệp => Thông báo mở file để ghi dữ liệu mới => Đọc dữ liệu trong tệp => Đóng tệp. Câu 13: Hãy chọn các thao tác đọc trên tệp văn bản chứa dữ liệu là :
- A. Gán biến tệp với tên tệp => Thông báo mở file để ghi dữ liệu mới => Ghi dữ liệu mới => Đóng tệp. B. Gán biến tệp với tên tệp => Thông báo mở tệp để đọc => Đọc dữ liệu trong tệp => Đóng tệp. C. Thông báo mở file để ghi dữ liệu mới => Gán biến tệp với tên tệp => Ghi dữ liệu mới => Đóng tệp. D. Thông báo mở file để ghi dữ liệu mới => Ghi dữ liệu mới => Gán biến tệp với tên tệp => Đóng tệp. Câu 14: Hãy chọn thứ tự các thao tác trong Pascal để ghi tiếp dữ liệu vào cuối tệp có cấu trúc đã tồn tại trên đĩa : A. Mở tệp để ghi => Gán tên tệp với biến tệp => Thao tác để di chuyển con trỏ tệp đến cuối tệp => Ghi dữ liệu vào tệp => Đóng tệp . B. Gán tên tệp với biến tệp => Mở tệp để ghi => Thao tác để di chuyển con trỏ tệp đến cuối tệp => Ghi dữ liệu vào tệp => Đóng tệp . C. Gán tên tệp với biến tệp => Thao tác để di chuyển con trỏ tệp đến cuối tệp => Mở tệp để ghi => Ghi dữ liệu vào tệp => Đóng tệp . D. Mở tệp để ghi => Gán tên tệp với biến tệp => Ghi dữ liệu vào tệp => Thao tác để di chuyển con trỏ tệp đến cuối tệp => Đóng tệp . Câu 15: Trong PASCAL để khai báo biến tệp văn bản ta phải sử dụng cú pháp A. Var : Text; B. Var : Text; C. Var : String; D. Var : String; Câu 16: Trong PASCAL, để khai báo hai biến tệp văn bản f1, f2 ta viết A. Var f1 f2 : Text; B. Var f1 ; f2 : Text; C. Var f1 , f2 : Text; D. Var f1 : f2 : Text; Câu 17: Để thao tác với tệp A. Ta có thể gán tên tệp cho tên biến tệp, hoặc sử dụng trực tiếp tên tệp cũng được. B. Ta nhất thiết phải gán tên tệp cho tên biến tệp. C. Ta nên sử dụng trực tiếp tên tệp trong chương trình. D. Ta nhất thiết phải sử dụng trực tiếp tên tệp trong chương trình. Câu 18: Để gán tên tệp cho tên biến tệp ta sử dụng câu lệnh A. := ; B. := ; C. Assign( , ); D. Assign( , ); Câu 19: Để gắn tệp KQ.TXT cho biến tệp f1 ta sử dụng câu lệnh A. f1 := ‘KQ.TXT’; B. KQ.TXT := f1; C. Assign(‘KQ.TXT’,f1); D. Assign(f1,‘KQ.TXT’); Câu 20: Trong PASCAL mở tệp để đọc dữ liệu ta phải sử dụng thủ tục A. Reset( ); B. Reset( ); C. Rewrite( ); D. Rewrite( ); Câu 21: Trong PASCAL mở tệp để ghi kết quả ta phải sử dụng thủ tục A. Reset( ); B. Reset( );
- C. Rewrite( ); D. Rewrite( ); Câu 22: Vị trí của con trỏ tệp sau lời gọi thủ tục Reset A. Nằm ở đầu tệp. B. Nằm ở cuối tệp. C. Nằm ở giữa tệp. D. Nằm ngẫu nhiên ở bất kỳ vị trí nào. Câu 23: Để đọc dữ liệu từ tệp văn bản ta có thể sử dụng thủ tục A. Read( , ); B. Read( , ); C. Write( , ); D. Write( , ); Câu 24: Để ghi kết quả vào tệp văn bản ta có thể sử dụng thủ tục A. Read( , ); B. Read( , ); C. Write( , ); D. Write( , ); Câu 25: Nếu hàm eof( ) cho giá trị bằng true thì con trỏ tệp nằm ở vị trí A. Đầu dòng. B. Đầu tệp. C. Cuối dòng. D. Cuối tệp. Câu 26: Nếu hàm eoln( ) cho giá trị bằng true thì con trỏ tệp nằm ở vị trí A. Đầu dòng. B. Đầu tệp. C. Cuối dòng. D. Cuối tệp. Câu 27: Trong Pascal để đóng tệp ta dùng thủ tục A. Close( ); B. Close( ); C. Stop( ); D. Stop( ); Câu 28: Var : Text ; có ý nghĩa gì ? A. Thủ tục gán tên tệp cho tên biến tệp. B. Thủ tục mở tên để đọc dữ liệu. C. Khai báo biến tệp. D. Thủ tục đóng tệp. Câu 29: Assign( ,<tên tệp) ; có ý nghĩa gì ? A. Thủ tục gán tên tệp cho tên biến tệp. B. Thủ tục mở tên để đọc dữ liệu. C. Khai báo biến tệp. D. Thủ tục đóng tệp. Câu 30: Reset( ) ; có ý nghĩa gì ? A. Thủ tục gán tên tệp cho tên biến tệp. B. Thủ tục mở tên để đọc dữ liệu. C. Khai báo biến tệp. D. Thủ tục đóng tệp. Câu 31: Close( ) ; có ý nghĩa gì ? A. Thủ tục gán tên tệp cho tên biến tệp. B. Thủ tục mở tên để đọc dữ liệu. C. Khai báo biến tệp.
- D. Thủ tục đóng tệp. Câu 32: Rewrite( ) ; có ý nghĩa gì ? A. Thủ tục mở tệp để ghi dữ liệu. B. Thủ tục đọc dữ liệu từ tệp. C. Thủ tục ghi dữ liệu vào tệp. D. Thủ tục đóng tệp. Câu 33: read( , ) ; có ý nghĩa gì ? A. Thủ tục mở tệp để ghi dữ liệu. B. Thủ tục đọc dữ liệu từ tệp. C. Thủ tục ghi dữ liệu vào tệp. D. Thủ tục đóng tệp. Câu 34: write( , ) ; có ý nghĩa gì ? A. Thủ tục mở tệp để ghi dữ liệu. B. Thủ tục đọc dữ liệu từ tệp. C. Thủ tục ghi dữ liệu vào tệp. D. Thủ tục đóng tệp. Câu 35: Hãy chọn phương án ghép đúng . Tệp văn bản A. Cho phép truy cập đến một dữ liệu nào đó trong tệp chỉ bằng cách bắt đầu từ đầu tệp và đi qua lần lượt tất cả các dữ liệu trước nó. B. Cho phép tham chiếu đến dữ liệu cần truy cập bằng cách xác định trực tiếp vị trí của dữ liệu đó. C. Là tệp mà các phần tử của nó được tổ chức theo một cấu trúc nhất định. D. Là tệp mà dữ liệu được ghi dưới dạng các ký tự theo mã ASCII. Câu 36: Hãy chọn phương án ghép đúng . Tệp có cấu trúc A. Cho phép truy cập đến một dữ liệu nào đó trong tệp chỉ bằng cách bắt đầu từ đầu tệp và đi qua lần lượt tất cả các dữ liệu trước nó. B. Cho phép tham chiếu đến dữ liệu cần truy cập bằng cách xác định trực tiếp vị trí của dữ liệu đó. C. Là tệp mà các phần tử của nó được tổ chức theo một cấu trúc nhất định. D. Là tệp mà dữ liệu được ghi dưới dạng các ký tự theo mã ASCII. Câu 37: Hãy chọn phương án ghép đúng . Tệp truy cập tuần tự A. Cho phép truy cập đến một dữ liệu nào đó trong tệp chỉ bằng cách bắt đầu từ đầu tệp và đi qua lần lượt tất cả các dữ liệu trước nó. B. Cho phép tham chiếu đến dữ liệu cần truy cập bằng cách xác định trực tiếp vị trí của dữ liệu đó. C. Là tệp mà các phần tử của nó được tổ chức theo một cấu trúc nhất định. D. Là tệp mà dữ liệu được ghi dưới dạng các ký tự theo mã ASCII. Câu 38: Hãy chọn phương án ghép đúng . Tệp truy cập trực tiếp A. Cho phép truy cập đến một dữ liệu nào đó trong tệp chỉ bằng cách bắt đầu từ đầu tệp và đi qua lần lượt tất cả các dữ liệu trước nó. B. Cho phép tham chiếu đến dữ liệu cần truy cập bằng cách xác định trực tiếp vị trí của dữ liệu đó. C. Là tệp mà các phần tử của nó được tổ chức theo một cấu trúc nhất định. D. Là tệp mà dữ liệu được ghi dưới dạng các ký tự theo mã ASCII.
- Vận dụng: Câu 39: Trong Pascal, thực hiện chương trình VD_bt1_txt dưới đây sẽ ghi kết quả nào trong các kết quả cho dưới đây vào tệp văn bản BT1.TXT ? A. 123 + 456 B. 123456 C. 579 D. 123 456 Program VD_bt1_txt ; Uses crt ; Var f : text ; Begin Clrscr; Assign(f, ‘BT1.TXT ’) ; Rewrite(f) ; Write(f, 123 + 456) ; Close(f) ; End . Câu 41: Phát biểu nào sau đây là đúng với chương trình Vi_Du ? A. Chương trình dùng để mở đọc một tệp đã có và hiện nội dung trong tệp này lên màn hình. B. Chương trình dùng để tạo một tệp mới và ghi nội dung nhập từ bàn phím vào trong tệp. C. Chương trình dùng để mở đọc một tệp đã có và cho phép nhìn thấy toàn bộ kí tự có trong tệp này lên màn hình. D. Cả 3 khẳng định trên đều sai. Program Vi_Du ; Uses crt ; Var f : text ; ch : char ; tenfile : string[30] ; Begin Write(‘ Nhap ten file : ’) ; readln(tenfile) ; Assign(f, tenfile) ; Reset(f) ; While not eof(f) do Begin Read(f, ch) ; Write(ch) ; End ; Câu 42: Tệp songuyen.dat lưu n số nguyên của mảng 1 chiều, để in tất cả các số nguyên trong tệp raClose(f) màn hình; thì sau khi thực hiện 2 thủ tục Assign(f,'songuyen.dat'); reset(f); ta thựcEnd. hiện lệnh nào? A. While not eof(f) do begin read(f,a); write(a:5);end; B. For i:=1 to n do read(f,a); write(a:5); C. For i:=1 to n do begin read(f,a); write(a:5); end; D.While not eof(f) do read(f,a); write(a:5); BÀI 17: CHƯƠNG TRÌNH CON VÀ PHÂN LOẠI
- BÀI 18: VÍ DỤ VỀ CÁCH VIẾT VÀ SỬ DỤNG CTC Nhận biết: Câu 1: Hãy chọn phương án ghép đúng . Kiểu của một hàm được xác định bởi A. Kiểu của các tham số B. Kiểu giá trị trả về C. Tên hàm D. Địa chỉ mà hàm trả về Câu 2: Mô tả nào dưới đây về hàm là sai ? A. Phải trả lại kết quả B. Phải có tham số C. Trong hàm có thể gọi lại chính hàm đó D. Có thể có các biến cục bộ Câu 3: Mô tả nào dưới đây về tham số là sai ? A. Một hàm có thể có cả tham số giá trị và tham số biến; B. Có thể truyền biến số cho tham số giá trị; C. Có thể truyền giá trị cho tham số biến; D. Có thể dùng tham số biến để nhận kết quả; Câu 4: Trong các cách sử dụng thủ tục sau, cách nào là phù hợp nhất ? A. Khai báo lại thủ tục và gọi nó mỗi khi cần sử dụng; B. Khai báo thủ tục duy nhất một lần và gọi nó một lần duy nhất; C. Chỉ cần khai báo; D. Khai báo thủ tục một lần và gọi nó trong thân chương trình mỗi khi muốn sử dụng; Câu 5: Nói về cấu trúc của một chương trình con, khẳng định nào sau đây là không đúng? A. Phần đầu và phần thân nhất thiết phải có, phần khai báo có thể có hoặc không. B. Phần khai báo có thể có hoặc không có tùy thuộc vào từng chương trình cụ thể. C. Phần đầu có thể có hoặc không có cũng được. D. Phần đầu nhất thiết phải có để khai báo tên chương trình con. Câu 6: Khẳng định nào sau đây là đúng? A. Một chương trình con nhất thiết phải có tham số hình thức. B. Một chương trình con nhất thiết phải có biến cục bộ. C. Một chương trình con nhất thiết phải có tham số hình thức, không nhất thiết phải có biến cục bộ. D. Một chương trình con có thể không có tham số hình thức và cũng có thể không có biến cục bộ. Câu 7: Kiểu dữ liệu của hàm 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. D. Có thể là integer, real, char, boolean, string, record, kiểu mảng. Câu 8: Khẳng định nào sau đây là đúng? A. Biến cục bộ là biến được dùng trong chương trình con chứa nó và trong chương trình chính. B. Biến cục bộ là biến chỉ được dùng trong chương trình chính. C. Biến cục bộ là biến chỉ được dùng trong chương trình con chứa nó. D. Biến toàn bộ chỉ được sử dụng trong chương trình chính và không được sử dụng trong các chương trình con. Câu 9: Phát biểu nào dưới đây về biến là sai ? A. Biến toàn cục có thể được sử dụng ở trong một thủ tục; B. Biến cục bộ phải có tên khác với tên của biến toàn cục;
- C. Biến cục bộ có thể có kiểu khác với kiểu của biến toàn cục có cùng tên; D. Một hàm có thể có nhiều tham số biến; Câu 10: Mô tả nào dưới đây về chương trình có cấu trúc là phù hợp nhất ? A. Chương trình có sử dụng cấu trúc mảng và bản ghi; B. Sử dụng các hàm và thủ tục thư viện chuẩn; C. Được chia thành nhiều chương trình con; D. Là một chương trình bình thường Câu 11: 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 12: Khẳng định nào sau đây là đúng? A. Lời gọi hàm nhất định phải có tham số thực sự còn lời gọi thủ tục không nhất thiết phải có tham số thực sự. B. Lời gọi thủ tục nhất thiết phải có tham số thực sự còn lời gọi hàm không nhất thiết phải có tham số thực sự. C. Cả lời gọi hàm và lời gọi thủ tục đều phải có tham số thực sự. D. Lời gọi hàm và lời gọi thủ tục có thể có tham số thực sự hoặc không có tham số thực sự tùy thuộc vào từng thủ tục. Câu 13: Để khai báo hàm trong Pascal bắt đầu bằng từ khóa A. Program. B. Procedure. C. Function. D. Var. Câu 14: Để khai báo thủ tục trong Pascal bắt đầu bằng từ khóa A. Program. B. Procedure. C. Function. D. Var. Thông hiểu: Câu 15: Hàm chuẩn nào dưới đây biến giá trị thực 6.6 thành 7 ? A. Odd; B. Round; C. Trunc; D. Abs; Câu 16: Trong các chương trình chuẩn sau đây, chương trình chuẩn nào là thủ tục chuẩn? A. Sin(x); B. Length(S); C. Sqrt(x); D. Delete(S,5,1); Câu 17: Giả sử có hai biến xâu x và y ( y đã có giá trị ) câu lệnh nào sau đây là không hợp lệ? A. x := Copy(y,5,3); B. x := y; C. x := Delete(y,5,3); D. Delete(y,5,3); Câu 18: Muốn khai báo x là tham số giá trị và y, z là tham số biến (x, y, z thuộc kiểu Byte) trong thủ tục “ViduTT” thì khai báo nào sau đây là sai? A. Procedure ViduTT( x : Byte ; Var y, z : Byte) ;
- B. Procedure ViduTT( x : Byte ; Var y : Byte ; Var z : Byte) ; C. Procedure ViduTT( x : Byte ; Var y : Byte ; z : Byte) ; D. Procedure ViduTT( Var y : Byte ; x : Byte ; Var z : Byte) ; Câu 19: Hãy chọn phương án ghép đúng. Cho thủ tục sau : Procedure p ; Var n : integer ; Begin End ; Phạm vi của biến n là : A. Trong toàn bộ chương trình; B. Trong nội bộ thủ tục p; C. Trong toàn bộ tệp chương trình nguồn; D. Tùy thuộc vào vị trí sử dụng thủ tục p; Câu 20: 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) ; C. TT(x, St) ; D. y:= TT(St, x) ; Vận dụng: Câu 21: 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. 2 B. 5 C. 3 D. 0 Câu 22: 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 23: 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âu 24: 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âu 25: 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, 75 D. 354 Câu 26: Muốn khai báo x là tham số giá trị và y, z là tham số biến (x, y, z thuộc kiểu Byte) trong thủ tục “ViduTT” thì khai báo nào sau đây là sai? A. Procedure ViduTT( x : Byte ; Var y, z : Byte) ;
- B. Procedure ViduTT( x : Byte ; Var y : Byte ; Var z : Byte) ; C. Procedure ViduTT( x : Byte ; Var y : Byte ; z : Byte) ; D. Procedure ViduTT( Var y : Byte ; x : Byte ; Var z : Byte) ;

