Tìm kiếm theo tiêu đề

Tin tức cộng đồng

5 điều đơn giản cha mẹ nên làm mỗi ngày để con hạnh phúc hơn

Tìm kiếm hạnh phúc là một nhu cầu lớn và xuất hiện xuyên suốt cuộc đời mỗi con người. Tác giả người Mỹ Stephanie Harrison đã dành ra hơn 10 năm để nghiên cứu về cảm nhận hạnh phúc, bà đã hệ thống các kiến thức ấy trong cuốn New Happy. Bà Harrison khẳng định có những thói quen đơn...
Xem tiếp

Tin tức thư viện

Chức năng Dừng xem quảng cáo trên violet.vn

12087057 Kính chào các thầy, cô! Hiện tại, kinh phí duy trì hệ thống dựa chủ yếu vào việc đặt quảng cáo trên hệ thống. Tuy nhiên, đôi khi có gây một số trở ngại đối với thầy, cô khi truy cập. Vì vậy, để thuận tiện trong việc sử dụng thư viện hệ thống đã cung cấp chức năng...
Xem tiếp

Hỗ trợ kĩ thuật

  • (024) 62 930 536
  • 0919 124 899
  • hotro@violet.vn

Liên hệ quảng cáo

  • (024) 66 745 632
  • 096 181 2005
  • contact@bachkim.vn

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

Wait
  • Begin_button
  • Prev_button
  • Play_button
  • Stop_button
  • Next_button
  • End_button
  • 0 / 0
  • Loading_status
Tham khảo cùng nội dung: Bài giảng, Giáo án, E-learning, Bài mẫu, Sách giáo khoa, ...
Nhấn vào đây để tải về
Báo tài liệu có sai sót
Nhắn tin cho tác giả
(Tài liệu chưa được thẩm định)
Nguồn: GV. Kiều Thị Thúy
Người gửi: Lê Quang Tuấn (trang riêng)
Ngày gửi: 15h:08' 21-05-2009
Dung lượng: 470.5 KB
Số lượt tải: 105
Số lượt thích: 0 người

Chào mừng quý thầy cô về dự giờ thăm lớp
Trường THPT Cẩm Bình
GVGD: Kiều Thị Thúy
Bộ môn: Tin học.
Tổ : Toán - Tin
Tính tổng luỹ thừa sau:
?
24
35
54
44
Nhóm trưởng
16
243
256
625
1140
Với những bài toán phức tạp, thường đòi hỏi và nói chung có thể phân thành các bài toán con.

Tương tự, khi lập trình để giải bài toán trên máy tính có thể phân chia chương trình thành các khối (modul), mỗi khối bao gồm các lệnh giải một bài toán con nào đó. Mỗi khối lệnh sẽ được xây dựng thành một chương trình con. Sau đó chương trình chính sẽ được xây dựng từ các chương trình con này. Chương trình con cũng có thể được xây dựng thành các chương trình con khác.

Cách lập trình như vậy dựa trên phương pháp lập trình có cấu trúc và chương trình được xây dựng gọi là chương trình có cấu trúc.
úy
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
Viết chương tính tổng luỹ thừa sau :
luythua1:=1.0;
for i:=1 to n do
luythua1:= luythua1 * a;
an = a * a * a * … * a
n
Ta thấy:
Đoạn chương trình thực hiện tính an như sau:
Program tinh_tong;
Var tluythua,luythua1,luythua2, luythua3:real;
a, b, c :real; i,n,m,p : integer;
Begin
write(‘nhap du lieu theo thu tu a, b, c,m, n, p: ‘);
readln(a, b, c, m,n ,p);

luythua1:=1.0;
for i:=1 to n do
luythua1:= luythua1 * a;
luythua2:=1.0;
for i:=1 to m do
luythua2:= luythua2 * b ;
luythua3:=1.0;
for i:=1 to p do
luythua3:= luythua3 * c ;
Tluythua := luythua1 + luythua2 + luythua3 ;
Writeln(‘Tong luy thua = ‘, tluythua :8:4);
End.
Lặp đi lặp lại những đoạn lệnh tương tự nhau  chương trình vừa dài vừa khó theo dõi, khó hiệu chỉnh
Function luythua(x:real; k:integer) : real;
Var i:integer; tich:real;
Begin
tich := 1.0;
for i := 1 to k do
tich := tich * x;
luythua := tich;
End;
Chương trình con tính lũy thừa dạng tổng quát
Program tinhtong;
Var
T,a, b,c:Real;
m,n,p : Integer
Function Luythua(x:Real; k:Integer): Real;
Var i:Integer;
tich:Real;
Begin
tich :=1.0;
For i:=1 To k Do
tich:=tich* x ;
Luythua:=tich;
End;

BEGIN
Write(‘nhap du lieu a,b,c,m,n,p);
Readln(a,b,c,m,n,p);
Luythua( a, m)
Luythua( b, n)
Luythua( c, p ) ;
+
+
T:=
Nhap du lieu a,b,c,m,n,p
a =
2
; m =
2
b =
3
; n =
3
c =
4
; p =
4
Luythua( 2, 2)
4
Luythua( 3, 3)
Function Luythua(x:Real; k:Integer): Real;
Var i :Integer;
tich:Real;
Begin
tich :=1.0;
For i:=1 To k Do
tich:=tich * x ;
Luythua:=tich;
End;

Function Luythua(x:Real; k:Integer): Real;
Var i :Integer;
tich:Real;
Begin
tich :=1.0;
For i:=1 To k Do
tich:=tich* x ;
Luythua:=tich;
End;

