Phạm vi: Toàn bộ HK2 (Bài 12–34): thiết kế đồ hoạ; lập trình Python (biến, vào ra, If, For, While, danh sách, xâu kí tự, hàm, tham số, phạm vi của biến, lỗi chương trình, kiểm thử và gỡ lỗi, thực hành viết chương trình đơn giản, ôn tập lập trình Python); nghề thiết kế đồ hoạ máy tính; nghề phát triển phần mềm.
Phần 1: Cơ bản
Bài 1. Biến toàn cục khác biến cục bộ ở điểm nào? Cho ví dụ.
Bài 2. Lỗi cú pháp (syntax error) là gì? Cho một ví dụ đoạn chương trình gây lỗi cú pháp.
Bài 3. Đoạn chương trình print(10 / 0) gây lỗi gì? Nêu tên lỗi.
Bài 4. Kiểm thử chương trình có mục đích gì?
Bài 5. Một test case gồm những gì? Cho ví dụ một test case cho chương trình tính tổng hai số.
Bài 6. Gỡ lỗi (debug) là gì?
Bài 7. Nghề phát triển phần mềm chủ yếu làm công việc gì?
Bài 8. Nghề thiết kế đồ hoạ máy tính tạo ra những sản phẩm nào? Nêu 2 ví dụ.
Bài 9. Viết chương trình Python nhập vào một số nguyên n. Nếu n > 0 in "Duong", nếu n < 0 in "Am", ngược lại in "Bang 0".
Bài 10. Viết hàm tinh_tong(n) trả về tổng các số từ 1 đến n. Gọi hàm với n = 10 và in kết quả.
Bài 11. Viết chương trình Python tạo danh sách [5, 2, 8, 1], sắp xếp tăng dần (dùng sort()) rồi in danh sách.
Bài 12. Viết chương trình Python nhập vào một xâu, in ra độ dài của xâu và xâu viết hoa toàn bộ.
Bài 13. Viết chương trình Python dùng vòng lặp while để in các số chẵn từ 2 đến 10.
Bài 14. Viết hàm la_so_le(n) trả về True nếu n là số lẻ, ngược lại trả về False. Gọi hàm với n = 5 và in kết quả.
Bài 15. Trong phần mềm thiết kế đồ hoạ, khi xuất sản phẩm cuối cùng cần kiểm tra những gì?
Bài 16. Nêu một kĩ năng quan trọng của người làm nghề phát triển phần mềm và một kĩ năng quan trọng của người làm nghề thiết kế đồ hoạ.
Bài 17. Viết chương trình Python nhập vào chiều dài và chiều rộng hình chữ nhật, in ra diện tích.
Bài 18. Đoạn chương trình sau in ra gì? Giải thích.
def gap_ba(x):
return x * 3
print(gap_ba(4))
Phần 2: Nâng cao
Bài 19. Viết hàm dem_lon_hon(a, x) nhận vào danh sách a và số x, trả về số lượng phần tử trong a lớn hơn x. Gọi hàm với a = [1, 5, 8, 3, 9] và x = 4, in kết quả.
Bài 20. Viết chương trình Python nhập vào một xâu, đếm số từ trong xâu (gợi ý: dùng split() rồi len()).
Bài 21. Một chương trình tính chu vi hình chữ nhật cho kết quả sai. Hãy nêu hai nguyên nhân có thể và cách kiểm tra, sửa lỗi.
Bài 22. Viết hàm tim_max(a) nhận vào danh sách số và trả về giá trị lớn nhất (không dùng hàm max()), dùng vòng lặp. Gọi hàm với [3, 9, 2, 7] và in kết quả.
Bài 23. Viết chương trình Python nhập vào điểm của 5 học sinh (dùng vòng lặp và append()), in ra điểm trung bình và điểm cao nhất.
Bài 24. Hãy nêu hai điểm khác nhau giữa nghề thiết kế đồ hoạ máy tính và nghề phát triển phần mềm.
Bài 25. Viết chương trình Python nhập vào một số nguyên n, in ra bảng cửu chương của n từ n × 1 đến n × 10.
Bài 26. Viết hàm dao_xau(s) nhận vào một xâu và trả về xâu đảo ngược (gợi ý: dùng s[::-1]). Gọi hàm với "Python" và in kết quả.
Bài 27. Một chương trình nhập điểm rồi xếp loại nhưng luôn xếp loại "Yeu" dù nhập điểm 9. Hãy nêu một nguyên nhân có thể (gợi ý: kiểu dữ liệu của input()) và cách sửa.
Bài 28. Em được giao thiết kế áp phích và viết một chương trình Python nhỏ in ra thông điệp của áp phích. Hãy nêu các bước thiết kế áp phích và viết chương trình Python in ra thông điệp đó.
Đáp án
Bài 1. Biến toàn cục dùng được ở mọi nơi trong chương trình; biến cục bộ chỉ dùng được trong hàm nơi nó được tạo. Ví dụ: biến x = 5 ở ngoài mọi hàm là biến toàn cục; biến y tạo trong hàm f() là biến cục bộ của f().
Bài 2. Lỗi cú pháp là lỗi do viết sai quy tắc ngôn ngữ. Ví dụ: print("Chao" thiếu dấu ngoặc đóng sẽ gây lỗi cú pháp.
Bài 3. Lỗi chia cho 0 — ZeroDivisionError.
Bài 4. Kiểm thử giúp phát hiện lỗi và kiểm tra chương trình chạy đúng yêu cầu hay chưa.
Bài 5. Một test case gồm dữ liệu đầu vào và kết quả mong đợi. Ví dụ: chương trình tính tổng hai số — đầu vào: 2 và 3; kết quả mong đợi: 5.
Bài 6. Gỡ lỗi là quá trình tìm và sửa lỗi trong chương trình.
Bài 7. Nghề phát triển phần mềm viết, kiểm thử và bảo trì các chương trình, ứng dụng.
Bài 8. Sản phẩm: áp phích, logo, giao diện, hình minh hoạ. Ví dụ: logo câu lạc bộ, áp phích tuyên truyền.
Bài 9.
n = int(input("Nhap n: "))
if n > 0:
print("Duong")
elif n < 0:
print("Am")
else:
print("Bang 0")
Bài 10.
def tinh_tong(n):
tong = 0
for i in range(1, n + 1):
tong = tong + i
return tong
print(tinh_tong(10))
Kết quả: 55.
Bài 11.
a = [5, 2, 8, 1]
a.sort()
print(a)
Kết quả: [1, 2, 5, 8].
Bài 12.
s = input("Nhap xau: ")
print(len(s))
print(s.upper())
Bài 13.
i = 2
while i <= 10:
print(i)
i = i + 2
Bài 14.
def la_so_le(n):
return n % 2 == 1
print(la_so_le(5))
Kết quả: True.
Bài 15. Cần kiểm tra chính tả, bố cục, màu sắc và định dạng tệp phù hợp mục đích sử dụng (in hay đăng mạng).
Bài 16. Nghề phát triển phần mềm: tư duy logic, lập trình, kiểm thử. Nghề thiết kế đồ hoạ: thẩm mĩ, bố cục, màu sắc, sử dụng phần mềm đồ hoạ.
Bài 17.
dai = float(input("Nhap chieu dai: "))
rong = float(input("Nhap chieu rong: "))
print("Dien tich:", dai * rong)
Bài 18. In ra 12. Vì hàm gap_ba(4) trả về 4 * 3 = 12, lệnh print in giá trị đó.
Bài 19.
def dem_lon_hon(a, x):
dem = 0
for v in a:
if v > x:
dem = dem + 1
return dem
print(dem_lon_hon([1, 5, 8, 3, 9], 4))
Kết quả: 3 (các số 5, 8, 9).
Bài 20.
s = input("Nhap xau: ")
tu = s.split()
print(len(tu))
Bài 21. Hai nguyên nhân có thể: (1) công thức sai (ví dụ dùng diện tích thay cho chu vi); (2) gán hoặc nhập nhầm giá trị biến. Cách kiểm tra, sửa: chạy với dữ liệu mẫu đơn giản (dài 5, rộng 3 → chu vi 16), in ra giá trị từng biến để đối chiếu, kiểm tra lại công thức, sửa và kiểm thử lại.
Bài 22.
def tim_max(a):
lon_nhat = a[0]
for x in a:
if x > lon_nhat:
lon_nhat = x
return lon_nhat
print(tim_max([3, 9, 2, 7]))
Kết quả: 9.
Bài 23.
diem = []
for i in range(5):
d = float(input("Nhap diem: "))
diem.append(d)
print("Trung binh:", sum(diem) / len(diem))
print("Cao nhat:", max(diem))
Bài 24. Thiết kế đồ hoạ tạo ra sản phẩm hình ảnh (áp phích, logo...), kĩ năng chính là thẩm mĩ, bố cục, màu sắc. Phát triển phần mềm tạo ra chương trình, ứng dụng, kĩ năng chính là tư duy logic, lập trình, kiểm thử và gỡ lỗi.
Bài 25.
n = int(input("Nhap n: "))
for i in range(1, 11):
print(n, "x", i, "=", n * i)
Bài 26.
def dao_xau(s):
return s[::-1]
print(dao_xau("Python"))
Kết quả: nohtyP.
Bài 27. Nguyên nhân: input() trả về xâu kí tự nên so sánh xâu với số cho kết quả sai (ví dụ "9" >= 8 có thể gây lỗi hoặc so sánh không đúng). Cách sửa: chuyển đổi sang số bằng float() hoặc int() trước khi so sánh: d = float(input("Nhap diem: ")).
Bài 28. Các bước thiết kế áp phích: xác định thông điệp → tạo tệp mới → thêm tiêu đề → chèn hình minh hoạ → căn chỉnh bố cục → kiểm tra → xuất tệp. Chương trình Python in thông điệp, ví dụ:
print("Tiet kiem dien - Vi tuong lai xanh!")
