Tải bản đầy đủ (.pdf) (11 trang)

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 NNLT python

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (428.65 KB, 11 trang )

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à 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
hồn tồ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ế
Trong cuộc sống chúng ta bắt gặp rất nhiều các dạng bài tốn điều kiện được
chuyển thể dưới hình thức các Poster quảng cáo.


VICTORYSCHOOL

NĂM HỌC: 2022 - 2023

Ví dụ:

Phát biểu bài tốn: Nếu mua hàng với hóa đơn trên 500.000 đồng thì sẽ được giảm 30%.
CÔNG VIỆC

PHIẾU HỌC TẬP
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.


VICTORYSCHOOL

NĂM HỌC: 2022 - 2023

Trong 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 tố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:

Dạng thiếu

Dạng đủ

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 tốn lơgic. Trong Python có các phép tố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:


VICTORYSCHOOL

NĂM HỌC: 2022 - 2023

- 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:


VICTORYSCHOOL

NĂM HỌC: 2022 - 2023

- 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:


VICTORYSCHOOL

NĂM HỌC: 2022 - 2023

- 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


VICTORYSCHOOL


NĂM HỌC: 2022 - 2023

5. 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


VICTORYSCHOOL

NĂM HỌC: 2022 - 2023

III. 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”



VICTORYSCHOOL

NĂM HỌC: 2022 - 2023

IV. 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.


VICTORYSCHOOL

NĂM HỌC: 2022 - 2023

PHIẾ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
.............................................................................................................................................
.............................................................................................................................................


VICTORYSCHOOL


NĂM HỌC: 2022 - 2023

.............................................................................................................................................
.............................................................................................................................................
.............................................................................................................................................
.............................................................................................................................................
.............................................................................................................................................
.............................................................................................................................................
.............................................................................................................................................
.............................................................................................................................................
.............................................................................................................................................
.............................................................................................................................................
.............................................................................................................................................
.............................................................................................................................................
.............................................................................................................................................
.............................................................................................................................................
.............................................................................................................................................
.............................................................................................................................................
.............................................................................................................................................
.............................................................................................................................................
.............................................................................................................................................
.............................................................................................................................................



×