Tải bản đầy đủ (.docx) (10 trang)

Chuyên đề kiểu mảng

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (312.45 KB, 10 trang )

SỞ GD & ĐT SƠN LA
TRƯỜNG THPT SỐP CỘP

KẾ HOẠCH SINH HOẠT CHUYÊN MÔN
Môn : Tin học
1. Tên chuyên đề, số tiết và thời gian thực hiện
Lớp

Tên Chuyên đề

Số tiết

Thời gian thực hiện

11

Kiểu mảng

2

Từ 16/01/2017 đến
11/02/2017

2. Giáo viên thực hiện
- Tiết 1 - Đồng chí: Hà Văn Giáp
- Tiết 2 - Đồng chí: Hà Văn Giáp

Bước 1: Lựa chọn chủ đề
KIỂU MẢNG (2 tiết lý thuyết)

Bước 2: Xác định KTKN và năng lực hướng tới của chủ đề


a) Chuẩn kiến thức, kĩ năng, thái độ theo chương trình hiện hành
- Về kiến thức:
+ Nắm được khái niệm mảng 1 chiều.
+ Nắm được quy tắc mà NNLT xây dựng và sử dụng mảng một chiều.
- Về kỹ năng:
+ Nhận biết được các thành phần trong khai báo kiểu mảng một chiều.
+ Nhận biết được định danh của một phần tử kiểu mảng một chiều xuất hiện
trong một chương trình.
+ Biết cách khai báo mảng đơn giản và chỉ số kiểu miền con của kiểu nguyên.
- Thái độ:
+ Hứng thú với kiểu DL mới, trong việc áp dụng mảng 1 chiều để giải các bài
toán đơn giản.
b) Năng lực hướng tới
HS nhận thức được dữ liệu mới ở dạng có cấu trúc (kiểu mảng 1 chiều). Sau bài
học này HS cần thao tác được với dữ liệu kiểu mảng, tổ chức thực hiện cài đặt các
chương trình của các bài toán cơ bản, cũng như hình thành phong cách người lập
trình. Tiếp thu, phát triển và vận dụng tốt khi xử lí kiểu dữ liệu mảng với các bài toán
mới trong lập trình cũng như trong thực tế.


Bước 3: Bảng mô tả các mức yêu cầu cần đạt cho mỗi loại câu hỏi/bài
tập trong chủ đề
Nội dung

Câu hỏi/bài
tập

Nhận biết

Thông hiểu


1. Kiểu mảng Câu hỏi/bài Biết khái niệm Hiểu được các
một chiều
tập
định kiểu mảng và lấy quy tắc cách thức
tính
ví dụ minh họa.
xác định kiểu dữ
liệu mảng.
Câu hỏi
Câu hỏi
ND1.DT.NB.*
ND1.DT.TH.*
Bài tập định Biết được nhược Giải thích được
lượng
điểm của cách mảng một chiều
lập trình không đã khắc phục
có cấu trúc so với nhược điểm cách
mảng một chiều. lập trình không có
cấu trúc.
Câu hỏi
Câu hỏi
ND1.DL.NB.*
ND1.DL.TH.*
Bài tập thực
hành
a) Khai báo.

Câu hỏi/bài
tập

định
tính

Bài tập định
lượng

Bài tập thực
hành
b) Một số ví
dụ

Câu hỏi/bài

Khai báo được
kiểu mảng bằng
một trong hai
cách.
Câu hỏi
ND2.DT.TH.*
Lấy ví dụ minh
họa cách khai báo
mảng một chiều.
Câu hỏi
ND2.DL.TH.*

Vận dụng


tập
định

tính
Bài tập định
lượng

Bài tập thực
hành

- Nắm được các
bước thực hiện
của thuật toán các
ví dụ 1, 2.
Câu hỏi
ND3.DL.TH.*
- HS có thể thực
hiện được các bài
tập trong SGK.
Câu hỏi
ND3.TH.VDT.*
- HS có thể thực
hiện được các bài
tập tương tự ở tình
huống mới.
Câu hỏi
ND3.TH.VDC.*


Bước 4: Hệ thống câu hỏi /bài tập đánh giá theo mức mô tả
Câu hỏi ND1.DT.NB.1. Em hãy cho biết mảng một chiều là gì, lấy VD minh họa?
(Tái hiện chính xác nội dung của đơn vị kiến thức)
Câu hỏi ND1.DT.TH.1. Kiểu mảng một chiều có các quy tắc xác định như thế nào?

