SlideShare a Scribd company logo
1 of 17
Kiểm tra bài cũ
Câu 1: Hãy nêu các bước để đọc tệp?
Câu 2: Hãy nêu các bước để ghi tệp?
BÀI TOÁN TÍNH TỔNG GIAI THỪA TGiaithua = n! + m! + p! + q!

program tong_giai_thua;
var TGiaithua, Giaithua1, Giaithua2, Giaithua3, Giaithua4: real;
n, m, p, q, i: integer;
begin
writeln(‘nhap vao cac so nguyen n, m, p, q’);
readln(n, m, p, q);
Giaithua1:=1.0;
for i:=n downto 1 do Giaithua1:=Giaithua1*i;
Giaithua2:=1.0;
for i:=m downto 1 do Giaithua2:=Giaithua2*i;
Giaithua3:=1.0;
for i:=p downto 1 do Giaithua3:=Giaithua3*i;
Giaithua4:=1.0;
for i:=q downto 1 do Giaithua4:=Giaithua4*i;
TGiaithua:= Giaithua1 + Giaithua2 + Giaithua3 + Giaithua4;
Writeln(‘tong giai thua =’, Tgiaithua:10:4’);
readln;
end.

Quan sát chương
trình này ta có
nhận xét gì???
CHƢƠNG VI:
CHƢƠNG TRÌNH CON VÀ LẬP TRÌNH
CÓ CẤU TRÚC

BÀI 17: CHƢƠNG TRÌNH CON VÀ PHÂN LOẠI
1. Khái niệm chƣơng trình con

Xét bài toán tính tổng bốn lũy thừa:
TLuythua = an + bm + cp + dq
Xét bài toán tính tổng bốn lũy thừa:
TLuythua = an + bm + cp + dq

program tong_luy_thua;
var TLuythua, Luythua1, Luythua2, Luythua3, Luythua4:
real;
a, b, c, d: real; n, m, p, q, i: integer;
begin
writeln(‘hay nhap du lieu theo thu tu a, b, c, d, n, m, p, q’);
readln(a, b, c, d, n, m, p, q);
Luythua1:=1.0;
Luythua1:=1.0;
for i:=1 to n do Luythua1:=Luythua1*a;
for i:=1 to n do Luythua1:=Luythua1*a;
Luythua2:=1.0;
Luythua2:=1.0;
for i:=1 to m do Luythua2:=Luythua2*b;
for i:=1 to m do Luythua2:=Luythua2*b;
Luythua3:=1.0;
Luythua3:=1.0;
for i:=1 to p do Luythua3:=Luythua3*c;
for i:=1 to p do Luythua3:=Luythua3*c;
Luythua4:=1.0;
for i:=1 to q do Luythua4:=Luythua4*d;
Luythua4:=1.0;
for i:=1 to q do Luythua4:=Luythua4*d;
TLuythua:=Luythua1 + Luythua2 + Luythua3 + Luythua4;
writeln(‘Tong luy thua =’, TLuythua:8:4); readln;
end.

program tong_luy_thua;
var TLuythua: real;
a, b, c, d: real;
n, m, p, q: integer;
function Luythua(x:real; integer):real;
function Luythua(x:real; k: k: integer):real;
var j:integer;
var j:integer;
Tich: real;
Tich: real;
begin
begin
Tich:=1.0;
Tich:=1.0;
for j:=1 to k do Tich:=Tich*x;
for j:=1 to k do Tich:=Tich*x;
Luythua:=Tich;
Luythua:=Tich;
end;
end;
begin
writeln(‘hay nhap du lieu theo thu tu
a, b, c, d, n, m, p, q’);
readln(a, b, c, d, n, m, p, q);
TLuythua:=Luythua(a, n) + Luythua(b, m) +
Luythua(c, p) + Luythua(d, q);
writeln(‘Tong luy thua =’, TLuythua:8:4);
readln;
end.
1. Khái niệm chƣơng trình con
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ưu ý: Chương trình con chỉ cần viết một lần
nhưng có thể thực hiện nhiều lần trong 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:

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ó
Ví dụ: Hàm sin(x) nhận giá
trị thực x và trả về giá trị
sinx.

Thủ tục (procedure) là
chương trình con thực
hiện các thao tác nhất
định nhưng không trả
về giá trị nào qua tên
của nó.
Ví dụ: Các thủ tục vào/ra chuẩn
hay xử lý xâu:
Writeln, readln, delete, insert,…
2. Phân loại và cấu trúc của chƣơng trình con:
b. Cấu trúc chƣơng trình con
<phần đầu>
[<phần khai báo>]
<phần thân>

Trong đó:Phần đầu gồm có tên chương trình con, các tham
số.
Phần khai báo: khai báo biến cho dữ liệu vào, ra, các
hằng và biến cho chương trình con
Phần thân: dãy câu lệnh được viết giữa cặp begin end;
2. Phân loại và cấu trúc của chƣơng trình con:
b. Cấu trúc chƣơng trình con
Lưu ý:
Tham số hình thức: là các biến được khai báo cho dữ liệu
Tham số hình
vào/ra của chương trình con.
program tong_luy_thua;
thức

Ví dụ:

