Giáo án Tin học Lớp 11 - Bài 1-11

Giáo án Tin học Lớp 11 - Bài 1-11

I. Mục tiêu

1. Về kiến thức:

- Biết ngôn ngữ lập trình có 3 thành phần cơ bản: bảng chữ cái, cú pháp và ngữ nghĩa.

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

2. Về kỹ năng:

- Phân biệt được tên, tên chuẩn, tên dành riêng, tên do người lập trình đặt.

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

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

3. Về tư duy và thái độ:

- Nhận biết được quá trình phát triển của ngôn ngữ lập trình gắn liền với quá trình phát triển của tin học nhằm giải quyết các bài toán thực tiễn ngày càng phức tạp.

- Ham muốn học một ngôn ngữ lập trình cụ thể để có khả năng giải quyết các bài toán trên máy tính điện tử.

- Có tính kỉ luật cao và tinh thần làm việc theo nhóm.

4. Định hướng hình thành và phát triển năng lực:

- Phát triển năng lực sử dụng ngôn ngữ (bằng cách thông qua hoạt động phát biểu định nghĩa, định lí, phương pháp, quy tắc,. đã học).

- Phát triển năng lực giao tiếp và năng lực hợp tác (thông qua hoạt động theo nhóm).

- Phát triển năng lực giải quyết vấn đề.

- Phát triển năng lực tự quản lý và năng lực tự học.

II. Phương tiện dạy học

 1. Chuẩn bị của giáo viên: Giáo án, sách giáo khoa chuyên tin quyển 1

 2. Chuẩn bị của học sinh: sách giáo khoa, tập, đọc trước bài ở nhà

 

doc 83 trang huemn72 5530
Bạn đang xem 20 trang mẫu của tài liệu "Giáo án Tin học Lớp 11 - Bài 1-11", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tiết PPCT: 1
CHƯƠNG I
MỘT SỐ KHÁI NIỆM VỀ LẬP TRÌNH VÀ NGÔN NGỮ LẬP TRÌNH
§1. Khái niệm về lập trình và ngôn ngữ lập trình
—–
I. Mục tiêu
1. Kiến thức: 
- Hiểu khả năng của ngôn ngữ lập trình bậc cao, phân biệt được với ngôn ngữ máy và hợp ngữ.
- Biết được vai trò của chương trình dịch.
- Phân biệt được biên dịch và thông dịch.
2. Định hướng hình thành và phát triển năng lực: 
- Phát triển năng lực sử dụng ngôn ngữ (bằng cách thông qua hoạt động phát biểu khái niệm đã học).
- Phát triển năng lực giao tiếp và năng lực hợp tác (thông qua hoạt động theo nhóm).
- Phát triển năng lực giải quyết vấn đề.
- Phát triển năng lực năng lực tự học.
II. Phương tiện dạy học
	 1. Chuẩn bị của giáo viên: Giáo án, sách giáo khoa chuyên tin quyển 1 
	 2. Chuẩn bị của học sinh: sách giáo khoa, tập, đọc trước bài ở nhà 
