Tải bản đầy đủ (.doc) (86 trang)

giao an tin 10 ky 2 hoan chinh

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (620.26 KB, 86 trang )

Giáo án Tin học 11 – Trường THPT Cát Ngạn
Ngày soạn: 2/12/2010

Tiết PPCT: 17

ÔN TẬP HỌC KÌ 1
I. MỤC TIÊU.
1. Kiến thức.
- Học sinh nắm được toàn bộ kiến thức đã học từ đầu năm học đến nay.
2. Kĩ năng
- Rèn luyện kĩ năng nhận xét, phân tích một bài toán.
II. CHUẨN BỊ CỦA GIÁO VIÊN VÀ HỌC SINH
1. Chuẩn bị của giáo viên
- Nghiên cứu, hệ thống lại kiến thức, sách giáo khoa.
2. Chuẩn bị của học sinh.
- Sách giáo khoa, một số chương trình bài tập.
III. HOẠT ĐỘNG DẠY – HỌC .
1. Hoạt động 1: Nhắc lại kiến thức cũ đã học.
a. Mục tiêu:
- Học sinh nhớ lại được các kiến thức lí thuyết đã học.
b. Nội dung:
- Khái niệm về lập trình và ngôn ngữ lập trình.
- Có hai loại chương trình dịch: Biên dịch và thông dịch.
- Các thành phần của ngôn ngữ lập trình: Bảng chữ cái, cú pháp và ngữ nghĩa.
- Các khái niệm: Tên, hằng và biến, chú thích.
- Cấu trúc của chương trình Pascal: Phần khai báo và phần thân.
- Các kiểu dữ liệu chuẩn: Số nguyên, số thực, kí tự, logic.
- Phép toán, biểu thức, lệnh gán.
- Tổ chức vào/ra.
- Cấu trúc rẽ nhánh.
- Cấu trúc lặp.


c. Các bước tiến hành:
HƯỚNG DẪN CỦA GIÁO VIÊN

HOẠT ĐỘNG CỦA HỌC SINH

Đặt câu hỏi gợi ý để học sinh tự nhắc lại
Chú ý, theo dõi trả lời các câu hỏi.
kiến thức đã học.
- Em hiểu như thế nào về lập trình và
- Lập trình là quá trình diễn đạt thuật
ngôn ngữ lập trình?
toán bằng một ngôn ngữ lập trình.
- Các loại chương trình dịch?
- Biên dịch và thông dịch.
- Các thành phần cơ bản của ngôn ngữ
- Bảng chữ cái, cú pháp và ngữ nghĩa.
lập trình?
- Các khái niệm trong ngôn ngữ lập
- Khái niệm tên, hằng và biến, chú thích.
trình?
- Cấu trúc chung của chương trình TP?
- Gồm hai phần: Phần khai báo và phần
thân.
- Nêu tên các kiểu dữ liệu chuẩn?
- Số nguyên, số thực, kí tự, logic.
- Nêu các nhóm phép toán đã học?
- Phép toán số học, phép toán quan hệ,
Trang -1 -



Giỏo ỏn Tin hc 11 Trng THPT Cỏt Ngn

- Cỏc loi biu thc?
- Chc nng v s thc hin ca lnh
gỏn?
- Nờu tờn v chc nng ca mt s hm
s hc?
- T chc vo/ra.
- T chc r nhỏnh.
- T chc lp.

phộp toỏn logic.
- Biu thc s hc, biu thc quan h v
biu thc logic.
- Dựng tớnh toỏn mt biu thc v
gỏn giỏ tr cho mt bin.
- Hm bỡnh phng, hm cn bc hai,
hm giỏ tr tuyt i, hm sin, hm cos.
- Lnh Read()/readln();
- Lnh write()/writeln();
- If <BTK> then <lnh 1> else
<lnh 2>;
For tin.
For lựi.
While <> do.

2. Hoạt động 2: Rèn luyện kĩ năng.
a. Mục tiêu:
- Học sinh biết nhận xét, phân tích và giải quyết hoàn chỉnh một bài toán.
b. Nội dung:

Viết chơng trình tính và đa ra màn hình tổng các số chia hết cho 3 và 5 trong phạm vi
từ 1 đến N (với N nhập từ bàn phím).
c. Các bớc tiến hành:
HNG DN CA GIO VIấN

1. Xỏc nh bi toỏn.
- Chiu ni dung bi lờn bng.
- Chia lp thnh 2 nhúm.
Nhúm 1: Nờu cõu hi phõn tớch.
Nhúm 2: Tr li cõu hi phõn tớch ca
nhúm 1.
- Giỏo viờn gúp ý b sung cho c hai
nhúm.

2. rốn luyn k nng lp trỡnh.
- Chia lp thnh hai nhúm.
- Yờu cu: Vit chng trỡnh hon thin
lờn giy A0.
Trang -2 -

HOT NG CA HC SINH

1. Quan sỏt, theo dừi bi v nh
hng ca giỏo viờn xỏc nh bi toỏn.
- Nhúm 1:
+ D liu vo.
+ D liu ra.
+ Cỏc nhim v chớnh phi thc
hin.
- Nhúm 2:

+ S N .
+ iu kin cú s chia ht cho
3 v 5.
+ 1 Nhp d liu.
2 tớnh tng theo iu kin.
3 a kt qu ra mn hỡnh.
2. Lm vic theo nhúm.
- Tho lun theo nhúm vit chng


Giáo án Tin học 11 – Trường THPT Cát Ngạn

- Thu phiếu học tập, treo kết quả lên
trình.
bảng. Gọi học sinh của nhóm khác nhận
- Báo cáo kết quả.
xét đánh giá và bổ sung.
- Nhận xét, đánh giá và bổ sung những
3. Chuẩn hóa kiến thức bằng chương
thiếu sót của nhóm khác.
trình mẫu của giáo viên. Thực hiện chương 3. Theo dõi và ghi nhớ.
trình, nhập dữ liệu để học sinh thấy kết quả
của chương trình.
Củng cố
1. Những nội dung đã học.
- Giáo viên yêu cầu học sinh nhắc lại một số nội dung chính đã được ôn tập trong tiết
học.
2. Câu hỏi và bìa tập về nhà.
- Chuẩn bị kiến thức cho tiết sau kiểm tra học kì 1: Xem lại toàn bộ các kiến thức đã
được ôn tập, đặc biệt chú trọng cấu trúc lặp và rẽ nhánh kiểu mảng.

Ngày soạn: 2/12/2010

Tiết PPCT: 18

KIỂM TRA HỌC KÌ 1
1. MỤC TIÊU CẦN ĐÁNH GIÁ.
- Kiểm tra kết quả tiếp thu của học sinh từ đầu năm học đến nay.
- Đánh giá kĩ năng phân tích một bài toán và tư duy lập trình trên giấy.
- Có thái độ tự giác, tích cực trong làm bài kiểm tra.
2. MỤC ĐÍCH YÊU CẦU CỦA ĐỀ.
- Kiến thức: Học sinh nắm được các kiến thức về kiểu dữ liệu cơ bản, kiểu dữ liệu có
cấu trúc. Các hàm chuẩn thông dụng. Cấu trúc vào/ra dữ liệu, cấu trúc rẽ nhánh và lặp.
- Kĩ năng: Có kĩ năng phân tích bài toán, viết chương trình.
3. CHUẨN BỊ.
- Giáo viên chuẩn bị đề kiểm tra.
- Học sinh chuẩn bị đầy đủ kiến thức đã được học, ôn tập.
4. NỘI DUNG ĐỀ BÀI VÀ ĐÁP ÁN.
- Cấu trúc đề: 2 câu kiểm tra hiểu lí thuyết, 1 câu lập trình, thời gian làm bài 45 phút,
hình thức thi viết trên giấy.
- Nội dung đề:
Câu 1: Hãy phân biệt kĩ thuật biên dịch và thông dịch.
Câu 2: So sánh sự giống và khác nhau của cấu trúc For và While.
Cho chương trình có sử dụng cấu trúc For như sau:
var i:byte
Begin
For i:=1 to 30 write(i:4);
Readln;
Trang -3 -



Giáo án Tin học 11 – Trường THPT Cát Ngạn

End.
Hãy viết lại chương trình bằng cách thay cấu trúc For bằng cấu trúc While.
Câu 3: Viết chương trình nhập một mảng số nguyên dương N, đếm số phần tử
chia hết cho 3 hoặc 5 trong dãy số từ 1 đến N.
ĐÁP ÁN VÀ BIỂU ĐIỂM.
Câu 1: (2 điểm)
Biên dịch:
Bước 1: Duyệt, phát hiện lỗi, kiểm tra tính đúng đắn của lệnh trong chương trình
nguồn.
Bước 2: Dịch toàn bộ chương trình nguồn thành một chương trình trên ngôn ngữ
máy.
(thuận tiện cho các chương trình ổn định và cần thực hiện nhiều lần)
- thông dịch:
Bước 1: Kiểm tra tính đúng đắn của lệnh tiếp theo trong chương trình nguồn.
Bước 2: Chuyển lệnh đó thành ngôn ngữ máy.
Bước 3: thực hiện các câu lệnh vừa được chuyển đổi.
(phù hợp với môt trường đối thoại giữa người và máy)
Câu 2: (4 điểm)
- giống: For và While đều cùng là cấu trúc lặp.
- Khác : For là cấu trúc lặp có số lần đã biết trước, ngược lại while ;à cấu trúc lặp có
số lần chưa xác định .
Var i:byte
Begin
i:=1;
While i<=30 do
begin
write(i:4);
i:=i+1;

End;
Readln;
End.
Câu 3: (4 điểm)
Var N,i,dem:Integer;
Begin
Write(‘nhap N’); Readln(N);
Dem:=0;
For i:=1 to N do
If (i mod 3 = 0) OR (i mod 5 = 0) then dem:=dem+1;
write(‘so luong dem duoc la’,dem);
readln;
end.
Trang -4 -


Giáo án Tin học 11 – Trường THPT Cát Ngạn

Ngày soạn:10/12/2010

TiếtPPCT 19
BÀI THỰC HÀNH 2

I. Mục tiêu.
1. Kiến thức.
- Nắm chắc cấu trúc và sơ đồ thực hiện của cấu trúc rẽ nhánh.
2. Kĩ năng
- Rèn luyện kĩ năng sử dụng cấu trúc rẽ nhánh trong việc lập trình giải một số bài toán
cụ thể.
- Làm quen với các công cụ phục vụ và hiệu chỉnh chương trình.

3. thái độ
- Tự giác, tích cực và hcủ động trong thực hành.
II. Đồ dùng dạy học
1. Chuẩn bị của giáo viên.
- Phòng máy vi tính, máy chiếu Projector để hướng dẫn.
2. Chuẩn bị của học sinh.
- Sách giáo khoa, sách bài tập và bài tập đã viết ở nhà.
III. Hoạt đông dạy – học .
1. Ổn định lớp, sỹ số
2. Bài mới
HƯỚNG DẪN CỦA GIÁO VIÊN

HOẠT ĐỘNG CỦA HỌC SINH

1. Gợi ý để học sinh nêu khái niệm về bộ
số Pitago.

1. Theo dõi dẫn dắt cuả chọ sinh để nêu
khái niệm về bộ số Pitago: Tổng bình
phương của hai số bằng bình phương của
số còn lại.
- Yêu cầu: lấy một ví dụ cụ thể .
Ví dụ về bộ số Pitago: 5 4 3
- Hỏi : Để kiểm tra bộ ba số a, b, c bất kì
a2 = b2 + c2.
có phải là bộ Pitago, ta pahỉ kiểm tra các
b2 = a2 + c2.
đẳng thức nào?
c2 = a2 + b2.
2. Chiếu chương trình mẫu lên bảng.

2. Soạn chương trình vào máy theo yêu
thực hiện mẫu các thao tác: lưu, thực hiện cầu của giáo viên.
từng lệnh chương trình, xem kết quả trung
gian, thực hiện chương tình và nhập dữ
liệu.
- Yêu cầu học sinh gõ chương trình mẫu
vào máy.
- Yêu cầu học sinh lưu chương trình lên
- Bấm F2, gõ tên file và enter.
đĩa với tên Pytago.pas.
- Yêu cầu học sinh thực hiện từng lệnh
- bấm F7, nhập các giá trị a=3, b=4,
của chương trình.
c=5.
Trang -5 -


Giỏo ỏn Tin hc 11 Trng THPT Cỏt Ngn

- Yờu cu hc sinh xem cỏc kt qu a2,
- Chn menu Debug m ca s hiu
b2, c2.
chnh.
- Yờu cu hc sinh t tỡm thờm mt s
- Quan sỏt quỏ trỡnh r nhỏnh ca tng
b a b c khỏc v so sỏnh.
b d liu vo v tr li.
Cng c: V nh xem li cỏc ni dung thc hnh ng thi xem trc ni dung phn
tip theo hụm sau ta thc hnh tip.
Ngy son:10/12/2010


TitPPCT 20
BI THC HNH 2

I. Mc tiờu.
1. Kin thc.
- Nm chc cu trỳc v s thc hin ca cu trỳc r nhỏnh.
2. K nng
- Rốn luyn k nng s dng cu trỳc r nhỏnh trong vic lp trỡnh gii mt s bi toỏn
c th.
- Lm quen vi cỏc cụng c phc v v hiu chnh chng trỡnh.
3. thỏi
- T giỏc, tớch cc v hc ng trong thc hnh.
II. dựng dy hc
1. Chun b ca giỏo viờn.
- Phũng mỏy vi tớnh, mỏy chiu Projector hng dn.
2. Chun b ca hc sinh.
- Sỏch giỏo khoa, sỏch bi tp v bi tp ó vit nh.
III. Hot ụng dy hc .
1. n nh lp, s s
2. Bi mi
Trng tõm: Rốn luyn k nng lp trỡnh hon thin mt bi toỏn.
HNG DN CA GIO VIấN

HOT NG CA HC SINH

1. Nêu nôi dung, mục đích, yêu cầu cảu
1. chú ý theo dõi vấn đề đặt ra của giáo
bài toán.
viên.

- Hỏi : Bớc đầu tiên để giải bài toán ?
- Xác định input. output và thuật giải.
- Hỏi : Để xác định ta phải đặt các câu
- Mục đích của giải phơng trình?
hỏi nh thế nào? Gọi học sinh đặt câu hỏi và
+ Kết luận số nghiệm và giá trị nghiệm
gọi học sinh trả lời cho câu hỏi đó?
x.
- Để tính đợc nghiệm x cần các đại lợng
nào?
+ Cần các đại lợng : a b.
- Yêu cầu học sinh phác họa thuât toán.
- Có các bớc xử lí nào để tính đợc x?
2. Yêu cầu học sinh gõ chơng trình vào
2. Độc lập soạn chơng trình và máy.
máy.
- Giáo viên tiếp cận từng học sinh để hTrang -6 -


Giỏo ỏn Tin hc 11 Trng THPT Cỏt Ngn

ớng dẫn và sửa sai.

- Thông báo kết quả viết đợc.

3. Yêu cầu học sinh nhập dữ liệu.
3. Nhập dữ liệu theo test của giáo viên và
- Nhập dữ liệu với test 1 2 -2
thông báo kết quả của hcơng trình.
4. Yêu cầu học sinh xác định các testcase, 4. Tìm testcase.

