Bài giảng Tin học 11 - Bài 12: Mảng một chiều

13 10 0
Bài giảng Tin học 11 - Bài 12: Mảng một chiều

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

C¸c thao t¸c xö lÝ kh¸c * Đếm các phần tử trong mảng thoả mãn điều kiện cho trước.. Ví dụ: Đếm số ngày có nhiệt độ cao.[r]

(1)Bµi 12 Gi¸o ¸n ®iÖn tö tin häc líp 11 Lop11.com (2) Bài toán đặt vấn đề: Nhập vào nhiệt độ (trung bình) ngày tuần Tính và đưara màn hình nhiệt độ trung bình tuần và số lượngngày có nhiệt độ TB cao nhiÖt trung b×nh tuÇn? Hãy xác định Input, Output vµ * D÷ liÖu nhËp vµo (INPUT): t1,t2,t3,t4,t5,t6,t7 viết chươngtrình bµi to¸n trªn ?tb, dem * D÷ cÇn tÝnh vµ in ragi¶i (OUTPUT): Lop11.com (3) Program vd1; Uses crt; Var t1,t2,t3,t4,t5,t6,t7,tb : real; dem : integer; BEGIN Clrscr; write(‘ Nhap vao nhiet : ’); readln(t1,t2,t3,t4,t5,t6,t7); tb : = (t1+t2+t3+t4+t5+t6+t7)/7; dem : = ; 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 trung binh tuan = ‘,tb : : 2); Writeln(‘ so co nhiet cao hon nhiet tb ‘, dem); Readln; END Lop11.com (4) Quan sát chươngtrình, cho biÕt nÕukhã  h·y §Ó kh¾c phôc muèn tÝnh kh¨n đó ta sönhiÖt dụngđộkiểu trung b×nh cña N ngµy d÷ liÖu m¶ng mét chiÒu 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ươngtrình quá dµi (víi 365 lÖnh IF) !!!!! Lop11.com (5) Kh¸i niÖm M¶ng mét chiÒu lµ mét d·y h÷u h¹n c¸c phÇn tö cïng kiÓu VÝ dô: A 17 20 18 25 19 12 19 Trong đó :  Tªn m¶ng : A  Sè phÇn tö cña m¶ng:  KiÓu d÷ liÖu cña c¸c phÇn tö: KiÓu nguyªn  Khi tham chiếu đến phần tử thứ i ta viết A[i] VÝ dô: A[5] = 19 Lop11.com (6) Khai b¸o m¶ng mét chiÒu 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>; Trong đó :  Chỉ số đầu, số cuối thườnglà các biểu thức nguyên;  ChØ sè ®Çu  chØ sè cuèi;  Gi÷a chØ sè lµ dÊu VÝ dô: TYPE nhietdo = array[1 365] of integer; Var A: nhietdo; * 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ö>; VÝ dô: Var nhietdo : array[1 365] of integer; Var A,B : array[1 100] of real; Lop11.com (7) C¸c thao t¸c xö lÝ m¶ng mét chiÒu a NhËp m¶ng mét chiÒu Ví dụ: Nhập nhiệt độ n ngày A 17 Các bước 20 18 21 19 víi nn = NhËp sè phÇn tö cña m¶ng (n) 17 19 ThÓ hiÖn b»ng pascal Write(‘ Nhap vao so ngay:’); Readln(n); NhËp vµo gi¸ trÞ cña c¸c phÇn tö m¶ng (A[i]) Lop11.com For i:=1 to n Begin write(‘nhiet thu’ ,i, ’ : ’); readln(A[i]); end; (8) b In m¶ng mét chiÒu VÝ dô: In m¶ng võa nhËp - Th«ng b¸o Writeln(‘ Mang vua nhap : ’); - In gi¸ trÞ cña c¸c phÇn tö For i:=1 to n Write(A[i]:5); KÕt qu¶ in mµn h×nh: Mang vua nhap: 17 20 18 21 19 17 19 Lop11.com (9) c C¸c thao t¸c xö lÝ kh¸c * Đếm các phần tử mảng thoả mãn điều kiện cho trước Ví dụ: Đếm số ngày có nhiệt độ cao dem :=0; nhiệt độ TB tuần For i :=1 to n IF A[i]>TB then dem:=dem+1; i A[i] Dem=0 17 20 18 21 19 17 19 +1 +1 +1 Lop11.com +1 TB = 18.7 (10) Program vd1; Uses crt; Var Khai b¸o m¶ng chiÒu A: Array[1 366] of integer; i,n,dem: integer; S,TB : real ; BEGIN Clrscr; write(‘ Nhap vao so : ’) ; readln(n) ; S := ; For i := to n NhËp m¶ng chiÒu Begin write(‘ Nhap nhiet thu ‘,i,’ : ‘) ; TÝnh tæng readln(A[i]) ; S:=S+A[i] ; End; TB := S/n ; dem := ; For i := to n §Õm sè phÇn tö tho¶ If A[i]>TB Then dem := dem+1; Writeln(‘ Nhiet trung binh ’ ,n,’ = ‘,TB : : 2) ; m·n ®iÒu kiÖn Writeln(‘ So co nhiet cao hon nhiet TB la: ‘, dem) ; Readln ; END Lop11.com (11) Chươngtrình chạy và cho kết nhưsau: Nhap vao so : Nhap nhiet thu : Nhap nhiet thu : Nhap nhiet thu : Nhap nhiet thu : 17 20 18 21 Nhap nhiet thu : 19 Nhap nhiet thu : 17 Nhap nhiet thu : 19 Nhiet trung binh = 18.70 So co nhiet cao hon nhiet TB la: Lop11.com (12) * Tính tổng các phần tử mảng thoả mãn điều kiện cho trước VÝ dô: TÝnh tæng c¸c phÇn tö S :=0; m¶ng chia hÕt cho For i :=1 to n IF A[i] mod = then S:=S+A[i]; 15 20 16 25 18 12 19 S = 45 Thông thường , các thao tác xử lí mảng chiều dùng câu lệnh FOR DO Lop11.com (13) H·y nhí! 15 20 19 25 18 12 16  M¶ng mét chiÒu lµ mét d·y h÷u h¹n c¸c phÇn tö cïng kiÓu Var A:ARRAY[1 100] OF integer;  Khai b¸o: tªn m¶ng, chØ sè ®Çu, chØ sè cuèi, kiÓu phÇn tö A[5] = 18  Tham chiÕu phÇn tö m¶ng: Tªn biÕn m¶ng[chØ sè phÇn tö]  NhiÒu thao t¸c xö lÝ m¶ng dïng cÊu tróc lÆp FOR TO DO Lop11.com (14)

Ngày đăng: 01/04/2021, 22:31

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

Tài liệu liên quan