Chào mừng quí Thầy, Cô về dự giờ �
Lớp 11A10
CHUONG IV: KI?U DỮ LIỆU CÓ CẤU TRÚC
SỞ GIÁO DỤC VÀ ĐÀO TẠO ĐAKLAK
Giáo viên: Nguyễn Mạnh Sơn Tùng
Email: nguyensontung0302@gmail.com
Chương IV: KIỂU DỮ LIỆU CÓ CẤU TRÚC
THAO GIẢNG
BÀI 11:KIỂU MẢNG
BÀI TOÁN ĐẶT VẤN ĐỀ:
Xét bài toán nhập vào nhiệt độ (trung bình) ban ngày của 7 ngày liên tiếp (từ thứ 4 đến thứ 3 tuần sau). Từ 9/12/2015 - 15/12/2015) ở Tp.Buôn Mê Thuột , 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ó nhiệt độ cao hơn nhiệt độ trung bình của tuần.
1. Kiểu mảng một chiều:
* Dữ liệu nhập vào (INPUT): t1,t2,t3,t4,t5,t6,t7.
* Dữ cần tính và in ra (OUTPUT): tb, dem.
Hãy xác định Input và Output của bài toán, và viết chương trình Pascal
1. Kiểu mảng một chiều:
?Dự kiến:
+ Nhiệt độ trung bình: 32,29 oC
+ Số ngày có nhiệt độ cao hơn nhiệt độ trung bình: 4
Nếu nhập và tính trung bình, đếm số lượng ngày của 30 ngày (1 tháng) hay 365 ngày (1 năm) thì xảy ra những vấn đề gì ?
Dùng KIỂU MẢNG có thể khắc phục được những khó khăn này!
Nghiên cứu SGK, em hãy cho biết MẢNG MỘT CHIỀU là gì?
?+? Mảng một chiều là dãy hữu hạn các phần từ cùng kiểu.
1. Kiểu mảng một chiều:
A
1 2 3 4 5 6 7
Ví dụ: Mảng nhiệt độ của 7 ngày
19
Nghiên cứu SGK, em hãy cho biết đặc điểm của MẢNG MỘT CHIỀU ?
?+? Mảng một chiều được đặt tên và mỗi phần tử của nó có một chỉ số. Để mô tả mảng một chiều cần xác định kiểu của các phần tử và cách đánh số các phần tử của nó.
1. Kiểu mảng một chiều:
A
1 2 3 4 5 6 7
19
Nghiên cứu SGK, em hãy cho biết cách thức cho phép xác định MẢNG MỘT CHIỀU ?
?Cách thức cho phép xác định:
Tên kiểu mảng một chiều;
Số lượng phần tử;
Kiểu dữ liệu của phần tử;
Cách khai báo biến mảng;
Cách tham chiếu đến phần tử;
1. Kiểu mảng một chiều:
B
1 2 3 4 5 6 7 8
Trong đó :
? Tên mảng : B.
? Số phần tử của mảng: 8.
? Kiểu dữ liệu của các phần tử: Kiểu nguyên.
Ví dụ:
1. Kiểu mảng một chiều:
Nghiên cứu SGK, em hãy cho biết cách khai báo biến MẢNG MỘT CHIỀU ?
?+? Có 2 cách khai báo trực tiếp và gián tiếp
1. Kiểu mảng một chiều:
a. Khai báo:
Khai báo mảng một chiều trong PASCAL
* Cách 1: Khai báo gián tiếp
TYPE = array[..] of ;
Var : ;
Ví dụ: TYPE nhietdo = array[1..366] of real;
Var A: nhietdo;
Trong đó : ? Chỉ số đầu, chỉ số cuối là các hằng hoặc biểu thức nguyên;
? Chỉ số đầu ? chỉ số cuối;
? Giữa 2 chỉ số là dấu ..
* Cách 2: Khai báo trực tiếp
Var : array[..] of ;
Var A,B : array[1..100] of real;
Ví dụ: Var nhietdo : array[1..366] of real;
Cách tham chiếu tới phần tử của mảng một chiều?
?+? Xác định bởi tên mảng cùng với chỉ số, được viết trong cặp dấu ngoặc [ và ].
1. Kiểu mảng một chiều:
a. Khai báo:
Các thao tác xử lí trong mảng một chiều
Nhietdo
n
1. Nhập số phần tử của mảng (n).
Write(`Nhap vao so ngay:`);
Readln(n);
2. Nhập vào giá trị của các phần tử trong mảng (A[i]).
For i:=1 to n do
Begin
write(`nhiet do ngay thu `,i,` la: `);
readln(Nhietdo[i]);
end;
Các thao tác
Thể hiện bằng pascal
Nhập mảng một chiều
với n = 7
19
17
19
21
18
20
17
Ví dụ: Nhập nhiệt độ n ngày.
* Đếm các phần tử trong mảng thoả mãn điều kiện cho bất kỳ
dem :=0;
For i :=1 to n do
IF Nhietdo[i]>TB then dem:=dem+1;
Các thao tác xử lí khác
Ví dụ: Đếm số ngày có nhiệt độ cao hơn nhiệt độ TB của tuần.
TB = 18.7
Dem=0
7
6
5
4
3
2
1
i
0
1
1
2
3
3
4
20
21
19
19
+1
+1
+1
+1
Vậy qua quá trình tìm hiểu về lý thuyết và thao tác của Kiểu mảng ta khắc phục khó khăn của ví dụ trước đó!
Var :Array[kiểu phần tử] of ;
Var =Array[kiểu chỉ số] of ;
Var :Array[kiểu chỉ số] of ;
Var :Array[kiểu chỉ số] of ;
Củng cố kiến thức bài học
Câu hỏi 1: Khai báo trực tiếp biến mảng một chiều?
Var nhietdo:Array[1.3] of integer;
Var A:Array[1..7] of integer;
Var chieucao=Array[1..80] of real;
Var B:Array[30] of integer;
Củng cố kiến thức bài học
Câu hỏi 2: Cách khai báo biến mảng một chiều hợp lệ:
A[5]
Nhietdo[5]
A(5)
Nhietdo<5>
Củng cố kiến thức bài học
Câu hỏi 3: Tham chiếu đến phần tử thứ 5 của mảng nhiệt độ A?
BÀI TẬP VỀ NHÀ
Viết chương trình Pascal thực hiện việc sau:
Nhập vào chiều cao của các bạn học sinh lớp 11a10, tính chiều cao trung bình và số lượng các học sinh có chiều cao thấp hơn trung bình.
Nhập vào điểm kiểm tra một tiết môn Toán của học sinh lớp 11a10, tính điểm trung bình và số lượng các học sinh có điểm trên 5.
Suy nghĩ và thêm vào phần chương trình Pascal (ví dụ trang 54) đếm số lượng ngày có nhiệt độ thấp hơn nhiệt độ trung bình.
Chúc các thầy cô sức khỏe, chúc các em học tập tốt
nguon VI OLET