var TLuythua: real;
a, b, c, d: real; n, m, p, q: integer;
function Luythua(x:real; k: integer):real;
var j:integer;
Tich: real;
begin
Tich:=1.0;
for j:=1 to k do Tich:=Tich*x;
Luythua:=Tich;
end;
begin
writeln(‘hay nhap du lieu theo thu tu a, b, c, d, n, m, p, q’);
readln(a, b, c, d, n, m, p, q);
TLuythua:=Luythua(a, n) + Luythua(b, m) + Luythua(c, p) + Luythua(d, q);

Tham số thực sự: là các hằng Tham sốchứa dữ liệu vào và
và biến thực sự
ứng với đặt trong
ra tương ứng với các tham số hình thức tham số cặp ngoặc
hình thức (x, k).
(và) khi gọi một chương trình con.
Ví dụ:
2. Phân loại và cấu trúc của chƣơng trình con:
b. Cấu trúc chƣơng trình con:
Biến cục bộ là các biến được khai báo để dùng riêng cho
chương trình con.
Biến toàn cục.

Ví dụ:

program tong_luy_thua;
var TLuythua: real;
a, b, c, d: real; n, m, p, q: integer;
function Luythua(x:real; k: integer):real;
var j:integer;
Tich: real;
begin
Tich:=1.0;
for j:=1 to k do Tich:=Tich*x;
Luythua:=Tich;
end;
begin
writeln(‘hay nhap du lieu theo thu tu a, b, c, d, n, m, p, q’);
readln(a, b, c, d, n, m, p, q);
TLuythua:=Luythua(a, n) + Luythua(b, m) + Luythua(c, p) + Luythua(d, q);

Biến toàn cục là biến được khai Biếntrong chương trình
báo cục bộ.
chính.
Ví dụ:
2. Phân loại và cấu trúc của chƣơng trình con:
c. Thực hiện chƣơng trình con
-Viết trong phần
 Chương trình con được viết trong phầnbáo của của
khai khai báo
program tong_luy_thua;
chương trình chính.
chương trình chính
var TLuythua: real;
-Kết thúc bằng dấu ;
a, b, c, d: real; n, m, p, q: integer;

 Kết thúc chương trình con là dấu chấm phẩy;

function Luythua(x:real; k: integer):real;
function Luythua(x:real; k: integer):real;
var j:integer;
var j:integer;
Tich: real; real;
Tich:
begin begin
-Lệnh gọi chương trình
Tich:=1.0;
Tich:=1.0;
con:
for j:=1 to j:=1 to k do Tich:=Tich*x;
for k do Tich:=Tich*x;
<tên chương trình
Luythua:=Tich;
Luythua:=Tich;
end; end;
con>[(<tham số thực sự>)]
begin
writeln(‘hay nhap du lieu theo thu tu a, b, c, d, n, m, p, q’);
readln(a, b, c, d, n, m, p, q);
TLuythua:=Luythua(a, n) ++ Luythua(b, m) + Luythua(c, p) + Luythua(d, q);
TLuythua:=Luythua(a, n) Luythua(b, m) + Luythua(c, p) + Luythua(d, q);
writeln(‘Tong luy thua =’, TLuythua:8:4);

 Để gọi 1 chương trình con ta phải có lệnh gọi nó.

Cú pháp: <tên chương trình con>(<tham số thực sự>).
Ghi nhớ!
 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.
 Phân loại chương trình con:
+ Hàm (Function).
+ Thủ tục (Procedure).
 Cấu trúc chương trình con:
<phần đầu>
[<phần khai báo>]
<phần thân>
 Tham số hình thức, tham số thực số, biến
cục bộ, biến toàn cục, lệnh gọi chương
trình con.
Củng cố
Câu 1: Hãy chọn câu trả lời đúng nhất cho khái niệm của
chương trình con?

A. Chương trình con là một dãy lệnh mô tả một số thao tác
nhất định được thực hiện ( được gọi) từ một vị trí trong
chương trình.
B. Chương trình con là những dãy lệnh mô tả một số thao
tác nhất định được thực hiện ( được gọi) từ nhiều vị trí trong
chương trình.
C. Chương trình con là một dãy lệnh mô tả một số thao tác
nhất định được thực hiện ( được gọi) từ nhiều vị trí trong
chương trình.
D. Chương trình con là những dãy lệnh mô tả một số thao tác
nhất định được thực hiện ( được gọi) từ một vị trí trong
chương trình.
Củng cố
Câu 2: 
Điểm khác nhau cở bản của hàm và thủ tục là
gì? Chọn câu trả lời đúng.

A. Hàm có sử dụng biến số còn thủ tục thì không có sử
dụng biến số.
B. Thủ tục khai báo trước phần thân chương trình còn
hàm thì sau phần thân chương trình.
C. Hàm sẽ trả về một giá trị thông qua tên hàm còn thủ
tục thì không.
D. Xây dựng hàm khó hơn thủ tục.
Củng cố

Câu 3: Cho biết điểm khác nhau giữa biến toàn cục và
biến cục bộ?
Dặn dò
Về nhà học bài 17.
Xem bài 18.
Bài 17 Chương trình con và phân loại

More Related Content

What's hot

Bài tập môn nguyên lý kế toán
Bài tập môn nguyên lý kế toánBài tập môn nguyên lý kế toán
Bài tập môn nguyên lý kế toánHọc Huỳnh Bá
 
