





Preview text:
MODULE 2
Câu 11: Phương pháp lập trình
1. Lập trình cấu trúc:
sử dụng các cấu trúc điều khiển như cấu trúc tuần tự, điều kiện (if-else), và vòng lặp (for, while) Ưu điểm
-Tăng tính rõ ràng và dễ hiểu.
-Dễ bảo trì và mở rộng -Giảm thiểu lỗi Nhược điểm
-Không phù hợp với tất cả các loại bài toán: Một số vấn đề phức tạp có thể khó giải quyết bằng lập trình cấu trúc.
Khó quản lý khi chương trình trở nên lớn: Mặc dù cải thiện tính rõ ràng, nhưng với các dự án rất
lớn, việc quản lý có thể trở nên phức tạp mà không có các phương pháp tổ chức tốt hơn.
VD: Tính giai thừa của một số if n < 0:
return "Không có giai thừa cho số âm" giai_thua = 1 for i in range(1, n + 1): giai_thua *= i return giai_thua so = 5
print(f"Giai thừa của {so} là {tinh_giai_thua(so)}")
2. Lập trình thủ tục
Sử dụng các thủ tục hoặc hàm Tái sử dụng mã
Tập trung vào logic và thuật toán Ưu điểm -Tái sử dụng cao -Dễ bảo trì -Tăng tính tổ chức Nhược điểm
-Phụ thuộc vào cấu trúc chương trình
-Khó quản lý trạng thái
Ví dụ: tính tổng danh sách: tong = 0 for so in danh_sach: tong += so return tong
danh_sach_so = [1, 2, 3, 4, 5]
print(f"Tổng các số là: {tinh_tong(danh_sach_so)}")
3. Lập trình hướng đối tượng
là một phương pháp lập trình dựa trên khái niệm đối tượng và lớp . Phương pháp này mô hình hóa các
thực thể trong thế giới thực dưới dạng các đối tượng có thuộc tính và phương thức. OOP hỗ trợ các khái
niệm như kế thừa, đa hình, và đóng gói Ưu điểm
• Tổ chức mã nguồn tốt • Tái sử dụng mã cao
• Tăng tính mô hình hóa
• Đóng gói và bảo mật dữ liệu Nhược điểm • Độ phức tạp cao • Hiệu suất
• Thiếu linh hoạt trong một số tinh huống Ví dụ: class Xe: def init (self, hang, mau): self.hang = hang self.mau = mau def bat_dong_co(self):
print(f"Xe {self.hang} màu {self.mau} đang bật động cơ.") class Oto(Xe):
def init (self, hang, mau, so_cho_ngoi): super(). init (hang, mau)
self.so_cho_ngoi = so_cho_ngoi def mo_cua(self):
print(f"Xe {self.hang} có {self.so_cho_ngoi} chỗ ngồi đang mở cửa.") # Sử dụng lớp
oto = Oto("Toyota", "Đỏ", 5) oto.bat_dong_co() oto.mo_cua()
Câu 12: Sử dụng Flowchart:
Hình bầu Bắt đầu/Kết dục thúc
Hình chữ Quá trình thực nhật hiện Hình Điều kiện kiểm thoi tra/Quyết định
Hình bình Nhập/Xuất dữ hành liệu Mũi Hướng luồng tên xử lý Hình tròn Kết nhỏ nối Câu 13: Câu 14: Câu 15: