Bài 17. Chương trình con và phân loại
Chia sẻ bởi Đỗ Văn Nhỏ |
Ngày 10/05/2019 |
137
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:
Chương VI: CHƯƠNG TRÌNH CON VÀ LẬP TRÌNH CÓ CẤU TRÚC
Tiết 38: §17
CHƯƠNG TRÌNH CON VÀ PHÂN LOẠI
(Tiết 1)
Làm việc theo nhóm
Tính và ghi kết quả ra giấy của tổng sau: S= 28+ 35 + 54 + 63
Yêu cầu: Làm thế nào nhanh nhất mà không được dùng máy tính bỏ túi.
Làm thế nào cho nhanh nhỉ
Xét bài toán tính tổng bốn lũy thừa:
TLuyThua = an+ bm + cp + dq
Làm việc theo nhóm: Mỗi nhóm trình bày giải thuật của 1 lũy thừa:
Thuật toán tính
B1: Lt 1; i 1;
B2: Nếu i > n Thì chuyển sang bước 4
B3: Lt Lt * a ;
i i + 1;
Quay lại bước 2;
B4: In kết quả Lt và kết thúc
bm
cp
dq
an
b
m
c
p
d
q
Var Tlt,Lt1,Lt2,Lt3,Lt4,a,b,c,d:Real;
i,n,m,p,q:Integer;
Begin
Write(`Nhap DL theo thu tu
a,b,c,d,n,m,p,q: `);
Readln(a,b,c,d,n,m,p,q);
Lt1:=1.0;
For i:=1 To n Do Lt1:=Lt1*a;
Lt2:=1.0;
For i:=1 To m Do Lt2:=Lt2*a;
Lt3:=1.0;
For i:=1 To p Do Lt3:=Lt3*a;
Lt4:=1.0;
For i:=1 To q Do Lt4:=Lt4*a;
Tlt:=Lt1+Lt2+Lt3+Lt4;
Writeln(`Tong luy thua = `,Tlt:8:2);
Readln;
End.
Var Tlt,Lt1,Lt2,Lt3,Lt4,a,b,c,d:Real;
i,n,m,p,q:Integer;
Begin
Write(`Nhap DL theo thu tu
a,b,c,d,n,m,p,q: `);
Readln(a,b,c,d,n,m,p,q);
Lt1:=1.0;
For i:=1 To n Do Lt1:=Lt1*a;
Lt2:=1.0;
For i:=1 To m Do Lt2:=Lt2*b;
Lt3:=1.0;
For i:=1 To p Do Lt3:=Lt3*c;
Lt4:=1.0;
For i:=1 To q Do Lt4:=Lt4*d;
Tlt:=Lt1+Lt2+Lt3+Lt4;
Writeln(`Tong luy thua = `,Tlt:8:2);
Readln;
End.
Cách giải bài toán lớn
BÀI TOÁN
LỚN
BÀI TOÁN
NHỎ
BÀI TOÁN
NHỎ
BÀI TOÁN
NHỎ
BÀI TOÁN
NHỎ
BÀI TOÁN
NHỎ
BÀI TOÁN
NHỎ
BÀI TOÁN
NHỎ
BÀI TOÁN
NHỎ
BÀI TOÁN
NHỎ
BÀI TOÁN
NHỎ
BÀI TOÁN
NHỎ
Phân chia chương trình thành các mô-đun (CTC)
CHƯƠNG
TRÌNH
MÔ-ĐUN
(CTC)
MÔ-ĐUN
(CTC)
MÔ-ĐUN
(CTC)
MÔ-ĐUN
(CTC)
MÔ-ĐUN
(CTC)
MÔ-ĐUN
(CTC)
MÔ-ĐUN
(CTC)
MÔ-ĐUN
(CTC)
MÔ-ĐUN
(CTC)
MÔ-ĐUN
(CTC)
MÔ-ĐUN
(CTC)
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.
Var Tlt,Lt1,Lt2,Lt3,Lt4,a,b,c,d:Real;
i,n,m,p,q:Integer;
Begin
Write(`Nhap DL theo thu tu
a,b,c,d,m,n,p,q: `);
Readln(a,b,c,d,m,n,p,q);
Lt1:=1.0;
For i:=1 To n Do Lt1:=Lt1*a;
Lt2:=1.0;
For i:=1 To m Do Lt2:=Lt2*b;
Lt3:=1.0;
For i:=1 To p Do Lt3:=Lt3*c;
Lt4:=1.0;
For i:=1 To q Do Lt4:=Lt4*d;
Tlt:=Lt1+Lt2+Lt3+Lt4;
Writeln(`Tong luy thua = `,Tlt:8:2);
Readln;
End.
Chương trình đại diện
LuyThua=xk – LuyThua(x,k);
Trong đó LuyThua và x là giá trị kiểu thực, còn k thuộc kiểu nguyên:
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;
Lt1:=1.0;
For i:=1 To n Do
Lt1:=Lt1*a;
Lt2:=1.0;
For i:=1 To m Do
Lt2:=Lt2*b;
Lt3:=1.0;
For i:=1 To p Do
Lt3:=Lt3*c;
Lt4:=1.0;
For i:=1 To q Do
Lt4:=Lt4*d;
LuyThua(a,n);
LuyThua(b,m);
LuyThua(c,p);
LuyThua(d,q);
Tính an
Tính bm
Tính cp
Tính dq
Var Tlt,Lt1,Lt2,Lt3,Lt4,a,b,c,d:Real;
i,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
Write(`Nhap DL theo TT a,b,c,d,m,n,p,q: `);
Readln(a,b,c,d,m,n,p,q);
Lt1:=LuyThua(a,n);
Lt2:=LuyThua(b,m);
Lt3:=LuyThua(c,p);
Lt4:=LuyThua(d,q);
Tlt:=Lt1+Lt2+Lt3+Lt4;
Writeln(`Tong luy thua = `,Tlt:8:2);
Readln;
End.
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 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.
Củng cố
Khi nào thì các em dùng đến chương trình con?
Nêu các lợi ích cơ bản của chương trình con?
Trong các lợi ích đó thì lợi ích nào các em cần quan tâm?
Dùng dấu * để vẽ các hình sau:
* * ****************
** ** ****************
*** *** ****************
**** **** ****************
**** * ***** ****************
****** ****** 5x16
6 ******* *********
* ******** *********
** 8 *********
*** 3x9
**** ***********************
***** ***********************
****** ***********************
******* ***********************
******** ***********************
********* ***********************
********** ***********************
10 7x23
Tiết 38: §17
CHƯƠNG TRÌNH CON VÀ PHÂN LOẠI
(Tiết 1)
Làm việc theo nhóm
Tính và ghi kết quả ra giấy của tổng sau: S= 28+ 35 + 54 + 63
Yêu cầu: Làm thế nào nhanh nhất mà không được dùng máy tính bỏ túi.
Làm thế nào cho nhanh nhỉ
Xét bài toán tính tổng bốn lũy thừa:
TLuyThua = an+ bm + cp + dq
Làm việc theo nhóm: Mỗi nhóm trình bày giải thuật của 1 lũy thừa:
Thuật toán tính
B1: Lt 1; i 1;
B2: Nếu i > n Thì chuyển sang bước 4
B3: Lt Lt * a ;
i i + 1;
Quay lại bước 2;
B4: In kết quả Lt và kết thúc
bm
cp
dq
an
b
m
c
p
d
q
Var Tlt,Lt1,Lt2,Lt3,Lt4,a,b,c,d:Real;
i,n,m,p,q:Integer;
Begin
Write(`Nhap DL theo thu tu
a,b,c,d,n,m,p,q: `);
Readln(a,b,c,d,n,m,p,q);
Lt1:=1.0;
For i:=1 To n Do Lt1:=Lt1*a;
Lt2:=1.0;
For i:=1 To m Do Lt2:=Lt2*a;
Lt3:=1.0;
For i:=1 To p Do Lt3:=Lt3*a;
Lt4:=1.0;
For i:=1 To q Do Lt4:=Lt4*a;
Tlt:=Lt1+Lt2+Lt3+Lt4;
Writeln(`Tong luy thua = `,Tlt:8:2);
Readln;
End.
Var Tlt,Lt1,Lt2,Lt3,Lt4,a,b,c,d:Real;
i,n,m,p,q:Integer;
Begin
Write(`Nhap DL theo thu tu
a,b,c,d,n,m,p,q: `);
Readln(a,b,c,d,n,m,p,q);
Lt1:=1.0;
For i:=1 To n Do Lt1:=Lt1*a;
Lt2:=1.0;
For i:=1 To m Do Lt2:=Lt2*b;
Lt3:=1.0;
For i:=1 To p Do Lt3:=Lt3*c;
Lt4:=1.0;
For i:=1 To q Do Lt4:=Lt4*d;
Tlt:=Lt1+Lt2+Lt3+Lt4;
Writeln(`Tong luy thua = `,Tlt:8:2);
Readln;
End.
Cách giải bài toán lớn
BÀI TOÁN
LỚN
BÀI TOÁN
NHỎ
BÀI TOÁN
NHỎ
BÀI TOÁN
NHỎ
BÀI TOÁN
NHỎ
BÀI TOÁN
NHỎ
BÀI TOÁN
NHỎ
BÀI TOÁN
NHỎ
BÀI TOÁN
NHỎ
BÀI TOÁN
NHỎ
BÀI TOÁN
NHỎ
BÀI TOÁN
NHỎ
Phân chia chương trình thành các mô-đun (CTC)
CHƯƠNG
TRÌNH
MÔ-ĐUN
(CTC)
MÔ-ĐUN
(CTC)
MÔ-ĐUN
(CTC)
MÔ-ĐUN
(CTC)
MÔ-ĐUN
(CTC)
MÔ-ĐUN
(CTC)
MÔ-ĐUN
(CTC)
MÔ-ĐUN
(CTC)
MÔ-ĐUN
(CTC)
MÔ-ĐUN
(CTC)
MÔ-ĐUN
(CTC)
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.
Var Tlt,Lt1,Lt2,Lt3,Lt4,a,b,c,d:Real;
i,n,m,p,q:Integer;
Begin
Write(`Nhap DL theo thu tu
a,b,c,d,m,n,p,q: `);
Readln(a,b,c,d,m,n,p,q);
Lt1:=1.0;
For i:=1 To n Do Lt1:=Lt1*a;
Lt2:=1.0;
For i:=1 To m Do Lt2:=Lt2*b;
Lt3:=1.0;
For i:=1 To p Do Lt3:=Lt3*c;
Lt4:=1.0;
For i:=1 To q Do Lt4:=Lt4*d;
Tlt:=Lt1+Lt2+Lt3+Lt4;
Writeln(`Tong luy thua = `,Tlt:8:2);
Readln;
End.
Chương trình đại diện
LuyThua=xk – LuyThua(x,k);
Trong đó LuyThua và x là giá trị kiểu thực, còn k thuộc kiểu nguyên:
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;
Lt1:=1.0;
For i:=1 To n Do
Lt1:=Lt1*a;
Lt2:=1.0;
For i:=1 To m Do
Lt2:=Lt2*b;
Lt3:=1.0;
For i:=1 To p Do
Lt3:=Lt3*c;
Lt4:=1.0;
For i:=1 To q Do
Lt4:=Lt4*d;
LuyThua(a,n);
LuyThua(b,m);
LuyThua(c,p);
LuyThua(d,q);
Tính an
Tính bm
Tính cp
Tính dq
Var Tlt,Lt1,Lt2,Lt3,Lt4,a,b,c,d:Real;
i,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
Write(`Nhap DL theo TT a,b,c,d,m,n,p,q: `);
Readln(a,b,c,d,m,n,p,q);
Lt1:=LuyThua(a,n);
Lt2:=LuyThua(b,m);
Lt3:=LuyThua(c,p);
Lt4:=LuyThua(d,q);
Tlt:=Lt1+Lt2+Lt3+Lt4;
Writeln(`Tong luy thua = `,Tlt:8:2);
Readln;
End.
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 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.
Củng cố
Khi nào thì các em dùng đến chương trình con?
Nêu các lợi ích cơ bản của chương trình con?
Trong các lợi ích đó thì lợi ích nào các em cần quan tâm?
Dùng dấu * để vẽ các hình sau:
* * ****************
** ** ****************
*** *** ****************
**** **** ****************
**** * ***** ****************
****** ****** 5x16
6 ******* *********
* ******** *********
** 8 *********
*** 3x9
**** ***********************
***** ***********************
****** ***********************
******* ***********************
******** ***********************
********* ***********************
********** ***********************
10 7x23
* 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ẻ: Đỗ Văn Nhỏ
Dung lượng: |
Lượt tài: 0
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)