1. Trang chủ
  2. » Luận Văn - Báo Cáo

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

13 11 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 13
Dung lượng 747,46 KB

Nội dung

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Ừ KHÓA LIÊN QUAN

w