164
Trưnng THPT Nguyn Đc Mu Tin học 11 Chương I MỘT SỐ KN VỀ LT VÀ NNLT Tiết 1 Khái niệm lp trình và ngôn ngữ lp trình I. Mục tiêu 1. Kiến thức: - Hiểu khả năng của ngôn ngữ lập trình bậc cao, phân biệt được ngôn ngữ máy và hợp ngữ. - Hiểu ý nghĩa và nhiệm vụ của chương trình dịch. Phân biệt được biên dịch và thông dịch. 2. Kỹ năng: II. Chuẩn bị của GV và HS: 1. Giáo viên: SGK, giáo án. 2. Học sinh: SGK, vở ghi. III. Nội dung: 1. Ổn định lớp: 2. Bài giảng: ------------------------------------------------------------ ------------------------------------------------Giáo viên: Nguyn Hồng Phương

Tin học 11

Embed Size (px)

Citation preview

Page 1: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

Chương I MỘT SỐ KN VỀ LT VÀ NNLT

Tiết 1 Khái niệm lập trình và ngôn ngữ lập trình

I. Mục tiêu

1. Kiến thức:

- Hiểu khả năng của ngôn ngữ lập trình bậc cao, phân biệt được ngôn ngữ máy và hợp ngữ.

- Hiểu ý nghĩa và nhiệm vụ của chương trình dịch. Phân biệt được biên dịch và thông dịch.

2. Kỹ năng:

II. Chuẩn bị của GV và HS:

1. Giáo viên: SGK, giáo án.

2. Học sinh: SGK, vở ghi.

III. Nội dung:

1. Ổn định lớp:

2. Bài giảng:

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 2: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

Nội dung Hoạt động của GV và HS

- Ngôn ngữ máy

- Hợp ngữ

- Ngôn ngữ lập trình bậc cao

Lập trình: là sử dụng cấu trúc dữ liệu và các câu lệnh của ngôn ngữ lập trình cụ thể để mô tả dữ liệu và diễn đạt các thao tác của thuật toán.

Chương trình dịch: Là chương trình đặc biệt có chức năng chuyển đổi chương trình được viết bằng ngôn ngữ lập trình bậc cao thành chương trình thực hiện được trên máy tính.

- Thông dịch (interpreter): được thực hiện bằng cách lặp lại dãy các bước sau:

+ Kiểm tra tính đúng đắn của câu lệnh tiếp theo trong chương trình nguồn.

+ Chuyển đổi câu lệnh đó thành một hay nhiều câu lệnh tương ứng trong ngôn ngữ máy.

+ Thực hiện các câu lệnh vừa chuyển đổi được.

- Biên dịch (compiler) được thực hiện qua hai

Trong chương trình lớp 10 chúng ta đã được biết qua về ngôn ngữ lập trình. Trong chương trình lớp 11 chúng ta sẽ tìm hiểu chi tiết hơn về nnlt.

Bạn nào cho biết ở lớp 10 chúng ta đã nhắc tới những loại ngôn ngữ lập trình nào?

HS: Trả lời câu hỏi. HS khác bổ xung.

Chương trình viết bằng ngôn ngữ bậc cao nói chung không phụ thuộc vào loại máy (chương trình có thể chạy trên nhiều loại máy tính khác nhau).

Chương trình dịch được chia thành hai loại: Thông dịch và biên dịch.

(Lấy ví dụ minh họa để HS phân biệt được hai loại ctd này).

HS: Nghe giảng, ghi chép.

IV. Củng cố: Kể tên một số ngôn ngữ lập trình mà em biết?

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Input CTDOutp

ut

Page 3: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

(Một HS trả lời, HS khác bổ sung).

V. Dặn dò: Đọc trước bài 2.

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 4: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

Tiết 2 Các thành phần của ngôn ngữ lập trình

I. Mục tiêu

1. Kiến thức:

- Biết ngôn ngữ lập trình có ba thành phần cơ bản là: bảng chữ cái, cú pháp, ngữ nghĩa. Hiểu và phân biệt được ba thành phần này.

- Biết một số khái niệm: tên, tên chuẩn, tên dành riêng (từ khóa), hằng và biến.

2. Kỹ năng:

- Ghi nhớ các quy định về tên, hằng, biến trong một ngôn ngữ lập trình.

- Cách đặt tên đúng và nhận biết được tên sai quy định.

II. Chuẩn bị của GV và HS:

1. Giáo viên: SGK, giáo án, bảng phụ.

2. Học sinh: SGK, vở ghi.

III. Nội dung:

1. Ổn định lớp:

2. Kiểm tra bài cũ: Chương trình dịch là gì? Tại sao cần phải có chương trình dịch?

3. Bài giảng:

Nội dung Hoạt động của GV và HS

1. Các thành phần cơ bản.

a) Bảng chữ cái.

Trong Pascal, bảng chữ cái bao gồm các kí tự sau:

Các chữ cái thường và chữ cái in hoa của bảng chữ cái tiếng Anh.

‘A’...’Z’ có mã 65..90

‘a’...’z’ có mã 97..122

‘0’...’9’ có mã 48..57

10 Chữ số thập phân Ả rập.

Các kí tự đặc biệt.

Mỗi ngôn ngữ lập trình thường có ba thành phần cơ bản là bảng chữ cái, cú pháp và ngữ nghĩa.

Các kí tự trong bảng chữ cái và cú pháp của ngôn ngữ lập trình có thể tạo thành các câu lệnh và chương trình tương tự như từ bảng chữ cái và ngữ pháp của ngôn ngữ tự nhiên có thể diễn đạt thành câu và văn bản.

HS: nghe giảng, ghi chép.

Bảng chữ cái của các ngôn ngữ lập trình nói chung không khác nhau nhiều.

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 5: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

b) Cú pháp:

Là bộ quy tắc để viết chương trình.

c) Ngữ nghĩa:

Xác định ý nghĩa thao tác cần thực hiện, ứng với tổ hợp kí tự dựa vào ngữ cảnh của nó.

Vd: (SGK)

Tóm lại: Cú pháp cho biết cách viết một chương trình hợp lệ, còn ngữ nghĩa xác định ý nghĩa của các tổ hợp kí tự trong chương trình.

2. Một số khái niệm.

a) Tên

Trong TP, tên là một dãy liên tiếp không quá 127 kí tự bao gồm chữ cái, chữ số hoặc dấu gạch dưới.

Vd:

Tên đúng: (lấy 3 vd)

Tên sai: (lấy 3 vd)

Ngôn ngữ Pascal không phân biệt chữ hoa, chữ thường trong tên.

Trong Pascal phân biệt 3 loại tên:

- Tên dành riêng;

- Tên chuẩn;

- Tên do người dùng đặt.

Tên dành riêng: là tên được dùng với ý nghĩa riêng xác định.

Tên chuẩn: là tên được dùng với ý nghĩa nhất định nào đó.

Tên do người lập trình đặt: được dùng với ý nghĩa riêng, xác định bằng cách khai báo

Dựa vào chúng, người lập trình và chương trình dịch biết được tổ hợp nào của các kí tự trong bảng chữ cái là hợp lệ và tổ hợp nào là không hợp lệ.

Mọi đối tượng trong chương trình đều phải được đặt tên theo quy tắc của ngôn ngữ lập trình và từng chương trình dịch cụ thể.

HS: Lấy ví dụ về tên đúng và sai.

Người lập trình không được dùng với ý

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 6: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

trước khi sử dụng. Các tên này không được trùng với tên dành riêng.

b) Hằng và biến

* Hằng

là đại lượng có giá trị không thay đổi trong quá trình thực hiện chương trình.

- Hằng số học: là các số nguyên hay số thực.

- Hằng logic: True hoặc False

- Hằng xâu:

* Biến:

là đại lượng được đặt tên, dùng để lưu trữ giá trị và giá trị có thể được thay đổi trong quá trình thực hiện chương trình.

c) Chú thích: Được đặt trong chương trình, giúp cho người đọc chương trình nhận biết ý nghĩa của chương trình hay của từng câu lệnh trong chương trình.

nghĩa khác.

Có thể khai báo và dùng chúng với ý nghĩa và mục đích khác.

Trong ngôn ngữ lập trình thường có các hằng số học, hằng logic, hằng xâu.

HS: Nghe giảng, ghi chép.

IV. Củng cố: Lấy ví dụ về tên đúng, tên sai trong TP?

V. Dặn dò: Trả lời các câu hỏi cuối bài. Làm bài tập trong SBT.

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 7: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

Tiết 3 Bài tập

I. Mục tiêu

1. Kiến thức:

- Biết được đặc điểm của ngôn ngữ lập trình bậc cao, chức năng của chương trình dịch.

- Biết các thành phần của ngôn ngữ lập trình.

2. Kỹ năng:

- Phân biệt được trình thông dịch và biên dịch.

- Đặt được tên đúng và nhận biệt tên sai quy định.

II. Chuẩn bị của GV và HS:

1. Giáo viên: SBT, giáo án.

2. Học sinh: SBT, vở bài tập.

III. Nội dung:

1. Ổn định lớp:

2. Kiểm tra bài cũ: Hãy cho biết các điểm khác nhau giữa tên dành riêng và tên chuẩn? Lấy ví dụ về 3 tên đúng theo quy tắc của Pascal?

3. Bài giảng:

Nội dung Hoạt động của GV và HS

Chữa một số bài tập trong SBT.

Chữa bài tập theo yêu cầu của HS.

Kiểm tra lại kiến thức đã học.

Gọi một số HS đứng tại chỗ chữa các bài từ 1..8.

HS khác nhận xét và bổ sung.

GV củng cố lại các câu trả lời

Gọi 3 HS lên bảng chữa các bài 9, 10, 11.

Trong sách bài tập số lượng bài tập nhiều, có một số bài khó. Để mở rộng kiến thức đã học thì nên hoàn thành những bài tập này.

Cho HS làm bài kiểm tra 15’. Có thể sử dụng các câu 13, 14 làm đề kiểm tra.

IV. Củng cố:

V. Dặn dò: Về nhà đọc trước bài 3 - Cấu trúc chương trình.

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 8: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

Tiết 4 Cấu trúc chương trình

I. Mục tiêu

1. Kiến thức:

- Hiểu chương trình là sự mô tả của thuật toán bằng một ngôn ngữ lập trình.

- Biết cấu trúc của một chương trình đơn giản: cấu trúc chung và các thành phần.

2. Kỹ năng:

- Nhận biết được các thành phần của một chương trình đơn giản.

II. Chuẩn bị của GV và HS:

1. Giáo viên: SGK, giáo án, bảng phụ.

2. Học sinh: SGK, vở ghi.

III. Nội dung:

1. Ổn định lớp:

2. Kiểm tra bài cũ: Chữa bài tập số 6 (tr 13-SGK)?

3. Bài giảng:

Nội dung Hoạt động của GV và HS

1. Cấu trúc chung

Các diễn giải bằng ngôn ngữ tự nhiên được đặt trong cặp dấu < và >. Các thành phần của chương trình có thể có hoặc không được đặt trong cặp dấu [ và ].

Cấu trúc của một chương trình có thể mô tả như sau:

[<phần khai báo>]

<phần thân>

2. Các thành phần của chương trình

a)Phần khai báo

Chương trình được viết bằng ngôn ngữ lập trình bậc cao thường gồm phần khai báo và phần thân.

Phần khai báo có thể có hoặc không tùy theo từng chương trình cụ thể.

Khi diễn giải cú pháp của ngôn ngữ lập trình người ta thường sử dụng ngôn ngữ tự nhiên.

HS: nghe giảng, ghi bài.

Có thể khai báo cho: tên chương trình, thư viện, hằng, biến và chương trình con.

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 9: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

* Khai báo tên chương trình

Program <tên chương trình>

tên chương trình là tên do người lập trình đặt theo đúng quy định về tên.

* Khai báo thư viện

Uses <tên thư viện>

vd: Uses crt, graph;

* Khai báo hằng

const <tên hằng> = <giá trị>

* Khai báo biến

b) Phần thân chương trình

Begin

[<Dãy lệnh>]

End.

3. Ví dụ chương trình đơn giản

Ví dụ SGK.

Phần này có thể có hoặc không.

Mỗi ngôn ngữ lập trình thường có sẵn một số thư viện cung cấp một số chương trình thông dụng đã được lập sẵn.

Khai báo hằng thường được sử dụng cho những giá trị xuất hiện nhiều lần trong chương trình.

(Trình bày chi tiết ở bài 5)

Dãy lệnh trong phạm vi được xác định bởi cặp dấu hiệu mở đầu và kết thúc tạo thành thân chương trình.

Viết ví dụ, phân tích để HS hiểu rõ cấu trúc của một chương trình Pascal đơn giản.

IV. Củng cố:

V. Dặn dò:

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 10: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 11: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

Tiết 5 Một số kiểu dữ liệu chuẩn. Khai báo biến

I. Mục tiêu

1. Kiến thức:

- Biết một số kiểu dữ liệu chuẩn: nguyên, thực, kí tự, logic;

- Hiểu cách khai báo biến;

2. Kỹ năng:

- Xác định được kiểu cần khai báo của dữ liệu đơn giản;

- Biết khái báo biến đúng.

II. Chuẩn bị của GV và HS:

1. Giáo viên: SGK, giáo án, bảng phụ.

2. Học sinh: SGK, vở ghi.

III. Nội dung:

1. Ổn định lớp:

2. Kiểm tra bài cũ:

Cho biết cách khai báo tên chương trình, thư viện, hằng, biến trong TP?

3. Bài giảng:

Nội dung Hoạt động của GV và HS

MỘT SỐ KIỂU DỮ LIỆU CHUẨN

Một số kiểu dữ liệu chuẩn thường dùng cho các biến đơn trong Pascal.

1. Kiểu nguyên

Byte: 0..255

Interger: -215..215-1

Word: 0..216-1

Dữ liệu là thông tin đã mã hóa trong máy tính. Dữ liệu trong mỗi ngôn ngữ lập trình chỉ có một số kiểu chuẩn nhất định mặc dù thông tin rất đa dạng. Mỗi kiểu được đặc trưng bởi tên kiểu, miền giá trị, kích thước trong bộ nhớ, các phép toán, các hàm và thủ tục sử dụng chúng.

Các số nguyên được lưu trữ và kết quả tính toán là số đúng, nhưng có hạn chế về miền giá trị.

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 12: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

Nội dung Hoạt động của GV và HS

Longint: -231..231-1

2. Kiểu thực

Real: -10-38..1038

Extended: -10-4932..104932

3. Kiểu kí tự

Char: 256 kí tự trong bộ mã ASCII

4. Kiểu logic

Boolean: True hoặc False.

KHAI BÁO BIẾN

Trong Pascal, khai báo biến bắt đầu bằng từ khóa Var có dạng:

Var <danh sách biến>:<kiểu dữ liệu>;

trong đó:

- danh sách biến là một hoặc nhiều tên biến, tên biến được viết cách nhau bởi

Các kiểu thực được lưu trữ và kết quả tính toán chỉ là gần đúng với sai số không đáng kể (so với yêu cầu tính toán trong các bài toán thông thường), nhưng miền giá trị được mở rộng hơn so với kiểu nguyên. Phép toán chứa các toán hạng gồm cả kiểu nguyên và kiểu thực sẽ cho kết quả kiểu thực.

Kiểu kí tự có tập giá trị là các kí tự trong bộ mã ASCII, được dùng khi thông tin là các kí tự, xâu. Vì vậy hầu hết các ngôn ngữ lập trình đều có kiểu kí tự để làm việc với văn bản. Việc so sánh các kí tự được thực hiện bằng cách so sánh các mã ASCII của chúng.

Kiểu logic được dùng khi kiểm tra một điều kiện hoặc tìm giá trị của một biểu thức logic.

Trong Pascal, mọi biến trong chương trình đều phải khai báo tên và kiểu dữ liệu của nó (một số ngôn ngữ coi đó là định nghĩa biến). Khai báo để cấp phát bộ nhớ cho biến.

Cấn đặt tên biến sao cho gợi nhớ đến ý nghĩa của biến đó. Điều này rất có lợi cho việc học, hiểu và sửa đổi chương trình khi cần thiết.

Không nên đặt tên biến quá ngắn hay quá dài, dễ mắc lỗi khi viết nhiều lần tên biến.

Khi khai báo biến cần đặc biệt lưu ý đến phạm vi của nó.

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 13: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

Nội dung Hoạt động của GV và HS

dấu phẩy;

- kiểu dữ liệu thường là trong các kiểu dữ liệu chuẩn hoặc kiểu dữ liệu do người lập trình định nghĩa.

Cấu trúc <danh sách biến>:<kiểu dữ liệu> có thể xuất hiện nhiều lần.

IV. Củng cố:

Đưa ra câu hỏi: Trong Pascal, nếu một biến chỉ nhận giá trị nguyên trong phạm vi từ 10 đến 25532 thì biến đó có thể được khai báo bằng các kiểu dữ liệu nào?

Gọi một HS đứng tại chỗ trả lời. HS khác nhận xét, bổ xung.

V. Dặn dò: Đọc trước bài 6. Làm bài tập trong sách bài tập.

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 14: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

Tiết 6 Phép toán, biểu thức, câu lênh gán

I. Mục tiêu

1. Kiến thức:

- Biết các khái niệm: phép toán, biểu thức số học, hàm số học chuẩn, biểu thức quan hệ;

- Hiểu lệnh gán;

2. Kỹ năng:

- Viết được lệnh gán;

- Viết được các biểu thức số học và logic với các phép toán thông dụng.

II. Chuẩn bị của GV và HS:

1. Giáo viên: SGK, giáo án.

2. Học sinh: SGK, vở ghi.

III. Nội dung:

1. Ổn định lớp:

2. Kiểm tra bài cũ:

- Hãy cho biết một số kiểu dự liệu chuẩn được dùng trong TP? Cách khai báo biến?

3. Bài giảng:

Nội dung Hoạt động của GV và HS

1. Phép toán:

Bảng kí hiệu các phép toán trong toán và trong Pascal: (SGK – t24).

Chú ý:

- Kết quả của các phép toán quan hệ cho giá trị logic;

- Một trong những ứng dụng của phép toán logic là để tạo ra các biểu thức phức tạp từ các quan hệ đơn giản

GV: Để mô tả các thao tác trong thuật toán, mỗi ngôn ngữ lập trình đều xác định và sử dụng một số khái niệm cơ bản: phép toán, biểu thức, gán giá trị cho biến.

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 15: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

2. Biểu thức số học

Quy tắc:

- Chỉ dùng cặp ngoặc tròn để xác định trình tự thực hiện phép toán trong trường hợp cần thiết;

- Viết lần lượt từ trái sang phải;

- Không được bỏ qua dấu nhân trong tích.

Các phép toán được thực hiện theo thứ tự:

- Thực hiện các phép toán trong ngoặc trước;

- Trong dãy các phép toán không chứa ngoặc thì thực hiện từ trái qua phải, theo thứ tự các phép toán nhân, chia, chia nguyên, lấy phần dư thực hiện trước và các phép toán cộng, trừ thực hiện sau.

