VICTORYSCHOOL NĂM HỌC 2022 2023 BÁO CÁO CHUYÊN ĐỀ “Ứng dụng bài toán điều kiện thực tế vào giảng dạy cấu trúc điều kiện trong ngôn ngữ lập trình python ” I Đặt vấn đề 1 Giới thiệu về Python Python là.
Trang 1BÁO CÁO CHUYÊN ĐỀ
“Ứng dụng bài toán điều kiện thực tế vào giảng dạy cấu trúc điều kiện
trong ngôn ngữ lập trình python.”
I Đặt vấn đề
1 Giới thiệu về Python
Python là ngôn ngữ lập trình hướng đối tượng, cấp cao, mạnh mẽ, được tạo ra bởi Guido van Rossum Nó dễ dàng để tìm hiểu và đang nổi lên như một trong những ngôn ngữ lập trình nhập môn tốt nhất cho người lần đầu tiếp xúc với ngôn ngữ lập trình Python hoàn toàn tạo kiểu động và sử dụng cơ chế cấp phát bộ nhớ tự động Python có cấu trúc
dữ liệu cấp cao mạnh mẽ và cách tiếp cận đơn giản nhưng hiệu quả đối với lập trình hướng đối tượng Cú pháp lệnh của Python là điểm cộng vô cùng lớn vì sự rõ ràng, dễ hiểu và cách gõ linh động làm cho nó nhanh chóng trở thành một ngôn ngữ lý tưởng để viết script
và phát triển ứng dụng trong nhiều lĩnh vực, ở hầu hết các nền tảng
Các tính năng của Python:
• Dễ học: Python có ít từ khóa, cấu trúc đơn giản và cú pháp được định nghĩa rõ ràng Điều này cho phép người mới học tiếp cận ngôn ngữ một cách nhanh chóng
• Dễ đọc: Mã Python được định nghĩa rõ ràng hơn và có thể nhìn thấy bằng mắt
• Dễ bảo trì: Mã nguồn của Python khá dễ bảo trì
• Một thư viện tiêu chuẩn rộng: Phần lớn thư viện của Python rất dễ đính kèm và đa nền tảng tương thích trên UNIX, Windows và Macintosh
• Chế độ tương tác: Python có hỗ trợ cho chế độ tương tác cho phép kiểm tra tương tác và debug
• Portable: Python có thể chạy trên nhiều nền tảng phần cứng khác nhau và có cùng giao diện trên tất cả các nền tảng
• Có thể mở rộng: có thể thêm các module cấp thấp vào trình thông dịch Python Các module này cho phép các lập trình viên thêm hoặc tùy chỉnh các công cụ của mình
để hiệu quả hơn
• Cơ sở dữ liệu: Python cung cấp phương thức giao tiếp cho tất cả các cơ sở dữ liệu
• Lập trình GUI: Python hỗ trợ các ứng dụng GUI có thể được tạo và chuyển sang nhiều cuộc gọi hệ thống, thư viện và hệ thống cửa sổ, như Windows MFC, Macintosh và hệ thống X Window của Unix
• Khả năng mở rộng: Python cung cấp cấu trúc và hỗ trợ tốt hơn cho các chương trình lớn hơn so với kịch bản lệnh shell
2 Bài toán điều kiện thực tế
Trang 2Ví dụ:
Phát biểu bài toán: Nếu mua hàng với hóa đơn trên 500.000 đồng thì sẽ được giảm 30%
PHIẾU HỌC TẬP CÔNG VIỆC MÔ TẢ BẰNG NGÔN
NGỮ THỰC TẾ
MÔ TẢ BẰNG NGÔN NGỮ LẬP TRÌNH
Nhập dữ liệu đầu vào Số tiền hàng khách đã thực
hiện mua tại cửa hàng
Nhập t
Xử lý So sánh số tiền hàng mà
khách đã mua với sô tiền quy định hưởng ưu đãi
Nếu t > 500000, t
t*70%
Kết quả Thực hiện giảm giá nếu số
tiền hơn 500 ngàn đồng và xuất hóa đơn cho khách
Hiển thị t ra màn hình, kết thúc thuật toán
3 Cấu trúc rẽ nhánh
Cấu trúc rẽ nhánh là cấu trúc dùng để diễn đạt một hoạt động sẽ được thực hiện khi một điều kiện cụ thể được thỏa mãn
Có 2 dạng cấu trúc rẽ nhánh:
• Dạng thiếu: Nếu thì
Ví dụ: Nếu trời nắng thì chúng ta sẽ đi cắm trại
• Dạng đủ: Nếu thì , nếu không thì hoặc Nếu thì ngược lại thì
Ví dụ: Nếu trời nắng thì chúng ta sẽ đi cắm trại, nếu không thì chúng ta sẽ ở nhà đọc sách
Trang 3Trong lập trình, cấu trúc rẽ nhánh cho phép thay đổi thứ tự thực hiện tuần tự các bước trong thuật toán và giúp cho việc lập trình được linh hoạt hơn
Ví dụ: Thuật toán giải phương trình bậc nhất ax+b=0
- Bước 1: Nhập hai số thực a, b
- Bước 2: Nếu a = 0 và b ≠ 0 thì thông báo phương trình vô nghiệm, rồi kết thúc;
- Bước 3: Nếu a = 0 và b = 0 thì thông báo phương trình có vô số nghiệm, rồi kết thúc;
- Bước 4: Nếu a ≠ 0 thì thông báo phương trình có nghiệm x = -b/a, rồi kết thúc;
Sơ đồ cấu trúc rẽ nhánh:
II Nội dung
1 Biểu thức điều kiện
- Biểu thức điều kiện có thể là biểu thức lôgic hoặc biểu thức quan hệ Kết quả của biểu thức điều kiện là giá trị lôgic: true (đúng) hoặc false (sai)
- 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ệ Trong Python có các phép toán quan hệ sau: ==, !=, <, >, <=, >=
- Biểu thức lôgic là các biến lôgic, hằng lôgic hay các biểu thức quan hệ liên kết với nhau
bởi phép toán lôgic Trong Python có các phép toán lôgic sau: and, or, not
Ví dụ:
- Biểu thức điều kiện kiểm tra số a là số chẵn: a%2==0
- Biểu thức điều kiện cho trường hợp phương trình bậc nhất vô nghiệm: a==0 and b!=0
2 Cấu trúc lệnh if
- Cú pháp:
Trang 4- Sơ đồ:
- Hoạt động: chương trình sẽ đánh giá điều kiện và sẽ thực hiện các lệnh khi điều kiện là True Nếu điều kiện False thì lệnh sẽ không được thực hiện
- Ví dụ: in thông báo nếu a là số dương
- Lưu ý: trong Python, khối lệnh của lệnh if được viết thụt lề vào trong Khối lệnh của if bắt đầu với một khoảng thụt lề và dòng không thụt lề đầu tiên sẽ được hiểu là kết thúc lệnh if
Ví dụ:
3 Cấu trúc lệnh if else
- Cú pháp:
Trang 5- Sơ đồ:
- Hoạt động: kiểm tra điều kiện và thực thi khối lệnh if nếu điều kiện đúng Nếu điều kiện sai, khối lệnh của else sẽ được thực hiện Thụt đầu dòng được sử dụng để tách các khối lệnh
- Ví dụ: in thông báo a là số dương hay số âm
4 Cấu trúc lệnh if elif else
- Cú pháp:
Trang 6- Sơ đồ:
- Hoạt động: các biểu thức điều kiện sẽ được phán đoán từ trên xuống dưới Nếu biểu thức điều kiện là True (đúng), các lệnh trong khối tương ứng sẽ được thực thi, các biểu thức điều kiện tiếp theo sẽ không được kiểm tra nữa, và toàn bộ mã lệnh được kết thúc Nếu biểu thức điều kiện là False (sai) thì tiến hành kiểm tra kết quả của biểu thức điều kiện tiếp theo, và lặp lại quá trình cho tới cuối cùng Và nếu như tất cả các biểu thức điều kiện được chỉ định đều cho kết quả False (sai), các lệnh mặc định trong khối else sẽ được thực hiện
Chúng ta cũng có thể lược bỏ đi cả khối else, khi đó chương trình sẽ không có lệnh xử
lý mặc định, và trong trường hợp toàn bộ các biểu thức điều kiện được chỉ định đều False (sai), sẽ không có câu lệnh nào được thực thi hay kết quả nào được trả về
- Ví dụ: in thông báo a là số dương, số âm hay số 0
Trang 75 Cấu trúc lệnh if lồng nhau
Chúng ta có thể viết lệnh if elif else trong một khối lệnh if elif else khác, và tạo thành lệnh if lồng nhau Không giới hạn số lệnh được lồng vào lệnh khác Thụt đầu dòng là cách duy nhất để nhận diện mức độ lồng, do đó nó có thể gây rối, nhầm lẫn
Ví dụ: in thông báo a là số dương, số âm hay số 0
Trang 8III Bài tập vận dụng
Bài 1 Viết chương trình giải phương trình ax + b = 0
Bài 2 Viết chương trình giải phương trình ax2 + bx + c = 0
Bài 3 Viết chương trình nhập vào 3 số nguyên a, b, c Kiểm tra xem 3 số đó có là 3
cạnh của 1 tam giác hay không?
Bài 4 Viết chương trình nhập số thực a tương ứng với điểm trung bình học tập của một
học sinh Tìm và in ra màn hình xếp loại học lực của học sinh đó Biết rằng:
- Nếu ĐTB >= 8 thì xếp loại “Giỏi”
- Nếu 6.5 <= ĐTB <= 7.9 thì xếp loại “Khá”
- Nếu 5.0 <= ĐTB <= 6.4 thì xếp loại “Trung Bình”
- Nếu 3.4 <= ĐTB <= 4.9 thì xếp loại “Yếu”
- Nếu ĐTB <= 3.3 thì xếp loại “Kém”
Trang 9IV Kết luận
Cấu trúc rẽ nhánh là một phần không thể thiếu trong các ngôn ngữ lập trình Trong Python, có câu lệnh rẽ nhánh có 3 dạng Điều này giúp cho việc viết câu lệnh được linh hoạt hơn Tuy nhiên, cần phải sử dụng hợp lí từng dạng câu lệnh cho từng trường hợp cụ thể để có được hiệu quả cao trong việc lập trình
Khi sử dụng câu lệnh rẽ nhánh trong Python cần chú ý đến một số lỗi thường gặp liên quan đến biểu thức điều kiện và việc thụt lề của các khối lệnh
Với học sinh trung học sinh trung học phổ thông, cụ thể là ở học sinh lớp 10, nội dung bài Cấu trúc rẽ nhánh chỉ yêu cầu các em biết cách sử dụng câu lệnh rẽ nhánh để giải quyết các bài tập đơn giản nên giáo viên cần giới thiệu cho các em 2 dạng câu lệnh rẽ nhánh là if và if else Với câu lệnh if elif else có thể cho các em tìm hiểu thêm
Trang 10PHIẾU HỌC TẬP
1 Viết cấu trúc câu lệnh if Cho ví dụ
2 Viết cấu trúc câu lệnh if else Cho ví dụ
3 Viết cấu trúc câu lệnh if elif else Cho ví dụ
4 Viết chương trình giải phương trình bậc nhất ax+b=0
5 Viết chương trình giải phương trình bậc hai ax2+bx+c=0
Trang 11