Giáo án Tin học Lớp 11 - Chương trình cả năm - Trần Văn Quyền - Trường THPT Như Thanh

Giáo án Tin học Lớp 11 - Chương trình cả năm - Trần Văn Quyền - Trường THPT Như Thanh

I. Mục tiêu bài học

1. Kiến thức

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

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

- Phân biệt được tên, hằng và biến.

2. Kỹ năng

- Biết cách đặt tên, nhận biết được tên viết sai quy tắc.

- Sử dụng đúng chú thích.

3. Thái độ

- Rèn luyện cho học sinh tính nguyên tắc, chặt chẽ trong lập trình

4. Năng lực, phẩm chất

- NL sử dụng ngôn ngữ - NL quan sát và nhận biết

- NL làm việc nhóm - NL xác định các đối tượng trong NNLT

- Phẩm chất: tích cực tìm tòi, tự giác nghiên cứu, ham học hỏi, kiên trì, yêu thích môn học, yêu thích lập trình

II. Phương tiện chuẩn bị

1. Giáo viên

- Phương pháp: Thuyết trình, vấn đáp, trực quan, làm việc nhóm

- Phương tiện: SGK, giáo án

2. Học sinh

- Vở ghi, SGK

 

doc 211 trang Đoàn Hưng Thịnh 03/06/2022 3280
Bạn đang xem 20 trang mẫu của tài liệu "Giáo án Tin học Lớp 11 - Chương trình cả năm - Trần Văn Quyền - Trường THPT Như Thanh", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Ngày soạn:15/09/2021
Tiết theo KHDH: 1
§1. KHÁI NIỆM LẬP TRÌNH VÀ NGÔN NGỮ LẬP TRÌNH
I. Mục tiêu bài học
1. Kiến thức
- Biết khái niệm lập trình, ngôn ngữ lập trình và chương trình dịch.
- Phân biệt được hai loại chương trình dịch là biên dịch và thông dịch.
- Biết các thành phần cơ bản của ngôn ngữ lập trình.
2. Kỹ năng
- Nhận diện các thành phần cơ bản trong một ngôn ngữ lập trình.
3. Thái độ
- Thấy được sự cần thiết và tiện lợi khi sử dụng các ngôn ngữ lập trình bậc cao. 
- Có thái độ nghiêm túc khi học về lập trình.
4. Năng lực, phẩm chất
- NL sử dụng ngôn ngữ	NL làm việc nhóm
- NL giải quyết vấn đề	NL nhận biết các thành phần của NNLT
- Phẩm chất: tích cực tìm tòi, tự giác nghiên cứu, ham học hỏi, kiên trì, yêu thích môn học, yêu thích lập trình
II. Phương tiện chuẩn bị
1. Giáo viên
- Phương pháp: Thuyết trình, vấn đáp, giải quyết vấn đề
- Phương tiện: SGK, giáo án
2. Học sinh
- Vở ghi, SGK
III. Tiến trình bài học
A. Hoạt động khởi động
Mục tiêu: Giới thiệu nội dung chương trình tin học lớp 11
Phương pháp/ Kĩ thuật: Đàm thoại, vấn đáp
Hình thức tổ chức hoạt động: cá nhân
Phương tiện dạy học: SGK, máy chiếu, máy tính
Sản phẩm: Học sinh nắm được nội dung chương tin học 11
B. Hoạt động hình thành kiến thức
Mục tiêu: Giới thiệu nội dung bài 1
Phương pháp/ Kĩ thuật: Đàm thoại, vấn đáp
Hình thức tổ chức hoạt động: cá nhân
Phương tiện dạy học: SGK, máy chiếu, máy tính
Sản phẩm: Học sinh nắm được nội dung bài 1
HOẠT ĐỘNG DẠY HỌC
NỘI DUNG
HĐ1: Tìm hiểu khái niệm lập trình và ngôn ngữ lập trình – Phát triển NL sử dụng ngôn ngữ, NL làm việc nhóm
GV: Yêu cầu học sinh xác định Input, Output của bài toán giải phương trình bậc nhất ax+b=0.
HS: Xác định :
- Input : a, b
- Output : x=-b/a, vô nghiệm, vô số nghiệm.
GV: Hãy xác định các bước để tìm ra Output của bài toán ?
HS: Xác định:
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 và b<>0, kết luận: vô nghiệm.
Bước 4 : Nếu a=0 và b=0, kết luận: vô số nghiệm.
 GV: Hệ thống các bước giải trên được gọi là thuật toán. Nếu trình bày thuật toán với một người nước ngoài, em sẽ dùng ngôn ngữ nào để diễn đạt?
HS: Ngôn ngữ tiếng Anh.
GV: Nếu diễn đạt thuật toán này cho máy hiểu, em sẽ dùng ngôn ngữ gì?
HS: Ngôn ngữ máy.
GV: Ngôn ngữ máy là một trong các loại NNLT. Hoạt động để diễn đạt một thuật toán thông qua một ngôn ngữ lập trình được gọi là lập trình.
GV: Chia lớp thành 3 nhóm
- Nhóm 1: Trình bày đặc điểm ngôn ngữ máy
+ Các lệnh được mã hóa bằng các ký hiệu 0-1. 
 + Chương trình được viết trên ngôn ngữ máy có thể được nạp vào bộ nhớ và thực hiện ngay.
