+Khai bỏo kiểu dữ liệu mảng một chiều,
+ Nhập/ xuất dữ liệu,
+Duyệt qua cỏc phần tử của mảng,
-Qua đú giỳp học sinh biết cỏch giải một số bài toỏn cơ bản thường gặp như: +Tớnh tổng cỏc phần tử thoả món điều kiện nào đú,
+Đếm số cỏc phần tử thoả món điều kiện nào đú,
+Tỡm phần tử lớn nhất/bộ nhất của mảng và vị trớ của nú.
3. Thỏi độ:
-Rốn luyện tỏc phong, tư duy lập trỡnh, tự giỏc , tớch cực, chủ động và sỏng tạo trong tỡm kiếm kiến thức.
II.Chuẩn bị của giỏo viờn và học sinh: 1.Giỏo viờn:
+Phũng mỏy vi tớnh,
+Một số chương trỡnh cài sẵn trong USB hoặc đĩa mềm, +Mỏy chiếu hoặc bảng phụ,
2.Học sinh: +Học bài cũ,
+Đọc trước bài ở nhà. III.Phương phỏp:
-Trỡnh chiếu kết hợp đàm thoại.
-Hướng dẫn học sinh cỏc bước thực hiện một số chương trỡnh. IV.Tiến trỡnh bài dạy:
Hoạt động 1: Kiểm tra bài cũ
TG Hoạt động học sinh Hoạt động giỏo viờn Ghi bảng
5’
-Lắng nghe cõu hỏi -Học sinh trả lời cõu hỏi. Cả lớp theo dừi, nhận xột
-Nờu cõu hỏi.
-Gọi học sinh lờn trả lời.
-Giỏo viờn nhận xột, cho điểm
Cú hai cỏch khai bỏo: a/Khai bỏo trực tiếp:
Var < tờn biến mảng > : array [ kiểu chỉ số ] of < kiểu phần tử>; b/ Khai bỏo giỏn tiếp
Type < tờn kiểu mảng > : array [ kiểu chỉ số ] of < kiểu phần tử>; Var < tờn biến mảng >: < tờn kiểu mảng >;
Hoạt động 2: Bài tập số 1 sgk/63
TG Hoạt động học sinh Hoạt động giỏo viờn Ghi bảng
25’ 1/HĐTP1:
Quan sỏt bảng phụ, - Lắng nghe cõu hỏi và trả lời.
-Theo dừi để nắm hàm Random.
+Cõu lệnh cho số ngẫu nhiờn cú giỏ trị từ -299 đến 299.
+cõu lệnh in ra màn hỡnh giỏ trị tất cả cỏc phần tử
Treo bảng phụ cú nội dung bài số 1a/ sgk/63 ( cú thể sử dụng mỏy chiếu ). Sau đú đặt cõu hỏi cho học sinh trả lời .
+ Khai bỏo uses CRT; cú ý nghĩa gỡ?
+Myarray là tờn kiểu dữ liệu hay tờn biến?
+Vai trũ của nmax và n cú gỡ khỏc nhau?
+Những dũng lệnh nào dựng để tạo biến mảng a
-Giỏo viờn giới thiệu hàm Random cho học sinh.Sau đố đặt cõu hỏi: + a[i] := Random(300) – Random (300) cú ý nghĩa gỡ? + Lệnh for i:=1 to n do Write ( a[i] : 5);
-Khai bỏo thư viện chương trỡnh con CRT để sử dụng được thủ tục Clrscr;
- Myarray : tờn kiểu dữ liệu
- nmax: số phần tử tối đa cú thể chứa của biến mảng a,
n: số phần tử thực tế của a.
-Random(n): cho số ngẫu nhiờn từ 0 đến n-1
10’ của mảng. +cộng tất cả cỏc phần tử chia hết cho k. +Số lần thực hiện lệnh gỏn đỳng bằng số phần tử của mảng chia hết cho k. -Theo dừi kết quả chạy thử chương trỡnh.
2/HĐTP2: Sửa chương
trớnh cõu a/ để được chương trỡnh giải quyết bài toỏn cõu b/
-Quan sỏt bảng phụ, theo dừi và trả lời cỏc cõu hỏi của GV.
+Nếu a[i] > 0 thỡ cộng a[i] vào posi; ngược lại nếu a[i] < 0 thỡ cộng a[i] vào neg.
+Quan sỏt cỏc lệnh và suy nghĩ vị trớ cần sửa trong chương trỡnh cõu a/.
+Theo dừi kết quả chạy chương trỡnh.
Cú ý nghĩa gỡ?
+Lệnh For-do cuối cựng thực hiện nhiệm vụ gỡ? +Lệnh gỏn s := s + a[i] ; được thực hiện bao nhiờu lần?
-Thực hiện lại chương trỡnh lần cuối để học sinh thấy được kết quả.
-Treo bảng phụ cõu b/ bài tập 1 sgk/64
Hỏi HS:
+ í nghĩa của biến posi và neg?
+ Chức năng của lệnh : If a[i] > 0 then
posi := posi +1 else if a[i] < 0 then neg := neg +1; là gỡ? +Hướng dẫn học sinh thờm vào vị trớ cần thiết để chương trỡnh đếm được số lượng cỏc số õm và cỏc số dương. +Chạy thử chưong trỡnh để học sinh theo dừi kết quả.
+posi : đếm số dương trong mảng. +neg: đếm cỏc số õm trong mảng.
Hoạt động 3: Bài tập số 2/sgk/64
15’
30’
1/HĐTP1: Đưa ra một vớ
dụ cụ thể .
-Theo dừi, suy nghĩ để nắm thuật toỏn.
-Đọc đoạn chương trỡnh sgk. Liờn hệ trả lời cỏc cõu hỏi mà GV nờu ra. +Sửa a[i] > a[j] ; thành a[i] < a[j] ;
+Sửa a[i] > a[j]; thành a[i] >= a[j];
2/HĐTP2:
-Theo dừi GV chạy chương trỡnh và làm lại trờn mỏy tớnh. Vớ dụ: Cho mảng gồm 5 phần tử: 1 5 7 5 2 . Tỡm phần tử cú giỏ trị lớn nhất và vị trớ của nú trong mảng ( số thứ tự ) -Gợi ý , hướng dẫn học sinh thuật toỏn tỡm phần tử lớn nhất và vị trớ của nú (kết hợp làm thủ cụng).
-Cho học sinh đọc đoạn chương trỡnh trong bài 2/64sgk . Hỏi HS: + Nếu muốn tỡm phần tử nhỏ nhất thỡ cần sửa ở chỗ nào? +Nếu muốn tỡm phần tử lớn nhất với chỉ số lớn nhất của nú thỡ ta sửa ổ chỗ nào?
-Chạy thử chưong trỡnh cho học sinh theo dừi
-Theo dừi học sinh thực hiện chương trỡnh và xem kết quả.
j:=1;
For i:=2 to n do
If a[i] > a[j] then j:=i; (Sau khi kết thỳc: + Giỏ trị lớn nhất là a[j] + vị trớ cần tỡm j.) Hoạt động 4: Củng cố
-Nhắc lại cho học sinh một số kiến thức về:
+ Tớnh tổng cỏc phần tử cỏc phần tử thoả món một điều kiện nào đú. + Đếm số cỏc phần tử thoả món một điều kiện nào đú.
+ Tỡm phần tử lớn nhất/ bộ nhất.
BTVN
Ngày soạn:
Tiết PPCT: 25, 26
BÀI THỰC HÀNH SỐ 4I. Mục tiờu I. Mục tiờu
1. Kiến thức
- Củng cố kiến thức về dữ liệu kiểu mảng.
- Xõy dựng cấu trỳc dữ liệu, hiểu thuật toỏn sắp xếp bằng trỏo đổi.
2. Kĩ năng
- Biết chỉnh sữa lỗi trong chương trỡnh.
- Tự nhập cỏc bộ dữ liệu để hiểu ý nghĩa một số cõu lệnh.
3. Thỏi độ
- Nghiờm tỳc thực hiện đỳng nội quy phũng mỏy, tự giỏc trong khi lập trỡnh.
II.Chuẩn bị