Bài 18. Ví dụ về cách viết và sử dụng chương trình con
Chia sẻ bởi Triệu Thị Thu Giang |
Ngày 10/05/2019 |
66
Chia sẻ tài liệu: Bài 18. Ví dụ về cách viết và sử dụng chương trình con thuộc Tin học 11
Nội dung tài liệu:
Triệu Thị Thu Giang_K56A_CNTT_ĐHSPHN
Bài 18
Ví dụ về cách viết và sử dụng chương trình con
Sinh viên thực hiện: Triệu Thị Thu Giang
Lớp : K56A_CNTT_ĐHSPHN
Thời gian : 45phút
Triệu Thị Thu Giang_K56A_CNTT_ĐHSPHN
Mục đích, yêu cầu
Phương pháp, phương tiện
Kiểm tra bài cũ
Đặt vấn đề
Nội dung bài học
Củng cố bài học
Bài tập về nhà
Triệu Thị Thu Giang_K56A_CNTT_ĐHSPHN
Mục đích, yêu cầu:
Giúp học sinh hiểu và nắm vững được cấu trúc của một thủ tục;
Hiểu được mối quan hệ giữa chương trình và thủ tục;
Phân biệt được tham số giá trị và tham số biến trong khai báo tham số hình thức của một thủ tục;
Phân biệt được tham số hình thức và tham số thực sự;
Triệu Thị Thu Giang_K56A_CNTT_ĐHSPHN
Nhận biết các thành phần trong đầu của thủ tục;
Nhận biết được hai loại tham số hình thức trong phần đầu của thủ tục;
Nhận biết được lời gọi thủ tục ở chương trình chính cùng các tham số thực sự;
Phân biệt được biến hình thức và biến cục bộ
Mục đích, yêu cầu…
Triệu Thị Thu Giang_K56A_CNTT_ĐHSPHN
Phương pháp – phương tiện:
Phương pháp:
Kết hợp các phương pháp dạy học như thuyết trình, vấn đáp, minh hoạ…
Phương tiện:
Sách giáo khoa tin học lớp 11;
Vở ghi lí thuyết tin học lớp 11;
Sách tham khảo( nếu có );
Sử dụng các phương tiện giảng dạy truyền thống như bảng, phấn viết…( nếu có máy chiếu thì càng tốt ).
Triệu Thị Thu Giang_K56A_CNTT_ĐHSPHN
Kiểm tra bài cũ:
Hỏi: Chương trình con( CTC )là gì? Phân loại CTC và nêu các tiện ích khi sử dụng CTC.
Triệu Thị Thu Giang_K56A_CNTT_ĐHSPHN
Trả lời:
CTC 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 từ nhiều vị trí trong CT.
CTC được chia làm 2 loại:
CTC hàm.
CTC thủ tục.
Kiểm tra bài cũ…
Triệu Thị Thu Giang_K56A_CNTT_ĐHSPHN
Kiểm tra bài cũ…
Các tiện ích khi sử dụng CTC:
CTC dễ đọc, dễ hiểu, dễ kiểm tra phát hiện lỗi và sửa sai;
Có thể chia nhỏ một CT ra cho làm nhiều người viết, mỗi người viết một CTC, sau đó lắp ghép lại;
Tránh được việc phải viết lặp đi, lặp lại một nhóm lệnh nào đó;
Dễ phát triển và nâng cấp CT.
Triệu Thị Thu Giang_K56A_CNTT_ĐHSPHN
Đặt vấn đề:
Xét ví dụ vẽ hình chữ nhật có dạng sau:
**********
* *
**********
Chúng ta thấy hình chữ nhật này sẽ dễ dàng được tạo ra nhờ 3 câu lệnh:
writeln(‘**********’);
writeln(‘* *’);
writeln(‘**********’);
Triệu Thị Thu Giang_K56A_CNTT_ĐHSPHN
Đặt vấn đề…
Như vậy trong một CT cứ mỗi lần cần in ra một hình chữ nhật như hình chữ nhật trên chúng ta lại phải đưa vào ba câu lệnh trên. Điều đó sẽ khiến cho CT dài, dễ nhầm lẫn khó phát hiện lỗi và sửa sai.
Vậy làm thế nào để chúng ta khắc phục nhược điểm trên?
Triệu Thị Thu Giang_K56A_CNTT_ĐHSPHN
Nội dung bài học:
Giải quyết vấn đề
Thủ tục
Tham số
Triệu Thị Thu Giang_K56A_CNTT_ĐHSPHN
Giải quyết vấn đề:
Chúng ta có thể đưa ba cậu lệnh trên vào một thủ tục có tên là: ve_hcn
Chương trình được viết là:
PROGRAM vidu1;
Procedure ve_hcn;
Begin
writeln(‘**********’);
writeln(‘* *’);
writeln(‘**********’);
End;
Bắt đầu chương trình chính
Bắt đầu thủ tục
Triệu Thị Thu Giang_K56A_CNTT_ĐHSPHN
Giải quyết vấn đề…
BEGIN
CLRSCR;
ve_hcn;
writeln; writeln;
ve_hcn;
writeln; writeln;
ve_hcn;
END.
Thân chương trình chính
Gọi thủ tục vẽ hình chữ nhật
Để cách hai dòng
Triệu Thị Thu Giang_K56A_CNTT_ĐHSPHN
Giải quyết vấn đề…
Nhận xét:
Trong CT trên, chúng ta chỉ cần đưa ba câu lệnh trên vào một thủ tục có tên là: ve_hcn; ( vẽ hình chữ nhật )
Mỗi lần gọi thủ tục này một hình chữ nhật sẽ đượ in ra.
Thủ tục có cấu trúc gần giống CT trừ dòng đầu tiên và dòng cuối
Triệu Thị Thu Giang_K56A_CNTT_ĐHSPHN
Chúa ơi, xin người cho con biết thủ tục là gì mà kì diệu đến vậy?
Triệu Thị Thu Giang_K56A_CNTT_ĐHSPHN
Thủ tục (Procedure):
Khái niệm:
- Thủ tục là một khối CT có chức năng thực hiện một nhiệm vụ cụ thể nào đó.
- Trong chương trình TP mỗi khi cần đến thủ tục ta phải gọi thủ tục. Lời gọi thủ tục là một câu lệnh đơn có cú pháp:
tên thủ tuc (tham số);
Ví dụ: ve_hcn {trong CTC ve_hcn không dùng đến tham số nên trong phần gọi không khai báo}
Triệu Thị Thu Giang_K56A_CNTT_ĐHSPHN
Thủ tục (Procedure)…
- Thủ tục cần được khai báo và định nghĩa trước khi sử dụng.
Khai báo một thủ tục:
1, Tiêu đề: PROCEDURE Tên_thủ_tục(tham số nếu cần);
2, Phần khai báo:
3, Thân chương trình:BEGIN
Các câu lệnh;
END;
Triệu Thị Thu Giang_K56A_CNTT_ĐHSPHN
Thủ tục (Procedure)…
Mọi thủ tục đều được bắt đầu bởi tên dành riêng PROCEDURE tiếp theo tên dành riêng là tên thủ tục. Danh sách tham số có thể có hoặc không.
Phần khai báo dùng để xác định các hằng, các kiểu, các biến hoặc các khai báo thủ tục và các hàm khác được sử dụng trong thủ tục.
Giữa BEGIN và END là dãy các câu lệnh lập thành thân thủ tục
Triệu Thị Thu Giang_K56A_CNTT_ĐHSPHN
Thủ tục (Procedure)…
Ví dụ: Tính bình phương của một số nguyên và in kết quả ra màn hình.
Chương trình được viết như sau:
PROGRAM vidụ2;
Procedure b_phuong (x: integer);
Var y: integer;
Begin
y=x*x;
writeln (‘Binh phuong la ’, y);
End;
BEGIN
a=3;
b_phuong (a);
b_phuong (5);
END.
Triệu Thị Thu Giang_K56A_CNTT_ĐHSPHN
Tham số:
Nhận xét:
Các CTC có tham số, ở phần tiêu đề sau tên CTC là khai báo các tham số, các tham số được viết ra là các tham số hình thức.
Ví dụ: PROCEDURE b_phuong (x: integer);
→ x là tham số hình thức.
Khi gọi một CTC, các tham số hình thức trong khai báo sẽ được thay thế bằng các tham số thực sự
Ví dụ: b_phuong (a); → a là tham số thực sự.
Triệu Thị Thu Giang_K56A_CNTT_ĐHSPHN
Tham số…
Tham số giá trị (gọi tắt là tham trị):
Các tham số truyền theo giá trị khai báo trong phần đầu CTC không có từ khóa VAR đứng trước.
Ví dụ: PROCEDURE b_phuong (x: integer);
→ x là tham trị.
Khi gọi CTC trên, tham số x được truyền giá trị cho dưới dạng tham số mượn, khi đó CTC chỉ được phép dùng giá trị của các tham trị này mà không được phép thay đổi giá trị của chúng. Nghĩa là trước và sau khi ra khỏi CTC giá trị của x vẫn giữ nguyên.
Triệu Thị Thu Giang_K56A_CNTT_ĐHSPHN
Tham số…
Xét ví dụ viết thủ tục hoán đổi giá trị của 2 biến.
PROGRAM vidu3;
Uses crt;
Var a, b: integer;
Procedure hoan_doi (var x, y: integer);
Var tg: integer;
Begin
tg:=x;
x:=y;
y:=tg;
End;
BEGIN
clrscr;
a:=5; b:=10;
writeln (a: 6, b: 6);
hoan_doi (a,b);
writeln (a: 6, b: 6);
END.
x, y là các tham biến
Kết quả của CT trên:
10
10 5
Triệu Thị Thu Giang_K56A_CNTT_ĐHSPHN
Tham số…
Tham số biến (gọi tắt là tham biến):
Các tham số truyền theo biến được khai báo trong phần đầu CTC có từ khoá VAR đứng trước.
Ví dụ: PROCEDURE hoan_doi (var x, y: integer);
Khi gọi CTC trên 2 tham số x, y được CT chính truyền giá trị cho, sau đó trong CTC nếu x, y có sự thay đổi thì ra khỏi CTC nó sẽ giữ giá trị thay đổi đó.
Triệu Thị Thu Giang_K56A_CNTT_ĐHSPHN
Củng cố bài học:
Học sinh nắm dõ khái niệm và cách thức khai báo một CTC thủ tục;
Phân biệt được hai loại tham số là: tham số hình thức và tham số thực sự;
Nắm vững cách khai báo và sử dụng hai loại tham số:
Tham số giá trị (gọi tắt là tham trị);
Tham số biến (gọi tắt là tham biến).
Triệu Thị Thu Giang_K56A_CNTT_ĐHSPHN
Bài tập về nhà
Bài 1: Viết thủ tục in ra màn hình nghiệm của phương trình bậc hai
Ax2 + Bx + C = 0.
Bài 2: Viết thủ tục để xoá dáu cách trong một xâu
Bài 18
Ví dụ về cách viết và sử dụng chương trình con
Sinh viên thực hiện: Triệu Thị Thu Giang
Lớp : K56A_CNTT_ĐHSPHN
Thời gian : 45phút
Triệu Thị Thu Giang_K56A_CNTT_ĐHSPHN
Mục đích, yêu cầu
Phương pháp, phương tiện
Kiểm tra bài cũ
Đặt vấn đề
Nội dung bài học
Củng cố bài học
Bài tập về nhà
Triệu Thị Thu Giang_K56A_CNTT_ĐHSPHN
Mục đích, yêu cầu:
Giúp học sinh hiểu và nắm vững được cấu trúc của một thủ tục;
Hiểu được mối quan hệ giữa chương trình và thủ tục;
Phân biệt được tham số giá trị và tham số biến trong khai báo tham số hình thức của một thủ tục;
Phân biệt được tham số hình thức và tham số thực sự;
Triệu Thị Thu Giang_K56A_CNTT_ĐHSPHN
Nhận biết các thành phần trong đầu của thủ tục;
Nhận biết được hai loại tham số hình thức trong phần đầu của thủ tục;
Nhận biết được lời gọi thủ tục ở chương trình chính cùng các tham số thực sự;
Phân biệt được biến hình thức và biến cục bộ
Mục đích, yêu cầu…
Triệu Thị Thu Giang_K56A_CNTT_ĐHSPHN
Phương pháp – phương tiện:
Phương pháp:
Kết hợp các phương pháp dạy học như thuyết trình, vấn đáp, minh hoạ…
Phương tiện:
Sách giáo khoa tin học lớp 11;
Vở ghi lí thuyết tin học lớp 11;
Sách tham khảo( nếu có );
Sử dụng các phương tiện giảng dạy truyền thống như bảng, phấn viết…( nếu có máy chiếu thì càng tốt ).
Triệu Thị Thu Giang_K56A_CNTT_ĐHSPHN
Kiểm tra bài cũ:
Hỏi: Chương trình con( CTC )là gì? Phân loại CTC và nêu các tiện ích khi sử dụng CTC.
Triệu Thị Thu Giang_K56A_CNTT_ĐHSPHN
Trả lời:
CTC 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 từ nhiều vị trí trong CT.
CTC được chia làm 2 loại:
CTC hàm.
CTC thủ tục.
Kiểm tra bài cũ…
Triệu Thị Thu Giang_K56A_CNTT_ĐHSPHN
Kiểm tra bài cũ…
Các tiện ích khi sử dụng CTC:
CTC dễ đọc, dễ hiểu, dễ kiểm tra phát hiện lỗi và sửa sai;
Có thể chia nhỏ một CT ra cho làm nhiều người viết, mỗi người viết một CTC, sau đó lắp ghép lại;
Tránh được việc phải viết lặp đi, lặp lại một nhóm lệnh nào đó;
Dễ phát triển và nâng cấp CT.
Triệu Thị Thu Giang_K56A_CNTT_ĐHSPHN
Đặt vấn đề:
Xét ví dụ vẽ hình chữ nhật có dạng sau:
**********
* *
**********
Chúng ta thấy hình chữ nhật này sẽ dễ dàng được tạo ra nhờ 3 câu lệnh:
writeln(‘**********’);
writeln(‘* *’);
writeln(‘**********’);
Triệu Thị Thu Giang_K56A_CNTT_ĐHSPHN
Đặt vấn đề…
Như vậy trong một CT cứ mỗi lần cần in ra một hình chữ nhật như hình chữ nhật trên chúng ta lại phải đưa vào ba câu lệnh trên. Điều đó sẽ khiến cho CT dài, dễ nhầm lẫn khó phát hiện lỗi và sửa sai.
Vậy làm thế nào để chúng ta khắc phục nhược điểm trên?
Triệu Thị Thu Giang_K56A_CNTT_ĐHSPHN
Nội dung bài học:
Giải quyết vấn đề
Thủ tục
Tham số
Triệu Thị Thu Giang_K56A_CNTT_ĐHSPHN
Giải quyết vấn đề:
Chúng ta có thể đưa ba cậu lệnh trên vào một thủ tục có tên là: ve_hcn
Chương trình được viết là:
PROGRAM vidu1;
Procedure ve_hcn;
Begin
writeln(‘**********’);
writeln(‘* *’);
writeln(‘**********’);
End;
Bắt đầu chương trình chính
Bắt đầu thủ tục
Triệu Thị Thu Giang_K56A_CNTT_ĐHSPHN
Giải quyết vấn đề…
BEGIN
CLRSCR;
ve_hcn;
writeln; writeln;
ve_hcn;
writeln; writeln;
ve_hcn;
END.
Thân chương trình chính
Gọi thủ tục vẽ hình chữ nhật
Để cách hai dòng
Triệu Thị Thu Giang_K56A_CNTT_ĐHSPHN
Giải quyết vấn đề…
Nhận xét:
Trong CT trên, chúng ta chỉ cần đưa ba câu lệnh trên vào một thủ tục có tên là: ve_hcn; ( vẽ hình chữ nhật )
Mỗi lần gọi thủ tục này một hình chữ nhật sẽ đượ in ra.
Thủ tục có cấu trúc gần giống CT trừ dòng đầu tiên và dòng cuối
Triệu Thị Thu Giang_K56A_CNTT_ĐHSPHN
Chúa ơi, xin người cho con biết thủ tục là gì mà kì diệu đến vậy?
Triệu Thị Thu Giang_K56A_CNTT_ĐHSPHN
Thủ tục (Procedure):
Khái niệm:
- Thủ tục là một khối CT có chức năng thực hiện một nhiệm vụ cụ thể nào đó.
- Trong chương trình TP mỗi khi cần đến thủ tục ta phải gọi thủ tục. Lời gọi thủ tục là một câu lệnh đơn có cú pháp:
tên thủ tuc (tham số);
Ví dụ: ve_hcn {trong CTC ve_hcn không dùng đến tham số nên trong phần gọi không khai báo}
Triệu Thị Thu Giang_K56A_CNTT_ĐHSPHN
Thủ tục (Procedure)…
- Thủ tục cần được khai báo và định nghĩa trước khi sử dụng.
Khai báo một thủ tục:
1, Tiêu đề: PROCEDURE Tên_thủ_tục(tham số nếu cần);
2, Phần khai báo:
3, Thân chương trình:BEGIN
Các câu lệnh;
END;
Triệu Thị Thu Giang_K56A_CNTT_ĐHSPHN
Thủ tục (Procedure)…
Mọi thủ tục đều được bắt đầu bởi tên dành riêng PROCEDURE tiếp theo tên dành riêng là tên thủ tục. Danh sách tham số có thể có hoặc không.
Phần khai báo dùng để xác định các hằng, các kiểu, các biến hoặc các khai báo thủ tục và các hàm khác được sử dụng trong thủ tục.
Giữa BEGIN và END là dãy các câu lệnh lập thành thân thủ tục
Triệu Thị Thu Giang_K56A_CNTT_ĐHSPHN
Thủ tục (Procedure)…
Ví dụ: Tính bình phương của một số nguyên và in kết quả ra màn hình.
Chương trình được viết như sau:
PROGRAM vidụ2;
Procedure b_phuong (x: integer);
Var y: integer;
Begin
y=x*x;
writeln (‘Binh phuong la ’, y);
End;
BEGIN
a=3;
b_phuong (a);
b_phuong (5);
END.
Triệu Thị Thu Giang_K56A_CNTT_ĐHSPHN
Tham số:
Nhận xét:
Các CTC có tham số, ở phần tiêu đề sau tên CTC là khai báo các tham số, các tham số được viết ra là các tham số hình thức.
Ví dụ: PROCEDURE b_phuong (x: integer);
→ x là tham số hình thức.
Khi gọi một CTC, các tham số hình thức trong khai báo sẽ được thay thế bằng các tham số thực sự
Ví dụ: b_phuong (a); → a là tham số thực sự.
Triệu Thị Thu Giang_K56A_CNTT_ĐHSPHN
Tham số…
Tham số giá trị (gọi tắt là tham trị):
Các tham số truyền theo giá trị khai báo trong phần đầu CTC không có từ khóa VAR đứng trước.
Ví dụ: PROCEDURE b_phuong (x: integer);
→ x là tham trị.
Khi gọi CTC trên, tham số x được truyền giá trị cho dưới dạng tham số mượn, khi đó CTC chỉ được phép dùng giá trị của các tham trị này mà không được phép thay đổi giá trị của chúng. Nghĩa là trước và sau khi ra khỏi CTC giá trị của x vẫn giữ nguyên.
Triệu Thị Thu Giang_K56A_CNTT_ĐHSPHN
Tham số…
Xét ví dụ viết thủ tục hoán đổi giá trị của 2 biến.
PROGRAM vidu3;
Uses crt;
Var a, b: integer;
Procedure hoan_doi (var x, y: integer);
Var tg: integer;
Begin
tg:=x;
x:=y;
y:=tg;
End;
BEGIN
clrscr;
a:=5; b:=10;
writeln (a: 6, b: 6);
hoan_doi (a,b);
writeln (a: 6, b: 6);
END.
x, y là các tham biến
Kết quả của CT trên:
10
10 5
Triệu Thị Thu Giang_K56A_CNTT_ĐHSPHN
Tham số…
Tham số biến (gọi tắt là tham biến):
Các tham số truyền theo biến được khai báo trong phần đầu CTC có từ khoá VAR đứng trước.
Ví dụ: PROCEDURE hoan_doi (var x, y: integer);
Khi gọi CTC trên 2 tham số x, y được CT chính truyền giá trị cho, sau đó trong CTC nếu x, y có sự thay đổi thì ra khỏi CTC nó sẽ giữ giá trị thay đổi đó.
Triệu Thị Thu Giang_K56A_CNTT_ĐHSPHN
Củng cố bài học:
Học sinh nắm dõ khái niệm và cách thức khai báo một CTC thủ tục;
Phân biệt được hai loại tham số là: tham số hình thức và tham số thực sự;
Nắm vững cách khai báo và sử dụng hai loại tham số:
Tham số giá trị (gọi tắt là tham trị);
Tham số biến (gọi tắt là tham biến).
Triệu Thị Thu Giang_K56A_CNTT_ĐHSPHN
Bài tập về nhà
Bài 1: Viết thủ tục in ra màn hình nghiệm của phương trình bậc hai
Ax2 + Bx + C = 0.
Bài 2: Viết thủ tục để xoá dáu cách trong một xâu
* 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ẻ: Triệu Thị Thu Giang
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)