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

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

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

Thông tin tài liệu

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[r]

(1)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 liệu có cấu trúc Bµi 11: KiÓu m¶ng I- Môc tiªu: 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 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 ng«n ng÷ lËp tr×nh Pascal để giải số bài toán cụ thể II- §å dïng d¹y häc: 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 ChuÈn bÞ cña häc sinh: - S¸ch gi¸o khoa III- Hoạt động dạy – học: Hoạt động 1: Tìm hiểu ý nghĩa mảng 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 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) ngày tuần Tính và in màn hình nhiệt độ trung bình tuần và số lượng ngày tuần có nhiệt độ cao nhiệt độ trung bình tính - 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 độ 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 (2) 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 tuần có nhiệt độ cao 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ö m¶ng cã cùng chung tên và phân biệt số Để mô tả mảng chiều cần xác định kiểu các phần tử và cách đánh số các phần tử nó - Hầu hết các ngôn ngữ lập trình 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 giáo viên Hoạt động học sinh Chiếu đề bài và chương trình ví dụ lên 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ó 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 biến trên thành dãy và đặt cho nó chung tên và đánh cho mét phÇn tö chØ sè Yêu cầu học sinh tham khảo sách giáo 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ö m¶ng cã cïng chung mét tªn vµ ph©n biÖt bëi chØ sè ? Để mô tả mảng chiều, ta cần xác định  Để mô tả mảng chiều cần xác định nh÷ng yÕu tè nµo? kiểu các phần tử và cách đánh số các phần tö cña nã Hoạt động 2: Tạo kiểu mảng 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 ng«n ng÷ lËp tr×nh Pascal, biÕt cách khai báo biến và tham chiếu đến phần tử 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 số: thường là đ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 số đầu và số cuối mảng + KiÓu thµnh phÇn: lµ kiÓu d÷ liÖu chung cña mäi phÇn tö 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 phần tử: Tên_biến[ số] Gi¸o Viªn: TrÇn ThÞ Kim Dung Trang Lop11.com (3) 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 giáo viên Hoạt động học sinh Yªu cÇu häc sinh nghiªn cøu s¸ch gi¸o 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 ng«n ng÷ lËp tr×nh Pascal OF KiÓu_phÇn_tö;  Tìm số ví dụ để minh hoạ VÝ dô: TYPE Mang= array[1 n]]of Integer; TYPE thùc = Array[ n] of real; ? ý nghÜa c¸c c©u lÖnh võa viÕt trªn? T¹o mét kiÓu d÷ liÖu míi cã tªn lµ mang, thực Gồm đến N phần tử, có kiểu nguyên, kiÓu thùc - Chiếu lên bảng 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 = Array[byte] of real; M¶ng 3= Array[ -100 0] of boolean; ? Những khai báo nào đúng? 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 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 nhớ biến a đã chiếm  A đã chiếm 200 byte nhớ bao nhiªu?  Chú ý cho học sinh cách đặt tên kiểu liÖu vµ tªn biÕn, tr¸nh nhÇm lÉn  Tóm lại để khai báo mảng 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; Giới thiệu cách tham chiếu đến phần Theo dõi hướng dẫn giáo viên và độc tử mảng 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ø cña m¶ng A A[i] lµ phÇn tö ë vÞ trÝ thø i cña m¶ng A Hoạt động 3: Rèn luyện kĩ sử dụng kiểu mảng chiều a) Môc tiªu: - Học sinh sử dụng biến kiểu mảng chiều để giải bài toán đơn giản Gi¸o Viªn: TrÇn ThÞ Kim Dung Trang Lop11.com (4) 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) ngày tuần Tính và in màn hình nhiệt độ trung bình tuần và số lượng ngày tuần có nhiệt độ cao nhiệt độ trung bình tính ®­îc c) Các bước tiến hành: Hoạt động giáo viên Giới thiệu đề bài: Chiếu đề bài lên bảng - Yêu cầu học sinh xác định liệu vào, liệu Hoạt động học sinh Quan sát đề bài, theo dõi yêu cầu cần giải đề bài - INPUT: nhiệt độ các ngày tuần - OUTPUT: nhiệt độ trung bình tuần và số ngày tuần có nhiệt độ cao nhiệt độ trung b×nh ? Nếu không sử dụng biến mảng chiều, ta  Được, chương trình dài dòng, khó sửa có thể giải bài toán không? Khó đổi kh¨n g× kh«ng? Định hướng: Sử dụng kiểu mảng Theo dõi hướng dẫn giáo viên chiều để giải bài toán ? Yªu cÇu häc sinh khai b¸o biÕn m¶ng?  TYPE tuÇn = Array[ 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 Chia lớp làm nhóm yêu cầu viết chương 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 thiếu sót nÕu cã Chuẩn hoá chương trình cho học sinh 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 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 DO For i:= TO Do S := S + A[i]; Begin TB:= S/7; Write(a[i]:4); D := 0; Writeln; For i := TO DO End; If A[i] > TB Then d := d+1; Writeln(‘So la’,d); Readln; End Gi¸o Viªn: TrÇn ThÞ Kim Dung Trang Lop11.com (5) Trường THPT Nguyễn Công Trứ ============ Gi¸o ¸n: Tin häc 11 IV- §¸nh gi¸ cuèi bµi; 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 phần tử: Tên biến[ số] C©u hái vµ bµi tËp vÒ nhµ: - Viết chương trình nhập vào mảng gồm n số nguyên ( <= 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 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ö m¶ng mµn h×nh? 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 màn hình các số thực dương mảng Viết chương trình nhập mảng N số nguyên §Õm vµ in mµn h×nh c¸c sè nguyªn tè m¶ng - Lµm c¸c bµi tËp sau bµi häc - Chuẩn bị bà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 (6)

Ngày đăng: 01/04/2021, 20:27

Tài liệu cùng người dùng

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

Tài liệu liên quan