Hơn 100 bài tập Pascal từ cơ bản cho đến nâng cao

Học pascal từ cơ bản đến nâng cao qua ài tập pascal nâng caoBài 20 : Nhập 2 số thực và tính phép tính theo nhu yếuBài 18 : Xem ngày là thứ mấy trong tuần

Bài 17: Tìm giá trị lớn nhất của 4 số

Bài 16 : Đếm những số theo điều kiện kèm theo và tính tổngBài 15 : Kiểm tra 3 số có là độ dài cạnh tam giác khôngBài 14 : Đếm nguyên âm, số trong một chuỗiBài 10 : In tổng những chữ số của 1 số ítBài 9 : In những bội của 3 và 5Bài 7 : Tỉnh tổng những chữ số của 1 số ítBài 6 : Tính ăn bậc n của 1 số ítTổng hợp 500 bài tập pascal từ cơ bản đến nâng cao

Tổng hợp 100 bài tập pascal lớp 8 có lời giải đáp cụ thể và chi tiết trong bài viết dưới đây, các bạn cùng tham khảo để có thể trau dồi kiến thức hiệu quả, hiểu và làm bài tập Pascal dễ dàng nhất, từ đó thi Tin học hay thực hành tốt hơn. Hãy tham khảo với onthihsg nhé.

Video bài tập pascal kiểu file có lời giải

Dù là ngôn từ khá cũ, ít sử dụng hơn nhưng khi bạn nắm chắc kiến thức và kỹ năng về ngôn từ Pascal, bạn sẽ tiếp cận và thao tác với ngôn từ lập trình C thuận tiện, hiệu suất cao hơn. Do đó, việc bổ trợ kỹ năng và kiến thức về Pascal cung như update những bài tập Pascal từ đơn thuần tới nâng cao có lời giản là điều rất thiết yếu nếu như bạn muốn học trình C hiệu suất cao. Sau đây là 100 bài tập pascal lớp 8 có giải thuật, những bạn cùng tìm hiểu thêm.

Hơn 100 bài tập Pascal từ cơ bản cho đến nâng cao

Tổng hợp 500 bài tập pascal từ cơ bản đến nâng cao

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 hiển thị những 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 hiển thị tổng, hiệu, tích thương và ước chung lớn nhất của 2 số đó .
  • Tính tổng những ướ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 những cạnh của tam giác rồi tính chu vi, diện tích quy hoạnh, 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 nhất 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 < 2 then write ( ‘ So ‘, n, ’ khong la so nguyen to ’ ) else begin ok : = true ; for i : = 2 to trunc ( sqrt ( n ) ) do if n mod i = 0 then ok : = false ; if ok then writeln ( ‘ So ‘, n, ’ la so nguyen to ’ ) else writeln ( ‘ So ‘, n, ’ khong la so nguyen to ’ ) ; end ; readln END. Có thể thay vòng lặp “ for i : = 2 to trunc ( sqrt ( n ) ) do ” bằng lệnh while .. do .. khi đó ta không cần biến ok nữa.

Bài 6: Tính ăn bậc n của một số

Nhập 2 số n, a. Hãy tính căn bậc n của a : Lời giải : uses crt ; var n : integer ; a, s : real ; BEGIN clrscr ; write ( ‘ Nhap a : ‘ ) ; readln ( a ) ; repeat write ( ‘ Nhap n : ‘ ) ; readln ( n ) ; until ( n > 0 ) ; if ( n mod 2 = 0 ) and ( a > = 0 ) then begin s : = exp ( 1 / n * ln ( a ) ) ; writeln ( ‘ Ket qua la : ‘, s : 0 : 4 ) ; end else if ( n mod 2 < > 0 ) then begin s : = exp ( 1 / n * ln ( abs ( a ) ) ) ; writeln ( ‘ Ket qua la : ‘, s : 0 : 4 ) ; end else writeln ( ‘ Khong xac dinh ’ ) ; readln END.

Bài 7: Tỉnh tổng các chữ số của một số

Nhập số bất kể có 3 chữ số rồi tính tổng những chữ số của số đó. Lời giải : uses crt ; var a : integer ; tong : byte ; BEGIN clrscr ; write ( ‘ Nhap 1 so co 3 chu so : ‘ ) ; readln ( a ) ; tong : = a mod 10 ; a : = a div 10 ; tong : = tong + a mod 10 ; a : = a div 10 ; tong : = tong + a mod 10 ; writeln ( ‘ Tong cac chu so do la : ‘, tong ) ; readln END.

Bài 8: Hoán vị 2 số

Nhập 2 số nguyên a, b, hoán vị 2 số khi a > b. Lời giải : uses crt ; var a, b, tg : integer ; BEGIN clrscr ; write ( ‘ Nhap a : ‘ ) ; readln ( a ) ; write ( ‘ Nhap b : ‘ ) ; readln ( b ) ; if a > b then begin tg : = a ; a : = b ; b : = tg ; end ; writeln ( a, ’ ‘, b ) ; readln END.