III. Hoạt động dạy – học:
1. Tình huống xuất phát: Chúng ta đã được làm quen một số khái niệm về lập trình và ngôn ngữ lập trình trong chương trình Tin học trung học cơ sở. Với chương trình Tin học 11 năm nay chúng ta sẽ có cơ hội tìm hiểu sâu hơn về ngôn ngữ lập trình. Và bài đầu tiên của chương 1 là một số khái niệm về lập trình và ngôn ngữ lập trình.
2. Hình thành kiến thức:
Hoạt động của giáo viên
Hoạt động của học sinh
Nội dung
Hoạt động 1. Làm rõ khái niệm lập trình và ngôn ngữ lập trình (Hình thành năng lực phát hiện vấn đề và giải quyết vấn đề, năng lực sử dụng ngôn ngữ, năng lực hợp tác, năng lực tự học)
- Ở lớp 10 chúng ta đã biết các bước để giải bài toán trên máy tính. Em hãy nêu các bước để giải bài toán trên máy tính?
- Nhận xét câu trả lời của học sinh và nhắc lại các bước giải bài toán trên máy tính.
- Suy nghĩ và trả lời 
1. Khái niệm lập trình, ngôn ngữ lập trình:
a. Khái niệm lập trình:
- Giải thích:
+ XĐ bài toán: là xác định input và output.
+ Lựa chọn hoặc thiết kế thuật toán: Một thuật toán chỉ giải được một bài toán nào đó, nhưng có thể có nhiều thuật toán khác nhau cùng giải một bài toán. Do đó chúng ta cần thiết kế hoặc chọn 1 thuật toán phù hợp để giải bài toán cho trước.
- Nghe giảng
- Hãy nhắc lại khái niệm ngôn ngữ lập trình?
- Ngôn ngữ để viết chương trình được gọi là ngôn ngữ lập trình.
- Với một bài toán, sau khi xác định được thuật toán, ta cần phải làm thế nào để máy tính hiểu và thực hiện được thuật toán đã lựa chọn để giải bài toán. Theo các em ta phải làm thế nào?
- Phải dùng ngôn ngữ máy hiểu được để biểu diễn thuật toán đó thành một chương trình được gọi là lập trình.
- Thế nào gọi là lập trình?
- Lập trình là sử dụng cấu trúc dữ liệu và các câu lệnh của một ngôn ngữ lập trình cụ thể để mô tả dữ liệu và diễn đạt các thao tác của thuật toán.
- Lập trình là sử dụng cấu trúc dữ liệu và các câu lệnh của một ngôn ngữ lập trình cụ thể để mô tả dữ liệu và diễn đạt các thao tác của thuật toán.
- Thảo luận nhóm: (Hình thành năng lực giao tiếp và năng lực hợp tác) Em hãy cho biết có mấy loại ngôn ngữ lập trình? Chia lớp thành 4 nhóm, phát phiếu học tập cho các nhóm và yêu cầu các nhóm ghi lại các loại ngôn ngữ lập trình đã biết vào phiếu học tập. Yêu cầu đại diện các nhóm đọc kết quả.
- Nhận xét chung và kết luận.
- Thảo luận nhóm và đọc kết quả trước lớp.
- Nhận xét kết quả các nhóm khác.
b. Ngôn ngữ lập trình:
Có 3 loại ngôn ngữ lập trình.
+ Ngôn ngữ máy
+ Hợp ngữ
+ Ngôn ngữ bậc cao
- Mỗi loại máy có một ngôn ngữ riêng thường thì chương trình viết bằng ngôn ngữ của một loại máy nào thì chỉ chạy được trên loại máy đó.
- Nghe giảng.
- Chương trình viết bằng ngôn ngữ máy có thể nạp trực tiếp vào bộ nhớ và thực hiện ngay.
- Ví dụ: một người Việt Nam nói chuyện với một người Mĩ chỉ biết tiếng Anh bằng tiếng Việt, thì người Mĩ có hiểu không?
- Không.
- Vậy phải làm gì để người Mĩ hiểu được? 
- Dịch ra tiếng Anh
- Chương trình viết bằng ngôn ngữ bậc cao thì máy có hiểu được không?
- Chương trình viết bằng ngôn ngữ bậc cao nói chung không phụ thuộc vào loại máy. Chương trình muốn thực hiện được thì phải chuyển sang ngôn ngữ máy.
- Chương trình viết bằng ngôn ngữ bậc cao nói chung không phụ thuộc vào loại máy. Chương trình muốn thực hiện được thì phải chuyển sang ngôn ngữ máy.
Hoạt động 2: Làm rõ khái niệm chương trình dịch (Hình thành năng lực phát hiện vấn đề và giải quyết vấn đề, năng lực sử dụng ngôn ngữ, năng lực tự học)
- Khi viết bằng ngôn ngữ lập trình bậc cao muốn thực hiện được trên loại máy nào thì cần chuyển chương trình sang ngôn ngữ của máy đó.
- Như vậy thì một câu hỏi đặt ra: Làm thế nào để chuyển chương trình viết bằng ngôn ngữ lập trình bậc cao sang ngôn ngữ máy?
- Muốn chuyển chương trình bằng ngôn ngữ bậc cao sang ngôn ngữ máy thì phải dịch, chương trình làm nhiệm vụ dịch đó gọi là chương trình dich.
- Suy nghĩ trả lời
2. Chương trình dịch:
2.1. Khái niệm:
- Chương trình dịch là gì?
- Chương trình dịch là chương trình đặc biết có chức năng chuyển đổi chương trình viết bằng ngôn ngữ lập trìnhbậc cao sang ngôn ngữ máy để máy có thể thực hiện được.
- Chương trình dịch là chương trình đặc biết có chức năng chuyển đổi chương trình viết bằng ngôn ngữ lập trìnhbậc cao sang ngôn ngữ máy để máy có thể thực hiện được.
- Bạn là người không biết tiếng Anh vậy làm sao bạn có thể giới thiệu trường mình với người khách đến từ Mĩ chỉ biết tiếng anh?
- Cách 1: bạn nói bằng tiếng việt, sau đó nhờ người phiên dịch sang tiếng anh. Người phiên dịch dịch ngay từng câu khi hai người nói chuyện. Cách dich trực tiếp như thế này gọi là thông dịch.
- Cách 2: bạn soạn nội dung ra giấy, người phiên dịch dịch toàn bộ nội dung sang tiếng anh rồi đưa cho người khách xem. Cách dịch như vậy được gọi là biên dịch.
2.2. Phân loại ct dịch:
- Tương tự, chương trình dịch cũng có 2 loại: thông dịch và biên dịch.
- Nghe giảng.
- Chương trình dịch có 2 loại + Thông dịch
+ Biên dịch
- Hãy phân tích đặc điểm của thông dịch?
- Tham khảo SGK và suy nghĩ trả lời.
a. Thông dịch (Interpreter)
+ Dịch lần lượt từng câu lệnh và thực hiện ngay câu lệnh ấy. Thông dịch là việc lặp lại dãy các bước:
- Kiểm tra tính đúng đắn của câu lệnh tiếp theo trong chương trình nguồn.
- Chuyển đổi câu lệnh đó thành một hay nhiều câu lệnh tương ứng trong ngôn ngữ máy.
- Thực hiện các câu lệnh vừa chuyển đổi.
- Các chương trình thông dịch lần lượt dịch và thực hiện từng câu lệnh, thích hợp cho môi trường giữa người và hệ thống.
- Nghe giảng.
- Hãy phân tích đặc điểm của biên dịch?
- Tham khảo SGK và suy nghĩ trả lời.
b. Biên dịch (Compiler)
Thực hiện qua hai bước sau:
- Duyệt, phát hiện lỗi, kiểm tra tính đúng đắn của câu lệnh trong Chương trình nguồn.
- Dịch toàn bộ chương trình nguồn thành một chương trình đích có thể thực hiện trên máy và có thể lưu trữ để sử dụng khi cần thiết.
- Thông dịch không có chương trình đích để lưu trữ, biên dịch cả chương trình nguồn và chương trình đích có thể lưu trữ lại để sử dụng về sau.
- Nghe giảng.
3. Luyện tập và thực hành: 
	+ Khái niệm lập trình và ngôn ngữ lập trình?
	+ Có 3 loại ngôn ngữ lập trình: ngôn ngữ máy, hợp ngữ, ngôn ngữ bậc cao.
	+ Tại sao người ta hay sử dụng ngôn ngữ lập trình bậc cao?
	+ Khái niệm chương trình dịch?
	+ Phân biệt 2 loại chương trình dịch: Thông dịch và biên dịch?
