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

Chia sẻ bởi Nguyễn Văn Hoè | Ngày 24/10/2018 | 39

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:

`
Nhiệt liệt chào mừng các thầy cô giáo
ĐếN dự giờ LớP 8A
môn TIN HọC
Thực hiện: Nguyễn Văn Hòe-THCS Hòa Bình – Tương Dương
- Nhắc lại cú pháp vòng lặp không xác định?
While <điều kiện> do ;
điều kiện
câu lệnh
: Thường là phép so sánh.
: Câu lệnh đơn giản hay câu lệnh ghép trong Pascal.
Thứ 4 ngày 21 tháng 03 năm 2012
Bài cũ:
1. Dãy số và biến mảng.
Thời lượng: 2 tiết – Nội dung: 3 Phần
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ố.
Thứ 4 ngày 21 tháng 03 năm 2012
Bài 9: LÀM VIỆC VỚI DÃY SỐ
1. Dãy số và biến mảng
Ví dụ 1. Đề nghị nghiên cứu SGK – Trang 75.
Thứ 4 ngày 21 tháng 03 năm 2012
Tiết 57 - Bài 9: LÀM VIỆC VỚI DÃY SỐ (t1)
Ví dụ 2. Giả sử chúng ta cần viết chương trình nhập nhiệt độ trung bình các ngày trong một tuần và tìm ngày có nhiệt độ cao nhất?
Để viết được chương trình trên chúng ta cần khai báo mấy biến và cần viết mấy câu lệnh để nhập dữ liệu cho các biến đó?
1. Dãy số và biến mảng
{Khai bao bien}
Var t1, t2, t3, t4, t5, t6, t7, max: real;
Begin
{Nhap nhiet do trung binh cua cac ngay}
Write(`Nhiet do thu hai la:`); readln(t1);
Write(`Nhiet do thu ba la:`); readln(t2);
Write(`Nhiet do thu tu la:`); readln(t3);
Write(`Nhiet do thu nam la:`); readln(t4);
Write(`Nhiet do thu sau la:`); readln(t5);
Write(`Nhiet do thu bay la:`);readln(t6);
Write(`Nhiet do thu chu nhat la:`);readln(t7);
t1:=max;
If t1If t2If t3If t4If t5If t6Write(‘Nhiet do cao nhat la:‘ ,max:2:1,‘oC`);
Readln
End.
t1, t2, t3, t4, t5, t6, t7
Tiết 57 - Bài 9: LÀM VIỆC VỚI DÃY SỐ (t1)
1. Dãy số và biến mảng
Ví dụ trên: Đó là việc theo dõi nhiệt độ của một tuần.
Nếu theo dõi cả một tháng 30 ngày
thì số biến sẽ là bao nhiêu?
Việc so sánh khi đó sẽ gặp khó khăn gì?
Cần có 30 biến!
- Việc so sánh các nhiệt độ đã nhập còn khó khăn hơn. Ta cần nhớ hết tên các biến đã khai báo và rất khó tránh khỏi nhầm lẫn, sai sót khi làm việc với các biến đó.
Tiết 57 - Bài 9: LÀM VIỆC VỚI DÃY SỐ (t1)
- Ta có thể lưu nhiều dữ liệu như: t1, t2, t3, t4, t5, t6, t7 bằng một biến duy nhất và đánh số thứ tự cho các giá trị đó.
- Sử dụng quy luật tăng hay giảm của số thứ tự và một câu lệnh lặp để xử lý.
1. Dãy số và biến mảng
Ví dụ:
+ Với i=1 đến 7: hãy nhập t_i;
+ Với i=1 đến 7 ; hãy so sánh Max với t_i;
. Kiểu mảng
Tiết 57 - Bài 9: LÀM VIỆC VỚI DÃY SỐ (t1)
Ngôn ngữ Pascal trang bị một kiểu dữ liệu gọi là:
1
2
3
5
Hình 40
23.6
18.8
19.0
20.5
4
1. Dãy số và biến mảng
. Biến mảng
. – Nhiệt độ: 23.6; 20.5; 18.8; …; 23.0 như trên là ví dụ về dãy số và chứa chúng là biến mảng nhiet_do.
- Ví dụ biến mảng: Nhiet_do
22.4
24.3
23.0
6
7
Tiết 57 - Bài 9: LÀM VIỆC VỚI DÃY SỐ (t1)
Tên biến
Chỉ số
VD: A[1], A[2], A[3]

