Tải bản đầy đủ (.pptx) (20 trang)

CHUONG TRINH CON

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (385.28 KB, 20 trang )

<span class='text_page_counter'>(1)</span><div class='page_container' data-page=1>

CHƯƠNG TRÌNH CON



Cho một ngũ giác (như hình vẽ) với các độ dài a,
b, c, d, e, f, g. Hãy tính diện tính hình sau đây?


<b>b</b>
<b>c</b>


<b>a</b>


<b>B</b>


<b>C</b>
<b>A</b>


<b>g</b>


<b>e</b> <b>d</b>


<b>E</b>


<b>f</b>


<b>D</b>


Để tính diện tích của hình trên thì ta cần phải tính
diện tích của từng tam giác nhỏ. Sau đó cộng diện
tích của 3 tam giác đó lại.


</div>
<span class='text_page_counter'>(2)</span><div class='page_container' data-page=2>

<b>b</b>
<b>c</b>


<b>a</b>
<b>B</b>
<b>C</b>
<b>A</b>
<b>g</b>
<b>e</b> <b>d</b>
<b>E</b>
<b>f</b>
<b>D</b>
<i><b>writeln('Moi nhap a, b, c: ');</b></i>


<i><b>readln(a,b,c);</b></i>
<i><b>p1:=(a+b+c)/2;</b></i>


<i><b>s1:= sqrt(p1*(p1-a)*(p1-b)*(p1-c));</b></i>


<i><b>writeln('Moi nhap g,e, f: ');</b></i>
<i><b>readln(g,e, f);</b></i>


<i><b>p3:=(e+f+g)/2;</b></i>


<i><b>s3:= sqrt(p3*(p3-e)*(p3-g)*(p3-f));</b></i>


<i><b>writeln('Moi nhap d, c,e: ');</b></i>
<i><b>readln(d, c,e);</b></i>


<i><b>p2:=(c+d+e)/2;</b></i>


<i><b>s2:= sqrt(p2*(p2-c)*(p2-d)*(p2-e));</b></i>



<i><b>s:=s1+s2+s3;</b></i>


<i><b>writeln('Dien tich cua ngu giac la: ', s);</b></i>


<b>2</b>





</div>
<span class='text_page_counter'>(3)</span><div class='page_container' data-page=3>

<b>3</b>


<b>Code không sử dụng </b>


<b>chương trình con</b>



</div>
<span class='text_page_counter'>(4)</span><div class='page_container' data-page=4>

CHƯƠNG TRÌNH CON



 Việc giải quyết 1 bài tốn phức tạp có thể phân thành


các bài tốn con.


 Khi lập trình, để viết chương trình giải các bài tốn


lớn, phức tạp người lập trình có thể chia thành nhiều
bài tốn nhỏ (cịn gọi là khối), mỗi bài tốn là một dãy
lệnh mơ tả một số thao tác nhất định (gọi là chương


trình con). Sau đó ghép nối các chương trình con thành
chương trình chính. <i><b><sub>Nhóm trưởng</sub></b></i>


Cơng việc A



Cơn


g việ<sub>c</sub><sub> B</sub>


Kết quả A


</div>
<span class='text_page_counter'>(5)</span><div class='page_container' data-page=5>

<i><b>FUNCTION Tru(a, b: </b></i>
<i><b>integer): integer;</b></i>


<i><b> begin</b></i>


<i><b> tru:=a - b;</b></i>
<i><b> end;</b></i>


<i><b>FUNCTION Cong(a, b: </b></i>
<i><b>integer): integer;</b></i>


<i><b> begin</b></i>


<i><b> cong:=a + b;</b></i>
<i><b> end;</b></i>


<i><b>FUNCTION Chia(a, b: </b></i>
<i><b>integer): integer;</b></i>


<i><b> begin</b></i>


<i><b> chia:=a DIV b;</b></i>
<i><b> end;</b></i>



<i><b>FUNCTION Nhan(a, b: </b></i>
<i><b>integer): integer;</b></i>


<i><b> begin</b></i>


<i><b> nhan:=a * b;</b></i>
<i><b> end;</b></i>


<b>CHƯƠNG TRÌNH CON (HAY </b>
<b>KHỐI LỆNH)</b>


<b>5</b>


</div>
<span class='text_page_counter'>(6)</span><div class='page_container' data-page=6>

CHƯƠNG TRÌNH CON



Chương trình con là một khối lệnh nhằm



giải quyết một bài toán con để góp phần


giải quyết một bài tốn lớn hơn bằng một


chương trình.



Khi phải viết những chương trình dài,



phức tạp, việc sử dụng chương trình con là


hết sức cần thiết

.


</div>
<span class='text_page_counter'>(7)</span><div class='page_container' data-page=7>

LỢI ÍCH KHI SỬ DỤNG CHƯƠNG TRÌNH


CON




o <sub>Tránh được việc phải viết lặp đi lặp lại cùng </sub>


một dãy lệnh.


