Bai 11 kieu mang

882 views

Published on

hgdhf

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
882
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
13
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Bai 11 kieu mang

  1. 1. Bµi 12 m¶ng mét chiÒu Gi¸o ¸n ®iÖn tö tin häc líp 11
  2. 2. NhËp vµo nhiÖt ®é (trung b×nh) cña mçi ngµy trong tuÇn. TÝnh vµ ®­a ra mµn h×nh nhiÖt ®é trung b×nh cña tuÇn vµ sè l­îng ngµy cã nhiÖt ®é TB cao h¬n nhiÖt trung b×nh trong tuÇn? * D÷ liÖu nhËp vµo (INPUT): t1,t2,t3,t4,t5,t6,t7 . * D÷ cÇn tÝnh vµ in ra (OUTPUT): tb, dem . H·y x¸c ®Þnh Input, Output vµ viÕt ch­¬ng tr×nh gi¶i bµi to¸n trªn ? Bµi to¸n ®Æt vÊn ®Ò:
  3. 3. Program vd1; Uses crt; Var t1,t2,t3,t4,t5,t6,t7,tb : real; dem : integer; BEGIN Clrscr; write(‘ Nhap vao nhiet do 7 ngay : ’); readln(t1,t2,t3,t4,t5,t6,t7); tb : = (t1+t2+t3+t4+t5+t6+t7)/7; dem : = 0 ; if (t1>tb) then dem := dem + 1; if (t2>tb) then dem := dem + 1; if (t3>tb) then dem := dem + 1; if (t4>tb) then dem := dem + 1; if (t5>tb) then dem := dem + 1; if (t6>tb) then dem := dem + 1; if (t7>tb) then dem : = dem + 1; Writeln(‘ Nhiet do trung binh trong tuan = ‘,tb : 6 : 2); Writeln(‘ so ngay co nhiet do cao hon nhiet do tb ‘, dem); Readln; END.
  4. 4. Quan s¸t ch­¬ng tr×nh, h·y cho biÕt nÕu muèn tÝnh nhiÖt ®é trung b×nh cña N ngµy trong n¨m (VD: N=365) th× sÏ gÆp khã kh¨n g× ? Khai b¸o qu¸ lín (t1,t2,t3,...,t365) vµ ch­¬ng tr×nh qu¸ dµi (víi 365 lÖnh IF) !!!!!  §Ó kh¾c phôc khã kh¨n ®ã ta sö dông kiÓu d÷ liÖu m¶ng mét chiÒu.
  5. 5. M¶ng mét chiÒu lµ mét d·y h÷u h¹n c¸c phÇn tö cïng kiÓu A 1 2 3 4 5 6 7 Trong ®ã : <ul><li>Khi tham chiÕu ®Õn phÇn tö thø i ta viÕt A[i] . </li></ul><ul><li> VÝ dô: A[5] = 19. </li></ul> Tªn m¶ng : A .  Sè phÇn tö cña m¶ng: 7 . VÝ dô:  KiÓu d÷ liÖu cña c¸c phÇn tö: KiÓu nguyªn . 19 1. Kh¸i niÖm 19 12 19 25 18 20 17
  6. 6. 2. Khai b¸o m¶ng mét chiÒu trong PASCAL * C¸ch 1: Khai b¸o gi¸n tiÕp TYPE <tªn kiÓu m¶ng> = array [<chØ sè ®Çu>..<chØ sè cuèi>] of <kiÓuphÇn tö>; Var <ds biÕn m¶ng> : <tªn kiÓu m¶ng>; VÝ dô: TYPE nhietdo = array [1..365] of integer; Var A: nhietdo; Trong ®ã :  ChØ sè ®Çu, chØ sè cuèi th­êng lµ c¸c h»ng hoÆc biÓu thøc nguyªn;  ChØ sè ®Çu  chØ sè cuèi;  Gi÷a 2 chØ sè lµ dÊu .. * C¸ch 2: Khai b¸o trùc tiÕp Var <Ds biÕn m¶ng> : array [<chØ sè ®Çu>..<chØ sè cuèi>] of <kiÓuphÇn tö>; Var A,B : array [1..100] of real; VÝ dô: Var nhietdo : array [1..365] of integer;
  7. 7. 3. C¸c thao t¸c xö lÝ trong m¶ng mét chiÒu A n 1. NhËp sè phÇn tö cña m¶ng (n). Write(‘ Nhap vao so ngay:’); Readln(n); 2. NhËp vµo gi¸ trÞ cña c¸c phÇn tö trong m¶ng ( A [i]). For i:=1 to n do Begin write(‘nhiet do ngay thu’ ,i, ’ : ’); readln(A[i]); end; C¸c b­íc ThÓ hiÖn b»ng pascal a. NhËp m¶ng mét chiÒu víi n = 7 19 17 19 21 18 20 17 VÝ dô: NhËp nhiÖt ®é n ngµy. .......
  8. 8. b. In m¶ng mét chiÒu Writeln(‘ Mang vua nhap : ’); For i:=1 to n do Write(A[i]:5); Mang vua nhap: - Th«ng b¸o - In gi¸ trÞ cña c¸c phÇn tö 17 20 18 21 19 17 19 KÕt qu¶ in ra mµn h×nh: VÝ dô: In m¶ng võa nhËp.
  9. 9. * §Õm c¸c phÇn tö trong m¶ng tho¶ m·n ®iÒu kiÖn cho tr­íc dem :=0; For i :=1 to n do IF A[i]>TB then dem:=dem+1; c. C¸c thao t¸c xö lÝ kh¸c VÝ dô : §Õm sè ngµy cã nhiÖt ®é cao h¬n nhiÖt ®é TB cña tuÇn . TB = 18.7 Dem=0 7 6 5 4 3 2 1 i 0 1 1 2 3 3 4 20 21 19 19 +1 +1 +1 +1 19 17 19 21 18 20 17 A[i]
  10. 10. Program vd1; Uses crt; Var A: Array[1..366] of integer; i,n,dem: integer; S,TB : real ; BEGIN Clrscr; write(‘ Nhap vao so ngay : ’) ; readln(n) ; S := 0 ; For i := 1 to n do Begin write(‘ Nhap nhiet do ngay thu ‘,i,’ : ‘) ; readln(A[i]) ; S:=S+A[i] ; End; TB := S/n ; dem := 0 ; For i := 1 to n do If A[i]>TB Then dem := dem+1; Writeln(‘ Nhiet do trung binh ’ ,n,’ ngay = ‘,TB : 6 : 2) ; Writeln(‘ So ngay co nhiet do cao hon nhiet do TB la: ‘, dem) ; Readln ; END. Khai b ¸o m¶ng 1 chiÒu NhËp m¶ng 1 chiÒu TÝnh tæng §Õm sè phÇn tö tho¶ m·n ®iÒu kiÖn
  11. 11. Nhap vao so ngay : 7 Nhap nhiet do ngay thu 1 : 17 Nhap nhiet do ngay thu 2 : 20 Nhap nhiet do ngay thu 3 : 18 Nhap nhiet do ngay thu 4 : 21 Nhap nhiet do ngay thu 5 : 19 Nhap nhiet do ngay thu 6 : 17 Nhap nhiet do ngay thu 7 : 19 Nhiet do trung binh 7 ngay = 18.70 So ngay co nhiet do cao hon nhiet do TB la: 4 Ch­¬ng tr×nh ch¹y vµ cho kÕt qu¶ nh­ sau:
  12. 12. Th«ng th­êng, c¸c thao t¸c xö lÝ trong m¶ng mét chiÒu ®Òu dïng c©u lÖnh FOR...DO. * TÝnh tæng c¸c phÇn tö trong m¶ng tho¶ m·n ®iÒu kiÖn cho tr­íc VÝ dô: TÝnh tæng c¸c phÇn tö trong m¶ng chia hÕt cho 3. S :=0; For i :=1 to n do IF A[i] mod 3 = 0 then S:=S+A[i]; S = 45 19 12 18 25 16 20 15
  13. 13. H·y nhí!  M¶ng mét chiÒu lµ mét d·y h÷u h¹n c¸c phÇn tö cïng kiÓu.  Khai b¸o: tªn m¶ng, chØ sè ®Çu, chØ sè cuèi, kiÓu phÇn tö. <ul><li>Tham chiÕu phÇn tö m¶ng: </li></ul><ul><li>Tªn biÕn m¶ng[chØ sè phÇn tö] </li></ul> NhiÒu thao t¸c xö lÝ m¶ng dïng cÊu tróc lÆp FOR ..TO.. DO. 15 20 19 25 18 12 16 Var A :ARRAY[ 1..100 ] OF integer ; A[5] = 18

×