nhập dữ liệu, đối sánh kết quả.
0 0 VNV
0 3 VN
2 3 -1.5
Nhập dữ liệu và thông báo kết quả.
IV. Đánh giá cuối bài.
1. Những nội dung đã học
Các bớc để hoàn thành một chơng trình.
- Phân tích bài toán để xác định dữ liệu vào, dữ liệu ra, thuật toán.
- Soan chơng trình vào máy.
- Lu dữ chơng trình.
- Biên dịch.
- Thực hiện và hiệu chỉnh chơng trình.

Trang -7 -


Giáo án Tin học 11 – Trường THPT Cát Ngạn

Ngày soạn: 16/12/2010

PPCT: 21
§11. KIỂU MẢNG (Tiết 1)

I. Mục đích, yêu cầu
1. Kiến thức
-Biết được một kiểu dữ liệu mới là kiểu mảng một chiều.
-Biết được một loại biến có chỉ số;
-Biết cấu trúc tạo mảng một chiều, cách khai báo biến kiểu mảng một chiều.
2. Kĩ năng

-Biết được các thành phần trong khai báo kiểu mảng một chiều;
-Biết được định danh của một phần tử kiểu mảng một chiều xuất hiện trong một
chương trình;
-Biết cách khai báo mảng đơn giản với chỉ số miền con của kiểu nguyên;
-Biết cách tham chiếu đến các phần tử của mảng một chiều.
3. Tư duy và thái độ:
Tự giác, tích cực, chủ động và sáng tạo trong tìm kiếm tri thức.
II. Đồ dùng dạy học
1. Giáo viên: giáo án, sgk, sơ đồ cấu trúc mảng 1 chiều
2. Học sinh: sgk
III. Phương pháp
Đặt vấn đề, thuyết giảng
IV. Hoạt động dạy học
1. Hoạt động 1: Khởi động bài mới
Hoạt động của GV
Hoạt động của HS
Nội dung ghi bảng
1. Nêu bài toán mở đầu. Y/cầu 1. N/cứu bài toán và
hs đọc, tìm hiểu chương trình chương trình, suy nghĩ
giải quyết bài toán đó. Và trả lời trả lời các câu hỏi:
các câu hỏi sau:
- Nhận giá trị nhiệt độ
- Các biến: t1, …,t7 thể hiện của 7 ngày trong tuần.
các giá trị nào? Kiểu của các Cùng kiểu thực (real)
biến đó thế nào?
- dem: để đếm số
ngày tron tuần có nđộ
- Biến dem dùng làm gì?
lớn hơn nđộ trung
bình.

- Để kiểm tra lần lượt
- 7 câu lệnh IF trong chương các ngày, nđộ ngày
trình thực hiện việc gì?
nào lớn hơn nđộ trung
bình.
2. Mở rộng bài toán từ phạm vi 2. Bản chất thuật toán
một tuần sang phạm vi N ngày không có gì thay đổi
(chẳng hạn một tháng hay một nhưng
việc
viết
năm) thì chương trình trên có chương trình gặp khó
hạn chế như thế nào?
khăn do cần dùng rất
nhiều biến và đoạn
các câu lệnh tính toán
Trang -8 -


Giáo án Tin học 11 – Trường THPT Cát Ngạn

3. Để khắc phục hạn chế trên
người ta thường ghép chung 7
biến trên thành một dãy và đặt
cho nó chung 1 tên và đánh cho
mỗi phần tử một chỉ số.
- GV giới thiệu bài mới: Kiểu
mảng.
Chúng ta chỉ xét hai kiểu mảng
thông dụng: Kiểu mảng một
chiều và kiếu mảng hai chiều.

4. Y/cầu hs tham khảo sgk và
hỏi: Em hiểu như thế nào về
mãng một chiều?

khá dài.
3. Lắng nghe

4. N/cứu sgk và trả
lời:
Mảng một chiều là
dãy hữu hạn các phận
tử cùng kiểu dữ liệu.
Các ptử trong mảng
cùng tên và phân biệt
nhau bởi chỉ số.
- Trả lời:
+ Kiểu của các p/tử.
Hỏi: Để mô tả mảng một chiều, + Cách đánh số các
ta cần xác định những yếu tố p/tử.
nào?

BÀI 11. KIỂU MẢNG
1.Kiếu mảng một chiều
a. K/n mảng một chiều
Mảng một chiều là dãy hữu hạn
các phận tử cùng kiểu dữ liệu.
Các ptử trong mảng cùng tên và
phân biệt nhau bởi chỉ số.
Để mô tả mảng một chiều, ta
cần xác định:

+ Kiểu của các p/tử.
+ Cách đánh số các p/tử.

2. Hoạt động 2:Tạo kiểu mảng một chiều và khai báo biến mảng
Hoạt động của GV
Hoạt động của HS
Nội dung ghi bảng
1. Y/cầu hs tìm hiểu phần khai
Type
báo một lời giải khác cho bài - Trả lời
Kmang1=array [1..Max]
toán trên trong trường hợp tổng
of real;
quát (N ngày), có sử dụng mảng Trả lời:
Var Nhietdo: Kmang1;
1 chiều.
Dòng 1: Kbáo kiểu
Hỏi: Chỉ ra phần khai báo mảng mảng một chiều gồm
trong phần khi báo của chương Max số thực.
trình?
Dòng 2 : Kbáo biến b. Khai báo (Có hai cách)
* Ghi lại phần khai báo lên mảng Nhietdo qua kiểu + Kbáo gián tiếp: (sgk)
bảng
mảng
+ Kbáo trực tiếp: (sgk)
- Ý nghĩa của các khai báo trên
là gì?
Lắng nghe và ghi chép
Ví dụ 1:
Var Nhietdo: array [1..Max]

3. Suy nghĩ và trả lời
Of real;
2. Giới thiệu cú pháp khai báo Var Dhs2: array
kiểu mảng một chiều.
[1..100] of real;
-Khái quát hoá, ta có cú pháp - Kbáo trực tiếp mảng Ví dụ 2: Khai báo mảng tối đa
khái báo biến mảng một chiều
có tên Dhs2 gồm 100 100 số nguyên (chỉ số đầu tiên
* Lưu ý về cách chọn là 1)
số>
Trả lời:
Ta có các cách sau:
Trang -9 -


Giáo án Tin học 11 – Trường THPT Cát Ngạn

3. Y/cầu cho ví dụ khai báo Cách 2 & 3, vì ta dễ
mảng?
dàng điều chỉnh kích
Gọi hs khác: Ý nghĩa của khai thước của mảng
báo bạn vừa viết?
* Lưu ý hs tránh nhầm lẫn giữa
tên kiểu dữ liệu mảng và biến
kiểu mảng.
-Hỏi: (Treo bảng) Trong ba
cách khai báo ở ví dụ 2, thì cách
nào tốt hơn?


Cách 1:
Var a: Array[1..100] Of
Integer;
Cách 2:
Const Nmax = 100;
Var a: Array[1..Nmax] Of
.ArrayReal
integer;
.301 phần tử
Cách 3:
.Real
Const Nmax = 100;
Type MyArray = Array
[1..Nmax] Of Integer;
a[2] p/tử ở vị trí thứ 2 Var a:MyArray;
của mảng a
a[i] p/tử ở vị trí i của
mảng a.

- Hỏi: Dựa vào ví dụ trang 55
hs trả lời câu hỏi.
SGK, cho biết:
+ Tên kiểu mảng?
+ Số phần tử của mảng?
+ Mỗi phần tử của mảng thuộc
kiểu gì?
4. Cách tham chiếu đến từng
phần tử của mảng:
Y/cầu hs lấy ví dụ(sử dụng các
khbáo ở trên)

3. Hoạt động 3: Củng cố
Hoạt động của GV
(Treo bảng)
+ Những khai báo nào là đúng?

Hoạt động của HS

* Tham chiếu tới phần tử cuả
mảng
Tên_biến[chỉ số]

Nội dung ghi bảng

Type
+ Trả lời:
Arrayr = array[1..200] of
Arrayr=array[1..200]
integer;
of integer;
Arrayr = array[byte] of real;
+ Biến a trong khai báo trên Arrayb = array[- Arrayb = array[-100..100] of
chiếm dung lượng bộ nhớ là bao 100..100]
boolean;
nhiêu? (số phần tử của mảng a,
of boolean; Var a : arrayr;
kiểu phần tử)
+ Trả lời: a chiếm 400
B : arrayb;
byte trong bộ nhớ.
IV. Củng cố bài học

Câu hỏi, bài tập về nhà
Đọc ví dụ 1 và ví dụ 2/ trang 56+57 SGK
:
-Xem lại thuật toán tìm phần tử lớn nhất của dãy số nguyên và thuật toán sắp xếp dãy số
nguyên bằng thuật toán hoán đổi (lớp 10);
-Khai báo được mảng, tham chiếu được các phần tử của mảng.
Trang -10 -


Giáo án Tin học 11 – Trường THPT Cát Ngạn

Ngày soạn: 21/12/2010

PPCT: 22
§11. KIỂU MẢNG (Tiết 2)
I. Mục đích, yêu cầu
1. Kiến thức: Khai báo kiểu, biến mảng một chiều, cách tham chiếu dến các p/tử trong
mảng.
2. Kĩ năng: Hs sử dụng được biến kiểu mảng một chiều để giải quyết một bài toán đơn
giản.
3. Tư duy, thái độ: Tự giác, tích cực, chủ động và sáng tạo trong tìm kiếm tri thức
II. Đồ dùng dạy học
1. Giáo viên: giáo án, bảng phụ, sgk
2. Học sinh: sgk
III. Phương pháp
IV. Hoạt dộng dạy học
1. Hoạt động 1: Kiểm tra bài cũ
Hoạt động của GV
Hoạt động của HS
1. Trình bày các cách khai báo kiểu mảng Hs1: Đứng tại chổ trả lời

trong NNLT Pascal?
Hs2: (lên bảng)
2. Khai báo mảng gồm N số nguyên (N≤500). Const N = 500;
C1: Var M : array[1..N] of integer;
(theo 2 cách: trực tiếp và gián tiếp).
C2: Type Mnguyen = array[1..N] of
Gọi lần lượt hs trả lời.
integer;
Gọi hs khác nhận xét Nội dung trên bảng
Var M : Mnguyen;
Đánh giá, cho điểm.
2. Hoạt động 2: Vận dụng kiểu mảng một chiều
a. Nội dung :
- Bài toán: Tạo mảng A gồm N (N≤100) số nguyên. Tính tổng các phần tử của mảng là
bội của một số nguyên dương k cho trước.
b. Các bước tiến hành:
Hoạt động của GV
Hoạt động của HS
Nội dung ghi bảng
1. Nêu đề bài toán (ghi bảng)
1. Đọc đề bài toán và
trả lời:
Y/cầu hs xác định In/Output In: mảng A, số k
Bài 1: Viết CT tạo mảng A gồm
của bài toán.
Out: Tổng (S) các p/tử N (N≤100) số nguyên. Tính tổng
trong mảng A là bội các phần tử của mảng là bội của
2. Ở lớp 10 ta đã xây dựng của k.
một số nguyên dương k cho
t/toán cho bài toán này rồi.

trước.
Y/cầu hs nhắc lại t/toán.
2. 1-2 hs nhắc lại
3. Y/cầu hs cho biết các việc t/toán
chính cần thực hiện trong
chương trình là gì?
3. Trả lời
+ Cho biết số ptử của
mảng A.
+ Nhập giá trị cho các
4. Y/cầu hs cho biết các biến ptử của mảng A
chính cần sử dụng là gì?
+ Tính tổng.
Trang -11 -


Giáo án Tin học 11 – Trường THPT Cát Ngạn

- Y/cầu hs khác lên viết phần
khai báo các biến đó?
5. Tiếp tục y/cầu hs lên viết
phần chương trình tạo giá trị
cho các ptử của mảng A. (lưu
ý nhập số lượng ptử của mảng
trước)
Gọi hs khác nhận xét
* Chỉnh sửa đoạn chương trình
hs vừa hoàn thành.
6. Để viết tiếp đoạn chương
trình còn lại (tính tổng) theo

thuật toán ta phải kiểm tra lần
lượt tất cả các ptử của mảng từ
A[1] đến A[n]. vậy ta sử dụng
câu lệnh gì ở đây?
- Hỏi: trước khi tính tổng,
ngoài mảng A trong CT cần có
thêm gì không? (GV bổ sung)
- Y/cầu hs khác lên viết đoạn
chương trình còn lại?
** Chuẩn hoá lại chương trình.

4. suy nghĩ và trả lời
- mảng A
biến đơn: N, k, S.
- Lên bảng trình bày
Var S, N, k: integer;
A: array[1..100] of
integer;
5. Thực hiện tương tự
các CT trước (Lên
bảng trình bày)
Đứng tại chổ n/xét,
(bổ sung nếu sai sót)
6. Chú ý sự dẫn dắt
vấn đề của gv, suy
nghĩ và trả lời: Sử
dụng cấu trúc lặp For.

Var


S, n, k, i : integer;
A: array[1..100] of integer;
Begin
Write(‘Nhap n = ’); readln(n);
{tao mang}
For i:=1 To n Do
begin
write(‘phan tu thu ’,i,’ =’);
readln(A[i]);
end;
write(‘Nhap k = ’); readln(k);
S := 0; {khoi tao S ban dau}
{tinh tong}
For i:=1 To n Do
If A[i] mod k = 0 Then
S := S + A[i];
Writeln(‘Tong can tinh la ’, S);
End.

-Giá trị k và Biến S :=
0

- Lên bảng trình bày
Chạy thử chương trình
* Chạy thử chương trình với 1 N = 8 A: 5, 6, -8, 13, 24, 7, -4, -12 và k =3
bộ giá trị:
A
5
6
- 8 13 24

7
-4
i
1
A[i]
mod
2
3
S 0 0

2

3

4

5

6

7

12
8

0

-2

1


0

1

-1

0

6

6

6

30

30

30

18

3. Hoạt động 3: Mở rộng bài toán có vận dụng mảng một chiều
a. Nội dung :
Cho một số câu lệnh:
(1) ......am, duong : integer;
(2) ......am := 0; duong := 0;
(3) ......If A[i] >0 Then duong := duong + 1 Else if A[i]<0 Then am := am + 1;
(4) ......Writeln(duong: 4, am:4);

Hãy đưa các câu lệnh đó vào những vị trí thích hợp trong chương trình bài 1, để có được
chương trình đưa ra số các số dương và số các số âm trong mảng.

Trang -12 -


Giáo án Tin học 11 – Trường THPT Cát Ngạn

b. Các bước tiến hành:
Hoạt động của GV
(Treo bảng) chứa Nội dung câu
lệnh cần thêm vào chương trình ở
bài 1.
1. Y/cầu hs n/cứu Nội dung các
câu lệnh và hỏi:
- Ý nghĩa của biến am, duong?

Hoạt động của HS
Quan sát các câu lệnh

1. N/cứu ý nghĩa các
câu lệnh và trả lời:
- Dùng để lưu số
lượng đếm được.
- Đếm số dương hoặc
- Chức năng của lệnh (3)?
đếm số âm.
- Số các số dương, số
- Lệnh (4) đưa ra thông tin gì?
các số âm.

