1. Chuẩn bị của GV: Phịng máy vi tính, máy chiếu hoặc bảng phụ để minh họa 2. Chuẩn bị của HS: SGK
III. HOẠT ĐỘNG DẠY HỌC
1. Hoạt động 1: Ơn lại kiến thức để chuẩn bị làm bài tập và thực hành
Hoạt động GV Hoạt động HS Ghi bảng
Cách khai báo mảng trực tiếp ? gián tiếp ?
- Cách 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ử>;
- Cách 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>
2. Hoạt động 2: Đọc đề và tìm hiểu yêu cầu bài tập 2 SGK
Hoạt động GV Hoạt động HS Ghi bảng
Yêu cầu HS đọc đề BT2 SGK
Yêu cầu của bài tốn là gì?
Đọc đề và tìm hiểu yêu cầu của đề Trả lời câu hỏi
- Tìm phần tử cĩ giá trị lớn nhất trong mảng
- In ra màn hình chỉ số nhỏ nhất của phần từ cĩ giá trị lớn nhất
3. Hoạt động 3: Đọc chương trình và chạy chương trình trên giấy để hiểu thuật tốn của chương trình của chương trình
Hoạt động GV Hoạt động HS Ghi bảng
- Việc tạo mảng dữ liệu được thể hiện ở phần nào trong chương trình ? - Tìm giá trị lớn nhất và đưa ra màn hình chỉ số nhỏ nhất của phần từ cĩ giá trị lớn nhất được thể hiện ở phần nào ?
- Vai trị của biến j trong chương trình nhằm mục đích gì ?
- Thực hiện chương trình với giá trị của mảng nhập vào cụ thể như sau:
Thể hiện ở câu lệnh for
thứ nhất của chương trình.
- Từ j:=1 đến cuối chương trình
- Giữ lại chỉ số của phần tử cĩ giá trị lớn nhất. - Thực hiện yêu cầu của GV. Treo bảng phụ chương trình của bài tốn. B1: j=1, i=2, A[i]=2, A[j]=4 A[i]< A[j] B2: j=1, i=3, A[i] = 5, A[j] =4 A[i]>A[j] , j=3 B3: j=3, i=4, A[i]=7, A[j]=5 A[i]>A[j] j=4 B4: j=4, i=5, A[i]=6, 62
4 2 5 7 6 7- Hãy dựa vào phần tìm giá - Hãy dựa vào phần tìm giá trị lớn nhất và chạy chương trình trên giấy nháp và cho kết quả ?
- Gọi HS lên bảng chạy lại chương trình A[j]=7 A[i]<A[j] B5: j=4, i=6, A[i]=7, A[j]=5 kết quả chỉ số: 4 A[4] = 7
4. Hoạt động 4: Chỉnh sửa chương trình để đưa ra chỉ số của các phần tử cĩ cùng giá trị lớn nhất trị lớn nhất
Hoạt động GV Hoạt động HS Ghi bảng
- Cĩ cần giữ lại đoạn chương trình tìm giá trị lớn nhất khơng ?
- Để đưa ra màn hình tất các chỉ số của các phần tử đạt giá trị lớn nhất cĩ cần duyệt lại các phân tử của mảng khơng ? - Cần thêm lệnh nào cĩ thê in được tất cả các chỉ số của các phần tử cĩ giá trị lớn nhất ? - Đưa câu lệnh đĩ vào vị trí nào của chương trình ?
- Cĩ - Cĩ
- Trả lời câu hỏi. - Đưa vào cuối chương trình
For i:=1 to n do
If A[i] = A[j] then write (i);
5. Hoạt động 5: HS chạy chương trình trên máy tính và cho kết quả: