Tải bản đầy đủ (.pdf) (8 trang)

Giáo án Tin Học lớp 11: KIỂU MẢNG (Tiết 4) pptx

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 (204.19 KB, 8 trang )

KIỂU MẢNG (Tiết 4)
I. Mục đích yêu cầu:
1. Kiến thức:
Học sinh hiểu được:
* Mảng hai chiều:
- Mảng hai chiều là mảng một chiều mà mỗi phần tử của nó là mảng
một chiều.
- Ta có thể truy xuất hay thao tác như mảng một chiều nhưng chỉ
khác là có 2 phần tử.
- Mảng hai chiều có thể hiểu là một bảng có các dòng và cột.
- Kiểu mảng là một kiểu dữ liệu có cấu trúc, rất cần thiết và hữu ích
trong lập trình
2. Kỹ năng:
Biết Khai báo(hay định nghĩa) kiểu dữ liệu mảng:
+ Hoặc trực tiếp trong phần khai báo biến (dùng Var).
+ Hoặc đặt tên và định nghĩa cho kiểu dữ liệu mới này (Type) rồi sau
đó khai báo biến.
3. Thái độ:
Tích cực ham học hỏi
II Chuẩn bị của giáo viên và học sinh:
1. Chuẩn bị của giáo viên:SGK, SGV, giáo án, giáo án điện tử, đèn
chiếu,một số chương trình mẫu khổ lớn.
2. Chuẩn bị của học sinh:Xem kỹ SGK, soạn trước bài học.
III. Nội dung bài giảng
1.Ổn định tổ chức:1 phút
2.Kiểm tra bài cũ: Không kiểm tra
3.Nội dung bài mới










Ví dụ:
Chương trình tính và đưa ra màn
hình bảng nhân
1

2

3

4

5

6

7

8

9

2

4


6

8

1
0

1
2

1
4

1
6

1
8

3

6

9

1 1 1 2 2 2
N
ội dung

H Đ c

ủa GV v
à HS



GV: Tổ chức dữ liệu cho bài
toán?
HS: Dùng một mảng hai chiều để
lưu Bảng nhân.
GV: Khai báo?
HS: Khai báo.

GV: Gọi i là chỉ số dòng, j là chỉ
số cột thì miền giá trị của i, j như
thế nào?
HS: Trả lời.
GV: Nhận xét gì về phần tử B[i,j]
của bảng nhân?
HS: B[i,j]=i*j
GV: Yêu cầu học sinh viết đọan
chương trình tính B[i,j].
2

5

8

1

4


7

4

8

1
2

1
6

2
0

2
4

2
8

3
2

3
6

5


1
0

1
5

2
0

2
5

3
0

3
5

4
0

4
5

6

1
2

1

8

2
4

3
0

3
6

4
2

4
8

5
4

7

1
4

2
1

2
8


3
5

4
2

4
9

5
6

6
3

8

1
6

2
4

3
2

4
0


4
8

5
6

6
4

7
2

9

1
8

2
7

3
6

4
5

5
4

6

3

7
2

8
1


Bảng nhân
Program Bang_cuu_chuong;
Uses Crt;
GV: Viết kết quả ra nàm hình?
HS: Nêu ý tưởng ( Gíao viên
cùng cả lớp nhận xét)
HS,GV cùng viết đoạn chương
trình in ra kết quả.





GV: Bài toán yêu cầu?
HS: xác định.
GV: Ý tưởng giải thuật?
HS:-Khai báo Mảng hai chiều 20
dòng, 10 cột,số nguyên k,
-Tạo số ngẫu nhiên gán cho phần
tử của mảng.
-Nhập k

VAR B: Array[1 9,1 9] OF
Integer;
i, j : Integer;
Begin
Clrscr;
For i:=1 to 9 Do {Tính giá trị
cho từng phần tử}
For j:=1 to 9 Do
B[i,j]:= i*j;
{Xuất ra màn hình}
For i:=1 to 9 Do
Begin
For j:=1 to 9 Do
Write(B[i,j]:3);
Writeln;
End;
Readln
End.
-So sánh phần tử của mảng với K,
nếu lớn hơn thì viết ra màn hình.
-Kết thúc



GV: Giới thiệu thủ tục
Randomize: Khởi động tạo số
ngẫu nhiên.
Hàm Random(n) tạo số ngẫu
nhiên trong phạm vi từ(0đến n-1)




GV:Hướng dẫn học sinh viết từng
đoạn chương trình.



Ví dụ2
Chương trình xây dựng mảng hai
chiều B gồm 20 dòng, 10 cột với
các phần tử là các số nguyên được
tạo ngẫu nhiên từ -20 đến 40. Giá trị
của k được nhập từ bàn phím. Đưa
ra màn hình tất cả các phần tử của
mảng có giá trị lớn hơn số k cho
trước.




Program mang2chieu;
Uses crt;
Var B:array[1 20,1 10] Of
integer;
d,i,j,k: integer;
Begin
Clrscr;
Randomize; {Khoi dong sinh so
ngau nhien}
For i:=1 to 20 Do

Begin
For j:=1 to 10 Do
Begin
B[i,j]:=Random(41)-20;
Write(B[i,j]);
End;
Writeln;
End;
Write('Nhap vao gia tri k:
');Readln(k);
d:=0;
Writeln('Danh sach phan tu lon hon
',k,' : ');
For i:=1 to 20 Do
For j:=1 to 10 Do
If b[i,j] >k Then
Begin
Write(b[i,j]);
d:=d+1;
End;
If d=0 then Writeln('Khong co ');
Readln;End.

4. Củng cố:
Nêu lại cách thức khai báo kiểu dữ liệu mảng một chiều, hai chiều.
5. Dặn dò, bổ sung:
Làm bài tập trong SG

×