Ví dụ: SGK

Chú ý (SGK)

3. Hàm số học chuẩn

Bảng một số hàm số học chuẩn thường dùng: SGK

Kết quả của hàm có thể là nguyên hay hoặc thực hay phụ thuộc vào kiểu của đối số.

Ví dụ: SGK

4. Biểu thức quan hệ

Biểu thức quan hệ có dạng:

<biểu thức 1><phép toán quan hệ><biểu thức 2>

trong đó, biểu thức 1 và biểu thức 2 cùng là xâu hoặc cùng là biểu thức số học.

Biểu thức quan hệ được thực hiện theo trình tự:

GV: Trong lập trình, biểu thức số học là một biến số hoặc một hằng số hoặc các biến kiểu số và các hằng kiểu số liên kết với nhau bởi một số hữu hạn các phép toán số học, các dấu ngoặc tròn tạo thành một biểu thức có dạng tương tự như cách viết trong toán học.

GV: Lấy ví dụ trong SGK để giải thích cho HS. Có thể đưa ra một biểu thức trong toán học, HS viết lại biểu thức đó trong Pascal.

GV: Để lập trình được dễ dàng, thuận tiện, các ngôn ngữ lập trình đều có thư viện chứa một số chương trình tính giá trị những hàm toán học thường dùng. Các chương trình như vậy được gọi là hàm số học chuẩn.

GV: Hai biểu thức cùng liên kết với nhau bởi phép toán quan hệ cho ta một biểu thức quan hệ.

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 16: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

- Tính giá trị các biểu thức

- Thực hiện phép toán quan hệ.

Kết quả của phép toán quan hệ là biểu thức logic.

5. Biểu thức logic

Biểu thức logic đơn giản là biến logic hoặc hằng logic.

Các biểu thức quan hệ thường được đặt trong trong cặp dấu ngoặc ( và ).

Phép toán not được viết trước biểu thức cần phủ định.

Các phép toán and và or dùng để kết hợp nhiều biểu thức logic hoặc quan hệ thành một biểu thức, thường được dùng để diễn tả các điều kiện phức tạp.

ví dụ: SGK

6. Câu lệnh gán

Trong Pascal câu lệnh gán có dạng:

<tên biến> := <biểu thức>;

Chức năng của lệnh gán là đặt cho biến có tên ở vế trái dấu “:=” giá trị bằng giá trị của biểu thức ở vế phải.

VD: SGK

GV: Biểu thức logic là các biểu thức logic đơn giản, các biểu thức quan hệ liên kết nhau bởi phép toán logic.

GV: Lệnh gán là một trong những lệnh cơ bản nhất của các ngôn ngữ lập trình.

HS: nghe giảng, ghi chép.

IV. Củng cố:

Hãy viết biểu thức toán học dưới đây trong Pascal:

V. Dặn dò: Làm bài tập trong SBT. Đọc trước bài 7 và 8.

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 17: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

Tiết 7 Các thủ tục chuẩn vào/ra đơn giản. Soạn thảo, dịch,

thực hiện và hiệu chỉnh chương trình

I. Mục tiêu

1. Kiến thức:

- Biết các lệnh vào/ra đơn giản để nhập thông tin từ bàn phím và đưa thông tin ra màn hình;

- Biết các bước soạn thảo, dịch, thực hiện và hiệu chỉnh chương trình;

- Biết một số công cụ của môi trường TP.

2. Kỹ năng:

- Viết được một số lệnh vào/ra đơn giản;

- Bước đầu sử dụng được chương trình dịch để phát hiện lỗi;

- Bước đầu chỉnh sửa được chương trình dựa vào thông báo lỗi của chương trình dịch và tính hợp lý của kết quả thu được.

II. Chuẩn bị của GV và HS:

1. Giáo viên: SGK, giáo án.

2. Học sinh: vở ghi, SGK.

III. Nội dung:

1. Ổn định lớp:

2. Kiểm tra bài cũ: Hãy viết biểu thức toán học dưới đây trong Pascal:

3. Bài giảng:

Nội dung Hoạt động của GV và HS

A. Các thủ tục chuẩn vào/ra đơn giản

Trong ngôn ngữ Pascal các thủ tục vào/ra chuẩn viết như sau:

1. Nhập dữ liệu vào từ bàn phím GV: Khi sử dụng các ứng dụng ta thường phải nhập thông tin vào, như vậy bằng cách

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 18: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

Nội dung Hoạt động của GV và HS

Ta dùng thủ tục chuẩn READ hoặc READLN có cấu trúc như sau:

READ/READLN(<danh sách biến vào>);

Ví dụ: Read(N);

Read(a,b,c);

Chú ý: Khi nhập dữ liệu từ bàn phím READ và READLN có ý nghĩa như nhau.

Việc nhập dữ liệu cho nhiều biến thì giá trị mỗi biến phải cách nhau ít nhất một dấu cách hoặc dâu Enter, máy sẽ gán giá trị cho biến theo thứ tự như trong lệnh nhập tương ứng.

3. Đưa dữ liệu ra màn hình

Để đưa dữ liệu ra màn hình tại vị trí con trỏ, ta dùng thủ tục WRITE hoặc WRITE với cấu trúc:

Write/Writeln(<Giá trị 1>,...<Giá trị n>);

trong đó các giá trị có thể là tên biến, tên hằng, giá trị cụ thể, biểu thức hoặc tên hàm.

Ví dụ: Write(a, b, c);

Writeln(‘ Giá trị của N là:’,N);

Thủ tục Writeln sau khi đưa kết quả ra sẽ chuyển con trỏ màn hình xuống dòng tiếp theo.

Ngoài ra TP còn có quy cách đưa thông tin

nào ta nhập được thông tin vào khi lập trình?

Làm thế nào để nhập giá trị từ bàn phím vào cho biến?

GV: Diễn giải hoạt động của READ/READLN, nêu sự khác nhau khi dùng Read/Readln.

GV: Đưa ra hai ví dụ về chương trình có nhập thông tin vào từ bàn phím.

Ví dụ 1: Chương trình nhập tuổi.

Ví dụ 2: Nhập ba số nguyên.

GV: Nhận xét về chương trình. Giải thích việc nhập giá trị cho nhiều biến đồng thời. Giải thích sự khác biệt giữa READ và READLN.

GV: Trong ví dụ 2, ta thấy 3 giá trị a, b, c dính liền vào nhau và người sử dụng không thể phân biệt được giá trị của từng biến. Vậy làm thế nào và có những cách nào để hiển thị dữ liệu theo ý muốn của người lập trình.

GV: Mỗi ngôn ngữ có cách đưa thông tin ra màn hình khác nhau.

GV: Giải thích sự khác nhau giữa Write và Writeln.

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 19: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

Nội dung Hoạt động của GV và HS

ra như sau:

Kết quả thực: <độ rộng>:<số chữ số thập phân>

Kết quả khác: <độ rộng>

Ví dụ: Write(N:8);

Write(‘X=’,X:8:2);

Ví dụ 1: Để nhập giá trị từ bàn phím, ta thường dùng:

{1.}Write(‘ Nhập giá trị của N:’);

{2.}Readln(N);

Trong đó: {1} đưa ra thông báo: nhập giá trị của N

{2} dùng để đọc giá trị và gán cho biến N.

Cấu trúc {1}, {2} được gọi là giao tiếp người – máy.

B. Soạn thảo, dịch, thực hiện và hiệu chỉnh chương trình

Để thực hiện được các ví dụ và bài thực hành trong máy tính bằng Turbo Pascal cần có các tệp: turbo.exe, turbo.tpl, graph.tpu, egavga.bgi.

Màn hình làm việc của ngôn ngữ Pascal có dạng như sau:

( Hình 1. T32-SGK)

Một số thao tác thường dùng trong Pascal:

- Xuống dòng: Enter

- Ghi file vào đĩa: F2

- Mở file đã có: F3

- Biên dịch chương trình: Alt + F9

- Soát lỗi chương trình: F9

- Chạy chương trình: Ctrl + F9

GV: Minh họa cách đưa thông tin ra bằng chương trình.

GV: Đưa ra hai ví dụ.

GV: Ví dụ 2 là một ví dụ đầy đủ của một chương trình nhập dl từ bàn phím và hiển thị dữ liệu đó ra màn hình.

GV: Viết nhanh ví dụ

HS: Nhận xét từng câu lệnh trong đoạn chương trình.

GV: Giới thiệu một số tập tin cần thiết để TP có thể chạy được, hướng dẫn HS cách khởi động Pascal trên máy tính.

HS: Quan sát hình vẽ trong SGK.

GV: Giới thiệu một số thao tác thường dùng khi soạn thảo chương trình trong môi trường soạn thảo TP.

GV: Viết một chương trình ví dụ, thực hiện các thao tác sửa lỗi...

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 20: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

Nội dung Hoạt động của GV và HS

- Đóng cửa sổ chương trình: Alt + F3

- Chuyển qua lại giữa các cửa sổ: F6

- Xem lại màn hình kết quả: Alt + F5

- Thoát khỏi TP: Alt + X

IV. Củng cố: Giải thích từng dòng lệnh của đoạn chương trình sau:

Program VD;

Var N: Integer;

Begin

Write(‘ Lop ban co bao nhieu nguoi: ’);

Readln(N);

Writeln(‘ Vay la lop ban co ‘,N-1,’ nguoi ban trong lop’);

Readln;

End.

V. Dặn dò:

- Nhắc lại sự hoạt động của Write/Writeln, Read/Readln.

- Ra bài tập về nhà.

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 21: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

Tiết 10 Bài tập

I. Mục tiêu

1. Kiến thức:

- Củng cố những nội dung chính trong chương II qua các bài tập

2. Kỹ năng:

- Biết sử dụng các thủ tục chuẩn vào/ra;

- Biết xác định input và output.

II. Chuẩn bị của GV và HS:

1. Giáo viên:

2. Học sinh:

III. Nội dung:

1. Ổn định lớp:

2. Kiểm tra bài cũ:

Hãy cho biết các thủ tục vào/ra chuẩn của TP? Lấy vi dụ đơn giản để minh họa?

3. Bài giảng:

Nội dung Hoạt động của GV và HS

Bài 6 – 7 (SGK)

GV: Chữa các bài tập từ 6 đến 10.

GV: Các bài tập 9 và 10 yêu cầu viết chương trình nhập các giá trị của các biến từ bàn phím, sau đó tính giá trị một biểu thức chứa các biến này và hiện kết quả ra màn hình.

GV: Yêu cầu HS phân tích tìm ra input và output của bài toán.

GV: Hướng dẫn HS phân biệt cách viết công thức trong toán học với trong Pascal (chú ý chỉ dùng một loại dấu ngoặc tròn)

HS: Lên bảng viết các biểu thức.

GV: Hướng dẫn HS phát hiện những đặc điểm của tọa độ (x,y) của điểm thuộc vùng gạch

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 22: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

Nội dung Hoạt động của GV và HS

Bài 8 (SGK)

2a) bt:= (y>abs(x)) and (y<=1)

2b) bt:= (abs(x) <= 1) and (abs(y) <=1)

Câu 9 (SGK)

Nhận xét: Diện tích phần gạch bằng ½ diện tích hình tròn tâm O(0,0) bán kính R= a. Lưu ý số là hằng trong Pascal và được kí hiệu là Pi.

Chương trình:

var a: read;

Begin

write(‘ Nhap gia tri a (a>0):’);readln(a);

write(‘ Dien tich phan gach la: ‘,a*a*pi/2:15:3);

readln

end.

Câu 10 (SGK)

trong các hình 2a và 2b.

GV: Gợi ý đề HS nhận xét bài toán

GV: Hướng dẫn HS viết chương trình đầy đủ.

GV: Viết sẵn chương trình giải bài 10 trên giấy khổ lớn dạng đồ dùng học tập, nhưng chương trình còn sai một vài chỗ để học sinh tìm lỗi và sửa.

IV. Củng cố: Hoàn thiện bài tập số 10 vào vở.

V. Dặn dò: Làm các bài tập trong sách bài tập. Chuẩn bị bài để giờ sau thực hành tại phòng máy.

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 23: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

Tiết 8 + 9 Bài tập và thực hành 1

I. Mục tiêu

1. Kiến thức:

- Giới thiệu một chương trình Pascal hoàn chỉnh đơn giản;

- Làm quen với một số dịch vụ cơ bản của TP trong việc soạn thảo, lưu trữ, dịch và thực hiện chương trình.

2. Kỹ năng:

- Biết viết một chương trình Pascal đơn giản;

- Biết sử dụng một số dịch vụ chủ yếu của Pascal trong soạn thảo, lưu, dịch và thực hiện chương trình.

II. Chuẩn bị của GV và HS:

1. Giáo viên: Phòng máy, các máy cài Turbo Pascal, giáo án, SGK.

2. Học sinh: Bài tập (viết một chương trình hoàn chỉnh), SGK.

III. Nội dung:

1. Ổn định lớp:

2. Kiểm tra bài cũ:

3. Bài giảng:

Nội dung Hoạt động của GV và HS

a) Gõ chương trình sau:

Program Giai_PTB2;

Uses crt;

Var a, b, c, D: real;

x1, x2: real;

GV: Hướng dẫn lại cho HS biết cách khởi động máy, kích hoạt phần mềm Pascal, làm quen với một chương trình đơn giản (giải phương trình bậc hai một ẩn) theo từng bước.

GV: Thực hiện theo hướng dẫn như trong SGK.

HS: Làm theo từng bước.

HS: Mở chương trình Turbo Pascal.

HS: Gõ chương trình.

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 24: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

Nội dung Hoạt động của GV và HS

Begin

clrscr;

write(‘ a, b, c: ‘);

readln(a,b,c);

D:=b*b – 4*a*c;

x1:= (-b – sqrt(D))/(2*a);

x2:= - b/a – x1;

write(‘ x1=’,x1:8:3,’ x2 = ‘,x2:8:3);

readln;

End.

b) Nhấn phím F2 và lưu chương trình với tên là PTB2.PAS lên đĩa.

c) Nhấn tổ hợp phím Alt + F9 để dịch và sửa lỗi cú pháp (nếu có).

d) Nhấn tổ hợp phím Ctrl + F9 để thực hiện chương trình.

e) Nhấn tổ hợp phím Ctrl + F9 rồi nhập các giá trị 1; 0; -2.

f) Sửa lại chương trình trên sao cho không dùng biến trung gian D. Thực hiện chương trình đã sửa với bộ dữ liệu trên.

g) Sửa lại chương trình nhận được ở câu c) bằng cách thay đổi công thức tính x2.

h) Thực hiện chương trình đã sửa với bộ dữ liệu 1; -5; 6.

GV: Hướng dẫn chung cho HS cách lưu chương trình của mình (đặt tên, lưu tại đâu, ...

GV: Sửa những lỗi chung lên bảng.

GV: Giúp HS dịch và sửa lỗi chương trình trực tiếp trên máy tính với từng HS (vì đây là bài thực hành đầu tiên).

HS: Nhập các giá trị: 1, -3, 2. Quan sát kết quả trên màn hình.

HS: Quan sát kết quả hiển thị trên màn hình.

GV: Gợi ý để HS thực hiện việc sửa đổi chương trình.

HS: Thực hiện theo yêu cầu. Quan sát kết quả trên màn hình.

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 25: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

Nội dung Hoạt động của GV và HS

g) Thực hiện chương trình với bộ dữ liệu 1; 1; 1 và quan sát kết quả trên màn hình.

Bài 9

uses crt;

var a, s: real;

begin

clrscr;

write(‘ a= ‘);

readln(a);

s:=pi*sqr(a)/2;

writeln(‘ dien tich phan gach cheo la: ‘, s:4:2);

readln

end.

GV: Sau khi học sinh hoàn thành bài thực hành 1, có thể hướng dẫn HS làm các bài tập 9 và 10 trong SGK.

HS: Làm bài tập dưới sự hướng dẫn của GV.

IV. Củng cố:

V. Dặn dò: Làm bài tập 9, 10 (t36 – SGK). Giờ thực hành sau cho chạy thử trên máy.

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 26: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

Tiết 12 Cấu trúc rẽ nhánh

I. Mục tiêu

1. Kiến thức:

- Hiểu nhu cầu cấu trúc rẽ nhánh trong biểu diễn thuật toán;

- Hiểu câu lệnh rẽ nhánh (dạng thiếu và dạng đủ);

- Hiểu câu lệnh ghép.

2. Kỹ năng:

- Sử dụng cấu trúc rẽ nhánh trong mô tả thuật toán của một số bài toán đơn giản;

- Viết được các lệnh rẽ nhánh dạng thiếu, rẽ nhánh dạng đầy đủ và áp dụng để thể hiện được thuật toán của một số bài toán đơn giản.

II. Chuẩn bị của GV và HS:

1. Giáo viên: Giáo án, SGK, bảng phụ, phiếu học tập.

2. Học sinh: Vở ghi, SGK.

III. Nội dung:

1. Ổn định lớp:

2. Kiểm tra bài cũ:

3. Bài giảng:

Néi dung Ho¹t ®éng cña GV Ho¹t ®éng cña HS

- Ph¸t phiÕu häc tËp

cho HS.

- Híng dÉn HS sö dông

phiÕu: ®iÒn ®Çy ®ñ

c¸c th«ng tin ngµy

th¸ng, hä tªn, líp, ®äc

kü c¸c yªu cÇu vµ tr¶

lêi vµo phÇn ®· quy

®Þnh.

- HS cã 15 phót tù

- NhËn phiÕu häc tËp.

- §iÒn c¸c th«ng tin c¸

nh©n.

- Xem vµ nghe GV híng

dÉn c¸ch thøc ®Ó tr¶

lêi c¸c yªu cÇu trong

phiÕu häc tËp.

- Hái lu«n GV nh÷ng ý

mµ m×nh cha hiÓu.

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 27: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

Néi dung Ho¹t ®éng cña GV Ho¹t ®éng cña HS

Sửdụng phiếuhọc tập

nghiªn cøu SGK vµ tr¶

lêi c¸c yªu cÇu trong

phiÕu.

- Quan s¸t HS, gi¶i ®¸p

c¸c th¾c m¾c trong

qu¸ tr×nh HS thùc

hiÖn c¸c yªu cÇu trong

phiÕu.

- Sau 15 phót b¾t ®Çu

hoµn thiÖn c¸c néi

dung trong phiÕu.

- Khi ®Ò cËp ®Õn

phÇn nµo trong bµi

th× yªu cÇu 1 HS h·y

tr×nh bµy néi dung

phÇn ®ã.

- ViÕt néi dung lªn

b¶ng vµ yªu cÇu c¸c

HS kh¸c nhËn xÐt.

- Trong 15 phót tù

nghiªn cøu SGK vµ

hoµn thµnh phiÕu HS

ph¶i ®äc thËt kü c¸c

yªu cÇu trong PhiÕu

häc tËp. Sö dông hiÖu

qu¶ SGK nh tµi liÖu

nghiªn cøu.

- HS cã thÓ trao ®æi

vµ th¶o luËn víi c¸c

thµnh viªn xung quanh

®Ó cã ®îc c©u tr¶ lêi

®óng ý, ng¾n gän.

- Tr×nh bµy néi dung

trong phiÕu häc tËp

theo yªu cÇu cña GV.

- Theo dâi GV tr×nh

bµy vµ nhËn xÐt phÇn

tr¶ lêi cña b¹n.

- Hoµn thiÖn phiÕu häc

tËp.

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 28: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

Néi dung Ho¹t ®éng cña GV Ho¹t ®éng cña HS

- Sau khi hoµn thµnh

c¸c ý trong phiÕu th×

yªu cÇu HS hoµn thiÖn

phiÕu cña m×nh.

IV. Củng cố:

V. Dặn dò: Đọc trước bài 10 – Cấu trúc lặp.

Ngµy.........th¸ng.........n¨m 2007

PhiÕu häc tËp c¸ nh©n- tin häc 11

TiÕt 11: CÊu tróc rÏ nh¸nh

Hä vµ tªn: ....................................................................................., Líp: ..........................................

C¸c yªu cÇu ®èi víi HS PhÇn tr¶ lêi cña HS

1. RÏ nh¸nh

VÝ dô: §Ó gi¶i ph¬ng tr×nh bËc hai, ta ph¶i tÝnh:

Tïy thuéc vµo ®Ó ®a ra kÕt luËn nghiÖm.

Quan s¸t s¬ ®å. §iÒn vµo chç trèng? Tõ ®ã suy ra mét sè mÖnh ®Ò?

NÕu < 0 th× ....................................................................................

NÕu 0 th× ...................................................................................

hoÆc

NÕu < 0 th× .................................................................................... ngîc l¹i th× .......................................................................................

mÖnh ®Ò:

........................................................................................................

............

........................................................................................................

............

2. C©u lÖnh if - then

Quan s¸t cÊu tróc c©u lÖnh vµ

ý nghÜa c¸c c©u lÖnh:

D¹ng thiÕu:

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 29: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

s¬ ®å khèi. ChØ ra ý nghÜa c¸c c©u lÖnh?

VÝ dô: §äc vÝ dô 3 (SGK – t40)

§iÒn vµo chç trèng?

C¸ch nµo nhanh h¬n, tiÖn h¬n?

........................................................................................

........................................................................................................

.............

........................................................................................................

.............

........................................................................................................

.............

D¹ng ®ñ: ..............................................................................................

........................................................................................................

.............

........................................................................................................

.............

........................................................................................................

.............

Thùc hiÖn b»ng hai c¸ch:

C1: max := a; if .............. then ..............

C2: if ............ then ................... else..................

C¸ch: ..........

3. C©u lÖnh ghÐp

Trong c©u lÖnh if-then muèn thùc hiÖn nhiÒu lÖnh sau then hay nhiÒu lÖnh sau else ta lµm thÕ nµo?

Tr¶ lêi: .................................................................................................

........................................................................................................

.............

........................................................................................................

.............

........................................................................................................

.............

........................................................................................................

.............

4. Mét sè vÝ dô

§äc vÝ dô 1 (SGK - tr41).

Quan s¸t ch¬ng tr×nh trªn b¶ng.

Th¶o luËn vÒ ch¬ng tr×nh nµy.

Bµi tËp:

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 30: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

Sö dông cÊu tróc rÏ nh¸nh viÕt c©u lÖnh gi¶i ph¬ng tr×nh bËc nhÊt: ax + b = 0.

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 31: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

Tiết 13+14 + 15: CÂU TRÚC LĂP

Tiết 1: Muc 1 và muc 2

Tiêt 14: Vi du 1 và vi du 2

Tiết 15: Muc 3

I. Mục tiêu

1. Kiến thức:

- Hiểu nhu cầu của cấu trúc lặp trong biểu diễn thuật toán;

- Hiểu cấu trúc lặp với số lần biết trước, cấu trúc lặp kiểm tra điều kiện trước;

- Biết cách vận dụng đúng đắn từng loại cấu trúc lặp vào tình huống cụ thể.

2. Kỹ năng:

- Mô tả được thuật toán của một số bài toán đơn giản có sử dụng lệnh lặp;

- Viết đúng các lệnh lặp với số lần biết trước, lệnh lặp kiểm tra điều kiện trước;

- Viết được thuật toán của một số bài toán đơn giản.

II. Chuẩn bị của GV và HS:

1. Giáo viên: Giáo án, SGK, bảng phụ.

2. Học sinh: Vở ghi, SGK.

III. Nội dung:

1. Ổn định lớp:

2. Kiểm tra bài cũ: Viết cấu trúc câu lệnh sẽ nhánh dạng thiếu và dạng đủ? Lấy ví dụ?

3. Bài giảng:

Hoạt động của Giáo viên và Học sinh Nội dung

GV : Đưa ra bài toán, yêu cầu học sinh tìm cách để lập trình giải các bài toán này .

HS : Đưa ra cách giải của mình, học sinh có thể đưa ra những cách giải khác nhau .

GV : Đưa ra cách giải cho bài toán .

Giải theo các lệnh tuần tự

1. Khái niệm lặp

- Xét 2 bài toán như sau với a > 2 là số nguyên cho trước :

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 32: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

Hoạt động của Giáo viên và Học sinh Nội dung

S1:=0;

If (1/a>0.0001) then S1:=S1+ 1/a;

If (1/(a+1)>0.0001) then S1:=S1+ 1 /(a+1);

If (1/(a+2)>0.0001) then S1:=S1+ 1 /(a+2);

If (1/(a+3)>0.0001) then S1:=S1+ 1 /(a+3);

HS : Nhận xét với việc giải bài toán theo cách đó ?

Với N = 100 thì lặp 100 lần như thế nhưng theo việc kiểm tra điều kiện thì không biết phải làm theo cách nào? Theo cả hai trường hợp thì đều quá dài.

Để học sinh hiểu được khái niệm lặp, giáo viên đưa ra một số ví dụ trong thực tế được tính toán lặp đi lặp lại nhiều lần.

VD1 : Bài toán gửi tiền vào ngân hàng. Hằng tháng phải tính lãi và cộng thêm vào gốc đang gửi hay nói cách khác gốc của tháng sau = gốc + lãi tháng trước.

VD 2: Tính tổng của một đoạn số nguyên mà không được dùng công thức.

Bài toán 1 : Tính tổng

S1=

Bài toán 2 : Tính Tổng

S2=

Với điều kệin

Cách giải :

- Bắt đầu S được gán giá trị 1/a.

- Tiếp theo mỗi lần cộng thêm vào S là 1/(a+N) với N = 1, 2, 3, …

- Với bài toán 1, việc cộng thêm dừng khi 1/(a+N) < 0.0001, => số lần lặp chưa biết.

- Với bài toán 2, việc cộng thêm dừng khi N = 100, => số lần lặp đã biết trước.

Trong lập trình, có những thao tác phải lặp lại nhiều lần, khi đó ta gọi là cấu trúc lặp.

Lặp thường có 2 loại :

Lặp với số lần biết trước .

Lặp với số lần không biết trước .

NNLT nào cũng cung cấp một số câu lệnh để mô tả các cấu trúc lặp như trên.

Sau đây chúng ta sẽ tìm hiểu các câu lệnh trong

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 33: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

Hoạt động của Giáo viên và Học sinh Nội dung

GV : Đưa ra ví dụ:

So sánh hai thuật toán sau:

Thuật toán

Tong_1a

B1: S:=1/a; N:=0;

B2: N:=N+1;

B3: Nếu N >100 thì chuyển sang bước 5;

B4: S:= S + 1/(a+ N) rồi quay lại B2;

B5: Đưa ra S rồi kết thúc.

Thuật toán

Tong_1b

B1: S:=1/a; N:=101;

B2: N := N -1;

B3: Nếu N < 1 thì chuyển sang bước 5;

B4: S:= S+ 1/(a+N) rồi quay lại B2;

B5: Đưa ra S rồi kết thúc.

GV : Gọi một số học sinh nhận xét về 2 thuật toán trên về một số vấn đề :

Thuật toán có lặp không?

Lặp bao nhiêu lần?

Hai thuật toán giống và khác nhau như thế nào?

Cái gì thay đổi trong thuật toán này?

Sau khi so sánh hai thuật toán trên, giáo viên đưa ra hai cách lặp trong ngôn ngữ Pascal, giải thích ý nghĩa của các thành phần trong câu lệnh .

GV : Lấy ví dụ minh họa trong Pascal để các em thấy được sự thay đổi giá trị của biến đếm trong một chương trình thực sự của Pascal .

Với 2 ví dụ này, giáo viên nên gõ sẵn

ngôn ngữ Pascal.

2. Lặp có số lần biết trước và câu lệnh for – do

Trong Pascal, có 2 lọai câu lệnh lặp có số lần biết trước :

- Lặp dạng tiến:

For <biến đếm> := <giá trị đầu> to <giá trị cuối> do <câu lệnh>;

- Lặp dạng lùi

For <biến đếm> := <giá trị cuối> downto <giá trị đầui> do <câu lệnh>;

Trong đó:

Biến đếm thường là biến kiểu số nguyên.

Giá trị đầu, giá trị cuối là các biểu thức cùng kiểu với biến đếm. Giá trị đầu phải nhỏ hơn hay bằng giá trị cuối.

Ở dạng lặp tiến: Biến đếm tự tăng dần từ giá trị đầu đến giá trị cuối.

Ở dạng lặp lùi: Biến đếm tự giảm dần từ giá trị cuối đến giá trị đầu.

Tương ứng với mỗi giá trị của biến đếm, câu lệnh sau do thực hiện 1 lần

Ví dụ 1 : Hai chương trình cài đặt thuật toán tong_1a và tong_1b .

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 34: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

Hoạt động của Giáo viên và Học sinh Nội dung

chương trình và cho học sinh quan sát việc chạy chương trình, giáo viên vừa cho chạy chương trình vừa giải thích ý nghĩa các lệnh trong chương trình (chú ý nhiều đến lệnh lặp) .

GV : Đưa ra thuật toán hoặc có thể yêu cầu học sinh tự xây dựng thuật toán giải bài toán 2, nếu tự xây dựng được thuật toán thì các em sẽ hiểu hơn về lặp không biết trước số lần

Đưa thêm ví dụ : Nhắc lại bài toán gửi tiền vào ngân hàng: Nếu có số tiền là A, muốn gửi vào ngân hàng để được số tiền là B > A thì cần gửi trong bao lâu với lãi suất là k%.

Yêu cầu học sinh đưa ra cách giải cho bài toán này .

GV : Phân tích phương án trả lời của học sinh sau đó đưa ra lời giải cho bài toán.

GV : Đưa ra cấu trúc câu lệnh While – Do Trong Pascal, giải thích ý nghĩa các thành phần.

HS : Lắng nghe và ghi chép.

Ví dụ 2 : Tính tổng các số nguyên chia hết cho 3 hoặc 5 trong phạm vi từ M đến N (M<N).

3. Lặp với số lần chưa biết trước và câu lệnh while – do

Để giải bài toán 2 ta dùng thuật toán như sau :

Bước 1 : S :=1/a; N :=0;

Bước 2 : Nếu 1/(a+N) < 0.0001 thì chuyển đến bước 5 ;

Bước 3: N :=N +1;

Bước 4: S := S+ 1/(a+N) rồi quay lại bước 2;

Bước 5: Đưa kết qủa S ra màn hình rồi kết thúc

- Từ bước 2 đến bước 4 được lặp lại nhiều lần nếu điều kiện 1/(a+N) < 0.0001 chưa được thỏa mãn.

_ Pascal sử dụng câu lệnh lặp While

- Do để tổ chức lặp với số lần chưa viết như sau

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 35: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

Hoạt động của Giáo viên và Học sinh Nội dung

GV: Nên gõ sãn những ví dụ này để học sinh có thể quan sát chương trình, giáo viên chạy thử chương trình trong Pascal.

Riêng với VD 2, trước khi đưa ra thuật toán, GV nên cho học sinh xây dựng thuật toán tìm ước chung lớn nhất (đã học ở lớp 10)

Chạy chương trình với nhiều cặp M, N khác nhau.

Tốt nhất chạy từng bước, cho học sinh thấy sự thay đổi của các biến.

While <Điều kiện> Do <Câu lệnh>;

Trong đó

- Điều kiện là biểu thức quan hệ hoặc logic.

- Câu lệnh là một câu lệnh trong Pascal.

Ý nghĩa : Khi điều kiện còn đúng thì còn thực hiện câu lệnh sau Do sau đó lại quay lại kiểm tra điều kiện.

Ví dụ 1 : Chương trình của bài toán 1.

Ví dụ 2 : Tìm ước chung lớn nhất của M và N.

Thuật toán :

B1: Nếu M = N thì ƯCLN := M;

Kết thúc.

B2: Nếu M > N thì M := M – N rồi quay lại B1, ngược lại N := N – M rồi quay lại B1

Sau đây là chương trình tìm UCLN;

IV. Củng cố:

Nhắc lại một số khái niệm mới;

Nhắc lại cấu trúc câu lệnh.

V. Dặn dò:

Cho bài tập về nhà.

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 36: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

Tiết 16 + 17 Bài tập và thực hành 2

I. Mục tiêu

1. Kiến thức:

2. Kỹ năng:

- Xây dựng chương trình có sử dụng cấu trúc rẽ nhánh;

- Làm quen với việc hiệu chỉnh chương trình.

II. Chuẩn bị của GV và HS:

1. Giáo viên: Phòng máy, các máy cài Turbo Pascal, giáo án, SGK.

2. Học sinh: Bài tập (viết một chương trình hoàn chỉnh), SGK.

III. Nội dung:

1. Ổn định lớp:

2. Kiểm tra bài cũ:

3. Bài giảng:

Nội dung Hoạt động của GV và HS

Bài toán. Bộ số Pi-ta-go.

Biết rằng bộ ba số nguyên dương a, b, c được gọi là bộ số Pi-ta-go nếu tổng các bình phương của hai số bằng bình phương của số còn lại. Viết chương trình nhập từ bàn phím ba số nguyên dương a, b, c và kiểm tra xem chúng có là bộ số Pi-ta-go hay không?

Những công việc cần thực hiện:

a) Gõ chương trình sau:

program Pi_ta_go;

uses crt;

GV: giải thích bài toán.

HS: Đưa phương án có thể xảy ra của bài toán.

Kiểm tra xem có đẳng thức nào trong ba đẳng thức sau đây xảy ra hay không:

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 37: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

Nội dung Hoạt động của GV và HS

var a, b, c: integer;

a2, b2, c2: longint;

begin

clrscr;

write(‘a, b, c:’);

readln(a, b, c);

a2:=a;

b2:=b;

c2:=c;

a2:=a2*a;

b2:=b2*b;

c2:=c2*c;

if (a2 = b2 + c2) or (b2 = c2 + a2) or (c2 = a2 + b2) then

writeln(‘ Ba so da nhap la bo so Pi-ta-go’) else

write(‘ Ba so da nhap khong la bo so Pi-ta-go’);

readln

end.

b) Lưu chương trình với tên PITAGO lên đĩa.

c) Nhấn phím F7 để thực hiện từng câu lệnh chương trình, nhập các giá trị a = 3, b = 4, c = 5.

d) Vào bảng chọn Debug mở cửa sổ hiệu chỉnh để xem giá trị a2, b2, c2.

e) Nhấn phím F7 để thực hiện các câu lệnh tính những giá trị nói trên, so sánh với kết quả a2 = 9, b2 = 16, c2 = 25.

HS: gõ đoạn chương trình.

GV: Chú ý, trước else không có dấu chấm phẩy (;).

HS: Thực hiện thao tác lưu chương trình.

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 38: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

Nội dung Hoạt động của GV và HS

f) Quan sát quá trình rẽ nhánh.

g) Lặp lại các bước trên với bộ dữ liệu a = 700, b = 1000, c = 800.

h) Nếu thay dãy lệnh

a2:=a;

b2:=b;

c2:=c;

a2:=a2*a;

b2:=b2*b;

c2:=c2*c;

bằng dãy lệnh

a2:=a*a;

b2:=b*b;

c2:=c*c;

thì kết quả có gì thay đổi với bộ dữ liệu cho ở câu g?

GV: Theo dõi và hướng dẫn HS thực hiện các phần của bài thực hành.

GV: Hướng dẫn cụ thể ở từng máy một.

HS: Nếu thực hiện xong các yêu cầu trong bài thực hành thì có thể làm một số bài tập trong SGK (t.51).

GV: Gợi ý cho HS thực hiện các bài tập này.

IV. Củng cố:

V. Dặn dò:

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 39: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

Tiết 16 Kiểm tra 1 tiết

I. Mục tiêu

1. Kiến thức:

- Củng cố và ghi nhớ kiến thức cơ bản của chương 2

2. Kỹ năng:

- Biết cách vận dụng các kiến thức đã được học để viết và thực hiện được những chương trình TP.

II. Chuẩn bị của GV và HS:

III. Nội dung:

1. Ổn định lớp:

. Bài giảng:

Nội dung Hoạt động của GV và HS

Kiểm tra bằng bài viết trên lớp.

Bài kiểm tra gồm 20 câu trắc nghiệm.

GV: Phát đề cho HS, quan sát HS làm bài.

HS: Làm bài nghiêm túc, không sử dụng tài liệu.

IV. Củng cố:

V. Dặn dò: Ôn tâp toàn bộ chương 2 và bài “Cấu trúc rẽ nhánh”.

Giờ sau kiểm tra học kì.

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 40: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

Tiết 18 Kiểm tra học kì I

I. Mục tiêu

1. Kiến thức:

- Củng cố và ghi nhớ kiến thức cơ bản của toàn bộ nội dung học kì I.

2. Kỹ năng:

- Biết cách vận dụng các kiến thức đã được học để viết và thực hiện được những chương trình viết bằng ngôn ngữ lập trình Pascal.

II. Chuẩn bị của GV và HS:

III. Nội dung:

. Ổn định lớp:

. Kiểm tra bài cũ:

. Bài giảng:

Nội dung Hoạt động của GV và HS

Kiểm tra bằng bài viết trên lớp.

Bài kiểm tra gồm 30 câu trắc nghiệm.

GV: Phát đề cho HS, quan sát HS làm bài.

HS: Làm bài nghiêm túc, không sử dụng tài liệu.

IV. Củng cố:

V. Dặn dò:

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 41: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

Tiết 20 Bài tập

I. Mục tiêu

1. Kiến thức:

- Củng cố thêm về cấu trúc rẽ nhánh;

2. Kỹ năng:

- Luyện cấu trúc lặp, chú ý bài tìm tổng của dãy số;

- Tiếp tục làm quen với các công cụ hiệu chỉnh chương trình.

II. Chuẩn bị của GV và HS:

1. Giáo viên:

2. Học sinh:

III. Nội dung:

1. Ổn định lớp:

2. Kiểm tra bài cũ: Viết cấu trúc câu lệnh lặp với số lần chưa biết trước? Lấy ví dụ?

