Giáo án Tin học 11 với chủ đề "Ngôn ngữ lập trình Python" theo Công văn 5512 sử dụng phương pháp giảng dạy mới, nhằm giúp học sinh nắm vững cấu trúc cơ bản và cú pháp của Python - một ngôn ngữ lập trình phổ biến hiện nay. 1. **Mục tiêu**: Giúp học sinh hiểu rõ về ngôn ngữ lập trình Python, bao gồm cú pháp, kiểu dữ liệu, vòng lặp, điều kiện, hàm và lớp. Học sinh cũng sẽ được học cách viết và debug chương trình Python. 2. **Nội dung**: Bài giảng sẽ bao gồm các chủ đề như biến và kiểu dữ liệu trong Python, cấu trúc điều khiển (như vòng lặp và câu lệnh if), hàm, và lập trình hướng đối tượng với Python. 3. **Phương pháp giảng dạy**: Sử dụng phương pháp giảng dạy tương tác, kết hợp giữa lý thuyết và thực hành. Học sinh sẽ được khuyến khích tham gia vào quá trình học bằng cách giải quyết các bài tập lập trình. 4. **Đánh giá**: Học sinh sẽ được đánh giá thông qua các bài kiểm tra, dự án nhóm và bài tập về nhà. Giáo án này nhằm mục đích không chỉ truyền đạt kiến thức về Python, mà còn phát triển kỹ năng tư duy lập trình và giải quyết vấn đề của học sinh. Đây là một bước quan trọng trong việc chuẩn bị cho học sinh cho ngành Công nghệ thông tin trong tương lai.
Trang 1BÀI 1 CÁC KHÁI NIỆM VỀ LẬP TRÌNH VÀ NGÔN NGỮ LẬP TRÌNH
Môn học: Tin Học; Lớp: 11Thời gian thực hiện: 1 tiết
I MỤC TIÊU
1 Kiến thức
- Biết và phân biệt được có 3 lớp ngôn ngữ lập trình là ngôn ngữ máy, hợp ngữ và ngôn ngữbậc cao
- Biết vai trò của chương trình dịch
- Biết khái niệm biên dịch và thông dịch
- Biết một trong những nhiệm vụ quan trọng của chương trình dịch là phát hiện lỗi cú phápcủa chương trình nguồn
2 Năng lực
- Năng lực giải quyết vấn đề, sáng tạo
- Năng lực tự học, đọc hiểu
- Năng lực hợp tác nhóm: trao đổi thảo luận, trình bày kết quả
- Năng lực tính toán, Năng lực thực hành
3 Phẩm chất
- Phẩm chất: Giúp học sinh rèn luyện bản thân phát triển các phẩm chất tốt đẹp: yêu nước,
nhân ái, chăm chỉ, trung thực, trách nhiệm
II THIẾT BỊ DẠY HỌC VÀ HỌC LIỆU
1 Giáo viên
- Bài giảng, máy chiếu, máy chiếu vật thể
- Yêu cầu học sinh tập hợp kiến thức đã học ở lớp 10 Cụ thể là bài 4, bài 5 và bài 6 củaSGK lớp 10
- Chuẩn bị các bài toán đơn giản, ngôn ngữ lập trình cụ thể VD như ngôn ngữ lập trìnhPython
2 Học sinh
- Sách giáo khoa, vở ghi
- Kiến thức đã học ở lớp 10
Trang 2III TIẾN TRÌNH DẠY HỌC
A HOẠT ĐỘNG KHỞI ĐỘNG (MỞ ĐẦU)
a) Mục tiêu: Tạo tình huống khơi gợi tinh thần cho học sinh
b) Nội dung: Hs dựa vào hiểu biết để trả lời câu hỏi.
c) Sản phẩm: Từ yêu cầuHS vận dụng kiến thức để trả lời câu hỏi GV đưa ra.
d) Tổ chức thực hiện: GV giới thiệu và dẫn dắt vào bài:
Chiếu bài toán: Kết luận nghiệm của phương trình ax + b=0
+ Hãy xác định Input, Output của bài toán trên?
+ Hãy xác định các bước để giải bài toán trên?
- Hệ thống các bước này chúng ta gọi là thuật toán
+ Các bước giải bài toán trên máy tính?
+ Làm sao để máy tính có thể hiểu và thực hiện các thuật toán đã lựa chọn giải bài toán?
- Như vậy hoạt động để diễn đạt một thuật toán trên máy tính thông qua một ngôn ngữ lập trình được gọi là lập trình Và để máy tính hiểu và thực hiện được câu lệnh đó thì NNLTBC cần phải được chuyển đổi về NN của máy để máy tính hiểu và thực hiện được
B.HÌNH THÀNH KIẾN THỨC MỚI
Hoạt động 1: Tìm hiểu Khái niệm lập trình – các ngôn ngữ lập trình
a) Mục tiêu: Nắm được khái niệm lập trình – các ngôn ngữ lập trình
b) Nội dung: HS quan sát SGK để tìm hiểu nội dung kiến thức theo yêu cầu của GV.
c) Sản phẩm: HS hoàn thành tìm hiểu kiến thức
d) Tổ chức thực hiện:
Hoạt động của GV và HS Sản phẩm dự kiến
Trang 3* Bước 1: Chuyển giao nhiệm vụ:
+ Nghiên cứu SGK và nêu khái niệm lập trình
+ Kết quả của hoạt động lập trình là gi?
+ Có những loại ngôn ngữ lập trình nào?
? Phân biệt ngôn ngữ lập trình bậc cao với các
ngôn ngữ khác ở những nội dung nào?
? Tại sao người ta phải xây dựng ngôn ngữ lập
trình bậc cao?
? Kể tên một số ngôn ngữ lập trình bậc cao mà
em biêt?
* Bước 2: Thực hiện nhiệm vụ:
+ HS: Suy nghĩ, tham khảo sgk trả lời câu hỏi
+ GV: quan sát và trợ giúp các cặp
* Bước 3: Báo cáo, thảo luận:
+HS: Lắng nghe, ghi chú, một HS phát biểu lại
- Ít phụ thuộc vào các loại máy cụ thể +Vì:
NN gần gũi vời NN tự nhiên, dễ đọc, dễhiểu NNLTBC nói chung không phụ thuộccác loại máy
- Một số NNLTBC: Python, C/C++, Java,
…
Hoạt động 2: Tìm hiểu Chương trình dịch
a) Mục tiêu: Biết vai trò của chương trình dịch, hiểu được các giai đoạn của chương trình
dịch; Phâm biệt được chương trình thông dịch và chương trình biên dịch
b) Nội dung: HS quan sát SGK để tìm hiểu nội dung kiến thức theo yêu cầu của GV.
c) Sản phẩm: HS hoàn thành tìm hiểu kiến thức
d) Tổ chức thực hiện:
Hoạt động của GV và HS Sản phẩm dự kiến
* Bước 1: Chuyển giao nhiệm vụ:
? Theo các em chương trình được viết bằng ngôn
ngữ bậc cao và chương trình được viết bằng ngôn
ngữ máy khác nhau như thế nào?
? Khi chương trình được đưa vào máy tính thì máy
3 Chương trình dịch
- CTD là chương trình đặc biệt có chứcnăng chuyển đổi chương trình đượcviết bằng ngôn ngữ lập trình bậc caothành chương trình có thể thực hiện
Trang 4tính đã hiểu và thực hiện được chưa?
? Làm thế nào để chuyển một chương trình viết
bằng ngôn ngữ bậc cao sang ngôn ngữ máy?
? Nghiên cứu SGK cho biết khái niệm về chương
trình dịch
? Vì sao không lập trình trên ngôn ngữ máy để khỏi
mất công chuyển đổi khi lập trình với ngôn ngữ bậc
cao
? Theo các em đối với chương trình dịch: chương
trình nào là chương trình nguồn và chương trình
đích
? Cho nhận xét về tiến trình của hai ví dụ trên
? Vậy với mỗi cách dịch như vậy người ta gọi là gi?
? Hai cách dịch này có gì khác nhau
* Bước 2: Thực hiện nhiệm vụ:
+ HS: Suy nghĩ, tham khảo sgk trả lời câu hỏi
+ GV: quan sát và trợ giúp các cặp
* Bước 3: Báo cáo, thảo luận:
+HS: Lắng nghe, ghi chú, một HS phát biểu lại các
tính chất
+ Các nhóm nhận xét, bổ sung cho nhau
* Bước 4: Kết luận, nhận định: GV chính xác hóa
và gọi 1 học sinh nhắc lại kiến thức
được trên máy tính
- Chương trình viết bằng ngôn ngữmáy có thể nạp trực tiếp vào bộ nhớ vàthực hiện ngay
- Chương trình viết bằng ngôn ngữ lậptrình bậc cao phải được chuyển đổithành chương trình trên ngôn ngữ lậpmáy thì mới thực hiện được
- Ngôn ngữ bậc cao dễ viết, dễ hiểu
- Ngôn ngữ máy khó viết
- Chương trình nguồn là chương trìnhviết bằng ngôn ngữ lập trình bậc cao
- Chương trình đích là chương trìnhthực hiện chuyển đổi sang ngôn ngữmáy
- Tiến trình của thông dịch và biêndịch:
+Thông dịch:
B1: Kiểm tra tính đúng đắn của câulệnh tiếp theo trong chương trìnhnguồn; B2: Chuyển lệnh đó thành ngôn ngữ máy
B3: Thực hiện các câu lệnh vừa đượcchuyển đổi
+Biên dịch:
B1: Duyệt, phát hiện lỗi, kiểm tra tínhđúng đắn của các câu lệnh trongchương trình nguồn
B2: Dịch toàn bộ chương trình nguồnthành một chương trình đích có thểthực hiện trên máy và có thể lưu trữ để
Trang 5sử dụng lại khi cần thiết
C HOẠT ĐỘNG LUYỆN TẬP
a Mục tiêu: Củng cố, luyện tập kiến thức vừa học.
b Nội dung:HS đọc SGK làm các bài tập.
c Sản phẩm: Bài làm của học sinh, kĩ năng giải quyết nhiệm vụ học tập.
d Tổ chức thực hiện:
Câu 1 Lập trình là:
A Sử dụng giải thuật để giải các bài toán
B Dùng máy tính để giải các bài toán
C Sử dụng cấu trúc dữ liệu và các câu lệnh của ngôn ngữ lập trình cụ thể để giải các bàitoán trên máy tính
Câu 4: Chương trình viết bằng hợp ngữ có đặc điểm:
A Máy tính có thể hiểu được trực tiếp chương trình này
B Kiểu dữ liệu và cách tổ chức dữ liệu đa dạng, thuận tiện cho việc nhập mô tả thuật toán
C Diễn đạt gần với ngôn ngữ tự nhiên
D Tốc độ thực hiện nhanh hơn so với chương trình được viết bằng
D HOẠT ĐỘNG VẬN DỤNG
a Mục tiêu: Vận dụng các kiến thức vừa học quyết các vấn đề học tập và thực tiễn.
Trang 6b Nội dung: HS sử dụng SGK và vận dụng kiến thức để trả lời câu hỏi.
c Sản phẩm: HS vận dụng các kiến thức vào giải quyết các nhiệm vụ đặt ra.
2.Việc tìm tòi, phát minh thuật toán thuộc giai đoạn nào?
3 Hãy cho biết đặc điểm của ngôn ngữ lập trình bậc cao
* HƯỚNG DẪN VỀ NHÀ:
- Ôn lại bài học hôm nay
- Chuẩn bị trước cho tiết sau
* RÚT KINH NGHIỆM
Trang 7
BÀI 2 CÁC THÀNH PHẦN CỦA NGÔN NGỮ LẬP TRÌNH
Môn học: Tin Học; Lớp: 11Thời gian thực hiện: 1 tiết
I MỤC TIÊU
1 Kiến thức
- Biết được các thành phần của ngôn ngữ lập trình PYTHON
- Nắm được khái niệm hằng, biến, chú thích trong chương trình
2 Năng lực
- Năng lực giải quyết vấn đề, sáng tạo
- Năng lực tự học, đọc hiểu
- Năng lực hợp tác nhóm: trao đổi thảo luận, trình bày kết quả
- Năng lực tính toán, Năng lực thực hành
3 Phẩm chất
- Phẩm chất: Giúp học sinh rèn luyện bản thân phát triển các phẩm chất tốt đẹp: yêu nước,
nhân ái, chăm chỉ, trung thực, trách nhiệm
II THIẾT BỊ DẠY HỌC VÀ HỌC LIỆU
III TIẾN TRÌNH DẠY HỌC
A HOẠT ĐỘNG KHỞI ĐỘNG (MỞ ĐẦU)
a) Mục tiêu: Tạo tình huống khơi gợi tinh thần cho học sinh
b) Nội dung: Hs dựa vào hiểu biết để trả lời câu hỏi.
c) Sản phẩm: Từ yêu cầuHS vận dụng kiến thức để trả lời câu hỏi GV đưa ra.
d) Tổ chức thực hiện: GV giới thiệu và dẫn dắt vào bài:
B.HÌNH THÀNH KIẾN THỨC MỚI
Hoạt động 1: Tìm hiểu các thành phần cơ bản của ngôn ngữ lập trình
Trang 8a) Mục tiêu: Nắm được thành phần cơ bản của ngôn ngữ lập trình
b) Nội dung: HS quan sát SGK để tìm hiểu nội dung kiến thức theo yêu cầu của GV.
c) Sản phẩm: HS hoàn thành tìm hiểu kiến thức
d) Tổ chức thực hiện:
Hoạt động của GV và HS Sản phẩm dự kiến
* Bước 1: Chuyển giao nhiệm vụ:
* Bước 2: Thực hiện nhiệm vụ:
+ HS: Suy nghĩ, tham khảo sgk trả lời
Ngữ nghĩa: Các lỗi về ngữ nghĩa khôngđược chương trình dịch phát hiện
Hoạt động 2: Tìm hiểu khái niệm tên
a) Mục tiêu: Nắm được khái niệm tên
b) Nội dung: HS quan sát SGK để tìm hiểu nội dung kiến thức theo yêu cầu của GV.
c) Sản phẩm: HS hoàn thành tìm hiểu kiến thức
d) Tổ chức thực hiện:
Hoạt động của GV và HS Sản phẩm dự kiến
* Bước 1: Chuyển giao nhiệm vụ:
* Bước 2: Thực hiện nhiệm vụ:
+ HS: Suy nghĩ, tham khảo sgk trả lời
Có 3 loại tên:
+ Tên dành riêng (từ khóa)+ Tên chuẩn
+ Tên do người lập trình đặt
Trang 9a) Keyword của Python
- Được ngôn ngữ lập trình quy định dùng với ý nghĩa xác định, người lập trình không được sử dụngvới ý nghĩa khác
- Trong Python, ngoại trừ True, False và None đượcviết hoa ra thì các keyword khác đều được viết dướidạng chữ thường, đây là điều bắt buộc
Danh sách các từ khóa
b) Tên chuẩn trong Python
Được ngôn ngữ lập trình dùng với ý nghĩanào đó Người lập trình có thể khai báo và dùngchúng với ý nghĩa và mục đích khác
Ý nghĩa của các tên chuẩn được quy địnhtrong các thư viện của ngôn ngữ lập trình
c) Tên do người lập trình tự đặt
Được dùng với ý nghĩa riêng Không đượctrùng với tên dành riêng
Quy tắc đặt tên trong Python:
False class finally is return
None continue for lambda try
True def from nonlocal while
asser
break except in raise
Trang 10 Tên chỉ chứa các chữ cái, số và dấu gạchdưới ‘_’
Ví dụ: bien_1, tinh_tong_0_9, firstClass
Tên không được bắt đầu bằng số
Tên phải khác các keyword
Không được sử dụng các ký tự đặc biệtnhư !, @, #, $, %, trong tên
Tên có thể dài bao nhiêu tùy ý
Python phân biệt chữ hoa, chữ thường
Hoạt động 3: Tìm hiểu khái niệm hằng và biến
a) Mục tiêu: Nắm được khái niệm hằng và biến
b) Nội dung: HS quan sát SGK để tìm hiểu nội dung kiến thức theo yêu cầu của GV.
c) Sản phẩm: HS hoàn thành tìm hiểu kiến thức
d) Tổ chức thực hiện:
Hoạt động của GV và HS Sản phẩm dự kiến
* Bước 1: Chuyển giao nhiệm vụ:
* Bước 2: Thực hiện nhiệm vụ:
+ HS: Suy nghĩ, tham khảo sgk trả lời
Ví dụ: xác định hằng và biến trong bài toán sau:
- Giải phương trình ax + b = 0 với a, b bất kì
Trang 11- Tính chu vi, diện tích hình tròn biết bán kính
R cho trước (R>0)Hướng dẫn:
Giải phương trình ax + b = 0
- Biến: a, b, xTính chu vi (C), diện tích (S) hình tròn biết bánkính R cho trước
Khi thông dịch, Python sẽ bỏ qua nhữngchú thích này
Cách dùng chú thích:
Cách 1:
Sử dụng ký tự # để bắt đầu một chú thích.Chú thích bắt đầu sau dấu # cho đến khi bắt đầumột dòng mới
Cách 2:
Sử dụng 3 dấu nháy đơn ' ' ' hoặc nháykép " " " Những dấu nháy này thường được sửdụng cho các chuỗi nhiều dòng Nhưng chúngcũng có thể được sử dụng để viết chú thích trênnhiều dòng Chỉ cần không phải là docstring thì
nó sẽ không tạo ra thêm bất cứ code nào khác
Trang 12C HOẠT ĐỘNG LUYỆN TẬP
a Mục tiêu: Củng cố, luyện tập kiến thức vừa học.
b Nội dung:HS đọc SGK làm các bài tập.
c Sản phẩm: Bài làm của học sinh, kĩ năng giải quyết nhiệm vụ học tập.
d Tổ chức thực hiện: GV giao nhiệm vụ cho HS:
Bài 2: In ra các dòng thông báo giới thiệu về bản thân (ít nhất 10 dòng)
D HOẠT ĐỘNG VẬN DỤNG
a Mục tiêu: Vận dụng các kiến thức vừa học quyết các vấn đề học tập và thực tiễn.
b Nội dung: HS sử dụng SGK và vận dụng kiến thức để trả lời câu hỏi.
c Sản phẩm: HS vận dụng các kiến thức vào giải quyết các nhiệm vụ đặt ra.
Trang 13BÀI 3 CẤU TRÚC CHƯƠNG TRÌNH
Môn học: Tin Học; Lớp: 11Thời gian thực hiện: 1
I MỤC TIÊU
1 Về kiến thức:
- Cấu trúc chương trình của ngôn ngữ lập trình
- Viết được chương trình đơn giản bằng ngôn ngữ lập trình Python
2 Năng lực
- Năng lực giải quyết vấn đề, sáng tạo
- Năng lực tự học, đọc hiểu
- Năng lực hợp tác nhóm: trao đổi thảo luận, trình bày kết quả
- Năng lực tính toán, Năng lực thực hành
3 Phẩm chất
- Phẩm chất: Giúp học sinh rèn luyện bản thân phát triển các phẩm chất tốt đẹp: yêu nước,
nhân ái, chăm chỉ, trung thực, trách nhiệm
II THIẾT BỊ DẠY HỌC VÀ HỌC LIỆU
Giáo viên: Sách giáo khoa, máy tính điện tử.
Học sinh: đồ dùng học tập, SGK, vở ghi, máy tính
III TIẾN TRÌNH DẠY HỌC
A HOẠT ĐỘNG KHỞI ĐỘNG (MỞ ĐẦU)
a) Mục tiêu: Tạo tình huống khơi gợi tinh thần cho học sinh
b) Nội dung: Hs dựa vào hiểu biết để trả lời câu hỏi.
c) Sản phẩm: Từ yêu cầuHS vận dụng kiến thức để trả lời câu hỏi GV đưa ra.
d) Tổ chức thực hiện: GV giới thiệu và dẫn dắt vào bài: Chương I chúng ta đã tìm hiểu một
số khái niệm về lập trình, dựa trên sự hiểu biết đó chúng ta nghiên cứu tiếp một số chươngtrình đơn giản của ngôn ngữ lập trình Python
B.HÌNH THÀNH KIẾN THỨC MỚI
Hoạt động 1: Tìm hiểu cấu trúc chương trình
Trang 14a) Mục tiêu: Nắm được cách tạo biến
b) Nội dung: HS quan sát SGK để tìm hiểu nội dung kiến thức theo yêu cầu của GV.
c) Sản phẩm: HS hoàn thành tìm hiểu kiến thức
d) Tổ chức thực hiện:
Hoạt động của GV và HS Sản phẩm dự kiến
* Bước 1: Chuyển giao nhiệm
vụ:
-
* Bước 2: Thực hiện nhiệm vụ:
+ HS: Suy nghĩ, tham khảo sgk trả
lời câu hỏi
Phần 1: [<Khai báo>]
Phần 2: <Thân chương trình>
• Phần khai báo có thể có hoặc không tùy theotừng chương trình cụ thể, được đặt trong cặp dấu[ và ]
• Phần thân chương trình bắt buộc phải có đượcđặt trong cặp dấu < và >
Hoạt động 2: Tìm hiểu các thành phần của Python
a) Mục tiêu: Nắm được các thành phần của một chương trình
b) Nội dung: HS quan sát SGK để tìm hiểu nội dung kiến thức theo yêu cầu của GV.
c) Sản phẩm: HS hoàn thành tìm hiểu kiến thức
d) Tổ chức thực hiện:
Hoạt động của GV và HS Sản phẩm dự kiến
Trang 15* Bước 1: Chuyển giao nhiệm vụ:
* Bước 2: Thực hiện nhiệm vụ:
+ HS: Suy nghĩ, tham khảo sgk trả lời câu
hỏi
+ GV: quan sát và trợ giúp các cặp
* Bước 3: Báo cáo, thảo luận:
+HS: Lắng nghe, ghi chú, một HS phát biểu
a) Phần khai báo
- Khai báo thư viện
Cú pháp:
import <tên_thư_viện>
Phần này không bắt buộc phải có
Muốn sử dụng một hàm nào đó của thư viện, ta
ký tự thay thế(wildcard)
sys
re
cung cấp các công
cụ biểu thức chínhquy dùng cho việc
xử lý chuỗi ở mứccao
xử lý về toán
random
hỗ trợ việc tạo racác lựa chọn ngẫunhiên
urllib2 việc thu thập dữ liệu
Trang 16- Khai báo và triển khai các lớp
Cú pháp:
class <tên_lớp>:
b) Phần thân chương trình
Bao gồm dãy các lệnh
Hoạt động 3: Tìm hiểu chương trình đơn giản
a) Mục tiêu: Nắm được một số ví dụ về chương trình đơn
b) Nội dung: HS quan sát SGK để tìm hiểu nội dung kiến thức theo yêu cầu của GV.
c) Sản phẩm: HS hoàn thành tìm hiểu kiến thức
d) Tổ chức thực hiện:
Hoạt động của GV và HS Sản phẩm dự kiến
* Bước 1: Chuyển giao nhiệm vụ:
Cho ví dụ:
- Hãy nhận xét chương trình?
Bài 1: In ra dòng thông báo “Xin chào”
>>> print(“Xin chào”) Xin chào
Trang 17* Bước 2: Thực hiện nhiệm vụ:
+ HS: Suy nghĩ, tham khảo sgk trả lời
C HOẠT ĐỘNG LUYỆN TẬP
a Mục tiêu: Củng cố, luyện tập kiến thức vừa học.
b Nội dung:HS đọc SGK làm các bài tập.
c Sản phẩm: Bài làm của học sinh, kĩ năng giải quyết nhiệm vụ học tập.
a Mục tiêu: Vận dụng các kiến thức vừa học quyết các vấn đề học tập và thực tiễn.
b Nội dung: HS sử dụng SGK và vận dụng kiến thức để trả lời câu hỏi.
c Sản phẩm: HS vận dụng các kiến thức vào giải quyết các nhiệm vụ đặt ra.
d Tổ chức thực hiện:
Trang 18GV chia lớp thành nhiều nhóm và giao các nhiệm vụ: thảo luận trả lời các câu hỏi sau và ghichép lại câu trả lời vào vở bài tập:
Bài 3: Viết chương trình tính diện tích hình tròn khi biết bán kính r=15
Bài 4: Viết chươn trình tính cạnh huyền của tam giác vuông khi biết độ dài hai cạnh gócvuông cho trước với a=7, b=9
* HƯỚNG DẪN VỀ NHÀ:
- Ôn lại bài học hôm nay;
- Chuẩn bị trước cho tiết sau:
* RÚT KINH NGHIỆM
Trang 19
BÀI 4 + 5 MỘT SỐ KIỂU DỮ LIỆU CHUẨN + KHAI BÁO BIẾN
Môn học: Tin Học; Lớp: 11Thời gian thực hiện: 1
- Năng lực hợp tác nhóm: trao đổi thảo luận, trình bày kết quả
- Năng lực tính toán, Năng lực thực hành
3 Phẩm chất
- Phẩm chất: Giúp học sinh rèn luyện bản thân phát triển các phẩm chất tốt đẹp: yêu nước,
nhân ái, chăm chỉ, trung thực, trách nhiệm
II THIẾT BỊ DẠY HỌC VÀ HỌC LIỆU
Giáo viên: Sách giáo khoa, máy tính điện tử.
Học sinh: đồ dùng học tập, SGK, vở ghi, máy tính
III TIẾN TRÌNH DẠY HỌC
A HOẠT ĐỘNG KHỞI ĐỘNG (MỞ ĐẦU)
a) Mục tiêu: Tạo tình huống khơi gợi tinh thần cho học sinh
b) Nội dung: Hs dựa vào hiểu biết để trả lời câu hỏi.
c) Sản phẩm: Từ yêu cầu HS vận dụng kiến thức để trả lời câu hỏi GV đưa ra.
d) Tổ chức thực hiện: GV giới thiệu và dẫn dắt vào bài:
B.HÌNH THÀNH KIẾN THỨC MỚI
Hoạt động 1: Tìm hiểu hàm nhập dữ liệu vào từ bàn phím
a) Mục tiêu: Nắm được cách khai báo biến.
b) Nội dung: HS quan sát SGK để tìm hiểu nội dung kiến thức theo yêu cầu của GV.
c) Sản phẩm: HS hoàn thành tìm hiểu kiến thức
d) Tổ chức thực hiện:
Hoạt động của GV và HS Sản phẩm dự kiến
Trang 20* Bước 1: Chuyển giao nhiệm
vụ:
* Bước 2: Thực hiện nhiệm vụ:
+ HS: Suy nghĩ, tham khảo sgk
trả lời câu hỏi
sinh nhắc lại kiến thức
I Khai báo biến
1 Cú pháp:
<danh sách tên biến> = <danh sách giá trị của biến>
Danh sách tên biến: Gồm một hoặc nhiều tên biến, cách
nhau bởi dấu phẩy
Danh sách giá trị biến: Gồm một hoặc nhiều giá trị ngăn cách nhau bởi dấu phẩy
Ví dụ:
>>> tuoi = 17
>>> ten = “Hoang Thanh Tam”
>>> PI = 3.14
>>> tuoi, ten, PI = 17, “Hoang Thanh Tam”, 3.14
2 Kiểm tra kiểu dữ liệu của biến
Cú pháp:
type(<tên biến>)
Ví dụ:
type(tuoi)type(ten)type(PI)
=> trả về kiểu int, str, float
Hoạt động 2: Tìm hiểu một số kiểu dữ liệu chuẩn
a) Mục tiêu: Nắm được các kiểu dữ liệu chuẩn.
b) Nội dung: HS quan sát SGK để tìm hiểu nội dung kiến thức theo yêu cầu của GV.
c) Sản phẩm: HS hoàn thành tìm hiểu kiến thức
d) Tổ chức thực hiện:
Hoạt động của GV và HS Sản phẩm dự kiến
Trang 21* Bước 1: Chuyển giao nhiệm vụ:
* Bước 2: Thực hiện nhiệm vụ:
+ HS: Suy nghĩ, tham khảo sgk trả lời
II Một số kiểu dữ liệu cơ bản
Một số kiểu dữ liệu cơ bản như số nguyên (integers), số thực (floating-point), phân số (fraction), số phức (complex)
1 Số nguyên (int):
- Bao gồm các số nguyên dương, các số nguyên
âm và số 0 Trong Python 3.X kiểu dữ liệu số nguyên là vô tận
Số thực 10/3 là số vô hạn tuần hoàn
=> nếu muốn có kết quả chính xác cao hơn, ta
nên sử dụng Decimal (có độ chính xác cao hơn float nhưng khá rườm rà)
Ví dụ
# lấy toàn bộ nội dung của thư viện Decimal
>>> from decimal import *
# lấy tối đa 30 chữ số phần nguyên và phần thập phân Decimal
>>> getcontext().prec = 30
>>> Decimal(10) / Decimal(3) Decimal(‘3
33333333333333333333333333333’)
>>> Decimal(100) / Decimal(3) Decimal(’33.3333333333333333333333333333’)
>>> type(Decimal(5)) # các số Decimal thuộc lớp Decimal
<class 'decimal.Decimal'>
Trang 22Ví dụ
Nhập một số số phức sau:
1 1 + 3j
2 Gán biến c có giá trị 2+1j Xuất ra
phần thực và phần ảo của biến c
3 4 +j (sẽ có lỗi vì kiểu dữ liệu nhập
# viết như sau là sai
>>> 4 + j # phần ảo là 1, không được
phép bỏ số 1 như trong toán
#lấy toàn bộ nội dung của thư viện decimal
>>> from fractions import*
<tên_biến> = <Phần_thực> + <Phần_ảo>jXuất ra từng phần tử của 1 biến số phức
5 Kiểu logic Boolean
- Chỉ nhận một trong 2 giá trị là True hoặc
là False
>>> 3==3True
Trang 23C HOẠT ĐỘNG LUYỆN TẬP
a Mục tiêu: Củng cố, luyện tập kiến thức vừa học.
b Nội dung:HS đọc SGK làm các bài tập.
c Sản phẩm: Bài làm của học sinh, kĩ năng giải quyết nhiệm vụ học tập.
d Tổ chức thực hiện: Nhắc lại một số kiểu dữ liệu đơn giản trong ngôn ngữ lập trình
Pascal?
Bài tập
1 Kiểu dữ liệu số nguyên thuộc lớp nào?
2 Sự khác nhau giữa hai biến a và b dưới đây là gì?
Trang 24a Mục tiêu: Vận dụng các kiến thức vừa học quyết các vấn đề học tập và thực tiễn.
b Nội dung: HS sử dụng SGK và vận dụng kiến thức để trả lời câu hỏi.
c Sản phẩm: HS vận dụng các kiến thức vào giải quyết các nhiệm vụ đặt ra.
Trang 25BÀI 6 PHÉP TOÁN, BIỂU THỨC, CÂU LỆNH GÁN
Môn học: Tin Học; Lớp: 11Thời gian thực hiện: 1 tiết
I MỤC TIÊU
1 Về kiến thức:
- Biết được các phép toán cơ bản
- Hiểu biểu thức số học, logic, quan hệ
2 Năng lực
- Năng lực giải quyết vấn đề, sáng tạo
- Năng lực tự học, đọc hiểu
- Năng lực hợp tác nhóm: trao đổi thảo luận, trình bày kết quả
- Năng lực tính toán, Năng lực thực hành
3 Phẩm chất
- Phẩm chất: Giúp học sinh rèn luyện bản thân phát triển các phẩm chất tốt đẹp: yêu nước, nhân ái, chăm chỉ, trung thực, trách nhiệm
II THIẾT BỊ DẠY HỌC VÀ HỌC LIỆU
Giáo viên: Sách giáo khoa, máy tính điện tử
Học sinh: đồ dùng học tập, SGK, vở ghi, máy tính
III TIẾN TRÌNH DẠY HỌC
A HOẠT ĐỘNG KHỞI ĐỘNG (MỞ ĐẦU)
a) Mục tiêu: Tạo tình huống khơi gợi tinh thần cho học sinh
b) Nội dung: Hs dựa vào hiểu biết để trả lời câu hỏi
c) Sản phẩm: Từ yêu cầu HS vận dụng kiến thức để trả lời câu hỏi GV đưa ra
d) Tổ chức thực hiện: GV giới thiệu và dẫn dắt vào bài:
B HÌNH THÀNH KIẾN THỨC MỚI
Hoạt động 1: Tìm hiểu các phép toán cơ bản
a) Mục tiêu: Nắm được cách dùng các phép toán
b) Nội dung: HS quan sát SGK để tìm hiểu nội dung kiến thức theo yêu cầu của GV
c) Sản phẩm: HS hoàn thành tìm hiểu kiến thức
Trang 26d) Tổ chức thực hiện:
Hoạt động của GV và HS Sản phẩm dự kiến
* Bước 1: Chuyển giao
nhiệm vụ:
-
* Bước 2: Thực hiện nhiệm
vụ:
+ HS: Suy nghĩ, tham khảo sg
k trả lời câu hỏi
ọc sinh nhắc lại kiến thức
Ví dụ: Cho 2 biến a,b lần lượt
x=5
x=2x+=5
==>x=7
x=x+5
x=2x-=5
==>x=-3
x=x-5
Trang 27x=x*5
x=7x/=5
dư
x=7x%=5
Trang 28x=5y=5print(x is y)
=>kết quả làTrue
is not
Trả về false nếucác biến ở haibên toán tử cùngtrỏ tới một đốitượng (hoặccùng giá trị),nếu không làtrue
x=5y=5print(x is noty)
=>kết quả làFalse
4 Toán tử Logic
Toán
tử Ví dụ and
x=2016print(x%4==0 and x%100!=0)
=>True
print((x%4==0 and x%100!=0) or
Trang 29print("bye bye")
5 Độ ưu tiên toán tử
Thứ tự ưu tiên Toán tử
Công dụng
.trunc(x) Trả về một số nguyên là phần nguyên của số x floor(x) Trả về một số nguyên được làm tròn số từ số
x, kết quả luôn luôn nhỏ hơn hoặc bằng x
.ceil(x) Trả về một số nguyên được làm tròn số từ số
x, kết quả luôn luôn lớn hơn hoặc bằng x
.fabs(x) Trả về một số thực là trị tuyệt đối của số x
.sqrt(x) Trả về một số thực là căn bậc hai của số x
.gcd(x,y) Trả về một số nguyên là ước chung lớn nhất
của hai số x và y
Trang 30Hoạt động 2: Tìm hiểu các biểu thức
a) Mục tiêu: Nắm được các biểu thức số học, logic, quan hệ
b) Nội dung: HS quan sát SGK để tìm hiểu nội dung kiến thức theo yêu cầu của GV
c) Sản phẩm: HS hoàn thành tìm hiểu kiến thức
d) Tổ chức thực hiện:
Hoạt động của GV và HS Sản phẩm dự kiến
* Bước 1: Chuyển giao nhiệm vụ:
* Bước 2: Thực hiện nhiệm vụ:
+ HS: Suy nghĩ, tham khảo sgk trả lời câu hỏi
+ GV: quan sát và trợ giúp các cặp
* Bước 3: Báo cáo, thảo luận:
+ HS: Lắng nghe, ghi chú, một HS phát biểu lại
Toán hạng: có thể là một hằng số,biến số, …
Toán tử: xác định cách thức làm việcgiữa các toán hạng
1) Biểu thức số học
Ví dụ:
>>>x=2
>>>2*x + 1 +3/(x +2)5.75
2) Biểu thức quan hệ
3 > 1 là đúng
69 < 10 là sai
241 == 141 + 100 là đúng (5 * 0) != 0 là sai
Trang 31'a' > 'ABC' là đúng'aaa' < 'aaAcv' là sai'aaa' < 'aaaAcv' là đúng
3) Biểu thức logic
Ví dụ : Kiểm tra một số n có nằm trongkhoảng (a; b), đoạn [a; b], nửa khoảng (a;b], nửa khoảng [a; b) hay không? hoặc làkiểm tra xem một số k có bằng một trongnhững số như x, y hoặc z hay không
Làm như trên khá mệt
Với Python, ta có thể làm thế này
>>>a=5
>>>1 < a < 6 True
>>> b = -4
>>> b < -3 < -1 < 0 < a < 6 # thậm chí là dàinhư thế này
True
Với trường hợp nếu ta muốn kiểm traxem một số k có bằng x hoặc y hoặc là zhay không thì thường phải viết khá dài
>>> k = 4
Trang 32>>> k == 3 or k == 4 or k == 5 True
Tuy nhiên, ta cũng có thể làm như sau:
>>> k in (3, 4, 5) # nên dùng () hơn là []hoặc thứ gì khác
True
C HOẠT ĐỘNG LUYỆN TẬP
a Mục tiêu: Củng cố, luyện tập kiến thức vừa học
b Nội dung: HS đọc SGK làm các bài tập
c Sản phẩm: Bài làm của học sinh, kĩ năng giải quyết nhiệm vụ học tập
d Tổ chức thực hiện:
D HOẠT ĐỘNG VẬN DỤNG
a Mục tiêu: Vận dụng các kiến thức vừa học quyết các vấn đề học tập và thực tiễn
b Nội dung: HS sử dụng SGK và vận dụng kiến thức để trả lời câu hỏi
c Sản phẩm: HS vận dụng các kiến thức vào giải quyết các nhiệm vụ đặt ra
d Tổ chức thực hiện:
GV chia lớp thành nhiều nhóm và giao các nhiệm vụ: thảo luận trả lời các câu hỏi và bài tập vận dụng
Câu hỏi 1 : Chuyển các biểu thức toán học sang Python
Câu hỏi 2 : Thực hiện các phép toán với các biến a=17, b=5
* HƯỚNG DẪN VỀ NHÀ:
- Ôn lại bài học hôm nay;
- Chuẩn bị trước cho tiết sau
* RÚT KINH NGHIỆM
Trang 33
BÀI TẬP
Môn học: Tin Học; Lớp: 11Thời gian thực hiện: 1 tiết
- Năng lực hợp tác nhóm: trao đổi thảo luận, trình bày kết quả
- Năng lực tính toán, Năng lực thực hành
3 Phẩm chất
- Phẩm chất: Giúp học sinh rèn luyện bản thân phát triển các phẩm chất tốt đẹp: yêu nước, nhân ái, chăm chỉ, trung thực, trách nhiệm
II THIẾT BỊ DẠY HỌC VÀ HỌC LIỆU
Giáo viên: Sách giáo khoa, máy tính điện tử
Học sinh: đồ dùng học tập, SGK, vở ghi, máy tính
III TIẾN TRÌNH DẠY HỌC
A HOẠT ĐỘNG KHỞI ĐỘNG (MỞ ĐẦU)
a) Mục tiêu: Tạo tình huống khơi gợi tinh thần cho học sinh
b) Nội dung: Hs dựa vào hiểu biết để trả lời câu hỏi
c) Sản phẩm: Từ yêu cầu HS vận dụng kiến thức để trả lời câu hỏi GV đưa ra
d) Tổ chức thực hiện: GV giới thiệu và dẫn dắt vào bài: Để vận dụng các lý thuyết đã học
ở chương I và II Chúng ta cùng thực hành một số bài tập sau
Trang 34c) Sản phẩm: HS hoàn thành tìm hiểu kiến thức
d) Tổ chức thực hiện:
Hoạt động của GV và HS Sản phẩm dự kiến
* Bước 1: Chuyển giao nhiệm vụ:
-
Chia lớp làm bốn nhóm, yêu cầu các nhóm
làm bài tập theo nhóm
- Thảo luận nhóm: Chia lớp làm bốn nhóm,
yêu cầu cầu các nhóm viết chương trình
- Yêu cầu đại diện nhóm lên máy soạn thảo,
dịch và chạy thử rồi thông báo kết quả
* Bước 2: Thực hiện nhiệm vụ:
+ HS: Suy nghĩ, tham khảo sgk trả lời câu
hỏi
+ GV: quan sát và trợ giúp các cặp
* Bước 3: Báo cáo, thảo luận:
+ HS: Lắng nghe, ghi chú, một HS phát biểu
lại các tính chất
+ Các nhóm nhận xét, bổ sung cho nhau
* Bước 4: Kết luận, nhận định: GV chính
xác hóa và gọi 1 học sinh nhắc lại kiến thức
Câu 1 : Sự khác nhau giữa hằng có đặt tên và bi
ến là: xét về mặt lưu trữ của hằng và biến trong Ram thì giá trị trong ô nhớ của hằng có đặt tên l
à không thay đổi, còn giá trị trong ô nhớ của biế
n thì có thể thay đổi được tại từng thời điểm thự
c hiện chương trình
Câu 2 : khai báo biến nhằm các mục đích sau:
- Xác định kiểu của biến
- Đưa tên biến vào danh sách các đối tượng được chương trình quản lí
- Trình dịch biết cách truy cập giá trị của biến v
à áp dụng thao tác thích hợp cho biến
Câu 3 : Đặt tên 3 biến đúng trong Python Câu 4 : Hãy viết biểu thức toán học dưới đây
trong Python :a) (1+z)(x+y:z):(a-1:(1+3) ) b) (2x+1)(x3+3)
c) (x2+1):(x-1)ĐÁP ÁN:
a) (1+z)*((x+y/z)/(a-1/(1+x*x*x))) b)
c)
Câu 5: hãy chuyển các biểu thức trong Python
dưới đây sang 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/(a*a+b) **0.5
Trang 35ĐÁP ÁN:
a)b)c)d)
Câu 6: Viết biểu thức logic sau trong Python:
1≤x≤7ĐÁP ÁN:
(x<=7) and (x>=1) Hoặc:
1<=x<=7
C HOẠT ĐỘNG LUYỆN TẬP
a Mục tiêu: Củng cố, luyện tập kiến thức vừa học
b Nội dung: HS đọc SGK làm các bài tập
c Sản phẩm: Bài làm của học sinh, kĩ năng giải quyết nhiệm vụ học tập
d Tổ chức thực hiện: Nêu Các bước để hoàn thành một chương trình?
D HOẠT ĐỘNG VẬN DỤNG
a Mục tiêu: Vận dụng các kiến thức vừa học quyết các vấn đề học tập và thực tiễn
b Nội dung: HS sử dụng SGK và vận dụng kiến thức để trả lời câu hỏi
c Sản phẩm: HS vận dụng các kiến thức vào giải quyết các nhiệm vụ đặt ra
Trang 36- Xem trước bài 9 chương 3
* RÚT KINH NGHIỆM
Trang 37
BÀI 7 + 8 VÀO RA ĐƠN GIẢN TRONG PYTHON HIỆU CHỈNH, DỊCH, THỰC HIỆN CHƯƠNG TRÌNH
Môn học: Tin Học; Lớp: 11Thời gian thực hiện: 2
- Năng lực hợp tác nhóm: trao đổi thảo luận, trình bày kết quả
- Năng lực tính toán, Năng lực thực hành
3 Phẩm chất
- Phẩm chất: Giúp học sinh rèn luyện bản thân phát triển các phẩm chất tốt đẹp: yêu nước,
nhân ái, chăm chỉ, trung thực, trách nhiệm
II THIẾT BỊ DẠY HỌC VÀ HỌC LIỆU
Giáo viên: Sách giáo khoa, máy tính điện tử.
Học sinh: đồ dùng học tập, SGK, vở ghi, máy tính
III TIẾN TRÌNH DẠY HỌC
A HOẠT ĐỘNG KHỞI ĐỘNG (MỞ ĐẦU)
a) Mục tiêu: Tạo tình huống khơi gợi tinh thần cho học sinh
b) Nội dung: Hs dựa vào hiểu biết để trả lời câu hỏi.
c) Sản phẩm: Từ yêu cầu HS vận dụng kiến thức để trả lời câu hỏi GV đưa ra.
d) Tổ chức thực hiện: GV giới thiệu và dẫn dắt vào bài:
Trang 38c) Sản phẩm: HS hoàn thành tìm hiểu kiến thức
d) Tổ chức thực hiện:
Hoạt động của GV và HS Sản phẩm dự kiến
* Bước 1: Chuyển giao nhiệm
vụ:
* Bước 2: Thực hiện nhiệm vụ:
+ HS: Suy nghĩ, tham khảo sgk
trả lời câu hỏi
• Parameter prompt là một parameter tùy chọn.
Ta có thể nhập hoặc không vì nó đã có giá trị mặcđịnh là None
Công dụng
• Cho phép nhập một chuỗi vào từ bàn phím Chú ý:
• Hàm nhập cho phép đọc một chuỗi, nên dù ta
có nhập số, list, tuple, set, dictionary,… thì nó vẫn trả
về kết quả là một CHUỖI
• Kết thúc nhập bằng cách nhấn phím enter
Ví dụ 1: Nhập vào một câu từ bàn phím Cách 1:
>>>a = input()
• trong trường hợp này không có lời chỉ dẫn vì
không có Parameter prompt Cách 2:
>>>a = input(‘hãy nhập giá trị cho biến a= ‘)
• trong trường hợp này có Parameter prompt (prompt = ‘hãy nhập giá trị cho biến a=‘)
Chú ý: Hàm input() luôn luôn trả về giá trị là một chuỗi
Ví dụ 2: Nhập vào một số nguyên a, số thực b từ bànphím rồi tính tổng 2 số đó
Trang 39II XUẤT DỮ LIỆU RA MÀN HÌNH
Cú pháp:
print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)
Trong đó:
• *objects: là đối tượng (dữ liệu) cần in ra màn
hình Dấu * có ý nghĩa là số nhiều và chúng ta cũng
có thể chỉ định nhiều đối tượng khác nhau và in chúngcùng lúc ra màn hình
• sep: đối tượng chỉ định sẽ được phân tách
thành các phần nhỏ bằng ký tự phân tách sep trước
khi được in, và mặc định giá trị này là một khoảng trắng
• end giá trị cuối cùng được in ra màn hình, và mặc định giá trị này là ký tự xuống dòng \n Đối số
này sẽ quyết định việc in xuống dòng hay in không xuống dòng trong Python.
• file=sys.stdout: chỉ định lưu kết quả đầu ra vào
Trang 40bộ nhớ đệm sys.stdout
• flush=False: chỉ định cưỡng chế lưu giữ kết
quả vào bộ nhớ đệm, và giá trị mặc định là false, cónghĩa là KHÔNG lưu giữ kết quả vào bộ nhớ
• Tuy nhiên trong thực tế khi sử dụng hàmprint() trong Python, chúng ta lược bỏ hầu hết các đối
số và sử dụng cú pháp đơn giản nhất sau đây:
print(*object) Lưu ý: Nếu thay đổi mặc định
1 Các đối số sep, end, file, flush đều là các đối số keyword, do đó nếu sử dụng chúng trong hàm print()
thì phải viết cả keyword của nó
2 Khi chỉ định đối số end bằng một ký tự, thì ký tự
này sẽ thay thế cho việc xuống dòng và nối các đốitượng in ra màn hình lại Khi đó, chúng ta có thể thực
hiện in không xuống dòng trong python.
3 Chúng ta có thể in nhiều đối tượng cùng lúc ra mànhình trong python bằng cách chỉ định các đối tượng
cách nhau bởi dấu phẩy
4 Thay đổi ký tự nối bằng cách chỉ định ký tự nối đó
trong đối số sep III Chú thích trong Python