Tìm hiểu về Pascal
Pascal là một ngôn ngữ lập trình cấp cao được phát triển bởi Niklaus Wirth vào những năm 1960. Ngôn ngữ này được sử dụng rộng rãi trong giảng dạy và nghiên cứu về lập trình.
61 bài tập Pascal cơ bản có lời giải
Dưới đây là danh sách 61 bài tập Pascal cơ bản mà VnDoc.com đã sưu tầm và xin gửi tới bạn đọc để tham khảo. Mời các bạn cùng theo dõi chi tiết trong bài viết dưới đây.
Bài 1: Tính diện tích và chu vi hình chữ nhật
Program HINH_CHU_NHAT; Uses Crt; Var a,b,s,c: real; Begin Clrscr; Writeln('TÍNH DIỆN TÍCH & CHU VI HÌNH CHỮ NHẬT:'); Writeln('-'); Write('Nhập chiều dài: '); readln(a); Write('Nhập chiều rộng: '); readln(b); s:=a*b; c:=(a+b)*2; Writeln('Diện tích hình chữ nhật là: ',s:6:2); Writeln('Chu vi hình chữ nhật: ',c:6:2); Readln; End.
Bài 2: Tính diện tích và chu vi hình tròn
Program HINHTRON; Uses Crt; Var r,dt,cv:real; Begin Clrscr; Writeln('TÍNH DIỆN TÍCH & CHU VI HÌNH TRÒN:'); Writeln('-'); Write('Nhập bán kính R: '); readln(r); dt:=pi*r*r; cv:=2*pi*r; Writeln('Diện tích hình tròn là: ',dt:6:2); Writeln('Chu vi hình tròn là: ',cv:6:2); Readln; End.
Bài 3: Tính diện tích và chu vi tam giác
Program TAMGIAC; Uses crt; Var a,b,c,s,p: real; Begin Clrscr; Writeln('BÀI TOÁN TAM GIÁC:'); Writeln('-'); Write('Nhập cạnh a: '); readln(a); Write('Nhập cạnh b: '); readln(b); Write('Nhập cạnh 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 giác: ',2*p:4:2); Writeln('Diện tích tam giác: ',s:4:2); End Else Writeln(a,', ',b,', ',c,' không phải là ba cạnh của một tam giác'); Readln; End.
Bài 4: 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('GIẢI PHƯƠNG TRÌNH BẬC NHẤT: AX + B = 0'); Writeln('-'); Write('Nhập hệ số a: '); readln(a); Write('Nhập hệ số b: '); readln(b); If(a=0) then Begin If(b=0) then Writeln('Phương trình có vô số nghiệm') Else writeln('Phương trình vô nghiệm') End Else Writeln('Phương trình có nghiệm x = ',-b/a:4:2); Readln; End.
Bài 5: 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('GIẢI BẤT PHƯƠNG TRÌNH BẬC NHẤT: AX + B >= 0'); Writeln('-'); Write('Nhập hệ số a: '); readln(a); Write('Nhập hệ số b: '); readln(b); If a<>0 then Begin If a>0 then Writeln('Bất phương trình có nghiệm: x >= ',-b/a:4:2) Else Writeln('Bất phương trình có nghiệm: x <= ',-b/a:4:2) End Else If b>=0 then Writeln('Bất phương trình có vô số nghiệm') Else Writeln('Bất phương trình vô nghiệm'); Readln; End.
Bài 6: 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 ('GIẢI PHƯƠNG TRÌNH BẬC II:'); Writeln ('-'); Write ('Nhập hệ số a: ');readln(a); Write ('Nhập hệ số b: ');readln(b); Write('Nhập hệ số c: ');readln(c); If a=0 then Begin If b=0 then If c=0 then Writeln ('Phương trình có vô số nghiệm') Else Writeln ('Phương trình vô nghiệm') Else Writeln ('Phương trình có một nghiệm: x = ',-c/b:4:2) Else Begin d:=b*b-4*a*c; If d=0 then Writeln('Phương trình có nghiệm kép: x = ',-b/(2*a):4:2) Else If d<0 then Writeln ('Phương trình vô nghiệm') Else Begin x1:= (-b+sqrt(d))/(2*a); x2:= (-b-sqrt(d))/(2*a); Write ('Phương trình có hai nghiệm:'); Writeln ('x1 = ',x1:4:2,' và x2 = ',x2:4:2); End; End; Readln; End.
Bài 7: Tìm giá trị lớn nhất trong 4 số
Program TIM_SO_LON_NHAT; Uses crt; Var a, b, c, d,max:real; Begin Clrscr; Writeln ('TÌM SỐ LỚN NHẤT TRONG BỐN SỐ A, B, C, D'); Writeln ('-'); Write ('Nhập số a: '); Readln(a); Write ('Nhập số b: '); Readln(b); Write ('Nhập số c: '); Readln(c); Write ('Nhập số d: '); Readln(d); max:=a; If b>max then max:=b; If c>max then max:=c; If d>max then max:=d; Writeln ('Số lớn nhất là: ',max:4:2); Readln; End.
Bài 8: Tìm giá trị nhỏ nhất trong 4 số
Program TIM_SO_NHO_NHAT; Uses crt; Var a,b,c,d,min:real; Begin Clrscr; Writeln ('TÌM SỐ NHỎ NHẤT TRONG BỐN SỐ A, B, C, D'); Writeln ('-'); Write ('Nhập số a: '); Readln(a); Write ('Nhập số b: '); Readln(b); Write ('Nhập số c: '); Readln(c); Write ('Nhập số d: '); Readln(d); min:=a; If b
Bài 9: Giải hệ phương trình tuyến tính
Program GIAI_HE_HAI_AN; Uses crt; Var a, b, c, d, m, n:real; dx,dy,dd:real; Begin Clrscr; Writeln ('GIẢI HỆ PHƯƠNG TRÌNH TUYẾN TÍNH:'); Writeln ('-'); Write ('Nhập hệ số a: ');readln(a); Write ('Nhập hệ số b: ');readln(b); Write ('Nhập hệ số c: ');readln(c); Write ('Nhập hệ số m: ');readln(m); Write ('Nhập hệ số n: ');readln(n); dd:=a*d-b*c; dx:=m*d-b*n; dy:=a*n-c*m; If dd=0 then If (dx=0) and (dy=0) then Writeln ('Hệ có vô số nghiệm hoặc vô nghiệm') Else Writeln ('Hệ vô nghiệm') Else Begin End; Write ('Hệ có nghiệm: '); Writeln ('x = ',dx/dd:4:2,' và y = ',dy/dd:4:2); End. Readln; End.
Bài 10: Chuyển đổi thời gian
Program DOI_GIO_PHUT_GIAY; Uses crt; Var gio, phut, giay, x: longint; Begin Clrscr; Writeln ('CHUYỂN ĐỔI GIỜ PHÚT GIÂY'); Writeln ('-'); Write ('Nhập số giây: '); readln(x); gio:= x div 3600; x:=x mod 3600; phut:=x div 60; x:=x mod 60; Writeln ('Kết quả = ', gio,' giờ : ', phut, ' phút : ', x, ' giây'); Readln; End.
Bài 11: Kiểm tra điểm thuộc đường tròn
Program KIEM_TRA_DIEM_THUOC_DUONG_TRON; Uses crt; Var x0,y0,xa,ya,d,r:real; Begin Writeln('KIỂM TRA ĐIỂM THUỘC ĐƯỜNG TRÒN:'); Writeln('-'); Write('Nhập bán kính R: ');readln(r); Write('Nhập tọa độ tâm đường tròn: '); readln(x0, y0); Write('Nhập tọa độ điểm A: '); readln(xa, ya); d:=SQRT(SQR(xa-x0)+SQR(ya-y0)); If r=d then Writeln('Điểm A nằm trên đường tròn') Else If d>r then Writeln('Điểm A nằm ngoài đường tròn') Else Writeln('Điểm A nằm trong đường tròn'); End. Readln;
Bài 12: Tính x mũ y
Program TINH_X_LUYTHUA_Y; Uses crt; Var x,y,z:real; Begin Writeln('TÍNH X LŨY THỪA Y:'); Writeln('-'); Write('Nhập x: '); readln(x); Write('Nhập y: '); readln(y); If x>=0 then Begin End Else Writeln('Không tính được do x là số âm'); Readln; End.
Bài 13: Tính n!
Program TINH_N_GIAI_THUA; Uses crt; Var i,n,gt:integer; Begin Clrscr; Writeln('TÍNH N GIAI THỪA:'); Writeln('-'); Write('Nhập n: '); readln(n); gt:=1; For i:=1 to n do gt:=gt*i; Writeln(n, '! = ',gt); Readln; End.
Bài 14: Tính x^n
Program TINH_X_LUY_THUA_N; Uses crt; Var i,n,x:integer; lt:real; Begin Clrscr; Writeln('TÍNH X LŨY THỪA Y:'); Writeln('-'); Write('Nhập x: '); readln(x); Write('Nhập n: '); readln(n); lt:=1; For i:=1 to n do lt:=lt*x; Writeln(x, '^', n, ' = ', lt:4:2); Readln; End.
Bài 15: Kiểm tra số nguyên tố
Program SO_NGUYEN_TO; Uses crt; Var i,n: integer; Begin Clrscr; Writeln('KIỂM TRA SỐ NGUYÊN TỐ:'); Writeln('-'); Write('Nhập số cần kiểm tra n: '); readln(n); If (n=0) or (n=1) then Writeln(n, ' Không phải là số nguyên tố') Else Begin End; i:=1; Repeat i:= i+1; Until (n mod i= 0) or (i*i>n); If i*i>n then Writeln (n,' là số nguyên tố') Else Writeln (n,' không phải là số nguyên tố'); Readln; End.
Bài 16: In ra các số nguyên tố nhỏ hơn hoặc bằng N
Program CAC_SO_NGUYEN_TO; Uses crt; Var n,i,t: integer; Begin Clrscr; Writeln('IN RA CÁC SỐ NGUYÊN TỐ <= N'); Writeln('-'); Write('Nhập n: ');readln(n); If n<2 then Writeln('Không có số nguyên tố nào <=',n) Else Begin Writeln('Các số nguyên tố <= ',n,' là:'); For i := 2 to n do Begin t:= 1; End; Readln; End; End.
Hy vọng qua những bài tập Pascal cơ bản trên, bạn đọc có thể nắm vững kiến thức cơ bản về ngôn ngữ lập trình pascal . Chúc bạn học tập tốt và thành công!