Bài 11. Kiểu mảng
Chia sẻ bởi Nguyễn Thị Tươi |
Ngày 10/05/2019 |
54
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:
Nguyễn Thị Tươi
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?
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 đề:
* Dữ cần tính và in ra (OUTPUT): nhiệt độ tb.
* Dữ liệu nhập vào (INPUT): t1,t2,t3,t4,t5,t6,t7.
Nguyễn Thị Tươi
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;
Writeln(` Nhiet do trung binh trong tuan = `,tb : 6 : 2);
Readln;
END.
Nguyễn Thị Tươi
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ì ?
? Để khắc phục khó khăn đó ta sử dụng kiểu dữ liệu mảng một chiều.
Nguyễn Thị Tươi
Bài 11
mảng một chiều
Bài 11
Nguyễn Thị Tươi
Mảng một chiều là một dãy hữu hạn các phần tử cùng kiểu
A
1 2 3 4 5 6 7
Trong đó :
Khi tham chiếu đến phần tử thứ i ta viết:
[chỉ số]
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
Nguyễn Thị Tươi
2. Khai báo mảng một chiều trong PASCAL
* Cách 1: Khai báo trực tiếp
TYPE = array[..] of ;
Var : ;
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 gián tiếp
Var : array[..] of ;
Var A,B : array[1..100] of real;
Ví dụ: Var nhietdo : array[1..365] of integer;
Nguyễn Thị Tươi
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.
3. Ví dụ nhập xuất mảng một chiều
.....
Ví dụ: Var A : array[1..365] of integer;
Các bước
Thể hiện bằng pascal
Các bước
Nguyễn Thị Tươi
b. Xuaỏt mảng một chiều
Writeln(‘ Mang vua nhap la: ’);
For i:=1 to n do Write(A[i]:5);
Mang vua nhap la:
- 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.
Các bước
Thể hiện bằng pascal
Nguyễn Thị Tươi
a. Nhập mảng:
For i:=csdau to n do
begin
write( `nhap phan tu thu `,i,`= `);
readln(tbien[i]);
end;
b. Xuất mảng:
Writeln(`Mang vua nhap la: `);
for i:= csdau to n do write(tbien[i]);
4. Nhập, xuất mảng một chiều
Nguyễn Thị Tươi
Uses crt;
Var A: Array[1..365] of integer;
i,n : integer;
S,TB : real ;
BEGIN
Clrscr;
write(`Nhap vao so ngay : `) ;
readln(n) ;
For i := 1 to n do
Begin
write(`Nhap nhiet do ngay thu `,i,` : `);
readln(A[i]) ;
End;
S := 0 ;
For i := 1 to n do S := S + A[i];
TB := S/n;
Writeln(`Nhiet do trung binh ` ,n,` ngay = `,TB : 6 : 2) ;
Readln ;
END.
Khai b¸o m¶ng 1 chiÒu
Nhập mảng 1 chiều
Tổng nhiệt độ của n ngày
Nhiệt độ tb của n ngày
Nguyễn Thị Tươi
Nhap vao so ngay :
7
Nhap nhiet do ngay thu 1 :
17
Nhap nhiet do ngay thu 2 :
20
Nhap nhiet do ngay thu 3 :
18
Nhap nhiet do ngay thu 4 :
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
Chương trình chạy và cho kết quả như sau:
Nguyễn Thị Tươi
Hãy nhớ!
? Mảng một chiều là một dãy hữu hạn các phần tử cùng kiểu.
? Khai báo: tên mảng, chỉ số đầu, chỉ 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 .. DO.
15 20 19 25 18 12 16
Var A:ARRAY[1..100] OF integer;
A[5] = 18
Type tbm:ARRAY[1..100] OF real;
Var A : tbm;
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?
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 đề:
* Dữ cần tính và in ra (OUTPUT): nhiệt độ tb.
* Dữ liệu nhập vào (INPUT): t1,t2,t3,t4,t5,t6,t7.
Nguyễn Thị Tươi
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;
Writeln(` Nhiet do trung binh trong tuan = `,tb : 6 : 2);
Readln;
END.
Nguyễn Thị Tươi
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ì ?
? Để khắc phục khó khăn đó ta sử dụng kiểu dữ liệu mảng một chiều.
Nguyễn Thị Tươi
Bài 11
mảng một chiều
Bài 11
Nguyễn Thị Tươi
Mảng một chiều là một dãy hữu hạn các phần tử cùng kiểu
A
1 2 3 4 5 6 7
Trong đó :
Khi tham chiếu đến phần tử thứ i ta viết:
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
Nguyễn Thị Tươi
2. Khai báo mảng một chiều trong PASCAL
* Cách 1: Khai báo trực tiếp
TYPE
Var
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 gián tiếp
Var
Var A,B : array[1..100] of real;
Ví dụ: Var nhietdo : array[1..365] of integer;
Nguyễn Thị Tươi
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.
3. Ví dụ nhập xuất mảng một chiều
.....
Ví dụ: Var A : array[1..365] of integer;
Các bước
Thể hiện bằng pascal
Các bước
Nguyễn Thị Tươi
b. Xuaỏt mảng một chiều
Writeln(‘ Mang vua nhap la: ’);
For i:=1 to n do Write(A[i]:5);
Mang vua nhap la:
- 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.
Các bước
Thể hiện bằng pascal
Nguyễn Thị Tươi
a. Nhập mảng:
For i:=csdau to n do
begin
write( `nhap phan tu thu `,i,`= `);
readln(tbien[i]);
end;
b. Xuất mảng:
Writeln(`Mang vua nhap la: `);
for i:= csdau to n do write(tbien[i]);
4. Nhập, xuất mảng một chiều
Nguyễn Thị Tươi
Uses crt;
Var A: Array[1..365] of integer;
i,n : integer;
S,TB : real ;
BEGIN
Clrscr;
write(`Nhap vao so ngay : `) ;
readln(n) ;
For i := 1 to n do
Begin
write(`Nhap nhiet do ngay thu `,i,` : `);
readln(A[i]) ;
End;
S := 0 ;
For i := 1 to n do S := S + A[i];
TB := S/n;
Writeln(`Nhiet do trung binh ` ,n,` ngay = `,TB : 6 : 2) ;
Readln ;
END.
Khai b¸o m¶ng 1 chiÒu
Nhập mảng 1 chiều
Tổng nhiệt độ của n ngày
Nhiệt độ tb của n ngày
Nguyễn Thị Tươi
Nhap vao so ngay :
7
Nhap nhiet do ngay thu 1 :
17
Nhap nhiet do ngay thu 2 :
20
Nhap nhiet do ngay thu 3 :
18
Nhap nhiet do ngay thu 4 :
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
Chương trình chạy và cho kết quả như sau:
Nguyễn Thị Tươi
Hãy nhớ!
? Mảng một chiều là một dãy hữu hạn các phần tử cùng kiểu.
? Khai báo: tên mảng, chỉ số đầu, chỉ 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 .. DO.
15 20 19 25 18 12 16
Var A:ARRAY[1..100] OF integer;
A[5] = 18
Type tbm:ARRAY[1..100] OF real;
Var A : tbm;
* 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ẻ: Nguyễn Thị Tươi
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)