Bài 17. Chương trình con và phân loại
Chia sẻ bởi Phạm Văn Chuyền |
Ngày 10/05/2019 |
117
Chia sẻ tài liệu: Bài 17. Chương trình con và phân loại thuộc Tin học 11
Nội dung tài liệu:
Giỏo viờn:
Mụn Tin h?c l?p 11
Trường THPT Bắc Đông Quan
Hãy viết đoạn chương trình tính xn
Đoạn chương trình tính xn:
Var
LuyThua, x: real;
n, i: integer;
Begin
LuyThua:= 1.0;
For i:=1 to n do
LuyThua:= LuyThua*x;
End;
Viết chương trình tính tổng :
S = an + bm + cp +dq
Nhận xét về cách thực hiện bài toán
Nhận xét:
Có thể chia bài toán thành các bài toán nhỏ
- Bài toán 1 tính an
- Bài toán 2 tính bm
- Bài toán 3 tính cp
- Bài toán 4 tính dq
S = an + bm + cp + dq
Nhóm trưởng
1. KHÁI NIỆM CHƯƠNG TRÌNH CON
a. Bài toán đặt vấn đề
1. KHÁI NIỆM CHƯƠNG TRÌNH CON
a. Bài toán đặt vấn đề: Viết chương trình tính tổng: S = an + bm + cp +dq
Luythua1:=1.0;
For i:=1 to n Do Luythua1:=Luythua1*a;
Program Tinh_tong;
Var TLuythua, Luythua1, Luythua2,Luythua3,Luythua4:real;
a,b,c,d:real;
i,n,m,p,q:Integer;
Begin
Write(‘Hay nhap du lieu theo thu tu a,b,c,d,n,m,p,q: ’);
Readln(a,b,c,d,n,m,p,q);
Luythua2:=1.0;
For i:=1 to m Do Luythua2:=Luythua2*b;
Luythua3:=1.0;
For i:=1 to p Do Luythua3:=luythua3*c;
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.
Em nhận xét gì về bốn đoạn chương trình này?
Function Luythua(x: real; k: integer): real;
Var i: Integer;
Begin
Tich:=1.0;
For i:=1 to k Do Tich:=Tich*x;
Luythua:=Tich;
End;
Program Tinh_tong;
Var TLuythua : real; a,b,c,d : real;
i,n,m,p,q : Integer;
Begin
Write(‘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:=
Writeln(‘Ket qua la = ‘, TLuythua:8:4);
Readln;
End.
Chương trình con
Thực hiện (gọi) chương trình con
Chương trình chính
1. KHÁI NIỆM CHƯƠNG TRÌNH CON
a. Bài toán đặt vấn đề: Viết chương trình tính tổng: S = an + bm + cp +dq
Với x = a và k = n thì:
an =
Với x = b và k = m thì
bm =
Với x = c và k = p thì
cp =
Với x = d và k = q thì
dq =
Luythua(a,n)
Luythua(b,m)
Luythua(c,p)
Luythua(d,q)
+
Tính xk
+
+
1. KHÁI NIỆM CHƯƠNG TRÌNH CON
a. Bài toán đặt vấn đề: Viết chương trình tính tổng: S = an + bm + cp +dq
b. Khái niệm chương trình con:
Chương trình con
Một dãy lệnh mô tả một số thao tác nhất định
Có thể được thực hiện (được gọi) từ nhiều vị trí trong chương trình
Nhận xét:
- Có thể chia một bài toán lớn (chương trình chính) thành các bài toán nhỏ. Mỗi bài toán sẽ được xây dựng thành một chương trình con.
- Chương trình chính được xây dựng từ các chương trình con và chương trình con cũng có thể được xây dựng từ những chương trình con khác. Cách lập trình trên gọi là lập trình có cấu trúc và chương trình xây dựng dược gọi là chương trình có cấu trúc.
Lợi ích?
Tránh phải viết lặp đi lặp lại một đoạn 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.
1. KHÁI NIỆM CHƯƠNG TRÌNH CON
a. Bài toán đặt vấn đề: Viết chương trình tính tổng: S = an + bm + cp +dq
Khái niệm chương trình con:
Lợi ích của việc sử dụng chương trình con
Câu 1: CTC dùng để làm gì?
Trong tiết này, chúng ta đã tìm hiểu khái niệm chương trình con và tác dụng của nó. Về nhà, các em nghiên cứu lại nội dung bài và tìm hiểu trước “phân loại và cấu trúc của chương trình con”.
Lập trình viên trưởng
CTC 3
CTC 1
CTC 2
CTC 4
Phân chia công việc cho nhiều người
Luythua1:=1.0;
For i:=1 to n Do Luythua1:=Luythua1*a;
Program Tinh_tong;
Var TLuythua, Luythua1, Luythua2,
Luythua3, Luythua4: real;
a,b,c,d:real;
i,n,m,p,q:Integer;
Begin
Write(‘Hay nhap du lieu
theo thu tu a,b,c,d,n,m,p,q: ’);
Readln(a,b,c,d,n,m,p,q);
Luythua2:=1.0;
For i:=1 to m Do Luythua2:=Luythua2*b;
Luythua3:=1.0;
For i:=1 to p Do Luythua3:=luythua3*c;
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.
Function Luythua(x: real; k: integer): real;
Var i: Integer;
Begin
Tich:=1.0;
For i:=1 to k Do Tich:=Tich*x;
Luythua:=Tich;
End;
Program Tinh_tong;
Var TLuythua : real; a,b,c,d : real;
i,n,m,p,q : Integer;
Begin
Write(‘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(‘Ket qua la = ‘, TLuythua:8:4);
Readln;
End.
Em hãy so sánh hai chương trình sau và rút ra nhận xét.
Mụn Tin h?c l?p 11
Trường THPT Bắc Đông Quan
Hãy viết đoạn chương trình tính xn
Đoạn chương trình tính xn:
Var
LuyThua, x: real;
n, i: integer;
Begin
LuyThua:= 1.0;
For i:=1 to n do
LuyThua:= LuyThua*x;
End;
Viết chương trình tính tổng :
S = an + bm + cp +dq
Nhận xét về cách thực hiện bài toán
Nhận xét:
Có thể chia bài toán thành các bài toán nhỏ
- Bài toán 1 tính an
- Bài toán 2 tính bm
- Bài toán 3 tính cp
- Bài toán 4 tính dq
S = an + bm + cp + dq
Nhóm trưởng
1. KHÁI NIỆM CHƯƠNG TRÌNH CON
a. Bài toán đặt vấn đề
1. KHÁI NIỆM CHƯƠNG TRÌNH CON
a. Bài toán đặt vấn đề: Viết chương trình tính tổng: S = an + bm + cp +dq
Luythua1:=1.0;
For i:=1 to n Do Luythua1:=Luythua1*a;
Program Tinh_tong;
Var TLuythua, Luythua1, Luythua2,Luythua3,Luythua4:real;
a,b,c,d:real;
i,n,m,p,q:Integer;
Begin
Write(‘Hay nhap du lieu theo thu tu a,b,c,d,n,m,p,q: ’);
Readln(a,b,c,d,n,m,p,q);
Luythua2:=1.0;
For i:=1 to m Do Luythua2:=Luythua2*b;
Luythua3:=1.0;
For i:=1 to p Do Luythua3:=luythua3*c;
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.
Em nhận xét gì về bốn đoạn chương trình này?
Function Luythua(x: real; k: integer): real;
Var i: Integer;
Begin
Tich:=1.0;
For i:=1 to k Do Tich:=Tich*x;
Luythua:=Tich;
End;
Program Tinh_tong;
Var TLuythua : real; a,b,c,d : real;
i,n,m,p,q : Integer;
Begin
Write(‘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:=
Writeln(‘Ket qua la = ‘, TLuythua:8:4);
Readln;
End.
Chương trình con
Thực hiện (gọi) chương trình con
Chương trình chính
1. KHÁI NIỆM CHƯƠNG TRÌNH CON
a. Bài toán đặt vấn đề: Viết chương trình tính tổng: S = an + bm + cp +dq
Với x = a và k = n thì:
an =
Với x = b và k = m thì
bm =
Với x = c và k = p thì
cp =
Với x = d và k = q thì
dq =
Luythua(a,n)
Luythua(b,m)
Luythua(c,p)
Luythua(d,q)
+
Tính xk
+
+
1. KHÁI NIỆM CHƯƠNG TRÌNH CON
a. Bài toán đặt vấn đề: Viết chương trình tính tổng: S = an + bm + cp +dq
b. Khái niệm chương trình con:
Chương trình con
Một dãy lệnh mô tả một số thao tác nhất định
Có thể được thực hiện (được gọi) từ nhiều vị trí trong chương trình
Nhận xét:
- Có thể chia một bài toán lớn (chương trình chính) thành các bài toán nhỏ. Mỗi bài toán sẽ được xây dựng thành một chương trình con.
- Chương trình chính được xây dựng từ các chương trình con và chương trình con cũng có thể được xây dựng từ những chương trình con khác. Cách lập trình trên gọi là lập trình có cấu trúc và chương trình xây dựng dược gọi là chương trình có cấu trúc.
Lợi ích?
Tránh phải viết lặp đi lặp lại một đoạn 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.
1. KHÁI NIỆM CHƯƠNG TRÌNH CON
a. Bài toán đặt vấn đề: Viết chương trình tính tổng: S = an + bm + cp +dq
Khái niệm chương trình con:
Lợi ích của việc sử dụng chương trình con
Câu 1: CTC dùng để làm gì?
Trong tiết này, chúng ta đã tìm hiểu khái niệm chương trình con và tác dụng của nó. Về nhà, các em nghiên cứu lại nội dung bài và tìm hiểu trước “phân loại và cấu trúc của chương trình con”.
Lập trình viên trưởng
CTC 3
CTC 1
CTC 2
CTC 4
Phân chia công việc cho nhiều người
Luythua1:=1.0;
For i:=1 to n Do Luythua1:=Luythua1*a;
Program Tinh_tong;
Var TLuythua, Luythua1, Luythua2,
Luythua3, Luythua4: real;
a,b,c,d:real;
i,n,m,p,q:Integer;
Begin
Write(‘Hay nhap du lieu
theo thu tu a,b,c,d,n,m,p,q: ’);
Readln(a,b,c,d,n,m,p,q);
Luythua2:=1.0;
For i:=1 to m Do Luythua2:=Luythua2*b;
Luythua3:=1.0;
For i:=1 to p Do Luythua3:=luythua3*c;
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.
Function Luythua(x: real; k: integer): real;
Var i: Integer;
Begin
Tich:=1.0;
For i:=1 to k Do Tich:=Tich*x;
Luythua:=Tich;
End;
Program Tinh_tong;
Var TLuythua : real; a,b,c,d : real;
i,n,m,p,q : Integer;
Begin
Write(‘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(‘Ket qua la = ‘, TLuythua:8:4);
Readln;
End.
Em hãy so sánh hai chương trình sau và rút ra nhận xét.
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...
Người chia sẻ: Phạm Văn Chuyền
Dung lượng: |
Lượt tài: 2
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)