Em hãy lấy 1 ví dụ có sử dụng câu lệnh rẽ nhánh và vẽ sơ đồ khối thể hiện bài toán đó

HOẠT ĐỘNG

Em hãy vẽ sơ đồ khối thể hiện cấu trúc rẽ nhánh trong ví dụ ở Hình 1b.

Em hãy lấy 1 ví dụ có sử dụng câu lệnh rẽ nhánh và vẽ sơ đồ khối thể hiện bài toán đó


Em hãy lấy 1 ví dụ có sử dụng câu lệnh rẽ nhánh và vẽ sơ đồ khối thể hiện bài toán đó


Câu “Nếu trời mưa thì em không đi đá bóng” có chứa cấu trúc nào? Em hãy mô tả câu này bằng sơ đồ khối.

Phương pháp giải - Xem chi tiết

- Sơ đồ khối của một thuật toán là một sơ đồ gồm các hình mô tả các bước và đường có mũi tên để chỉ hướng thực hiện.

- Có 2 dạng cấu trúc của sơ đồ khối:

Cấu trúc tuần tự: thực hiện lần lượt các lệnh theo trình tự từ bắt đầu đến kết thúc.

Cấu trúc rẽ nhánh:

+ Cấu trúc rẽ nhánh dạng thiếu: Nếu điều kiện đúng thì thực hiện lệnh.

+ Cấu trúc rẽ nhánh dạng đủ: Nếu điều kiện đúng thì thực hiện lệnh 1, nếu sai thì thực hiện lệnh 2.

- Câu “Nếu trời mưa thì em không đá bóng” chứa cấu trúc rẽ nhánh dạng thiếu.

Xem toàn bộ tài liệu Lớp 11: tại đây