Introduction to biotechnology
Introduction to biotechnologyIntroduction to biotechnology
Introduction to biotechnologyAmrita Sutradhar
 
Biotechnology and its applications
Biotechnology and its applicationsBiotechnology and its applications
Biotechnology and its applicationsMuralidhar Shingri
 
Principal of genetic engineering &amp; its applications
Principal of genetic engineering &amp; its applications Principal of genetic engineering &amp; its applications
Principal of genetic engineering &amp; its applications laraib jameel
 
Genetic engineering project
Genetic engineering projectGenetic engineering project
Genetic engineering projectPrachiWadekar
 
Krok 1 - 2014 (Microbiology)
Krok 1 -  2014 (Microbiology)Krok 1 -  2014 (Microbiology)
Krok 1 - 2014 (Microbiology)Eneutron
 
đề Cương vi sinh
đề Cương vi sinhđề Cương vi sinh
đề Cương vi sinhBui Nhu
 
Introduction to Genetic Engineering
Introduction to Genetic EngineeringIntroduction to Genetic Engineering
Introduction to Genetic EngineeringMike Tamas
 
Ngân hàng đảm bảo chất lượng phần mềm PTIT - Chuẩn SQA
Ngân hàng đảm bảo chất lượng phần mềm PTIT - Chuẩn SQANgân hàng đảm bảo chất lượng phần mềm PTIT - Chuẩn SQA
Ngân hàng đảm bảo chất lượng phần mềm PTIT - Chuẩn SQAPopping Khiem - Funky Dance Crew PTIT
 
Application of Biotechnology in different fields
Application of Biotechnology in different fieldsApplication of Biotechnology in different fields
Application of Biotechnology in different fieldsVinod Kumar
 

What's hot (20)

Bài tập môn nguyên lý kế toán
Bài tập môn nguyên lý kế toánBài tập môn nguyên lý kế toán
Bài tập môn nguyên lý kế toán
 
Introduction to biotechnology
Introduction to biotechnologyIntroduction to biotechnology
Introduction to biotechnology
 
Genetic engineering
Genetic engineeringGenetic engineering
Genetic engineering
 
Biotechnology and its applications
Biotechnology and its applicationsBiotechnology and its applications
Biotechnology and its applications
 
Principal of genetic engineering &amp; its applications
Principal of genetic engineering &amp; its applications Principal of genetic engineering &amp; its applications
Principal of genetic engineering &amp; its applications
 
Genetic engineering
Genetic engineering Genetic engineering
Genetic engineering
 
Genetic engineering project
Genetic engineering projectGenetic engineering project
Genetic engineering project
 
đề Macro ueh
đề Macro uehđề Macro ueh
đề Macro ueh
 
Krok 1 - 2014 (Microbiology)
Krok 1 -  2014 (Microbiology)Krok 1 -  2014 (Microbiology)
Krok 1 - 2014 (Microbiology)
 
Biotechnology
Biotechnology Biotechnology
Biotechnology
 
Luận văn: Xây dựng chương trình xác thực ảnh số, HOT
Luận văn: Xây dựng chương trình xác thực ảnh số, HOTLuận văn: Xây dựng chương trình xác thực ảnh số, HOT
Luận văn: Xây dựng chương trình xác thực ảnh số, HOT
 
Prokaryotes
ProkaryotesProkaryotes
Prokaryotes
 
Dth vi khuan
Dth vi khuanDth vi khuan
Dth vi khuan
 
đề Cương vi sinh
đề Cương vi sinhđề Cương vi sinh
đề Cương vi sinh
 
Introduction to Genetic Engineering
Introduction to Genetic EngineeringIntroduction to Genetic Engineering
Introduction to Genetic Engineering
 
Ngân hàng đảm bảo chất lượng phần mềm PTIT - Chuẩn SQA
Ngân hàng đảm bảo chất lượng phần mềm PTIT - Chuẩn SQANgân hàng đảm bảo chất lượng phần mềm PTIT - Chuẩn SQA
Ngân hàng đảm bảo chất lượng phần mềm PTIT - Chuẩn SQA
 
Tổng hợp công thức kinh tế vi mô
Tổng hợp công thức kinh tế vi môTổng hợp công thức kinh tế vi mô
Tổng hợp công thức kinh tế vi mô
 
Ch12 notes
Ch12 notesCh12 notes
Ch12 notes
 
Application of Biotechnology in different fields
Application of Biotechnology in different fieldsApplication of Biotechnology in different fields
Application of Biotechnology in different fields
 
Genetic engineering
Genetic engineeringGenetic engineering
Genetic engineering
 

Viewers also liked

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
 
Bài 18. Ví dụ về cách viết và sử dụng chương trình con.
Bài 18. Ví dụ về cách viết và sử dụng chương trình con.Bài 18. Ví dụ về cách viết và sử dụng chương trình con.
Bài 18. Ví dụ về cách viết và sử dụng chương trình con.Sân Ngoài Còn Lá
 
Bai 17_ Tin Học 11
Bai 17_ Tin Học 11Bai 17_ Tin Học 11
Bai 17_ Tin Học 11De Choat
 
Các ví dụ về cách viết và sử dụng chương trình con
Các ví dụ về cách viết và sử dụng chương trình conCác ví dụ về cách viết và sử dụng chương trình con
Các ví dụ về cách viết và sử dụng chương trình conNhungoc Phamhai
 
