1. Khái niệm chương trình con

– Những bài toán phức tạp có thể phân chia thành nhiều bài nêu nhỏ, mỗi bài nêu nhỏ được phân chia thành nhiều bài nêu nhỏ, quá trình làm “mịn” dần bài toán như vậy được gọi là cách thiết kế từ trên xuống.

– Khi lập trình để giải các bài nêu có thể chia thành các khối, mỗi khối bao gồm các lệnh để giải 1 bài nêu nào đó, mỗi khối lệnh được xây dựng thành 1 chương trình con, sau đó chương trình chính được xây dựng trên các chương trình con này, cách lập trình như vậy gọi là chương trình có cấu trúc.

– Chương trình con là một dãy lệnh mô tả một số thao tác nhất định và có thể được thực hiện (được gọi ) từ nhiều vị trí trong chương trình.

– Lợi ích của việc sử dụng chương trình con:

  • Tránh được việc phải viết đi viết lại nhiều lần cùng 1 dóy lệnh;
  • Hổ trợ việc thực hiện các chương trình lớn;
  • Phục vụ cho quỏ trình trừu tượng hoá ;
  • Mở rộng khả năng ngôn ngữ;
  • Thuận tiện cho phát triển, nâng cấp chương trình;

2. Phân loại và cấu trúc của chương trình con

a. Phân loại:

  • Hàm: Là chương trình con thực hiện một số thao tác nào đó. Trả lại giá trị qua tên của hàm.
  • Thủ tục: Là chương trình con thực hiện một số thao tác nào đó. Không trả lại giá trị qua tên của thủ tục.

b. Cấu trúc chương trình con

<Phần đầu>

[<Phần khai báo >]

<Phần thân >

* Phần đầu:

  • Để khai báo tên của hàm hoặc thủ tục.
  • Nếu là hàm phải khai báo kiểu dữ liệu chỉ giá trị trả về của hàm.
  • Nhất thiết phải có.

* Phần khai báo:

  • Khai báo các biến cho dữ liệu vào/ra, các hằng và biến dùng trong chương trình con.

* Phần thân:

  • Gồm dãy các lệnh thực hiện để từ những dữ iệu vào/ra ta nhận dữ liệu ra hay kết qủa mong muốn.

c. Khái niệm các biến:

  • Tham số hình thức: gồm các biến được khai báo cho dữ liệu vào/ra.
  • Biến cục bộ: Gồm các biến khái được khai báo trong chương trình con.
  • Biến toàn cục: Gồm các biến khái được khai báo trong chương trình chính.

* Phạm vi hoạt động của các biến:

  • Biến cục bộ:
    • Chỉ sử dụng trong một chương trình con cuả nú mà thụi.
    • Không thể sử dụng biến cục bộ cuả một chương trình con cho chương trình chính và các chương trình con khác.
  • Biến toàn cục: Được sử dụng trong chương trình chính cũng có thể sử dụng trong chương trình con.

d. Thực hiện chương trình con:

  • Để thực hiện gọi chương trình con ta thực hiện lệnh theo có pháp sau:

<tên chương trình con>(<tham số thực sự>)

Trong đó: tham số thực sự là các hằng, biến chứa dữ liệu vào/ ra.

* Chú ý: Trong quá trình xây dựng CTC, khi nào thì nên dùng thủ tục/hàm?

Dùng hàm Dùng thủ tục
– Kết quả của bài toán trả về 1 giá trị duy nhất (kiểu vô hướng, kiểu string hoặc kiểu con trỏ).

– Lời gọi chương trình con cần nằm trong các biểu thức tính toán.

– Kết quả của bài toán không trả về giá trị nào hoặc trả về nhiều giá trị hoặc trả về  kiểu dữ liệu có cấu trúc (Array, Record, File).

– Lời gọi chương trình con không nằm trong các biểu thức tính toán.


  1. I think that is among the such a lot vital
    info for me. And i am glad reading your article.

    But should commentary on some common issues, The website style is ideal,
    the articles is in point of fact great : D. Just right task,

  2. paraphrase) aаАа’б‚Т€ТšаЂаŒ?never sacrificed construction regarding feelings. aаАа’б‚Т€ТšаЂаŒаАа’б‚Т€ТžаБТž In any situation, however some people accuse your pet to be strictly attractive, Mozart in

  3. I will immediately grasp your rss feed as I can not find your e-mail subscription link or newsletter service. Do you have any? Kindly let me recognize in order that I could subscribe. Thanks.

  4. You can definitely see your enthusiasm in the work you write. The world hopes for more passionate writers like you who are not afraid to say how they believe. Always go after your heart.

  5. This awesome blog is no doubt interesting and besides informative. I have found helluva interesting things out of this amazing blog. I ad love to go back every once in a while. Thanks a lot!

  6. Thanks for another wonderful article. Where else could anyone get that kind of info in such an ideal manner of writing? I ave a presentation next week, and I am on the look for such information.

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

  8. La confirmación de que estamos frente a una impotencia de causa orgánica y no psicógena se realiza con un test nocturno que mide la presencia de erecciones espontáneas durante el sueño. Si considera que alguno de los efectos adversos que sufre es grave o si aprecia cualquier efecto adverso no mencionado en este prospecto, informe a su médico o farmacéutico.

  9. You actually make it seem really easy together with your presentation but I to
    find this topic to be really something that I believe I would never
    understand. It seems too complex and very wide for me.
    I am looking forward on your subsequent submit, I’ll attempt
    to get the hang of it!

  10. you are really a good webmaster. The site loading speed is amazing. It seems that you are doing any unique trick. Also, The contents are masterpiece. you have done a magnificent job on this topic!

  11. Hi my family member! I want to say that this article is amazing, great written and come with almost all important infos.
    I would like to see extra posts like this .

  12. Heya i am for the first time here. I found this board and I find
    It truly useful & it helped me out much. I hope to give something back and help others like you aided me.

  13. You can certainly see your enthusiasm within the article you write.
    The sector hopes for more passionate writers such as you who are not afraid to say how they believe.
    Always follow your heart.

  14. Usually I don at learn post on blogs, but I would like to say that this write-up very compelled me to check out and do so! Your writing taste has been surprised me. Thanks, very nice post.

  15. This content has a lot of great information that is apparently intended to make you think. There are excellent points made here and I agree on many. I like the way this content is written.

  16. Terrific work! That is the type of info that are supposed to be shared around the web. Shame on Google for now not positioning this submit upper! Come on over and discuss with my web site. Thanks =)

  17. You can definitely see your expertise in the work you write. The arena hopes for more passionate writers like you who aren at afraid to mention how they believe. All the time go after your heart.

  18. Your style is so unique in comparison to other folks I have read stuff from. I appreciate you for posting when you ave got the opportunity, Guess I will just book mark this blog.

  19. We stumbled over here coming from a different web address and thought I may as well check things out. I like what I see so now i am following you. Look forward to looking into your web page yet again.

  20. My brother suggested I might like this website. He was entirely right. This post actually made my day. You can not imagine simply how much time I had spent for this information! Thanks!

  21. Usually I don at learn post on blogs, but I wish to say that this write-up very forced me to take a look at and do it! Your writing taste has been surprised me. Thank you, very great post.


Please enter your comment!
Please enter your name here