Vũ Hà Vi

Giới thiệu về bản thân

Chào mừng bạn đến với trang cá nhân của Vũ Hà Vi
xếp hạng Ngôi sao 1 ngôi sao 2 ngôi sao 1 Sao chiến thắng
0
xếp hạng Ngôi sao 1 ngôi sao 2 ngôi sao 1 Sao chiến thắng
0
xếp hạng Ngôi sao 1 ngôi sao 2 ngôi sao 1 Sao chiến thắng
0
xếp hạng Ngôi sao 1 ngôi sao 2 ngôi sao 1 Sao chiến thắng
0
xếp hạng Ngôi sao 1 ngôi sao 2 ngôi sao 1 Sao chiến thắng
0
xếp hạng Ngôi sao 1 ngôi sao 2 ngôi sao 1 Sao chiến thắng
0
xếp hạng Ngôi sao 1 ngôi sao 2 ngôi sao 1 Sao chiến thắng
0
(Thường được cập nhật sau 1 giờ!)

def UCLN(a, b):
# Nếu b = 0, kết quả là a
if b == 0:
return a
# Nếu b > 0, gọi đệ quy theo công thức UCLN(b, a % b)
else:
return UCLN(b, a % b)

# Nhập dữ liệu từ bàn phím
try:
a = int(input("Nhập số tự nhiên a: "))
b = int(input("Nhập số tự nhiên b: "))
print(f"Ước chung lớn nhất của {a}{b} là: {UCLN(a, b)}")
except ValueError:
print("Vui lòng nhập số tự nhiên hợp lệ.")

while True:
# Bước 1: Cho phép nhập số thực dương a từ bàn phím
a = float(input("Nhập số thực dương a: "))

# Bước 2: Kiểm tra nếu không phải số thực dương (a <= 0)
if a <= 0:
print("Số vừa nhập chưa phải số thực dương. Hãy nhập lại.")
# Quay lại vòng lặp để hiển thị lại dòng nhập liệu
else:
# Bước 3: Nếu là số thực dương, tính bình phương và in kết quả
ket_qua = a ** 2
print(f"Bình phương của {a} là: {ket_qua:.2f}")
break # Thoát khỏi vòng lặp sau khi hoàn thành
.


x = 10.5
y = 20.9
if x < y:
print("x nhỏ hơn y")

Thuật toán Euclid dựa trên nguyên tắc rằng ước chung lớn nhất của hai số không thay đổi nếu ta thay số lớn hơn bằng hiệu của hai số đó. Một cách hiệu quả hơn là thay số lớn hơn bằng số dư của phép chia số lớn hơn cho số nhỏ hơn. Quá trình này được lặp lại cho đến khi một trong hai số bằng 0, khi đó số còn lại chính là ƯCLN.Công thức được cho là:$UCLN(a,b) = UCLN(b, a \% b)$ nếu $b > 0$$UCLN(a, 0) = a$Điều này có nghĩa là, nếu $b$ khác 0, ta sẽ gọi lại hàm $UCLN$ với tham số là $b$ và phần dư của $a$ chia cho $b$. Nếu $b$ bằng 0, thì $a$ chính là ƯCLN.Dựa trên công thức này, ta có thể viết chương trình bằng cách sử dụng hàm đệ quy hoặc vòng lặp. Dưới đây là cách triển khai bằng ngôn ngữ lập trình Python, sử dụng đệ quy vì nó phản ánh trực tiếp công thức đã cho.Chương trình này định nghĩa một hàm ucln nhận hai tham số a và b.


Nếu b bằng 0, hàm trả về a.


Ngược lại, hàm gọi lại chính nó với tham số b và a % b. Quá trình này tiếp tục cho đến khi tham số thứ hai trở thành 0.

Đây là một bài toán lập trình yêu cầu xử lý nhập liệu và tính toán. Chúng ta cần viết một chương trình để nhận một số thực dương từ người dùng, kiểm tra tính hợp lệ của số đó, và nếu hợp lệ thì tính bình phương của nó.Khai báo biến và yêu cầu nhập liệu.Chúng ta cần một biến để lưu trữ số thực người dùng nhập vào, ví dụ a. Sau đó, chương trình sẽ yêu cầu người dùng nhập giá trị cho a.Kiểm tra điều kiện nhập liệu.Sử dụng một vòng lặp (ví dụ: while) để liên tục yêu cầu người dùng nhập liệu cho đến khi họ nhập vào một số thực dương. Điều kiện của vòng lặp sẽ là a <= 0. Bên trong vòng lặp, nếu a không phải là số thực dương, chương trình sẽ in ra thông báo lỗi và yêu cầu nhập lại, sau đó đọc lại giá trị cho a.Tính toán và in kết quả.Khi người dùng nhập vào một số thực dương hợp lệ, vòng lặp sẽ kết thúc. Chương trình sẽ tính bình phương của a (tức là a * a). Sau đó, kết quả sẽ được in ra màn hình, định dạng với hai chữ số sau dấu phẩy.

Chương trình này thực hiện các bước sau:Gán giá trị 10.5 cho biến x.Gán giá trị 20.9 cho biến y.Kiểm tra xem x có nhỏ hơn y hay không.Nếu điều kiện ở bước 3 đúng (tức là 10.5 < 20.9), chương trình sẽ in ra dòng chữ "x nhỏ hơn y".Vì 10.5 rõ ràng nhỏ hơn 20.9, nên câu lệnh print sẽ được thực thi và chương trình sẽ chạy thành công mà không gặp bất kỳ lỗi nào.Khắc phục (nếu có ý định khác):Nếu người lập trình có ý định khác, ví dụ như muốn kiểm tra trường hợp x lớn hơn hoặc bằng y, thì cần bổ sung thêm các câu lệnh điều kiện else hoặc elif. Tuy nhiên, với đoạn mã được cung cấp, chương trình hoàn toàn hợp lệ và không có lỗi.