Kbdh bai17 lop11_chuong_trinhconvaphanloai
Kbdh bai17 lop11_chuong_trinhconvaphanloaiKbdh bai17 lop11_chuong_trinhconvaphanloai
Kbdh bai17 lop11_chuong_trinhconvaphanloaiChi Lệ
 
xuan17
xuan17xuan17
xuan17bx_159
 
KBDH-Trần Ký Lịnh - Bài 17 - CVI-Lớp 11
KBDH-Trần Ký Lịnh - Bài 17 - CVI-Lớp 11KBDH-Trần Ký Lịnh - Bài 17 - CVI-Lớp 11
KBDH-Trần Ký Lịnh - Bài 17 - CVI-Lớp 11K33LA-KG
 
Ispring suite
Ispring suiteIspring suite
Ispring suiteVan Vo
 
Bài 14 - 15: Kiểu dữ liệu tệp. Thao tác với tệp
Bài 14 - 15: Kiểu dữ liệu tệp. Thao tác với tệpBài 14 - 15: Kiểu dữ liệu tệp. Thao tác với tệp
Bài 14 - 15: Kiểu dữ liệu tệp. Thao tác với tệpnguyennhuhaiau
 
Bài 12: Kiểu xâu
Bài 12: Kiểu xâuBài 12: Kiểu xâu
Bài 12: Kiểu xâuMinh Lê
 
Bai giang tin hoc lop 11 bai 14 15
Bai giang tin hoc lop 11 bai 14   15Bai giang tin hoc lop 11 bai 14   15
Bai giang tin hoc lop 11 bai 14 15Chi Lệ
 
Slide bài giảng: Thiết kế bài giảng điện tử + elearning. Bản đầy đủ
Slide bài giảng: Thiết kế bài giảng điện tử + elearning. Bản đầy đủSlide bài giảng: Thiết kế bài giảng điện tử + elearning. Bản đầy đủ
Slide bài giảng: Thiết kế bài giảng điện tử + elearning. Bản đầy đủBùi Việt Hà
 

Viewers also liked (13)

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
 
Chuong trinh con
Chuong trinh conChuong trinh con
Chuong trinh con
 
Bài 18. Ví dụ về cách viết và sử dụng chương trình con.
Bài 18. Ví dụ về cách viết và sử dụng chương trình con.Bài 18. Ví dụ về cách viết và sử dụng chương trình con.
Bài 18. Ví dụ về cách viết và sử dụng chương trình con.
 
Bai 17_ Tin Học 11
Bai 17_ Tin Học 11Bai 17_ Tin Học 11
Bai 17_ Tin Học 11
 
Các ví dụ về cách viết và sử dụng chương trình con
Các ví dụ về cách viết và sử dụng chương trình conCác ví dụ về cách viết và sử dụng chương trình con
Các ví dụ về cách viết và sử dụng chương trình con
 
Kbdh bai17 lop11_chuong_trinhconvaphanloai
Kbdh bai17 lop11_chuong_trinhconvaphanloaiKbdh bai17 lop11_chuong_trinhconvaphanloai
Kbdh bai17 lop11_chuong_trinhconvaphanloai
 
xuan17
xuan17xuan17
xuan17
 
KBDH-Trần Ký Lịnh - Bài 17 - CVI-Lớp 11
KBDH-Trần Ký Lịnh - Bài 17 - CVI-Lớp 11KBDH-Trần Ký Lịnh - Bài 17 - CVI-Lớp 11
KBDH-Trần Ký Lịnh - Bài 17 - CVI-Lớp 11
 
Ispring suite
Ispring suiteIspring suite
Ispring suite
 
Bài 14 - 15: Kiểu dữ liệu tệp. Thao tác với tệp
Bài 14 - 15: Kiểu dữ liệu tệp. Thao tác với tệpBài 14 - 15: Kiểu dữ liệu tệp. Thao tác với tệp
Bài 14 - 15: Kiểu dữ liệu tệp. Thao tác với tệp
 
Bài 12: Kiểu xâu
Bài 12: Kiểu xâuBài 12: Kiểu xâu
Bài 12: Kiểu xâu
 
Bai giang tin hoc lop 11 bai 14 15
Bai giang tin hoc lop 11 bai 14   15Bai giang tin hoc lop 11 bai 14   15
Bai giang tin hoc lop 11 bai 14 15
 
Slide bài giảng: Thiết kế bài giảng điện tử + elearning. Bản đầy đủ
Slide bài giảng: Thiết kế bài giảng điện tử + elearning. Bản đầy đủSlide bài giảng: Thiết kế bài giảng điện tử + elearning. Bản đầy đủ
Slide bài giảng: Thiết kế bài giảng điện tử + elearning. Bản đầy đủ
 

Similar to Bài 17 Chương trình con và phân loại

Bai 17 chuong trinh con va phan loai
Bai 17 chuong trinh con va phan loaiBai 17 chuong trinh con va phan loai
Bai 17 chuong trinh con va phan loaiThaiPham97
 
K33103350 tran doankimnhu_bai17_tin11
K33103350 tran doankimnhu_bai17_tin11K33103350 tran doankimnhu_bai17_tin11
K33103350 tran doankimnhu_bai17_tin11Tin5VungTau
 
