Tải bản đầy đủ (.docx) (4 trang)

BAI 11 TIN 10

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 (58.15 KB, 4 trang )

<span class='text_page_counter'>(1)</span>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 1 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 trong 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 ë trong ng«n ng÷ pascal II. Phơng pháp: cơ bản 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 duy III. Néi dung 1 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 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ã §Ó 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 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Ö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? nếu có thì đó là gì? HS: Tr¶ lêi GV:DÉn d¾t vµo kiÓu m¶ng.

<span class='text_page_counter'>(2)</span> a) Khai b¸o Cã d¹ng : -C¸ch 1. 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 2. 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 chỉ 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, mỗi số đều kh«ng vît qu¸ 500 Ouput: ChØ sè vµ gi¸ trÞ cña phÇn tử lớn nhất trong dãy số đã cho (nÕu cã nhiÒu phÇn tö lín nhÊt chØ cÇn ®a ra mét trong 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: trong 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×?.

<span class='text_page_counter'>(3)</span> Readln(N); For i:=1 to N do Begin Write(‘phan tu thu’,I,’=’); Readln(A[i]); End; Max:= A[1]; csmax:=1 For i:=2 to N do 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ô 2. 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 , mỗi số đều kh«ng vît qu¸ 500 Ouput: Dãy số A đợc sắp 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 do Begin Write(‘phan tu thu ‘,i,’=’); readln(A[i]); End; For j:=N downto 2 do For i:=1 to j-1 do 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 ra 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 sao biến j nhận giá trị giảm từ N đến 2? HS: Tr¶ lêi.

<span class='text_page_counter'>(4)</span> 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 do write(A[i]:4); Readln End. VÝ dô 3. 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 sao biÕn biÕn i nhËn c¸c gi¸ trÞ ®i tõ 1 đế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 ra 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.

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

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×