1. Trang chủ
  2. » Giáo án - Bài giảng

Bai 12 Lop 11

24 409 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 24
Dung lượng 1,71 MB

Nội dung

Bµi 12 Tin Học 11 Nhập vào nhiệt độ (trung bình) của mỗi ngày trong tuần. 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? * Dữ liệu nhập vào (INPUT): t1,t2,t3,t4,t5,t6,t7. * Dữ cần tính và in ra (OUTPUT): tb, dem. Hãy xác định Input, Output và viết ch ơng trình giải bài toán trên ? Bài toán đặt vấn đề: Program vd1; Uses crt; Var t1,t2,t3,t4,t5,t6,t7,tb : real; dem : integer; BEGIN Clrscr; write(‘ Nhap vao nhiet do 7 ngay : ‘); readln(t1,t2,t3,t4,t5,t6,t7); tb : = (t1+t2+t3+t4+t5+t6+t7)/7; dem : = 0 ; 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 do trung binh trong tuan = ‘,tb : 6 : 2); Writeln(‘ so ngay co nhiet do cao hon nhiet do tb ‘, dem); Readln; END. Quan sát ch ơng trình, hãy cho biết nếu muốn tính nhiệt độ trung bình của N ngày trong 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 ơng trình quá dài (với 365 lệnh IF) !!!!! Để khắc phục khó khăn đó ta sử dụng kiểu dữ liệu mảng một chiều. Mảng một chiều là một dãy hữu hạn các phần tử cùng kiểu 17 20 18 25 19 12 19 A 1 2 3 4 5 6 7 Trong đó : Khi tham chiếu đến phần tử thứ i ta viết A[i]. Ví dụ: A[5] = 19. Tên mảng : A. Số phần tử của mảng: 7. Ví dụ: Kiểu dữ liệu của các phần tử: Kiểu nguyên. 19 1. Khái niệm 2. Khai báo mảng một chiều trong 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>; Ví dụ: TYPE nhietdo = array[1 365] of integer; Var A: nhietdo; Trong đó : Chỉ số đầu, chỉ số cuối th ờng là các hằng hoặc biểu thức nguyên; Chỉ số đầu chỉ số cuối; Giữa 2 chỉ số là dấu * 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ử>; Var A,B : array[1 100] of real; Ví dụ: Var nhietdo : array[1 365] of integer; 3. Các thao tác xử lí trong mảng một chiều A n 1. Nhập số phần tử của mảng (n). Write( Nhap vao so ngay:); Readln(n); 2. Nhập vào giá trị của các phần tử trong mảng ( A [i]). For i:=1 to n do Begin write(nhiet do ngay thu ,i, : ); readln(A[i]); end; Các b ớc Thể hiện bằng pascal a. Nhập mảng một chiều với n = 7 19171921182017 Ví dụ: Nhập nhiệt độ n ngày. b. In mảng một chiều Writeln( Mang vua nhap : ); For i:=1 to n do Write(A[i]:5); Mang vua nhap: - Thông báo - In giá trị của các phần tử 17 20 18 21 19 17 19 Kết quả in ra màn hình: Ví dụ: In mảng vừa nhập. * Đếm các phần tử trong mảng thoả mãn điều kiện cho tr ớc dem :=0; For i :=1 to n do IF A[i]>TB then dem:=dem+1; c. Các thao tác xử lí khác Ví dụ : Đếm số ngày có nhiệt độ cao hơn nhiệt độ TB của tuần. TB = 18.7 Dem=0 7654321 i 19171921182017 A[i] 0 1 1 2 3 3 4 20 21 19 19 +1 +1 +1+1 Program vd1; Uses crt; Var A: Array[1 366] of integer; i,n,dem: integer; S,TB : real ; BEGIN Clrscr; write( Nhap vao so ngay : ) ; readln(n) ; S := 0 ; For i := 1 to n do Begin write( Nhap nhiet do ngay thu ,i, : ) ; readln(A[i]) ; S:=S+A[i] ; End; TB := S/n ; dem := 0 ; For i := 1 to n do If A[i]>TB Then dem := dem+1; Writeln( Nhiet do trung binh ,n, ngay = ,TB : 6 : 2) ; Writeln( So ngay co nhiet do cao hon nhiet do TB la: , dem) ; Readln ; END. Khai b áo mảng 1 chiều Nhập mảng 1 chiều Tính tổng Đếm số phần tử thoả mãn điều kiện [...]... kiện cho trớc Ví dụ: Tính tổng các phần tử trong mảng chia hết cho 3 S :=0; For i :=1 to n do IF A[i] mod 3 = 0 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í trong mảng một chiều đề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 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... csmax) ; Readln ; END Chơng trình chạy và cho kết quả nh sau: Nhap vao so phan tu cua day so : Phan tu thu 1 = Phan tu thu 2 = Phan tu thu 3 = 15 Phan tu thu 4 = 25 Phan tu thu 5 = 18 Phan tu thu 6 = 12 Phan tu thu 7 = 19 20 16 Gia tri cua phan tu Max : 25 Chi so cua phan tu Max : 4 7 Vớ d 2 Sp xp dóy s nguyờn bng thut toỏn trỏo i INPUT Nhập số nguyên dơng n ( n . Bµi 12 Tin Học 11 Nhập vào nhiệt độ (trung bình) của mỗi ngày trong tuần. Tính và đ a ra màn hình nhiệt. liệu mảng một chiều. Mảng một chiều là một dãy hữu hạn các phần tử cùng kiểu 17 20 18 25 19 12 19 A 1 2 3 4 5 6 7 Trong đó : Khi tham chiếu đến phần tử thứ i ta viết A[i]. Ví dụ: A[5]. readln(A[i]); end; Các b ớc Thể hiện bằng pascal a. Nhập mảng một chiều với n = 7 191719 2118 2017 Ví dụ: Nhập nhiệt độ n ngày. b. In mảng một chiều Writeln( Mang vua nhap : ); For

Ngày đăng: 21/10/2014, 07:00

Xem thêm

TỪ KHÓA LIÊN QUAN

w