Bài 11: Kiểu mảng và biến có chỉ số (Bài 11a: Mảng 1 chiều)

13 860 4
Bài 11: Kiểu mảng và biến có chỉ số (Bài 11a: Mảng 1 chiều)

Đ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

Bµi 12 Gi¸o ¸n ®iÖn tö tin häc líp 11 !"# $%&' ( * 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 ? &)*+,- 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. ./,#0123)4567 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 89) :9)/,;<=><? * Cách 1: Khai báo gián tiếp @;ABC67/DEFBG!"DBG!""DHIB674DJ KB0!L/D-BC67/DJ K0M- @;AN0EF8OPQHINNJ K<-N0J 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 KBR!L/D-FBG!"DBG!""DHIB674DJ K<S&-F88TTHIN#J K0M- KN0-F8OPQHINNJ O>))U4#/, 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. VWL)4//1,6 X 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 [...]... 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 phần tử A[5] = 18 Tham chiếu phần tử mảng: ...Chương trình chạy và cho kết quả như sau: Nhap vao so ngay : 7 Nhap nhiet do ngay thu 1 : Nhap nhiet do ngay thu 2 : Nhap nhiet do ngay thu 3 : Nhap nhiet do ngay thu 4 : 17 20 18 21 Nhap nhiet do ngay thu 5 : 19 Nhap nhiet do ngay thu 6 : 17 Nhap nhiet do ngay thu 7 : 19 Nhiet do trung binh 7 ngay = 18 .70 So ngay co nhiet do cao hon nhiet do TB la: 4 * Tính tổng các phần tử trong mảng thoả mãn điều... 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 . cao h¬n nhiÖt ®é TB cña tuÇn. TB = 18 .7 Dem=0 76543 21 i 19 1 719 211 82 017 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. tử cùng kiểu. 9)- tên mảng, chỉ số đầu, chỉ số cuối, kiểu phần tử. L4/- 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. 15 20 19 25 18 12 16 Var A:ARRAY [1. 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. VWL)4// 1 ,6 X dem :=0; For i : =1 to n do IF A[i]>TB then dem:=dem +1;

Ngày đăng: 19/07/2014, 08:00

Từ khóa liên quan

Mục lục

  • Slide 1

  • Slide 2

  • Slide 3

  • Slide 4

  • Slide 5

  • Slide 6

  • Slide 7

  • Slide 8

  • Slide 9

  • Slide 10

  • Slide 11

  • Slide 12

  • Slide 13

Tài liệu cùng người dùng

Tài liệu liên quan