- Nhóm 2: Trình bày đặc điểm hợp ngữ
+ Các lệnh thường là viết tắt của các từ tiếng Anh
+ Hợp ngữ vẫn còn phụ thuộc vào phần cứng của máy tính.
+ Chương trình được viết bằng hợp ngữ cần được dịch ra ngôn ngữ máy bằng chương trình hợp dịch.
- Nhóm 3: Trình bày đặc điểm của NNLT bậc cao
 + Các lệnh được mã hóa bằng một ngôn ngữ gần với ngôn ngữ tiếng Anh. 
 + Chương trình viết trên ngôn ngữ bậc cao phải được chuyển đổi thành chương trình trên ngôn ngữ máy mới có thể thực hiện được.
GV: Hãy rút ra khái niệm NNLT?
HS: 3 nhóm thảo luận và trình bày
1. Khái niệm lập trình và ngôn ngữ lập trình
a) Khái niệm lập trình
Lập trình là việc sử dụng cấu trúc dữ liệu và các lệnh của ngôn ngữ lập trình cụ thể để mô tả dữ liệu và diễn đạt các thao tác của thuật toán.
* Có 3 loại ngôn ngữ lập trình:Ngôn ngữ máy,hợp ngữ và ngôn ngữ bậc cao.
- Ngôn ngữ máy : 
 - Ngôn ngữ bậc cao : 
b) Khái niệm ngôn ngữ lập trình
NNLT là ngôn ngữ được dùng để diễn tả thuật toán sao cho máy tính có thể hiểu và thực hiện được.
HĐ2: Tìm hiểu chương trình dịch: thông dịch và biên dịch – Phát triển NL giải quyết vấn đề
GV: Cần phải có một chương trình để chuyển đổi chương trình viết bằng ngôn ngữ lập trình bậc cao sang ngôn ngữ máy để máy có thể thi hành được.
HS: Rút ra khái niệm CT dịch
GV: Em muốn giới thiệu về trường mình cho một người khách du lịch quốc tế biết tiếng Anh, có hai cách để thực hiện:
- Cách 1: Cần một người biết tiếng Anh, dịch từng câu nói của em sang tiếng Anh cho người khách → Thông dịch
- Cách 2: Em soạn nội dung cần giới thiệu ra giấy và người phiên dịch dịch toàn bộ nội dung đó sang tiếng Anh rồi đọc cho người khách → Biên dịch
GV:Ngôn ngữ lập trình C++ mà chúng ta sẽ được học có rất nhiều trình biên dịch: Dev C++, Turbo C++, Codeblock,...
GV: Nêu 2 tình huống, yêu cầu HS xác định đâu là thông dịch, đâu là biên dịch?
- Tình huống 1: Thủ tướng một chính phủ trả lời phỏng vấn trước một nhà báo quốc tế, họ thường cần một người thông dịch để dịch từng câu tiếng Việt sang tiếng Anh.
- Tình huống 2: Thủ tướng đọc một bài diễn văn tiếng Anh trước Hội nghị, họ cần một người biên dịch để chuyển văn bản tiếng Việt thành tiếng Anh.
HS: Tình huống 1: Thông dịch, tình huống 2: Biên dịch.
2. Chương trình dịch
a) Khái niệm
Chương trình dịch là chương trình đặc biệt có chức năng chuyển đổi chương trình được viết bằng ngôn ngữ lập trình bậc cao thành chương trình thực hiện được trên máy tính.
b) Phân loại
- Thông dịch:
 + Bước 1 : Kiểm tra tính đúng đắn của lệnh tiếp theo trong chương trình nguồn.
 + Bước 2 : Chuyển lệnh đó thành ngôn ngữ máy.
 + Bước 3 : Thực hiện các câu lệnh vừa được chuyển đổi.
- Biên dịch:
 + Bước 1 : Duyệt, phát hiện lỗi, kiểm tra tính đúng đắn của lệnh trong chương trình nguồn.
 + Bước 2 : Dịch toàn bộ chương trình nguồn thành một chương trình trên ngôn ngữ máy.
