Bài 11. Kiểu mảng
Chia sẻ bởi Võ Thị Mỹ Hạnh |
Ngày 10/05/2019 |
44
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:
Chương IV: Kiểu Dữ Liệu Có Cấu Trúc
BÀI 11
KIỂU MẢNG
SV Thực Hiện:VÕ THỊ MỸ HẠNH
1. Khái Niệm .
a. Ví Dụ:
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.
Hãy xác định INPUT và OUTPUT của bài toán ?
Input: Nhiệt độ 7 ngày trong tuần.
Output: Nhiệt độ trung bình của tuần, số ngày có nhiệt độ cao hơn nhiệt độ trung bình.
Chương trình giải bài toán viết bằng pascal như sau:
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 và hãy cho biết nếu muốn tính bài toán trên với N ngày lớn( N=366) thì sẽ gặp khó khăn gì ?
? D? kh?c ph?c khú khan dú ta s? d?ng ki?u d? li?u m?ng m?t chi?u
b.Khái Niệm:
- 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 mang một chỉ số.
Với mảng một chiều ta cần quan tâm:
Tên kiểu mảng một chiều.
Số lượng phần tử.
Kiểu dữ liệu của phẩn tử.
Cách khai báo biến mảng.
Cách tham chiếu đến phần tử.
25
30
17
22
28
20
15
Ví Dụ : Nhập Nhiệt Độ 7 Ngày trong tuần
Khi tham chiếu đến một phần tử thứ i ta viết :A[i]
Ví Dụ : A[4]=22
Tên mảng : A
? S? ph?n t? c?a m?ng : 7
? Ki?u d? li?u c?a cỏc ph?n t? : Ki?u Nguyờn
A
Trong đó:
2.Khai Báo
*Cách 1: Khai báo trực tiếp
Var :array[chỉ số đầu..chỉ số cuối] of;
*Cách 2: Khai báo gián tiếp:
Type=array[chỉ số đầu..chỉ số cuối] of ;
Var: ;
Ví Dụ: type nhietdo=array [1..366] of integer
Var A: nhietdo;
Ví Dụ: Var nhietdo :array[1..366] of integer;
Var A,B:array [1..100] of real;
Type là từ khóa dùng để khai báo biến
Array là từ khóa dùng để khai báo mảng.
Chỉ số đầu, chỉ số cuối thường là các hằng hoặc biểu thức nguyên
giữa hai chỉ số là dấu ..
Chỉ số đầu bé hơn chỉ số cuối.
Trong đó:
3.Ví Dụ:giải quyết ví dụ 1 bằng cách sử dụng kiểu mảng một chiều.
Các Bước
Thể hiện bằng pascal
Nhập số phần tử của mảng
Nhập vào giá trị của các phần tử trong mảng(A[i])
-Write(‘nhap vao so ngay:’);
Readln;
-For i:=1 to n do
begin
write(‘nhiet do ngay thu’,i,’:’);
Readln(A[i]);
end;
Đếm số ngày có nhiệt độ cao hơn nhiệt độ TB của tuần.
-Dem:=0;
For i:=1 to n do
if A[i]>TB then dem:=dem+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 một chiều
Nhập mảng một chiều
Tính tổng
Đếm số phần tử thỏa mãn điều kiện.
-Củng Cố
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 các phần tử mảng:
Tên biến mảng[chỉ số phần tử]
Quan sát và chọn khai báo đúng?
Type
array = array[1..200] of real;
array = array[byte] of real;
array = array [-100..0] of boolean;
BÀI 11
KIỂU MẢNG
SV Thực Hiện:VÕ THỊ MỸ HẠNH
1. Khái Niệm .
a. Ví Dụ:
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.
Hãy xác định INPUT và OUTPUT của bài toán ?
Input: Nhiệt độ 7 ngày trong tuần.
Output: Nhiệt độ trung bình của tuần, số ngày có nhiệt độ cao hơn nhiệt độ trung bình.
Chương trình giải bài toán viết bằng pascal như sau:
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 và hãy cho biết nếu muốn tính bài toán trên với N ngày lớn( N=366) thì sẽ gặp khó khăn gì ?
? D? kh?c ph?c khú khan dú ta s? d?ng ki?u d? li?u m?ng m?t chi?u
b.Khái Niệm:
- 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 mang một chỉ số.
Với mảng một chiều ta cần quan tâm:
Tên kiểu mảng một chiều.
Số lượng phần tử.
Kiểu dữ liệu của phẩn tử.
Cách khai báo biến mảng.
Cách tham chiếu đến phần tử.
25
30
17
22
28
20
15
Ví Dụ : Nhập Nhiệt Độ 7 Ngày trong tuần
Khi tham chiếu đến một phần tử thứ i ta viết :A[i]
Ví Dụ : A[4]=22
Tên mảng : A
? S? ph?n t? c?a m?ng : 7
? Ki?u d? li?u c?a cỏc ph?n t? : Ki?u Nguyờn
A
Trong đó:
2.Khai Báo
*Cách 1: Khai báo trực tiếp
Var
*Cách 2: Khai báo gián tiếp:
Type
Var
Ví Dụ: type nhietdo=array [1..366] of integer
Var A: nhietdo;
Ví Dụ: Var nhietdo :array[1..366] of integer;
Var A,B:array [1..100] of real;
Type là từ khóa dùng để khai báo biến
Array là từ khóa dùng để khai báo mảng.
Chỉ số đầu, chỉ số cuối thường là các hằng hoặc biểu thức nguyên
giữa hai chỉ số là dấu ..
Chỉ số đầu bé hơn chỉ số cuối.
Trong đó:
3.Ví Dụ:giải quyết ví dụ 1 bằng cách sử dụng kiểu mảng một chiều.
Các Bước
Thể hiện bằng pascal
Nhập số phần tử của mảng
Nhập vào giá trị của các phần tử trong mảng(A[i])
-Write(‘nhap vao so ngay:’);
Readln;
-For i:=1 to n do
begin
write(‘nhiet do ngay thu’,i,’:’);
Readln(A[i]);
end;
Đếm số ngày có nhiệt độ cao hơn nhiệt độ TB của tuần.
-Dem:=0;
For i:=1 to n do
if A[i]>TB then dem:=dem+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 một chiều
Nhập mảng một chiều
Tính tổng
Đếm số phần tử thỏa mãn điều kiện.
-Củng Cố
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 các phần tử mảng:
Tên biến mảng[chỉ số phần tử]
Quan sát và chọn khai báo đúng?
Type
array = array[1..200] of real;
array = array[byte] of real;
array = array [-100..0] of boolean;
* 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ẻ: Võ Thị Mỹ Hạnh
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)