MODULE 2
Câu 11: Phương pháp lp tnh
1.
Lp trình cu tc:
s dng các cu trúc điu khin như cu trúc tun t, điu kin (if-else), và vòng lp (for, while)
Ưu đim
-Tăng tính ràng d hiu.
-D bo trì m rng
-Gim thiu li
Nhưc đim
-Không phù hp vi tt c các loi bài toán: Mt s vn đề phc tp th khó gii quyết bng
lp trình cu trúc.
Khó qun lý khi chương trình tr nên ln: Mc ci thin tính ràng, nhưng vi các d án rt
ln, vic qun lý có th tr nên phc tạp mà không có các phương pháp tổ chc tốt hơn.
VD: Tính giai tha ca mt s
if n < 0:
return "Không giai tha cho s âm"
giai_thua = 1
for i in range(1, n + 1):
giai_thua *= i
return giai_thua
so = 5
print(f"Giai tha ca {so} {tinh_giai_thua(so)}")
2.
Lp trình th tc
S dng các th tc hoc hàm
Tái s dng
Tp trung vào logic thut toán
Ưu đim
-Tái s dng cao
-D bo t
-Tăng tính t chc
Nhưc đim
-Ph thuc vào cu trúc chương trình
-Khó qun trng thái
d: tính tng danh ch:
tong = 0
for so in danh_sach:
tong += so
return tong
danh_sach_so = [1, 2, 3, 4, 5]
print(f"Tng các s là: {tinh_tong(danh_sach_so)}")
3.
Lp trình ng đối ng
là một phương pháp lập trình da 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
thc th trong thế gii thc i dng các đối ng thuc tính phương thc. OOP h tr các khái
niệm như kế tha, đa hình, và đóng gói
Ưu đim
T chc ngun tt
Tái s dng cao
Tăng tính hình hóa
Đóng gói bo mt d liu
Nhược điểm
Độ phc tp cao
Hiu sut
Thiếu linh hot trong mt s tinh hung
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 bt động .")
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} {self.so_cho_ngoi} ch ngi đang m ca.")
# S dng lp
oto = Oto("Toyota", ", 5)
oto.bat_dong_co()
oto.mo_cua()
Câu 12: S dng Flowchart:
Hình bu
dc
Hình ch
nht
Bt đầu/Kết
thúc
Quá trình thc
hin
Hình
thoi
Điu kin kim
tra/Quyết định
Hình bình
nh
Nhp/Xut d
liu
i
n
ng lung
x
Hình tròn
nh
Kết
ni
Câu 13:
Câu 14:
Câu 15:

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: