SlideShare a Scribd company logo
1 of 74
Download to read offline
Ngày soạn:
Tiết theo KHDH: 1
§1. KHÁI NIỆM 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 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.
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
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
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 :
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
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
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.
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.
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:
Tiết theo KHDH: 2
§2. CÁC THÀNH PHẦN CỦA NGÔN NGỮ LẬP TRÌNH (tiết 2)
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
2. Một số khái niệm
a) Tên
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
- 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
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.
viết như nào?
HS: TL
- 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:
Tiết theo KHDH: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.
1. Cấu trúc chung
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 < và >.
HS: Nắm bắt cách sử dụng các kí hiệu
- 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ả:
[<phần khai báo>]
<phần thân>
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
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<tên thư viện>
- Ví dụ: #include <iostream>
* Khai báo hằng
- Cú pháp: const<tên kiểu dữ liệu><tên hằng> =
<giá trị>;
- Ví dụ: const long x = 100;
* Khai báo biến
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
- 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 <iostream> 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
3. Ví dụ chương trình đơn giản
a) Ví dụ 1
// my first program in C++
# include <iostream>
int main ()
{
Std ::cout <<“Hello World !”;
}
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ả
b) Ví dụ 2
# include <iostream> //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.
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ỉ
the
o
đơn
vị
mũ
10
Số
nguyê
n có
dấu
signed char 1
byt
e
-128 to 127 102
signed short
int
2
byt
e
-32768 to
32767
104
signed int 4
byt
e
-
214748364
8 to
214748364
7
109
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.
signed long
int
4
byt
e
-
214748364
8 to
214748364
7
109
signed long
longint
8
byt
e
-9.2e+18
to
9.2e+18
1018
Số
nguyê
n
không
dấu
unsigned
char
1
byt
e
0 to 255
(28
-1)
102
unsignedshor
t int
2
byt
e
0 to 65535
(216
-1)
104
unsigned int 4
byt
e
0 to
429496729
5
(232
-1)
109
signed long
int
4
byt
e
0 to
429496729
5
(232
-1)
109
signed long
longint
8
byt
e
0 to
1.8*1019
(264
-1)
1018
b) Kiểu thực
Kiểu Bộ nhớ lưu trữ một giá tr
Double 8 byte
c) Kiểu kí tự
Kiểu Bộ nhớ lưu trữ một giá tr
char 1 byte
c) Kiểu logic
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;
Kiểu Bộ nhớ lưu trữ một giá tr
Boolean 1 byte
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:
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.
1. Khai báo biến
a) Cú pháp khai báo biến
- Cú pháp
<kiểu dữ liệu><danh sách biến> ;
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
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
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
Int
Char
Float
Double
Pointer
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++
Cộng +
Trừ -
Nhân *
Chia %
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++
Phủ định ⌐ !
Hoặc ˅ ||
Và ˄ &&
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
3. Biểu thức số học
- Khái niệm:
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)
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.
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
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
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
-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)
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ông dụng.
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 và làm việc nghiêm túc khi viết câu lệnh gán; khi 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 tính toán - NL tư duy
- 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
- 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:
Chuyển đổi các biểu thức toán học sau sang C++
1)
2)
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 biểu thức quan hệ– Phát triển NL sử dụng ngôn ngữ và NL chuyển đổi biểu thức
toán học sang C++
GV: Hai biểu thức cùng kiểu liên kết với nhau
bởi phép toán quan hệ cho ta một biểu thức
quan hệ.
HS: Rút ra dạng của biểu thức quan hệ
GV: Hãy đưa ra điều kiện để điểm M có tọa độ
4. Biểu thức quan hệ
- Dạng:
<biểu thức 1><phép toán quan hệ><biểu thức
2>
trong đó, biểu thức 1 và biểu thức 2 cùng là xâu
hoặc cùng là biểu thức số học.
Ví dụ :
1) x < 5
2) x mod 2 = 0
3) i + 1 >= 2*i
(x,y) thuộc hình tròn tâm I(a,b), bán kính R .
HS: sqrt((x-a)*(x-a)) + (y-b)*(y-b)) <=R
hoặc
sqr(x-a) + sqr(y-b)<=R*R
GV: Biểu thức quan hệ được thực hiện theo
trình tự nào ?
HS: TL
GV: Kết quả của phép toán quan hệ là gì?
HS: TL
- Trình tự thực hiện:
+ Tính giá trịbiểu thức ở 2 vế.
+ Thực hiện phép toán quan hệ.
- Kết quả của biểu thức quan hệ: true (đúng)
hoặc false (sai).
Ví dụ: Với x<3 nếu x =5 thì biểu thức x<5 có
giá trịfalse. Nếu x =1 thì biểu thức x<5 có giá
trịtrue.
HĐ2: Tìm hiểu biểu thức logic – Phát triển NL tư duy
GV: Nêu các phép toán logic?
HS: Trả lời
GV: Để biểu thị phủ định của điều kiện x là một
số khác 0 ta viết trong C++ là:
! (x = 0)
Để biểu thị điều kiện x là một số nằm ngoài
đoạn [5, 10] trong C++ ta viết:
(x<5) || (x>10)
GV: Giá trị của biểu thức logic?
HS: TL
GV: Đặc điểm của phép phủ định?
HS: TL
GV: Đặc điểm của phép toán hoặc, và?
HS: TL
5. Biểu thức logic
- Biểu thức logic đơn giản là biến logic hoặc
hằng logic.
- Biểu thức logic là :
+ Biểu thức logic đơn giản ;
+ Hoặc các biểu thức quan hệ liên kết với nhau
bởi các phép toán logic.
+ Các biểu thức quan hệ thường đặt trong dấu
ngoặc tròn ( và ).
- Giá trị của biểu thức logic là true hoặc false.
- Phép toán ! được viết trước biểu thức cần phủ
định.
Ví dụ:! (x<1) tương đương với biểu thức quan
hệ x>=1.
- Các phép toán || và && dùng để kết hợp nhiều
biểu thức logic hoặc quan hệ thành một biểu
thức, thường được dùng để diễn tả các điều kiện
phức tạp.
Ví dụ: Để thể hiện điều kiện 5 ≤ x ≤ 11, trong
C++ cần phải tách thành phát biểu dưới dạng 5
≤ x và x ≤ 11 :
(5 <= x) &&(x <= 11)
HĐ3: Tìm hiểu câu lệnh gán – Phát triển NL tư duy
GV: Câu lệnh gán là một trong những câu lệnh
cơ bản nhất của các ngôn ngữ lập trình.
HS: Theo dõi
GV: Nhấn mạnh và nêu một số điểm chú ý khi
sử dụng lệnh gán.
- Bên trái lệnh gán là tên biến, bên phải là biểu
thức đã xác định.
- Biểu thức bên phải cẩn được xác định giá trị
trước khi gán, nghĩa là mọi biến trong biểu thức
đã được xác định giá trị và các phép toán trong
biểu thức có thể thực hiện được trong miền giá
trị của biến.
6. Câu lệnh gán
- Dạng:
< tên biến>= < biểu thức >;
Trong đó:
+ Biến là biến đơn
+ Biểu thức có kiểu giá trị phù hợp với kiểu của
biến
- Hoạt động của câu lệnh gán:
+ Tính giá trị của biểu thức vế phải;
+ Gán giá trị của biểu thức đã tính cho biến ở
vế trái.
- Ví dụ
x1 = (-b – sqrt (b*b- 4*a*c))/(2*a);
x2 = -b/a – x1;
z = z – 1;
i = i + 1;
Trong ví dụ trên, ý nghĩa của lệnh gán thứ 3 là
giảm giá trị của biến z một đơn vị. Ý nghĩa của
lệnh gán thứ tư là tăng giá trị của biến i lên một
đơn vị.
C. Hoạt động củng cố
- Phép toán quan hệ, phép toán logic
- Câu lệnh gán
D. Hoạt động luyện tập, mở rộng
- Chuẩn bị §7. Các hàm chuẩn vào/ra đơn giản
Ngày soạn:
Tiết theo KHDH: 7
§7. CÁC THỦ TỤC CHUẨN VÀO/RA ĐƠN GIẢN
I. Mục tiêu bài học
1. Kiến thức
- Biết các lệnh vào/ra đơn giản để nhập thông tin từ bàn phím hoặc đưa thông tin ra màn hình;
2. Kỹ năng
- Viết các lệnh vào/ra cơ bản;
3. Thái độ
- HS hiểu bài và hứng thú với bài học;
- Bước đầu rèn luyện tư duy giải quyết các vấn đề đơn giản và hoàn chỉnh trên máy tính.
4. Năng lực, phẩm chất
- NL quan sát và thực hành - NL lập trình
- NL sử dụng CNTT - NL tư duy
- 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, thao tác mẫu
- 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:
Hãy cho biết giá trị của a và b sau khi thực hiện xong chương trình dưới đây?
#include <bits/stdc++.h>
using namespace std;
long a,b,c;
int main()
{ a=5; b=9;
c=a;
a=b;
b=c;
return 0;
}
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 hàm nhập dữ liệu vào từ bàn phím – Phát triển NL quan sát và thực hành
GV: Khi giải quyết một bài toán, ta phải đưa dữ
liệu vào máy tính xữ lí. Ví dụ:
- Khi viết chương trình giải phương trình bậc 2:
ax2
+ bx + c = 0, ta phải nhập cho 3 biến a, b, c.
Có 2 cách nhập như sau:
+ Cách 1: Nhập lần lượt từng giá trị a, b, c
cin>>a; cin>>b; cin>>c;
1. Nhập dữ liệu vào từ bàn phím
+ Cách 2: Nhập đồng thời a, b, c:
cin >> a >> b >> c;
HS: Quan sát máy chiếu
GV: Khi viết chương trình tính diện tích hình
chữ nhật có chiều rộng là a, chiều dài là b, ta
nhập như thế nào?
HS: Rút ra cú pháp nhập
GV: Minh họa việc nhập giá trị không tương
thích với kiểu dữ liệu → Chương trình báo lỗi.
HS: Ghi nhớ chú ý
- Cú pháp:
cin>>biến vào>>biến vào>>…>>biến vào;
trong đó:
+ Biến vào là biến đơn
+ Dấu … thể hiện có thể có nhiều biến vào
được cách nhau bởi toán tử >>
- Ví dụ:
cin>>n;
cin>>a>>b>>c;
- Chú ý:
+ Khi nhập giá trị cho nhiều biến thì những giá
trị này gõ cách nhau một dấu cách hoặc kí tự
xuống dòng (phím Enter).
+ Các giá trị nhập vào cho biến phải tương ứng
với kiểu dữ liệu
HĐ2: Tìm hiểu hàm đưa dữ liệu ra màn hình – Phát triển NL tư duy
GV: Sau khi xử lí xong, để nhìn thấy được kết
quả ta phải dùng thủ tục xuất dữ liệu.Ví dụ: ta
phải đưa ra màn hình giá trị 2 nghiệm x1, x2 thì
lệnh in là:
cout<<“Nghiem cua phuong trinh la: ”<<“x1 =
“<<x1<<endl<< “x2= ” <<x2;
- HS: Rút ra cú pháp đưa dữ liệu ra màn hình
2. Đưa dữ liệu ra màn hình
- Cú pháp:
+ Cách 1:
cout<<kết quả ra<<kết quả ra<<…<<kết quả
ra;
+ Cách 2:
cout<<kết quả ra<<kết quả ra<<…<<kết quả
ra<<endl;
+ Cách 3:
cout<<kết quả ra<<kết quả ra<<…<<kết quả
ra<< ‘n’;
trong đó:
+ Kết quả ra là tên biến đơn, biểu thức hoặc
hằng.
+ Dấu … thể hiện có thể có nhiều kết quả ra
GV: Chạy chương trình sử dụng câu lệnh in ra
màn hình theo cả 3 cách.
HS: Quan sát chương trình, phân biệt các cách
làm và ghi nhớ cú pháp.
GV: Chạy chương trình có sử dụng các hàm
chuẩn vào và ra sau:
#include <bits/stdc++.h>
using namespace std;
double x,y;
int main()
{
cout<< “Nhap vao gia tri thuc x va y”<<
endl;
cin>>x>>y;
cout<< “Dien tich cua hinh chu nhat la”
<<x*y;
return 0;
}
HS: Quan sát và nắm bắt cách sử dụng các hàm
chuẩn vào ra
GV: Chạy chương trình sau theo 2 trường hợp
có quy cách in và không có quy cách in
#include <bits/stdc++.h>
using namespace std;
int main ()
{ double a = 3.1415926534;
double b = 206.0;
double c = 1.0e-10;
cout <<fixed<<setprecision(3)//chú ý
cout<<a<<endl<<b<<endl<<c<<endl;
return 0;
}
HS: Theo dõi kết quả và rút ra cú pháp quy
cách in
được cách nhau bởi toán tử <<
- Ở cách 1, sau khi đưa kết quả ra màn hình,
con trỏ không chuyển xuống đầu dòng tiếp
theo. Ở cách 2 và 3, con trỏ sẽ chuyển xuống
đầu dòng tiếp theo.
- Ví dụ:
cout<< “Nhap so nguyen duong n = ”;
cin>>n;
hoặc
cout<< “Nhap so nguyen duong n = ”<<endl;
cin>>n;
-Quy cách in ra màn hình:
cout <<fixed<<setprecision(n)
+ setprecision; đặt số chữ số phần thập phân là
n
+ fixed là cố định số chữ số phần thập phân
phải đủ n kí tự, nếu không đủ phải thêm 0
§8. SOẠN THẢO, DỊCH, THỰC HIỆN VÀ HIỆU CHỈNH
CHƯƠNG TRÌNH
I. Mục tiêu bài học
1. Kiến thức
- Biết các bước soạn thảo, dịch, thực hiện và hiệu chỉnh chương trình
- Biết một số công cụ của môi trường CodeBlocks
2. Kỹ năng
- Soạn, dịch, sửa lỗi, chạy và hiệu chỉnh chương trình
- Chỉnh sửa chương trình dựa vào thông báo lỗi của chương trình dịch và kết quả thu được
3. Thái độ
- HS hiểu bài và hứng thú với bài học;
- Bước đầu rèn luyện tư duy giải quyết các vấn đề đơn giản và hoàn chỉnh trên máy tính.
4. Năng lực, phẩm chất
- NL quan sát và thực hành - NL lập trình
- NL sử dụng CNTT - NL tư duy
- 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, thao tác mẫu
- 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:
Nhập vào hai số nguyên a và b, tương ứng là chiều dài và chiều rộng của hình chữ nhật. Viết chương
trình tính chu vi P và diện tích S của hình chữ nhật đó.
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 môi trường làm việc với CodeBlocks – Phát triển NL quan sát và thực hành, NL
sử dụng CNTT, NL tư duy, NL lập trình
GV: Hướng dẫn học sinh các thao tác sau:
- Tạo thư mục mới trong C++
- Soạn thảo
- Lưu chương trình (Ctrl+S)
- Biên dịch chương trình(Ctrl+F9)
- Chạy chương trình (F9)
- Đóng cửa sổ chương trình (Alt+F9/Alt+F3)
- Thoát khỏi phần mềm (Alt+F4)
HS: Quan sát quy trình soạn thảo của một
chương trình, rút ra các phím tắt thường sử
dụng
1. Làm việc với CodeBlocks
- Tạo thư mục mới trong C++
+ B1: Khởi động CodeBlocks
+ B2: Create a new project
+ B3: Console Aplication → Go
+ B4: C++ → Next
+ B5: Đặt tên và chọn đường dẫn → Next
+ B6: Finish
- Tạo chương trình, viết và chạy
+ B1: Source
+ B2: Nháy đúp main.cpp
+ B3: Soạn thảo chương trình
+ B4: Biên dịch ( )
+ B5: Run ( )
- Tạo một chương trình mới sau khi vừa viết một
chương trình
+ B1: Nháy đúp main.cpp
+ B2: Soạn thảo chương trình
+ B3: Build and Run ( )
- Đặt tên chương trình: File → Save file as
HĐ2:Soạn thảo các chương trình ví dụ – Phát triển NL quan sát và thực hành, NL sử dụng CNTT,
NL tư duy, NL lập trình
GV: Chiếu ví dụ
HS: Thực hiện chương trình theo các bước
giáo viên vừa hướng dẫn
2. Ví dụ
Viết chương trình nhập vào bán kính R của hình
tròn. Tính chu vi C và diện tích S của hình tròn
đó.
- Tạo thư mục mới
+ B1: Khởi động CodeBlocks
+ B2: Create a new project
+ B3: Console Aplication → Go
+ B4: C++ → Next
+ B5: Nhập “Vi_du ” vào ô Project Title→ Next,
chọn vị trí lưu tệp trên ổ đĩa E.
+ B6: Finish
- Tạo chương trình, viết và chạy
+ B1: Source
+ B2: Nháy đúp main.cpp
+ B3: Soạn thảo chương trình
#include <bits/stdc++.h>
using namespace std;
const double pi =3.14;
double r,c,s;
int main()
{
cout<< “Nhap vao ban kinh r = ”;
cin>>r;
c = 2*pi*r;
s = pi * r*r;
cout<<fixed<<setprecision(2);
cout<< “Chu vi cua duong tron la”<<c<<endl;
cout<< “Dien tich cua hinh tron la” <<s;
return 0;
}
+ B4: Build ( ) (Ctrl+F9)
+ B5: Run ( ) (F9)
- Đặt tên chương trình: File → Save file as → Gõ
tên “Duong_tron”
C. Hoạt động củng cố
- Tạo thư mục mới → Soạn thảo → Biên dịch (Ctrl+F9) → Chạy (F9) → Lưu (Ctr+S)
D. Hoạt động luyện tập, mở rộng
- Chuẩn bị tiết bài tập và thực hành 1
Ngày soạn:
Tiết theo KHDH: 9
BÀI TẬP VÀ THỰC HÀNH 1
I. Mục tiêu bài học
1. Kiến thức
- Biết viết một chương trình C++ hoàn chỉnh đơn giản
2. Kỹ năng
- Lập trình giải được bài toán đơn giản cho trước
3. Thái độ
- Rèn luyện tác phong lập trình trên máy nghiêm túc, cẩn thận và tuân theo các quy định nghiêm ngặt
của ngôn ngữ lập trình C++
- Bồi dưỡng niềm ham mê lập trình.
4. Năng lực, phẩm chất
- NL quan sát và thực hành - NL lập trình - NL làm việc nhóm
- NL sử dụng CNTT - NL tư duy
- 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: Làm việc nhóm, kiểm tra đánh giá, vấn đáp
- Phương tiện: SGK, giáo án, phòng thực hành
2. Học sinh
- Vở ghi, SGK
III. Tiến trình bài học
A. Hoạt động khởi động
- Giáo viên nhắc nhở HS thực hiện đúng quy định phòng thực hành, có ý thức giữ gìn của công.
- Ổn định vị trí: 2 HS ngồi 1 máy (1 nhóm)
Câu hỏi: Kết hợp trong quá trình thực hành
B. Hoạt động hình thành kiến thức
HOẠT ĐỘNG DẠY HỌC NỘI DUNG
HĐ1:Soạn thảo chương trình: “Giải phương trình bậc hai”– Phát triển NL quan sát và thực
hành, NL sử dụng CNTT, NL tư duy, NL lập trình
GV: Hướng dẫn học sinh mở Code Blocks và
gõ chương trình,
HS: Soạn thảo chương trình
1. Chương trình: “Giải phương trình bậc
hai”
a) Gõ chương trình
#include <bits/stdc++.h>
using namespace std;
double a,b,c,d,x1,x2;
int main()
{
cout<< “Nhap a, b, c ”;
cin>>a>>b>>c;
d = b*b-4*a*c;
x1 = (-b+sqrt(d))/(2*a);
x2=-b/a-x1;
GV: Nêu câu hỏi phân tích chương trình:
1) Nêu tác dụng của từng biến trong chương
trình.
2) Hãy chỉ ra các hàm chuẩn vào/ra trong
chương trình.
3) Chương trình gồm những phần nào?
4) Quy cách in dữ liệu trong chương trình như
thế nào?
HS: TL
GV: Để lưu chương trình ta làm như thế nào?
HS:TL và tiến hành lưu chương trình với tên
phuong_trinh_bac_2
GV: Biên dịch chương trình ta sử dụng tổ hợp
phím nào?
HS: TL và dịch, sửa chương trình
GV: Theo dõi các nhóm làm việc, hướng dẫn
các em sửa lỗi
GV: Để chạy chương trình, ta dùng phím nào?
HS: TL và nhập 1; -3; 2. Quan sát kết quả hiển
thị trên màn hình: x1 = 1.00; x2=2.00
HS: Chạy chương trình lần 2 (F9), nhập các giá
trị 1; 0 và 2. Quan sát kết quả hiển thị trên màn
hình x1 = -1.41; x2 = 1.41
GV: Nếu không sử dụng biến d, chương trình sẽ
có những thay đổi như thế nào?
HS: double a,b,c,x1,x2; x1 = (-b+sqrt(b*b-
4*a*c))/(2*a);
→ Thực hiện sửa lại chương trình, biên dịch,
sửa lỗi và chạy với 2 bộ dữ liệu trên.
cout<<fixed<<setprecision(2);
cout<< “x1=”<<x1<<endl;
cout<< “x2=” <<x2;
return 0;
}
b) File → Save file as → lưu chương trình với
tên phuong_trinh_bac_2
c) Nhấn tổ hợp phím Ctrl+F9 để biên dịch và
sửa lỗi cú pháp (nếu có)
d) Nhấn phím F9 để chạy chương trình. Nhập
các giá trị 1 ; -3 ; 2
e) Nhấn phím F9 rồi nhập các giá trị 1 ; 0 ; -2
f) Sửa lại chương trình trên sao cho không dùng
biến trung gian d. Thực hiện chương trình đã
sửa với các bộ dữ liệu trên.
#include <bits/stdc++.h>
using namespace std;
double a,b,c,x1,x2;
int main()
{
cout<< “Nhap a, b, c ”;
cin>>a>>b>>c;
x1 = (-b+sqrt(b*b-4*a*c))/(2*a);
x2=-b/a-x1;
cout<<fixed<<setprecision(2);
GV lưu ý: Có thể ghi sang tệp chương trình mới
khi có nhu cầu chỉnh sửa chương trình bằng
cách File → Save file as
GV: Có cách nào khác để tính x2 không?
HS: TL và sửa lại chương trình với cách tính x2
mới
GV: Yêu cầu HS nhập 1; 5; 6 và chạy chương
trình
HS: F9, nhập 1; 5; 6 và quan sát kết quả (x1 =
2.00; x2 = 3.00)
GV: Yêu cầu nhập 1; 1; 1 và chạy chương trình.
HS: F9, nhập 1; 1; 1 → kết quả sai
GV: Chương trình trên chỉ thực hiện đúng khi
nào?
HS: TL (Khi d>=0)
cout<< “x1=” <<x1<<endl;
cout<< “x2=” <<x2;
return 0;
}
g) Sửa lại chương trình nhận được ở câu c bằng
cách thay đổi công thức
x2= (-b-sqrt(d))/(2*a);
h) Thực hiện chương trình đã sửa với bộ dữ liệu
1; -5; 6. Quan sát kết quả trên màn hình.
i) Thực hiện chương trình với bộ dữ liệu 1; 1; 1
và quan sát kết quả trên màn hình
C. Hoạt động củng cố
- Tạo thư mục mới → Soạn thảo → Biên dịch (Ctrl+F9) → Chạy (F9) → Lưu (Ctr+S)
D. Hoạt động luyện tập, mở rộng
- Chuẩn bị tiếp tiết bài tập và thực hành 1
Ngày soạn:
Tiết theo KHDH:10
BÀI TẬP VÀ THỰC HÀNH 1 (tiết 2)
I. Mục tiêu bài học
1. Kiến thức
- Biết viết một chương trình C++ hoàn chỉnh đơn giản
2. Kỹ năng
- Lập trình giải được bài toán đơn giản cho trước
3. Thái độ
- Rèn luyện tác phong lập trình trên máy nghiêm túc, cẩn thận và tuân theo các quy định nghiêm ngặt
của ngôn ngữ lập trình C++
- Bồi dưỡng niềm ham mê lập trình.
4. Năng lực, phẩm chất
- NL quan sát và thực hành - NL lập trình - NL làm việc nhóm
- NL sử dụng CNTT - NL tư duy
- 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: Làm việc nhóm, kiểm tra đánh giá, vấn đáp
- Phương tiện: SGK, giáo án, phòng thực hành
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: Kết hợp trong quá trình thực hành
B. Hoạt động hình thành kiến thức
HOẠT ĐỘNG DẠY HỌC NỘI DUNG
HĐ1:Soạn thảo chương trình: “Tính diện tích phần gạch chéo” – Phát triển NL quan sát và thực
hành, NL sử dụng CNTT, NL tư duy, NL lập trình
GV: Hãy viết chương trình nhập số a (a>0) rồi
tính và đưa ra diện tích phần được gạch chéo
trong hình 3 (kết quả làm tròn đến 4 chữ số
phần thập phân)
HS: Xây dựng khung chương trình
- Khai báo:
+ Thư viện: bits/stdc++.h
1. Chương trình: “Tính diện tích phần gạch
chéo”
+ Hằng: pi = 3.14
+ Biến: a (a>0); s
- Thân:
+ Nhập a;
+ Tính s
+ Quy cách độ rộng và in kết quả
GV: Cho a = 3; a = 10.5; a = 43
HS: Chạy thử các giá trị và so sánh kết quả giữa
các nhóm.
#include <bits/stdc++.h>
using namespace std;
const double pi=3.14;
double a,s;
int main()
{
cout<< “Nhap a = ”;
cin>>a;
s = pi*a*a/2;
cout<<fixed<<setprecision(4);
cout<< “Dien tich phan gach cheo la”<<s;
return 0;
}
HĐ2:Soạn thảo chương trình: “Tính vận tốc của vật rơi tự do” – Phát triển NL quan sát và thực
hành, NL sử dụng CNTT, NL tư duy, NL lập trình
GV: Lập trình tính và đưa ra màn hình vận tốc v
khi chạm đất của một vật rơi tự do từ độ cao h,
biết rằng v = , trong đó g là gia tốc rơi tự do và
g = 9.8 m/s2
. Độ cao h (m) được nhập vào từ
bàn phím.
HS: Xây dựng khung chương trình
- Khai báo:
+ Thư viện: bits/stdc++.h
+ Hằng: g = 9.8
+ Biến: v, h
- Thân:
+ Nhập h;
+ Tính v
+ Quy cách độ rộng và in kết quả
2. Chương trình: “Tính vận tốc của vật rơi
tự do”
#include <bits/stdc++.h>
using namespace std;
const double g=9.8;
double h,v;
int main()
{
cout<< “Nhap h = ”;
cin>>h;
v = sqrt(2*g*h);
GV: Cho h = 3; h = 10.5; h = 43
HS: Chạy thử các giá trị và so sánh kết quả giữa
các nhóm.
cout<<fixed<<setprecision(2);
cout<< “Van toc cua vat la ” <<v;
return 0;
}
C. Hoạt động củng cố
- Tạo thư mục mới → Soạn thảo → Biên dịch (Ctrl+F9) → Chạy (F9) → Lưu (Ctr+S)
D. Hoạt động luyện tập, mở rộng
- Ôn tập để tiết sau kiểm tra 1 tiết
Ngày tháng năm
Tổ trưởng chuyên môn duyệt
Lê Phan Vũ
Ngày soạn:
Tiết theo KHDH: 9
BÀI TẬP
I. Mục tiêu bài học
1. Kiến thức
- Củng cố lại cho HS một số khái niệm: lập trình, ngôn ngữ lập trình, chương trình dịch
- Phân biệt thông dịch và biên dịch, tên dành riêng và tên chuẩn
- Biết phânbiệt các loại biểu thức trong NNLT
2. Kỹ năng
- Xác định được tên đúng, tên sai, tên chuẩn, từ khoá.
- Đặt tên cho một đối tượng bất kì
- Viết được các biểu thức số học và logic với các phép toán thông dụng.
- Bước dầu biết phân tích và hoàn thành chương trình đơn giản
3. Thái độ
- Tích cực vận dụng kiến thức đã học để làm bài
4. Năng lực, phẩm chất
- NL sử dụng ngôn ngữ
- NL so sánh và suy luận
- Phẩm chất: tích cực, tự giác làm bài
II. Phương tiện chuẩn bị
1. Giáo viên
- Phương pháp: Thuyết trình, vấn đáp, gợi 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: kết hợp trong quá trình chữa bài tập
B. Hoạt động hình thành kiến thức
HOẠT ĐỘNG DẠY HỌC NỘI DUNG
HĐ1:Giải quyết các bài tập trang 35/SGK
Câu 1: Cho biết sự khác nhay giữa hằng có đặt
tên và biến.
Câu 2: Tại sao phải khai báo biến?
Câu 3: (Trang 35-SGK)
Câu 4: (Trang 35-SGK)
- Biến P có thể khai báo bằng kiểu dữ liệu nào?
- Biến X có thể khai báo bằng kiểu dữ liệu nào?
- 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.
- Biến là đại lượng có thể bị thay đổi trong
quá trình thực hện chương trình.
- Khai báo biến để cho chương trình dịch
biết để lưu trữ và xử lí.
- Biến đó có thể được khai báo bằng các kiểu
dữ liệu là: Integer, Word, Longint.
- Biến P có thể khai báo bởi kiểu số nguyên
byte, integer, word, longint hay kiểu số thực
real, extended.
- Biến X có thể khai báo bởi kiểu số thực real
- Vậy lựa chọn nào là lựa chọn đúng?
Câu 5: (Trang 35-SGK)
- Với A có giá trị nguyên nằm trong phạm vi từ
100 đến 200 thì diện tích S của hình vuông nhỏ
nhất và lớn nhất là bao nhiêu?
- Với diện tích S nhỏ nhất là 10000 và lớn nhất
là 40000 thì S có thể được khai báo bằng kiểu
dữ liệu nào trong các kiểu dữ liệu đã nêu là
đúng và tốn ít bộ nhớ nhất?
Câu 6: (Trang 35-SGK) Hãy viết biểu thức toán
học dưới đây trong Pascal:
Câu 7: (Trang 36-SGK) Chuyển biểu thức
Pascal thành biểu thức toán học tương ứng:
a) a/b*2; b) a*b*c/2;
c) 1/a*b/c; d) b/sqrt(a*a+b);
GV: Cho biết Input và Output của bài toán?
HS: Input: Độ dài 3 cạnh của tam giác.
Output: Diện tích, Chu vi của tam giác.
GV: Nêu công thức tính diện tích và chu vi tam
giác.
HS: với
C=2p.
GV: Gọi một học sinh lên bảng viết chương
trình.
HS: Lên bảng viết chương trình.
hoặc extended.
Đáp án đúng là: B, D
- Diện tích S nhỏ nhất là 10000 và lớn nhất là
40000.
- S khai báo thuộc kiểu Word là đúng và tốn
ít bộ nhớ nhất. Vậy phương án đúng là C.
- Biểu thức trong Pascal:
(1+z)(x+y/x)/(a-1/(1+x*x*x))
- Biểu thức toán học tương ứng là:
Bài 8: Viết chương trình nhập vào độ dài 3
cạnh của tam giác. In ra màn hình diện tích,
chu vi của nó.
Program Dt_CV_TamGiac;
Uses Crt;
Var a,b,c,p,cv,dt:real;
BEGIN
Clrscr;
Write('Nhap vao do dai 3 canh cua tam
giac a,b,c:');
readln(a,b,c);
P:=(a+b+c)/2;
dt:=Sqrt(p*(p-a)*(p-b)*(p-c));
cv:=2*p;
Writeln('Dien tich',dt:6:2);
Writeln('Chu vi=',cv:6:2);
readln;
END
Ngày soạn:
( ) .
1
3
1
y
x
z
a z
a
x
+
+
−
+
)
)(
)(
( c
p
b
p
a
p
p
S −
−
−
=
c
c
b
a
p
+
+
=
2
)
a
a
b
)
2
abc
b
)
b
c
ac
)
2
b
d
a b
+
Tiết theo KHDH: 10
KIỂM TRA
I. Mục tiêu bài học
1. Kiến thức
- Kiểm tra các kiến thức về ngôn ngữ lập trình, cấu trúc chương trình, khai báo biến, các biểu thức
trong C++, các câu lệnh vào ra đơn giản.
2. Kỹ năng
- Viết biểu thức số học trong Toán học sang dạng tương ứng trong C++ và ngược lại.
- Viết được chương trình đơn giản.
3. Thái độ
- Nghiêm túc làm bài.
4. Năng lực, phẩm chất
- NL tự học - NL sử dụng ngôn ngữ
- NL tính toán - NL tư duy
- Phẩm chất: trung thực, tự trọng
II. Phương tiện chuẩn bị
1. Giáo viên
a. Ma trận
MA TRẬN ĐỀ KIỂM TRA 1 TIẾT TIN HỌC 11
Mức độ Nhận biết Thông hiểu Vận dụng thấp Vận dụng cao
Khái niệm lập
trình và NNLT 11
1 (tự luận) 2 (tự luận)
Các thành phần
của NNLT
6, 7, 17
Cấu trúc chương
trình
1, 12
Một số kiểu dữ
liệu chuẩn
9
Khai báo biến 19
Phép toán, biểu
thức, câu lệnh
gán
2, 3, 5, 14, 15, 18 16
Các hàm chuẩn
vào ra đơn giản
13, 20
Soạn thảo, dịch,
thực hiện và hiệu
chỉnh CT.
4, 8, 10
Tổng Số câu: 16
Số điểm: 4
Tỉ lệ: 40%
Số câu: 4
Số điểm: 1
Tỉ lệ: 10%
Số câu: 1
Số điểm: 2
Tỉ lệ: 20%
Số câu: 1
Số điểm: 3
Tỉ lệ: 30%
b. Đề kiểm tra
ĐỀ KIỂM TRA 1 TIẾT TIN HỌC 11
SỞ GD&ĐT NAM ĐỊNH
TRƯỜNG THPT THỊNH LONG
KIỂM TRA 1 TIẾT
Môn: Tin học 11
Họ và tên:………………………………………….. Lớp:…………
I. TRẮC NGHIỆM (5 điểm)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Câu 1: Cho chương trình:
#include <bits/stdc++.h>
using namespace std;
int main()
{
double a= 1; double b= 1; double c= 5;
d = b*b – 4*a*c;
cout <<"d = "<<d;
return 0;
}
Tìm kết luận đúng nhất về lỗi của chương trình trong các kết luận sau:
A. Thiếu #include <iostream> B. Sai câu lệnh gán tính d
D. Không có lệnh cin để nhập a, b, c D. Không khai báo biến d
Câu 2: Biểu thức: 25 / 3 + (5 % 2) * 3 có giá trị là:
A. 11 B. 27 C. 7 D. 9
Câu 3: Xác định giá trị của x, y sau khi thực hiện đoạn chương trình?
int main ()
{
long x= 10; long y= 15;
x= x+y;
y= y-x;
cout<< “x = ”<< x << “ ” << “y = ” << y
}
A. x= 15 y= -10. B. x= 25 y= 15. C. x= 25 y= -10. D. x= 10 y= -15.
Câu 4: Kết quả của biểu thức sqrt((ABS(25-50) % 4) ) là:
A. 2 B. 1 C. 4 D. 3
Câu 5: Chọn các tên sai trong ngôn ngữ lập trình C++:
A. hoa – hong, Lap trinh, 11C++ B. _123, Tinhoc, Bai_tạp
C. tam_giac, chuvi, dientich D. Kiemtra1, Tinh, Giai_pt
Câu 6: Chọn phát biểu đúng trong các phát biểu sau:
A. Một ngôn ngữ lập trình có ba thành phần cơ bản: Bảng chữ cái, bảng chữ số, cú pháp
B. Một ngôn ngữ lập trình có ba thành phần cơ bản: Bảng chữ cái, cú pháp, ngữ nghĩa
C. Một ngôn ngữ lập trình có ba thành phần cơ bản: Bảng chữ số, cú pháp, ngữ nghĩa
D. Một ngôn ngữ lập trình có ba thành phần cơ bản: Bảng chữ cái, bảng chữ số, ngữ nghĩa
Câu 7: Cho x là biến đã khai báo kiểu thực. Sau khi thực hiện hai câu lệnh sau thì kết quả dạng nào
sẽ xuất hiện trên màn hình?
x:= 10;
cout << fixed<<setprescision(2) << x;
A. 10.0 B. 10.000 C. 10 D. 10.00
Câu 8: Cho khai báo biến sau đây, lệnh gán nào là đúng?
unsigned char m, n;
short x, y;
A. m:= -4 B. y:= 10.5 C. n:= 3.5 D. x:= 6
Câu 9: Thực hiện chương trình C++ sau đây, ta thu được kết quả nào:
int a, n;
int main ()
{
n= 645;
a= n / 10;
n= n % 10;
a= a + n / 10;
a= a + n % 10;
cout<<a;
}
A. 15 B. 5 C. 69 D. 6
Câu 10: Lựa chọn khai báo đúng:
A. # include (tên thư viện) B. # include tên thư viện
C. # include <tên thư viện> D. # include {tên thư viện}
Câu
11: Cho n=6, câu lệnh sau sẽ in ra màn hình nội dung gì?
cout<< “1 + 2 + 3 +... +” << n<< “ = ”<< n*(n+1)/2);
A. 1 + 2 + 3 +... + 6 = 21 B. 1 + 2 + 3 +... + 6 = 42 C. 1 + 2 + 3 +... + = 21 D. 1 + 2 + 3 +...
+ = 42
Câu 12: Biểu thức nào sau đây là biểu thức quan hệ?
A. (x >= 1) && (x<=5) B. 2x +3 < 7 – 3x C. 11 % 3 D. (x+4)/5
Câu 13: Hãy cho biết biểu thức toán học của biểu thức sau: sqrt(abs(x-1)) + x*x – 1
A. 1
1 2
−
+
− x
x B.
1
|
1
| 2
−
+
− x
x
C.
1
1
|
| 2
−
+
− x
x D.
1
1 2
−
+
− x
x
Câu 14: Biểu diễn nào dưới đây không phải là hằng?
A. A20 B. 1.06e-15 C. ‘c’ D. true
Câu 15: Trường hợp nào sau đây không phải là lệnh gán trong C++ ?
A. a= 10; B. c= c+5; C. a= a*2; D. a + b= 1000;
Câu 16: Khai báo nào sau đây là đúng?
A. signedchar: x;y; B. long k=30; C. int x,y,z:50; D. a,b:short;
Câu 17: Cho x là biến thực đã được gán giá trị 12.41235. Để thực hiện lên màn hình nội dung
“x=12.41” cần chọn câu lệnh nào sau đây ?
A. cout<<setprecision(3)<<fixed<<”x=”<<x;
B. cout<<”x=”<<fixed<<setprecision(3)<<x;
C. cout<<fixed<<setprecision(3)<<”x=”<<x;
D. Cả B và C
Câu 18: Trong ngôn ngữ lập trình C++, từ khóa include dùng để
A. Khai báo hằng B. Khai báo biến
C. Khai báo thư viện D. Khai báo chương trình con
Câu 19: Biến x là số nguyên nằm trong phạm vi 15-3500 khai báo nào trong các khai báo sau là tối
ưu nhất ?
A. unsigned long long x; B. unsigned long x;
C. unsigned char x; D. unsigned short x;
Câu 20: Biến a nhận giá trị là true, biến b nhận 1 trong các giá trị 11.2; 11.3 hãy chọn khai báo đúng:
A. real a; bool b; B. true a; long b; C. bool a; double b; D. char a; int b;
II. TỰ LUẬN (5 điểm)
Câu 1 (2 điểm) Chuyển đổi biểu thức toán học sau sang biểu thức viết trong C++:
3
2
xy
y
x
y
x
y
x −
+
+
−
Câu 2 (3 điểm) Viết chương trình nhập số a từ bàn phím rồi tính tổng sau:
s = a3
- 2a2
+ 5a - 6
c. Đáp án, biểu điểm
ĐÁP ÁN, BIỀU ĐIỀM
I. Trắc nghiệm (0.25 điểm/câu)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
D A C B A B D D C C A B B A D B D C D C
II. Tự luận
Câu 1 (2 điểm) Chuyển đổi biểu thức toán học sau sang biểu thức viết trong C++:
3
2
xy
y
x
y
x
y
x −
+
+
−
= sqrt(x*x-y)/(x+y) + (x-sqrt(y))/(x*y*y*y)
Câu 2 (3 điểm) Viết chương trình nhập số a từ bàn phím rồi tính tổng sau:
s = a3
- 2a2
+ 5a - 6
#include <bits/stdc++.h>
using namespace std;
long a, s; (0.5 điểm)
int main ()
{
cout<< “Nhap a = ”; (0.5 điểm)
cin>>a; (0.5 điểm)
S:=a*a*a-2*a*a+5*a-6; (1.0 điểm)
cout <<fixed<<setprecision(2)<< “Vay s = ”<<s; (0.5 điểm)
return 0;
}
2. Học sinh
- Các kiến thức đã học và ôn tập
III. Tiến trình dạy học
1. Kiểm tra
- GV: Phát đề
- HS: Làm bài
2. Thu và chấm bài
Ngày soạn:
Tiết theo KHDH: 11
Chủ đề 3: CẤU TRÚC RẼ NHÁNH VÀ LẶP
§9. CẤU TRÚC RẼ NHÁNH
I. Mục tiêu bài học
1. Kiến thức
- Hiểu vai trò của cấu trúc rẽ nhánh trong biểu diễn thuật toán.
- Hiểu câu lệnh rẽ nhánh dạng thiếu và dạng đủ.
2. Kỹ năng
- Sử dụng câu lệnh rẽ nhánh trong mô tả thuật toán của một số bài toán đơn giản.
- Viết câu lệnh rẽ nhánh dạng thiếu, dạng đủ và vận dụng được trong biểu diễn thuật toán của một số
bài toán đơn giản.
3. Thái độ
- Học sinh thấy được nhu cầu viết chương trình cần có sự điều khiển rẽ nhánh và hứng thú với điều
này.
- Tiếp tục rèn luyện phẩm chất của người lập trình: cẩn thận, nghiêm túc và say mê với lập trình giải
quyết bài toán đơn giản nhưng ngày một thực tế hơn
4. Năng lực, phẩm chất
- NL tư duy - NL sử dụng CNTT
- NL sử dụng ngôn ngữ - NL tự 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, gợi 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: kết hợp trong quá trình học bài mới
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 rẽ nhánh– Phát triển NL sử dụng ngôn ngữ, NL tự học
GV: Câu nói sau đây có dạng của mệnh đề gì:
“Chiều mai nếu trời không mưa thì Châu đến
nhà Ngọc”.
HS:Câu nói trên có dạng: Nếu.... thì....
GV: Câu nói sau đây có dạng của mệnh đề gì:
“Chiều mai nếu trời không mưa thì Châu đến
nhà Ngọc soạn bài, nếu trời mưa thì Châu gọi
điện cho Ngọc để trao đổi”.
HS: Câu nói trên có dạng: Nếu.... thì...., nếu
không thì......
GV: Một trong hai việc cụ thể chắc chắn sẽ xảy
1. Rẽ nhánh
- Cấu trúc mô tả mênh đềdạng: “Nếu… thì…”
→ Rẽ nhánh dạng thiếu
- Cấu trúc mô tả mênh đề dạng: “Nếu… thì…,
nếu không thì…”
→ Rẽ nhánh dạng đủ
ra, còn việc một hay việc hai sẽđược thực hiện
thì tuỳ thuộc vàođiều kiện cụ thể nào mãn. - Ví dụ: Thuật toán giảiphương trình bậc 2 ax2
+
bx +c = 0 (a≠0) – SGK/50
HĐ2: Tìm hiểu câu lệnh If– Phát triển NL sử dụng ngôn ngữ, NL sử dụng CNTT và NL tư duy
GV: if, else đóng vai trò là gì trong cú pháp
trên?
HS:TL (từ khoá)
GV: Khi tính giá trị của điều kiện thì trả lại giá
trị nào
HS: TL (true/false)
GV: Nêu cách thực hiện câu lệnh if dạng thiếu.
HS: Rút ra cách thực hiện câu lệnh if dạng đủ.
GV: Hướng dẫn HS viết ví dụ 1.
HS: Áp dụng viết ví dụ 2
2. Câu lệnh If
a) Cú pháp
- Dạng thiếu:
if (điều kiện){các câu lệnh};
- Dạng đủ:
if (điều kiện) {các câu lệnh 1;};else {câu lệnh
2;}
Trong đó:
+ Điều kiện: là biểu thức logic
+ Các câu lệnh gồm một hoặc nhiều câu lệnh
(có thể có câu lệnh if bên trong câu lệnh if)
b) Thực hiện
- Dạng thiếu: Tính và kiểm tra điều kiện.
+ Nếuđiều kiện đúng (true) → câu lệnh sẽ được
thực hiện
+ Nếu điều kiện sai (false) → câu lệnh sẽ bị bỏ
qua
- Dạng đủ: Tính và kiểm tra điều kiện.
+ Nếu điều kiện đúng (true) → câu lệnh 1 sẽ
được thực hiện
+ Nếu điều kiện sai (false) → câu lệnh 2 sẽ
được thực hiện
c) Ví dụ
- VD1:
if (a%2==0) cout << “a la so chan”;
if (a%2==0) cout << “a la so chan”; else cout
<< “a la so le”;
- Dạng đủ:
if (b>a) max = b;
if (b>a) max = b; else max = a;
C. Hoạt động củng cố
- Rẽ nhánh
- Câu lệnh if: dạng thiếu và đủ
D. Hoạt động luyện tập, mở rộng
- Đọc trước nội dung mục 3. Câu lệnh ghép và 4. Một số ví dụ.
Ngày soạn:
Tiết theo KHDH:12
§9. CẤU TRÚC RẼ NHÁNH (tiết 2)
I. Mục tiêu bài học
1. Kiến thức
- Hiểu câu lệnh rẽ nhánh dạng thiếu và dạng đủ.
- Hiểu câu lệnh ghép.
2. Kỹ năng
- Sử dụng câu lệnh rẽ nhánh trong mô tả thuật toán của một số bài toán đơn giản.
- Viết câu lệnh rẽ nhánh dạng thiếu, dạng đủ và vận dụng được trong biểu diễn thuật toán của một số
bài toán đơn giản.
3. Thái độ
- Học sinh thấy được nhu cầu viết chương trình cần có sự điều khiển rẽ nhánh và hứng thú với điều
này.
- Tiếp tục rèn luyện phẩm chất của người lập trình: cẩn thận, nghiêm túc và say mê với lập trình giải
quyết bài toán đơn giản nhưng ngày một thực tế hơn
4. Năng lực, phẩm chất
- NL tư duy - NL sử dụng CNTT
- NL sử dụng ngôn ngữ - NL lập 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ở
- 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:
Viết câu lệnh rẽ nhánh dạng đủ kiểm tra xem một số nguyên a nhập vào từ bàn phím là số âm hay số
dươ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âu lệnh ghép– Phát triển NL sử dụng ngôn ngữ, NL tư duy
GV: Sau if và else có thể viết bao nhiêu câu
lệnh?
HS: Trả lời câu hỏi.
GV: Trong trường hợp sau if và else có từ 2
câu lệnh trở lên thì ta phải ghép chúng lại
thành một nhóm nằm giữa hai kí tự { và }
3. Câu lệnh ghép
- Dạng
được gọi là câu lệnh ghép.
GV: Chạy chương trình giải phương trình bậc
2
- Không sử dụng câu lệnh ghép → trường hợp
d<0 chương trình vừa đưa ra thông báo
phương trình vô nghiệm, vừa đưa ra nghiệm
x1, x2
- Có sử dụng lệnh ghép → trường hợp d<0 sẽ
chỉ thông báo phương trình vô nghiệm.
HS: Nhận thấy sự cần thiết phải sử dụng câu
lệnh ghép trong chương trình
GV: Câu lệnh ghép được xem là bao nhiêu câu
lệnh.
HS: Là một câu lệnh
{
câu lệnh,
câu lệnh,
………….
câu lệnh,
}
-Ví dụ:
if (d<0) cout<< “Phuong trinh vo nghiem”;
else
{
x1 = (-b-sqrt(d))/(2*a);
x2 = -b/a – x1;
cout << fixed<<setprecision(2) <<“x1 =” <<
x1 <<endl <<“x2 = ” <<x2;
}
HĐ2: Tìm hiểu một số ví dụ– Phát triển NL sử dụng ngôn ngữ, NL lập trình, NL sử dụng CNTT và
NL tư duy
GV: Hãy xác định Input và Output của bài
toán?
HS: TL
GV: Hướng dẫn HS xây dựng chương trình:
1) Bài toán này có những biến nào?
2) Nhập gì cho bài toán này?
3) Sử dụng câu lệnh if như thế nào cho bài
toán này?
HS:TL và viết chương trình
4. Một số ví dụ
a) Ví dụ 1: Tìm nghiệm thực của phương trình
bậc hai: ax2
+ bx + c = 0 (a ≠ 0)
- Xác định bài toán:
+ Input: a, b, c
+Output: Đưa ra các nghiệm hoặc thông báo
phương trình vô nghiệm
- Chương trình:
#include <bits/stdc++.h>
using namespace std;
double a,b,c,d,x1,x2;
GV: Hãy xác định Input và Output của bài
toán?
HS: TL
GV: Hướng dẫn HS xây dựng chương trình:
1) Bài toán này có những biến nào?
2) Nhập gì cho bài toán này?
3) Sử dụng câu lệnh if như thế nào cho bài
toán này?
HS: TL và viết chương trình
int main()
{
cout<< “Nhap a, b, c ”;
cin>>a>>b>>c;
d = b*b-4*a*c;
if (d<0) cout<< “Phuong trinh vo nghiem”;
else
{
x1 = (-b-sqrt(d))/(2*a);
x2 = -b/a – x1;
cout << fixed<<setprecision(2) <<“x1 =”
<< x1 <<endl <<“x2 = ” <<x2;
}
return 0;
}
b) Ví dụ 2: Tìm số ngày của năm, biết rằng năm
nhuận là năm chia hết cho 400 hoặc chia hết cho
4 nhưng không chia hết cho 100.
Ví dụ: Năm 2000, 2004 là năm nhuận và có số
ngày là 366. Năm 1900, 1945 không phải là năm
nhuận và có số ngày là 365.
- Xác định bài toán:
+ Input: n
+Output: sn
- Chương trình:
#include <bits/stdc++.h>
using namespace std;
long n, sn;
int main()
{
cout<< “Nhap nam: ”;
cin>>n;
if (n % 400 ==0 || (n % 4 == 0 && n % 100 !=
0)) sn = 366; else sn = 365;
cout <<"So ngay cua nam " <<n<< "la "<<sn;
return 0;
}
C. Hoạt động củng cố
- Câu lệnh ghép
D. Hoạt động luyện tập, mở rộng
- Làm các bài tập 1; 2; 3, 6/55 - SGK
- Chuẩn bị §10. Cấu trúc lặp
Ngày soạn:
Tiết theo KHDH:13
§10. CẤU TRÚC LẶP
I. Mục tiêu bài học
1. Kiến thức
- Hiểu vai trò của cấu trúc lặp trong biểu diễn thuật toán.
- Hiểu cấu trúc lặp với số lần biết trước.
- Hiểu được câu lệnh lặp với số lần biết trước for trong C++
2. Kỹ năng
- Viết đúng các câu lệnh lặp với số lần biết trước for ở dạng tiến và dạng lùi (trong ngôn ngữ C++).
3. Thái độ
- Học sinh hiểu bài và hứng thú với bài học.
- Học sinh ngày càng say mê lập trình hơn.
4. Năng lực, phẩm chất
- NL tư duy - NL tính toán
- NL sử dụng ngôn ngữ - NL lập 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ở
- 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:
Nhập vào từ bàn phím ba số nguyên a, b, c. Viết chương trình đưa ra màn hình giá trị lớn nhất trong
ba số đó.
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 thế nào là lặp– Phát triển NL sử dụng ngôn ngữ, NL tính toán, NL tư duy
GV: Mỗi lần cộng, tổng S tăng thêm 1 giá trị
là bao nhiêu?
HS: với N = 1; 2; 3;…
GV: Có bao nhiêu lần lặp như vậy?
HS: 100 lần
GV: Mỗi lần cộng, tổng S tăng thêm 1 giá trị
1. Lặp
Bài toán 1:Viết chương trình tính tổng sau:
100
1
...
2
1
1
1
1
+
+
+
+
+
+
+
=
a
a
a
a
S
=> Lặp với số lần biết trước
Bài toán 2:Viết chương trình tính tổng sau:
N
a
a
a
a
S
+
+
+
+
+
+
+
=
1
...
2
1
1
1
1
là bao nhiêu?
HS: với N = 1; 2; 3;…
GV: Số lần lặp là bao nhiêu?
HS: Chưa biết
GV: Việc cộng vào tổng S kết thúc khi nào?
HS: Khi điều kiện N
a +
1
<0.000 thỏa mãn
cho đến khi N
a +
1
<0.0001
=> Lặp với số lần chưa biết trước
HĐ2: Tìm hiểu lặp với số lần biết trước và câu lệnh for– Phát triển NL sử dụng ngôn ngữ, NL lập
trình, NL sử dụng CNTT và NL tư duy
GV: Giá trị N khi bắt đầu tham gia vòng lặp là
bao nhiêu?
HS: 0
GV: Sau mỗi lần lặp, N tăng lên mấy?
HS: 1
GV: Khi nào thì kết thúc lặp?
HS: Khi N > 100 (tức là khi đã thực hiện đủ
100 lần)
GV: Mỗi lần cộng vào tổng S một giá trị bằng
bao nhiêu?
HS: N
a +
1
GV: Giá trị N khi bắt đầu tham gia vòng lặp là
bao nhiêu?
HS: 101
GV: Sau mỗi lần lặp, N giảm đi mấy đơn vị?
HS: 1
GV: Vòng lặp kết thúc khi nào?
HS: Khi N < 1 (tức là khi đã thực hiện đủ 100
lần)
GV: Mỗi lần cộng vào tổng S một giá trị bằng
bao nhiêu?
HS: N
a +
1
GV: Chạy chương trình Tong_1a và Tong_1b.
HS: Quan sát và rút ra cú pháp của câu lệnh
for tiến và for lùi.
2. Lặp với số lần biết trước và câu lệnh for
a) Thuật toán
- Thuật toán Tong_1a
+ B1: S ← 1/a, N ← 0;
+ B2: N ← N+1;
+ B3: Nếu N > 100 thì chuyển đến B5;
+ B4: S ← S+1/(a+N) rồi quay lại B2;
+B5: Đưa ra S rồi kết thúc
=> Dạng lặp tiến
- Thuật toán Tong_1b
+ B1: S ← 1/a, N ← 101;
+ B2: N ← N - 1;
+ B3: Nếu N < 1 thì chuyển đến B5;
+ B4: S ← S+1/(a+N) rồi quay lại B2;
+B5: Đưa ra S rồi kết thúc
=> Dạng lặp lùi
b) Cú pháp
- Dạng tiến:
for (biến đếm = giá trị đầu; biến đếm < = giá trị
GV: Hãy cho ví dụ về câu lệnh for
HS: Viết câu lệnh
cuối; biến đếm ++)
{ câu lệnh;
câu lệnh;
……………..
câu lệnh;
}
- Dạng lùi:
for (biến đếm = giá trị cuối; biến đếm > = giá trị
đầu; biến đếm - -)
{ câu lệnh;
câu lệnh;
……………..
câu lệnh;
}
Trong đó:
+ Biến đếm là biến đơn, thường có kiểu nguyên
(đôi khi là kiểu kí tự).
+ Giá trị đầu, giá trị cuối là các biểu thức cùng
kiểu với biến đếm và giá trị đầu phải nhỏ hơn
hoặc bằng giá trị cuối. Nếu giá trị đầu lớn hơn
giá trị cuối thì vòng lặp không thực hiện.
- Ví dụ:
for (i = 1; i<=100; i++)
hoặc for (i = 100; i>=1; i++)
c) Hoạt động
- Dạng lặp tiến: Các câu lệnh được thực hiện
tuần tự với biến đếm lần lượt nhận các giá trị liên
tiếp tăng từ giá trị đầu đến giá trị cuối.
- Dạng lặp lùi: Các câu lệnh được thực hiện tuần
tự với biến đếm lần lượt nhận các giá trị liên tiếp
giảm từ giá trị cuối đến giá trị đầu.
C. Hoạt động củng cố
- Cú pháp và hoạt động của for tiến
D. Hoạt động luyện tập, mở rộng
- Tìm hiểu các ví dụ 1; 2; 3 và 4 trang 59 → 64
Ngày soạn:
Tiết theo KHDH:14
§10. CẤU TRÚC LẶP (tiết 2)
I. Mục tiêu bài học
1. Kiến thức
- Hiểu được tác dụng của cấu trúc lặp với số lần lặp biết trước trong biểu diễn thuật toán;
- Biết cú pháp và hiểu được tác dụng, hoạt động của các câu lệnh lặp với số lần biết trước for trong
C++.
2. Kỹ năng
-Viết đúng cú pháp các câu lệnh lặp với số lần biết trước for ở dạng tiến và dạng lùi.
- Vận dụng được cấu trúc lặp for trong C++ trong viết chương trình để giải quyết một số bài toán
đơn giản.
3. Thái độ
- Học sinh hiểu bài và hứng thú với bài học.
- Học sinh ngày càng say mê lập trình hơn.
4. Năng lực, phẩm chất
- NL tư duy - NL tính toán
- NL sử dụng ngôn ngữ - NL lập 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ở
- 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:
Viết cú pháp, nêu hoạt động của câu lệnh for dạng tiến và dạng lùi?
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 một số ví dụ sử dụng câu lệnh for– Phát triển NL sử dụng ngôn ngữ, NL tính toán,
NL tư duy, NL lập trình
GV: Chương trình tổng Tong_1a đã sử dụng
câu lệnh for – do dạng lặp tiến hay lùi?
HS: Dạng lặp tiến
GV: Tổng S bắt đầu sẽ được khởi tạo một giá
trị là bao nhiêu?
HS: S=1/a
GV: Việc khởi tạo tổng S phải được đặt trước
vòng lặp. Biến đếm N nhận giá trị đầu và giá
trị cuối là bao nhiêu?
HS: Giá trị đầu là 1, giá trị cuối là 100
GV: Công thức để tính S tổng quát
HS: S = S +1/(a+N)
GV: Từ thuật toán và câu hỏi gợi ý, hãy viết
chương trình
HS: Xây dựng và hoàn thiện chương trình
d) Ví dụ
* Ví dụ 1:
Bài toán 1:Viết chương trình tính tổng sau:
100
1
...
2
1
1
1
1
+
+
+
+
+
+
+
=
a
a
a
a
S
- Chương trình giải bài toán theo thuật toán
Tong_1a
#include<bits/stdc++.h>
using namespace std;
int a, n;
GV: Để có chương trình thể hiện thuật toán
Tong_1b ta sẽ sử dụng câu lệnh for adạng lùi.
Khi đó cần sửa lại các dòng lệnh nào? Hãy
viết các dòng lệnh đó.
HS: Đổi dòng lệnh for (n=1; n<=100; n++)
thành for (n=100; n>=100; n--)
GV: Bài toán này cần nhập gì?
HS: Không cần nhập dữ liệu vào
GV: Để thực hiện in ra các số từ 10 đến 1, cần
cho biến đếm n chạy như thế nào?
HS: Biến đếm n chạy lùi từ 10 về 1.
GV: Trong vòng lặp thực hiện công việc gì?
HS: In ra n
GV: Dựa trên các câu hỏi dàn ý, yêu cầu HS
viết chương trình.
HS: Xây dựng và hoàn thiện chương trình
double s;
int main ()
{
cout<<“Nhap vao gia tri cua a”;
cin>>a;
s=1.0/a;
for (n=1; n<=100; n++) s = s+1.0/(a+n);
cout<< fixed<<setprecision(4)<< “tong s
la”<<s;
return 0;
}
- Chương trình giải bài toán theo thuật toán
Tong_1b
#include<bits/stdc++.h>
using namespace std;
int a, n;
double s;
int main ()
{
cout<< “Nhap vao gia tri cua a”;
cin>>a;
s=1.0/a;
for (n=100; n>=1; n--) s = s+1.0/(a+n);
cout<< fixed<<setprecision(4)<< “tong s
la”<<s;
return 0;
}
* Ví dụ 2: Đưa ra màn hình các số tự nhiên từ 10
đến 1
#include<bits/stdc++.h>
using namespace std;
int main ()
{
for (int n=10; n>=1; n--)
cout<<n << “ ”;
return 0;
}
GV: Khởi tạo n =20, i =0, sau đó kiểm tra điểu
kiện, nếu thỏa mãn thì n giảm một đơn vị, i
tăng 1 đơn vị. Vòng lặp kết thúc khi gặp cặp
số n = 10; i = 10.
GV: Xác định input và output của bài toán?
HS: Input: m, n, output: t
GV: Muốn kiểm tra các số nằm trong đoạn [m,
n] chia hết cho 3 hoặc 5 thì biến đếm i cần
chạy như thế nào?
HS: i chạy từ m đến n
GV: Trước vòng for biến t nhận giá trị khởi
tạo là bao nhiêu?
HS: t = 0;
GV: Trong vòng for t được tính như thế nào?
HS: t = t +i
* Ví dụ 3: Đưa ra màn hình các cặp số tự nhiên
khác nhau có tổng bằng 20
#include<bits/stdc++.h>
using namespace std;
int main ()
{
for (int n=20, i = 0; n!=i; n--, i++)
cout<< n << “ , ”<<i<<endl;
return 0;
}
* Ví dụ 4: Chương trình sau thực hiện việc nhập
từ bàn phím hai số nguyên dương m và n (m<n),
tính và đưa ra màn hình tổng các số chia hết cho
3 hoặc 5 trong phạm vi từ m đến n.
#include<bits/stdc++.h>
using namespace std;
int m, n, i, t;
int main ()
{
cout<< “m = ”; cin>>m;
cout<< “n = ”; cin>>n;
t = 0;
for (i=m, i <= n; i++)
if ((i % 3 = = 0) || (i % 5 = = 0))
t = t + i;
cout<< “ Ket qua = ”<<t;
return 0;
}
C. Hoạt động củng cố
- Cú pháp và cách vận dụng câu lệnh for vào giải quyết các bài toán cụ thể
D. Hoạt động luyện tập, mở rộng
- Tìm hiểu mục 3. Lặp với số lần chưa biết trước và câu lệnh while
ĐK
Câu lệnh
S
Đ
Ngày soạn:
Tiết theo KHDH: 15
§10. CẤU TRÚC LẶP (tiết 3)
I. Mục tiêu bài học
1. Kiến thức
- Hiểu được vai trò của cấu trúc lặp trong biểu diễn thuật toán;
- Hiểu được cấu trúc lặp với số lần không biết trước, kiểm tra điều kiện trước;
- Hiểu được câu lệnh lặp while trong C++;
- Bước đầu biết vận dụng đúng từng loại cấu trúc lặp vào tình huống cụ thể.
2. Kỹ năng
- Viết đúng cú pháp các câu lệnh lặp với số lần không biết trước while.
- Viết được một số chương trình của một số bài toán đơn giản có sử dụng câu lệnh lặp.
3. Thái độ
- Học sinh hiểu bài và hứng thú với bài học.
- Học sinh ngày càng say mê lập trình hơn.
4. Năng lực, phẩm chất
- NL tư duy - NL tính toán
- NL sử dụng ngôn ngữ - NL lập 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ở
- 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:
Viết chương trình tính tổng sau: S = 1 + 2+ 3 + ….+ n(với n nhập từ bàn phím)
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 lặp với số lần chưa biết trước và câu lệnh while– Phát triển NL sử dụng ngôn
ngữ, NL tính toán, NL tư duy, NL lập trình
GV: Giá trị N khi bắt đầu tham gia vòng lặp là
bao nhiêu?
HS: 1
GV: Vòng lặp kết thúc khi nào?
HS: Khi 1/(a+N) <0.0001
GV: Sau mỗi lần lặp, N thay đổi như thế nào?
HS: N tăng lên 1 đơn vị
GV: Mỗi lần cộng vào tổng S một giá trị bằng
bao nhiêu?
3. Lặp với số lần chưa biết trước và câu lệnh
while
+ B1: S ← 1/a, N ← 0;
+ B2: Nếu 1/(a+N) <0.0001 thì chuyển đến B5;
+ B3: N ← N +1
+ B4: S ← S+1/(a+N) rồi quay lại B2;
+B5: Đưa ra S rồi kết thúc
Điều kiện
Câu lệnh
S
Đ
Nhập M và N
M = N? M >N?
N←N-M
M←M - N
Đưa ra M rồi kết thúc
Đ
S S
Đ
HS:
N
a +
1
GV: Thuyết trình cú pháp và giải thích hoạt
động của câu lệnh while
GV: Dẫn dắt HS viết chương trình diễn tả
thuật toán giải bài toán 2.
1) Hãy viết đoạn chương trình nhập a từ bàn
phím.
2) Hãy viết đoạn chương trình khởi tạo giá trị
cho các biến S và N.
3) Hãy sử dụng câu lệnh whileđể viết đoạn
chương trình thể hiện cách tính tỏng S như đã
mô tả trong thuật toán.
4) Hãy in câu lệnh ra màn hình giá trị của S.
HS: Xây dựng và hoàn thiện chương trình
c) Ví dụ
- Ví dụ 1: Chương trình Tong_2
#include<bits/stdc++.h>
using namespace std;
int a, n;
double s;
int main ()
{
cout<< “Nhap vao gia tri cua a”;
cin>>a;
s=1.0/a; n = 0;
while (!(1/(a+n)<0.0001))
{
n = n+1;
s = s+1.0/(a+n);
}
cout<< fixed<<setprecision(4)<< “tong s
la”<<s;
return 0;
}
- Ví dụ 2: Tìm ước chung lớn nhất (UCLN) của
hai số nguyên dương M và N
GV: Thuyết trình thuật toán giải bài toán tìm
UCLN theo phương pháp trừ liên tiếp.
GV: Giải thích thuật toán cho HS dễ hiểu bằng
cách lấy cho M và N giá trị cụ thể và lập bảng
mô phỏng thuật toán.
Ví dụ: M = 6, N = 9
Bước M N
1 6 9
2, 4 6 3
2, 3 3 3
2, 5 3 3
HS: Nắm bắt thuật toán
GV: Yêu cầu HS lên bảng vẽ sơ đồ thuật toán
giải bài toán tìm UCLN.
HS: Lên bảng làm bài.
GV: Dẫn dắt HS viết chương trình giải bài
toán tìm UCLN.
HS: Suy nghĩ, tham gia xây dựng bài.
1) Chương trình sẽ gồm các công việc chính
nào?
- Nhập M, N từ bàn phím;
- Tìm UCLN;
- In ra màn hình UCLN;
2) Hãy viết các lệnh nhập M và N?
3) Hãy sử dụng câu lệnh whileđể viết đoạn
chương trình thể hiện các tính UCLN như đã
môt tả trong thuật toán?
4) Hãy viết câu lệnh in ra màn hình giá trị của
M.
HS: Suy nghĩ, trả lời câu hỏi.
#include<bits/stdc++.h>
using namespace std;
int m, n;
int main ()
{
cout<< “m = ”; cin>>m;
cout<< “n = ”; cin>>n;
while (m ! = n)
if (m>n) m = m – n; else n = n – m;
cout << “ UCLN = ”<<m;
return 0;
}
C. Hoạt động củng cố
- Cú pháp và hoạt động của câu lệnh while
D. Hoạt động luyện tập, mở rộng
- Làm các bài tập 1, 2, 3a/69 – SGK
- Chuẩn bị bài tập và thực hành 2
Giáo án tin học 11 c++ theo 5 hoạt động (khởi động, hình thành kiến thức, luyện tập, vận dụng, tìm tòi mở rộng) 7744103
Giáo án tin học 11 c++ theo 5 hoạt động (khởi động, hình thành kiến thức, luyện tập, vận dụng, tìm tòi mở rộng) 7744103
Giáo án tin học 11 c++ theo 5 hoạt động (khởi động, hình thành kiến thức, luyện tập, vận dụng, tìm tòi mở rộng) 7744103
Giáo án tin học 11 c++ theo 5 hoạt động (khởi động, hình thành kiến thức, luyện tập, vận dụng, tìm tòi mở rộng) 7744103
Giáo án tin học 11 c++ theo 5 hoạt động (khởi động, hình thành kiến thức, luyện tập, vận dụng, tìm tòi mở rộng) 7744103
Giáo án tin học 11 c++ theo 5 hoạt động (khởi động, hình thành kiến thức, luyện tập, vận dụng, tìm tòi mở rộng) 7744103
Giáo án tin học 11 c++ theo 5 hoạt động (khởi động, hình thành kiến thức, luyện tập, vận dụng, tìm tòi mở rộng) 7744103
Giáo án tin học 11 c++ theo 5 hoạt động (khởi động, hình thành kiến thức, luyện tập, vận dụng, tìm tòi mở rộng) 7744103
Giáo án tin học 11 c++ theo 5 hoạt động (khởi động, hình thành kiến thức, luyện tập, vận dụng, tìm tòi mở rộng) 7744103
Giáo án tin học 11 c++ theo 5 hoạt động (khởi động, hình thành kiến thức, luyện tập, vận dụng, tìm tòi mở rộng) 7744103
Giáo án tin học 11 c++ theo 5 hoạt động (khởi động, hình thành kiến thức, luyện tập, vận dụng, tìm tòi mở rộng) 7744103
Giáo án tin học 11 c++ theo 5 hoạt động (khởi động, hình thành kiến thức, luyện tập, vận dụng, tìm tòi mở rộng) 7744103
Giáo án tin học 11 c++ theo 5 hoạt động (khởi động, hình thành kiến thức, luyện tập, vận dụng, tìm tòi mở rộng) 7744103
Giáo án tin học 11 c++ theo 5 hoạt động (khởi động, hình thành kiến thức, luyện tập, vận dụng, tìm tòi mở rộng) 7744103
Giáo án tin học 11 c++ theo 5 hoạt động (khởi động, hình thành kiến thức, luyện tập, vận dụng, tìm tòi mở rộng) 7744103
Giáo án tin học 11 c++ theo 5 hoạt động (khởi động, hình thành kiến thức, luyện tập, vận dụng, tìm tòi mở rộng) 7744103
Giáo án tin học 11 c++ theo 5 hoạt động (khởi động, hình thành kiến thức, luyện tập, vận dụng, tìm tòi mở rộng) 7744103
Giáo án tin học 11 c++ theo 5 hoạt động (khởi động, hình thành kiến thức, luyện tập, vận dụng, tìm tòi mở rộng) 7744103
Giáo án tin học 11 c++ theo 5 hoạt động (khởi động, hình thành kiến thức, luyện tập, vận dụng, tìm tòi mở rộng) 7744103

More Related Content

What's hot

02a hinh the, cau tao te bao vi khuan da
02a hinh the, cau tao te bao vi khuan   da02a hinh the, cau tao te bao vi khuan   da
02a hinh the, cau tao te bao vi khuan daLe Tran Anh
 
THẬN VÀ NƯỚC TIỂU
THẬN VÀ NƯỚC TIỂUTHẬN VÀ NƯỚC TIỂU
THẬN VÀ NƯỚC TIỂUSoM
 
Bài 2 Làm quen với môi trường PHP và MySQL (phần 2) - Giáo trình FPT
Bài 2 Làm quen với môi trường PHP và MySQL (phần 2) - Giáo trình FPTBài 2 Làm quen với môi trường PHP và MySQL (phần 2) - Giáo trình FPT
Bài 2 Làm quen với môi trường PHP và MySQL (phần 2) - Giáo trình FPTMasterCode.vn
 
Baitap uml mau_thầy trung
Baitap uml mau_thầy trungBaitap uml mau_thầy trung
Baitap uml mau_thầy trungleedavid123
 
Vi sinh - ki sinh trung y hoc
Vi sinh -  ki sinh trung y hocVi sinh -  ki sinh trung y hoc
Vi sinh - ki sinh trung y hocHuy Hoang
 