1. Dãy số và biến mảng

?4. Dữ liệu kiểu mảng là gì?
. 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ự và mọi phần tử đều có cùng một kiểu dữ liệu.
Tiết 57 - Bài 9: LÀM VIỆC VỚI DÃY SỐ (t1)
Ghi chú:
Biến mảng là biến có kiểu dữ liệu là kiểu mảng.
Giá trị của biến mảng là một mảng
2. Ví dụ về biến mảng
. - Ví dụ: Khai báo một biến mảng
Var Cannang: array[1..30] of real;
SBD: array[100..200] of integer;
. Chỉ số đầu và chỉ số cuối là hai số nguyên hoặc biểu thức nguyên thoả mãn chỉ số đầu ≤ chỉ số cuối và kiểu dữ liệu có thể là integer hoặc real.
1. Dãy số và biến mảng
Tiết 57 - Bài 9: LÀM VIỆC VỚI DÃY SỐ (t1)
Ví dụ: nghiên cứu SGK trang 76
Viết cú pháp lệnh khai báo biến mảng?
Cú pháp:
1. Dãy số và biến mảng
2. Ví dụ về biến mảng
Ví dụ 3. Tiếp tục với ví dụ 2, thay vì khai báo các biến t1, t2, t3,... t7, để lưu nhiệt độ của cả tuần, ta khai báo biến mảng nhiet_do như sau:
Var nhiet_do: array[1..7] of real;
max: real;
Var t1, t2, t3, t4, t5, t6, t7, max: real;
Tiết 57 - Bài 9: LÀM VIỆC VỚI DÃY SỐ (t1)
1. Dãy số và biến mảng
2. Ví dụ về biến mảng

For i:=1 to 7 do
begin
write(‘nhap nhiet do ngay thu:’,i); readln(nhiet_do[i]);
end;
Write(`Nhiet do thu hai la:`);readln(t1);
Write(`Nhiet do thu ba la:`);readln(t2);
Write(`Nhiet do thu tu la:`);readln(t3);
Write(`Nhiet do thu nam la:`);readln(t4);
Write(`Nhiet do thu sau la:`);readln(t5);
Write(`Nhiet do thu bay la:`);readln(t6);
Write(`Nhiet do thu chu nhat la:`);readln(t7);
. Nhập nhiệt độ của một tuần
Tiết 57 - Bài 9: LÀM VIỆC VỚI DÃY SỐ (t1)
1. Dãy số và biến mảng
2. Ví dụ về biến mảng
Max:=nhiet_do[1];
For i:=2 to 7 do
if nhiet_do[i]>Max then Max:=nhiet_do[i];
Write(`nhiet do cao nhat la:‘ , max:2:1,‘oC`);
If t1If t2If t3If t4If t5If t6Write(`So cao nhat la:`,max:2:1, `oC `);
Max:=t1;
. So sánh:
Tiết 57 - Bài 9: LÀM VIỆC VỚI DÃY SỐ (t1)
1. Dãy số và biến mảng
2. Ví dụ về biến mảng
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, tìm giá trị lớn nhất và nhỏ nhất như thế nào. Tìm hiểu ở tiết sau
. Sử dụng biến mảng tiết kiệm rất nhiều thời gian, công sức và dễ kiểm soát được lỗi khi viết chương trình.
?. Cách khai báo và sử dụng biến mảng như trên có lợi gì.
Tiết 57 - Bài 9: LÀM VIỆC VỚI DÃY SỐ (t1)
Tiết 57 - Bài 9: LÀM VIỆC VỚI DÃY SỐ (t1)
Bài tập. Làm bài 2 –SGK trang 79.
Các khai báo biến mảng sau đây đúng hay sai?
S
S
S
S
Đ
1. Dãy số và biến mảng
2. Ví dụ về biến mảng
Bài tập
- Làm bài tập 4 Sgk trang 79.
Tiết 57 - Bài 9: LÀM VIỆC VỚI DÃY SỐ (t1)
Câu lệnh khai báo biến mảng sau đây máy tính có thực hiện được không?
Var N: Integer;
A: array[1..N] of real;
Đáp án: máy tính không thể thực hiện được vì N chưa phải là một số cụ thể.
1. Dãy số và biến mảng
2. Ví dụ về biến mảng
Bài tập.
Viết câu lệnh khai báo biến mảng: Có tên mảng là XYZ, có 100 phần tử, có kiểu dữ liệu là integer.
Var XYZ: array[1..100] of integer;
Tiết 57 - Bài 9: LÀM VIỆC VỚI DÃY SỐ (t1)
Hãy nêu cú pháp của khai báo biến mảng?
Lợi ích của của biến mảng?
Tiết 57 - Bài 9: LÀM VIỆC VỚI DÃY SỐ (t1)
Tiếp tục với ví dụ 2
 * nhiet_do[i] là phần tử thứ i của biến mảng nhiet_do.
