Bài tập c++ cấu trúc rẽ nhánh có đáp án năm 2024

Để mô tả cấu trúc rẽ nhánh, Pascal dùng câu lệnh if-then. Tương ứng với hai dạng mệnh đề thiếu và đủ nói ở trên, Pascal có hai dạng câu lệnh if-then:

a. Dạng thiếu

Cú pháp: If < Điều kiện > then < Câu lệnh >;

Trong đó:

  • Điều kiện: Là biểu thức quan hệ hoặc logic.
  • Câu lệnh: Là một câu lệnh của Pascal.

Sơ đồ:

.png)

Hình 1. Sơ đồ cấu trúc rẽ nhánh dạng thiếu

Ý nghĩa: Điều kiện sẽ được tính và kiểm tra. Nếu điều kiện đúng thì câu lệnh được thực hiện, nếu điều kiện sai thì câu lệnh sẽ bị bỏ qua.

Ví dụ 2:

if Delta < 0 then writeln('Phuong trinh vo nghiem.');

b. Dạng đủ

Cú pháp:

If < Điều kiện > then < Câu lệnh 1 >

else < Câu lệnh 2 >;

Trong đó:

  • Điều kiện: Là biểu thức quan hệ hoặc logic.
  • Câu lệnh 1, câu lệnh 2: Là một câu lệnh của Pascal.

Sơ đồ:

.png)

Hình 2. Sơ đồ cấu trúc rẽ nhánh dạng đủ

Ý nghĩa: Điều kiện sẽ được tính và kiểm tra. Nếu điều kiện đúng thì thực hiện câu lệnh 1, ngược lại thì thực hiện câu lệnh 2.

Chú ý 1: Trước từ khóa Else không có dấu chấm phẩy (;).

Ví dụ 3:

if a mod 3 = 0 then write('a chia het cho 3')

else write('a khong chia het cho 3');

1.3. Câu lệnh ghép

Trong Pascal câu lệnh ghép có dạng:

Begin

< Các câu lệnh >;

End;

Chú ý 2: Sau END phải có dấu chấm phẩy (;)

Ví dụ 4:

if D < 0 then writeln('Phuong trinh vo nghiem.')

else

begin

x1:= (-b – sqrt(b*b – 4*a*c))/(2*a);

x2:= -b/a-x1

end;

1.4. Một số ví dụ

Ví dụ 5. Tìm nghiệm thực của phương trình bậc hai:

ax2 + bx + c = 0 , với a \(\neq\) 0.

Xây dựng ý tưởng:

  • Nhập 3 số a,b,c.
  • Tính: delta:=b*b-4*a*c.
  • Nếu delta<0 thì pt vô nghiêm, ngược lại thì phương trình có nghiệm.
  • Dùng câu lệnh if-then dạng đủ.

Xác định bài toán:

  • Input: Các hệ số a, b, c nhập từ bàn phím.
  • Output: Đưa ra màn hình các nghiệm thực hoặc thông báo "Phuong trinh vo nghiem".

program Giai_PTB2;

uses crt;

var a,b,c: real;

D, x1, x2: real;

begin

clrscr;

write(' a, b, c: ');

readln(a, b, c);

D:= b*b – 4*a*c;

if D < 0 then writeln('Phuong trinh vo nghiem.')

else

begin

x1:= (-b – sqrt(D))/(2*a);

x2:= -b/a – x1;

writeln(' x1 = ', x1: 8:3,' x2 = ', x2:8:3);

end;

readln

end.

Ví dụ 5:

Tìm số ngày của năm N, biết rằng năm nhuận là năm chia hết cho 400 hoặc chia hết cho 4 nhưng không chia hết cho 100. Ví dụ, các năm 2000, 2004 là năm nhuận và có số ngày là 366, các năm 1900, 1945 không phải là năm nhuận và có số ngày là 365.