Tài liệu ôn tập kiểm tra lại Môn Tin học 10 - Năm học 2022-2023

docx 10 trang Bách Hào 09/08/2025 300
Bạn đang xem tài liệu "Tài liệu ôn tập kiểm tra lại Môn Tin học 10 - 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:

  • docxtai_lieu_on_tap_kiem_tra_lai_mon_tin_hoc_10_nam_hoc_2022_202.docx

Nội dung text: Tài liệu ôn tập kiểm tra lại Môn Tin học 10 - Năm học 2022-2023

  1. ĐỀ CƯƠNG ÔN TẬP KIỂM TRA LẠI - TIN HỌC 10 NĂM HỌC 2022 - 2023 I- TRẮC NGHIỆM BÀI 20, 21: CÂU LỆNH LẶP FOR -WHILE Câu 1. Hãy chọn phát biểu sai: A. Lệnh for là lệnh lặp với số lần biết trước. B. Số lần lặp thường được xác định bởi vùng giá trị của lệnh range( ). C. Biến chạy từ 1 đến 100 có tất cả 100 giá trị nên có 100 vòng lặp. D. Lệnh range(n) trả lại vùng giá trị gồm n số từ 0 đến n. Câu 2. Hãy điền vào chỗ trống: “Khi thực hiện, ở mỗi vòng lặp biến i sẽ được gán lần lượt các giá trị trong của lệnh range( ) và thực hiện . A. vùng giá trị B. giá trị C. tính toán D. số lần lặp Câu 3. Cú pháp của lệnh sau dùng để: for in range(n): A. lặp với số lần biết trước. B. lặp với số lần chưa biết trước. C. tạo vùng giá trị. D. câu lệnh rẽ nhánh. Câu 4. Chọn phát biểu sai: A. Lệnh range() là lệnh tạo vùng giá trị. B. Lệnh range(50) tạo vùng giá trị gồm các số: 0, 1, 2, 49. C. Lệnh range(1, 50) tạo vùng giá trị gồm các số: 1, 2, 49. D. Lệnh range(50, 1) tạo vùng giá trị gồm các số: 49, 48, 1. Câu 5. Hãy biểu diễn dãy: 5, 6, 7, 8, 9, 10 bằng lệnh range(): A. range (5, 6, 10) B. range (5, 11) C. range (5, 6, 7, 8, 9, 10) D. range (5, 10) Câu 6. Lệnh range(9) cho vùng giá trị gồm các số nào? A. 0, 1, 2, , 8 B. 0, 1, 2, , 9 C. 1, 2, , 8 D. 1, 2, , 9 Câu 7. Lệnh range(1, 10) cho vùng giá trị gồm các số nào? A. 0, 1, 2, , 9 B. 1, 2, , 9 C. 0, 1, 2, , 10 D. 1, 2, , 10 Câu 8. Sau khi thực hiện đoạn chương trình giá trị của biến j bằng bao nhiêu? >>> j = 0 >>>for i in range(5): j = j + i >>>print(j) A. 10. B. 12. C. 15. D. 14. Câu 9. Sau khi thực hiện chương trình giá trị của biến s bằng bao nhiêu? >>>s = 0 >>>for i in range(3): s = s+2*i >>>print(s) A. 2. B. 4. C. 6. D. 8. Câu 10. Đoạn chương trình sau giải bài toán nào? >>>t = 0 >>>for i in range(1, 101): if (i % 3 == 0 and i % 5 == 0): t = t + i >>>print(t) A. Tính tổng các số chia hết cho 3 hoặc 5 trong phạm vi từ 1 đến 100. B. Tính tổng các số chia hết cho 3 hoặc 5 trong phạm vi từ 1 đến 101. C. Tính tổng các số chia hết cho 3 và 5 trong phạm vi từ 1 đến 101. D. Tính tổng các số chia hết cho 3 và 5 trong phạm vi từ 1 đến 100. Câu 11. Hoạt động nào sau đây lặp với số lần lặp chưa biết trước? A. Vận động viên chạy 20 vòng. B. Học bài cho tới khi thuộc bài. C. Mỗi tuần đi nhà sách một lần. D. Ngày gọi điện cho người thân hai lần. Câu 12. Cú pháp của lệnh sau dùng để: while : Trang 1/10
  2. A. Lặp với số lần biết trước. B. Lặp với số lần chưa biết trước. C. Tạo vùng giá trị. D. Câu lệnh rẽ nhánh. Câu 13. Hãy chọn phát biểu sai: A. Lệnh while là lệnh lặp số lần không biết trước. B. Số lần lặp của lệnh while phụ thuộc vào điều kiện của lệnh. C. Nếu là False thì dừng lặp lệnh while. D. Lệnh lặp while sẽ kiểm tra điều kiện sau khi thực hiện khối lệnh lặp. Câu 14. Hãy chọn phát biểu sai: A. Cấu trúc tuần tự, cấu trúc rẽ nhánh và cấu trúc lặp là ba cấu trúc lập trình cơ bản của NNLT. B. Lệnh ord( ) = số thứ tự của trong bảng mã Unicode. C. Lệnh chr(k) = kí tự tương ứng số thứ tự k trong bảng mã Unicode. D. Không thể dừng và thoát ngay khỏi vòng lặp while hoặc for. Câu 15. Cho biết kết quả của đoạn chương trình dưới đây: >>>a = 10 >>>while a < 11: print(a) A. Trên màn hình xuất hiện một số 10. B. Trên màn hình xuất hiện 10 chữ a. C. Trên màn hình xuất hiện một số 11. D. Chương trình bị lặp vô hạn. BÀI 22: KIỂU DỮ LIỆU DANH SÁCH Câu 16. Chọn phát biểu sai: A. List là kiểu dữ liệu danh sách, tạo list bằng lệnh gán với các phần tử trong cặp dấu ngoặc []. B. Kiểu dữ liệu danh sách trong Python được khởi tạo: = [ , , , ]. C. Có thể truy cập từng phần tử của danh sách thông qua chỉ số. Chỉ số của list đánh số từ 1. D. Thay đổi các giá trị của từng phần tử bằng lệnh gán. Lệnh Del để xóa một phần tử của danh sách. Câu 17. Chọn phát biểu sai: A. Lệnh len() là lệnh tính độ dài của danh sách. B. Danh sách rỗng là danh sách có độ dài bằng 0. C. Phép toán ghép danh sách là phép “+”. D. Lệnh thêm phần tử vào cuối danh sách là .apend() Câu 18. Lệnh nào để duyệt lần lượt từng phần tử của danh sách? A. for. B. while – for. C. for kết hợp với lệnh range(). D. while kết hợp với lệnh range(). Câu 19. Chương trình sau thực hiện công việc gì? >>> S = 0 >>> for i in range(len(A)): if A[i] > 0: S = S + A[i] >>> print(S) A. Duyệt từng phần tử trong A. B. Tính tổng các phần tử trong A. C. Tính tổng các phần tử không âm trong A. D. Tính tổng các phần tử dương trong A. Câu 20. Cho A = [‘xuan’, ‘hạ’, 1. 4, ‘đông’, ‘3’, 4.5, 7]. Hãy cho biết giá trị của phần tử A[3] ? A. 1.4. B. đông. C. 7. D. ‘3’. Câu 21. Cho A = [5, 10, 15, 20, 25, 30]. Hãy cho biết giá trị của lệnh len(A) ? A. 5. B. 6. C. 7. D. 8. Câu 22. Danh sách A sẽ như thế nào sau các lệnh sau? >>> A = [2, 3, 6, 8] >>> A [1] = 4 A. [1, 4, 6, 8] B. [1, 2, 3, 4, 6, 8] C. [4, 3, 6, 8] D. [2, 4, 6, 8] Câu 23. Danh sách A sẽ như thế nào sau các lệnh sau? >>> A = [22, 19, “Tin”, “Minh”, 15] >>> del (A[2]) A. 5 B. [19, “Tin”, “Minh”, 15] C. [22, “Tin”, “Minh”, 15] D. [22, 19, “Minh”, 15] Câu 24. Danh sách A sẽ như thế nào sau các lệnh sau? >>> A = [2, 3, 5, 6] >>> A. append(4) >>> del (A[2]) Trang 2/10
  3. A. [2, 3, 4, 5, 6, 4]. B. [2, 3, 4, 5, 6]. C. [2, 4, 5, 6]. D. [2, 3, 6, 4]. Câu 25. Kết quả của chương trình sau là gì? >>>A = [2, 3, 5, "python", 6] >>>A.append(4) >>>A.append(2) >>>A.append("x") >>>del(A[2]) >>>print(len(A)) A. 5. B. 6. C. 7. D. 8. BÀI 23: MỘT SỐ LỆNH LÀM VIỆC VỚI DL DANH SÁCH Câu 26. Hãy chọn phát biểu sai: A. Toán tử in dùng để kiểm tra một phần tử có nằm trong danh sách đã cho không. B. Kiểm tra một phần tử nằm trong danh sách sẽ trả lại kết quả là True (Đúng) hoặc False (Sai). C. Cú pháp kiểm tra phần tử có nằm trong danh sách bằng toán tử in: in . D. Không thể duyệt nhanh từng phần tử của danh sách bằng toán tử in và lệnh for mà không cần sử dụng lệnh range (). Câu 27. Hãy chọn phát biểu sai: A. A.append(x) dùng để bổ sung phần tử x vào đầu danh sách A. B. A.insert(k, x) dùng để chèn phần tử x vào vị trí k của danh sách A. C. A.remove(x) dùng để xóa phần tử x từ danh sách. D. A.clear( ) dùng để xóa toàn bộ dữ liệu của danh sách A. Câu 28. Giả sử A = [‘a’, ‘b’, ‘c’, ‘d’, 2, 3, 4]. Các biểu thức sau trả về giá trị đúng hay sai? 6 in A ‘a’ in A A. False. B. True. C. False, True. D. False, False. Câu 29. Giả sử A = [5, 7, 8, 9, 10, 11, 12]. Biểu thức sau trả về giá trị đúng hay sai? (3 + 4 – 5 + 18 // 4) in A A. True. B. False. C. Không xác định. D. Câu lệnh bị lỗi. Câu 30. Danh sách A trước và sau lệnh insert() là [1, 3, 5, 0] và [1, 3, 4, 5, 0]. Lệnh đã dùng là lệnh gì? A. insert(2, 4). B. insert(4, 2). C. insert(3, 4). D. insert(4, 3). Câu 31. Sau khi thực hiện đoạn chương trình ta có kết quả: >>>A = [1, 2, 3, 4, 5, 6, 5] >>>for k in A: >>>print(k, end = " ") A. 1 2 3 4 5 6 B. 1 2 3 4 5 6 5 C. 1 2 3 4 5 D. 2 3 4 5 6 5. Câu 32. Sau khi thực hiện đoạn chương trình ta có kết quả: >> A = [10, 2.5, 3, “Python”, “Bai23”] >> A.clear() >> print(A) A. A=[] B. A=5 C. A=[10, 2.5, 3] D. A=[“Python”, “Bai23”] Câu 33. Sau khi thực hiện đoạn chương trình ta có kết quả: >>> A = [10, 5, 3, 4, 5] >>> A.remove(5) A. A=[10, 3, 4] B. A=[10, 5, 3, 4, 5, 5] C. A=[10, 5, 3, 4] D. A=[10, 3, 4, 5] Câu 34. Sau khi thực hiện đoạn chương trình ta có kết quả: >>> A = [5, 10, 15, 25] >>> A.remove(20) A. A= [5, 10, 15, 20, 25] B. Lệnh lỗi vì giá trị không có trong danh sách C. A= [5, 10, 15, 25, 20] D. A= 4 Câu 35. Sau khi thực hiện đoạn chương trình ta có kết quả: >>> A = [7, 9, 3, 6, 5] >>> A.insert(2, 5) A. A = [7, 9, 2, 3, 6, 5] B. A = [7, 9, 3, 6, 5, 2] C. A = [7, 5, 9, 3, 6, 5] D. A = [7, 9, 5, 3, 6, 5] BÀI 24: XÂU KÍ TỰ Câu 36. Chọn phát biểu sai: A. Xâu kí tự trong Python là dãy các kí tự Unicode và được đặt trong cặp dấu nháy đơn hoặc nháy kép. Trang 3/10
  4. B. Python không cho phép thay đổi từng kí tự của một xâu (khác với danh sách). C. Truy cập từng kí tự của xâu qua chỉ số, chỉ số từ 0 đến độ dài len() -1. D. Xâu rỗng được định nghĩa: empty = "0" Câu 37. Chọn phát biểu sai: A. Không thể duyệt các kí tự của xâu bằng lệnh for tương tự như với danh sách. B. S1 in S2 trả lại giá trị True nếu S1 là xâu con của S2. C. Lệnh duyệt kí tự của xâu theo chỉ số: biến i lần lượt chạy theo chỉ số của xâu kí tự, từ 0 đến len(s) – 1. Kí tự tại chỉ số là s[i]. D. Lệnh duyệt kí tự của xâu theo từng kí tự của xâu s. Biến ch sẽ được gán lần lượt các kí tự của xâu s từ đầu đến cuối. Câu 38. Phát biểu nào sau đây là sai? A. Có thể truy cập từng kí tự của xâu thông qua chỉ số. B. Chỉ số bắt đầu từ 0. C. Có thể thay đổi từng kí tự của một xâu. D. Python không có kiểu dữ liệu kí tự. Câu 39. Trong Python, câu lệnh nào dùng để tính độ dài của xâu s? A. len(s). B. length(s). C. s.len(). D. s. length(). Câu 40. Xâu “1234%^^%TFRESDRG” có độ dài bằng bao nhiêu? A. 16. B. 17. C. 18. D. 15. Câu 41. Kết quả của chương trình sau là gì? >>> s = “abcdefg” >>> print(s[2]) A. ‘c’. B. ‘b’. C. ‘a’. D. ‘d’ Câu 42. Kết quả của chương trình sau là gì? >>>name = "Codelearn" >>>print(name[0]) A. “C”. B. “o”. C. “c”. D. Câu lệnh bị lỗi. Câu 43. Kết quả của chương trình sau là gì? >>> s = “0123145” >>> s[0] = ‘8’ >>> print(s[0]) A. ‘8’. B. ‘0’. C. ‘1’. D. Chương trình bị lỗi. Câu 44. Biểu thức sau cho kết quả đúng hay sai? >>>S1 = “12345” >>>S2 = “3e4r45” >>>S3 = “45” >>>S3 in S1 >>>S3 in S2 A. True, False. B. True, True. C. False, False. D. False, True. Câu 45. Chuỗi sau được in ra mấy lần? >>>s = "abcdefghi" >>>for i in range(10): if i % 4 == 0: print(s) A. 0. B. 1. C. 2. D. 3. BÀI 25: MỘT SỐ LỆNH LÀM VIỆC VỚI XÂU KÍ TỰ Câu 46. Hãy chọn phát biểu sai? A. Dùng toán tử in để kiểm tra một xâu có là xâu con của xâu khác không? B. Biểu thức kiểm tra nằm trong là: in . C. Để tìm một xâu trong một xâu khác có thể dùng toán tử in hoặc lệnh find(). D. Lệnh find() trả về vị trí của xâu mẹ trong xâu con. Câu 47. Hãy chọn phát biểu sai? A. Lệnh find() tìm vị trí xuất hiện của một xâu trong xâu khác. Lệnh sẽ tìm vị trí đầu tiên của xâu con trong xâu mẹ và trả về vị trí đó. Nếu không tìm thấy thì trả về 0. B. Cách thực hiện phương thức là: . C. Cú pháp đơn của lệnh find(): .find( ) D. Cú pháp đầy đủ của lệnh find(): .find( ,start). Lệnh sẽ tìm vị trí xâu con bắt đầu từ vị trí start. Trang 4/10
  5. Câu 48. Hãy chọn phát biểu sai? A. Lệnh split() dùng để tách xâu thành danh sách. B. Cú pháp lệnh split( ): .split( ) C. Cú pháp lệnh joint( ): "kí tự nối ".joint() D. Lệnh join() dùng để nối danh sách các xâu thành nhiều xâu. Câu 49. Điền đáp án đúng vào chỗ chấm ( ) hoàn thành phát biểu đúng sau: “Python có các để xử lí xâu là dùng để tách câu thành một danh sách và lệnh join() dùng để các xâu thành một xâu”. A. câu lệnh, split(), nối. B. câu lệnh đặc biệt, split(), tách xâu. C. câu lệnh đặc biệt, copy(), nối danh sách. D. câu lệnh đặc biệt, split(), nối danh sách. Câu 50. Sử dụng lệnh nào để tìm vị trí của một xâu con trong xâu khác không? A. test(). B. in(). C. find(). D. split(). Câu 51. Lệnh nào sau đây dùng để tách xâu: A. split() B. join() C. remove() D. copy(). Câu 52. Lệnh nào sau đây dùng để nối danh sách các xâu thành một xâu. A. split() B. join() C. len() D. append(). Câu 53. Lệnh sau trả lại giá trị gì? >>> “abcdabcd”. find(“cd”) >>> “abcdabcd”. find(“cd”, 4) A. 2, 6. B. 3, 3. C. 2, 2. D. 2, 7. Câu 54. Kết quả của chương trình sau là gì? >>>a = "Hello" >>>b = "world" >>>c = a + " " + b >>>print(c) A. “hello world”. B. “Hello World”. C. “Hello world”. D. “Helloword”. Câu 55. Kết quả của chương trình sau là gì? >>> s = “Một năm có bốn mùa” >>> s.split() >>> st = “a, b, c, d, e, f, g, h” >>> st.split() A. ‘Một năm có bốn mùa’, [‘a’, ‘b’, ‘c’, ‘d’, ‘e’, ‘f’, ‘g’, ‘h’]. B. [‘Một’, ‘năm’, ‘có’, ‘bốn’, ‘mùa’], [‘a’, ‘b’, ‘c’, ‘d’, ‘e’, ‘f’, ‘g’, ‘h’]. C. ‘Một năm có bốn mùa’, ‘abcdefgh’ D. [‘Một’, ‘năm’, ‘có’, ‘bốn’, ‘mùa’], ‘abcdefgh’. Câu 56. Chọn phát biểu sai: A. Python cung cấp sẵn nhiều hàm thực hiện được những công việc khác nhau cho phép người dùng được tùy ý sử dụng khi viết chương trình bằng câu lệnh gọi hàm tương ứng. B. Một số hàm thiết kế sẵn của Python như: abs (), len(), range(), bool(), float(), print(), C. Lệnh type(y) trả lại kiểu dữ liệu của biến y. D. Hàm trong Python được định nghĩa bằng từ khóa del, theo sau là tên hàm. Câu 57. Chọn phát biểu sai: A. Lệnh print() thực hiện việc in ra màn hình. B. Lệnh input() thực hiện yêu cầu nhập vào một biểu thức, số. C. Lệnh type() trả lại kiểu dữ liệu của biểu thức trong ngoặc. D. Lệnh str() chuyển đối tượng đã cho thành chuỗi. Câu 58. Chọn phát biểu sai: A. Cú pháp thiết lập hàm có trả lại giá trị: B. Cú pháp thiết lập hàm không trả lại giá trị: C. Hàm bắt buộc có tham số và có giá trị trả lại sau từ khóa return. D. Khối lệnh mô tả hàm được viết sau dấu “:” và viết lùi vào, thẳng hàng. Trang 5/10
  6. Câu 59. Chọn phát biểu đúng: A. Lệnh float() trả về số nguyên từ số hoặc chuỗi biểu thức. B. Có ít hàm có sẵn được xây dựng trong python. C. Lệnh bool() chuyển một giá trị sang Boolean. D. Lệnh input() có thể nhập vào một số nguyên mà không cần chuyển đổi kiểu. BÀI 26: HÀM TRONG PYTHON Câu 60. Số phát biểu đúng trong số phát biểu sau: 1) Python cung cấp sẵn nhiều hàm thực hiện những công việc khác nhau cho người dùng tuỳ ý sử dụng. 2) Lệnh float() chuyển đối tượng đã cho thành kiểu số thực. 3) Lệnh int trả về số nguyên từ số hoặc chuỗi biểu thức. 4) Trong python, người dùng chỉ được sử dụng các hàm có sẵn được xây dựng. 5) Người dùng có thể xây dựng thêm một số hàm mới. A. 1. B. 2. C. 3. D. 4. Câu 61. Hàm sau có chức năng gì? >>>def sum(a, b): return print("sum = " + str(a + b)) A. Trả về tổng của hai số a và b được truyền vào. B. Trả về hai giá trị a và b. C. Tính tổng hai số a và b. D. Tính tổng hai số a và b và hiển thị ra màn hình. Câu 62. Chương trình sau bị lỗi ở dòng lệnh thứ bao nhiêu? >>>def add(a, b) sum = a + b return sum >>>x = int(input("Nhập số thứ nhất:")) >>>y = int(input("Nhập số thứ hai:")) >>>tong = add(x, y) >>>print("Tổng là: " + str(tong)) A. 1. B. 2. C. 3. D. 4. Câu 63. Kết quả của chương trình sau là: >>>def Kieu(Number): return type(Number) >>>print(Kieu (5.0)) A. 5. B. float. C. int. D. Chương trình bị lỗi. Câu 64. Kết quả của chương trình sau là: >>>def PhepNhan(Number): return Number * 10 >>>print(PhepNhan(5)) A. 5. B. 10. C. 50. D. Chương trình bị lỗi. Câu 65. Kết quả của chương trình sau: >>>def my_function(x): return 3 * x >>>print(my_function(3)) >>>print(my_function(5)) >>>print(my_function(9)) A. 3, 5, 9. B. 9, 15, 27. C. 9, 5, 27. D. Chương trình bị lỗi. BÀI 27: THAM SỐ CỦA HÀM Câu 66. Hàm tự định nghĩa trong Python có thể có bao nhiêu tham số? A. 0 B. 1 C. 2 D. Không hạn chế Câu 67. Khi gọi hàm, dữ liệu được truyền vào hàm được gọi là gì A. Tham số B. Hiệu số C. Đối số D. Hàm số Câu 68. Hàm func(m, n) được định nghĩa như sau: def func (m, n) : return 3*m + n Giả sử chúng ta thực hiện các lệnh sau: >>> m = 10 >>> n = 1 >>> print(func(n, m)) Trang 6/10
  7. Kết quả sẽ in ra số nào? A. 12 B. 13 C. 14 D. 11 Câu 69. Đoạn chương trình sau sẽ in ra số nào? >>>def f (x, y): z = x + y return x*y*z >>> f (1, 4) A. 10 B. 18 C. 20 D. 30 Câu 70. Phát biểu nào bị sai? A. Một hàm khi khai báo có một tham số nhưng khi gọi hàm có thể có 2 đối số. B. Tham số được định nghĩa khi khai báo hàm. C. Tham số và đối số có một số điểm khác nhau. D. Khi gọi hàm, các tham số sẽ được truyền bằng giá trị thông qua đối số của hàm. Câu 71. Giả sử hàm f có hai tham số khi khai báo. Khi gọi hàm, 2 giá trị đối số nào truyền vào sẽ gây lỗi? A. 2, 3. B. 10, c. C. “a”, “b”. D. “a”, “3”. Câu 72. Khi gọi hàm f(1, 2, 3), khi định nghĩa hàm f có bao nhiêu tham số? A. 1. B. 2. C. 3. D. 4. Câu 73. Các tham số của f có kiểu dữ liệu gì nếu hàm f được gọi như sau: f( ‘5.0’) A. str B. float. C. int. D. Không xác định. Câu 74. Giá trị của m là bao nhiêu sau khi biết kết quả là 5? def tinhSum(a, b): return a + b s = tinhSum(1, m) print(s) A. 1. B. 4. C. 2. D. 3. Câu 75. Giá trị của x là bao nhiêu sau khi biết kết quả là 8? def tinh(a, b, c): if (b != 0): return a // b + c*2 s = tinh(1, 5, x) print(s) A. 3. B. 2. C. 1. D. 4. BÀI 28: PHẠM VI CỦA BIẾN Câu 76. Trong Python biến được khai báo và sử dụng bên trong một hàm được gọi là gì? A. Biến địa phương B. Biến riêng C. Biến tổng thể D. Biến thông thường 28.3 Câu 77. Mệnh đề nào dưới đây phát biểu sai về phạm vi tác dụng của biến trong Python? A. Biến được khai báo bên trong hàm chỉ có tác dụng trong hàm đó, không có tác dụng bên ngoài. B. Biến được khai báo bên ngoài hàm sẽ không có tác dụng bên trong hàm như một biến. C. Biến khai báo bên ngoài nếu muốn có tác dụng bên trong hàm thì cần khai báo lại trong hàm với từ khóa global. D. Biến trong Python khi đã được khai báo sẽ có tác dụng trong tất cả các hàm và bên ngoài. Câu 78. Hoàn thiện ( ) trong phát biểu sau: “Trong Python tất cả các biến khai báo bên trong hàm đều có tính , không có hiệu lực ở bên hàm”. A. địa phương, trong. B. cục bộ, ngoài. C. cục bộ, trong. D. toàn cục, ngoài. Câu 79. Số phát biểu đúng trong các phát biểu sau là: 1) Tất cả các biến bên trong hàm đều có tính cục bộ. 2) Tất cả các biến bên trong hàm chỉ có tính cục bộ. 3) Biến cục bộ trong hàm nếu gọi bên ngoài hàm sẽ bị lỗi. A. 1. B. 2. C. 3. D. 0. Câu 80. Chọn phát biểu sai trong các phát biểu sau: A. Chương trình chính có thể sử dụng biến cục bộ bên trong hàm. B. Biến bên trong hàm có thể trùng tên với biến đã khai bao trước đó bên ngoài hàm. C. Tất cả các biến trong hàm đều có tính cục bộ. D. Các biến bên trong hàm không có hiệu lực ở bên ngoài hàm. Trang 7/10
  8. Câu 81. Giá trị của x, y là bao nhiêu khi thực hiện lệnh f(1, 3) >>> x, y = 3, 4 >>> def f(x, y): x = x + y y = y + 2 return x A. 2, 3. B. 4, 5. C. 5, 4. D. 3, 4. Câu 82. Giá trị của a, b là bao nhiêu khi thực hiện lệnh f(2, 5) >>> a, b = 0, 1 >>> def f(a, b): a = a * b b = b // 2 return a + b A. 10, 2. B. 10, 1. C. 2, 5. D. 0, 1. Câu 83. Kết quả của chương trình này là bao nhiêu? s = "Tôi tên là: " def kq(name): s = s+ name print(kq("Long")) A. “Tôi tên là: Long”. B. “Long”. C. “Tôi tên là: ”. D. Chương trình bị lỗi. Câu 84. Kết quả của chương trình sau là bao nhiêu? s = "Hôm nay tôi đi học " def kq(name): s = "Hello World" s = s + “!!!” return s print(s) A. "Hôm nay tôi đi học ". B. "Hello World". C. "Hello World!!!". D. Chương trình bị lỗi. Câu 85. Kết quả của chương trình sau là bao nhiêu? >>>def f(a,b): return a + b + N >>> N = 5 >>>f(3, 3) A. 5. B. 6. C. 11. D. Chương trình bị lỗi. BÀI 29: NHẬN BIẾT LỖI CHƯƠNG TRÌNH Câu 86. Chọn câu đúng nhất. Xác định loại lỗi của câu lệnh sau: >>> A = list(12) A. Lỗi cú pháp B. Lỗi ngoại lệ C. Lỗi khác D. Không có lỗi Câu 87. Lệnh sau có lỗi không? Nếu có thì lỗi thuộc loại nào? 123ab = {1,2,3} A. Lỗi cú pháp B. Lỗi chia cho 0 C. Lỗi logic D. Không có lỗi Câu 88. Lỗi ngoại lệ trong Python là lỗi gì? A. Lỗi khi viết một câu lệnh sai cú pháp của ngôn ngữ lập trình B. Lỗi khi truy cập một biến chưa được khai báo C. Lỗi khi không thể thực hiện một lệnh nào đó của chương trình D. Lỗi khi chương trình biên dịch sang tệp exe. Câu 89. Chương trình sau lỗi thuộc loại nào? A = [1, 2, 3] for i in range(4): print(A[i]) A. Lỗi cú pháp. B. Lỗi khác. C. Lỗi ngữ nghĩa. D. Lỗi chỉ số vượt quá giới hạn. Câu 90. Chương trình sau lỗi thuộc loại nào? n = 10 s=0 for i in range(n): print(i/s, end= “ “) Trang 8/10
  9. A. Lỗi cú pháp. B. Lỗi khác. C. Lỗi ngữ nghĩa. D. Lỗi chia cho 0 Câu 91. Đoạn chương trình sau lỗi thuộc loại nào? n = input(“Nhập số tự nhiên n: “) k = int(input(“Nhập số lần cần nhân lên: “) print(“Kết quả là:”, n*k) A. Lỗi cú pháp. B. Lỗi khác. C. Lỗi logic. D. Lỗi ngoại lệ. Câu 92. Trong lời gọi hàm, nếu các đối số được truyền vào hàm bị thiếu thì lỗi ngoại lệ phát sinh thuộc loại nào dưới đây? A. SyntaxError. B. NameError. C. TypeError. D. Không phát sinh lỗi ngoại lệ. Câu 93. Các lệnh sau sẽ phát sinh lỗi ngoại lệ nào? >>> s = abc >>> s[10] A. SyntaxError. B. NameError. C. TypeError. D. IndexError. Câu 94. Giả sử chương trình có lệnh nhập ngoại lệ sau: n = int(input(“Nhập số nguyên n:”)) Khi chúng ta nhập 1.5 thì chương trình bị lỗi ngoại lệ nào? A. SyntaxError. B. ValueError C. TypeError. D. IndexError. Câu 95. Lệnh 3 có thể phát sinh lỗi gì? 1. n = int (input(“Nhập số nguyên n:”)) 2. if prime (n): 3. print (n, “là số nguyên tố”) 4. else: 5. print (n, “là hợp số”) A. ValueError B. TypeError. C. NameError. D. SyntaxError. BÀI 30: KIỂM THỬ VÀ GỠ LỖI CHƯƠNG TRÌNH Câu 96. Hoàn thành phát biểu sau: “Có rất nhiều công cụ và phương pháp khác nhau để kiểm thử chương trình. Các công cụ có mục đích của chương trình và , các lỗi phát sinh trong tương lai” A. Tìm ra lỗi, phòng ngừa, ngăn chặn. B. Tìm ra lỗi, phòng ngừa, xử lí. C. Phòng ngừa, ngăn chặn, xử lí lỗi. D. Xử lí lỗi, phòng ngừa, ngăn chặn. Câu 97. Đâu không là công cụ để kiểm thử chương trình? A. Công cụ in biến trung gian. B. Công cụ sinh các bộ dữ liệu test. C. Công cụ thống kê dữ liệu. D. Công cụ điểm dừng trong phần mềm soạn thảo lập trình. Câu 98. Chương trình chạy phát sinh lỗi ngoại lệ ZeroDivision, nên xử lí như thế nào? A. Kiểm tra lại giá trị số chia. B. Kiểm tra lại chỉ số trong mảng. C. Kiểm tra giá trị của số bị chia. D. Kiểm tra kiểu dữ liệu nhập vào. Câu 99. Chương trình sau phát sinh lỗi gì? >>> 1 / 0 0.5 >>> 2 ** 3 8 A. NameError. B. TypeError. C. ZeroDivisionError. D. Syntax Error. Câu 100. Chương trình chạy phát sinh lỗi ngoại lệ IndexError, nên xử lí như thế nào? A. Kiểm tra lại giá trị số chia. B. Kiểm tra lại chỉ số trong mảng. C. Kiểm tra giá trị của số bị chia. D. Kiểm tra kiểu dữ liệu nhập vào. Câu 101. Chương trình chạy phát sinh lỗi ngoại lệ TypeError, nên xử lí như thế nào? A. Kiểm tra lại chỉ số trong mảng. B. Kiểm tra lại giá trị số chia. C. Kiểm tra giá trị của số bị chia. D. Kiểm tra kiểu dữ liệu nhập vào. Câu 102. Chương trình chạy phát sinh lỗi ngoại lệ NameError, nên xử lí như thế nào? A. Kiểm tra lại chỉ số trong mảng. B. Kiểm tra lại tên các biến và hàm. C. Kiểm tra giá trị của số bị chia. D. Kiểm tra kiểu dữ liệu nhập vào. Trang 9/10
  10. II-TỰ LUẬN Câu 1: Bảng lỗi ngoại lệ trang 143 SGK Tin học 10 - Kết nối tri thức với cuộc sống Câu 2 (1đ): Sử dụng ngôn ngữ lập trình Python, hãy viết chương trình sắp xếp các phần tử trong danh sách A = [5, 3, 6, 4, 10] theo thứ tự tăng dần. Bài giải: A = [5, 3, 6, 4, 10] for i in range(len(A)) : j = i while j > 0 and A[j] < A[j-1] : A[j], A[j-1] = A[j-1], A[j] j = j - 1 print(A) Câu 3 (1đ): Sử dụng ngôn ngữ lập trình Python, hãy viết chương trình sắp xếp các phần tử trong danh sách A = [5, 3, 6, 4, 10] theo thứ tự giảm dần. Bài giải: A = [5, 3, 6, 4, 10] for i in range(len(A)) : j = i while j > 0 and A[j] > A[j-1] : A[j], A[j-1] = A[j-1], A[j] j = j - 1 print(A) Câu 4 (1đ): Sử dụng ngôn ngữ lập trình Python, hãy viết một hàm với đầu vào là một danh sách A, đầu ra là tổng các phần tử nguyên dương của danh sách đó. Bài giải: def tongduong(A): s = 0 for k in A: if k > 0: s = s + k return s Câu 5 (1đ): Sử dụng ngôn ngữ lập trình Python, hãy viết một hàm với đầu vào là một danh sách A, đầu ra là tổng các phần tử nguyên âm của danh sách đó. Bài giải: def tongam(A): s = 0 for k in A: if k < 0: s = s + k return s Trang 10/10