ĐỀ CƯƠNG ÔN TẬP KIỂM TRA CUỐI KỲ II MÔN TIN HỌC LỚP 10 - NĂM HỌC 2025 – 2026

Ôn tập Tin học cuối kỳ II lớp 10 - Kiến thức đầy đủ năm học 2025-2026

Ôn tập Tin học cuối kỳ II lớp 10

Kiến thức đầy đủ năm học 2025–2026

11 bài học lập trình Python cần nắm vững

Tổng quan kiến thức ôn tập

Chương trình kiến thức Tin học 10 cuối kỳ II tập trung vào lập trình Python nâng cao. Nội dung bao gồm: vòng lặp while, kiểu dữ liệu danh sách, xâu ký tự, và hàm trong Python. Việc nắm vững các khái niệm này sẽ giúp các em có nền tảng vững chắc để phát triển kỹ năng lập trình.

21

Câu lệnh lặp While

🔄 Cú pháp vòng lặp while

while điều_kiện:
    # Khối lệnh thực hiện
    # khi điều kiện đúng

⚖️ So sánh for và while

For: Biết trước số lần lặp
While: Lặp theo điều kiện
# For - lặp 5 lần
for i in range(5):
    print(i)
# While - lặp khi i < 5
i = 0
while i < 5:
    print(i)
    i += 1

🛑 Điều kiện dừng vòng lặp

  • • Điều kiện trở thành False
  • • Sử dụng lệnh break
  • • Tránh vòng lặp vô hạn
  • • Luôn cập nhật biến điều kiện

🏗️ Cấu trúc lập trình

Tuần tự
Thực hiện từ trên xuống
Rẽ nhánh
if, elif, else
Lặp
for, while
22

Kiểu dữ liệu danh sách

📋 Khái niệm danh sách (list)

Danh sách là kiểu dữ liệu cho phép lưu trữ nhiều giá trị trong một biến, các phần tử có thể thay đổi và có thứ tự.

🔧 Khai báo và khởi tạo danh sách

# Danh sách rỗng
ds_rong = []
ds_rong2 = list()
# Danh sách có giá trị
so = [1, 2, 3, 4, 5]
ten = ["An", "Bình", "Chi"]
hon_hop = [1, "Hello", 3.14, True]

🎯 Truy cập phần tử bằng chỉ số

ds = [10, 20, 30, 40]
print(ds[0]) # 10
print(ds[-1]) # 40
ds[1] = 25 # Thay đổi

🔄 Duyệt danh sách bằng for

ds = [1, 2, 3, 4]
# Duyệt giá trị
for x in ds:
    print(x)
# Duyệt chỉ số
for i in range(len(ds)):
    print(ds[i])
23

Một số lệnh làm việc với dữ liệu danh sách

➕ Thêm phần tử

ds = [1, 2, 3]
# Thêm cuối
ds.append(4) # [1,2,3,4]
# Chèn vào vị trí
ds.insert(1, 10) # [1,10,2,3,4]
append(): Thêm vào cuối
insert(): Chèn vào vị trí chỉ định

➖ Xóa phần tử

ds = [1, 2, 3, 2]
# Xóa theo giá trị
ds.remove(2) # [1,3,2]
# Xóa theo vị trí
ds.pop(0) # [3,2]
remove(): Xóa giá trị đầu tiên tìm thấy
pop(): Xóa và trả về phần tử tại vị trí

🔧 Phương thức thường dùng

ds = [3, 1, 4, 1, 5]
ds.sort() # [1,1,3,4,5]
ds.reverse() # [5,4,3,1,1]
print(len(ds)) # 5
  • sort(): Sắp xếp tăng dần
  • reverse(): Đảo ngược
  • len(): Độ dài danh sách

🔍 Toán tử in

ds = [1, 2, 3, 4, 5]
print(3 in ds) # True
print(6 in ds) # False
print(6 not in ds) # True

Toán tử in kiểm tra sự tồn tại của phần tử trong danh sách.

24

Xâu ký tự

📝 Khái niệm xâu (string)

Xâu ký tự là chuỗi các ký tự được đặt trong dấu ngoặc kép hoặc ngoặc đơn. Xâu là kiểu dữ liệu bất biến (immutable).

🔧 Khởi tạo và nhập xâu

# Khởi tạo xâu
ten = "Nguyen Van A"
loi_chao = 'Xin chào!'
xau_rong = ""
# Nhập xâu từ bàn phím
ho_ten = input("Nhập họ tên: ")
dia_chi = input("Nhập địa chỉ: ")

🎯 Truy cập ký tự bằng chỉ số

s = "Python"
print(s[0]) # P
print(s[-1]) # n
print(s[1:4]) # yth
# s[0] = 'J' # Lỗi!

🔄 Duyệt xâu bằng vòng lặp

s = "Hello"
# Duyệt từng ký tự
for c in s:
    print(c)
# Duyệt theo chỉ số
for i in range(len(s)):
    print(s[i])
25

Một số lệnh làm việc với xâu ký tự

🔧 Các hàm và phương thức thường dùng

