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

Tiêu đề Giáo án tin học 11
Tác giả Đỗ Vũ Hiệp
Trường học Trường Trung Học Phổ Thông
Chuyên ngành Tin học
Thể loại Giáo án
Năm xuất bản 2008
Thành phố Hà Nội
Định dạng
Số trang 4
Dung lượng 91,5 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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

Trang 1

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 đị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

Trang 2

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

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?

 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:

Trang 3

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 đị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

Trang 4

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

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;

 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:

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

Xem thêm

w