Tải bản đầy đủ (.pdf) (15 trang)

Bài tập pascal cơ bản dành cho hs-sv pps

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (78.91 KB, 15 trang )

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ế ươ ậ ố ươ ỗ ẵ ừ
0N 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 đóổ ệ ươ ủ ố


+ Tính t ng các c s d ng c a |a+b|ổ ướ ố ươ ủ
L i gi i:ờ ả
uses crt;
var a,b,tg,i,tong:integer;
function tinh(x,y:integer):integer;
begin
tg:= x mod y;
if tg=0 then tinh:=y else tinh:=tinh(y,tg);
end;
BEGIN
clrscr;
write('Nhap a: ');readln(a);
write('Nhap b: ');readln(b);
tong:=1;
for i:=2 to abs(a+b) do
if (abs(a+b) mod i =0) then tong:=tong+i;
writeln('Tong 2 so la: ',a+b);
writeln('Hieu 2 so la: ',a-b);
writeln('Tich 2 so la: ',a*b);
writeln('Thuong 2 so la: ',a/b:0:4);
writeln('UCLN 2 so la: ',tinh(a,b));
writeln('Tong cac uoc cua ',a+b,' la: ',tong);
readln
END.
Bài 3:
L p ch ng trình nh p vào đ dài các c nh c a tam giác r i th c hi n :ậ ươ ậ ộ ạ ủ ồ ự ệ
+ Tính chu vi, di n tích, 3 đ ng cao c a tam giác.ệ ườ ủ
+ Ki m tra xem tam giác đó có là tam giác cân ho c vuông không?ể ặ
L i gi i:ờ ả
uses crt;

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;

if d>0 then
begin
x1:=(-b+sqrt(d))/(2*a);
x2:=(-b-sqrt(d))/(2*a);
writeln('2 nghiem PT la: ',x1:0:2,' va: ',x2:0:2);
end
else if d=0 then
begin
x1:=(-b)/(2*a);
writeln('PT co nghiem kep la: ',x1:0:2);
end
else writeln('PT vo nghiem');
readln
END.
B à i 5:
Nhập vào 1 số nguyên gồm 4 chữ số
-Kiểm tra tình chắn lể
-kiểm tra xem có phải là số nguyên tố không
-kiểm tra xem có phải là số hoàn hảo không
L i gi i:ờ ả
uses crt;
var n,i:integer;ok:boolean;
BEGIN
clrscr;
write('Nhap n: ');readln(n);
if n mod 2=0 then writeln('So ',n,' la so chan')
else writeln('So ',n,' la so le');
if n<2 then write('So ',n,' khong la so nguyen to')
else
begin

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);

end
else writeln('Khong xac dinh');
readln
END.
Bài 7:
Nh p s có 3 ch s tính t ng các ch s c a nó:ậ ố ữ ố ổ ữ ố ủ
L i gi i:ờ ả
uses crt;
var a:integer;tong:byte;
BEGIN
clrscr;
write('Nhap 1 so co 3 chu so: ');readln(a);
tong:= a mod 10;
a:=a div 10;
tong:=tong+a mod 10;
a:=a div 10;
tong:=tong+a mod 10;
writeln('Tong cac chu so do la: ',tong);
readln
END.
Bài 8:
Nh p 2 s nguyên, hoán v 2 s đó khi a>bậ ố ị ố
L i gi i:ờ ả
uses crt;
var a,b,tg:integer;
BEGIN
clrscr;
write('Nhap a: ');readln(a);
write('Nhap b: ');readln(b);
if a>b then

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;

write('Nhap n: ');readln(n);
tong:=0;m:=n;
while m>0 do
begin
tong:=tong+m mod 10;
m:=m div 10;
end;
writeln('Tong cac chu so cua ',n,' la: ',tong);
readln
END.
Bài 11:
S nguyên t là s nguyên d ng ch chia h t cho 1 và chính nó, ngo i tr 0 và 1.ố ố ố ươ ỉ ế ạ ừ
L p trình nh p vào 1 s nguyên d ng n và ki m tra xem nó có ph i là s nguyên tậ ậ ố ươ ể ả ố ố
không?
L i gi i:ờ ả
uses crt;
var n,i:integer;
BEGIN
clrscr;
write('Nhap so nguyen duong n: ');
readln(n);
if n<2 then writeln(n,' khong la so nguyen to')
else
begin
i:=2;
while ((i<=trunc(sqrt(n))) and (n mod i<>0)) do
i:=i+1;
if i>trunc(sqrt(n)) then writeln(n,' la so nguyen to')
else writeln(n,' khong la so nguyen to');
end;

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

clrscr;
write('Nhap so nguyen duong n: ');readln(n);
if sqrt(n)=trunc(sqrt(n)) then writeln(n,' la so chinh phuong')
else writeln(n,' khong la so chinh phuong');
readln
END.
Bài 14:
Nh p vào 1 xâu kí t và cho bi t xâu v a nh p vào có bao nhiêu nguyên âm và baoậ ự ế ừ ậ
nhiêu kí t s .ự ố
L i gi i:ờ ả
uses crt;
var s:string;dem1,dem2,i:byte;
BEGIN
clrscr;
write('Nhap 1 xau: ');readln(s);
dem1:=0;dem2:=0;
for i:=1 to length(s) do
begin
if s[i] in ['a','e','i','o','u','y','A','E','I','O','U','Y'] then dem1:=dem1+1;
if s[i] in ['0','1','2','3','4','5','6','7','8','9'] then dem2:=dem2+1;
end;
writeln('Trong xau ',s,' co ',dem1,' nguyen am va co ',dem2,' ki tu so');
readln
END.
Bài 15:
L p trình gi i bài toán c sauậ ả ố
V a gà v a chóừ ừ
Bó l i cho tròn ạ
Ba m oi sáu conư
M t trăm chân ch nộ ẵ

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:

