Lập Trình Pascal Bài 9 : Cấu trúc rẽ nhánh trong Pascal ( If ... Then ... Else ... ; )

Đăng: AdamWilling
792 Lượt Xem
Thời Gian: 19/01/2019 lúc 21:20:52

Bài 9 : Cấu trúc rẽ nhánh trong Pascal ( If ... Then ... Else ... ; )

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.
Giới Thiệu

AdamWilling

Cuộc sống này! Để đứng được ở những nơi mà không ai đứng được, phải làm được những điều mà không ai làm được!
Bình Luận Bài Viết
Chia Sẻ Bài Viết
Link:
BBCode:
HTML:
Cùng Chuyên Mục
Đề Xuất
Tiện Ích Online
Fanpage Facebook