Bài giảng Tin học Lớp 11 - Chủ đề 3: Kiểu dữ liệu có cấu trúc - Bài 11: Kiểu mảng

ppt 16 trang phanha23b 29/03/2022 2340
Bạn đang xem tài liệu "Bài giảng Tin học Lớp 11 - Chủ đề 3: Kiểu dữ liệu có cấu trúc - Bài 11: Kiểu mảng", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pptbai_giang_tin_hoc_lop_11_chu_de_3_kieu_du_lieu_co_cau_truc_b.ppt

Nội dung text: Bài giảng Tin học Lớp 11 - Chủ đề 3: Kiểu dữ liệu có cấu trúc - Bài 11: Kiểu mảng

  1. CHỦ ĐỀ 3: KIỂU DỮ LIỆU CÓ CẤU TRÚC BÀI 11. KIỂU MẢNG 1
  2. Bài toán đặt vấn đề: 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ó nhiệt độ cao hơn nhiệt trung bình của tuần? * 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. 2
  3. * Ý tưởng - Nhập nhiệt độ trung bình của 7 ngày (t1, t2, , t7) trong tuần; - Tính tb: = (t1+t2+t3+t4+t5+t6+t7) /7; đếm:= 0; - Lần lượt so sánh các giá trị từ t1, t2, , t7 với tb, nếu lớn hơn tb thì đếm lần lượt tăng lên 1; - Đưa ra màn hình nhiệt độ tb tuần và số ngày có nhiệt độ lớn hơn mức tb 3
  4. Program Nhietdo_Tuan; Var t1, t2, t3, t4, t5, t6, t7, tb: real; dem: integer; Begin writeln(‘ Nhap nhiet do cua 7 ngay: ’) ; readln(t1, t2, t3, t4, t5, t6, t7) ; tb:= (t1+t2+t3+t4+t5+t6+t7) / 7; dem:= 0; if t1> tb then dem:= dem+1; if t2> tb then dem:= dem+1; if t3> tb then dem:= dem+1; if t4> tb then dem:= dem+1; if t5> tb then dem:= dem+1; if t6> tb then dem:= dem+1; if t7> tb then dem:= dem+1; writeln(‘ Nhiet do trung binh tuan: ‘, tb:4:2) ; writeln(‘ So ngay nhiet do cao hon trung binh: ‘, dem) ; readln End. 4
  5. Giả sử ta xét bài toán trên với phạm vi trong một năm. chỉ số 1 2 3 365 366 t 36.5 37.5 37.5 37.5 38.5 kiểu thực Tập hợp được đánh số Mảng các phần tử (chỉ số) một chiều cùng kiểu 5
  6. 1. Kiểu mảng một chiều Khái niệm: Mảng một chiều là dãy hữu hạn các phần tử cùng kiểu. Các phần tử trong mảng có cùng chung một tên và phân biệt nhau bởi chỉ số. 6
  7. A 17 20 18 25 19 12 19 Ví dụ: 1 2 3 4 5 6 7 Khi xây dựng và sử dụng mảng một chiều ta cần quan tâm đến các thành phần sau:  Tên mảng : A.  Số phần tử của mảng: 7.  Kiểu dữ liệu của các phần tử: Kiểu nguyên.  Khi tham chiếu đến phần tử thứ i ta viết A[i]. Ví dụ: A[5] = 19. 7
  8. 1. Kiểu mảng một chiều a. Khai báo * Cách 1: Khai báo trực tiếp Var : array[ ] of ; Ví dụ: Var nhietdo : array[1 365] of integer; Var A,B : array[1 100] of real; Trong đó :  Chỉ số đầu, chỉ số cuối thường 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 gián tiếp TYPE = array[ ] of ; Var : ; Ví dụ: TYPE nhietdo = array[1 365] of integer; Var A: nhietdo; 8
  9. Ví dụ: Khai báo mảng một chiều biểu diễn dãy số sau: Chỉ số phần tử 1 2 20 99 100 A Giá trị 22 17 100 70 36 Cách 1 Var A: array [1 100] of byte; Type mang = array[1 100] of Byte; Cách 2 Var A: mang; Ví dụ: Khai báo mảng một chiều biểu diễn dãy số sau: Chỉ số phần tử -100 -99 50 B Giá trị toan tin Dia li Cách 1 Var B: array [-100 50] of char; Type mang = array[-100 50] of char; Cách 2 9 Var B: mang;
  10. Ví dụ 5: Khai báo một mảng gồm 10 phần tử, mà các phần tử là số thực: Cách 1 var R: array[-3 6] of real; type Kst= array[-3 6] of real; Cách 2 var R: Kst; -3 -2 -1 0 1 2 3 4 5 6 R 5 8,5 6 8 22 11 3,5 -8 10 15 10
  11. * Tham chiếu tới phần tử của mảng một chiều: tên_mảng[chỉ số] Ví dụ: A[4] : phần tử chỉ số 4 của mảng A B[-8] : phần tử chỉ số -8 của mảng B Như vậy, tham chiếu tới phần tử của mảng một chiều được xác định bởi tên mảng cùng với chỉ số được viết trong cặp ngoặc vuông [ ] 11
  12. Giả sử ta có khai báo mảng như sau: var A:array[1 10] of char; 1 2 3 4 5 6 7 8 9 10 A a b E d H i L M o P Để có được giá trị là kí tự “M”, ta viết như sau: A[8] Để có được giá trị là kí tự “E”, ta viết như sau: A[3] 12
  13. 12 9 3 CÂU HỎI TRẮC NGHIỆM 6 Câu 1. Khai báo kiểu mảng một chiều nào sau đây là hợp lệ: A. Var mangA = array[1 10] of real; B. Type mangA : array[1 10] of real; C. Var mangA: array[1 10] of real; D. Type mangA : array[1 10] of real; Var A = mangA; 13
  14. 12 9 3 CÂU HỎI TRẮC NGHIỆM 6 Câu 2. Phát biểu nào sau đây là đúng:  Mảng một chiều là dãy vô hạn các phần tử cùng kiểu dữ liệu;  Mảng một chiều là dãy hữu hạn các phần tử khác kiểu dữ liệu; 3 Mảng một chiều là dãy hữu hạn các phần tử cùng kiểu dữ liệu. 14
  15. 12 9 3 CÂU HỎI TRẮC NGHIỆM 6 Câu 3. Hãy chọn khai báo đúng trong các khai báo trực tiếp sau:  var 2A:array[1 20] of integer;  var A:array[1-20] of integer; 3 var A:array[1 20] of integer;  var A:array(1 20) of integer; 15
  16. KIẾN THỨC CẦN NHỚ Kh¸i niÖm m¶ng mét chiÒu C¸c yÕu tè m« t¶ m¶ng mét chiÒu Khai b¸o m¶ng mét chiÒu 16