s = " Hello World "
print(len(s)) # 13
print(s.upper()) # HELLO WORLD
print(s.lower()) # hello world
print(s.strip()) # "Hello World"
  • len(): Độ dài xâu
  • upper(): Chuyển hoa
  • lower(): Chuyển thường
  • strip(): Xóa khoảng trắng

🔍 Tìm kiếm và thay thế

s = "Hello Python"
print(s.find("Python")) # 6
print(s.find("Java")) # -1
s2 = s.replace("Hello", "Hi")
print(s2) # "Hi Python"
  • find(): Tìm vị trí xuất hiện
  • replace(): Thay thế chuỗi con
  • • Trả về -1 nếu không tìm thấy

✂️ Tách và nối xâu

s = "apple,banana,orange"
ds = s.split(",") # ['apple','banana','orange']
s2 = "-".join(ds) # "apple-banana-orange"
  • split(): Tách xâu thành danh sách
  • join(): Nối danh sách thành xâu

🔗 Nối và lặp chuỗi

# Nối chuỗi (+)
s1 = "Hello"
s2 = "World"
s3 = s1 + " " + s2 # "Hello World"
# Lặp chuỗi (*)
s4 = "Ha" * 3 # "HaHaHa"
Cắt xâu (slicing):
s = "Python"
print(s[1:4]) # "yth"
print(s[:3]) # "Pyt"
print(s[2:]) # "thon"
26

Hàm trong Python

🎯 Khái niệm và lợi ích của hàm

Hàm là khối mã được đặt tên, có thể tái sử dụng nhiều lần. Giúp chia nhỏ chương trình, dễ bảo trì và tránh lặp code.

🔄 Tái sử dụng
📦 Tổ chức code
🐛 Dễ debug
👥 Chia sẻ

📝 Cú pháp định nghĩa hàm với def

def ten_ham(tham_so1, tham_so2):
    """Mô tả hàm (tùy chọn)"""
    # Thân hàm
    ket_qua = tham_so1 + tham_so2
    return ket_qua

📥 Tham số và đối số

def chao(ten, tuoi=18):
    print(f"Xin chào {ten}, {tuoi} tuổi")
# Gọi hàm
chao("An") # tuoi = 18
chao("Bình", 20) # tuoi = 20

📤 Giá trị trả về (return)

def tinh_tong(a, b):
    return a + b
def kiem_tra_chan(n):
    return n % 2 == 0
# Sử dụng
ket_qua = tinh_tong(5, 3) # 8

🚀 Ví dụ thực hành

def tinh_diem_tb(toan, ly, hoa):
    """Tính điểm trung bình 3 môn"""
    return (toan + ly + hoa) / 3
def xep_loai(diem_tb):
    """Xếp loại học lực"""
    if diem_tb >= 8:
        return "Giỏi"
    elif diem_tb >= 6.5:
        return "Khá"
    else:
        return "Trung bình"
# Sử dụng hàm
dtb = tinh_diem_tb(8, 7, 9)
loai = xep_loai(dtb)
print(f"Điểm TB: {dtb}, Xếp loại: {loai}")
27

Tham số của hàm

🔍 Phân biệt tham số và đối số

Tham số (Parameter): Biến trong định nghĩa hàm
Đối số (Argument): Giá trị truyền vào khi gọi hàm
def chao(ten): # ten là tham số
    print("Xin chào", ten)
chao("An") # "An" là đối số

⚙️ Tham số mặc định

def chao(ten="bạn"):
    print("Xin chào", ten)
# Gọi hàm
chao() # "Xin chào bạn"
chao("An") # "Xin chào An"
chao("Bình") # "Xin chào Bình"

Tham số mặc định giúp hàm linh hoạt hơn, có thể gọi với ít đối số hơn.

📍 Truyền đối số: theo vị trí hoặc theo tên

def thong_tin(ten, tuoi, lop):
    print(f"{ten}, {tuoi} tuổi, lớp {lop}")
# Theo vị trí
thong_tin("An", 16, "10A")
# Theo tên
thong_tin(lop="10B", ten="Bình", tuoi=17)
  • Theo vị trí: Thứ tự quan trọng
  • Theo tên: Thứ tự không quan trọng
  • • Có thể kết hợp cả hai cách
28

Phạm vi của biến

🏠 Biến cục bộ

Khai báo trong hàm, chỉ dùng được trong hàm đó.

def tinh_tong():
    a = 5 # Biến cục bộ
    b = 3 # Biến cục bộ
    return a + b
# print(a) # Lỗi! a không tồn tại ngoài hàm

🌍 Biến toàn cục

Khai báo ngoài hàm, dùng được ở nhiều nơi trong chương trình.

ten_truong = "THPT ABC" # Biến toàn cục
def in_thong_tin():
    print("Trường:", ten_truong) # Dùng được
def in_dia_chi():
    print("Địa chỉ:", ten_truong) # Dùng được

🔧 Từ khóa global

Cho phép thay đổi biến toàn cục bên trong hàm.

