BAI 11 TIN 10

4 9 0
BAI 11 TIN 10

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

Thông tin tài liệu

GV: Yêu cầu HS đọc ví dụ HS: §äc GV: Yªu cÇu HS viÕt thuËt to¸n GV: Sử dụng bảng phụ để đa ra chơng trình GV: Gi¶i thÝch c¸c bíc GV: ở bài toán này có mấy biến đợc khai báo và cã mÊy lÖn[r]

(1)Ch¬ng iv KiÓu d÷ liÖu cã cÊu tróc Bµi 11 kiÓu m¶ng(tiÕt 21,22,23,24) 10/01/09 I Môc tiªu VÒ kiÕn thøc: Häc sinh cÇn hiÓu râ: KiÓu m¶ng lµ mét kiÓu d÷ liÖu cã cÊu tróc, rÊt cÇn thiÕt vµ h÷u Ých ch¬ng tr×nh M¶ng mét chiªï lµ d·y h÷u h¹n c¸c phÇn tö cïng kiÓu C¸c ng«n ng÷ lËp tr×nh th«ng dông cho phÐp ng¬× lËp tr×nh x©y dùng kiÓu dù liÖu m¶ng mét chiÒu C¸ch m« t¶ m¶ng mét chiÒu, c¸ch khai b¸o ë ng«n ng÷ pascal II Phơng pháp: dùng phơng pháp thuyết trình vấn đáp gợi mở thông qua các hoạt động điều khiển t III Néi dung KiÓu m¶ng métchiÒu M¶ng mét chiÒu lµ c¸c phÇn tö cïng kiểu Mảng đợc đặt tên và các phần tö cña nã cã mét chØ 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ö cña nã §Ó ngêi lËp tr×nh cã thÓ x©y dùng vµ sö dông 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 ®÷ 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ử GV: NhÊn m¹nh kh¸i niÖm m¶ng mét chiÒu GV: Yêu cầu HS đọc ví dụ HS: §äc GV: Yªu cÇu HS viÕt thuËt to¸n GV: Sử dụng bảng phụ để đa chơng trình GV: Gi¶i thÝch c¸c bíc GV: bài toán này có biến đợc khai báo và cã mÊy lÖnh tÝnh to¸n VËy nÕu ph¹m vi më réng lµ 360 ngµy th× b¶n chÊt thuËt to¸n cã g× thay đổi không? viết chơng trình theo cách trên có gặp khó khăn không? có thì đó là gì? HS: Tr¶ lêi GV:DÉn d¾t vµo kiÓu m¶ng (2) a) Khai b¸o Cã d¹ng : -C¸ch Khai b¸o trùc tiÕp biÕn m¶ng mét chiÒu Var<tªn biÕn m¶ng>:array[kiÓu chØ sè] of<kiÓu phÇn tö> -C¸ch Khai b¸o gi¸n tiÕp biÕn m¶ng qua kiÓu m¶ng mét chiÒu Type<tªn kiÓu m¶ng>=array[kiÓu chØ sè] of <kiÓu phÇn tö>; Var<tªn biÕn m¶ng>: <tªn kiÓu m¶ng>; Trong đó  KiÓu chØ sè thêng lµ mét ®o¹n sè nguyªn liªn tôc cã d¹ng n1 n2 víi n1,n2 lµ c¸c h»ng hoÆc biÓu thøc nguyên xác định số đầu vµ chØ sè cuèi (n1<=n2)  KiÓu phÇn tö lµ kiÓu cña c¸c phÇn tö m¶ng VÝ dô b) Mét sè vÝ dô vÝ dô 1: T×m phÇn tö lín nhÊt cña d·y sè nguyªn Input: Sè nguyªn d¬ng N (N<=250) và dãy N số nguyên dơng A1,A2, ,AN, số kh«ng vît qu¸ 500 Ouput: ChØ sè vµ gi¸ trÞ cña phÇn tử lớn dãy số đã cho (nÕu cã nhiÒu phÇn tö lín nhÊt chØ cÇn ®a mét sè chóng) Ch¬ng tr×nh Program TimMax; Uses crt; Const Nmax=250; Type Arrint = array[1 Nmax] of integer; Var N,I, Max, csmax: integer; A: arrint; Begin Clrscr; Write(‘nhap so luong phan tu cua day so, N=’); GV: Giíi thiÖu ch¬ng tr×nh gi¶i bµi to¸n trªn víi N ngµy GV: Minh hoạbằng ví dụ cụ thể để học sinh dễ viÕt thuËt to¸n GV:Yªu cÇu HS viÕt thuËt to¸n HS: ViÕt thuËt to¸n GV: söa ch÷a sai lÇm GV: bài toán này có nhiều biến cần đợc khai b¸o bao nhiªu? Sè lÇn so s¸nh Max víi c¸c gi¸ trÞ Ai lµ bao nhiªu vËy nªn viÕt ch¬ng tr×nh theo c¸ch nµo ? GV: Dãy có bao tối đa bao nhiêu phần tử? đợc khai b¸o ntn? HS: Tr¶ lêi GV:Yªu cÇu HS khai b¸o kiÓu m¶ng HS: khai b¸o GV: CÇn khai b¸o cho nh÷ng biÕn nµo vµ chóng cã kiÓu d÷ liÖu g×? (3) Readln(N); For i:=1 to N Begin Write(‘phan tu thu’,I,’=’); Readln(A[i]); End; Max:= A[1]; csmax:=1 For i:=2 to N If A[i]>max then Begin Max:= A[i]; Csmax:= I; End; Writeln(‘gia tri cua phan tu max:’,Max); Writeln(‘chi so cuaphan tu max: ‘,csmax); Readln End VÝ dô S¾p xÕp d·y sè nguyªn b»ng thuật toán troá đổi Input: Sènguyªn d¬ng N (N<=250) và dãy A gồm N số nguyên dơng A1,A2,…,AN , số kh«ng vît qu¸ 500 Ouput: Dãy số A đợc xếp thành d·y kh«ng gi¶m Ch¬ng tr×nh Program timMax Uses crt; Const Nmax=250; Type ArrInt = array[1…Nmax] of integer; Var N,i,j,t: integer; A: arrint; Begin Clrscr; Write(‘ nhap so luong phan tu cua day so, N=’); readln(N); For i:=1 to N Begin Write(‘phan tu thu ‘,i,’=’); readln(A[i]); End; For j:=N downto For i:=1 to j-1 If A[i]>A[i+1] then Begin HS: tr¶ lêi GV: NhËp gi¸ trÞ cho nh÷ng biÕn nµo? HS: Tr¶ lêi GV: Gi¶I thÝch bíc nhËp vµ bíc so s¸nh A[i] víi max GV: biến điếm nhận các giá trị từ giá trị nào đến gi¸ trÞ nµo? HS: tr¶ lêi GV: Công việc so sánh A[i] với max đợc thực hiÖn bao nhiªu lÇn? HS: Tr¶ lêi GV: CÇn ®a nh÷ng kÕt qu¶ nµo? HS: Tr¶ lêi GV: CÇn khai b¸o nh÷ng biÕn nµo? chóng cã kiÓu d÷ liÖu g×?Nãi râ tõng biÕn? HS: Tr¶ lêi GV: CÇn nhËp nh÷ng d÷ liÖu g× vµ c¸ch nhËp các giá trị đó? HS: Nªu GV: Gäi HS lªn b¶ng viÕt phÇn khai b¸o vµ phÇn nhËp HS: ViÕt GV: Tại biến j nhận giá trị giảm từ N đến 2? HS: Tr¶ lêi (4) t:=A[i]; A[i]:=A[i+1]; A[i+1]:=t; End; Writeln(‘day so duoc sap xep la: ‘); For i:=1 to N write(A[i]:4); Readln End VÝ dô T×m kiÕm nhÞ ph©n Input: D·y A lµ d·y t¨ng gåm N(N  250) sè nguyªn d¬ng A1, A2, …,An vµ sè nguyªn k Output: ChØ sè sè i mµ Ai=k hoÆc th«ng b¸o “ Khong tim thay” GV: T¹i biÕn biÕn i nhËn c¸c gi¸ trÞ ®i tõ đến j-1? HS: Tr¶ lêi GV: Khi nào thì tráo đổi A[i] với A[i+1]? HS: Tr¶ lêi GV: CÇn ®a bao nhiªu phÇn tö cña d·y? vËy ta dùng cấu trúc nào để giúp ta làm đợc điều đó? HS: Tr¶ lêi (5)

Ngày đăng: 08/06/2021, 16:35

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

Tài liệu liên quan