Bài 11. Kiểu mảng

Chia sẻ bởi Lê Thị Nga | Ngày 10/05/2019 | 70

Chia sẻ tài liệu: Bài 11. Kiểu mảng thuộc Tin học 11

Nội dung tài liệu:


Đặng Hữu Hoàng
GV: Lê Thị Nga
Chào mừng quý thầy cô tới dự giờ ở lớp 11A4
Trường THPT Nông cống II
Bài 11
kiểu mảng
Giáo án điện tử tin học lớp 11
Chương IV:
Kiểu dữ liệu có cấu trúc
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 trong tuần có nhiệt độ cao hơn nhiệt trung bình của 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.
Mảng một chiều là dãy hữu hạn các phần tử cùng kiểu. Mảng được đặt tên và mỗi phần tử của nó có một chỉ số.
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 :
+ Số phần tử của mảng:
Ví dụ:
+ Kiểu dữ liệu của các phần tử:
19
1. Khái niệm:
A
7
Kiểu nguyên
2. Khai báo mảng một chiều trong PASCAL
* Cách 2: Khai báo gián tiếp:
TYPE = array[kiểu chỉ số] of ;
Var : ;
Ví dụ: TYPE nhietdo = array[1..365] of Real;
Var A : nhietdo;
Trong đó :
Kiểu chỉ số thường là một đoạn số nguyên liên tục có dạng n1..n2,
với n1, n2 là các hằng hoặc biểu thức nguyên (n1<=n2).
Giữa 2 chỉ số là dấu ..
Var : array[Kiểu chỉ số] of ;
Var A,B : array[1..100] of real;
Ví dụ: Var nhietdo : array[1..365] of real;
* Cách 1: Khai báo trực tiếp
Ví dụ: Chỉ ra các khai báo sai trong các khai báo cho dưới đây và giải thích?
Var A: array[1..100] of real;
Var A=array[-10..10] of integer;
Var a: array[word] of real;
Var end: array[3..10] of longint;
Var nhietdo: array[1..366] of real;
Chuyển các khai báo đúng ở trên từ trực tiếp sang gián tiếp.
Type B= array[1..100] of real;
Var A:B ;
e) Type Kmang1= array[1..366] of real;
Var Nhietdo : kmang1;
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
19
17
19
21
18
20
17
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
7
6
5
4
3
2
1
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
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...

Người chia sẻ: Lê Thị Nga
Dung lượng: | Lượt tài: 0
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)