Hoạt động 2: Một số ví dụ về mảng hai chiều GV cho học sinh quan sát chương trình và > Một số ví dụ : giải thích các lệnh trong chương trình, chú ý đi sâu vào các lệnh lặp để các em nh[r]
(1)Ngày soạn:1/11/2010 Ngày giảng:5/11/2010 TIẾT 22 - Bài 11: KIỂU MẢNG(3/3) I MỤC ĐÍCH, YÊU CẦU Kiến thức - Biết kiểu liệu là kiểu mảng hai chiều - Biết cách tạo kiểu mảng hai chiều, cách khai báo biến, tham chiếu đến phần tử mảng Kỹ - Tạo kiểu mảng hai chiều và khai báo biến mảng hai chiều ngôn ngữ lập trình Pascal Sử dụng đúng biến mảng để giải số bài toán cụ thể Tư và thái độ: Tự giác, tích cực, chủ động và sáng tạo tìm kiếm tri thức II CHUẨN BỊ Giáo viên: giáo án, bảng phụ, sgk, projector, phiếu học tập Học sinh: sgk III PHƯƠNG PHÁP Thuyết trình, vấn đáp, gợi mở, hoạt động project IV HOẠT ĐỘNG DẠY HỌC Ổn định lớp : - Chào thầy cô - Cán lớp báo cáo sĩ số - Chỉnh đốn trang phục Kiểm tra bài cũ Lập trình nhập vào từ bàn phím dãy số nguyên sau đó đưa giá trị lớn và nhỏ dãy số đó Bài Hoạt động Gv & Hs Nội dung Hoạt động 1: Khái niệm và khai báo mảng hai chiều GV : Quay lại ví dụ lưu trữ liệu dạng bảng để các em nhận nhu cầu phải sử dụng Kiểu mảng chiều : mảng chiều lập trình - Mảng hai chiều là bảng các phần tử cùng kiểu Với mảng hai chiều ta quan tâm đến : - Tên kiểu mảng hai chiều - Số lượng phần tử chiều mảng - Kiểu liệu phần tử - Cách khai báo biến mảng hai chiều - Cách truy cập vào phần tử (2) mảng a> Khai báo mảng hai chiều GV : Khai báo cách nào tiện lợi (tương - Trong ngôn ngữ Pascal, mảnh hai chiều tự mảng chiều) ? khai báo sau : Cách : Khai báo trực tiếp HS : Thường thì học sinh chọn cách Var : <Tên mảng> : Array[kiểu số dòng, GV : Tùy theo trường hợp cụ thể kiểu số cột] of < kiểu phần tử> ; thường thì cách hay dùng Cách : Khai báo gián tiếp thông qua khai báo kiểu mảng Type <Tên kiểu mảng> = Array[kiểu số dòng, kiểu số cột] of <kiểu phần tử> ; Var <Tên mảng> : <Tên kiểu mảng> ; Ví dụ : Khai báo biến mảng thông qua kiểu mảng : Type GV : Khi khai báo mảng chiều cần chú ý ArrayInteger = Array[1 10,1 15] of Integer ; điều gì ? ArrayReal=Array[1 50,1 100] of Real ; HS : Tìm câu trả lời, GV gợi ý để các em Var A : ArrayInteger ; số mảng, số dòng, số cột và B : ArrayReal ; kiểu phần tử mảng Khai báo mảng trực tiếp : Var A : Array[1 10,1 15] og Integer ; B : Aarray[1 50,1 100] og Real ; Cách truy cập vào phần tử mảng hai GV : Gọi số học sinh lên khai báo chiều : số biến mảng chiều theo yêu cầu giáo viên <Tên mảng>[chỉ số dòng, số cột] Ví dụ : A[1,3], B[23,66],…… Minh họa hình ảnh mảng chiều và số các phần tử mảng hai chiều cách viết truy cập phần tử mảng (3) Hoạt động 2: Một số ví dụ mảng hai chiều GV cho học sinh quan sát chương trình và > Một số ví dụ : giải thích các lệnh chương trình, chú ý sâu vào các lệnh lặp để các em nhận Ví dụ : thường thì ta sử dụng vòng lặp for - để Chương trình sau đưa màn hình bảng cửu duyệt qua các phần tử mảng chương Program cuuchuong; GV nên soạn sẵn chương trình và cho các em Uses crt ; quan sát chương trình, và chạy thử chương var A : Array[1 9,1 9] of Integer ; trình trên máy để các em tiện theo dõi i, j : Byte ; Program Timkiem; Uses crt; var A : Array[1 100,1 100] of Integer; i,j,n,m : Byte ; k,d : integer ; Begin Clrscr ; Write(' Nhap so dong, so cot cua mang : ') ; Readln(m,n); For i := to m For j := to n Begin Write(' A[',i,',',j,'] = '); Readln(A[i,j]); End ; Writeln(' Mang vua nhap vao la : '); Writeln; For i := to m Begin For j := to n Write(a[i,j]:4) ; Writeln; Writeln; End; Write(' Nhap gia tri k : '); Readln(k) ; d := ; For i := to m For j := to n If a[i,j] < k then Begin Clrscr ; Writeln('Bang cuu chuong -> : '); Writeln ; For i := to For j := to A[i,j] := i*j ; For i := to Begin For j := to Write(a[i,j]:4); Writeln ; Writeln ; End ; Readln ; End Ví dụ : Chương trình sau nhập vào mảng chiều và số nguyên k, sau đó in các phần tử có giá trị nhỏ k mảng (4) Begin write('So nho hon ',k,' la '); write(a[i,j]:8); d := d+1 ; End ; If d = then Write('Khong co ptu nao nho hon ',k); readln; End Cũng cố, dăn dò - Ôn cấu trúc mảng - ôn lại cấu trúc lặp để nhập giá trị và truy xuất phần tử mảng - Về nhà xem lại các bài tập đã giải và làm bài tập còn lại sgk (5)