o <sub>Hỗ trợ việc thực hiện các chương trình lớn.</sub>
o <sub>Phục vụ cho q trính trừu tượng hố</sub>


o <sub>Thuận tiện cho phát triển, nâng cấp chương </sub>


</div>
<span class='text_page_counter'>(8)</span><div class='page_container' data-page=8>

<b>THỦ TỤC(procedure)</b>
<b>HÀM(function)</b>


Là chương trình con thực
hiện các thao tác lệnh nhất
định nào đó, nhưng <b>khơng </b>
<b>trả về giá trị nào qua tên </b>
<b>của của thủ tục</b>.


Là chương trình con thực
hiện một số thao tác lệnh nào
đó, và <b>trả về một giá trị qua </b>
<b>tên của hàm</b>.


<b>Writeln();</b>
<b>Readln();</b>
<b>- Sqr();</b>


- <b><sub> Sqrt();</sub></b>
- <b><sub> Abs();</sub></b>
- <b><sub> Exp();</sub></b>


- <b><sub>…</sub><sub>…</sub></b>


PHÂN LOẠI CHƯƠNG TRÌNH CON



<b>CHƯƠNG TRÌNH CON</b>


</div>
<span class='text_page_counter'>(9)</span><div class='page_container' data-page=9>

<b>CẤU TRÚC VÀ VỊ TRÍ CHƯƠNG TRÌNH CON</b>



<i><b>[ Phần khai báo chương trình chính ]</b></i>



<i><b><phần đầu của chuong trinh con></b></i>
<i><b>[<phần khai báo chương trình con>]</b></i>
<i><b><phần thân chương trình con></b></i>


<i><b>Begin</b></i>


<i>{<b>Loi goi chuong trinh con </b>}</i>


<i><b>End.</b></i>


 <i>Phần đầu: </i>khai báo tên của chương trình con, nếu là hàm phải


khai báo kiểu dữ liệu trả về của hàm.


 <i>Phần khai báo</i>: khai báo biến cho dữ liệu vào và ra, các hằng và


biến dùng trong chương trình con.


 <i>Phần thân: </i>dãy câu lệnh.



</div>
<span class='text_page_counter'>(10)</span><div class='page_container' data-page=10>

<b>10</b>


<b>1. Cách viết và sử dụng thủ tục:</b>


Xét ví dụ vẽ hình chữ nhật có dạng sau:
* * * * * * *


* *


* * * * * * *


Ta có thể vẽ hình chữ nhật trên
với ba câu lệnh:


Writeln(‘* * * * * * *’);
Writeln(‘* * * * * * *’);
Writeln(‘* *’);


<b>Program vd1;</b>


<b>Begin</b>


Writeln(‘* * * * * * *’);
Writeln(‘* *’);
Writeln(‘* * * * * * *’);
Readln;


End.


<b> </b>



<i><b>Theo em để vẽ hình</b></i>
<i><b> chữ nhật trên ta phải </b></i>


</div>
<span class='text_page_counter'>(11)</span><div class='page_container' data-page=11>

<b>11</b>


<b>1. Cách viết và sử dụng thủ tục:</b>


Xét ví dụ vẽ 3 hình chữ nhật có dạng sau:


* * * * * * *
* * * * * * *
* *
* * * * * * *
* * * * * * *
* *
* * * * * * *
* * * * * * *
* *


Ta có thể vẽ 3 hình chữ nhật trên với 9 câu lệnh


Writeln(‘* * * * * *
*’);


Writeln(‘* * * * *
**’);


Writeln(‘* * * * * *
*’);



Writeln(‘* * * * * *
*’);


Writeln(‘* * * * * *
*’);


Writeln(‘* * * * * * *’);
Writeln(‘*


*’);


Writeln(‘*
*’);


Writeln(‘* *’);


<b>Program vd1;</b>


<b>Procedure Ve_HCN;</b>


<b>Begin</b>


Writeln(‘* * * * * * *’);
Writeln(‘* *’);
Writeln(‘* * * * * * *’);
Readln;
End;
BEGIN
Ve_HCN;


writeln; writeln;
Ve_HCN;
writeln; writeln;
Ve_HCN;
END.


<i><b>Theo em, để vẽ 3 </b></i>
<i><b>hình chữ nhật trên </b></i>


<i><b>ta phải viết bao </b></i>
<i><b>nhiêu lệnh trong </b></i>


</div>
<span class='text_page_counter'>(12)</span><div class='page_container' data-page=12>

<b>12</b>
<b>1. Cách viết và sử dụng thủ tục:</b>


<b>a. Cấu trúc của thủ tục:</b>


<b>Procedure <tên thủ tục>[<danh sách tham số>];</b>


<b>[<phần khai báo>]</b>


<b>begin</b>


[<dãy các lệnh>]


<b> end;</b>


<b>program</b> VD_thutuc1;


{************************}



<b>procedure</b> Ve_Hcn;


<b>begin</b>


writeln(‘* * * * * * *’);
writeln(‘* * * * * * *’);
writeln(‘* *’);


