Tiết 22

- 0 / 0
(Tài liệu chưa được thẩm định)
Nguồn:
Người gửi: Trần Chí Thu (trang riêng)
Ngày gửi: 14h:35' 18-07-2009
Dung lượng: 84.5 KB
Số lượt tải: 7
Nguồn:
Người gửi: Trần Chí Thu (trang riêng)
Ngày gửi: 14h:35' 18-07-2009
Dung lượng: 84.5 KB
Số lượt tải: 7
Số lượt thích:
0 người
Tuần : 21 Ngày soạn 31/12/08
Chương IV. KIỂU DỮ LIỆU CÓ CẤU TRÚC
§11. KIỂU MẢNG (t2)
A. MỤC TIÊU
1. Kiến thức:
- Nắm được cách khai báo và truy cập đến các phần tử của mảng một chiều
2. Kĩ năng:
- Tạo được kiểu mảng một chiều và sử dụng biến mảng một chiều trong ngôn ngữ lập trình Pascal để giải quyết một số bài toán cụ thể.
B. PHƯƠNG PHÁP
Hỏi đáp
GV gợi mở để HS tham gia vào bài học
C. CHUẨN BỊ CỦA GIÁO VIÊN VÀ HỌC SINH
1. Giáo viên: Giáo án
2. Học sinh: Sách giáo khoa
D. TIẾN TRÌNH LÊN LỚP
Ổn định lớp:
- Chào, lớp trưởng báo cáo sỉ số lớp
Kiểm tra bài cũ:
Bài mới:
Đặt vấn đề:
Triển khai bài mới:
Hoạt động giáo viên và học sinh
Nội dung
Hđ1:Sử dụng mảng một chiều để giải quyết một số bài toán cụ thể.
Hđ1. Viết chương trình cho bài toán tìm giá trị lớn nhất của dãy số.
* Xây dựng thuật toán giải bài toán
GV: Nêu bài toán. Hãy xác định Input và Output của bài toán?
HS:
Input: Số nguyên dương N và dãy N số nguyên dương A1, A2, …, AN, mỗi số không vượt quá 500
Output: chỉ số và giá trị của phần tử lớn nhất trong dãy.
GV: Xây dựng thuật toán giải bài toán trên?
HS: Trình bày
HS: Nhận xét, bổ sung.
B1. Nhập N, dãy A1, A2, …, AN ;
B2. Max(A1, csmax(1, i(2;
B3. Nếu i>N thì đưa ra csmax và Max 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 về B3;
* Viết chương trình
GV: Hãy xác định các biến và kiểu của biến sử dụng trong chương trình?
HS: Trả lời, bổ sung
GV: Hãy viết khai báo cho chương trình?
HS: Lên bảng viết khai báo
HS: Nhận xét, bổ sung
GV: Hãy viết phần nhập liệu cho chương trình?
HS: Lên bảng viết
HS: Nhận xét, bổ sung
GV: Viết phần thân còn lại hoàn tất chương trình?
HS: Lên bảng viết
HS: Nhận xét, bổ sung
GV: Nhận xét.
1b) Một số ví dụ về mảng một chiều
Vd1: Xét bài toán: Cho dãy gồm N (N ( 250) số nguyên dương A1, A2, …, AN, với mỗi số không vượt quá 500. Đưa ra chỉ số và giá trị của phần tử lớn nhất trong dãy số.
Chương trình:
Program TimMax;
Const Nmax = 250;
Type ArrayW = array[1..Nmax] of word;
Var A : arrayW;
N, i, csmax, Max : word ;
Begin
Write(‘Nhap so ptu cua day N: ‘);
Readln(N);
For i := 1 to N do
Begin
Write(‘Nhap A[‘, i ,’]: ‘);
Readln(A[i]);
End;
Max := A[1]; csMax := 1;
For i := 2 to N do
If A[i] > Max then
Begin
Max := A[i];
csMax := i;
End;
Writeln(‘Gia tri cua phan tu Max: ’, Max);
Writeln(‘Chi so cua ptu Max: ’, csMax);
Readln
End.
Hđ2: Viết chương trình cho bài toán sắp xếp bằng phương pháp tráo đổi
* Xây dựng thuật toán
GV: Nêu bài toán. Hãy xác định Input và Output của bài toán?
HS:
Input: Số nguyên dương N và dãy N số nguyên dương A1, A2, …, AN, mỗi số không vượt quá 500
Output: dãy A được sắp xếp thành dãy ko giảm.
GV: Xây dựng thuật toán giải bài toán trên?
HS: Trình bày
HS: Nhận xét, bổ sung.
B1. Nhập N, dãy A1, A2, …, AN ;
B2. M (N;
B3. Nếu M = 1 thì đưa ra dãy đã được sắp xếp rồi kết thúc
B4. M(M – 1, i(
Chương IV. KIỂU DỮ LIỆU CÓ CẤU TRÚC
§11. KIỂU MẢNG (t2)
A. MỤC TIÊU
1. Kiến thức:
- Nắm được cách khai báo và truy cập đến các phần tử của mảng một chiều
2. Kĩ năng:
- Tạo được kiểu mảng một chiều và sử dụng biến mảng một chiều trong ngôn ngữ lập trình Pascal để giải quyết một số bài toán cụ thể.
B. PHƯƠNG PHÁP
Hỏi đáp
GV gợi mở để HS tham gia vào bài học
C. CHUẨN BỊ CỦA GIÁO VIÊN VÀ HỌC SINH
1. Giáo viên: Giáo án
2. Học sinh: Sách giáo khoa
D. TIẾN TRÌNH LÊN LỚP
Ổn định lớp:
- Chào, lớp trưởng báo cáo sỉ số lớp
Kiểm tra bài cũ:
Bài mới:
Đặt vấn đề:
Triển khai bài mới:
Hoạt động giáo viên và học sinh
Nội dung
Hđ1:Sử dụng mảng một chiều để giải quyết một số bài toán cụ thể.
Hđ1. Viết chương trình cho bài toán tìm giá trị lớn nhất của dãy số.
* Xây dựng thuật toán giải bài toán
GV: Nêu bài toán. Hãy xác định Input và Output của bài toán?
HS:
Input: Số nguyên dương N và dãy N số nguyên dương A1, A2, …, AN, mỗi số không vượt quá 500
Output: chỉ số và giá trị của phần tử lớn nhất trong dãy.
GV: Xây dựng thuật toán giải bài toán trên?
HS: Trình bày
HS: Nhận xét, bổ sung.
B1. Nhập N, dãy A1, A2, …, AN ;
B2. Max(A1, csmax(1, i(2;
B3. Nếu i>N thì đưa ra csmax và Max 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 về B3;
* Viết chương trình
GV: Hãy xác định các biến và kiểu của biến sử dụng trong chương trình?
HS: Trả lời, bổ sung
GV: Hãy viết khai báo cho chương trình?
HS: Lên bảng viết khai báo
HS: Nhận xét, bổ sung
GV: Hãy viết phần nhập liệu cho chương trình?
HS: Lên bảng viết
HS: Nhận xét, bổ sung
GV: Viết phần thân còn lại hoàn tất chương trình?
HS: Lên bảng viết
HS: Nhận xét, bổ sung
GV: Nhận xét.
1b) Một số ví dụ về mảng một chiều
Vd1: Xét bài toán: Cho dãy gồm N (N ( 250) số nguyên dương A1, A2, …, AN, với mỗi số không vượt quá 500. Đưa ra chỉ số và giá trị của phần tử lớn nhất trong dãy số.
Chương trình:
Program TimMax;
Const Nmax = 250;
Type ArrayW = array[1..Nmax] of word;
Var A : arrayW;
N, i, csmax, Max : word ;
Begin
Write(‘Nhap so ptu cua day N: ‘);
Readln(N);
For i := 1 to N do
Begin
Write(‘Nhap A[‘, i ,’]: ‘);
Readln(A[i]);
End;
Max := A[1]; csMax := 1;
For i := 2 to N do
If A[i] > Max then
Begin
Max := A[i];
csMax := i;
End;
Writeln(‘Gia tri cua phan tu Max: ’, Max);
Writeln(‘Chi so cua ptu Max: ’, csMax);
Readln
End.
Hđ2: Viết chương trình cho bài toán sắp xếp bằng phương pháp tráo đổi
* Xây dựng thuật toán
GV: Nêu bài toán. Hãy xác định Input và Output của bài toán?
HS:
Input: Số nguyên dương N và dãy N số nguyên dương A1, A2, …, AN, mỗi số không vượt quá 500
Output: dãy A được sắp xếp thành dãy ko giảm.
GV: Xây dựng thuật toán giải bài toán trên?
HS: Trình bày
HS: Nhận xét, bổ sung.
B1. Nhập N, dãy A1, A2, …, AN ;
B2. M (N;
B3. Nếu M = 1 thì đưa ra dãy đã được sắp xếp rồi kết thúc
B4. M(M – 1, i(
 








Các Ý Kiến