Hướng dẫn lập trình pascal căn bản

Pascal là 1 ngôn ngữ lập trình đầu tiên để những người muốn theo học lập trình cần nghiên cứu. Ngôn ngữ Pascal sẽ giúp mọi người nhanh chóng làm quen với các câu lệnh, thủ tục cùng 1 số kiến thức cơ bản nhất mà lập trình viên cần phải nắm được. Tổng hợp các bài tập Pascal cơ bản, nâng cao chắc chắn sẽ là 1 cẩm nang không thể bỏ qua với rất nhiều bài toán cơ bản về tháp nước, tính tiền điện, vv mà các em sẽ được học.

Trong tuyển tập các bài tập Pascal này chúng tôi có cung cấp tất cả những bài Pascal từ cơ bản tới nâng cao mà bất cứ ai học ngôn ngữ lập trình Pascal đều sẽ học qua. Ngôn ngữ lập trình Pascal không hề khó, nó chính là bước đầu để mọi người làm quen và dần có được tư duy nhạy bén để làm được những bài tập phức tạp hơn, xa hơn nữa là viết được 1 chương trình đầy đủ với nhiều câu lệnh phức tạp. Mời các bạn tham khảo các bài tập Pascal cơ bản dưới đây.

Một số dạng bài tập Pascal cơ bản

Bài 1: Nhập vào 2 cạnh của một hình chữ nhật. In ra màn hình diện tích và chu vi của nó.

Program HINH_CHU_NHAT;  
Uses Crt;  
Var a,b,s,c: real;  
Begin
Clrscr;  
Writeln(' TINH DIEN TICH & CHU VI HINH CHU NHAT:');  
Writeln('--------------------------------------------------------------');  
Write('Nhap chieu dai='); readln(a);  
Write('Nhap chieu rong=');readln(b);  
s:=a*b;  
c:=(a+b)*2;  
Writeln('Dien tich hinh chu nhat la:',s:6:2);  
Writeln('Chu vi hinh chu nhat:',c:6:2);  
Readln;
End.

Bài 2: Nhập vào bán kính của hình tròn. In ra màn hình diện tích và chu vi của nó.

Program HINHTRON;  
Uses Crt;  
Var r,dt,cv:real;  
Begin
Clrscr;  
Writeln('TINH DIEN TICH & CHU VI HINH TRON:');  
Writeln('------------------------------------------------------');  
Write ('Nhap ban kinh R='); readln(r);  
dt:=pi*r*r;  
cv:=2*pi*r;  
Writeln('Dien tich hinh tron la:',dt:6:2);  
Writeln('Chu vi hinh tron la:',cv:6:2);  
Readln;
End.

Bài 3: Tính tam giác: Nhập vào ba số a,b,c bất kì. Kiểm tra xem nó có thể là độ dài ba cạnh hay không, nếu không thì in ra màn hình 'Khong la ba canh cua mot tam giac'. Ngược lại, thì in diện tích, chu vi của tam giác ra màn hình.

