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

Giáo án Tin học 11 - Bài 11: Kiểu mảng

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 (152.19 KB, 5 trang )

<span class='text_page_counter'>(1)</span>Trường THPT Nguyễn Công Trứ. ============. TiÕt 18:. 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 Lop11.com. 1.

<span class='text_page_counter'>(2)</span> 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 1. Quan sát trên màn hình, suy nghĩ và trả b¶ng. lêi: ? Khi N lớn thì chương trình trên có những hạn - Phải khai báo quá nhiều biến, chương trình chÕ nh­ thÕ nµo? viÕt ph¶i rÊt dµi.  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 2. Nghiên cứu sách giáo khoa để trả lời: khoa vµ hái: Em hiÓu nh­ thÕ nµo vÒ m¶ng  M¶ng mét chiÒu lµ d·y h÷u h¹n c¸c phÇn tö mét chiÒu? 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, ta cần xác định  Để mô tả mảng một chiều cần xác định được nh÷ng yÕu tè nµo? 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 Lop11.com. 2.

<span class='text_page_counter'>(3)</span> 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 1. Tham kh¶o s¸ch gi¸o khoa vµ tr¶ lêi: khoa vµ cho biÕt c¸ch t¹o kiÓu d÷ liÖu m¶ng - TYPE tªn_kiÓu_m¶ng= Array[KiÓu_chØ_ sè] mét chiÒu trong ng«n ng÷ lËp tr×nh Pascal. OF KiÓu_phÇn_tö;  Tìm một số ví dụ để minh hoạ VÝ dô: TYPE Mang= array[1..n]]of Integer; TYPE thùc = Array[ 1..n] of real; ? ý nghÜa c¸c c©u lÖnh võa viÕt trªn? 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. - Chiếu lên bảng một số khai báo kiểu mảng - Quan sát bảng và chọn khai báo đú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. TYPE Mang1= Array[1..200] of real; M¶ng 3= Array[ -100..0] of boolean;. mÊy c¸ch?.  Trùc tiÕp: VAR tªn_biÕn_m¶ng: Array. 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; ? ý nghÜa cña c©u lÖnh võa viÕt?  Khai b¸o mét biÕn m¶ng mét chiÒu ? Dung lượng của bộ nhớ của biến a đã chiếm  A đã chiếm 200 byte trong bộ nhớ. 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ó  có hai cách đó là: [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. Giới thiệu cách tham chiếu đến từng phần 3. Theo dõi hướng dẫn của giáo viên và độc tử của mảng một chiều. Yêu cầu học sinh lấy lập suy nghĩ để trả lời. vÝ dô 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 Lop11.com. 3.

<span class='text_page_counter'>(4)</span> 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 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.. Hoạt động của học sinh 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. ? Nếu không sử dụng biến mảng một chiều, ta  Được, nhưng chương trình dài dòng, khó sửa có thể giải quyết được bài toán không? Khó đổi. kh¨n g× kh«ng? 2. Định hướng: Sử dụng kiểu mảng một 2. Theo dõi sự hướng dẫn của giáo viên chiều để giải quyết bài toán. ? Yªu cÇu häc sinh khai b¸o biÕn m¶ng?  TYPE tuÇn = Array[ 1..7] of real; VAR T: tuÇn; ? Yªu cÇu häc sinh t×m nhiÖm vô chÝnh cÇn gi¶i - NhËp gi¸ trÞ cho m¶ng T; quyÕt? - TÝnh trung b×nh céng, gi¸ trÞ lín h¬n trung b×nh céng tÝnh ®­îc. 3. Chia lớp làm 4 nhóm yêu cầu viết chương 3. Thảo luận theo nhóm để viết chương trình. tr×nh. Lªn b¶ng tr×nh bµy. - 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. Chuẩn hoá chương trình cho học sinh. 4. Quan sát và ghi nhớ Program BTVD; Uses CRT; Var A : Array[1..7] of Real; I,d: Integer;  L­u ý: C¸ch nhËp c¸c phÇn tö cho m¶ng mét chiÒu: S, TB : Real; Begin Clrscr; For i:=1 TO n DO For i:=1 TO 7 DO Begin Begin Writeln(‘Nhap phan tu thu ‘,i); Writeln(‘Nhap phan tu thu ‘,i); Readln(A[i]); Readln(A[i]); End; End;  HiÓn thÞ c¸c phÇn tö cña m¶ng: S:=0; For i:=1 TO 7 DO For i:= 1 TO 7 Do S := S + A[i]; Begin TB:= S/7; Write(a[i]:4); D := 0; Writeln; For i := 1 TO 7 DO End; If A[i] > TB Then d := d+1; Writeln(‘So ngay la’,d); Readln; End.. Gi¸o Viªn: TrÇn ThÞ Kim Dung. Trang Lop11.com. 4.

<span class='text_page_counter'>(5)</span> 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 Lop11.com. 5.

<span class='text_page_counter'>(6)</span>

×