(Tái hiện chính xác nội dung của đơn vị kiến thức)
Câu hỏi ND1.DL.NB.1. Em thấy cách khai báo và lập trình trong bài toán đặt vấn đề có
những nhược điểm gì?
(Tái hiện chính xác nội dung của đơn vị kiến thức)
Câu hỏi ND1.DL.TH.1. Em hãy giải thích vì sao dùng cấu trúc mảng một chiều có thể
khắc phục được những nhược điểm của cách lập trình không có cấu trúc?
(Tái hiện chính xác nội dung của đơn vị kiến thức)
Câu hỏi ND2.DT.TH.1. Em hãy cho biết có mấy cách để khai báo mảng một chiều? Đó là
những cách nào?
(Tái hiện chính xác nội dung của đơn vị kiến thức)
Câu hỏi ND2.DL.TH.1. Em hãy cho biết cấu trúc của từng cách? Lấy ví dụ minh họa?
(Tái hiện chính xác nội dung của đơn vị kiến thức)
Câu hỏi ND3.DL.TH.1. Em hãy mô tả thuật toán của ví dụ 1 để có được kết quả là giá trị
Max của dãy số nguyên cho trước?
(Tái hiện chính xác nội dung của đơn vị kiến thức)
Câu hỏi ND3.DL.TH.2. Em hãy mô tả thuật toán của ví dụ 2 để có được kết quả là dãy số
được sắp xếp tăng dần của dãy số nguyên cho trước?
(Tái hiện chính xác nội dung của đơn vị kiến thức)
Câu hỏi ND4.TH.VDT.1. Hãy thực hiện theo các bước trong ví dụ 1 để tìm ra giá trị Min
trong dãy số cho trước?
(Vận dụng trong tình huống quen thuộc)
Câu hỏi ND4.TH.VDC.1. Hãy lập trình tìm ra các giá trị là số nguyên chẵn trong dãy số
cho trước?
(Vận dụng trong tình huống mới)


Câu hỏi ND4.TH.VDT.2. Hãy thực hiện theo các bước trong ví dụ 2 để sắp xếp thành dãy
không tăng?
(Vận dụng trong tình huống quen thuộc)
Câu hỏi ND4.TH.VDC.2. Hãy lập trình đếm các phần tử là số lẻ và chia hết cho 5 trong dãy

số cho trước?
(Vận dụng trong tình huống quen thuộc)


Bước 5: Giáo án.
Ngày soạn: 22/01/2017
Ngày dạy:
11B1
11B2
23/01/2017
24/01/2017

Chương IV.

11B3
24/01/2017

11B4
23/01/2017

11B5
02/02/2017

11B6
23/02/2017

11B7
24/01/2017

KIỂU DỮ LIỆU CÓ CẤU TRÚC


Tiết 26:

§11. KIỂU MẢNG (Tiết 1)
I/ Mục tiêu:
- Về kiến thức:
+ Nắm được khái niệm mảng 1 chiều.
+ Nắm được quy tắc mà NNLT xây dựng và sử dụng mảng một chiều.
- Về kỹ năng:
+ Nhận biết được các thành phần trong khai báo kiểu mảng một chiều.
+ Nhận biết được định danh của một phần tử kiểu mảng một chiều xuất hiện trong một
chương trình.

+ Biết cách khai báo mảng đơn giản và chỉ số kiểu miền con của kiểu nguyên.
- Thái độ:
+ Hứng thú với kiểu DL mới, trong việc áp dụng mảng 1 chiều để giải các bài toán
đơn giản.
- Năng lực hướng tới:
HS nhận thức được dữ liệu mới ở dạng có cấu trúc (kiểu mảng 1 chiều). Sau bài học
này HS cần thao tác được với dữ liệu kiểu mảng, tổ chức thực hiện cài đặt các chương trình
của các bài toán cơ bản, cũng như hình thành phong cách người lập trình. Tiếp thu, phát
triển và vận dụng tốt khi xử lí kiểu dữ liệu mảng với các bài toán mới trong lập trình cũng
như trong thực tế.
II/ Chuẩn bị của gv, hs:
+ Giáo viên: Sgk, sbt, sgv, tranh sơ đồ.
+ Học sinh: Sgk, sbt.
III/ Tiến trình bài học:
1. Ổn định lớp:
2. Kiểm tra bài cũ:
3. Dạy bài mới: (40p)