Hoá sinh enzym
Hoá sinh enzymHoá sinh enzym
Hoá sinh enzymBongpet
 
Trac nghiem hoa sinh
Trac nghiem hoa sinhTrac nghiem hoa sinh
Trac nghiem hoa sinhVũ Thanh
 
Giáo Trình PHP & MySql căn bản
Giáo Trình PHP & MySql căn bảnGiáo Trình PHP & MySql căn bản
Giáo Trình PHP & MySql căn bảnTiên Lý Rau Rút
 
Lập trình web - HTML cơ bản
Lập trình web - HTML cơ bảnLập trình web - HTML cơ bản
Lập trình web - HTML cơ bảnNhóc Nhóc
 
Báo cáo môn mã nguồn mở
Báo cáo môn mã nguồn mởBáo cáo môn mã nguồn mở
Báo cáo môn mã nguồn mởThuyet Nguyen
 
Bài giảng ngôn ngữ lập trình C cơ bản trường đại học công nghiệp thực phẩm TP...
Bài giảng ngôn ngữ lập trình C cơ bản trường đại học công nghiệp thực phẩm TP...Bài giảng ngôn ngữ lập trình C cơ bản trường đại học công nghiệp thực phẩm TP...
Bài giảng ngôn ngữ lập trình C cơ bản trường đại học công nghiệp thực phẩm TP...Thanh Giảng Lê
 
