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

Bai 11 Kieu mang

13 8 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 889 KB

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 11 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) !!!!! Mảng chiều a) Khái nim 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 b 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è lµ dÊu VÝ dơ: TYPE nhietdo = array[1 366] of real; Var A: nhietdo; * C¸ch 2: Khai b¸o trực tiếp Var : array[ ] of ; VÝ dơ: Var nhietdo : array[1 366] of real; Var A,B : array[1 100] of real; c Các thao tác xử lí mảng mét chiỊu NhËp m¶ng mét 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ư 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ị phần tử mảng (A[i]) For i:=1 to n Begin write(‘nhiet thu’ ,i, ’ : ’); readln(A[i]); end; 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 qu¶ in hình: Mang vua nhap: 17 20 18 21 19 17 19 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 chiều dÃy hữu hạn phần tử cïng 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 qu¶ in hình: Mang vua nhap: 17 20 18 21 19 17 19 C¸c thao t¸c xư lÝ

Ngày đăng: 25/11/2021, 12:03

w