Bài tập Turbo Pascal từ cơ bản đến nâng cao có đáp án giúp bạn rèn kỹ năng lập trình và hiểu sâu hơn về ngôn ngữ lập trình Pascal. Bộ sách này cung cấp cho bạn một loạt các bài tập từ cơ bản đến nâng cao, từ những khái niệm căn bản như biến, điều kiện, vòng lặp, đến những chủ đề phức tạp hơn như mảng, chuỗi, cấu trúc dữ liệu.
Mục lục bài viết
1. Bài tập Turbo Pascal từ cơ bản đến nâng cao có đáp án:
Bài tập 1: Viết chương trình tính chu vi, diện tích hình vuông có cạnh a (được nhập từ bàn phím).
a. Hướng dẫn:
Nhập cạnh vào biến canh.
Chu vi hình vuông bằng 4*canh; Diện tích hình vuông bằng canh*canh.
b. Mã chương trình:
Program HINH_VUONG;
uses crt;
Var canh: real;
Begin
clrscr;
Write(‘Nhap do dai canh:’);readln(canh);
Writeln(‘Chu vi hinh vuong la:’,4*canh:10:2);
Writeln(‘Dien tich hinh vuong la:’,canh*canh:10:2);
readln
end.
Bài tập 2: Viết chương trình tính chu vi và diện tích hình tròn có bán kính r (được nhập từ bàn phím).
a. Hướng dẫn:
Nhập bán kính vào biến r.
Chu vi đường tròn bằng 2**r.
Diện tích hình tròn bằng *r*r.
b. Mã chương trình:
Program HINH_TRON;
uses crt;
Var r: real;
Begin
clrscr;
Write(‘Nhap ban kinh:’); readln(r);
Writeln(‘Chu vi duong tron la:’,2*pi*r:10:2);
Writeln(‘Dien tich hinh tron la:’,pi*r*r:10:2);
readln
end.
c. Nhận xét: pi là hằng số. Một hằng số có thể được người dùng khai báo hoặc do Pascal tự tạo. Pi là hằng do Pascal tự tạo nên người dùng không cần khai báo.
Bài tập 3: Viết chương trình cho phép tính trung bình cộng của bốn số.
a. Hướng dẫn:
Nhập bốn số vào bốn biến a, b, c, d
Trung bình cộng của a, b, c, d bằng (a + b + c + d)/4.
b. Mã chương trình:
Program TB_Cong_4_So;
uses crt;
Var a, b, c, d: real;
Begin
Clrscr;
Write(‘Nhap so thu nhat:’);readln(a);
Write(‘Nhap so thu hai:’);readln(b);
Write(‘Nhap so thu ba:’);readln(c);
Write(‘Nhap so thu tu:’);readln(d);
Writeln(‘Trung binh cong: ‘,(a+b+c+d)/4):10:2;
Readln
end.
Bài tập 4: Viết chương trình cho phép tính trung bình cộng của bốn số với điều kiện chỉ được sử dụng hai biến.
a. Hướng dẫn:
Dùng một biến S có giá trị ban đầu bằng 0.
Dùng một biến để nhập số.
Sau khi nhập một số cộng ngay vào biến S.
b. Mã chương trình:
Program TB_Cong_4_So;
uses crt;
Var s,a: real;
Begin
Clrscr;
S:=0;
Write(‘Nhap so thu nhat:’);readln(a); S:=S+a;
Write(‘Nhap so thu hai:’);readln(a); S:= S+a;
Write(‘Nhap so thu ba:’);readln(a); S:=S+a;
Write(‘Nhap so thu tu:’);readln(a); S:=S+a;
Writeln(‘Trung binh cong: ‘,S/4:10:2);
readln
end.
Bài tập 5: Viết chương trình cho phép tính trung bình nhân của bốn số với điều kiện chỉ được sử dụng hai biến.
a. Hướng dẫn:
Dùng một biến S có giá trị ban đầu bằng 1.
Dùng một biến để nhập số.
Sau khi nhập một số nhân ngay vào biến S.
Trung bình nhân bốn số là căn bậc 4 tích của chúng (Dùng hai lần căn bậc hai).
b. Mã chương trình:
Program TB_nhan;
uses crt;
Var a, S: real;
Begin
clrscr;
S:=1;
Write(‘Nhap so thu nhat: ‘); readln(a); S:=S*a;
Write(‘Nhap so thu hai: ‘); readln(a); S:=S*a;
Write(‘Nhap so thu ba: ‘); readln(a); S:=S*a;
Write(‘Nhap so thu tu: ‘); readln(a); S:=S*a;
Write(‘Trung binh nhan cua bon so la:’,sqrt(sqrt(s)));
readln
End.
Bài tập 6: Viết chương trình nhập hai số, đổi giá trị hai số rồi in ra hai số.
a. Hướng dẫn:
Dùng các biến a, b để lưu hai số được nhập từ bàn phím;
Gán cho biến tam giá trị của a.
Gán giá trị của b cho a. (Sau lệnh này a có giá trị của b).
Gán giá trị của tạm cho cho b (Sau lệnh này b có giá trị của tam = a).
b. Mã chương trình:
Program Doi_Gia_Tri;
uses crt;
var a, b, tam:real;
Begin
clrscr;
write(‘nhap a: ‘); readln(a);
write(‘nhap b: ‘); readln(b);
writeln(‘Truoc khi doi a =’,a,’ va b= ‘,b);
readln;
tam:=a;
a:=b;
b:=tam;
writeln(‘Sau khi doi a =’,a,’ va b= ‘,b);
readln
end.
Bài tập 7: Viết chương trình tính chu vi và diện tích của hình chữ nhật có chiều dài hai cạnh là a, b (được nhập từ bàn phím).
a. Hướng dẫn:
Nhập hai cạnh vào hai biến a, b.
Chu vi hình chữ nhật bằng 2*(a+b); Diện tích hình chữ nhật bằng a*b.
b. Mã chương trình:
Program Chu_nhat;
uses crt;
Var a, b, S, CV: real;
Begin
Write(‘Nhap chieu dai:’); readln(a);
Write(‘Nhap chieu rong:’); readln(b);
S := a*b;
CV := (a+b)*2;
Writeln(‘Dien tich hinh chu nhat la:’,S);
Writeln(‘Chu vi hinh chu nhat la:’,CV:10:2);
readln
end.
2. Câu hỏi tự luận vài tập luyện Pascal:
Câu 1: Viết cú pháp, giải thích cú pháp và hoạt động của câu lệnh điều kiện dạng đủ trong ngôn ngữ lập trình Pascal?
Câu 2: Cấu trúc chung của chương trình gồm mấy phần, đó là những phần nào?
Câu 3: Em hiểu như thế nào về viết chương trình cho máy tính? Tại sao người ta cần viết chương trình cho máy tính?
Câu 4: Điểm giống và khác nhau giữa hằng và biến?
Câu 5: Bài toán là gì? Để giải quyết được một bài toán cụ thể ta cần làm gì? Thuật toán là gì? Trình bày các bước để giải một bài toán trên máy tính?
Câu 6: Viết cú pháp, giải thích cú pháp và hoạt động của câu lệnh điều kiện dạng thiếu trong ngôn ngữ lập trình Pascal?
3. Bài tập Turbo Pascal hay chọn lọc:
Câu 1: Viết chương trình nhập vào hai số a,b. Kiểm tra tổng của chúng có phải là số dương và chia hết cho 3 hay không?
Program hai_so_a_va_b;
Uses crt;
Var a,b :Integer;
Begin
Clrscr;
If (a+b)>0 and (a+b) mod 3 =0 then writeln (‘Tong cua a va b vua la so duong vua chia het cho 3’)
else writeln (‘Tong cua a va b khong vua la so duong vua chia het cho 3’);
Readln;
End.
Câu 2: Viết cú pháp, giải thích cú pháp và hoạt động của câu lệnh lặp trong ngôn ngữ lập trình Pascal?
– Cú pháp: For
– Trong đó: For, to, do : là từ khóa.
– Số lần lặp = (giá trị cuối) – (giá trị cuối) +1 (lần)
– Cách thực hiện câu lệnh: Khi thực hiện, ban đầu biến đếm sẽ nhận giá trị bằng giá trị đầu, sau mỗi vòng lặp, biến đếm được tự động tăng thêm một đơn vị cho đến khi bằng giá trị cuối.
Câu 3: Cho hai biến x và y. Hãy mô tả thuật toán đổi giá trị của các biến nói trên để x và y có giá trị tăng dần?
INPUT: hai biến x và y.
OUTPUT: x và y có giá trị tăng dần.
Mô tả thuật toán:
– Bước 1: Nhập x, y.
– Bước 2: Nếu x
– Bước 3: tg <- x;
x <- y;
Y <- tg;
– Bước 4: In giá trị x,y và kết thúc thuật toán.
Câu 4: Nhập vào hai 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, CV, DT: Integer;
Begin
Clrscr;
Write (‘Hay nhap chieu dai: ’);
Redln (a);
Write (‘Hay nhap chieu rong: ’);
Readln (b);
CV:= (a+b)*2;
DT:= a*b;
Writeln (‘Chu vi hinh chu nhat la: ’, CV);
Writeln (‘Dien tich hinh chu nhat la: ’, DT);
Readln;
End.
Câu 5: 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 hinh_tron;
Uses crt;
Var R, CV, DT: Real
Const pi=3.14;
Begin
Clrscr;
Write (‘Hay nhap ban kinh: ’);
Readln (R);
CV:= 2*R*pi;
DT:= R*R*pi;
Writeln (‘Chu vi la: ’, CV:8:2);
Writeln (‘Dien tich la: ’, DT:8:2);
Readln;
End.
Câu 6: Viết chương trình nhập ba số a,b,c từ bàn phím. Hiển thị kết quả ra màn hình giá trị lớn nhất của ba số đó?
Program so_lon_nhat;
Uses Crt;
Var a,b,c :Integer;
Begin
Clrscr;
Writeln (‘Hay nhap so a: ’);
Readln (a);
Writenln (‘Hay nhap so b: ’);
Readln (b);
Writeln (‘Hay nhap so c: ’);
Readln (c);
If a>b and a>c then writeln (‘ a la so lon nhat’);
If b>a and b>c then writeln (‘b la so lon nhat’);
If c>a and c>b then writeln (‘c la so lon nhat’);
Readln;
End.
Câu 7: Viết chương trình tính tổng N số tự nhiên đầu tiên?
Program Tong_N;
Uses crt;
Var N,T,I: Integer;
Begin
Clrscr;
Write (‘Hay nhap N: ’);
Readln (N);
T:= 0
For i:=1 to N do T:=T+i;
Writeln (‘Tong cua N so tu nhin dau tien la ’, N);
Readln;
End.
Câu 8: Viết chương trình tính N! (Với N! = 1*2*3*…*n)?
Program Tinh_tich;
Uses crt;
Var N,i :Integer;
Giai thua: Longint;
Begin
Clrscr;
Write (‘Hay nhap N: ’);
Readln (N);
Giai thua :=1
For i:=1 to N do Giai thua:= Giai thua*I;
Writeln (‘Tich la ’, Giai thua);
Readln;
End.