Bài 9: In các bội của 3 và 5

Nhập số nguyên dương n, in ra tổng những số nguyên dương từ 1 đến n là bội của 3 hoặc 5. Lời giải : uses crt ; var n, tong, i : integer ; BEGIN clrscr ; write ( ‘ Nhap so nguyen duong n : ‘ ) ; readln ( n ) ; tong : = 0 ; for i : = 1 to n do if ( i mod 3 = 0 ) or ( i mod 5 = 0 ) then tong : = tong + i ; writeln ( ‘ Tong cac so chia het cho 3 hoac 5 tu 0 – > ‘, 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 những 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ố ít 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 n < 2 then writeln ( n, ’ khong la so nguyen to ’ ) else begin i : = 2 ; while ( ( i < = trunc ( sqrt ( n ) ) ) and ( n mod i < > 0 ) ) do i : = i + 1 ; if i > trunc ( sqrt ( n ) ) then writeln ( n, ’ la so nguyen to ’ ) else writeln ( n, ’ khong la so nguyen to ’ ) ; end ; readln END.

Bài 12: Kiểm tra số hoàn hảo

Nhập 1 số nguyên dương n và kiểm tra xem n có phải là số tuyệt đối không. Lời giải : Số tuyệt đối là số có tổng những ước ( ngoại trừ nó ) bằng chính nó. Ví dụ, số 6 có những ước là 1, 2, 3 ; số 28, 496 cũng là những số tuyệt vời và hoàn hảo nhất. Code mẫu : uses crt ; var n : longint ; tong, i : integer ; BEGIN clrscr ; write ( ‘ Nhap so nguyen duong n : ‘ ) ; readln ( n ) ; tong : = 0 ; for i : = 1 to n div 2 do if n mod i = 0 then tong : = tong + i ; if tong = n then writeln ( n, ’ la so hoan hao ’ ) else writeln ( n, ’ khong la so hoan hao ’ ) ; readln END.

Bài 13: Kiểm tra số chính phương

Nhập 1 số ít nguyên dương n bất kể và kiểm tra xem n có phải là số chính phương không. Code mẫu : uses crt ; var n : longint ; BEGIN clrscr ; write ( ‘ Nhap so nguyen duong n : ‘ ) ; readln ( n ) ; if sqrt ( n ) = trunc ( sqrt ( n ) ) then writeln ( n, ’ la so chinh phuong ’ ) else writeln ( n, ’ khong la so chinh phuong ’ ) ; readln END.

Bài 14: Đếm nguyên âm, số trong một chuỗi

Nhập vào một chuỗi ký tự và kiểm tra xem chuỗi có bao nhiêu nguyên âm, bao nhiêu số ? Code mẫu : uses crt ; var s : string ; dem1, dem2, i : byte ; BEGIN clrscr ; write ( ‘ Nhap 1 chuoi : ‘ ) ; readln ( s ) ; dem1 : = 0 ; dem2 : = 0 ; for i : = 1 to length ( s ) do begin if s [ i ] in [ ‘ a ’, ’ e ’, ’ i ’, ’ o ’, ’ u ’, ’ y ’, ’ A ’, ’ E ’, ’ I ’, ’ O ’, ’ U ’, ’ Y ’ ] then dem1 : = dem1 + 1 ; if s [ i ] in [ ‘ 0 ′, ’ 1 ′, ’ 2 ′, ’ 3 ′, ’ 4 ′, ’ 5 ′, ’ 6 ′, ’ 7 ′, ’ 8 ′, ’ 9 ’ ] then dem2 : = dem2 + 1 ; end ; writeln ( ‘ Trong chuoi ‘, s, ’ co ‘, dem1, ’ nguyen am va co ‘, dem2, ’ ki tu so ’ ) ; readln END.

Bài 15: Kiểm tra 3 số có là độ dài cạnh tam giác không

Nhập 3 số a, b, c bất kể. Kiểm tra xem 3 số hoàn toàn có thể là độ dài 3 cạnh của một tam giác hay không và thông tin ra màn hình hiển thị. Code mẫu : Var a, b, c : Real ; BEGIN Writeln ( ‘ Nhap do dai 3 canh cua tam giac : ’ ) ; Write ( ‘ a = ’ ) ; Readln ( a ) ; Write ( ‘ b = ’ ) ; Readln ( b ) ; Write ( ‘ c = ’ ) ; Readln ( c ) ; If ( a + b > c ) and ( b + c > a ) and ( c + a > b ) and ( a > 0 ) and ( b > 0 ) and ( c > 0 ) Then Writeln ( ‘ Thoa man : Day la 3 canh cua mot tam giac ’ ) Else Writeln ( ‘ Khong thoa man ! ’ ) ; Readln ; END.

Bài 16: Đếm các số theo điều kiện và tính tổng

Nhập số N bất kể. Đếm những số lớn hơn 10 và nhỏ hơn 20 rồi tính tổng của chúng. Sau đó, đưa ra màn hình hiển thị “ So cac so > 10 va < 20 la : ” và “ Tong cua chung la : ”. Code mẫu : Var Tong, So : Real ; I, N, Dem : Integer ; BEGIN Write ( ‘ Ban muon nhap bao nhieu so : ‘ ) ; Readln ( N ) ; Tong : = 0 ; Dem : = 0 ; For I : = 1 To N Do Begin Write ( ‘ So = ‘ ) ; Readln ( So ) ; If ( So > 10 ) and ( So < 20 ) Then Begin Tong : = Tong + So ; Dem : = Dem + 1 ; End ; End ; Writeln ( ‘ So cac so > 10 va < 20 la : ‘, Dem ) ; Writeln ( ‘ Tong cua chung la : ’, Tong ) ; Readln ; END.

Bài 17: Tìm giá trị lớn nhất của 4 số

Nhập 4 số a, b, c, d. Hãy tìm giá trị lớn nhất của chúng và gán giá trị đó cho biến Max. Code mẫu : Var Max, a, b, c, d : Real ; BEGIN Writeln ( ‘ Nhap gia tri cua 4 so : ‘ ) ; Write ( ‘ a = ‘ ) ; Readln ( a ) ; Write ( ‘ b = ‘ ) ; Readln ( b ) ; Write ( ‘ c = ‘ ) ; Readln ( c ) ; Write ( ‘ d = ‘ ) ; Readln ( d ) ; Max : = a ; If Max < b Then Max : = b ; If Max < c Then Max : = c ; If Max < d Then Max : = d ; Writeln ( ‘ Gia tri lon nhat la : ‘, Max ) ; Readln ; END.

Bài 18: Xem ngày là thứ mấy trong tuần

Đọc ngày tháng năm, sau đó viết ra màn hình hiển thị đó là ngày thứ mấy trong tuần. Code mẫu : Var Thu, Ngay, Thang : Byte ; Nam : Integer ; BEGIN Write ( ‘ Doc Ngay Thang Nam : ‘ ) ; Readln ( Ngay, Thang, Nam ) ; Nam : = 1900 + ( Nam mod 1900 ) ; If Thang < 3 Then Begin Thang : = Thang + 12 ; Nam : = Nam – 1 ; End ; Thu : = Abs ( Ngay + Thang * 2 + ( Thang + 1 ) * 3 div 5 + Nam + Nam div 4 ) mod 7 ; Case Thu Of 0 : Writeln ( ‘ Chu Nhat ’ ) ; 1 : Writeln ( ‘ Thu Hai ’ ) ; 2 : Writeln ( ‘ Thu Ba ’ ) ; 3 : Writeln ( ‘ Thu Tu ’ ) ; 4 : Writeln ( ‘ Thu Nam ’ ) ; 5 : Writeln ( ‘ Thu Sau ’ ) ; 6 : Writeln ( ‘ Thu Bay ’ ) ; End ; Readln ; END.

Bài 19: In phiếu báo điểm

Viết chương trình : Nhập số báo danh, nhập điểm văn, toán, Anh. In ra màn hình hiển thị dưới dạng : Phiếu Báo điểm : Số báo danh : Điểm văn : Điểm toán : Điểm ngoại ngữ : Tổng số điểm : Bạn đã trúng tuyển : Nếu Tổng số điểm > = 20. Bạn không trúng tuyển : Nếu Tổng số điểm < 20. Uses Crt ; Var SBD : Integer ; Van, Toan, Anh, Tongdiem : Real ; BEGIN Clrscr ; Write ( ‘ So bao danh : ‘ ) ; Readln ( SBD ) ; Write ( ‘ Diem toan : ‘ ) ; Readln ( Toan ) ; Write ( ‘ Diem ngoai ngu : ‘ ) ; Readln ( Anh ) ; Write ( ‘ Diem van : ‘ ) ; Readln ( Van ) ; Tongdiem : = Toan + Van + Anh ; Clrscr ; Writeln ( ‘ Phieu Bao Diem ‘ ) ; Writeln ( ‘ So bao danh : ‘, SBD ) ; Writeln ( ‘ Diem van : ‘, Van ) ; Writeln ( ‘ Diem toan : ‘, Toan ) ; Writeln ( ‘ Diem ngoai ngu : ‘, Anh ) ; Writeln ( ‘ Tong diem : ‘, Tongdiem ) ; If Tongdiem > = 15 Then Writeln ( ‘ Ban da trung tuyen ‘ ) ; Else Writeln ( ‘ Ban khong trung tuyen ‘ ) ; Readln ; END.

Bài 20: Nhập 2 số thực và tính phép tính theo yêu cầu

Viết chương trình nhập hai số thực. Sau đó hỏi phép tính muốn triển khai và in tác dụng của phép tính đó. Nếu là “ + ”, in tổng hai số lên màn hình hiển thị. Nếu là “ – “, in hiệu hai số lên màn hình hiển thị. Nếu là “ / ”, in thương hai số lên màn hình hiển thị. Nếu là “ * ”, in tích hai số lên màn hình hiển thị. Code mẫu : Uses Crt ; Var a, b, kq : Real ; Pt : Char ; BEGIN Clrscr ; Write ( ‘ a = ’ ) ; Readln ( a ) ; Write ( ‘ b = ’ ) ; Readln ( b ) ; Write ( ‘ Phep tinh thuc hien la ( + – * / ) : ‘ ) ; Readln ( Pt ) ; If Pt = ‘ + ’ Then kq : = a + b ; If Pt = ‘ – ’ Then kq : = a – b ; If Pt = ‘ * ’ Then kq : = a * b ; If Pt = ‘ / ’ Then kq : = a / b ; Write ( a, pt, b, ‘ = ’, kq ) ; Readln ; END.

Học pascal từ cơ bản đến nâng cao qua ài tập pascal nâng cao

Bài tập 1 : Viết chương trình nhập vào số tự nhiên N ( N lẻ ), sau đó điền những số từ 1 đến n2 vào trong một bảng vuông sao cho tổng những hàng ngang, hàng dọc và 2 đường chéo đều bằng nhau ( bảng này được gọi là Ma phương ). Ví dụ : Với N = 3 và N = 5 ta có Phuơng pháp : Xuất phát từ ô bên phải của ô nằm giữa. Đi theo hướng hướng đông bắc để điền những số 1, 2, … Khi điền số, cần chú ý quan tâm 1 số ít nguyên tắc sau : Nếu vượt ra phía ngoài bên phải của bảng thì quay trở lại cột tiên phong. Nếu vượt ra phía ngoài bên trên của bảng thì quay trở lại dòng sau cuối. Nếu số đã điền k chia hết cho N thì số tiếp theo sẽ được viết trên cùng một hàng với k nhưng cách 1 ô về phía bên phải. Bài tập 2 : Viết chương trình in ra màn hình hiển thị tam giác Pascal. Ví dụ, với n = 4 sẽ in ra hình sau :

1
1 1
1 2 1
1 3 3 1
1 4 6 4 1

Ý tưởng : Tam giác Pascal được tạo ra theo qui luật sau : Mỗi dòng đều mở màn và kết thúc bởi số 1. Phần tử thứ j ở dòng k nhận được bằng cách cộng 2 thành phần thứ j-1 và j ở dòng Bài tập 3 : Viết chương trình nhập vào 2 dãy số nguyên ( a ) n và ( b ) m, mn. Kiểm tra xem dãy { b } có phải là dãy con của dãy { a } không ? Bài tập 4 : Viết chương trình nhập vào một dãy số nguyên a1, a2, …, an. Tìm trong dãy { a } một dãy con tăng dần dài nhất ( có số thành phần lớn nhất ) và in ra màn hình hiển thị dãy con đó. Bài tập 5 : Cho mảng 2 chiều A cấp mxn. Viết chương trình sắp xếp lại mảng A theo nhu yếu sau : a / Các thành phần trên mỗi dòng được sắp xếp theo thứ tự giảm dần. b / Các dòng được sắp xếp lại theo thứ tự tăng dần của tổng những thành phần trên mỗi dòng. Bài tập 6 : Tìm điểm cực tiểu của mảng hai chiều Một thành phần được gọi là điểm cực tiểu của mảng 2 chiều A nếu nó không lứon hơn những thành phần kề nó Bài tập 7 : Tìm “ Phần tử yên ngựa ” cuả mảng hai chiều Phần tử A được gọi là “ yên ngựa ” của mảng hai chiều nếu nó đồng thời là thành phần nhỏ nhất của dòng i và là thành phần lớn nhất của cột j, hoăck A phải là thành phần lớn nhất cảu dòng i và là thành phần nhỏ nhất của cột j

Bài tập 8: Cho ma trận các số nguyên A, hãy sắp xếp lại ma trận sao cho các phần tử của chúng có giá trị tăng dần theo đường xoắn óc từ ngoài vào trong như hình vẽ sau:

Bài tập 9 : Tìm tổng thể những thành phần A > 0 nằm giữa những thành phần Mời bạn đọc cùng tham gia nhóm Tài liệu học tập lớp 11 để có thêm tài liệu học tập nhé