Bài 9. Làm việc với dãy số

- 0 / 0
(Tài liệu chưa được thẩm định)
Nguồn:
Người gửi: Dương Quốc On
Ngày gửi: 10h:11' 06-05-2021
Dung lượng: 290.1 KB
Số lượt tải: 391
Nguồn:
Người gửi: Dương Quốc On
Ngày gửi: 10h:11' 06-05-2021
Dung lượng: 290.1 KB
Số lượt tải: 391
Số lượt thích:
0 người
BÀI 9
LÀM VIỆC VỚI DÃY SỐ
MÔN TIN HỌC LỚP 8
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 (Có k học sinh). In ra màn hình điểm số cao nhất.
Xác định bài toán
- Input: điểm môn tin học của k HS.
- Output: Điểm số cao nhất.
1. Dãy số và biến mảng:
Câu hỏi: Cần bao nhiêu biến trong bài toán trên?
k Biến
Var diem1, diem2, diem 3,…, diemk: real;
…..
Read(diem1);
Read(diem2);
…..
Read(diemk);
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 (Có k học sinh). In ra màn hình điểm số cao nhất.
Xác định bài toán
- Input: điểm của k HS.
- Output: Điểm số cao nhất.
1. Dãy số và biến mảng:
Câu hỏi: Cần bao nhiêu biến trong bài toán trên?
k Biến
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?
Diem
Diem1
Diem2
Diem3
Diem4
Diemk
Chỉ số
Mảng
1. Dãy số và biến mảng:
Diem
Chỉ số
Mảng
Dữ liệu kiểu mảng
1. Dãy số và biến mảng:
Diem
Chỉ số
Phần tử của mảng
1. Dãy số và biến mảng:
- M?t bi?n du?c khai bo cĩ ki?u d? li?u l ki?u m?ng du?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 dy s?.
- M?i s? l gi tr? c?a t?ng ph?n t? trong m?ng.
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 cc ph?n t? cĩ th? t? , m?i ph?n t? d?u cĩ cng m?t ki?u d? li?u, g?i l ki?u c?a ph?n t?.
- M?i ph?n t? du?c xc d?nh b?i ch? s?.
Diem
Chỉ số
1. Dãy số và biến mảng:
2. Ví dụ về biến mảng
Ví dụ:
Var chieucao: array[1 . . 50] of real;
Var tuoi: array[21 . . 80] of integer;
Chỉ số cuối
Chỉ số đầu
Chỉ số cuối
Tên mảng
Tên mảng
Chỉ số đầu
Từ hai ví dụ tên, mảng trong Pascal được khai báo như thế nào?
a. Cách khai báo Biến mảng trong Pascal như sau:
Var Tên_mảng: Array[] of ;
Chỉ số đầu, chỉ số cuối: là các hằng nguyên hoặc biểu thức nguyên
Chỉ số đầu <= chỉ số cuối
Giữa hai chỉ số là dấu .. (hai dấu chấm)
2. Ví dụ về biến mảng
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.
2. Ví dụ về biến mảng
Em lấy ví dụ khai báo 1 biến mảng?
Vậy, cách khai báo và sử dụng biến mảng như trên có lợi ích gì?
Khai báo biến mảng ở ví dụ 1:
Var Diemtin: array [1..40] of real;
2. Ví dụ về biến mảng
Diemtin
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
b. Nhập dữ liệu 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
2. Ví dụ về biến mảng
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
C. In các phần tử trong biến mảng
Các bước
Thể hiện bằng pascal
2. Ví dụ về biến mảng
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:
Cùng tìm thuật toán
4.5
7.0
8.0
Quả này bé hơn, bỏ qua
Quả này lớn nhất
Quả này mới lớn nhất ?
Quả này bé hơn, bỏ qua
Ồ ! Quả này lớn hơn
Tìm ra quả lớn nhất rồi !!!
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 Ai.
Bước 4: Đưa ra màn hình giá trị Max rồi kết thúc.
3. Tìm giá trị lớn nhất và nhỏ nhất của dãy số.
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:
1. 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.
GHI NHỚ
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
“Viết chương trình nhập vào điểm học kì môn tin học sau đó tính điểm trung bình của cả lớp, thông báo điểm của HS cả lớp và điêm trung bình của lớp?
Câu 2.
LÀM VIỆC VỚI DÃY SỐ
MÔN TIN HỌC LỚP 8
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 (Có k học sinh). In ra màn hình điểm số cao nhất.
Xác định bài toán
- Input: điểm môn tin học của k HS.
- Output: Điểm số cao nhất.
1. Dãy số và biến mảng:
Câu hỏi: Cần bao nhiêu biến trong bài toán trên?
k Biến
Var diem1, diem2, diem 3,…, diemk: real;
…..
Read(diem1);
Read(diem2);
…..
Read(diemk);
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 (Có k học sinh). In ra màn hình điểm số cao nhất.
Xác định bài toán
- Input: điểm của k HS.
- Output: Điểm số cao nhất.
1. Dãy số và biến mảng:
Câu hỏi: Cần bao nhiêu biến trong bài toán trên?
k Biến
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?
Diem
Diem1
Diem2
Diem3
Diem4
Diemk
Chỉ số
Mảng
1. Dãy số và biến mảng:
Diem
Chỉ số
Mảng
Dữ liệu kiểu mảng
1. Dãy số và biến mảng:
Diem
Chỉ số
Phần tử của mảng
1. Dãy số và biến mảng:
- M?t bi?n du?c khai bo cĩ ki?u d? li?u l ki?u m?ng du?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 dy s?.
- M?i s? l gi tr? c?a t?ng ph?n t? trong m?ng.
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 cc ph?n t? cĩ th? t? , m?i ph?n t? d?u cĩ cng m?t ki?u d? li?u, g?i l ki?u c?a ph?n t?.
- M?i ph?n t? du?c xc d?nh b?i ch? s?.
Diem
Chỉ số
1. Dãy số và biến mảng:
2. Ví dụ về biến mảng
Ví dụ:
Var chieucao: array[1 . . 50] of real;
Var tuoi: array[21 . . 80] of integer;
Chỉ số cuối
Chỉ số đầu
Chỉ số cuối
Tên mảng
Tên mảng
Chỉ số đầu
Từ hai ví dụ tên, mảng trong Pascal được khai báo như thế nào?
a. Cách khai báo Biến mảng trong Pascal như sau:
Var Tên_mảng: Array[
Chỉ số đầu, chỉ số cuối: là các hằng nguyên hoặc biểu thức nguyên
Chỉ số đầu <= chỉ số cuối
Giữa hai chỉ số là dấu .. (hai dấu chấm)
2. Ví dụ về biến mảng
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.
2. Ví dụ về biến mảng
Em lấy ví dụ khai báo 1 biến mảng?
Vậy, cách khai báo và sử dụng biến mảng như trên có lợi ích gì?
Khai báo biến mảng ở ví dụ 1:
Var Diemtin: array [1..40] of real;
2. Ví dụ về biến mảng
Diemtin
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
b. Nhập dữ liệu 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
2. Ví dụ về biến mảng
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
C. In các phần tử trong biến mảng
Các bước
Thể hiện bằng pascal
2. Ví dụ về biến mảng
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:
Cùng tìm thuật toán
4.5
7.0
8.0
Quả này bé hơn, bỏ qua
Quả này lớn nhất
Quả này mới lớn nhất ?
Quả này bé hơn, bỏ qua
Ồ ! Quả này lớn hơn
Tìm ra quả lớn nhất rồi !!!
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 Ai.
Bước 4: Đưa ra màn hình giá trị Max rồi kết thúc.
3. Tìm giá trị lớn nhất và nhỏ nhất của dãy số.
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:
1. 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.
GHI NHỚ
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
“Viết chương trình nhập vào điểm học kì môn tin học sau đó tính điểm trung bình của cả lớp, thông báo điểm của HS cả lớp và điêm trung bình của lớp?
Câu 2.
 







Các ý kiến mới nhất