Bài 11. Kiểu mảng

- 0 / 0
(Tài liệu chưa được thẩm định)
Nguồn:
Người gửi: Nguyễn Thị Quỳnh Nha
Ngày gửi: 22h:57' 17-10-2020
Dung lượng: 481.0 KB
Số lượt tải: 396
Nguồn:
Người gửi: Nguyễn Thị Quỳnh Nha
Ngày gửi: 22h:57' 17-10-2020
Dung lượng: 481.0 KB
Số lượt tải: 396
Số lượt thích:
0 người
CHÀO MỪNG QUÝ THẦY CÔ GIÁO
VỀ DỰ GIỜ CHUYÊN ĐỀ
TẠI TRƯỜNG THPT HƯỚNG HÓA
Câu hỏi: Trong NNLT Pascal, hãy trình bày cách khai báo biến mảng một chiều? Cho VD?
Khai báo:
Trực tiếp:
Var: Array[kiểu chỉ số] of ;
Gián tiếp:
Type = Array[kiểu chỉ số] of ;
Var: ;
BÀI CŨ:
Ví dụ:
- Cách tham chiếu đến các phần tử của mảng một chiều?
Tên biến mảng[chỉ số phần tử]
VD: A[2],.....
Readln(A[1]);
Writeln(A[3]);
BÀI CŨ:
Tiết 27:
KIỂU MẢNG (T2)
KIỂU MẢNG (T2)
1. KIỂU MẢNG MỘT CHIỀU
a. Khai báo:
b. Một số ví dụ:
Ví dụ 1: Tìm giá trị và chỉ số phần tử lớn nhất của dãy gồm N số nguyên A1, A2, A3, ...., AN (N≤250).
VD: cho dãy A như sau:
A1
A2
A3
A4
A5
A6
A7
A8
A9
A10
Giá trị lớn nhất cần tìm là 15 và có chỉ số là 9
KIỂU MẢNG (T2)
Input:
* Xác định bài toán:
Output:
Số nguyên dương N (N≤250) và dãy N số nguyên A1, A2, A3, ...., AN
Chỉ số và giá trị phần tử lớn nhất trong dãy (Nếu có nhiều phần tử lớn nhất thì chỉ cần đưa ra một phần tử).
Ví dụ 1: Tìm giá trị và chỉ số phần tử lớn nhất của dãy gồm N số nguyên A1, A2, A3, ...., AN (N≤250).
KIỂU MẢNG (T2)
* Ý tưởng giải thuật
5
1
6
4
9
2
1
5
6
4
9
HÃY TÌM XEM HỘP NÀO CHỨA SỐ CÓ GIÁ TRỊ LỚN NHẤT?
KIỂU MẢNG (T2)
5
1
6
6
9
2
HÃY TÌM XEM HỘP NÀO CHỨA SỐ CÓ GIÁ TRỊ LỚN NHẤT?
5
6
9
1
2
3
4
5
6
Trả lời: Tại hộp thứ 5 chứa số có giá trị lớn nhất (9)
KIỂU MẢNG (T2)
Phiếu học tập 1:
Trình bày thuật toán tìm giá trị và chỉ số phần tử lớn nhất của dãy gồm N số nguyên A1, A2,..., AN
KIỂU MẢNG (T2)
* Thuật toán:
B1: Nhập N và dãy A1, A2, A3, ...., AN
B2: Max A1; csmax 1; i 2;
B3: Nếu i>N thì đưa ra Max và csmax rồi kết thúc.
B4:
B4.1: Nếu Ai > Max thì Max Ai và csmax i;
B4.2: i i + 1 rồi quay lại B3
KIỂU MẢNG (T2)
* Cài đặt giải thuật:
? Để biểu diễn dãy số trên cần sử dụng biến kiểu nào cho phù hợp? Hãy khai báo?
Tổ chức dữ liệu:
KIỂU MẢNG (T2)
Nhập dữ liệu:
- Nhập số lượng phần tử N
- Nhập lần lượt từng phần tử của dãy số: A1,A2 ,..., AN
* Cài đặt giải thuật:
Tìm giá trị và chỉ số phần tử lớn nhất trong dãy vừa nhập:
KIỂU MẢNG (T2)
Nhập dữ liệu:
- Nhập số lượng phần tử N
- Nhập lần lượt từng phần tử của dãy số: A1,A2 ,..., AN
1
2
3
N
.......
Readln(A[1])
Readln(A[2])
Readln(A[3])
Readln(A[N])
A
Readln(A[i])
(i = 1..N)
* Cài đặt giải thuật:
KIỂU MẢNG (T2)
Phiếu học tập 2:
Viết đoạn chương trình nhập dữ liệu: nhập dãy gồm N phần tử A1, A2, ..., AN:
KIỂU MẢNG (T2)
* Cài đặt giải thuật:
Nhập dữ liệu:
KIỂU MẢNG (T2)
Phiếu học tập 3:
Viết đoạn chương trình tìm giá trị và chỉ số phần tử lớn nhất:
KIỂU MẢNG (T2)
Tìm giá trị và chỉ số phần tử lớn nhất trong dãy vừa nhập:
* Cài đặt giải thuật:
KIỂU MẢNG (T2)
CHƯƠNG TRÌNH
KIỂU MẢNG (T2)
VẬN DỤNG
Hãy sửa lại chương trình trên để đưa ra giá trị và chỉ số của phần tử cuối cùng có giá trị lớn nhất?
KIỂU MẢNG (T2)
CỦNG CỐ
Kiến thức cần nhớ:
- Thuật toán tìm MAX
- Các thao tác cơ bản trên mảng một chiều: Khai báo, truy cập đến các phần tử, duyệt mảng...
KIỂU MẢNG (T2)
Hãy sửa lại chương trình trên để đưa ra giá trị và chỉ số của phần tử có giá trị nhỏ nhất?
BÀI TẬP VỀ NHÀ
KIỂU MẢNG (T2)
Hãy sửa lại chương trình trên để đưa ra giá trị và chỉ số của phần tử có giá trị nhỏ nhất?
BÀI TẬP VỀ NHÀ
KIỂU MẢNG (T2)
XIN CHÂN THÀNH CẢM ƠN
QUÝ THẦY CÔ GIÁO
VÀ CÁC EM!
VỀ DỰ GIỜ CHUYÊN ĐỀ
TẠI TRƯỜNG THPT HƯỚNG HÓA
Câu hỏi: Trong NNLT Pascal, hãy trình bày cách khai báo biến mảng một chiều? Cho VD?
Khai báo:
Trực tiếp:
Var
Gián tiếp:
Type
Var
BÀI CŨ:
Ví dụ:
- Cách tham chiếu đến các phần tử của mảng một chiều?
Tên biến mảng[chỉ số phần tử]
VD: A[2],.....
Readln(A[1]);
Writeln(A[3]);
BÀI CŨ:
Tiết 27:
KIỂU MẢNG (T2)
KIỂU MẢNG (T2)
1. KIỂU MẢNG MỘT CHIỀU
a. Khai báo:
b. Một số ví dụ:
Ví dụ 1: Tìm giá trị và chỉ số phần tử lớn nhất của dãy gồm N số nguyên A1, A2, A3, ...., AN (N≤250).
VD: cho dãy A như sau:
A1
A2
A3
A4
A5
A6
A7
A8
A9
A10
Giá trị lớn nhất cần tìm là 15 và có chỉ số là 9
KIỂU MẢNG (T2)
Input:
* Xác định bài toán:
Output:
Số nguyên dương N (N≤250) và dãy N số nguyên A1, A2, A3, ...., AN
Chỉ số và giá trị phần tử lớn nhất trong dãy (Nếu có nhiều phần tử lớn nhất thì chỉ cần đưa ra một phần tử).
Ví dụ 1: Tìm giá trị và chỉ số phần tử lớn nhất của dãy gồm N số nguyên A1, A2, A3, ...., AN (N≤250).
KIỂU MẢNG (T2)
* Ý tưởng giải thuật
5
1
6
4
9
2
1
5
6
4
9
HÃY TÌM XEM HỘP NÀO CHỨA SỐ CÓ GIÁ TRỊ LỚN NHẤT?
KIỂU MẢNG (T2)
5
1
6
6
9
2
HÃY TÌM XEM HỘP NÀO CHỨA SỐ CÓ GIÁ TRỊ LỚN NHẤT?
5
6
9
1
2
3
4
5
6
Trả lời: Tại hộp thứ 5 chứa số có giá trị lớn nhất (9)
KIỂU MẢNG (T2)
Phiếu học tập 1:
Trình bày thuật toán tìm giá trị và chỉ số phần tử lớn nhất của dãy gồm N số nguyên A1, A2,..., AN
KIỂU MẢNG (T2)
* Thuật toán:
B1: Nhập N và dãy A1, A2, A3, ...., AN
B2: Max A1; csmax 1; i 2;
B3: Nếu i>N thì đưa ra Max và csmax rồi kết thúc.
B4:
B4.1: Nếu Ai > Max thì Max Ai và csmax i;
B4.2: i i + 1 rồi quay lại B3
KIỂU MẢNG (T2)
* Cài đặt giải thuật:
? Để biểu diễn dãy số trên cần sử dụng biến kiểu nào cho phù hợp? Hãy khai báo?
Tổ chức dữ liệu:
KIỂU MẢNG (T2)
Nhập dữ liệu:
- Nhập số lượng phần tử N
- Nhập lần lượt từng phần tử của dãy số: A1,A2 ,..., AN
* Cài đặt giải thuật:
Tìm giá trị và chỉ số phần tử lớn nhất trong dãy vừa nhập:
KIỂU MẢNG (T2)
Nhập dữ liệu:
- Nhập số lượng phần tử N
- Nhập lần lượt từng phần tử của dãy số: A1,A2 ,..., AN
1
2
3
N
.......
Readln(A[1])
Readln(A[2])
Readln(A[3])
Readln(A[N])
A
Readln(A[i])
(i = 1..N)
* Cài đặt giải thuật:
KIỂU MẢNG (T2)
Phiếu học tập 2:
Viết đoạn chương trình nhập dữ liệu: nhập dãy gồm N phần tử A1, A2, ..., AN:
KIỂU MẢNG (T2)
* Cài đặt giải thuật:
Nhập dữ liệu:
KIỂU MẢNG (T2)
Phiếu học tập 3:
Viết đoạn chương trình tìm giá trị và chỉ số phần tử lớn nhất:
KIỂU MẢNG (T2)
Tìm giá trị và chỉ số phần tử lớn nhất trong dãy vừa nhập:
* Cài đặt giải thuật:
KIỂU MẢNG (T2)
CHƯƠNG TRÌNH
KIỂU MẢNG (T2)
VẬN DỤNG
Hãy sửa lại chương trình trên để đưa ra giá trị và chỉ số của phần tử cuối cùng có giá trị lớn nhất?
KIỂU MẢNG (T2)
CỦNG CỐ
Kiến thức cần nhớ:
- Thuật toán tìm MAX
- Các thao tác cơ bản trên mảng một chiều: Khai báo, truy cập đến các phần tử, duyệt mảng...
KIỂU MẢNG (T2)
Hãy sửa lại chương trình trên để đưa ra giá trị và chỉ số của phần tử có giá trị nhỏ nhất?
BÀI TẬP VỀ NHÀ
KIỂU MẢNG (T2)
Hãy sửa lại chương trình trên để đưa ra giá trị và chỉ số của phần tử có giá trị nhỏ nhất?
BÀI TẬP VỀ NHÀ
KIỂU MẢNG (T2)
XIN CHÂN THÀNH CẢM ƠN
QUÝ THẦY CÔ GIÁO
VÀ CÁC EM!
 







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