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 ĐỘNGEm hãy vẽ sơ đồ khối thể hiện cấu trúc rẽ nhánh trong ví dụ ở Hình 1b. Show
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 đâyGiả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: Xem thêm các sách tham khảo liên quan:
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 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ụ: 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: BeginThuậ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:
- Nhận xét: Các mênh đề rẽ nhánh thường có 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: - Hoạt động:
3. Cấu trúc if..... then..... else..... (dạng đủ)- Cấu trúc: IF <Điều kiện> THEN - Trong đó:
- Sơ đồ khối: - Hoạt động:
4. Câu lệnh ghépa. Đị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 - Trong đó:
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. |