4. Vận dụng, mở rộng và bổ sung:
- Xem lại bài đã học
- Đọc bài đọc thêm.
- Chuẩn bị bài “ Các thành phần của ngôn ngữ lập trình”.
IV. Rút kinh nghiệm:
- Ưu điểm:
- Hạn chế:
Tiết PPCT: 2
CHƯƠNG I
MỘT SỐ KHÁI NIỆM VỀ LẬP TRÌNH VÀ NGÔN NGỮ LẬP TRÌNH
§2. Các thành phần của ngôn ngữ lập trình.
—–
I. Mục tiêu
1. Về kiến thức: 
- Biết ngôn ngữ lập trình có 3 thành phần cơ bản: bảng chữ cái, cú pháp và ngữ nghĩa.
	- Biết một số khái niệm: tên, tên chuẩn, tên dành riêng, tên do người lập trình đặt, hằng, biến.
2. Về kỹ năng:
- Phân biệt được tên, tên chuẩn, tên dành riêng, tên do người lập trình đặt.
- Nhớ các quy định về tên, hằng và biến trong một ngôn ngữ lập trình.
- Biết đặt tên đúng và nhận biết được tên sai quy định.
3. Về tư duy và thái độ: 
- Nhận biết được quá trình phát triển của ngôn ngữ lập trình gắn liền với quá trình phát triển của tin học nhằm giải quyết các bài toán thực tiễn ngày càng phức tạp.
- Ham muốn học một ngôn ngữ lập trình cụ thể để có khả năng giải quyết các bài toán trên máy tính điện tử.
- Có tính kỉ luật cao và tinh thần làm việc theo nhóm. 
4. Định hướng hình thành và phát triển năng lực: 
- Phát triển năng lực sử dụng ngôn ngữ (bằng cách thông qua hoạt động phát biểu định nghĩa, định lí, phương pháp, quy tắc,... đã học).
- Phát triển năng lực giao tiếp và năng lực hợp tác (thông qua hoạt động theo nhóm).
- Phát triển năng lực giải quyết vấn đề.
- Phát triển năng lực tự quản lý và năng lực tự học.
II. Phương tiện dạy học
	 1. Chuẩn bị của giáo viên: Giáo án, sách giáo khoa chuyên tin quyển 1 
	 2. Chuẩn bị của học sinh: sách giáo khoa, tập, đọc trước bài ở nhà 
III. Hoạt động dạy – học:
1. Tình huống xuất phát:
	Kiểm tra bài cũ: 
	Hãy cho biết khái niệm lập trình?
	Chương trình dịch là gì?
	Phân biệt 2 loại chương trình dịch: Thông dịch và biên dịch?
	Giới thiệu bài mới: Ở tiết trước, chúng ta đã biết một số khái niệm về lập trình và ngôn ngữ lập trình. Vậy, ngôn ngữ lập trình gồm các thành phần nào? Chúng ta sẽ tìm hiểu tiếp bài 2: Các thành phần của ngôn ngữ lập trình.