Powerpoint dạy hoc
Powerpoint dạy hocPowerpoint dạy hoc
Powerpoint dạy hocLong Tibbers
 
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
 
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 8lethilien1993
 
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ìnhThai Hoc Vu
 
Ctdl C04
Ctdl C04Ctdl C04
Ctdl C04giang
 
Giao trinh bai tap c va c++
Giao trinh bai tap c va c++Giao trinh bai tap c va c++
Giao trinh bai tap c va c++Congdat Le
 
1 Gioi Thieu Chung
1 Gioi Thieu Chung1 Gioi Thieu Chung
1 Gioi Thieu ChungCuong
 
Cpl test1%20key
Cpl test1%20keyCpl test1%20key
Cpl test1%20keyHồ Lợi
 
Nmlt C06 Ham
Nmlt C06 HamNmlt C06 Ham
Nmlt C06 HamCuong
 
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
 
Mot sothuattoan
Mot sothuattoanMot sothuattoan
Mot sothuattoanHoàng My
 

Similar to Bài 17 Chương trình con và phân loại (20)

Chương Trình Con
Chương Trình Con Chương Trình Con
Chương Trình Con
 
Bai 17
Bai 17Bai 17
Bai 17
 
Bai 18
Bai 18Bai 18
Bai 18
 
Bai 17 chuong trinh con va phan loai
Bai 17 chuong trinh con va phan loaiBai 17 chuong trinh con va phan loai
Bai 17 chuong trinh con va phan loai
 
K33103350 tran doankimnhu_bai17_tin11
K33103350 tran doankimnhu_bai17_tin11K33103350 tran doankimnhu_bai17_tin11
K33103350 tran doankimnhu_bai17_tin11
 
Powerpoint dạy hoc
Powerpoint dạy hocPowerpoint dạy hoc
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 11
 
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
 
Tai lieu boi duong tin 8
Tai lieu boi duong tin 8Tai lieu boi duong tin 8
Tai lieu boi duong tin 8
 
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
 
Ctdl C04
Ctdl C04Ctdl C04
Ctdl C04
 
Giao trinh bai tap c va c++
Giao trinh bai tap c va c++Giao trinh bai tap c va c++
Giao trinh bai tap c va c++
 
Giao trinh bai tap c va c++
Giao trinh bai tap c va c++Giao trinh bai tap c va c++
Giao trinh bai tap c va c++
 
Ctdl 1995
Ctdl   1995Ctdl   1995
Ctdl 1995
 
1 Gioi Thieu Chung
1 Gioi Thieu Chung1 Gioi Thieu Chung
1 Gioi Thieu Chung
 
Cpl test1%20key
Cpl test1%20keyCpl test1%20key
Cpl test1%20key
 
Nmlt C06 Ham
Nmlt C06 HamNmlt C06 Ham
Nmlt C06 Ham
 
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
 
Bai 18 tiet 1
Bai 18  tiet 1Bai 18  tiet 1
Bai 18 tiet 1
 
Mot sothuattoan
Mot sothuattoanMot sothuattoan
Mot sothuattoan
 

More from Hòa Hoàng

Hdg bai 3 gioi thieu ve may tinh
Hdg bai 3 gioi thieu ve may tinhHdg bai 3 gioi thieu ve may tinh
Hdg bai 3 gioi thieu ve may tinhHòa Hoàng
 
Hdg bai 5 ngon ngu lap trinh
Hdg bai 5 ngon ngu lap trinhHdg bai 5 ngon ngu lap trinh
Hdg bai 5 ngon ngu lap trinhHòa Hoàng
 
Hdg bai 6 giai bai toan tren may tinh
Hdg bai 6 giai bai toan tren may tinhHdg bai 6 giai bai toan tren may tinh
Hdg bai 6 giai bai toan tren may tinhHòa Hoàng
 
Hdg bai 7 phan mem may tinh
Hdg bai 7 phan mem may tinhHdg bai 7 phan mem may tinh
Hdg bai 7 phan mem may tinhHòa Hoàng
 
Hdg bai 8 nhing ung dung cua tin hoc
Hdg bai 8 nhing ung dung cua tin hocHdg bai 8 nhing ung dung cua tin hoc
Hdg bai 8 nhing ung dung cua tin hocHòa Hoàng
 
Hdg bai 9 tin hoc va ung dung
Hdg bai 9 tin hoc va ung dungHdg bai 9 tin hoc va ung dung
Hdg bai 9 tin hoc va ung dungHòa Hoàng
 
Bai 5 cac thao tac co ban tren bang
Bai 5 cac thao tac co ban tren bangBai 5 cac thao tac co ban tren bang
Bai 5 cac thao tac co ban tren bangHòa Hoàng
 
Kich ban day hoc_19
Kich ban day hoc_19Kich ban day hoc_19
Kich ban day hoc_19Hòa Hoàng
 
De kiem tra 1 tiet hs 1
De kiem tra 1 tiet hs 1De kiem tra 1 tiet hs 1
De kiem tra 1 tiet hs 1Hòa Hoàng
 
De kiem tra 15 phut hs
De kiem tra 15 phut hsDe kiem tra 15 phut hs
De kiem tra 15 phut hsHòa Hoàng
 