3. Bài giảng:

Hoạt động của Giáo viên và Học sinh Nội dung

GV: Hướng dẫn và giải đáp các thắc mắc của HS về một số bài tập ở nhà.

GV: Yêu cầu HS chữa bài tập 4 trên bảng.

HS: Lên bảng chữa bài.

GV: Sửa lỗi và hoàn chỉnh bài 4.

GV: Rèn luyệ, uốn nắn HS về cách viết các câu lệnh sao cho chính xác và gọn gàng, mỗi câu lệnh nên viết trên một dòng để thuận tiện cho quá trình theo dõi thực hiện từng lệnh.

HS: Rèn luyện tính cẩn thận, chu đáo khi lập

Bài 4

a)

if (sqr(x)+sqr(y)<=1) then z:= sqr(x) + sqr(y) else if y>=x then z:=x + y else z:=0.5;

b)

if (sqr(x-a) + sqr(y-b))<=sqr(r) then z:=abs(x) + abs(y) else z:=x+y;

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 42: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

trình, rèn luyện cách hiệu chỉnh chương trình khi gặp lỗi và cách kiểm thử lại chương trình thông qua một số test.

GV: Yêu cầu cả lớp cùng giải bài tập 5.b.

Bài 5

IV. Củng cố:

V. Dặn dò: Đọc trước bài Kiểu mảng.

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 43: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

Tiết 21 Kiểu mảng

I. Mục tiêu

1. Kiến thức:

- Hiểu khái niệm mảng một chiều và hai chiều .

- Hiểu cách khai báo và truy cập đến các phần tử của mảng .

2. Kỹ năng:

- Cài đặt được thuật toán của một số bài toán đơn giản với kiểu dữ liệu mảng một chiều .

- Thực hiện được khai báo mảng, truy cập, tính toán các phần tử của mảng .

II. Chuẩn bị của GV và HS:

1. Giáo viên:

2. Học sinh:

III. Nội dung:

1. Ổn định lớp:

2. Kiểm tra bài cũ:

3. Bài giảng:

Hoạt động của Giáo viên và Học sinh Nội dung

Trước khi vào bài, giáo viên đưa ra một số vấn đề cần giải quyết như sau :

Với những kiểu dữ liệu như đã biết, làm thế nào để :

- Lưu trữ và xử lý một dãy số ?

- Lưu trữ và xử lý Họ và tên của một người ?

- Lưu trữ và xử lý bảng kết quả thi tốt nghiệp ?

HS : Đưa ra các phương án để trả lời cho 3 câu hỏi trên .

Có thể sử dụng ví dụ trong SGK để học sinh dễ theo dõi, gõ trước chương trình để có thể sử dụng cho các phần tiếp theo .

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 44: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

Hoạt động của Giáo viên và Học sinh Nội dung

GV : Các ngôn ngữ lập trình thường cung cấp một số kiểu dữ liệu được xây dựng từ những kiểu dữ liệu chuẩn gọi là kiểu dữ liệu có cấu trúc .

Chương này chúng ta sẽ tìm hiểu một số kiểu dữ liệu trong ngôn ngữ Pascal để trả lời 3 câu hỏi trên .

GV : Đưa ra ví dụ, cần lập lập trình xử lý một dãy số nguyên, hãy tìm cách lưu trữ một dãy số nguyên trong khi lập trình ?

Bằng cách nào để lưu trữ được thông tin dưới dạng bảng khi lập trình ?

HS : Đưa ra ý kiến .

GV : Đánh giá ý kiến của học sinh, sau đó đưa ra mục đích của việc sử dụng cấu trúc mảng trong chương trình .

GV : Đưa ra khái niệm mảng một chiều và một số yếu tố liên quan trong lập trình nói chung .

GV : Đi sâu phân tích hai chương trình để cho học sinh nhận thấy sự tiện lợi khi sử dụng mảng .

Trong lập trình thường có 2 loại mảng :

- Mảng một chiều .

- Mảng hai chiều .

1. Kiểu mảng một chiều

- Mảng một chiều là một dãy hữu hạn các phần tử có cùng kiểu, mảng được đặt tên và mỗi phần tử mang một chỉ số. Để mô tả mảng một chiều ta cần xác định kiểu của các phần tử và cách đánh chỉ số các phần tử .

Với mảng một chiều ta quan tâm đến :

- Tên mảng một chiều .

- Số lượng phần tử trong mảng .

- Kiểu dữ liệu của phần tử .

- Cách khai báo biến mảng một chiều .

- Cách truy cập vào từng phần tử của mảng .

Xét ví dụ : Nhập vào nhiệt độ trung bình mỗi ngày trong tuần . Tính và đưa ra màn hình nhiệt độ trung bình của cả tuần và đếm số ngày có nhiệt độ lớn hơn nhiệt độ trung bình này .

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 45: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

Hoạt động của Giáo viên và Học sinh Nội dung

HS : Trong khi giáo viên phân tích hai chương trình, học sinh sẽ đưa ra ý kiến nhận xét về 2 chương trình.

HS : Trong khi giáo viên phân tích hai chương trình, học sinh sẽ đưa ra ý kiến nhận xét về 2 chương trình.

GV : Đưa ra cách khai báo mảng một chiều trong ngôn ngữ Pascal, giải thích ý nghĩa của các từ khóa mới .

GV : Khai báo bằng cách nào tiện lợi hơn ?

HS : Thường thì học sinh trả lời cách 1 tiện lợi hơn ?

GV : Tùy trường hợp cụ thể mà ta dùng cách 1 hay cách 2 nhưng thông thường ta sử dụng cách 1 .

GV : Sử dụng một sồ hình ảnh trực quan minh họa cho học sinh cấu trúc mảng và chỉ số của phần tử

Quan sát hai chương trình viết bằng ngôn ngữ Pascal cùng để giải bài toán trên .

- Chương trình 1 : Không sử dụng kiểu mảng .

- Chương trình 2 : Sử dụng kiểu mảng một chiều .

a> Khai báo mảng một chiều

Trong ngôn ngữ Pascal, mảng một chiều được khai báo bằng hai cách như sau :

Trực tiếp:

Var <Tên mảng> : Array[kiểu chỉ số] of <kiểu phần tử> ;

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 mảng> : <tên kiểu mảng> ;

- Để truy cập vào phần tử mảng ta viết :

<Tên biến mảng>[Chỉ số]

Ví dụ :

A[20] Truy cập phần tử mang chỉ số 20 trong mảng A .

Ví dụ :

Khai báo biến mảng thông qua kiểu mảng :

Type

ArrayInteger=Array[1..100] of Integer;

ArrayReal=Array[1.50] of Real;

Var A : ArrayInteger;

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 46: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

Hoạt động của Giáo viên và Học sinh Nội dung

Chỉ số

1 2 3 4 5 6 7 8

Giá trị

53

81 62 18 26 41 24 53

Đưa ra một số khai báo mảng trong Pascal .

B : ArrayReal;

Khai báo mảng trực tiếp :

Var A : Array[1..100] of Integer ;

B : Array[1..50] of Real ;

IV. Củng cố:

V. Dặn dò:

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 47: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

Tiết 22 Kiểu mảng (T)

Hoạt động của Giáo viên và Học sinh Nội dung

Kiểm tra bài cũ: Cho biết cách khai báo mảng một chiều?

GV : Đưa ra ví dụ .

HS : Xây dựng thuật toán để giải bài toán (thuật toán đã học ở lớp 10) .

GV soạn sẵn chương trình và cho học sinh quan sát chương trình .

Nếu có nhiều thời gian, giáo viên sẽ tiến hành soạn chương trình từ đầu để học sinh có thể dễ dàng nhận ra các thao tác cần phải thực hiện khi viết chương trình .

b> Một số ví dụ :

Ví dụ 1 : Tìm phần tử lớn nhất của một dãy số nguyên .

- Input : Số nguyên dương N và dãy số A1, A2, ….., AN

- Output : Chỉ số và giá trị của số lớn nhất trong dãy

- Ý tưởng :

+ Đặt số A1 là số lớn nhất (max)

+ Cho i lặp từ 2 đến N, nếu A[i]> max thì đổi max = A[i] vả lưu lại vị trí i .

Chương trình như sau :

Program timmax ;

Uses crt ;

var a : array[1..250] of integer ;

n,i,max,csmax : Integer ;

Begin

clrscr ;

Write('Nhap n = ') ;

Readln(n) ;

For i := 1 to n do

Begin

Write('a[',i,'] = ') ;

readln(a[i]) ;

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 48: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

Hoạt động của Giáo viên và Học sinh Nội dung

GV : Đưa ra ví dụ, nhắc lại ý tưởng của thuật toán .

HS : Xây dựng thuật toán để giải bài toán (thuật toán đã học ở lớp 10) .

GV: soạn sẵn chương trình và cho học sinh quan sát chương trình .

Nếu có thời gian, giáo viên sẽ tiến hành soạn chương trình từ đầu để học sinh có thể dễ dàng nhận ra việc chuyển đổi ngôn ngữ từ ngôn ngữ thuật toán sang ngôn ngữ lập trình .

End ;

max := a[i] ;

csmax := 1 ;

For i := 2 to n do

If a[i] > max then

Begin

max := a[i] ;

csmax :=i ;

End ;

Writeln('Gia tri lon nhat : ',max) ;

Writeln('chi so ptu lon nhat : ',csmax) ;

Readln ;

End .

Ví dụ 2 : Sắp xếp dãy số nguyên theo bằng thuật toán tráo đổi .

- Input : Số nguyên dương N và dãy số A1, A2, …, AN

- Output : Dãy A được sắp xếp theo thứ tự không giảm .

- Ý tưởng :

+ Đổi để đưa số lớn nhất về vị trí cuối cùng .

+ Làm tương tự đối với những số còn lại .

Chương trình như sau :

Program sapxep ;

Uses crt ;

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 49: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

Hoạt động của Giáo viên và Học sinh Nội dung

var A : Array[1..250] of integer ;

n,i,j,tg : Integer ;

Begin

clrscr ;

Write('Nhap so phan tu mang n = ') ;

Readln(n) ;

For i := 1 to n do

Begin

Write('A[',i,'] = ') ;

readln(A[i]) ;

End ;

For j := n downto 2 do

For i := 1 to j-1 do

If A[i] > A[i+1] then

Begin

tg := A[i] ;

A[i] := A[i+1] ;

A[i+1] := tg ;

End ;

Writeln('day sau khi sap xep : ') ;

For i := 1 to n do

write(a[i]:8) ;

readln ;

End .

IV. Củng cố:

V. Dặn dò:

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 50: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

Tiết 23 Kiểu mảng (T)

Hoạt động của Giáo viên và Học sinh Nội dung

GV : Đưa ra ví dụ, nhắc lại ý tưởng của thuật toán .

HS : Xây dựng thuật toán để giải bài toán (thuật toán đã học ở lớp 10) .

GV soạn sẵn chương trình và cho học sinh quan sát chương trình .

Nếu có thời gian, giáo viên sẽ tiến hành soạn chương trình từ đầu để học sinh có thể dễ dàng nhận ra việc chuyển đổi ngôn ngữ từ ngôn ngữ thuật toán sang ngôn ngữ lập trình .

Ví dụ 3 : Tìm kiếm nhị phân .

- Input : Dãy số A1, A2,………, AN đã được sắp xếp tăng dần .

- Output : Có hay không chỉ số i mà A[i] = k hoặc thông báo không tìm thấy .

- Ý tưởng :

Xem lại thuật toán tìm kiếm nhị phân trong SGK lớp 10 .

Chương trình như sau :

Program sapxep ;

Uses crt ;

var A : Array[1..250] of integer ;

n,i,k : Integer ;

dau,cuoi,giua : Integer ;

TK : boolean ;

Begin

clrscr ;

Write('Nhap so ptu mang n = ') ;

Readln(n) ;

For i := 1 to n do

Begin

Write('A[',i,'] = ') ;

readln(A[i]) ;

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 51: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

Hoạt động của Giáo viên và Học sinh Nội dung

GV : Quay lại ví dụ về lưu trữ dữ liệu dạng bảng để các em nhận ra nhu cầu phải sử dụng mảng 2 chiều trong lập trình .

End ;

Write('nhap so can tim k : ') ;

Readln(k);

dau := 1 ; cuoi := n ;

TK := false ;

while (dau <= cuoi) and Not TK Do

Begin

giua := (dau+cuoi) div 2 ;

If A[giua] = k then TK := true

Else

If a[giua]>k then cuoi := giua - 1

Else dau := giua + 1 ;

End ;

If TK then write('Chi so la : ',giua)

else write(' Khong tim thay ');

readln ;

End .

2. Kiểu mảng 2 chiều :

- Mảng hai chiều là một bảng các phần tử cùng kiểu .

Với mảng hai chiều ta quan tâm đến :

- Tên kiểu mảng hai chiều .

- Số lượng phần tử của mỗi chiều trong mảng .

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 52: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

Hoạt động của Giáo viên và Học sinh Nội dung

GV : Khai báo cách nào tiện lợi hơn (tương tự mảng 1 chiều) ?

HS : Thường thì học sinh vẫn chọn cách 1 .

GV : Tùy theo trường hợp cụ thể nhưng thường thì cách 1 hay được dùng hơn .

GV : Khi khai báo mảng 2 chiều cần chú ý

- Kiểu dữ liệu của phần tử .

- Cách khai báo biến mảng hai chiều .

- Cách truy cập vào từng phần tử của mảng .

a. Khai báo mảng hai chiều

- Trong ngôn ngữ Pascal, mảnh hai chiều được khai báo như sau :

* Khai báo trực tiếp

Var <Tên mảng> : Array[kiểu chỉ số dòng, kiểu chỉ số cột] of < kiểu phần tử> ;

* Khai báo gián tiếp.

Type <Tên kiểu mảng> = Array[kiểu chỉ số dòng, kiểu chỉ số cột] of <kiểu phần tử> ;

Var <Tên mảng> : <Tên kiểu mảng> ;

Ví dụ :

Khai báo biến mảng thông qua kiểu mảng :

Type

ArrayInteger = Array[1..10,1..15] of Integer ;

ArrayReal=Array[1..50,1..100] of Real ;

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 53: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

Hoạt động của Giáo viên và Học sinh Nội dung

điều gì ?

HS : Tìm câu trả lời, GV gợi ý để các em chỉ ra được chỉ số của mảng, số dòng, số cột và kiểu của mỗi phần tử trong mảng .

GV : Gọi một số học sinh lên khai báo một số biến mảng một chiều theo yêu cầu của giáo viên .

Minh họa bằng hình ảnh mảng 2 chiều và chỉ số các phần tử mảng hai chiều cũng như cách viết truy cập phần tử mảng .

Var A : ArrayInteger ;

B : ArrayReal ;

Khai báo mảng trực tiếp :

Var A : Array[1..10,1..15] of Integer ;

B : Aarray[1..50,1..100] of Real ;

Cách truy cập vào phần tử của mảng hai chiều :

<Tên mảng>[chỉ số dòng, chỉ số cột]

Ví dụ : A[1,3], B[23,66],……

IV. Củng cố:

V. Dặn dò:

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 54: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

Tiết 24 Kiểu mảng (T)

Hoạt động của Giáo viên và Học sinh Nội dung

GV cho học sinh quan sát chương trình và giải thích các lệnh trong chương trình, chú ý đi sâu vào các lệnh lặp để các em nhận ra thường thì ta sử dụng vòng lặp for - do để duyệt qua các phần tử mảng .

GV nên soạn sẵn chương trình và cho các em quan sát chương trình, và chạy thử chương trình trên máy để các em tiện theo dõi .

Program Timkiem;

Uses crt;

var A : Array[1..100,1..100] of Integer;

b. Một số ví dụ :

Ví dụ 1 :

Chương trình sau đưa ra màn hình bảng cửu chương .

Program cuuchuong;

Uses crt ;

var A : Array[1..9,1..9] of Integer ;

i, j : Byte ;

Begin

Clrscr ;

Writeln('Bang cuu chuong 1 -> 9 : ');

Writeln ;

For i := 1 to 9 do

For j := 1 to 9 do

A[i,j] := i*j ;

For i := 1 to 9 do

Begin

For j := 1 to 9 do Write(a[i,j]:4);

Writeln ;

Writeln ;

End ;

Readln ;

End .

Ví dụ 2 :

Chương trình sau nhập vào một mảng 2 chiều

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 55: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

Hoạt động của Giáo viên và Học sinh Nội dung

i,j,n,m : Byte ;

k,d : integer ;

Begin

Clrscr ;

Write(' Nhap so dong, so cot cua mang : ') ;

Readln(m,n);

For i := 1 to m do

For j := 1 to n do

Begin

Write(' A[',i,',',j,'] = ');

Readln(A[i,j]);

End ;

Writeln(' Mang vua nhap vao la : ');

Writeln;

For i := 1 to m do

Begin

For j := 1 to n do

Write(a[i,j]:4) ;

Writeln;

Writeln;

End;

Write(' Nhap gia tri k : ');

Readln(k) ;

d := 0 ;

For i := 1 to m do

For j := 1 to n do

và số nguyên k, sau đó in ra các phần tử có giá trị nhỏ hơn k của mảng .

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 56: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

Hoạt động của Giáo viên và Học sinh Nội dung

If a[i,j] < k then

Begin

write('So nho hon ',k,' la ');

write(a[i,j]:8);

d := d+1 ;

End ;

If d = 0 then

Write('Khong co ptu nao nho hon ',k);

readln;

End .

IV. Củng cố:

Nhắc lại một số khái niệm mới .

Nhắc lại cấu trúc câu lệnh bằng cách chia bảng thành 4 phần đồng thời gọi 4 học sinh lên bảng viết lại các cách khai báo, truy xuất, và hiển thị để nhập dữ liệu .

Ra bài tập về nhà .

V. Dặn dò: Đọc lại các kiến thức đã học trong bài 11. Chuẩn bị các chương trình để chạy trong giờ thực hành sau.

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 57: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

Tiết 25 Bài tập và thực hành 3

I. Mục tiêu

1. Kiến thức:

Củng cố cho HS những hiểu biết về kiểu dữ liệu mảng;

2. Kỹ năng:

+ Nâng cao kĩ năng sử dụng một số câu lệnh và một số kiểu dữ liệu thông qua việc tìm hiểu, chạy thử các chương trình có sẵn;

+ Biết giải một số bài toán tính toán, tìm kiếm đơn giản trên máy tính.

+ Tổ chức những hoạt động trong phòng máy để HS có được kĩ năng cơ bản trong làm việc với kiể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 tất cả các phần tử của mảng để sử lí từng phần tử.

+ Cung cấp cho HS 3 thuật toán cơ bản và đơn giản thường gặp với dữ liệu kiểu mảng:

- Tính tổng các phần tử thỏa mãn điều kiện nào đó;

- Đếm số phần tử thỏa mãn điều kiện nào đó;

- Tìm phần tử lớn nhất (hay nhỏ nhất) của mảng cùng với vị trí của nó trong mảng.

+ 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. Chuẩn bị của GV và HS:

1. Giáo viên: Phòng máy, pascal.

2. Học sinh:

III. Nội dung:

1. Ổn định lớp:

2. Kiểm tra bài cũ:

3. Bài giảng:

Hoạt động của Giáo viên và Học sinh Nội dung

HS: phải hiểu được chương trình đã viết sẵn ở Bài 1: Tạo mảng A gồm n (n<=100) số nguyên,

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 58: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

Hoạt động của Giáo viên và Học sinh Nội dung

câu a) và thấy được kết quả chạy chương trình này, trên cơ sở đó tìm ra cách giải quyết vấn đề đặt ra ở câu b.

GV: cần cho HS thấy được điểm khác nhau cơ bản của các chương trình ở câu a và câu b.

Thủ tục randomize khởi tạo bộ lấy số ngẫu nhiên trước khi dùng lệnh random(n) để lấy một số nguyên ngẫu nhiên trong phạm vi từ 0 đến n-1.

GV: đưa ra một số câu hỏi (phù hợp với trình độ HS ở mỗi lớp), hướng dẫn HS tìm hiểu chương trình:

- MyArray là tên một kiểu dữ liệu hay tên một biến?

- Vai trò của nmax và n khác nhau ntn?

- Những dòng lệnh nào nhằm tạo ra mảng A?

- Lệnh gán: A[i]:=random(300)-random(300);

có ý nghĩa gì?

……….

mỗi số có 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) Hãy tìm hiểu và chạy thử chương trình sau đây:

Program Sum1;

(tr 63 SGK)

b) Hãy đưa các câu lệnh sau đây vào những vị trí cần thiết nhằm sửa đổi 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.

posi, neg : integer;

posi:= 0; neg:= 0;

if A[i] > 0 then posi:= posi + 1

else if A[i] < 0 then neg:=neg+1;

writeln(posi:4,neg:4);

IV. Củng cố:

V. Dặn dò:

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 59: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

Tiết 26 Bài tập và thực hành 3(T)

Hoạt động của Giáo viên và Học sinh Nội dung

GV: Nêu gợi ý cho HS thấy được chương trình 2a thể hiên thuật toán tìm phần tử lớn nhất.

GV: Hướng dẫn HS tìm hiểu vai trò của biến j qua các câu lệnh của bài toán.

GV: Có thể cho HS một ví dụ bộ dữ liệu input nhỏ và yêu cầu HS mô phỏng việc chạy chương trình thể hiện thuật toán trên giấy nháp.

HS: Tích cực tìm hiểu bài toán, thực hiện bài toán trên máy tính, sửa lỗi chạy chương trình.

Nếu còn thời gian thì HS hoàn thành phần b) dưới sự hướng dẫn của GV.

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 đây:

Program max;

Const nmax=100;

Type myarray=array[1..nmax] of interger;

Var a:myarray;

n, i, j:integer;

Begin

Write(‘Nhap so luong phan tu day, n=’);

Readln(n);

For i:= 1 to n do

Begin

Write(‘ phan tu thu ‘,i,’ =’); 1

readln(a[i]); 2

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]:4);

readln

end.

b) Chỉnh sửa chương trình trên để đưa ra chỉ số các phần tử có cùng giá trị lớn nhất.

IV. Củng cố: Có thể thay thế câu lệnh a[i]:=random(300)-random(300) cho hai lệnh 1,2

V. Dặn dò:

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 60: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

Tiết 27 Bài tập và thực hành 4

I. Mục tiêu

1. Kiến thức:

- Củng cố cho HS những kiến thức cơ bản đã có khi lập trình với kiểu dl mảng;

- Củng cố cho HS một thuật toán sắp xếp các phần tử của một dãy (bằng tráo đổi);

2. Kỹ năng:

- Rèn luyện kĩ năng diễn đạt thuật toán sắp xếp bằng chương trình sử dụng dữ liệu kiểu mảng;

- Rèn luyện cho HS một ý thức cần có của người lập trình là viết chương trình với khối lượng tính toán ít nhất có thể;

- 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. Chuẩn bị của GV và HS:

1. Giáo viên: Phòng máy, pascal.

2. Học sinh:

III. Nội dung:

. Ổn định lớp:

. Kiểm tra bài cũ:

. Bài giảng:

Hoạt động của Giáo viên và Học sinh Nội dung

GV: Bài này giúp chúng ta củng cố thuật toán sắp xếp (bằng tráo đổi) và kĩ năng cài đặt bằng ngôn ngữ lập trình.

HS: Tích cực tìm hiểu bài toán, thực hiện bài toán trên máy tính, sửa lỗi chạy chương trình.

GV: Yêu cầu HS sửa lại một chỗ để có chương trình sắp xếp các phần tử theo thứ tự không tăng.

HS: Chạy thử để kt kết quả.

GV: Để đáp ứng yêu cầu ở câu b, đưa ra một

Bài 1:

a) Hãy tìm hiểu và chạy thử chương trình thực hiện thuật toán sắp xếp dãy số nguyên bằng thuật toán tráo đổi với các giá trị khác nhau của n dưới đây. Qua đó, nhận xét thời gian chạy của chương trình.

(chương trình SGK – t65)

b) Khai báo thêm biến Dem và bổ xung vào chương trình những câu 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. Đưa kết quả ra màn hình.

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 61: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

Hoạt động của Giáo viên và Học sinh Nội dung

số câu hỏi để gợi ý.

HS: Trả lời các câu hỏi của GV và thực hiện theo yêu cầu ở câu b.

IV. Củng cố:

V. Dặn dò:

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 62: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

Tiết 28 Bài tập và thực hành 4 (T)

I. Mục tiêu

1. Kiến thức:

2. Kỹ năng:

II. Chuẩn bị của GV và HS:

1. Giáo viên: Phòng máy, pascal.

2. Học sinh:

III. Nội dung:

. Ổn định lớp:

. Kiểm tra bài cũ:

. Bài giảng:

Hoạt động của Giáo viên và Học sinh Nội dung

HS: Tích cực tìm hiểu bài toán, thực hiện bài toán trên máy tính, sửa lỗi chạy chương trình.

GV: Sửa lỗi cho HS trong quá trình gõ và chạy chương trình. Giải thích những thắc mắc về bài toán mà HS đưa ra.

GV: Nhờ việc phân tích như trên ta tiết kiệm được một lượng tính toán đáng kể.

Bài 2: Hãy đọc và tìm hiểu những phân tích để viết chương trình giải bài toán: Cho mảng A gồm n phần tử. Hãy viết chương trình tạo mảng B[1..n], trong đó B[i] là tổng i phần tử đầu tiên của A.

Chương trình: SGK-t66.

Để ý rằng ta có các hệ thức sau:

B[1] = A[1]

B[i] = B[i-1] + A[i];

Do đó, ta thay đoạn chương trình bởi hai lệnh sau:

B[1] = A[1];

For i:= 2 to n do B[i]:= B[i-1]+A[i];

Với hai lệnh này máy chỉ phải thực hiện n-1 phép cộng, trong khi với đoạn chương trình trong SGK máy phải thực hiện n(n+1)/2 phép cộng.

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 63: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

IV. Củng cố: Tuy tốc độ tính toán của máy tính nhanh nhưng có giới hạn. Do đó, khi viết chương trình ta nên tìm cách viết sao cho chương trình thực hiện càng ít phép toán càng tốt.

V. Dặn dò:

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 64: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

Tiết 30 Kiểu xâu

I. Mục tiêu

1. Kiến thức:

- Biết xâu là một dãy ký tự (có thể coi xâu là một mảng một chiều) .

- Biết cách khai báo xâu, truy cập phần tử của xâu .

2. Kỹ năng:

- Sử dụng được một số thủ tục, hà thông dụng về xâu .

- Cài đặt được một số chương trình đơn giản có sử dụng xâu .

II. Chuẩn bị của GV và HS:

1. Giáo viên: Phòng máy, pascal.

2. Học sinh:

III. Nội dung:

. Ổn định lớp:

. Kiểm tra bài cũ:

. Bài giảng:

Hoạt động của Giáo viên và Học sinh Nội dung

GV : Để lưu trữ và xử lý Họ tên của một người, các kiểu dữ liệu đã học có đáp ứng được ?

HS : Đưa ra một số phương án .

GV : Phân tích các phương án của học sinh, từ đó đưa ra yêu cầu cần sử dụng một kiểu mới : Kiểu xâu .

Một số khái niệm

- Xâu là một dãy kí tự trong bảng mã ASCII .

- Mỗi kí tự được gọi là một phần tử của xâu .

- Số lượng kí tự trong xâu được gọi là độ dài của xâu .

- Xâu có độ dài bằng 0 gọi là xâu rỗng.

- Tham chiếu tới phần tử trong xâu được xác định thông qua chỉ số của phần tử trong xâu .

- Chỉ số phần tử trong xâu thường được đánh số là 1 .

- Trong ngôn ngữ Pacal, tham chiếu tới phần tử thường được viết :

<Tên biến xâu>[chỉ số]

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 65: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

GV : Giới thiệu một số khái niệm và thao tác thường dùng khi làm việc với xâu ký tự trong lập trình nói chung .

GV : Đây là cách khai báo trong ngôn ngữ Pascal, trong các ngôn ngữ khác nhau có thể có cách khai báo khác nhau . Do đó khi viết chương trình bằng ngôn ngữ nào cần tìm hiểu rõ các đối tượng của ngôn ngữ đó .

Độ dài tối đa của xâu phụ thuộc vào ngôn ngữ lập trình, thường là 255 ký tự .

Cách viết hằng xâu trong các ngôn ngữ khác nhau cũng có sự khác nhau .

Xét ví dụ như sau : Có xâu kí tự :

‘ nGuyen vaN A ’

Cách khai báo và xử lí xâu trong ngôn ngữ Pascal :

1 Khai báo biến xâu :

Pascal sử dụng từ khóa STRING để khai báo xâu . Độ dài tối đa của xâu được viết trong [ ] sau từ khóa STRING . Khai báo như sau :

Var <tên biến> : String[độ dài lớn nhất của xâu] ;

Ví dụ :

Var Ten : String[10] ;

Ho_dem : String[50] ;

Que : String ;

Chú ý :

- Nếu không khai báo độ dài tối đa cho biến xâu kí tự thì độ dài ngầm định của xâu là 255 .

- Độ dài lớn nhất của xâu là 255 ký tự .

- Hằng xâu kí tự được đặt trong cặp nháy đơn ‘ ’ .

2 Các thao tác xử li xâu

- Với các xâu kí tự có các phép phép xâu và phép so sánh hai xâu kí tự .

- Phép ghép xâu : Kí hiệu bằng dấu cộng + .

Ví dụ : ‘Ha’ + ‘ Noi’ cho kết quả là ‘Ha Noi’

Phép so sánh : <, <=, >, >=, = , <>, Pascal tự

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 66: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

Hỏi cần có các thao tác gì để chỉnh sửa xâu kí tự này ? (cần đưa xâu về dạng ‘Nguyen Van A’)

HS : Đưa ra ý kiến của mình .

GV : Phân tích ý kiến và gợi ý để các em nhận ra cần :

- Xóa bớt một số dấu cách .

- Chuyển chữ hoa về chữ thường và ngược lại .

GV : Đưa ra một số câu hỏi :

- Làm sao biết một ký tự là dấu cách ?

- Làm sao để xóa đi một vài kí tự ?

- Làm sao để thêm vào một xâu một vài kí tự ?

- Làm sao để có được chữ in hoa tương ứng với chữ thường.

- Làm sao có được chữ cái thường tương ứng với chữ hoa ?

- Làm sao biết xâu hiện có bao nhiêu kí tự ?

Từ đó đưa ra các thủ tục chuẩn và hàm chuẩn của Pascal thường dùng để xử lí xâu .

Ứng với mỗi thủ tục hoặc hàm, giáo viên lấy ví

động so sánh lần lượt từ kí tự từ trái sang phải .

Ví dụ : ‘AB’ < ‘AC’, ‘ABC’ > ‘ABB’, ‘ABC’ <’ABCD’

Một số thủ tục chuẩn dùng để xử lí xâu :

- Delete(St,vt,n) xóa n kí tự của xâu St bắt đầu từ vị trí vt .

- Insert(S1,S1,vt) chèn sâu S1 vào S2 bắt đầu từ vị trí vt của S2

- Val(St,x,m) Đổi giá trị xâu St thành số ghi giá trị vào biến X, nếu không đổi được thì vị trí gây lỗi ghi trong m, nếu đổi thành công thì m = 0

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 67: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

dụ trong một chương trình Pascal cụ thể để các em hiểu được ý nghĩa các thủ tục và hàm này .

Trong môi trường soạn thảo của Pascal, giáo viên chỉ cần làm một chương trình đơn giản có sử dụng một trong các thủ tục hoặc hàm này để các em theo dõi .

- Str(X,St) chuyển số X thành xâu kí tự lưu trong St .

Một số hàm chuẩn :

- Copy(St,vt,n) sao chép từ xâu St n kí tự từ vị trí vt .

- Pos(S1,S2) tìm vị trí xuất hiện đầu tiên của S1 trong S2 .

- Length(St) : cho độ dài xâu St .

- Upcase(ch) : cho chữ cái viết hoa tương ứng với chữ thường trong ch .

- CHR(X) : cho kí tự có mã X trong bảng mã ASCII .

- Ord(ch) : cho mã của kí tự ch trong bảng mã .

IV. Củng cố:

V. Dặn dò:

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 68: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

Tiết 31 Kiểu xâu (T)

I. Mục tiêu

1. Kiến thức:

2. Kỹ năng:

II. Chuẩn bị của GV và HS:

1. Giáo viên: Máy chiếu, máy tính, phông chiếu hoặc bảng .

2. Học sinh:

III. Nội dung:

. Ổn định lớp:

. Kiểm tra bài cũ:

. Bài giảng:

Hoạt động của Giáo viên và Học sinh Nội dung

Giáo viên soạn sẵn các ví dụ này để tiện cho học sinh theo dõi trên màn hình cũng như việc chạy thử và không làm mất thời gian ngồi viết chương trình .

Với mỗi ví dụ, giáo viên đi sâu vào câu lệnh trực tiếp đáp ứng yêu cầu của ví dụ, như vậy các em sẽ tiếp thu nhanh hơn .

Ví dụ 1 : Nhập 1 xâu, viết ra màn hình xâu dài hơn .

3 Một số vi du :

VD 1 :

Program vd1 ;

Uses crt ;

Var s1,s2 : String ;

Begin

Clrscr ;

Write('Nhap xau thu 1 : ') ;

Readln(s1) ;

Write('Nhap xau thu 2 : ') ;

Readln(s2) ;

If length(s1) > Length(s2) then

Write(s1)

else

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 69: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

Ví dụ 2 : Nhập 1 xâu, kiểm tra xem ký tự đầu tiên của xâu S1 có trùng với ký tự cuối cùng của xâu S2 hay không ?

Ví dụ 3 : Nhập 1 xâu, viết ra màn hình xâu đó theo thứ tự ngược lại của các ký tự trong xâu .

Write(s2);

Readln ;

End .

VD 2 :

Program vd2 ;

Uses crt ;

Var s1,s2 : String ;

x : Byte ;

Begin

Clrscr ;

Write('Nhap xau thu 1 : ');

Readln(s1) ;

Write('Nhap xau thu 2 : ');

Readln(s2) ;

x := length(s2) ;

If s1[1] = s2[x] then

Write('Trung nha')

else

Write('Khac nhau');

Readln ;

End .

VD 3 :

Program vd3 ;

Uses crt ;

Var i,k : Byte ;

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 70: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

Ví dụ 4 : Nhập 1 xâu, viết ra màn hình xâu đó nhưng đã được bỏ tất cả các ký tự là dấu cách .

Ví dụ 5 : Nhập 1 xâu, viết ra màn hình xâu gồm các ký tự số của xâu đó .

a : String ;

Begin

Clrscr ;

Write('Nhap xau : ') ;

Readln(a) ;

k := length(a) ;

For i := k downto 1 do

Write(a[i]) ;

Readln ;

End .

VD 4 :

Program vd4 ;

Uses crt ;

Var i,k : Byte ;

a,b : String ;

Begin

Clrscr ;

Write('Nhap xau : ') ;

Readln(a) ;

k := length(a) ;

b :='' ;

For i := 1 to k do

if a[i] <> '' then

b := b+a[i] ;

Write(b) ;

Readln ;

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 71: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

End .

VD 5 :

Program Xulixau ;

Uses crt ;

Var s1,s2 : String ;

i : Byte ;

Begin

Clrscr ;

Write('Nhap xau s1 : ') ;

Readln(s1) ;

s2 := '' ;

For i := 1 to length(s1) do

If ('0'<s1[i]) and (s1[i]<='9') then

s2 := s2 + s1[i] ;

Write(s2);

Readln ;

End .

IV. Củng cố:

V. Dặn dò:

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 72: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

Tiết 34 Bài tập và thực hành 5

I. Mục tiêu

1. Kiến thức: Củng cố cho HS những hiểu biết về kiểu xâu.

2. Kỹ năng:

II. Chuẩn bị của GV và HS:

1. Giáo viên: Máy chiếu, máy tính, phông chiếu hoặc bảng .

2. Học sinh:

III. Nội dung:

. Ổn định lớp:

. Kiểm tra bài cũ:

. Bài giảng:

Hoạt động của Giáo viên và Học sinh Nội dung

GV: Đưa ra ví dụ hoặc yêu cầu HS cho ví dụ về xâu đối xứng và xâu không đối xứng.

HS: Tích cực tìm hiểu bài toán, thực hiện bài toán trên máy tính, sửa lỗi chạy chương trình.

GV: Sửa lỗi cho HS trong quá trình gõ và chạy chương trình. Giải thích những thắc mắc về bài toán mà HS đưa ra.

Bài 1: Nhập vào từ bàn phím một xâu. Kiểm tra xâu đó có phải là xâu đối xứng không.

a) Chạy thử chương trình sau:

var x,i : byte;

a,p: string;

begin

write(‘ Nhap vao xau:’);

readln(a);

x:=length(a);

p:=’’;

for i:=x downto 1 do

p:=p+a[i];

if a=p then

write(‘ Xau doi xung’)

else write(‘Xau khong doi xung’);

readln

end.

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 73: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

GV: Không cần thiết phải tạo một xâu mới để so sánh hai xâu mà chỉ so sánh các cặp kí tự ở vị trí đối xứng nhau để kết luận xâu đó có đối xứng không

b) Hay viết lại chương trình trên, trong đó không dùng biến xâu p.

IV. Củng cố:

V. Dặn dò:

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 74: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

Tiết 35 Bài tập và thực hành 5 (T)

I. Mục tiêu

1. Kiến thức: Củng cố cho HS những hiểu biết về kiểu xâu.

2. Kỹ năng:

II. Chuẩn bị của GV và HS:

1. Giáo viên: Máy chiếu, máy tính, phông chiếu hoặc bảng .

2. Học sinh:

III. Nội dung:

. Ổn định lớp:

. Kiểm tra bài cũ:

