Procedure
Chia sẻ bởi Cáp Xuân Tú |
Ngày 10/05/2019 |
153
Chia sẻ tài liệu: Procedure thuộc Tin học 11
Nội dung tài liệu:
Chào mừng ngày thành lập Đoàn TNCS Hồ Chí Minh
Trường THPT Đông Hà
Năm học 2005-2006
Chương V
THỦ TỤC VÀ HÀM
Tiết
51
Procedure & Function
Chương trình con
Cách viết và sử dụng thủ tục
Cách viết và sử dụng hàm
Tham số
Biến chung và biến riêng
TỔ CHỨC RẼ NHÁNH
Bài 1:
Tiết thứ nhất
Câu lệnh IF ... THEN...ELSE
I. CHƯƠNG TRÌNH CON
Trong chương trình có sự lặp lại nhiều lần một đoạn chương trình nên ta cần tránh sự lặp lại này.
Các bài toán phức tạp, khó nhận biết đoạn chương trình này làm gì, nên ta cần phải chia bài toán lớn thành những bài toán con đơn giản hơn.
Do vậy cần phân chia chương trình thành các khối (Module), mỗi khối gồm những lệnh giải quyết 1 bài toán con. Khối lệnh đó ta gọi là chương trình con.
1. Giới thiệu:
Illustrater
2. Lợi ích của việc sử dụng chương trình con
Dùng chương trình con sẽ làm chương trình gọn gàng, dễ đọc, dễ hiểu, dễ kiểm tra lỗi và sửa chữa.
Nhiều người cùng viết 1 chương trình, mỗi người viết 1 module sau đó lắp ghép lại.
Tiết kiệm thời gian và công sức khi 1 đoạn chương trình lặp đi lặp lại nhiều lần.
3. Các loại chương trình con
Có 2 loại:
Thủ tục - Procedure
Hàm - Function
Chỉ ra các hàm chuẩn và tên thủ tục chuẩn
ABS
WRITE
INTEGER
CASE
READLN
ARRAY
BEGIN
SQRT
WRITELN
CLRSCR
SQR
WHILE
REAL
FOR
KEYPRESSED
READ
WITH
CHR
SQR
KEYPRESSED
CHR
ABS
SQRT
CLRSCR
WRITE
WRITELN
READ
READLN
INTEGER
REAL
WHILE
FOR
WITH
CASE
ARRAY
BEGIN
Thủ tục chuẩn
Hàm chuẩn
Kiểu dữ liệu
Từ khoá
II. CÁCH VIẾT VÀ SỬ DỤNG THỦ TỤC
Ví dụ 1:
Viết chương trình vẽ 3 hình vuông bằng kí tự *.
* * * *
* *
* *
* * * *
1. Ví dụ mở đầu:
PROGRAM VIDU1;
BEGIN
WRITELN(`* * * *`);
WRITELN(`* *`);
WRITELN(`* *`);
WRITELN(`* * * *`);
writeln;
WRITELN(`* * * *`);
WRITELN(`* *`);
WRITELN(`* *`);
WRITELN(`* * * *`);
writeln;
WRITELN(`* * * *`);
WRITELN(`* *`);
WRITELN(`* *`);
WRITELN(`* * * *`);
Readln;
END.
PROGRAM VIDU1;
Procedure HV;
BEGIN
WRITELN(`* * * *`);
WRITELN(`* *`);
WRITELN(`* *`);
WRITELN(`* * * *`);
END;
BEGIN {Chương trình chính}
HV;
WRITELN;
HV;
WRITELN;
HV;
READLN;
END.
Ví dụ 2: Viết chương trình nhập số đo 3 cạnh của tam giác ABC. Tính diện tích của tam giác.
a. Dữ liệu vào ra:
Vào: Số đo 3 cạnh AB(a) ,BC(b),AC(c)
Ra: Diện tích tam giác (S)
b. Tổ chức dữ liệu:
a,b,c, S,P: số thực
c. Ý tưởng giải thuật:
B1: Nhập a,b,c - kiểm tra (a|b - c|)
B2: Tính S theo công thức Heron
B3: In kết quả
Chương trình
PROGRAM DIENTICH;
VAR A,B,C, P,S: Real;
BEGIN
REPEAT
Writeln(`Nhap so do cac canh`);
Write(`Canh AB:`); Readln(A);
Write(`Canh BC:`); Readln(B);
Write(`Canh CA:`); Readln(C);
UNTIL (A>0) AND (B>0) AND (C>0) AND (AABS(B-C));
P:=(A+B+C)/2;
S:=SQRT(P*(P-A)*(P-B)*(P-C));
Writeln(`Dien tich=` , S:12:2);
Readln;
END.
PROGRAM DIENTICH;
VAR A,B,C, P,S: Real;
PROCEDURE Nhap;
BEGIN
REPEAT
Writeln(`Nhap so do cac canh`);
Write(`Canh AB: `); Readln(A);
Write(`Canh BC: `); Readln(B);
Write(`Canh CA: `); Readln(C);
UNTIL (A>0) AND (B>0) AND (C>0) AND (AABS(B-C));
END;
PROCEDURE Tinh;
BEGIN
P:=(A+B+C)/2;
S:=SQRT(P*(P-A)*(P-B)*(P-C));
END;
BEGIN {Chương trình chính}
Nhap;
Tinh;
Writeln(`Dien tich=` , S:12:2);
Readln;
END.
2. Cấu trúc của một thủ tục
PROCEDURE Tên_thủ_tục[(Danh sách tham số)];
Khai báo riêng: CONST, TYPE, VAR...
BEGIN
Các câu lệnh(;)
END;
3. Vị trí của thủ tục trong chương trình
PROGRAM Tên_chương_trình;
CONST...
TYPE...
VAR...
PROCEDURE Tên_thủ_tục[(Danh sách tham số)];
Khai báo riêng: CONST, TYPE, VAR...
BEGIN
Các câu lệnh(;)
END;
??? Khai báo các thủ tục và hàm khác
BEGIN
???
Tên_thủ_tục [(Danh sách tham số)]; ;
???
END?
Lời gọi thủ tục
4. Sử dụng thủ tục
Trong chương trình khi cần đến thủ tục, ta phải gọi thủ tục.
Lời gọi:
TÊN_THỦ_TỤC[(Danh sách tham số)];
Thủ tục thực hiện khi gặp lời gọi thủ tục. Thực hiện xong, chương trình thực hiện câu lệnh ngay sau lời gọi thủ tục.
A
Minh hoạ
A
A
A
A
A
Return
5. Ví dụ áp dụng:
Cho mảng A có n phần tử số nguyên. Viết chương trình tìm giá trị lớn nhất của mảng.
a. Dữ liệu vào ra:
Vào: N, Ai (i=1..n)
Ra: Max
b. Tổ chức dữ liệu:
N,max, i : số nguyên ; A: mảng 1 chiều
c. Ý tưởng giải thuật:
B1: Nhập N và Ai (i=1..n)
B2: Tìm Max
B3: In kết quả mảng A và Max
PROGRAM Maximum;
VAR A: ARRAY[1..100] OF Integer;
n,i,Max: Integer;
PROCEDURE INPUT;
Begin
Write(`So phan tu cua mang: `); Readln(n);
FOR i:=1 TO n DO
Begin
Write(`A[` ,i, `]= `);
Readln(A[i]);
End;
End;
PROCEDURE FINDMAX;
Begin
Max:= A[1];
FOR i:=1 TO N DO
IF Max < A[i] THEN Max:= A[i];
End;
PROCEDURE PRINT;
Begin
Write(`Cac phan tu cua mang: `);
FOR i:=1 TO n DO
Write(A[i]:4);
Writeln;
Writeln(`Gia tri lon nhat : ` , Max);
End;
BEGIN
INPUT;
Findmax;
Print;
Readln
END.
Xin chân thành cảm ơn sự quan tâm theo dõi của quý thầy quý cô!
A
Minh hoạ
A
A
A
A
A
A
Return
Trường THPT Đông Hà
Năm học 2005-2006
Chương V
THỦ TỤC VÀ HÀM
Tiết
51
Procedure & Function
Chương trình con
Cách viết và sử dụng thủ tục
Cách viết và sử dụng hàm
Tham số
Biến chung và biến riêng
TỔ CHỨC RẼ NHÁNH
Bài 1:
Tiết thứ nhất
Câu lệnh IF ... THEN...ELSE
I. CHƯƠNG TRÌNH CON
Trong chương trình có sự lặp lại nhiều lần một đoạn chương trình nên ta cần tránh sự lặp lại này.
Các bài toán phức tạp, khó nhận biết đoạn chương trình này làm gì, nên ta cần phải chia bài toán lớn thành những bài toán con đơn giản hơn.
Do vậy cần phân chia chương trình thành các khối (Module), mỗi khối gồm những lệnh giải quyết 1 bài toán con. Khối lệnh đó ta gọi là chương trình con.
1. Giới thiệu:
Illustrater
2. Lợi ích của việc sử dụng chương trình con
Dùng chương trình con sẽ làm chương trình gọn gàng, dễ đọc, dễ hiểu, dễ kiểm tra lỗi và sửa chữa.
Nhiều người cùng viết 1 chương trình, mỗi người viết 1 module sau đó lắp ghép lại.
Tiết kiệm thời gian và công sức khi 1 đoạn chương trình lặp đi lặp lại nhiều lần.
3. Các loại chương trình con
Có 2 loại:
Thủ tục - Procedure
Hàm - Function
Chỉ ra các hàm chuẩn và tên thủ tục chuẩn
ABS
WRITE
INTEGER
CASE
READLN
ARRAY
BEGIN
SQRT
WRITELN
CLRSCR
SQR
WHILE
REAL
FOR
KEYPRESSED
READ
WITH
CHR
SQR
KEYPRESSED
CHR
ABS
SQRT
CLRSCR
WRITE
WRITELN
READ
READLN
INTEGER
REAL
WHILE
FOR
WITH
CASE
ARRAY
BEGIN
Thủ tục chuẩn
Hàm chuẩn
Kiểu dữ liệu
Từ khoá
II. CÁCH VIẾT VÀ SỬ DỤNG THỦ TỤC
Ví dụ 1:
Viết chương trình vẽ 3 hình vuông bằng kí tự *.
* * * *
* *
* *
* * * *
1. Ví dụ mở đầu:
PROGRAM VIDU1;
BEGIN
WRITELN(`* * * *`);
WRITELN(`* *`);
WRITELN(`* *`);
WRITELN(`* * * *`);
writeln;
WRITELN(`* * * *`);
WRITELN(`* *`);
WRITELN(`* *`);
WRITELN(`* * * *`);
writeln;
WRITELN(`* * * *`);
WRITELN(`* *`);
WRITELN(`* *`);
WRITELN(`* * * *`);
Readln;
END.
PROGRAM VIDU1;
Procedure HV;
BEGIN
WRITELN(`* * * *`);
WRITELN(`* *`);
WRITELN(`* *`);
WRITELN(`* * * *`);
END;
BEGIN {Chương trình chính}
HV;
WRITELN;
HV;
WRITELN;
HV;
READLN;
END.
Ví dụ 2: Viết chương trình nhập số đo 3 cạnh của tam giác ABC. Tính diện tích của tam giác.
a. Dữ liệu vào ra:
Vào: Số đo 3 cạnh AB(a) ,BC(b),AC(c)
Ra: Diện tích tam giác (S)
b. Tổ chức dữ liệu:
a,b,c, S,P: số thực
c. Ý tưởng giải thuật:
B1: Nhập a,b,c - kiểm tra (a|b - c|)
B2: Tính S theo công thức Heron
B3: In kết quả
Chương trình
PROGRAM DIENTICH;
VAR A,B,C, P,S: Real;
BEGIN
REPEAT
Writeln(`Nhap so do cac canh`);
Write(`Canh AB:`); Readln(A);
Write(`Canh BC:`); Readln(B);
Write(`Canh CA:`); Readln(C);
UNTIL (A>0) AND (B>0) AND (C>0) AND (AABS(B-C));
P:=(A+B+C)/2;
S:=SQRT(P*(P-A)*(P-B)*(P-C));
Writeln(`Dien tich=` , S:12:2);
Readln;
END.
PROGRAM DIENTICH;
VAR A,B,C, P,S: Real;
PROCEDURE Nhap;
BEGIN
REPEAT
Writeln(`Nhap so do cac canh`);
Write(`Canh AB: `); Readln(A);
Write(`Canh BC: `); Readln(B);
Write(`Canh CA: `); Readln(C);
UNTIL (A>0) AND (B>0) AND (C>0) AND (AABS(B-C));
END;
PROCEDURE Tinh;
BEGIN
P:=(A+B+C)/2;
S:=SQRT(P*(P-A)*(P-B)*(P-C));
END;
BEGIN {Chương trình chính}
Nhap;
Tinh;
Writeln(`Dien tich=` , S:12:2);
Readln;
END.
2. Cấu trúc của một thủ tục
PROCEDURE Tên_thủ_tục[(Danh sách tham số)];
Khai báo riêng: CONST, TYPE, VAR...
BEGIN
Các câu lệnh(;)
END;
3. Vị trí của thủ tục trong chương trình
PROGRAM Tên_chương_trình;
CONST...
TYPE...
VAR...
PROCEDURE Tên_thủ_tục[(Danh sách tham số)];
Khai báo riêng: CONST, TYPE, VAR...
BEGIN
Các câu lệnh(;)
END;
??? Khai báo các thủ tục và hàm khác
BEGIN
???
Tên_thủ_tục [(Danh sách tham số)]; ;
???
END?
Lời gọi thủ tục
4. Sử dụng thủ tục
Trong chương trình khi cần đến thủ tục, ta phải gọi thủ tục.
Lời gọi:
TÊN_THỦ_TỤC[(Danh sách tham số)];
Thủ tục thực hiện khi gặp lời gọi thủ tục. Thực hiện xong, chương trình thực hiện câu lệnh ngay sau lời gọi thủ tục.
A
Minh hoạ
A
A
A
A
A
Return
5. Ví dụ áp dụng:
Cho mảng A có n phần tử số nguyên. Viết chương trình tìm giá trị lớn nhất của mảng.
a. Dữ liệu vào ra:
Vào: N, Ai (i=1..n)
Ra: Max
b. Tổ chức dữ liệu:
N,max, i : số nguyên ; A: mảng 1 chiều
c. Ý tưởng giải thuật:
B1: Nhập N và Ai (i=1..n)
B2: Tìm Max
B3: In kết quả mảng A và Max
PROGRAM Maximum;
VAR A: ARRAY[1..100] OF Integer;
n,i,Max: Integer;
PROCEDURE INPUT;
Begin
Write(`So phan tu cua mang: `); Readln(n);
FOR i:=1 TO n DO
Begin
Write(`A[` ,i, `]= `);
Readln(A[i]);
End;
End;
PROCEDURE FINDMAX;
Begin
Max:= A[1];
FOR i:=1 TO N DO
IF Max < A[i] THEN Max:= A[i];
End;
PROCEDURE PRINT;
Begin
Write(`Cac phan tu cua mang: `);
FOR i:=1 TO n DO
Write(A[i]:4);
Writeln;
Writeln(`Gia tri lon nhat : ` , Max);
End;
BEGIN
INPUT;
Findmax;
Print;
Readln
END.
Xin chân thành cảm ơn sự quan tâm theo dõi của quý thầy quý cô!
A
Minh hoạ
A
A
A
A
A
A
Return
* 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ẻ: Cáp Xuân Tú
Dung lượng: |
Lượt tài: 3
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)