Bai tap va thuc hanh 9
Bai tap va thuc hanh  9Bai tap va thuc hanh  9
Bai tap va thuc hanh 9Hòa Hoàng
 
Hdg bai 9 tin hoc va ung dung
Hdg bai 9 tin hoc va ung dungHdg bai 9 tin hoc va ung dung
Hdg bai 9 tin hoc va ung dungHòa Hoàng
 
Hdg bai 8 nhing ung dung cua tin hoc
Hdg bai 8 nhing ung dung cua tin hocHdg bai 8 nhing ung dung cua tin hoc
Hdg bai 8 nhing ung dung cua tin hocHòa Hoàng
 
Hdg bai 7 phan mem may tinh
Hdg bai 7 phan mem may tinhHdg bai 7 phan mem may tinh
Hdg bai 7 phan mem may tinhHòa Hoàng
 
Hdg bai 6 giai bai toan tren may tinh
Hdg bai 6 giai bai toan tren may tinhHdg bai 6 giai bai toan tren may tinh
Hdg bai 6 giai bai toan tren may tinhHòa Hoàng
 
Hdg bai 5 ngon ngu lap trinh
Hdg bai 5 ngon ngu lap trinhHdg bai 5 ngon ngu lap trinh
Hdg bai 5 ngon ngu lap trinhHòa Hoàng
 
Hdg bai 3 gioi thieu ve may tinh
Hdg bai 3 gioi thieu ve may tinhHdg bai 3 gioi thieu ve may tinh
Hdg bai 3 gioi thieu ve may tinhHòa Hoàng
 
Bai 9 tin hoc va xa hoi
Bai 9 tin hoc va xa hoiBai 9 tin hoc va xa hoi
Bai 9 tin hoc va xa hoiHòa Hoàng
 
Bai 8 nhung ung dung cua tin hoc
Bai 8 nhung ung dung cua tin hocBai 8 nhung ung dung cua tin hoc
Bai 8 nhung ung dung cua tin hocHòa Hoàng
 

More from Hòa Hoàng (20)

Hdg bai 3 gioi thieu ve may tinh
Hdg bai 3 gioi thieu ve may tinhHdg bai 3 gioi thieu ve may tinh
Hdg bai 3 gioi thieu ve may tinh
 
Hdg bai 5 ngon ngu lap trinh
Hdg bai 5 ngon ngu lap trinhHdg bai 5 ngon ngu lap trinh
Hdg bai 5 ngon ngu lap trinh
 
Hdg bai 6 giai bai toan tren may tinh
Hdg bai 6 giai bai toan tren may tinhHdg bai 6 giai bai toan tren may tinh
Hdg bai 6 giai bai toan tren may tinh
 
Hdg bai 7 phan mem may tinh
Hdg bai 7 phan mem may tinhHdg bai 7 phan mem may tinh
Hdg bai 7 phan mem may tinh
 
Hdg bai 8 nhing ung dung cua tin hoc
Hdg bai 8 nhing ung dung cua tin hocHdg bai 8 nhing ung dung cua tin hoc
Hdg bai 8 nhing ung dung cua tin hoc
 
Hdg bai 9 tin hoc va ung dung
Hdg bai 9 tin hoc va ung dungHdg bai 9 tin hoc va ung dung
Hdg bai 9 tin hoc va ung dung
 
Bai 5 cac thao tac co ban tren bang
Bai 5 cac thao tac co ban tren bangBai 5 cac thao tac co ban tren bang
Bai 5 cac thao tac co ban tren bang
 
Kich ban day hoc_19
Kich ban day hoc_19Kich ban day hoc_19
Kich ban day hoc_19
 
De kiem tra 1 tiet hs 1
De kiem tra 1 tiet hs 1De kiem tra 1 tiet hs 1
De kiem tra 1 tiet hs 1
 
De kiem tra 15 phut hs
De kiem tra 15 phut hsDe kiem tra 15 phut hs
De kiem tra 15 phut hs
 
Bai tap va thuc hanh 9
Bai tap va thuc hanh  9Bai tap va thuc hanh  9
Bai tap va thuc hanh 9
 
Bai tap bai 19
Bai tap bai 19Bai tap bai 19
Bai tap bai 19
 
Hdg bai 9 tin hoc va ung dung
Hdg bai 9 tin hoc va ung dungHdg bai 9 tin hoc va ung dung
Hdg bai 9 tin hoc va ung dung
 
Hdg bai 8 nhing ung dung cua tin hoc
Hdg bai 8 nhing ung dung cua tin hocHdg bai 8 nhing ung dung cua tin hoc
Hdg bai 8 nhing ung dung cua tin hoc
 
Hdg bai 7 phan mem may tinh
Hdg bai 7 phan mem may tinhHdg bai 7 phan mem may tinh
Hdg bai 7 phan mem may tinh
 
Hdg bai 6 giai bai toan tren may tinh
Hdg bai 6 giai bai toan tren may tinhHdg bai 6 giai bai toan tren may tinh
Hdg bai 6 giai bai toan tren may tinh
 
Hdg bai 5 ngon ngu lap trinh
Hdg bai 5 ngon ngu lap trinhHdg bai 5 ngon ngu lap trinh
Hdg bai 5 ngon ngu lap trinh
 
