SlideShare a Scribd company logo
Trường THPT Phan Đình
Phùng – Hà Nội
BÀI 17
Tin học lớp 11
GVHD: Lê Đức Long
SV:Nguyễn Thị Hoài An
1.Giới thiệu bài mới
_ Để viết chương trình giải các bài toán lớn phức tạp, người lập chương
trình có thể chia thành nhiều bài toán nhỏ. Sau đó gép nối các chương
trình con thành chương trình chính
4
BT giải pt
ax2+bx+c = 0
BT 1 : Nhập hệ số a,b,c
BT 3 :Tính nghiệm x1,x2
BT 2 : Tính delta
CTrình giải pt
ax2+bx+c = 0
VD: giải phương trình bậc 2
PROCEDURE Nhap_abc; {Chương trình con
bằng thủ tục}
Begin
REPEAT
write('Nhap cac he so a, b, c: ');
readln(a,b,c);
UNTIL a<>0;
End;
VD
{Chương trình con bằng hàm}
FUNCTION Delta(a1, b1, c1: integer): real;
Begin
Delta := sqr(b1) - 4*a1*c1;
End;
{Chương trình con}
PROCEDURE Giai;
Begin
IF d<0 THEN write('Phuong trinh vo nghiem!')
ELSE
Begin
x1:=(-b-sqrt(d))/(2*a);
x2:=(-b+sqrt(d))/(2*a);
IF d=0 THEN writeln('Phuong trinh co nghiem kep x = ',x1:5:1)
ELSE writeln('Phuong trinh co 2 nghiem phan biet: ',x1:5:1,x2:5:1);
End;
End;
BEGIN
clrscr;
VD
{Gọi các chương trình con}
Nhap_abc;
d := Delta(a, b, c);
Giai;
readln;
END.
Chương trình con (CTC) là một dãy lệnh, dùng để mô tả một
số thao tác nhất định, có thể được thực hiện ở nhiều vị trí trong
chương trình.
Việc B
1.KHÁI NIỆM CHƯƠNG TRÌNH CON
Lợi ích của việc sử dụng chương trình con
• Tránh được việc phải viết lặp đi lặp lại cùng một
dòng lệnh
• Hỗ trợ việc thực thiệ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 CHƢƠNG TRÌNH CON
Chương trình con
Hàm (Function)
Là chƣơng trình con
thực hiện một số thao
tác nào đó, và trả về một
giá trị qua tên của nó.
Thủ tục (Procedure)
Là chƣơng trình con thực
hiện một số thao tác nào
đó, và không trả về giá trị
nào qua tên của nó.
Vd: sin(x), sqrt(x) Vd : các thao tác vào/ra chuẩn
hay thủ tục xử lí xâu: writeln,
readln, delete, insert…
CẤU TRÚC CỦA CHƢƠNG TRÌNH CON
<Phần đầu>
[<Phần khai báo>]
< Phần thân>
Trong đó
Phần khai báo : có thể có 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
Phần thân : là dãy câu lệnh thực hiện để từ dữ liệu vào ta nhận
được dữ liệu hay kết quả mong muốn
Phần đầu : dùng để 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
MỘT SỐ VÍ DỤ
Function <Tên hàm >[(<ds tham số >)] : kiểu
của hàm;
Ví dụ 1
Function delta(a,b,c:real) : real ;
var d: real;
Begin
d:= sqrt(b*b – 4*a*c)
delta :=d;
End;
[< Phần khai báo >]
Begin
<tên hàm > := giá trị trả về ;
End;
[<Dãy các lệnh>];
Viết CT delta của pt ax2+bx+c = 0 dùng CTC là hàm (function)
MỘT SỐ VÍ DỤ
Function <Tên hàm>[(<ds tham số>)] : kiểu
của hàm;
Ví dụ 2
Function Tong(x,y:integer) : integer ;
var z:integer;
Begin
z:= x + y;
Tong:=z;
End;
[< Phần khai báo>]
Begin
<tên hàm> := giá trị trả về ;
End;
[<Dãy các lệnh>]
Viết CT tính tổng của 2 số x và y dùng chương trình con là hàm
MỘT SỐ VÍ DỤ
Procedure <tên hàm>[(<ds tham số>)] ;
Ví dụ 3
Procedure Tong(x,y:integer);
var z:integer;
Begin
z:= x + y;
writeln(‘Tổng x và y là ’, z)
End;
[< Phần khai báo>];
Begin
End;
[<Dãy các lệnh>];
Viết CT tính tổng của 2 số x và y dùng chương trình con là thủ tục
MỘT SỐ VÍ DỤ
Begin
Ví dụ 4
Procedure <tên thủ tục> [(<ds tham số>)];
[< Phần khai báo>];
[<Dãy các lệnh>];
End;
Viết CT nhập 3 hệ số a,b,c của pt ax2+bx+c = 0 dùng CTC là thủ tục
Procedure Nhap(a,b,c:real);
Writeln(‘Nhập b ');Readln(b);
End;
Writeln(‘Nhập a ’);Readln(a);
Begin
Writeln(‘Nhập c ');Readln(c);
3. Bài tập nhận biết
Hãy xác định các bài toán sau là hàm hay thủ tục:
1:
2:
3:
4:
Nhập hệ số a,b,c của pt ax2+bx+c=0
Tính delta của của pt ax2+bx+c=0
Tính nghiệm x1,x2 pt ax2+bx+c=0
Vẽ HCN ra màn hình
Đáp án
• 1: thủ tục
• 2: thủ tục
• 3: hàm
• 4: thủ tục
Cấu trúc của CTC(3 phần)
CTC có hai lọai
Hàm(Function) : trả về giá trị kiểu đơn
giản thông qua tên hàm
Thủ tục(Procedure): không trả về giá
trị thông qua tên
CTC là một dãy lệnh, dùng để mô tả một số thao tác nhất định, có thể
được thực hiện ở nhiều vị trí trong chương trình.
<Phần đầu>
[<Phần khai báo>]
< Phần thân>
Cú pháp khai báo hàm và thủ tục
Function <Tên hàm>[(<ds tham số>)] :
kiểu của hàm;
[< Phần khai báo>]
Begin
[<Dãy các lệnh>]
<tên hàm> := giá trị;
End;
Procedure <tên thủ tục> [(<ds
tham số>)];
[< Phần khai báo>]
Begin
[<Dãy các lệnh]
End;
Hàm (Function) Thủ tục (Procedure)
Dặn dò
• Tập viết chương trình con cho các phép tính:
cộng , trừ , nhân, chia và các bài toán
• Về nhà xem lại bài 18 ví dụ về cách viết và sử
dụng chương tình con.
Nguyễn Thị Hoài An
nvsp-246k1
Nguyễn Thị Hoài An-246k1

More Related Content

What's hot

Bài 17 tin học 11
Bài 17 tin học 11Bài 17 tin học 11
Bài 17 tin học 11HaBaoChau
 
Vi du ve cach viet va dung chuong trinh con
Vi du ve cach viet va dung chuong trinh conVi du ve cach viet va dung chuong trinh con
Vi du ve cach viet va dung chuong trinh con
Lau De
 
Bai 17
Bai 17Bai 17
Bai tap thuc hanh nhap mon tin hoc
Bai tap thuc hanh nhap mon tin hocBai tap thuc hanh nhap mon tin hoc
Bai tap thuc hanh nhap mon tin hocHồ Lợi
 
Lớp 11: Bài 7 +8 Các thủ tục vào ra đơn giản
Lớp 11: Bài 7 +8 Các thủ tục vào ra đơn giảnLớp 11: Bài 7 +8 Các thủ tục vào ra đơn giản
Lớp 11: Bài 7 +8 Các thủ tục vào ra đơn giảnHeo_Con049
 
Bai 18 tiet 2
Bai 18  tiet 2Bai 18  tiet 2
Bai 18 tiet 2
Hiếu Hồ Minh
 
Bai.11.tot
Bai.11.totBai.11.tot
Bai.11.tot
sonnqsp
 
Bai19 chuong trinh con (thu tuc va ham) - tin 11
Bai19  chuong trinh con (thu tuc va ham) - tin 11Bai19  chuong trinh con (thu tuc va ham) - tin 11
Bai19 chuong trinh con (thu tuc va ham) - tin 11Bich Tuyen
 
Tai lieu boi duong tin 8
Tai lieu boi duong tin 8Tai lieu boi duong tin 8
Tai lieu boi duong tin 8
lethilien1993
 
Vl while
Vl whileVl while
Vl while
mrpi2011
 
Bai tap lam quen java
Bai tap lam quen javaBai tap lam quen java
Bai tap lam quen javaTuấn Bùi
 

What's hot (20)

Bài 17 tin học 11
Bài 17 tin học 11Bài 17 tin học 11
Bài 17 tin học 11
 
Vi du ve cach viet va dung chuong trinh con
Vi du ve cach viet va dung chuong trinh conVi du ve cach viet va dung chuong trinh con
Vi du ve cach viet va dung chuong trinh con
 
Bai 17
Bai 17Bai 17
Bai 17
 
Bai tap thuc hanh nhap mon tin hoc
Bai tap thuc hanh nhap mon tin hocBai tap thuc hanh nhap mon tin hoc
Bai tap thuc hanh nhap mon tin hoc
 
Bai 6
Bai 6Bai 6
Bai 6
 
Tut6
Tut6Tut6
Tut6
 
Lớp 11: Bài 7 +8 Các thủ tục vào ra đơn giản
Lớp 11: Bài 7 +8 Các thủ tục vào ra đơn giảnLớp 11: Bài 7 +8 Các thủ tục vào ra đơn giản
Lớp 11: Bài 7 +8 Các thủ tục vào ra đơn giản
 
Tn ktlt
Tn ktltTn ktlt
Tn ktlt
 
Lab4
Lab4Lab4
Lab4
 
Ktlt lab full
Ktlt lab fullKtlt lab full
Ktlt lab full
 
Bai 18 tiet 2
Bai 18  tiet 2Bai 18  tiet 2
Bai 18 tiet 2
 
Bai.11.tot
Bai.11.totBai.11.tot
Bai.11.tot
 
Tin11k2
Tin11k2Tin11k2
Tin11k2
 
Bai19 chuong trinh con (thu tuc va ham) - tin 11
Bai19  chuong trinh con (thu tuc va ham) - tin 11Bai19  chuong trinh con (thu tuc va ham) - tin 11
Bai19 chuong trinh con (thu tuc va ham) - tin 11
 
Nhung bai mau lap trinh c
Nhung bai mau lap trinh cNhung bai mau lap trinh c
Nhung bai mau lap trinh c
 
Tai lieu boi duong tin 8
Tai lieu boi duong tin 8Tai lieu boi duong tin 8
Tai lieu boi duong tin 8
 
Vl while
Vl whileVl while
Vl while
 
Tin11
Tin11Tin11
Tin11
 
Tut5 solution
Tut5 solutionTut5 solution
Tut5 solution
 
Bai tap lam quen java
Bai tap lam quen javaBai tap lam quen java
Bai tap lam quen java
 

Similar to Powerpoint dạy hoc

Bai19 chuong trinh con (thu tuc va ham) - tin 11
Bai19  chuong trinh con (thu tuc va ham) - tin 11Bai19  chuong trinh con (thu tuc va ham) - tin 11
Bai19 chuong trinh con (thu tuc va ham) - tin 11Bich Tuyen
 
Bài tập ôn lập trình
Bài tập ôn lập trìnhBài tập ôn lập trình
Bài tập ôn lập trình
Thai Hoc Vu
 
Phần 6: Hàm
Phần 6: HàmPhần 6: Hàm
Phần 6: HàmHuy Rùa
 
Nmlt c06 ham_in
Nmlt c06 ham_inNmlt c06 ham_in
Nmlt c06 ham_in
Huy Nguyễn
 
K33103350 tran doankimnhu_bai17_tin11
K33103350 tran doankimnhu_bai17_tin11K33103350 tran doankimnhu_bai17_tin11
K33103350 tran doankimnhu_bai17_tin11Tin5VungTau
 
Nmlt c06 ham
Nmlt c06 hamNmlt c06 ham
Nmlt c06 ham
Minh Ngoc Tran
 
Nmlt C01 Cac Khai Niem Co Ban Ve Lap Trinh
Nmlt C01 Cac Khai Niem Co Ban Ve Lap TrinhNmlt C01 Cac Khai Niem Co Ban Ve Lap Trinh
Nmlt C01 Cac Khai Niem Co Ban Ve Lap TrinhCuong
 
Cq lt hdt-th2011-02-tuan04
Cq lt hdt-th2011-02-tuan04Cq lt hdt-th2011-02-tuan04
Cq lt hdt-th2011-02-tuan04. .
 
Bài tập CTDL và GT 4
Bài tập CTDL và GT 4Bài tập CTDL và GT 4
Bài tập CTDL và GT 4
Hồ Lợi
 
Thdc 07
Thdc 07Thdc 07
Bài tập nhập môn lập trình
Bài tập nhập môn lập trìnhBài tập nhập môn lập trình
Bài tập nhập môn lập trìnhHuy Rùa
 
Local sakainame 501127 ktl_trình hlmt1 a01 fall 2013 _ modules
Local sakainame   501127 ktl_trình hlmt1 a01 fall 2013 _ modulesLocal sakainame   501127 ktl_trình hlmt1 a01 fall 2013 _ modules
Local sakainame 501127 ktl_trình hlmt1 a01 fall 2013 _ modulesTrần Văn Nam
 
giao trinh c++ Chuong1
giao trinh c++ Chuong1giao trinh c++ Chuong1
giao trinh c++ Chuong1Bễ Nguyễn
 

Similar to Powerpoint dạy hoc (20)

Bai19 chuong trinh con (thu tuc va ham) - tin 11
Bai19  chuong trinh con (thu tuc va ham) - tin 11Bai19  chuong trinh con (thu tuc va ham) - tin 11
Bai19 chuong trinh con (thu tuc va ham) - tin 11
 
Ctdl 1995
Ctdl   1995Ctdl   1995
Ctdl 1995
 
Bài tập ôn lập trình
Bài tập ôn lập trìnhBài tập ôn lập trình
Bài tập ôn lập trình
 
Phần 6: Hàm
Phần 6: HàmPhần 6: Hàm
Phần 6: Hàm
 
Nmlt c06 ham_in
Nmlt c06 ham_inNmlt c06 ham_in
Nmlt c06 ham_in
 
K33103350 tran doankimnhu_bai17_tin11
K33103350 tran doankimnhu_bai17_tin11K33103350 tran doankimnhu_bai17_tin11
K33103350 tran doankimnhu_bai17_tin11
 
Tut6 solution
Tut6 solutionTut6 solution
Tut6 solution
 
Chuong1 c
Chuong1 c Chuong1 c
Chuong1 c
 
Nmlt c06 ham
Nmlt c06 hamNmlt c06 ham
Nmlt c06 ham
 
Nmlt C01 Cac Khai Niem Co Ban Ve Lap Trinh
Nmlt C01 Cac Khai Niem Co Ban Ve Lap TrinhNmlt C01 Cac Khai Niem Co Ban Ve Lap Trinh
Nmlt C01 Cac Khai Niem Co Ban Ve Lap Trinh
 
Bai tap thuc hanh
Bai tap thuc hanhBai tap thuc hanh
Bai tap thuc hanh
 
Chuong3 c
Chuong3 c Chuong3 c
Chuong3 c
 
Cq lt hdt-th2011-02-tuan04
Cq lt hdt-th2011-02-tuan04Cq lt hdt-th2011-02-tuan04
Cq lt hdt-th2011-02-tuan04
 
Bai tap mau pascal
Bai tap mau pascalBai tap mau pascal
Bai tap mau pascal
 
Bài tập CTDL và GT 4
Bài tập CTDL và GT 4Bài tập CTDL và GT 4
Bài tập CTDL và GT 4
 
Thdc 07
Thdc 07Thdc 07
Thdc 07
 
Bài tập nhập môn lập trình
Bài tập nhập môn lập trìnhBài tập nhập môn lập trình
Bài tập nhập môn lập trình
 
Local sakainame 501127 ktl_trình hlmt1 a01 fall 2013 _ modules
Local sakainame   501127 ktl_trình hlmt1 a01 fall 2013 _ modulesLocal sakainame   501127 ktl_trình hlmt1 a01 fall 2013 _ modules
Local sakainame 501127 ktl_trình hlmt1 a01 fall 2013 _ modules
 
Lesson08
Lesson08Lesson08
Lesson08
 
giao trinh c++ Chuong1
giao trinh c++ Chuong1giao trinh c++ Chuong1
giao trinh c++ Chuong1
 

Powerpoint dạy hoc

  • 1. Trường THPT Phan Đình Phùng – Hà Nội BÀI 17 Tin học lớp 11 GVHD: Lê Đức Long SV:Nguyễn Thị Hoài An
  • 2. 1.Giới thiệu bài mới _ Để viết chương trình giải các bài toán lớn phức tạp, người lập chương trình có thể chia thành nhiều bài toán nhỏ. Sau đó gép nối các chương trình con thành chương trình chính 4 BT giải pt ax2+bx+c = 0 BT 1 : Nhập hệ số a,b,c BT 3 :Tính nghiệm x1,x2 BT 2 : Tính delta CTrình giải pt ax2+bx+c = 0
  • 3. VD: giải phương trình bậc 2 PROCEDURE Nhap_abc; {Chương trình con bằng thủ tục} Begin REPEAT write('Nhap cac he so a, b, c: '); readln(a,b,c); UNTIL a<>0; End;
  • 4. VD {Chương trình con bằng hàm} FUNCTION Delta(a1, b1, c1: integer): real; Begin Delta := sqr(b1) - 4*a1*c1; End; {Chương trình con} PROCEDURE Giai; Begin IF d<0 THEN write('Phuong trinh vo nghiem!') ELSE Begin x1:=(-b-sqrt(d))/(2*a); x2:=(-b+sqrt(d))/(2*a); IF d=0 THEN writeln('Phuong trinh co nghiem kep x = ',x1:5:1) ELSE writeln('Phuong trinh co 2 nghiem phan biet: ',x1:5:1,x2:5:1); End; End; BEGIN clrscr;
  • 5. VD {Gọi các chương trình con} Nhap_abc; d := Delta(a, b, c); Giai; readln; END.
  • 6. Chương trình con (CTC) là một dãy lệnh, dùng để mô tả một số thao tác nhất định, có thể được thực hiện ở nhiều vị trí trong chương trình. Việc B 1.KHÁI NIỆM CHƯƠNG TRÌNH CON
  • 7. Lợi ích của việc sử dụng chương trình con • Tránh được việc phải viết lặp đi lặp lại cùng một dòng lệnh • Hỗ trợ việc thực thiệ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
  • 8. 2. PHÂN LOẠI CHƢƠNG TRÌNH CON Chương trình con Hàm (Function) Là chƣơng trình con thực hiện một số thao tác nào đó, và trả về một giá trị qua tên của nó. Thủ tục (Procedure) Là chƣơng trình con thực hiện một số thao tác nào đó, và không trả về giá trị nào qua tên của nó. Vd: sin(x), sqrt(x) Vd : các thao tác vào/ra chuẩn hay thủ tục xử lí xâu: writeln, readln, delete, insert…
  • 9. CẤU TRÚC CỦA CHƢƠNG TRÌNH CON <Phần đầu> [<Phần khai báo>] < Phần thân> Trong đó Phần khai báo : có thể có 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 Phần thân : là dãy câu lệnh thực hiện để từ dữ liệu vào ta nhận được dữ liệu hay kết quả mong muốn Phần đầu : dùng để 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
  • 10. MỘT SỐ VÍ DỤ Function <Tên hàm >[(<ds tham số >)] : kiểu của hàm; Ví dụ 1 Function delta(a,b,c:real) : real ; var d: real; Begin d:= sqrt(b*b – 4*a*c) delta :=d; End; [< Phần khai báo >] Begin <tên hàm > := giá trị trả về ; End; [<Dãy các lệnh>]; Viết CT delta của pt ax2+bx+c = 0 dùng CTC là hàm (function)
  • 11. MỘT SỐ VÍ DỤ Function <Tên hàm>[(<ds tham số>)] : kiểu của hàm; Ví dụ 2 Function Tong(x,y:integer) : integer ; var z:integer; Begin z:= x + y; Tong:=z; End; [< Phần khai báo>] Begin <tên hàm> := giá trị trả về ; End; [<Dãy các lệnh>] Viết CT tính tổng của 2 số x và y dùng chương trình con là hàm
  • 12. MỘT SỐ VÍ DỤ Procedure <tên hàm>[(<ds tham số>)] ; Ví dụ 3 Procedure Tong(x,y:integer); var z:integer; Begin z:= x + y; writeln(‘Tổng x và y là ’, z) End; [< Phần khai báo>]; Begin End; [<Dãy các lệnh>]; Viết CT tính tổng của 2 số x và y dùng chương trình con là thủ tục
  • 13. MỘT SỐ VÍ DỤ Begin Ví dụ 4 Procedure <tên thủ tục> [(<ds tham số>)]; [< Phần khai báo>]; [<Dãy các lệnh>]; End; Viết CT nhập 3 hệ số a,b,c của pt ax2+bx+c = 0 dùng CTC là thủ tục Procedure Nhap(a,b,c:real); Writeln(‘Nhập b ');Readln(b); End; Writeln(‘Nhập a ’);Readln(a); Begin Writeln(‘Nhập c ');Readln(c);
  • 14. 3. Bài tập nhận biết Hãy xác định các bài toán sau là hàm hay thủ tục: 1: 2: 3: 4: Nhập hệ số a,b,c của pt ax2+bx+c=0 Tính delta của của pt ax2+bx+c=0 Tính nghiệm x1,x2 pt ax2+bx+c=0 Vẽ HCN ra màn hình
  • 15. Đáp án • 1: thủ tục • 2: thủ tục • 3: hàm • 4: thủ tục
  • 16. Cấu trúc của CTC(3 phần) CTC có hai lọai Hàm(Function) : trả về giá trị kiểu đơn giản thông qua tên hàm Thủ tục(Procedure): không trả về giá trị thông qua tên CTC là một dãy lệnh, dùng để mô tả một số thao tác nhất định, có thể được thực hiện ở nhiều vị trí trong chương trình. <Phần đầu> [<Phần khai báo>] < Phần thân>
  • 17. Cú pháp khai báo hàm và thủ tục Function <Tên hàm>[(<ds tham số>)] : kiểu của hàm; [< Phần khai báo>] Begin [<Dãy các lệnh>] <tên hàm> := giá trị; End; Procedure <tên thủ tục> [(<ds tham số>)]; [< Phần khai báo>] Begin [<Dãy các lệnh] End; Hàm (Function) Thủ tục (Procedure)
  • 18. Dặn dò • Tập viết chương trình con cho các phép tính: cộng , trừ , nhân, chia và các bài toán • Về nhà xem lại bài 18 ví dụ về cách viết và sử dụng chương tình con.
  • 19. Nguyễn Thị Hoài An nvsp-246k1 Nguyễn Thị Hoài An-246k1