. Bài giảng:

Hoạt động của Giáo viên và Học sinh Nội dung

GV: Để giải quyết được bài toán này thì trước hết ta phải cộng thêm một kí tự trống vào đầu xâu s.

GV: Khi đó điều kiện để xác định xem đâu là một từ là gì?

HS: Trả lời câu hỏi.

GV: Kết luận và đưa ra hướng giải quyết bài toán.

Khi đó để kiểm tra xem đâu là một từ thì ta phải xét điều kiện: xâu s tại vị trí thứ i là kí tự

Bài 2: Cho xâu s. Viết chương trình đếm số từ có trong xâu s này?

Program Demtu;

Var s:string;

d, x, i:byte;

Begin

Write(‘ Nhap xau:’);readln(s);

s:= ‘ ‘+s;

x:=length(s);

for i:=1 to x do

if (s[i]=’ ‘ ) and (s[i+1]<>’ ‘) then d:=d+1;

write(‘ So tu co trong xau la:’,d);

readln

end.

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 75: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

trống, đồng thời tại vị trí thứ i+1 phải là kí tự khác trống.

HS: suy nghĩ và đưa ra phương hướng giải quyết vấn đề này. Sử dụng phương pháp chuẩn hóa xâu s. Từ đó

có thể tìm ra số từ có trong xâu s này?

IV. Củng cố:

V. Dặn dò: Chuẩn bị trước bài tập trong SBT.

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 76: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

Tiết 32 Bài tập

I. Mục tiêu

1. Kiến thức: Củng cố cho HS những hiểu biết cơ bản nhất về kiểu dữ liệu có cấu trúc.

2. Kỹ năng:

- Rèn luyện kĩ năng giải một bài toán với dữ liệu kiểu mảng và dữ liệu kiểu xâu.

- Dần hình thành tư duy trong việc giải toán bằng ngôn ngữ TP với những kiểu dữ liệu có cấu trúc.

II. Chuẩn bị của GV và HS:

1. Giáo viên: Giáo án, SGK, SBT .

2. Học sinh: Vở BT, SBT

III. Nội dung:

. Ổn định lớp:

. Kiểm tra bài cũ:

. Bài giảng:

Hoạt động của Giáo viên và Học sinh Nội dung

GV: Qua quá trình chuẩn bị bài tập trong SBT từ nhà, có ai có thắc mắc về bài tập nào không?

HS: Đưa ra những vướng mắc cần giải đáp.

GV: Giải đáp các thắc mắc của HS.

GV: Gọi một số HS lên chữa một số bài tập tiêu biểu (cả bài tập phần mảng và phần xâu).

HS: Lên bảng chữa bài.

Chữa bài tập trong SBT

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 77: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

HS khác nhận xét bài làm của bạn.

GV: nhận xét và chỉnh sửa lại bài tập một cách hoàn chỉnh.

IV. Củng cố:

V. Dặn dò: chuẩn bị trước bài 13.

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 78: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

Tiết 33 Kiểu bản ghi

I. Mục tiêu

1. Kiến thức:

- Biết khái niệm kiểu bản ghi .

- Biết cách khai báo bản ghi, truy cập trường của bản ghi .

2. Kỹ năng:

II. Chuẩn bị của GV và HS:

1. Giáo viên: Máy chiếu, máy tính, phông chiếu hoặc bảng .

2. Học sinh:

III. Nội dung:

. Ổn định lớp:

. Kiểm tra bài cũ:

. Bài giảng:

Hoạt động của Giáo viên và Học sinh Nội dung

Xét ví dụ sau :

Viết chương trình dùng để quản lí các thí sinh của một kỳ thi tuyển sinh .

Chương trình của chúng ta cần quản lí được :

+ SBD của thí sinh,

+ Họ tên thí sinh,

+ Giới tính,

+ Điểm của các môn …

GV : Đưa ra một số câu hỏi sau :

- Làm thế nào để quản lý toàn bộ thông tin trên của học sinh ?

- Mỗi thông tin trên có kiểu dữ liệu là gì ?

Một số khái niệm

- Kiểu bản ghi được dùng để mô tả cho các đối tượng có cùng một số thuộc tính mà các thuộc tính có thể có các kiểu dữ liệu khác nhau .

- Bản ghi thường được gọi là Record, mỗi Record sẽ lưu trữ dữ liệu về một đối tượng cần quản lí .

- Mỗi thuộc tính của đối tượng tương ứng với một trường của bản ghi . Các trường khác nhau có thể có dữ liệu khác nhau .

- Các ngôn ngữ lập trình thường cho cách để xác định :

+ Tên kiểu bản ghi .

+ Tên các trường .

+ Kiểu dữ liệu của trường .

+ Cách khai báo biến .

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 79: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

HS : Có thể quản lý mỗi dữ kiện trên là một mảng một chiều

Ngôn ngữ lập trình bậc cao có cách tốt hơn để quản lý dữ liệu trên -> Bản ghi .

GV lấy một bảng điểm của học sinh rồi chỉ rõ : Mỗi hàng ta gọi là một bản ghi, mỗi cột là một trường .

GV : Mỗi ngôn ngữ có một cách khai báo kiểu bản ghi khác nhau .

Ngôn ngữ Pascal không cho bạn khai báo biến bản ghi trực tiếp mà phải khai báo biến bản ghi thông qua khai báo kiểu bản ghi .

Trước hết phải khai báo kiểu bản ghi sau đó biến bản ghi được khai báo thông qua kiểu bản ghi này .

GV : Làm thế nào để có thể khai báo được nhiều biến bản ghi có cùng một kiểu ?

HS : GV sẽ gợi ý để học sinh đưa ra đó là sử dụng kiểu mảng trong đó phần tử mảng sẽ có kiểu bản ghi .

Ví dụ về khai báo bản ghi .

Khai báo một kiểu bản ghi để xử lý bảng kết quả thi của các học sinh .

Mỗi bản ghi sẽ bao gồm : Họ và tên của học sinh (Hoten), ngày tháng năm sinh(Ngaysinh), Giới tính (NamNu), và điểm thi các môn của

+ Cách tham chiếu đến trường .

Cách khai báo và sử dụng kiểu bản ghi trong ngôn ngữ Pascal

1. Khai báo

Để khai báo biến bản ghi, thường khai báo một kiểu bản ghi sau đó khai báo biến bản ghi .

Cách khai báo kiểu :

Type <Tên kiểu bản ghi>=Record

<Tên trường 1> : <Kiểu trường 1> ;

……… ………

<Tên trường n> : <Kiểu trường n> ;

End ;

Cách khai báo biến :

Var <Tên biến> : <Tên kiểu bản ghi> ;

Var <Tên mảng> : Array[1..n] Of <Tên kiểu bản ghi> ;

Type Hocsinh = Record

Hoten : String[30] ;

Ngaysinh : String[10] ;

NamNu :Boolean ;

Toan,Ly, Hoa, Van, Su, Dia : Real ;

End ;

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 80: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

mỗi học sinh (Toan, Ly, Hoa, Van, Su, Dia,Tin) .

Hãy xác định kiểu dữ liệu cho các trường trên (Mỗi nội dung trên là một trường của bản ghi)

GV : Khi có nhu cầu thay đổi thông tin trong từng trường, làm thế nào để truy cập thông tin vào từng trường của bản ghi ?

Mỗi ngôn ngữ có một cách truy cập khác nhau nhưng thường được viết là :

<Tên biến bản ghi>.<tên trường>

GV: Đưa ra một số ví dụ .

GV: Vì bản ghi có nhiều trường nên việc gán giá trị cho bản ghi phức tạp hơn các biến khác .

Khi nhập thông tin vào từ bàn phím, ta thường phải nhập cho từng trường .

Var A, B : Hocsinh ;

Lop : Array[1..100] Of Hocsinh ;

Để truy cập vào từng trường của bản ghi, ta viết :

<Tên biến bản ghi> . <Tên trường>

Ví dụ :

A.Hoten

B.Ngaysinh

Lop[i].Toan

Lop[i].Ly

……… với i là chỉ số nào đó của mảng Lop

2. Gán giá trị

Có 2 cách để gán giá trị cho bản ghi .

- Dùng lệnh gán trực tiếp : Nếu A, B là hai bản ghi cùng kiểu ta có thể gán giá trị của A cho B bằng câu lệnh gán :

Vd : B := A ; hoặc A := B ;

- Gán giá trị cho từng trường . Dùng câu lệnh gán gán giá trị cho các trường hoặc nhập từ bàn phím .

A.Hoten := ‘Nguyen Van Tuan’ ;

Readln(a.Ngaysinh);

Chương trình xử lý bảng kết quả thi.

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 81: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

Ví dụ :

Chương trình sau được viết trong ngôn ngữ Pascal dùng kiểu bản ghi để xử lý bảng kết quả thi bao gồm 2 môn Toán, Văn của học sinh , Sau khi nhập xong danh sách sẽ đưa ra bảng kết quả học tập và xếp loại (xem kỹ đầu bài trong SGK) .

IV. Củng cố:

V. Dặn dò:

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 82: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

Tiết 35 Kiểu bản ghi (T)

I. Mục tiêu

1. Kiến thức:

- Biết khái niệm kiểu bản ghi .

- Biết cách khai báo bản ghi, truy cập trường của bản ghi .

2. Kỹ năng:

II. Chuẩn bị của GV và HS:

1. Giáo viên: Máy chiếu, máy tính, phông chiếu hoặc bảng .

2. Học sinh:

III. Nội dung:

. Ổn định lớp:

Kiểm diện:

11C1: 11C2: 11C3: 11C4:

11C5: 11C6: 11C7:

. Kiểm tra bài cũ:

. Bài giảng:

Hoạt động của Giáo viên và Học sinh Nội dung

GV: Vì bản ghi có nhiều trường nên việc gán giá trị cho bản ghi phức tạp hơn các biến khác .

Khi nhập thông tin vào từ bàn phím, ta thường phải nhập cho từng trường .

Ví dụ :

2. Gán giá trị

Có 2 cách để gán giá trị cho bản ghi .

- Dùng lệnh gán trực tiếp : Nếu A, B là hai bản ghi cùng kiểu ta có thể gán giá trị của A cho B bằng câu lệnh gán :

Vd : B := A ; hoặc A := B ;

- Gán giá trị cho từng trường . Dùng câu lệnh gán gán giá trị cho các trường hoặc nhập từ bàn phím .

A.Hoten := ‘Nguyen Van Tuan’ ;

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 83: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

CHương trình sau được viết trong ngôn ngữ Pascal dùng kiểu bản ghi để xử lý bảng kết quả thi bao gồm 2 môn Toán, Văn của học sinh , Sau khi nhập xong danh sách sẽ đưa ra bảng kết quả học tập và xếp loại (xem kỹ đầu bài trong SGK) .

Readln(a.Ngaysinh);

Chương trình xử lý bảng kết quả thi.

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 84: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

Ví dụ : Chương trình sau được viết trong ngôn ngữ Pascal dùng kiểu bản ghi để xử lý bảng kết quả thi bao gồm 2 môn Toán, Văn của học sinh , Sau khi nhập xong danh sách sẽ đưa ra bảng kết quả học tập và xếp loại (xem kỹ đầu bài trong SGK) .

(* Kieu ban ghi xu ly bang ket qua thi 2 mon : Toan, Van *)

Program Xeploai ;

uses crt ;

Type Hocsinh = Record

Ten : String[30] ;

Ngaysinh : String[10] ;

Diachi : String[50] ;

toan, van : real ;

Xeploai : Char ;

End ;

Var

Lop : array[1..100] of Hocsinh ;

i, n : Byte ;

Tg : Real ;

Begin

Clrscr ;

Write(' Cho biet so hoc sinh : ') ;

Readln(n) ;

For i := 1 to n do

Begin

Writeln(' Vao thong tin cho hoc sinh thu ',i,' : ') ;

Write (' Ho ten : ') ;

readln(Lop[i].ten) ;

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 85: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

Write(' Ngay sinh : ') ;

readln(Lop[i].Ngaysinh) ;

Write(' Dia chi : ') ;

readln(Lop[i].Diachi) ;

Write(' Diem Toan : ') ;

readln(Lop[i].toan) ;

Write(' Diem Van ') ;

readln(Lop[i].van) ;

Tg := Lop[i].toan + Lop[i].van ;

if Tg >= 18 then Lop[i].Xeploai := 'A'

Else if Tg >= 14 then Lop[i].Xeploai := 'B'

Else if Tg >= 10 then Lop[i].Xeploai := 'C'

Else Lop[i].Xeploai := 'D'

End ;

Readln ;

For i := 1 to n do

Writeln(i : 4, Lop[i].ten : 30 , ' --- Loai : ', Lop[i].Xeploai);

Readln ;

End.

IV. Củng cố:

Nhắc lại một số khái niệm mới .

Nhắc lại cấu trúc câu lệnh về việc khai báo, truy cập đến các thành phần của bản ghi .

Ra bài tập về nhà .

V. Dặn dò:

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 86: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

Tiết 36 Bài tập

I. Mục tiêu

1. Kiến thức:

Củng cố cho HS những hiểu biết cơ bản nhất về kiểu dữ liệu có cấu trúc.

2. Kỹ năng:

- Rèn luyện kĩ năng giải một bài toán với dữ liệu kiểu bản ghi.

- Dần hình thành tư duy trong việc giải toán bằng ngôn ngữ TP với những kiểu dữ liệu có cấu trúc.

II. Chuẩn bị của GV và HS:

1. Giáo viên: Giáo án, SGK, SBT .

2. Học sinh: Vở BT, SBT

III. Nội dung:

. Ổn định lớp:

Kiểm diện:

11C1: 11C2: 11C3: 11C4:

11C5: 11C6: 11C7:

. Kiểm tra bài cũ:

. Bài giảng:

Hoạt động của Giáo viên và Học sinh Nội dung

GV: Qua quá trình chuẩn bị bài tập trong SBT từ nhà, có ai có thắc mắc về bài tập nào không?

HS: Đưa ra những vướng mắc cần giải đáp.

GV: Giải đáp các thắc mắc của HS.

Chữa bài tập trong SBT

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 87: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

GV: Gọi một số HS lên chữa một số bài tập tiêu biểu.

GV: Chú ý cho HS cách truy nhập vào trường của bản ghi.

HS: Lên bảng chữa bài.

HS khác nhận xét bài làm của bạn.

GV: nhận xét và chỉnh sửa lại bài tập một cách hoàn chỉnh.

IV. Củng cố:

V. Dặn dò: chuẩn bị trước bài 14.

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 88: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

Tiết 37 Kiểu dữ liệu tệp – Thao tác với tệp

I. Mục tiêu

1. Kiến thức:

- Học sinh biết được vai trò của kiểu dữ liệu tệp .

- Học sinh biết được có hai cách phân loại tệp .

- Học sinh biết khai báo biến tệp và các thao tác cơ bản đối với tệp văn bản .

2. Kỹ năng:

- Dần dần hình thành kỹ năng về các thao tác với tệp văn bản .

II. Chuẩn bị của GV và HS:

1. Giáo viên: Giáo án, SGK, máy chiếu, phông chiếu hoặc bảng .

2. Học sinh: Vở, SGK.

III. Nội dung:

. Ổn định lớp:

Kiểm diện:

11C1: 11C2: 11C3: 11C4:

11C5: 11C6: 11C7:

. Kiểm tra bài cũ:

. Bài giảng:

NỘI DUNG – HOẠT ĐỘNG CỦA GV HOẠT ĐỘNG CỦA HỌC SINH

Hoạt động 1 : Đặt vấn đề :

Trong các giờ thực hành đã học, sau khi chạy một chương trình ta thấy kết quả in lên màn hình, tuy nhiên muốn sử dụng kết quả đó về sau thì không được (nó không lưu trữ lại lâu dài) => Để khắc phục nhược điểm này ta nghiên cứu dữ liệu kiểu tệp .

KIỂU DỮ LIỆU TỆP

HS : Chú ý nghe giảng .

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 89: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

Hoạt động 2 : Vai trò kiểu tệp :

Câu hỏi 1 : Trong máy tính có những loại bộ nhớ nào ? Loại bộ nhớ nào không bị mất dữ liệu khi tắt máy hoặc mất điện ?

Câu hỏi 2 : Vậy theo em thì các kiểu dữ liệu đã học được lưu trữ ở bộ nhớ nào ? Dự đoán xem dữ liệu kiểu tệp được lưu trữ trên bộ nhớ nào ?

Câu hỏi 3 : Bộ nhớ trong hay ngoài thường có dung lượng lớn hơn ?

GV : Chốt lại :

- Dữ liệu kiểu tệp được lưu trữ lâu dài ở bộ nhớ ngoài cho nên nó không bị mất khi tắt máy hoặc mất điện .

- Lượng dữ liệu lưu trữ trên tệp có thể rất lớn và chỉ phụ thuộc vào dung lượng ổ đĩa .

Hoạt động 3 : Phân loại tệp và thao tác với tệp .

* Phân loại tệp :

GV : Giới thiệu cho học sinh biết được hai cách phân loại tệp . ( Không đòi hỏi học sinh phải hiểu cặn kẽ từng loại tệp một ) .

- Theo cách tổ chức dữ liệu :

+ Tệp văn bản .

+ Tệp có cấu trúc .

- Theo cách thức truy cập :

+ Tệp truy cập tuần tự .

+ Tệp truy cập trực tiếp .

HS : Lần lượt trẻ lời từng câu hỏi 1 (Dựa vào kiến thức đã học ở lớp 10)

HS : Dựa vào phần đặt vấn đề của thấy giáo và các câu trả lời bên trên để suy luận rồi đưa ra câu trả lời .

HS : Dựa vào kiến thức đã học ở lớp 10 để trả lời câu hỏi .

HS : Chú ý nghe giảng và ghi chép bài .

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 90: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

Hoạt động 4 : Chuyển tiếp sang bài § 15

GV : Có hai thao tác cơ bản đối với tệp là ghi dữ liệu vào tệp và đọc dữ liệu từ tệp ra . Ta xét xem trong Pascal các thao tác đó được thể hiện như thế nào đối với tệp văn bản ?

THAO TÁC VỚI TỆP

Hoạt động 5 : Khai báo

GV : Viết khai báo biến tệp lên bảng rồi giải thích các từ khóa, tên biến tệp để học sinh hiểu được .

Var <tên biến tệp> : Text ;

Hoạt động 6 : Thao tác với tệp :

Hoạt động 6.1 : Gắn tên tệp :

GV : Giải thích cho học sinh tại sao phải gắn tên tệp cho biến tệp, rồi đưa ra thủ tục :

Assign (<tên biến tệp> , <tên tệp>) ;

VD : Để gắn tệp KQ.TXT cho biến tệp f :

Assign(f,’KQ.TXT’);

Hoạt động 6.2 : Mở tệp :

GV : Lấy VD về 2 tình huống cần phải mở vở “Tin học 11” đó là : Mở ra để ghi bài (ghi dữ liệu) và mở ra để học bài (Đọc dữ liệu) => 2 trường hợp phải mở tệp .

