1. Trang chủ
  2. » Giáo án - Bài giảng

bai 17 chương trình con lớp 11

19 730 1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 19
Dung lượng 708,5 KB

Nội dung

Bài toánNhậ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... Khái niệmmô tả một số thao tác nhất định và có nhiều vị trí trong chương trình c

Trang 1

1

Trang 2

CHƯƠNG VI

§ 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

Trang 3

1 Bài toán

2 Khái niệm

3 Phân loại chương trình con

Trang 4

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

Trang 5

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;

Trang 6

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ớ)

Trang 7

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

Trang 8

2 Khái niệm

mô tả một số thao tác nhất định và có

nhiều vị trí trong chương trình chính.

Trang 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ó.

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ó.

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

3 2 = 9

Sin(30 o ) = 0.5

Ví dụ thủ tục:

Length(S);

Readln;

Writeln;

a) Phân loại:

3 Phân loại chương trình con

Trang 10

<PHẦN KHAI BÁO>

< PHẦN THÂN>

<PHẦN KHAI BÁO>

< PHẦN THÂN>

Function <TÊNHÀM> [(<ds tham sỐ>)] : Kiểu của hàm;

[< Phần khai báo >]

Begin

[<Dãy lệnh>];

TÊNHÀM := Giá trị ; End;

Procedure <TÊNTHỦTỤC> [(<ds tham số>)];

[< Phần khai báo >] Begin

[<Dãy lệnh>];

End;

b) Cấu trúc:

3 Phân loại chương trình con

Trang 11

<PHẦN KHAI BÁO>

< PHẦN THÂN>

<PHẦN KHAI BÁO>

< PHẦN THÂN>

Function <TÊNHÀM> [(<ds tham sỐ>)] :Kiểu của hàm;

[< Phần khai báo >]

Begin

[<Dãy lệnh>]

TÊNHÀM := Giá trị ;

End;

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

x

x

a

Trang 12

Ví dụ 2: Vẽ hình chữ nhật bằng sao

b) Cấu trúc:

Procedure veHCN ; Begin

Writeln('****************');

Writeln('* *');

Writeln('************');

Writeln;

End;

P rocedure <TÊN THỦ TỤC> [(<ds thamsố>)];

[< Phần khai báo >]

Begin

[<Dãy lệnh>]

End;

<PHẦN KHAI BÁO>

< PHẦN THÂN>

<PHẦN KHAI BÁO>

< PHẦN THÂN>

3 Phân loại chương trình con

Trang 13

• 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;

Trang 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;

Ví dụ 1: S= 2 4 + 3 3 + 4 2 + 5 1

Trang 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) 16 + + luythua(b,m) + luythua(c,p) + luythua(d,q );

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= 2 4 + 3 3 + 4 2 + 5 1

Trang 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:

* * * * * * * * *

* *

* * * * * * * * *

* * * * * * * * *

* *

* * * * * * * * *

* * * * * * * * *

* *

* * * * * * * * *

* * * * * * * * *

* *

* * * * * * * * *

* * * * * * * * *

Trang 17

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ị)

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ị)

a) Phân loại:

b) Cấu trúc:

3 Phân loại chương trình con

Trang 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

Trang 19

1 Viết chương trình tính:

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

2 Viết chương trình rút gọn phân số:

a/b

Bài tập về nhà

Ngày đăng: 23/01/2015, 01:00

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w