1. Trang chủ
  2. » Giáo án - Bài giảng

Tiet 23_24

4 283 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 4
Dung lượng 91,5 KB

Nội dung

Gi¸o ¸n Tin häc 11 Gi¸o viªn: §ç Vò HiÖp Tuần: 21 Tiết: 23 --------------------------------------------------------------------------------------------------------------------------- Ngày soạn: 10/2/2008 Ngày dạy: Lớp: Chương IV: Kiểu dữ liệu có cấu trúc Bài tập và thực hành 3 I. Mục đích, yêu cầu: 1. Kiến thức:  Củng cố những hiểu biết về kiểu dữ liệu mảng;  Cung cấp cho học sinh 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 là: Tính tổng các phần tử thỏa mãn điều kiện nào đó; Đếm số các phần tử thỏa mãn điều kiện nào đó và tìm phần tử lớn nhất (hay nhỏ nhất) của mảng;  Giới thiệu hàm random(N) cho học sinh thấy có thể dùng lệnh để máy lấy ngẫu nhiên một số nguyên trong khoảng từ 0 đến N-1. 2. Kỹ năng: Rèn luyện cho học sinh các kĩ năng cơ bản làm việc với kiểu mảng trong lập trình như:  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 tất cả các phần tử của mảng để xử lí từng phần tử. 3. Thái độ:  Góp phần hình thành và rèn luyện tư duy lập trình, tác phong của người lập trình. II. Phương pháp - phương tiện dạy học:  Thực hành, thực hiện minh họa trực quan, quan sát và hướng dẫn;  Giáo viên chuẩn bị: Giáo án, phòng máy nối mạng LAN, cài đặt Turbo Pascal; Netop school; chương trình mẫu lưu trên máy server để HS tìm hiểu; máy chiếu; laptop;  Học sinh chuẩn bị: Đọc trước nội dung bài, sách giáo khoa, vở ghi. III. NộI dung dạy – học: Nội dung bài giảng Hoạt động của thầy Hoạt động của trò Ổn định lớp; Ghi sổ đầu bài. Chào thầy. Cán bộ lớp báo sĩ số. Bài 1: Tạo mảng A gồm n (n≤100) số nguyên, mỗi số có giá trị tuyệt đối không vượt quá 300. Tính tổng các phần tử của mảng là bội số của một số nguyên dương k cho trước. a) Tìm hiểu và chạy thử chương trình sau: Program Sum1; Uses crt; Const nmax=100; Type Mang1=array[1 nmax] of integer; Var A: Mang1; s, n, i, k: integer; Begin Clrscr; randomize; Quan sát, hướng dẫn HS khởi động máy tính. Quan sát, hướng dẫn HS khởi động TP. Nêu nội dung công việc trong tiết thực hành: Thực hiện bài 1. Yêu cầu HS thực hiện gõ chương trình theo mẫu trong câu a) trang 63_sgk. Quan sát và hướng dẫn. Giải thích: hàm random(n) là lệnh yêu cầu máy tính lấy ngẫu nhiên một số nguyên trong phạm vi từ 0 đến n-1; thủ tục randomize để khởi tạo cơ chế sinh số ngẫu Khởi động máy tính. Khởi động TP. Gõ chương trình. Chú ý, quan sát, lắng nghe. Gi¸o ¸n Tin häc 11 Gi¸o viªn: §ç Vò HiÖp Nội dung bài giảng Hoạt động của thầy Hoạt động của trò Write(‘Nhap n= ‘); readln(n); For i:=1 to n do A[i]:= random(300) – random(300); For i:=1 to n do write(A[i]:5); Writeln; Write(‘Nhap k = ‘); readln(k); s := 0; For i:=1 to n do if A[i] mod k = 0 then s:=s+A[i]; Writeln(‘Tong can tinh la: ‘,s); Readln End. nhiên. Thực hiện minh họa thao tác lưu chương trình. Đường dẫn\tên_bài.pas Quan sát và hướng dẫn HS nhận biết và sửa lỗi chương trình. Quan sát và hướng dẫn HS chạy thử chương trình. Nhớ lưu chương trình trước khi sang câu b) Thực hiện lưu chương trình. Nhận biết và sử lỗi chương trình. Chạy thử chương trình. Ấn F2. b) Hãy đưa những câu lệnh sau vào những vị trí cần thiết nhằm sửa chương trình trong câu a) để có được chương trình đưa ra số các số dương và số các số âm trong mảng. (1) posi, neg: integer; (2) posi := 0; neg := 0; (3) If A[i] > 0 then posi := posi + 1 (4) else if A[i]<0 then neg:=neg+1; (5) Writeln(posi:5, neg:5); Hướng dẫn: (1) Khai báo 2 biến chứa số lượng phần tử dương và âm; (2) Khởi tạo giá trị cho các biến; (3) Đếm số phần tử dương trong mảng; (4) Đếm số phần tử âm trong mảng; (5) Xuất kết quả ra màn hình. HD học sinh lưu chương trình ở câu a) với tên khác sau đó thực hiện câu theo yêu cầu ở câu b) Gọi HS nêu các vị trí đặt các câu lệnh tương ứng vào chương trình để có được CT theo đề ra? Nhận xét, chốt lại phương án đúng kết hợp giải thích để HS hiểu. Quan sát và hướng dẫn HS thực hiện. Chú ý, quan sát, lắng nghe. Xung phong trả lời. Nhận xét, bổ sung. Chú ý lắng nghe. Thực hiện sửa chương trình theo đề ra và chạy thử CT. Ấn F2 để lưu CT; Ấn tổ hợp Alt + X. IV. Củng cố:  Có thể bỏ khai báo hằng nmax được không? Nếu được phải sửa đổi chỗ nào?  Chỉ ra những dòng lệnh tạo ra mảng A?  Ý nghĩa của lệnh gán: A[i] := random(300) – random(300);  Ý nghĩa của biến posi và neg? Vì sao biết được biến nào để đếm số phần tử dương và biến nào để đếm số phần tử âm trong mảng? V. Dặn dò:  Xem trước nội dung câu 2. của bài thực hành 3; Tiết sau tiếp tục thực hành bài này. VI. Rút kinh nghiệm: . . Gi¸o ¸n Tin häc 11 Gi¸o viªn: §ç Vò HiÖp Tuần: 21 Tiết: 24 --------------------------------------------------------------------------------------------------------------------------- Ngày soạn: 12/2/2008 Ngày dạy: Lớp: Chương IV: Kiểu dữ liệu có cấu trúc Bài tập và thực hành 3 (tt) I. Mục đích, yêu cầu: 1. Kiến thức:  Củng cố những hiểu biết về kiểu dữ liệu mảng;  Cung cấp cho học sinh 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 là: Tính tổng các phần tử thỏa mãn điều kiện nào đó; Đếm số các phần tử thỏa mãn điều kiện nào đó và tìm phần tử lớn nhất (hay nhỏ nhất) của mảng;  Giới thiệu hàm random(N) cho học sinh thấy có thể dùng lệnh để máy lấy ngẫu nhiên một số nguyên trong khoảng từ 0 đến N-1. 2. Kỹ năng: Rèn luyện cho học sinh các kĩ năng cơ bản làm việc với kiểu mảng trong lập trình như:  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 tất cả các phần tử của mảng để xử lí từng phần tử. 3. Thái độ:  Góp phần hình thành và rèn luyện tư duy lập trình, tác phong của người lập trình. II. Phương pháp - phương tiện dạy học:  Thực hành, thực hiện minh họa trực quan, quan sát và hướng dẫn;  Giáo viên chuẩn bị: Giáo án, phòng máy nối mạng LAN, cài đặt Turbo Pascal; Netop school; chương trình mẫu lưu trên máy server để HS tìm hiểu; máy chiếu; laptop;  Học sinh chuẩn bị: Đọc trước nội dung bài, sách giáo khoa, vở ghi. III. NộI dung dạy – học: Nội dung bài giảng Hoạt động của thầy Hoạt động của trò Ổn định lớp; Ghi sổ đầu bài. Chào thầy. Cán bộ lớp báo sĩ số. Bài 2: Viết chương trình tìm phần tử có giá trị lớn nhất của mảng và đưa ra màn hình chỉ số và giá trị của phần tử tìm được. Nếu có nhiều phần tử có cùng giá trị lớn nhất thì đưa ra phần tử có chỉ số nhỏ nhất. a) Tìm hiểu chương trình sau: Program Max; Const nmax=100; Type Mang1=array[1 nmax] of integer; Var A: Mang1; n, i, j: integer; Begin Write(‘Nhap so phan tu n= ‘); Readln(n); Quan sát, hướng dẫn HS khởi động máy tính. Quan sát, hướng dẫn HS khởi động TP. Nêu nội dung công việc trong tiết thực hành: Thực hiện bài 2. Yêu cầu HS thực hiện gõ chương trình theo mẫu trong câu a) trang 64_sgk. Quan sát và hướng dẫn. Quan sát và hướng dẫn HS nhận biết và sửa lỗi chương trình. Khởi động máy tính. Khởi động TP. Gõ chương trình. Thực hiện lưu chương trình. Nhận biết và sử lỗi chương trình. Gi¸o ¸n Tin häc 11 Gi¸o viªn: §ç Vò HiÖp Nội dung bài giảng Hoạt động của thầy Hoạt động của trò For i:=1 to n do Begin Write(‘Phan tu thu ‘,i,’ = ‘); Readln(A[i]); End; j := 1; For i:=2 to n do if A[i]>A[j] then j := i; Write(‘Chi so: ‘,j,’ Gia tri: ‘,A[j]); Readln End. Quan sát và hướng dẫn HS chạy thử chương trình và kiểm tra kết quả. HD: Thực hiện thử CT trên giấy nháp trước khi chạy trên máy để dễ dàng kiểm tra kết quả. Thực hiện minh họa cách theo dõi giá trị của biến bằng công cụ Dubeg. Nhớ lưu chương trình trước khi sang câu b) Chạy thử chương trình và kiểm tra kết quả. Chú ý quan sát, lắng nghe sau đó thực hiện Ấn F2. b) Chỉnh sửa chương trình trên để đưa ra chỉ số của các phần tử có cùng giá trị lớn nhất. Hướng dẫn theo chương trình Program Max; Const nmax=100; Type Mang1=array[1 nmax] of integer; Var A: Mang1; n, i, j: integer; Begin Write(‘Nhap so phan tu n= ‘); Readln(n); For i:=1 to n do Begin Write(‘Phan tu thu ‘,i,’ = ‘); Readln(A[i]); End; j := 1; For i:=2 to n do if A[i]>A[j] then j := i; For i:=1 to n do if A[i]=A[j] then Write(i:5); Writeln; Write(‘Gia tri: ‘,A[j]); Readln End. Yêu cầu HS lưu chương trình ở câu a) với tên khác sau đó thực hiện câu theo yêu cầu ở câu b) Gọi HS nêu phương án chỉnh sửa chương trình theo đề ra? Nhận xét, chốt lại phương án đúng kết hợp giải thích để HS hiểu. Quan sát và hướng dẫn HS thực hiện. Nêu cách sửa chương trình để tìm phần tử nhỏ nhất? Nhận xét, kết luận và yêu cầu HS sửa lại và chạy thử chương trình. Chú ý, quan sát, lắng nghe rồi thực hiện. Xung phong trả lời. Nhận xét, bổ sung. Chú ý lắng nghe. Thực hiện sửa chương trình theo đề ra và chạy thử CT. Xung phong trả lời. Lắng nghe. Sửa chương trình theo yêu cầu của giáo viên và chạy thử. Ấn F2 để lưu CT. Thoát khỏi TP. IV. Củng cố:  Có thể bỏ khai báo hằng nmax được không? Nếu được phải sửa đổi chỗ nào?  Chỉ ra những dòng lệnh nhập mảng A?  Nêu cách thay câu lệnh tạo mảng ngẫu nhiên cho các lệnh nhập mảng;  Nêu ý nghĩa của đoạn lệnh: j := 1; For i:=2 to n do if A[i]>A[j] then j := i; V. Dặn dò:  Xem trước nội dung của bài thực hành 4; Tiết sau thực hành bài này. VI. Rút kinh nghiệm: . . . Gi¸o ¸n Tin häc 11 Gi¸o viªn: §ç Vò HiÖp Tuần: 21 Tiết: 23 ---------------------------------------------------------------------------------------------------------------------------. . Gi¸o ¸n Tin häc 11 Gi¸o viªn: §ç Vò HiÖp Tuần: 21 Tiết: 24 ---------------------------------------------------------------------------------------------------------------------------

Ngày đăng: 30/06/2013, 01:27

Xem thêm

w