ứNg dụng tích phân tính diện tích và thể tích
ứNg dụng tích phân tính diện tích và thể tíchứNg dụng tích phân tính diện tích và thể tích
ứNg dụng tích phân tính diện tích và thể tíchThế Giới Tinh Hoa
 
Giáo trình Hóa học đại cương.pdf
Giáo trình Hóa học đại cương.pdfGiáo trình Hóa học đại cương.pdf
Giáo trình Hóa học đại cương.pdfMan_Ebook
 
Ứng dụng chát realtime android
Ứng dụng chát realtime androidỨng dụng chát realtime android
Ứng dụng chát realtime androidNguyen Thieu
 
Thực hành hoá sinh căn bản
Thực hành hoá sinh căn bảnThực hành hoá sinh căn bản
Thực hành hoá sinh căn bảnluanvantrust
 
Báo cáo kĩ thuật phần mềm và ứng dụng
Báo cáo kĩ thuật phần mềm và ứng dụngBáo cáo kĩ thuật phần mềm và ứng dụng
Báo cáo kĩ thuật phần mềm và ứng dụngVượng Đặng
 

What's hot (20)

02a hinh the, cau tao te bao vi khuan da
02a hinh the, cau tao te bao vi khuan   da02a hinh the, cau tao te bao vi khuan   da
02a hinh the, cau tao te bao vi khuan da
 
Phan1.3
Phan1.3Phan1.3
Phan1.3
 
THẬN VÀ NƯỚC TIỂU
THẬN VÀ NƯỚC TIỂUTHẬN VÀ NƯỚC TIỂU
THẬN VÀ NƯỚC TIỂU
 
Bài 2 Làm quen với môi trường PHP và MySQL (phần 2) - Giáo trình FPT
Bài 2 Làm quen với môi trường PHP và MySQL (phần 2) - Giáo trình FPTBài 2 Làm quen với môi trường PHP và MySQL (phần 2) - Giáo trình FPT
Bài 2 Làm quen với môi trường PHP và MySQL (phần 2) - Giáo trình FPT
 
Baitap uml mau_thầy trung
Baitap uml mau_thầy trungBaitap uml mau_thầy trung
Baitap uml mau_thầy trung
 
Chia subnetmask
Chia subnetmaskChia subnetmask
Chia subnetmask
 
Vi sinh - ki sinh trung y hoc
Vi sinh -  ki sinh trung y hocVi sinh -  ki sinh trung y hoc
Vi sinh - ki sinh trung y hoc
 
Hoá sinh enzym
Hoá sinh enzymHoá sinh enzym
Hoá sinh enzym
 
Trac nghiem hoa sinh
Trac nghiem hoa sinhTrac nghiem hoa sinh
Trac nghiem hoa sinh
 
Giáo Trình PHP & MySql căn bản
Giáo Trình PHP & MySql căn bảnGiáo Trình PHP & MySql căn bản
Giáo Trình PHP & MySql căn bản
 
Lập trình web - HTML cơ bản
Lập trình web - HTML cơ bảnLập trình web - HTML cơ bản
Lập trình web - HTML cơ bản
 
Báo cáo môn mã nguồn mở
Báo cáo môn mã nguồn mởBáo cáo môn mã nguồn mở
Báo cáo môn mã nguồn mở
 
hoa sinh lipid
hoa sinh lipidhoa sinh lipid
hoa sinh lipid
 
Bài giảng ngôn ngữ lập trình C cơ bản trường đại học công nghiệp thực phẩm TP...
Bài giảng ngôn ngữ lập trình C cơ bản trường đại học công nghiệp thực phẩm TP...Bài giảng ngôn ngữ lập trình C cơ bản trường đại học công nghiệp thực phẩm TP...
Bài giảng ngôn ngữ lập trình C cơ bản trường đại học công nghiệp thực phẩm TP...
 
ứNg dụng tích phân tính diện tích và thể tích
ứNg dụng tích phân tính diện tích và thể tíchứNg dụng tích phân tính diện tích và thể tích
ứNg dụng tích phân tính diện tích và thể tích
 
Giáo trình Hóa học đại cương.pdf
Giáo trình Hóa học đại cương.pdfGiáo trình Hóa học đại cương.pdf
Giáo trình Hóa học đại cương.pdf
 
Ứng dụng chát realtime android
Ứng dụng chát realtime androidỨng dụng chát realtime android
Ứng dụng chát realtime android
 
Thực hành hoá sinh căn bản
Thực hành hoá sinh căn bảnThực hành hoá sinh căn bản
Thực hành hoá sinh căn bản
 
Sinh lý máu
Sinh lý máuSinh lý máu
Sinh lý máu
 
Báo cáo kĩ thuật phần mềm và ứng dụng
Báo cáo kĩ thuật phần mềm và ứng dụngBáo cáo kĩ thuật phần mềm và ứng dụng
Báo cáo kĩ thuật phần mềm và ứng dụng
 

Similar to Giáo án tin học 11 c++ theo 5 hoạt động (khởi động, hình thành kiến thức, luyện tập, vận dụng, tìm tòi mở rộng) 7744103

Chương i lop 11
Chương i lop 11Chương i lop 11
Chương i lop 11Sunkute
 
Chuong 5 tin 11
Chuong 5 tin 11Chuong 5 tin 11
Chuong 5 tin 11Sunkute
 
Kichbandayhoc bai2 tinhoc11
Kichbandayhoc bai2 tinhoc11Kichbandayhoc bai2 tinhoc11
Kichbandayhoc bai2 tinhoc11Vu Ngoc Diep
 
Giaoan bai2 tinhoc11
Giaoan bai2 tinhoc11Giaoan bai2 tinhoc11
Giaoan bai2 tinhoc11Vu Ngoc Diep
 
Kbdh bai8 c2_11
Kbdh bai8 c2_11Kbdh bai8 c2_11
Kbdh bai8 c2_11tin_k36
 
Bài 1: Khái niệm lập trình và ngôn ngữ lập trình
Bài 1: Khái niệm lập trình và ngôn ngữ lập trìnhBài 1: Khái niệm lập trình và ngôn ngữ lập trình
Bài 1: Khái niệm lập trình và ngôn ngữ lập trìnhChâu Trần
 
Bai8_C2_11
Bai8_C2_11Bai8_C2_11
Bai8_C2_11tin_k36
 
KBDH_BAI8_C2_LOP11
KBDH_BAI8_C2_LOP11KBDH_BAI8_C2_LOP11
KBDH_BAI8_C2_LOP11tin_k36
 
Kịch bản dạy học_Nhom09
Kịch bản dạy học_Nhom09Kịch bản dạy học_Nhom09
Kịch bản dạy học_Nhom09TranThiDieu
 
Kich bandayhoc
Kich bandayhocKich bandayhoc
Kich bandayhocHoan Huyen
 
K33103215 tin5 cbt-nguyenlehoangduy2
K33103215 tin5 cbt-nguyenlehoangduy2K33103215 tin5 cbt-nguyenlehoangduy2
K33103215 tin5 cbt-nguyenlehoangduy2Tin 5CBT
 
Chương ii tin 11
Chương ii tin 11Chương ii tin 11
Chương ii tin 11Sunkute
 
Giáo án tin học 6
Giáo án tin học 6Giáo án tin học 6
Giáo án tin học 6Vien Luc Van
 
Kịch bản dạy học bài 16
Kịch bản dạy học bài 16Kịch bản dạy học bài 16
Kịch bản dạy học bài 16Pham Tram
 
Kich ban bai 3 chuong 2(đinh thị hà k33103225)
Kich ban bai 3 chuong 2(đinh thị hà k33103225)Kich ban bai 3 chuong 2(đinh thị hà k33103225)
Kich ban bai 3 chuong 2(đinh thị hà k33103225)Tin 5CBT
 

Similar to Giáo án tin học 11 c++ theo 5 hoạt động (khởi động, hình thành kiến thức, luyện tập, vận dụng, tìm tòi mở rộng) 7744103 (20)

Giao an tin 11
Giao an tin 11Giao an tin 11
Giao an tin 11
 
Chương i lop 11
Chương i lop 11Chương i lop 11
Chương i lop 11
 
Chuong 5 tin 11
Chuong 5 tin 11Chuong 5 tin 11
Chuong 5 tin 11
 
Kichbandayhoc bai2 tinhoc11
Kichbandayhoc bai2 tinhoc11Kichbandayhoc bai2 tinhoc11
Kichbandayhoc bai2 tinhoc11
 
Giao an 8
Giao an 8Giao an 8
Giao an 8
 
Giaoan bai2 tinhoc11
Giaoan bai2 tinhoc11Giaoan bai2 tinhoc11
Giaoan bai2 tinhoc11
 
Kbdh bai8 c2_11
Kbdh bai8 c2_11Kbdh bai8 c2_11
Kbdh bai8 c2_11
 
Bài 1: Khái niệm lập trình và ngôn ngữ lập trình
Bài 1: Khái niệm lập trình và ngôn ngữ lập trìnhBài 1: Khái niệm lập trình và ngôn ngữ lập trình
Bài 1: Khái niệm lập trình và ngôn ngữ lập trình
 
Bai8_C2_11
Bai8_C2_11Bai8_C2_11
Bai8_C2_11
 
KBDH_BAI8_C2_LOP11
KBDH_BAI8_C2_LOP11KBDH_BAI8_C2_LOP11
KBDH_BAI8_C2_LOP11
 
Kịch bản dạy học_Nhom09
Kịch bản dạy học_Nhom09Kịch bản dạy học_Nhom09
Kịch bản dạy học_Nhom09
 
Kich bandayhoc
Kich bandayhocKich bandayhoc
Kich bandayhoc
 
K33103215 tin5 cbt-nguyenlehoangduy2
K33103215 tin5 cbt-nguyenlehoangduy2K33103215 tin5 cbt-nguyenlehoangduy2
K33103215 tin5 cbt-nguyenlehoangduy2
 
Bai1 tin11_HuynhThiThuyLinh
Bai1 tin11_HuynhThiThuyLinhBai1 tin11_HuynhThiThuyLinh
Bai1 tin11_HuynhThiThuyLinh
 
Chương ii tin 11
Chương ii tin 11Chương ii tin 11
Chương ii tin 11
 
Doc hieu 1_engl1302
Doc hieu 1_engl1302Doc hieu 1_engl1302
Doc hieu 1_engl1302
 
Giáo án tin học 6
Giáo án tin học 6Giáo án tin học 6
Giáo án tin học 6
 
Kịch bản dạy học bài 16
Kịch bản dạy học bài 16Kịch bản dạy học bài 16
Kịch bản dạy học bài 16
 
Kich ban day_hoc
Kich ban day_hocKich ban day_hoc
Kich ban day_hoc
 
Kich ban bai 3 chuong 2(đinh thị hà k33103225)
Kich ban bai 3 chuong 2(đinh thị hà k33103225)Kich ban bai 3 chuong 2(đinh thị hà k33103225)
Kich ban bai 3 chuong 2(đinh thị hà k33103225)
 

More from nataliej4

đồ áN xây dựng website bán laptop 1129155
đồ áN xây dựng website bán laptop 1129155đồ áN xây dựng website bán laptop 1129155
đồ áN xây dựng website bán laptop 1129155nataliej4
 
Nghệ thuật chiến tranh nhân dân việt nam trong công cuộc xây dựng và bảo vệ t...
Nghệ thuật chiến tranh nhân dân việt nam trong công cuộc xây dựng và bảo vệ t...Nghệ thuật chiến tranh nhân dân việt nam trong công cuộc xây dựng và bảo vệ t...
Nghệ thuật chiến tranh nhân dân việt nam trong công cuộc xây dựng và bảo vệ t...nataliej4
 
