Bài 17. Chương trình con và phân loại
Chia sẻ bởi Lương Thị Lụa |
Ngày 10/05/2019 |
61
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:
1
Chào mừng các thầy cô về dự giờ
Môn: Tin Hoc
Lớp 11B
2
Tin học 11
CHƯƠNG VI
CHƯƠNG TRÌNH CON
VÀ LẬP TRÌNH CÓ CẤU TRÚC
§ 17. CHƯƠNG TRÌNH CON VÀ PHÂN LOẠI
§ 18. VÍ DỤ VỀ CÁCH VIẾT VÀ SỬ DỤNG CHƯƠNG TRÌNH CON
§ 19. THƯ VIỆN CHƯƠNG TRÌNH CON CHUẨN
3
1. Bài toán
2. Khái niệm
3. Phân loại chương trình con
§17. CHƯƠNG TRÌNH CON VÀ PHÂN LOẠI (Tiết 1)
4
§17. CHƯƠNG TRÌNH CON VÀ PHÂN LOẠI (Tiết 1)
1. Bài toán
Lập trình tính:
Ta có:
S1:= 1;
For i:=1 to x do
S1:= S1 * a;
Tương tự..ta sẽ tính s2,s3,…s6
5
§17. CHƯƠNG TRÌNH CON VÀ PHÂN LOẠI (Tiết 1)
1. Bài toán
PROGAM baitoan1;
Var a,b,c,d,e,f,x,y,z,t,m,n ,i: integer;
S,S1,S2,S3,S4,S5, S6 : longint;
BEGIN
Writeln(‘Nhap co so:’); readln(a,b,c,d,e,f);
Writeln(‘Nhap so mu :’); readln(x,y,z,t,m,n);
S:= S1 +S2 + S3 + S4 + S5 + S6;
Writeln(‘Tong la S=‘, S)
Readln
END.
S1:= 1;
For i:=1 to x do S1:= S1 * a;
S2:= 1;
For i:=1 to y do S2:= S2 * b;
S3:= 1;
For i:=1 to z do S3:= S3 * c;
S4:= 1;
For i:=1 to t do S4:= S4 * d;
S5:= 1;
For i:=1 to m do S5:= S5 * e;
S6:= 1;
For i:=1 to n do S6:= S6 * f;
6
§17. CHƯƠNG TRÌNH CON VÀ PHÂN LOẠI (Tiết 1)
1. Bài toán
Nhận xét:
Lặp đi lặp lại câu lệnh tính lũy thừa 6 lần
(Chương trình viết dài, tốn thời gian).
Sử dụng thêm 6 biến S: (lãng phí bộ nhớ).
7
§17. CHƯƠNG TRÌNH CON VÀ PHÂN LOẠI (Tiết 1)
1. Bài toán
PROGAM baitoan1;
Var a,b,c,d,e,f,x,y,z,t,m,n ,i: integer;
S:longint;
BEGIN
Writeln(‘Nhap co so:’); readln(a,b,c,d,e,f);
Writeln(‘Nhap so mu:’); readln(x,y,z,,e,f);
S:= LT(a,x) + LT(b,y) + LT(c,z)+ LT(d,t)+ LT(e,m)+ LT(f,n)
Writeln(‘Tong la S=‘, S)
Readln
END.
Function LT(a,x:integer) : Longint;
Var S1:Longint; i : integer;
Begin
S1:= 1;
For i:=1 to x do S1:= S1 * a;
LT := S1;
End;
CHƯƠNG TRÌNH
CON
8
2. Khái niệm
§17. CHƯƠNG TRÌNH CON VÀ PHÂN LOẠI (Tiết 1)
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 chính.
9
CHƯƠNG TRÌNH CON
HÀM (Function)
- Là chương trình con thực hiện dãy lệnh.
- Trả về giá trị cụ thể qua tên của nó.
THỦ TỤC (Procedure)
- Là chương trình con thực hiện dãy lệnh.
- Không trả về giá trị nào qua tên của nó.
Ví dụ hàm:
3! = 6
32= 9
Sin(30o) = 0.5
Ví dụ thủ tục:
Length(S);
Readln;
Writeln;
a) Phân loại:
§17. CHƯƠNG TRÌNH CON VÀ PHÂN LOẠI (Tiết 1)
3. Phân loại chương trình con
10
< PHẦN THÂN>
Function[()] : Kiểu của hàm;
[< Phần khai báo >]
Begin
[];
TÊNHÀM := Giá trị;
End;
Procedure [()];
[< Phần khai báo >]
Begin
[];
End;
HÀM(Function)
THỦ TỤC (Procedure)
§17. CHƯƠNG TRÌNH CON VÀ PHÂN LOẠI (Tiết 1)
b) Cấu trúc:
3. Phân loại chương trình con
11
< PHẦN THÂN>
Function[()] :Kiểu của hàm;
[< Phần khai báo >]
Begin
[]
TÊNHÀM := Giá trị;
End;
HÀM(Function)
Ví dụ 1:
§17. CHƯƠNG TRÌNH CON VÀ PHÂN LOẠI (Tiết 1)
b) Cấu trúc:
Function Luythua(a,x:integer): longint;
Var i: integer; s:longint;
Begin
s:=1;
For i:=1 to x do s:=s*a;
Luythua:= S;
End;
3. Phân loại chương trình con
12
Ví dụ 2: Vẽ hình chữ nhật bằng sao
§17. CHƯƠNG TRÌNH CON VÀ PHÂN LOẠI (Tiết 1)
b) Cấu trúc:
Procedure veHCN ;
Begin
Writeln(`****************`);
Writeln(`* *`);
Writeln(`************`);
Writeln;
End;
Procedure [()];
[< Phần khai báo >]
Begin
[]
End;
< PHẦN THÂN>
3. Phân loại chương trình con
13
§17. CHƯƠNG TRÌNH CON VÀ PHÂN LOẠI (Tiết 1)
Hoán đổi hai số a và b: Hoandoi(a,b)
Các bài toán sau dùng hàm hay thủ tục:
2. Tìm ước chung lớn nhất của a và b: UCLN(a,b)
3.Xóa xâu S tại vị trí v, xóa n phần tử: Delete(s,v,n)
4. Kiểm tra a,b,c có là ba cạnh của một tam giác: KT(a,b,c)
Procedure Delete (s:string;v,n:byte)
Function tamgiac (a,b,c: word): Boolean;
Procedure Hoandoi (a,b:real)
Function UCLN (a,b: integer): integer;
14
Program tong_luy_thua;
Uses crt;
Var a,b,c,d, n,m,p,q :integer;
S:longint;
Function luythua(a,n:integer): longint;
Var i: integer; S : longint;
begin
S:=1;
For i:=1 to n do S:=S*a;
Luythua:=S;
end;
BEGIN
Write(` Nhap vao cac co so a,b,c,d `); readln(a,b,c,d);
write(` Nhap vao cac so mu m,n,p,q: `); readln(n,m,p,q);
s:= luythua(a,n)+ luythua(b,m)+ luythua(c,p)+ luythua(d,q);
Writeln(` Tong luy thua =`, S:7:2);
Readln;
END.
Ví dụ 1: S= 24 + 33 + 42 + 51
15
Program tong_luy_thua;
Uses crt;
Var a,b,c,d,S , n,m,p,q :integer;
S: Longint;
Function luythua(a,n:integer): longint;
Var i: integer; S: Longint;
begin
S:=1;
For i:=1 to n do S:=Lt*a;
Luythua:=Lt;
end;
BEGIN
Write(` Nhap vao cac co so a,b,c,d `); readln(2,3,4,5);
write(` Nhap vao cac so mu m,n,p,q: `); readln(4,3,2,1);
S:=
Writeln(` Tong luy thua =`, S:0:0);
Readln;
END.
luythua(a,n) +
luythua(b,m) +
luythua(c,p) +
luythua(d,q);
16 +
luythua(2,4) +
27 +
16 +
Function luythua(2,4): Longint;
For i:=1 to 4 do Lt:=Lt*2
Luythua:=16;
5
Tong luy thua S = 64
Ví dụ 1: S= 24 + 33 + 42 + 51
16
Program HINHCHUNHAT;
Uses crt;
Procedure veHCN ;
Begin
Writeln(`* * * * * * * * *`);
Writeln(`* *`);
Writeln(`* * * * * * * * *`);
Writeln;
End;
BEGIN
Clrscr;
Writeln(`ket qua:`);
veHCN ; veHCN ; veHCN ; veHCN ; veHCN ;
Readln
END.
Ví dụ 2:VẼ RA MÀN HÌNH 5 HÌNH CHỮ NHẬT
ket qua:
* * * * * * * * *
* *
* * * * * * * * *
* * * * * * * * *
* *
* * * * * * * * *
* * * * * * * * *
* *
* * * * * * * * *
* * * * * * * * *
* *
* * * * * * * * *
* * * * * * * * *
* *
* * * * * * * * *
17
§17. CHƯƠNG TRÌNH CON VÀ PHÂN LOẠI (Tiết 1)
Lưu ý:
Vị trí của chương trình con được viết:
Sau phần khai báo Var và
Trước từ khóa BEGIN của chương trình chính.
Sử dụng CTC thì ta gọi hàm:
TênCTC (giá trị)
Phân loại:
Cấu trúc:
3. Phân loại chương trình con
18
Hãy nhớ!
3. Cấu trúc:
1. Chương trình con là dãy lệnh được sử dụng nhiều lần trong chương trình chính
2. Chương trình con gồm hai loại
a. Hàm: Trả về một giá trị qua tên
b. Thủ tục: Không trả về giá trị cụ thể nào
§17. CHƯƠNG TRÌNH CON
VÀ PHÂN LOẠI (T1)
19
§17. CHƯƠNG TRÌNH CON VÀ PHÂN LOẠI (Tiết 1)
1. Viết chương trình tính:
2. Viết chương trình rút gọn phân số:
a/b
Bài tập về nhà
Chào mừng các thầy cô về dự giờ
Môn: Tin Hoc
Lớp 11B
2
Tin học 11
CHƯƠNG VI
CHƯƠNG TRÌNH CON
VÀ LẬP TRÌNH CÓ CẤU TRÚC
§ 17. CHƯƠNG TRÌNH CON VÀ PHÂN LOẠI
§ 18. VÍ DỤ VỀ CÁCH VIẾT VÀ SỬ DỤNG CHƯƠNG TRÌNH CON
§ 19. THƯ VIỆN CHƯƠNG TRÌNH CON CHUẨN
3
1. Bài toán
2. Khái niệm
3. Phân loại chương trình con
§17. CHƯƠNG TRÌNH CON VÀ PHÂN LOẠI (Tiết 1)
4
§17. CHƯƠNG TRÌNH CON VÀ PHÂN LOẠI (Tiết 1)
1. Bài toán
Lập trình tính:
Ta có:
S1:= 1;
For i:=1 to x do
S1:= S1 * a;
Tương tự..ta sẽ tính s2,s3,…s6
5
§17. CHƯƠNG TRÌNH CON VÀ PHÂN LOẠI (Tiết 1)
1. Bài toán
PROGAM baitoan1;
Var a,b,c,d,e,f,x,y,z,t,m,n ,i: integer;
S,S1,S2,S3,S4,S5, S6 : longint;
BEGIN
Writeln(‘Nhap co so:’); readln(a,b,c,d,e,f);
Writeln(‘Nhap so mu :’); readln(x,y,z,t,m,n);
S:= S1 +S2 + S3 + S4 + S5 + S6;
Writeln(‘Tong la S=‘, S)
Readln
END.
S1:= 1;
For i:=1 to x do S1:= S1 * a;
S2:= 1;
For i:=1 to y do S2:= S2 * b;
S3:= 1;
For i:=1 to z do S3:= S3 * c;
S4:= 1;
For i:=1 to t do S4:= S4 * d;
S5:= 1;
For i:=1 to m do S5:= S5 * e;
S6:= 1;
For i:=1 to n do S6:= S6 * f;
6
§17. CHƯƠNG TRÌNH CON VÀ PHÂN LOẠI (Tiết 1)
1. Bài toán
Nhận xét:
Lặp đi lặp lại câu lệnh tính lũy thừa 6 lần
(Chương trình viết dài, tốn thời gian).
Sử dụng thêm 6 biến S: (lãng phí bộ nhớ).
7
§17. CHƯƠNG TRÌNH CON VÀ PHÂN LOẠI (Tiết 1)
1. Bài toán
PROGAM baitoan1;
Var a,b,c,d,e,f,x,y,z,t,m,n ,i: integer;
S:longint;
BEGIN
Writeln(‘Nhap co so:’); readln(a,b,c,d,e,f);
Writeln(‘Nhap so mu:’); readln(x,y,z,,e,f);
S:= LT(a,x) + LT(b,y) + LT(c,z)+ LT(d,t)+ LT(e,m)+ LT(f,n)
Writeln(‘Tong la S=‘, S)
Readln
END.
Function LT(a,x:integer) : Longint;
Var S1:Longint; i : integer;
Begin
S1:= 1;
For i:=1 to x do S1:= S1 * a;
LT := S1;
End;
CHƯƠNG TRÌNH
CON
8
2. Khái niệm
§17. CHƯƠNG TRÌNH CON VÀ PHÂN LOẠI (Tiết 1)
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 chính.
9
CHƯƠNG TRÌNH CON
HÀM (Function)
- Là chương trình con thực hiện dãy lệnh.
- Trả về giá trị cụ thể qua tên của nó.
THỦ TỤC (Procedure)
- Là chương trình con thực hiện dãy lệnh.
- Không trả về giá trị nào qua tên của nó.
Ví dụ hàm:
3! = 6
32= 9
Sin(30o) = 0.5
Ví dụ thủ tục:
Length(S);
Readln;
Writeln;
a) Phân loại:
§17. CHƯƠNG TRÌNH CON VÀ PHÂN LOẠI (Tiết 1)
3. Phân loại chương trình con
10
< PHẦN THÂN>
Function
[< Phần khai báo >]
Begin
[
TÊNHÀM := Giá trị;
End;
Procedure
[< Phần khai báo >]
Begin
[
End;
HÀM(Function)
THỦ TỤC (Procedure)
§17. CHƯƠNG TRÌNH CON VÀ PHÂN LOẠI (Tiết 1)
b) Cấu trúc:
3. Phân loại chương trình con
11
< PHẦN THÂN>
Function
[< Phần khai báo >]
Begin
[
TÊNHÀM := Giá trị;
End;
HÀM(Function)
Ví dụ 1:
§17. CHƯƠNG TRÌNH CON VÀ PHÂN LOẠI (Tiết 1)
b) Cấu trúc:
Function Luythua(a,x:integer): longint;
Var i: integer; s:longint;
Begin
s:=1;
For i:=1 to x do s:=s*a;
Luythua:= S;
End;
3. Phân loại chương trình con
12
Ví dụ 2: Vẽ hình chữ nhật bằng sao
§17. CHƯƠNG TRÌNH CON VÀ PHÂN LOẠI (Tiết 1)
b) Cấu trúc:
Procedure veHCN ;
Begin
Writeln(`****************`);
Writeln(`* *`);
Writeln(`************`);
Writeln;
End;
Procedure
[< Phần khai báo >]
Begin
[
End;
< PHẦN THÂN>
3. Phân loại chương trình con
13
§17. CHƯƠNG TRÌNH CON VÀ PHÂN LOẠI (Tiết 1)
Hoán đổi hai số a và b: Hoandoi(a,b)
Các bài toán sau dùng hàm hay thủ tục:
2. Tìm ước chung lớn nhất của a và b: UCLN(a,b)
3.Xóa xâu S tại vị trí v, xóa n phần tử: Delete(s,v,n)
4. Kiểm tra a,b,c có là ba cạnh của một tam giác: KT(a,b,c)
Procedure Delete (s:string;v,n:byte)
Function tamgiac (a,b,c: word): Boolean;
Procedure Hoandoi (a,b:real)
Function UCLN (a,b: integer): integer;
14
Program tong_luy_thua;
Uses crt;
Var a,b,c,d, n,m,p,q :integer;
S:longint;
Function luythua(a,n:integer): longint;
Var i: integer; S : longint;
begin
S:=1;
For i:=1 to n do S:=S*a;
Luythua:=S;
end;
BEGIN
Write(` Nhap vao cac co so a,b,c,d `); readln(a,b,c,d);
write(` Nhap vao cac so mu m,n,p,q: `); readln(n,m,p,q);
s:= luythua(a,n)+ luythua(b,m)+ luythua(c,p)+ luythua(d,q);
Writeln(` Tong luy thua =`, S:7:2);
Readln;
END.
Ví dụ 1: S= 24 + 33 + 42 + 51
15
Program tong_luy_thua;
Uses crt;
Var a,b,c,d,S , n,m,p,q :integer;
S: Longint;
Function luythua(a,n:integer): longint;
Var i: integer; S: Longint;
begin
S:=1;
For i:=1 to n do S:=Lt*a;
Luythua:=Lt;
end;
BEGIN
Write(` Nhap vao cac co so a,b,c,d `); readln(2,3,4,5);
write(` Nhap vao cac so mu m,n,p,q: `); readln(4,3,2,1);
S:=
Writeln(` Tong luy thua =`, S:0:0);
Readln;
END.
luythua(a,n) +
luythua(b,m) +
luythua(c,p) +
luythua(d,q);
16 +
luythua(2,4) +
27 +
16 +
Function luythua(2,4): Longint;
For i:=1 to 4 do Lt:=Lt*2
Luythua:=16;
5
Tong luy thua S = 64
Ví dụ 1: S= 24 + 33 + 42 + 51
16
Program HINHCHUNHAT;
Uses crt;
Procedure veHCN ;
Begin
Writeln(`* * * * * * * * *`);
Writeln(`* *`);
Writeln(`* * * * * * * * *`);
Writeln;
End;
BEGIN
Clrscr;
Writeln(`ket qua:`);
veHCN ; veHCN ; veHCN ; veHCN ; veHCN ;
Readln
END.
Ví dụ 2:VẼ RA MÀN HÌNH 5 HÌNH CHỮ NHẬT
ket qua:
* * * * * * * * *
* *
* * * * * * * * *
* * * * * * * * *
* *
* * * * * * * * *
* * * * * * * * *
* *
* * * * * * * * *
* * * * * * * * *
* *
* * * * * * * * *
* * * * * * * * *
* *
* * * * * * * * *
17
§17. CHƯƠNG TRÌNH CON VÀ PHÂN LOẠI (Tiết 1)
Lưu ý:
Vị trí của chương trình con được viết:
Sau phần khai báo Var và
Trước từ khóa BEGIN của chương trình chính.
Sử dụng CTC thì ta gọi hàm:
TênCTC (giá trị)
Phân loại:
Cấu trúc:
3. Phân loại chương trình con
18
Hãy nhớ!
3. Cấu trúc:
1. Chương trình con là dãy lệnh được sử dụng nhiều lần trong chương trình chính
2. Chương trình con gồm hai loại
a. Hàm: Trả về một giá trị qua tên
b. Thủ tục: Không trả về giá trị cụ thể nào
§17. CHƯƠNG TRÌNH CON
VÀ PHÂN LOẠI (T1)
19
§17. CHƯƠNG TRÌNH CON VÀ PHÂN LOẠI (Tiết 1)
1. Viết chương trình tính:
2. Viết chương trình rút gọn phân số:
a/b
Bài tập về nhà
* 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ẻ: Lương Thị Lụa
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)