diem = 0 # Biến toàn cục
def tang_diem():
    global diem # Khai báo dùng biến toàn cục
    diem += 10 # Thay đổi được
print(diem) # 0
tang_diem()
print(diem) # 10
29

Nhận biết lỗi chương trình

❌ Lỗi cú pháp (Syntax Error)

Viết sai quy tắc ngôn ngữ Python.

# Lỗi thiếu dấu :
if x > 5 # Sai
    print("Lớn")
# Đúng
if x > 5:
    print("Lớn")

🧠 Lỗi logic

Chương trình chạy được nhưng cho kết quả sai.

# Muốn tính trung bình nhưng viết sai
def tinh_tb(a, b):
    return a + b # Sai! Phải chia 2
# Đúng
def tinh_tb(a, b):
    return (a + b) / 2

⚡ Lỗi runtime

Phát sinh khi chạy chương trình, ví dụ chia cho 0.

a = 10
b = 0
ket_qua = a / b # Lỗi: ZeroDivisionError

🔍 Cách đọc lỗi

Xem thông báo mà Python đưa ra để tìm dòng lỗi và nguyên nhân.

Traceback (most recent call last):
  File "main.py", line 3, in <module>
    print(x)
NameError: name 'x' is not defined
30

Kiểm thử và gỡ lỗi chương trình

🧪 Kiểm thử (Testing)

Chạy chương trình với nhiều dữ liệu đầu vào khác nhau để phát hiện lỗi.

def kiem_tra_chan_le(n):
    if n % 2 == 0:
        return "Chẵn"
    else:
        return "Lẻ"
# Kiểm thử với nhiều giá trị
print(kiem_tra_chan_le(4)) # Chẵn
print(kiem_tra_chan_le(7)) # Lẻ
print(kiem_tra_chan_le(0)) # Chẵn
print(kiem_tra_chan_le(-3)) # Lẻ

🔧 Gỡ lỗi (Debugging)

Tìm nguyên nhân lỗi và sửa chữa.

Các bước gỡ lỗi:
  • 1. Xác định vị trí lỗi
  • 2. Hiểu nguyên nhân
  • 3. Sửa lỗi
  • 4. Kiểm tra lại
def tinh_tong(ds):
    tong = 0
    for i in ds:
        print(f"i = {i}, tong = {tong}") # Debug
        tong += i
    return tong

🖨️ Cách đơn giản: dùng print()

Sử dụng print() để kiểm tra giá trị biến tại các thời điểm khác nhau.

def tim_max(ds):
    print("Danh sách:", ds) # Kiểm tra đầu vào
    max_val = ds[0]
    print("Giá trị ban đầu:", max_val)
    for x in ds:
        print(f"So sánh {x} với {max_val}")
        if x > max_val:
            max_val = x
    return max_val
31

Thực hành viết chương trình đơn giản

🎯 Tổng hợp kiến thức

Kết hợp tất cả kiến thức đã học: biến, vòng lặp, danh sách, chuỗi, hàm.

📊 Biến
🔄 Vòng lặp
📋 Danh sách
📝 Chuỗi
⚙️ Hàm

💡 Ví dụ thực hành

Viết chương trình quản lý điểm học sinh:

# Chương trình quản lý điểm học sinh
def nhap_diem():
    """Nhập danh sách điểm"""
    diem = []
    n = int(input("Nhập số học sinh: "))
    for i in range(n):
        d = float(input(f"Điểm HS {i+1}: "))
        diem.append(d)
    return diem
def tinh_diem_tb(diem):
    """Tính điểm trung bình"""
    return sum(diem) / len(diem)
def tim_diem_cao_nhat(diem):
    """Tìm điểm cao nhất"""
    return max(diem)
# Chương trình chính
ds_diem = nhap_diem()
tb = tinh_diem_tb(ds_diem)
cao_nhat = tim_diem_cao_nhat(ds_diem)
print(f"Điểm TB: {tb:.2f}")
print(f"Điểm cao nhất: {cao_nhat}")

🧠 Rèn luyện tư duy lập trình

Các bước giải quyết vấn đề:
  1. 1. Hiểu rõ bài toán
  2. 2. Phân tích thành các bước nhỏ
  3. 3. Viết thuật toán
  4. 4. Cài đặt bằng Python
  5. 5. Kiểm thử và sửa lỗi
Kỹ năng cần rèn luyện:
  • • Tư duy logic
  • • Phân tích bài toán
  • • Thiết kế thuật toán
  • • Debug và tối ưu code
  • • Viết code sạch, dễ hiểu

Kết luận

Việc ôn tập Tin học cuối kỳ II lớp 10 đòi hỏi các em cần thành thạo lập trình Python. Hãy dành thời gian thực hành các khái niệm về vòng lặp while, danh sách, xâu ký tựhàm. Việc kết hợp lý thuyết với bài tập thực hành sẽ giúp các em nắm vững kiến thức lập trình cơ bản.

Chúc các em ôn tập hiệu quả và đạt kết quả cao!
Mới hơn Cũ hơn
Đọc tiếp:
Lên đầu trang