I.Mục tiêu
1.Kiến thức
-Biết được khái niệm mảng một chiều
- Biết cách khai báo mảng, truy cập các phần tử của mảng
2.Kĩ năng.
- Thực hiện được khai báo mảng, truy cập phần tử mảng, sử dụng các phần tử của mảng trong biểu thức tính toán
3. Năng lực hướng tới.
Mô hình quản lý dữ liệu của dãy số sắp xếp bất kỳ và tìm theo số lớn nhất, bé nhất
II.Xây dựng tình huống và tổ chức dạy học.
Phòng GD&ĐT Quận Hoàng Mai Chủ đề: Dạy học cấu trúc mảng một chiều định hướng hình thành năng lực cho học sinh Kế hoạch giảng dạy chuyên đề: Làm việc với dãy số Môn: Tin học lớp 8 I.Mục tiêu 1.Kiến thức -Biết được khái niệm mảng một chiều - Biết cách khai báo mảng, truy cập các phần tử của mảng 2.Kĩ năng. - Thực hiện được khai báo mảng, truy cập phần tử mảng, sử dụng các phần tử của mảng trong biểu thức tính toán 3. Năng lực hướng tới. Mô hình quản lý dữ liệu của dãy số sắp xếp bất kỳ và tìm theo số lớn nhất, bé nhất II.Xây dựng tình huống và tổ chức dạy học. Kiến thức Hoạt động GV và HS Định hướng năng lực Hoạt động 1: Tình huống dạy học kiến thức mới 1. Xây dựng tình huống dãy số. Bài toán: Viết chương trình nhập điểm kiểm tra của các học sinh trong một lớp và in ra màn hình số điểm cao nhất. 2. Dãy số và biến mảng a. Phát hiện tình huống gợi vấn đề - Tình huống từ thực tế: tìm điểm cao nhất của số lượng lớn học sinh. - GV tổ chức lại theo ý đồ sư phạm. - Dãy số đã nhập theo số liệu bất kỳ trong khung điểm GV: - Vì mỗi biến chỉ có thể lưu một giá trị duy nhất, để có thể nhập điểm và so sánh chúng, ta cần sử dụng nhiều biến, mỗi biến cho 1 học sinh. - Nếu số học sinh trong lớp càng nhiều thì việc khai báo và đọc dữ liệu trong chương trình càng dài. Vậy để giúp giải quyết các vấn đề trên, hầu hết các ngôn ngữ lập trình đều có kiểu dữ liệu được gọi là mảng. - GV đưa ra những yêu cầu để HS nhận thấy tình huống gợi vấn đề. b. Giải quyết vấn đề - GV trình bày cách sử dụng biến mảng và câu lệnh lặp giúp việc viết chương trình được ngắn gọn và dễ dàng hơn. Cho HS ghi ngắn gọn, khác sách giáo khoa - GV giới thiệu chương trình Nhắc HS không chép chương trình Hoạt động 2: Tình huống củng cố 1. Viết chương trình đơn giản a. Xây dựng tình huống Bài toán 1. Viết chương trình nhập vào 1 mảng A gồm N phần tử nguyên, tính và in ra màn hình tổng của mảng vừa nhập Bài toán 2. Viết chương trình nhập vào 1 mảng A gồm N phần tử nguyên, tính và in ra màn hình tổng của các số chẵn trong mảng vừa nhập Bài toán 3. Viết chương trình nhập vào 1 mảng A gồm dãy N phần tử nguyên, tính và in ra màn hình tổng của các số ở vị trí chẵn mảng vừa nhập b.Tổ chức thực hiện Cho HS làm việc theo nhóm Nhắc HS không chép chương trình - Các đề đều phải sử dụng mảng một chiều. - Quán triệt tinh thần của lý thuyết kiến tạo những điều đã biết,việc phải làm chuẩn bị cho việc làm tiếp theo - Góp phần hình thành kỹ năng: Viết chương trình; Giao tiếp; Tự học 2.2. Nhận dạng và thể hiện mảng một chiều a. Xây dựng tình huống Một người đã viết chương trình trên máy tính như dưới đây. Program Vidu; Uses Crt ; Var A: array[1..100] of integer; n, i, S :integer; Begin ClrScr ; Write (‘ Nhap vao so luong phan tu ‘ ); Readln (n ) ; For i:= 1 to n do begin write(‘nhap phan tu thu ’, i); readln (a[i]); end; S:=0; For i:=1 to n do S:=S+a[i]; Write (‘Tong la ’, s); Readln End. - Khi thực hiện chương trình nhập vào n=4, các phần tử lần lượt là 3,4,5,6 cho biết kết quả in ra màn hình như thế nào? - Theo em chương trình trên có thể sửa như thế nào để giải quyết được bài toán 2? - Bài toán 3 khác bài toán 2 ở chỗ nào? Em hãy sửa lại chương trình để giải quyết bài toán 3? b. Tổ chức thực hiện + Cho HS hoạt động nhận dạng + Cho HS hoạt động thể hiện + Bồi dưỡng nhân sinh quan, thế giới quan + Kỹ năng sửa chương trình. Hoạt động 3. Vận dụng 1. Sử dụng biến mảng a) Xây dựng tình huống. Bài toán 1: Nhập vào một dãy N phần tử nguyên vào mảng A. Tính tổng các phần tử có giá trị lẻ, hiển thị kết quả ra màn hình. Bài toán 2: Nhập vào một dãy N phần tử nguyên vào mảng A. Tính tổng các phần tử ở vị trí lẻ. Bài toán 3: Viết chương trình nhập điểm kiểm tra một tiết môn tin học của các bạn trong lớp. Sau đó in ra màn hình điểm cao nhất của các bài kiểm tra. Bài toán 4. Viết chương trình nhập vào số kg giấy vụn của N lớp trong một trường vào mảng A, tìm lớp có số kg giấy vụn nhiều nhất, ít nhất. b. Tổ chức thực hiện Tình huống gợi vấn đề Giải bài toán, chưa biết thuật toán. GV và HS đàm thoại giải quyết vấn đề. Cho HS ghi tiếng Việt theo cấu trúc lồng nhau để về nhà viết chương trình. Sử dụng kỹ thuật minh họa trực quan. Rèn tư duy logic, tương tự Thực hành kiến thức chuẩn Chuẩn bị động cơ cho bài toán sắp xếp S ß 0 Duyệt từ 1 đến N thực hiện: Nếu A[i] lẻ thì S ß S+A[i]; Hiển thị S Program tong_gtri_le; Uses Crt ; Var A: array[1..100] of integer; n, i, S :integer; Begin ClrScr ; Write(‘ Nhap vao so luong phan tu ‘ ); Readln (n ) ; For i:= 1 to n do begin writeln(‘nhap phan tu thu ’, i); readln (a[i]); end; S:=0; for i:=1 to N do if a[i] mod 2 = 1 then S:=S+a[i]; Writeln(‘Tong cac phan tu có gia tri le la: ‘ ,S); Readln End. 2. Sử dụng biến mảng – tìm giá trị nhỏ nhất trong dãy số a) Xây dựng tình huống Một người đã viết chương trình tìm giá trị nhỏ nhất trong dãy số như sau: Program Tim_Min; Uses Crt ; Var A: array[1..100] of integer; n, i, Min :integer; Begin ClrScr ; Write(‘ Nhap vao so luong phan tu ‘ ); Readln (n ) ; For i:= 1 to n do begin writeln(‘nhap phan tu thu ’, i); readln (a[i]); end; Min:=a[1]; for i:=2 to N do if Min>a[1] [then Min:=a[i]; Writeln(‘Gia tri nho nhat trong day so la:’ , Min); Readln End. (1) Tìm chỗ sai và giải thích tại sao sai trong chương trình tìm số nhỏ nhất của dãy số ở trên, cho 3 số cụ thể để minh họa. (2) Hãy sửa lại đoạn chương trình IF Min > A[i] Then Min := A[i]; của chương trình trên để có được tính đúng đắn của chương trình. (3) Tìm Min của dãy 5 số A[1]=3; A[2]=5; A[3]=2; A[4]=1; A[5]=7 b. Tổ chức thực hiện Tình huống gợi vấn đề Giải bài toán, chưa biết thuật toán. GV và HS đàm thoại giải quyết vấn đề. Cho HS ghi tiếng Việt theo cấu trúc lồng nhau để về nhà viết chương trình. Sử dụng kỹ thuật minh họa trực quan. (i) Cho HS hoạt động nhận dạng Khắc sâu hoạt động thao tác với biến mảng (lưu dãy số). (ii) Cho HS hoạt động thể hiện Tìm ra qui trình tính tổng, tìm Max, Min của dãy số Viết chương trình tính tổng, tìm Max, Min của dãy số (iii) Cho HS hoạt động khái quát hóa + Tìm ra qui trình tìm số lượng các phần tử có giá trị bằng giá trị lớn nhất trong dãy số. + Chuẩn bị cho viết chương trình tìm số lượng các phần tử có giá trị bằng giá trị lớn nhất trong dãy số. Rèn tư duy logic, tương tự (i) Những kỹ năng được định hướng + Kỹ năng sửa lỗi chương trình. + Kỹ năng tư duy tương tự, khái quát. (ii) Tình huống được xây dựng để có những yếu tố, những công việc nhằm vận dụng nội dung kiến thức thực hiện mục đích chức năng. Kiến thức vận dụng ở thời điểm hiện tại được kế thừa kiến thức đã học từ trước và sẽ được phát triển trong tương lai.
Tài liệu đính kèm: