Kiến thức - Biết được khái niệm mảng - Hiểu thuật toán tìm số lớn nhất và nhỏ nhất của dãy số 2.. Kỹ năng - Biết cách khai báo mảng, nhập in, truy cập các phần tử của mảng - Viết được đo
Trang 1GVHD : LÂM THANH VIỆT SVTT : DANH PHƯƠNG VŨ
Ngày soạn : 28 – 02 – 2010
Ngày dạy : 04 – 03 – 2010
Lớp dạy : 8A1
GIÁO ÁN TIN HỌC 8
Bài 9: LÀM VIỆC VỚI DÃY SỐ (tt)
I MỤC TIÊU:
1 Kiến thức
- Biết được khái niệm mảng
- Hiểu thuật toán tìm số lớn nhất và nhỏ nhất của dãy số
2 Kỹ năng
- Biết cách khai báo mảng, nhập in, truy cập các phần tử của mảng
- Viết được đoạn chương trình có sử dụng biến mảng ở bài toán đơn giản
3 Thái độ
- Rèn luyện tư duy khoa học, tư duy logic
- Rèn luyện ý thức học tập, ham thích tìm hiểu
II CHUẨN BỊ:
1 Giáo viên:
- SGK, giáo án, phòng máy tính đã được cài sẵn Tubo Pascal, bảng phụ
2 Học sinh
SGK, đồ dùng học tập…
III HOẠT ĐỘNG DẠY VÀ HỌC:
GV: Cho HS đọc ví dụ 3 Sgk.
- GV giải thích thuật toán tìm giá trị lớn nhất:
+ Đầu tiên gán giá trị số thứ nhất của dãy số
cho Max (ban đầu tạm thời coi số thứ nhất là số
lớn nhất tạm thời).
+ So sánh số lớn nhất tạm thời này với số thứ
2, nếu số thứ 2 lớn hơn số thứ nhất tạm thời-Max
thì gán giá trị của số thứ 2 cho Max Như vậy,
đến thời điểm này, Max là số lớn nhất của số thứ
1 và số thứ 2
+ Cứ tiếp tục như vậy, đem so sánh Max với
tất cả các số còn lại, gập số nào lớn hơn Max thì
lại gán giá trị của số đó cho Max Sau khi so
sánh đến số cuối cùng của dãy số thì Max chính
là giá trị lớn nhất của dãy số
GV: Yêu cầu HS trình bày lại thuật toán.
3 Ví dụ: Tìm giá trị lớn nhất
và nhỏ nhất của dãy số.
* Ví dụ 3: (SGK)
program MaxMin;
uses crt;
Var
i, n, Max, Min:
integer;
A: array[1 100] of
integer;
Phần thân chương trình sẽ tương tự dưới đây:
Begin
clrscr;
write('Hay nhap do dai cua day so, N =
Giáo án Tin học Trường THCS Mỹ Xuyên
Trang 2GVHD : LÂM THANH VIỆT SVTT : DANH PHƯƠNG VŨ
GV: Cho HS thảo luận nhóm để nghiên cứu cách
viết chương trình dựa trên các câu hỏi:
+ Hãy nêu yêu cầu của chương trình?
+ Trong chương trình đã khai báo những biến
gì? Nêu tác dụng của từng biến? Phân loại các
biến?
+ Theo em mảng A có bao nhiêu phần tử?
+ Hãy giải thích các câu lệnh trong phần thân
của chương trình?
HS: Các nhóm HS thảo luận và cử đại diện trả
lời
GV: Nhận xét và đưa ra kết luận.
GV: Trong chương trình vừa nghiên cứu ta lưu
ý:
- Số phần tử của mảng phải được khai báo
bằng một số cụ thể
GV: Nhấn mạnh: Qua ví dụ ta thấy sự khác biệt
giữa người và máy tính khi giải quyết công việc
Trong nhiều tình huống con người giải các bài
toán hiệu quả hơn nhiều máy tính Còn máy tính
lại hơn hẳn con người đối với những tính toán số
lớn hoặc với số nhiều…
'); readln(n);
writeln('Nhap cac phan tu cua day so:');
For i:=1 to n do Begin
write('a[',i,']=');
readln(a[i]);
End;
Max:=a[1];
Min:=a[1];
for i:=2 to n do begin
if Max<a[i]
then Max:=a[i];
if Min>a[i]
then
Min:=a[i];
end;
write('So lon nhat
la Max = ',Max);
write('; So nho nhat la Min = ',Min); readln
End.
*Lưu ý: Số các phần tử của mảng (kích thước của mảng)
cần được khai báo bằng một số
cụ thể
IV CỦNG CỐ VÀ DẶN DÒ:
- Về nhà đọc và tìm hiểu một số chương trình trong Pascal có khai báo và sử dụng biến mảng
- Tập viết một số câu lệnh khai báo biến mảng, ôn luyện cách sử dụng các câu lệnh lặp
- Nhớ lại các kĩ năng đọc, hiểu và chỉnh sửa chương trình
- Làm các câu hỏi và bài tập cuối bài trong Sgk
Mỹ Xuyên, ngày / / 2010
Người duyệt Người soạn GVHD : LÂM THANH VIỆT SVTT : DANH PHƯƠNG VŨ
Giáo án Tin học Trường THCS Mỹ Xuyên