GV : Giới thiệu hai thủ tục để mở tệp :

+ Mở tệp để ghi dữ liệu :

HS : Chú ý nghe giảng .

HS : Lấy một vài ví dụ về khai báo biến tệp văn bản .

VD : Var t1,t2 : Text ;

HS : Mỗi học sinh tự lấy một vài ví dụ và ghi vào vở .

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 91: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

Rewrite(<tên biến tệp>);

+ Mở tệp để đọc dữ liệu :

Reset(<tên biến tệp>);

GV : Phải nhấn mạnh rằng : Trước khi sử dụng hai thủ tục trên phải gắn tên tệp cho biến tệp đồng thời biến tệp phải được khai báo từ trước .

GV : Yêu cầu học sinh lấy ví dụ (khai báo biến tệp, gắn tên tệp cho biến tệp, mở tệp) sau đó gọi hai học sinh lên trình bày .

GV : Có thể nói thêm để học sinh biết về trường hợp đã có tên tệp ở trên đĩa và trường hợp chưa có tệp đó để học sinh hiểu thêm .

Hoạt động 6.3 : Đọc / ghi tệp văn bản :

Câu hỏi : Để nhập dữ liệu từ bàn phím và để in dữ liệu lên màn hình ta có tể dùng thủ tục gì ?

GV : Giới thiệu các thủ tục đọc dữ liệu từ tệp và ghi dữ liệu vào tệp .

* Đọc dữ liệu từ tệp :

Read(<tên biến tệp>,<danh sách kết quả>);

Hoặc

Readln(<tên biến tệp>,<danh sách kết quả>);

* Ghi dữ liệu vào tệp :

Write(<tên biến tệp>,<danh sách kết quả>);

Hoặc

HS : Chú ý nghe giảng và liên hệ với bài học .

HS : Mỗi học sinh lấy một ví dụ .

HS : Trả lời câu hỏi .

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 92: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

Writeln(<tên biến tệp>,<danh sách kết quả>);

GV : Đưa ra ví dụ trong SGK yêu cầu học sinh viết câu lệnh để đọc dữ liệu từ tệp và ghi dữ liệu vào tệp.

* Một số hàm thường dùng đối với tệp văn bản

GV : Giới thiệu để học sinh biết hai hàm chuẩn thường dùng và ý nghĩa của nó .

+ Hàm EOF(<tên biến tệp>);

+ Hàm EOLN(<tên biến tệp>);

Hoạt động 6.4 : Đóng tệp .

GV : Đưa ra lý do của việc phải đóng tệp để giáo dục cho học sinh ý thức bảo mật, an toàn thông tin .

Close(<tên biến tệp>);

VD : Close(f);

HS : Ghi các thủ tục vào vở và tự so sánh sự khác nhau giữa thủ tục nhập dữ liệu từ bàn phím, in dữ liệu lên màn hình với các thủ tục đọc dữ liệu từ tệp và ghi dữ liệu vào tệp .

HS : Viết các câu lệnh theo sự gợi ý của giáo viên .

HS : Tự lấy một vài ví dụ về thủ tục đóng tệp .

IV. Củng cố:

Gọi 1 học sinh khái quát lại vai trò của kiểu tệp và phân loại tệp .

Học sinh khái quát lại các thao tác phải thực hiện khi đọc dữ liệu từ tệp và ghi dữ liệu vào tệp (dựa vào hình 16 - SGK ) .

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 93: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

Cho học sinh làm một số bài tập trắc nghiệm khách quan .

V. Dặn dò:

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 94: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

Tiết 38 Ví dụ làm việc với tệp

I. Mục tiêu

1. Kiến thức:

2. Kỹ năng:

- Dần dần hình thành kỹ năng về các thao tác với tệp văn bản .

II. Chuẩn bị của GV và HS:

1. Giáo viên: Giáo án, SGK, máy chiếu, phông chiếu hoặc bảng .

2. Học sinh: Vở, SGK.

III. Nội dung:

. Ổn định lớp:

Kiểm diện:

11C1: 11C2: 11C3: 11C4:

11C5: 11C6: 11C7:

. Kiểm tra bài cũ:

. Bài giảng:

NỘI DUNG – HOẠT ĐỘNG CỦA GV HOẠT ĐỘNG CỦA HỌC SINH

Hoạt động 1 : Vi du 1 :

Hoạt động 1.1 : Tìm hiểu đầu bài .

GV : Chiếu đầu bài của bài toán lên màn hình (bằng Power Point) .

GV : Nhắc lại công thức tính khoảng cách giữa hai điểm khi biết tọa độ của chúng .

Hoạt động 1.2 : Tìm hiểu chương trình

HS : Phân tích bài toán, xác định yêu cầu của bài toán theo sự hướng dẫn của giáo viên .

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 95: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

GV : Dùng Power Point chiếu chương trình (đã soạn trước) lên màn hình (có đánh chỉ số các dòng lệnh) .

GV : Gọi một vài học sinh hỏi ý nghĩa của từng câu lệnh trong chương trình .

GV : Khái quát lại cả chương trình để học sinh nắm được sau đó chạy chương trình (tệp TRAI.TXT đã có sẵn dữ liệu từ trước) .

Hoạt động 1.3 : Mở rộng bài toán :

GV : Có thể bổ sung thêm yêu cầu “in lên màn hình khoảng cách của trại xa với trại của hiệu trưởng nhất” .

Hoạt động 2 : Vi du 2 :

Hoạt động 2.1 : Tìm hiểu bài toán

GV : Chiếu đầu bài và hình 17 – SGK lên màn hình .

GV : Nhắc lại công thức tính điện trở tương đương của 2 điện trở mắc nối tiếp và của 2 điện trở mắc song song .

GV : Chuẩn hóa để đạt được công thức chính xác .

HS : Tìm hiểu chương trình .

HS : Quan sát kết quả khi chạy chương trình .

HS : Ghi yêu cầu vào vở để về nhà làm.

HS : Đọc trên màn chiếu và nghiêu cứu đầu bài .

HS : Các nhóm xây dựng công thức tính điện trở tương đương của 5 trường hợp theo hình vẽ .

HS : Biểu diễn các biểu thức đó bằng ngôn ngữ Pascal .

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 96: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

Hoạt động 2.2 : Xây dựng chương trình :

GV : Gọi từng học sinh xây dựng chương trình theo từng bước 1 (có gợi ý khi học sinh vướng mắc) .

+ Khai báo .

+ Gán tên tệp cho biến tệp .

+ Đọc dữ liệu từ tệp .

+ Tính các điện trở tương đương .

+ Ghi vào tệp .

+ Đóng tệp .

GV : Chính xác và tối ưu hóa chương trình .

Chạy chương trình trên TP .

HS : Suy nghĩ và trả lời câu hỏi theo yêu cầu của giáo viên .

IV. Củng cố:

- Giáo viên nhắc lại các thao tác khi làm việc với tệp cùng với các thủ tục của nó.

V. Dặn dò:

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 97: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

Tiết 42 Chương trình con và phân loại.

Ví dụ về cách viết và sử dụng chương trình con(T)

I. Mục tiêu

1. Kiến thức:

2. Kỹ năng:

II. Chuẩn bị của GV và HS:

III. Nội dung:

. Ổn định lớp:

Kiểm diện:

11C1: 11C2: 11C3: 11C4:

11C5: 11C6: 11C7:

. Kiểm tra bài cũ:

. Bài giảng:

NỘI DUNG BÀI GIẢNG – HOẠT ĐỘNG CỦA GIÁO VIÊN

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

Hoạt động 1 : Kiểm tra bài cũ :

Câu hỏi : Nêu sự khác nhau giữa tham số giá trị và tham số biến (khi khai báo và khi thay thế bởi tham số thực sự)

GV : Nêu câu hỏi, gọi học sinh lên bảng trả lời .

GV : Gọi một học sinh khác nhận xét và bổ xung .

HS : Lên bảng trả lời

HS : Nhận xét, bổ sung .

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 98: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

GV : Nhận xét, cho điểm .

Bài mới :

Bài 3 : Cách viết và sử dụng hàm

Hoạt động 2 : Dẫn dắt : giờ trước chúng ta đã được học cách viết và sử dụng thủ tục, hôm nay chúng ta cùng nghiên cứu cách viết và sử dụng hàm. Cũng như thủ tục, hàm là chương trình con . Điểm kah1c nhau giữa thủ tục và hàm là ở chỗ hàm luôn cho một giá trị kết quả thuộc kiểu xác định và giá trị đó được gán cho tên hàm, kiểu của hàm phải được khai báo trong đầu của hàm . Vậy cách khai báo như thề nào chúng ta vào bài mới .

Cách viết đầu hàm :

GV : Đưa ra các viết đầu hàm đã viết sẵn trên giấy to, giải thích cho học sinh hiểu các khái niệm : tên hàm, danh sách tham số, kiểu của hàm .

Function <tên hàm>([<DS tham số>]):<kiểu dữ liệu>;

GV : Gọi một học sinh nêu sự giống nhau và khác nhau giữa hàm và thủ tục .

GV : Gọi một học sinh khác nhận xét, bổ sung rồi kết luận (được trình bày trong bảng phụ) .

=> Do hàm luôn trả về một giá trị qua tên của nó cho nên trong thân hàm cần có lệnh gán giá trị cho tên hàm :

HS : quan sát, nghe giảng, ghi chép .

HS : Trả lời .

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 99: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

<tên hàm> := <biểu thức>;

Hoạt động 3 : VD 1 : Chương trình thực hiện giản ước một phân số trong đó có sử dụng hàm tính ước số chung lớn nhất (USCLN) của 2 số nguyên (đã được viết sẵn trên khổ giấy lớn)

GV : Đưa ra chương trình để học sinh theo dõi (đã được viết sẵn trên khổ giấy lớn) .

GV : Hãy kể tên các biến cục bộ, biến toàn cục, tham số hình thức, tham số thực sự trong chương trình trên ?

GV : Giải thích từng câu lệnh và đưa nhấn mạnh những điểm khác với thủ tục (phần đầu hàm, câu lệnh trả giá trị cho tên hàm, lời gọi hàm) .

Hoạt động 3 : VD2 : Chương trình xác định số nhỏ nhất trong 3 số nhập từ bàn phím, trong đó có sử dụng hàm tìm số nhỏ nhất trong hai số .

GV : Đưa ra chương trình (đã được viết sẵn trong bảng phụ) .

GV : Giải thích từng câu lệnh trong đó chú ý về trường hợp “lời gọi hàm tham gia vào lời gọi hàm khác và đóng vai trò là một tham số thực sự ” .

HS : Quan sát chương trình và trả lời câu hỏi .

HS : Theo dõi vào chương trình, ghi chép theo ý hiểu .

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 100: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

IV. Củng cố:

Giáo viên nhắc lại cấu trúc của một hàm, nhấn mạnh điểm khác biệt so với thủ tục .

Cho học sinh làm một số bài tập trắc nghiệm khách quan .

V. Dặn dò:

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 101: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

Tiết 43 Bài tập và thực hành 6

I. Mục tiêu

1. Kiến thức:

2. Kỹ năng: - Hs làm quen với việc sử dụng chương trình con trong lập trình bằng ngôn ngữ Pascal.

- Cách sử dụng thủ tục và hàm trong từng trường hợp cụ thể.

II. Chuẩn bị của GV và HS:

III. Nội dung:

. Ổn định lớp:

Kiểm diện:

11C1: 11C2: 11C3: 11C4:

11C5: 11C6: 11C7:

. Kiểm tra bài cũ:

. Bài giảng:

NỘI DUNG BÀI GIẢNG – HOẠT ĐỘNG CỦA GIÁO VIÊN

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

Bài 1. Tìm hiểu và thực hiện chương trình sau:

PROGRAM SAPXEP;

VAR A: Array[1..100] of integer;

Fin,fout: TEXT;

PROCEDURE input;

VAR I: integer;

BEGIN

Assign(fin, ‘DATA.INP’); RESET(FIN);READLN(FIN,N);

FOR I:= 1 TO N DO READ(FIN, A[I]);

CLOSE(FIN);

END;

PROCEDURE SORT;

VAR I,J, TG: integer;

HS: Tìm hiểu chương trình.

- Dữ liệu vào/ra

- Cấu trúc của chương trình có sử dụng chương trình con

- Cách viết các hàm và thủ tục.

Gõ chương trình và cho chạy từng đoạn chương trình một.

Thực hiện nghiêm túc các yêu cầu của GV

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 102: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

BEGIN

FOR I:= 1 TO N-1 DO

FOR J:= I+1 TO N DO

IF A[I] > A[J] THEN

BEGIN

TG:= A[I]; A[I]:=A[J]; A[J]:=TG;

END;

END;

PROCEDURE OUTPUT;

VAR I: integer;

BEGIN

Assign(fOUT, ‘DATA.INP’); REWRITE(FOUT);

WRITELN(FOUT,N);

FOR I:= 1 TO N DO WRITE(FOUT, A[I],’ ‘ );

CLOSE(FOUT);

END;

BEGIN

INPUT;SORT;OUTPUT;

END.

- Hướng dẫn HS thực hiện đủ những bước trong khi viết chương trình.

- Giải đáp các thắc mắc của HS.

IV. Củng cố:

V. Dặn dò:

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 103: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

Tiết 44 Bài tập và thực hành 6(T)

I. Mục tiêu

1. Kiến thức:

2. Kỹ năng:

II. Chuẩn bị của GV và HS:

III. Nội dung:

. Ổn định lớp:

Kiểm diện:

11C1: 11C2: 11C3: 11C4:

11C5: 11C6: 11C7:

. Kiểm tra bài cũ:

. Bài giảng:

NỘI DUNG BÀI GIẢNG – HOẠT ĐỘNG CỦA GIÁO VIÊN

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

PROGRAM TICH;

VAR A,B,C: REAL;

FUNCTION LP(X: REAL):REAL;

BEGIN

LP:=X*X*X;

END;

BEGIN

Write(‘Nhap so thu nhat’); Readln(A);

Write(‘Nhap so thu hai’); Readln(B);

C:=LP(A)+LP(B);

Writeln(‘KET QUA:’,C:12:2); Readln;

END.

- Hướng dẫn HS thực hiện đủ những bước trong khi viết chương trình.

- Giải đáp các thắc mắc của HS.

HS: Tìm hiểu chương trình.

- Dữ liệu vào/ra

- Cấu trúc của chương trình có sử dụng chương trình con

- Cách viết các hàm và thủ tục.

Gõ chương trình và cho chạy từng đoạn chương trình một.

Thực hiện nghiêm túc các yêu cầu của GV

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 104: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

FUNCTION USCLN(A,B:INTEGER): INTEGER;

VAR DU,M,N: INTEGER;

BEGIN

M:=A; N:=B;

WHILE M<>0 DO

BEGIN

DU:= M MOD N; M:=N; N:=DU;

END;

USCLN:=M;

END;

IV. Củng cố:

V. Dặn dò:

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 105: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

Tiết 45 Bài tập và thực hành 7

I. Mục tiêu

1. Kiến thức:

2. Kỹ năng: Tiếp tục củng cố cho HS cách sử dụng chương trình con đặc biệt là việc phân biệt giữ hàm và thủ tục.

II. Chuẩn bị của GV và HS: Phòng máy có cài NN Pascal

III. Nội dung:

. Ổn định lớp:

Kiểm diện:

11C1: 11C2: 11C3: 11C4:

11C5: 11C6: 11C7:

. Kiểm tra bài cũ:

. Bài giảng:

NỘI DUNG BÀI GIẢNG – HOẠT ĐỘNG CỦA GIÁO VIÊN

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

INPUT : Nhập phân số a/b;

OUTPUT : Phân số c/d

Trong đó: c = a/ƯCLN (a,b);

d = b/ƯCLN(a,b);

Viết chương trình con thực hiện tìm ƯCLN(a,b) và gọi nó khi tính c,d trong chương trình chính.

Program tgps;

Uses crt;

Var tu,mau,c,d : integer;

Function UCLN( a,b :integer) : integer;

Begin

While a<> b do

if a>b then a := a-b else b:=b-a;

HS: Tìm hiểu chương trình.

- Dữ liệu vào/ra

- Cấu trúc của chương trình có sử dụng chương trình con

- Cách viết các hàm và thủ tục.

Gõ chương trình và cho chạy từng đoạn chương trình một.

Thực hiện nghiêm túc các yêu cầu của GV

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 106: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

UCLN := a;

end;

BEGIN

Write(‘ Nhap vao tu so va mau so:’); readln(tu,mau);

C := tu div UCLN(tu,mau) ; d := mau div UCLN(tu,mau);

Writeln(‘ Phan so toi gian = ’, c, ‘ / ’, d);

Readln;

END.

Thực hiện bài tập sau:

Procedure Tinh_chat(a,b,c : real; Var deu,can,vuong:boolean);

Begin

Deu:=False; Can:=false; Vuong:= False;

IF (ABS(a-b)<eps) and (ABS(a-c)<eps) then

Begin

Deu:=True; Can:= True;

end

Esle

