GIAO AN TIN 11

124 5 0
GIAO AN TIN 11

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

- Học sinh biết được rằng mọi biến dùng trong chương trình đều phải được khai báo tên và kiểu dữ liệu.. - Học sinh biết được cấu trúc chung của khai báo biến trong ngôn ngữ Pascal.[r]

(1)

Ngày soạn:

Tiết 1:

Ch ơng I: Một số khái niệm lập trình Và ngôn ngữ lập trình

Đ1: khái niệm lập trình ngôn ngữ lập trình

A MỤC ĐÍCH, YÊU CẦU:

Sau học học sinh có khả năng:

- Biết khái niệm lập trình ngơn ngữ lập trình - Biết khái niệm chương trình dịch

- Phân biệt hai loại chương trình dịch biên dịch thông dịch B.PHƯƠNG PHÁP VÀ PHƯƠNG TIỆN:

1 Phương pháp:

Kết hợp phương pháp giảng dạy như: truyền thống, vấn đáp, có hình minh hoạ

2 Phương tiện:

- Vở ghi lý thuyết

- Sách giáo khoa sách giáo viên lớp 11 - Sách tham khảo (nếu có)

C TIẾN TRÌNH LÊN LỚP, NỘI DUNG BÀI GIẢNG: I Ổn định lớp:

Yêu cầu lớp trưởng báo cáo sĩ số II Kiểm tra cũ gợi động học:

- Giới thiệu chương trình học lớp 11 - Giới thiệu học

III Bài giảng, nội dung giảng:

1 Tìm hiều khái niệm lập trình ngơn ngữ lập trình.

a Mục tiêu:

- Giúp học sinh biết lập trình Ý nghĩa việc lập trình

- Biết khái niệm ngơn ngữ lập trình số loại ngơn ngữ lập trình

(2)

Các bước để giải toán: - Xác định toán

- Xây dựng thuật toán khả thi - Lập trình

Lập trình việc sử dụng cấu trúc liệu lệnh ngôn ngữ lập trình cụ thể để mơ tả liệu diễn đạt thao tác thuật toán

Ngơn ngữ lập trình phần mềm dùng để diễn đạt thuật tốn thành chương trình giúp cho máy tính hiểu thuật tốn

Một số ngơn ngữ lập trình: Ngơn ngữ máy, hợp ngữ ngôn ngữ bậc cao

c Các bước tiến hành:

Hoạt động giáo viên Hoạt động học sinh thờigian

1 Viết nội dung toán đặt vấn đề của bài giải phương trình bậc kết luận nghiệm phương trình ax + b = 0. - Hãy xác định yếu tố Input Output toán?

- Hãy xác định bước để tìm Output?

- Diễn giải: Hệ thống bước gọi thuật toán

- Nếu trình bày thuật tốn với người nước ngồi; em dùng ngôn ngữ để diễn đạt?

- Nếu diễn đạt thuật toán cho máy hiểu, em dùng ngôn ngữ nào?

- Diễn giải: Hoạt động để diễn đạt thuật tốn thơng qua ngơn ngữ lập trình gọi lập trình

1 Học sinh quan sát nội dung toán và theo dõi yêu cầu giáo viên. - Input: a,b

- Output: x=-b/a, vô nghiệm, vô số nghiệm

Bước 1: Nhập a,b

Bước 2: Nếu a<>0 kết luận có nghiệm x=-b/a

Bước 3: Nếu a=0 b<>0 kết luận vô nghiệm

Bước 4: Nếu a=0 b=0 kết luận vô số nghiệm

- Ngôn ngữ Tiếng Anh

- Dùng ngôn ngữ lập trình

(3)

Hoạt động giáo viên Hoạt động học sinh thờigian

- Yêu cầu học sinh đọc sách giáo khoa cho biết khái niệm lập trình

- Hỏi: kết hoạt động lập trình? 2 Yêu cầu học sinh cho biết loại ngơn ngữ lập trình.

- Hỏi: Các em hiểu ngôn ngữ máy, ngôn ngữ bậc cao hợp ngữ?

- Hỏi: Làm để chuyển chương trình viết từ ngôn ngữ bậc cao sang ngôn ngữ máy?

- Hỏi: Vì khơng lập trình ngơn ngữ máy để khỏi phải công chuyển đổi mà người ta thường lập trình ngơn ngữ bậc cao?

- Lập trình việc sử dụng cấu trúc liệu lệnh ngơn ngữ lập trình cụ thể để mô tả liệu diễn đạt thao tác thuật toán

- Ta chương trình

2 Tham khảo sách giao khoa sử dụng vốn hiểu biết Tin học.

- Ngôn ngữ máy - Hợp ngữ

- Ngôn ngữ bậc cao

- Ngơn ngữ máy: lệnh mã hóa kí hiệu -1 Chương trình viết ngơn ngữ máy nạp vào nhớ thực

- Ngôn ngữ bậc cao: Các lệnh mã hóa ngơn ngữ gần cới ngơn ngữ Tiếng Anh Chương trình viết ngơn ngữ bậc cao phải chuyển đổi thành chương trình ngơn ngữ máy thực

- Phải sử dụng chương trình dịch để chuyển đổi

- Lập trình ngơn ngữ bậc cao dễ viết lệnh mã hóa gần với ngơn ngữ tự nhiên Lập trình ngơn ngữ máy khó, thường chun gia lập trình lập trình

5'

2 Tìm hiểu hai loại chương trình dịch: thơng dịch biên dịch: Thông dịch biên dịch.

(4)

- Phân biệt thông dịch với biên dịch

b Nội dung:

- Chương trình dịch chương trình có chức chuyển đổi chương trình viết ngơn ngữ lập trình bậc cao thành chương trình thực máy tính

- Cần phải có chương trình dịch để chuyển chương trình viết ngơn ngữ khác thành ngôn ngữ máy

- Đầu vào chương trình dịch chương trình viết ngơn ngữ lập trình bậc cao Đầu chương trình viết ngơn ngữ máy

- Biên dịch: Kiểm tra, phát lỗi dịch tồn chương trình nguồn thành chương trình thực máy

- Thơng dịch: dịch thực lệnh

c Các bước tiến hành:

Hoạt động giáo viên Hoạt động học sinh thờigian

1 Nêu vấn đề:

Các em muốn giới thiệu trường cho người khách du lịch quốc tế biết tiếng Anh, có cách để thực hiện:

- Cách 1: Cần người biết tiếng Anh, dịch câu nói em sang tiếng Anh cho người khách

- Cách 2: Em soạn nội dung cần giới thiệu giấy người phiên dịch dịch toàn nội dung sang tiếng Anh đọc cho người khách

- Hãy lấy ví dụ tương tự thực tế biên dịch thông dịch từ tiếng Anh sang tiếng việt

1 Chú ý lắng nghe ví dụ giáo viên và thảo luận để tìm ví dụ tương tự.

- Khi thủ tướng phủ trả lời vấn trước nhà báo quốc tế, họ thường cần người thông dịch để dịch câu tiếng việt sang tiêng Anh

- Khi thủ tướng phủ đọc diễn văn tiếng Anh trước hội nghị, họ cần người biên dịch để chuyển văn tiếng Việt thành tiếng Anh

(5)

Hoạt động giáo viên Hoạt động học sinh thờigian

2 Yêu cầu học sinh nghiên cứu SGK và sử dụng ví dụ biết các bước tiến trình thơng dịch và biên dịch.

2 Nghiên cứu SGK suy nghĩ để trả lời. a Biên dịch: (Compiler)

Bước 1: Duyệt, phát lỗi, kiểm tra tính đắn lệnh chương trình nguồn

Bước 2: Dịch tồn chương trình nguồn thành chương trình ngôn ngữ máy

b Thông dịch:

Bước 1: Kiểm tra tính đắn lệnh chương trình nguồn Bước 2: Chuyển lệnh thành ngơn ngữ máy

Bước 3: Thực câu lệnh vừa chuyển đổi

15'

IV Củng cố lại bài: (3')

1 Những nội dung học:

- Khái niệm lập trình ngơn ngữ lập trình

- Có loại ngơn ngữ lập trình: Ngơn ngữ máy, hợp ngữ ngơn ngữ bậc cao - Khái niệm chương trình dịch

- Có loại chương trình dịch biên dịch thông dịch

2 Câu hỏi tập nhà:

- Mỗi loại ngơn ngữ lập trình phù hợp với người có trình độ lập trình nào? - Kể tên số ngôn ngữ lập trình bậc cao có sử dụng kĩ thuật biên dịch thông dịch - Trả lời câu hỏi 1,2,3 SGK trang 13

(6)

Ngày soạn:

Tit 2:

Đ2: Các thành phần ngôn ngữ lập trình

A MC TIấU, YấU CU:

1 Kiến thức:

- Nắm thành phần ngơn ngữ lập trình nói chung Một ngơn ngữ lập trình có thành phần: Bảng chữ cái, cú pháp ngữ nghĩa

- Biết số khái niệm như: tên, tên chuẩn, tên dành riêng, tên người lập trình tự đặt, hằng, biến thích

2 Kĩ năng:

- Phân biệt tên chuẩn với tên dành riêng tên tự đặt - Nhớ quy định tên, hằng, biến

- Biết đặt tên nhận biết tên sai quy định - Sử dụng thích

B PHƯƠNG PHÁP VÀ PHƯƠNG TIỆN:

1 Phương pháp:

Kết hợp phương pháp giảng dạy như: truyền thống, vấn đáp, có hình minh hoạ

2 Phương tiện:

- Vở ghi lý thuyết

- Sách giáo khoa sách giáo viên lớp 11 - Sách tham khảo (nếu có)

C TIẾN TRÌNH LÊN LỚP, NỘI DUNG BÀI GIẢNG. I Ổn định lớp:

Yêu cầu lớp trưởng báo cáo sĩ số II Kiểm tra cũ gợi động học:

- Giới thiệu học

III Bài giảng, nội dung giảng:

1 Tìm hiểu thành phần ngơn ngữ lập trình.

a Mục tiêu:

(7)

b Nội dung:

- Bảng chữ cái: tập hợp kí tự dùng để viết chương trình Khơng phép dùng kí tự ngồi kí tự quy định bảng chữ

- Cú pháp: quy tắc để viết chương trình

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

c Các bước tiến hành:

Hoạt động giáo viên Hoạt động học sinh thờigian

1 Đặt vấn đề: có yếu tố nào dùng để xây dựng nên ngôn ngữ tiếng Việt?

2 Diễn giải: Trong ngơn ngữ lập trình cũng tương tự vậy, gồm có thành phần: Bảng chữ cái, cú pháp ngữ nghĩa 3 Yêu cầu học sinh nghiên cứu trong SGK cho biết:

- Hãy nêu chữ bảng chữ tiếng Anh

- Nêu số hệ đếm thập phân - Nêu số kí hiệu đặc biệt

- Gọi học sinh trả lời bổ sung thêm

1 Độc lập suy nghĩ trả lời: - Bảng chữ tiếng việt, số, dấu

- Cách ghép kí tự thành từ, ghép từ thnàh câu

- Ngữ nghĩa từ câu 2 Lắng nghe ghi nhớ.

3 Nghiên cứu SGK thảo luận. - Bảng chữ cái: A,B,C ,Z a,b,c ,z - Hệ đếm: 0,1,2, ,9

- Kí hiệu đặc biệt:

+ - * / = < > [ ] , _ ; # ^ $ & () { }: ‘ - Theo dõi kết bổ sung

5'

2 Tìm hiểu khái niệm “tên” thành phần ngôn ngữ lập trình.

a Mục tiêu:

- Học sinh biết phân biệt số loại tên: tên dành riêng, tên chuẩn, tên người lập trình tự đặt

b Nội dung:

- Mọi đối tượng chương trình phải đặt tên theo quy tắc ngơn ngữ lập trình chương trình dịch cụ thể

(8)

- Tên chuẩn: tên ngơn ngữ lập trình quy định dùng với ý nghĩa đó, người lập trình định nghĩa lại để dùng với ý nghĩa khác

- Tên người lập trình đặt : tên dùng theo ý nghĩa riêng người lập trình, tên khai báo trước sử dụng Các tên không trùng với tên dành riêng

c Các bước tiến hành:

Hoạt động giáo viên Hoạt động học sinh thờigian

1 Đặt vấn đề: Mọi đối tượng trong chương trình phải đặt tên.

- Hãy nghiên cứu SGK, trang 10, để nêu quy cách đặt tên Turbo Pascal?

2 Đưa tên yêu cầu học sinh chọn tên đúng.

A 6Pq R12 X#y _45

- Giải thích thêm cách đặt tên

3 Yêu cầu học sinh nghiên cứu SGK trang 10,11 để biết khái niệm tên dành riêng, tên chuẩn tên người lập trình đặt

- Gọi học sinh trả lời cho ví dụ

- Lấy số ví dụ Pascal :

Program Asb Integer Type Xyx Byte Tong - Yêu cầu học sinh rõ xem đâu : + Tên dành riêng

+ Tên chuẩn + Tên tự đặt

1 Nghiên cứu SGK trả lời.

- Gồm chữ số, chữ cái, dấu gạch - Bắt đầu bàng chữ dấu gạch - Độ dài khơng q 127 kí tự

2 Quan sát trả lời.

A R12 _45

3 Nghiên cứu SGK để trả lời.

- Tên dành riêng: tên ngôn ngữ lập trình quy định dùng với ý nghĩa xác định(cịn gọi từ khóa), người lập trình khơng dùng với ý nghĩa khác -Tên chuẩn: tên ngơn ngữ lập trình quy định dùng với ý nghĩa đó, người lập trình định nghĩa lại để dùng với ý nghĩa khác

- Tên người lập trình đặt : tên dùng theo ý nghĩa riêng người lập trình, tên khai báo trước sử dụng Các tên không trùng với tên dành riêng

- Học sinh trả lời:

+ Tên dành riêng: Program Type + Tên chuẩn: Asb Integer Byte + Tên tự đặt Xyx Tong

5'

5'

(9)

3 Tìm hiểu hằng, biến thích.

a Mục tiêu:

- Học sinh biết khái niệm , biến thích Phân biệt biến thấy ý nghĩa thích

b Nội dung:

- Hằng đại lượng có giá trị khơng đỏi q trình thực chương trình Có loại thường dùng: Hằng số học, xâu logic

+ Hằng số học: số ngun số thực, có dấu khơng dấu

+ Hằng xâu: chuỗi kí tự Khi viết, chuỗi kí tự đặt cặp dấu nháy đơn

+ Hằng logic: giá trị (true) hặc sai (false)

- Biến đại lượng đặt tên dùng để lưu trữ giá trị giá trị thay đổi trình thực chương trình Các biến dùng chương trình phải khai báo

- Chú thích đặt cặp dấu nháy { } (* *) dùng để giải thích cho chương trình rõ ràng dễ hiểu

c Các bước tiến hành:

Hoạt động giáo viên Hoạt động học sinh thờigian

1 Yêu cầu học sinh cho ví dụ về hằng số, xâu logic.

- Trình bày khái niệm số, xâu logic?

2 Ghi bảng: Xác định số hằng xâu sau:

- 2345 ‘QP’ ‘30’ 1.5E+2

1 Độc lập suy nghĩ trả lời. - Hằng số: 40, 40.5

- Hằng xâu: ‘Hưng Đạo’, ‘B’ - Hằng logic: False

- Hằng số học số nguyên số thực, có dấu khơng dấu

- Hằng xâu chuỗi kí tự mã ASCII, đặt cặp nháy đơn - Hằng logic: giá trị (true) sai (false)

2 Quan sát trả lời. - Hằng số: -2345, 1.5E+2 - Hắng xâu: ‘QP’, ‘30’

5'

(10)

Hoạt động giáo viên Hoạt động học sinh thờigian

3 Yêu cầu học sinh nghiên cứu SGK và cho biết khái niệm biến.

- Cho số ví dụ biến

4 Yêu cầu học sinh nghiên cứu SGK và cho biết chức thích trong chương trình.

- Cho ví dụ dịng thích

- Hỏi: Tên biến tên tên dành riêng hay tên chuẩn hay tên người lập trình đặt? - Hỏi: Các lệnh viết cặp dấu { } có Turbo thực không?

3 Nghiên cứu SGK trả lời:

- Biến đại lượng đặt tên dùng để lưu trữ giá trị giá trị thay đổi q trình thực chương trình Các biến dùng chương trình phải khai báo

Ví dụ tên biến Tong, xyz 4 Nghiên cứu SGK trả lời.

- Chú thích đặt cặp dấu nháy { } (* *) dùng để giải thích cho chương trình rõ ràng dễ hiểu

-{ Lệnh gán}

- Là tên người lập trình đặt

- Khơng: dịng thích

5'

5'

IV Củng cố giảng: (3')

1 Những nội dung học:

- Thành phần ngơn ngữ lập trình: bảng chữ cái, cú pháp ngữ nghĩa

- Khái niệm: tên, tên chuẩn, tên dành riêng, tên người lập trình đặt, hằng, biến thích

2 Câu hỏi tập nhà:

- Làm tập 4,5,6 SGK trang 13

- Xem đọc thêm: Ngôn ngữ Pascal SGK trang 14, 15, 16 - Xem trước bài: Cấu trúc chương trình SGK trang 18

(11)

Ngày soạn:

Tiết 3:

Bài tập Bài 1: Phát biểu dới ?

A - Để biên soạn chơng trình ngôn ngữ bậc cao sử dụng nhiều hệ soạn thảo văn khác

B - Output chơng trình chơng trình ngụn ng mỏy

C - Chơng trình viết hợp ngữ Input hay Output chơng trình dịch

D - Chơng trình dịch thành phần ngôn ngữ lập trình bậc cao Đáp án: A

Bi 2: Phỏt biểu dới ?

A - Chơng trình dãy lệnh đợc tổ chức theo quy tắc đợc xác định ngôn ngữ lập trình cụ thể

B - Trong chế độ thơng dịch câu lệnh chơng trình nguồn đợc dịch thành câu lệnh chơng trình đích

C - Mọi tốn có chơng trình để giải máy tính

D - Nếu chơng trình nguồn có lỗi cú pháp chơng trình đích có lỗi cú pháp Đáp án: A

Bµi 3: Đâu biểu diễn biểu diễn dới ®©y ? A - begin

B - '65c' C - 5.8A D - integer Đáp án: B

Bi 4: Hãy chọn biểu diễn tên biểu diễn dới ? A - '********'

(12)

Bài 5: Trong biểu diễn dới đây, biểu diễn từ khoá Pascal ? A - Integer

B - END C - Real D - Sqrt Đáp án: B

Bi 6: Phỏt biu no dới ?

A - Khi cần thay đổi ý nghĩa từ khố ngời lập trình cần khai báo theo ý nghĩa

B - Tên ngời lập trình tự đặt đợc trùng với từ khoá

C - Trong chơng trình tên gọi đối tợng khơng thay đổi nên xem

D - Mọi đối tợng có giá trị thay đổi chơng trình gọi biến Đáp án: D

Bài 7: Trong chế độ biên dịch, chơng trình đợc dịch thông suốt, hệ thống không báo lỗi Có thể khẳng định ta có chơng trình hay cha ? Tại ?

Tr¶ lêi:

Khơng thể khẳng định chơng trình chơng trình cịn chứa lỗi ngữ nghĩa Bài 8: Trong chế độ thông dịch, giả sử hai phần ba số câu lệnh chơng trình đợc

thực Có thể khẳng định nh chơng trình khơng cịn chứa lỗi cú pháp hay khơng ? Tại ?

Tr¶ lêi:

Khơng thể khẳng định Cú pháp câu lệnh cha thực cha đợc kiểm tra Bài 9: Tại phải kiểm tra tính đắn chơng trình nhiều liệu thử

nghiƯm kh¸c ? Trả lời:

Chơng trình có nhiều nhánh có nhiều dạng lỗi ngữ nghĩa khác

Bài 10: Trong chơng trình có lỗi cú pháp, thông thờng chơng trình biên dịch hay chơng trình thông dịch phát lỗi nhanh ? Tại ?

Tr¶ lêi:

(13)

Ngày soạn:

Tiết 4:

Ch ơng II: chng trỡnh m gin

Đ3: cấu trúc chơng tr×nh

A MỤC TIÊU, YÊU CẦU:

1 Kiến thức:

- Biết cấu trúc chung chương trình B PHƯƠNG PHÁP VÀ PHƯƠNG TIỆN:

1 Phương pháp:

Kết hợp phương pháp giảng dạy như: truyền thống, vấn đáp, có hình minh hoạ

2 Phương tiện:

- Vở ghi lý thuyết

- Sách giáo khoa sách giáo viên lớp 11 - Sách tham khảo (nếu có)

C TIẾN TRÌNH LÊN LỚP, NỘI DUNG BÀI GIẢNG. I Ổn định lớp:

Yêu cầu lớp trưởng báo cáo sĩ số II Kiểm tra cũ gợi động học:

- Giới thiệu học

III Bài giảng, nội dung giảng:

Hoạt động giáo viên Hoạt động học sinh thờigian

1 Phát vấn gợi ý: Một tập làm văn em thường viết có máy phần? Các phần có thứ tự khơng? Vì phải chia vậy?

2 Yêu cầu học sinh nghiên cứu SGK để trả lời câu hỏi sau:

- Một chương trình có cấu trúc phần ?

- Trong phần khai báo, có khai báo nào?

1 Lắng nghe suy nghĩ trả lời: - Có phần

- Có thứ tự: Mở bài, thân kết luận - Dễ viết, dễ đọc, dễ hiểu nội dung 2 Nghiên cứu SGK thảo luận trả lời. - Hai phần:

[<phần khai báo>]

<phần thân chương trình>

- Phần khai báo: khai báo tên chương trình, khai báo thư viện sử dụng, khai báo hằng,

5'

(14)

Hoạt động giáo viên Hoạt động học sinh thờigian

- Yêu cầu học sinh lấy ví dụ khai báo tên chương trình ngơn ngữ Pascal - u cầu học sinh lấy ví dụ khai báo thư viện chương trình Pascal - Yêu cầu học sinh lấy ví dụ khai báo ngôn ngữ Pascal

- Yêu cầu học sinh lấy ví dụ khai báo biến ngôn ngữ Pascal

- Yêu cầu học sinh cho biết cấu trúc chung phần thân chương trình ngơn ngữ Pascal

3 Tìm hiểu chương trình đơn giản. Cho đoạn chương trình đơn giản Program VD1;

Var x,y:byte; t: word; Begin t:=x+y; Writeln(‘t’); Readln; End

- Hỏi: Phần khai báo chương trình? - Hỏi: Phần thân chương trình có lệnh thân chương trình?

4 Yêu cầu học sinh lấy VD một chương trình khơng có phần tên và khai báo.

khai báo biến khai báo chương trình - Cấu trúc: Program ten_chuong_trinh; VD: Program tinh_tong;

- Cấu trúc: Uses ten_thu_vien; VD: Uses crt;

- Cấu trúc: Const ten_hang= gia_trị; VD: Const maxn=100;

- Cấu trúc: var ten_bien= Kieu_du_lieu; VD: var a,b,c:integer;

- Cấu trúc: Begin

Dãy lệnh End

3 Quan sát trả lời.

- Khai báo tên chương trình: Program VD1;

- Khai báo biến: Var x,y:byte; t:word;

- Cịn lại thân chương trình 4 Thảo luận trả lời: Begin

Writeln(‘Hello’);

15'

(15)

Hoạt động giáo viên Hoạt động học sinh thờigian

Readln; End

IV Củng cố học: (3') 1 Những nội dung học:

- Một chương trình gồm phần: phần khai báo phần thân

- Các kiểu liệu chuẩn: kiểu số nguyên, kiểu số thực, kiểu kí tự, kiểu logic

- Mọi biến chương trình phải dược khai báo Cấu trúc chuẩn khai báo Pascal: Var ten_bien: ten_kieu_du_lieu

2 Câu hỏi tập nhà:

(16)

Ngày soạn:

Tit 5:

Đ4: một số kiểu liệu chuẩn

Đ5: khai báo biến A MC TIấU, YấU CU:

1 Kiến thức:

- Biết số kiểu liệu chuẩn: nguyên, thực, kí tự, logic - Biết cấu trúc chung khai báo biến

2 Kĩ năng:

- Sử dụng kiểu liệu khai báo biến để viết chương trình đơn giản B PHƯƠNG PHÁP VÀ PHƯƠNG TIỆN:

1 Phương pháp:

Kết hợp phương pháp giảng dạy như: truyền thống, vấn đáp, có hình minh hoạ

2 Phương tiện:

- Vở ghi lý thuyết

- Sách giáo khoa sách giáo viên lớp 11 - Sách tham khảo (nếu có)

C TIẾN TRÌNH LÊN LỚP, NỘI DUNG BÀI GIẢNG. I Ổn định lớp:

Yêu cầu lớp trưởng báo cáo sĩ số II Kiểm tra cũ gợi động học:

- Giới thiệu học

III Bài giảng, nội dung giảng:

1 Tìm hiểu số kiểu liệu chuẩn: (Bài 4)

a Mục tiêu:

Biết tên số kiểu liệu chuẩn, biết giới hạn biểu diễn loại kiểu liệu

(17)

- Kiểu số nguyên:

Byte: 255

Integer: -32768 32767 Word: 65535

Longint -2148473648 2148473647 - Kiểu số thực:

Real: 2.9E-39 1.7E38

Extended: 3.4E-4932 1.1E4932

- Kiểu kí tự: Là kí tự thuộc bảng mã ASCII, gồm 256 kí tự đánh số từ đến 255 - Kiểu logic: Là tập hợp gồm giá trị True False, kết phép so sánh

c Các bước tiến hành:

Hoạt động giáo viên Hoạt động học sinh thờigian

1 Đặt vấn đề: Trong toán học, để thực hiện tính tốn ta cần phải có các tập số Đó tập số nào?

- Diễn giải: Cũng tương tự vậy, ngôn ngữ lập trình Pascal, để lập trình giải tốn, cần có tập hợp, tập hợp có giới hạn định - Các em hiểu nôm na: kiểu liệu chuẩn tập hữu hạn giá trị, kiểu liệu cần dung lượng nhớ cần thiết để lưu trữ xác định phép tốn tác động lên liệu

2 Yêu cầu học sinh nghiên cứu SGK trả lời câu hỏi sau:

- Có kiểu liệu chuẩn ngôn ngữ Pascal?

- Trong ngơn ngữ Pascal, có kiểu ngun thường dùng, phạm vi biểu diễn loại?

- Trong ngơn ngữ Pascal, có kiểu số thực thường dùng, phạm vi biểu

1 Chú ý lắng nghe suy nghĩ trả lời.

- Số tự nhiên, số nguyên, số hữu tỷ, số thực - Liên tưởng tập số toán học với kiểu liệu Pascal

2 Nghiên cứu SGK trả lời.

- Có kiểu: kiểu nguyên, kiểu thực, kiểu kí tự kiểu logic

- Có loại: Byte, word, integer, longint

- Có loại: Real, Extended

5'

(18)

Hoạt động giáo viên Hoạt động học sinh thờigian

diễn loại?

- Trong ngơn ngữ Pascal, có kiểu kí tự?

- Trong ngơn ngữ Pascal, có kiểu logic, gồm giá trị nào?

3 Giáo viên giải thích số vấn đề cho học sinh:

- Vì phạm vi biểu diễn loại kiểu số nguyên khác nhau?

- Miền giá trị loại kiểu số thực, số chữ số có nghĩa?

4 Phát vấn: Muốn tính tốn các giá trị: 7.5 ta phải sử dụng kiểu dữ liệu gì?

- Có loại: Char

- Có loại: Boolean, gồm phần tử: True False

3 Chú ý lắng nghe ghi nhớ.

4 Suy nghĩ trả lời. - Kiểu Real:

5'

5'

2 Tìm hiểu cách khai báo biến:

a Mục tiêu:

- Học sinh biết biến dùng chương trình phải khai báo tên kiểu liệu

- Học sinh biết cấu trúc chung khai báo biến ngôn ngữ Pascal Khai báo biến lập trình

b Nội dung:

Trong ngơn ngữ lập trình Pascal, cấu trúc chung khai báo biến là: Var

Tên_biến_1: Kiểu_ Liệu_1; Tên_biến_2 Kiểu_ Liệu_2; Tên_biến_n Kiểu_ Liệu_n;

Nếu có nhiều biến có kiểu liệu, khai báo ghép, biến phân cách dấu phẩy Kiểu_dữ_liệu kiểu liệu chuẩn Pascal

(19)

Hoạt động giáo viên Hoạt động học sinh thờigian

1 Yêu cầu học sinh nghiên cứu SGK và cho biết phải khai báo biến?

- Cấu trúc chung khai báo biến ngơn ngữ lập trình Pascal

- Cho ví dụ để khai báo biến kiểu số nguyên biến kiểu kí tự

2 Cho đoạn khai báo sau: yêu cầu học sinh khai báo biến đúng? Var

x,y,z:word; n l:real; X:longint; h: in tegr; i:byte;

3 Hãy cho biết đoạn khai báo : - Hỏi: Có biến tất cả, nhớ phải cấp phát bao nhiêu?

1.Nghiên cứu SGK trả lời.

- Mọi biến dùng chương trình phải khai báo tên biến kiểu liệu biến Tên biến dùng để xác lập quan hệ biến với địa nhớ nơi lưu giữ giá trị cảu biến

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

- Var

x:word; y:char

2 Chú ý quan sát trả lời. Var

x,y,z:word; i:byte;

3 Quan sát trả lời: - Có biến;

- Tổng nhớ cần cấp là: x(2 byte), y(2 byte), z (2 byte) h (2 byte), i (1 byte), Tổng Byte

5'

5'

5'

IV Củng cố học: (3') 1 Những nội dung học:

- Các kiểu liệu chuẩn: kiểu số nguyên, kiểu số thực, kiểu kí tự, kiểu logic

- Mọi biến chương trình phải dược khai báo Cấu trúc chuẩn khai báo Pascal: Var ten_bien: ten_kieu_du_lieu

2 Câu hỏi tập nhà:

- Làm tập 3,4,5 SGK trang 35

- Xem trước nội dung bài: Phép toán Biểu thức, lệnh gán SGK trang 24 - Xem nội dung phụ lục B SGK trang 129: số kiểu liệu chuẩn

(20)

Tit 6:

Đ6: Phép toán, biểu thức, câu lệnh gán

A MC TIấU, YấU CẦU:

1 Kiến thức:

- Biết phép tốn thơng dụng ngơn ngữ lập trình - Biết diễn đạt biểu thức ngôn ngữ lập trình

- Biết chức lệnh gán

- Biết cấu trúc lệnh gán số hàm chuẩn thông dụng ngôn ngữ lập trình Pascal

2 Kĩ năng:

- Sử dụng phép toán để xây dựng biểu thức - Sử dụng lệnh gán để viết chương trình

B PHƯƠNG PHÁP VÀ PHƯƠNG TIỆN: 1 Phương pháp:

Kết hợp phương pháp giảng dạy như: truyền thống, vấn đáp, có hình minh hoạ

2 Phương tiện:

- Vở ghi lý thuyết

- Sách giáo khoa sách giáo viên lớp 11 - Sách tham khảo (nếu có)

C TIẾN TRÌNH LÊN LỚP, NỘI DUNG BÀI GIẢNG: I Ổn định lớp:

Yêu cầu lớp trưởng báo cáo sĩ số II Kiểm tra cũ gợi động học:

- Giới thiệu học

III Bài giảng, nội dung giảng: 1 Tìm hiểu số phép tốn:

a Mục tiêu:

Học sinh biết tên phép toán, kí hiệu phép tốn cách sử dụng phép toán kiểu liệu

(21)

- Các phép toán quan hệ: <, <=, >, >=, =, <> Dùng để so sánh hai đại lượng, kết phép toán True False

- Các phép toán logic: NOT, AND, OR, thường dùng để tạo biểu thức logic từ biểu thức quan hệ đơn giản

c Các bước tiến hành:

Hoạt động giáo viên Hoạt động học sinh thờigian

1 Đặt vấn đề: Để mô tả thao tác thuật tốn, ngơn ngữ lập trình sử dụng số khái niệm bản: phép toán, biểu thức, gán giá trị

2 Phát vấn: Hãy kể phép toán em học toán học?

- Diễn giải: Trong ngơn ngữ lập trình Pascal có phép tốn diễn đạt cách khác

- Yêu cầu học sinh nghiên cứu SGK cho biết nhóm phép tốn

- Hỏi: Phép Div, Mod sử dụng cho kiểu liệu nào?

- Hỏi: Kết phép toán quan hệ thuộc kiểu liệu nào?

1 Chú ý lắng nghe.

2 Suy nghĩ trả lời.

- Phép: cộng, trừ, nhân, chia, lấy số dư, chia lấy số nguyên, so sánh

- Các phép toán số học: + - * / Div Mod - Các phép toán quan hệ: <, <=, >, >=, =, <> - Các phép toán logic: NOT, AND, OR - Chỉ sử dụng cho kiểu nguyên

- Thuộc kiểu logic

5'

2 Tìm hiểu biểu thức:

a Mục tiêu:

- Học sinh biết khái niệm biểu thức số học, biểu thức quan hệ biểu thức logic Biết cách xây dựng biểu thức

- Biết số hàm số học chuẩn lập trình

b Nội dung:

- Biểu thức số học biểu thức nhận từ số, biến số hàm số liên kết với phép toán số học

(22)

toán: nhân, chia, chia lấy nguyên, chia lấy dư thực trước phép toán cộng, trừ thực sau

- Hàm số học chuẩn thông dụng:

Hàm Kiểu đối số Kiểu hàm số

Bình phương SQR(x) I R Theo kiểu đối số

Căn bậc hai: SQRT(x) I R R

Giá trị tuyệt đối: ABS(x) I R Theo kiểu đối số

Sin(x) I R R

Cos(x) I R R

Logarit tự nhiên Ln(x) I R R

Lũy thừa số e ex exp(x) I R R

- Hai biểu thức có kiểu liệu liên kết với phép toán quan hệ cho ta biểu thức quan hệ

<biểu_thức_1> <phép_toán_quan_hệ> <biểu_thức_2> Thứ tự thực hiện:

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

+ Thực phép toán quan hệ

Các biểu thực quan hệ liên kết với phép toán logic ta biểu thức logic Biểu thức logic đơn giản giá trị True False

c Các bước tiến hành:

Hoạt động giáo viên Hoạt động học sinh thờigian

1 Nêu vấn đề: Trong toán học ta đã làm quen với khái niệm biểu thức, hãy cho biết yếu tố xây dựng nên biểu thức.

- Nếu toán mà toán hạng biến số, số hàm số toán tử phép toán số học biểu thức có tên gì?

2 Cho biểu thức sau: 2a + 5b + c;

1 Suy nghĩ trả lời.

- Gồm hai phần: toán hạng toán tử

- Biểu thức số học

2 Quan sát trả lời 2*a + 5*b + c;

3'

(23)

Hoạt động giáo viên Hoạt động học sinh thờigian

xy 2z

x + y/1-2/z + x2/2z

- Nghiên cứu SGK từ việc xây dựng biểu thức trên, nêu thứ tự thực phép toán

3 Nêu vấn đề: Trong toán học ta đã làm quen với số hàm số học, hãy kể tên số hàm đó?

- Trong số ngơn ngữ lập trình ta có số hàm diễn đạt cách khác

Cho biểu thức:

a ac b b  

 , biểu

diễn biểu thức sang biểu thức ngơn ngữ lập trình

4 Nêu vấn đề: Khi biểu thức số học liên kết với phép toán quan hệ ta biểu thức mới, biểu thức gọi biểu thức gì?

- Hãy lấy VD biểu thức quan hệ? - Yêu cầu học sinh nghiên cứu SGK cho biết cấu trúc chung biểu thức quan hệ - Thứ tự thực biểu thức quan hệ

- Cho biết kết phép toán quan hệ thuộc kiểu DL nào?

5 Nêu vấn đề: Các biểu thức quan hệ liên kết với phép toán logic gọi biểu thức logic

- Hãy cho số VD biểu thức logic

- Trong tốn học ta có biểu thức ≤ x ≤ 11 Hãy biểu diễn biểu thức ngôn

x*y/(2*z);

((x+y)/(1-(2/z))) + (x*x/(2*z))

- Thực ngoặc trước, ngoặc sau Nhân, chia, chia nguyên, chia lấy dư trước, cộng trừ sau

3 Suy nghĩ trả lời.

- Hàm trị tuyệt đối, hàm bậc hai, hàm sin, cos

- Suy nghĩ, lên bảng trả lời

(-b+SQRT(b*b – * a * c)) / (2 * a)

4 Suy nghĩ trả lời. - Gọi biểu thức quan hệ

- VD: * x < y - Cấu trúc chung:

<BT1> <phép tốn quan hệ> <BT2> + Tính giá trị biểu thức

+ Thực phép toán quan hệ - Kiểu logic

5 Chú ý theo dõi dẫn dắt GV và suy nghĩ để trả lời.

- VD: (A>B) or ((X + 1) < Y) (5 > 2) and ((3 + 2) < 7)

- Biểu diễn ngơn ngữ lập trình: (5 <= x) and (x <= 11)

5'

5'

(24)

Hoạt động giáo viên Hoạt động học sinh thờigian

- Thứ tự thực biểu thức logic

- Kết biểu thức logic có kiểu DL gì? - Cho bảng giá trị A B, yêu cầu HS điền giá trị vào

+ Thực biểu thức quan hệ + Thực phép toán logic

- Kiểu logic

- HS suy nghĩ trả lời

A B not A A and B A or B

T T F T T

T F F F T

F T T F T

F F T F F

3 Tìm hiểu lệnh gán:

a Mục tiêu:

- HS biết chức lệnh gán lập trình Biết cấu trúc chung lệnh gán ngôn ngữ Pascal Biết lệnh lập trình

b Nội dung.

- Lệnh gán dùng để tính giá trị biểu thức chuyển giá trị vào biến - Cấu trúc: Tên biến := biểu_thức;

- Sự thực máy:

+ Tính giá trị biểu_thức + Đặt giá trị vào tên_biến

c Các bước tiến hành:

Hoạt động giáo viên Hoạt động học sinh thờigian

- Giới thiệu VD lệnh gán Pascal sau:

X:= + 8;

- Giải thích: Lấy cộng 8, đem kết đặt vào x Ta x=12

- Hỏi: Hãy cho biết chức lệnh gán?

- Yêu cầu HS nghiên cứu SGK cho

- Quan sát VD suy nghĩ để trả lời

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

+ Gán giá trị tính vào tên biến <tên_biến>:=<biểu_thức>;

(25)

Hoạt động giáo viên Hoạt động học sinh thờigian

biết cấu trúc chung lệnh gán ngôn ngữ Pascal

- Hãy cho VD để tính nghiệm phương trình bậc

a ac b

b

4

  

- Giới thiệu thêm VD: cho chương trình Var i, z: integer;

Begin z:=4; i:=6; z:= z - 1; i:= i + 1; writeln(‘i=’, i); writeln(‘z=’, z); Readln;

End

- Hỏi: Chương trình in hình giá trị bao nhiêu?

- Thực chương trình để HS kiểm nghiệm kết tự suy luận

X:=(-b+SQRT(b*b-4a*c)) / (2*a);

- In hình x=3 i=7

- Quan sát kết chương trình

IV Đánh giá cuối bài: (3')

1 Những nội dung học.

- Các phép toán Turbo Pascal; số học, quan hệ logic - Các biểu thức Turbo Pascal, số học, quan hệ logic - Cấu trúc lệnh gán Turbo Pascal: tên_biến:= biểu_thức;

2 Câu hỏi tập nhà.

- Làm tập 5, 6, 7, SGK-T35,36

(26)

Ngày soạn:

Tiết 7:

Đ7: Các thủ tục chuẩn vào/ra đơn giản

A MỤC TIÊU, YÊU CẦU:

1 Kiến thức:

- Biết ý nghĩa thủ tục vào/ra chuẩn lập trình

- Biết cấu trúc chung thủ tục vào/ra ngơn ngữ lập trình Pascal

2 Kĩ năng:

- Viết lệnh vào/ra DL

- Biết nhập DL thực chương trình B PHƯƠNG PHÁP VÀ PHƯƠNG TIỆN:

1 Phương pháp:

Kết hợp phương pháp giảng dạy như: truyền thống, vấn đáp, có hình minh hoạ

2 Phương tiện:

- Sách giáo khoa sách giáo viên lớp 11 - Sách tham khảo (nếu có)

- Tranh chứa biểu thức toán học, máy chiếu, máy vi tính, số chương trình viết sẵn

C TIẾN TRÌNH LÊN LỚP, NỘI DUNG BÀI GIẢNG: I Ổn định lớp:

Yêu cầu lớp trưởng báo cáo sĩ số II Kiểm tra cũ gợi động học:

- Giới thiệu học

III Bài giảng, nội dung giảng:

1 Tìm hiểu thủ tục nhập liệu vào từ bàn phím:

a Mục tiêu:

- Giúp HS thấy cần thiết thủ tục nhập DL - Biết cấu trúc chung thủ tục nhập DL

b Nội dung:

- Dùng để đưa nhiều DL khác cho chương trình xử lí - Nhập: Read/Readln(<tên_biến_1> , , <tên_biến_n>);

(27)

Hoạt động giáo viên Hoạt động học sinh thờigian

1 ĐVĐ: Khi giải tốn, ta phải đưa DL vào để máy tính xử lí, việc đưa DL lệnh gán làm cho chương trình có tác dụng với DL cố định Để chương trình giải nhiều tốn hơn, ta sử dụng thủ tục nhập DL - Yêu cầu HS nghiên cứu SGK cho biết cấu trúc chung thủ tục nhập DL ngôn ngữ Pascal:

- Nêu VD: Khi viết chương trình giải phương trình ax + b = 0, ta phải nhập vào đại lượng nào? Viết lệnh nhập? 2 Chiếu chương trình Pascal đơn giản có lệnh nhập cho biến

- Thực chương trình thực nhập DL

- Hỏi: Khi nhập giá trị cho nhiều biến, ta thực nào?

- Yêu cầu HS thực nhập DL cho chương trình

1 Chú ý lắng nghe dẫn dắt GV.

- Nghiên cứu SGK suy nghĩ để trả lời Read(<tên_biến_1>, ,<tên_biến_n>); Readln(<tên_biến_1>, ,<tên_biến_n>); - Phải nhập giá trị cho biến: a, b - Viết lệnh: Readln(a,b);

2 Quan sát chương trình VD GV.

- Những giá trị phải gõ cách dấu cách kí tự xuống dịng - Lên bảng thực nhập theo yêu cầu GV

5'

15'

2 Tìm hiểu thủ tục đưa liệu hình:

a Mục tiêu:

- Giúp HS thấy cần thiết thủ tục đưa DL hình - Biết cấu trúc chung thủ tục đưa DL hình

b Nội dung:

- Dùng để đưa kết sau xử lí hình đẻ người sử dụng thấy - Xuất: Write/Writeln(<Tham_số_1>, ,<Tham_số_n>);

(28)

Hoạt động giáo viên Hoạt động học sinh thờigian

1 ĐVĐ: Sau xử lí xong, kết tìm được lưu nhớ Để thấy kết hình ta sử dụng thủ tục xuất DL

- Yêu cầu HS nghiên cứu SGK cho biết cấu trúc chung thủ tục xuất DL ngơn ngữ lập trình Pascal:

- Nêu VD: Khi viết chương trình giải phương trình ax + b = 0, ta phải đưa hình giá trị nghiệm –b/a, Ta phải viết lệnh nào?

2 Viết lên bảng chương trình Pascal đơn giản.

Program VD;

Var x, y, z:integer; Begin

Writeln(‘Nhập vào số: ’); Readln(x,y);

z:=x+y;

Write(x:6, y:6, z:6); Readln;

End

- Thực chương trình thực nhập DL để HS thấy kết MH

- Hỏi: Chức lệnh Writeln();

- Hỏi: Ý nghĩa lệnh Write( );

- Hỏi: Khi tham số lệnh Write() thuộc kiểu Char Real quy định vị

1 Chú ý lắng nghe dẫn dắt GV.

Write(<tên_biến_1>, ,<tên_biến_n>); Writeln(<tên_biến_1>, ,<tên_biến_n>);

- Phải nhập giá trị cho biến: a, b - Viết lệnh: Writeln(-b/a);

2 Quan sát chương trình VD GV.

- Viết MH dòng chữ đưa trỏ xuống dòng

- Dành vị trí MH để viết số x, vị trí để viết số y, vị trí để viết số z

- Khi tham số có kiểu kí tự, việc quy định vị trí giống kiểu nguyên

5'

(29)

Hoạt động giáo viên Hoạt động học sinh thờigian

trí nào?

- Cho VD cụ thể với biến c kiểu Char r kiểu nguyên

- Khi tham số có kiểu thực phải quy định hai loại vị trí: vị trí cho tồn số thực vị trí cho phần thập phân - VD: Write(c:8);

Write(r:8:3);

IV Đánh giá cuối bài: (3') 1 Những nội dung học.

- Lệnh nhập DL - Lệnh xuất DL 2 Câu hỏi tập.

- Bằng thực hành máy:

+ Hãy so sánh giống khác Write(); Writeln(); + Hãy so sánh giống khác Read(); Readln(); + Tìm hiểu chức lệnh Readln; Writeln;

(30)

Ngày soạn

Tit 8:

Đ8: soạn thảo, dịch, thực hiệu chỉnh chơng trình A MC TIÊU, YÊU CẦU:

1 Kiến thức:

- Biết bước để hồn thành chương trình - Biết File chương trình Turbo Pascal 7.0

2 Kĩ năng:

- Biết khởi động thoát khỏi hệ soạn thảo Turbo Pascal - Soạn chương trình vào máy tính

- Dịch chương trình để nhập DL thu kết quả, tìm lỗi thuật tốn sửa lỗi B PHƯƠNG PHÁP VÀ PHƯƠNG TIỆN:

1 Phương pháp:

Kết hợp phương pháp giảng dạy như: truyền thống, vấn đáp, có hình minh hoạ

2 Phương tiện:

- Sách giáo khoa sách giáo viên lớp 11 - Sách tham khảo (nếu có)

- Máy vi tính có cài phần mềm Turbo Pascal C TIẾN TRÌNH LÊN LỚP, NỘI DUNG BÀI GIẢNG: I Ổn định lớp:

Yêu cầu lớp trưởng báo cáo sĩ số II Kiểm tra cũ gợi động học:

- Giới thiệu học

III Bài giảng, nội dung giảng: 1 Làm quen với Turbo Pascal.

a Mục tiêu:

- Biết File chươg trình Turbo Pascal - Biết cách khởi động thoát khỏi Turbo Pascal

b Nội dung:

- Chuyển vào thư mục chứa File Turbo.exe

- Gõ Turbo.exe Enter (Nếu mơi trường Win cần nhấn biểu tượng Turbo Pascal)

(31)

Hoạt động giáo viên Hoạt động học sinh thờigian

1 ĐVĐ: Để sử dụng Turbo Pascal, máy phải có file chương trình cần thiết Tham khảo SGk cho biết tên file chương trình

2 Trình diễn cách khởi động Turbo Pascal thông qua máy chiếu.

- Giới thiệu hình soạn thảo chương trình: bảng chọn, trỏ, vùng soạn thảo

1 Tham khảo SGK trả lời. Turbo.exe

Turbo.tpl Graph.tpu

Egavga.bgi file *.chr 2 HS quan sát ghi nhớ.

10'

2 Tập soạn thảo chương trình dịch lỗi cú pháp:

a Mục tiêu:

- HS biết cách tạo lưu file chương trình - Biết cách dịch tìm lỗi cú pháp

b Nội dung:

- Gõ lệnh chương trình (giống hệ soạn thảo văn bản) - Lưu file chương trình lên đĩa bấm F2

- Biên dịch lỗi cú pháp bấm ALT_F9 c Các bước tiến hành:

Hoạt động giáo viên Hoạt động học sinh thờigian

1 Soạn chương trình làm VD, lưu chương trình, dịch lỗi.

2 Soạn chương trình, hỏi lỗi cú pháp chương trình, gọi HS dịch lỗi sửa.

Program VD; Var x: Integer; Begin

Write(Nhap so nguyen duong); Readln(x);

Y:=sqrt(x); Write(y); End

1 Quan sát ghi nhớ. - Lưu: F2

- Dịch lỗi: ALT_F9

2 Quan sát phát lỗi để sửa lỗi cho chương trình.

Program VD; Var x: Integer; Begin

Write(‘Nhap so nguyen duong’); Readln(x);

Y:=sqrt(x); Write(y); End

15'

3 Tập thực chương trình tìm lỗi thuật tốn để hiệu chỉnh:

(32)

- HS biết cách thực chương trình

- Biết cách nhập DL tìm lỗi thuật tốn để hiệu chỉnh

b Nội dung.

- Thực chương trình: bấm Ctrl + F9 - Xây dựng Test

- Nhập DL, thu kết quả, đối chứng với kết test

c Các bước tiến hành:

Hoạt động giáo viên Hoạt động học sinh thờigian

1 Thực chương trình viết ở trên, nhập DL, giới thiệu kết quả. - Hỏi: nhóm phím dùng để thực chương trình

2 Giới thiệu chương trình giải phương trình bậc ax + b = 0. Var

Begin

Readln(a,b); If a<>0 then Write(-b/a) Else

Write(‘Phuong trinh vo nghiem’); Readln;

End

- Yêu cầu HS tìm Test để chứng minh chương trình sai

1 Quan sát GV thực tham khảo SGK.

- Ctrl + F9

2 Quan sát yêu cầu GV độc lập suy nghĩ để tìm test.

a=0 b=0 x=VSN

15'

IV Đánh giá cuối bài: (3')

1 Những nội dung học.

- Nhắc lại kiến thức trọng tâm

2 Câu hỏi tập.

- Viết chương trình nhập vào số tính bình phương số

- Viết chương trình nhập độ dài bán kính tính chu vi diện tích hình trịn tương ứng - Làm tập 9, 10 SGK-T36

(33)

Ngày soạn:

Tiết + 10:

Bµi tËp vµ thùc hµnh 1 A MỤC TIÊU, YÊU CẦU:

1 Kiến thức:

- Biết chương trình Pascal hồn chỉnh

- Làm quen với dịch vụ chủ yếu Turbo Pascal việc soạn thảo, lưu chương trình, dịch chương trình thực chương trình

2 Kĩ năng:

- Soạn chương trình, lưu lên đĩa, dịch lỗi cú pháp, thực tìm lỗi thuật tốn hiệu chỉnh

- Bước đầu biết phân tích hồn thành chương trình đơn giản Turbo Pascal B PHƯƠNG PHÁP VÀ PHƯƠNG TIỆN:

1 Phương pháp:

Kết hợp phương pháp giảng dạy như: truyền thống, vấn đáp, có hình minh hoạ

2 Phương tiện:

GV: Chuẩn bị phòng máy thiết bị liên quan HS: Thực hành nghe giảng máy

C TIẾN TRÌNH LÊN LỚP, NỘI DUNG BÀI GIẢNG: I Ổn định lớp:

Yêu cầu lớp trưởng báo cáo sĩ số II Kiểm tra cũ gợi động học:

Giới thiệu học

III Bài giảng, nội dung giảng:

TiÕt 9:

1 Tìm hiểu chương trình hồn chỉnh.

a Mục tiêu:

- HS biết chương trình hồn chỉnh - Biết soạn chương trình

(34)

b Nội dung:

- Cho chương trình sau: Program GPT; Uses crt;

Var a, b, c, d, x1, x2: Real; Begin

Clrscr;

Write(‘Nhap a b c:’); Readln(a, b, c); d:= b*b – * a * c;

x1:= (-b + sqrt(d))/(2*a); x2:= (-b - sqrt(d))/(2*a);

Write(‘x1:=’, x1:6:2,’x2=’,x2:6:2); Readln;

End

c Các bước tiến hành:

Hoạt động giáo viên Hoạt động học sinh thờigian

1 Viết chương trình lên bảng Yêu cầu HS thực nhiệm vụ:

- Soạn chương trình vào máy - Lưu chương trình

- Dịch lỗi cú pháp

- Thực chương trình

- Nhập -3 Thông báo kết - Trở MH soạn thảo

- Thực chương trình

- Nhập DL Thơng báo kết - Hỏi: Vì có lỗi xuất hiện?

- Sửa lại chương trình khơng dùng biến d

1 Quan sát bảng, tự soạn chương trình vào máy.

F2 Alt + F9 Ctrl + F9

X1=1 X2=2

Enter Ctrl + F9 Thông báo lỗi

Do bậc số âm Readln(a, b, c);

X1:= (-b-sqrt(b*b-4*a*c))/(2*a); X2:= (-b+sqrt(b*b-4*a*c))/(2*a); Writeln(‘x1=’, x1:6:2, ‘x2=’, x2:6:2 );

45'

(35)

2 Rèn luyện kĩ lập trình:

a Mục tiêu:

- HS soạn chương trình lưu chương trình vào đĩa Biên dịch thực chương trình Nhập DL kiểm định kết chương trình

b Nội dung:

- Viết chương trình tính diện tích hình tơ màu với a nhập vào từ BP

c Các bước tiến hành:

Hoạt động giáo viên Hoạt động học sinh thờigian

1 Định hướng để HS phân tích tốn. - DL vào:

- DL ra: - Cách tính:

2 Yêu cầu Hs soạn chương trình và lưu đĩa.

- Quan sát hướng dẫn HS lúc thực hành

3 Yêu cầu HS nhập DL thông báo kết quả.

A=3 A= -3

1 Phân tích yêu cầu GV. A

S

Tính diện tích hình trịn có bk a(s1) Tính diện tích hình vng cạnh a 2(s2) S:= s1-s2

2 Thực yêu cầu GV. - Soạn chương trình

- Bấm phím F2, lưu tên file - Dịch chương trình Alt + F9

- Ctrl + F9 thực chương trình - Thơng báo kết

3 Nhập DL theo yêu cầu.

- Với a= ta s= 9(pi-2) = 10.26 - Với a= -3, kết khơng độ dài cạnh phải số dương

5'

25'

5'

(36)

1 Những nội dung học.

- Hệ thống lại kiến thức trọng tâm

2 Câu hỏi tập nhà

- Viết chương trình nhập vào độ dài cạnh tam giác tính chu vi diện tích tam giác

- Cho chương trình sau: Program BT;

Var r, s1, s2, s:real; Begin

Write(‘Nhap r’); Readln(r); S1:=4*r*r; S2:=r*r*pi; S:=s1-s2; Write(s:6:2); Readln; End

Hỏi: Chương trinh thực cơng việc gì, kết in MH bao nhiêu? - Làm tập 7, 8, 9, 10 T36

+ Soạn chương trình + Dịch lỗi thực

(37)

Ngày soạn:

Tiết 11:

Ch ¬ng III: cÊu tróc rẽ nhánh lặp Đ9: cấu trúc rẽ nhánh A MỤC TIÊU, YÊU CẦU:

1 Kiến thức:

- HS biết ý nghĩa cấu trúc rẽ nhánh

- HS biết cấu trúc chung cấu trúc rẽ nhánh

- Biết cáchsử dụng dạng cấu trúc rẽ nhánh: dạng thiếu dạng đủ

2 Kĩ năng:

- Bước đầu sử dụng cấu trúc rẽ nhánh If then else Pascal để viết chương trình giải số toán đơn giản

B PHƯƠNG PHÁP VÀ PHƯƠNG TIỆN: 1 Phương pháp:

Kết hợp phương pháp giảng dạy như: truyền thống, vấn đáp, có hình minh hoạ

2 Phương tiện:

- Vở ghi lý thuyết

- Sách giáo khoa sách giáo viên lớp 11 - Sách tham khảo (nếu có)

C TIẾN TRÌNH LÊN LỚP, NỘI DUNG BÀI GIẢNG: I Ổn định lớp:

Yêu cầu lớp trưởng báo cáo sĩ số II Kiểm tra cũ gợi động học:

Giới thiệu học

III Bài giảng, nội dung giảng:

1 Tìm hiểu ý nghĩa tổ chức rẽ nhánh.

a Mục tiêu:

- HS biết ý nghĩa tổ chức rẽ nhánh, vẽ sơ đồ giải phương trình bậc 2: ax2 + bx + c = với a<>

b Nội dung:

Sai Đúng

Bắt đầu

Nhập a, b, c Delta:=b*b+4*a*c

Tính in nghiệm Thơng báo VN

(38)

c Các bước tiến hành:

Hoạt động giáo viên Hoạt động học sinh thờigian

1 Nêu VD thực tiễn minh họa cho tổ chức rẽ nhánh:

Chiều mai trời không mưa An xem đá bóng, trời mưa An xem ti vi nhà

- Yêu cầu học sinh tìm thêm số ví dụ tương tự

- Yêu cầu học sinh đưa cấu trúc chung cách diễn đạt

- Yêu cầu học sinh lấy ví dụ có cấu trúc chung dạng khuyết đưa cấu trúc chung

2 Nêu bước để kết luận nghiệm của pt bậc hai: ax2 + bx + c=0;

1 Chú ý theo dõi dẫn dắt ví dụ của giáo viên để suy nghĩ tìm ví dụ tương tự.

- Nếu VN thắng đội Indonesia đá tiếp tranh huy chương vàng với Thái Lan, khơng thắng VN tranh huy chương đồng với Mianmar

- Nếu khơng

- Nếu làm xong tập sớm An sang nhà Ngọc chơi

- Nếu

2 Theo dõi thực yêu cầu của giáo viên.

5'

(39)

Hoạt động giáo viên Hoạt động học sinh thờigian

- Yêu cầu học sinh vẽ sơ đồ thực bước

- Tính delta

- Nếu delta < kết pt vơ nghiệm - Nếu delta >=0 pt có nghiệm x=(-b+sqrt(delta))/(2a)

x=(-b-sqrt(delta))/(2a)

- Thực vẽ sơ đồ phần nội dung

2 Tìm hiểu cấu trúc lệnh rẽ nhánh IF – THEN – ELSE Pascal:

a Mục tiêu:

- Học sinh biết cấu trúc chung lệnh IF Biết thực máy gặp lệnh IF Vẽ sơ đồ thực cho lệnh IF

b Nội dung:

- Dạng thiếu:

+ Cấu trúc: If <điều kiện> then <lệnh>;

Điều kiện: biểu thức quan hệ biểu thức logic Lệnh: lệnh Pascal

+ Sự thực máy: Tính giá trị <điều kiện>

Nếu <điều kiện> có giá trị thực <lệnh> + Sơ đồ:

Đúng

Sai

- Dạng đủ:

+ Cấu trúc: If <điều kiện> then <lệnh 1> else <lệnh 2>;

Điều kiện: biểu thức quan hệ biểu thức logic Lệnh1, Lệnh 2: lệnh Pascal

+ Sự thực máy: Tính giá trị <điều kiện>

Nếu <điều kiện> có giá trị thực <lệnh 1>, ngược lại thực <lệnh 2>

+ Sơ đồ:

Điều kiện Lệnh

Điều kiện Lệnh

(40)

c Các bước tiến hành:

Hoạt động giáo viên Hoạt động học sinh thờigian

1 Yêu cầu học sinh nghiên cứu SGK và dựa vào ví dụ tổ chức rẽ nhánh để đưa cấu trúc chung của lệnh rẽ nhánh.

2 Nêu vấn đề trường hợp khuyết: Khi khơng đề cập đến việc xảy điều kiện khơng thỏa mãn, ta có u cấu trúc nào?

3 Yêu cầu học sinh vẽ sơ đồ thực hiện lệnh rẽ nhánh dạng khuyết và dạng đầy đủ lên bảng.

4 Gợi ý cần thiết lệnh ghép. Đưa cấu trúc lệnh ghép.

- Khi giải thích lệnh, lệnh 1, lệnh 2, giáo viên nói: Sau then else em thấy phép đặt lệnh Trong thực tế, thường lại nhiều lệnh

- Yêu cầu học sinh nghiên cứu SGK cho biết cấu trúc để ghép lệnh thành lệnh

1 Nghiên cứu SGK trả lời.

If <điều kiện> then <lệnh 1> else <lệnh 2>;

2 Học sinh ý lắng nghe trả lời. - Khi ta có lệnh khuyết

If <điều kiện> then <lệnh>;

3 Vẽ sơ đồ thực được trình bày phần nội dung.

4 Theo dõi dẫn dắt giáo viên để trả lời.

- Ta phải nhóm nhiều lệnh thành lệnh

- Cấu trúc lệnh ghép: Begin

<Các lệnh cần ghép> End;

2'

2'

5'

5'

3 Rèn luyện kĩ vận dụng lệnh IF:

a Mục tiêu:

- Bước đầu biết sử dụng lệnh IF để lập trình giải số tốn đơn giản

b Nội dung.

- VD1: Viết chương trình nhập vào độ dài hai cạnh hình chữ nhật tính chu vi, diện tích hình chữ nhật

- VD2: Tìm nghiệm pt bậc

(41)

Hoạt động giáo viên Hoạt động học sinh thờigian

1 Nêu nội dung, mục đích yêu cầu của VD1 Viết chương trình nhập vào độ dài hai cạnh hình chữ nhật tính chu vi, diện tích hình chữ nhật - Chương trình em viết, cho biết có hạn chế chương trình em?

- Hướng giải em nào?

- Yêu cầu học sinh nhà tiếp tục hoàn thiện chương trình

2 Nêu nội dung tập, mục đích u cấu tập.

Tìm nghiệm pt bậc hai

- Hãy nêu bước để trả lời nghiệm pt bậc hai

- Trong toán ta cần lệnh rẽ nhánh Dạng nào?

1 Chý ý lắng nghe.

- Khi nhập độ dài âm dẫn đến chương trình trả lời chu vi, diện tích âm Điều khơng có thực tế

- Dùng lệnh rẽ nhánh để kiểm tra giá trị đọ dài cạnh nhập vào

- Nếu độ dài dương tính diện tích ngược lại thơng báo độ dài sai

2 Ghi đề bài, ý mục đích yêu cầu của tập.

- Tính delta

- Nếu delta <0 pt vơ nghiệm - Nếu delta >= pt có nghiệm: x=(-b+sqrt(delta))/(2a) x=(-b-sqrt(delta))/(2a)

- Có thể sử dụng hai lệnh rẽ nhánh dạng khuyết, sử dụng lệnh dạng đủ

5'

8'

IV Đánh giá cuối bài. 1 Những nội dung học

- Cấu trúc chung cấu trúc rẽ nhánh

- Sự thực máy gặp cấu trúc rẽ nhánh IF - Sơ đồ thực cấu trúc rẽ nhánh IF

2 Câu hỏi tập nhà:

- Trả lời câu hỏi 1, 2, SGK trang 50

(42)

Ngày soạn:

Tiết 12 + 13 + 14:

§10: cÊu tróc lỈp A MỤC TIÊU, U CẦU:

1 Kiến thức:

- Biết ý nghĩa cấu trúc lặp

- Biết cấu trúc chung lệnh lặp for Pascal - Biết sử dụng hai dạng lệnh lặp For Pascal

- Biết ý nghĩa cấu trúc lặp có số lần lặp chưa xác định - Biết cấu trúc chung lệnh lặp While Pascal - Biết thực máy gặp lệnh lặp While

2 Kĩ năng:

- Phân biệt giống khác cấu trúc lặp FOR While - Sử dụng lệnh lặp While lập trình

- Bước đầu biết lựa chọn dạng lệnh lặp để lập trình giải số toán đơn giản

B PHƯƠNG PHÁP VÀ PHƯƠNG TIỆN: 1 Phương pháp:

Kết hợp phương pháp giảng dạy như: truyền thống, vấn đáp, có hình minh hoạ

2 Phương tiện:

- Vở ghi lý thuyết

- Sách giáo khoa sách giáo viên lớp 11 - Sách tham khảo (nếu có)

C TIẾN TRÌNH LÊN LỚP, NỘI DUNG BÀI GIẢNG: I Ổn định lớp:

Yêu cầu lớp trưởng báo cáo sĩ số II Kiểm tra cũ gợi động học:

Giới thiệu học

III Bài giảng, nội dung giảng:

TiÕt 12:

1 Tìm hiểu ý nghĩa cấu trúc lặp:

a Mục tiêu:

- Học sinh thấy cần thiết cấu trúc lặp lập trình

(43)

Bài tốn 1: Viết chương trình tính tổng: S= a + 1 

a +

1

a + + 100

a

Bài toán 2: Một người có số tiền S, ơng ta gửi tiết kiệm ngân hàng với lãi

suất 1,5% tháng Hỏi sau 12 tháng gửi tiết kiệm(không rút tiền lãi hàng tháng), ông ta số tiền bao nhiêu?

c Các bước tiến hành:

Hoạt động giáo viên Hoạt động học sinh thờigian

1 Nêu toán đặt vấn đề toán 1: - Hãy xác định cơng thức tốn học để tính tổng?

- Gợi ý phương pháp: Ta xem S thúng nước, số hạng ca có dung tích khác nhau, việc tính tổng tương tự việc đổ ca nước vào thùng S

- Có bao nhiêulần đổ nước vào thùng? - Mỗi lần đổ lượng bao nhiêu? Lần thứ i đổ bao nhiêu?

- Phải viết lệnh?

2 Nêu toán đặt vấn đề toán 2: - Em hiểu cách tính tiền gửi tiết kiệm tốn

- Từ đó, lập cơng thức tính tiền thu sau tháng thứ

- Ta phải thực tính lần vậy?

- Dẫn dắt: Chương trình viết dài, khó đọc dễ sai sót Cần có cấu trúc điều khiển việc lặp lại thực công việc

- Trong tất ngơn ngữ lập trình có cấu trúc điều khiển việc thực lặp lại với số lần định trước

3 Yêu cầu học sinh viết thuật toán giải quyết toán 1, 2.

1 Chú ý quan sát toán dặt vấn đề. - Rất khó xác định cơng thức

- Theo dõi gợi ý

- Phải thực 100 lần đổ nước - Mỗi lần đổ là:

i a

1 - Phải viết 100 lệnh

2 Chú ý quan sát trả lời câu hỏi - Với số tiền gửi S, sau tháng có tiền lãi 0,015 * S

- Số tiền cộng vào số tiền ban đầu để tính lãi cho tháng - S:= S+ 0,015 * S;

- Phải thực tính 12 lần

- Tập trung theo dõi giáo viên trình bày

3 Thảo luận để viết thuật toán. Bước 1: N 0; S 1/a;

5'

5'

(44)

Hoạt động giáo viên Hoạt động học sinh thờigian

Bước 3:Nếu N>100 chuyển đến B5 Bước 4: S S + 1/(a + N); quay lại B2 Bước 5: Đưa S hình kết thúc

2 Tìm hiểu lệnh lặp For ngơn ngữ Pascal:

a Mục tiêu:

- Học sinh biết cấu trúc chung lệnh FOR Hiểu ý nghĩa thành phần lệnh Biết thực máy gặp FOR Vẽ sơ đồ thực

b Nội dung:

- Dạng tiến: Cấu trúc:

For <biến đếm>:= <Giá trị đầu> to <Giá trị cuối> <lệnh cần lặp> Biến đếm: biến kiểu nguyên, kí tự miền

Giá trị đầu, giá trị cuối biểu thức kiểu với biến đếm Giá trị đầu phải nhỏ giá trị cuối

Sự thực máy:

Bước 1: Tính giá trị đầu, gán cho biến đếm

Bước 2: Nếu biến đếm <= giá trị cuối thực lặp tăng biến đếm lên đơn vị, quay lại Bước Sơ đồ thực hiện:

- Dạng lùi: Cấu trúc:

For <biến đếm>:= <Giá trị cuối> Downto <Giá trị đầu> <lệnh cần lặp> Biến đếm <=Giá trị

cuối Lệnh cần lặp Biến đếm tăng Biến đếm:=Giá trị đầu

Đúng

(45)

Giá trị đầu phải lớn giá trị cuối Sự thực máy:

Bước 1: Tính giá trị đầu, gán cho biến đếm

Bước 2: Nếu biến đếm >= giá trị cuối thực lặp Giảm biến đếm di đơn vị, quay lại Bước Sơ đồ thực hiện:

Sai

Đúng

c Các bước tiến hành:

Hoạt động giáo viên Hoạt động học sinh thờigian

1 Yêu cầu học sinh nghiên cứu SGK và cho biết cấu trúc chung FOR? - Giải thích:

<biến đếm>: biến kiểu nguyên, kí tự - Hỏi: Ý nghĩa <giá trị đầu> <giá trị cuối>, kiểu liệu chúng?

- Hỏi: Trong toán gửi tiết kiệm, <giá trị đầu><giá trị cuối> bao nhiêu?

- Hỏi: Trong tốn tính tổng <giá trị đầu><giá trị cuối> bao nhiêu?

- Dẫn dắt: Những lệnh cần lặp lại ta đặt sau Do

- Hỏi: Khi nhiều lệnh khác cần lặp lại ta viết nào?

- Hỏi: Trong toán tiết kiệm, lệnh

1 Đọc SGK trả lời

For <biến đếm>:= <Giá trị đầu> to <Giá trị cuối> <lệnh cần lặp>

- Biến đếm dùng để làm giới hạn cho biến đếm

- Cùng kiểu với <biến đếm>

- <giá trị đầu> 1, <giá trị cuôi> 12

-<giá trị đầu> 1, <giá trị cuôi> 100

- Phải sử dụng cấu trúc lệnh ghép

- S:= S + 0.015 * S;

15' Biến đếm >=Giá trị

(46)

Hoạt động giáo viên Hoạt động học sinh thờigian

- Hỏi: Trong tốn tính tổng, lệnh cần lặp lại?

- Hỏi: Em có nhận xét giá trị <giá trị đầu> <giá trị cuối>?

- Dẫn dắt: Khi lệnh FOR gọi FOR tiến Ngơng ngữ lập trình Pascal có dạng FOR khác gọi FOR lùi 2 Yêu cầu trình bày cấu trúc FOR lùi.

- Hỏi: So sánh <giá trị đầu> <giá trị cuối> ? - Hỏi: Trong toán trên, dạng FOR phù hợp?

- S:= S + i a

1 ;

- <giá trị đầu> < <giá trị cuối>

2 Nghiên cứu SGK suy nghĩ so sánh với cấu trúc FOR tiến.

For <biến đếm>:= <Giá trị cuối> Downto <Giá trị đầu> <lệnh cần lặp> - <giá trị đầu> > <giá trị cuối>

- Sử dụng dạng FOR tiến phù hợp

10'

TiÕt 13:

3 Tìm hiểu ý nghĩa cấu trúc lặp có số lần chưa xác định:

a Mục tiêu:

- Biết cần thiết phai có cấu truc lặp có số lần chưa xác định lập trình

b Nội dung:

- Bài tốn 1: Viết chương trình tính tổng: S= a

+ 1

a +

1

a + + aN

+ cho

đến N a

1

< 0,0001

- Bài tốn 2: Một người có số tiền S đồng, ông ta gửi tiết kiệm ngân hàng với lãi suất 1,5% tháng Hỏi sau tháng gửi tiết kiệm ơng ta có số tiền lớn S1 đồng?

c Các bước tiến hành:

Hoạt động giáo viên Hoạt động học sinh thờigian

1 Chiếu nội dung toán 1.

- Hỏi: Sự khác toán với

1 Chú ý lắng nghe, quan sát suy nghĩ để trả lời.

- Bài toán trước: cho giới hạn N

(47)

Hoạt động giáo viên Hoạt động học sinh thờigian

bài toán viết tiết trước? - Hỏi: Lặp lần? - Hỏi: Lặp đến nào?

2 Chiếu nội dung toán 2.

- Hỏi: Sự khác toán với toán trước?

- Hỏi: Số lần lặp?

- Hỏi: Lặp đến nào?

3 Kết luận: Qua VD ta thấy có một dạng tốn có lặp lại số lệnh trước số lần lặp Cần có cấu trúc điều khiển lặp lại công việc định thỏa mãn điều kiện

- Bài tốn này: cho giới hạn S - Chưa xác định - Đến điều kiện

N a

1

<0,0001 thỏa mãn

2 Chú ý lắng nghe, quan sát suy nghĩ trả lời.

- Bài toán trước: Biết số tháng, hỏi số tiền

- Bài này: Biết số tiền hỏi số tháng

- Chưa biết trước, số tháng cần tìm

- Đến số tiền thu > S1 đồng 3 Theo dõi ghi nhớ kết luận của giáo viên.

5'

5'

4 Tìm hiểu cấu trúc lệnh lặp While Pascal.

a Mục tiêu:

- Học sinh biết cấu trúc chung lệnh While Hiểu ý nghĩa thành phần lệnh Biết thực máy gặp lệnh While Vẽ sơ đồ thực

b Nội dung:

- Cấu trúc: While <điều kiện> <lệnh cần lặp>; Điều kiện: biểu thức quan hệ biểu thức logic Sự thực máy:

Bước 1: Tình giá trị <điều kiện>

Bước 2: Nếu <điều kiện> có giá trị thì: Thực lệnh cần lặp, quay lại B1 Sơ đồ thực hiện:

Sai

(48)

c Các bước tiến hành:

Hoạt động giáo viên Hoạt động học sinh thờigian

1 Yêu cầu học sinh nghiên cứu SGK và cho biết cấu trúc chung lệnh lặp While.

- Giải thích:

+ <điều kiện>: Là biểu thức quan hệ biểu thức logic, điều kiện để lặp lại

- Hỏi: Trong tốn 1: điều kiện để lặp lại gì?

- Hỏi: Trong toán 2: điều kiện để lặp lại gì?

+ <lệnh cần lặp>: lệnh cần phải lặp lại

- Hỏi: Trong tốn cần lặp gì?

- Hỏi: Một khác lệnh cần lặp FOR While gì?

- Dựa vào cấu trúc chung, cho biết máy thực tính <điều kiện> trước hay thực <lệnh cần lặp> trước? 2 Yêu cầu học sinh lên bảng vẽ sơ đồ cấu trúc.

- Gọi học sinh đáng giá nhận xét

1 Tham khảo SGK trả lời. - Cấu trúc chung:

While <điều kiện> <lệnh cần lặp>

- N a

1

> 0,0001;

- S < S1;

- S:= S+ 0.015 * S, để tính số tiền t:= t+1, để tính số tháng

S:= S + 1/(a+i): để tính tổng, i:= i+1 để tăng số

- While phải có lệnh tăng biến số

-Tính biểu thức điều kiện trước - Thực lệnh cần lặp sau

2 Lên bảng vẽ sơ đồ cấu trúc lệnh While.

20'

10'

TiÕt 14:

5 Rèn luyện kĩ vận dụng lệnh lặp FOR:

a Mục tiêu:

- Sử dụng lệnh lặp FOR để giải toán đơn giản

b Nội dung.

(49)

- VD2: Một người có số tiền S, ơng ta gửi tiết kiệm ngân hàng với lãi suất 1,5% tháng Hỏi sau 12 tháng gửi tiết kiệm, ông ta số tiền bao nhiêu?

c Các bước tiến hành:

Hoạt động giáo viên Hoạt động học sinh thờigian

1 Nêu nội dung toán Mục tiêu là xác định việc cần làm. - Xác định giá trị đầu giá trị cuối

- Xác định lệnh cần lặp lại

- Yêu cầu học sinh hoàn tiếp tục thiện chương trình nhà

2 Nội dung 2, mục tiêu viết được chương trình hồn thiện.

- Định hướng vấn đề chính: Cho học sinh thảo luận gọi lên bảng

1 Chú ý lắng nghe trả lời yêu cầu giáo viên.

- Giá trị đầu 1, giá trị cuối 100 - S= S +

i a

1 ;

2 Chú ý lắng nghe nội dung yêu cầu.

- Nghiên cứu lên bảng trả lời

10'

6 Rèn luyện kĩ vận dụng lệnh lặp While:

a Mục tiêu:

- Học sinh bước đầu biết sử dụng lệnh While để lập trình giải số toán đơn giản

b Nội dung.

- VD 1: Một người có số tiền S đồng, ơng ta gửi tiết kiệm ngân hàng với lãi suất 1,5% tháng Hỏi sau tháng gửi tiết kiệm ông ta có số tiền lớn S1 đồng?

- VD 2: Viết chương trình nhập vào số nguyên dương a b Tìm USCLN a, b

c Các bước tiến hành:

Hoạt động giáo viên Hoạt động học sinh thờigian

1 Nêu nội dung toán Mục tiêu là viết chương trình hồn thiện.

- Định hướng vấn đề + Xác định điều kiện để tiếp tục lặp + Xác định lệnh cần lặp

2 Nêu bà tốn 2:Mục tiêu phân tích để

1 Chú ý lắng nghe suy nghĩ trả lời các câu hỏi định hướng giáo viên. - Điều kiện: S < S1;

- S:= S+ 0,015 * S, để tính số tiền t:= t+1, để tính số tháng

2 Tập trung theo dõi để thấy được 5'

(50)

Hoạt động giáo viên Hoạt động học sinh thờigian

- Lấy VD cụ thể tìm USCLN số 15 25

m n 15 25 15 10 10 - Trả lời: UCLN

- Hỏi: điều kiện để tiếp tục lặp gì? - Các lệnh cần lặp gì?

- u cầu học sinh nêu thuật tốn để tìm USCLN hai số đó?

- u cầu học sinh câu hỏi cần đặt gặp toán dạng này?

- Điều kiện m<>n

- Lệnh cần lặp: m:=m-n; n:=n-m; - Thuật tốn:

B1: Nếu m=n UC=m, dừng

B2: Nếu m>n m:=m-n ngược lại n:=n-m; quay lại B1

- Suy nghĩ trả lời

+ Điều kiện để lặp lại + Những lệnh cần lặp lại IV Đánh giá cuối bài: (3')

1 Những nội dung học.

- Cấu trúc chung lệnh lặp FOR, Sơ đồ thực lệnh lặp FOR - Ý nghĩa cấu trúc lặp có số lần chưa xác định

- Cấu trúc chung lệnh While Pascal - Sơ đồ thực lệnh While

- Sự thực máy gặp lệnh While

2 Câu hỏi tập nhà:

- Giải tập 4, 5.a, 5.b, 6, 7, SGK trang 51

(51)

Ngày soạn

Tiết 15 + 16:

Bµi tËp vµ thùc hµnh 2 A MỤC TIÊU, YÊU CẦU:

1 Kiến thức:

- Nắm cấu trúc sơ đồ thực cấu trúc rẽ nhánh

2 Kĩ năng:

- Rèn luyện kĩ sử dụng cấu trúc rẽ nhánh việc lập trình giải số tốn cụ thể

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

3 Thái độ:

- Tự giác, tích cực chủ động thực hành B PHƯƠNG PHÁP VÀ PHƯƠNG TIỆN:

1 Phương pháp:

Kết hợp phương pháp giảng dạy như: truyền thống, vấn đáp, có hình minh hoạ

2 Phương tiện:

- GV: Chuẩn bị phòng máy thiết bị liên quan - HS: Thực hành nghe giảng máy

C TIẾN TRÌNH LÊN LỚP, NỘI DUNG BÀI GIẢNG: I Ổn định lớp:

Yêu cầu lớp trưởng báo cáo sĩ số II Kiểm tra cũ gợi động học:

- Giới thiệu học

III Bài giảng, nội dung giảng:

TiÕt 15:

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

a Mục tiêu:

- Học sinh hiểu nội dung chương trình kết sau thực chương trình Biết cơng cụ dùng để hiệu chỉnh chương trình cần thiết như: thực bước xem kết trung gian

b Nội dung:

- Ba số nguyên dương a, b, c gọi số Pitago tổng bình phương số bình phương hai số cịn lại

Yêu cầu: Viết chương trình nhập từ bàn phím số nguyên dương a, b, c kiểm tra xem chúng có số Pitago hay khơng?

(52)

Hoạt động giáo viên Hoạt động học sinh thờigian

- GV: Cho lớp lên phòng máy

- GV: Phổ biến nội quy phịng máy, u cầu học sinh phải có trách nhiệm bảo vệ tất trang thiết bị

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

- Yêu cầu : lấy VD cụ thể

- Hỏi: Để kiểm tra số a, b, c có phải Pitago, ta phải kiểm tra đẳng thức nào?

2 Yêu cầu học sinh thực thao tác soạn chương trình, lưu, thực hiện từng lệnh chương trình.

- Yêu cầu học sinh gõ chương trình mẫu vào máy

-Yêu cầu học sinh lưu chương trình lên đĩa với tên Pitago.pas

- Yêu cầu học sinh thực lệnh chương trình

- Yêu cầu học sinh xem kết a2, b2, c2

- Yêu cầu học sinh tự tìm thêm số a b c khác so sánh

- Học sinh lắng nghe thực

1 Chú ý lắng nghe

- Tổng bình phương số bình phương số cịn lại

- VD - a2 = b2 + c2

b2 = a2 + c2 c2 = a2 + b2

2 Soạn chương trình vào máy theo yêu cầu giáo viên.

- Bấm F2, gõ tên Pitago.pas enter

- Bấm F7: Nhập giá trị a=5, b=4, c=3

- Chon menu Debug để mở cửa sổ hiệu chỉnh

- Quan sát trình rẽ nhánh liệu vào trả lời

5'

10'

2 Rèn luyện kĩ lập trình hồn thiện toán:

a Mục tiêu:

- Học sinh biết đọc hiểu đề, phân tích yêu đề Từ chon cấu trúc liệu lệnh phù hợp để lập trình

b Nội dung:

(53)

Hoạt động giáo viên Hoạt động học sinh thờigian

1 Nêu nội dung, mục đích, u cầu của tốn.

- Hỏi: Bước để giải toán? - Hỏi: Để xác định ta phải đặt câu hỏi nào? Gọi học sinh đặt câu hỏi gọi học sinh trả lời cho câu hỏi đó?

- Yêu cầu học sinh phác họa thuật toán 2 Yêu cầu học sinh gõ chương trình vào máy.

- GV tiếp cận học sinh để hướng dẫn sửa sai

3 Yêu cầu học sinh nhập liệu 1, 2, -2

1 Chú ý theo dõi vấn đề đặt của giáo viên.

- Xác định Input output, thuật giải - Mục đích giải phương trình?

+ Kết luận số nghiệm giá trị nghiệm x - Để tính nghiệm x cần đại lượng nào?

+ Cần đại lượng a, b

- Có bước xử lý để tính x?

2 Độc lập soạn chương trình vào máy. - Thơng báo kết viết

3 Nhập liệu theo yêu cầu GV.

5'

10'

5'

IV Đánh giá cuối bài: (8') 1 Nội dung học:

Các bước để hồn thành chương trình:

- Phân tích tốn để xác định liệu vào, ra, thuật tốn - Soạn chương trình vào máy

- Lưu trữ chương trình - Biên dịch

- Thực hiệu chỉnh chương trình 2 Câu hỏi tập nhà:

- Viết chương trình nhập vào độ dài cạnh tam giác tính chu vi, diện tích tam giác

(54)

Program max;

Var a,b,max:integer; Begin

Write(‘Nhập vào số bất kỳ’); Readln (a,b);

Max :=a;

If max<b then max:=a; Writeln (max);

Readln; End

(55)

Ngày soạn:

Tiết 17:

Bµi tËp

Bài 1: Lập trình nhập vào số thực từ bàn phím in tổng bậc số đó. Bài giải:

Program Bai1; Uses CRT;

Var a,b,c,Tong:Real; BEGIN

Clrscr;

Write('Nhap vao gia tri cua so a, b, c: '); Readln(a,b,c);

Tong:=sqrt(a) + sqrt(b) + sqrt(c);

Writeln('Tong can bac cua a, b, c la: ',Tongbp:10:2); Readln;

END

Bài 2: Lập trình nhập vào số thực a tÝnh: S =

1 1

2

a a a

 

In kết S hình

Bài giải: Program Bai2;

Uses CRT; Var a,S:Real; BEGIN

Clrscr;

Write('Nhap vao gia tri cua a: '); Readln(a);

I:=sqrt(1/a+1/(a+1))/(1/(a+2)); Writeln('Tong S can tim la: ',S:10:2); Readln;

(56)

Bài giải: Program Bai3;

Uses CRT; Var x,y,z,S:Real; BEGIN

Clrscr;

Write('Nhap vao gia tri cua so x,y,z: '); Readln(x,y,z);

S:= x*x*x + y*y*y + z*z*z; Writeln('Tong S can tim la: ',S:10:2); Readln;

END

Bài 4: Lập trình nhập vào số nguyên từ bàn phím Tính S = a2 + b2 In hình kết S2 S

Bài giải: Program Bai4;

Uses CRT; Var a,b:Integer; S:Real; BEGIN

Clrscr;

Write('Nhap vao gia tri cua so a,b: '); Readln(a,b);

S:= sqr(a) + sqr(b);

Writeln('Binh phuong cua S la: ',S*S:10:2); Writeln('Can bac cua S la: ',sqrt(S):10:2); Readln;

(57)

Ngày soạn:

Tiết 18:

Bài Kiểm tra tiết I - Mục tiêu đánh giá:

Kiểm tra kiến thức tổ chức rẽ nhánh lặp II - Mục đích yêu cầu ca :

Yêu cầu học sinh:

- Nm đợc lệnh rẽ nhánh lặp

- Lập trình giải số toán rẽ nhánh lặp III - Ma trận đề:

Mức độ cần đạt Cõu hi

Nhận biết Câu

Thông hiểu C©u 2, c©u

VËn dơng C©u

IV - Đề bài:

Cõu 1: Cho A, B, X biến thực Trong số lệnh sau, câu lệnh ? Sai Đúng

1 IF A<B ; THEN X := X+1 ;  

2 IF A<B THEN X := A+B ;  

3 IF A<B THEN X := A ELSE X := B;  

4 IF A<B THEN X := A ; ELSE X := B ; 

Câu 2: Cho đoạn chơng trình sau: Begin

x := a ;

if a < b then x := b ; End

Cho a = 20 ; b = 15 Kết x ? (Đánh dấu vào đáp án đúng)

 10 ;  15 ;  20 ;  25

Cho a = ; b = 10 Kết x ? (Đánh dấu vào đáp án đúng)

 ;  10 ;  15 ;  20

(58)

While i<10 begin

s := s +2; i := i+1; end;

Kết s (Đánh dấu vào đáp án đúng)

 10 ;  14 ;  18 ;  20

(59)

Ngày soạn:

Tiết 19 + 20 + 21 + 22:

Ch ơng IV: kiểu liệu có cấu trúc Đ11: kiểu mảng

A MC CH, YÊU CẦU:

1 Kiến thức:

- Biết kiểu liệu kiểu mảng chiều Biết loại biến có số - Biết cấu trúc tạo kiểu mảng chiều cách khai báo biến kiểu mảng chiều - Biết kiểu liệu kiểu mảng hai chiều

- Biết cách tạo kiểu mảng hai chiều, cách khai báo biến, tham chiếu đến phần tử mảng

2 Kĩ năng:

- Tạo kiểu mảng chiều sử dụng biến mảng chiều Pascal để giải số toán cụ thể

- Tạo kiểu mảng hai chiều khai báo biến mảng hai chiều Pascal Sử dụng biến mảng để giải số toán cụ thể

B PHƯƠNG PHÁP VÀ PHƯƠNG TIỆN:

1 Phương pháp:

Kết hợp phương pháp giảng dạy như: truyền thống, vấn đáp, có hình minh hoạ

2 Phương tiện:

- Vở ghi lý thuyết

- Sách giáo khoa sách giáo viên lớp 11 - Sách tham khảo (nếu có)

C TIẾN TRÌNH LÊN LỚP, NỘI DUNG BÀI GIẢNG: I Ổn định lớp:

Yêu cầu lớp trưởng báo cáo sĩ số II Kiểm tra cũ gợi động học:

- Giới thiệu học

III Bài giảng, nội dung giảng:

TiÕt 19:

1 Tìm hiểu ý nghĩa mảng chiều:

a Mục tiêu:

- Biết ý nghĩa cần thiết kiểu mảng chiều việc giải số toán Biết khái niệm kiểu mảng chiều

(60)

- VD: Nhập vào nhiệt độ(TBình) cảu ngày tuần Tính in hình nhiệt độ trung bình tuần số lượng ngày tuần có nhiệt độ cao nhiệt độ trung bình tính

Chương trình minh họa: Program nhietdo;

Var t1,t2,t3,t4,t5,t6,t7,tb:real; Dem:integer;

Begin

Write(‘Nhập vào nhiệt độ ngày:’); readln(t1,t2,t3,t4,t5,t6,t7); tb:=(t1+t2+t3+t4+t5+t6+t7)/7;

dem:=0;

if t1>tb then dem:=dem+1; if t2>tb then dem:=dem+1; if t3>tb then dem:=dem+1; if t4>tb then dem:=dem+1; if t5>tb then dem:=dem+1; if t6>tb then dem:=dem+1; if t7>tb then dem:=dem+1;

writeln (‘Nhiệt độ trung bình tuần:’, tb);

writeln (‘Số ngày nhiệt đọ cao nhiệt độ trung bình tuần:’, dem); readln;

End

- Mảng chiều dãy hữu hạn phần tử có kiểu liệu Các phần tử mảng có chung tên phân biệt số Để mô tả mảng chiều cần xác định kiểu phần tử cách đánh số phần tử

- Hầu hết ngơn ngữ lập trình có quy tắc cho phép xác định tên kiểu mảng, số lượng phần tử, kiểu liệu phần tử, cách khai báo biến mảng cách tham chiếu đến phần tử mảng

c Các bước tiến hành:

Hoạt động giáo viên Hoạt động học sinh thờigian

1 Chép đề chương trình lên bảng. - Hỏi: Khi N lớn chương trình có hạn chế nào?

- Dẫn dắt: Để khắc phục hạn chế trên, người ta thường ghép chung biến

1 Quan sát suy nghĩ.

- Phải khai báo nhiều biến Chương trình phải viết dài

(61)

Hoạt động giáo viên Hoạt động học sinh thờigian

trên thành dãy đặt cho chung tên đánh cho phần tử số 2 Yêu cầu học sinh tham khảo SGK và hỏi: Em hiểu mảng một chiều?

- Hỏi để mô tả mảng chiều, ta cần xác định yếu tố nào?

2 Nghiên Cứu SGK trả lời.

- Mảng chiều dãy hữu hạn phần tử có kiểu liệu Các phần tử mảng có chung tên phân biệt số

- Để mô tả mảng chiều cần xác định kiểu cảu phần tử cách đánh số phần tử

10'

2 Tạo kiểu mảng chiều khai bao biến mảng:

a Mục tiêu:

- Học sinh biết cách tạo kiểu liệu mảng chiều Pascal, biết cách khai báo biến tham chiếu đến phần tử mảng

b Nội dung:

- Tạo kiểu liệu mảng chiều:

TYPE tên_kiểu_mảng = Array [kiểu_chỉ_số] Of kiểu_thành_phần;

+ Kiểu_chỉ_số: thường đoạn số ngun(hoặc đoạn kí tự) liên tục, có dạng n1 n2 với n2 biểu thức nguyên (hoặc kí tự) xác định số đầu số cuối mảng

+ Kiểu_thành_phần: kiểu liệu chung phần tử mảng - Khai báo biến mảng chiều:

Var tên_biến: tên_kiểu_mảng; - Tham chiếu đến phần tử mảng: Tên_biến [chỉ số]

c Các bước tiến hành:

Hoạt động giáo viên Hoạt động học sinh thờigian

1 Yêu cầu học sinh nghiên cứu SGK và cho biết cách tạo kiểu liệu mảng một chiều Pascal?

- Tìm VD để minh họa

- Gọi học sinh khác, hỏi: Ý nghĩa lệnh bạn vừa viết?

- Viết lên bảng số khai báo kiểu

1 Tham khảo SGK trả lời.

- TYPE tên_kiểu_mảng = Array [kiểu_chỉ_số] Of kiểu_thành_phần;

- VD: Type mmc=array[1 100] of integer; - Tạo kiểu liệu có tên mmc, gồm 100 phần tử, có kiểu nguyên

- Quan sát chon khai báo

(62)

Hoạt động giáo viên Hoạt động học sinh thờigian

mảng chiều: Type

Arrayr = array [1 200] of real; Arrayr = array [byte] of real;

Arrayr = array [-100 0] of boolean; Hỏi: khai báo đúng?

2 Yêu cầu học sinh cho biết cách khai báo biến VD khai báo một mảng ứng với kiểu liệu vừa tạo. - Gọi học sinh khác, hỏi: Ý nghĩa lệnh bạn vừa viết?

- Dung lượng nhớ biến a chiếm bao nhiêu?

- Chú ý cho học sinh cách đặt tên kiểu liệu tên biến, tránh nhầm lẫn

3 Giới thiệu cách tham chiếu đến từng phần tử mảng chiều Yêu cầu học sinh lấy VD.

Arrayr = array [1 200] of real; Arrayr = array [-100 0] of boolean;

2 Tham khảo SGK trả lời. - VAR tên_biến:tên_kiểu mảng; - VD: Var a:mmc;

- Khai báo biến mảng chiều

- a chiếm 200 byte nhớ

3 Theo dõi hướng dẫn giáo viên và suy nghĩ trả lời.

- a[1] phần tử vị trí mảng a - a[i] phần tử vị trí i mảng a

10'

5'

TiÕt 20:

3 Rèn luyện kĩ sử dụng kiểu mảng chiều:

a Mục tiêu:

- Học sinh sử dụng biến kiểu mảng chiều để giải toán đơn giản

b Nội dung:

- Bài toán: Giải toán phần đặt vấn đề phần 1, có sử dụng biến mảng chiều

c Các bước tiến hành:

Hoạt động giáo viên Hoạt động học sinh thờigian

1.Giới thiệu đề bài. - Ghi đề lên bảng

- Yêu cầu học sinh xác định đầu vào, liệu đầu

- Hỏi: Nếu không sử dụng biến mảng chiều, ta giải tốn khơng? Khó khăn khơng?

1 Quan sát đề bài, theo dõi yêu cầu cần giải đề bài.

- Vào số giá trị nhiệt độ ngày tuần

- Ra: số ntb nhiệt độ trung bình tuần số nch số ngày có nhiệt độ cao nhiệt độ trung bình

- Được:

- Chương trình dài dịng, khó sửa chữa

(63)

Hoạt động giáo viên Hoạt động học sinh thờigian

2 Định hướng: Sử dụng kiểu mảng một chiều để giải toán.

- Yêu cầu học sinh khai báo biến mảng - Yêu cầu học sinh tìm nhiệm vụ cần giải

2 Theo dõi hướng dẫn giáo viên.

- Type tuan=array [1 7] of real; Var ndtuan:tuan;

- Nhập giá trị cho mảng a;

- Tính trung bình cộng giá trị mảng

35'

TiÕt 21:

4 Tìm hiểu ý nghĩa kiểu mảng hai chiều:

a Mục tiêu:

- Học sinh biết ý nghĩa cần thiết kiểu mảng hai chiều việc giải số toán

b Nội dung:

- Bài tốn: Viết chương trình để in hình bảng cửu chương có dạng sau:

1

2 10 12 14 16 18

3 12 15 18 21 24 27

4 12 16 20 24 28 32 36

5 10 15 20 25 30 35 40 45

6 12 18 24 30 36 42 48 54

7 14 21 28 35 42 49 56 63

8 16 24 32 40 48 56 64 72

9 18 27 36 45 54 63 72 81

- Khái niệm: Mảng hai chiều bảng phần tử có kiểu liệu

- Hầu hết ngơn ngữ lập trình có quy tắc cho phép xác định tên kiểu mảng hai chiều, số lượng phần tử chiều, kiểu liệu phần tử, cách khai báo biến mảng cách tham chiếu đến phần tử mảng

c Các bước tiến hành:

Hoạt động giáo viên Hoạt động học sinh thờigian

1 Giới thiệu VD SGK Tính và đưa bảng cửu chương hình. - Hỏi: Sử dụng kiến thức mảng

1 Chú ý theo dõi yêu cầu dẫn dắt của giáo viên.

(64)

Hoạt động giáo viên Hoạt động học sinh thờigian

chiều, đưa cách sử dụng kiểu mảng để lưu trữ bảng cửu chương? - Với cách lưu trữ ta phải khai báo biến mảng?

- Có khó khăn gì?

- Để khắc phục khó khăn này, ta xem mảng chiều phần tử, ta ghép mảng chiều thành mảng hai chiều

- Yêu cầu học sinh nhận xét mảng hai chiều

2 Các yếu tố xác định mảng hai chiều. - Hỏi: Để mô tả kiểu mảng hai chiều, ta cần xcs định yếu tố nào?

lưu hàng bảng

- Khai báo biến mảng chiều

- Khai báo nhiều biến, viết chương trình nhập xuất liệu dài

- Nếu xem hàng mảng hai chiều phần tử ta nói mảng hai chiều mảng chiều mà phần tử mảng chiều

2 Các yếu tố để xây dựng mảng hai chiều.

- Tên kiểu mảng

- Số phần tử dòng, số phần tử cột

- Kiểu liệu chung phần tử

10'

5 Tìm hiểu kiểu mảng hai chiều:

a Mục tiêu:

- Học sinh biết cách tạo kiểu liệu mảng hai chiều, biết khai báo biến mảng Pascal, biết tham chiếu đến phần tử mảng

b Nội dung:

- Tạo kiểu liệu mảng hai chiều:

TYPE tên_kiểu_mảng= Array [chỉ_số_dòng, chỉ_số_cột] OF kiểu_thành_phần; - Khai báo biến mảng hai chiều:

VAR tên_biến: tên_kiểu_mảng; - Tham chiếu đến phần tử:

Tên_biến [chỉ_số_dòng, chỉ_số_cột]

c Các bước tiến hành:

Hoạt động giáo viên Hoạt động học sinh thờigian

(65)

Hoạt động giáo viên Hoạt động học sinh thờigian

hai chiều.

- Yêu cầu học sinh tìm VD minh họa

- Gọi học sinh khác, hỏi: Ý nghĩa lệnh mà bạn vừa viết?

2 Yêu cầu học sinh cho biết cách khai báo biến VD khai báo biến mảng hai chiều ứng với kiểu liệu vừa tạo.

3 Giới thiệu cách tham chiếu đến từng phần tử mảng chiều Yêu cầu học sinh lấy VD.

kiểu_thành_phần;

- VD: Type mhc=array [1 10,1 5] of integer;

- Lệnh dùng để tạo kiểu mảng hai chiều có tên mhc gồm 10 dịng cột, phần tử có kiểu liệu integer

2 Tham khảo SGK trả lời. - VAR tên_biến: tên_kmhc; - VD: Var a:mhc;

3 Quan sát cấu trúc chung suy nghĩ tìm VD.

- a[1,2] phần tử dòng số 1, cột mảng a

- a[i,j] phần tử dòng số i, cột j mảng a

15'

5'

TiÕt 22:

6 Rèn luyện kĩ sử dụng kiểu mảng hai chiều:

a Mục tiêu:

- Học sinh sử dụng biến kiểu mảng hai chiều để giải toán đơn giản

b Nội dung.

- Giải toán đặt vấn đề hoạt động

c Các bước tiến hành:

Hoạt động giáo viên Hoạt động học sinh thờigian

1 Giới thiệu đề bài. - Viết đề lên bảng

- Yêu cầu học sinh xác định cách thức tổ chức liệu

- Yêu cầu học sinh nhiệm vụ toán cần giải

2 Yêu cầu học sinh viết chương trình. 3 Yêu cầu học sinh xem VD2 SGK trang 62

1 Quan sát đề bài, theo dõi yêu cầu cần giải cùa đề bài.

- Dùng mảng hai chiều

- Điền giá trị cho a[i,j] = i*j;

- Xuất giá trị a[i,j] theo dòng 2 Thảo luận viết chương trình. 3 Quan sát chương trình nghe giải thích giáo viên.

10'

(66)

Hoạt động giáo viên Hoạt động học sinh thờigian

IV Đánh giá cuối bài: (5') 1 Những nội dung học:

- Cách tạo kiểu mảng chiều cách khai báo biến

TYPE tên_kiểu_mảng = Array [kiểu_chỉ_số] Of kiểu_thành_phần; VAR tên_biến:tên_kiểu mảng;

- Tham chiếu đến phần tử mảng: Tên_biến [chỉ số]

- Tạo kiểu liệu mảng hai chiều:

TYPE tên_kiểu_mảng= Array [chỉ_số_dòng, chỉ_số_cột] OF kiểu_thành_phần; - Khai báo biến mảng hai chiều: VAR tên_biến: tên_kiểu_mảng;

- Tham chiếu đến phần tử: Tên_biến [chỉ_số_dòng, chỉ_số_cột] 2 Câu hỏi tập nhà:

- Viết chương trình nhập vào mảng gồm n số nguyên (1<=n<=100), số có giá trị tuyệt đối khơng q 300 Tính tổng giá trị phần tử có giá trị chia hết cho k

- Trả lời câu hỏi - 4, làm tập 5,6,7 SGK trang 79 - Làm tập số 8, SGK trang 79, 80

(67)

Ngày soạn:

Tiết 23 + 24:

Bµi tËp vµ thùc hµnh 3 A MỤC TIÊU, YÊU CẦU:

1 Kiến thức:

- Củng cố lại kiến thức kiểu liệu mảng

2 Kĩ năng:

- Nâng cao kĩ sử dụng số lệnh kiểu liệu mảng chiều lập trình, cụ thể

+ Khai báo kiểu liệu mảng chiều + Nhập/ xuất liệu cho mảng

+ Duyệt qua tất phần tử mảng để xử lý phần tử - Biết giải số toán thường gặp:

+ Tính tổng phần tử thỏa mãn điều kiện + Đếm số phần tử thỏa mãn điều kiện + Tìm phần tử lớn nhất, nhỏ

3 Thái độ:

- Góp phần rèn luyện tác phong, tư lập trình: tự giác, tích cực, chủ động sáng tạo tìm kiếm kiến thức

B PHƯƠNG PHÁP VÀ PHƯƠNG TIỆN: 1 Phương pháp:

Kết hợp phương pháp giảng dạy như: truyền thống, vấn đáp, có hình minh hoạ

2 Phương tiện:

- GV: Chuẩn bị phòng máy thiết bị liên quan - HS: Thực hành nghe giảng máy

C TIẾN TRÌNH LÊN LỚP, NỘI DUNG BÀI GIẢNG: I Ổn định lớp:

Yêu cầu lớp trưởng báo cáo sĩ số II Kiểm tra cũ gợi động học:

- Giới thiệu học

III Bài giảng, nội dung giảng:

TiÕt 23:

1 Tìm hiểu cách sử dụng lệnh kiểu liệu mảng chiều qua chương trình có sẵn.

a Mục tiêu:

- Học sinh hiểu chương trình có sẵn câu a, biết kết chạy chương trình này, từ tìm cách giải câu b

b Nội dung:

(68)

 Thêm lệnh vào chương trình nằm sửa đổi chương trình câu a để

chương trình thực đếm số lượng số dương số âm mảng SGK trang 64

c Các bước tiến hành:

Hoạt động giáo viên Hoạt động học sinh thờigian

1 Tìm hiểu chương trình câu a SGK trang 63 chạy thử chương trình. - Hỏi: Khai báo Uses crt; có ý nghĩa gì? - Hỏi: Myarray tên kiểu liệu hay tên biến? - Hỏi: Vai trò nmax n có khác nhau?

- Hỏi: Những dòng lệnh dùng để tạo biến mảng a?

- Thực chương trình để học sinh thấy kết

- Hỏi: Lệnh gán a[i]:=random(300) – random(300) có ý nghĩa gì?

- Hỏi: Lệnh For i:=1 to n write(A[i]:5); có nghĩa gì?

- Hỏi: Lệnh For – Do cuối thực nhiệm vụ gì?

- Hỏi: Lệnh s:=s+ a[i]; thực lần?

2 Sửa chương trình câu a để được chương trình giải tốn câu b. - Viết lệnh cần thêm vào lên bảng

- Hỏi: ý nghĩa biến Posi neg? - Hỏi: Các chức lệnh: If a[i] > then posi:= posi+1 Else if a[i] < then neg:=neg+1;

- Yêu cầu học sinh gõ thêm vào chạy thử chương trình

1 Gõ vào máy chạy thử. - Để sử dụng thủ tục Clrscr; - Tên kiểu liệu

- nmax số phần tử tối đa chứa biến mảng a, n số phần tử thực tế a

- Lệnh khai báo khai báo biến

- Chạy chương trình xem kết

- Lệnh sinh ngẫu nhiên giá trị cho mảng a từ -299 đến 299

- In hình giá trị phần tử mảng a

- Cộng phần tử chia hết cho k

- Bằng số phần tử a[i] chia hết cho k

2 Quan sát ý theo dõi câu hỏi giáo viên:

- Quan sát lệnh suy nghĩ vị trí cần sửa chương trình câu a

- Dùng để lưu số lượng đếm - Đếm số dương số âm

- Thêm đoạn chương trình vào chạy thử

25'

20'

TiÕt 24:

2 Rèn luyện kĩ lập trình:

(69)

- Viết chương trình hồn thiện cách sử dụng lệnh kiểu liệu mảng chiều

b Nội dung:

- Viết chương trình tìm phần tử có giá trị lớn mảng in hình số giá trị phần tử tìm Nếu có nhiều phần tử có giá trị lớn đưa phần tử có số nhỏ

c Các bước tiến hành:

Hoạt động giáo viên Hoạt động học sinh thờigian

1 Lấy VD thực tế: Người mù tìm viên sỏi có kích thước lớn dãy viên sỏi để gợi ý cho học sinh thuật tốn tìm giá trị lớn

- u cầu: nêu thuật tốn tìm phần tử có giá trị lớn

2 Tìm hiểu chương trình tìm số và giá trị lớn nhất.

- Yêu cầu học sinh tìm hiểu VD2 SGK trang 64

- Hỏi: Vai trò biến j chương trình?

- Hỏi: Nếu muốn tim phần tử nhỏ nhất, cần sửa chỗ nào?

3 Yêu cầu học sinh chỉnh sửa viết chương trình vào máy để chạy thử

1 Theo dõi VD giáo viên.

- So sánh tửtái sang phải, giữ lại số phần tử lớn

2 Quan sát chương trình, suy nghĩ và trả lời.

- Giữ lại số phần tử có giá trị lớn

- Phép so sánh a[i]<a[j];

3 Thực yêu cầu giáo viên.

15'

10'

15'

IV Đánh giá cuối bài: (5') 1 Những nội dung học:

- Một số thuật toán bản:

+ Tính tổng phần tử thỏa mãn điều kiện + Đếm số phần tử thỏa mãn điều kiện + Tìm phần tử lớn nhất, nhỏ

2 Câu hỏi tập nhà:

- Viết chương trình nhập mảng chiều A[1 20] nhập số x Đếm số lượng số A có giá trị x

(70)

Ngày soạn

Tiết 25 + 26:

Bµi tËp vµ thùc hµnh 4 A MỤC TIÊU, YÊU CẦU:

1 Kiến thức:

- Củng cố lại kiến thức lập trình với kiểu liệu mảng - Làm quen với thuật toán xếp đơn giản

2 Kĩ năng:

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

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

3 Thái độ:

- Tự giác, chủ động thực hành B PHƯƠNG PHÁP VÀ PHƯƠNG TIỆN: 1 Phương pháp:

Kết hợp phương pháp giảng dạy như: truyền thống, vấn đáp, có hình minh hoạ

2 Phương tiện:

- GV: Chuẩn bị phòng máy thiết bị liên quan - HS: Thực hành nghe giảng máy

C TIẾN TRÌNH LÊN LỚP, NỘI DUNG BÀI GIẢNG: I Ổn định lớp:

Yêu cầu lớp trưởng báo cáo sĩ số II Kiểm tra cũ gợi động học:

- Giới thiệu học

III Bài giảng, nội dung giảng:

TiÕt 25:

1 Tìm hiểu chương trình diễn đạt thuật toán xếp.

a Mục tiêu:

- Học sinh hiểu chương trình thuật tốn xếp đơn giản

(71)

Chương trình minh họa: Program Sapxep;

Uses crt;

Const nmax=250;

Type arrint=array[1 nmax] of integer; Var i,n,j,t:integer;

a:arrint; Begin

Clrscr; Randomize;

Write(‘Nhập n=’); readln(n); For i:=1 to n

a[i]:=random(300)-random(300); For i:=1 to n

Write (a[i]:5); Writeln ;

For j:=n downto For i:=1 to j -1

If a[i] > a[i + 1] then Begin

t:=a[i]; a[i]:=a[i + 1]; a[i + 1]:=t;

End;

Writeln(‘Dãy số sau xếp:’); For i:=1 to n

Write(a[i]:7); Writeln ; Readln;

End

- Yêu cầu: Soạn chương trình vào máy, chạy thử với giá trị khác n Rút nhận xét thời gian thực chương trình

(72)

Hoạt động giáo viên Hoạt động học sinh thờigian

1 Gợi ý cho học sinh thuật toán sắp xếp tăng dần.

- Lấy VD thực tiễn: Người mù xếp dãy viên bi theo kích thước khơng giảm

- Yêu cầu: Vạch bước để xếp phần tử cảu mảng không giảm

2 Tìm hiểu VD SGK trang 65. - Viết chương trình lên bảng

- Hỏi: Vai trò biến i, j chương trình? Mỗi vịng lặp For đoạn chương trình xếp có ý nghĩa gì? - Hỏi: Ba lệnh t:=a[i]; a[i]:=a[i+1]; a[i+1]:=t; có ý nghĩa gì?

- Thực chương trình, nhập liệu để học sinh thấy kết chương trình - Hỏi: Chương trình làm cơng việc gì?

3 Sửa chương trình để giải bài toán câu b.

- Đặt yêu cầu mới: Khai báo thêm biến đếm nguyên Dem bổ sung vào chương trình đoạn lệnh cần thếit để biến Dem tính số lần thực tráo đổi thuật tốn In kết tìm hình

- Hỏi: Đoạn chương trình dùng để thực tráo đổi giá trị?

- Yêu cầu học sinh viết lệnh để đếm số lần tráo đổi?

- Hỏi: Lệnh viết vị trí chương trình?

- u cầu học sinh soạn chương trình vào máy

1 Chú ý theo dõi dẫn dắt của giáo viên để trả lời câu hỏi.

- Lần lượt lấy phần tử từ trái sang phải

- Cứ phần tử ta đem so sánh với phần tử đứng bên phải - Nếu nhỏ đổi chỗ

2 Quan sát chương trình, suy nghĩ câu hỏi trả lời.

- Biến i, j dùng để làm số

- Mỗi vòng lặp For ứng với phép duyệt

- Dùng để đổi giá trị hai phần tử a[i] với a[i+1];

- Chương trình xếp dãy số theo thứ tự không giảm

3 Quan sát yêu cầu mới, ý định hướng giải giáo viên.

- t:=a[i]; a[i]:=a[i+1]; a[i+1]:=t;

- Dem:=Dem+1;

-Ngay sau đoạn lệnh tráo đổi

- Soạn chương trình vào máy, thực chương trình xem kết

10'

20'

15'

TiÕt 26:

(73)

a Mục tiêu:

- Học sinh biết sử dụng kiểu mảng để lập trình giải tốn Biết nhận xét, phân tích đề xuất phương pháp giải hay

b Nội dung:

Cho mảng A gồm n phần tử Viết chương trình tạo mảng B[1 n], B[i] tổng giá trị i phần tử mảng A

Chương trình minh họa: Program tinh;

Uses crt;

Const nmax=250;

Type myarray=array[1 nmax] of integer; Var i,n,j:integer;

a,b: myarray; Begin

Clrscr; Randomize;

Write(‘Nhập n=’); readln(n); For i:=1 to n

a[i]:=random(300)-random(300); For i:=1 to n

Write (a[i]:5); Writeln ;

For i:=1 to n Begin

b[i]:=0;

For j:=1 to i b[i]:=b[i] + a[i];

End;

For i:=1 to n Write(a[i]:7); Writeln ; Readln;

End

(74)

Hoạt động giáo viên Hoạt động học sinh thờigian

1 Xác định toán. Viết đề lên bảng

- Yêu cầu: xác định liệu vào, liệu ra?

- Gợi ý để học sinh đề xuất thuật tốn thơ

2 Giới thiệu chương trình chưa cải tiến. - Viết chương trình diễn đạt thuật tốn lên bảng

- Thực chương trình để học sinh biết thời gian thực kết chương trình

- Hỏi: Trong chương trình phải thực phép cộng?

- Hỏi: Có cách để cải tiến?

- Lệnh thay lệnh chương trình? Viết vị trí nào?

3 u cầu học sinh viết chương trình hồn chỉnh.

- Cùng tốn, có nhiều cách giải khác Người lập trình cần chọn cách cho máy thực nhanh

1 Quan sát đề trả lời câu hỏi. - Vào : mảng A gồm n phần tử

- Ra : mảng B gồm n phần tử

- Tại vị trí i ta tính tổng giá trị phần tử từ đến i

2 Quan sát chương trình bảng.

- Quan sát giáo viên thực hiện, nhận xét thời gian thực chương trình

- Phải thực n(n+1)/2 phép cộng

- Để tính bước thứ i,ta sử dụng kết tính bước thứ i-1

b[i]:= b[i-1] + a[i]; - Thay đoạn lệnh: For j:=1 to i b[i]:=b[i] + a[i];

3 Soạn chương trình vào máy, thực hiện chương trình thơng báo kết quả.

- Nhận xét thời gian thực chương trình so với chương trình trước cải tiến

5'

15'

20'

IV Đánh giá cuối bài: (5')

1. Những nội dung học:

- Thuật toán xếp đơn giản

- Một toán có nhiều cách viết thành chương trình Cần chon cách số phép tính

2 Câu hỏi tập nhà:

(75)

Ngày soạn

Tiết 27 + 28:

Đ12: kiểu xâu A MC TIấU, YấU CU:

1 Kiến thức:

- Biết kiểu liệu mới, biết khái niệm kiểu xâu

- Phân biệt giống khác kiểu mảng kí tự với xâu kí tự

- Biết cách khai báo biến, nhập xuất liệu, tham chiếu đến kí tự xâu - Biết phép toán liên quan đến xâu

- Biết lợi ích hàm thủ tục liên quan đến xâu Pascal

- Nắm cấu trúc chung chức số hàm thủ tục liên quan đến xâu

2 Kĩ năng:

- Khai báo biến kiểu xâu Pascal Sử dụng biến xâu phép toán xâu để giải toán đơn giản

- Nhận biết bước đầu sử dụng số hàm thủ tục để giải số tập đơn giản

B PHƯƠNG PHÁP VÀ PHƯƠNG TIỆN: 1 Phương pháp:

Kết hợp phương pháp giảng dạy như: truyền thống, vấn đáp, có hình minh hoạ

2 Phương tiện:

- Vở ghi lý thuyết

- Sách giáo khoa sách giáo viên lớp 11 - Sách tham khảo (nếu có)

C TIẾN TRÌNH LÊN LỚP, NỘI DUNG BÀI GIẢNG: I Ổn định lớp:

Yêu cầu lớp trưởng báo cáo sĩ số II Kiểm tra cũ gợi động học:

- Giới thiệu học

III Bài giảng, nội dung giảng:

TiÕt 27:

1 Tìm hiểu xâu cách sử dụng.

a Mục tiêu:

(76)

b Nội dung:

- Xâu kí tự dãy kí tự bảng mã ASCII, kí tự gọi phần tử xâu Số lượng kí tự xâu gọi độ dài xâu Xâu có độ dài khơng xâu rỗng

- Khai báo biến:

VAR tên_biến: STRING [độ dài lớn xâu]; - Tham chiếu đến kí tự xâu:

Tên_biến [chỉ _số];

c Các bước tiến hành:

Hoạt động giáo viên Hoạt động học sinh thờigian

1 Tìm hiểu ý nghĩa xâu kí tự.

- Viết đề tốn đặt vấn đề: Viết chương trình nhập họ tên 30 học sinh lớp

- Hỏi: Ta chọn kiểu liệu nào? Khai báo biến nào?

- Yêu cầu học sinh: Viết đoạn lệnh để nhập xuất liệu cho phần tử? - Hỏi: Có khó khăn gặp phải?

- Dẫn dắt: Cần phải có kiểu liệu cho phép ta nhập/ xuất liệu cho xâu lệnh

2 Tìm hiểu kiểu xâu.

- Viết cách khai báo biến xâu Pascal

- Hỏi: Ý nghĩa từ STRING, [n]

- Hỏi: Khi khai báo khơng có [n] số lượng kí tự tối đa bao nhiêu?

- Yêu cầu học sinh cho VD xâu kí tự - Hỏi: xâu có kí tự?

- Diễn giải: Mỗi kí tự goi phần tử xâu Số lượng kí tự xâu gọi độ dài xâu

- Hỏi: Xâu gồm kí tự trống viết nào? Số lượng kí tự bao nhiêu?

- Hỏi: Xâu rỗng viết nào? Số lượng kí tự bao nhiêu?

1 Quan sát suy nghĩ trả lời.

- Kiểu mảng chiều gồm 30 kí tự - Khai báo biến mảng A để lưu họ tên học sinh

- Readln(A[1]); Readln(A[2]); Readln(A[3]); Readln(A[4]);

- Chương trình viết dài dịng Khi nhập liệu, phải thực gõ nhiều phím

2 Quan sát cấu trúc khai báo tham khảo SGK.

- String tên kiểu xâu

- [n] giá trị quy định số lượng kí tự tối đa mà biến xâu chứa

- Số kí tự tối đa 255 - VD: ‘Hưng Đạo’

- Xâu có kí tự, dấu cách trống kí tự

- Kí hiệu xâu gồm kí tự trống là: ‘’ Xâu có độ dài

- Kí hiệu xâu rỗng là: ‘ ‘ Xâu có độ dài

5'

(77)

Hoạt động giáo viên Hoạt động học sinh thờigian

3 Nhập / xuất liệu cho biến xâu. - Giới thiệu cấu trúc chung thủ tục nhập/ xuất liệu

- Yêu cầu học sinh tìm VD cụ thể

- Hỏi: viết nhập/xuất liệu cho biến xâu có khác so với biến mảng kí tự?

- Dẫn dắt: Ta sử dụng lệnh gán để nhập giá trị cho biến xâu Cấu trúc chung: Tên_biến_xâu:=hằng_xâu;

- Yêu cầu học sinh tìm VD cụ thể 4 Tham chiếu đến kí tự xâu. - Giới thiệu cấu trúc chung

- Hỏi: Có giống khác so với cách tham chiếu đến phần tử mảng?

- Yêu cầu học sinh lấy VD 5 Kiểm tra kiến thức.

- Viết nội dung tập kiểm tra lên bảng Var st:string[1];

c:char; Begin

c:=st[1]; { } c:=st; { } End

Hỏi: Trong hai lệnh lệnh đúng?

3 Quan sát bảng để trả lời. - VD: Readln(hoten);

- VD Write(‘Ho ten’, hoten);

- Viết lệnh nhập nguyên cho xâu Viết lệnh gọn hơn, chương trình gọn

- VD: St:=’Hưng Đạo’

4 Chú ý lắng nghe trả lời.

- Giống cấu trúc chung tham chiếu tên biến[chỉ số]

- VD: St [2];

5 Quan sát chương trình bảng và trả lời.

- Lệnh

- Lệnh sai: khơng thể gán xâu cho kí tự

5'

5'

5'

2 Tìm hiểu phép toán liên quan đến xâu.

a Mục tiêu:

- Học sinh biết phép toán liên quan đến xâu Diễn đạt phép tốn Pascal

b Nội dung:

- Phép ghép xâu: kí hiệu +, sử dụng để ghép nhiều xâu thành xâu - Các phép so sánh: =, <>, >, <, <=, >= ; thực việc so sánh xâu Xâu A xem lớn xâu B kí tự khác chúng kể từ trái sang xâu A có số bảng mã ASCII lớn Nếu A B xâu có độ dài khác A đoạn dầu B A nhỏ B

(78)

Hoạt động giáo viên Hoạt động học sinh thờigian

1 Gợi nhớ phép toán học. - Hỏi: Hãy nhắc lại phép toán học kiểu liệu chuẩn

2 Tìm hiểu chức số phép toán kiểu xâu qua số VD. - Viết VD lên bảng

Var st:string; Begin

St:=’Hưng’ + ‘Đạo’; Write(st);

Readln; End

- Hỏi: Kết in hình gì? - Yêu cầu học sinh tìm VD khác

- Hỏi: Phép cộng có chức gì?

- Cho xâu st:=’Ha’ +’Noi’

st:=’Ha ’ + ‘Noi’ Kết gì? - Viết chương trình VD phép so sánh xâu

Var bo: Boolean; Begin

bo:=’AB’ < ‘AC’; write (bo);

readln; End

- Hỏi Kết chương trình này? - Hỏi: Cịn có phép so sánh nữa? - Cho VD khác phép so sánh yêu cầu học sinh cho biết kết phép so sánh đó?

‘AB’ < ‘ABC’ ‘AC’ < ‘ABC’

1 Chú ý theo dõi, suy nghĩ trả lời. - Phép toán số học

- Phép toán so sánh - Phép toán logic

2 Quan sát VD suy nghĩ trả lời. Quan sát chương trình

- Kết cho ta: st= ‘Hưng Đạo’ - VD st:= ‘Trần’ + ‘Hưng Đạo’ Kq: st=’Trần Hưng Đạo’

- Là phép toán nối xâu thứ hai vào cuối xâu thứ

- Kq là: st=’HaNoi’ st= ‘Ha Noi’

- Quan sát chương trình để tính kết

- Kết là: True

- Phép: <, >, <=, >=, <>, =

- Kquả: True - Kquả: False

5'

10'

(79)

a Mục tiêu:

- Học sinh biết số hàm thủ tục liên quan đến xâu Nắm cấu trúc chung, hiểu tham số hàm thủ tục

- Biết chức hàm thủ tục chuẩn

b Nội dung:

- Thủ tục Delete(st,vt,n) thực việc xóa xâu st gồm n kí tự, vị trí vt - Thủ tục Insert(st1,st2,vt) thực việc chèn xâu st1 vào xâu st2 vị trí vt - Hàm Copy(st,vt,n) cho giá trị xâu kí tự lấy xâu st gồm n kí tự liên tiếp vị trí vt xâu st

- Hàm Length(st) cho giá trị số lượng kí tự xâu st

- Hàm Pos(st1,st2) cho giá trị vị trí xuất xâu st1 xâu st2 - Hàm UpCase(ch) cho giá trị kí tự hoa tương ứng với kí tự ch

c Các bước tiến hành:

Hoạt động giáo viên Hoạt động học sinh thờigian

1 Giới thiệu cấu trúc chung hàm Length(st) lên bảng.

- Hỏi: Ý nghĩa Length st? - Cho VD chương trình:

Var st:string; Begin

St:=’Ha Noi’; Write(length(st)); Readln;

End

Hỏi: Kết chương trình in hình?

- Hỏi chức hàm Length gì? 2 Giới thiệu cấu trúc chung hàm UpCase(ch).

- Cho VD chương trình: Var ch:char;

Begin ch:=’h’;

write(upcase(ch)); readln;

End

- Hỏi: kết c.trình in hình? - Hỏi chức hàm UpCase(ch)? 3 Giới thiệu cấu trúc chung hàm Pos(st1,st2)

-Cho đoạn chương trình:

Quan sát cấu trúc chung

- Length: tên hàm, có nghĩa độ dài, st: biểu thữcâu kí tự

- Quan sát chương trình để tính kết

- Kết là:

- Hàm cho số lượng kí tự xâu st

2 Quan sát cấu trúc chung hàm UpCase.

- Quan sát chương trình trả lời

- Kết là: H

- Cho giá trị chữ in hoa ch

3 Quan sát cấu trúc chung hàm Pos(st1,st2)

7'

7'

(80)

Hoạt động giáo viên Hoạt động học sinh thờigian

Var vt:byte; Begin

Vt:=Pos(‘cd’, ‘abcdefcd’); Write(vt);

Readln; End

- Hỏi: Kết chương trình? - Hỏi: chức hàm Pos()?

- Thay tham số hàm Pos chương trình Pos(‘k’, ‘abc’) Hỏi kết bao nhiêu?

- Viết chương trình nhập vào xâu st Xét xem xâu có dấu cách trống khơng?

- Hỏi có cách giải khác?

4 Giới thiệu cấu trúc chung hàm Copy(st,vt,n).

Cho đoạn chương trình: Var st:string;

Begin

st:=copy (‘bai tap’, 3,4); Write (st);

Readln; End

- Hỏi: Kết chương trình? - Hỏi chức hàm Copy()?

- Một số VD: Copy(‘abc’,1,5) Copy(‘abc’, 5,2); Copy(‘abc’,1,0); Gọi học sinh trả lời

5 Giới thiệu cấu trúc chung thủ tục Delete(st,vt,n).

Cho đoạn chương trình:

- Quan sát chương trình trả lời câu hỏi

-Kết là:

- Hàm cho giá trị số nguyên vị trí xâu st1 xâu st2

- Kết - Chương trình: Var st:string; Begin

Readln(st);

If pos(‘ ‘, st)<> then Write(‘có’)

Else

Write(‘khơng’); Readln;

End

- Có thể sử dụng For để tìm dấu cách xâu

4 Quan sát cấu trúc chung hàm Copy.

- Quan sát chương trình trả lời

- Kết là: i ta

- Hàm cho giá trị xâu kí tự lấy xâu st, gồm n kí tự vị trí vt

- Trả lời

Cho gí trị abc Cho giá trị xâu rỗng Cho giá trị xâu rỗng

5 Quan sát cấu trúc chung thủ tục Delete.

7'

(81)

Hoạt động giáo viên Hoạt động học sinh thờigian Begin st:=’HaNoi’; delete(st,3,2); write(st); readln; End

- Hỏi: Kết qủa chương trình? - Hỏi: chức thủ tục Delete?

- Một số VD;

st:=’abc’ delete(st,1,5) st:=’abc’ delete(st,5,2) st:=’abc’ delete(st,1,0)

- Viết chương trình nhập xâu xóa dấu cách trống đầu xâu

6 Giới thiệu cấu trúc chung thủ tục Insert(st1,st2,vt).

Cho đoạn chương trình: Var st1,st2:string; Begin st1:=’HaNoi’; st2:=’’; Insert(st1,st2,3); Write(st); Readln; End

-Hỏi: Kết chương trình? - Hỏi: Chức thủ tục Insert? - Một số VD

st1:=’abc’; st2:=’ef’ Insert(st1,st2,5); st1:=’abc’; st2:=’ef’ Insert(st1,st2,0);

- Kết là: Hai

- Thủ tục delete thực việc xóa biến xâu st gồm n kí tự, vị trí vt

- Trả lời Xâu rỗng ‘abc’ ‘abc’ Var st:string; Begin Readln(st); While st[1]=’ ‘ Delete(st,1,1); Write(st);

Readln; End

6 Quan sát cấu trúc chung thủ tục Insert.

- Quan sát chương trình

- Kết là: ‘Ha Noi’

- Thủ tục thực việc chèn xâu st1 vào xâu st2 bắt đầu vị trí vt

- Trả lời: st2:= ‘efabc’ st2:=’abcef’

7'

IV Đánh giá cuối bài: (3') 1 Những nội dung học:

(82)

- Thủ tục Insert(st1,st2,vt) - Hàm Copy(st,vt,n); - Hàm Length(st); - Hàm Pos(st1,st2); - Hàm UpCase(ch); 2 Câu hỏi tập nhà:

- Giải tập số 10 trang 80

- Viết chương trình nhập vào xâu In hình số từ có câu - Xem phần nội dung thực hành số SGK trang 73

(83)

Ngày soạn:

Tiết 29 + 30:

Bµi tËp vµ thùc hµnh 5 A MỤC TIÊU, YÊU CẦU:

1 Kiến thức:

- Khắc sâu hêm phần kiến thức lý thuyết kiểu xâu kí tự, đặc biệt hàm thủ tục liên quan

- Nắm số thuật toán bải: tạo xâu mới, đếm số lần xuất kí tự

2 Kĩ năng:

- Khai báo biến kiểu xâu

- Nhập/ xuất giá trị cho biến xâu - Duyệt qua tất kí tự xâu

- Sử dụng hàm thủ tục chuẩn

3 Thái độ:

- Tự giác, chủ động thực hành B PHƯƠNG PHÁP VÀ PHƯƠNG TIỆN: 1 Phương pháp:

Kết hợp phương pháp giảng dạy như: truyền thống, vấn đáp, có hình minh hoạ

2 Phương tiện:

- GV: Chuẩn bị phòng máy thiết bị liên quan - HS: Thực hành nghe giảng máy

C TIẾN TRÌNH LÊN LỚP, NỘI DUNG BÀI GIẢNG: I Ổn định lớp:

Yêu cầu lớp trưởng báo cáo sĩ số II Kiểm tra cũ gợi động học:

- Giới thiệu học

III Bài giảng, nội dung giảng:

TiÕt 29:

1 Tìm hiểu chương trình, đề xuất phương án cải tiến.

a Mục tiêu:

- Hiểu chương trình, tính kết chương trình

b Nội dung:

(84)

Chương trình:

Var i,x:byte; a,p:string; Begin

Write(‘Nhập vào xâu’); Readln(a); X:=length(a); P:=’’;

For i:=x downto p:=p+ a[i]; If a=p then Write(‘Xâu Palidrom’) Else Write(‘Không phải Palidrom’); Readln;

End

c Các bước tiến hành:

Hoạt động giáo viên Hoạt động học sinh thờigian

1 Tìm hiểu đề bài

- Giới thiệu nội dung đề lên bảng - Diễn giải: Một xâu gọi Palidrom ta đọc kí tự từ phải sang trái giống đọc từ trái sang phải

- Yêu cầu học sinh lấy VD xâu Palidrom xâu xâu Palidrom

2 Tìm hiểu chương trình gợi ý. - Viết chương trình lên bảng

- Hỏi: Chương trình có chức gì? Kết in nào?

3 Cải tiến chương trình.

- Nêu u cầu mới: Viết lại chương trình mà khơng sử dụng biến trung gian p - Yêu cầu: nhận xét cặp vị trí đối xứng xâu Palidrom

- Hỏi: kí tự thứ i đối xứng với kí tự vị trí nào?

- Hỏi: Cần phải so sánh cặp kí tự xâu để biết xâu Palidrom?

- Hỏi: Dùng cấu trúc lặp để so sánh? - Yêu cầu học sinh viết chương trình vào máy nhập liệu cụ thể

1 Quan sát, đọc kĩ đề.

- Phải: 12321 abccba - Không phải: abcdea

2 Quan sát chương trình, suy nghĩ, phân tích để hiểu chương trình.

- Kiểm tra xâu có phải Palidrom hay không?

- In ‘xâu Palidrom’ ‘khong Palidrom’

3 Chú ý theo dõi yêu cầu giáo viên trả lời số câu hỏi.

- Các kí tự vị trí giống

- Kí tự thứ i đối xứng với kí tự thứ length()- i+1;

- So sánh tối đa length() div

- Có thể dùng For While

- Hồn thiện chương trình vào máy chạy thử

5'

10'

30'

TiÕt 30:

(85)

a Mục tiêu:

- Học sinh biết phân tích yêu cầu để viết chương trình hồn chỉnh

b Nội dung:

- Viết chương trình nhập vào xâu kí tự S thơng báo hình số lần xuất S chữ không phân biệt chữ hoa chữ thường

c Các bước tiến hành:

Hoạt động giáo viên Hoạt động học sinh thờigian

1 Giới thiệu đề bài.

- Viết nội dung đề lên bảng - Chia lớp thành nhóm:

Nhóm 1: Đặt câu hỏi phân tích Nhóm 2: Trả lời câu hỏi phân tích

- Theo dõi nhóm bổ sung nhứng yếu tố thiếu sửa sai

2 Yêu cầu học sinh độc lập viết chương trình hồn chỉnh theo thuật tốn.

- Yêu càu học sinh lập trình xong sớm tìm test

1 Quan sát đề xác định những cơng việc cần thực hiện.

Nhóm 1:

+ Hỏi: Dữ liệu vào/ra cua toán? + Hỏi: Nêu nhiệm vụ tốn?

+ Hỏi: Cấu trúc liệu phải sử dụng nào?

+ Hỏi: Ta phải sử dụng hàm nào? Nhóm 2:

+ Vào: xâu S

+ ra: Dãy số ứng với xuúat loịa kí tự xâu

+ TT: Duyệt từ trái sang phải, thêm đơn vị cho kí tự đọc

+ Cấu trúc liệu: Dem[‘A’, ,’Z’] + Dùng hàm UpCase()

2 Độc lập soạn chương trình vào máy. - Test

10'

30'

IV Đánh giá cuối bài: (5') 1 Những nội dung học:

- Một số thuật toán đơn giản liên quan đến xâu kí tự Kiểm tra xâu đối xứng, tìm tần suất xuất kí tự có xâu

2 Câu hỏi tập nhà:

(86)

Ngày soạn:

Tiết 31:

Bài tập

Bài 1: Lập trình nhập vào mt mng chiu Tính tổng phần tử mảng. Bài giải:

Program Bai1; Uses CRT;

Var A:Array[1 100,1 100] of Integer; Tong:Real;

i, j, m, n: Integer; BEGIN

Clrscr;

Write('Nhap so hang cua mang chieu: n = '); Readln(n);

Write('Nhap so cot cua mang chieu: m = '); Readln(m);

Writeln('Nhap gia tri cua cac phan tu mang chieu: '); For i:=1 to n

For j:=1 to m Begin

Write('A[',i,',',j,']='); Readln(A[i,j]); End;

Tong:=0; For i:=1 to n

For j:=1 to m

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

Writeln('Tong gia tri cac phan tu mang chieu da cho la: ',Tong:8:2); Readln;

END

(87)

Bài giải: Program Bai2;

Uses CRT;

Var A:Array[1 100,1 100] of Integer; Dem: Integer;

i, j, m, n: Integer; BEGIN

Clrscr;

Write('Nhap so hang cua mang chieu: n = '); Readln(n);

Write('Nhap so cot cua mang chieu: m = '); Readln(m);

Writeln('Nhap gia tri cua cac phan tu mang chieu: '); For i:=1 to n

For j:=1 to m Begin

Write('A[',i,',',j,']='); Readln(A[i,j]); End;

Dem:=0;

For i:=1 to n

For j:=1 to m

If (A[i,j] mod = 0) then Dem:=Dem+1;

If (Dem=0) then Writeln('Trong mang khong co phan tu chan.') Else Writeln('So phan tu chan mang la: ',Dem);

(88)

Ngày soạn:

Tiết 32:

§13: kiĨu b¶n ghi A MỤC TIÊU, YÊU CẦU:

1 Kiến thức:

- Biết khái niệm kiểu ghi

- Biết cách khai báo ghi, truy cập trường ghi

2 Kĩ năng:

- Khai báo kiểu ghi, khai báo biến kiểu ghi Pascal - Nhập xuất liệu cho biến ghi

- Tham chiếu đến trường kiểu ghi

- Sử dụng kiểu ghi để giải số tập đơn giản B ĐỒ DÙNG DẠY HỌC:

1 Chuẩn bị giáo viên:

Máy vi tính, máy chiếu Projector để giới thiệu ví dụ

2 Chuẩn bị học sinh:

- Vở ghi lý thuyết

- Sách giáo khoa Tin học 11

C TIẾN TRÌNH LÊN LỚP, NỘI DUNG BÀI GIẢNG: I Ổn định lớp:

Yêu cầu lớp trưởng báo cáo sĩ số II Gợi động học:

Giới thiệu học

III Bài giảng, nội dung giảng:

1 Giới thiệu kiểu ghi Tạo kiểu ghi Pascal:

a Mục tiêu:

(89)

Mở bài: Dữ liệu kiểu ghi dùng để mô tả đối tượng có thuộc tính mà thuộc tính có kiểu liệu khác

b Nội dung:

- Mỗi thông tin đối tượng gọi thuộc tính hay trường Mỗi đối tượng mô tả nhiều thông tin hàng gọi ghi

- Để mô tả đối tượng vậy, ngơn ngữ lập trình cho phép ta xác định kiểu ghi Mỗi đối tượng mô tả ghi

- Một ngơn ngữ lập trình ln có quy tắc để xác định: tên kiểu ghi, tên trường, tên kiểu liệu trường, cách khai báo biến tham chiếu đến trường

- Khai báo kiểu ghi:

Type <tên_kiểu_bg> = Record

<Tên_trường_1> : <kiểu_trường_1>; ……… <Tên_trường_n> : <kiểu_trường_n>; End;

- Khai báo biến ghi:

Var <tên_biến_bg> : <tên_kiểu_bg>;

c Các bước tiến hành:

Hoạt động giáo viên Hoạt động học sinh thờigian

1 Tìm hiểu kiểu ghi.

- GV chiếu bảng KQ thi SGK/74 - Hỏi: Trên bảng có thơng tin ?

- Hỏi: Bảng chứa thơng tin đối tượng ?

- Yêu cầu học sinh tìm thêm VD tương tự - Diễn giải: Mỗi thông tin đối tượng gọi thuộc tính hay trường Mỗi đối tượng mơ tả nhiều thông tin hàng gọi ghi

- Diễn giải: Để mô tả đối tượng vậy, ngơn ngữ lập trình cho phép ta xác định kiểu ghi Mỗi đối tượng mơ tả ghi Mỗi thuộc tính đối tượng tương ứng với trường ghi

2 Yêu cầu học sinh nghiên cứu SGK

1 Quan sát VD giáo viên trả lời các câu hỏi.

- Họ tên, ngày sinh, giới tính, điểm mơn thi

- Bảng chứa thông tin đối tượng - VD để mô tả người danh bạ điện thoại cần có thơng tin: Họ tên, địa chỉ, số điện thoại

- Theo dõi giải thích GV ghi vào

2 Nghiên cứu SGK để nắm cấu 5'

(90)

Hoạt động giáo viên Hoạt động học sinh thờigian

và cho biết cách khai báo kiểu ghi, khai báo biến kiểu ghi trong Pascal.

- Yêu cầu tìm VD để minh họa

- Để giải toán bảng kết thi ta phải khai báo mảng ghi Hãy tạo kiểu mảng

- Yêu cầu học sinh phân biệt giống khác ghi kiểu mảng chiều?

trúc chung khai báo kiểu ghi, khai báo biến kiểu ghi.

- VD:

Type kieu_nguoi = record

Hoten : string;

Diachi : string;

Sdt : longint;

End; Var nguoi : kieu_nguoi;

- Độc lập suy nghĩ để tạo kiểu ghi mảng ghi

Type HS = record

Hoten : string[30]; NgaySinh : string[10]; Giơitinh : boolean; Tin,Toan,Ly,Hoa,Van,

Su,Dia : real; End;

Lop = array[1 50] of HS;

- Giống nhau: ghép nhiều phần tử

- Khác nhau: Mảng chiều ghép nhiều phần tử có kiểu liệu Trong ghi ghép nhiều phần tử có kiểu liệu khác

2 Tìm hiểu cách sử dụng kiểu ghi Pascal:

a Mục tiêu:

- Học sinh biết cách tham chiếu đến trường biến ghi Nhập/xuất giá trị cho biến ghi

b Nội dung:

- Tham chiếu đến trường: Tên_biến_bg.Tên_trường - Gán giá trị biến ghi (có hai cách):

+ Gán biến ghi cho biến ghi (cùng kiểu khai báo) + Gán giá trị cho trường

- Nhập/ xuất giá trị: Phải viết lệnh nhập/ xuất với trường

(91)

Hoạt động giáo viên Hoạt động học sinh thờigian

1 Giới thiệu cấu trúc chung để tham chiếu đến trường biến bản ghi.

- Tên_biến_bg.Tên_trường; - Yêu cầu học sinh tìm VD

2 Giới thiệu cách gán giá trị cho biến bản ghi.

+ Gán nguyên biến ghi (1) + Gán trường (2)

- Yêu cầu học sinh lấy VD minh họa cho trường hợp

- Hỏi: Trường hợp (1) thực điều kiện nào?

3 Nhập/ xuất giá trị cho biến ghi. - Diễn giải: Ta phải viết lệnh nhập xuất giá trị cho trường

- Yêu cầu học sinh: Viết lệnh nhập giá trị cho trường biến ghi Nguoi khai báo

- Yêu cầu viết lệnh in giá trị trường hoten biến ghi Nguoi.

1 Quan sát cấu trúc chung tham chiếu đến trường biến bản ghi.

- VD: Nguoi.hoten; Nguoi.diachi; Nguoi.sdt;

2 Quan sát hai cách gán giá trị của biến ghi để tìm VD cụ thể.

- A:=B;

- A.ht:=B.ht; A.sdt:=B.sdt;

- Hai biến A, B phải khai báo kiểu ghi

3 Chú ý theo dõi dẫn dắt giáo viên để tìm VD.

- Readln(nguoi.hoten); Readln(nguoi.diachi); Readln(nguoi.sdt); - writeln(nguoi.hoten);

2'

3'

5'

3 Rèn luyện kĩ lập trình:

a Mục tiêu:

- Học sinh sử dụng kiểu ghi để giải số tập đơn giản

b Nội dung:

- Viết chương trình giải tốn sau:

Có lớp gồm N học sinh(1<=N<=45) Với học sinh cần quản lí thuộc tính: họ tên, điểm toán, điểm văn, xếp loại Giả sử xếp loại xác định theo quy tắc sau:

+ Nếu tổng điểm toán văn nhỏ 10 xếp loại D

+ Nếu tổng điểm toán văn lớn 10 nhỏ 14 xếp loại C + Nếu tổng điểm toán văn lớn 14 nhỏ 18 xếp loại B + Nếu tổng điểm toán văn lớn 18 xếp loại A

(92)

Hoạt động giáo viên Hoạt động học sinh thờigian

1 Đưa nội dung đề bài.

- Hỏi: Sử dụng kiểu liệu để giải tốn?

- u cầu học sinh: Mơ tả thông tin hoc sinh kiểu ghi Tạo mảng ghi

- Nêu bước để giải toán

2 Chia lớp thành nhóm u cầu viết chương trình lên bảng.

1 Quan sát đề, ý phân tích để trả lời câu hỏi.

- Một mảng ghi - Type HS = record

Hoten : string[30]; Toan,van,tong : real; Xeploai : char; End;

Lop = array[1 50] of HS;

+ Bước 1: Tạo kiểu liệu, khai báo biến

+ Bước 2: Nhập liệu cho mảng ghi

+ Tính tổng điểm tốn điểm văn + Dựa vào tổng điểm để xếp loại

2 Thảo luận theo nhóm để hồn thiện chương trình.

5'

10'

IV Đánh giá cuối bài: (5') 1 Những nội dung học:

- Cách tạo kiểu ghi, khai báo biến kiểu ghi - Tham chiếu đến trường biến ghi - Nhập/ xuất giá trị cho biến ghi

2 Câu hỏi tập nhà:

- Bài tập: Viết chương trình giải tốn quản lí sau:

Nhập họ tên, điểm toán, điểm lý 30 học sinh lớp In hình họ tên, điểm trung bình 30 học sinh với DTB=(tốn+ lý)/2

(93)

Ngày soạn:

Tiết 33:

Bµi tËp ViÕt chơng trình giải toán quản lý sau:

Nhập họ tên, điểm toán, điểm lý, điểm hoá cđa N häc sinh (N 30) In ra mµn hình họ tên, điểm trung bình học sinh Biết DTB=(Toán + Lý)/2.

Bài giải:

Program QLHS; Uses CRT;

Type HS = Record

Hoten:String[30]; Toan,Ly,DTB:real; End;

Var LOP:Array[1 30] of HS; i,n: Integer;

BEGIN Clrscr;

Write('Nhap so hoc sinh lop: n = '); Readln(n);

For i:=1 to n Begin

Writeln('Nhap so lieu ve hoc sinh thu: ',i); Write('Ho va ten: '); Readln(LOP[i].Hoten); Write('Diem Toan: '); Readln(LOP[i].Toan); Write('Diem Ly: '); Readln(LOP[i].Ly); LOP[i].DTB:=(LOP[i].Toan+LOP[i].Ly)/2; End;

Writeln('DANH SACH HOC SINH TRONG LOP: '); For i:=1 to n

Writeln(LOP[i].Hoten:30,' - DTB = ',LOP[i].DTB:8:2); Readln;

(94)

Ngày soạn:

Tiết 34 + 35:

ôn tập chơng IV

Bi 1: Vit chng trình nhập từ bàn phím số ngun dơng N (N  100) dãy A gồm N số nguyên A1, A2, , AN có giá trị tuyệt đối khơng lớn 1000 Hãy cho biết dãy A có phải cấp số cộng hay không thông báo kết qu mn hỡnh

Bài giải:

Program Bai_tap_1; Uses Crt;

Var A:Array[1 100] of Integer; N,i,d,dem:Integer;

BEGIN Clrscr;

Write('Nhap so phan tu cua day A(1<=N<=100): N = '); Readln(N);

Writeln('Nhap gia tri cua cac phan tu day A:'); For i:=1 to N

Begin

Write('A[',i,']='); Readln(A[i]); End;

d:=A[2]-A[1]; dem:=0; For i:=2 to N

If A[i]-A[i-1]<>d then dem:=dem+1;

If (dem=0) then Writeln('Day A la cap so cong.') Else Writeln('Day A khong la cap so cong.'); Readln;

(95)

Bài 2: Viết chơng trình nhập từ bàn phím số ngun dơng N (N  100) dãy A gồm N số nguyên A1, A2, , AN có giá trị tuyệt đối không lớn 1000 Hãy đa thông tin sau:

- Số lợng số chẵn số lẻ dÃy - Số lợng số nguyên tố dÃy

Bài giải:

Program Bai_tap_2; Uses CRT;

Var A:Array[1 100] of Integer; N,i,d,dem_chan,dem_nto:integer; BEGIN

Clrscr;

Write('Nhap vao so phan tu cua day A(1<=N<=100): N = '); Readln(N); Writeln('Nhap gia tri cua cac phan tu day A:');

For i:=1 to N Begin

Write('A[',i,']='); Readln(A[i]); End;

dem_chan:=0; dem_nto:=0; For i:=1 to N

Begin

If (A[i] mod = 0) then dem_chan:=dem_chan+1; If A[i]>1 then

Begin d:=2;

while (d<=sqrt(A[i])) and (A[i] mod d <>0) d:=d+1; If d>sqrt(A[i]) then dem_nto:=dem_nto+1;

End; End;

Writeln('So luong so chan mang A la: ',dem_chan); Writeln('So luong so le mang A la: ',N-dem_chan); Writeln('So luong so nguyen to mang A la:',dem_nto); Readln;

(96)

Bài 3: Viết chơng trình nhập từ bàn phím xâu kí tự S có độ dài khơng q 100 Hãy cho biết có chữ số xuất xâu S Thông báo kt qu mn hỡnh

Bài giải:

Program Bai_tap_3; Uses CRT;

Var S : String[100]; i, dem: integer; BEGIN

Clrscr;

Writeln('Nhap vao mot xau ki tu co dai khong qua 100.'); Readln();

dem := 0;

for i := to lenght(S)

if ('0' <= S[i]) and (S[i] <= '9') then dem := dem+1; Writeln('Trong xau S co ',dem,' chu so.');

(97)

Ngày soạn:

Tiết 36:

Bài Kiểm tra thực hành tiết I - Mục tiêu đánh giá:

Kiểm tra kiến thức ghi II - Mục đích yêu cầu :

Yêu cầu học sinh:

- Nm c cách định nghĩa khai báo biến ghi - Lập trình giải đợc tốn quản lý đơn giản

III - Đề bài:

Viết chơng trình giải toán quản lý sau:

Nhập họ tên, điểm toán, điểm lý, điểm hoá N học sinh (N 30) In ra màn hình họ tên, điểm trung bình, xếp loại học sinh

Biết DTB=(Toán + Lý)/2 Xếp loại đợc tính nh sau: - Nếu DTB>=8.0 xếp loại Giỏi.

- Nếu DTB>=6.5 DTB<=7.9 xếp loại Khá. - Nếu DTB>=5.0 DTB<=6.4 xếp loại TB. - Nếu DTB>=3.5 DTB<=4.9 xếp loại Yếu. - Nếu DTB<3.5 xếp loại Kém.

Bài giải:

Program QLHS; Uses CRT;

Type HS = Record

Hoten:String[30]; Toan,Ly,DTB:real; xeploai:string[4] End;

Var LOP:Array[1 30] of HS; i,n: Integer;

BEGIN Clrscr;

(98)

Writeln('Nhap so lieu ve hoc sinh thu: ',i); Write('Ho va ten: '); Readln(LOP[i].Hoten); Write('Diem Toan: '); Readln(LOP[i].Toan); Write('Diem Ly: '); Readln(LOP[i].Ly); LOP[i].DTB:=(LOP[i].Toan+LOP[i].Ly)/2;

If (LOP[i].DTB>=8.0) then LOP[i].xeploai:='Gioi' Else If (LOP[i].DTB>=6.5) then LOP[i].xeploai:='Kha' Else If (LOP[i].DTB>=5.0) then LOP[i].xeploai:='TB' Else If (LOP[i].DTB>=3.5) then LOP[i].xeploai:='Yeu' Else LOP[i].xeploai:='Kem';

End; Clrscr;

Writeln('DANH SACH HOC SINH TRONG LOP: '); For i:=1 to n

Writeln(LOP[i].Hoten:30,' - DTB = ',LOP[i].DTB:8:2,' - Xep loai: ',LOP[i].xeploai); Readln;

(99)

Ngày soạn:

Tit 37:

Ch ơng V: tệp thao tác với tệp Đ14: kiểu liệu tệp Đ15: thao t¸c víi tƯp A MỤC TIÊU, U CẦU:

1 Kiến thức:

- Biết đặc điểm kiểu liệu tệp

- Biết khái niệm tệp có cấu trúc tệp văn

2 Kĩ năng:

- Khai báo biến kiểu tệp

- Thực thao tác xử lý tệp: Gán tên tệp, mở/đóng tệp, đọc/ghi tệp - Sử dụng thủ tục liên quan để đọc/ghi liệu tệp

3 Thái độ:

- Thấy cần thiết tiện lợi kiểu liệu tệp - Có ý thức lưu trữ liệu cách khoa học

- Giáo dục thêm ý thức tôn trọng quyền, không sửa chữa, chép phần mềm chưa mua quyền

B PHƯƠNG PHÁP VÀ PHƯƠNG TIỆN: 1 Phương pháp:

Kết hợp phương pháp giảng dạy như: truyền thống, vấn đáp, có hình minh hoạ

2 Phương tiện:

- Vở ghi lý thuyết

- Sách giáo khoa sách giáo viên lớp 11 - Sách tham khảo (nếu có)

C TIẾN TRÌNH LÊN LỚP, NỘI DUNG BÀI GIẢNG: I Ổn định lớp:

Yêu cầu lớp trưởng báo cáo sĩ số II Kiểm tra cũ gợi động học:

- Giới thiệu học III Bài giảng, nội dung giảng:

1 Tìm hiểu đặc điểm kiểu liệu tệp, phân loại kiểu tệp.

(100)

- Học sinh biết đặc điểm kiểu tệp Biết hai loại tệp: tệp có cấu trúc tệp văn

Mở bài: Các kiểu liệu học lưu trữ nhớ trong, liệu bị tắt máy Khi giải tốn có liệu cần lưu lại xử lý nhiều lần cần có kiểu liệu mới: kiểu tệp

b Nội dung:

- Đặc điểm kiểu tệp:

+ Được lưu trữ lâu dài nhớ ngồi, khơng bị mất điện + Lượng thông tin lưu trữ tệp lớn

- Có hai loại tệp:

+ Tệp có cấu trúc: loại tệp mà thành phần tổ chức theo cấu trúc định

+ Tệp văn bản: tệp mà liệu ghi dạng kí tựtheo mã ASCII Trong tệp văn bản, dãy kí tự kết thúc kí tự xuống dịng hay kí tự kết thúc tệp tạo thành dòng

c Các bước tiến hành:

Hoạt động giáo viên Hoạt động học sinh thờigian

- Hỏi: Em cho biết liệu kiểu liệu từ trước đến ta sử dụng lưu trữ loại nhớ thực chương trình?

-Hỏi: Vì em biết điều đó?

- Diễn giải: Để lưu trữ liệu, ta phải lưu nhớ ngồi thơng qua kiểu liệu tệp Mọi ngơn ngữ lập trình có thao tác: khai báo biến tệp, mở tệp, đọc/ghi liệu, đóng tệp

- Yêu cầu học sinh nghiên cứu SGK cho biết đặc điểm kiểu tệp? Có loại kiểu tệp?

- Yêu cầu học sinh trình bày khái niệm tệp có cấu trúc tệp văn

- Bộ nhớ RAM

- Mất liệu bị điện

- Không thông tin tắt máy - Dung lượng liệu lưu trữ lớn - Có hai loại kiểu tệp: tệp có cấu trúc tệp văn

- Tệp có cấu trúc: loại tệp mà thành phần tổ chức theo cấu trúc định

- Tệp văn bản: tệp mà liệu ghi dạng kí tựtheo mã ASCII Trong tệp văn bản, dãy kí tự kết thúc kí tự xuống dịng hay kí tự kết thúc tệp tạo thành dòng

5'

(101)

a Mục tiêu:

- Học sinh biết cách khai báo biến

- Học sinh biết sử dụng thủ tục xử lý với tệp - Học sinh biết xử lý đọc/ ghi tệp văn

b Nội dung:

- Khai báo biến tệp văn bản: Var <tên_biến_tệp>:Text;

- Gán tên tệp: Assign(<tên_biến_tệp>, <tên_tệp>); <tên_tệp> biến xâu xâu - Tạo tệp để ghi: Rewrite(<tên_biến_tệp>);

- Mở tệp để đọc: Reset(<tên_biến_tệp>); - Đóng tệp: Close(<tên_biến_tệp>);

- Đọc tệp văn bản: Read(<tên biến tệp>, <danh sách tên biến>); Readln(<tên biến tệp>, <danh sách tên biến>); - Ghi tệp văn Write(<tên biến tệp>, <danh sách kết quả>); Writeln(<tên biến tệp>, <danh sách kết quả>);

c Các bước tiến hành:

Hoạt động giáo viên Hoạt động học sinh thờigian

1 Giới thiệu cấu trúc chung khai báo biến tệp.

Var <tên_biến_tệp>:Text; - Yêu cầu học sinh tìm VD cụ thể

2 Giới thiệu thao tác gán tên tệp, tạo tệp để ghi, mở tệp để đọc, đóng tệp.

Assign(<tên_biến_tệp>, <tên_tệp>); Rewrite(<tên_biến_tệp>);

Reset(<tên_biến_tệp>); Close(<tên_biến_tệp>);

- Yêu cầu lấy VD minh họa mở tệp để ghi thông tin mở tệp để đọc thông tin

3.Yêu cầu học sinh xem hình 16 trong

1 Quan sát cấu trúc suy nghĩ trả lời.

- Var f,g:text;

2 Quan sát suy nghĩ để trả lời câu hỏi.

Assign(f2,’Bai1.INP’); Rewrite(f2);

Close(f2);

Assign(f2,’Bai1.OUT’); Reset(f2);

Close(f2);

3 Quan sát sơ đồ trả lời.

5'

10'

(102)

Hoạt động giáo viên Hoạt động học sinh thờigian

sơ đồ.

4 Giới thiệu cấu trúc chung thủ tục đọc/ ghi liệu tệp văn bản.

- Đọc tệp văn bản:

Read(<tên biến tệp>, <danh sách tên biến>); Readln(<tên biến tệp>, <danh sách tên biến>); - Ghi tệp văn

Write(<tên biến tệp>, <danh sách kết quả>); Writeln(<tên biến tệp>, <danh sách kết quả>); - Yêu cầu học sinh lấy VD minh họa

5 Các hàm liên quan đến việc xử lý tệp - eof(<biến_tệp>);

- eoln(<biến tệp>);

Hỏi : Các hàm có ý nghĩa gì?

thơng tin, đóng tệp

- Đọc tệp: Gán tên tệp, mở tệp, đọc thơng tin, đóng tệp

4 Quan sát cấu trúc chung.

- Readln(f,x1,x2); Đọc liệu từ biến tệp f, đặt giá trị vào hai biến x1, x2

- Writeln(g, ‘Tong la’, x1+x2); Ghi vào biến tệp g hai tham số:dòng chữ ‘Tong la’ giá trị tổng x1+x2

5 Chú ý quan sát cấu trúc hàm. - eof: Trả giá trị true trỏ tệp cuối tệp

- eoln();Trả giá trị true trỏ tệp cuối dòng

10'

5'

IV Đánh giá cuối bài: (5') 1 Những nội dung học:

- Việc trao đỏi liệu với nhớ ngồi thực thơng qua kiểu liệu kiểu tệp Có hai loại tệp: tệp có cấu trúc tệp văn

- Để làm việc với tệp, cần phải khai báo biến tệp - Các thủ tục làm việc với tệp là:

+ Gán tên tệp: Assign(<tên_biến_tệp>, <tên_tệp>); <tên_tệp> biến xâu xâu

+ Tạo tệp để ghi: Rewrite(<tên_biến_tệp>); + Mở tệp để đọc: Reset(<tên_biến_tệp>); + Đóng tệp: Close(<tên_biến_tệp>);

+ Đọc tệp văn bản: Read(<tên biến tệp>, <danh sách tên biến>); Readln(<tên biến tệp>, <danh sách tên biến>); + Ghi tệp văn Write(<tên biến tệp>, <danh sách kết quả>); Writeln(<tên biến tệp>, <danh sách kết quả>);

2 Câu hỏi tập nhà:

(103)

Ngày soạn:

Tit 38:

Đ16: ví dụ làm việc với tÖp A MỤC TIÊU, YÊU CẦU:

1 Kiến thức:

- Củng cố lại kiến thức học tệp chương thông qua VD

2 Kĩ năng:

- Sử dụng hàm thủ tục liên quan để giải tập B PHƯƠNG PHÁP VÀ PHƯƠNG TIỆN:

1 Phương pháp:

Kết hợp phương pháp giảng dạy như: truyền thống, vấn đáp, có hình minh hoạ

2 Phương tiện:

- Vở ghi lý thuyết

- Sách giáo khoa sách giáo viên lớp 11 - Sách tham khảo (nếu có)

C TIẾN TRÌNH LÊN LỚP, NỘI DUNG BÀI GIẢNG: I Ổn định lớp:

Yêu cầu lớp trưởng báo cáo sĩ số II Kiểm tra cũ gợi động học:

- Giới thiệu học III Bài giảng, nội dung giảng: 1 Ôn tập kiến thức lý thuyết.

a Mục tiêu:

- Học sinh nhớ kiến thức lý thuyết kiẻu tệp

b Nội dung:

- Gán tên tệp, mở tệp, tạo tệp mới, đóng tệp - Đọc/ghi tệp văn

- Các hàm thủ tục liên quan

(104)

Hoạt động giáo viên Hoạt động học sinh thờigian

1 Gợi ý học sinh nhớ lại kiến thức đã học kiểu tệp.

- Hỏi: Cách khai báo biến kiểu tệp?

- Hỏi: Có thủ tục làm việc với tệp?

- Hỏi hàm thủ tục liên quan đến xử lý tệp?

2 Giới thiệu bảng tổng hợp hàm và thủ tục lên bảng, xem là tổng kết kiến thức liên quan.

1 Theo dõi dẫn dắt giáo viên và trả lời.

- Var <tên_biến_tệp>:Text;

- Assign(<tên_biến_tệp>, <tên_tệp>); - Rewrite(<tên_biến_tệp>);

- Reset(<tên_biến_tệp>); - Close(<tên_biến_tệp>);

- Read(<tên biến tệp>, <danh sách tên biến>); - Readln(<tên biến tệp>, <danh sách tên biến>);

- Write(<tên biến tệp>, <danh sách kết quả>); - Writeln(<tên biến tệp>, <danh sách kết quả>); - Eof(tên_biến_tệp);

- Eoln(tên_biến_tệp);

2 Quan sát bảng tổng hợp ghi nhớ.

7'

5'

2 Tìm hiểu chương trình VD:

a Mục tiêu:

- Học sinh hiểu nội dung chương trình Biết đầu vào, đầu chương trình

b Nội dung:

- VD1: SGK trang 87: Tính khoảng cách điểm - VD2: SGK trang 87: Tính điện trở tương đương

c Các bước tiến hành:

Hoạt động giáo viên Hoạt động học sinh thờigian

1 Tìm hiểu VD1.

- Giới thiệu nội dung đề

- Viết nội dung chương trình VD lên bảng - Hỏi: hàm eof() có chức gì?

- Có thể sử dụng cấu trúc For thay cho While không?

- Chương trình thực cơng việc gì?

2 Tìm hiểu VD2: - Giới thiệu đề

1 Theo dõi quan sát để làm tập và chương trình gợi ý.

- Hàm cho giá trị True trỏ tệp định vị vị trí kết thúc

- Khơng: khơng biêt số lượng phần tử tệp

- Tính đưa hình khoảng cách từ trại thầy hiệu trưởng đến trại giáo viên

2 Quan sát nơi dung đề bài. - Xem hình 17 SGK trang 88

15'

(105)

Hoạt động giáo viên Hoạt động học sinh thờigian

- Hỏi cơng thức tính điện trở sơ đồ II, III,IV - Viết chương trình lên bảng

- Hỏi: Mảng a dùng để lưu trữ giá trị nào?

- Cho file liệu vào gồm hai dòng Yêu cầu học sinh tính kết

- Dùng để lưu trữ điện trở tương đương điện trở theo cách ghép nối sơ đồ

- Tính kết điện trở tương đương

IV Đánh giá cuối bài: (3') 1 Những nội dung học:

- Các thao tác xử lý tệp: - Hàm thủ tục liên quan 2 Câu hỏi tập nhà:

(106)

Ngày soạn:

Tiết 39:

bµi tËp

Bài 1: Một tệp văn có tên DATA.DAT lu trữ số liệu mảng n số có dạng sau:

- Dòng tƯp ghi sè n

- n dßng tiÕp theo tệp ghi n số, số dòng

Viết chơng trình nhập số liệu dãy vào mảng in liệu mảng sau lại theo thứ tự tăng dn

Bài giải:

Program Bai_tap_1; Uses CRT;

Var f : text;

N, i, j, jmax : Integer;

A : Array[1 100] of Integer; atg : Integer;

BEGIN Clrscr;

Assign(f,'DATA.DAT'); Reset(f);

Readln(f,n);

For i := to n Readln(f,A[i]); Close(f);

For i := to n - Begin

jmax := i;

For j := i n

If (A[j] > A[jmax]) then j := jmax;

atg := A[i]; A[i] := A[jmax]; A[jmax] := atg; End;

For i := to n Writeln(A[i]); Readln;

(107)

Bµi 2: Mét tƯp văn có tên DATA.DAT lu trữ số liệu mảng n số có dạng sau:

- Dòng tệp ghi số n

- Dòng tệp ghi n số, sè c¸ch bëi tèi thiĨu mét dÊu c¸ch ViÕt chơng trình nhập số liệu dÃy vào mảng in liệu mảng

Bài giải:

Program Bai_tap_2; Uses CRT;

Var f : text; N, i : Integer;

A : Array[1 100] of Integer; BEGIN

Clrscr;

Assign(f,'DATA.DAT'); Reset(f);

Readln(f,n);

For i := to n Read(f,A[i]); For i := to n Write(A[i]:8); Readln;

(108)

Ngày soạn Tiết 40:

Ch ơng VI: chơng trình lập trình có cấu trúc

Đ17: chơng trình phân loại

A Mục đích, yêu cầu:

1 KiÕn thøc:

- Biết đợc khái niệm chơng trình

- Biết đợc ý nghĩa chơng trình con, cần thiết phải viết chơng trình thành chơng trình

- Biết đợc cấu trúc chơng trình

- Phân biệt đợc hai loại chơng trình hàm thủ tục 2 Kỹ năng:

- Nhận biết đợc thành phần thủ tục

- Nhận biết đợc hai loại tham số hình thức thủ tục

- BiÕt c¸ch khai b¸o hai loại chơng trình với tham số hình thức chúng - Biết cách viết lời gọi chơng trình thân chơng trình

3 Thỏi độ:

- RÌn lun c¸c phÈm chÊt cđa ngêi lập trình nh tinh thần hợp tác, làm việc theo nhóm, tuân thủ yêu cầu công việc chung

B phơng pháp phơng tiện:

1 Phơng ph¸p

Kết hợp với phơng pháp giảng dạy nh: truyền thống, vấn đáp, có hình minh hoạ 2 Phơng tiện:

- Vë ghi lý thuyÕt

- S¸ch giáo khoa sách giáo viên lớp 11 - Sách tham khảo (nếu có)

C Tiến trình lên lớp, nội dung giảng:

I - n nh lp:

Yêu cầu lớp trởng báo cáo sĩ số II Kiểm tra cũ gợi động học:

- Giới thiệu học

III Bài giảng, nội dung giảng:

(109)

- Hc sinh biết đợc khái niệm chơng trình lợi ích việc viết chơng trình có sử dụng chơng trình

b Néi dung:

- Chơng trình dãy lệnh mơ tả số thao tác định đợc thực nhiều vị trí chơng trình

- Lỵi ích việc sử dụng chơng trình con:

+ Chơng trình dễ đọc, dễ hiểu, dễ kiểm tra phát lỗi sửa sai + Có thể giao cho nhiều ngời viết chơng trình

+ Tránh việc phải viết lặp lại nhóm lệnh nhóm lệnh đợc thực nhiều lần khác chơng trình

+ Thn tiƯn cho viƯc n©ng cÊp chơng trình c Các bớc tiến hành:

Hot ng giáo viên Hoạt động học sinh Thờigian

1 Tìm hiểu ý nghĩa khái niệm ch-ơng trình con:

- Chiu hai chng trỡnh giỏo viên chuẩn bị sẵn Một chơng trình có sử dụng chơng trình con, chơng trình khơng sử dụng chng trỡnh

Chẳng hạn: Chơng trình tính tổng luü thõa: TLT = an + bm + cp + dq.

- Gọi HS nhận xét tính ngắn gọn, rõ ràng, tính dễ đọc dễ hiểu hai chng trỡnh ú

- Hỏi: Khi nên viết chơng trình ?

- Yờu cu HS đọc SGK cho biết khái niệm chơng trình

- Chia lớp làm nhóm Phát phiếu học tập cho nhóm Yêu cầu HS điền lợi ích việc sử dụng chơng trình

1 Quan sát đề hai chơng trình VD.

- Nhận xét: Chơng trình có sử dụng chơng trình đợc viết ngắn gọn, dễ hiểu chơng trình viết khơng sử dụng chơng trình

- §èi với toán lớn, cần nhiều ngời viết Chơng trình dài, cần chia làm nhiều đoạn Có nhiều đoạn lệnh lặp lại, nên viết chơng trình

- Tham khảo SGK để trả lời

- Nghiên cứu SGK, thảo luận để điền phiếu học tập

+ Tránh đợc việc phải viết lặp lặp lại

(110)

Hoạt động giáo viên Hoạt động học sinh Thờigian

- Thu phiếu học tập, thông báo kết - Bổ sung giải thích thêm số lợi ích mà học sinh điền cha đầy đủ (vì em cịn m h v chng trỡnh con)

2 Phân loại chơng trình con:

- Hỏi: Có loại chơng trình ? Gọi tên chúng ?

- Hỏi: Đã làm quen với hàm thủ tục cha ? Lấy số VD hàm thủ tục đợc học

- ý nghĩa hàm thủ tục chuẩn ? Yêu cầu HS tham khảo SGK để phân biệt khái niệm hàm thủ tục

3 Cấu trúc chơng trình con:

- Giới thiệu cấu trúc chung chơng trình con: <Phần đầu>

[<Phần khai báo>] <Phần thân>

- Yêu cầu HS so sánh với cấu trúc chơng trình

- Yêu cầu HS giải thích phần khai báo phần thân chơng trình

- Diễn giải: Phần đầu chơng trình gồm có tên chơng trình con, tham số chơng trình Các tham số

-mt dóy lnh no chơng trình + Hỗ trợ việc thực viết CT lớn + Phục vụ trình trừu tợng hố + Mở rộng khả ngơn ngữ

+ Thuận tiện cho việc phát triển, nâng cấp chơng trình

- Báo cáo kết

- Theo dõi bổ sung giải thích GV

2 Tham khảo SGK trở lời.

- Hai loại chơng trình con: hàm thủ tục - ĐÃ sử dơng hµm vµ thđ tơc chn VD: hµm Abs(), length(),

thđ tơc Delete(st,p,n)

- Hàm thực số thao tác trả giá trị kiểu đơn giản thông qua tên hàm

- Thủ tục thực thao tác định nhng không trả giá trị qua tên 3 Quan sát cấu trúc chung chơng trình con.

- Gièng cÊu tróc ch¬ng trình Khác chỗ phần đầu chơng trình bắt buộc phải có - Phần khai báo thờng khai báo biến

- Phn thõn dãy lệnh thực nhiệm vụ định chơng trình

10'

(111)

Hoạt động giáo viên Hoạt động học sinh Thigian

ợc gọi tham số hình thức 4 Thực chơng trình con:

- Hỏi: Để sư dơng hµm vµ thđ tơc chn em thêng viÕt đâu viết nh ?

- Diễn giải: Để gọi chơng trình con, ta cần phải có lệnh gọi tơng tự lệnh gọi hàm hay thủ tục chuẩn, bao gồm tên ch-ơng trình với tham số (nếu có) biến chứa liệu vào/ra tơng ứng với tham số hình thức đặt cặp ngoặc Các biến đợc gọi làm tham số thực

4 Suy nghĩ trả lời:

- Vit chơng trình Viết thủ tục kèm thơng số kết thúc dấu chấm phẩy (;) Viết hàm lệnh thủ tục Hàm không đợc viết nh lệnh

10'

IV Đánh giá cuối bài: (3') 1 Những nội dung ® häc:·

- Chơng trình đóng vai trị quan trọng lập trình, đặc biệt lập trỡnh cú cu trỳc

- Các lợi ích chơng trình con: Dùng chơng trình thuận lợi cho việc tổ chức, viết, kiểm tra sử dụng lại chơng trình

- Có hai loại chơng trình

- Cấu trúc chơng trình vị trí chơng trình

- Chơng trình có tham số hình thức khai báo đợc thay tham số thực gọi chơng trình

- Chơng trình đợc gọi tên 2 Câu hỏi tập nhà:

(112)

Ngày soạn: Tiết 41 + 42:

Đ18: vd cách viết sử dụng chơng trình con

A Mục đích, yêu cầu:

1 KiÕn thøc:

- Biết đợc cấu trúc chung vị trí thủ tục chơng trình - Phân biệt đợc tham số giá trị tham số biến

- Nắm đợc khái niệm biến toàn cục biến cục 2 Kỹ năng:

- Nhận biết đợc thành phần thủ tục

- Nhận biết đợc hai loại tham số hình thức thủ tục

- Biết cách khai báo hai loại chơng trình với tham số hình thức chúng - Sử dụng lời gọi chơng trình thân chơng trình

- Phân biệt đợc khác hàm thủ tục - Phân biệt sử dụng biến toàn cục biến cục 3 Thái độ:

- RÌn lun c¸c phÈm chÊt ngời lập trình nh tinh thần hợp tác, làm việc theo nhóm, tuân thủ yêu cầu công việc chung

B phơng pháp phơng tiện:

1 Phơng pháp

Kt hp vi phng phỏp ging dạy nh: truyền thống, vấn đáp, có hình minh hoạ 2 Phơng tiện:

- S¸ch gi¸o khoa

- Máy vi tính máy chiếu Projector để giới thiệu vớ d

C Tiến trình lên lớp, nội dung giảng:

I - n nh lp:

Yờu cầu lớp trởng báo cáo sĩ số II Kiểm tra cũ gợi động học:

- Giới thiệu học

III Bài giảng, nội dung giảng:

Tiết 41:

1 Tìm hiểu cấu trúc chung vị trí thủ tục chơng trình chính. a Mục tiêu:

- Hc sinh biết đợc cấu trúc chung thủ tục vị trí khai báo thủ tục ch-ơng trình

- Häc sinh biÕt kh¸i niƯm vỊ tham sè chơng trình Biết tham số hình thức tham sè thùc sù

(113)

- CÊu trúc vị trí chơng trình chơng trình chính: Program tên_chơng_trình_chính;

Uses khai_báo_th_viện_sử_dụng; Const khai_báo_hằng;

Type khai_báo_kiểu_dữ_liệu;

Var khai_báo_biến;

Procedure tên_thủ_tục(danh sách tham sè); C¸c khai b¸o cđa thđ tơc;

Begin

C¸c lƯnh cđa thđ tơc; End;

BEGIN

Các lệnh chơng trình chính; Lời gọi thực hµm vµ thđ tơc; END

- Tham số hình thức: tham số đợc đa vào định nghĩa chơng trình - Tham số thực sự: tham số đợc viết lời gọi chơng trình

- Tham số biến: khai báo buộc phải có từ khố Var trớc Khi gọi chơng trình con, tham số hình thức tham biến đợc phép thay tham số thực biến

- Tham số giá trị: khai báo khơng có từ khố Var trớc Khi gọi chơng trình con, tham số hình thức tham số giá trị đợc thay tham số thực giá trị biến

c Các bớc tiến hành:

Hot ng ca giỏo viên Hoạt động học sinh Thờigian

1 Giíi thiệu VD mở đầu:

- Chiếu VD1 SGK/96 lên bảng Giới thiệu cho HS cấu trúc thủ tục, vị trÝ khai b¸o cđa thđ tơc, lêi gäi thđ tơc

2 T×m hiĨu cÊu tróc thđ tơc:

- Hỏi: Vị trí thủ tục nằm phần chơng trình ?

- Hỏi: Cấu trúc thủ tục gồm phần ? - Hỏi: Phân biệt giống khác chơng trình chơng trình ? - Giới thiệu cấu trúc chung thủ tục:

Procedure tên_thủ_tục(ds tham số);

1 Quan s¸t theo dâi VD.

2 Quan sát VD, suy nghĩ trả lời.

- Nằm phần khai báo, sau phần khai báo biến

- Ba phần: tên thủ tục, khai báo thủ tục phần thân thủ tục

- Giống: CÊu tróc chung

- Khác: Trong phần tên: từ khố đặt Procedure, có tham số

- Quan sát ghi nhớ cấu trúc chung

5'

(114)

Hoạt động giáo viên Hoạt động học sinh Thờigian

C¸c khai b¸o cđa thđ tơc; Begin C¸c lƯnh cđa thđ tơc; End;

- Hỏi: Lời gọi thủ tục đợc viết phần chơng trình ?

3 T×m hiĨu tham số hình thức tham số thực sự:

- Chiếu VD2 SGK/98 lên bảng

- Yêu cầu HS nhËn xÐt vỊ thđ tơc ve_hcn cđa VD nµy víi VD tríc

- Diễn giải: Khai báo cho phép thủ tục ve_hcn thực vẽ đợc nhiều hình chữ nhật có kích thớc khác

- Hỏi: Quan sát chơng trình cho biết, chơng trình ta vẽ đợc tất hình chữ nhật

- Tham số chdai, chrong đợc gọi tham số hình thức

- Trong lời gọi thủ tục tham số hình thức đợc thay tham số thực - So sánh tham số lời gọi ve_hcn(5,10) ve_hcn(a,b);

4 Tìm hiểu tham số giá trị tham số biến. - Diễn giải: Tham số có hai chức năng: đa liệu vào cho chơng trình đa liệu chơng trình tìm đợc

- Hái: C¸c tham số VD2 thuộc loại ? - Chiếu VD3 SGK/99 lên bảng

- Hi: Cỏc tham s x,y thuộc loại ? - Diễn giải: Trong lời gọi thủ tục, tham số hình thức đợc thay tham số thực tơng ứng tên biến chứa liệu đợc gọi tham số biến

- Hái: x,y lµ tham sè giá trị hay tham số biến ? - Hỏi: Có nhận xét khai báo tham số hình thức tham trị tham biến ?

- Trong phần thân chơng trình 3 Quan sát VD bảng:

- Thủ tục ve_hcn VD cã c¸c tham sè chdai, chrong

- Vẽ đợc hình chữ nhật

- Tham sè thùc sù thủ tục ve_hcn(5,10) số thủ tục ve_hcn(a,b) biến

4 Theo dõi trả lời.

- Đa DL vào cho chơng trình xử lý - Đa DL sau CTC xư lý ngoµi

- Lµ tham sè biÕn

- Khi khai báo tham số biến ta đặt từ khố Var trớc tham số

10'

(115)

Hoạt động giáo viên Hoạt động học sinh Thờigian

- Chiếu VD4 SGK/100 lên bảng giải thích để HS thấy đợc khác biệt tham số giá trị tham số biến

TiÕt 42:

2 T×m hiĨu cÊu trúc chung vị trí hàm chơng trình chÝnh. a Mơc tiªu:

- Học sinh biết đợc cấu trúc chung hàm Biết đợc vị trí khai báo hàm chơng trình

- Học sinh nắm đợc khái niệm biến toàn cục biến cục - Khai báo biến toàn cục biến cục

b Néi dung:

- CÊu trúc vị trí hàm chơng trình chính: Program tên_chơng_trình_chính;

Các khai báo chơng trình chính;

Function tên_hàm(danh sách tham số): kiểu liệu hàm; Các khai báo hàm;

Begin

Các lệnh hàm; Tên hàm := biểu thức; End;

BEGIN

Các lệnh chơng trình chính; Lời gäi thùc hiƯn hµm vµ thđ tơc; END

- Kiểu liệu hàm: kiểu liệu kết hàm c¸c kiĨu: Integer, Real, Char, Boolean, String

- Sử dụng hàm: giống nh sử dụng hàm chuẩn, viết tên hàm cần gọi thay tham số hình thức tham số thực tơng ứng Lời gọi hàm tham gia vào biểu thức nh toán hạng chí tham số lời gọi hàm, thủ tục khác

- Biến cục bộ: biến có ảnh hởng chơng trình con, đợc khai báo chơng trình

- Biến tồn cục: biến có phạm vi ảnh hởng tồn chơng trình, đợc khai báo phần khai báo chơng trình

(116)

Hoạt động giáo viên Hoạt động học sinh Thờigian

1 Nhắc lại kiến thức cũ hàm chuẩn. - Hỏi: Hãy kể tên số hàm chuẩn học cách sử dụng chúng ?

2 Giíi thiƯu cÊu tróc chung vµ vị trí của hàm chơng trình chính.

- Hỏi: So sánh giống khác hàm vµ thđ tơc ?

3 Tìm hiểu hàm thơng qua ví dụ. - Chiếu chơng trình VD SGK/101 - Hỏi: Trong chơng trình có hàm ? - Hàm UCLN(x,y) dùng để làm ? - Hỏi: Lời gọi hm õu ?

- Hỏi: Có khác với thủ tục lời gọi hàm? - Chiếu chơng trình VD SGK/102

- Hỏi: Trong chơng trình có hàm ? Chức hàm ?

- Có lời gọi hàm chơng trình chÝnh ?

4 T×m hiĨu vỊ biÕn cơc bé biến toàn cục. - Chiếu chơng trình VD SGK/101

- Hỏi: Có biến đợc sử dụng chơng trình ? Các biến đợc khai báo chỗ chơng trình ?

- DiƠn giải: Biến tuso, mauso, A có ảnh h-ởng toàn chơng trình Biến sodu ảnh hởng thân chơng trình - Yêu cầu HS phân biệt giống khác biến cục biến toàn cục

1 Suy nghĩ trả lời. - Hµm ABS(), SQRT()

- Viết tên hàm cần gọi tham số - Lời gọi hàm đợc viết biểu thức nh tốn hạng, chí tham số hàm khác

2 Quan s¸t cÊu tróc chung.

- Giống: có cấu trúc tơng tự, có tham số - Khác: tên hàm phải quy định kiểu liệu Thân hàm phải có lệnh Tên hàm:= biểu thức Bắt đầu hàm t Function

3 Quan sát ví dụ trả lời. - Quan sát chơng trình VD

- Mt hàm UCLN, dùng để tìm ớc số chung lớn hai số X, Y

- LÖnh A := UCLN(tuso, mauso);

- Lời gọi hàm phải đợc đặt lệnh lời gọi chơng trình khác - Quan sát chơng trình VD

- Có hàm đợc khai báo - Hàm đợc sử dụng lần

- Kết hàm lại đầu vào cho hàm lần gọi th hai

4 Quan sát lại ví dụ. - Quan sát chơng trình VD

- Cú cỏc biến: tuso, mauso, A, sodu - Các biến tuso, mauso, A đợc khai báo chơng trình Biến sodu đợc khai báo chơng trình

- Biến cục bộ: có ảnh hởng chơng trình con, đợc khai báo phần khai

5'

5'

15'

(117)

Hoạt động giáo viên Hoạt động học sinh Thờigian

b¸o cđa chơng trình

- Bin ton cc: cú phm vi ảnh hởng tồn chơng trình, đợc khai báo phần khai báo chơng trình

IV Đánh giá cuối bài: (5') 1 Những nội dung đ học:Ã

- Có hai loại chơng tr×nh

- Cấu trúc chơng trình vị trí chơng trình chính: chơng trình đợc viết phần khai báo Chơng trình có phần đầu, phần khai báo phần thân

- Chơng trình có tham số hình thức khai báo đợc thay tham số thực gọi chơng trình

- Phân biệt tham số hình thức tham số thực Cách sử dụng tham biến tham trị - Chơng trình đợc gọi tên

2 Câu hỏi tập nhà:

(118)

Ngày soạn: Tiết 43 + 44:

bi tập thực hành 6 A Mục đích, yêu cầu:

1 Kiến thức:

- Củng cố lại kiến thức xâu kí tự, chơng trình 2 Kỹ năng:

- Rèn luyện kỹ xử lí xâu việc tạo hiệu ứng chạy hình - Nâng cao kỹ viết sử dụng chơng trình

B phơng pháp phơng tiện:

1 Phơng pháp

Kt hp vi phng phỏp ging dạy nh: truyền thống, vấn đáp, có hình minh hoạ 2 Phơng tiện:

- Tổ chức phòng máy để HS có đợc kỹ việc tổ chức sử dụng chơng trình lp trỡnh

C Tiến trình lên lớp, nội dung giảng:

I - n nh lp:

Yêu cầu lớp trởng báo cáo sĩ số II Bài giảng, nội dung giảng:

Tiết 43:

1 Tìm hiểu việc xây dựng hai thủ tục catdan(s1,s2) cangiua(s). a Mục tiêu:

- Hc sinh nm đợc chức hai thủ tục catdan() cangiua() Biết đợc ý nghĩa tham số chơng trình

b Néi dung:

- Thđ tơc catdan:

Type str79 = string[79];

Procedure catdan(s1:str79; Var s2:str79); Begin

s2 := copy(s1,2,length(s1)-1) + s1[1]; End;

- Thđ tơc cangiua:

Procedure cangiua(Var s:str79); Var i,n:Integer;

Begin

n := length(s); n := (80-n) div 2; For i := to n s := ' ' + s; End;

(119)

Hoạt động giáo viên Hoạt động học sinh Thờigian

1 T×m hiĨu hai thđ tơc catdan(s1,s2) vµ cangiua(s).

- ChiÕu néi dung thđ tơc catdan(s1,s2) - Hỏi: Đầu vào đầu thủ tục ? - Hỏi: Chức thủ tục ?

- Yêu cầu HS cho mét VD minh ho¹ - ChiÕu néi dung thđ tơc cangiua(s) - Hỏi: đầu vào thủ tục ?

- Hỏi: Thủ tục thực công việc ?

2 Tìm hiểu chơng trình câu b SGK/103,104. - Chiếu chơng trình lên bảng

- Hỏi: Chức chơng trình ?

- Giới thiệu cho HS thủ tục chuẩn: goto(x,y), delay(n) keypressed

- Thực chơng trình để giúp HS thấy kết chơng trình

1 Quan s¸t thđ tơc catdan() trả lời câu hỏi GV.

- Quan sát, suy nghĩ trả lời

- Vo: xõu kí tự s1 ; Ra: biến xâu kí tự s2 - Thực việc tạo xâu s2 từ xâu s1 việc chuyển kí tự thứ đến vị trí cuối xâu

- s1 = 'abcd' th× s2 = 'bcda' - Quan sát, suy nghĩ trả lời

- Đầu vào xâu kí tự S không 79 kí tự

- Th tc thc thêm vào trớc xâu S số kí tự trắng để đa S hình kí tự S ban đầu đợc dòng gồm 80 kớ t

2 Quan sát chơng trình bảng theo dõi dẫn dắt GV.

- Quan sát, suy nghĩ trả lời

- Yờu cầu ngời sử dụng nhập vào xâu kí tự Đa xâu hình có dạng dịng chữ chạy hình văn 25 dịng 80 cột

- Quan sát hình để đối chiếu với kết mà HS tự suy luận tính đợc

20'

25'

TiÕt 44:

2 Rèn luyện kỹ lập trình. a Mục tiªu:

- Học sinh vận dụng đợc hiểu biết chơng trình con, thuật tốn vừa đợc cung cấp để giải toán tổng quát

b Néi dung:

- Viết chơng trình nhập xâu kí tự đa dịng chữ chạy dịng chơng trình quy định

(120)

Hoạt động giáo viên Hoạt động học sinh Thờigian

1 Tìm hiểu yêu cầu bi.

- Chiếu nội dung yêu cầu lên b¶ng

- u cầu HS tìm vấn đề mi bi ny

- Yêu cầu HS lập trình máy

- Yêu cầu HS thực chơng trình nhập liệu test

- Đánh giá kết lập trình HS

1 Quan sát yêu cầu bảng.

- V c giống nh nhiệm vụ mà câu b làm Chỉ khác chơng trình câu b ln cho xâu kí tự chạy dịng 12, cịn xâu kí tự phải chạy dịng Vì phải truyền tham số quy định dòng chạy cho th tc

- Độc lập viết chơng trình vào máy báo cáo kết thử nghiệm

- Nhập liệu test cho GV báo cáo kết qu¶

5' 5'

20' 5' 5'

III Đánh giá cuối bài: (5')

Câu hỏi bµi tËp vỊ nhµ:

- Viết thủ tục chaychu(S,dong) nhận tham số xâu S gồm không 79 kí tự biến nguyên Dong In hình dịng chữ xác định S chạy dịng Dong Viết chơng trình thực có sử dụng th tc ny

(121)

Ngày soạn: TiÕt 45 + 46:

bài tập thực hành 7 A Mục đích, yêu cầu:

1 KiÕn thøc:

- Củng cố lại kiến thức chơng trình con: thủ tục, hàm, tham số biến tham số giá trị, biến toàn cục biến cục

2 Kỹ năng:

- S dng c chng trình để giải trọn vẹn tốn trờn mỏy tớnh

B phơng pháp phơng tiện:

1 Phơng pháp

Kt hp vi phng phỏp giảng dạy nh: truyền thống, vấn đáp, có hình minh hoạ 2 Phơng tiện:

- Tổ chức phòng máy để HS có đợc kỹ việc tổ chức sử dụng chơng trình lp trỡnh

C Tiến trình lên lớp, nội dung giảng:

I - n nh lp:

Yêu cầu lớp trởng báo cáo sĩ số II Bài giảng, nội dung giảng:

Tiết 45:

1 Tìm hiểu việc xây dựng hàm, thủ tục chơng trình thực việc liên quan đến tam giác.

a Mơc tiªu:

- Học sinh biết đợc hàm thủ tục chơng trình Hiểu đợc chức chơng trình Tính đợc đầu vào đầu chơng trình

b Néi dung:

Procedure daicanh(r:tamgiac ; var a,b,c:Real);

{Nhận đầu vào biến r mô tả tam giác đầu độ dài cnh a,b,c} Function Chuvi(Var r:tamgiac):Real;

{Cho giá trị chu vi cđa tam gi¸c r} Function Dientich(Var r:tamgiac):Real;

{Cho giá trị diện tích tam giác r}

Procedure tinhchat(Var r:tamgiac ; var deu,can,vuong:Boolean);

{Nhận đầu vào biến r mô tả tam giác đầu tính chất tam giác: đều, cân vuông}

Procedure hienthi(Var r:tamgiac);

{Hiển thị toạ độ đỉnh tam giác hình} Function kh_cach(p,q:diem):Real;

(122)

Hoạt động giáo viên Hoạt động học sinh Thờigian

1 T×m hiểu việc xây dựng hàm thủ tục. - Chiếu khai báo kiểu liệu diem tamgiac Chiếu hàm thủ tục lên bảng - Hỏi: Chức chơng trình ?

- Có tham số ? Tham số dạng tham số biến tham số dạng tham số giá trị

2 Tìm hiểu chơng trình câu b SGK/106. - Chiếu chơng trình câu b

- Hỏi: Chơng trình thực công việc ?

- Thực chơng trình để giúp HS thấy đợc kết

- Thay tham biến thành tham trị để HS thấy đợc sai khác

1 Quan s¸t chơng trình con, lệnh và khai báo tham sè.

- Chức chơng trình con: daicanh(); tính độ dài cạnh a, b, c r chuvi():Real; cho giá trị chu vi r dientich():Real; cho giá trị diện tích

r

tinhchat(); khẳng định tính chất tam giác: đều, cân vuông

hienthi(); hiển thị toạ độ đỉnh tam giác hình

kh_cach():Real; cho giá trị khoảng cách hai điểm

- Tham sè biÕn: r, a, b, c - Tham số giá trị: p, q

2 Quan sát chơng trình, dự tính chức năng chơng trình.

- Nhập vào toạ độ đỉnh tam giác khảo sát tính chất tam giác: cân, đều, vng In chu vi diện tích tam giác - Quan sát kết hình để đối chiếu với kết tự tính đợc

- Quan sát ghi nhớ kết để thấy đợc hiệu ứng thay đổi tham trị tham biến

15'

30'

TiÕt 46:

2 Rèn luyện kỹ lập trình. a Mục tiêu:

- Viết đợc chơng trình có sử dụng chơng trình để tính đợc số lợng tam giác đều, số lợng tam giác cân số lợng tam giác vng

b Néi dung:

- Viết chơng trình sử dụng hàm thủ tục đợc xây dựng để giải toán sau:

(123)

N dòng tiếp theo: dòng ghi số thực xA, yA, xB, yB, xC, yC toạ độ đỉnh A, B, C tam giỏc (cỏc s ny |32000|)

Yêu cầu: Đọc liệu từ tệp TAMGIAC.INP, xử lý đa kết tệp TAMGIAC.OUT gồm dòng:

Dũng 1: Ghi số lợng tam giác

Dòng 2: Ghi số lợng tam giác cân (nhng khơng đều) Dịng 1: Ghi số lợng tam giác vng

c C¸c bíc tiÕn hµnh:

Hoạt động giáo viên Hoạt động học sinh Thờigian

1 Phân tích yêu cầu đề bài. - Chiếu nội dung yêu cầu lên bảng - Chia lớp thành nhóm:

+ Nhóm 1: Nêu câu hỏi phân tích để giải tốn

+ Nhóm 2: Trả lời câu hỏi phân tích nhóm để tìm cách giải tốn - GV góp ý bổ sung cho câu hỏi phân tích trả lời phân tích

2 Lập trình:

- Yêu cầu HS lập trình máy GV tiếp

1 Quan sát yêu cầu.

- Nhóm 1: Đặt câu hỏi: + Dữ liệu vào

+ Dữ liệu

+ Cần sửa chỗ chơng trình câu b

+ Thuật tốn để đếm số lợng loại hình tam giỏc

- Nhóm 2: Trả lời câu hỏi ph©n tÝch:

+ Cho tệp, phải viết lệnh đọc liệu tệp

+ Ba số nguyên dơng số lợng loại hình tam giác Ba số đợc ghi dòng tệp

+ Cần thay đoạn chơng trình nhập liệu chơng trình để đọc liệu từ tệp TAMGIAC.INP Thay đoạn chơng trình in kết hình chơng trình để in số nguyên dơng số lợng loại hình tệp TAMGIAC.OUT

+ ThuËt to¸n: NÕu Deu thi d:=d+1

Ngợc lại Can c:=c+1 Ngợc lại th× v:=v+1

2 Độc lập viết chơng trình, thực chơng trình test tự tạo.

15'

(124)

Hoạt động giáo viên Hoạt động học sinh Thờigian

cận HS để sa li cn thit

- Yêu cầu HS nhập liệu vào GV báo cáo kết chơng trình

- Đánh giá kết HS

- Thông báo kết cho GV

- Nhập liệu GV báo cáo kết

IV Đánh giá cuối bài: (5') 1 Những nội dung đ học:Ã

- Cỏch xõy dng hàm thủ tục, cách khai báo tham số dạng tham biến tham trị - Tìm hiểu số chơng trình liên quan đến tam giác

2 Câu hỏi tập nhà:

- Cho tệp liệu TAMGIAC.INP có cấu trúc nh sau: Dòng 1: Ghi sè nguyªn N (1  N  100)

N dòng tiếp theo: dòng ghi số thực xA, yA, xB, yB, xC, yC toạ độ đỉnh A, B, C tam giác (các số  |32000|)

- Đọc đọc thêm: Ai lập trình viên ? SGK/109

Ngày đăng: 30/04/2021, 02:21

Tài liệu cùng người dùng

Tài liệu liên quan