2. Hình thành kiến thức:
Hoạt động của giáo viên
Hoạt động của học sinh
Nội dung
Hoạt động 1: Tìm hiểu các thành phần cơ bản của ngôn ngữ lập trình (Hình thành năng lực phát hiện vấn đề và giải quyết vấn đề, năng lực sử dụng ngôn ngữ, năng lực hợp tác, năng lực tự học)
- Tiếng Việt được hình thành từ những yếu tố nào? 
- Suy nghĩ trả lời
1. Các thành phần cơ bản
Tiếng Việt nói riêng và các ngôn ngữ tự nhiên nói chung được hình thành từ:
- Bảng chữ cái
- Ngữ pháp
- Ngữ nghĩa của từ và câu
- Theo em, ngôn ngữ lập trình có tương tự như ngôn ngữ tự nhiên không?
- Suy nghĩ trả lời
- Chiếu lên màn hình chương trình viết bằng Free Pascal. Em hãy quan sát chương trình và cho biết người ta đã sử dụng các kí hiệu nào để viết chương trình?
- Suy nghĩ trả lời
- Nhận xét và tiếp tục dẫn dắt: ngôn ngữ lập trình cũng tương tự như ngôn ngữ tự nhiên. Hãy cho biết ngôn ngữ lập trình gồm các thành phần nào?
- Suy nghĩ trả lời
- Mỗi ngôn ngữ lập trình thường có 3 thành phần cơ bản: Bảng chữ cái, cú pháp, ngữ nghĩa.
- Thảo luận nhóm: (Hình thành năng lực giao tiếp và năng lực hợp tác): Hãy cho biết khái niệm bảng chữ cái của ngôn ngữ lập trình?
- Nhận xét chung và kết luận.
- Tiếp tục dẫn dắt học sinh: Chú ý bảng chữ cái của các ngôn ngữ lập trìnhkhông khác nhau nhiều.
Ví dụ: Bảng chữ cái của ngôn ngữ C++ so với Pascal chỉ thêm vài kí tự là ( “ ), ( \ ), ( ! ).
- Thảo luận nhóm và đọc kết quả trước lớp.
- Nhận xét kết quả các nhóm khác.
a. Bảng chữ cái:
Bảng chữ cái: là tập các kí tự dùng để viết chương trình. Không được dùng bất kì kí tự nào ngoài các kí tự quy định trong bảng chữ cái.
Các chữ cái thường dùng:
A B C D E F G H I J K L M N O P Q R S T U V W Y Z.
a b c d e f g h i j k l m n o p q r s t u v w y z.
10 chữ số thập phân Ả Rập: 0 1 2 3 4 5 6 7 8 9.
Các ký tự :
+	-	*	/	=	 	[	]	.	,
;	#	^	$	@	&	(	)	{	}	:	‘
Dấu cách(mã ASCII 32)
b. Cú pháp:
- Trong tiếng việt muốn viết câu đúng thì phải dựa vào đâu?
- Nhận xét 
- Suy nghĩ trả lời 
- Tượng tự, trong lập trình để viết chương trình đúng người ta dựa vào cái gì?
- Cú pháp là gì?
- Suy nghĩ trả lời 
- Đọc sách giáo khoa và Suy nghĩ trả lời 
- Là bộ quy tắc dùng để viết chương trình, dựa vào đó mà người lập trình và chương trình dịch phát hiện ra chỗ sai sót trong chương trình 
- Dẫn dắt: “Cú pháp cũng có sự khác nhau giữa các ngôn ngữ lập trình” và nêu ví dụ minh họa.
Ví dụ: Pascal dùng cặp từ Begin End; để gộp nhiều câu lệnh thành một. Còn trong C++ thì sử dụng cặp kí tự { }
- Nghe giảng.
c. Ngữ nghĩa:
- Trong tiếng việt khi ta nói một câu thì người nghe phải hiểu được ý nghĩa của câu nói đó. Vậy, trong lập trình phải xác định được ý nghĩa của tổ hợp các kí tự trong chương trình, đó là ngữ nghĩa.
- Nghe giảng.
- Xác định ý nghĩa thao tác cần thực hiện, ứng với tổ hợp kí tự dựa vào ngữ cảnh của nó.
- Ví dụ: Xét 2 biểu thức:
A+B (1) A,B là các số thực.
A+B (2) A,B là các số nguyên.
Dấu + trong (1) là cộng 2 số thực, trong (2) là cộng 2 số nguyên.
=>Tóm lại cú pháp cho biết cách viết một chương trình hợp lệ, còn ngữ nghĩa xác định ý nghĩa của tổ hợp kí tự trong chương trình.
=>Chương trình dịch phát hiện lỗi về cú pháp nhưng không phát hiện lỗi ngữ nghĩa.
- Nghe giảng.
- Lỗi cú pháp được chương trình dịch phát hiện và thông báo cho người lập trình. Chương trình không còn lỗi cú pháp thì mới dịch sang ngôn ngữ máy.
- Lỗi ngữ nghĩa được phát hiện khi chạy chương trình.
Hoạt động 2 : Tìm hiểu khái niệm tên (Hình thành năng lực phát hiện vấn đề và giải quyết vấn đề, năng lực sử dụng ngôn ngữ, năng lực hợp tác, năng lực tự học)
2. Một số khái niệm:
a. Tên:
- Mọi đối tượng trong chương trình đều phải được đặt tên. Em hãy cho biết quy tắc đặt tên trong ngôn ngữ lập trình Pascal?
- Cho các ví dụ sau, hãy cho biết tên nào đúng quy tắc:
ABC
Q89_O
A 12 3
_12BN
87_AC
@DFG12
BGV#21
- Nhận xét 
- Suy nghĩ trả lời 
- Suy nghĩ trả lời 
- Mọi đối tượng trong chương trình đều phải được đặt tên. Em hãy cho biết quy tắc đặt tên trong Turbo Pascal.
- Quy tắc đặt tên trong Turbo Pascal:
+ Gồm chữ số, chữ cái, dấu gạch dưới.
+ Bắt đầu bằng chữ cái hoặc dấu gạch dưới.
+ Độ dài không vượt quá 127 kí tự.
- Trong Free Pascal, tên có thể có độ dài tới 255 kí tự.
- Pascal không phân biệt chữ hoa, thường trong tên. C++ phân biệt chữ hoa, thường trong tên.
- Nghe giảng.
- Trong Free Pascal, tên có thể có độ dài tới 255 kí tự.
- Pascal không phân biệt chữ hoa, thường trong tên. C++ phân biệt chữ hoa, thường trong tên.
- Đọc sách giáo khoa và cho biết ngôn ngữ lập trình thường có mấy loại tên?
- Suy nghĩ trả lời 
- Ngôn ngữ lập trình thường có 3 loại tên: tên dành riêng, tên chuẩn, tên do người lập trình đặt.
- Thảo luận nhóm: (Hình thành năng lực giao tiếp và năng lực hợp tác): Chia lớp thành 3 nhóm, mỗi nhóm trình bày khái niệm về một loại tên trên và cho ví dụ minh họa.
- Nhận xét chung và kết luận lại nội dung. Lưu ý với học sinh: trong Pascal, từ khóa có màu trắng.
- Thảo luận nhóm và trình bày kết quả.
- Nhận xét kết quả báo cáo của các nhóm khác.
- Nghe giảng 
- Tên dành riêng (từ khóa): Là những tên được ngôn ngữ lập trìnhquy định với ý nghĩa xác định mà người lập trình không thể dùng với ý nghĩa khác
Ví dụ: Một số từ khóa
Trong Pascal: Program, Var, Uses, Begin, End, ...
Trong C++: main, include, void, ...
- Tên chuẩn Là những tên được ngôn ngữ lập trìnhdùng với ý nghĩa nhất định nào đó , tuy nhiên người lập trình có thể sử dụng với ý nghĩa khác
Ví dụ: Một số tên chuẩn:
Trong Pascal: Real, Integer, Sin, Cos, Char, ...
Trong C++: cin, cout, getchar...
- Tên do người lập trình tự đặt dùng với ý nghĩa riêng, xác định bằng cách khai báo trước khi sử dụng và không được trùng với tên dành riêng.
VD: A, S, X, XY, vidu 
- Cho ví dụ:
 Program ct_vd;
 Uses crt;
 Begin
 Clrscr;
 Write(‘ Xin chào lớp 11A’);
 Readln;
 End.
- Hãy xác định tên dành riêng, tên chuẩn, tên do người lập trình đặt.
- Suy nghĩ trả lời 
- Tên dành riêng : program, uses, begin, end
- Tên chuẩn : Write, Readln
- Tên do người lập trình đặt : ct_vd.
Hoạt động 3: Tìm hiểu khái niệm hằng và biến (Hình thành năng lực phát hiện vấn đề và giải quyết vấn đề, năng lực sử dụng ngôn ngữ, năng lực hợp tác, năng lực tự học)
- Hằng là gì? Trong ngôn ngữ lập trình thường có các loại hằng nào?
.
- Suy nghĩ trả lời 
b. Hằng và biến:
- Hằng: Là các đại lượng có giá trị không đổi trong quá trình thực hiện chương trình
- Các ngôn ngữ lập trình thường có:
+ Hằng số học: Số nguyên, số thực
+ Hằng logic: Có giá trị đúng hoặc sai(true hoăc false)
+ Hằng xâu: Là chuổi kí tự trong bộ mã ASCII. 
Trong Pascal: Chuổi kí tự này được đặt trong cặp nháy đơn (‘’) còn trong C++ đặt trong(“”).
- Hãy trình bày khái niệm biến?
- Suy nghĩ trả lời 
- Biến Là đại lượng được đặt tên, dùng để lưu trữ giá trị và giá trị có thể thay đổi được trong quá trình thực hiện chương trình.
- Biến có nhiều loại và phải khai báo trước khi sử dụng.
- VD: Xác định các đại lượng có trong bài toán: “Tính chu vi (CV), diện tích (DT) hình tròn với bán kính (R) bất kì được đưa vào từ bàn phím”. Hãy cho biết đại lượng nào là hằng? đại lượng nào là biến?
- Suy nghĩ trả lời 
- Pi là hằng.
 R, CV, DT là biến.
c. Chú thích :
- Cho biết chức năng của chú thích trong chương trình?
- Suy nghĩ trả lời 
- Chú thích có thể có hoặc không. Nó không làm ảnh hưởng đến chương trình.
- Trong Pascal chú thích được đặt trong { } hoặc (* *)
3. Luyện tập và thực hành: 
	Các thành phần cơ bản của ngôn ngữ lập trình? Sự khác nhau giữa tên dành riêng và tên chuẩn?
4. Vận dụng, mở rộng và bổ sung
- Xem lại bài đã học
- Đọc bài đọc thêm.
- Chuẩn bị bài “ Cấu trúc chương trình”.
IV. Rút kinh nghiệm:
- Ưu điểm:
Tiết PPCT: 3
CHƯƠNG II
CHƯƠNG TRÌNH ĐƠN GIẢN
§3. Cấu trúc của chương trình
—–
I. Mục tiêu
1. Về kiến thức: 
- Hiểu chương trình là sự mô tả của thuật toán bằng một ngôn ngữ lập trình
	- Biết cầu trúc chung của một chương trình Pascal
2. Về kỹ năng:
- Nhận biết được các thành phần của một chương trình đơn giản.
3. Về tư duy và thái độ: 
- Nhận biết được quá trình phát triển của ngôn ngữ lập trìnhgắn liền với quá trình phát triển của tin học nhằm giải quyết các bài toán thực tiễn ngày càng phức tạp.
- Có tính kỉ luật cao và tinh thần làm việc theo nhóm. 
4. Định hướng hình thành và phát triển năng lực: 
- Phát triển năng lực sử dụng ngôn ngữ (bằng cách thông qua hoạt động phát biểu định nghĩa, định lí, phương pháp, quy tắc,... đã học).
- Phát triển năng lực giao tiếp và năng lực hợp tác (thông qua hoạt động theo nhóm).
- Phát triển năng lực giải quyết vấn đề.
- Phát triển năng lực tự quản lý và năng lực tự học.
II. Phương tiện dạy học
	 1. Chuẩn bị của giáo viên: Giáo án, sách giáo khoa chuyên tin quyển 1 
	 2. Chuẩn bị của học sinh: sách giáo khoa, tập, đọc trước bài ở nhà 
III. Hoạt động dạy – học:
1. Tình huống xuất phát: Chương I chúng ta đã tìm hiểu một số khái niệm về lập trình, dựa trên sự hiểu biết đó chúng ta nghiên cứu tiếp một số chương trình đơn giản của ngôn ngữ lập trình Turbo Pascal. 
2. Hình thành kiến thức:
 Hoạt động của giáo viên