. * Ta có thể gán giá trị cho các phần tử của mảng bằng câu lệnh gán:
Nhiet_do[1]:=34.0;
Nhiet_do[2]:=17.5;
. * Nhập dữ liệu từ bàn phím bằng câu lệnh lặp:
for i := 1 to 7 do
begin
Write(‘nhiet_do thu[‘,I,’]=‘);readln(nhiet_do[i]);
end;
1. Dãy số và biến mảng
2. Ví dụ về biến mảng
. 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ử đó.
?. Việc gán, tính toán với các giá trị của phần tử mảng thực hiện thông qua đối tượng nào.
3. Tìm giá trị lớn nhất và nhỏ nhất của dãy số
1. Dãy số và biến mảng
2. Ví dụ về biến mảng
Ví dụ 3. 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à số lớn nhất. N cũng được nhập từ bàn phím (xem lại thuật toán trong ví dụ 6, bài 5).
- Ý tưởng: Trước hết ta khai báo biến N để nhập số các số nguyên sẽ được nhập vào. Sau đó khai báo N biến lưu các số được nhập vào như là các phần tử của một biến mảng A. Ngoài ra, cần khai báo một biến i làm biến đếm cho các lệnh lặp và biến Max để lưu số lớn nhất, Min để lưu số nhỏ nhất. Phần khai báo của chương trình có thể như sau:
program MaxMin;
uses crt;
Var
i, n, Max, Min: integer;
A: array[1..100] of integer;
Phần thân chương trình sẽ tương tự dưới đây:
Begin
clrscr;
write(`Hay nhap do dai cua day so, N = `); readln(n);
writeln(`Nhap cac phan tu cua day so:`);
For i:=1 to n do
Begin
write(`a[`,i,`]=`); readln(a[i]);
End;
Max:=a[1]; Min:=a[1];
for i:=2 to n do
begin if Max if Min>a[i] then Min:=a[i]
end;
write(`So lon nhat la Max = `,Max);
write(`; So nho nhat la Min = `,Min);
readln
End.
Về BĐTD
- Lưu ý: Số tối đa các phần tử của mảng (còn gọi là kích thước của mảng) phải được khai báo bằng một số cụ thể (ở đây là 100, mặc dù số các số nhập vào sau này có thể nhỏ hơn nhiều so với 100).
3. Tìm giá trị lớn nhất và nhỏ nhất của dãy số
1. Dãy số và biến mảng
2. Ví dụ về biến mảng
Về BĐTD
3. Tìm giá trị lớn nhất và nhỏ nhất của dãy số
1. Dãy số và biến mảng
2. Ví dụ về biến mảng
GHI NHỚ
- 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ự và mọi phần tử đều có cùng một kiểu dữ liệu.
- 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ử đó.
- 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.
Bài tập 4. SGK. Câu lệnh khai báo biến mảng sau đây máy tính có thực hiện
được không?
var N: integer;
A: array[1..N] of real;
N: không là một số cụ thể
Chuẩn bị tốt cho bài thực hành
* 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 Văn Hoè
Dung lượng: | Lượt tài: 2
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)