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. 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. 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.
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. 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. 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. * §Õ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. 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. 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: