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

Chia sẻ bởi Vũ Thị Lân | Ngày 24/10/2018 | 24

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:

Hãy nêu cú pháp lặp với số lần chưa
biết trước và giải thích?
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.
KIỂM TRA BÀI CŨ
Em thường nhìn thấy việc xếp hàng tập thể dục, xếp hàng để mua vé, xếp hàng vào lớp…
Tập thể dục
Qua quan sát xếp hàng như trên em thấy sắp xếp công việc có lợi ích gì?
Tiết 56.BÀI 9
LÀM VIỆC VỚI DÃY SỐ (Tiết 1)
1. Dãy số và biến mảng
Xét VD: Viết chương trình nhập điểm kiểm tra môn Tin của các học sinh trong lớp 8B và sau đó in ra màn hình điểm số cao nhất.
Nhập và lưu điểm cho 1 học sinh
Var Diem1: real;
Read(Diem1);
Nhập và lưu điểm cho 2 học sinh
Var Diem1, Diem2: real;
Read(Diem1); Read(Diem2);
Làm việc với dãy số (Tiết 1)
Tiết 56. Bài 9:
1. Dãy số và biến mảng
Vậy nhập và lưu điểm cho 40 học sinh thì sao?
Khai báo 40 biến:
Var Diem1, Diem2, Diem3, …, Diem40: Real;
Sử dụng 40 câu lệnh nhập điểm:
Read(Diem1); Read(Diem2); Read(Diem3); ….;Read(Diem40);
Những hạn chế:
- Phải khai báo quá nhiều biến
Chương trình phải viết khá dài
Dễ nhầm lẫn giữa các biến khi viết chương trình
Làm việc với dãy số (Tiết 1)
Khi viết chương trình với bài toán cần nhập với lượng dữ liệu lớn thì có những hạn chế gì?

Tiết 56. Bài 9:
1. Dãy số và biến mảng
,
var
Diem
1
Diem
2
Diem
,
,
3
,
Diem
40
:
Real
;
........
……
Diem
Chỉ số
- Với i=1 đến 40: hãy nhập Diem_i;
Khắc phục hạn chế:
- Lưu các biến có liên quan thành một dãy và đặt một tên chung
- Đánh số thứ tự (chỉ số) cho các biến đó
- Sử dụng câu lệnh lặp để xử lí dữ liệu
7
9
5
10
Dữ liệu kiểu mảng
Read(Diem1); Read(Diem2); Read(Diem3); ….;Readln(Diem40);
Làm việc với dãy số (Tiết 1)
Vậy phải khắc phục như thế nào?
Tiết 56. Bài 9:
1. Dãy số và biến mảng
* Dữ liệu kiểu mảng:
- Là dãy hữu hạn các phần tử có cùng kiểu dữ liệu, được sắp xếp thứ tự bằng cách gán cho mỗi phần tử một chỉ số.
Làm việc với dãy số (Tiết 1)
Dữ liệu kiểu mảng là gì?
A
i
1
2
3
4
5
6
Trong đó:
Tên mảng: A
Chỉ số: i
Số phần tử của mảng: 6
Kiểu dữ liệu của các phần tử: Kiểu số nguyên
Khi tham chiếu đến phần tử thứ i, ta viết A[i]
Ví dụ: A[5]=17
17
Tiết 56. Bài 9:
1. Dãy số và biến mảng
* 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, tức là một dãy số (số nguyên hoặc số thực)
- Mỗi số là giá trị của các phần tử tương ứng
Giá trị của mảng
Biến mảng
Làm việc với dãy số (Tiết 1)
Tiết 56. Bài 9:
2. Ví dụ về biến mảng
a.Cách khai báo mảng trong Pascal:
9
Tuoi
7
6
8
….
1 2 3 4 …. 40
10
Var Tuoi :
Chieucao
2 3 4 5 …. 20
Var chieucao: array[2..20] of Real;
Chỉ số
array
[1..40]
of Integer;
Chỉ số
1.7
1.5
1.65
1.75
….
1.8
Làm việc với dãy số (Tiết 1)
Tiết 56. Bài 9:
Ví dụ:
2. Ví dụ về biến mảng
a. Khai báo mảng một chiều trong Pascal:
Trong đó:
Tên mảng: Do người lập trình đặt
- array, of: Là từ khóa của chương trình
Chỉ số đầu, chỉ số cuối: Là 2 số nguyên, thỏa mãn: chỉ số đầu ≤ chỉ số cuối giữa hai chỉ số là dấu ..
- Kiểu dữ liệu: Là kiểu của các phần tử, là Integer hoặc Real
- Số phần tử = chỉ số cuối – chỉ số đầu + 1
Làm việc với dãy số (Tiết 1)
Tiết 56. Bài 9:
Var
Tên mảng :
of ;
array
[ .. ]
2. Ví dụ về biến mảng
a) Cách khai báo mảng trong Pascal:
Ví dụ: Cách khai báo đơn giản một biến mảng trong ngôn ngữ Pascal như sau:
var Tuoi: array[21..80] of integer;
Tên biến
Số lượng pt
Kiểu dữ liệu chung
Chỉ số đầu
Chỉ số cuối
var Chieucao: array[1..50] of real;
Làm việc với dãy số (Tiết 1)
Tiết 56. Bài 9:
Var Tênmảng: array [..] of ;
2. Ví dụ về biến mảng
a) Cách khai báo mảng trong Pascal:
Var diem : array[1..40] of real;
Var A: array[1..10] of integer;
B: array[1..10] of integer;
Ví dụ:
Var A ,B: array[1..10] of integer;
2/ Mảng: A, B gồm 10 phần tử thuộc kiểu dữ liệu số nguyên?
Hãy khai báo các mảng sau:
1/ Mảng: Diem gồm 40 phần tử thuộc kiểu dữ liệu số thực?
Làm việc với dãy số (Tiết 1)
Tiết 56. Bài 9:
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;
Không xác định
2. Ví dụ về biến mảng
a) Cách khai báo mảng trong Pascal:
Làm việc với dãy số (Tiết 1)
Tiết 56. Bài 9:
Lưu ý:
Kích thước của mảng phải được khai báo bằng một con số cụ thể
Làm việc với dãy số (Tiết 1)
Tiết 56. Bài 9:
2. Ví dụ về biến mảng
a) Cách khai báo mảng trong Pascal:
b) Truy cập đến giá trị phần tử trong mảng:
Tên mảng [Chỉ số]
Cú pháp:
Tênmảng: array [..] of ;
VD: DiemTin[1]
 Tham chiếu tới phần tử thứ nhất của mảng DiemTin