Hoạt động 1:
Tìm hiểu về sự cần thiết của chương IV (Kiểu dữ liệu có cấu trúc) và định nghĩa mảng 1
chiều.


TG
25’

H/động của hs
H/động của gv
- Trả lời
- Nhắc lại những kiểu dl
đã học?
- GV nêu lên sự cần thiết
phải có kiểu dl có cấu trúc
- Tìm hiểu về mảng 1
chiều.
- Hãy trình bày ý tưởng để
- Trả lời
giải bài toán trên
- Ta có thể viết ct bằng NN
Pascal như sau:

Bài11

Nội dung ghi bảng
KIỂU MẢNG

1. Kiểu mảng 1 chiều:
- Xét ví dụ:

Nhập vào nhiệt độ trung bình của mỗi
ngày trong tuần, tính và đưa ra màn hình
nhiệt độ trung bình của tuần và số lượng
ngày trong tuần có nh/độ cao hơn nh/độ
t/bình của tuần.
- Giải:
Program nhdo;
Var t2,t3,t4,t5,t6,t7,cn,tb: real;
d: integer;
Begin
Writeln('Nhap vao nhiet do cua cac thu
trongtuan');
Readln(t1,t2,t3,t4,t5,t6,t7,cn);
Tb:=(t2+t3+t4+t5+t6+t7+cn)/7;
D:=0;
If t2>tb then d:=d+1;
If t3>tb then d:=d+1;
If t4>tb then d:=d+1;
If t5>tb then d:=d+1;
If t6>tb then d:=d+1;
If t7>tb then d:=d+1;
If cn>tb then d:=d+1;
Writeln('Nhiet do tr/binh tuan: ',tb:5:2);
Writeln('So ngay nh/do cao hon nh/do
t/binh la: ',d);
Readln;
End.
-Nếu ta viết bằng mảng 1 Dùng mảng 1 chiều:
chi ều:
Program nhdo;

Const max = 20;
Type a = array[1..max] of real;
Var ndo:a; d,i,n: byte; t,tb: real;
Begin
Writeln('Nhap so ngay: ');
Readln(n);
T:=0; d:=0;
For i:=1 to n do
Begin
Writeln('Nhap vao nhiet do cua
ngay
thu
',i,':');
Readln(ndo[i]);


TG

H/động của hs

H/động của gv

-So s ánh 2 ch/tr trên
-Thế nào là mảng 1 chiều?

Nội dung ghi bảng
T:=t+ndo[i];
End;
Tb:=t/n;
For i:=1 to n do

If ndo[i]>tb then d:=d+1;
Writeln('Nhiet do tr/binh tuan: ',tb:5:2);
Writeln('So ngay nh/do cao hon nh/do
t/binh la: ',d);
Readln;
End.
A/ Định nghĩa:sgk

Hoạt động 2: Tìm hiểu cách khai báo mảng 1 chiều
TG H/động của hs
H/động của gv
Nội dung ghi bảng
15’ Trả lời
Có mấy cách để khai báo B/Khai báo:
mảng 1 chiều?
Cách 1: 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 2: 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>;
Trong đó: +Kiểu chỉ số thường là một
đoạn số nguyên liên tục có dạng
n1...n2(n1biểu thức)
+ Kiểu phần tử là kiểu dl của các phần tử
của mảng.
- Hãy khai báo mảng trong
- Lên bảng

vd trên bằng cách khai báo
trực tiếp.
- Để tham chiếu đến nh/độ
của thứ 2 ta viết ndo[2]
4. hướng dẫn hs tự học ở nhà: (5p)
- Thế nào là mảng 1 chiều?
- Cách khai báo biến mảng
- Nhập vào một dãy số và in ra màn hình những số chẵn.
IV. RÚT KINH NGHIỆM:

Ngày soạn: 01/02/2017


Ngày dạy:
11B1
02/02/2017

11B2
04/02/2017

11B3
03/02/2017

11B4
03/02/2017

11B5
03/02/2017

11B6

04/02/2017

11B7
04/02/2017

Tiết 27:

§11. KIỂU MẢNG (Tiết 2)
I. Mục Tiêu:
1)Về kiến thức: Thể hiện các thuật toán cơ bản về tìm kiếm và sắp xếp: sắp xếp dãy số
nguyên bằng phương pháp trao đổi và tìm kiếm nhị phân .
2)Về kỹ năng : Biết cách sử dụng mảng 1 chiều trong chương trình thể hiện các thuật
toán ở trên.
3)Về thái độ :
+ Ý thức rèn luyện kỹ năng các thao tác trên mỗi kiểu dữ liệu có cấu trúc
+ Hứng thú tìm hiểu các thuật toán thường gặp trên các mô hình dữ liệu .
- Năng lực hướng tới:
HS nhận thức được dữ liệu mới ở dạng có cấu trúc (kiểu mảng 1 chiều). Sau bài học
này HS cần thao tác được với dữ liệu kiểu mảng, tổ chức thực hiện cài đặt các chương trình
của các bài toán cơ bản, cũng như hình thành phong cách người lập trình. Tiếp thu, phát
triển và vận dụng tốt khi xử lí kiểu dữ liệu mảng với các bài toán mới trong lập trình cũng
như trong thực tế.
II. Chuẩn bị của giáo viên và học sinh:
1)Về giáo viên: Chuẩn bị 1 số bài tập liên quan đến tìm kiếm và sắp xếp trong mảng 1
chiều .
2) Về học sinh: Xem lại 3 thuật toán đã học ở lớp 10 (Tìm GTLN của 1 dãy số
nguyên, sắp xếp bằng trao đổi)
III. Tiến trình bài học :
1) Ổn định lớp:
2)Kiểm tra bài cũ: (10ph) Trình bày thao tác nhập, xuất mảng 1 chiều .

