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<Câu lệnh>;

– Sơ đồ khối:

– 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 <Câu lệnh 1> ELSE <Câu lệnh 2>;

– 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:

– 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.

158 BÌNH LUẬN

  1. Its like you read my mind! You seem to know a lot about this, like you wrote the book in it or something.
    I think that you can do with some pics to drive the message home a little bit, but other than that, this is
    great blog. A great read. I’ll definitely be back.

  2. My brother suggested I might like this web site. He was totally right. This post truly made my day. You cann at imagine just how much time I had spent for this information! Thanks!

  3. That is a very good tip particularly to those fresh to the blogosphere. Brief but very accurate information Many thanks for sharing this one. A must read article!

  4. My brother recommended I might like this website. He was totally right. This post actually made my day. You cann at imagine just how much time I had spent for this information! Thanks!

  5. excellent issues altogether, you just gained a brand new reader.
    What may you recommend about your put up that you made a few days ago?
    Any positive?

  6. You ave made some really good points there. I looked on the internet for additional information about the issue and found most people will go along with your views on this website.

  7. Thank you for some other wonderful post. Where else may just anybody get that type of info in such an ideal way of writing? I have a presentation subsequent week, and I am on the search for such info.

  8. It as not that I want to replicate your web page, but I really like the pattern. Could you let me know which design are you using? Or was it especially designed?

  9. Very nice post. I just stumbled upon your weblog and wished to say that I ave really enjoyed browsing your blog posts. After all I will be subscribing to your feed and I hope you write again soon!

  10. Normally I don at read post on blogs, but I wish to say that this write-up very forced me to try and do it! Your writing style has been amazed me. Thanks, very great post.

  11. Oh my goodness! Incredible article dude! Thank you, However I am going through troubles with your RSS.
    I don’t know the reason why I cannot subscribe to it.
    Is there anyone else having the same RSS problems?
    Anybody who knows the answer will you kindly respond?
    Thanks!!

  12. Simply desire to say your article is as amazing.

    The clarity to your post is just spectacular and i can assume
    you’re an expert in this subject. Fine together with your permission allow me to seize your RSS feed to keep
    updated with imminent post. Thanks a million and please continue the enjoyable work.

  13. After going over a number of the articles on your website, I truly appreciate your technique of writing a blog.

    I bookmarked it to my bookmark site list and
    will be checking back soon. Please check out my website as well
    and tell me how you feel.

  14. I have learn a few excellent stuff here. Definitely value bookmarking for
    revisiting. I wonder how so much effort you set to make this kind of excellent informative web site.

  15. Hi, i think that i saw you visited my website so i got here to return the favor?.I’m trying
    to find things to improve my web site!I assume its adequate
    to use some of your concepts!!

  16. Wow! This blog looks just like my old one! It as on a completely different topic but it has pretty much the same layout and design. Outstanding choice of colors!

  17. This is really interesting, You are a very skilled blogger. I ave joined your feed and look forward to seeking more of your wonderful post. Also, I have shared your web site in my social networks!

  18. Thank you, I ave just been looking for information about this subject for ages and yours is the greatest I ave discovered till now. But, what about the conclusion? Are you sure about the source?

  19. Spot taking place with this write-up, I rightly ponder this website wants much further issue. I all in every probability be yet again to read a long way additional, merit for that info.

  20. Your style is really unique compared to other folks I ave read stuff from. I appreciate you for posting when you ave got the opportunity, Guess I will just bookmark this blog.

  21. magnificent points altogether, you just won a brand new reader. What may you suggest in regards to your publish that you made a few days ago? Any sure?

  22. Wow! This could be one particular of the most useful blogs We have ever arrive across on this subject. Actually Wonderful. I am also an expert in this topic therefore I can understand your effort.

  23. Wow! This can be one particular of the most helpful blogs We ave ever arrive across on this subject. Basically Excellent. I am also a specialist in this topic so I can understand your hard work.

THOÁT KHỎI BÌNH LUẬN

Please enter your comment!
Please enter your name here