Quản lý dịch vụ ô tô toyota 724279
Quản lý dịch vụ ô tô toyota 724279Quản lý dịch vụ ô tô toyota 724279
Quản lý dịch vụ ô tô toyota 724279nataliej4
 
Từ vựng tiếng anh luyện thi thpt quốc gia
Từ vựng tiếng anh luyện thi thpt quốc giaTừ vựng tiếng anh luyện thi thpt quốc gia
Từ vựng tiếng anh luyện thi thpt quốc gianataliej4
 
Công tác dược lâm sàng tại bv cấp cứu trưng vương
Công tác dược lâm sàng tại bv cấp cứu trưng vươngCông tác dược lâm sàng tại bv cấp cứu trưng vương
Công tác dược lâm sàng tại bv cấp cứu trưng vươngnataliej4
 
Bài giảng nghề giám đốc
Bài giảng nghề giám đốcBài giảng nghề giám đốc
Bài giảng nghề giám đốcnataliej4
 
đề Cương chương trình đào tạo trình độ trung cấp kế toán tin học
đề Cương chương trình đào tạo trình độ trung cấp kế toán   tin họcđề Cương chương trình đào tạo trình độ trung cấp kế toán   tin học
đề Cương chương trình đào tạo trình độ trung cấp kế toán tin họcnataliej4
 
Giáo trình kỹ thuật an toàn và bảo hộ lao động
Giáo trình kỹ thuật an toàn và bảo hộ lao độngGiáo trình kỹ thuật an toàn và bảo hộ lao động
Giáo trình kỹ thuật an toàn và bảo hộ lao độngnataliej4
 
Lựa chọn trong điều kiện không chắc chắn
Lựa chọn trong điều kiện không chắc chắnLựa chọn trong điều kiện không chắc chắn
Lựa chọn trong điều kiện không chắc chắnnataliej4
 
Thực trạng phân bố và khai thác khoáng sét ở đồng bằng sông cửu long 4857877
Thực trạng phân bố và khai thác khoáng sét ở đồng bằng sông cửu long 4857877Thực trạng phân bố và khai thác khoáng sét ở đồng bằng sông cửu long 4857877
Thực trạng phân bố và khai thác khoáng sét ở đồng bằng sông cửu long 4857877nataliej4
 
Sổ tay hướng dẫn khách thuê tòa nhà ree tower
Sổ tay hướng dẫn khách thuê   tòa nhà ree towerSổ tay hướng dẫn khách thuê   tòa nhà ree tower
Sổ tay hướng dẫn khách thuê tòa nhà ree towernataliej4
 
Phân tích tác động của thiên lệch hành vi đến quyết định của nhà đầu tư cá nh...
Phân tích tác động của thiên lệch hành vi đến quyết định của nhà đầu tư cá nh...Phân tích tác động của thiên lệch hành vi đến quyết định của nhà đầu tư cá nh...
Phân tích tác động của thiên lệch hành vi đến quyết định của nhà đầu tư cá nh...nataliej4
 
Bài giảng giáo dục hoà nhập trẻ khuyết tật
Bài giảng giáo dục hoà nhập trẻ khuyết tậtBài giảng giáo dục hoà nhập trẻ khuyết tật
Bài giảng giáo dục hoà nhập trẻ khuyết tậtnataliej4
 
đồ áN thiết kế quần âu nam 6838864
đồ áN thiết kế quần âu nam 6838864đồ áN thiết kế quần âu nam 6838864
đồ áN thiết kế quần âu nam 6838864nataliej4
 
Tài liệu hội thảo chuyên đề công tác tuyển sinh – thực trạng và giải pháp 717...
Tài liệu hội thảo chuyên đề công tác tuyển sinh – thực trạng và giải pháp 717...Tài liệu hội thảo chuyên đề công tác tuyển sinh – thực trạng và giải pháp 717...
Tài liệu hội thảo chuyên đề công tác tuyển sinh – thực trạng và giải pháp 717...nataliej4
 
Bài giảng dịch tễ học bệnh nhiễm trùng
Bài giảng dịch tễ học bệnh nhiễm trùngBài giảng dịch tễ học bệnh nhiễm trùng
Bài giảng dịch tễ học bệnh nhiễm trùngnataliej4
 
Bài giảng môn khởi sự kinh doanh
Bài giảng môn khởi sự kinh doanhBài giảng môn khởi sự kinh doanh
Bài giảng môn khởi sự kinh doanhnataliej4
 
Giới thiệu học máy – mô hình naïve bayes learning intro
Giới thiệu học máy – mô hình naïve bayes   learning introGiới thiệu học máy – mô hình naïve bayes   learning intro
Giới thiệu học máy – mô hình naïve bayes learning intronataliej4
 
Lý thuyết thuế chuẩn tắc
Lý thuyết thuế chuẩn tắcLý thuyết thuế chuẩn tắc
Lý thuyết thuế chuẩn tắcnataliej4
 
Bài giảng thuế thu nhập (cá nhân, doanh nghiệp)
Bài giảng thuế thu nhập (cá nhân, doanh nghiệp)Bài giảng thuế thu nhập (cá nhân, doanh nghiệp)
Bài giảng thuế thu nhập (cá nhân, doanh nghiệp)nataliej4
 

More from nataliej4 (20)

đồ áN xây dựng website bán laptop 1129155
đồ áN xây dựng website bán laptop 1129155đồ áN xây dựng website bán laptop 1129155
đồ áN xây dựng website bán laptop 1129155
 
Nghệ thuật chiến tranh nhân dân việt nam trong công cuộc xây dựng và bảo vệ t...
Nghệ thuật chiến tranh nhân dân việt nam trong công cuộc xây dựng và bảo vệ t...Nghệ thuật chiến tranh nhân dân việt nam trong công cuộc xây dựng và bảo vệ t...
Nghệ thuật chiến tranh nhân dân việt nam trong công cuộc xây dựng và bảo vệ t...
 
Quản lý dịch vụ ô tô toyota 724279
Quản lý dịch vụ ô tô toyota 724279Quản lý dịch vụ ô tô toyota 724279
Quản lý dịch vụ ô tô toyota 724279
 
Từ vựng tiếng anh luyện thi thpt quốc gia
Từ vựng tiếng anh luyện thi thpt quốc giaTừ vựng tiếng anh luyện thi thpt quốc gia
Từ vựng tiếng anh luyện thi thpt quốc gia
 
Công tác dược lâm sàng tại bv cấp cứu trưng vương
Công tác dược lâm sàng tại bv cấp cứu trưng vươngCông tác dược lâm sàng tại bv cấp cứu trưng vương
Công tác dược lâm sàng tại bv cấp cứu trưng vương
 
Bài giảng nghề giám đốc
Bài giảng nghề giám đốcBài giảng nghề giám đốc
Bài giảng nghề giám đốc
 
đề Cương chương trình đào tạo trình độ trung cấp kế toán tin học
đề Cương chương trình đào tạo trình độ trung cấp kế toán   tin họcđề Cương chương trình đào tạo trình độ trung cấp kế toán   tin học
đề Cương chương trình đào tạo trình độ trung cấp kế toán tin học
 
Giáo trình kỹ thuật an toàn và bảo hộ lao động
Giáo trình kỹ thuật an toàn và bảo hộ lao độngGiáo trình kỹ thuật an toàn và bảo hộ lao động
Giáo trình kỹ thuật an toàn và bảo hộ lao động
 
Lựa chọn trong điều kiện không chắc chắn
Lựa chọn trong điều kiện không chắc chắnLựa chọn trong điều kiện không chắc chắn
Lựa chọn trong điều kiện không chắc chắn
 
Thực trạng phân bố và khai thác khoáng sét ở đồng bằng sông cửu long 4857877
Thực trạng phân bố và khai thác khoáng sét ở đồng bằng sông cửu long 4857877Thực trạng phân bố và khai thác khoáng sét ở đồng bằng sông cửu long 4857877
Thực trạng phân bố và khai thác khoáng sét ở đồng bằng sông cửu long 4857877
 
Sổ tay hướng dẫn khách thuê tòa nhà ree tower
Sổ tay hướng dẫn khách thuê   tòa nhà ree towerSổ tay hướng dẫn khách thuê   tòa nhà ree tower
Sổ tay hướng dẫn khách thuê tòa nhà ree tower
 
Phân tích tác động của thiên lệch hành vi đến quyết định của nhà đầu tư cá nh...
Phân tích tác động của thiên lệch hành vi đến quyết định của nhà đầu tư cá nh...Phân tích tác động của thiên lệch hành vi đến quyết định của nhà đầu tư cá nh...
Phân tích tác động của thiên lệch hành vi đến quyết định của nhà đầu tư cá nh...
 
Bài giảng giáo dục hoà nhập trẻ khuyết tật
Bài giảng giáo dục hoà nhập trẻ khuyết tậtBài giảng giáo dục hoà nhập trẻ khuyết tật
Bài giảng giáo dục hoà nhập trẻ khuyết tật
 
đồ áN thiết kế quần âu nam 6838864
đồ áN thiết kế quần âu nam 6838864đồ áN thiết kế quần âu nam 6838864
đồ áN thiết kế quần âu nam 6838864
 
Tài liệu hội thảo chuyên đề công tác tuyển sinh – thực trạng và giải pháp 717...
Tài liệu hội thảo chuyên đề công tác tuyển sinh – thực trạng và giải pháp 717...Tài liệu hội thảo chuyên đề công tác tuyển sinh – thực trạng và giải pháp 717...
Tài liệu hội thảo chuyên đề công tác tuyển sinh – thực trạng và giải pháp 717...
 
Bài giảng dịch tễ học bệnh nhiễm trùng
Bài giảng dịch tễ học bệnh nhiễm trùngBài giảng dịch tễ học bệnh nhiễm trùng
Bài giảng dịch tễ học bệnh nhiễm trùng
 
Bài giảng môn khởi sự kinh doanh
Bài giảng môn khởi sự kinh doanhBài giảng môn khởi sự kinh doanh
Bài giảng môn khởi sự kinh doanh
 
Giới thiệu học máy – mô hình naïve bayes learning intro
Giới thiệu học máy – mô hình naïve bayes   learning introGiới thiệu học máy – mô hình naïve bayes   learning intro
Giới thiệu học máy – mô hình naïve bayes learning intro
 
Lý thuyết thuế chuẩn tắc
Lý thuyết thuế chuẩn tắcLý thuyết thuế chuẩn tắc
Lý thuyết thuế chuẩn tắc
 
Bài giảng thuế thu nhập (cá nhân, doanh nghiệp)
Bài giảng thuế thu nhập (cá nhân, doanh nghiệp)Bài giảng thuế thu nhập (cá nhân, doanh nghiệp)
Bài giảng thuế thu nhập (cá nhân, doanh nghiệp)
 

Recently uploaded

BỘ LUYỆN NGHE VÀO 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ LỜI - CÓ FILE NGHE.pdf
BỘ LUYỆN NGHE VÀO 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ LỜI - CÓ FILE NGHE.pdfBỘ LUYỆN NGHE VÀO 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ LỜI - CÓ FILE NGHE.pdf
BỘ LUYỆN NGHE VÀO 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ LỜI - CÓ FILE NGHE.pdfNguyen Thanh Tu Collection
 
PHƯƠNG THỨC VẬN TẢI ĐƯỜNG SẮT TRONG VẬN TẢI
PHƯƠNG THỨC VẬN TẢI ĐƯỜNG SẮT TRONG VẬN TẢIPHƯƠNG THỨC VẬN TẢI ĐƯỜNG SẮT TRONG VẬN TẢI
PHƯƠNG THỨC VẬN TẢI ĐƯỜNG SẮT TRONG VẬN TẢImyvh40253
 
Kiểm tra cuối học kì 1 sinh học 12 đề tham khảo
Kiểm tra cuối học kì 1 sinh học 12 đề tham khảoKiểm tra cuối học kì 1 sinh học 12 đề tham khảo
Kiểm tra cuối học kì 1 sinh học 12 đề tham khảohoanhv296
 
ĐỀ CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT CÁC TỈNH THÀNH NĂM HỌC 2020 –...
ĐỀ CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT CÁC TỈNH THÀNH NĂM HỌC 2020 –...ĐỀ CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT CÁC TỈNH THÀNH NĂM HỌC 2020 –...
ĐỀ CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT CÁC TỈNH THÀNH NĂM HỌC 2020 –...Nguyen Thanh Tu Collection
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI LÝ LUẬN VĂN HỌC NĂM HỌC 2023-2024 - MÔN NGỮ ...
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI LÝ LUẬN VĂN HỌC NĂM HỌC 2023-2024 - MÔN NGỮ ...TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI LÝ LUẬN VĂN HỌC NĂM HỌC 2023-2024 - MÔN NGỮ ...
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI LÝ LUẬN VĂN HỌC NĂM HỌC 2023-2024 - MÔN NGỮ ...Nguyen Thanh Tu Collection
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...
SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...
SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...Nguyen Thanh Tu Collection
 
GNHH và KBHQ - giao nhận hàng hoá và khai báo hải quan
GNHH và KBHQ - giao nhận hàng hoá và khai báo hải quanGNHH và KBHQ - giao nhận hàng hoá và khai báo hải quan
GNHH và KBHQ - giao nhận hàng hoá và khai báo hải quanmyvh40253
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
Danh sách sinh viên tốt nghiệp Đại học - Cao đẳng Trường Đại học Phú Yên năm ...
Danh sách sinh viên tốt nghiệp Đại học - Cao đẳng Trường Đại học Phú Yên năm ...Danh sách sinh viên tốt nghiệp Đại học - Cao đẳng Trường Đại học Phú Yên năm ...
Danh sách sinh viên tốt nghiệp Đại học - Cao đẳng Trường Đại học Phú Yên năm ...hoangtuansinh1
 
kinh tế chính trị mác lênin chương hai và hàng hoá và sxxhh
kinh tế chính trị mác lênin chương hai và hàng hoá và sxxhhkinh tế chính trị mác lênin chương hai và hàng hoá và sxxhh
kinh tế chính trị mác lênin chương hai và hàng hoá và sxxhhdtlnnm
 
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...Nguyen Thanh Tu Collection
 
Các điều kiện bảo hiểm trong bảo hiểm hàng hoá
Các điều kiện bảo hiểm trong bảo hiểm hàng hoáCác điều kiện bảo hiểm trong bảo hiểm hàng hoá
Các điều kiện bảo hiểm trong bảo hiểm hàng hoámyvh40253
 
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdfChuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdfhoangtuansinh1
 
1.DOANNGOCPHUONGTHAO-APDUNGSTEMTHIETKEBTHHHGIUPHSHOCHIEUQUA (1).docx
1.DOANNGOCPHUONGTHAO-APDUNGSTEMTHIETKEBTHHHGIUPHSHOCHIEUQUA (1).docx1.DOANNGOCPHUONGTHAO-APDUNGSTEMTHIETKEBTHHHGIUPHSHOCHIEUQUA (1).docx
1.DOANNGOCPHUONGTHAO-APDUNGSTEMTHIETKEBTHHHGIUPHSHOCHIEUQUA (1).docxTHAO316680
 
Đề cương môn giải phẫu......................
Đề cương môn giải phẫu......................Đề cương môn giải phẫu......................
Đề cương môn giải phẫu......................TrnHoa46
 
GIÁO TRÌNH KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
GIÁO TRÌNH  KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘIGIÁO TRÌNH  KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
GIÁO TRÌNH KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘIĐiện Lạnh Bách Khoa Hà Nội
 

Recently uploaded (20)

1 - MÃ LỖI SỬA CHỮA BOARD MẠCH BẾP TỪ.pdf
1 - MÃ LỖI SỬA CHỮA BOARD MẠCH BẾP TỪ.pdf1 - MÃ LỖI SỬA CHỮA BOARD MẠCH BẾP TỪ.pdf
1 - MÃ LỖI SỬA CHỮA BOARD MẠCH BẾP TỪ.pdf
 
BỘ LUYỆN NGHE VÀO 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ LỜI - CÓ FILE NGHE.pdf
BỘ LUYỆN NGHE VÀO 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ LỜI - CÓ FILE NGHE.pdfBỘ LUYỆN NGHE VÀO 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ LỜI - CÓ FILE NGHE.pdf
BỘ LUYỆN NGHE VÀO 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ LỜI - CÓ FILE NGHE.pdf
 
PHƯƠNG THỨC VẬN TẢI ĐƯỜNG SẮT TRONG VẬN TẢI
PHƯƠNG THỨC VẬN TẢI ĐƯỜNG SẮT TRONG VẬN TẢIPHƯƠNG THỨC VẬN TẢI ĐƯỜNG SẮT TRONG VẬN TẢI
PHƯƠNG THỨC VẬN TẢI ĐƯỜNG SẮT TRONG VẬN TẢI
 
Kiểm tra cuối học kì 1 sinh học 12 đề tham khảo
Kiểm tra cuối học kì 1 sinh học 12 đề tham khảoKiểm tra cuối học kì 1 sinh học 12 đề tham khảo
Kiểm tra cuối học kì 1 sinh học 12 đề tham khảo
 
ĐỀ CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT CÁC TỈNH THÀNH NĂM HỌC 2020 –...
ĐỀ CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT CÁC TỈNH THÀNH NĂM HỌC 2020 –...ĐỀ CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT CÁC TỈNH THÀNH NĂM HỌC 2020 –...
ĐỀ CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT CÁC TỈNH THÀNH NĂM HỌC 2020 –...
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI LÝ LUẬN VĂN HỌC NĂM HỌC 2023-2024 - MÔN NGỮ ...
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI LÝ LUẬN VĂN HỌC NĂM HỌC 2023-2024 - MÔN NGỮ ...TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI LÝ LUẬN VĂN HỌC NĂM HỌC 2023-2024 - MÔN NGỮ ...
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI LÝ LUẬN VĂN HỌC NĂM HỌC 2023-2024 - MÔN NGỮ ...
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...
SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...
SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...
 
GNHH và KBHQ - giao nhận hàng hoá và khai báo hải quan
GNHH và KBHQ - giao nhận hàng hoá và khai báo hải quanGNHH và KBHQ - giao nhận hàng hoá và khai báo hải quan
GNHH và KBHQ - giao nhận hàng hoá và khai báo hải quan
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
Danh sách sinh viên tốt nghiệp Đại học - Cao đẳng Trường Đại học Phú Yên năm ...
Danh sách sinh viên tốt nghiệp Đại học - Cao đẳng Trường Đại học Phú Yên năm ...Danh sách sinh viên tốt nghiệp Đại học - Cao đẳng Trường Đại học Phú Yên năm ...
Danh sách sinh viên tốt nghiệp Đại học - Cao đẳng Trường Đại học Phú Yên năm ...
 
kinh tế chính trị mác lênin chương hai và hàng hoá và sxxhh
kinh tế chính trị mác lênin chương hai và hàng hoá và sxxhhkinh tế chính trị mác lênin chương hai và hàng hoá và sxxhh
kinh tế chính trị mác lênin chương hai và hàng hoá và sxxhh
 
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...
 
Các điều kiện bảo hiểm trong bảo hiểm hàng hoá
Các điều kiện bảo hiểm trong bảo hiểm hàng hoáCác điều kiện bảo hiểm trong bảo hiểm hàng hoá
Các điều kiện bảo hiểm trong bảo hiểm hàng hoá
 
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdfChuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
 
1.DOANNGOCPHUONGTHAO-APDUNGSTEMTHIETKEBTHHHGIUPHSHOCHIEUQUA (1).docx
1.DOANNGOCPHUONGTHAO-APDUNGSTEMTHIETKEBTHHHGIUPHSHOCHIEUQUA (1).docx1.DOANNGOCPHUONGTHAO-APDUNGSTEMTHIETKEBTHHHGIUPHSHOCHIEUQUA (1).docx
1.DOANNGOCPHUONGTHAO-APDUNGSTEMTHIETKEBTHHHGIUPHSHOCHIEUQUA (1).docx
 
Đề cương môn giải phẫu......................
Đề cương môn giải phẫu......................Đề cương môn giải phẫu......................
Đề cương môn giải phẫu......................
 
GIÁO TRÌNH KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
GIÁO TRÌNH  KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘIGIÁO TRÌNH  KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
GIÁO TRÌNH KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
 