Làm việc với dãy số (Tiết 1)
Tiết 56. Bài 9:
2. Ví dụ về biến mảng
b) Truy cập đến giá trị phần tử trong mảng:
Tên mảng [Chỉ số]
Cú pháp:
3 4 5 6 7
Cho mảng A chứa các giá trị sau:
Ví dụ1:
- Xác định các giá trị của: A[1], A[3], A[5], A[10] ?
A[1], A[10]: không xác định
A[3]=2; A[5]=4
Làm việc với dãy số (Tiết 1)
Tiết 56. Bài 9:
i
A
2. Ví dụ về biến mảng
b) Truy cập đến giá trị phần tử trong mảng:
Tên mảng [Chỉ số]
Cú pháp:
A[3]:=2;
A[4]:=5;
A[6]:=A[3]+A[4];
Ví dụ 2:
Cho các câu lệnh sau:
Giá trị của các phần A[3], A[4], A[6] sẽ là bao nhiêu?
A[3]=2
A[4]=5
A[6]=7
- Có thể gán giá trị, đọc giá trị và thực hiện tính toán với các phần tử trong mảng
Có thể thực hiện các thao tác nào với các phần tử trong mảng?
Làm việc với dãy số (Tiết 1)
Tiết 56. Bài 9:
2. Ví dụ về biến mảng
For i:=1 to 40 do Readln(DiemTin[i]);
Ví dụ: Gán giá trị cho 40 phần tử của mảng DiemTin
For i := … to … do Readln(Tenmang[i]);
DiemTin[1]:=5;
DiemTin[2]:=7;
… DiemTin[40]:=10;
Hoặc Readln(DiemTin[1]);
Readln(DiemTin[2]);
… Readln(DiemTin([40]);
Viết chương trình khá dài
Làm việc với dãy số (Tiết 1)
b) Truy cập đến giá trị phần tử trong mảng:
Tiết 56. Bài 9:
2. Ví dụ về biến mảng
c. Nhập giá trị cho mảng
Làm việc với dãy số (Tiết 1)
Tiết 56. Bài 9:
Writeln(‘Nhap so phan tu cua mang:’);
Readln(n);
For i:=1 to n do
Begin
Writeln(‘…….[‘,i,’]=‘);
Readln(Tenmang[i]);
End;
A
n
1. Nhập số phần tử của mảng.
Write(‘ Nhap vao so HS:’);
Readln(n);
2. Nhập vào giá trị từng phần tử của mảng (A[i]).
For i:=1 to n do
Begin
write(‘Diem cho HS thu ’ ,i, ’ : ’);
readln(A[i]);
end;
Các bước
Thể hiện bằng pascal
với n = 7
9
10
9
6
8
5
7
Sử dụng cấu trúc lặp để nhập dữ liệu
- Sử dụng lệnh Read (Readln) kết hợp với For ... do.
2. Ví dụ về biến mảng
c. Nhập giá trị cho mảng
Làm việc với dãy số (Tiết 1)
Tiết 56. Bài 9:
A
n
1. Nhập số phần tử của mảng.
Write(‘ Nhap vao so HS:’);
Readln(n);
2. Nhập vào giá trị từng phần tử của mảng (A[i]).
For i:=1 to n do
Begin
write(‘Diem cho HS thu ’ ,i, ’ : ’);
readln(A[i]);
end;
Các bước
Thể hiện bằng pascal
với n = 7
9
10
9
6
8
5
7
Sử dụng cấu trúc lặp để nhập dữ liệu
- Sử dụng lệnh Read (Readln) kết hợp với For ... do.
2. Ví dụ về biến mảng
c. Nhập giá trị cho mảng
Làm việc với dãy số (Tiết 1)
Tiết 56. Bài 9:
2. Ví dụ về biến mảng
d. In giá trị các phần tử của mảng:
For i:= … to … do Writeln(Tenmang[i]);
For i:=1 to 40 do Writeln(DiemTin[i]);
DiemTin
Chỉ số
DiemTin[1]
= 8
8
Ví dụ: In giá trị của 40 phần tử trong mảng DiemTin
DiemTin[4]
= 6
6
Làm việc với dãy số (Tiết 1)
Tiết 56. Bài 9:
Writeln(‘ Điểm của lớp : ’);
For i:=1 to n do
Write(A[i]:5);
Điểm của lớp:

