Bằng cách nhấp vào Đăng nhập, bạn đồng ý Chính sách bảo mật và Điều khoản sử dụng của chúng tôi. Nếu đây không phải máy tính của bạn, để đảm bảo an toàn, hãy sử dụng Cửa sổ riêng tư (Tab ẩn danh) để đăng nhập (New Private Window / New Incognito Window).
B9
a) a) Chương trình tính ước chung lớn nhất và bội chung nhỏ nhất của hai số nguyên dương x và y bị lỗi ở dòng "UCLN: integer;" vì không khai báo biến UCLN. Sửa lại thành "UCLN, x, y, BCNN: integer;" và đổi tên biến UCLN thành ucln ở dòng cuối để phù hợp với khai báo. Ngoài ra, câu lệnh while x - y do if x > y then x := x - y else y := y - x cũng bị lỗi vì x - y không phải là một điều kiện hợp lệ để kiểm tra, cần thay đổi thành while x <> y. Sửa lại chương trình như sau:
program UCLN_BCNN;
var x, y, ucln, BCNN: integer;
begin
readln(x, y);
BCNN := x * y;
while x <> y do
if x > y then x := x - y
else y := y - x;
ucln := x;
BCNN := BCNN div ucln;
write(ucln, ' ', BCNN);
end.
b)Chương trình kiểm tra xem một số nguyên dương n có phải là số hoàn hảo hay không bị lỗi ở dòng "write(n, 'khong phai la so hoan hao');" do thiếu khoảng trắng trước chuỗi "khong phai...". Sửa lại thành "write(n, ' khong phai la so hoan hao');" để đúng cú pháp. Sửa lại chương trình như sau:
program so_hoan_hao;
var n, i, s: integer;
begin
write('Nhap so n: '); readln(n);
s := 0;
for i := 1 to n do
if n mod i = 0 then
s := s + i;
if s = n then
write(n, ' la so hoan hao')
else
writeln(n, ' khong phai la so hoan hao');
end.
Hôm nay bạn thế nào? Hãy nhấp vào một lựa chọn, nếu may mắn bạn sẽ được tặng 50.000 xu từ Lazi
Vui | Buồn | Bình thường |