Hoạt động của học sinh
Nội dung
Hoạt động 1: Tìm hiểu cấu trúc chung của một chương trình (Hình thành năng lực phát hiện vấn đề và giải quyết vấn đề, năng lực sử dụng ngôn ngữ, năng lực hợp tác, năng lực tự học)
1. Cấu trúc chung
- Khi đã có thuật toán để giải bài toán, muốn máy tính giải bài toán đó ta phải làm gì?
- Nhận xét câu trả lời của học sinh và kết luận: Muốn máy tính giải bài toán đó ta phải biểu diễn thuật toán bằng một chương trình trên một ngôn ngữ lập trình nào đó.
- Suy nghĩ trả lời 
- Muốn máy tính giải bài toán đó ta phải biểu diễn thuật toán bằng một chương trình trên một ngôn ngữ lập trình nào đó.
- Một bài tập làm văn thường có mấy phần? Vì sao phải chia ra như vậy?
- Nhận xét câu trả lời của học sinh và kết luận:
*Chia làm 3 phần: Mở bài, thân bài, kết luận
*Dễ viết, dễ đọc, dễ hiểu nội dung.
- Suy nghĩ trả lời 
- Đối với chương trình viết bằng ngôn ngữ lập trình bậc cao gồm 2 phần: phần khai báo, phần thân. Trong đó phần thân chương trình phải có, phần khai báo có thể có hoặc không tuỳ thuộc chương trình cụ thể.
- Nghe giảng 
- Một chương trình viết bằng ngôn ngữ lập trìnhbậc cao gồm 2 phần: 
	+ Phần khai báo
	+ Phần thân CT
[ ]
Hoạt động 2: Tìm hiểu các thành phần của một chương trình. (Hình thành năng lực phát hiện vấn đề và giải quyết vấn đề, năng lực sử dụng ngôn ngữ, năng lực hợp tác, năng lực tự học)
2. Các thành phần của chương trình:
a. Phần khai báo:
- Phần khai báo sẽ báo cho máy biết chương trình sẽ sử dụng những tài nguyên nào của máy.
- Yêu cầu học sinh nghiên cứu sách giáo khoa để trả lời câu hỏi: Trong phần khai báo có những khai báo nào?
- Nghe giảng 
- Suy nghĩ trả lời 
- Phần khai báo có thể có các khai báo:
 + Tên chương trình 
 + Thư viện
 + Hằng, biến
 + Chương trình con
Khai báo tên chương trình: Phần này có thể có hoặc không.
- Khai báo tên chương trình có bắt buộc không?
- Suy nghĩ trả lời 
- Cho biết cách khai báo tên chương trình trong Pascal?
- Tên chương trình do người lập trình tự đặt theo đúng quy tắc đặt tên.
- Suy nghĩ trả lời 
Trong Pascal:
 Program ;
Ví dụ: program Tinh_tong;
- Cho ví dụ?
- Suy nghĩ trả lời 
- Mỗi ngôn ngữ lập trình thường có sẵn một số thư viện cung cấp một số chương trình thông dụng đã được lập sẵn. Để sử dụng các chương trình đó cần khai báo thư viện chứa nó.
- Nghe giảng 
Khai báo thư viện:
- Cho biết cách Khai báo thư viện trong ngôn ngữ lập trình Pascal? Cho ví dụ?
- Suy nghĩ trả lời 
Pascal:
Uses ;
Ví dụ: Uses crt;
C++: 
#include ;
- Cho biết cách Khai báo thư viện trong ngôn ngữ lập trình C++ ? Cho ví dụ?
- Suy nghĩ trả lời 
Ví dụ: #include ;
Khai báo hằng:
- Đối với giá trị tham gia vào chương trình ở nhiều nơi chúng ta nên khai báo hằng. Để mỗi khi thay đổi giá trị của hằng ở tất cả các chỗ thì chỉ cần sửa đổi 1 lần ở khai báo hằng.
- Nghe giảng.
- Những hằng sử dụng nhiều lần trong chương trình thường được đặt tên cho tiện sử dụng.
- Cho biết cách Khai báo hằng ? 
- Cho ví dụ?
- Suy nghĩ trả lời 
- Suy nghĩ trả lời 
Const := ;
Pascal: 
const MaxN=1000;
const pi=3.14;
const KQ=’Ket qua:’;
C++: 
Const int N=100;
Const float pi=3.14;
Const char* KQ=”Ket qua:”;
- Mọi biến sử dụng trong chương trình đều phải khai báo để chương trình dịch biết để xữ lý và lưu trữ.
- Nghe giảng 
Khai báo biến
- Mọi biến sử dụng trong chương trình đều phải khai báo để chương trình dịch biết để xữ lý và lưu trữ.
- Biến như thế nào gọi là biến đơn?
- Suy nghĩ trả lời 
- Biến chỉ mang một giá trị gọi là biến đơn.
- Khai báo biến là xin máy cấp cho biến một vùng nhớ để lưu trữ và xữ lý thông tin trong bộ nhớ.
- Nghe giảng
Ví dụ: ax+bx+c=0 (a<>0)
Đối với bài toán này ta khai báo các biến: a, b, c, delta, x1, x2. Tức là chúng ta xin cấp bộ nhớ để lưu: a, b, c, delta, x1, x2.
- Nghe giảng
b. Phần thân chương trình:
- Phần thân chương trình chứa những gì?
- Suy nghĩ trả lời 
- Thân chương trình là nơi chứa toàn bộ các câu lệnh của chương trình hoặc lời gọi chương trình con.
- Làm sao để chương trình dịch biết phần thân chương trình?
- Suy nghĩ trả lời 
- Thân chương trình thường có cặp dấu hiệu bắt đầu và kết thúc chương trình.
 Begin
 [ ];
 End.
3. Ví dụ chương trình đơn giản:
- Thảo luận nhóm: (Hình thành năng lực giao tiếp và năng lực hợp tác): Chia lớp làm 4 nhóm, em hãy trình bày cấu trúc của một chương trình Pascal đơn giản?
- Nhận xét và kết luận.
- Thảo luận nhóm và trả lời.
Program ;
Uses ;
Const = ;
Var : ;
(*Có thể có những khai báo khác*)
Begin
[ ];
End.
Xét 2 chương trình đơn giản:
- Trong Pascal:
Program Vi_du;
Begin
 Writeln(‘Xin chao cac bạn!’);
End.
- Trong C++:
#include ;
Void main()
{
 Ptrintf(“ Xin chao cac bạn!”);
}
- Hãy cho biết nhận xét của em về 2 ví dụ trên?
- Suy nghĩ trả lời 
Hai chương trình cùng thực hiện một công việc nhưng viết bằng 2 ngôn ngữ lập trình khác nhau nên hệ thống câu lệnh trong chương trình là khác nhau.
Cho ví dụ:
- Hãy nhận xét chương trình ?
- Suy nghĩ trả lời 
Cho ví dụ:
Begin
Writeln(‘xin chao cac ban!’);
Writeln(‘moi cac ban lam quen voi Pascal’) ;
End.
- Chương trình không có phần khai báo.
3. Luyện tập và thực hành:
	Hãy nêu các thành phần của một chương trình?
	Em hãy trình bày cấu trúc của một chương trình Pascal đơn giản?
4. Vận dụng, mở rộng và bổ sung
- Xem lại bài đã học
- Chuẩn bị bài “ Một số kiểu dữ liệu chuẩn” & “Khai báo biến”.
IV. Rút kinh nghiệm:
- Ưu điểm:
- Hạn chế:
Tiết PPCT: 4
CHƯƠNG II
CHƯƠNG TRÌNH ĐƠN GIẢN
§4. Một số kiểu dữ liệu chuẩn
—–
I. Mục tiêu
1. Về kiến thức: 
- Biết một số kiểu dữ liệu chuẩn: nguyên, thực, kí tự, logic.
	- Hiểu được cách khai báo biến.
2. Về kỹ năng:
- Xác định được kiểu cần khai báo của dữ liệu đơn giản.
	- Khai báo đúng, nhận biết được khai báo sai.
3. Về tư duy và thái độ: 
- Tạo hứng thú học ngôn ngữ lập trình Pascal.
4. Định hướng hình thành và phát triển năng lực: 
- Phát triển năng lực sử dụng ngôn ngữ (bằng cách thông qua hoạt động phát biểu định nghĩa, định lí, phương pháp, quy tắc,... đã học).
- Phát triển năng lực giao tiếp và năng lực hợp tác (thông qua hoạt động theo nhóm).
- Phát triển năng lực giải quyết vấn đề.
- Phát triển năng lực tự quản lý và năng lực tự học.
II. Phương tiện dạy học
	 1. Chuẩn bị của giáo viên: Giáo án, sách giáo khoa chuyên tin quyển 1 
	 2. Chuẩn bị của học sinh: sách giáo khoa, tập, đọc trước bài ở nhà 
III. Hoạt động dạy – học:
1. Tình huống xuất phát: Ở tiết trước, chúng ta đã làm quen với cách khai báo biến trong Pascal. Hôm nay, chúng ta sẽ tìm hiểu kĩ hơn về cách khai báo biến và các kiểu dữ liệu thường dùng trong Pascal. 
2. Hình thành kiến thức:
Hoạt động của giáo viên
Hoạt động của học sinh
Nội dung
Hoạt động 1: Tìm hiểu một số kiểu dữ liệu chuẩn. (Hình thành năng lực phát hiện vấn đề và giải quyết vấn đề, năng lực sử dụng ngôn ngữ, năng lực hợp tác, năng lực tự học)
- Ở lớp 10, các em đã học về thông tin và biểu diễn thông tin trong máy tính, vậy em nào có thể nhắc lại các dạng thông tin có thể biểu diễn trong máy tính? 
- Suy nghĩ trả lời 
- Thông tin có thể biểu diễn trong máy tính có hai loại: số và phi số (văn bản, hình ảnh, âm thanh)
- Các thông tin đó được biểu 
diễn trong máy như thế nào?
- Suy nghĩ trả lời 
- Dữ liệu biểu diễn trong máy tính là thông tin đã được mã hóa. 
- Có nhiều loại dữ liệu khác nhau, trong mỗi ngôn ngữ lập trìnhchỉ có một số kiểu dữ liệu chuẩn nhất định. Giá trị của dữ liệu biểu diễn trong máy tính là có giới hạn, nó phụ thuộc vào dung lượng bộ nhớ, khả năng xử lí của CPU.
- Nghe giảng 
- Vì vậy, mỗi ngôn ngữ lập trình thường cung cấp một số kiểu dữ liệu chuẩn cho biết phạm vi giá trị có thể lưu trữ, dung lượng bộ nhớ cần thiết để lưu trữ và các phép toán tác động lên dữ liệu.
- Nghe giảng 
- Kiểu dữ liệu số có mấy loại? Cho ví dụ?
- Suy nghĩ trả lời 
- Có hai loại: số nguyên (vd: 1, 2, 123 ) và số thực (6.5, 123.567, )
1. Kiểu nguyên:
- Để khai báo kiểu dữ liệu cho một đối tượng nào đó thì chúng ta phải dựa vào từng đối tượng để khai báo cho phù hợp, để khỏi lãng phí bộ nhớ.
- Ví dụ:
+ Số HS một lớp thì chúng ta nên khai báo kiểu byte.
+ Tính giai thừa N thì chúng ta nên khai báo kiểu longint.
- Nghe giảng.
- Em hãy cho biết trong các kiểu số nguyên, kiểu nào có phạm vi biểu diễn lớn nhất?
- Suy nghĩ trả lời 
2. Kiểu thực:
- Máy tính điện tử không chỉ có khả năng xử lý những dữ liệu bằng số nguyên, số thực mà còn có khả năng xử lý các dữ liệu là các kí tự như khi soạn thảo văn bản.
- Nghe giảng 
3. Kiểu kí tự:
- Ngoài ra máy tính điện tử còn có khả năng xử lý các dữ liệu kiểu logic là kiểu chỉ có 2 giá trị đúng sai.
4. Kiểu logic:
3. Luyện tập và thực hành: 	
- Nhắc lại một số kiểu dữ liệu đơn giản trong ngôn ngữ lập trình Pascal?
4. Vận dụng, mở rộng và bổ sung:
- Xem lại bài đã học
- Chuẩn bị bài “KHAI BÁO BIẾN”.
IV. Rút kinh nghiệm:
- Ưu điểm:
- Hạn chế:
Tiết PPCT: 5
§5. KHAI BÁO BIẾN
—–
I. Mục tiêu
1. Về kiến thức: 
	- Hiểu được cách khai báo biến.