Giải Bài Tập Tin Học 11 – Bài 9: Cấu trúc rẽ nhánh giúp HS giải bài tập, giúp cho các em hình thành và phát triển năng lực sử dụng công nghệ thông tin và truyền thông:

    • Sách Giáo Viên Tin Học Lớp 11

    1. Rẽ nhánh

    Cấu trúc rẽ nhánh: Cấu trúc dùng để diễn đạt một việc sẽ được thực hiện khi một điều kiện cụ thể được thỏa mãn.

    Rẽ nhánh bao gồm 2 loại:

    + Dạng thiếu: Nếu … thì

    Ví dụ: Nếu trời nắng thì chúng ta sẽ đi chơi.

    Vậy nếu trời không nắng thì chúng ta làm gì còn chưa biết.

    + Dạng đủ: Nếu … thì …,nếu không thì.

    Ví dụ: Nếu trời nắng thì chúng ta sẽ đi chơi, nếu không thì chúng ta sẽ ở đọc truyện ở nhà.

    Vậy nếu trời không nắng chúng ta sẽ ở nhà đọc truyện.

    2. Câu lệnh if-then

    Để 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ạnh thiếu và đủ nói ở trên, Pascal có hai câu lệnh if-then.

    a) Dạng thiếu

    if<điều kiện> then ;

    b) Dạng đủ

    if<điều kiện> then else ;

    Trong đó:

    + Điều kiện là biểu thức logic.

    + Câu lệnh, câu lệnh 1, câu lệnh 2 là một câu lệnh của Pascal.

    Ở dạng thiếu: điều kiện sẽ được tính và kiểm tra. Nếu điều kiện đúng (có giá trị true) thì câu lệnh sẽ được thực hiện, ngược lại thì câu lệnh sẽ bị bỏ qua.

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

    Ví dụ:

    If d<=0 writeln(‘day la so duong’); If a mod 3=0 then writeln(‘a chia het cho 3’) Else writeln(‘a khong chia het cho 3’);

    3. Câu lệnh ghép

    Trong nhiều trường hợp ,sau một số từ khóa (như then hoặc else ) phải là một lệnh đơn. Nhưng trong nhiều trường hợp các thao tác sau những tên dành riêng đòi hỏi không chỉ một mà là nhiều câu lệnh để mô tả. Trong trường hợp như vậy, ngôn ngữ lập trình cho phép gộp một dãy các câu lệnh thành một câu lệnh ghép.

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

    Begin ; End;

    Thuật ngữ câu lệnh, câu lệnh 1, câu lệnh 2 trong các câu lệnh if-then ở mục trên có thể là câu lệnh ghép.

    Ví dụ:

    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;

    Ví dụ 2:

    Viết chương trình tìm nghiệm thực của phương trình bậc hai:

    ax2+bx+c = 0 với a ≠ 0.

    Program gptb2; 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.

    BÀI 9. CẤU TRÚC RẼ NHÁNH

    1. Cấu trúc rẽ nhánh

    - Xét các ví dụ sau:

    • VD1: Chiều mai nếu trời không mưa thì Hùng đến nhà Tâm để học nhóm.
    • VD2: Chiều mai nếu trời không mưa thì Hùng đến nhà Tâm để học nhóm, nếu trời mưa thì Hùng gọi điện cho Tâm trao đổi.

    - Nhận xét: Các mênh đề rẽ nhánh thường có dạng:

    • Nếu.....Thì....... → Đây là cách diễn đạt dạng thiếu
    • Nếu......Thì......Nếu không thì...... → cách diễn đạt dạng đủ

    => Cấu trúc dùng để mô tả các mệnh đề có dạng như trên được gọi là cấu trúc rẽ nhánh dạng thiếu và đủ.

    - Ví dụ: Thuật toán giải và biện luận phương trình bậc nhất ax + b = 0

    Bước 1: Nhập a, b

    Bước 2: Nếu a<>0 thì x:=-b/a → bước 4

                  Ngược lại → bước 3

    Bước 3: Nếu b<>0 thì thông báo phương trình vô nghiệm

                  Ngược lại thông báo phương trình vô số nghiệm.

    Bước 4: Đưa x ra màn hình.

    2. Cấu trúc if..... then..... (dạng thiếu)

    - Cấu trúc:

    IF <Điều kiện> THEN;

    - Sơ đồ khối:

    Em hãy lấy 1 ví dụ có sử dụng câu lệnh rẽ nhánh và vẽ sơ đồ khối thể hiện bài toán đó
            

    - Hoạt động:

    • Bước 1: Tính giá trị của biểu thức điều kiện.
    • Bước 2: Kiểm tra giá trị của biểu thức điều kiện
      • Nếu biểu thức điều kiện có giá trị đúng thì thực hiện câu lệnh sau từ khoá THEN, rồi thoát ra khỏi câu lệnh IF, chuyển sang câu lệnh tiếp theo.
      • Nếu biểu thức điều kiện có giá trị sai thì thoát ra khỏi câu lệnh IF và chuyển đến thực hiện lệnh tiếp theo.

    3. Cấu trúc if..... then..... else..... (dạng đủ)

    - Cấu trúc: 

    IF <Điều kiện> THEN  ELSE ;

    - Trong đó:

    • IF, THEN, ELSE là từ khoá
    • Điều kiện: Là biểu thức Logic hoặc biểu thức quan hệ.

    - Sơ đồ khối:

    Em hãy lấy 1 ví dụ có sử dụng câu lệnh rẽ nhánh và vẽ sơ đồ khối thể hiện bài toán đó

    - Hoạt động: 

    • Bước 1: Tính giá trị của biểu thức điều kiện.
    • Bước 2: Kiểm tra giá trị của biểu thức điều kiện
      • Nếu biểu thức điều kiện có giá trị đúng thì thực hiện câu lệnh sau từ khoá THEN, rồi thoát ra khỏi câu lệnh IF, chuyển đến thực hiện lệnh tiếp theo.
      • Nếu biểu thức điều kiện có giá trị sai thì thực hiện câu lệnh 2 sau từ khóa ELSE, rồi thoát ra khỏi câu lệnh IF, chuyển đến thực hiện lệnh tiếp theo.

    4. Câu lệnh ghép

    a. Định nghĩa

    - Khi sau THEN và sau ELSE có từ 2 câu lệnh trở lên ta phải ghép chúng lại thành một nhóm nằm giữa 2 từ khoá BEGIN và END.

    => Định nghĩa: Một nhóm câu lệnh đơn được đặt giữa 2 từ khóa BEGIN và END sẽ tạo thành một câu lệnh ghép. 

    b. Cú pháp:

    BEGIN
         câu lệnh 1;
         câu lệnh 2;
         .....
         câu lệnh n;
    END;

    - Trong đó: 

    • BEGIN, END là từ khoá
    • câu lệnh 1, câu lệnh 2, ... câu lệnh n là các câu lệnh đơn bất kỳ.

    c. Ví dụ

    - Ví dụ 1: Tìm nghiệm của phương trình bậc 2: ax2 + bx + c = 0 với a\(\ne\)0

    PROGRAM vidu1; VAR a,b,c,x,x1,x2,delta:real; BEGIN      Write(‘nhap a,b,a’); readln(a,b,c);      Delta:=b*b-4*a*c;

         IF delta <0 THEN


              writeln(‘phuong trinh vo nghiem’)
         ELSE IF delta=0 THEN
         Begin
              X:=-b/2*a;
              Writeln(‘phuong trinh co 1 nghiem la:’,x:8:2);
         End; 
         ELSE
         Begin  
              X1:=(-b-sqrt(delta))/2*a;  
              X2:=(-b+sqrt(delta))/2*a;
         End;
         Readln; 
    END.

    - Ví dụ 2: Chương trình tìm nghiệm của phương trình bậc nhất ax + b = 0

    PROGRAM vidu2; VAR a,b,x:real;

    BEGIN


         Write(‘nhap a,b’); readln(a,b);
         IF a<>0 THEN
         Begin
              X:=-b/a;
              writeln(‘phuongtrinh co nghiem  la:’,x:8:2);
         End;
         ELSE IF b=0 THEN  
              writeln(‘phuong trinh vo so nghiem’);
         Else
              writeln(‘phuong trinh vo nghiem’);
         Readln;
    END.

    * Lưu ý: 

    - Trong Pascal ta có thể đặt các lệnh ghép con trong các lệnh ghép lớn hơn bao ngoài của nó và có thể hiểu tương tự như cấu trúc ngoặc đơn ( ) trong các biểu thức toán học.