

Trần Quang Dũng
Giới thiệu về bản thân



































int UCLN(int a, int b) {
if (b == 0) {
return a;
} else {
return UCLN(b, a % b);
}
}
int main() {
int a, b;
std::cout << "Nhập hai số nguyên dương a và b: ";
std::cin >> a >> b;
if (a < 0 || b < 0) {
std::cout << "Vui lòng nhập hai số nguyên dương." << std::endl;
return 1; // Trả về mã lỗi
}
int result = UCLN(a, b);
std::cout << "Ước chung lớn nhất của " << a << " và " << b << " là: " << result << std::endl;
return 0;
}
int main() {
double a;
do {
cout << "Hãy nhập một số thực dương: ";
cin >> a;
if (a <= 0) {
cout << "Số vừa nhập chưa phải số thực dương. Hãy nhập lại." << endl;
}
} while (a <= 0);
double binhphuong = a * a;
cout << fixed << setprecision(2) << "Bình phương của " << a << " là: " << binhphuong << endl;
return 0;
}
chương trình có lỗi : chỉ thực hiện một thao tác duy nhất là so sánh x và y, và chỉ in ra kết quả nếu x nhỏ hơn y.còn nếu lớn hơn hay nhỏ hơn,chương trình sẽ không làm gì cả.
mã lỗi: print("x nhỏ hơn y") , lỗi logic.
giải thích: do thiếu sự xử lý đầy đủ các trường hợp có thể xảy ra trong phép so sánh.
cách khắc phục:
x = 10.5
y = 20.9
if x < y
print("x nhỏ hơn y")
elif x > y
print("x lớn hơn y")
else:
print("x bằng y")