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:
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 <câu lệnh>;
b) Dạng đủ
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 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 <các câu lệnh>; 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.