Giáo án tin học 11 c++ theo 5 hoạt động (khởi động, hình thành kiến thức, luyện tập, vận dụng, tìm tòi mở rộng) 7744103

  • 1. Ngày soạn: Tiết theo KHDH: 1 §1. KHÁI NIỆM 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 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. 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
  • 2. 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 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 :
  • 3. 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 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 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.
  • 4. 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. 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.
  • 5. 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: Tiết theo KHDH: 2 §2. CÁC THÀNH PHẦN CỦA NGÔN NGỮ LẬP TRÌNH (tiết 2) 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 2. Một số khái niệm a) Tên
  • 6. 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 - 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,...
  • 7. 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 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.
  • 8. viết như nào? HS: TL - 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
  • 9. Ngày soạn: Tiết theo KHDH: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. 1. Cấu trúc chung
  • 10. 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 < và >. HS: Nắm bắt cách sử dụng các kí hiệu - 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ả: [<phần khai báo>] <phần thân> 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 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<tên thư viện> - Ví dụ: #include <iostream> * Khai báo hằng - Cú pháp: const<tên kiểu dữ liệu><tên hằng> = <giá trị>; - Ví dụ: const long x = 100; * Khai báo biến
  • 11. 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 - 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 <iostream> 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 3. Ví dụ chương trình đơn giản a) Ví dụ 1 // my first program in C++ # include <iostream> int main () { Std ::cout <<“Hello World !”; }
  • 12. 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ả b) Ví dụ 2 # include <iostream> //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. 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ỉ the o đơn vị mũ 10 Số nguyê n có dấu signed char 1 byt e -128 to 127 102 signed short int 2 byt e -32768 to 32767 104 signed int 4 byt e - 214748364 8 to 214748364 7 109
  • 13. 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. signed long int 4 byt e - 214748364 8 to 214748364 7 109 signed long longint 8 byt e -9.2e+18 to 9.2e+18 1018 Số nguyê n không dấu unsigned char 1 byt e 0 to 255 (28 -1) 102 unsignedshor t int 2 byt e 0 to 65535 (216 -1) 104 unsigned int 4 byt e 0 to 429496729 5 (232 -1) 109 signed long int 4 byt e 0 to 429496729 5 (232 -1) 109 signed long longint 8 byt e 0 to 1.8*1019 (264 -1) 1018 b) Kiểu thực Kiểu Bộ nhớ lưu trữ một giá tr Double 8 byte c) Kiểu kí tự Kiểu Bộ nhớ lưu trữ một giá tr char 1 byte c) Kiểu logic
  • 14. 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; Kiểu Bộ nhớ lưu trữ một giá tr Boolean 1 byte 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.
  • 15. Ngày soạn: 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. 1. Khai báo biến a) Cú pháp khai báo biến - Cú pháp <kiểu dữ liệu><danh sách biến> ; 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
  • 16. 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 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 Int Char Float
  • 17. Double Pointer 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++ Cộng + Trừ - Nhân * Chia % 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++ Phủ định ⌐ ! Hoặc ˅ || Và ˄ && 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 3. Biểu thức số học - Khái niệm:
  • 18. 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) 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. 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
  • 19. 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 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
  • 20. -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) 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.
  • 21. 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ông dụng. 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 và làm việc nghiêm túc khi viết câu lệnh gán; khi 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 tính toán - NL tư duy - 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 - 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: Chuyển đổi các biểu thức toán học sau sang C++ 1) 2) 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 biểu thức quan hệ– Phát triển NL sử dụng ngôn ngữ và NL chuyển đổi biểu thức toán học sang C++ GV: Hai biểu thức cùng kiểu liên kết với nhau bởi phép toán quan hệ cho ta một biểu thức quan hệ. HS: Rút ra dạng của biểu thức quan hệ GV: Hãy đưa ra điều kiện để điểm M có tọa độ 4. Biểu thức quan hệ - Dạng: <biểu thức 1><phép toán quan hệ><biểu thức 2> trong đó, biểu thức 1 và biểu thức 2 cùng là xâu hoặc cùng là biểu thức số học. Ví dụ : 1) x < 5 2) x mod 2 = 0 3) i + 1 >= 2*i
  • 22. (x,y) thuộc hình tròn tâm I(a,b), bán kính R . HS: sqrt((x-a)*(x-a)) + (y-b)*(y-b)) <=R hoặc sqr(x-a) + sqr(y-b)<=R*R GV: Biểu thức quan hệ được thực hiện theo trình tự nào ? HS: TL GV: Kết quả của phép toán quan hệ là gì? HS: TL - Trình tự thực hiện: + Tính giá trịbiểu thức ở 2 vế. + Thực hiện phép toán quan hệ. - Kết quả của biểu thức quan hệ: true (đúng) hoặc false (sai). Ví dụ: Với x<3 nếu x =5 thì biểu thức x<5 có giá trịfalse. Nếu x =1 thì biểu thức x<5 có giá trịtrue. HĐ2: Tìm hiểu biểu thức logic – Phát triển NL tư duy GV: Nêu các phép toán logic? HS: Trả lời GV: Để biểu thị phủ định của điều kiện x là một số khác 0 ta viết trong C++ là: ! (x = 0) Để biểu thị điều kiện x là một số nằm ngoài đoạn [5, 10] trong C++ ta viết: (x<5) || (x>10) GV: Giá trị của biểu thức logic? HS: TL GV: Đặc điểm của phép phủ định? HS: TL GV: Đặc điểm của phép toán hoặc, và? HS: TL 5. Biểu thức logic - Biểu thức logic đơn giản là biến logic hoặc hằng logic. - Biểu thức logic là : + Biểu thức logic đơn giản ; + Hoặc các biểu thức quan hệ liên kết với nhau bởi các phép toán logic. + Các biểu thức quan hệ thường đặt trong dấu ngoặc tròn ( và ). - Giá trị của biểu thức logic là true hoặc false. - Phép toán ! được viết trước biểu thức cần phủ định. Ví dụ:! (x<1) tương đương với biểu thức quan hệ x>=1. - Các phép toán || và && dùng để kết hợp nhiều biểu thức logic hoặc quan hệ thành một biểu thức, thường được dùng để diễn tả các điều kiện phức tạp.
  • 23. Ví dụ: Để thể hiện điều kiện 5 ≤ x ≤ 11, trong C++ cần phải tách thành phát biểu dưới dạng 5 ≤ x và x ≤ 11 : (5 <= x) &&(x <= 11) HĐ3: Tìm hiểu câu lệnh gán – Phát triển NL tư duy GV: Câu lệnh gán là một trong những câu lệnh cơ bản nhất của các ngôn ngữ lập trình. HS: Theo dõi GV: Nhấn mạnh và nêu một số điểm chú ý khi sử dụng lệnh gán. - Bên trái lệnh gán là tên biến, bên phải là biểu thức đã xác định. - Biểu thức bên phải cẩn được xác định giá trị trước khi gán, nghĩa là mọi biến trong biểu thức đã được xác định giá trị và các phép toán trong biểu thức có thể thực hiện được trong miền giá trị của biến. 6. Câu lệnh gán - Dạng: < tên biến>= < biểu thức >; Trong đó: + Biến là biến đơn + Biểu thức có kiểu giá trị phù hợp với kiểu của biến - Hoạt động của câu lệnh gán: + Tính giá trị của biểu thức vế phải; + Gán giá trị của biểu thức đã tính cho biến ở vế trái. - Ví dụ x1 = (-b – sqrt (b*b- 4*a*c))/(2*a); x2 = -b/a – x1; z = z – 1; i = i + 1; Trong ví dụ trên, ý nghĩa của lệnh gán thứ 3 là giảm giá trị của biến z một đơn vị. Ý nghĩa của lệnh gán thứ tư là tăng giá trị của biến i lên một đơn vị. C. Hoạt động củng cố - Phép toán quan hệ, phép toán logic - Câu lệnh gán D. Hoạt động luyện tập, mở rộng - Chuẩn bị §7. Các hàm chuẩn vào/ra đơn giản
  • 24. Ngày soạn: Tiết theo KHDH: 7 §7. CÁC THỦ TỤC CHUẨN VÀO/RA ĐƠN GIẢN I. Mục tiêu bài học 1. Kiến thức - Biết các lệnh vào/ra đơn giản để nhập thông tin từ bàn phím hoặc đưa thông tin ra màn hình; 2. Kỹ năng - Viết các lệnh vào/ra cơ bản; 3. Thái độ - HS hiểu bài và hứng thú với bài học; - Bước đầu rèn luyện tư duy giải quyết các vấn đề đơn giản và hoàn chỉnh trên máy tính. 4. Năng lực, phẩm chất - NL quan sát và thực hành - NL lập trình - NL sử dụng CNTT - NL tư duy - 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, thao tác mẫu - 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: Hãy cho biết giá trị của a và b sau khi thực hiện xong chương trình dưới đây? #include <bits/stdc++.h> using namespace std; long a,b,c; int main() { a=5; b=9; c=a; a=b; b=c; return 0; } 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 hàm nhập dữ liệu vào từ bàn phím – Phát triển NL quan sát và thực hành GV: Khi giải quyết một bài toán, ta phải đưa dữ liệu vào máy tính xữ lí. Ví dụ: - Khi viết chương trình giải phương trình bậc 2: ax2 + bx + c = 0, ta phải nhập cho 3 biến a, b, c. Có 2 cách nhập như sau: + Cách 1: Nhập lần lượt từng giá trị a, b, c cin>>a; cin>>b; cin>>c; 1. Nhập dữ liệu vào từ bàn phím
  • 25. + Cách 2: Nhập đồng thời a, b, c: cin >> a >> b >> c; HS: Quan sát máy chiếu GV: Khi viết chương trình tính diện tích hình chữ nhật có chiều rộng là a, chiều dài là b, ta nhập như thế nào? HS: Rút ra cú pháp nhập GV: Minh họa việc nhập giá trị không tương thích với kiểu dữ liệu → Chương trình báo lỗi. HS: Ghi nhớ chú ý - Cú pháp: cin>>biến vào>>biến vào>>…>>biến vào; trong đó: + Biến vào là biến đơn + Dấu … thể hiện có thể có nhiều biến vào được cách nhau bởi toán tử >> - Ví dụ: cin>>n; cin>>a>>b>>c; - Chú ý: + Khi nhập giá trị cho nhiều biến thì những giá trị này gõ cách nhau một dấu cách hoặc kí tự xuống dòng (phím Enter). + Các giá trị nhập vào cho biến phải tương ứng với kiểu dữ liệu HĐ2: Tìm hiểu hàm đưa dữ liệu ra màn hình – Phát triển NL tư duy GV: Sau khi xử lí xong, để nhìn thấy được kết quả ta phải dùng thủ tục xuất dữ liệu.Ví dụ: ta phải đưa ra màn hình giá trị 2 nghiệm x1, x2 thì lệnh in là: cout<<“Nghiem cua phuong trinh la: ”<<“x1 = “<<x1<<endl<< “x2= ” <<x2; - HS: Rút ra cú pháp đưa dữ liệu ra màn hình 2. Đưa dữ liệu ra màn hình - Cú pháp: + Cách 1: cout<<kết quả ra<<kết quả ra<<…<<kết quả ra; + Cách 2: cout<<kết quả ra<<kết quả ra<<…<<kết quả ra<<endl; + Cách 3: cout<<kết quả ra<<kết quả ra<<…<<kết quả ra<< ‘n’; trong đó: + Kết quả ra là tên biến đơn, biểu thức hoặc hằng. + Dấu … thể hiện có thể có nhiều kết quả ra
  • 26. GV: Chạy chương trình sử dụng câu lệnh in ra màn hình theo cả 3 cách. HS: Quan sát chương trình, phân biệt các cách làm và ghi nhớ cú pháp. GV: Chạy chương trình có sử dụng các hàm chuẩn vào và ra sau: #include <bits/stdc++.h> using namespace std; double x,y; int main() { cout<< “Nhap vao gia tri thuc x va y”<< endl; cin>>x>>y; cout<< “Dien tich cua hinh chu nhat la” <<x*y; return 0; } HS: Quan sát và nắm bắt cách sử dụng các hàm chuẩn vào ra GV: Chạy chương trình sau theo 2 trường hợp có quy cách in và không có quy cách in #include <bits/stdc++.h> using namespace std; int main () { double a = 3.1415926534; double b = 206.0; double c = 1.0e-10; cout <<fixed<<setprecision(3)//chú ý cout<<a<<endl<<b<<endl<<c<<endl; return 0; } HS: Theo dõi kết quả và rút ra cú pháp quy cách in được cách nhau bởi toán tử << - Ở cách 1, sau khi đưa kết quả ra màn hình, con trỏ không chuyển xuống đầu dòng tiếp theo. Ở cách 2 và 3, con trỏ sẽ chuyển xuống đầu dòng tiếp theo. - Ví dụ: cout<< “Nhap so nguyen duong n = ”; cin>>n; hoặc cout<< “Nhap so nguyen duong n = ”<<endl; cin>>n; -Quy cách in ra màn hình: cout <<fixed<<setprecision(n) + setprecision; đặt số chữ số phần thập phân là n + fixed là cố định số chữ số phần thập phân phải đủ n kí tự, nếu không đủ phải thêm 0 §8. SOẠN THẢO, DỊCH, THỰC HIỆN VÀ HIỆU CHỈNH
  • 27. CHƯƠNG TRÌNH I. Mục tiêu bài học 1. Kiến thức - Biết các bước soạn thảo, dịch, thực hiện và hiệu chỉnh chương trình - Biết một số công cụ của môi trường CodeBlocks 2. Kỹ năng - Soạn, dịch, sửa lỗi, chạy và hiệu chỉnh chương trình - Chỉnh sửa chương trình dựa vào thông báo lỗi của chương trình dịch và kết quả thu được 3. Thái độ - HS hiểu bài và hứng thú với bài học; - Bước đầu rèn luyện tư duy giải quyết các vấn đề đơn giản và hoàn chỉnh trên máy tính. 4. Năng lực, phẩm chất - NL quan sát và thực hành - NL lập trình - NL sử dụng CNTT - NL tư duy - 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, thao tác mẫu - 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: Nhập vào hai số nguyên a và b, tương ứng là chiều dài và chiều rộng của hình chữ nhật. Viết chương trình tính chu vi P và diện tích S của hình chữ nhật đó. 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 môi trường làm việc với CodeBlocks – Phát triển NL quan sát và thực hành, NL sử dụng CNTT, NL tư duy, NL lập trình GV: Hướng dẫn học sinh các thao tác sau: - Tạo thư mục mới trong C++ - Soạn thảo - Lưu chương trình (Ctrl+S) - Biên dịch chương trình(Ctrl+F9) - Chạy chương trình (F9) - Đóng cửa sổ chương trình (Alt+F9/Alt+F3) - Thoát khỏi phần mềm (Alt+F4) HS: Quan sát quy trình soạn thảo của một chương trình, rút ra các phím tắt thường sử dụng 1. Làm việc với CodeBlocks - Tạo thư mục mới trong C++ + B1: Khởi động CodeBlocks + B2: Create a new project + B3: Console Aplication → Go + B4: C++ → Next + B5: Đặt tên và chọn đường dẫn → Next + B6: Finish - Tạo chương trình, viết và chạy + B1: Source + B2: Nháy đúp main.cpp + B3: Soạn thảo chương trình + B4: Biên dịch ( ) + B5: Run ( )
  • 28. - Tạo một chương trình mới sau khi vừa viết một chương trình + B1: Nháy đúp main.cpp + B2: Soạn thảo chương trình + B3: Build and Run ( ) - Đặt tên chương trình: File → Save file as HĐ2:Soạn thảo các chương trình ví dụ – Phát triển NL quan sát và thực hành, NL sử dụng CNTT, NL tư duy, NL lập trình GV: Chiếu ví dụ HS: Thực hiện chương trình theo các bước giáo viên vừa hướng dẫn 2. Ví dụ Viết chương trình nhập vào bán kính R của hình tròn. Tính chu vi C và diện tích S của hình tròn đó. - Tạo thư mục mới + B1: Khởi động CodeBlocks + B2: Create a new project + B3: Console Aplication → Go + B4: C++ → Next + B5: Nhập “Vi_du ” vào ô Project Title→ Next, chọn vị trí lưu tệp trên ổ đĩa E. + B6: Finish - Tạo chương trình, viết và chạy + B1: Source + B2: Nháy đúp main.cpp + B3: Soạn thảo chương trình #include <bits/stdc++.h> using namespace std; const double pi =3.14; double r,c,s; int main() { cout<< “Nhap vao ban kinh r = ”; cin>>r; c = 2*pi*r; s = pi * r*r; cout<<fixed<<setprecision(2); cout<< “Chu vi cua duong tron la”<<c<<endl; cout<< “Dien tich cua hinh tron la” <<s; return 0; } + B4: Build ( ) (Ctrl+F9) + B5: Run ( ) (F9) - Đặt tên chương trình: File → Save file as → Gõ tên “Duong_tron” C. Hoạt động củng cố - Tạo thư mục mới → Soạn thảo → Biên dịch (Ctrl+F9) → Chạy (F9) → Lưu (Ctr+S) D. Hoạt động luyện tập, mở rộng - Chuẩn bị tiết bài tập và thực hành 1
  • 29.
  • 30. Ngày soạn: Tiết theo KHDH: 9 BÀI TẬP VÀ THỰC HÀNH 1 I. Mục tiêu bài học 1. Kiến thức - Biết viết một chương trình C++ hoàn chỉnh đơn giản 2. Kỹ năng - Lập trình giải được bài toán đơn giản cho trước 3. Thái độ - Rèn luyện tác phong lập trình trên máy nghiêm túc, cẩn thận và tuân theo các quy định nghiêm ngặt của ngôn ngữ lập trình C++ - Bồi dưỡng niềm ham mê lập trình. 4. Năng lực, phẩm chất - NL quan sát và thực hành - NL lập trình - NL làm việc nhóm - NL sử dụng CNTT - NL tư duy - 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: Làm việc nhóm, kiểm tra đánh giá, vấn đáp - Phương tiện: SGK, giáo án, phòng thực hành 2. Học sinh - Vở ghi, SGK III. Tiến trình bài học A. Hoạt động khởi động - Giáo viên nhắc nhở HS thực hiện đúng quy định phòng thực hành, có ý thức giữ gìn của công. - Ổn định vị trí: 2 HS ngồi 1 máy (1 nhóm) Câu hỏi: Kết hợp trong quá trình thực hành B. Hoạt động hình thành kiến thức HOẠT ĐỘNG DẠY HỌC NỘI DUNG HĐ1:Soạn thảo chương trình: “Giải phương trình bậc hai”– Phát triển NL quan sát và thực hành, NL sử dụng CNTT, NL tư duy, NL lập trình GV: Hướng dẫn học sinh mở Code Blocks và gõ chương trình, HS: Soạn thảo chương trình 1. Chương trình: “Giải phương trình bậc hai” a) Gõ chương trình #include <bits/stdc++.h> using namespace std; double a,b,c,d,x1,x2; int main() { cout<< “Nhap a, b, c ”; cin>>a>>b>>c; d = b*b-4*a*c; x1 = (-b+sqrt(d))/(2*a); x2=-b/a-x1;
  • 31. GV: Nêu câu hỏi phân tích chương trình: 1) Nêu tác dụng của từng biến trong chương trình. 2) Hãy chỉ ra các hàm chuẩn vào/ra trong chương trình. 3) Chương trình gồm những phần nào? 4) Quy cách in dữ liệu trong chương trình như thế nào? HS: TL GV: Để lưu chương trình ta làm như thế nào? HS:TL và tiến hành lưu chương trình với tên phuong_trinh_bac_2 GV: Biên dịch chương trình ta sử dụng tổ hợp phím nào? HS: TL và dịch, sửa chương trình GV: Theo dõi các nhóm làm việc, hướng dẫn các em sửa lỗi GV: Để chạy chương trình, ta dùng phím nào? HS: TL và nhập 1; -3; 2. Quan sát kết quả hiển thị trên màn hình: x1 = 1.00; x2=2.00 HS: Chạy chương trình lần 2 (F9), nhập các giá trị 1; 0 và 2. Quan sát kết quả hiển thị trên màn hình x1 = -1.41; x2 = 1.41 GV: Nếu không sử dụng biến d, chương trình sẽ có những thay đổi như thế nào? HS: double a,b,c,x1,x2; x1 = (-b+sqrt(b*b- 4*a*c))/(2*a); → Thực hiện sửa lại chương trình, biên dịch, sửa lỗi và chạy với 2 bộ dữ liệu trên. cout<<fixed<<setprecision(2); cout<< “x1=”<<x1<<endl; cout<< “x2=” <<x2; return 0; } b) File → Save file as → lưu chương trình với tên phuong_trinh_bac_2 c) Nhấn tổ hợp phím Ctrl+F9 để biên dịch và sửa lỗi cú pháp (nếu có) d) Nhấn phím F9 để chạy chương trình. Nhập các giá trị 1 ; -3 ; 2 e) Nhấn phím F9 rồi nhập các giá trị 1 ; 0 ; -2 f) Sửa lại chương trình trên sao cho không dùng biến trung gian d. Thực hiện chương trình đã sửa với các bộ dữ liệu trên. #include <bits/stdc++.h> using namespace std; double a,b,c,x1,x2; int main() { cout<< “Nhap a, b, c ”; cin>>a>>b>>c; x1 = (-b+sqrt(b*b-4*a*c))/(2*a); x2=-b/a-x1; cout<<fixed<<setprecision(2);
  • 32. GV lưu ý: Có thể ghi sang tệp chương trình mới khi có nhu cầu chỉnh sửa chương trình bằng cách File → Save file as GV: Có cách nào khác để tính x2 không? HS: TL và sửa lại chương trình với cách tính x2 mới GV: Yêu cầu HS nhập 1; 5; 6 và chạy chương trình HS: F9, nhập 1; 5; 6 và quan sát kết quả (x1 = 2.00; x2 = 3.00) GV: Yêu cầu nhập 1; 1; 1 và chạy chương trình. HS: F9, nhập 1; 1; 1 → kết quả sai GV: Chương trình trên chỉ thực hiện đúng khi nào? HS: TL (Khi d>=0) cout<< “x1=” <<x1<<endl; cout<< “x2=” <<x2; return 0; } g) Sửa lại chương trình nhận được ở câu c bằng cách thay đổi công thức x2= (-b-sqrt(d))/(2*a); h) Thực hiện chương trình đã sửa với bộ dữ liệu 1; -5; 6. Quan sát kết quả trên màn hình. i) Thực hiện chương trình với bộ dữ liệu 1; 1; 1 và quan sát kết quả trên màn hình C. Hoạt động củng cố - Tạo thư mục mới → Soạn thảo → Biên dịch (Ctrl+F9) → Chạy (F9) → Lưu (Ctr+S) D. Hoạt động luyện tập, mở rộng - Chuẩn bị tiếp tiết bài tập và thực hành 1
  • 33. Ngày soạn: Tiết theo KHDH:10 BÀI TẬP VÀ THỰC HÀNH 1 (tiết 2) I. Mục tiêu bài học 1. Kiến thức - Biết viết một chương trình C++ hoàn chỉnh đơn giản 2. Kỹ năng - Lập trình giải được bài toán đơn giản cho trước 3. Thái độ - Rèn luyện tác phong lập trình trên máy nghiêm túc, cẩn thận và tuân theo các quy định nghiêm ngặt của ngôn ngữ lập trình C++ - Bồi dưỡng niềm ham mê lập trình. 4. Năng lực, phẩm chất - NL quan sát và thực hành - NL lập trình - NL làm việc nhóm - NL sử dụng CNTT - NL tư duy - 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: Làm việc nhóm, kiểm tra đánh giá, vấn đáp - Phương tiện: SGK, giáo án, phòng thực hành 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: Kết hợp trong quá trình thực hành B. Hoạt động hình thành kiến thức HOẠT ĐỘNG DẠY HỌC NỘI DUNG HĐ1:Soạn thảo chương trình: “Tính diện tích phần gạch chéo” – Phát triển NL quan sát và thực hành, NL sử dụng CNTT, NL tư duy, NL lập trình GV: Hãy viết chương trình nhập số a (a>0) rồi tính và đưa ra diện tích phần được gạch chéo trong hình 3 (kết quả làm tròn đến 4 chữ số phần thập phân) HS: Xây dựng khung chương trình - Khai báo: + Thư viện: bits/stdc++.h 1. Chương trình: “Tính diện tích phần gạch chéo”
  • 34. + Hằng: pi = 3.14 + Biến: a (a>0); s - Thân: + Nhập a; + Tính s + Quy cách độ rộng và in kết quả GV: Cho a = 3; a = 10.5; a = 43 HS: Chạy thử các giá trị và so sánh kết quả giữa các nhóm. #include <bits/stdc++.h> using namespace std; const double pi=3.14; double a,s; int main() { cout<< “Nhap a = ”; cin>>a; s = pi*a*a/2; cout<<fixed<<setprecision(4); cout<< “Dien tich phan gach cheo la”<<s; return 0; } HĐ2:Soạn thảo chương trình: “Tính vận tốc của vật rơi tự do” – Phát triển NL quan sát và thực hành, NL sử dụng CNTT, NL tư duy, NL lập trình GV: Lập trình tính và đưa ra màn hình vận tốc v khi chạm đất của một vật rơi tự do từ độ cao h, biết rằng v = , trong đó g là gia tốc rơi tự do và g = 9.8 m/s2 . Độ cao h (m) được nhập vào từ bàn phím. HS: Xây dựng khung chương trình - Khai báo: + Thư viện: bits/stdc++.h + Hằng: g = 9.8 + Biến: v, h - Thân: + Nhập h; + Tính v + Quy cách độ rộng và in kết quả 2. Chương trình: “Tính vận tốc của vật rơi tự do” #include <bits/stdc++.h> using namespace std; const double g=9.8; double h,v; int main() { cout<< “Nhap h = ”; cin>>h; v = sqrt(2*g*h);
  • 35. GV: Cho h = 3; h = 10.5; h = 43 HS: Chạy thử các giá trị và so sánh kết quả giữa các nhóm. cout<<fixed<<setprecision(2); cout<< “Van toc cua vat la ” <<v; return 0; } C. Hoạt động củng cố - Tạo thư mục mới → Soạn thảo → Biên dịch (Ctrl+F9) → Chạy (F9) → Lưu (Ctr+S) D. Hoạt động luyện tập, mở rộng - Ôn tập để tiết sau kiểm tra 1 tiết Ngày tháng năm Tổ trưởng chuyên môn duyệt Lê Phan Vũ
  • 36. Ngày soạn: Tiết theo KHDH: 9 BÀI TẬP I. Mục tiêu bài học 1. Kiến thức - Củng cố lại cho HS một số khái niệm: lập trình, ngôn ngữ lập trình, chương trình dịch - Phân biệt thông dịch và biên dịch, tên dành riêng và tên chuẩn - Biết phânbiệt các loại biểu thức trong NNLT 2. Kỹ năng - Xác định được tên đúng, tên sai, tên chuẩn, từ khoá. - Đặt tên cho một đối tượng bất kì - Viết được các biểu thức số học và logic với các phép toán thông dụng. - Bước dầu biết phân tích và hoàn thành chương trình đơn giản 3. Thái độ - Tích cực vận dụng kiến thức đã học để làm bài 4. Năng lực, phẩm chất - NL sử dụng ngôn ngữ - NL so sánh và suy luận - Phẩm chất: tích cực, tự giác làm bài II. Phương tiện chuẩn bị 1. Giáo viên - Phương pháp: Thuyết trình, vấn đáp, gợi 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: kết hợp trong quá trình chữa bài tập B. Hoạt động hình thành kiến thức HOẠT ĐỘNG DẠY HỌC NỘI DUNG HĐ1:Giải quyết các bài tập trang 35/SGK Câu 1: Cho biết sự khác nhay giữa hằng có đặt tên và biến. Câu 2: Tại sao phải khai báo biến? Câu 3: (Trang 35-SGK) Câu 4: (Trang 35-SGK) - Biến P có thể khai báo bằng kiểu dữ liệu nào? - Biến X có thể khai báo bằng kiểu dữ liệu nào? - 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. - Biến là đại lượng có thể bị thay đổi trong quá trình thực hện chương trình. - Khai báo biến để cho chương trình dịch biết để lưu trữ và xử lí. - Biến đó có thể được khai báo bằng các kiểu dữ liệu là: Integer, Word, Longint. - Biến P có thể khai báo bởi kiểu số nguyên byte, integer, word, longint hay kiểu số thực real, extended. - Biến X có thể khai báo bởi kiểu số thực real
  • 37. - Vậy lựa chọn nào là lựa chọn đúng? Câu 5: (Trang 35-SGK) - Với A có giá trị nguyên nằm trong phạm vi từ 100 đến 200 thì diện tích S của hình vuông nhỏ nhất và lớn nhất là bao nhiêu? - Với diện tích S nhỏ nhất là 10000 và lớn nhất là 40000 thì S có thể được khai báo bằng kiểu dữ liệu nào trong các kiểu dữ liệu đã nêu là đúng và tốn ít bộ nhớ nhất? Câu 6: (Trang 35-SGK) Hãy viết biểu thức toán học dưới đây trong Pascal: Câu 7: (Trang 36-SGK) Chuyển biểu thức Pascal thành biểu thức toán học tương ứng: a) a/b*2; b) a*b*c/2; c) 1/a*b/c; d) b/sqrt(a*a+b); GV: Cho biết Input và Output của bài toán? HS: Input: Độ dài 3 cạnh của tam giác. Output: Diện tích, Chu vi của tam giác. GV: Nêu công thức tính diện tích và chu vi tam giác. HS: với C=2p. GV: Gọi một học sinh lên bảng viết chương trình. HS: Lên bảng viết chương trình. hoặc extended. Đáp án đúng là: B, D - Diện tích S nhỏ nhất là 10000 và lớn nhất là 40000. - S khai báo thuộc kiểu Word là đúng và tốn ít bộ nhớ nhất. Vậy phương án đúng là C. - Biểu thức trong Pascal: (1+z)(x+y/x)/(a-1/(1+x*x*x)) - Biểu thức toán học tương ứng là: Bài 8: Viết chương trình nhập vào độ dài 3 cạnh của tam giác. In ra màn hình diện tích, chu vi của nó. Program Dt_CV_TamGiac; Uses Crt; Var a,b,c,p,cv,dt:real; BEGIN Clrscr; Write('Nhap vao do dai 3 canh cua tam giac a,b,c:'); readln(a,b,c); P:=(a+b+c)/2; dt:=Sqrt(p*(p-a)*(p-b)*(p-c)); cv:=2*p; Writeln('Dien tich',dt:6:2); Writeln('Chu vi=',cv:6:2); readln; END Ngày soạn: ( ) . 1 3 1 y x z a z a x + + − + ) )( )( ( c p b p a p p S − − − = c c b a p + + = 2 ) a a b ) 2 abc b ) b c ac ) 2 b d a b +
  • 38. Tiết theo KHDH: 10 KIỂM TRA I. Mục tiêu bài học 1. Kiến thức - Kiểm tra các kiến thức về ngôn ngữ lập trình, cấu trúc chương trình, khai báo biến, các biểu thức trong C++, các câu lệnh vào ra đơn giản. 2. Kỹ năng - Viết biểu thức số học trong Toán học sang dạng tương ứng trong C++ và ngược lại. - Viết được chương trình đơn giản. 3. Thái độ - Nghiêm túc làm bài. 4. Năng lực, phẩm chất - NL tự học - NL sử dụng ngôn ngữ - NL tính toán - NL tư duy - Phẩm chất: trung thực, tự trọng II. Phương tiện chuẩn bị 1. Giáo viên a. Ma trận MA TRẬN ĐỀ KIỂM TRA 1 TIẾT TIN HỌC 11 Mức độ Nhận biết Thông hiểu Vận dụng thấp Vận dụng cao Khái niệm lập trình và NNLT 11 1 (tự luận) 2 (tự luận) Các thành phần của NNLT 6, 7, 17 Cấu trúc chương trình 1, 12 Một số kiểu dữ liệu chuẩn 9 Khai báo biến 19 Phép toán, biểu thức, câu lệnh gán 2, 3, 5, 14, 15, 18 16 Các hàm chuẩn vào ra đơn giản 13, 20 Soạn thảo, dịch, thực hiện và hiệu chỉnh CT. 4, 8, 10 Tổng Số câu: 16 Số điểm: 4 Tỉ lệ: 40% Số câu: 4 Số điểm: 1 Tỉ lệ: 10% Số câu: 1 Số điểm: 2 Tỉ lệ: 20% Số câu: 1 Số điểm: 3 Tỉ lệ: 30% b. Đề kiểm tra ĐỀ KIỂM TRA 1 TIẾT TIN HỌC 11
  • 39. SỞ GD&ĐT NAM ĐỊNH TRƯỜNG THPT THỊNH LONG KIỂM TRA 1 TIẾT Môn: Tin học 11 Họ và tên:………………………………………….. Lớp:………… I. TRẮC NGHIỆM (5 điểm) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Câu 1: Cho chương trình: #include <bits/stdc++.h> using namespace std; int main() { double a= 1; double b= 1; double c= 5; d = b*b – 4*a*c; cout <<"d = "<<d; return 0; } Tìm kết luận đúng nhất về lỗi của chương trình trong các kết luận sau: A. Thiếu #include <iostream> B. Sai câu lệnh gán tính d D. Không có lệnh cin để nhập a, b, c D. Không khai báo biến d Câu 2: Biểu thức: 25 / 3 + (5 % 2) * 3 có giá trị là: A. 11 B. 27 C. 7 D. 9 Câu 3: Xác định giá trị của x, y sau khi thực hiện đoạn chương trình? int main () { long x= 10; long y= 15; x= x+y; y= y-x; cout<< “x = ”<< x << “ ” << “y = ” << y } A. x= 15 y= -10. B. x= 25 y= 15. C. x= 25 y= -10. D. x= 10 y= -15. Câu 4: Kết quả của biểu thức sqrt((ABS(25-50) % 4) ) là: A. 2 B. 1 C. 4 D. 3 Câu 5: Chọn các tên sai trong ngôn ngữ lập trình C++: A. hoa – hong, Lap trinh, 11C++ B. _123, Tinhoc, Bai_tạp C. tam_giac, chuvi, dientich D. Kiemtra1, Tinh, Giai_pt Câu 6: Chọn phát biểu đúng trong các phát biểu sau: A. Một ngôn ngữ lập trình có ba thành phần cơ bản: Bảng chữ cái, bảng chữ số, cú pháp B. Một ngôn ngữ lập trình có ba thành phần cơ bản: Bảng chữ cái, cú pháp, ngữ nghĩa C. Một ngôn ngữ lập trình có ba thành phần cơ bản: Bảng chữ số, cú pháp, ngữ nghĩa D. Một ngôn ngữ lập trình có ba thành phần cơ bản: Bảng chữ cái, bảng chữ số, ngữ nghĩa Câu 7: Cho x là biến đã khai báo kiểu thực. Sau khi thực hiện hai câu lệnh sau thì kết quả dạng nào sẽ xuất hiện trên màn hình? x:= 10; cout << fixed<<setprescision(2) << x;
  • 40. A. 10.0 B. 10.000 C. 10 D. 10.00 Câu 8: Cho khai báo biến sau đây, lệnh gán nào là đúng? unsigned char m, n; short x, y; A. m:= -4 B. y:= 10.5 C. n:= 3.5 D. x:= 6 Câu 9: Thực hiện chương trình C++ sau đây, ta thu được kết quả nào: int a, n; int main () { n= 645; a= n / 10; n= n % 10; a= a + n / 10; a= a + n % 10; cout<<a; } A. 15 B. 5 C. 69 D. 6 Câu 10: Lựa chọn khai báo đúng: A. # include (tên thư viện) B. # include tên thư viện C. # include <tên thư viện> D. # include {tên thư viện} Câu 11: Cho n=6, câu lệnh sau sẽ in ra màn hình nội dung gì? cout<< “1 + 2 + 3 +... +” << n<< “ = ”<< n*(n+1)/2); A. 1 + 2 + 3 +... + 6 = 21 B. 1 + 2 + 3 +... + 6 = 42 C. 1 + 2 + 3 +... + = 21 D. 1 + 2 + 3 +... + = 42 Câu 12: Biểu thức nào sau đây là biểu thức quan hệ? A. (x >= 1) && (x<=5) B. 2x +3 < 7 – 3x C. 11 % 3 D. (x+4)/5 Câu 13: Hãy cho biết biểu thức toán học của biểu thức sau: sqrt(abs(x-1)) + x*x – 1 A. 1 1 2 − + − x x B. 1 | 1 | 2 − + − x x C. 1 1 | | 2 − + − x x D. 1 1 2 − + − x x Câu 14: Biểu diễn nào dưới đây không phải là hằng? A. A20 B. 1.06e-15 C. ‘c’ D. true Câu 15: Trường hợp nào sau đây không phải là lệnh gán trong C++ ? A. a= 10; B. c= c+5; C. a= a*2; D. a + b= 1000; Câu 16: Khai báo nào sau đây là đúng? A. signedchar: x;y; B. long k=30; C. int x,y,z:50; D. a,b:short; Câu 17: Cho x là biến thực đã được gán giá trị 12.41235. Để thực hiện lên màn hình nội dung “x=12.41” cần chọn câu lệnh nào sau đây ? A. cout<<setprecision(3)<<fixed<<”x=”<<x; B. cout<<”x=”<<fixed<<setprecision(3)<<x; C. cout<<fixed<<setprecision(3)<<”x=”<<x; D. Cả B và C Câu 18: Trong ngôn ngữ lập trình C++, từ khóa include dùng để A. Khai báo hằng B. Khai báo biến C. Khai báo thư viện D. Khai báo chương trình con Câu 19: Biến x là số nguyên nằm trong phạm vi 15-3500 khai báo nào trong các khai báo sau là tối ưu nhất ?
  • 41. A. unsigned long long x; B. unsigned long x; C. unsigned char x; D. unsigned short x; Câu 20: Biến a nhận giá trị là true, biến b nhận 1 trong các giá trị 11.2; 11.3 hãy chọn khai báo đúng: A. real a; bool b; B. true a; long b; C. bool a; double b; D. char a; int b; II. TỰ LUẬN (5 điểm) Câu 1 (2 điểm) Chuyển đổi biểu thức toán học sau sang biểu thức viết trong C++: 3 2 xy y x y x y x − + + − Câu 2 (3 điểm) Viết chương trình nhập số a từ bàn phím rồi tính tổng sau: s = a3 - 2a2 + 5a - 6 c. Đáp án, biểu điểm ĐÁP ÁN, BIỀU ĐIỀM I. Trắc nghiệm (0.25 điểm/câu) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 D A C B A B D D C C A B B A D B D C D C II. Tự luận Câu 1 (2 điểm) Chuyển đổi biểu thức toán học sau sang biểu thức viết trong C++: 3 2 xy y x y x y x − + + − = sqrt(x*x-y)/(x+y) + (x-sqrt(y))/(x*y*y*y) Câu 2 (3 điểm) Viết chương trình nhập số a từ bàn phím rồi tính tổng sau: s = a3 - 2a2 + 5a - 6 #include <bits/stdc++.h> using namespace std; long a, s; (0.5 điểm) int main () { cout<< “Nhap a = ”; (0.5 điểm) cin>>a; (0.5 điểm) S:=a*a*a-2*a*a+5*a-6; (1.0 điểm) cout <<fixed<<setprecision(2)<< “Vay s = ”<<s; (0.5 điểm) return 0; } 2. Học sinh - Các kiến thức đã học và ôn tập III. Tiến trình dạy học 1. Kiểm tra - GV: Phát đề - HS: Làm bài 2. Thu và chấm bài Ngày soạn: Tiết theo KHDH: 11 Chủ đề 3: CẤU TRÚC RẼ NHÁNH VÀ LẶP
  • 42. §9. CẤU TRÚC RẼ NHÁNH I. Mục tiêu bài học 1. Kiến thức - Hiểu vai trò của cấu trúc rẽ nhánh trong biểu diễn thuật toán. - Hiểu câu lệnh rẽ nhánh dạng thiếu và dạng đủ. 2. Kỹ năng - Sử dụng câu lệnh rẽ nhánh trong mô tả thuật toán của một số bài toán đơn giản. - Viết câu lệnh rẽ nhánh dạng thiếu, dạng đủ và vận dụng được trong biểu diễn thuật toán của một số bài toán đơn giản. 3. Thái độ - Học sinh thấy được nhu cầu viết chương trình cần có sự điều khiển rẽ nhánh và hứng thú với điều này. - Tiếp tục rèn luyện phẩm chất của người lập trình: cẩn thận, nghiêm túc và say mê với lập trình giải quyết bài toán đơn giản nhưng ngày một thực tế hơn 4. Năng lực, phẩm chất - NL tư duy - NL sử dụng CNTT - NL sử dụng ngôn ngữ - NL tự 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, gợi 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: kết hợp trong quá trình học bài mới 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 rẽ nhánh– Phát triển NL sử dụng ngôn ngữ, NL tự học GV: Câu nói sau đây có dạng của mệnh đề gì: “Chiều mai nếu trời không mưa thì Châu đến nhà Ngọc”. HS:Câu nói trên có dạng: Nếu.... thì.... GV: Câu nói sau đây có dạng của mệnh đề gì: “Chiều mai nếu trời không mưa thì Châu đến nhà Ngọc soạn bài, nếu trời mưa thì Châu gọi điện cho Ngọc để trao đổi”. HS: Câu nói trên có dạng: Nếu.... thì...., nếu không thì...... GV: Một trong hai việc cụ thể chắc chắn sẽ xảy 1. Rẽ nhánh - Cấu trúc mô tả mênh đềdạng: “Nếu… thì…” → Rẽ nhánh dạng thiếu - Cấu trúc mô tả mênh đề dạng: “Nếu… thì…, nếu không thì…” → Rẽ nhánh dạng đủ
  • 43. ra, còn việc một hay việc hai sẽđược thực hiện thì tuỳ thuộc vàođiều kiện cụ thể nào mãn. - Ví dụ: Thuật toán giảiphương trình bậc 2 ax2 + bx +c = 0 (a≠0) – SGK/50 HĐ2: Tìm hiểu câu lệnh If– Phát triển NL sử dụng ngôn ngữ, NL sử dụng CNTT và NL tư duy GV: if, else đóng vai trò là gì trong cú pháp trên? HS:TL (từ khoá) GV: Khi tính giá trị của điều kiện thì trả lại giá trị nào HS: TL (true/false) GV: Nêu cách thực hiện câu lệnh if dạng thiếu. HS: Rút ra cách thực hiện câu lệnh if dạng đủ. GV: Hướng dẫn HS viết ví dụ 1. HS: Áp dụng viết ví dụ 2 2. Câu lệnh If a) Cú pháp - Dạng thiếu: if (điều kiện){các câu lệnh}; - Dạng đủ: if (điều kiện) {các câu lệnh 1;};else {câu lệnh 2;} Trong đó: + Điều kiện: là biểu thức logic + Các câu lệnh gồm một hoặc nhiều câu lệnh (có thể có câu lệnh if bên trong câu lệnh if) b) Thực hiện - Dạng thiếu: Tính và kiểm tra điều kiện. + Nếuđiều kiện đúng (true) → câu lệnh sẽ được thực hiện + Nếu điều kiện sai (false) → câu lệnh sẽ bị bỏ qua - Dạng đủ: Tính và kiểm tra điều kiện. + Nếu điều kiện đúng (true) → câu lệnh 1 sẽ được thực hiện + Nếu điều kiện sai (false) → câu lệnh 2 sẽ được thực hiện c) Ví dụ - VD1: if (a%2==0) cout << “a la so chan”; if (a%2==0) cout << “a la so chan”; else cout << “a la so le”; - Dạng đủ: if (b>a) max = b; if (b>a) max = b; else max = a; C. Hoạt động củng cố - Rẽ nhánh - Câu lệnh if: dạng thiếu và đủ
  • 44. D. Hoạt động luyện tập, mở rộng - Đọc trước nội dung mục 3. Câu lệnh ghép và 4. Một số ví dụ. Ngày soạn: Tiết theo KHDH:12 §9. CẤU TRÚC RẼ NHÁNH (tiết 2) I. Mục tiêu bài học 1. Kiến thức - Hiểu câu lệnh rẽ nhánh dạng thiếu và dạng đủ. - Hiểu câu lệnh ghép. 2. Kỹ năng - Sử dụng câu lệnh rẽ nhánh trong mô tả thuật toán của một số bài toán đơn giản. - Viết câu lệnh rẽ nhánh dạng thiếu, dạng đủ và vận dụng được trong biểu diễn thuật toán của một số bài toán đơn giản. 3. Thái độ - Học sinh thấy được nhu cầu viết chương trình cần có sự điều khiển rẽ nhánh và hứng thú với điều này. - Tiếp tục rèn luyện phẩm chất của người lập trình: cẩn thận, nghiêm túc và say mê với lập trình giải quyết bài toán đơn giản nhưng ngày một thực tế hơn 4. Năng lực, phẩm chất - NL tư duy - NL sử dụng CNTT - NL sử dụng ngôn ngữ - NL lập 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ở - 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: Viết câu lệnh rẽ nhánh dạng đủ kiểm tra xem một số nguyên a nhập vào từ bàn phím là số âm hay số dươ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âu lệnh ghép– Phát triển NL sử dụng ngôn ngữ, NL tư duy GV: Sau if và else có thể viết bao nhiêu câu lệnh? HS: Trả lời câu hỏi. GV: Trong trường hợp sau if và else có từ 2 câu lệnh trở lên thì ta phải ghép chúng lại thành một nhóm nằm giữa hai kí tự { và } 3. Câu lệnh ghép - Dạng
  • 45. được gọi là câu lệnh ghép. GV: Chạy chương trình giải phương trình bậc 2 - Không sử dụng câu lệnh ghép → trường hợp d<0 chương trình vừa đưa ra thông báo phương trình vô nghiệm, vừa đưa ra nghiệm x1, x2 - Có sử dụng lệnh ghép → trường hợp d<0 sẽ chỉ thông báo phương trình vô nghiệm. HS: Nhận thấy sự cần thiết phải sử dụng câu lệnh ghép trong chương trình GV: Câu lệnh ghép được xem là bao nhiêu câu lệnh. HS: Là một câu lệnh { câu lệnh, câu lệnh, …………. câu lệnh, } -Ví dụ: if (d<0) cout<< “Phuong trinh vo nghiem”; else { x1 = (-b-sqrt(d))/(2*a); x2 = -b/a – x1; cout << fixed<<setprecision(2) <<“x1 =” << x1 <<endl <<“x2 = ” <<x2; } HĐ2: Tìm hiểu một số ví dụ– Phát triển NL sử dụng ngôn ngữ, NL lập trình, NL sử dụng CNTT và NL tư duy GV: Hãy xác định Input và Output của bài toán? HS: TL GV: Hướng dẫn HS xây dựng chương trình: 1) Bài toán này có những biến nào? 2) Nhập gì cho bài toán này? 3) Sử dụng câu lệnh if như thế nào cho bài toán này? HS:TL và viết chương trình 4. Một số ví dụ a) Ví dụ 1: Tìm nghiệm thực của phương trình bậc hai: ax2 + bx + c = 0 (a ≠ 0) - Xác định bài toán: + Input: a, b, c +Output: Đưa ra các nghiệm hoặc thông báo phương trình vô nghiệm - Chương trình: #include <bits/stdc++.h> using namespace std; double a,b,c,d,x1,x2;
  • 46. GV: Hãy xác định Input và Output của bài toán? HS: TL GV: Hướng dẫn HS xây dựng chương trình: 1) Bài toán này có những biến nào? 2) Nhập gì cho bài toán này? 3) Sử dụng câu lệnh if như thế nào cho bài toán này? HS: TL và viết chương trình int main() { cout<< “Nhap a, b, c ”; cin>>a>>b>>c; d = b*b-4*a*c; if (d<0) cout<< “Phuong trinh vo nghiem”; else { x1 = (-b-sqrt(d))/(2*a); x2 = -b/a – x1; cout << fixed<<setprecision(2) <<“x1 =” << x1 <<endl <<“x2 = ” <<x2; } return 0; } b) Ví dụ 2: Tìm số ngày của năm, biết rằng năm nhuận là năm chia hết cho 400 hoặc chia hết cho 4 nhưng không chia hết cho 100. Ví dụ: Năm 2000, 2004 là năm nhuận và có số ngày là 366. Năm 1900, 1945 không phải là năm nhuận và có số ngày là 365. - Xác định bài toán: + Input: n +Output: sn - Chương trình: #include <bits/stdc++.h> using namespace std; long n, sn; int main() { cout<< “Nhap nam: ”; cin>>n; if (n % 400 ==0 || (n % 4 == 0 && n % 100 != 0)) sn = 366; else sn = 365; cout <<"So ngay cua nam " <<n<< "la "<<sn; return 0; } C. Hoạt động củng cố - Câu lệnh ghép D. Hoạt động luyện tập, mở rộng - Làm các bài tập 1; 2; 3, 6/55 - SGK
  • 47. - Chuẩn bị §10. Cấu trúc lặp Ngày soạn: Tiết theo KHDH:13 §10. CẤU TRÚC LẶP I. Mục tiêu bài học 1. Kiến thức - Hiểu vai trò của cấu trúc lặp trong biểu diễn thuật toán. - Hiểu cấu trúc lặp với số lần biết trước. - Hiểu được câu lệnh lặp với số lần biết trước for trong C++ 2. Kỹ năng - Viết đúng các câu lệnh lặp với số lần biết trước for ở dạng tiến và dạng lùi (trong ngôn ngữ C++). 3. Thái độ - Học sinh hiểu bài và hứng thú với bài học. - Học sinh ngày càng say mê lập trình hơn. 4. Năng lực, phẩm chất - NL tư duy - NL tính toán - NL sử dụng ngôn ngữ - NL lập 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ở - 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: Nhập vào từ bàn phím ba số nguyên a, b, c. Viết chương trình đưa ra màn hình giá trị lớn nhất trong ba số đó. 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 thế nào là lặp– Phát triển NL sử dụng ngôn ngữ, NL tính toán, NL tư duy GV: Mỗi lần cộng, tổng S tăng thêm 1 giá trị là bao nhiêu? HS: với N = 1; 2; 3;… GV: Có bao nhiêu lần lặp như vậy? HS: 100 lần GV: Mỗi lần cộng, tổng S tăng thêm 1 giá trị 1. Lặp Bài toán 1:Viết chương trình tính tổng sau: 100 1 ... 2 1 1 1 1 + + + + + + + = a a a a S => Lặp với số lần biết trước Bài toán 2:Viết chương trình tính tổng sau: N a a a a S + + + + + + + = 1 ... 2 1 1 1 1
  • 48. là bao nhiêu? HS: với N = 1; 2; 3;… GV: Số lần lặp là bao nhiêu? HS: Chưa biết GV: Việc cộng vào tổng S kết thúc khi nào? HS: Khi điều kiện N a + 1 <0.000 thỏa mãn cho đến khi N a + 1 <0.0001 => Lặp với số lần chưa biết trước HĐ2: Tìm hiểu lặp với số lần biết trước và câu lệnh for– Phát triển NL sử dụng ngôn ngữ, NL lập trình, NL sử dụng CNTT và NL tư duy GV: Giá trị N khi bắt đầu tham gia vòng lặp là bao nhiêu? HS: 0 GV: Sau mỗi lần lặp, N tăng lên mấy? HS: 1 GV: Khi nào thì kết thúc lặp? HS: Khi N > 100 (tức là khi đã thực hiện đủ 100 lần) GV: Mỗi lần cộng vào tổng S một giá trị bằng bao nhiêu? HS: N a + 1 GV: Giá trị N khi bắt đầu tham gia vòng lặp là bao nhiêu? HS: 101 GV: Sau mỗi lần lặp, N giảm đi mấy đơn vị? HS: 1 GV: Vòng lặp kết thúc khi nào? HS: Khi N < 1 (tức là khi đã thực hiện đủ 100 lần) GV: Mỗi lần cộng vào tổng S một giá trị bằng bao nhiêu? HS: N a + 1 GV: Chạy chương trình Tong_1a và Tong_1b. HS: Quan sát và rút ra cú pháp của câu lệnh for tiến và for lùi. 2. Lặp với số lần biết trước và câu lệnh for a) Thuật toán - Thuật toán Tong_1a + B1: S ← 1/a, N ← 0; + B2: N ← N+1; + B3: Nếu N > 100 thì chuyển đến B5; + B4: S ← S+1/(a+N) rồi quay lại B2; +B5: Đưa ra S rồi kết thúc => Dạng lặp tiến - Thuật toán Tong_1b + B1: S ← 1/a, N ← 101; + B2: N ← N - 1; + B3: Nếu N < 1 thì chuyển đến B5; + B4: S ← S+1/(a+N) rồi quay lại B2; +B5: Đưa ra S rồi kết thúc => Dạng lặp lùi b) Cú pháp - Dạng tiến: for (biến đếm = giá trị đầu; biến đếm < = giá trị
  • 49. GV: Hãy cho ví dụ về câu lệnh for HS: Viết câu lệnh cuối; biến đếm ++) { câu lệnh; câu lệnh; …………….. câu lệnh; } - Dạng lùi: for (biến đếm = giá trị cuối; biến đếm > = giá trị đầu; biến đếm - -) { câu lệnh; câu lệnh; …………….. câu lệnh; } Trong đó: + Biến đếm là biến đơn, thường có kiểu nguyên (đôi khi là kiểu kí tự). + Giá trị đầu, giá trị cuối là các biểu thức cùng kiểu với biến đếm và giá trị đầu phải nhỏ hơn hoặc bằng giá trị cuối. Nếu giá trị đầu lớn hơn giá trị cuối thì vòng lặp không thực hiện. - Ví dụ: for (i = 1; i<=100; i++) hoặc for (i = 100; i>=1; i++) c) Hoạt động - Dạng lặp tiến: Các câu lệnh được thực hiện tuần tự với biến đếm lần lượt nhận các giá trị liên tiếp tăng từ giá trị đầu đến giá trị cuối. - Dạng lặp lùi: Các câu lệnh được thực hiện tuần tự với biến đếm lần lượt nhận các giá trị liên tiếp giảm từ giá trị cuối đến giá trị đầu. C. Hoạt động củng cố - Cú pháp và hoạt động của for tiến D. Hoạt động luyện tập, mở rộng - Tìm hiểu các ví dụ 1; 2; 3 và 4 trang 59 → 64 Ngày soạn: Tiết theo KHDH:14 §10. CẤU TRÚC LẶP (tiết 2) I. Mục tiêu bài học 1. Kiến thức - Hiểu được tác dụng của cấu trúc lặp với số lần lặp biết trước trong biểu diễn thuật toán; - Biết cú pháp và hiểu được tác dụng, hoạt động của các câu lệnh lặp với số lần biết trước for trong C++. 2. Kỹ năng -Viết đúng cú pháp các câu lệnh lặp với số lần biết trước for ở dạng tiến và dạng lùi.
  • 50. - Vận dụng được cấu trúc lặp for trong C++ trong viết chương trình để giải quyết một số bài toán đơn giản. 3. Thái độ - Học sinh hiểu bài và hứng thú với bài học. - Học sinh ngày càng say mê lập trình hơn. 4. Năng lực, phẩm chất - NL tư duy - NL tính toán - NL sử dụng ngôn ngữ - NL lập 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ở - 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: Viết cú pháp, nêu hoạt động của câu lệnh for dạng tiến và dạng lùi? 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 một số ví dụ sử dụng câu lệnh for– Phát triển NL sử dụng ngôn ngữ, NL tính toán, NL tư duy, NL lập trình GV: Chương trình tổng Tong_1a đã sử dụng câu lệnh for – do dạng lặp tiến hay lùi? HS: Dạng lặp tiến GV: Tổng S bắt đầu sẽ được khởi tạo một giá trị là bao nhiêu? HS: S=1/a GV: Việc khởi tạo tổng S phải được đặt trước vòng lặp. Biến đếm N nhận giá trị đầu và giá trị cuối là bao nhiêu? HS: Giá trị đầu là 1, giá trị cuối là 100 GV: Công thức để tính S tổng quát HS: S = S +1/(a+N) GV: Từ thuật toán và câu hỏi gợi ý, hãy viết chương trình HS: Xây dựng và hoàn thiện chương trình d) Ví dụ * Ví dụ 1: Bài toán 1:Viết chương trình tính tổng sau: 100 1 ... 2 1 1 1 1 + + + + + + + = a a a a S - Chương trình giải bài toán theo thuật toán Tong_1a #include<bits/stdc++.h> using namespace std; int a, n;
  • 51. GV: Để có chương trình thể hiện thuật toán Tong_1b ta sẽ sử dụng câu lệnh for adạng lùi. Khi đó cần sửa lại các dòng lệnh nào? Hãy viết các dòng lệnh đó. HS: Đổi dòng lệnh for (n=1; n<=100; n++) thành for (n=100; n>=100; n--) GV: Bài toán này cần nhập gì? HS: Không cần nhập dữ liệu vào GV: Để thực hiện in ra các số từ 10 đến 1, cần cho biến đếm n chạy như thế nào? HS: Biến đếm n chạy lùi từ 10 về 1. GV: Trong vòng lặp thực hiện công việc gì? HS: In ra n GV: Dựa trên các câu hỏi dàn ý, yêu cầu HS viết chương trình. HS: Xây dựng và hoàn thiện chương trình double s; int main () { cout<<“Nhap vao gia tri cua a”; cin>>a; s=1.0/a; for (n=1; n<=100; n++) s = s+1.0/(a+n); cout<< fixed<<setprecision(4)<< “tong s la”<<s; return 0; } - Chương trình giải bài toán theo thuật toán Tong_1b #include<bits/stdc++.h> using namespace std; int a, n; double s; int main () { cout<< “Nhap vao gia tri cua a”; cin>>a; s=1.0/a; for (n=100; n>=1; n--) s = s+1.0/(a+n); cout<< fixed<<setprecision(4)<< “tong s la”<<s; return 0; } * Ví dụ 2: Đưa ra màn hình các số tự nhiên từ 10 đến 1 #include<bits/stdc++.h> using namespace std; int main () { for (int n=10; n>=1; n--) cout<<n << “ ”; return 0; }
  • 52. GV: Khởi tạo n =20, i =0, sau đó kiểm tra điểu kiện, nếu thỏa mãn thì n giảm một đơn vị, i tăng 1 đơn vị. Vòng lặp kết thúc khi gặp cặp số n = 10; i = 10. GV: Xác định input và output của bài toán? HS: Input: m, n, output: t GV: Muốn kiểm tra các số nằm trong đoạn [m, n] chia hết cho 3 hoặc 5 thì biến đếm i cần chạy như thế nào? HS: i chạy từ m đến n GV: Trước vòng for biến t nhận giá trị khởi tạo là bao nhiêu? HS: t = 0; GV: Trong vòng for t được tính như thế nào? HS: t = t +i * Ví dụ 3: Đưa ra màn hình các cặp số tự nhiên khác nhau có tổng bằng 20 #include<bits/stdc++.h> using namespace std; int main () { for (int n=20, i = 0; n!=i; n--, i++) cout<< n << “ , ”<<i<<endl; return 0; } * Ví dụ 4: Chương trình sau thực hiện việc nhập từ bàn phím hai số nguyên dương m và n (m<n), tính và đưa ra màn hình tổng các số chia hết cho 3 hoặc 5 trong phạm vi từ m đến n. #include<bits/stdc++.h> using namespace std; int m, n, i, t; int main () { cout<< “m = ”; cin>>m; cout<< “n = ”; cin>>n; t = 0; for (i=m, i <= n; i++) if ((i % 3 = = 0) || (i % 5 = = 0)) t = t + i; cout<< “ Ket qua = ”<<t; return 0; } C. Hoạt động củng cố - Cú pháp và cách vận dụng câu lệnh for vào giải quyết các bài toán cụ thể D. Hoạt động luyện tập, mở rộng - Tìm hiểu mục 3. Lặp với số lần chưa biết trước và câu lệnh while
  • 53. ĐK Câu lệnh S Đ Ngày soạn: Tiết theo KHDH: 15 §10. CẤU TRÚC LẶP (tiết 3) I. Mục tiêu bài học 1. Kiến thức - Hiểu được vai trò của cấu trúc lặp trong biểu diễn thuật toán; - Hiểu được cấu trúc lặp với số lần không biết trước, kiểm tra điều kiện trước; - Hiểu được câu lệnh lặp while trong C++; - Bước đầu biết vận dụng đúng từng loại cấu trúc lặp vào tình huống cụ thể. 2. Kỹ năng - Viết đúng cú pháp các câu lệnh lặp với số lần không biết trước while. - Viết được một số chương trình của một số bài toán đơn giản có sử dụng câu lệnh lặp. 3. Thái độ - Học sinh hiểu bài và hứng thú với bài học. - Học sinh ngày càng say mê lập trình hơn. 4. Năng lực, phẩm chất - NL tư duy - NL tính toán - NL sử dụng ngôn ngữ - NL lập 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ở - 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: Viết chương trình tính tổng sau: S = 1 + 2+ 3 + ….+ n(với n nhập từ bàn phím) 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 lặp với số lần chưa biết trước và câu lệnh while– Phát triển NL sử dụng ngôn ngữ, NL tính toán, NL tư duy, NL lập trình GV: Giá trị N khi bắt đầu tham gia vòng lặp là bao nhiêu? HS: 1 GV: Vòng lặp kết thúc khi nào? HS: Khi 1/(a+N) <0.0001 GV: Sau mỗi lần lặp, N thay đổi như thế nào? HS: N tăng lên 1 đơn vị GV: Mỗi lần cộng vào tổng S một giá trị bằng bao nhiêu? 3. Lặp với số lần chưa biết trước và câu lệnh while + B1: S ← 1/a, N ← 0; + B2: Nếu 1/(a+N) <0.0001 thì chuyển đến B5; + B3: N ← N +1 + B4: S ← S+1/(a+N) rồi quay lại B2; +B5: Đưa ra S rồi kết thúc
  • 54. Điều kiện Câu lệnh S Đ Nhập M và N M = N? M >N? N←N-M M←M - N Đưa ra M rồi kết thúc Đ S S Đ HS: N a + 1 GV: Thuyết trình cú pháp và giải thích hoạt động của câu lệnh while GV: Dẫn dắt HS viết chương trình diễn tả thuật toán giải bài toán 2. 1) Hãy viết đoạn chương trình nhập a từ bàn phím. 2) Hãy viết đoạn chương trình khởi tạo giá trị cho các biến S và N. 3) Hãy sử dụng câu lệnh whileđể viết đoạn chương trình thể hiện cách tính tỏng S như đã mô tả trong thuật toán. 4) Hãy in câu lệnh ra màn hình giá trị của S. HS: Xây dựng và hoàn thiện chương trình c) Ví dụ - Ví dụ 1: Chương trình Tong_2 #include<bits/stdc++.h> using namespace std; int a, n; double s; int main () { cout<< “Nhap vao gia tri cua a”; cin>>a; s=1.0/a; n = 0; while (!(1/(a+n)<0.0001)) { n = n+1; s = s+1.0/(a+n); } cout<< fixed<<setprecision(4)<< “tong s la”<<s; return 0; } - Ví dụ 2: Tìm ước chung lớn nhất (UCLN) của hai số nguyên dương M và N
  • 55. GV: Thuyết trình thuật toán giải bài toán tìm UCLN theo phương pháp trừ liên tiếp. GV: Giải thích thuật toán cho HS dễ hiểu bằng cách lấy cho M và N giá trị cụ thể và lập bảng mô phỏng thuật toán. Ví dụ: M = 6, N = 9 Bước M N 1 6 9 2, 4 6 3 2, 3 3 3 2, 5 3 3 HS: Nắm bắt thuật toán GV: Yêu cầu HS lên bảng vẽ sơ đồ thuật toán giải bài toán tìm UCLN. HS: Lên bảng làm bài. GV: Dẫn dắt HS viết chương trình giải bài toán tìm UCLN. HS: Suy nghĩ, tham gia xây dựng bài. 1) Chương trình sẽ gồm các công việc chính nào? - Nhập M, N từ bàn phím; - Tìm UCLN; - In ra màn hình UCLN; 2) Hãy viết các lệnh nhập M và N? 3) Hãy sử dụng câu lệnh whileđể viết đoạn chương trình thể hiện các tính UCLN như đã môt tả trong thuật toán? 4) Hãy viết câu lệnh in ra màn hình giá trị của M. HS: Suy nghĩ, trả lời câu hỏi. #include<bits/stdc++.h> using namespace std; int m, n; int main () { cout<< “m = ”; cin>>m; cout<< “n = ”; cin>>n; while (m ! = n) if (m>n) m = m – n; else n = n – m; cout << “ UCLN = ”<<m; return 0; } C. Hoạt động củng cố - Cú pháp và hoạt động của câu lệnh while D. Hoạt động luyện tập, mở rộng - Làm các bài tập 1, 2, 3a/69 – SGK - Chuẩn bị bài tập và thực hành 2