Hdg bai 3 gioi thieu ve may tinh
Hdg bai 3 gioi thieu ve may tinhHdg bai 3 gioi thieu ve may tinh
Hdg bai 3 gioi thieu ve may tinh
 
Bai 9 tin hoc va xa hoi
Bai 9 tin hoc va xa hoiBai 9 tin hoc va xa hoi
Bai 9 tin hoc va xa hoi
 
Bai 8 nhung ung dung cua tin hoc
Bai 8 nhung ung dung cua tin hocBai 8 nhung ung dung cua tin hoc
Bai 8 nhung ung dung cua tin hoc
 

Bài 17 Chương trình con và phân loại

  • 1. Kiểm tra bài cũ Câu 1: Hãy nêu các bước để đọc tệp? Câu 2: Hãy nêu các bước để ghi tệp?
  • 2. BÀI TOÁN TÍNH TỔNG GIAI THỪA TGiaithua = n! + m! + p! + q! program tong_giai_thua; var TGiaithua, Giaithua1, Giaithua2, Giaithua3, Giaithua4: real; n, m, p, q, i: integer; begin writeln(‘nhap vao cac so nguyen n, m, p, q’); readln(n, m, p, q); Giaithua1:=1.0; for i:=n downto 1 do Giaithua1:=Giaithua1*i; Giaithua2:=1.0; for i:=m downto 1 do Giaithua2:=Giaithua2*i; Giaithua3:=1.0; for i:=p downto 1 do Giaithua3:=Giaithua3*i; Giaithua4:=1.0; for i:=q downto 1 do Giaithua4:=Giaithua4*i; TGiaithua:= Giaithua1 + Giaithua2 + Giaithua3 + Giaithua4; Writeln(‘tong giai thua =’, Tgiaithua:10:4’); readln; end. Quan sát chương trình này ta có nhận xét gì???
  • 3. CHƢƠNG VI: CHƢƠNG TRÌNH CON VÀ LẬP TRÌNH CÓ CẤU TRÚC BÀI 17: CHƢƠNG TRÌNH CON VÀ PHÂN LOẠI
  • 4. 1. Khái niệm chƣơng trình con Xét bài toán tính tổng bốn lũy thừa: TLuythua = an + bm + cp + dq
  • 5. Xét bài toán tính tổng bốn lũy thừa: TLuythua = an + bm + cp + dq program tong_luy_thua; var TLuythua, Luythua1, Luythua2, Luythua3, Luythua4: real; a, b, c, d: real; n, m, p, q, i: integer; begin writeln(‘hay nhap du lieu theo thu tu a, b, c, d, n, m, p, q’); readln(a, b, c, d, n, m, p, q); Luythua1:=1.0; Luythua1:=1.0; for i:=1 to n do Luythua1:=Luythua1*a; for i:=1 to n do Luythua1:=Luythua1*a; Luythua2:=1.0; Luythua2:=1.0; for i:=1 to m do Luythua2:=Luythua2*b; for i:=1 to m do Luythua2:=Luythua2*b; Luythua3:=1.0; Luythua3:=1.0; for i:=1 to p do Luythua3:=Luythua3*c; for i:=1 to p do Luythua3:=Luythua3*c; Luythua4:=1.0; for i:=1 to q do Luythua4:=Luythua4*d; Luythua4:=1.0; for i:=1 to q do Luythua4:=Luythua4*d; TLuythua:=Luythua1 + Luythua2 + Luythua3 + Luythua4; writeln(‘Tong luy thua =’, TLuythua:8:4); readln; end. program tong_luy_thua; var TLuythua: real; a, b, c, d: real; n, m, p, q: integer; function Luythua(x:real; integer):real; function Luythua(x:real; k: k: integer):real; var j:integer; var j:integer; Tich: real; Tich: real; begin begin Tich:=1.0; Tich:=1.0; for j:=1 to k do Tich:=Tich*x; for j:=1 to k do Tich:=Tich*x; Luythua:=Tich; Luythua:=Tich; end; end; begin writeln(‘hay nhap du lieu theo thu tu a, b, c, d, n, m, p, q’); readln(a, b, c, d, n, m, p, q); TLuythua:=Luythua(a, n) + Luythua(b, m) + Luythua(c, p) + Luythua(d, q); writeln(‘Tong luy thua =’, TLuythua:8:4); readln; end.
  • 6. 1. Khái niệm chƣơng trình con 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ưu ý: Chương trình con chỉ cần viết một lần nhưng có thể thực hiện nhiều lần trong chương trình.
  • 7. 2. Phân loại và cấu trúc của chƣơng trình con: a. Phân loại: 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ó Ví dụ: Hàm sin(x) nhận giá trị thực x và trả về giá trị sinx. Thủ tục (procedure) là chương trình con thực hiện các thao tác nhất định nhưng không trả về giá trị nào qua tên của nó. Ví dụ: Các thủ tục vào/ra chuẩn hay xử lý xâu: Writeln, readln, delete, insert,…
  • 8. 2. Phân loại và cấu trúc của chƣơng trình con: b. Cấu trúc chƣơng trình con <phần đầu> [<phần khai báo>] <phần thân> Trong đó:Phần đầu gồm có tên chương trình con, các tham số. Phần khai báo: khai báo biến cho dữ liệu vào, ra, các hằng và biến cho chương trình con Phần thân: dãy câu lệnh được viết giữa cặp begin end;
  • 9. 2. Phân loại và cấu trúc của chƣơng trình con: b. Cấu trúc chƣơng trình con Lưu ý: Tham số hình thức: là các biến được khai báo cho dữ liệu Tham số hình vào/ra của chương trình con. program tong_luy_thua; thức Ví dụ: var TLuythua: real; a, b, c, d: real; n, m, p, q: integer; function Luythua(x:real; k: integer):real; var j:integer; Tich: real; begin Tich:=1.0; for j:=1 to k do Tich:=Tich*x; Luythua:=Tich; end; begin writeln(‘hay nhap du lieu theo thu tu a, b, c, d, n, m, p, q’); readln(a, b, c, d, n, m, p, q); TLuythua:=Luythua(a, n) + Luythua(b, m) + Luythua(c, p) + Luythua(d, q); Tham số thực sự: là các hằng Tham sốchứa dữ liệu vào và và biến thực sự ứng với đặt trong ra tương ứng với các tham số hình thức tham số cặp ngoặc hình thức (x, k). (và) khi gọi một chương trình con. Ví dụ:
  • 10. 2. Phân loại và cấu trúc của chƣơng trình con: b. Cấu trúc chƣơng trình con: Biến cục bộ là các biến được khai báo để dùng riêng cho chương trình con. Biến toàn cục. Ví dụ: program tong_luy_thua; var TLuythua: real; a, b, c, d: real; n, m, p, q: integer; function Luythua(x:real; k: integer):real; var j:integer; Tich: real; begin Tich:=1.0; for j:=1 to k do Tich:=Tich*x; Luythua:=Tich; end; begin writeln(‘hay nhap du lieu theo thu tu a, b, c, d, n, m, p, q’); readln(a, b, c, d, n, m, p, q); TLuythua:=Luythua(a, n) + Luythua(b, m) + Luythua(c, p) + Luythua(d, q); Biến toàn cục là biến được khai Biếntrong chương trình báo cục bộ. chính. Ví dụ:
  • 11. 2. Phân loại và cấu trúc của chƣơng trình con: c. Thực hiện chƣơng trình con -Viết trong phần  Chương trình con được viết trong phầnbáo của của khai khai báo program tong_luy_thua; chương trình chính. chương trình chính var TLuythua: real; -Kết thúc bằng dấu ; a, b, c, d: real; n, m, p, q: integer;  Kết thúc chương trình con là dấu chấm phẩy; function Luythua(x:real; k: integer):real; function Luythua(x:real; k: integer):real; var j:integer; var j:integer; Tich: real; real; Tich: begin begin -Lệnh gọi chương trình Tich:=1.0; Tich:=1.0; con: for j:=1 to j:=1 to k do Tich:=Tich*x; for k do Tich:=Tich*x; <tên chương trình Luythua:=Tich; Luythua:=Tich; end; end; con>[(<tham số thực sự>)] begin writeln(‘hay nhap du lieu theo thu tu a, b, c, d, n, m, p, q’); readln(a, b, c, d, n, m, p, q); TLuythua:=Luythua(a, n) ++ Luythua(b, m) + Luythua(c, p) + Luythua(d, q); TLuythua:=Luythua(a, n) Luythua(b, m) + Luythua(c, p) + Luythua(d, q); writeln(‘Tong luy thua =’, TLuythua:8:4);  Để gọi 1 chương trình con ta phải có lệnh gọi nó. Cú pháp: <tên chương trình con>(<tham số thực sự>).
  • 12. Ghi nhớ!  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.  Phân loại chương trình con: + Hàm (Function). + Thủ tục (Procedure).  Cấu trúc chương trình con: <phần đầu> [<phần khai báo>] <phần thân>  Tham số hình thức, tham số thực số, biến cục bộ, biến toàn cục, lệnh gọi chương trình con.
  • 13. Củng cố Câu 1: Hãy chọn câu trả lời đúng nhất cho khái niệm của chương trình con? A. Chương trình con là một dãy lệnh mô tả một số thao tác nhất định được thực hiện ( được gọi) từ một vị trí trong chương trình. B. Chương trình con là những dãy lệnh mô tả một số thao tác nhất định được thực hiện ( được gọi) từ nhiều vị trí trong chương trình. C. Chương trình con là một dãy lệnh mô tả một số thao tác nhất định được thực hiện ( được gọi) từ nhiều vị trí trong chương trình. D. Chương trình con là những dãy lệnh mô tả một số thao tác nhất định được thực hiện ( được gọi) từ một vị trí trong chương trình.
  • 14. Củng cố Câu 2:  Điểm khác nhau cở bản của hàm và thủ tục là gì? Chọn câu trả lời đúng. A. Hàm có sử dụng biến số còn thủ tục thì không có sử dụng biến số. B. Thủ tục khai báo trước phần thân chương trình còn hàm thì sau phần thân chương trình. C. Hàm sẽ trả về một giá trị thông qua tên hàm còn thủ tục thì không. D. Xây dựng hàm khó hơn thủ tục.
  • 15. Củng cố Câu 3: Cho biết điểm khác nhau giữa biến toàn cục và biến cục bộ?
  • 16. Dặn dò Về nhà học bài 17. Xem bài 18.