27
Luythua( 4, 4 ) ;
64
Function Luythua(x:Real; k:Integer): Real;
Var i :Integer;
tich:Real;
Begin
tich :=1.0;
For i:=1 To k Do
tich:=tich * x ;
Luythua:=tich;
End;

T=95
Function luythua(x:real; k:integer): real;
Var i : integer;
tich : real;
Begin
tich :=1.0;
For i:=1 To k Do
tich:=tich* x ;
Luythua:=tich;
End;

END.
Chương trình trên viết theo kiểu chương trình con
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ợi ích của việc sử dụng chương trình con:
- Tránh việc phải viết lặp đi lặp lại một dãy lệnh nào đó.
- 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
D? vi?t chuong trỡnh gi?i cỏc bi toỏn l?n, ph?c t?p ngu?i l?p trỡnh cú th? chia thnh nhi?u bi toỏn nh?, m?i bi toỏn l m?t dóy l?nh mụ t? m?t s? thao tỏc nh?t d?nh (g?i l ctc). Sau dú ghộp n?i cỏc chuong trỡnh con thnh chuong trỡnh chớnh.
Nhóm trưởng
Việc A
Vi?c B
Hỗ trợ việc thực hiện các chương trình lớn:
2. Phân loại và cấu trúc chương trình con
Phân loại : thường gồm 2 loại hàm và thủ tục
Hàm
(Function)
Là chương trình con
Thực hiện một số thao tác nào đó.
Trả về giá trị qua tên hàm
Thủ tục
(Procedure)
Là chương trình con
Thực hiện một số thao tác nào đó
VD:
Sqr(3)  9
upcase(‘a’) ‘A’
VD:
readln(a,b,c);
writeln(s);
b. Cấu trúc chương trình con

[]

Giải thích:
Phần đầu bắt buộc phải có, gồm tên chương trình con, các tham số của chương trình con. Các tham số này được gọi là tham số hình thức.
Phần khai báo thường có thể là khai báo biến hoặc hằng
Phần thân là một dãy các lệnh thực hiện nhiệm vụ nhất định của chương trình con.
Function luythua(x:real; k:integer):real;
Var i:integer; tich:real;
Begin
tich:=1.0;
for i:=1 to k do
tich:=tich * x;
luythua:= tich;
End;
Procedure tinhtong;
Var T,a, b,c:Real;
m,n,p : Integer;

Function luythua(x:real; k:integer): real;
Var i : integer;
tich : real;
Begin
tich :=1.0;
For i:=1 To k Do
tich := tich* x ;
Luythua := tich;
End;

BEGIN
Write(‘nhap du lieu a,b,c,m,n,p);
Readln(a,b,c,m,n,p);
T:= luythua(a,n) + luythua(b,m) + luythua(c,p);
writeln(‘Tong luy thua: ’, T:8:4);
END.






Các CTC thường được đặt sau phần khai báo của chương trình chính.
CTC chỉ được thực hiện khi có lời gọi nó.
Hãy cho biết vị trí của chương trình con trong chương trình chính?
Chương trình con được thực hiện khi nào?
Procedure tinhtong;
Var T,a, b,c:Real;
m,n,p : Integer;

Function luythua(x:real; k:integer): real;
Var
i : integer;
tich : real;
Begin
tich :=1.0;
For i:=1 to k do
tich := tich* x ;
Luythua := tich;
End;

BEGIN
Write(‘nhap du lieu a,b,c,m,n,p);
Readln(a,b,c,m,n,p);
T:= luythua(a,n) + luythua(b,m) + luythua(c,p);
writeln(‘Tong luy thua: ’, T:8:4);
END.







Biến khai báo ở CT chính có tác dụng ở mọi chương trình gọi là biến toàn bộ.
Biến được khai báo ở trong CTC chỉ có tác dụng trong CTC gọi là biến cục bộ.
Biến được khai báo cho dữ liệu vào/ra ở CTC gọi là tham số hình thức.
Biến chứa trong lời gọi CTC ở chương trình chính là các tham số thực sự.
Biến toàn bộ
Biến cục bộ
Tham số hình thức
Tham số thực sự
Program tinhtong;
Var
T,a, b,c:Real;
m,n,p : Integer
BEGIN
Write(‘nhap du lieu a,b,c,m,n,p);
Readln(a,b,c,m,n,p);
T:=
Luythua( a, n)
Luythua( b, m)
Luythua( c, p ) ;
Function luythua(x:real; k:integer): real;
Var i : integer;
tich : real;
Begin
tich :=1.0;
For i:=1 To k Do
tich := tich* x ;
Luythua := tich;
End;
END
+
+
c. Thực hiện chương trình con
Lời gọi chương trình con:

Tên chương trình con
Tham số (nếu có)
Ví dụ:
Sqr(9)
Tên chương trình con
Tham số thực sự
- Sau khi chương trình con kết thúc, lệnh tiếp theo lệnh gọi chương trình sẽ được thực hiện
Củng cố
Khái niệm chương trình con
Hai loại chương trình con:
+ Hàm
+ Thủ tục
Cấu trúc chương trình con
+ Biến toàn cục
+ Biến cục bộ
+ Tham số hình thức
+ Tham số thực sự
+ Lời gọi chương trình con
Bài tập về nhà:
- Xem trước bài 18: Ví dụ về cách viết và sử dụng chương trình con
 
Gửi ý kiến