VinaOnline.net

Ôn tập cấu trúc rẽ nhánh trong lập trình Pascal : Giải thích chi tiết, dễ hiểu

Ôn tập cấu trúc rẽ nhánh trong lập trình Pascal nhằm củng cố kiến thức đã học. Trọng tâm là các dạng cấu trúc rẽ nhánh. Vinaonline.net hy vọng ôn tập cấu trúc rẽ nhánh trong lập trình Pascal sẽ giúp bạn có kỹ năng phân tích quy trình lập trình Pascal.

Bài 1: Hoàn đổi hai số

Nhập vào hai số nguyên, sau đó in ra hai số nguyên trước và sau khi hoán đổi.

Program hoan_doi;

Uses Crt;

Var a,b:Integer;  // Dung de nhap tu ban phim

c: Integer;    // Luu tam gia tri cua a hoac cua b

Begin

ClrScr;

Write(‘Nhap a: ‘); Readln(a);

Write(‘Nhap b: ‘); Readln(b);

Writeln(‘Hai so chua hoan doi: ‘);

Writeln(‘a= ‘,a,’ b= ‘,b); // Gia su nhap a=2; b=5

c:=a;                             // c=2 (bang gia tri cua a)

a:=b;                            // a=5 (bang gia tri cua b)

b:=c;                            // b=2 (bang gia tri cua c)

Writeln(‘Hai so da hoan doi: ‘);

Write(‘a= ‘,a,’ b= ‘,b);

Readln;

End.

Chú ý:

– Ý nghĩa của việc hoán đổi này như sau: Bạn có hai cốc nước (giả sử màu xanh và màu vàng). Muốn hoán đổi thì phải nhờ một cốc khác (chưa có nước) để đổ nước màu xanh hoặc màu vàng vào cốc này.

– Bạn có thể tham khảo bài viết liên quan đến phép gán trong lập trình Pascal.

Bài 2: Tìm số lớn nhất của hai số

Nhập vào hai số. In ra màn hình số lớn hơn (lớn nhất).

Cách 1

Program so_lon_nhat1;

Uses Crt;

Var a,b: Integer;

Begin

ClrScr;

Write(‘Nhap a: ‘); Readln(a);

Write(‘Nhap b: ‘); Readln(b);

If a>=b Then

Writeln(‘So lon nhat la: ‘,a)

Else

Writeln(‘So lon nhat la: ‘,b);

Readln;

End.

Cách 2

Program so_lon_nhat2;

Uses Crt;

Var a,b: Integer;

max: Integer; // dung de luu gia tri lon nhat

Begin

ClrScr;

Write(‘Nhap a: ‘); Readln(a);

Write(‘Nhap b: ‘); Readln(b);

max:=a;

If max<b Then

max:=b;

Writeln(‘So lon nhat la: ‘,max);

Readln;

End.

Mở rộng với ba số

Program so_lon_nhat3;

Uses Crt;

Var a,b,c: Integer;

max: Integer; // dung de luu gia tri lon nhat

Begin

ClrScr;

Write(‘Nhap a: ‘); Readln(a);

Write(‘Nhap b: ‘); Readln(b);

Write(‘Nhap c: ‘); Readln(c);

max:=a;

If max<b Then

max:=b;

If max<c Then

max:=c;

Writeln(‘So lon nhat la: ‘,max);

Readln;

End.

Dùng khung này, bạn có thể tím số lớn nhất trong bốn số.

Bài 3: Kiểm tra và tính cv & dt tam giác

Nhập vào ba cạnh của một tam giác. Kiểm tra tam giác có hợp lệ không? Nếu hợp lệ, hãy tính chu vi và diện tích của tam giác đó.

Program cv_dt_tamgiac;

Uses Crt;

Var a,b,c: Real;

s: Real; // s: dien tich tam giac

p: Real; // p: nua chu vi

Begin

ClrScr;

Write(‘Nhap canh a: ‘); Readln(a);

Write(‘Nhap canh b: ‘); Readln(b);

Write(‘Nhap canh c: ‘); Readln(c);

If ((a>=b+c) or (b>=a+c) or (c>=a+b)) Then

Writeln(‘Tam giac khong hop le’)

Else

Begin

p:=(a+b+c)/2;

s:=SQRT(p*(p-a)*(p-b)*(p-c));

Writeln(‘Chu vi tam giac la: ‘,2*p:2:1);

Writeln(‘Dien tich tam giac la: ‘,s:2:1);

End;

Readln;

End.

Chú ý:

– Sau cấu trúc If, Else muốn thực hiện nhiều câu lệnh thì phải bao bởi cặp Begin End;

– Hàm SQRT tính căn bậc 2 của một số.

Ví dụ:

SQRT(4)=2

Bài 4: Tính toán dựa vào phép tính nhập từ bàn phím

Nhập vào hai số và một phép tính. Tính toán dựa vào phép tính được nhập từ bàn phím. Giả sử số thứ nhất là số đứng bên trái phép tính.

Program tinh_toan;

Uses Crt;

Var a,b: Integer;

phep_tinh: String;

ket_qua: Real;

Begin

ClrScr;

Write(‘Nhap a: ‘); Readln(a);

Write(‘Nhap b: ‘); Readln(b);

Write(‘Nhap phep tinh: ‘); Readln(phep_tinh);

If phep_tinh=’+’ Then

ket_qua:=a+b;

If phep_tinh=’-‘ Then

ket_qua:=a-b;

If phep_tinh=’*’ Then

ket_qua:=a*b;

If phep_tinh=’/’ Then

ket_qua:=a/b;

If phep_tinh=’mod’ Then

ket_qua:=a mod b;

If phep_tinh=’div’ Then

ket_qua:=a div b;

Writeln(‘Ket qua ‘,ket_qua:2:1);

Readln;

End.

Phân tích chương trình:

– Nếu chỉ sử dụng bốn phép tính +, -, *, / thì phần khai báo biến “phep_tinh” khai báo kiểu char (1 ký tự) là được, nhưng có moddiv nên phải khai báo “phep_tinh” kiểu string.

Lời kết

Ôn tập cấu trúc rẽ nhánh trong lập trình Pascal kết hợp với một số bài tập trong bài viết cấu trúc rẽ nhánh trong Pascal. Đủ nhiều để bạn phân tích những bài tập tương tự, hãy nhớ rằng phải phân tích chương trình dựa trên Quy trình lập trình Pascal. Vinaonline.net chúc bạn học ôn tập thật tốt.

Leave a Comment