Download - GIỚI THIỆU GIÁO ÁN
1
GIỚI THIỆU GIÁO ÁN
GVHD: NGUYỄN THỊ NGỌC HOASVTH: TRẦN NGỌC MAI CHILỚP: TIN 5 VŨNG TÀU
10/30/2011NHÓM 5
2
Chương 4:KIỂU DỮ LIỆU CÓ CẤU TRÚC
Bài 11 - Tiết 1:
KIỂU MẢNG10/30/2011NHÓM 5
10/30/2011NHÓM 5
CHƯƠNG TRÌNH TIN HỌC LỚP 11
CHƯƠNG 1
Một số khái niệm
về lập trình NNLT
CHƯƠNG 2
Chương trình đơn
giản
CHƯƠNG 3
Cấu trúc rẽ nhánh và
lặp
CHƯƠNG 4
Kiểu dữ liệu có cấu
trúc
Mục Tiêu
Biết các khái niệm về: lập trình, thuật toán, cấu trúc dữ liệu,...
Kỹ năng: lập trình một số bài toán đơn giản thông qua một ngôn ngữ lập trình cụ thể (Pascal)
Bài 11: Kiểu Mảng (Tiết 01)
…
3
10/30/2011NHÓM 5
4
Bài 11: Kiểu mảng (Tiết 01)
10/30/2011NHÓM 5
Mục tiêu, chuẩn kiến thức, kỹ năng1
Điểm trọng tâm, điểm khó2
Kiến thức liên quan đến bài học3
Khả năng biết của học sinh4
Giả định môi trường học tâp: • Phòng học đầy đủ thiết bị nghe nhìn, hệ thống âm thanh.• Bàn ghế được thiết kế tiện cho việc thảo luận, làm việc theo nhóm.
5
Mục tiêu, chuẩn kiến thức, kỹ năngKIẾN THỨCHiểu:•Kiểu mảng là kiểu dữ liệu có cấu trúc, rất cần thiết và
hữu ích cho nhiều chương trình.•Mảng một chiều là một dãy hữu hạn các phần tử cùng
kiểu.•Mô tả mảng một chiều cần khai báo kiểu của các
phần tử và đánh số các phần tử của nó.•Có thể tham chiếu đến các phần tử của mảng bằng tên
mảng và chỉ số tương ứng của phần tử này nằm trong dấu [].
10/30/2011NHÓM 5
6
Mục tiêu, chuẩn kiến thức, kỹ năng (tt)
Nắm:• Hai cách khai báo KDL mảng 1 chiều. Khi khai báo mảng
cần xác định kích thước của mảng. Tuy nhiên trên thực tế có nhiều trường hợp số phần tử chứa DL thực sự có ý nghĩa đối với BT đang giải quyết nhỏ hơn SL phần tử của mảng.
• Những yếu tố quan trọng khi khai báo mảng 1 chiều (kiểu phần tử, kiểu chỉ số)
• Không thể nhập hay xuất giá trị của một biến mảng 1 chiều như nhập hay xuất 1 giá trị của biến có KDL chuẩn mà phải nhập hay xuất cho từng phần tử của mảng.
• Cách nhập xuất giá trị 1 phần tử của mảng, vai trò của lệnh for –do trong nhập xuất.
10/30/2011NHÓM 5
7
Mục tiêu, chuẩn kiến thức, kỹ năng (tt)
KỸ NĂNGNhận biết:•Các thành phần trong khai báo kiểu mảng 1 chiều, 2
chiều.•Kích thước của mảng khi khai báo.•Đị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.•Cách tham chiếu đến một phần tử của mảng, cách
tham chiếu đến tất cả các phần tử của mảng.•Phân biệt kiểu dữ liệu mảng và kiểu dữ liệu các phần
tử của mảng.10/30/2011NHÓM 5
8
Mục tiêu, chuẩn kiến thức, kỹ năng (tt)Biết:•Cách khai báo mảng đơn giản với chỉ số kiểu miền
con của kiểu nguyên.•Cách sử dụng câu lệnh for-do kết hợp với câu lệnh
write, readln để nhập, xuất dữ liệu mảng.•Cách duyệt qua tất cả các phần tử của mảng và truy
cập từng phần tử của mảng.Vận dụng:•Viết khai báo mảng một chiều đơn giản.•Nhập xuất giá trị của một biến mảng.•Các thao tác nhập xuất, xử lí mỗi phần tử của mảng.
10/30/2011NHÓM 5
9
Mục tiêu, chuẩn kiến thức, kỹ năng (tt)
THÁI ĐỘ•Tiếp tục xây dựng lòng ham thích lập trình, nhằm giải
quyết các bài toán bằng máy tính.•Tiếp tục hình thành và xây dựng phẩm chất cần thiết
của người lập trình như: ý thức chọn và xây dựng KDL khi thể hiện những đối tượng trong thực tế, ý thức rèn luyện kỹ năng sử dụng các thao tác trên KDL mảng một/ hai chiều ...
10/30/2011NHÓM 5
10
Điểm trọng tâm, điểm khó
ĐIỂM TRỌNG TÂM ĐIỂM KHÓ• Khái niệm mảng 1 chiều.• Cấu trúc khai báo mảng 1 chiều
theo 2 cách.• Những yếu tố người lập trình cần
xác định để khai báo 1 kiểu dữ liệu mảng 1 chiều:▫ Kiểu phần tử: KDL chuẩn (integer,
real, char, boolean ... )▫ Kiểu chỉ số: đoạn số nguyên liên
tục (thường là [1..100])• Cách nhập, xuất dữ liệu mảng,
thao tác với mảng.• Phân biệt kiểu dữ liệu mảng và
kiểu dữ liệu các phần tử của mảng.
• Cách đánh số các phần tử của mảng 1 chiều (chỉ số của các phần tử).
• Phân biệt kiểu dữ liệu mảng và KDL các phần tử của mảng.
• Tham chiếu tới phần tử của mảng 1 chiều và ý nghĩa ứng dụng của nó.
• Cách xác định để khai báo biến mảng trong BT thực tế.
• Khi khai báo cần chú ý đến kích thước mảng.
10/30/2011NHÓM 5
11
• Ngôn ngữ lập trình pascal.
• KDL chuẩn trong NNLT Pascal.
• Một số thuật toán đơn giản: thuật toán tìm kiếm, sắp xếp.
10/30/2011NHÓM 5
KIẾ
N T
HỨ
C L
IÊN
QU
AN
12
• Khái niệm về mảng là một dãy hữu hạn các phần tử cùng kiểu.
• Nhu cầu sử dụng mảng.• Cách khai báo mảng một chiều (có 2 cách)
Cách 1: Khai báo trực tiếp mảng 1 chiều.var <tên kiểu mảng>:array[kiểu chỉ số] of <kiểu
phần tử>; Cách 2: Khai báo gián tiếp biến mảng qua kiểu mảng 1
chiều.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>;
• Tham chiếu đến các phần tử bên trong mảng thông qua chỉ số.
Khả năng biết của học sinh
10/30/2011NHÓM 5
13
XÂY DỰNG HOẠT ĐỘNG BÀI DẠY
Tìm hiểu các thao tác với mảng một
chiều: tham chiếu, nhập,
xuất
1 3 42
Tìm hiểu cách khai
báo mảng 1 chiều
Tìm hiểu ý nghĩa của mảng 1 chiều
Củng cố - Dặn dò
10/30/2011NHÓM 5
14
1. Mục tiêu:•Học sinh thấy được sự cần thiết phải có 1 KDL mới
được xây dựng như mảng 1 chiều. •Biết lợi ích của KDL mảng.•Nêu được khái niệm mảng 1 chiều.
2. Thời gian: 12 phút.
10/30/2011NHÓM 5
Hoạt động 1:Tìm hiểu ý nghĩa của mảng 1 chiều
15
3. Các bước tiến hành: 3.1. GV chia lớp thành 3 nhóm, mỗi nhóm cử 6 bạn tham gia trò chơi điền khuyết. Đội nào nhanh hơn sẽ được thưởng.
Viết chương trình tính tổng 6 số nguyên dương.Program TinhTong;Var x1, x2, x3, x4, x5, x6, S: integer;Begin
Writeln (‘Nhap vao gia tri cua 6 so nguyen duong: ’);Readln (x1, x2, x3, x4, x5, x6);S := x1 + x2 + x3 + x4 + x5 + x6;Writeln(‘Tong cua 6 so nguyen duong ban vua nhap la: ’, S);Readln;
End.10/30/2011NHÓM 5
Hoạt động 01 (tt)
16
•Dự kiến trò chơi thành công, GV show đáp án, nhận xét KQ của 2 đội và phát thưởng.
3.2. GV đặt vấn đề mở rộng bài toán từ phạm vi 6 biến sang phạm vi n biến (chẳng hạn 100 biến), hỏi HS: khi số n ngày càng lớn thuật toán có thay đổi hay không?•Dự kiến HS trả lời: thuật toán không thay đổi nhưng
khá nhiều biến nên đoạn lệnh chương trình dài. GV nhận xét và kết luận: bản chất thuật toán không
có gì thay đổi nhưng việc viết chương trình gặp khó khăn do cần dùng rất nhiều biến và đoạn các câu lệnh tính toán khá dài.
10/30/2011NHÓM 5
Hoạt động 01 (tt)
17
3.3. GV đưa ra khắc phục hạn chế như sau:•Ghép chung n biến trên thành 1 dãy.
chỉ số 1 2 3 4 5 6
A:
•Đặt 1 tên chung. Giá trị của các phần tử
•Mỗi phần tử gắn 1 chỉ số.Dãy đó gọi là mảng 1 chiều.
10/30/2011NHÓM 5
Hoạt động 01 (tt)
1 2 4 9 16 25
1 2 4 9 16 25
18
3.4. GV: Em hiểu ntn là mảng 1 chiều?HS trả lời. GV nhận xét và KL.
1 2 3 4 5 6
A:Mảng 1 chiều:• Là 1 dãy hữu hạn các phần tử cùng kiểu.• Mảng được đặt tên và mỗi phần tử của nó có 1 chỉ số.Mảng 1 chiều là 1 KDL có cấu trúc, cần thiết và hữu
ích trong nhiều chương trình.
10/30/2011NHÓM 5
Hoạt động 01 (tt)
1 2 4 9 16 25
19
1. Mục tiêu:•Học sinh biết cách khai báo KDL mảng 1 chiều.•Viết được cú pháp khai báo mảng 1 chiều theo 2
cách.•Nhận biết được cú pháp Đúng, Sai.•Phân biệt được các thành phần và ý nghĩa của từng
thành phần trong cú pháp.•Biết lựa chọn kích thước mảng và kiểu phần tử phù
hợp để khai báo mảng.2. Thời gian: 15 phút.
10/30/2011NHÓM 5
Hoạt động 2:Tìm hiểu cách khai báo mảng 1 chiều
20
3. Các bước tiến hành:3.1. GV show chương trình tính tổng n số nguyên dương sử dụng KDL mảng 1 chiều. HS quan sát, GV phân tích giải thích ngữ nghĩa của các thành phần trong chương trình để HS quen dần với cú pháp, cách khai báo và các thao tác trên mảng một chiều.
10/30/2011NHÓM 5
Hoạt động 02 (tt)Program TinhTong;Var A:array[1..100] of integer; i, n, S: integer;Begin Writeln(‘Nhap so ptu cua mang:’); Readln(n); S := 0; For i:=1 to n do Begin
Writeln(‘Nhap ptu thu’, i,‘: ’);Readln(A[i]);S := S + A[i];
End; Writeln(‘Tong cua day vua nhap
la: ’, S); Readln;End.
21
3. Các bước tiến hành:3.2. Từ 3 nhóm đã chia như ban đầu, dựa vào chương trình mẫu và SGK, GV phát phiếu HT cho 3 nhóm và yêu cầu thảo luận, hoàn thành phiếu HT trong 5 phút.• Sau khi hết giờ, GV cho các nhóm tráo đổi phiếu HT
giữa các nhóm. HS theo dõi GV sửa bài tập, cho điểm và tự đánh giá.
Chú ý:• Kiểu phần tử• Kiểu chỉ số• Sự khác nhau giữa kiểu mảng và kiểu phần tử.
10/30/2011NHÓM 5
Hoạt động 02 (tt)
22
1. Mục tiêu:•Học sinh biết cách tham chiếu đến 1 phần tử, duyệt
qua tất cả các phần tử của mảng.•Biết nhập mảng gồm 2 bước: nhập số phần tử của
mảng, nhập giá trị từng phần tử của mảng.•Biết xuất giá trị 1 phần tử của mảng, giá trị tất cả các
phần tử của mảng.2. Thời gian: 12 phút.
10/30/2011NHÓM 5
Hoạt động 3:Tìm hiểu thao tác với mảng 1 chiều:
tham chiếu, nhập, xuất
23
3. Các bước tiến hành:3.1. GV giới thiệu cú pháp tham chiếu đến 1 phần tử của mảng.
Tên biến mảng [chỉ số];•GV: muốn biết giá trị của phần tử thứ 5 trong mảng
ta làm như thế nào? 1 2 3 4 5 6
A:
• 1 HS trả lời. GV nhận xét.
10/30/2011NHÓM 5
Hoạt động 03 (tt)
1 2 4 9 16 25
24
3.2. Mở rộng: Đối với KDL mảng, ta thao tác trên từng phần tử của nó chứ không thể thao tác trên toàn mảng. Vậy muốn duyệt qua tất cả các phần tử của mảng, ta dùng lệnh gì?• HS trả lời. GV nhận xét, KL: sử dụng lệnh for – do.
• GV show chương trình mẫu cho HS xem lại. (Chương trình tính tổng n số nguyên dương sử dụng KDL mảng)
10/30/2011NHÓM 5
Hoạt động 03 (tt)
For i:= 1 to n do {n là số phần tử của mảng}Câu lệnh;
25
3.3. Từ chương trình mẫu đó, GV giải thích lại đoạn code cho phép nhập từng phần tử của mảng. HS ghi chép. 3.4. GV yêu cầu:Dựa vào đoạn lệnh cho phép nhập từng phần tử của mảng, em hãy: a. In ra màn hình giá trị của phần tử đầu tiên. b. In ra màn hình giá trị của mảng vừa nhập.• 1 phút suy nghĩ, GV cho 3 bạn xung phong, bạn nào
làm đúng và nhanh nhất sẽ cộng 1 điểm vào điểm miệng.
• GV kiểm tra, nhận xét và KL.
10/30/2011NHÓM 5
Hoạt động 03 (tt)
26
1. Mục tiêu:•Củng cố kiến thức.•Dặn do và cho BTVN.
2. Thời gian: 06 phút.
10/30/2011NHÓM 5
Hoạt động 4: Củng cố - Dặn dò