Nh p 1 s n ki m tra tính ch n l , xem s đó có chia h t cho 3 không,t ng các ch sậ ố ể ẵ ẻ ố ế ổ ữ ố
c a nó có là b i c a 6 khôngủ ộ ủ
L i gi i:ờ ả
uses crt;
var n,m,tong:integer;
BEGIN
clrscr;
write('Nhap n: ');readln(n);
if n mod 3=0 then writeln(n,' chia het cho 3')
else writeln(n,' khong chia het cho 3');
m:=n;tong:=0;
while m>0 do
begin
tong:=tong+m mod 10;
m:=m div 10;
end;
if tong mod 6=0 then writeln('Tong cac chu so cua ',n,' la ',tong,' chia het cho 6')
else writeln('Tong cac chu so cua ',n,' la ',tong,' khong chia het cho 6');
readln
END.
Bài 18:
Tính t ng n s phibonaci: Fổ ố
0
=F
1
=1;F
i
=F
i-1
+F

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);

s1:=0;
for i:=1 to 2*n+1 do
if i mod 2<>0 then s1:=s1+i;
writeln('Tong S1 la: ',s1);
readln
END.
Bài 20:
Tính S2=1
3
+2
3
+3
3
+…+n
3
trong đó n nh p t bàn phím.ậ ừ
L i gi i:ờ ả
uses crt;
var i,n:integer;s2:longint;
BEGIN
clrscr;
write('Nhap so n: ');readln(n);
s2:=0;
for i:=1 to n do
s2:=s2+i*i*i;
writeln('Tong S2 la: ',s2);
readln
END.
Bài 21:
Nh p 2 s n,m sao cho m<n l p trình tính S3= Cậ ố ậ

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

2
+…+1/n
2
+… (ch ng trình k t thúc khi 1/nươ ế
2
<e)
L i gi i:ờ ả
uses crt;
var s4,e:real;i:integer;
BEGIN
clrscr;
repeat
write('Nhap so thuc duong e<0.01: ');
readln(e);
until (e>0) and (e<0.01);
s4:=0;i:=1;
while 1/(i*i)>e do
begin
s4:=s4+1/(i*i);
i:=i+1;
end;
writeln('Ket qua la: ',s4:0:4);
readln
END.
Bài 23:
Nh p s th c d ng e(e<0.01) r i tính t ngậ ố ự ươ ồ ổ
S5= 1- 1/3+1/5-1/7+…+(-1)
n
/(2*n+1) (d ng khi 1/(2*n+1) <e)ừ
L i gi i:ờ ả

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

;d
1
,…,d
n
.
Sau đó in ra k t qu n dòng 6 giá tr theo m u sau:ế ả ị ẫ
A
i
b
i
c
i
d
i
max(a
i
,b
i
,c
i
,d
i
) min(a
i
,b
i
,c
i
,d
i

)
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];

writeln(min);
end;
readln
END.
Bài 25:
Cho các s t nhiên n (khai b o longint), và cho bi t: n có bao nhiêu ch s , t ng cácố ự ả ế ữ ố ổ
ch s c a n và s đ o ng c c a n.ữ ố ủ ố ả ượ ủ
VD: s 123 có 3 ch s , t ng các ch s b ng 6, s đ o ng c là 321ố ữ ố ổ ữ ố ằ ố ả ượ
L i gi i:ờ ả
uses crt;
var m,n:longint;tong,dem:byte;
BEGIN
clrscr;
write('Nhap so n: ');readln(n);
m:=n;dem:=0;tong:=0;
while m>0 do
begin
tong:=tong+ m mod 10;
dem:=dem+1;
m:=m div 10;
end;
writeln(n,' co ',dem,' chu so va tong cac chu so cua ',n,' la: ',tong);
write('So dao nguoc cua ',n,' la: ');
m:=n;
while m>0 do
begin
write(m mod 10);
m:=m div 10;
end;
readln

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;

writeln('Max cua day so la: ',max);
writeln('Min cua day so la: ',min);
readln
END.
Bài 27:
Nh p s nguyên d ng n và dãy s aậ ố ươ ố
1
,a
2
,…,a
n
. Hãy s p x p dãy đó tăng d n và in dãyắ ế ầ
đã đ c s p x p ra màn hình.ượ ắ ế
L i gi i:ờ ả
uses crt;
var n,i,j,tg: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;
for i:=1 to n-1 do
for j:=i+1 to n do
if a[i]>a[j] then

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

.Hãy tính và in ra màn hình t ng các s lổ ố ẻ
trong dãy
L i gi i:ờ ả
Có th làm v i 1 s đ bài t ng t nh : tính t ng các s là s nguyên t trong dãyể ớ ố ề ươ ự ư ổ ố ố ố
ho c t ng các s là s chính ph ng trong dãy ặ ổ ố ố ươ
Bài 30:
L p trình nh p 1 m ng 2 chi u kích th c n*n ph n t , Hãy in ra màn hình m ngậ ậ ả ề ướ ầ ử ả
đ c s p x p theo hình zicz c.ượ ắ ế ắ
VD 1 2 2 4
5 5 6 8
9 10 10 11
L i gi i:ờ ả

×