HĐ3: Tìm hiểu các thành phần cơ bản của ngôn ngữ lập trình – Phát triển NL nhận biết các thành phần của NNLT
GV: Bảng chữ cái sử dụng trong ngôn ngữ lập trình là gì?
HS: Trả lời câu hỏi.
GV: Cú pháp khác ngữ nghĩa ở chỗ nào?
HS: Cú pháp là quy tắc để viết chương trình, dễ phát hiện lỗi khi tổ hợp kí tự không hợp lệ, còn ngữ nghĩa thì xác định ý nghĩa tổ hợp kí tự trong chương trình.
GV: Lấy ví dụ giải thích ngữ nghĩa:
Nếu chỉ cho 2 phép tính cộng A + B và C + D, thì về ngữ nghĩa, chúng không có gì khác nhau, chỉ là phép cộng các số. 
Nhưng nếu cho 2 phép tính cộng A + B và C + D, trong đó A, B là các số nguyên và C, D là các số thực thì lúc này, ngữ nghĩa của của dấu “+” trong 2 phép tính trên là khác nhau. A + B là phép cộng hai số nguyên, còn C + D là phép cộng hai số thực.
3. Các thành phần cơ bản
a) Bảng chữ cái
- Là tập các kí hiệu dùng để viết chương trình.
- Trong ngôn ngữ C++, bảng chữ cái gồm: 
+ Các chữ cái in hoa và in thường trong bảng chữ cái tiếng Anh.
+ Các chữ số từ 0 đến 9.
+ Các kí tự đặc biệt: theo dõi SGK.
b) Cú pháp
- Là bộ quy tắc dùng để viết chương trình.
c) Ngữ nghĩa
- Xác định ý nghĩa thao tác cần thực hiện ứng với tổ hợp kí tự dựa vào ngữ cảnh của nó.
- Cú pháp cho biết cách viết chương trình hợp lệ, ngữ nghĩa xác định ý nghĩa của các tổ hợp kí tự trong chương trình.
* Chú ý:
- 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 có thể 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.
C. Hoạt động củng cố
- Lập trình, ngôn ngữ lập trình.
- Chương trình dịch: thông dịch, biên dịch.
- Bảng chữ cái, cú pháp, ngữ nghĩa
D. Hoạt động luyện tập, mở rộng
- Trả lời các câu hỏi 1; 2 và 3 trang 14 SGK.
- Đọc trước phần 2 và phần 3 của bài: “Các thành phần của ngôn ngữ lập trình”.
Ngày soạn:15/09/2021
Tiết theo KHDH: 2
§2. CÁC THÀNH PHẦN CỦA NGÔN NGỮ LẬP TRÌNH 
I. Mục tiêu bài học
1. Kiến thức
- Biết một số khái niệm: tên, tên chuẩn, tên dành riêng, hằng và biến.
- Nắmđược các quy định về tên, hằng và biến trong một ngôn ngữ lập trình.
- Phân biệt được tên, hằng và biến.
2. Kỹ năng
- Biết cách đặt tên, nhận biết được tên viết sai quy tắc.
- Sử dụng đúng chú thích.
3. Thái độ
- Rèn luyện cho học sinh tính nguyên tắc, chặt chẽ trong lập trình
4. Năng lực, phẩm chất
- NL sử dụng ngôn ngữ	- NL quan sát và nhận biết
- NL làm việc nhóm	- NL xác định các đối tượng trong NNLT
- Phẩm chất: tích cực tìm tòi, tự giác nghiên cứu, ham học hỏi, kiên trì, yêu thích môn học, yêu thích lập trình
II. Phương tiện chuẩn bị
1. Giáo viên
- Phương pháp: Thuyết trình, vấn đáp, trực quan, làm việc nhóm
- Phương tiện: SGK, giáo án
2. Học sinh
- Vở ghi, SGK
III. Tiến trình bài học
A. Hoạt động khởi động
Câu hỏi: 
Phân biệt thông dịch và biên dịch? Cho ví dụ minh họa
B. Hoạt động hình thành kiến thức
HOẠT ĐỘNG DẠY HỌC
NỘI DUNG
HĐ1: Tìm hiểu khái niệm tên trong ngôn ngữ lập trình – Phát triển NL tự học
GV: Mọi đối tượng, sự vật xung quanh chúng ta đều có một cái tên cụ thể. Và ngôn ngữ lập trình cũng vậy, mỗi đối tượng trong một chương trình đều phải được đặt tên. Vậy thì theo em, việc đặt tên cho các đối tượng trong chương trình nhằm mục đích gì? 
HS: Trả lời câu hỏi.
GV: Em hãy cho biết tên được đặt theo quy tắc nào?
HS: Trả lời câu hỏi.
GV: Ngôn ngữ lập trình mà chúng ta sẽ được làm quen trong chương trình Tin học 11 là ngôn ngữ lập trình C++. Chính vì vậy, trong tiết học này, chúng ta chỉ đi sâu tìm hiểu về ngôn ngữ lập trình C++.
GV: Theo dõi sách giáo khoa, và cho biết tên trong C++phải tuân thủ những quy tắc nào?
HS: Trả lời câu hỏi.
GV: Cho các tên sau: A, A BC, 6Pq, R12, X#y, _45. Hãy xác định các tên đúng và tên sai.
HS: Các tên đúng: A, R12, _45. Các tên sai: A BC, 6Pq, X#y	
GV: Chia lớp thành 3 nhóm
- Nhóm 1: Tên dành riêng
- Nhóm 2: Tên chuẩn
- Nhóm 3: Tên do người lập trình đặt
HS: Thảo luận nhóm và trả lời
2. Một số khái niệm
a) Tên
- Tên dùng để phân biệt và xác định các đối tượng trong chương trình.
- Tên được đặt theo quy tắc của ngôn ngữ lập trình và từng chương trình dịch cụ thể.
- Quy tắc đặt tên trong C++:
 + Bao gồm chữ số, chữ cái, hoặc dấu gạch dưới.
 + Bắt đầu bằng chữ cái hoặc dấu gạch dưới.
 + Không được chứa các kí tự đặc biệt: dấu cách, dấu chấm,..
- Ví dụ: A, A BC, 6Pq, R12, X#y, _45
Chú ý: Tên trong C++ phân biệt chữ hoa với chữ thường.
- Phân loại:
 + Tên dành riêng (từ khóa): 
Được ngôn ngữ lập trình dùng với ý nghĩa riêng xác định 
Người lập trình không được dùng lại với ý nghĩa khác.
VD: main, if, while, include, void
 + Tên chuẩn:
Được NNLT dùng với ý nghĩa nhất định nào đó được quy định trong các thư viện của ngôn ngữ lập trình
Người lập trình có thể khai báo và dùng với ý nghĩa khác.
VD: cout, min, max
 + Tên do người lập trình đặt
