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. Mời các bạn tham khảo các bài tập Pascal cơ bản dưới đây.
Mục lục bài viết
1. Bài tập Pascal cơ bản từ cơ bản đến nâng cao có đáp á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
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.
Program DOI_GIO_PHUT_GIAY; Uses crt; Var gio, phut,giay, x: longint; Begin Clrscr; Writeln('DOI SANG GIO PHUT GIAY'); Writeln('--------------------------------------'); Write('Nhap vao so giay: ');readln(x); gio:= x div 3600; x:=x mod 3600; phut:=x div 60; x:=x mod 60; Writeln('Ket qua = ', gio,'gio : ', phut, 'phut : ', x, 'giay'); Readln; End.
2. Tổng quan về ngôn ngữ pascal:
Ngôn ngữ lập trình Pascal là một trong những ngôn ngữ lập trình cổ điển và có ảnh hưởng sâu rộng đối với lịch sử của lập trình máy tính. Được phát triển bởi Niklaus Wirth vào những năm đầu tiên của thập kỷ 1970 tại Thụy Sĩ, Pascal được thiết kế với mục tiêu chính là đơn giản hóa quá trình lập trình và tạo điều kiện thuận lợi cho việc giáo dục trong lĩnh vực này.
Tên của ngôn ngữ này được lấy từ tên của nhà toán học và triết gia Blaise Pascal, người có đóng góp lớn trong lĩnh vực toán học, khoa học, và cả triết học. Ý tưởng chính của Pascal là tạo ra một ngôn ngữ lập trình dễ đọc, dễ hiểu, và dễ dàng để học, đặc biệt là đối với những người mới tiếp xúc với lập trình.
Một trong những điểm nổi bật của Pascal là cú pháp rõ ràng và cấu trúc có tổ chức. Ngôn ngữ này sử dụng cấu trúc khối (block structure), cho phép tách các đoạn mã thành các khối riêng biệt, giúp quản lý mã nguồn một cách hiệu quả và dễ dàng theo dõi. Pascal cũng hỗ trợ các định nghĩa chức năng (function) và thủ tục (procedure), giúp phân chia mã nguồn thành các phần nhỏ hơn, dễ quản lý và tái sử dụng.
Ngoài ra, Pascal cũng có một số đặc điểm như kiểu dữ liệu tĩnh (static typing), có nghĩa là bạn phải xác định kiểu dữ liệu của biến trước khi sử dụng, giúp tránh được nhiều lỗi phổ biến trong lập trình. Điều này cũng giúp tăng cường tính tin cậy của mã nguồn và giảm thiểu rủi ro lỗi khi thực thi chương trình.
Tuy nhiên, mặc dù Pascal đã từng rất phổ biến trong việc giảng dạy và học tập lập trình, nhưng sau này, đặc biệt là sau sự ra đời của các ngôn ngữ lập trình mạnh mẽ và linh hoạt hơn, Pascal dần mất đi vị thế của mình trong cộng đồng lập trình. Các hạn chế về khả năng mở rộng và tính linh hoạt của Pascal đã khiến cho nhiều người lập trình viên chuyển sang sử dụng các ngôn ngữ khác như C, C++, Java, Python và nhiều ngôn ngữ khác phù hợp hơn cho các dự án phức tạp và đa nền tảng.
Mặc dù không còn được sử dụng rộng rãi trong ngành công nghiệp như trước, nhưng Pascal vẫn giữ được giá trị lịch sử quan trọng trong việc hiểu về sự phát triển của lập trình máy tính và có ảnh hưởng đến việc phát triển các ngôn ngữ lập trình sau này.
3. Đặc điểm của ngôn ngữ pascal:
Ngôn ngữ Pascal có một số đặc điểm cơ bản sau đây:
– Cấu trúc rõ ràng: Pascal được thiết kế với cú pháp rõ ràng và cấu trúc có tổ chức. Điều này làm cho mã nguồn dễ đọc và dễ hiểu, đặc biệt là cho người mới học lập trình.
– Block Structure (Cấu trúc khối): Pascal sử dụng cấu trúc khối, cho phép tách mã nguồn thành các khối riêng biệt như thủ tục (procedure) và hàm (function). Điều này giúp quản lý mã nguồn một cách hiệu quả và dễ dàng theo dõi.
– Static Typing (Kiểu dữ liệu tĩnh): Trong Pascal, bạn cần xác định kiểu dữ liệu của biến trước khi sử dụng. Điều này giúp ngăn chặn nhiều lỗi phổ biến liên quan đến kiểu dữ liệu và tăng tính tin cậy của chương trình.
– Hỗ trợ đa nền tảng: Pascal được thiết kế để có thể chạy trên nhiều nền tảng khác nhau, từ máy tính cá nhân đến các hệ thống nhúng. Điều này làm cho nó hữu ích trong việc phát triển các ứng dụng đa dạng.
– Các cấu trúc điều khiển: Ngôn ngữ này cung cấp các cấu trúc điều khiển như if...else
để thực hiện điều kiện, cũng như các vòng lặp for
, while
để lặp lại các hoạt động.
– Được sử dụng cho mục đích giáo dục: Ban đầu, Pascal được sử dụng rộng rãi trong giáo dục và đào tạo lập trình do tính đơn giản và cú pháp rõ ràng của nó.
– Tính đa dạng: Pascal không chỉ dừng lại ở cấu trúc cơ bản mà còn cung cấp nhiều tính năng như các cơ chế gói (module), quản lý bộ nhớ, và khả năng tạo ra các thư viện mở rộng.
– Khả năng tái sử dụng mã nguồn: Việc sử dụng thủ tục và hàm trong Pascal giúp tạo điều kiện cho việc tái sử dụng mã nguồn một cách dễ dàng và hiệu quả. Mặc dù Pascal không còn là ngôn ngữ phổ biến nhưng nó vẫn đóng vai trò quan trọng trong việc hiểu sâu hơn về lịch sử và phát triển của lập trình máy tính.