Cho
n=96745. Hãy mô phỏng lại đoạn chương trình sau và cho biết d=?
Câu 1/
d:=0;
While n<>0
do
Begin
m:= n mod 10;
n:= n div 10;
d:=d+1;
end;
câu 2/
d:=0;
While n<>0
do
Begin
m:= n
mod 10;
n:= n div 10;
d:=d+m;
end;
Câu 3/ Làm bài hạt thóc trên ô cờ bằng while..do hoặc repeat...until
Câu 4/ Làm kiểm tra số n nhập từ bàn phím có phải là nguyên tố không? bằng while..do hoặc repeat...until
Câu 5/ nhập số nguyên n. in số đảo ngược của n
ví dụ n=938 thì đảo ngược của nó là 839
câu 6/ nhập số nguyên n. N có bao nhiêu chữ số chẵn, lẻ
ví dụ n=938 có 2 số lẻ, 1 số chẵn
Câu 7/ Nhập số nguyên n. hỏi n có là số đối xứng không
biết số đối xứng là số nếu đọc từ trái qua phải hoặc từ phải qua trái được số giống nhau
ví dụ 22, 212, 9339 là các số đối xứng
các số 93, 100, 9393 không đối xứng
Câu 3/ Làm bài hạt thóc trên ô cờ bằng while..do hoặc repeat...until
Câu 4/ Làm kiểm tra số n nhập từ bàn phím có phải là nguyên tố không? bằng while..do hoặc repeat...until
Câu 5/ nhập số nguyên n. in số đảo ngược của n
ví dụ n=938 thì đảo ngược của nó là 839
câu 6/ nhập số nguyên n. N có bao nhiêu chữ số chẵn, lẻ
ví dụ n=938 có 2 số lẻ, 1 số chẵn
Câu 7/ Nhập số nguyên n. hỏi n có là số đối xứng không
biết số đối xứng là số nếu đọc từ trái qua phải hoặc từ phải qua trái được số giống nhau
ví dụ 22, 212, 9339 là các số đối xứng
các số 93, 100, 9393 không đối xứng
program Uoc_chung_nho_nhat;
Trả lờiXóauses crt;
var
a,b:longint;
begin
write('nhap a=');
readln(a);
write('nhap b=');
readln(b);
while (a>b)or(b>a) do
begin
if a>b then
a:=a-b;
if b>a then
b:=b-a;
if a=b then
writeln(a);
end;
readln
end.
Đúng (9 đ) nhưng em nên thay điều kiên (a>b)or(b>a) thành a<>b và in sau khi kết thúc vòng while nhé
Xóavar
Trả lờiXóaa,b:integer;
begin
write('nhap a=');readln(a);
write('nhap b=');readln(b);
while a<>b do
begin
if a>b then
a:=a-b;
if b>a then
b:=b-a;
end;
writeln(a);
readln;
end.
Đúng. 10đ
XóaProgram khoa_85;
Trả lờiXóaVar
a,b:integer;
begin
writeln(‘nhap so a’);
readln;
if a<=1 then
writeln(‘day ko la so nguyen to’)
else
begin
b:=2;
while (a mod I <>o) do
b:=b+1;
if a=b then writeln(‘la so nguyen to’);
end.
else
writeln(‘ko phai so nguyen to’);
readln;
end.
Khá tốt. Nhưng có vài điểm chính cần sửa lại
Trả lờiXóa1. Điều kiện là while (a mod b<>0) do
2. lệnh end; kết thúc câu lệnh ghép phải để sau câu lệnh writeln(‘ko phai so nguyen to’);
Dạ thầy ơi sao em sao chép từ pascal qua bình luận không được ạ
Trả lờiXóaem phải mở bài làm bằng notpage, rồi mới coppy qua được
Trả lờiXóaprogram So_hat_thoc;
Trả lờiXóauses crt;
var
a,b,c,d:longint;
begin
readln(c);
a:=1;
b:=1;
d:=1;
while d<=64 do
begin
d:=d+1;
a:=a*2;
b:=b+a;
if d=c then
writeln(b);
end;
readln
end.
Rất tốt (10đ). Nhưng không cần câu lệnh if d=c then writeln(b);. Em chỉ cần in b sau khi kết thúc vòng while..do
Xóaprogram Ktra_so_ngto;
Trả lờiXóauses crt;
var
a,b:longint;
begin
write('nhap a=');
readln(a);
b:=2;
while (a mod b<>0)and(a>=2) do
b:=b+1;
if a=b then
writeln('day la so nguyen to')
else writeln('ko phai so nguyen to');
readln
end.
Rất tốt 10đ
XóaNhận xét này đã bị quản trị viên blog xóa.
Trả lờiXóa10 đ
Trả lờiXóavar
Trả lờiXóaa,n,d,s:longint;
begin
write('nhap n=');readln(n);
d:=0;s:=0;
while n>0 do
begin
a:=n mod 10;
n:=n div 10;
if a mod 2=0 then
d:=d+1;
if a mod 2<>0 then
s:=s+1;
end;
writeln('so chan=',d,',so le=',s);
readln;
end.
10 đ
Trả lờiXóaNhận xét này đã bị quản trị viên blog xóa.
Trả lờiXóaquá tốt. 10đ
Trả lờiXóaNhận xét này đã bị tác giả xóa.
Trả lờiXóaProgram khoa_85;
Trả lờiXóaVar
A,b,n:integer ;
Begin
Writeln(‘nhap so n’);
Readln(n);
B:=0;
While n<>o do
Begin
A:=n mod 10;
B:=b*10+a;
N:=n div 10;
End;
Write(b);
Readln;
End.
Nhận xét này đã bị quản trị viên blog xóa.
Trả lờiXóarất tốt. 10 đ
XóaSố chính phương
Trả lờiXóavar
i,n,d:longint;
begin
write('nhap n=');readln(n);
d:=0;
for i:=1 to n do
if i*i=n then
d:=d+1;
if d=1 then
writeln('so chinh phuong')
else
writeln('khong la so chinh phuong');
readln;
end.
Hoặc em đổi vòng lặp for thành
Xóafor i:=1 to n div 2 do
Cách này nhanh hơn thì phải. Em thấy cả 2 cách đều đúng
ok. Em đã làm đúng. nhưng nhanh hơn thì ko
Xóa{ucln:}
Trả lờiXóauses crt;
function ucln(a,b:longint):longint;
var c,d:longint;
begin
c:=0;
d:=0;
while c<>d do
begin
if c>d then c:=c-d
else d:=d-c;
end;
ucln:=c;
end;
var n,s:longint;
begin
readln(n);
readln(s);
writeln(ucln(n,s));
readln
end.
ai rồi nhé phải như sau:
Xóafunction ucln(c,d:longint):longint;
begin
while c<>d do
begin
if c>d then c:=c-d
else d:=d-c;
end;
ucln:=c;
end;
Trả lờiXóaa,b:longint;
function ucln(c,d:longint):longint;
begin
while c<>d do
begin
if c>d then c:=c-d;
if d>c then d:=d-c;
end;
ucln:=c;
end;
begin
readln(a);
readln(b);
writeln(ucln(a,b));
readln
end.
đúng rồi đó em.
Xóatổng các số từ 1 đến n
Trả lờiXóauses crt;
var a,b,c,d,e:longint;
begin
readln(a);
for b:=1 to a do
begin
if b<10 then
c:=b+c;
e:=b;
if b>=10 then
begin
d:=e mod 10;
e:=e div 10;
c:=c+d+e;
end;
end;
writeln(c);
readln
end.
uses crt;
Trả lờiXóavar
a,b,c,d,f:longint;
begin
readln(a);
b:=1;
while (b<10)and(b<=a) do
begin
c:=c+b;
b:=b+1;
end;
while (b>=10)and(b<=a) do
begin
f:=b;
while f>0 do
begin
d:=f mod 10;
f:=f div 10;
c:=c+d;
end;
b:=b+1;
end;
write(c);
readln
end.
cau 6
Trả lờiXóavar
a,b,c,n:integer;
begin
b:=0;
c:=0;
writeln('nhap n');readln(n);
while n>0 do
begin
a:=n mod 10;
n:=n div 10;
if a mod 2=0 then b:=b+1 else c:=c+1;
end;
writeln('so chan',b);
writeln('so le',c);
readln;
end.