<b>end;</b>


{************************}


<b>begin</b>


Ve_Hcn;


writeln; writeln;
Ve_Hcn;


writeln; writeln;
Ve_Hcn;


</div>
<span class='text_page_counter'>(13)</span><div class='page_container' data-page=13>

<b>13</b>


<b>2</b>

.

<b>Cách viết và sử dụng hàm</b>



<b>function <</b><i><b>tên hàm</b></i><b>>[(<</b><i><b>danh sách tham số</b></i><b>>)]:<</b><i><b>kiểu dữ liệu</b></i><b>>;</b>
<b>[<</b><i><b>phần khai báo</b></i><b>>]</b>



<b>begin</b>


<b>[<</b><i><b>dãy các lệnh</b></i><b>>]</b>
<b>end;</b>


Trong đó:


• Kiểu dữ liệu là kiểu dữ liệu của giá trị mà
hàm trả về như các kiểu integer, real, char,
boolean, string…


• Trong thân hàm (dãy các lệnh) bắt buộc có
lệnh <b>gán giá trị cho tên hàm</b>:


</div>
<span class='text_page_counter'>(14)</span><div class='page_container' data-page=14>

<b>14</b>


<b>Chương trình tính tổng 2 số</b>


<b>Program </b>TongHaiSo;


<b>var</b> a, b: real;


<b>function</b> <b>Tong</b>(a,b: real): real;


<b>begin</b>


<b>Tong</b>: =a+b;


<b>end;</b>
<b>begin</b>



write(‘Nhap vao hai so:’);
readln(a,b);


writeln(‘Tong 2 so ban dau la: ‘, <b>Tong</b>(a,b));
readln;


</div>
<span class='text_page_counter'>(15)</span><div class='page_container' data-page=15>

<b>15</b>


<b>L ưu ý về việc sử dụng chương trình con</b>

:



Sử dụng chương trình con là

<b>hàm</b>

(function) khi


đáp ứng đồng thời các yêu cầu sau:



-

<sub>Nếu ta muốn nhận lại một và chỉ một kết quả mà </sub>



thơi.



-Có cần dùng tên của chương trình con trong các


biểu thức tính tốn khơng?



</div>
<span class='text_page_counter'>(16)</span><div class='page_container' data-page=16>

<b>16</b>


<b>V Í D Ụ</b>


Đối vói hàm (

<b>function</b>

<b>) sqrt();</b>



-Hàm sqrt(9) trả về một giá trị duy nhất là 3


-Có thể sử dụng trong các biểu thức tính tốn


A:= sqrt(9) + sqrt(16);




Writeln(‘Giá trị căn bâc 2 của 9 là : ‘, sqrt(9));


Đối với thủ tục (

<b>procedure</b>

) Writeln();



-Không thể gán cho biến A:= Writeln();


-Không thể sử dụng A:= Writeln(‘a’) +


Writeln(‘b’);



</div>
<span class='text_page_counter'>(17)</span><div class='page_container' data-page=17>

PHÂN LOẠI CHƯƠNG TRÌNH CON



<b>Vẽ một dãy n kí tự bất kì</b>
<b>Tính tổng hai số</b>


<b>CHƯƠNG TRÌNH CON</b>


</div>
<span class='text_page_counter'>(18)</span><div class='page_container' data-page=18>

SO SÁNH HÀM VÀ THỦ TỤC



<b>THỦ TỤC VẼ KÝ TỰ</b>
<b>HÀM TÍNH TỔNG 2 SỐ</b>


<i>PROCEDURE Ve(k: integer, </i>
<i>ky_tu:char);</i>


<i>Var i: integer;</i>
<i>Begin</i>


<i>For i:=1 to k do</i>
<i>Write(ky_tu);</i>
<i>End;</i>



<i>FUNCTION Cong(a, b: integer): </i>
<i>integer;</i>


<i> begin</i>


<i> cong:=a + b;</i>
<i> end;</i>


- Kết quả trả về không phải là
một giá trị qua tên hàm


- Có kết quả trả về là một số


</div>
<span class='text_page_counter'>(19)</span><div class='page_container' data-page=19>

SO SÁNH CẤU TRÚC CHƯƠNG TRÌNH


CHÍNH VÀ CHƯƠNG TRÌNH CON



<b>CHƯƠNG TRÌNH CON</b>
<b>CHƯƠNG TRÌNH CHÍNH</b>


<i>[phần đầu có hoặc khơng]</i>
<i>[<phần khai báo>]</i>


<i><phần thân></i>


<i><phần đầu>bắt buộc phải có</i>
<i>[<phần khai báo>]</i>


<i><phần thân></i>


Chương trình con nhất thiết phải có tên và




phần đầu để khai báo tên, nếu là hàm thì phải


khai báo kiểu dữ liệu cho giá trị trả về của hàm



</div>
<span class='text_page_counter'>(20)</span><div class='page_container' data-page=20>

HẾT TIẾT 1



</div>

<!--links-->

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×