Giáo án môn Tin học khối 11 - Bài thực hành 4 (tiết 1)

Giáo án môn Tin học khối 11 - Bài thực hành 4 (tiết 1)

i. Mục tiªu

1. Kiến thức:

- Củng cố lại các kiến thức cơ bản khi lập trình với kiểu dữ liệu mảng.

- Làm quen với thuật toán sắp xếp đơn giản.

2. Kĩ năng:

- Rèn luyện kĩ năng sử dụng kiểu dữ liệu có cấu trúc, kĩ năng diễn đạt thuật toán bằng chương trình sử dụng dữ liệu kiểu mảng.

- Rèn luyện kĩ năng nhận xét, phân tích và đề xuất cách giải bài toán sao cho chương trình chạy nhanh hơn.

3. Tư duy:

- Tạo ra mảng 2 chiều và liên hệ đến các bảng cửu chương để tư duy lập trình các chương trình khác.

4. Thái độ:

 

doc 4 trang Người đăng quocviet Lượt xem 5750Lượt tải 2 Download
Bạn đang xem tài liệu "Giáo án môn Tin học khối 11 - Bài thực hành 4 (tiết 1)", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tiết 27
Ngày soạn
23/11/09
BÀI THỰC HÀNH 4 (tiết 1)
Ngày giảng
27/11/09
Môc tiªu
Kiến thức:
 Củng cố lại các kiến thức cơ bản khi lập trình với kiểu dữ liệu mảng.
Làm quen với thuật toán sắp xếp đơn giản.
Kĩ năng:
Rèn luyện kĩ năng sử dụng kiểu dữ liệu có cấu trúc, kĩ năng diễn đạt thuật toán bằng chương trình sử dụng dữ liệu kiểu mảng.
Rèn luyện kĩ năng nhận xét, phân tích và đề xuất cách giải bài toán sao cho chương trình chạy nhanh hơn.
Tư duy:
 Tạo ra mảng 2 chiều và liên hệ đến các bảng cửu chương để tư duy lập trình các chương trình khác.
Thái độ:
 Tự giác, chủ động trong khi thực hành.
ChuÈn bÞ bµi gi¶ng
Ph­¬ng tiÖn:
 GV: Giáo án, bài giảng điện tử.phòng máy.
 HS: Sách giáo khoa, vở ghi. Xem trước bài học.
