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

Bai 11 Kieu mang

13 3 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

Nội dung

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?... Quan s¸t ch¬ng tr×nh, h·ykh¾c cho biÕt nÕukhã  §Ó phôc muèn tÝ[r]

Bài 12 Giáo án điện tử tin học lớp 11 Bài toán đặt vấn đề: Nhập vào nhiệt độ (trung bình) ngày tuần Tính đa hình nhiệt độ trung bình tuần số lợng ngày có nhiệt độ TB cao nhiệt trung bình tuần? HÃy xác định Input, Output * Dữ liệu nhập vào (INPUT): t1,t2,t3,t4,t5,t6,t7 viết chơng trình toán ?tb, dem * Dữ cần tính in ragi¶i (OUTPUT): 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 Quan sát chơng trình, hÃykhắc cho biết nếukhó Để phục muốn tính khăn ta sửnhiệt dụngđộkiểu trung bình N ngày liệu mảng chiều năm (VD: N=365) gặp khó khăn ? Khai báo lớn (t1,t2,t3, ,t365) chơng trình dài (với 365 lệnh IF) !!!!! Khái niệm Mảng chiều dÃy hữu hạn phần tử kiểu VÝ dô: A 17 20 18 25 19 12 19 Trong ®ã : Tên mảng : A Số phần tử mảng: Kiểu liệu 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 2 Khai báo mảng chiều PASCAL * Cách 1: Khai báo gián tiếp TYPE = array[ ] of ; Var : ; Trong : Chỉ số đầu, số cuối thờng biểu thức nguyên; Chỉ số đầu số cuối; Giữa số 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 : array[ ] of ; VÝ dơ: Var nhietdo : array[1 365] of integer; Var A,B : array[1 100] of real; C¸c thao tác xử lí mảng chiều a Nhập mảng chiều Ví dụ: Nhập nhiệt độ n ngày A C¸c bíc 17 20 18 21 19 víi nn = Nhập số phần tử mảng (n) 17 19 ThĨ hiƯn b»ng pascal Write(‘ Nhap vao so ngay:); Readln(n); Nhập vào giá trị phần tử mảng (A[i]) For i:=1 to n Begin write(‘nhiet thu’ ,i, ’ : ’); readln(A[i]); end; 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ị phần tử For i:=1 to n Write(A[i]:5); Kết in h×nh: Mang vua nhap: 17 20 18 21 19 17 19 c Các thao tác xử lí khác * Đếm 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 +1 TB = 18.7 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 Chơng trình chạy 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: * TÝnh tổng phần tử mảng thoả mÃn điều kiện cho trớc Ví dụ: Tính tổng phần tử m¶ng chia hÕt cho S :=0; 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, thao tác xử lí mảng chiều dùng câu lệnh FOR DO HÃy nhớ! 15 20 19 25 18 12 16  M¶ng mét chiều dÃy hữu hạn phần tử kiểu Var A:ARRAY[1 100] OF integer; Khai báo: tên mảng, số đầu, 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 ... mét chiỊu VÝ dơ: In m¶ng vừa nhập - Thông báo Writeln( Mang vua nhap : ); - In giá trị phần tử For i:=1 to n Write(A[i]:5); Kết in h×nh: Mang vua nhap: 17 20 18 21 19 17 19 c Các thao tác xử lí

Ngày đăng: 25/11/2021, 23:37

w