Dù là ngôn ngữ khá cũ, ít sử dụng hơn nhưng khi bạn nắm chắc kiến thức về ngôn ngữ Pascal, bạn sẽ tiếp cận và làm việc với ngôn ngữ lập trình C dễ dàng, hiệu quả hơn. Do đó, việc bổ sung kiến thức về Pascal cung như cập nhật các bài tập Pascal từ đơn giản tới nâng cao có lời giản là điều rất cần thiết nếu như bạn muốn học trình C hiệu quả. Sau đây là 20 bài tập Pascal có lời giải, các bạn cùng tham khảo.
Tổng hợp bài tập Pascal nâng cao, đơn giản.
Bài 1: In số chẵn ra màn hình.
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 N, sao cho mỗi số chiếm 4 vị trí và 1 dòng có 15 số.
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: Tính, in tổng, hiệu, tích, thương của 2 số
Nhập 2 số nguyên dương a và b. Sau đó:
Tính và in ra màn hình tổng, hiệu, tích thương và ước chung lớn nhất 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: Kiểm tra xem tam giác có cân, vuông không
Viết chương trình nhập vào độ dài các cạnh của tam giác rồi tính chu vi, diện tích, 3 đường cao của tam giác. Kiểm tra xem tam giác đó có phải là tam giác cân hay tam giá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: Giải phương trình bậc 2
Viết chương 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: Kiểm tra số chẵn lẻ, nguyên tố, hoàn hảo
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 ',n,' la: ',tong];
readln
END.
Bài 10: In tổng các chữ số của một số
Nhập n bất kỳ sau đó 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: Kiểm tra số nguyên tố
Nhập vào một số n bất kỳ và kiểm tra xem n có phải là số nguyên tố không.
Code mẫu:
uses crt;
var n,i:integer;
BEGIN
clrscr;
write['Nhap so nguyen duong n: '];
readln[n];
if n10 va