Biết cách viết lời gọi chương trình con trong thân chương trình chính Phân biệt được sự khác nhau cơ bản của hàm và thủ tục Phân biệt và sử dụng đúng biến toàn cục và biến cục bộ... Thái[r]
Trang 1Ngày soạn: 20/02/2012
Tiết theo PPCT: 45, 46, 47
I MỤC TIÊU
1 Kiến thức:
Biết được cấu trúc chung và vị trí của thủ tục trong chương trình
Phân biệt được tham số trị và tham số biến
Nắm được khái niệm về biến tồn cục và biến cục bộ
2 Kỹ năng
Nhận biết được các thành phần trong phần đầ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
Biết cách khai báo hai loại chương trình con cùng các tham số hình thức của chúng
Biết cách viết lời gọi chương trình con trong thân chương trình chính
Phân biệt được sự khác nhau cơ bản của hàm và thủ tục
Phân biệt và sử dụng đúng biến tồn cục và biến cục bộ
3 Thái độ ( cĩ thể khơng cĩ)
Tiếp tục rèn luyện các phẩm chất của người lập trình, như tinh thần hợp tác, làm việc theo nhĩm, tuân thủ yêu cầu vì một cơng việc chung
II ĐỒ DÙNG DẠY HỌC
1 Chuẩn bị của Giáo viên: SGK, SGV, Giáo án, các bảng phụ viết sẳn các ví dụ đề minh họa (máy vi tính và máy chiếu Projector (nếu cĩ))
2 Chuẩn bị của Học sinh : Sách giáo khoa, đọc bài trước ở nhà
III HOẠT ĐỘNG DẠY- HỌC
Gọi HS kiểm tra bài
cũ, nhận xét, cho điểm cụ
thể
Đưa ra ví dụ vẽ hình chữ
nhật dạng:
********
* *
********
Yêu cầu HS viết CT
YC: viết CT vẽ 3 hình
chữ nhật
Trả lời câu hỏi
Thảo luận và viết CT:
Program VD;
Begin Write (‘ ******** ’);
Writeln(‘ * * ’);
Writeln(‘ ******** ’);
Readln;
Trang 2HỌAT ĐỘNG CỦA THẦY HOẠT ĐỘNG CỦA TRỊ LƯU BẢNG
Chiếu CT minh họa về
cách dùng thủ tục vẽ
HCN
Giới thiệu cho HS nắm
cấu trúc của 1 thủ tục
Cấu trúc của thủ tục
gồm mấy phần?
Em hãy cho biết vị trí
của thủ tục nằm ở phần
nào trong CT chính?
Khi sử dụng thủ tục
cần phải làm gì ?
Lời gọi thủ tực đặt ở vị
trí nào?
Chiếu CT VD1 minh
họa
Chạy CT
Hướng dẫn cho HS hiểu
được tham số biến
Tham số biến sử dụng từ
khóa var
Sau khi thực hiện các
lệnh trong thủ tục thì giá
trị của biến a, b ntn?
Chiếu CT VD2 minh họa
Chạy CT
Sau khi thực hiện các
lệnh trong thủ tục thì giá
trị của biến a, b ntn?
Hướng dẫn HS nhận
biết tham số biến và
tham số trị
End.
Viết thủ tục, sau đó gọi thủ tục 3 lần.
HS quan sát, theo dõi.
3 phần: tên thủ tục, khai báo thủ tục và phấn thân của thủ tục.
Phần khai báo của CT chính.
Sử dụng lời gọi thủ tục
Trong phần thân của
CT chính.
Quan sát chương trình, KQ
gia tri a, b 5 10 gia tri a, b 10 5
G iá trị của biến a, b bị thay đổi.
Quan sát chương trình, KQ
gia tri a, b 5 10 gia tri a, b 5 5
1. Cách viết và sử dụng thủ tục:
a Cấu trúc của thủ tục:
Procedure < tên thủ tục> [(ds tham số )] ;
[ <phần khai báo>]
Begin
[ < các câu lệnh > ]
End;
b Ví dụ về thủ tục :
hoán đổi giá trị của hai biến
Program VD1;
Var a, b : integer ; Procedure hoandoi(var x,y:integer);
Var tg :integer;
Begin
tg := x;
x := y;
y := tg;
End;
Begin
a :=5;
b :=10;
Write(‘gia tri a, b ’, a:4, b:4);
Hoandoi(a,b);
Writeln(‘ gia tri a, b ’, a, b);
Readln;
End.
Ví dụ 2: Tương tự VD1 , nhưng ở phần đầu của thủ tục được khai báo sau:
Procedure hoandoi(x:integer,var y:integer);
Trang 3HỌAT ĐỘNG CỦA THẦY HOẠT ĐỘNG CỦA TRỊ LƯU BẢNG
Em có nhận xét gì về
thủ tục của 2 ví dụ trên
Tổng hợp và nhấn mạnh
ý chính cho HS nắm khi
truyền tham số trị hoặc
tham số biến trong CT
Giới thiệu cấu trúc của
hàm
Em hãy cho biết sự
khác nhau cơ bản của
hàm và thủ tục
Chiếu CT minh họa
Function Min( a,b :real): real;
Em hãy cho biết a,b là
tham số trị hay tham số
biến?
Kiểu trả về của hàm?
Hàm được thực hiện
khi nào?
Cho biết KQ khi thực
hiện CT trên
Biến cục bộ?
Biến toàn cục?
giá trị của biến a không thay đổi , giá trị của b bị thay đổi.
Quan sát, lắng nghe
Trong thủ tục nếu : + Dùng tham số trị thì sau khi thực hiện CT giá trị của tham số thực không thay đổi.
+ Dùng tham số biến thì sau khi thực hiện CT giá trị của tham số thực sẽ thay đổi.
Thủ tục bắt đầu là
Procedure
Hàm bắt đầu là Function
và luôn trả về giá trị KQ thuộc kiểu xác định và giá trị đó được gán cho tên hàm.
Quan sát chương trình
a, b là tham số trị
2 Cách viết và sử dụng hàm:
a Cấu trúc của hàm :
Function <tên hàm> [(ds tham số )]:
<kiểu dữ liệu > ;
[ <phần khai báo>]
Begin
[ < các câu lệnh > ]
End;
Trong thân hàm phải có lệnh gán: < tên hàm> := < biểu thức>;
b Ví dụ về hàm :
Ví dụ 1 : Xét chương trình thực hiện rút gọn một phân số, trong đó có sử dụng hàm tính ước chung lớn nhất (ƯCLN) của hai số nguyên
Program Rutgon_Phanso;
Uses crt;
Var tuso, mauso, a : integer ; Function UCLN( x, y : integer): integer;
Var sodu: integer;
Begin While y <> 0 do Begin
sodu := x mod y;
x:= y;
y:= sodu;
End;
UCLN := x;
Begin
Clrscr;
Write(‘Nhap tu so, mau so vao! ’ );
Readln(tuso, mauso);
a := UCLN(tuso, mauso);
if a>1 then
begin
tuso := tuso div a;
mauso := mauso div a;
Trang 4HỌAT ĐỘNG CỦA THẦY HOẠT ĐỘNG CỦA TRỊ LƯU BẢNG
Số thực : real
Có sử dụng lời gọi
So nho nhat la -3
Biến cục bộ khai báo trong CTC, khi thóat khỏi CTC thì giá trị của chúng sẽ mất đi
Biến toàn cục khai báo trong CT chính
end;
Writeln(tuso:5, mauso:5);
Readln;
End.
nhất trong hai số
Program VD;
Var a, b : integer ; Function Min( a,b :real): real;
Begin
If a < b then
min := b
else
min := a;
End;
Begin
a := -3;
b := 5;
Write(‘ so nho nhat la’,min(a,b);
Readln;
End.
Thủ tục có cấu trúc như thế nào? Hàm có cấu trúc như thế nào? Thế nào là biến toàn cục, cục bộ, tham số hình thức, tham số thực sự?
Về học bài và xem trước nội dung Bài thực hành 6
BÀI HỌC KINH NGHIỆM