Bài giảng chi tiết làm việc với dãy số tin 8, các bước hướng dẫn giảng chi tiết làm việc với dãy số Bài giảng chi tiết làm việc với dãy số tin 8, các bước hướng dẫn giảng chi tiết làm việc với dãy số
Trang 111:46:51 sáng
Trong Pascal câu lệnh lặp với số lần chưa biết trước có dạng như thế nào? Cách
thực hiện ra sao?
Trang 211:46:52 sáng
Câu lệnh lặp với số lần chưa biết trước có dạng: While <điều kiện> do <câu lệnh> ;
Cách thực hiện:
1.Kiểm tra điều kiện
2.Nếu điều kiện sai, câu lệnh bị bỏ qua, việc thực hiện lệnh lặp kết thúc Nếu điều kiện đúng,
thực hiện câu lệnh và quay lại bước 1.
Trang 311:46:52 sáng
Giả sử ta cần viết chương trình nhập điểm kiểm tra môn Tin học của các học sinh trong một lớp (có n học sinh) và in ra màn hình
Trang 411:46:52 sáng
- Nhập điểm cho n học sinh thì sao?
Readln (diem1);
Readln (diem2);
Readln (diem1);
Khai báo 2 biến như sau:
Var diem1, diem2: real;
- Nhập điểm cho 1 học
sinh
- Nhập điểm cho 2 học
sinh
Khai báo 1 biến như sau:
Var diem1: real;
Trang 511:46:52 sáng
Cần bao nhiêu biến cho
bài toán trên?
Trang 6Việc quản lí các biến càng khó khăn.
Nhầm lẫn và sai sót.
Trang 7Sử dụng: KIỂU DỮ LIỆU MẢNG
Trang 811:46:53 sáng
11:46
Trang 9Diem3 Diem1 Diem2
Trang 1011:46:53 sáng
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.
- Mỗi phần tử được xác định bởi một chỉ số
- Biến mảng là biến được khai báo kiểu dữ liệu
Trang 12BÀI 9: LÀM VIỆC VỚI DÃY SỐ
Trang 1411:46:53 sáng
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.
- Mỗi phần tử được xác định bởi tên biến mảng và
Trang 15-Chỉ số đầu <= chỉ số cuối (Số nguyên)
-Kiểu dữ liệu có thể là Integer hoặc Real
Var Tên mảng:array[chỉ số đầu chỉ số cuối] of kiểu dữ liệu;
Cú pháp khai báo mảng:
Trang 1611:46:53 sáng
2 Ví dụ về biến mảng
a) Khai báo biến mảng
Ví dụ:
Var chieucao: array [1 50] of real;
Khai báo biến mảng có tên chieucao gồm 50 phần tử
có kiểu số thực
Var Tuoi: array [20 50] of integer;
Khai báo biến mảng có tên Tuoi gồm 31 phần tử có
kiểu số nguyên
Trang 17Sử dụng khai báo mảng để khai báo cân nặng và chiều cao của các bạn học sinh trong lớp em.
Bài làm:
Số lượng học sinh trong lớp là bao
nhiêu?
Cân nặng và chiều cao thuộc những kiểu
dữ liệu nào?
BÀI 9: LÀM VIỆC VỚI DÃY SỐ
Ví dụ:
Var Cannang: array[1 50] of real;
chieucao: array[1 50] of real;
Trang 18Đúng Sai Sai Sai Sai
Cách khai báo biến nào sau đây trong pascal đúng hay sai? Giải thích?
Trang 19-Chỉ số đầu <= chỉ số cuối (Số nguyên)
-Kiểu dữ liệu có thể là integer hoặc real
var Tên mảng:array[chỉ số đầu chỉ số cuối] of kiểu dữ liệu;
Cú pháp :
Trang 2011:46:53 sáng
2 Ví dụ về biến mảng
a) Khai báo 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. Ví dụ:
Write(‘Nhap diem HS thu 1:
end;
Trang 2111:46:53 sáng
2 Ví dụ về biến mảng
a) Khai báo biến mảng
•Lợi ích của việc sử dụng biến mảng:
Có thể sử dụng biến mảng một cách rất hiệu quả trong xử lí dữ liệu.
If diem[i]>8.0 then
Write(‘Gioi’);
end;
Trang 22tên biến mảng[chỉ số]
Ví dụ: Var diem:array [1 50] of integer;
+ Gán giá trị: diem[3]:= 10;
+ Nhập giá trị cho biến mảng: for i:=1 to 5 do readln(diem[i]);
+ Tính tốn: diem[1]:=diem[3]+diem[2];
+ In dữ liệu ra màn hình: for i:=1 to 40 do
if diem[i] >=9.0 then writeln(diem[i]);
Trang 2311:46:53 sáng
2 Ví dụ về biến mảng
b) Truy cập mảng
• Ta sử dụng các phần tử của biến mảng như một biến thơng
thường: gán giá trị, nhập giá trị, tính tốn,…
• Truy cập mảng:
tên biến mảng[chỉ số]
Trang 243 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
Trang 25Quả 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
MAX
Quả này b é
b é hơn, bỏ qua
Trang 263 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
Trang 27If 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]<Min Then Min := 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
Trang 28Nhap 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:
Trang 29“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?
Đún g
Trang 30Củ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ài 9:
Trang 31b) 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
Bài 9:
Củng cố
Trang 32Bà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 ;
Bài 9:
Củng cố
Trang 33Có 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ố……….?
Trang 3411:47:03 sáng
- Xem lại thuật toán tìm giá trị lớn nhất (ví dụ 6, bài 5) để viết
hoàn chỉnh chương trình ở ví dụ mở đầu.
- Học bài
- Làm bài tập 1, 2/SGK
- Chuẩn bị phần còn lại của bài.
- Và xem lại bài tiết sau kiểm tra 15 phút
Trang 3511:47:03 sáng