- Thông báo
- In giá trị của từng phần tử
8 6 7 6 …
Kết quả trên màn hình:
- Sử dụng cấu trúc lặp để in dữ liệu
Sử dụng lệnh Write (Writeln) kết hợp với For ... do.
2. Ví dụ về biến mảng
d. In giá trị các phần tử của mảng:
Làm việc với dãy số (Tiết 1)
Tiết 56. Bài 9:
b)
Làm việc với dãy số (Tiết 1)
Tiết 56. Bài 9:
Củng cố
Bài 1: Em hãy chọn đáp án đúng:
A. Dữ liệu kiểu mảng là tập hợp các phần tử không có thứ tự và mọi phần tử có cùng một kiểu dữ liệu.
B. Dữ liệu kiểu mảng là tập hợp các phần tử có thứ tự và mỗi một phần tử trong mảng có thể có các kiểu dữ liệu khác nhau .
C. Dữ liệu kiểu mảng là tập hợp các phần tử có thứ tự và mọi phần tử có cùng một kiểu dữ liệu.
b) Var X: Array[3.. 4.8] of Integer;
c) Var X: Array[10 .. 1] of Integer;
d) Var X: Array[4 .. 10] of Real;
a) Var X: Array[10 , 13] of Real;
Bài 2: Cách khai báo biến mảng sau đây đúng hay sai? Khoanh tròn vào chỗ sai (nếu có).
a) Sửa dấu , thành dấu ..
b) Sửa 4.8 thành số nguyên
c) Chỉ số cuối phải >= chỉ số đầu
d) Đúng
Củng cố
Bài 3: 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? Tại sao? Nếu sai thì sửa lại cho đúng?
Var
N : Integer ;
A: array [ 1 .. N ] of real ;
Câu lệnh trên không thể thực hiện được vì chỉ số cuối phải là 1 số xác định
Var
N : Integer ;
A: array [ 1 .. 100] of real ;
Củng cố
1
2
3
4
5
Có 3 chữ cái: Là từ khóa để khai báo biến
trong chương trình Pascal?
Có 4 chữ cái: Là câu lệnh trong chương trình Pascal
dùng để dừng chương trình chờ ta nhập giá trị cho biến?
Có 4 chữ cái: Là từ khóa trong chương trình Pascal
dùng để thể hiện những biến kiểu thực?
Có 3 chữ cái: Là tên của hàm tìm giá trị lớn nhất?
Có 6 chữ cái: Chỉ số đầu, chỉ số cuối trong khai báo mảng
Thường là những số…………….?
HỌC MÀ VUI - VUI MÀ HỌC
Dữ liệu kiểu mảng là một dãy (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.
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ử đó.(tên mảng[chỉ số])
Sử dụng biến mảng và câu lệnh lặp giúp cho việc viết chương trình dễ dàng và ngắn gọn hơn.
Ghi nhớ
Bài 9:
Làm việc với dãy số (Tiết 1)
- Học bài cũ
- Tìm hiểu thuật toán tìm giá trị lớn nhất, nhỏ nhất của dãy số (xem lại ví dụ 6 trang 43 SGK)
- Về nhà làm các bài tập 2, 4, 5 trang 79 SGK
- Làm các bài tập 9.1, 9.2, 9.3, 9.7 ở sách bài tập
HƯỚNG DẪN VỀ 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ẻ: Vũ Thị Lân
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)