Kiến thức: Học sinh hiểu được: * Mảng một chiều: - Mảng một chiều là một dãy các phần tử cùng kiểu.. - Có thể truy xuất hay thao tác trên mỗi phần tử mảng thông qua tên mảng và chỉ số tư
Trang 1KIỂU MẢNG (Tiết 3)
I Mục đích yêu cầu:
1 Kiến thức:
Học sinh hiểu được:
* Mảng một chiều:
- Mảng một chiều là một dãy các phần tử cùng kiểu
- Có thể truy xuất (hay thao tác) trên mỗi phần tử mảng thông qua tên mảng và chỉ số tương ứng
- TP cho phép xây dựng kiểu dữ liệu mảng một chiều
- Kiểu mảng là một kiểu dữ liệu có cấu trúc, rất cần thiết và hữu ích trong lập trình
2 Kỹ năng:
Biết Khai báo(hay định nghĩa) kiểu dữ liệu mảng:
+ Hoặc trực tiếp trong phần khai báo biến (dùng Var)
+ Hoặc đặt tên và định nghĩa cho kiểu dữ liệu mới này (Type) rồi sau
đó khai báo biến
3 Thái độ:
Tích cực, ham học hỏi
Trang 2II Chuẩn bị của giáo viên và học sinh:
1 Chuẩn bị của giáo viên:SGK, SGV, giáo án, giáo án điện tử, đèn chiếu,một số chương trình mẫu khổ lớn
2 Chuẩn bị của học sinh:Xem kỹ SGK, soạn trước bài học
III Nội dung bài giảng
1 Ổn định tổ chức
2 Kiểm tra bài cũ: Không kiểm tra
3 Nội dung bài mới
Hoạt động thầy và trò Nội dung bài giảng
GV: Yêu cầu học sinh xác định bài
toán, trình bày ý tưởng giải thuật?
HS: Thuật toán sắp xếp trao đổi là
xét từng cặp đứng liền kề nhau nếu
Ví dụ 2 Sắp xếp dãy số nguyên bằng thuật toán trao đổi
Program Tim_max;
Uses Crt;
Const nmax=100;
Trang 3không đúng vị trí thì đổichỗ cho
nhau, việc này lặp đi lặp lại cho
đến khi không còn chỗ để đổi nữa
GV: Yêu cầu học sinh khai báo?
HS: Thực hiện
GV: Gọi học sinh lên bảng nhập
dãy số A
GV: giải thích dòng lệnh và việc
dùng bién OK
Type mangnguyen=Array[1 nmax]of integer;
Var n, tam,m:integer;
A: mangnguyen;
ok:boolean;
Begin Clrscsr;
Write(‘ nhap so phan tu cua day:’); Readln(n);
For i:=1 to n do Begin
Write(‘ phan tu thu’,i,’:’); Readln(a[i]);
End;
M:=n;
While not ok do
Trang 4GV: Yêu cầu học sinh trình bày ý
tưởng hoán đổi gái trị của A[i] và
A[i+1]
GV: Viết dãy A ra màn hình?
HS: Trình bày
Begin Ok:=true;
M:=m-1;
{sau moi lan lap co mot phan
tu khong can xet}
For i:=1 to m do
If A[i]>A[i+1] then Begin
Tam:=A[i];
A[i]:=A[i+1];
A[i+1]:=Tam;
Ok:=false;
End;
End;
Writeln(‘day sau khi sap xep:’);
For i:=1 to n do
Trang 5Write(A[i]:3); Readln;
End
4.Củng cố
Cách khai báo kiểu mảng Truy cập phần tử của mảng 5.Dặn dò, bổ sung:
Làm bài tập:4.8;4.9
Chuẩn bị bài phần mảng hai chiều