Giáo án Tin 11 - Kiểu mảng - mảng một chiều

Yêu cầu học sinh:

Em có thể nhận xét gì khi s ử dụng 7 biến ? Nếu cần tính toán

với N ngày thì sao?

HS: Quan sát bài toán

Trả lời :

Dùng các biến như trên rất dài dòng, cùng một tháo tác thực hiện

nhiều lần cho nhiều biến. Nếu dùng cho N ngày phải dùng N

biến sẽ rất dài.

Chúng ta có thể khắc phục điều đó bằng cách dùng mảng một chiều

Nhắc lại định nghĩa mảng một chiều :

GV: Minh hoạ bằng TP .

pdf6 trang | Chia sẻ: maiphuongdc | Lượt xem: 15326 | Lượt tải: 2download
Bạn đang xem nội dung tài liệu Giáo án Tin 11 - Kiểu mảng - mảng một chiều, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Tin học 11 Trần Văn Thịnh – CNTT - ĐHSPHN 1 Giáo án KIỂU MẢNG Mảng một chiều A. Mục đích yêu cầu: Sau bài học học sinh cần nắm được: - Khái niệm về Kiểu mảng - Nhận biết được các thành phần trong khai báo mảng 1 chiều. - 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. - Biết được các quy tắc, cách thức trong xây dựng và sử dụng mảng một chiều. B. Phương pháp, phương tiện: 1. Phương pháp: Kết hợp các phương pháp như thuyết trình, vấn đáp,… 2. Phương tiện: - Sách giáo khoa Tin học 11. - Vở ghi lý thuyết Tin học 11. - Một số sách nâng cao (nếu có) C. Tiến trình lên lớp, nội dung bài giảng: I. Ổn định lớp: (1’) Lớp trưởng báo cáo sĩ số. II. Kiểm tra bài cũ : (3’) Giáo viên nhắc lại kiến thức của chương trước. III. Gợi động cơ: (2’) Chúng ta đã được biết đến các kiểu dữ liệu chuẩn, nhưng trên thực tế, kiểu dữ liệu chuẩn không đủ để biểu diễn dữ liệu của các bài toán thực tế. Các ngôn ngữ lập trình có các quy tắc, cách thức cho phép người lập trình xây dựng những kiểu dữ liệu phức tạp từ những kiểu đã có. Đó được gọi là kiểu dữ liệu có cấu trúc. Hôm nay chúng ta sẽ chuyển sang chương mới: Kiểu dữ liệu có cấu trúc.Bài hôm nay là bài: Kiểu mảng. IV. Nội dung bài giảng: Tin học 11 Trần Văn Thịnh – CNTT - ĐHSPHN 2 Nội dung Hoạt động giữa thầy và trò Thời gian 1. Định nghĩa: - Mảng một chiều là 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ó 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ó. - Có thể tham chiếu các phần tử của mảng bằng tên của mảng và chỉ số tương ứng của phần tử này. Thuyết trình: Định nghĩa mảng một chiều: Mảng một chiều là 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ó một chỉ số. Để người lập trình có thể xây dựng và sử dụng kiểu mảng một chiều, các ngôn ngữ lập trình có quy tắc, 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ử. 5’ 2. Ví dụ: Xét một ví dụ đơn giản như sau: Nhập vào nhiệt độ (trung bình của mỗi ngày trong tuần.Tính và đưa 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 Chương trình dùng khi dùng 7 biến thực: program Nhietdotuan; Var t1,t2,t3,t4,t5,t6,t7,tb :Real; dem:integer; Begin Write('Nhap vaonhiet do cua 7 ngay:'); Yêu cầu học sinh: Em có thể nhận xét gì khi sử dụng 7 biến ? Nếu cần tính toán với N ngày thì sao? HS: Quan sát bài toán Trả lời : Dùng các biến như trên rất dài dòng, cùng một tháo tác thực hiện nhiều lần cho nhiều biến. Nếu dùng cho N ngày phải dùng N biến sẽ rất dài. Chúng ta có thể khắc phục điều đó bằng cách dùng mảng một chiều Nhắc lại định nghĩa mảng một chiều : GV: Minh hoạ bằng TP . 10’ Tin học 11 Trần Văn Thịnh – CNTT - ĐHSPHN 3 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 d trung binh tuan:', tb); Writeln('so ngay nhiet do cao hon nhiet do tb la:',dem); Readln End. Ví dụ: - Khai báo kiểu mảng một chiều gồm Max số thực Type MyArray = Array[1..Max] of Real; - Khai báo biến mảng nhiệt độ gián tiếp qua kiểu mảng Var Nhietdo : Nhietdo1; - Khai báo biến mảng nhiệt độ trực tiếp Var Nhietdo : Array[1..Max] of Real; GV: Trong ví dụ SGK, nếu mở rộng bài toán lên N ngày, ta có thể khai báo theo kiểu mảng như thế nào? Đâu là biến ? Chúng cùng kiểu gì ? 2.Ví dụ mở rộng: Mở rộng bài toán lên N ngày. program Nhietdo_Nngay; const Max = 366; Type Kmang1 = array[1..max] of real; var Nhietdo: Kmang1; dem, I, n : byte; Tong, trung_binh: real; Begin write(‘Nhap so ngay: ’); readln(N); Giáo viên: Dẫn dắt học sinh qua 2 chương trình để thấy được: tương ứng với mỗi giá trị của i, một phần tử của mảng được xác định bởi Nhiêtdo[i] ; có thể thực hiện thao tác nhập, xuất hay xử lý trên phần tử này. 15’ Tin học 11 Trần Văn Thịnh – CNTT - ĐHSPHN 4 tong:=0; For i:= 1 to N do begin write(‘Nhap nhiet do ngay’,I,’: ’); readln(nhietdo[i]); tong:= tong + nhietdo[i]; end; dem:= 0; trung_binh:= tong/N; for i:= 1 to N do if nhietdo[i]>trung_binh then dem: =dem +1; writeln(‘nhiet do trung binh ’,N,’Ngay: ’, trung_binh:8:3); writeln(‘so ngay nhiet do cao hon trung binh: ’,dem); readln end. Khai báo: Có 2 cách để khai báo(định nghĩa) kiểu dữ liệu mảng 1 chiều: GV: Ví dụ khác Program TimMax; Uses crt; const nmax = 250; type Arrint = array[1..max] of integer; var N, i, max, csmax: integer; a:arrint; begin GV: Trong đoạn chương trình trên: - Cho biết tên kiểu dữ liệu? - Kiểu mảng đó có bao nhiêu phần tử? - Mỗi phần tử của mảng thuộc kiểu gì? - Qua phần khai báo biến cho biết tên của các mảng sẽ dùng trong chương trình? GV: Những kiểu dữ liệu nào có thể là kiểu thành phần của mảng? GV: Những kiểu dữ liệu nào có thể là kiểu chỉ số? GV: Kích thước cho phép của mảng? 5’ Tin học 11 Trần Văn Thịnh – CNTT - ĐHSPHN 5 V. Củng cố bài: (2’) - Trực tiếp trong phần khai báo biến (với từ khoá var) Var tên :array [kiểu chỉ số] of - Đặt tên và định nghĩa cho kiểu dữ liệu mới này (với từ khoá type), rồi sau đó khai báo các biến thuộc kiểu mới (đã có tên) Type = array [kiểu chỉ số] of <kiểu phần tử> Var : < tên kiểu mảng>; Để khai báo kiểu dữ liệu mảng 1 chiều, người lập trình cần xác định các yếu tố sau: - Kiểu phần tử: Kiểu của các phần tử tạo nên mảng - Kiểu chỉ số: Thường dùng một đoạn số nguyên liên tục làm chỉ số của mảng, số nguyên đầu tiên là phần tử thứ nhất của mảng, số nguyên cuối cùng tương ứng là phần tử cuối cùng của mảng Xác định cả kích thước của mảng. Giáo viên hướng dẫn ví dụ trong sách giáo khoa và chỉ cho học sinh thấy các kiểu khai báo không hợp lệ và hợp lệ GV: Cho ví dụ: Var B: array [1..100] of real;  Hãy chuyển sang khai báo kiểu Type Tin học 11 Trần Văn Thịnh – CNTT - ĐHSPHN 6 Sau bài hôm nay chúng ta đã biết được khái niệm mảng một chiều và chúng ta biết được cách khai báo và cách tham chiếu đến một phần tử của mảng. Kiểu mảng là kiểu dữ liệu có cấu trúc được dùng nhiều trong lập trình. VI. Bài tập về nhà: (1’) - Xem lại các ví dụ trong bài học. - Làm bài tập trong sách bài tập VII. Nhận xét, rút kinh nghiệm giờ giảng: (1’) Nhận xét, đánh giá của giáo viên về tiết học.

Các file đính kèm theo tài liệu này:

  • pdftin_hoc_11_5468.pdf