Bài t p pascal c b n dành cho hs-svậ ơ ả
thi t k b i: Vũ Đ c Quangế ế ở ứ
Bài 1:
Vi t ch ng trình nh p vào 1 s N nguyên d ng và in ra màn hình các s ch n tế ươ ậ ố ươ ỗ ẵ ừ
0N m i s chi m 4 v trí và 15 s trên 1 dòng.ỗ ố ế ị ố
L i gi i:ờ ả
uses crt; {khai bao' thu vien crt}
var n,i,dem:integer;
BEGIN
clrscr;{ cau lenh xoa man hinh};
write('Nhap n: ');readln(n);
dem:=0;
for i:=1 to n do
begin
if i mod 2=0 then
begin
write(i:4);
dem:=dem+1;
end;
if dem=15 then
begin
dem:=0;
writeln;{in duoc 15 so thi xuong dong};
end;
end;
readln
END.
Bài 2:
Nh p vào 2 s nguyên d ng a và b.ậ ố ươ
+ Tính và in ra màn hình t ng, hi u, tích, th ng và UCLN c a 2 s đóổ ệ ươ ủ ố
var a,b,c,cv,dt,p:real;
BEGIN
clrscr;
write('Nhap do dai canh a: ');readln(a);
write('Nhap do dai canh b: ');readln(b);
write('Nhap do dai canh c: ');readln(c);
cv:=a+b+c;
p:=(a+b+c)/2;
dt:=sqrt(p*(p-a)*(p-b)*(p-c));
writeln('Chu vi tam giac la: ',cv:0:4);
writeln('Dien tich tam giac la: ',dt:0:4);
writeln('Duong cao canh thu 1 la: ',dt*2/a:0:4);
writeln('Duong cao canh thu 2 la: ',dt*2/b:0:4);
writeln('Duong cao canh thu 3 la: ',dt*2/c:0:4);
if (a=b) or (a=c) or(b=c) then writeln('Tam giac can');
if (a*a=b*b+c*c) or (b*b=a*a+c*c) or (c*c=b*b+a*a)then
writeln('Tam giac vuong');
readln
END.
Bài 4:
L p trình gi i ph ng trình b c 2:ậ ả ươ ậ
L i gi i:ờ ả
uses crt;
var a,b,c,x1,x2,d:real;
BEGIN
clrscr;
write('Nhap a: ');readln(a);
write('Nhap b: ');readln(b);
write('Nhap c: ');readln(c);
d:=b*b-4*a*c;
ok:=true;
for i:=2 to trunc(sqrt(n)) do
if n mod i=0 then ok:=false;
if ok then writeln('So ',n,' la so nguyen to')
else writeln('So ',n,' khong la so nguyen to');
end;
readln
END.
Có th thay câu l nh l p “for i:=2 to trunc(sqrt(n)) do” b ng câu l nh while do khi đóể ệ ặ ằ ệ
ta không c n bi n ok n a.ầ ế ữ
Bài 6:
Nh p n,a hãy tính căn b c n c a a:ậ ậ ủ
L i gi i:ờ ả
uses crt;
var n:integer;a,s:real;
BEGIN
clrscr;
write('Nhap a: ');readln(a);
repeat
write('Nhap n: ');readln(n);
until (n>0);
if (n mod 2=0) and (a>=0) then
begin
s:=exp(1/n*ln(a));
writeln('Ket qua la: ',s:0:4);
end
else if (n mod 2<>0) then
begin
s:=exp(1/n*ln(abs(a)));
writeln('Ket qua la: ',s:0:4);
begin
tg:=a;
a:=b;
b:=tg;
end;
writeln(a,' ',b);
readln
END.
Bài 9:
Nh p s nguyên d ng n in ra t ng các s nguyên d ng là b i c a 3 ho c 5 t 1ậ ố ươ ổ ố ươ ộ ủ ặ ừ n
L i gi i:ờ ả
uses crt;
var n,tong,i:integer;
BEGIN
clrscr;
write('Nhap so nguyen duong n: ');readln(n);
tong:=0;
for i:=1 to n do
if (i mod 3=0) or (i mod 5=0) then
tong:=tong+i;
writeln('Tong cac so chia het cho 3 hoac 5 tu 0 > ',n,' la: ',tong);
readln
END.
Bài 10:
Nh p n in ra t ng các ch s c a n:ậ ổ ữ ố ủ
L i gi i:ờ ả
uses crt;
var n,m:longint;tong:byte;
BEGIN
clrscr;
readln
END.
Bài 12:
S hoàn h o là s mà có t ng các c c a nó không k nó b ng chính nó.ố ả ố ổ ướ ủ ể ằ
VD: s 28 có các c là: 1 2 4 7 14ố ướ
s 6 có các c là: 1 2 3ố ướ
L p trình nh p vào 1 s nguyên d ng n và ki m tra xem s đó có là s hoàn h oậ ậ ố ươ ể ố ố ả
không?
L i gi i:ờ ả
uses crt;
var n:longint;tong,i:integer;
BEGIN
clrscr;
write('Nhap so nguyen duong n: ');readln(n);
tong:=0;
for i:=1 to n div 2 do
if n mod i=0 then tong:=tong+i;
if tong=n then writeln(n,' la so hoan hao')
else writeln(n,'khong la so hoan hao');
readln
END.
Bài 13:
S chính ph ng là s có căn b c 2 là 1 s nguyên.ố ươ ố ậ ố
VD s 9 là s chính ph ng vì căn b c 2 c a 9 b ng 3.ố ố ươ ậ ủ ằ
L p trình nh p 1 s nguyên d ng n t bàn phím ki m tra xem s đó có là s chínhậ ậ ố ươ ừ ể ố ố
ph ng không?ươ
L i gi i:ờ ả
uses crt;
var n:longint;
BEGIN
L i gi i:ờ ả
uses crt;
var cho:byte;
BEGIN
clrscr;
for cho:=1 to 25 do
if 4*cho+(36-cho)*2=100 then
writeln('So ga la: ',36-cho,' so cho la: ',cho);
readln
END.
Bài 16:
Nh p 1 s nguyên d ng n <1000 cho bi t có bao nhiêu s nguyên t t 0ậ ố ươ ế ố ố ừ n
L i gi i:ờ ả
uses crt;
var n,i,j,dem:integer;
BEGIN
clrscr;
write('Nhap so nguyen duong n: ');readln(n);
dem:=0;
for i:=2 to n do
begin
j:=2;
while ((j<=trunc(sqrt(i))) and (i mod j<>0)) do
j:=j+1;
if j>trunc(sqrt(i)) then dem:=dem+1;
end;
writeln('So luong so nguyen to trong khoang tu 0 >',n,' la: ',dem);
readln
END.
Bài 17:
i-2
. (v i m i i>1).ớ ọ
L i gi iờ ả
uses crt;
var f,ft,ftn,tong:longint;n,i:integer;
BEGIN
clrscr;
write('Nhap n: ');readln(n);
ft:=1;ftn:=1;tong:=2;
for i:=2 to n do
begin
f:=ft+ftn;
tong:=tong+f;
ftn:=ft;
ft:=f;
end;
writeln('Tong n so hang dau day fibolaci la: ',tong);
readln
END.
Có th bi n đ i đ bài c a bài toán đi nh : tính s phibonaci th n ho c nh p vào 1 sể ế ổ ề ủ ư ố ứ ặ ậ ố
ki m tra xem s đó có ph i là s phibonaci hay không…Các bài đó làm t ng t .ể ố ả ố ươ ự
Bài 19:
Nh p s nguyên d ng n l p ch ng trình tính:ậ ố ươ ậ ươ
S1= 1+3+5+7+…+(2*n+1)
L i gi i:ờ ả
uses crt;
var i,n,s1:integer;
BEGIN
clrscr;
write('Nhap n: ');readln(n);
n
m
= (n(n-1)…(n-m+1))/m! (T h pổ ợ
ch p m c a n)ậ ủ
L i gi i:ờ ả
uses crt;
var i,m,n,tu,mau:integer;
s3:longint;
BEGIN
clrscr;
repeat
write('Nhap n: ');readln(n);
until n>0;
repeat
write('Nhap m: ');readln(m);
until (m<=n) and (m>0);
tu:=1;mau:=1;
for i:=n-m+1 to n do
tu:=tu*i;
for i:=2 to m do
mau:=mau*i;
s3:= tu div mau;
writeln('to hop chap ',m,' cua ',n,' la: ',s3);
readln
END.
Bài 22:
Nh p s th c d ng e(e<0.01) r i tính t ngậ ố ự ươ ồ ổ
S4=1+1/2
2
+1/3
uses crt;
var s5,e:real;i:integer;
BEGIN
clrscr;
repeat
write('Nhap so thuc duong e<0.01: ');
readln(e);
until (e>0) and (e<0.01);
s5:=1;i:=1;
while 1/(2*i+1)>e do
begin
if i mod 2=0 then s5:=s5+1/(2*i+1) else s5:=s5-1/(2*i+1);
i:=i+1;
end;
writeln('ket qua la: ',s5:0:4);
readln
END.
Bài 24:
L p ch ng trình đ nh p vào 4 dãy s aậ ươ ể ậ ố
1
, ,a
n
;b
1
,…b
n
;c
1
,…,c
n
)
L i gi i:ờ ả
uses crt;
var a,b,c,d:array[1 1000]of integer;
n,max,min,i:integer;
BEGIN
clrscr;
write('Nhap n: ');readln(n);
for i:=1 to n do
begin
write('Nhap A[',i,']: ');
readln(a[i]);
write('Nhap B[',i,']: ');
readln(b[i]);
write('Nhap C[',i,']: ');
readln(c[i]);
write('Nhap D[',i,']: ');
readln(d[i]);
end;
for i:=1 to n do
begin
write(a[i],' ',b[i],' ',c[i],' ',d[i],' ');
max:=a[i];min:=a[i];
if b[i]>max then max:=b[i];
if c[i]>max then max:=c[i];
if d[i]>max then max:=d[i];
write(max,' ');
if b[i]<min then min:=b[i];
if c[i]<min then min:=c[i];
if d[i]<min then min:=d[i];
END.
Bài 26:
Nh p s nguyên d ng n và dãy s aậ ố ươ ố
1
,a
2
,…,a
n
hãy in ra max, min dãy đó
L i gi i:ờ ả
uses crt;
var n,i,max,min:integer;
a:array[1 1000] of integer;
BEGIN
clrscr;
repeat
write('Nhap so nguyen duong n: ');
readln(n);
until (n>0) and (n<=1000);
for i:=1 to n do
begin
write('Nhap A[',i,']: ');
readln(a[i]);
end;
max:=a[1];min:=a[1];
for i:=2 to n do
begin
if a[i]>max then max:=a[i];
if a[i]<min then min:=a[i];
end;
begin
tg:=a[i];
a[i]:=a[j];
a[j]:=tg;
end;
writeln('Day sau khi duoc sap xep la: ');
for i:=1 to n do
write(a[i]:4);
readln
END.
T ng t v i bài s p x p v i dãy gi m d n.ươ ự ớ ắ ế ớ ả ầ
Bài 28:
Cho 2 dãy s aố
1
, ,a
n
; b
1
, ,b
m
. đã đ c s p x p theo th t tăng d n. L p trình đ t 2ượ ắ ế ứ ự ầ ậ ể ừ
dãy trên xây d ng 1 dãy m i cũng theo th t tăng d n.ự ớ ứ ự ầ
L i gi i:ờ ả
Bài 29:
Nh p s nguyên d ng n và dãy s aậ ố ươ ố
1
,a
2
,…,a
n