3) Nội dung bài mới:
TG

Hoạt động của GV
20p Hoạt động 1:Ví dụ 1
• Hãy trình bày phương
pháp tìm kiếm?
• Cho dãy số nguyên
sau
K={ 10,7,2,15,8,4}
• Hãy xác định input và
output của bài toán tìm
Max?
• Hướng dẫn học sinh
hiểu những đoạn câu
lệnh trong thuật toán ở

Hoạt động của HS
• Lần lượt duyệt từng

phần tử để tìm kiếm.
• Input: Dãy số đã

cho;
Output: Max.
• Theo dõi Sgk/56

Ghi bảng
Ví dụ 1: Tìm phần tử lớn
nhất của dãy số nguyên

Sgk/56
Uses Crt;
Type Mang = ARRAY[1..50]
Of Integer;
Var A:Mang;
N,i,Max:Integer;
Begin
Write('Nhap N=');
Readln(N);
For i:=1 To N Do
Begin


vd1 sgk trang 56
• Ý
tưởng:
- Cho số lớn nhất là số
đầu tiên: Max:=a[1].
- Duyệt qua các phần tử
a[i], với i chạy từ 2 tới
N: Nếu a[i]>Max thì
thay Max:=a[i];
10p

Hoạt động2:
- Hãy trình bày phương pháp
tìm kiếm?
- Cho dãy số nguyên sau
K={ 10,7,2,15,8,4}
- Hãy xác định input và

output của bài toán tìm Min?
- Hướng dẫn học sinh hiểu
những đoạn câu lệnh trong
thuật toán ở vd1 sgk trang 56
Ý tưởng:
- Cho số nhỏ nhất là số đầu
tiên: Min:=a[1].
- Duyệt qua các phần tử a[i],
với i chạy từ 2 tới N: Nếu
a[i]
• Lần lượt duyệt từng

phần tử để tìm kiếm.
• Input: Dãy số đã

cho;
Output: Min.
• Theo dõi Sgk/56

Write('A[',i,']=');
Readln(A[i]);
End;
Max:=A[1];
For i:=2 To N Do
If MaxMax:=A[i];
Writeln('Phan tu lon nhat
cua mang:', Max);
Readln;

End.
{Tìm giá trị Min}
Uses Crt;
Type Mang = ARRAY[1..50]
Of Integer;
Var A:Mang;
N,i,Min:Integer;
Begin
Write('Nhap N=');
Readln(N);
For i:=1 To N Do
Begin
Write('A[',i,']=');
Readln(A[i]);
End;
Min:=A[1];
For i:=2 To N Do
If MinMin:=A[i];
Writeln('Phan tu nho nhat
cua mang:', Min);
Readln;
End.

4. hướng dẫn hs tự học ở nhà: (5p)
- Nhắc lại kiểu mảng, những bài toán tìm kiếm, sắp xếp;
- Yêu cầu học sinh chạy thử chương trình sắp xếp bằng phương pháp tráo đổi trong bài tập 1 Sgk
trang 58.
IV. RÚT KINH NGHIỆM:




Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×