Học Sinh : Trần Quang Linh
Lớp A13
Phổ Thông Triệu Sơn
D. Cấu Trúc Lặp
Bài 1+Bài 2:
Tính n!, với n là một số nguyên dương.
Nhập n:4
4!=24
Bài Làm:
program it_linh;
uses crt;
var n,i:integer;
s:real;
begin
writeln('nhap so can tinh giai thua ');
readln(n);
s:=1;
for i:=1 to n do s:=s*i;
writeln('ket qua ',n,'!=' ,s:9:0);
readln
end.
Bài 3 tìm các ước của 1 số nguyên dương .
Nhập số nguyên dương 6
Các ước của 6 là 1 2 3 6
Bài Làm :
program it_linh;
uses crt;
var n,i:integer;
begin
clrscr;
writeln('nhap so can tinh uoc ');
readln(n);
write('cac uoc cua ', n ,' la :');
for i:=1 to n do
if n mod i=0 then write('',i:6);
readln
end.
Bài 4 .Bài toán xếp tiền kết hợp 100đ,200đ,500đ để tạo ra 10000đ
Bài làm :
program it_linh;
uses crt;
var a,b,c,d,i,j,k,p:integer;
begin
clrscr;
p:=1;
writeln('nhap so 100 ');
readln(a);
writeln('nhap so 200 ');
readln(b);
writeln('nhap so 500 ');
readln(c);
writeln('nhap so 10000 ');
readln(d);
for i:=0 to 100 do
begin
for j:=0 to 50 do
begin
for k:=0 to 20 do
if a*i+b*j+c*k=d then
delay(1);
writeln ( 'phuong an thu', p , ' : ',i ,' ', j ,' ', k );
p:=p+1;
end;
end;
readln
end.
Bài 7 .kiểm tra xem đây có phải số nguyên tố hay không
Bài làm :
program it_linh;
uses crt;
var a,i:integer;
begin
clrscr;
writeln('nhap so ');
readln(a);
i:=2;
while (a mod i<>0) do i:=i+1;
if i=a then writeln(a ,' la so nguyen to ')
else writeln(a ,' khong phai so nguyen to ');
readln
end.
Bài 8 .kiểm tra xem đây có phải số nguyên tố hay không nếu không phải chứng minh
thành tích.
Bài làm:
program it_linh;
uses crt;
var a,i,c:integer;
begin
writeln('nhap so ');
readln(a);
i:=2;
while (a mod i<>0) do i:=i+1;
if i=a then writeln(a ,' la so nguyen to ')
else
begin
writeln(a,' khong phai so nguyen to vi co nhieu hon hai uoc');
write('cac uoc do la :');
for i:=2 to a do
if a mod i=0 then write('',i:6);
end;
readln
end.
Bài 9. Tìm các số nguyên tố nhỏ hơn số cho trước.
Bài làm:
program it_linh;
uses crt;
var i,a:integer;
begin
clrscr;
writeln('nhap so vao may tinh');
readln(a);
write('so nguyen to nho hon ' , a , ' la :');
for a:=a-1 downto 2 do
begin
i:=2;
while a mod i <>0 do i:=i+1;
if a=i then write(' ' ,a, ' ');
end;
readln
end.
Bài 10 kiểm tra xem đây có phải số chính phương không.
Bài làm :
program it_linh;
uses crt;
var a,i:longint;
begin
clrscr;
writeln('nhap so can xac dinh');
readln(a);
i:=trunc(sqrt(a));
if sqr(i)=a then writeln('day la so chinh phuong vi la tich cua',i,'*',i)
else writeln('day khong phai so chinh phuong');
readln
end.
Bài 11. chứng minh 1 số là số hoàn hảo khi tổng các ước bằng 2 lần chính nó.
Bài làm :
program it_linh;
uses crt;
var n,i,c,d:integer;
begin
clrscr;
writeln('nhap vao 1 so bat ki');
readln(n);
for i:=1 to n-1 do
if n mod i=0 then c:=i+i;
d:=c;
if d=n then writeln('day la so hoan hao')
else writeln('day khong phai so hoan hao');
readln
end.
Bài 12 . đếm tất cả số chữ số được nhập vào
Nhập số 12548
Số chữ số là 5
Bài làm:
program it_linh;
uses crt;
var a,n:longint;
begin
clrscr;
writeln('nhap so can dem');
readln(n);
begin
while n>0 do
begin
n:=n div 10;
a:=a+1;
end;
end;
writeln('so chu so la : ',a);
readln
end.
Bài 13 hiển thị các chữ số của số tự nhiên n theo thứ tự từ phải sang trái .
Nhập :1234
Các chữ số là :4 3 2 1
Bài làm:
program it_linh;
uses crt;
var n,a,i:longint;
b: array[1..100] of integer;
begin
clrscr;
writeln('nhap so bat ki khac 0:');
readln(n);
i:=0;
while n>=1 do
begin
i:=i+1;
n:=n div 10;
a:=n;
a:=a mod 10;
if a >= 0 then
write( ' ' , a);
end;
readln
end.
Bài 17.Tìm ước chung và bội chung của hai số nguyên dương a, b.
Bài làm:
program it_linh;
uses crt;
var x,y,m:integer;
begin
clrscr;
writeln('nhap hai co can tinh UCLN va BCNN :');
readln(x,y);
m:=x*y;
repeat
if x > y then x:=x-y
else y:=y-x;
until x = y;
writeln(' UCLN la : ',x);
writeln(' BCNN la : ',trunc(m/x));
readln
end.
Bài 23: In ra bảng cửu chương từ 5 đến 9.
Bài làm:
program it_linh;
uses crt;
var i,j:integer;
begin
clrscr;
for i:=5 to 9 do
begin
for j:=1 to 10 do
writeln (i,' x ',j, '=' ,i*j ,'');
delay(3000); { dừng 3 giây rồi tiếp tục}
end;
readln
end.
Bài 24. Vẽ hình chữ nhật đặc kích thước m x n bằng các dấu ‘ * ’.
N là rộng.
M là dài.
Bài làm :
program ve_hinh;
uses crt;
var a,b,i,j:integer;
begin
writeln('nhap chieu dai va rong');
readln(a,b);
for i:=1 to b do
begin
for j:=1 to a do
write('*');
writeln;
end;
readln
end.
Bài 29 liệt kê tất cả các số Fibonacci nhỏ hơn hoặc bằng số tự nhiên n.
Bài làm:
program FIBONACII;
uses crt;
var a,i,f1,f2:integer;
begin
clrscr;
writeln(' nhap so can lay FIBONACCI nho hon');
readln(a);
f1:=0;
f2:=1;
for i:=1 to a do
begin
f2:=f1+f2;
f1:=f2-f1;
if f1
end;
readln
end.
Bài 30 tính sin của 1 số tính theo độ. chính xác 0.01
Bài làm:
program Sin_X;
uses crt;
var b:real;
a:integer;
begin
clrscr;
writeln('nhap so can tinh sin ');
readln(a);
b:=sin((a/180)*pi);
writeln(' sin(',0,') = ',b:9:1);
readln
end.
Bài 31 tính cos của 1 số tính theo độ. chính xác 0.01
Bài làm:
program Sin_X;
uses crt;
var b:real;
a:integer;
begin
clrscr;
writeln('nhap so can tinh cos ');
readln(a);
b:=cos((a/180)*pi);
writeln(' cos(',a,') = ',b:9:1);
readln
end.
Bài 32 tính pi với độ chính xác đến chữ số thập phân nhập vào từ bàn phím .
Bài làm:
program it_linh;
uses crt;
var b:real;
a:integer;
begin
clrscr;
writeln('nhap so can lay sau dau phay cua pi ');
readln(a);
b:=pi;
writeln(a,'PI =',b:a:a);
readln
end.