

Thào A Giàng
Giới thiệu về bản thân



































def should_swap(a, b):
if a % 2 != 0 and b % 2 == 0:
return True
elif a % 2 == b % 2 and a > b:
return True
else:
return False
def bubble_sort_chan_le(arr):
n = len(arr)
for i in range(n - 1):
for j in range(0, n - i - 1):
if should_swap(arr[j], arr[j + 1]):
arr[j], arr[j + 1] = arr[j + 1], arr[j]
my_list = [64, 34, 25, 12, 22, 11, 90]
bubble_sort_chan_le(my_list)
print("Mảng đã sắp xếp:", my_list)
Trình bày thuật toán
Bước 1. Nhập dãy số a[1], a[2], ..., a[n].
Bước 2. Tính tổng các phần tử của dãy số S = a[1] + a[2] + ... + a[n].
Bước 3. Kiểm tra nếu tổng S chia hết cho 2:
Bước 3.1. Nếu đúng, trả về "Tổng chẵn".
Bước 3.2. Nếu sai, trả về "Tổng lẻ".
[1] Chuyển mô tả thành chương trình bằng phương pháp làm mịn dần:
A = [int(input(f"Nhập phần tử thứ {i+1}: ")) for i in range(n)]
Tính tổng các phần tử của dãy số S = a[1] + a[2] + ... + a[n]. → Làm mịn tiếp tại [2]
if S%2 == 0:
return "Tổng chẵn"
else:
return "Tổng lẻ"
[2] Làm mịn chương trình tính tổng:
S = 0
Duyệt dãy từ i = 0 đến n: → Có thể chuyển trực tiếp thành câu lệnh
S = S + a[i]
[3] Chương trình hoàn chỉnh:
A = [int(input(f"Nhập phần tử thứ {i+1}: ")) for i in range(n)]
S = 0
Duyệt dãy từ i = 0 đến n: → Có thể chuyển trực tiếp thành câu lệnh
S = S + a[i]
if S%2 == 0:
return "Tổng chẵn"
else:
return "Tổng lẻ"
Kiểm thử giúp xác nhận rằng chương trình hoạt động đúng như yêu cầu và giúp phát hiện các lỗi trong mã nguồn hoặc lỗi logic mà có thể không được phát hiện trong quá trình lập trình. Từ đón đảm bảo rằng phần mềm hoạt động ổn định và có thể tin cậy trong mọi tình huống.
Ví dụ. Kiểm thử số nguyên tố:
- Với các số nguyên tố (ví dụ: 2, 3, 5, 7) thì chương trình trả về kết quả đúng.
- Với các số không phải là số nguyên tố (ví dụ: 4, 8, 9) thì kết quả trả về là sai.
268
16
55