2. Chỉ ra vị trí cần bổ
2. Y/cầu hs tìm vị trí bổ sung các sung và các câu lệnh
lệnh vào cho phù hợp để chương cần loại bỏ bớt.
trình đếm được số dương, số âm.
3. Lên bảng , chỉnh
3. Y/cầu hs lên hoàn chỉnh lại sửa lại chương trình.
chương trình?
** Chuẩn hoá lại chương trình.
* Chạy thử chương trình với 1 bộ
giá trị:

Nội dung ghi bảng
Var n, i : integer;
am, duong : integer;
A : array[1..100] of integer;
Begin
Write(‘Nhap
n
=
’);
readln(n);
{tao mang}
For i:=1 To n Do
begin
write(‘phan tu thu ’,i,’
=’);
readln(A[i]);
end;
am := 0; duong := 0;
{dem}

For i:=1 To n Do
If A[i] >0 Then
duong := duong
+1
Else if A[i]<0 Then
am := am + 1;
Writeln(duong: 4, am:4);
End.

Chạy thử chương trình
N = 8 A: 5, 6, -8, 13, 24, 7, -4, -12
A
Duo
ng
am

5

6

-8

13

24

7

-4


12

1

2

2

3

4

5

5

5

0

0

1

1

1

1


2

3

IV. Củng cố bài học
1. Nội dung đã học
- Tính tổng các phần tử trong mảng thoả mãn một điều kiện.
- Đếm số phần tử trong mảng thoả mãn một điều kiện.
2. Câu hỏi, bài tập về nhà
- Cho 2 mảng A, B gồm n (n<=250) số nguyên. Hãy viết chương trình xây dựng mảng C[1..n],
trong đó C[i] là tổng của 2 phần tử thứ i thuộc mảng A và mảng B. (tức là: C[i] = A[i] + B[i])
- Xem trước vídụ 2 và ví dụ 3/trang 57, 58 sgk.

Trang -13 -


Giáo án Tin học 11 – Trường THPT Cát Ngạn

Ngày soạn: 02/1/2011
PPCT: 23
§11. KIỂU MẢNG (Tiết 3)
I. Mục đích, yêu cầu
1. Kiến thức:
- Khai báo kiểu, biến mảng một chiều, cách tham chiếu dến các p/tử trong mảng.
- Củng cố và làm hs hiểu sâu hơn thuật toán sắp xếp đã được học ở lớp 10.
2. Kĩ năng: Hs sử dụng được biến kiểu mảng một chiều để giải quyết một bài toán đơn giản.
3. Tư duy và thái độ:
-Rèn luyện tác phong, tư duy lập trình, tự giác , tích cực, chủ động và sáng tạo trong tìm kiếm
kiến thức
II. Đồ dùng dạy học

1. Giáo viên: giáo án, bảng phụ, sgk
2. Học sinh: sgk
III. Phương pháp
IV. Hoạt động dạy học
1. Hoạt động 1: Kiểm tra bài cũ
Hoạt động của GV
Hoạt động của HS
Gọi 2 Hs lên bảng trình bày bài tập cho về 2 hs lên bảng trình bày
nhà tiết trước.
Gọi hs khác nhận xét
Nhận xét
Đánh giá cho điểm
2. Hoạt động 2: Phân tích bài toán trước khi viết chương trình
a. Nội dung : Sắp xếp dãy số nguyên bằng thuật toán tráo đổi.
b. Các bước tiến hành:
Hoạt động của GV
Hoạt động của HS
Nội dung ghi bảng
1. Nêu bài toán, y/cầu hs xác 1. Đọc đề và xác định Số nguyên dương N (N≤250)
định In/Output của bài toán.
bài toán.
và dãy A gồm N số nguyên
In: N (N≤250), dãy A dương, mỗi số đều không
(A[i]<500).
vượt quá 500. Hãy sắp xếp
2. Y/cầu hs trình bày lại thuật Out: dãy A không giảm dãy A thành dãy không giảm.
toán sắp xếp tráo đổi. (Đã học ở 2.Thuật toán
lớp 10)
B1: Nhập N, dãy A ;
B2: jN;

B3: nếu j<2 thì đưa ra
dãy đã được sắp xếp,
KT;
B4: jj-1; i1;
B5: Nếu i>j thì Qlại B3;
B6: Nếu A[i]>A[i+1]
3. Y/cầu cả lớp n/cứu lại t/toán thì tráo đổi A[i] và
và trả lời các câu hỏi:
A[i+1];
- Biến j sẽ nhận các giá trị trong B7: Quay lại B5.
phạm vi nào? Tương tự với biến
i?
- Có nhận xét gì về 2 biến i,j?
Trả lời:
Trang -14 -


Giáo án Tin học 11 – Trường THPT Cát Ngạn

(với mỗi giá trị j, i lần lượt nhận + 2 ≤ j ≤ N, 1 ≤ i ≤ j-1
các giá trị từ 1 đến j-1)
+ i phụ thuộc theo j
3. Hoạt động 3: Vận dụng kiểu dữ liệu mảng một chiều để mô tả t/toán trên trong Pascal
Hoạt động của GV
Hoạt động của HS
Nội dung ghi bảng
1. Y/cầu hs xác định những Nội 1. Suy nghĩ và trả lời:
dung
chính cần viết trong +Khai báo biến
chương trình.

+Tạo mảng A
+Sắp xếp mảng A tăng Var A: array[1..300] of
* Chốt lại các Nội dung chính dần
integer;
cần viết.
+Đưa mảng A đã sắp
N, i, j :integer;
2. Yêu cầu từng hs lên bảng viết xếp ra màn hình
Begin
từng Nội dung của chương trình. 2. Lên bảng trình bày {tao mang}
- Khai báo những biến gì?
từng Nội dung .
Write(‘Nhap
n
=
’);
- mảng A, biến đơn N, i, readln(n);
- Tạo mảng là làm những gì?
j
For i:=1 To n Do
- Nhập sl p/tử của mảng
begin
và nhập giá trị cho các
write(‘phan tu thu ’,i,’
p/tử trong mảng
=’);
readln(A[i]);
- Sắp xếp mảng
end;
Hỏi: Làm thế nào để tráo đổi giá

{sap xep mang}
trị 2 biến cho nhau (a[i] và
For j := N Downto 1 Do
a[i+1])?
Tl: sử dụng thêm biến
for i:=1 to j - 1 do
trung gian t:
If a[i] > a[i+1] then
t:=a[i];
begin
a[i]:=a[i+1];
t:=a[i]; a[i]:=a[i+1];
- Đưa mảng ra màn hình
a[i+1] :=t
a[i+1] :=t
end;
{dua ra mang da sap xep}
Writeln (‘Mang da duoc
Viết lại chương trình sap xep ’);
vào vở.
For i :=1 To N Do write
(a[i]:4);
Readln
End.
IV. Củng cố bài học
1. Nội dung đã học
-Cách phân tích và viết chương trình cho một bài toán.
2. Câu hỏi, bài tập về nhà
-Xem lại các bài tập về mảng đã giải ở tiết 20
-Xem trước bài: Bài thực hành số 3

Trang -15 -


Giáo án Tin học 11 – Trường THPT Cát Ngạn

