Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 13 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
13
Dung lượng
1,14 MB
Nội dung
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? * Dữ * Dữ HÃy xác định Input, Output liệu nhập vào (INPUT): t1,t2,t3,t4,t5,t6,t7 viết chơng trình giảitb, bàidem cần tính in (OUTPUT): toán trªn ? 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, chokhó Để khắchÃy phục biết khăn ta muốn sử dụng tính nhiệt độ kiểu liệu mảng trung bình N mộttrong chiều ngày năm (VD: N=365) gặp khó khăn ? Khai báo lớn (t1,t2,t3, ,t36 5) 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ư cïng 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 tử>; : ; Var TB then dem:=dem+1; 17 20 18 21 19 17 19 +1 +1 +1 +1 TB = 18.7 Program vd1; Uses crt; Var Khai báo mảng A: Array[1 366] of integer; chiÒu i,n,dem: integer; S,TB : real ; BEGIN Clrscr; write(‘ Nhap vao so : ’) ; readln(n) ; S := ; For i := to n NhËp m¶ng Begin write(‘ Nhap nhiet thu ‘,i,’ :chiÒu ‘) ; readln(A[i]) ; S:=S+A[i] ; TÝnh tæng End; TB := S/n ; dem := ; For i := to n Đếm số phần tử If A[i]>TB Then dem := dem+1; Writeln(‘ Nhiet trung binh ’ ,n,’ = ,TBthoả : : 2)mÃn ; điều Writeln( So co nhiet cao hon nhiet TB la: , dem) ; kiện 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 cho 15 20 chia hÕt S :=0; For i :=1 to n IF A[i] mod = then S:=S+A[i]; 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 Var A:ARRAY[1 100] OF integer; A[5] = 18 Mảng chiều dÃy hữu hạn phần tử kiểu Khai báo: tên mảng, số đầu, số cuối, kiểu phần tử 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 ... 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 *... S:=S+A[i]; 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 Var A:ARRAY[1 100] OF integer; A[5] = 18 Mảng chiều dÃy hữu hạn phần... kiểu liệu mảng trung bình N mộttrong chiều ngày năm (VD: N=365) gặp khó khăn ? Khai báo lớn (t1,t2,t3, ,t36 5) 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ư cïng