You are on page 1of 5

Lời giải các bài tập Pascal trên lớp

Bài tập Pascal trên lớp đây, up lên cho mọi ngừoi tham khảo.

Tínhh căn bậc n của x

program can_bac_n_cua_x;
uses CRT;
var x,s:real;
n:word;
Begin
clrscr;
Writeln('Tinh can bac n cua x');
Write('Nhap n:'); readln(n);
Write('Nhap x:'); readln(x);
s:=exp((1/n)*ln(x));
Writeln('Can bac ',n,' cua ',x:0:2, 'la: ',s:0:2);
Readln;
End.

Bài 2: Viết chương trình tính lực hút giữa 2 vật m1, m2 cách nhau 1 đoạn là d
(đv CGS)

Program Tinh_luc_hut;
var m1,m2,d,F:real;
Begin
Write('Nhap khoi luong m1 (dv gam): ');readln(m1);
write('Nhap khoi luong m2 (dv gam): ');readln(m2);
write('Nhap khoang cach d (dv Cm): ');readln(d);
F:=(6.67*m1*m2)/(100000000*SQR(d));
writeln('Luc hut giua m1 va m2 la: ',F, '(CGS)');
readln;
end.

Bài 3: Nhập 2 số nguyên dương a, b. Sau đó tính a mũ b.

Program a_MU_b;
var a,b,i,S:integer;
Begin
write('Nhap so a: ');readln(a);
write('Nhap so b: ');readln(b);
S:=1;
for i:=1 to b do
S:=S*a;
writeln(a,' mu ',b,' la: ',S);
readln;
end.

Bài 4: Nhập 1 số N, đếm từ 1 đến N xem có bao nhiêu số chia hết cho 7.
Program Dem_So_Chia_7;
var N,i,dem:integer;
Begin
Write('Nhap vao so nguyen N: '); readln(N);
dem:=0;
for i:=1 to N do
if i mod 7=0 then
dem:=dem+1;
Write('Tu 1 den ',n,' co ',dem,' so chia het cho 7');
readln;
end.

Bài 5: Nhập vào 1 số nguyên N, In ra màn hình tất cả các ước của N là số
chẵn.

Program uoc_N_chia_het_cho_2;
var N,i:integer;
Begin
Write('Nhap vao so nguyen N: '); readln(N);
Write('Cac uoc cua N chia het cho 2 la: ');
for i:=1 to N do
if N mod i=0 then
if i mod 2=0 then
Write(i:5);
readln;
end.

Bài 6: Nhập vào 1 dãy số, in ra màn hình các số chẵn theo thứ tự giảm dần.

Program So_Chan_Thu_Tu_Giam;
Type Mang=array[1..100] of integer;
var A:mang;
N,i,j,giam:integer;
Begin
Write('Ban muon nhap bao nhieu so?: ');readln(N);
for i:=1 to N do
begin
write('A[',i,']=');readln(A[i]);
end;
writeln('Cac so chan ban nhap theo thu tu giam:');
For i:=1 to N-1 do
For j:=i+1 to N do
if A[i]<A[j] then
begin
giam:=A[i];
A[i]:=A[j];
A[j]:=giam;
end;
For i:=1 to N do
if A[i] mod 2=0 then
write(A[i]:5);
readln;
end.

Bài 7: Nhập vào 1 dãy số, in ra các số lẻ theo thứ tự tăng dần

Program So_le_Thu_Tu_tang;
Type Mang=array[1..100] of integer;
var A:mang;
N,i,j,tang:integer;
Begin
Write('Ban muon nhap bao nhieu so?: ');readln(N);
for i:=1 to N do
begin
write('A[',i,']=');readln(A[i]);
end;
writeln('Cac so le ban nhap theo thu tu giam:');
For i:=1 to N-1 do
For j:=i+1 to N do
if A[i]>A[j] then
begin
tang:=A[i];
A[i]:=A[j];
A[j]:=tang;
end;
For i:=1 to N do
if A[i] mod 2<>0 then
write(A[i]:5);
readln;
end.

bài 8: Nhập 3 số tìm bội số chung nhỏ nhất.

Cách 1: (bài này Ngọc Quang làm, Minhson đã sửa chữa lại 1 tí, loại bỏ
trường hợp nhập vào số 0 (nếu nhạp số 0 dễ đứng máy).

program bcnn;
var
x,y,z,l,m,n,k,bs,b:integer;
begin
repeat
writeln('nhap vao 3 so m,n,k:');
readln(m,n,k);
if (m=0) or (n=0) or (k=0) then
writeln('Xin vui long khong nhap lai (khong nhap so 0)');
until (m<>0) and (n<>0) and (k<>0);
x:=m;
y:=n;
repeat
if x>y then x:=x-y
else
y:=y-x;
until x=y;
b:=m*(n div x);
z:=b;
l:=k;
repeat
if z>l then z:=z-l
else
l:=l-z;
until z=l;
bs:=b*(k div z);
writeln('BCNN=',bs);
readln;
end.

Cách 2: (bài này Vi Thảo làm, Minhson đã sửa chữa lại 1 tí, loại bỏ trường hợp
nhập vào số 0 (nếu nhạp số 0 dễ đứng máy).

program BSCNN;
var
a,b,c,d,e,r,i:integer;
begin
write('a,b,c = '); readln(a,b,c);
if (a=0) or (b=0) or (c=0) then
writeln('Xin vui long khong nhap lai (khong nhap so 0)');
until (a<>0) and (b<>0) and (c<>0);
d:=a;
e:=b;
write('bscnn(',a,',',b,',',c,')=');
i:=2;
while (b<>0) do
begin
r:=a mod b;
a:=b;
b:=r;
if(b=0) and (i<>3) then
begin
i:=3;
d:=d*e div a;
a:=d;
b:=c;
end;
end;
write(d*c div a);
readln;
end.
Nguồn: http://vatly06.info/@forum/tin-hoc-trong-vat-ly/270-loi-giai-cac-bai-
tap-pascal-tren-lop.html#ixzz1GRgnIVIb

You might also like