Program TAMGIAC;  
Uses crt;  
Var a,b,c,s,p: real;  
Begin
Clrscr;  
Writeln(‘BAI TOAN TAM GIAC:’);  
Writeln('---------------------------------');  
Write('nhap a =');readln(a);  
Write ('nhap b =');readln(b);  
Write('nhap c =');readln(c);  
If ((a+b)>c)and((b+c)>a)and((a+c)>b) then
Begin
p:=(a+b+c)/2;  
s:=sqrt(p*(p-a)*(p-b)*(p-c));  
Writeln('Chu vi tam giac:',2*p:4:2);  
Writeln('Dien tich tam giac:',s:4:2);
End
Else  
Writeln(a,’, ‘, b,’, ‘, c, ‘ khong phai la ba canh cua tam giac');  
Readln;
End.

Bài 4: Viết chương trình giải phương trình bậc 1 (ax + b = 0)

Program GIAI_PHUONG_TRINH_BAC_NHAT;  
Var a,b,x:real;  
Begin
Clrscr;  
Writeln('GIAI PHUONG TRINH BAC NHAT: AX + B=0');  
Writeln('------------------------------------------------------------');  
Write ('Nhap a= '); readln(a);  
Write ('Nhap b= ');readln(b);  
If(a=0) then  
If(b=0) then Writeln(' Phuong trinh co vo so nghiem') Else   
writeln(' Phuong tring vo nghiem')  
Else  
Writeln('Phuong trinh co nghiem x=',-b/a:4:2); Readln;
End.

Bài 5: Viết chương trình giải bất phương trình bậc 1 (ax + b >= 0)

Program BAT_PHUONG_TRINH_BACI;  
Uses crt;  
Var a,b: real;  
Begin
Clrscr;  
Writeln('GIAI BAT PHUONG TRINH BAC NHAT: AX + B>=0');  
Writeln('---------------------------------------------------------------');  
Write('nhap a=');readln(a);  
Write('nhap b=');readln(b);  
If a<>0 then  
If a>0 then Writeln('Bat phuong trinh co nghiem: x>=',-b/a:4:2) Else Writeln('Bat phuong trinh co nghiem: x<=',-b/a:4:2)  
Else  
If b>=0 then Writeln('Bat phuong trinh co vo so nghiem') Else writeln('Bat phuong trinh vo nghiem');  
Readln;
End.

Bài 6: Viết chương trình giải phương trình bậc 2 (ax2 + bx + c =0)

Program GIAI_PHUONG_TRINH_BACII;  
Uses crt;  
Var a,b,c,d,x,x1,x2:real;  
Begin
Writeln('GIAI PHUONG TRINH BAC II:'); Writeln('-------------------------------------------');  
Write('Nhap he so a=');readln(a);  
Write('Nhap he so b=');readln(b); Write('Nhap he so c=');readln(c);  
If a=0 then  
If b=0 then  
If c=0 then Writeln('Phuong trinh co vo so nghiem') Else Writeln('Phuong trinh vo nghiem')  
Else Writeln('Phuong trinh co mot nghiem: x=',-c/b:4:2)  
Else  
Begin  
d:=b*b-4*a*c;  
If d=0 then  
Writeln('Phuong trinh co nghiem kep: x=',-b/(2*a):4:2) Else  
If d<0 then  
Writeln('Phuong trinh vo nghiem') Else  
Begin  
x1:= (-b+sqrt(d))/(2*a);  
x2:= (-b-sqrt(d))/(2*a);  
Write('Phuong trinh co hai nghiem: ‘); Writeln(‘ x1=',x1:4:2,' va x2=',x2:4:2);  
End;  
End;  
Readln;
End.

Bài 7: Tìm giá trị lớn nhất trong 4 số a, b, c, d (a, b, c, được nhập từ bàn phím).

Program TIM_SO_LON_NHAT;  
Uses crt;  
Var a,b,c,d,max:real;  
Begin
Clrscr;  
Writeln('TIM SO LON NHAT TRONG BON SO A, B, C, D');   
Writeln('------------------------------------------------------------');  
Write('Nhap a='); Readln(a);  
Write('Nhap b='); Readln(b);  
Write('Nhap c='); Readln(c);  
Write('Nhap d='); Readln(d); max:=a;  
If b>max then max:=b; If d>max then max:=d;  
Writeln('So lon nhat la:',max:4:2); Readln;
End.

Bài 8: Tìm giá trị nhỏ nhất trong 4 số a, b, c, d (a, b, c, được nhập từ bàn phím).

Program TIM_SO_NHO_NHAT;  
Uses crt;  
Var a,b,c,d,min:real;  
Begin
Clrscr;  
Writeln('TIM SO NHO NHAT TRONG BON SO A, B, C, D');  
Writeln('------------------------------------------------------------');  
Write('Nhap a='); Readln(a);  
Write('Nhap b='); Readln(b);  
Write('Nhap c='); Readln(c);  
Write('Nhap d='); Readln(d); min:=a;  
If b<min then min:=b; If c<min then min:=c; If d<min then min:=d;  
Writeln('So nho nhat la:',min:4:2); Readln; 
End.

Bài 9: Nhập vào tâm và bán kính của một đường tròn. Sau đó nhập vào một điểm A(x,y) bất kì và kiểm tra xem nó có thuộc đường tròn hay không?

Program KIEM_TRA_DIEM_THUOC_DUONG_TRON;  
Usescrt;  
Var x0,y0,xa,ya,d,r:real;  
Begin
Writeln('KIEM TRA DIEM THUOC DUONG TRON:');   
Writeln('--------------------------------------------------------');  
Write('Nhap ban kinh R= ');readln(r);  
Write('Nhap toa do tam duong tron = '); readln(x0, y0);   
Write('Nhap toa do diem a = '); readln(xa, ya); d:=SQRT(SQR(xa-x0)+SQR(ya-y0));  
If r=d then
Writeln('Diem A nam tren duong tron')
Else
If d>r then Writeln('Diem A nam ngoai duong tron')  
Else Writeln('Diem A nam trong duong tron');
Readln;
End. 

Bài 10: Nhập vào thời gian 1 công việc nào đó là x giây. Hãy chuyển đổ i và viết ra màn hình số thời gian trên dưới dạng bằng bao nhiêu giờ, bao nhiêu phút, bao nhiêu giây.