-Bài tập: Cho mảng A gồm N phần tử. hãy viết chương trình tạo ra mảng B cũng gồm N phần
tử, trong đó B[i] bằng tổng của i phần tử đầu tiên trong mảng A. (B[i]= A[1]+A[2]+ .. +A[i])
*****************
Ngày soạn: 4/1/2011
§11. KIỂU MẢNG (Tiết 4)
PPCT: 24
I. Mục đích, yêu cầu
1. Kiến thức
- Hiểu được khái niệm mảng hai chiều.
- Hiểu cách khai báo và tham chiếu đến các phần tử của mảng hai chiều.
2. Kĩ năng
- Thực hiện được khai báo mảng hai chiều, cách tham chiếu đến một phần tử của mảng hai
chiều.
- Thực hiện được việc tính toán các phần tử trong mảng hai chiều.
3. Tư duy, thái độ
- Xây dựng lòng yêu thích giải toán bằng lập trình trên máy tính.
- Luôn muốn cải tiến chương trình nhằm nâng cao hiệu quả chương trình.
II. Đồ dùng dạy học
1. Giáo viên: Bảng phụ chứa chương trình tạo và in mảng hai chiều gồm 5 hàng, 7 cột. Tính và
in ra màn hình tổng các phần tử trong mảng.
2. Học sinh: SGK, vở soạn.
III. Phương pháp
Thuyết trình, đặt vấn đề, hỏi đáp.
IV. Hoạt động dạy học
1. Hoạt động 1: Kiểm tra bài cũ

Hoạt động của GV
Hoạt động của HS
Viết CT tạo và in ra màn hình mảng A gồm
n phần tử 10 phần tử. Mỗi phần tử là một số
nguyên. Cho biết có bao nhiêu phần tử trong
mảng có giá trị bằng số nguyên k.
2. Hoạt động 2: Tìm hiểu ý nghĩa của mảng hai chiều.
Đặt vấn đề: Ở tiết trước, chúng ta đã tìm hiểu cách khai báo mảng, cách tạo mảng và truy cập
đến một phần tử trong mảng một chiều. Hôm nay, chúng ta sẽ tìm hiểu các vấn đề đó đối với
mảng hai chiều.
Hoạt động của GV
Hoạt động của HS
Nội dung ghi bảng
- GV yêu cầu HS xem bảng nhân - Xem bảng nhân ở §11. KIỂU MẢNG (tiết 4)
ở SGK.
SGK trang 59..
2. Kiểu mảng hai chiều:
- Với kiến thức về mảng một - Sử dụng 9 mảng một a. Xét bài toán: Bảng nhân
chiều đã học, em hãy đưa ra cách chiều, mỗi mảng lưu (SGK).
sử dụng kiểu mảng đó để lưu trữ một hàng của bảng.
bảng nhân?
- Với cách lưu trữ như vậy, ta - TL: Khai báo 9 biến
phải khai báo bao nhiêu biến mảng một chiều.
mảng?
Trang -16 -


Giáo án Tin học 11 – Trường THPT Cát Ngạn

- Khai báo như vậy có những hạn

chế nào?
- Để khắc phục những hạn chế
này, ta có thể mô tả dữ liệu của
bảng nhân là kiểu mảng một
chiều gồm 9 phần tử, mỗi phần
tử là mảng một chiều có 10 phần
tử. Như vậy, ta có thể biểu diễn
bảng nhân bằng kiểu dữ liệu
mảng hai chiều.
- Yêu cầu HS nhận xét về mảng
hai chiều?

- TL: Phải khai báo
nhiều biến, chương
trình phải viết nhiều
lệnh để tạo và in giá trị
của mảng.
- Chú ý lắng nghe.

- TL: Nếu coi mỗi hàng
của mảng hai chiều là
một phần tử thì ta có thể
coi mảng hai chiều là
mảng một chiều mà mỗi
phần tử của nó là mảng
- Nêu khái niệm mảng hai chiều. một chiều.
* Khái niệm mảng hai chiều:
- Để mô tả kiểu mảng hai chiều, - HS trả lời.
(SGK).
cần xác định những yếu tố nào?

* Các yếu tố cần xác định để
- Tham khảo SGK và mô tả kiểu mảng hai chiều.
trả lời.
(SGK)
3. Hoạt động 3:(10’)Tìm hiểu cách khai báo biến mảng hai chiều và cách tạo/in mảng hai
chiều.
Hoạt động của GV
Hoạt động của HS
Nội dung ghi bảng
b. Khai báo:
♦ C1: Trực tiếp:
- GV đưa ra hai cách khai báo - HS chú ý theo dõi.
Var <tênbiếnmảng>:array
biến mảng hai chiều.
[kiểu chỉ số hàng, kiểu chỉ số
cột] of <kiểu phần tử>;
♦ C2: Gián tiếp:
- GV giải thích các thành phần - Chú ý lắng nghe.
Type <tên kiểu mảng> =
trong khai báo.
array[kiểu chỉ số hàng, kiểu
chỉ số cột] of <kiểu ptử>;
Var <tên biến mảng>:kiểu mảng>;
Ví dụ:
var A:array [1..50,1..100] of
integer;
ii) type mang2c = array
- Gọi HS nêu cách khai báo gián - HS đứng tại chỗ trả [1..9,1..10] of byte;
tiếp biến B để lưu trữ bảng nhân lời.

var B: mang2c;
ở SGK.
c.Tham chiếu đến một phần
tử của mảng hai chiều:
- Gọi HS nhắc lại cách tham
Tênbiến[chỉ số hàng,chỉ số
chiếu đến một phần tử của mảng
cột]
một chiều.
- TL: Tênbiến[chỉ số] i) A[i,j] → phần tử ở hàng i, cột j
Trang -17 -


Giáo án Tin học 11 – Trường THPT Cát Ngạn

- Gọi HS nêu cách tham chiếu
đến số 81 trong bảng nhân?
- TL: B[9,9] = 81
4. Hoạt động 4: Tìm hiểu cách viết chương trình đơn giản.
Hoạt động của GV
Hoạt động của HS

- GV hướng dẫn HS cách tạo - HS chú ý theo dõi.
mảng hai chiều có m hàng, n cột.

- GV hướng dẫn HS cách in
mảng hai chiều vừa tạo.

- Gọi HS lên bảng sửa lại phần
khai báo và các câu lệnh nhập

cho phù hợp với bài này.

- GV hướng dẫn HS cách tính
tổng.
- GV treo bảng phụ viết sẵn
chương trình cho HS tham khảo.
IV. Củng cố bài học
Trang -18 -

của mảng A.
ii) B[9,9] → phần tử ở hàng 9,
cột 9 của bảng nhân B.
Nội dung ghi bảng
d. Các ví dụ:
Ví dụ 1: Viết chương trình tạo
và in mảng hai chiều gồm m
hàng, n cột.
program Tao_in_mang;
var i, j, m, n: integer;
A: array [1..100,1..100] of
integer;
begin
write ('Nhap so hang m = ');
readln (m);
write ('Nhap so cot n = ');
readln (n);

{Tạo mảng}
for i := 1 to m do
for j := 1 to n do

begin
- Chú ý lắng nghewrite('Nhap

A[',i, ',' ,j,']=');
theo dõi.
readln (A[i , j]);
end;
{In mảng}
for i:= 1 to m do
begin
for j := 1 to n do
- HS lên bảng làm.
write (A[i , j]:4);
+ Không khai báo m,n.
writeln;
+ Khai báo thêm biến T.
end;
+ Viết hai vòng for của readln
lệnh tạo và in mảng là: end.
for i := 1 to 5 do
Ví dụ 2: Tạo và in mảng hai
for j := 1 to 7 do
chiều gồm 5 hàng, 7 cột. Tính
- HS chú ý theo dõi.
và in ra màn hình tổng các
phần tử trong mảng.
- Theo dõi chương trình T:= 0;
trên bảng phụ.
for i := 1 to 5 do
for j := 1 to 7 do

T := T + A[i,j];


Giáo án Tin học 11 – Trường THPT Cát Ngạn

1. Nội dung đã học
- Cách khai báo biến mảng hai chiều.
- Cách tạo mảng hai chiều.
- Cách tính toán các phần tử trong mảng hai chiều.
2. Câu hỏi, bài tập về nhà : Xem các ví dụ còn lại trong SGK.
PPCT: 25

Ngày soạn:6/1/2011

Bài tập
I. Mục tiêu:
1. Về kiến thức: Củng cố các kiến thức về:
- Các quy tắc kiểu dữ liệu có cấu trúc để thực hiện dữ liệu thực tế.
- Kiểu dữ liệu có cấu trúc được xây dựng từ những kiểu dữ liệu cơ sở theo một số cách
thức tạo kiểu do ngôn ngữ lập trình Pascal quy định.
- Mỗi kiểu dữ liệu có cấu trúc thường hữu ích trong việc giải quyết một số bài tập.
- Trong ngôn ngữ Pascal dùng mô tả kiểu dữ liệu mới với từ khoá Type.
2. Về kĩ năng:
- Rèn luyện kĩ năng khai báo kiểu dữ liệu có cấu trúc (với Pascal, sử dụng thành thạo
các từ khoá Var, Type).
- Sử dụng thành thạo các thao tác vào/ ra và các phép toán trên các thành phần cơ sở.
3. Về tư duy và thái độ:
- Thái độ học tập tích cực, ham thích lập trình.
- Tiếp tục hình thành và xây dựng phẩm chất cần thiết của người lập trình.
II. Chuẩn bị:

- GV: Computer
- HS: Chuẩn bị bài tập về nhà.
III. Phương pháp:
- Nêu vấn đề, Dẫn dắt, gợi ý...
IV. Tiến trình hoạt động:
Hoạt động 1: Giải bài tập số 6 trang 79 Sách GK Tin học lớp 11
Hoạt động của GV
Hoạt động của HS
Ghi bảng
HĐTP1:
H1: Sử dụng kiểu dữ liệu nào - Trả lời:
Chính xác hoá bài 6/tr79.
và cách khai báo?
Kiểu mảng một chiều:
Var A:array [1..100] of
integer;
H2: Khai báo biến như thế - Trình bày lên bảng:
nào?
- Yêu cầu HS viết chương
trình nhập mảng A.
- Chỉnh sửa bài làm của HS.
TL: Chia hết cho 2.
H3: Số chẵn là số như thế
nào?
- Nếu có số lượng số chẵn - Nếu có số lượng số
trong dãy thì tìm số lượng số lẻ chẵn trong dãy thì tìm số
được hay không? - Nếu được lượng lẻ bằng cách: n Trang -19 -


Giáo án Tin học 11 – Trường THPT Cát Ngạn


Hoạt động của GV
Hoạt động của HS
Ghi bảng
thì tìm bằng cách nào?
số lượng số chẵn.
H4: Sử dụng câu lệnh nào để TL: If ... then...
viết?
- Yêu cầu HS hoàn thành - Trình bày lên bảng:
chương trình của câu a.
- Nhận xét, chỉnh sửa bài làm
của HS.
HĐTP 2:
H1: Nêu thuật toán kiểm tra 1 - Trả lời câu hỏi:
số có phải là số nguyên tố hay
không?
- Trình bày lên bảng:
- Yêu cầu HS viết chương
trình dựa theo thuật toán.
Hd: Sử dụng câu lệnh nào?
- Yêu cầu HS hoàn thành đoạn
chương trình câu b.
- Nhận xét, đánh giá:
- Gợi ý để HS kết hợp hai đoạn
chương trình thành một
chương trình hoàn chỉnh cho
cả bài.
+ Hoạt động 2: Giải bài tập 7 trang 79 Sách GK Tin học lớp 11
Hoạt động của GV
Hoạt động của HS

Ghi bảng
- Yêu cầu HS liệt kê 6 số hạng - Liệt kê: 0, 1, 1, 2, 3, 5.
đầu của dãy Fiponaci.
H1: Đoạn chương trình nhập - Viết chương trình lên Chính xác hoá bài 6/trang79.
từ bàn phím số nguyện dương bảng:
như thế nào?
H2: Số hạng tổng quát thứ n TL: Fn = Fn-1 + Fn-2
như thế nào?
- Gợi ý: Để viết chương trình TL: Dùng 2 biến phụ
này ta cần bao nhiêu biến phụ? (F1, F2)
H3: sử dụng câu lệnh nào - Suy nghĩ, trả lờ:
trong bài này?
- Yêu cầu HS viết chương - Lên bảng trình bày:
trình tìm số hạng thứ n.
- Gọi 1 HS hoàn chỉnh lại
chương trình.
- Nhận xét, chỉnh sửa, đánh giá
bài làm.
+ Hoạt động 3: Củng cố (2ph)
Cấu trúc lệnh: While ... do ... và For ... do ...
Về nhà làm các bài tập tiếp theo.
*************************
Trang -20 -


Giáo án Tin học 11 – Trường THPT Cát Ngạn

PPCT: 26-27

Ngày soạn: 10/1/2011


BÀI THỰC HÀNH SỐ 3
I.Mục tiêu:
1.Kiến thức:
- Củng cố lại kiến thức cơ bản về kiểu dữ liệu mảng, cụ thể là mảng một chiều.Qua đó cung
cấp cho học sinh các thuật toán cơ bản thường gặp với kiểu dữ liệu mảng.
2.Kĩ năng:
- Rèn luyện cho học sinh một số kĩ năng làm việc với mảng như:
+Khai báo kiểu dữ liệu mảng một chiều,
+ Nhập/ xuất dữ liệu,
+Duyệt qua các phần tử của mảng,
-Qua đó giúp học sinh biết cách giải một số bài toán cơ bản thường gặp như:
+Tính tổng các phần tử thoả mãn điều kiện nào đó,
+Đếm số các phần tử thoả mãn điều kiện nào đó,
+Tìm phần tử lớn nhất/bé nhất của mảng và vị trí của nó.
3. Thái độ:
-Rèn luyện tác phong, tư duy lập trình, tự giác , tích cực, chủ động và sáng tạo trong tìm
kiếm kiến thức.
II.Chuẩn bị của giáo viên và học sinh:
1.Giáo viên:
+Phòng máy vi tính,
+Một số chương trình cài sẵn trong USB hoặc đĩa mềm,
+Máy chiếu hoặc bảng phụ,
2.Học sinh:
+Học bài cũ,
+Đọc trước bài ở nhà.
III.Phương pháp:
-Trình chiếu kết hợp đàm thoại.
-Hướng dẫn học sinh các bước thực hiện một số chương trình.
IV.Tiến trình bài dạy:

Hoạt động 1: Kiểm tra bài cũ
Câu hỏi: Có mấy cách khai báo mảng một chiều? Cho ví dụ.
Hoạt động học sinh
Hoạt động giáo viên
Ghi bảng
-Lắng nghe câu hỏi

-Nêu câu hỏi.

-Học sinh trả lời câu -Gọi học sinh lên trả lời.
hỏi. Cả lớp theo dõi,
nhận xét

Có hai cách khai báo:
a/Khai báo trực tiếp:
Var < tên biến mảng > : array
[ kiểu chỉ số ] of < kiểu phần tử>;

b/ Khai báo gián tiếp
Type < tên kiểu mảng > : array
[ kiểu chỉ số ] of < kiểu phần tử>;
Var < tên biến mảng >: < tên kiểu
-Giáo viên nhận xét, cho mảng >;
điểm
Trang -21 -


Giáo án Tin học 11 – Trường THPT Cát Ngạn

Hoạt động 2: Bài tập số 1 sgk/63

Hoạt động học sinh

Hoạt động giáo viên

Ghi bảng

1/HĐTP1:
Quan sát bảng phụ,
Treo bảng phụ có nội
- Lắng nghe câu hỏi và dung bài số 1a/ sgk/63 ( có
trả lời.
thể sử dụng máy chiếu ).
Sau đó đặt câu hỏi cho học
sinh trả lời .
+ Khai báo uses CRT; có ý -Khai báo thư viện chương trình
nghĩa gì?
con CRT để sử dụng được thủ tục
Clrscr;
- Myarray : tên kiểu dữ liệu
+Myarray là tên kiểu dữ - nmax: số phần tử tối đa có thể
liệu hay tên biến?
chứa của biến mảng a,
+Vai trò của nmax và n có
n: số phần tử thực tế của a.
gì khác nhau?
-Random(n): cho số ngẫu nhiên từ
+Những dòng lệnh nào 0 đến n-1
dùng để tạo biến mảng a
-Theo dõi để nắm hàm
Random.

-Giáo viên giới thiệu hàm
Random cho học sinh.Sau
+Câu lệnh cho số ngẫu đố đặt câu hỏi:
nhiên có giá trị từ -299 + a[i] := Random(300) –
đến 299.
Random (300) có ý nghĩa
gì?
+câu lệnh in ra màn
hình giá trị tất cả các + Lệnh for i:=1 to n do
phần tử của mảng.
Write ( a[i] : 5);
Có ý nghĩa gì?
+cộng tất cả các phần tử
chia hết cho k.
+Lệnh For-do cuối cùng
thực hiện nhiệm vụ gì?
+Số lần thực hiện lệnh
gán đúng bằng số phần +Lệnh gán s := s + a[i] ;
tử của mảng chia hết được thực hiện bao nhiêu
cho k.
lần?
-Theo dõi kết quả chạy
Trang -22 -


Giáo án Tin học 11 – Trường THPT Cát Ngạn

thử chương trình.

-Thực hiện lại chương trình

lần cuối để học sinh thấy
được kết quả.

2/HĐTP2: Sửa
chương trính câu a/ để
được chương trình giải
quyết bài toán câu b/
-Quan sát bảng phụ,
theo dõi và trả lời các
câu hỏi của GV.
-Treo bảng phụ câu b/ bài +posi : đếm số dương trong mảng.
tập 1 sgk/64
+neg: đếm các số âm trong mảng.
Hỏi HS:
+ Ý nghĩa của biến posi và
neg?
+Nếu a[i] > 0 thì cộng
a[i] vào posi; ngược lại
nếu a[i] < 0 thì cộng a[i] + Chức năng của lệnh :
vào neg.
If a[i] > 0 then
posi := posi +1
else if a[i] < 0 then
neg := neg +1;
+Quan sát các lệnh và là gì?
suy nghĩ vị trí cần sửa
trong chương trình câu +Hướng dẫn học sinh
a?.
thêm vào vị trí cần thiết để
chương trình đếm được số

lượng các số âm và các số
+Theo dõi kết quả chạy dương.
chương trình.
+Chạy thử chưong trình để
học sinh theo dõi kết quả.
Hoạt động 3: Bài tập số 2/sgk/64
Hoạt động học sinh
Hoạt động giáo viên

Ghi bảng

1/HĐTP1: Đưa ra một Ví dụ: Cho mảng gồm 5
ví dụ cụ thể .
phần tử: 1 5 7 5 2 .
Tìm phần tử có giá trị lớn
nhất và vị trí của nó trong
mảng ( số thứ tự )
-Gợi ý , hướng dẫn học
sinh thuật toán tìm phần tử
Trang -23 -


Giáo án Tin học 11 – Trường THPT Cát Ngạn

lớn nhất và vị trí của nó
-Theo dõi, suy nghĩ để (kết hợp làm thủ công).
j:=1;
nắm thuật toán.
For i:=2 to n do
If a[i] > a[j] then

j:=i;
(Sau khi kết thúc:
+ Giá trị lớn nhất là a[j]
-Cho học sinh đọc đoạn
+ vị trí cần tìm j.)
chương trình trong bài
2/64sgk .
-Đọc đoạn chương trình
sgk. Liên hệ trả lời các Hỏi HS:
câu hỏi mà GV nêu ra.
+ Nếu muốn tìm phần tử
nhỏ nhất thì cần sửa ở chỗ
+Sửa a[i] > a[j] ; thành nào?
a[i] < a[j] ;
+Nếu muốn tìm phần tử
lớn nhất với chỉ số lớn nhất
+Sửa a[i] > a[j]; thành của nó thì ta sửa ổ chỗ
a[i] >= a[j];
nào?
-Chạy thử chưong trình
cho học sinh theo dõi
-Theo dõi học sinh thực
2/HĐTP2:
hiện chương trình và xem
-Theo dõi GV chạy kết quả.
chương trình và làm lại
trên máy tính.
Hoạt động 4: Củng cố
-Nhắc lại cho học sinh một số kiến thức về:
+ Tính tổng các phần tử các phần tử thoả mãn một điều kiện nào đó.

+ Đếm số các phần tử thoả mãn một điều kiện nào đó.
+ Tìm phần tử lớn nhất/ bé nhất.
BTVN- Viết một chương trình nhập một mảng một chiều, đếm số phần tử nhỏ hơn một số k
nào đó.

Trang -24 -


Giáo án Tin học 11 – Trường THPT Cát Ngạn

Ngày soạn:16/1/2011
BÀI THỰC HÀNH SỐ 4 (Tiết 1)
PPCT: 28
I. Mục đích, yêu cầu
1. Kiến thức
- Củng cố kiến thức về dữ liệu kiểu mảng.
- Xây dựng cấu trúc dữ liệu, hiểu thuật toán sắp xếp bằng tráo đổi.
2. Kĩ năng
- Biết chỉnh sữa lỗi trong chương trình.
- Tự nhập các bộ dữ liệu để hiểu ý nghĩa một số câu lệnh.
3. Thái độ
- Nghiêm túc thực hiện đúng nội quy phòng máy, tự giác trong khi lập trình.
II.Chuẩn bị
- Gv:Bảng phụ viết sẵn chương trình, phòng máy, project.
- Hs: Sgk, CT đã được viết sẵn.
III. Phương pháp
IV. Tiến hành dạy học
1. Hoạt động 1: Nhắc lại kiến thức đã học liên quan bài thực hành.
Hoạt động của GV
Hoạt động của Hs

Hỏi 1: Nêu cách khai báo kiểu mảng 1 Tl: có 2 cách
chiều.
+ gián tiếp:
+ trực tiếp:
TL: For i:= 1 to 6 do
Hỏi 2: Nhập từ bàn phím xây dựng mảng
Begin
một chiều A có 6 phần tử.
Writeln(‘Nhap phan tu thu ’,i,’=’);
Readln(A[i]);
End;
2. Hoạt động 2: Xác định bài toán và tìm hiểu chương trình.
Hoạt động của GV
Hoạt động của HS
Ghi bảng
1. Chiếu đề bài lên bảng.
1. Quan sát đề và lằng Đề: Sắp xếp dãy số nguyên bằng
nghe câu hỏi của gv.
thuật toán tráo đổi với các giá trị
2. Xác định bài toán
2. Trả lời câu hỏi.
khác nhau của n số.
Y/cầu hs xác định dữ liệu - Vào: mảng A
vào/ra của bài toán?
- Ra: mảng A đã sắp
3. Gv minh hoạ bài toán:
xếp
3. Theo dãy số minh
A 5 7 2 8 6 4
họa, nhớ lại thuật toán

1 2 3 4 5 6
sắp xếp đã học.
Mảng A đã sắp xếp:
A 2 4 5 6 7 8
1 2 3 4 5 6
CT( SGK/65)
- Yêu cầu hs nhắc lại ý tưởng
- Nhắc lại thuật toán.
thuật toán(Lớp 10)?
- Chiếu thuật toán đã được - Quan sát, đối chiếu
thuật toán liệt kê với CT
liệt kê các bước.
(SGK).
4. Tìm hiểu chương trình
Trang -25 -


Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×