Được người lập trình sử dụng theo ý nghĩa riêng
Phải khai báo trước khi sử dụng.
VD: Bai_tap, Giai_phuong_trinh,...
HĐ2: Tìm hiểu hằng, biến, chú thích – Phát triển NL làm việc nhóm, NL sử dụng ngôn ngữ, NL xác định các đối tượng trong chương trình
GV: Đưa ra bài toán:
Tính chu vi P và diện tích S của hình tròn có bán kính R với R được nhập từ bàn phím. Hãy cho biết trong bài toán trên có những đại lượng nào có giá trị không đổi và đại lượng nào có giá trị thay đổi.
HS: Nếu nhập R = 3 thì C = 6π và S = 9π 
Nếu nhập R = 4 thì C = 8π và S = 16π 
Vậy đại lượng có giá trị thay đổi là R, C, S và đại lượng có giá trị không thay đổi là π 
GV: Em hãy cho biết, trong ngôn ngữ lập trình C++có mấy loại hằng?
HS: Trả lời câu hỏi.
GV: Biến khác hằng như thế nào?
HS: TL
GV: Thực hiện việc thêm chú thích trực tiếp vào chương trình, dịch và chạy chương trình. Chú thích có ý nghĩa như thế nào?
HS: TL
GV: Khi chèn thêm chú thích, kết quả của bài toán có bị thay đổi không?
HS: TL
GV: Hãy cho biết, chú thích trong C++được viết như nào?
HS: TL
b) Hằng và biến
* Hằng:
- Khái niệm: Hằng là đại lượng có giá trị không thay đổi trong quá trình thực hiện chương trình.
- Phân loại:
+ Hằng số học: 
Số nguyên: -5, +18, 3
Số thực: 1.5, -22.3, 1.0E-6, -2.3E5
 + Hằng logic: 
True:1
False: 0
 + Hằng xâu: là dãy kí tự trong bộ mã ASCII, được đặt trong cặp dấu nháy kép.
Ví dụ: “Lop 11A3”; “Trương THPT Tran Van Lan”.
+ Hằng kí tự: là một kí tự bất kì trong bảng mã ASCII nằm trong cặp dấu nháy đơn
Ví dụ: ‘0’, ‘a’
* Biến:
- Biến là đại lượng có giá trị thay đổi trong quá trình thực hiện chương trình. 
- Các biến dùng trong chương trình đều phải được khai báo.
c) Chú thích: 
- Giúp người đọc chương trình dễ dàng nhận biết ý nghĩa của chương trình đó.
- Chú thích không làm ảnh hưởng đến chương trình nguồn và được chương trình dịch bỏ qua.
- Trong C++, chú thích được đặt giữa cặp dấu /* và */ hoặc đặt sau dấu //
C. Hoạt động củng cố
- Tên:
+ Tên dành riêng;
+ Tên chuẩn;
+ Tên do người lập trình đặt.
- Các đại lượng:
+ Hằng;
+ Biến.
- Chú thích.
D. Hoạt động luyện tập, mở rộng
- Làm các bài tập 4, 5/14 SGK để chuẩn bị cho tiết bài tập
Ngày soạn:16/09/2021
Tiết theo KHDH:3,4
§3. CẤU TRÚC CHƯƠNG TRÌNH
§4. MỘT SỐ KIỂU DỮ LIỆU CHUẨN
I. Mục tiêu bài học
1. Kiến thức
- Hiểu chương trình là sự mô tả thuật toán bằng một ngôn ngữ lập trình;
- Biết cấu trúc của một chương trình đơn giản: cấu trúc chung và các thành phần.
- Biết một số kiểu dữ liệu chuẩn: Kiểu nguyên, kiểu thực, kiểu kí tự, kiểu logic.
- Hiểu cách khai báo biến;
2. Kỹ năng
- Nhận biết được các thành phần của một chương trình đơn giản.
- Xác định được kiểu cần khai báo của dữ liệu đơn giản.
- Khai báo biến đúng;
3. Thái độ
- HS ham muốn tìm hiểu cách viết một chương trình giải bài toán trên máy tính, bắt đầu hình dung ra cách viết một chương trình, từ đó có tư duy để viết được những chương trình khó hơn;
- Có thái độ nghiêm túc, tính cẩn thận khi làm quen với những quy định nghiêm ngặt trong lập trình.
- HS thấy được sự cần thiết phải tuân thủ các quy định chuẩn trong chương trình và khi lập trình.
4. Năng lực, phẩm chất
- NL quan sát và nhận biết	- NL sử dụng kí hiệu và ngôn ngữ tin học
- NL tư duy	- NL sử dụng CNTT
- NL xác định cấu trúc chương trính
- Phẩm chất: tích cực tìm tòi, tự giác nghiên cứu, ham học hỏi, kiên trì, yêu thích môn học, yêu thích lập trình
II. Phương tiện chuẩn bị
1. Giáo viên
- Phương pháp: Thuyết trình, vấn đáp, trực quan, gợi mở, thực hành
- Phương tiện: SGK, giáo án, máy chiếu
2. Học sinh
- Vở ghi, SGK
III. Tiến trình bài học
A. Hoạt động khởi động
Câu hỏi: 
Câu 1: Đưa ra ví dụ về 3 tên đúng, 3 tên sai, hãy chỉ ra lỗi sai
Câu 2: Hãy cho các ví dụ về hằng số nguyên, số thực, logic, xâu và kí tự? (tương ứng mỗi loại 2 ví dụ)
B. Hoạt động hình thành kiến thức
HOẠT ĐỘNG DẠY HỌC
NỘI DUNG
HĐ1: Tìm hiểu cấu trúc chung của chương trình– Phát triển NL sử dụng ngôn ngữ và kí hiệu tin học, NL tư duy
GV: Đặt câu hỏi
 Một bài tập làm văn các em thường viết có mấy phần? Gồm những phần nào? Có thứ tự hay không? Vì sao phải chia ra như vậy?
HS: Gồm 3 phần, có thứ tự. Mở bài, thân bài, kết bài. Chia ra để dễ đọc, dễ hiểu.
GV: Theo dõi SGK và cho cô biết, cấu trúc của một chương trình được viết bằng ngôn ngữ bậc cao gồm mấy phần? Phần nào bắt buộc phải có?
HS: Trong tin học, chương trình được viết bằng một ngôn ngữ lập trình bậc cao thường gồm 2 phần: phần khai báo và phần thân. Phần thân là phần bắt buộc phải có.
GV: Diễn giải:
Thành phần có thể có hoặc không có được đặt trong cặp dấu [ và ]. Các diễn giải bằng ngôn ngữ tự nhiên được đặt trong cặp dấu .
HS: Nắm bắt cách sử dụng các kí hiệu 
1. Cấu trúc chung 
- Cấu trúc chung 
+ Phần khai báo: có thể có hoặc không
+ Phần thân: bắt buộc phải có
- Mô tả:
[ ]
HĐ2: Tìm hiểu các thành phần cụ thể của chương trình – Phát triển NL sử dụng ngôn ngữ và kí hiệu tin học
GV: Giới thiệu:
 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.
Chúng ta có thể khai báothư viện, hằng, biến, và chương trình con.
GV: 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ó.
GV: Nêu cú pháp
HS: Xác định các thành phần trong khai báo thư viện
GV: Thư viện iostream trong C++ chứa các chương trình thực hiện nhiệm vụ vào ra dữ liệu chuẩn.
GV: Khai báo hằng là việc đặt tên cho hằng để tiện khi sử dụng và tránh việc phải viết lại nhiều lần cùng một hằng trong chương trình.
HS: Xác định các thành phần trong cú pháp khai báo hằng
GV: Khai báo biến là là xin máy tính cấp cho chương trình một vùng nhớ để lưu trữ và xử lý thông tin trong bộ nhớ trong. Chúng ta sẽ tìm hiểu sâu hơn vấn đề này trong mục 5.
GV: Khai báo và sử dụng chương trình con được trình bày trong chương VI.
GV:Thân chương trình thường 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 của chương trình con. Trong ngôn ngữ lập trình C++, phần thân nằm trong cặp dấu { và }, thể hiện dấu hiệu mở đầu và kết thúc.
GV: Yêu cầu theo dõi SGK để giải thích các từ khóa int, main, return
HS: Theo dõi và trả lời
2. Các thành phần của chương trình
a) Phần khai báo
* Khai báo thư viện
- Cú pháp: #include 
- Ví dụ: #include 
* Khai báo hằng
- Cú pháp: const = ;
- Ví dụ: const long x = 100;
* Khai báo biến
- Tất cả các biến trong chương trình đều phải được đặt tên và phải khai báo cho chương trình dịch biết để khai báo và xử lý.
- Biến chỉ được nhận một giá trị tại mỗi thời điểm thực hiện chương trình gọi là biến đơn.
b) Phần thân chương trình
- Cú pháp:
intmain()
{ [khai báo biến]
 [các câu lệnh]
 [khai báo biến]
 [các câu lệnh]
 return 0;
}
* Chú ý:
- Biến được khai báo bên trong một hàm (trong cặp dấu { và }) gọi là biến cục bộ.
- Biến được khai báo bên ngoài cặp dấu { và } được gọi là biến toàn cục.
HĐ3: Tìm hiểu ví dụ về các chương trình đơn giản– Phát triển NL quan sát và nhận biết, NL sử dụng CNTT, NL xác định cấu trúc chương trình
GV: Chiếu ví dụ 1, yêu cầu HS xác định:
1) Chương trình có mấy phần? Đó là những phần nào?
2) Phần khai báo có những khai báo nào?
3) Phần thân gồm mấy câu lệnh?
HS: Suy nghĩ và TL
GV: Chạy chương trình 
- Chương trình làm nhiệm vụ đưa ra màn hình dòng chữ Hello World!
- Dòng // my first program in C++ là chú thích
- Dòng # include khai báo thư viện iostream chứa các chương trình vào ra chuẩn.
- std:cout là viết tắt của standard character output device.
- Toán tử << biểu thị những gì sẽ được đưa ra sau câu lệnh std:cout
HS: Quan sát kết quả
GV: Chiếu ví dụ 2, yêu cầu HS xác định:
1) Chương trình có mấy phần? Đó là những phần nào?
2) Phần khai báo có những khai báo nào?
3) Phần thân gồm mấy câu lệnh?
HS: Suy nghĩ và TL
GV: Chạy chương trình 
- Dòng 2 sử dụng không gian tên std (chứa các lệnh cin, cout, )
- Dòng 3 là khai báo 2 biến toàn cục x và y
- Dòng 5 là câu lệnh nhập vào giá trị cho 2 biến x và y từ màn hình
- Toán tử >> thể hiện sẽ nhập dữ liệu cho biến nào ngay sau nó.
- Dòng 6 là câu lệnh đưa giá trị x+y ra màn hình
HS: Quan sát kết quả
3. Ví dụ chương trình đơn giản
a) Ví dụ 1
// my first program in C++
# include 
int main ()
{
 Std ::cout <<“Hello World !”; 
}
b) Ví dụ 2
# include //1
using namespace std ; //2
long x, y ; //3
int main () //4
{ cin>> x >> y ; //5
 cout << x+y ; //6
 return 0 ; //7
} //8
* Chú ý : 
- Một lỗi sai cơ bản của người lập trình là quên viết dấu “;” cuối câu lệnh.
- Từ các chương trình sau, chúng ta sử dụng không gian tên using namespace std ; 
HĐ4: Tìm hiểu một số kiểu dữ liệu chuẩn– Phát triển NL tư duy dụng CNTT, NL xác định cấu trúc chương trình
GV: Giá trị hằng và biến trong các chương trình phải gắn với một kiểu dữ liệu để chương trình dịch biết được và phân phối bộ nhớ cho chúng lúc dịch chương trình. Các kiểu dữ liệu chuẩn thường gặp là kiểu số nguyên, số thực, kí tự và logic
GV: Em thấy kiểu nguyên có hạn chế gì?
HS: Miền giá trị bị hạn chế, tập số nguyên là vô hạn, nhưng kiểu nguyên trong máy tính là hữu hạn.
GV: Có những đối tượng nhận giá trị kiểu nguyên nhưng vẫn cần khai báo kiểu thực nếu như giá trị nguyên của nó vượt quá phạm vi biểu diễn của kiểu long long, ví dụ như tính giá trị biểu thức T = 13 + 23 + + n3 với n đủ lớn. Khi đó cần sử dụng T như một biến kiểu double.
GV: Em thấy kiểu số thực có đặc điểm gì?
HS: Kiểu số thực chỉ cho biết kết quả gần đúng, số thực sử dụng trong máy tính cũng là rời rạc và hữu hạn. Nhưng miền giá trị được mở rộng hơn so với kiểu nguyên.
GV: Em hãy cho biết kiểu kí tự được dùng khi nào? Hãy cho ví dụ về kiểu kí tự.
HS: Kiểu kí tự dùng khi thông tin là các kí tự, xâu, hầu hết các ngôn ngữ lập trình đểu có kiểu kí tự để làm việc với văn bản. Ví dụ kiểu kí tự A có mã ASCII là 65.
GV: Logic là một kiểu dữ liệu được thể hiện rất rõ trong lập trình, rất có ý nghĩa trong việc biểu thị các biểu thức logic và các điều kiện có giá trị đúng hay sai trong chương trình.
GV: Lấy thêm ví dụ minh họa cho biến ok trong ví dụ 3.
ok = (3 > 5);
ok = false;
ok = (3 < 5);
ok = true;
ok = (x > 5);
ok bằng true hay false tùy theo giá trị của x;
4. Một số kiểu dữ liệu chuẩn
a) Kiểu số nguyên
Nhóm
Kiểu dữ liệu
Bộ nhớ lưu trữ một giá trị
Phạm vi giá trị
Xấp xỉ theo đơn vị mũ 10
Số nguyên có dấu
signed char
1 byte
-128 to 127
102
signed short int
2 byte
-32768 to 32767
104
signed int
4 byte
-2147483648 to 2147483647
109
signed long int
4 byte
-2147483648 to 2147483647
109
signed long longint
8 byte
-9.2e+18
to 
9.2e+18
1018
Số nguyên không dấu
unsigned char
1 byte
0 to 255 
(28-1)
102
unsignedshort int
2 byte
0 to 65535 
(216-1)
104
unsigned int
4 byte
0 to 4294967295
(232-1)
109
signed long int
4 byte
0 to 4294967295
(232-1)
109
signed long longint
8 byte
0 to 1.8*1019
(264-1)
1018
b) Kiểu thực
Kiểu
Bộ nhớ lưu trữ một giá trị
Phạm vi giá trị
Double
8 byte
+/-1.7e+/-308
c) Kiểu kí tự
Kiểu
Bộ nhớ lưu trữ một giá trị
Phạm vi giá trị
char
1 byte
256 kí tự trong bộ mã ACSII
c) Kiểu logic
Kiểu
Bộ nhớ lưu trữ một giá trị
Phạm vi giá trị
Boolean
1 byte
true hoặc false
C. Hoạt động củng cố
- Cấu trúc của một chương trình:
[khai báo thư viện]
[khai báo hằng]
[khai báo biến toàn cục]
[khai báo chương trình con (hàm)]
int main
{	[khai báo biến cục bộ]
	[các câu lệnh]
	return 0;
}
- Các kiểu dữ liệu: nguyên, thực, kí tự, logic
- Khai báo biến
D. Hoạt động luyện tập, mở rộng
- Đọc trước nội dung §6. Phép toán, biểu thức, câu lệnh gán.
Ngày soạn:20/09/2021
Tiết theo KHDH:5
§5: KHAI BÁO BIẾN
§6: PHÉP TOÁN, BIỂU THỨC, CÂU LỆNH GÁN
I. Mục tiêu bài học
1. Kiến thức
- Biết được cú pháp khai báo biến,các loại phép toán và hiểu được đúng giá trị trả lại của chúng;
- Hiểu được giá trị và sử dụng thành thạo các hàm số học chuẩn của C++;
2. Kỹ năng
- Khai báo biến trong chương trình
- Chuyển đổi biểu thức toán học sang C++
3. Thái độ
- HS hiểu bài và hứng thú với bài học;
- HS được rèn luyện tính cẩn thận khi khai báo biến, chuyển đổi các phép toán và biểu thức giữa hai dạng biểu thị trong toán học và trong lập trình.
4. Năng lực, phẩm chất
- NL sử dụng ngôn ngữ	- NL hợp tác và làm việc nhóm
- NL tính toán	- NL chuyển đổi biểu thức toán học sang C++
- NL sử dụng kí hiệu tin học
- Phẩm chất: tích cực tìm tòi, tự giác nghiên cứu, ham học hỏi, kiên trì, yêu thích môn học, yêu thích lập trình
II. Phương tiện chuẩn bị
1. Giáo viên
- Phương pháp: Thuyết trình, vấn đáp, trực quan, làm việc nhóm
- Phương tiện: SGK, giáo án
2. Học sinh
- Vở ghi, SGK
III. Tiến trình bài học
A. Hoạt động khởi động
B. Hoạt động hình thành kiến thức
HOẠT ĐỘNG DẠY HỌC
NỘI DUNG
HĐ1: Tìm hiểu cách khai báo biến – Phát triển NL sử dụng ngôn ngữ tin học và NL tính toán
GV: Chiếu chương trình bài toán giải phương trình bậc nhất ax + b= 0, chỉ rõ khai báo biến của bài toán
double a, b, x;
GV: Em hãy cho cô biết cú pháp của khai báo biến?
HS: Trả lời câu hỏi
GV: Diễn giải về danh sách biến và kiểu dữ liệu.
GV:Giả sử trong chương trình cần các biến thực A, B, C, D, X1, X2 và các biến nguyên M, N. Hãy khai báo biến cho chương trình.
HS: Viết khai báo
GV: Hãy khai báo các biến sau đây:
Các biến thực x, y, z;
Biến kí tự c ;
Các biến shorti và j ;
Biến long n.
HS: Khai báo
GV: Đưa ra một số chú ý khi khai báo biến cho HS biết.
GV: Chiếu các chương trình và chạy
HS: Rút ra phạm vi của các loại biến
S
1. Khai báo biến
a) Cú pháp khai báo biến
- Cú pháp
 ;