Ph­¬ng ph¸p d¹y häc
Gîi më vÊn ®¸p 
§µm tho¹i
§Æt vÊn ®Ò
TiÕn tr×nh d¹y häc
KiÓm tra bµi cò:
Cách khai báo mảng một chiều và 2 chiều?
Đáp: J Khai báo
Mảng 1 chiều;
Cách 1. khai báo trực tiếp biến mảng một chiều ;
Type:= array[kiểu chỉ số ] of ;
Cách 2 . khai báo gián tiếp biến mảng qua kiểu mảng một chiều :
Type = array[kiểu chỉ số ] of ;
Var : ;
- Cách 1: Khai báo trực tiếp.
Mảng 2 chiều:
Var : array [kiểu chỉ số hàng, kiểu chỉ số cột] of ;
- Cách 2: Khai báo gián tiếp.
Type = array [kiểu chỉ số hàng, kiểu chỉ số cột] of ;
Var : ;
Néi dung bµi gi¶ng:
Ho¹t ®éng 1
Tìm hiểu chương trình diễn đạt của thuật toán sắp xếp.
Ho¹t ®éng cña gi¸o viªn
Ho¹t ®éng cua häc sinh
1. Gợi ý cho học sinh thuật toán sắp xếp tăng dần.
- Lấy một ví dụ thực tiễn: Người mù sắp xếp một dãy các viên bi theo kích thước không giảm.
- Yêu cầu: Vạch ra các bước để sắp xếp các phần tử của một mảng không giảm.
Liệt kê các bước giải ?
1. Chú ý theo dõi những dẫn dắt của giáo viên để trả lời câu hỏi
- Lần lượt lấy từng phần tử từ trái qua phải.
- Cứ mỗi phần tử ta đem so sánh lần lượt với các phần tử đứng bên phải của nó.
- Nếu nhỏ hơn thì đổi chỗ.
Input: Dãy A gồm N số nguyên a1, a2,..., aN. - Output: Dãy A được sắp xếp lại thành dãy không giảm.
a) Cách liệt kê
Nhập N, các số hạng a1, a2,..., aN;
M ß N;
Nếu M < 2 thì đưa ra dãy A đã được sắp xếp rồi kết thúc;
M ß M – 1, i ß 0;
i ß i + 1;
Nếu i > M thì quay lại bước 3;
Nếu ai > ai+1 thì tráo đổi ai và ai+1 cho
Ho¹t ®éng 2
Tìm hiểu chương trình ví dụ
Ho¹t ®éng cña gi¸o viªn
Ho¹t ®éng cua häc sinh
2. Tìm hiểu chương trình ví dụ, sách giáo khoa, trang 65.
- Chiếu chương trình ví dụ lên bảng.
program sap_xep ;
uses crt ;
const Nmax = 250 ;
type ArrInt = array [1..Nmax] of integer ;
var n,i,j,y,t: integer ;
A: Arrint ;
begin
clrscr ;
randomize ;
write ('nhap n =');
readln (n);
{ o day ta tao ngau nhien mang gom n so nguyen }
for i:=1 to n do A[i]:= random(300)-random(300);
for i:=1 to n do write (A[i]:5); { o day ta in mang vua tao }
writeln ;
for j:=N downto 2 do
for i:= 1 to j-1 do
if A[i] > A[1+1] then
begin (* trao doi A[i] va A[i+1] *)
t:= A[i] ;
A[i]:= A[i+1] ;
A[i+1]:= t ;
end;
writeln ('day so duoc sap xep') ;
for i:= 1 to n do
write (A[i]:7);
writeln ;
end.
- Hỏi: Vai trò của biến i, j trong chương trình? mỗi vòng lặp For trong đoạn chương trình sắp xếp có ý nghĩa gì?
- Hỏi: Ba lệnh tg:=a[i]; a[i]:=a[i+1]; a[i+1]:=tg; có ý nghĩa gì?
- Thực hiện chương trình, nhập dữ liệu để học sinh thấy kết quả chương trình.
- Hỏi: Chương trình làm công việc gì?
2. Quan sát chương trình, suy nghĩ câu hỏi và trả lời.
- Biến i, j dùng làm chỉ số.
- Mỗi vòng lặp For ứng với mỗi phép duyệt lần lượt.
- Dùng để đổi giá trị của hai phần tử a[i] với a[i+1].
- Quan sát giáo viên thực hiện chương trình.
- Chương trình sắp xếp dãy số thao thứ tự không giảm.
HOẠT ĐỘNG 3
Thêm câu lệnh đếm vào chương trình
Ho¹t ®éng cña gi¸o viªn
Ho¹t ®éng cua häc sinh
3. Sửa chương trình để giải quyết bài toán ở câu b.
- Đặt yêu cầu mới: Khai báo thêm biến nguyên Dem và bổ sung vào chương trình đoạn lệnh cần thiết để biến Dem tính số lần thực hiện tráo đổi trong thuật toán. In kết quả tìm được ra màn hình.
- Hỏi: Đoạn chương trình nào dùng để thực hiện tráo đổi giá trị?
- Yêu cầu hoc sinh viết lệnh để đếm số lần tráo đổi.
- Hỏi: Lệnh này được viết ở vị trí nào trong chương trình?
3. Quan sát yêu cầu mới, chú ý định hướng giải quyết của giáo viên.
tg:=a[i]; a[i]:=a[i+1]; a[i+1]:=tg;
- Dem := Dem+1;
- Ngay sau đoạn lệnh tráo đổi.
HOẠT ĐỘNG 4
Nhập dữ liệu và báo kết quả.
Ho¹t ®éng cña gi¸o viªn
Ho¹t ®éng cua häc sinh
- Yêu cầu học sinh soạn chương trình vào máy.
- Yêu cầu học sinh nhập dữ liệu vào của giáo viên và thông báo kết quả.
- Đánh giá kết quả của học sinh.
- Soạn chương trình vào máy, thực hiện chương trình và thông báo kết quả.
- Nhập dữ liệu theo yêu cầu của giáo viên, thực hiện chương trình và thông báo kết quả sau khi thực hiện.
Cñng cè:
Mảng 1 chiều, mảng 2 chiều.
DÆn dß:
Về nhà học bài và làm lại các bài tập vào máy, chuẩn bị bài toán 2.
NhËn xÐt
Ph­¬ng ph¸p:
HiÖu qu¶ sö dông:
HiÖu qu¶ SD TBDH:
ND cÇn ®iÓu chØnh:
NhËn xÐt cña gi¸o viªn h­íng dÉn:

Tài liệu đính kèm:

  • docTiet 27.doc