IF (ABS(a-b)<eps) OR (ABS(a-c<eps) OR

(ABS(b-c) <eps) Then Can:= True;

IF (ABS(a*a+b*b-c*c)<eps) OR (ABS(a*a+c*c-b*b) <

eps) OR (ABS(b*b+c*c-a-a)< eps) Then Vuong:=True;

End;

Function daicanh(x1,y1,x2,y2:real):real;

Begin

daicanh:= sqrt((x1-x2)*(x1-x2) + (y1-y2)*(y1-y2))

end;

Procedure CV_S(a,b,c : real; Var CV,S:real);

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 107: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

Begin

CV:=(a+b+c);

P:= CV/2;

S:=sqrt(p*(p-a)*(p-b)*(p-c));

end;

IV. Củng cố:

V. Dặn dò:

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 108: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

Tiết 46 Bài tập và thực hành 7(T)

I. Mục tiêu

1. Kiến thức:

2. Kỹ năng: Tiếp tục củng cố cho HS cách sử dụng chương trình con đặc biệt là việc phân biệt giữ hàm và thủ tục.

II. Chuẩn bị của GV và HS: Phòng máy có cài NN Pascal

III. Nội dung:

. Ổn định lớp:

Kiểm diện:

11C1: 11C2: 11C3: 11C4:

11C5: 11C6: 11C7:

. Kiểm tra bài cũ:

. Bài giảng:

NỘI DUNG BÀI GIẢNG – HOẠT ĐỘNG CỦA GIÁO VIÊN

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

Program Tamgiac;

Uses crt;

cosnt eps = 0.000001;

Var

xa,ya,xb,yb,xc,yc,a,b,c,cv,dt:real;

D,C,V : Boolean;

{------------------------------------}

CTC tinh chieu dai canh

CTC tinh chu vi, dien tich

CTC kiem tra tinh chat

{-------------------------------------}

BEGIN

write(‘ Nhap vao toa do diem A,B,C ‘);

Từ những hàm và thủ tục đã viết ở tiết trước, hoàn thành bài toán một cách đầy đủ

HS: Tìm hiểu chương trình.

- Dữ liệu vào/ra

- Cấu trúc của chương trình có sử dụng chương trình con

- Cách viết các hàm và thủ tục.

Gõ chương trình và cho chạy từng đoạn chương trình một.

Thực hiện nghiêm túc các yêu cầu của GV

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 109: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

readln(xa,ya,xb,yb,xc,yc);

a:=daicanh(xb,yb,xc,yc);

b:=daicanh(xa,ya,xc,yc);

c:=daicanh(xa,ya,xb,yb);

CV_S(a,b,c,cv,dt)

Writeln(‘ Chu vi tam giac = ‘,Cv:7:2);

Writeln(‘ Dien tich tam giac = ‘,DT:7:2);

Tinh_ chat(a,b,c,D,C,V);

IF D then write(‘ Day la tam giac deu’)

Else

IF C then write(‘ Day la tam giac can’)

Else

IF V then write(‘ Day tam giac vuong’)

Else write(‘Tam giac thuong’);

Readln;

END.

Hướng dẫn HS khi gọi các hàm và thủ tục đã thực hiên ở tiết trước.

IV. Củng cố: Lưu ý cách viết và sử dụng các biến trong hàm và thủ tục.

V. Dặn dò: Ôn tập để chuẩn bị kiểm tra 1 tiết.

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 110: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

Tiết 47 Kiểm tra một tiết

I. Mục tiêu

1. Kiến thức: Các kiến thức đã học từ bài vòng lặp.

2. Kỹ năng: Viết được chương trình đơn giản.

II. Chuẩn bị của GV và HS:

III. Nội dung:

. Ổn định lớp:

Kiểm diện:

11C1: 11C2: 11C3: 11C4:

11C5: 11C6: 11C7:

. Kiểm tra bài cũ:

. Bài giảng:

NỘI DUNG BÀI GIẢNG – HOẠT ĐỘNG CỦA GIÁO VIÊN

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

Bài kiểm tra gồm 25 câu trắc nghiệm.

8 mã đề khác nhau.

Trong đó:

- 5 câu về lệnh rẽ nhánh

- 10 câu liên quan đến vòng lặp

- 5 câu phần mảng 1 chiều

- 5 câu về file và bản ghi.

HS làm bài nghiêm túc, không sử dụng tài liệu, không trao đổi.

IV. Củng cố:

V. Dặn dò:

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 111: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

Tiết 48 Thư viện về chương trình con chuẩn

I. Mục tiêu

1 Kiến thức :

Biết được một số thư viện chương trình con :

2 Kỹ năng :

Bước đầu sử dụng được các thư viện đó trong lập trình .

Khởi động được chế độ đồ họa .

Sử dụng được các thủ tục vẽ điểm, đường, hình tròn, hình ellipse, hình chữ nhật .

II. Chuẩn bị của GV và HS:

III. Nội dung:

. Ổn định lớp:

Kiểm diện:

11C1: 11C2: 11C3: 11C4:

11C5: 11C6: 11C7:

. Kiểm tra bài cũ:

. Bài giảng:

NỘI DUNG BÀI GIẢNG – HOẠT ĐỘNG CỦA GIÁO VIÊN

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

1. Tìm hiểu thủ tục Clrscr .

Yêu cầu học sinh nghiên cứu SGK, kể tên các chương trình con trong thư viện CRT .

Chiếu chương trình sau :

Begin

Clrscr;

Readln;

- Tham khảo các hàm và thủ tục Clrscr, textcolor, textbackground, gotoxy

- Quan sát chương trình .

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 112: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

End.

Biên dịch chương trình . Hỏi : Tại sao xuất hiện lỗi ? Khắc phục như thế nào ?

Thêm Uses CRT; vào đầu chương trình và thực hiện chương trình để học sinh thấy được kết quả. Chú ý cho học sinh ghi nhớ màn hình trước lúc thực hiện chương trình này .

Hỏi : Chức năng của thủ tục Clrscr

Tìm hiểu thủ tục textcolor

Chiếu chương trình ví dụ :

Uses CRT;

Begin

Write(‘Chua dat mau chu’);

Textcolor(4);

Write(‘Da dat mau chu la do’);

Readln;

End.

Thực hiện chương trình để học sinh thấy kết quả

Hỏi : Chức năng của lệnh textcolor(4);

2. Tìm hiểu thủ tục Textbackground.

Chiếu chương trình ví dụ :

Uses CRT;

Begin

Textbackground(1);

Writeln(‘Da dat lai mau nen’);

- Vì sử dụng thủ tục nhưng chưa sử dụng thư viện CRT .

- Thêm lệnh Uses CRT;

- Quan sát giáo viên thực hiện chương trình

- Xóa màn hình

- Quan sát chương trình

- Quan sát kết quả chương trình

- Đặt màu chữ thành màu đỏ .

- Quan sát chương trình

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 113: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

Readln;

End.

Thực hiện chương trình để học sinh thấy kết quả.

Hỏi : Chức năng của lệnh textbackground(1);

3. Tìm hiểu thủ tục gotoxy.

Chiếu chương trình ví dụ :

Uses CRT;

Begin

Writeln(‘Con tro dang dung o cot 10 dong 20’);

Gotoxy(10,20);

Readln;

End.

Thực hiện chương trình để học sinh thấy kết quả .

Hỏi : Chức năng của lệnh gotoxy(10,20);

- Quan sát kết quả chương trình

- Đặt màu chữ nền thành màu xanh da trời

- Quan sát chương trình

- Quan sát kết quả chương trình

Đưa con trỏ về vị trí cột 10 dòng 20

IV. Củng cố:

V. Dặn dò:

Tiết 49 Thư viện về chương trình con chuẩn(T)

I. Mục tiêu

1. Kiến thức :

Biết được một số thư viện chương trình con :

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 114: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

2. Kỹ năng :

Bước đầu sử dụng được các thư viện đó trong lập trình .

Khởi động được chế độ đồ họa .

Sử dụng được các thủ tục vẽ điểm, đường, hình tròn, hình ellipse, hình chữ nhật .

II. Chuẩn bị của GV và HS:

III. Nội dung:

. Ổn định lớp:

Kiểm diện:

11C1: 11C2: 11C3: 11C4:

11C5: 11C6: 11C7:

. Kiểm tra bài cũ:

. Bài giảng:

NỘI DUNG BÀI GIẢNG – HOẠT ĐỘNG CỦA GIÁO VIÊN

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

1. Yêu cầu học sinh nghiên cứu SGK để trả lời các câu hỏi :

- Hỏi : Các dạng dữ liệu nào có thể được hiển thị trên màn hình ?

- Hỏi : Nhiệm vụ chính của Card màn hình ?

- Hỏi : Khi nói màn hình có độ phân giải 640 x 480 là nói đến điều gì ?

2. Đưa ra cấu trúc chung của thủ tục khởi động đồ họa .

Initgraph(dr, md : integer ; pth : string) ;

- Giải thích các thông số trong thủ tục cho học sinh .

- Cho học sinh thấy một ví dụ khởi độ đồ họa .

Tham khảo SGK để trả lời .

a. Văn bản và hình ảnh .

b. Làm cầu nối giữa CPU và màn hình khi thể hiện thông tin .

c. Là nói đến màn hình có 640 dòng và 480 cột .

Quan sát và theo dõi dẫn dắt của giáo viên .

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 115: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

- Giới thiệu thủ tục trở về chế độ văn bản Closegraph;

- Yêu cầu khởi động chế độ đồ họa và chuyển về chế độ văn bản .

3. Tìm hiểu thủ tục Putpixel

– Chiếu cấu trúc chung của thủ tục :

Putpixel(x,y:integer;color:word);

– Chiếu chương trình ví dụ .

Uses graph

Begin

Drive:=0;

Initgraph(drive, mode ,‘c:\Tp\BGI’);

Putpixel(12,40,15);

Readln;

End.

- Thực hiện chương trình để học sinh thấy kết quả .

- Hỏi : Chức năng của thủ tục Putpixel

4. Tìm hiểu thủ tục line

- Chiếu cấu trúc chung của thủ tục :

Line(x1,y1,x2,y2:integer);

- Chiếu chương trình ví dụ trên nhưng thay lệnh Putpixel(12,40,15); bằng lệnh line(1,1,20,20);

- Thực hiện chương trình để học sinh thấy kết

d. Quan sát giáo viên thực hiện .

Quan sát và so sánh giữa hai chế độ văn bản và đồ họa .

Thay phiên nhau thực hiện việc chuyển đổi giữa hai chế độ văn bản và đồ họa

Quan sát cấu trúc chung và suy nghĩ để trả lời câu hỏi .

- Quan sát chương trình .

- Quan sát kết quả của chương trình .

- Vẽ một điểm có màu Color trên màn hình tại tọa độ (x,y) .

Quan sát cấu trúc chung và suy nghĩ để trả lời câu hỏi .

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 116: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

quả .

- Hỏi : Chức năng của thủ tục Line

5. Tìm hiểu thủ tục Lineto

- Chiếu cấu trúc chung của thủ tục :

Lineto(x,y:integer);

- Chiếu chương trình ví dụ trên nhưng thay lệnh Putpixel(12,40,15); bằng lệnh Lineto(20,20);

- Thực hiện chương trình để học sinh thấy kết quả .

- Hỏi : Chức năng của thủ tục Lineto

6. Tìm hiểu thủ tục Linerel

- Chiếu cấu trúc chung của thủ tục

Linerel(dx,dy:integer);

- Hỏi : Chức năng của thủ tục Linerel

7. Tìm hiểu thủ tục Circle, Ellipse, Rectangle .

- Chiếu cấu trúc chung của các thủ tục :

Circle(x,y:integer;r:word);

Ellipse(x,y:integer;stangle,endangle, xr,yr:word);

Rectangle(x1,y1,x2,y2:integer);

- Quan sát chương trình .

- Quan sát kết quả của chương trình .

- Vẽ một đoạn thẳng từ điểm có tọa độ (x1,y1) đến điểm có tọa độ (x2,y2) .

Quan sát cấu trúc chung và suy nghĩ để trả lời câu hỏi .

- Quan sát chương trình .

- Quan sát kết quả của chương trình .

- Vẽ một đoạn thẳng từ điểm hiện tại đến điểm có tọa độ (x,y) .

Quan sát cấu trúc chung và suy nghĩ để trả lời câu hỏi .

- Vẽ đoạn thẳng nối điểm hiện tại với điểm có tọa độ bằng tọa độ điểm hiện tại cộng với dx,dy

Quan sát cấu trúc chung và suy nghĩ để trả lời câu hỏi .

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 117: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

- Chiếu chương trình ví dụ

Uses graph

Begin

Drive := 0;

Initgraph(drive,mode,‘c:\Tp\BGI’);

Circle(12,40,30);

Ellipse(50,50,30,120,50,100:word);

Rectangle(100,100,200,200);

Readln;

End.

- Thực hiện chương trình để học sinh thấy kết quả .

- Hỏi : Chức năng của các thủ tục Circle, El-lipse, Rectangle .

8. Tìm hiểu thủ tục Setcolor

- Chiếu cấu trúc chung của các thủ tục :

Setcolor(m:word);

- Chiếu chương trình ví dụ :

Uses graph

Begin

Drive:=0;

Initgraph(drive,mode,‘c:\Tp\BGI’);

Circle(12,40,100);

Setcolor(4);

- Quan sát chương trình .

- Quan sát kết quả của chương trình .

+ Circle : vẽ một đường tròn có tâm tại (x,y) và bán kính r .

+ Ellipse : vẽ cung của Ellipse có tâm tại điểm x,y với bán kính trục xr,yr, từ góc khởi đầu stangle đến góc kết thúc endan-gle .

Quan sát cấu trúc chung và suy nghĩ để trả lời câu hỏi .

- Quan sát chương trìnhQuan sát kết quả của chương trình

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 118: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

Circle(12,40,200);

Readln;

End.

- Thực hiện chương trình để học sinh thấy kết quả .

- Hỏi : Chức năng của thủ tục setcolor

- Setcolor (m:word) : đặt màu cho nét vẽ với màu có số hiệu m .

IV. Củng cố:

- Thư viện chương trình con cung cấp những chương trình con chuẩn nhằm mở rộng khả năng ứng dụng .

- Khởi động chế độ đồ họa . Chuyển từ chế độ màn hình đồ họa sang chế độ màn hình văn bản .

- Thủ tục vẽ điểm, đường, hình cơ bản : hình tròn, hình chữ nhật, hình ellipse

V. Dặn dò:

Đọc bài đọc thêm 4 : Âm thanh, sách giáo khoa, trang 118 .

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 119: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

Tiết 50 Bài tập và thực hành 8

I. Mục tiêu

II. Chuẩn bị của GV và HS:

III. Nội dung:

. Ổn định lớp:

Kiểm diện:

11C1: 11C2: 11C3: 11C4:

11C5: 11C6: 11C7:

. Kiểm tra bài cũ:

. Bài giảng:

Tìm hiểu một số thư viện khác

a. Mục tiêu

- Học sinh biết được tên và chức năng của thư viện : System, Dos, Printer .

b. Nội dung :

- Thư viện System chứa các hàm sơ cấp và các thủ tục vào/ra mà các chương trình đều dùng tới .

- Thư viện Dos chứa các thủ tục cho phép thực hiện trực tiếp các lệnh như tạo thư mục, thiết lập ngày, giờ hệ thống .

- Thư viện Printer cung cấp các thủ tục làm việc với máy in .

c. Các bước tiến hành :

1. Yêu cầu học sinh nghiên cứu SGK, nêu tên các thư viện .

2. Yêu cầu học sinh nêu chức năng của mỗi thư viện .

1. Các thư viện : System, Dos, Printer .

2. Chức năng mỗi thư viện :

- System : chứa các hàm và thủ tục vào/ra sơ cấp .

- Dos : chứa các thủ tục như tạo thư mục, đóng mở file…

- Printer : chứa các thủ tục liên quan đến

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 120: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

máy in .

Rèn luyện kỹ năng lập trình .

a. Mục tiêu :

- Bước đầu học sinh sử dụng được các thủ tục của thư viện graph để viết chương trình vẽ một số hình cơ bản .

b. Nội dung :

- Viết chương trình vẽ 20 hình tròn lồng nhau có tọa độ tâm là điểm chính giữa của màn hình, các hình có bán kính cách nhau 5 điểm ảnh .

c. Các bước tiến hành :

HOẠT ĐỘNG CỦA GIÁO VIÊN HOẠT ĐỘNG CỦA HỌC SINH

1. Giới thiệu nội dung yêu cầu lên bảng .

Định hướng cách giải quyết vấn đề cho học sinh

- Thủ tục để vẽ được một hình tròn có tâm là điểm chính giữa màn hình .

- Cần bao nhiêu lệnh như vậy, dùng cấu trúc nào để điều khiển .

2. Chia lớp làm 03 nhóm nhóm viết chương trình trên máy

Thu phiếu trả lời . Gọi học sinh nhóm khác nhận xét đánh giá. Sửa chương trình hoàn chỉnh cho học sinh viết trên máy .

3. Thực hiện chương trình trên máy để học sinh thấy kết quả .

1. Quan sát yêu cầu của giáo viên .

Circle(x,y : integer ; r : word) ;

- Cần 20 lệnh, nên dùng cấu trúc For để chương trình ngắn gọn .

2. Thảo luận theo nhóm để viết chương trình.

- Báo cáo kết quả viết được .

- Nhận xét, đánh giá và bổ sung thiếu sót của các nhóm khác .

3. Quan sát kết quả trên màn hình

IV. Củng cố:

V. Dặn dò:

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 121: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

Tiết 51 Bài tập

I. Mục tiêu

1. Kiến thức:

2. Kỹ năng:

II. Chuẩn bị của GV và HS: Vở bài tập, SBT.

III. Nội dung:

. Ổn định lớp:

Kiểm diện:

11C1: 11C2: 11C3: 11C4:

11C5: 11C6: 11C7:

. Kiểm tra bài cũ:

. Bài giảng:

NỘI DUNG BÀI GIẢNG – HOẠT ĐỘNG CỦA GIÁO VIÊN

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

Chữa các bài tập trong SBT mà HS yêu cầu.

Hướng dẫn HS phương pháp giải bài toán.

Gọi HS lên bảng viết chương trình

GV nhận xét chung và hoàn thiện bài toán.

Đưa ra các bài tập

Cùng thảo luận để tìm ra hướng giải quyết.

Viết chương trình lên bảng.

HS khác nhận xét.

IV. Củng cố:

V. Dặn dò:

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 122: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

Tiết 52 Ôn tập HK II

I. Mục tiêu

1. Kiến thức: Ôn tập lại các kiến thức đã học trong HK II.

2. Kỹ năng:

II. Chuẩn bị của GV và HS: Vở bài tập, SBT.

III. Nội dung:

. Ổn định lớp:

Kiểm diện:

11C1: 11C2: 11C3: 11C4:

11C5: 11C6: 11C7:

. Kiểm tra bài cũ:

. Bài giảng:

NỘI DUNG BÀI GIẢNG – HOẠT ĐỘNG CỦA GIÁO VIÊN

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

Ôn tập toàn bộ kiến thức đã học trong HKII

1. Cấu trúc rẽ nhánh-lặp

2. Mảng một chiều

- Khai báo kiểu mảng, biến mảng

- Nhập mảng

- Đưa mảng vừa nhập ra màn hình

- Các thao tác tính toán trên mảng

- Sắp xếp và tìm kiếm

3. Kiểu dữ liệu xâu

Các hàm và thủ tục chuẩn sử lí xâu.

4. Kiểu bản ghi

5. Kiểu dữ liệu tệp-thao tác với tệp

Nhắc lại các kiến thức đã học dưới sự gợi ý của GV.

IV. Củng cố:

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 123: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

V. Dặn dò: Về nhà ôn tập kĩ lý thuyết và làm một số dạng bài tập cơ bản.

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương

Page 124: Tin học 11

Trươnng THPT Nguyên Đưc Mâu Tin học 11

Tiết 53 Kiểm tra HK II

I. Mục tiêu

1. Kiến thức: Tổng hợp kiến thức đã học trong HK II.

2. Kỹ năng: Viết được chương trình Pascal cơ bản.

II. Chuẩn bị của GV và HS:

III. Nội dung:

. Ổn định lớp:

Kiểm diện:

11C1: 11C2: 11C3: 11C4:

11C5: 11C6: 11C7:

. Kiểm tra bài cũ:

. Bài giảng:

NỘI DUNG BÀI GIẢNG – HOẠT ĐỘNG CỦA GIÁO VIÊN

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

Đề kiểm tra gồm:

20 câu trắc nghiệm+1 bài tự luận.

Trong đó:

- Trắc nghiệm là tổng hợp các kiến thức trong HK II.

- Tự luận: Một bài toán tổng hợp xử lí mảng một chiều.

HS làm bài nghiêm túc, không sử dụng tài liệu, không trao đổi.

IV. Củng cố:

V. Dặn dò:

------------------------------------------------------------------------------------------------------------Giao viên: Nguyên Hồng Phương