trong đó:	
+Danh sách biến là một hoặc nhiều tên biến, các biến được viết cách nhau bởi dấu phẩy.
+Kiểu dữ liệu là một trong các kiểu dữ liệu chuẩn hoặc kiểu dữ liệu do người lập trình định nghĩa.
- Ví dụ:
+ Ví dụ 1:
double A, B, C, D, X1, X2;
long M, N;
+ Ví dụ 2:
double x, y, z;
char c;
short i, j;
long n;
* Chú ý:
- Đặt tên biến sao cho gợi nhớ tới ý nghĩa của biến đó, không nên đặt tên quá ngắn hoặc quá dài.
Ví dụ : đặt tên biến biểu diễn cho điểm toán và điểm tin là dtoan, dtin.
- Khai báo biến cần chú ý tới phạm vi giá trị của nó
b) Phạm vi biến
- Phạm vi :
+ Biến cục bộ: khai báo trong cặp dấu {}, chỉ sử dụng trong hàm khai báo nó.
+ Biến toàn cục: khai báo ngoài cặp dấu {}, sử dụng trong cả chương trình
+ Khi sử dụng biến cục bộ và biến toàn cục trong một hàm, biến cục bộ sẽ được ưu tiên.
- Khởi tạo biến toàn cục và biến cục bộ :
+ Biến cục bộ: người dùng tự khởi tạo giá trị ban đầu
+ Biến toàn cục: chương trình tự động khởi tạo giá trị ban đầu :
Kiểu dữ liệu
Khởi tạo biến toàn cục
Int
0
Char
‘\0’
Float
0
Double
0
Pointer
NULL
HĐ2: Tìm hiểu phép toán – Phát triển NL sử dụng kí hiệu tin học
GV: Xác định kết quả của phép toán sau?
26 / 7 = ? và 26 % 7 = ?
HS: TL
GV: Phép toán quan hệ dùng để so sánh giá trị 2 đại lượng và kết quả trả về là true hoặc false.
GV: Biểu thức logic dùng để tạo ra những biểu thức phức tạp từ các biểu thức quan hệ đơn giản. 
2. Phép toán
a) Phép toán đối với số nguyên
Toán học
C++
Ghi chú
Cộng
+
Trừ
-
Nhân
*
Chia lấy phần dư
%
5%2=1
Chia lấy phần nguyên
/
5/2=2
b) Phép toán đối với số thực
Toán học
C++
Ghi chú
Cộng
+
Trừ
-
Nhân
*
Chia
%
5.0/2.0=2.5
c) Phép toán quan hệ
Toán học
C++
Ghi chú
Nhỏ hơn (<)
<
Lớn hơn (>)
>
Nhỏ hơn hoặc bằng (≤)
<=
Lớn hơn hoặc bằng (≥)
>=
Bằng (=)
= =
Hai dấu bằng
Khác (≠)
!=
d) Phép toán logic
Toán học
C++
Ghi chú
Phủ định ⌐
!
Một dấu !
Hoặc ˅
||
Hai dấu |
Và ˄
&&
Hai dấu &
HĐ3: Tìm hiểu biểu thức số học – Phát triển NL chuyển đổi biểu thức toán học sang C++
GV: Hãy đưa ra 2 ví dụ về biểu thức trong toán học?
HS: 5a+6b, 
GV: Các thành phần có thể có trong biểu thức toán học?
HS: Hằng số, biến số, phép toán, dấu ngoặc
GV: Nêu quy tắc viết biểu thức
GV: Em hãy cho biết thứ tự thực hiện các phép toán trong biểu thức toán học?
HS: TL.
GV: Hãy chuyển đổi các biểu thức toán học sau sang biểu thức trong C++:
1) Ax2 + Bx + C = 0
2) - 
3) a[b(c+d)-bc]
HS: Lên bảng làm bài.
1) A*x*x + B*x + C
2) (x + y)/(x – 1/2) – (x - z)/(x*y)
3) a*(b*(c+d)-b*c)
3. Biểu thức số học
- Khái niệm:
Biểu thức số học là:
+ một biến kiểu số;
+ hoặc một hằng số;
+ hoặc các biến kiểu số và các hằng liên kết với nhau bởi một số hữu hạn các phép toán số học và các dấu ngoặc tròn ( và ).
- Các quy tắc viết biểu thức: 
+ Chỉ dùng cặp ngoặc tròn để xác định trình tự thực hiện phép toán trong trường hợp cần thiết;
+ Viết lần lượt từ trái qua phải;
+ Không được bỏ qua dấu nhân (*) trong tích.
- Thứ tự thực hiện phép toán:
+ Trong ngoặc trước, ngoài ngoặc sau
+ Không có ngoặc thì thực hiện từ trái sang phải theo thứ tự: nhân (*), chia (/), lấy phần dư (%) trước, cộng (+), trừ (-) sau.
HĐ4: Tìm hiểu một số hàm số học chuẩn– Phát triển NL sử dụng ngôn ngữ tin học và NL chuyển đổi biểu thức toán học sang C++
GV:Để thuận lợi cho lập trình, các ngôn ngữ cung cấp một số chương trình tính giá trị cho một số hàm toán học thông thường. Các chương trình như vậy được gọi là hàm số học chuẩn.Cách biểu thị một hàm chuẩn trong một ngôn ngữ lập trình cũng tương tự với cách biểu thị hàm trong toán học, gồm tên hàm, đối số và kiểu của hàm.
GV: Hãy thực hiện bảng sau:
Value
round
floor
Ceil
Trunc
6.2
4.9
8.5
-6.2
-4.9
-8.5
HS: Lên bảng điền vào các ô
Value
round
floor
Ceil
Trunc
6.2
6.0
6.0
7.0
6.0
4.9
5.0
4.0
5.0
4.0
8.5
9.0
8.0
9.0
8.0
-6.2
-6.0
-7.0
-6.0
-6.0
-4.9
-5.0
-5.0
-4.0
-4.9
-8.5
-9.0
-9.0
-8.0
-8.5
GV: Hãy chuyển biểu thức toán học sau sang C++
HS: (- b + sqrt(sqr(b)-4*a*c))/(2*a)
4. Hàm số học chuẩn
- Mỗi hàm chuẩn có tên chuẩn riêng;
- Các đối số của hàm là một hay vài biểu thức số học, viết trong ngoặc tròn sau tên hàm;
- Bản thân hàm chuẩn cũng được coi là một biểu thức số học, nên nó có thể tham gia vào một biểu thức số học như một toán hạng;
- Kết quả của hàm có thể là kiểu nguyên hoặc thực hay phụ thuộc vào kiểu của đối số.
- Một số hàm chuẩn trong C++:
Hàm
Tham số
Kiểu trả về
Chức năng
sqrt(x)
x nguyên/thực
không âm
Thực
Căn bậc hai của x
fabs(x)
x thực
Thực
Giá trị tuyệt đối của x
sin(x)
x thực
Thực
sin(x)
cos(x)
x thực
Thực
cos(x)
trunc(x)
x thực
Thực
Cắt phần thập phân
floor(x)
x thực
Thực
Làm tròn xuống
ceil(x)
x thực
Thực
Làm tròn lên
round (x)
x thực
Thực
Làm tròn thông thường
C. Hoạt động củng cố
- Phép toán: số học, quan hệ, logic 
- Hàm số học chuẩn
D. Hoạt động luyện tập, mở rộng
- Nghiên cứu trước mục 4, 5 và 6 của bài.
Ngày soạn:
Tiết theo KHDH: 6
§6. PHÉP TOÁN, BIỂU THỨC, CÂU LỆNH GÁN (tiết 2)
I. Mục tiêu bài học
1. Kiến thức
- Biết được các biểu thức quan hệ, biểu thức logic 
- Hiểu lệnh gán.
2. Kỹ năng
- Viết được lệnh gán;
- Viết được các biểu thức số học và logic với các phép toán th

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

  • docgiao_an_tin_hoc_c_lop_11_chuong_trinh_ca_nam_tran_van_quyen.doc