Bài 9. Làm việc với dãy số
Chia sẻ bởi Trương Thúy |
Ngày 24/10/2018 |
52
Chia sẻ tài liệu: Bài 9. Làm việc với dãy số thuộc Tin học 8
Nội dung tài liệu:
KIỂM TRA BÀI CŨ
Hãy ghi cú pháp của câu lệnh lặp với số lần chưa biết trước? Và nêu sự hoạt động.
While <điều kiện> do;
Đầu tiên kiểm tra điều kiện, nếu điều kiện sai thì kết thúc, nếu điều kiện đúng thì thực hiện câu lệnh sau đó quay lại kiểm tra điều kiện, vòng lặp cứ thế tiếp tục.
1. Dãy số và biến mảng:
Ví du 1 : Viết chương trình nhập vào điểm kiểm tra môn tin học của các học sinh trong lớp (k học sinh). In ra màn hình điểm số cao nhất.
Input: điểm của k HS.
Output: Điểm số cao nhất.
LÀM VIỆC VỚI DÃY SỐ
Bài 9
Cần bao nhiêu biến trong bài toán trên?
k Biến
LÀM VIỆC VỚI DÃY SỐ
Bài 9
1. Dãy số và biến mảng:
Var diem1, diem2, diem 3,., diemk: real;
...
Read(diem1);
Read(diem2);
...
Read(diemk);
LÀM VIỆC VỚI DÃY SỐ
Bài 9
Chương trình trở nên càng dài.
Việc quản lí các biến càng khó khăn.
Nhầm lẫn và sai sót.
Vậy có cách nào để thay thế k biến ở trên bởi một biến duy nhất hay không?
Và thay thế k lần câu lệnh nhập ở trên bởi một câu lệnh duy nhất hay không?
LÀM VIỆC VỚI DÃY SỐ
Bài 9
1. Dãy số và biến mảng:
LÀM VIỆC VỚI DÃY SỐ
Bài 9
Diem
Diem1
Diem2
Diem3
Diem4
Diemk
Chỉ số
Mảng
LÀM VIỆC VỚI DÃY SỐ
Bài 9
1. Dãy số và biến mảng:
LÀM VIỆC VỚI DÃY SỐ
Bài 9
Diem
Chỉ số
Mảng
Dữ liệu kiểu mảng
1. Dãy số và biến mảng:
LÀM VIỆC VỚI DÃY SỐ
Bài 9
Diem
Chỉ số
Phần tử của mảng
1. Dãy số và biến mảng:
Một biến được khai báo có kiểu dữ liệu là kiểu mảng được gọi là biến mảng.
Giá trị của biến mảng là một mảng, tức là một dãy số.
Mỗi số là giá trị của từng phần tử trong mảng.
LÀM VIỆC VỚI DÃY SỐ
Bài 9
Diem
Chỉ số
1. Dãy số và biến mảng:
Dữ liệu kiểu mảng là một tập hợp hữu hạn các phần tử có thứ tự , mọi phần tử đều có cùng một kiểu dữ liệu, gọi là kiểu của phần tử.
Mỗi phần tử được xác định bởi chỉ số.
LÀM VIỆC VỚI DÃY SỐ
Bài 9
Diem
Chỉ số
2. Ví dụ về biến mảng.
Ví dụ:
Var chieucao: array[1..50] of real;
Var tuoi: array[21..80] of integer;
Tên mảng
Chỉ số đầu
Chỉ số cuối
Tên mảng
Chỉ số đầu
Chỉ số cuối
LÀM VIỆC VỚI DÃY SỐ
Bài 9
2. Ví dụ về biến mảng.
Ví dụ:
Var chieucao: array[1..50] of real;
Var tuoi: array[21..80] of integer;
Từ hai ví dụ tên, mảng trong Pascal được khai báo như thế nào?
2. Ví dụ về biến mảng.
Cách khai báo mảng như sau:
Var Tên mảng: Array[] of ;
Chỉ số đầu, chỉ số cuối: là các hằng hoặc biểu thức nguyên
Chỉ số đầu <= chỉ số cuối
Giữa hai chỉ số là dấu ..
LÀM VIỆC VỚI DÃY SỐ
Bài 9
2. Ví dụ về biến mảng:
Khai báo biến mảng ở ví dụ 1:
Var Diemtin: array [1..40] of real;
Lợi ích của việc sử dụng biến mảng:
Có thể thay rất nhiều câu lệnh nhập và in dữ liệu ra màn hình bằng một câu lệnh lặp.
Em nào hãy nêu cách khai báo biến mảng cho ví dụ 1?
Vậy, cách khai báo và sử dụng biến mảng như trên có lợi ích gì??
LÀM VIỆC VỚI DÃY SỐ
Bài 9
2. Ví dụ về biến mảng:
Diemtin
n
1. Nhập số phần tử (Số Học sinh) của mảng A
Write(‘ Nhap n= ’);
Readln(n);
2. Nhập vào giá trị của các phần tử trong mảng ( diemtin[i])
For i:=1 to n do
Begin
write(‘diem cua hs thu ’ ,i, ’ : ’);
readln(diemtin[i]);
end;
Các bước
Th?c hi?n trong Pascal
a. Đọc vào biến mảng
với n = 7
5.5
8.0
9.5
6.0
4.5
9.0
7.0
Ví dụ: Nhập vào điểm môn tin học
Writeln(‘ Diem tin hoc cua lop : ’);
For i:=1 to n do
Begin
Textcolor(i); Write(diemtin[i]:4:1);
End;
Diem tin hoc cua lop :
1. Thông báo
2. In giá trị của các phần tử
7.0 9.0 4.5 6.0 9.5 8.0 5.5
Kết quả in ra màn hình:
Ví dụ: In mảng vừa nhập
b. In các phần tử trong biến mảng
Các bước
Thể hiện bằng pascal
3. Tìm giá trị lớn nhất và nhỏ nhất của dãy số.
Viết chương trình nhập N số nguyên từ bàn phím và in ra màn hình số nhỏ nhất và lớn nhất. N cũng được nhập từ bàn phím.
Ví dụ 3:
LÀM VIỆC VỚI DÃY SỐ
Bài 9
Quả này lớn nhất
Quả này mới lớn nhất ?
Ồ ! Quả này lớn hơn
Tìm ra quả lớn nhất rồi
Quả này bé hơn, bỏ qua
Quả này bé hơn, bỏ qua
Cùng tìm thuật toán
4.5
7.0
8.0
3. Tìm giá trị lớn nhất và nhỏ nhất của dãy số.
Thuật toán tìm Max của dãy số nguyên nhập vào từ bàn phím như sau:
Bước 1: Nhập N và dãy A1, ., An.
Bước 2: Max ? A1.
Bước 3: Lần lượt gán giá trị từ 2 đến N cho i. Với mỗi giá trị của i thì thực hiện. Nếu Max < Ai thì Max ? A1.
Bước 4: Đưa ra màn hình giá trị Max rồi kết thúc.
Program vd1;
Uses crt;
Var
A: Array[1..100] of real;
i,n: integer;
Max,min: real;
BEGIN
Clrscr;
write(` Nhap vao so học sinh : `) ;
readln(n) ;
For i := 1 to n do
Begin
write(` Nhap diem Hs thu `,i,` : `) ;
readln(A[i]) ;
End;
Max:=A[1];
For i := 2 to n do
If A[i]>Max Then Max := A[i];
Writeln(` Diem lon nhat la `, Max:5:1) ;
Min:=A[1];
For i := 2 to n do
If A[i] Writeln(` Diem nho nhat la `, Min:5:1) ;
Readln ;
END.
Khai báo biến mảng
Nhập vào biến mảng
Tìm số lớn nhất và số nhỏ nhất
Nhap vao so hoc sinh :
7
Nhap diem hs thu 1 :
7.0
Nhap diem hs thu 2 :
9.0
Nhap diem hs thu 3 :
4.5
Nhap diem hs thu 4 :
6.0
Nhap diem hs thu 5 :
9.5
Nhap diem hs thu 6 :
8.0
Nhap diem hs thu 7 :
5.5
Diem lon nhat la 9.5
Diem nho nhat la 4.5
Chương trình chạy và cho kết quả như sau:
GHI NHỚ:
Dữ liệu kiểu mảng là tập hợp hữu hạn các phần tử có thứ
tự và mọi phần tử đều có cùng một kiểu dữ liệu.
2. Việc gán giá trị, nhập giá trị và tính toán với các giá trị
của một phần tử trong biến mảng được thực hiện thông qua
chỉ số tương ứng của phần tử đó.
3. Sử dụng các biến mảng và câu lệnh lặp giúp cho việc viết
chương trình được ngắn gọn và dễ dàng hơn.
LÀM VIỆC VỚI DÃY SỐ
Bài 9
BÀI TẬP VẬN DỤNG
Câu 1. Cách khai báo biến mảng sau đây trong pascal đúng hay sai? Giải thích?
a) Var X: Array[10, 13] of integer;
b) Var X: Array[5..10.5] of real;
c) Var X: Array[3.4..4.8] of integer;
d) Var X: Array[10.. 1] of integer;
e) Var X: Array[4..10] of real;
Đúng
Sai
Sai
Sai
Sai
"Có thể xem biến mảng là một biến được tạo từ nhiều biến có cùng kiểu nhưng chỉ dưới một tên duy nhất". Phát biểu đó đúng hay sai?
Đúng
Câu 2.
Hãy ghi cú pháp của câu lệnh lặp với số lần chưa biết trước? Và nêu sự hoạt động.
While <điều kiện> do
Đầu tiên kiểm tra điều kiện, nếu điều kiện sai thì kết thúc, nếu điều kiện đúng thì thực hiện câu lệnh sau đó quay lại kiểm tra điều kiện, vòng lặp cứ thế tiếp tục.
1. Dãy số và biến mảng:
Ví du 1 : Viết chương trình nhập vào điểm kiểm tra môn tin học của các học sinh trong lớp (k học sinh). In ra màn hình điểm số cao nhất.
Input: điểm của k HS.
Output: Điểm số cao nhất.
LÀM VIỆC VỚI DÃY SỐ
Bài 9
Cần bao nhiêu biến trong bài toán trên?
k Biến
LÀM VIỆC VỚI DÃY SỐ
Bài 9
1. Dãy số và biến mảng:
Var diem1, diem2, diem 3,., diemk: real;
...
Read(diem1);
Read(diem2);
...
Read(diemk);
LÀM VIỆC VỚI DÃY SỐ
Bài 9
Chương trình trở nên càng dài.
Việc quản lí các biến càng khó khăn.
Nhầm lẫn và sai sót.
Vậy có cách nào để thay thế k biến ở trên bởi một biến duy nhất hay không?
Và thay thế k lần câu lệnh nhập ở trên bởi một câu lệnh duy nhất hay không?
LÀM VIỆC VỚI DÃY SỐ
Bài 9
1. Dãy số và biến mảng:
LÀM VIỆC VỚI DÃY SỐ
Bài 9
Diem
Diem1
Diem2
Diem3
Diem4
Diemk
Chỉ số
Mảng
LÀM VIỆC VỚI DÃY SỐ
Bài 9
1. Dãy số và biến mảng:
LÀM VIỆC VỚI DÃY SỐ
Bài 9
Diem
Chỉ số
Mảng
Dữ liệu kiểu mảng
1. Dãy số và biến mảng:
LÀM VIỆC VỚI DÃY SỐ
Bài 9
Diem
Chỉ số
Phần tử của mảng
1. Dãy số và biến mảng:
Một biến được khai báo có kiểu dữ liệu là kiểu mảng được gọi là biến mảng.
Giá trị của biến mảng là một mảng, tức là một dãy số.
Mỗi số là giá trị của từng phần tử trong mảng.
LÀM VIỆC VỚI DÃY SỐ
Bài 9
Diem
Chỉ số
1. Dãy số và biến mảng:
Dữ liệu kiểu mảng là một tập hợp hữu hạn các phần tử có thứ tự , mọi phần tử đều có cùng một kiểu dữ liệu, gọi là kiểu của phần tử.
Mỗi phần tử được xác định bởi chỉ số.
LÀM VIỆC VỚI DÃY SỐ
Bài 9
Diem
Chỉ số
2. Ví dụ về biến mảng.
Ví dụ:
Var chieucao: array[1..50] of real;
Var tuoi: array[21..80] of integer;
Tên mảng
Chỉ số đầu
Chỉ số cuối
Tên mảng
Chỉ số đầu
Chỉ số cuối
LÀM VIỆC VỚI DÃY SỐ
Bài 9
2. Ví dụ về biến mảng.
Ví dụ:
Var chieucao: array[1..50] of real;
Var tuoi: array[21..80] of integer;
Từ hai ví dụ tên, mảng trong Pascal được khai báo như thế nào?
2. Ví dụ về biến mảng.
Cách khai báo mảng như sau:
Var Tên mảng: Array[
Chỉ số đầu, chỉ số cuối: là các hằng hoặc biểu thức nguyên
Chỉ số đầu <= chỉ số cuối
Giữa hai chỉ số là dấu ..
LÀM VIỆC VỚI DÃY SỐ
Bài 9
2. Ví dụ về biến mảng:
Khai báo biến mảng ở ví dụ 1:
Var Diemtin: array [1..40] of real;
Lợi ích của việc sử dụng biến mảng:
Có thể thay rất nhiều câu lệnh nhập và in dữ liệu ra màn hình bằng một câu lệnh lặp.
Em nào hãy nêu cách khai báo biến mảng cho ví dụ 1?
Vậy, cách khai báo và sử dụng biến mảng như trên có lợi ích gì??
LÀM VIỆC VỚI DÃY SỐ
Bài 9
2. Ví dụ về biến mảng:
Diemtin
n
1. Nhập số phần tử (Số Học sinh) của mảng A
Write(‘ Nhap n= ’);
Readln(n);
2. Nhập vào giá trị của các phần tử trong mảng ( diemtin[i])
For i:=1 to n do
Begin
write(‘diem cua hs thu ’ ,i, ’ : ’);
readln(diemtin[i]);
end;
Các bước
Th?c hi?n trong Pascal
a. Đọc vào biến mảng
với n = 7
5.5
8.0
9.5
6.0
4.5
9.0
7.0
Ví dụ: Nhập vào điểm môn tin học
Writeln(‘ Diem tin hoc cua lop : ’);
For i:=1 to n do
Begin
Textcolor(i); Write(diemtin[i]:4:1);
End;
Diem tin hoc cua lop :
1. Thông báo
2. In giá trị của các phần tử
7.0 9.0 4.5 6.0 9.5 8.0 5.5
Kết quả in ra màn hình:
Ví dụ: In mảng vừa nhập
b. In các phần tử trong biến mảng
Các bước
Thể hiện bằng pascal
3. Tìm giá trị lớn nhất và nhỏ nhất của dãy số.
Viết chương trình nhập N số nguyên từ bàn phím và in ra màn hình số nhỏ nhất và lớn nhất. N cũng được nhập từ bàn phím.
Ví dụ 3:
LÀM VIỆC VỚI DÃY SỐ
Bài 9
Quả này lớn nhất
Quả này mới lớn nhất ?
Ồ ! Quả này lớn hơn
Tìm ra quả lớn nhất rồi
Quả này bé hơn, bỏ qua
Quả này bé hơn, bỏ qua
Cùng tìm thuật toán
4.5
7.0
8.0
3. Tìm giá trị lớn nhất và nhỏ nhất của dãy số.
Thuật toán tìm Max của dãy số nguyên nhập vào từ bàn phím như sau:
Bước 1: Nhập N và dãy A1, ., An.
Bước 2: Max ? A1.
Bước 3: Lần lượt gán giá trị từ 2 đến N cho i. Với mỗi giá trị của i thì thực hiện. Nếu Max < Ai thì Max ? A1.
Bước 4: Đưa ra màn hình giá trị Max rồi kết thúc.
Program vd1;
Uses crt;
Var
A: Array[1..100] of real;
i,n: integer;
Max,min: real;
BEGIN
Clrscr;
write(` Nhap vao so học sinh : `) ;
readln(n) ;
For i := 1 to n do
Begin
write(` Nhap diem Hs thu `,i,` : `) ;
readln(A[i]) ;
End;
Max:=A[1];
For i := 2 to n do
If A[i]>Max Then Max := A[i];
Writeln(` Diem lon nhat la `, Max:5:1) ;
Min:=A[1];
For i := 2 to n do
If A[i]
Readln ;
END.
Khai báo biến mảng
Nhập vào biến mảng
Tìm số lớn nhất và số nhỏ nhất
Nhap vao so hoc sinh :
7
Nhap diem hs thu 1 :
7.0
Nhap diem hs thu 2 :
9.0
Nhap diem hs thu 3 :
4.5
Nhap diem hs thu 4 :
6.0
Nhap diem hs thu 5 :
9.5
Nhap diem hs thu 6 :
8.0
Nhap diem hs thu 7 :
5.5
Diem lon nhat la 9.5
Diem nho nhat la 4.5
Chương trình chạy và cho kết quả như sau:
GHI NHỚ:
Dữ liệu kiểu mảng là tập hợp hữu hạn các phần tử có thứ
tự và mọi phần tử đều có cùng một kiểu dữ liệu.
2. Việc gán giá trị, nhập giá trị và tính toán với các giá trị
của một phần tử trong biến mảng được thực hiện thông qua
chỉ số tương ứng của phần tử đó.
3. Sử dụng các biến mảng và câu lệnh lặp giúp cho việc viết
chương trình được ngắn gọn và dễ dàng hơn.
LÀM VIỆC VỚI DÃY SỐ
Bài 9
BÀI TẬP VẬN DỤNG
Câu 1. Cách khai báo biến mảng sau đây trong pascal đúng hay sai? Giải thích?
a) Var X: Array[10, 13] of integer;
b) Var X: Array[5..10.5] of real;
c) Var X: Array[3.4..4.8] of integer;
d) Var X: Array[10.. 1] of integer;
e) Var X: Array[4..10] of real;
Đúng
Sai
Sai
Sai
Sai
"Có thể xem biến mảng là một biến được tạo từ nhiều biến có cùng kiểu nhưng chỉ dưới một tên duy nhất". Phát biểu đó đúng hay sai?
Đúng
Câu 2.
* 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ẻ: Trương Thúy
Dung lượng: |
Lượt tài: 1
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)