1. Trang chủ
  2. » Giáo án - Bài giảng

bai11 - tin 11

6 166 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 6
Dung lượng 54,5 KB

Nội dung

Tr ờng THPT Nguyễn Công Trứ ============ Giáo án: Tin học 11 Ngày soạn: 09/11/2009 Chơng IV: Kiểu dữ liệu có cấu trúc Bài 11: Kiểu mảng I- Mục tiêu: 1. Kiến thức; - Biết đợc một kiểu dữ liệu mới là mảng một chiều. Biết đợc một số loại biến có chỉ số. - Biết cấu trúc tạo kiểu mảng một chiều và cách khai báo biến kiểu mảng một chiều. 2. Kĩ năng: - Tạo đợc kiểu mảng một chiều và sử dụng biến mảng một chiều trong ngôn ngữ lập trình Pascal để giải quyết một số bài toán cụ thể. II- Đồ dùng dạy học: 1. Chuẩn bị của giáo viên: - Máy chiếu projector, máy vi tính để giới thiệu ví dụ và minh hoạ - Nghiên cứu bài và soạn bài chu đáo. 2. Chuẩn bị của học sinh: - Sách giáo khoa. III- Hoạt động dạy học: 1. Hoạt động 1: Tìm hiểu ý nghĩa của mảng một chiều. a) Mục tiêu: Biết đợc ý nghĩa và sự cần thiết của kiểu mảng một chiều trong việc giải quyết một số bài toán. Biết đợc khái niệm kiểu mảng một chiều. b) Nội dung: - Ví dụ: Nhập vào nhiệt độ (trung bình) của mỗi ngày trong tuần. Tính và in 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 tính đợc. - Chơng trình minh họa: Program Nhiệt_độ_tuần; Uses crt; Var t1, t2, t3, t4, t5, t6, t7, tb: real; đếm: integer; Begin Write( nhập vào nhiệt độ của 7 ngày;); Readln( t1, t2, t3, t4, t5, t6, t7); Tb:= (t1 + t2 +t3 + t4 + t5 + t6 + t7)/ 7; đếm:= 0; if t1 > tb then đếm := đếm + 1; if t2 > tb then đếm := đếm + 1; if t3 > tb then đếm := đếm + 1; if t4 > tb then đếm := đếm + 1; if t5 > tb then đếm := đếm + 1; if t6 > tb then đếm := đếm + 1; if t7 > tb then đếm := đếm + 1; Giáo Viên: Trần Thị Kim Dung Trang 1 Tiết 18: Tr ờng THPT Nguyễn Công Trứ ============ Giáo án: Tin học 11 Writeln( nhiệt độ trung bình tuần:, tb); Writeln( số ngày trong tuần có nhiệt độ cao hơn nhiệt độ trung bình là:, đếm); Readln End. - Mảng một chiều là dãy hữu hạn các phần tử có cùng kiểu dữ liệ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ố. Để mô tả mảng một chiều cần xác định đợc kiểu của các phần tử và cách đánh số các phần tử của nó. - Hầu hết các ngôn ngữ lập trình đều có quy tắc cho phép xác định: Tên kiểu mảng, số lợng phần tử, kiểu dữ liệu của từng phần tử của mảng. c) Các bớc tiến hành: Hoạt động của giáo viên Hoạt động của học sinh 1. Chiếu đề bài và chơng trình ví dụ lên bảng. ? Khi N lớn thì chơng trình trên có những hạn chế nh thế nào? Dẫn dắt: Để khắc phục những hạn chế trên, ngời ta thờng ghép chung 7 biến trên thành một dãy và đặt cho nó chung một tên và đánh cho một phần tử chỉ số. 2. Yêu cầu học sinh tham khảo sách giáo khoa và hỏi: Em hiểu nh thế nào về mảng một chiều? ? Để mô tả mảng một chiều, ta cần xác định những yếu tố nào? 1. Quan sát trên màn hình, suy nghĩ và trả lời: - Phải khai báo quá nhiều biến, chơng trình viết phải rất dài. 2. Nghiên cứu sách giáo khoa để trả lời: Mảng một chiều là dãy hữu hạn các phần tử có cùng kiểu dữ liệ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ố. Để mô tả mảng một chiều cần xác định đợc kiểu của các phần tử và cách đánh số các phần tử của nó. 2. Hoạt động 2: Tạo kiểu mảng một chiều và khai báo biến mảng: a) Mục tiêu: - Học sinh biết đợc cách tạo kiểu dữ liệu mảng một chiều trong ngôn ngữ lập trình Pascal, biết cách khai báo biến và tham chiếu đến từng phần tử của mảng. b) Nội dung: - Tạo kiểu dữ liệu mảng một chiều một cách gián tiếp. TYPE tên_kiểu_mảng = Array [[kiểu_chi_số] OF Kiểu_phần_tử; VAR Tên_biến_mảng: tên_kiểu_mảng; + Kiểu chỉ số: thờng là một đoạn số nguyên (hoặc đoạn kí tự) liên tục, có dạng n1 n2 với n1, n2 là các biến kiểu nguyên (hoặc kí tự) xác định chỉ số đầu và chỉ số cuối của mảng. + Kiểu thành phần: là kiểu dữ liệu chung của mọi phần tử trong mảng. - Khai báo biến mảng một chiều một cách trực tiếp: VAR tên_biến_mảng: Array [[kiểu_chi_số] OF Kiểu_phần_tử; - Tham chiếu đến từng phần tử: Tên_biến[ chỉ số] Giáo Viên: Trần Thị Kim Dung Trang 2 Tr ờng THPT Nguyễn Công Trứ ============ Giáo án: Tin học 11 c) Các bớc tiến hành: Hoạt động của giáo viên Hoạt động của học sinh 1. Yêu cầu học sinh nghiên cứu sách giáo khoa và cho biết cách tạo kiểu dữ liệu mảng một chiều trong ngôn ngữ lập trình Pascal. Tìm một số ví dụ để minh hoạ ? ý nghĩa các câu lệnh vừa viết trên? - Chiếu lên bảng một số khai báo kiểu mảng một chiều. TYPE Mang1= Array[1 200] of real; Mảng 2 = Array[byte] of real; Mảng 3= Array[ -100 0] of boolean; ? Những khai báo nào đúng? 2. Yêu cầu học sinh cho biết cách khai báo biến và một số ví dụ khai báo một biến mảng ứng với kiểu dữ liệu vừa tạo ? ý nghĩa của câu lệnh vừa viết? ? Dung lợng của bộ nhớ của biến a đã chiếm bao nhiêu? Chú ý cho học sinh về cách đặt tên kiểu dữ liệu và tên biến, tránh nhầm lẫn. Tóm lại để khai báo mảng một chiều ta có mấy cách? 3. Giới thiệu cách tham chiếu đến từng phần tử của mảng một chiều. Yêu cầu học sinh lấy ví dụ 1. Tham khảo sách giáo khoa và trả lời: - TYPE tên_kiểu_mảng= Array[Kiểu_chỉ_ số] OF Kiểu_phần_tử; Ví dụ: TYPE Mang= array[1 n]]of Integer; TYPE thực = Array[ 1 n] of real; Tạo ra một kiểu dữ liệu mới có tên là mang, thực. Gồm 1 đến N phần tử, có kiểu nguyên, kiểu thực. - Quan sát bảng và chọn khai báo đúng TYPE Mang1= Array[1 200] of real; Mảng 3= Array[ -100 0] of boolean; 2. Tham khảo sách giáo khoa và trả lời. VAR tên_biến_mảng: tên_kiểu_mảng; - Ví dụ: A: mảng 1; B: mảng 2; Khai báo một biến mảng một chiều A đã chiếm 200 byte trong bộ nhớ. có hai cách đó là: Trực tiếp: VAR tên_biến_mảng: Array [kiểu_chi_số] OF Kiểu_phần_tử; Gián tiếp: TYPE tên_kiểu_mảng = Array [kiểu_chi_số] OF Kiểu_phần_tử; VAR Tên_biến_mảng: tên_kiểu_mảng; 3. Theo dõi hớng dẫn của giáo viên và độc lập suy nghĩ để trả lời. A[1] là phần tử ở vị trí thứ 1 của mảng A A[i] là phần tử ở vị trí thứ i của mảng A 3. Hoạt động 3: Rèn luyện kĩ năng sử dụng kiểu mảng một chiều. a) Mục tiêu: - Học sinh sử dụng đợc biến kiểu mảng một chiều để giải quyết một bài toán đơn giản. Giáo Viên: Trần Thị Kim Dung Trang 3 Tr ờng THPT Nguyễn Công Trứ ============ Giáo án: Tin học 11 b) Nội dung: Bài toán: Nhập vào nhiệt độ (trung bình) của mỗi ngày trong tuần. Tính và in 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 tính đ- ợc. c) Các bớc tiến hành: Hoạt động của giáo viên Hoạt động của học sinh 1. Giới thiệu đề bài: Chiếu đề bài lên bảng. - Yêu cầu học sinh xác định dữ liệu vào, dữ liệu ra. ? Nếu không sử dụng biến mảng một chiều, ta có thể giải quyết đợc bài toán không? Khó khăn gì không? 2. Định hớng: Sử dụng kiểu mảng một chiều để giải quyết bài toán. ? Yêu cầu học sinh khai báo biến mảng? ? Yêu cầu học sinh tìm nhiệm vụ chính cần giải quyết? 3. Chia lớp làm 4 nhóm yêu cầu viết chơng trình. Lên bảng trình bày. 4. Chuẩn hoá chơng trình cho học sinh. Program BTVD; Uses CRT; Var A : Array[1 7] of Real; I,d: Integer; S, TB : Real; Begin Clrscr; For i:=1 TO 7 DO Begin Writeln(Nhap phan tu thu ,i); Readln(A[i]); End; S:=0; For i:= 1 TO 7 Do S := S + A[i]; TB:= S/7; D := 0; For i := 1 TO 7 DO If A[i] > TB Then d := d+1; Writeln(So ngay la,d); Readln; End. 1. Quan sát đề bài, theo dõi những yêu cầu cần giải quyết của đề bài. - INPUT: nhiệt độ của các ngày trong tuần. - OUTPUT: nhiệt độ trung bình trong tuần và số ngày trong tuần có nhiệt độ cao hơn nhiệt độ trung bình. Đợc, nhng chơng trình dài dòng, khó sửa đổi. 2. Theo dõi sự hớng dẫn của giáo viên TYPE tuần = Array[ 1 7] of real; VAR T: tuần; - Nhập giá trị cho mảng T; - Tính trung bình cộng, giá trị lớn hơn trung bình cộng tính đợc. 3. Thảo luận theo nhóm để viết chơng trình. - Báo cáo kết quả viết đợc - Nhận xét, đánh giá và bổ sung những thiếu sót nếu có. 4. Quan sát và ghi nhớ Lu ý: Cách nhập các phần tử cho mảng một chiều: For i:=1 TO n DO Begin Writeln(Nhap phan tu thu ,i); Readln(A[i]); End; Hiển thị các phần tử của mảng: For i:=1 TO 7 DO Begin Write(a[i]:4); Writeln; End; Giáo Viên: Trần Thị Kim Dung Trang 4 Tr ờng THPT Nguyễn Công Trứ ============ Giáo án: Tin học 11 IV- Đánh giá cuối bài; 1. Những nội dung đã học: - Cách tạo kiểu mảng một chiều và cách khai báo biến. TYPE tên_kiểu_mảng = Array[ kiểu_chỉ_ số] of kiểu_phần_tử; VAR tên_biên_mang: tên_kiểu_mảng; Hoặc bằng cách trực tiếp: VAR tên_biến_ mảng: Array[ kiểu_chỉ_ số] of kiểu_phần_ tử; Ví dụ: VAR A: array[1 n] of integer; - Tham chiếu đến từng phần tử: Tên biến[ chỉ số]. 2. Câu hỏi và bài tập về nhà: - Viết chơng trình nhập vào một mảng gồm n số nguyên ( 1 <= n <=100). Mỗi số có giá trị tuyệt đối không quá 300. Tính tổng giá trị các phần tử có giá trị chia hết cho k. 1. Viết chơng trình nhập mảng 10 số nguyên. Tính tổng các số chẵn. Tính tổng các số lẻ In các phần tử trong mảng ra màn hình? 2. Viết Chơng trình nhập mảng N số thực. Tính tổng các số thực dơng. Tìm Phần tử lớn nhất và nhỏ nhất cử mảng. In ra màn hình các số thực dơng của mảng. 3. Viết chơng trình nhập mảng N số nguyên Đếm và in ra màn hình các số nguyên tố trong mảng. - Làm các bài tập sau bài học - Chuẩn bị bài mới chu đáo cho tiết ví dụ sau. V- Rút kinh nghiệm: Giáo Viên: Trần Thị Kim Dung Trang 5 Tr êng THPT NguyÔn C«ng Trø ============ Gi¸o ¸n: Tin häc 11 …… … …… … …… …… … …… … …… … … … … … … … … … … … … … … … … … …… … …… … …… …… … …… … …… … … … … … … … … … … … … … … … … … Gi¸o Viªn: TrÇn ThÞ Kim Dung Trang 6 . Nguyễn Công Trứ ============ Giáo án: Tin học 11 Ngày soạn: 09 /11/ 2009 Chơng IV: Kiểu dữ liệu có cấu trúc Bài 11: Kiểu mảng I- Mục tiêu: 1. Kiến thức; - Biết đợc một kiểu dữ liệu mới là mảng. thể. II- Đồ dùng dạy học: 1. Chuẩn bị của giáo viên: - Máy chiếu projector, máy vi tính để giới thiệu ví dụ và minh hoạ - Nghiên cứu bài và soạn bài chu đáo. 2. Chuẩn bị của học sinh: - Sách. VAR T: tuần; - Nhập giá trị cho mảng T; - Tính trung bình cộng, giá trị lớn hơn trung bình cộng tính đợc. 3. Thảo luận theo nhóm để viết chơng trình. - Báo cáo kết quả viết đợc - Nhận xét, đánh

Ngày đăng: 10/07/2014, 02:00

Xem thêm

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN

w