Tiết 26

- 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:36' 18-07-2009
Dung lượng: 50.0 KB
Số lượt tải: 8
Nguồn:
Người gửi: Trần Chí Thu (trang riêng)
Ngày gửi: 14h:36' 18-07-2009
Dung lượng: 50.0 KB
Số lượt tải: 8
Số lượt thích:
0 người
Tuần : 23 Ngày soạn / / 09
Chương IV. KIỂU DỮ LIỆU CÓ CẤU TRÚC
BÀI TẬP VÀ THỰC HÀNH 3(T2)
A- Mục tiêu bài học:
Kiến thức:
Củng cố cho học sinh hiểu biết về kiểu dữ liệu mảng
Cung cấp cho HS ba thuật toán cơ bản và đơn giản thường gặp với kiểu dữ liệu mảng
Kỹ năng:
Tổ chức các hoạt động trong phòng máy để học sinh có được các kĩ năng cơ bản làm việc với kiểu dữ liệu mảng một chiều trong lập trình cụ thể là:
Khai báo kiểu dữ liệu mảng,
Nhập dữ liệu cho mảng đưa ra màn hình chỉ số và giá trị các phần tử của mảng.
Duyệt qua các phần tử của mảng để xữ lí từng phần tử
Thái độ:
B- Phương pháp:
Vấn đáp và hướng dẫn
C- Chuẩn bị của giáo viên và học sinh:
1. Giáo viên:
2. Học sinh:
D- Tiến trình lên lớp:
I- Ổn định lớp:
II- Kiểm tra bài cũ: Kiểm tra trong quá trình thực hành
III- Bài mới:
Hoạt động của giáo viên và học sinh
Nội dung kiến thức
HĐ1: Hướng dẫn cho HS đọc hiểu chương trình.
Gv yêu cầu HS đọc đề bài 2 và xác định bài toán.
Hs: xác định bài toán:
Input: Nhập N và dãy A1,A2, … , An
Out: max và chỉ số i nhỏ nhất nếu có nhiều GTLN bằng nhau
Gv: Em hãy nêu ý tưởng giải Bài toán này?
HS:Gs j=1 là chỉ số cần tìm và A[j] là GTLN Lần lượt xét giá trị đầu tiên đến cuối dãy i = 1 (N nếu A[i]>A[j] thì j=i; khi kết thúc dãy ta tìm được vị trí j và xác định được GTLN là A[j]
Gv: Yêu cầu Hs đọc chương trình trong SGK.
GV: Giúp học sinh tìm hiểu vai trò của biến j
Hs: Biến j có vai trò xác định vị trí GTLN của một phần tử trong dãy . Nếu có phần tử thứ i nào đó lớn hơn phần tử vị trí j thì j=i thì lúc này ta xác định được GTLN tại thời điểm đang xét.
Gv: Phải cho Hs nắm được mấu chốt là tại bước lặp thứ i trong câu lệnh for do , Phần tử A[i]ư được so sánh a[j]ư, nghĩa là so sánh với phần tử LN tìm được trong phạm vi các phần tử đã được duyệt qua ở trước bước này. So sánh đó để tìm phần tử lớn nhất trong phạm vi có thêm A[i]. Như vậy ở bước lặp thứ i, biến j luôn lưu trữ chỉ số của phần tử LN đã tìm được trong phạm vi A[1] ( A[i].
Gv: Hỹa chỉnh sửa chương trình tìm GTNN?
Hs: Chỉ cần thay đổi dấu > thành dấu <
Bài 2. viết chương trình tìm phấn tử có gái trị lớn nhất của mảng và đưa ra màn hình chỉ số và giá trị tìm được . Nếu có nhiều phần tử có cùnh giá trị lớn nhất thì đưa ra phần tử có chỉ số nhỏ nhất
Program Bai2;
Const nmax= 100;
Type songuyen: array [1..nmax] of integer;
Var A: songuyen; n,i,j: Integer;
Begin
Write(‘ Nhap vao so luong phan tu’);
Readln(n);
For i:= 1 to N do
Begin
Write(‘PT thu’,i,’=’);
Readln(A[i]);
End;
J:=1;
For i:= 1 to n do
If A[i] > A[j] then j:=i;
Write(‘ Chi so’,j,’gia tri’, J);
Readln
End.
HĐ2: Tổ chức thực hành
Gv: yêu cầu Hs soạn thảo chương trình trong sách giáo khoa vào trong máy của mình sau đó thực hiện dịch kiểm tra lỗi và thực hiện chương trình.
Gv: Theo dõi, hướng dẫn cho những học sinh còn yếu
Gv: Chú ý
Nhắc Hs ghi lại chương trình vào đĩa.
Khi thực hiện chương trình nên nhập số phần tử của dãy vừa phải.
Quan sát uốn nắn Hs hình thức viết chương trình sao cho thể hiện được tính cấu trúc của nó
Hđ3: sửa đổi chương trình để có được chương trình đưa ra GTLN và chỉ số LN của dãy
Hs: Tham luận và đưa ra câu trả lời
Ta chỉ cần thay đổi câu lệnh If A[i] > A[j] then j:=i; thành câu lệnh If A[i] > =A[j] then j:=i;
Gv: Nhận xét
Gv: Trước khi sửa đổi chương trình lưu chương
Chương IV. KIỂU DỮ LIỆU CÓ CẤU TRÚC
BÀI TẬP VÀ THỰC HÀNH 3(T2)
A- Mục tiêu bài học:
Kiến thức:
Củng cố cho học sinh hiểu biết về kiểu dữ liệu mảng
Cung cấp cho HS ba thuật toán cơ bản và đơn giản thường gặp với kiểu dữ liệu mảng
Kỹ năng:
Tổ chức các hoạt động trong phòng máy để học sinh có được các kĩ năng cơ bản làm việc với kiểu dữ liệu mảng một chiều trong lập trình cụ thể là:
Khai báo kiểu dữ liệu mảng,
Nhập dữ liệu cho mảng đưa ra màn hình chỉ số và giá trị các phần tử của mảng.
Duyệt qua các phần tử của mảng để xữ lí từng phần tử
Thái độ:
B- Phương pháp:
Vấn đáp và hướng dẫn
C- Chuẩn bị của giáo viên và học sinh:
1. Giáo viên:
2. Học sinh:
D- Tiến trình lên lớp:
I- Ổn định lớp:
II- Kiểm tra bài cũ: Kiểm tra trong quá trình thực hành
III- Bài mới:
Hoạt động của giáo viên và học sinh
Nội dung kiến thức
HĐ1: Hướng dẫn cho HS đọc hiểu chương trình.
Gv yêu cầu HS đọc đề bài 2 và xác định bài toán.
Hs: xác định bài toán:
Input: Nhập N và dãy A1,A2, … , An
Out: max và chỉ số i nhỏ nhất nếu có nhiều GTLN bằng nhau
Gv: Em hãy nêu ý tưởng giải Bài toán này?
HS:Gs j=1 là chỉ số cần tìm và A[j] là GTLN Lần lượt xét giá trị đầu tiên đến cuối dãy i = 1 (N nếu A[i]>A[j] thì j=i; khi kết thúc dãy ta tìm được vị trí j và xác định được GTLN là A[j]
Gv: Yêu cầu Hs đọc chương trình trong SGK.
GV: Giúp học sinh tìm hiểu vai trò của biến j
Hs: Biến j có vai trò xác định vị trí GTLN của một phần tử trong dãy . Nếu có phần tử thứ i nào đó lớn hơn phần tử vị trí j thì j=i thì lúc này ta xác định được GTLN tại thời điểm đang xét.
Gv: Phải cho Hs nắm được mấu chốt là tại bước lặp thứ i trong câu lệnh for do , Phần tử A[i]ư được so sánh a[j]ư, nghĩa là so sánh với phần tử LN tìm được trong phạm vi các phần tử đã được duyệt qua ở trước bước này. So sánh đó để tìm phần tử lớn nhất trong phạm vi có thêm A[i]. Như vậy ở bước lặp thứ i, biến j luôn lưu trữ chỉ số của phần tử LN đã tìm được trong phạm vi A[1] ( A[i].
Gv: Hỹa chỉnh sửa chương trình tìm GTNN?
Hs: Chỉ cần thay đổi dấu > thành dấu <
Bài 2. viết chương trình tìm phấn tử có gái trị lớn nhất của mảng và đưa ra màn hình chỉ số và giá trị tìm được . Nếu có nhiều phần tử có cùnh giá trị lớn nhất thì đưa ra phần tử có chỉ số nhỏ nhất
Program Bai2;
Const nmax= 100;
Type songuyen: array [1..nmax] of integer;
Var A: songuyen; n,i,j: Integer;
Begin
Write(‘ Nhap vao so luong phan tu’);
Readln(n);
For i:= 1 to N do
Begin
Write(‘PT thu’,i,’=’);
Readln(A[i]);
End;
J:=1;
For i:= 1 to n do
If A[i] > A[j] then j:=i;
Write(‘ Chi so’,j,’gia tri’, J);
Readln
End.
HĐ2: Tổ chức thực hành
Gv: yêu cầu Hs soạn thảo chương trình trong sách giáo khoa vào trong máy của mình sau đó thực hiện dịch kiểm tra lỗi và thực hiện chương trình.
Gv: Theo dõi, hướng dẫn cho những học sinh còn yếu
Gv: Chú ý
Nhắc Hs ghi lại chương trình vào đĩa.
Khi thực hiện chương trình nên nhập số phần tử của dãy vừa phải.
Quan sát uốn nắn Hs hình thức viết chương trình sao cho thể hiện được tính cấu trúc của nó
Hđ3: sửa đổi chương trình để có được chương trình đưa ra GTLN và chỉ số LN của dãy
Hs: Tham luận và đưa ra câu trả lời
Ta chỉ cần thay đổi câu lệnh If A[i] > A[j] then j:=i; thành câu lệnh If A[i] > =A[j] then j:=i;
Gv: Nhận xét
Gv: Trước khi sửa đổi chương trình lưu chương
 








Các Ý Kiến