2. Về kỹ năng:
- Xác định được kiểu cần khai báo của dữ liệu đơn giản.
	- Khai báo đúng, nhận biết được khai báo sai.
3. Về tư duy và thái độ: 
- Tạo hứng thú học ngôn ngữ lập trình Pascal.
4. Định hướng hình thành và phát triển năng lực: 
- Phát triển năng lực sử dụng ngôn ngữ (bằng cách thông qua hoạt động phát biểu định nghĩa, định lí, phương pháp, quy tắc,... đã học).
- Phát triển năng lực giao tiếp và năng lực hợp tác (thông qua hoạt động theo nhóm).
- Phát triển năng lực giải quyết vấn đề.
- Phát triển năng lực tự quản lý và năng lực tự học.
II. Phương tiện dạy học
	 1. Chuẩn bị của giáo viên: Giáo án, sách giáo khoa chuyên tin quyển 1 
	 2. Chuẩn bị của học sinh: sách giáo khoa, tập, đọc trước bài ở nhà 
III. Hoạt động dạy – học:
1. Tình huống xuất phát: Ở tiết trước, chúng ta đã làm quen với cách khai báo biến trong Pascal. Hôm nay, chúng ta sẽ tìm hiểu kĩ hơn về cách khai báo biến và các kiểu dữ liệu thường dùng trong Pascal. 
Hoạt động của giáo viên
Hoạt động của học sinh
Nội dung
Hoạt động 1: Tìm hiểu cách khai báo biến. (Hình thành năng lực phát hiện vấn đề và giải quyết vấn đề, năng lực sử dụng ngôn ngữ, năng lực hợp tác, năng lực tự học)
Ví dụ: Để kiểm tra N có phải là số nguyên tố hay không thì chúng ta dùng một biến kiểm tra và biến kiểm tra này sẽ nhận hai giá tri hoặc đúng hoặc sai.
- Nghe giảng.
II. KHAI BÁO BIẾN:
- Muốn sử dụng biến thì phải khai báo. Vậy để khai báo biến ta thực hiện như thế nào?
- Hãy cho biết cú pháp để khai báo biến trong ngôn ngữ lập trình Pascal?
- Nhận xét 
- Suy nghĩ trả lời 
- Trong Pascal, khai báo biến bắt đầu bằng từ khóa var có dạng:
Var : ;
danh sách biến là một hoặc nhiều tên biến, được viết cách nhau bởi dấu phẩy.
kiểu dữ liệu thường là một trong các kiểu dữ liệu chuẩn.
- Sau var có thể khai báo nhiều danh sách biến khác nhau.
- Ví dụ 1: Giả sử trong chương trình có các biến thực A,B,C,D,E,F và các biến nguyên G,H. Hãy khai báo các biến đó?
- Nhận xét 
- Suy nghĩ trả lời 
- Var A,B,C,D,E,F: Real;
 G,H: Integer;
- Thảo luận nhóm: (Hình thành năng lực giao tiếp và năng lực hợp tác)
Ví dụ 2: xét khai báo biến:
Var X,Y,Z: real;
 C: char;
 I,J: byte;
 N: word;
- Hãy tính tổng bộ nhớ dành cho các biến đã khai báo?
- Nhận xét 
- Thảo luận nhóm và đưa ra kết quả. 
- Bộ nhớ cấp phát cho X,Y,Z: 3Í6=18 byte
- Bộ nhớ cấp phát cho C: 1 byte
- Bộ nhớ cấp phát cho I,J: 2Í1=2 byte
- Bộ nhớ cấp phát cho N: 2 byte
- Tổng bộ nhớ dành cho các biến đã khai báo là:
18+1+2+2=23 (byte).
- Cần đặt tên biến sao cho gợi nhớ đến ý nghĩa của nó.
- Không nên đặt tên quá ngắn hay quá dài.
- Khai báo cần đặc biệt lưu ý đến phạm vi giá trị của nó.
- Nghe giảng.
Lưu ý:
- Cần đặt tên biến sao cho gợi nhớ đến ý nghĩa của nó.
- Không

Tài liệu đính kèm:

  • docgiao_an_tin_hoc_lop_11_bai_1_11.doc