Tin học Lập Trình Pascal

Minh Tín

Học sinh tiến bộ
Thành viên
22 Tháng mười 2017
1,221
693
166
View attachment 158125

Mọi ngừoi kiểm tra hộ mình code được không ạ ?? Đề là kiểm tra số nguyên tố
1. 2 câu lệnh sau là thừa, không cần thiết:
Mã:
while n<=1 do write('Nhap lai so can kiem tra'); readln(n);
Thứ nhất, có thể gây ra vòng lặp vô hạn (Nếu n=1 thì sẽ in vô hạn lần dòng chữ "Nhap lai so can kiem tra")
Thứ hai, không giải kĩ tại sao phải nhập lại (nhưng điều này không cần thiết.

2.
Mã:
a:=a+1;
mà không có giá trị cho trước của biến a.

Sửa lại:
Mã:
program ktnt;
uses crt;
var a,i,n: integer;
begin
 clrscr; a:=0;
 write('Nhap so can kiem tra:'); readln(n);
 for i:=1 to n do if n mod i = 0 then a:=a+1;
 if (a <> 2) or (n<=1) then writeln(n,' khong phai la so nguyen to') else writeln(n,' la so nguyen to');
 readln
end.

Hàm OR cho kết quả sai khi cả hai đều sai, trường hợp còn lại thì luôn cho đúng.
 
  • Like
Reactions: kido2006
Top Bottom