Tải bản đầy đủ (.docx) (56 trang)

Python 11 (Tài liệu theo sách giáo khoa Tin 11)

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 (1.3 MB, 56 trang )

(Tài liệu sử dụng nội bộ)
LÀM QUEN PYTHON
1. Giới thiệu về Python
Python là một ngơn ngữ lập trình bậc cao cho các mục đích lập trình đa năng, do Guido van
Rossum tạo ra và lần đầu ra mắt vào năm 1991. Một số lợi ích khi học lập trình Python:
- Đơn giản và dễ dàng tìm hiểu. Python là ngơn ngữ cực kỳ đơn giản và dễ đọc, dễ học, dễ nhớ,
nhưng vẫn rất mạnh mẽ. Các ưu điểm như miễn phí & mã nguồn mở, high-level, thơng dịch, cộng đồng
lớn, … thuận tiện cho người mới học lập trình.
- Chạy trên nhiều nền tảng và dễ mở rộng. Python được hỗ trợ bởi hầu hết các nền tảng hiện nay.
Tính năng mở rộng của Python cho phép tích hợp Java cũng như các thành phần của .NET. Bạn cũng có
thể gọi thư viện C và C ++ để sử dụng.
- Phát triển Web. Python có một loạt các framework cho việc phát triển các trang web. Các
framework phổ biến là Django, Flask, Pylons, ... Vì những framework được viết bằng Python, code sẽ
chạy nhanh hơn rất nhiều và ổn định.
- Trí tuệ nhân tạo. AI là một chủ đề nóng của ngành CNTT. Từ đây chúng ta có thể cho một cỗ
máy bắt chước bộ não con người, nó có khả năng suy nghĩ, phân tích và đưa ra quyết định. Có nhiều thư
viện hỗ trợ rất tốt như: sklearn cho các thuật toán Machine Learning cơ bản, tensorflow, pytorch, keras,
theano … cho các thuật toán Deep Learning.
- Đồ họa máy tính. Python được sử dụng rất nhiều trong các dự án. Nó được sử dụng để xây dựng
GUI và các ứng dụng desktop. Nó sử dụng thư viện Tkinter để nhanh chóng và dễ dàng tạo các ứng dụng.
- Big Data. Các thư viện hỗ trợ như Pydoop, Dask và Pyspark cho xử lý Big Data.
- Khoa học dữ liệu. Data Science là lý do lớn nhất để Python đứng đầu với các thư viện hỗ trợ như
Pandas, NumPy, Matplotlib.
2. Giới thiệu Visual Studio Code (VS Code)
- Visual Studio Code là một trình soạn thảo mã
nguồn mở, gọn nhẹ nhưng có khả năng vận hành
mạnh mẽ trên đa nền tảng (Windows, Linux và
macOS) được phát triển bởi Microsoft.
- Dễ dàng trong việc chỉnh sửa, xây dựng và gỡ
lỗi. VS Code là sự kết hợp giữa sự đơn giản của
trình chỉnh sửa với sự mạnh mẽ của các cơng cụ


phát triển như Debug, Git Control, Syntax
Higlight và nhiều hơn nữa.
- Tốc độ là một trong những ưu thế vượt trội. VS
Code cung cấp một hệ sinh thái mở rộng vô cùng
phong phú, hỗ trợ vô số ngôn ngữ lập trình khác
nhau như Python, JavaScript, HTML, CSS,
TypeScript, C ++, Java, PHP, Go, C, PHP, SQL,
Ruby, Objective-C, …
- Cung cấp sẵn tính năng IntelliSense được các lập
trình viên sử dụng để lập trình thơng minh, thơng
tin tham số, hỗ trợ nội dung, thông tin nhanh và
gợi ý code.
- Sự hỗ trợ của cộng đồng GitHub. Là một dự án
mã nguồn mở nên bạn hồn tồn có thể tham gia
đóng góp và tìm kiếm sự giúp đỡ từ cộng đồng
GitHub.

Thị phần của VS Code năm 2019

1


Nhờ những ưu điểm nổi bật của mình, VS Code trở thành một trong những sự lựa chọn hàng đầu
của rất nhiều lập trình viên, giúp đảm bảo tiến độ và đạt hiệu quả công việc cao.
3. Cài đặt
a. Trên máy tính
Cài Python
Tải về từ và cài đặt.
(Phiên bản mới nhất hiện nay là 3.9.7). Lưu ý lựa chọn
bản cài đúng OS và System Type (x86, x64).


Cài chương trình soạn thảo
VS Code (IDE)
Tải về tại đây:
/>
Giao diện VS Code sau khi cài đặt:

Cài đặt tiện ích mở rộng cần thiết cho VS Code để lập trình ngơn ngữ Python.

2


* Các chương trình soạn thảo khác
Ngồi Visual Studio Code, có thể sử dụng một số phần mềm soạn thảo khác như Visual Studio,
PyCharm, PyScripter, Sublime Text, …
b. Trên điện thoại
Sử dụng điện thoại thông minh hệ điều hành Android, tải và cài đặt phần mềm Pydroid 3 trong
CH Play.

c. Lập trình trên các website trực tuyến:
Truy cập: google.com.vn, tìm kiếm từ khóa: “python online”, truy cập một trong những các trang:
/> /> />
3


CHƯƠNG I: MỘT SỐ KHÁI NIỆM VỀ LẬP TRÌNH VÀ NGƠN NGỮ LẬP TRÌNH

 Khái niệm cơ sở về lập trình
 Khái niệm và các thành phần của ngơn ngữ lập trình
 Vai trị và phân loại chương trình dịch

BÀI 1. KHÁI NIỆM LẬP TRÌNH VÀ NGƠN NGỮ LẬP TRÌNH
Như đã biết, mọi bài tốn có thuật tốn đều có thể giải được trên máy tính điện tử. Khi giải bài
tốn trên máy tính điện tử, sau các bước xác định bài toán và xây dựng hoặc lựa chọn thuật tốn khả thi là
bước lập trình.
1. Khái niệm lập trình và ngơn ngữ lập trình
Lập trình là 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ể để mơ tả dữ
liệu và diễn đạt các thao tác của thuật tốn.
Ngơn ngữ dùng để viết chương trình máy tính gọi là ngơn ngữ lập trình.
Ngơn ngữ lập trình gồm 3 loại: ngơn ngữ máy, hợp ngữ, ngơn ngữ bậc cao.
Chương trình viết bằng ngơn ngữ lập trình bậc cao nói chung khơng phụ thuộc vào máy, nghĩa là
một chương trình có thể thực hiện trên nhiều máy. Chương trình viết bằng ngơn ngữ máy có thể được nạp
trực tiếp vào bộ nhớ và thực hiện ngay cịn chương trình viết bằng ngơn ngữ lập trình bậc cao phải được
chuyển đổi thành chương trình trong ngơn ngữ máy mới có thể thực hiện được.
2. Chương trình dịch
a. Khái niệm
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 trong máy tính cụ thể được gọi là chương trình dịch.
Chương trình dịch nhận đầu vào là chương trình viết bằng ngơn ngữ lập trình bậc cao (chương
trình nguồn) thực hiện chuyển đổi sang ngơn ngữ máy (chương trình đích).
Chương trình nguồn  Chương trình dịch  Chương trình đích
b. Phân loại
- Thông dịch: Thông dịch được thực hiện bằng cách lặp lại dãy các bước sau:
+ Kiểm tra tính đúng đắn của câu lệnh tiếp theo trong chương trình nguồn;
+ Chuyển đổi câu lệnh đó thành một hay nhiều câu lệnh tương ứng trong ngôn ngữ máy;
+ Thực hiện các câu lệnh vừa chuyển đổi được.
- Biên dịch: Biên dịch được thực hiện qua hai bước:
+ Duyệt, kiểm tra, phát hiện lỗi, kiểm tra tính đúng đắn của các câu lệnh trong chương trình
nguồn;
+ Dịch tồn bộ chương trình nguồn thành một chương trình đích có thể thực hiện trên máy và có
thể lưu trữ để sử dụng lại khi cần thiết.

Thơng thường, cùng với chương trình dịch cịn có một số dịch vụ liên quan như biên soạn, lưu trữ,
tìm kiếm, cho biết các kết quả trung gian,... Toàn bộ các dịch vụ trên tạo thành một môi trường làm việc
trên một ngơn ngữ lập trình cụ thể. Ví dụ, Turbo Pascal 7.0, Free Pascal 1.2, Visual Pascal 2.1,... trên
ngôn ngữ Pascal, C++, Python.

4


BÀI 2. CÁC THÀNH PHẦN CỦA NGƠN NGỮ LẬP TRÌNH
1. Các thành phần
Mỗi ngơn ngữ lập trình thường có ba thành phần cơ bản là bảng chữ cái, cú pháp và ngữ nghĩa.
a. Bảng chữ cái
Là tập các kí tự được dùng để viết chương trình. Khơng được phép dùng bất kì kí tự nào ngồi các
kí tự quy định trong bảng chữ cái. Trong Python, sử dụng mặc định bảng mã Unicode với hơn 128000 kí
tự. Dưới đây là bảng chữ cái của bảng mã ASCII bao gồm các kí tự:
Các chữ cái thường và các chữ cái in hoa của bảng chữ cái tiếng Anh:
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ
- 10 chữ số thập phân Ả Rập: 0 1 2 3 4 5 6 7 8 9
- Các kí tự đặc biệt:
+ -

* /

=

, (dấu
phẩy)
{ } : ' (dấu nháy)
_ (dấu gạch dưới)


< > [

; # ^ $ @ & ( )
dấu cách (mã ASCII 32)

]

.

b. Cú pháp
Là bộ quy tắc để viết chương trình. Dựa vào chúng, người lập trình và chương trình dịch biết được
tổ hợp nào của các kí tự trong bảng chữ cái là hợp lệ và tổ hợp nào là khơng hợp lệ. Nhờ đó, có thể mơ tả
chính xác thuật tốn để máy thực hiện.
c. Ngữ nghĩa
Xác định ý nghĩa thao tác cần phải thực hiện, ứng với tổ hợp kí tự dựa vào ngữ cảnh của nó.
Tóm lại: Cú pháp cho biết cách viết một chương trình hợp lệ, cịn ngữ nghĩa xác định ý nghĩa của các tổ
hợp kí tự trong chương trình. Các lỗi cú pháp được các chương trình dịch phát hiện và thơng báo cho
người lập trình biết. Chỉ có các chương trình khơng có lỗi cú pháp mới dịch được sang ngơn ngữ máy.
Các lỗi ngữ nghĩa khó phát hiện hơn. Phần lớn các lỗi ngữ nghĩa chỉ được phát hiện khi thực hiện
chương trình trên dữ liệu cụ thể.
2. Một số khái niệm
a. Tên
Mọi đối tượng trong chương trình đều phải được đặt tên. Tên là một dãy liên tiếp khơng q 256
kí tự bao gồm chữ số, chữ cái hoặc dấu gạch dưới và bắt đầu bằng chữ cái hoặc dấu gạch dưới. Trong
chương trình dịch Python, tên có phân biệt chữ hoa, chữ thường.
Nhiều ngơn ngữ lập trình, trong đó có Python, phân biệt ba loại tên:
Loại tên

Tên dành

riêng

Tên chuẩn

Ý nghĩa

Một số tên đượ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ụng với ý nghĩa khác. Những
tên này được gọi là tên dành riêng (còn được gọi là từ khố).

Một số tên được ngơn ngữ lập trình dùng với ý nghĩa nào đó.
Những tên này được gọi là tên chuẩn. Tuy nhiên, người lập trình có
thể khai báo và dùng chúng với ý nghĩa và mục đích khác.
Ý nghĩa của các tên chuẩn được quy định trong các thư viện của
5

Ví dụ
Trong Pascal:
program, uses,
const, ...
Trong C++: main,
include, if,
while, ...
Trong Python:
print, if, else, ...
Trong Pascal: abs,
sqr, integer,
byte, ...
Trong C++: cin,



ngơn ngữ lập trình.
Tên do
người lập
trình đặt

Tên do người lập trình đặt được dùng với ý nghĩa riêng, xác định
bằng cách khai báo trước khi sử dụng. Các tên này không được
trùng với tên dành riêng.

cout, getchar, ...
Trong Python: str,
float, int, ...
A1
DELTA
CT_Vidu

b. Hằng
Là các đại lượng có giá trị khơng thay đổi trong quá trình thực hiện chương trình.
- Hằng số học là các số nguyên hay số thực, có dấu hoặc không dấu.
- Hằng lôgic là giá trị đúng/sai tương ứng với True/False trong Python.
- Hằng chuỗi là chuỗi kí tự trong bảng chữ cái. Khi viết, chuỗi kí tự này được đặt trong cặp dấu
nháy đơn hoặc cặp dấu nháy kép.
Ví dụ:
- Hằng số học:

2

0


-5

1.5

-22.36 +3.14159

-2.236E01
- Hằng logic: True

+18
0.5

1.0E-6

False

- Hằng chuỗi: “Tin học 11”, ‘Python’
c. Biến
Là đại lượng được đặt tên, dùng để lưu trữ giá trị và giá trị có thể được thay đổi trong q trình
thực hiện chương trình.
Tuỳ theo cách lưu trữ và xử lí, Python phân biệt nhiều loại biến. Các biến dùng trong chương trình
đều phải khai báo.
d. Chú thích
Có thể đặt các đoạn chú thích trong chương trình nguồn. Các chú thích này giúp cho người đọc
chương trình nhận biết ngữ nghĩa của chương trình đó dễ hơn. Chú thích khơng ảnh hưởng đến nội dung
chương trình nguồn và được chương trình dịch bỏ qua.
Cách tạo chú thích trong Python là đặt nội dung chú thích sau dấu #. Tồn bộ dịng được đánh dấu
bằng dấu "#" cho đến khi xuống dòng mới được coi là một dịng chú thích và trình thơng dịch Python sẽ
bỏ qua dịng này khi thực hiện dịch chương trình để thực thi.
Ví dụ:


CÂU HỎI VÀ BÀI TẬP
1. Tại sao người ta phải xây dựng các ngôn ngữ lập trình bậc cao?
2. Chương trình dịch là gì? Tại sao cần phải có chương trình dịch?
3. Biên dịch và thông dịch khác nhau như thế nào?
4. Hãy cho biết các điểm khác nhau giữa tên dành riêng và tên chuẩn.
5. Hãy tự viết ra ba tên đúng theo quy tắc của Python và có độ dài khác nhau.
6


6. Hãy cho biết những biểu diễn nào dưới đây không phải là biểu diễn hằng trong Python và chỉ rõ
lỗi trong từng trường hợp:
a) 150.0

b) -22

c) 6,23

d) '43'

e) A20

f) 1.06E-15

g) 4+6

h) 'C

7


i) “TRUE”


CHƯƠNG II: CHƯƠNG TRÌNH ĐƠN GIẢN

 Cấu trúc chương trình.
 Các kiến thức cơ bản về kiểu dữ liệu, phép toán, biểu thức, câu lệnh gán, tổ chức vào/ra đơn
giản.

 Cách thực hiện chương trình trong mơi trường Python.
BÀI 3. CẤU TRÚC CHƯƠNG TRÌNH
1. Cấu trúc chung
- Một chương trình viết bằng ngơn ngữ lập trình bậc cao gồm 2 phần cơ bản sau:
[<Phần khai báo>]
<Phần thân>
Trong đó: [<Phần khai báo>] có thể có hoặc khơng và nếu có thì có thể bao gồm nhiều nội dung
khai báo khác nhau, mỗi loại có một cú pháp riêng biệt. bắt bộc phải có.
- Chương trình được viết bằng một ngơn ngữ lập trình Python là chương trình được viết bằng các
câu lệnh.
- Thông thường các câu lệnh trong Python được viết theo định dạng mà một câu lệnh chỉ được viết
trong một dịng duy nhất.

- Chúng ta cũng có thể viết nhiều câu lệnh trên mỗi dịng, nhưng nó khơng tốt vì nó làm giảm khả
năng đọc câu lệnh. Tuy nhiên, bạn vẫn có thể viết nhiều dịng bằng cách chấm dứt một câu với sự trợ giúp
của dấu ‘;’. Trong trường hợp này, dấu ‘;’ được sử dụng như là dấu kết thúc một câu lệnh.
Minh họa:

Kết quả:

2. Ví dụ chương trình đơn giản

a. Ví dụ 1
Chương trình sau thực hiện việc đưa ra màn hình thơng báo "Hello World!".
8


Thực hiện: Gõ câu lệnh vào vùng soạn thảo.
print(‘Hello World!’)
hoặc
print(“Hello World!”)

Thực hiện trên VS Code:
Minh họa

Kết quả

b. Ví dụ 2(*)
Viết chương trình đưa ra màn hình thơng tin cá nhân của mình bao gồm các thơng tin: Họ và tên,
lớp, năm sinh, số tuổi (được tính bằng năm hiện tại của hệ thống trừ đi năm sinh), số điện thoại, email
liên hệ.
Gợi ý: Sử dụng module: datetime để lấy năm hiện tại trên hệ thống.
Chương trình:

Kết quả:

9


BÀI 4. MỘT SỐ KIỂU DỮ LIỆU CHUẨN
Các bài toán trong thực tế thường có dữ liệu vào và kết quả ra thuộc những kiểu dữ liệu quen biết
như số ngun, số thực, kí tự, ... Khi lập trình cho những bài tốn như vậy, người lập trình sử dụng các

kiểu dữ liệu đó thường gặp hạn chế nhất định, phụ thuộc vào các yếu tố như dung lượng bộ nhớ, khả năng
xử lí của CPU, ...
Vì vậy, mỗi ngơn ngữ lập trình thường cung cấp một số kiểu dữ liệu chuẩn cho biết phạm vi giá trị
có thể lưu trữ, dung lượng bộ nhớ cần thiết để lưu trữ và các phép toán tác động lên dữ liệu. Dưới đây xét
một số kiểu dữ liệu chuẩn thường dùng cho các biến đơn trong Python.
1. Một số kiểu dữ liệu chuẩn
a. Kiểu nguyên
Là kiểu không chứa dấu thập phân, không giới hạn số ký tự mà chỉ phụ thuộc vào bộ nhớ máy
tính. Khi gán một giá trị là số ngun cho một biến thì biến đó tự động được gán kiểu số nguyên. Ký hiệu:
int
b. Kiểu thực:
Là kiểu có chứa dấu thập phân. Trong Python có giới hạn tối đa 15 chữ số phần thập phân. Khi
gán một giá trị là số thực cho một biến thì biến đó tự động được gán kiểu số thực. Ký hiệu: float
c. Kiểu chuỗi
Hay cịn gọi là kiểu xâu, khơng giới hạn độ dài các ký tự. Ký hiệu: str
d. Kiểu lôgic
Kiểu dữ liệu này chỉ có hai giá trị: True/False tương ứng là đúng/sai. Ký hiệu: bool
Lưu ý: Ngoài ra, Python cịn có các kiểu dữ liệu: complex; list, tuple, range; dict; set, frozenset;
bytes, bytearray, memoryview. Trong phần sau của chương trình chúng ta sẽ tìm hiểu thêm.
2. Chuyển đổi kiểu dữ liệu
Trong Python, để chuyển đổi kiểu dữ liệu sử dụng cú pháp:
<tên kiểu dữ liệu>(trị>)
Ví dụ:
int(6.2)

# Chuyển giá trị thực 6.2 sang giá trị nguyên, kết quả: 6

int(9.8)


# Chuyển giá trị thực 9.8 sang giá trị nguyên, kết quả: 9

Minh họa:

Kết quả:

10


BÀI 5. BIẾN TRONG PYTHON
1. Biến trong Python
Muốn sử dụng một biến trong Python, ta đặt tên cho biến đó mà không cần khai báo các kiểu dữ
liệu như các ngơn ngữ lập trình khác. Cú pháp chuẩn:
<tên biến> = trị>
Ngồi ra, cịn có thêm một số cách viết sử dụng biến trong Python được trình bày trong ví dụ.
Ví dụ:
Minh họa một số cách sử dụng biến:

In giá trị các biến ra màn hình

Kết quả

Lưu ý:
- Cần đặt tên biến sao cho gợi nhớ đến ý nghĩa của biến đó. Điều này rất có lợi cho việc đọc, hiểu
và sửa đổi chương trình khi cần thiết.
Ví dụ, khơng nên đặt tên biến là d1, d2 mà nên đặt là dtoan, dtin gợi nhớ tới ngữ nghĩa của các
biến đó là điểm tốn, điểm tin của học sinh.
- Khơng nên đặt tên biến quá ngắn hay quá dài, dễ mắc lỗi khi viết nhiều lần tên biến. Ví dụ,
khơng nên dùng d1, d2 hay diemmontoan, diemmontin cho điểm toán, điểm tin của học sinh.

- Biến được phân biệt chữ hoa và chữ thường.
2. Kiểm tra kiểu dữ liệu của biến
Trong Python, để kiểm tra kiểu dữ liệu của giá trị hoặc biến sử dụng cú pháp:
type(biến>)
Ví dụ:
type(10)
# Kết quả: <class ‘int’>
a = ‘Python’
type(a)
# Kết quả: <class ‘str’>
Chương trình

11

Kết quả


12


BÀI 6. PHÉP TỐN, BIỂU THỨC, CÂU LỆNH GÁN
Để mơ tả các thao tác trong thuật tốn, mỗi ngơn ngữ lập trình đều xác định và sử dụng một số
khái niệm cơ bản: phép toán, biểu thức, gán giá trị cho biến.
1. Phép toán
Tương tự trong toán học, trong các ngơn ngữ lập trình đều có những phép tốn số học như cộng,
trừ, nhân, chia trên các đại lượng thực, các phép toán chia nguyên và lấy phần dư, các phép tốn quan hệ,

Bảng dưới đây là kí hiệu các phép tốn đó trong tốn và trong Python:
Phép tốn


Trong tốn học

Các phép toán số học với
số nguyên
Các phép toán số học với
số thực
Các phép toán quan hệ

+ (cộng), - (trừ), . (nhân), / (chia), mod (lấy phần dư), div
(chia lấy nguyên)
+ (cộng), - (trừ), . (nhân), : (chia)

Trong
Python
+, -, *, /, %,
//
+, -, *, /

< (nhỏ hơn),  (nhỏ hơn hoặc bằng), > (lớn hơn),  (lớn hơn <, <=, >,
>=, ==, !=
hoặc bằng), = (bằng),  (khác)
Các phép toán lôgic
not, or, and
 (phủ định),  (hoặc),  (và)
Chú ý: Kết quả của các phép toán quan hệ cho giá trị thuộc kiểu lơgic - bool (True hoặc False).
Ví dụ: So sánh 102 với 62 + 82
a, b, c = 10, 6, 8
x = (a*a == b*b+c*c)


# Giá trị của x: True

2. Biểu thức số học
Trong lập trình, 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 số liên kết với nhau bởi một số hữu hạn phép toán số học, các dấu ngoặc tròn (và) tạo thành một
biểu thức có dạng tương tự như cách viết trong tốn học với những quy tắc sau:
Chỉ dùng cặp ngoặc tròn để xác định trình tự thực hiện phép tốn trong trường hợp cần thiết;
Viết lần lượt từ trái qua phải;
Các phép toán được thực hiện theo thứ tự:
- Thực hiện các phép toán trong ngoặc trước;
- Trong dãy các phép tốn khơng chứa ngoặc thì thực hiện từ trái sang phải, theo thứ tự các phép
toán nhân (*), chia (/), chia nguyên (//), lấy phần dư (%) thực hiện trước và các phép tốn cộng (+), trừ (-)
thực hiện sau.
Ví dụ:
Biểu thức trong Toán học Trong Python
5a+6b

5*a + 6*b
x*y/z

Ax2 + Bx + C

A*x*x + B*x + C
(x + y)/(x - 1/2) - (x - z)/
(x*y)

Chú ý:
Nếu biểu thức chứa một hằng hay biến kiểu thực thì ta có biểu thức số học thực.

13



Trong một số trường hợp nên dùng biến trung gian để có thể tránh được việc tính một biểu thức
nhiều lần.
3. Hàm số học chuẩn
Để lập trình được dễ dàng, thuận tiện hơn, các ngơn ngữ lập trình đều có thư viện chứa một số
chương trình tính giá trị những hàm toán học thường dùng. Trong Python:
- Để sử dụng các hàm của một module, ta sử dụng cú pháp:
import module>
Ví dụ: math là một module lớn của Python chứa rất nhiều hàm và hằng số toán học. Để sử dụng
hàm này cần sử dụng lệnh: import math
- Cách truy cập phương thức của module đã import thì dùng cú pháp:
<module>.thức>
Ví dụ:
math.sqrt(25)
Lưu ý:
- Nếu muốn sử dụng trực tiếp các hàm số của module thì có thể sử dụng cú pháp sau:
from <module> import số>
Ví dụ:
from math import sqrt
print(sqrt(25))
- Dùng lệnh sau sẽ cho phép sử dụng trực tiếp tất cả các hàm của module:
from <module> import
*
Ví dụ:
from math import *
Bảng dưới đây cho biết một số hàm chuẩn thường dùng:

Hàm
Lũy thừa

Biểu diễn
Tốn học
xy

Căn bậc hai
Giá trị tuyệt
đối
Sin
Cos
Làm trịn

Sinx
Cosx
Round

Làm tròn lên
Làm tròn
xuống
Số Pi

Biểu diễn trong
Python
pow(x, y) hoặc
x**y

Trả về giá trị x lũy thừa y


math.sqrt(x)

Thực hoặc nguyên

abs(x)

Trả về giá trị tuyệt đối của đối số x

math.sin(x)
math.cos(x)
round(x)

Trả về giá trị sin của x
Trả về giá trị cô-sin của x
Trả về giá trị số nguyên làm tròn của x
Trả về giá trị số nguyên nhỏ nhất lớn hơn hoặc
bằng x (làm tròn lên)
Trả về giá trị số nguyên lớn nhất nhỏ hơn hoặc
bằng x (làm tròn xuống)
Trả về giá trị của số Pi

math.ceil(x)
math.floor(x)
Pi

Ý nghĩa

math.pi

Ví dụ:

14


Biểu thức tốn học
Trong Python có thể viết dưới dạng: (-b + math.sqrt(b*b - 4*a*c)) / (2*a)
4. Biểu thức quan hệ
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ệ.
Biểu thức quan hệ có dạng:
<biểu thức 1> 2>
Trong đó, biểu thức 1 và biểu thức 2 cùng là chuỗi hoặc cùng là biểu thức số học.
Ví dụ:
x<5
i+1 >= 2*j
Biểu thức quan hệ được thực hiện theo trình tự:
- Tính giá trị các biểu thức.
- Thực hiện phép toán quan hệ.
- Kết quả của biểu thức quan hệ là giá trị thuộc kiểu bool: True/False.
Trong ví dụ trên, nếu x có giá trị 3, thì biểu thức x < 5 có giá trị True. Nếu i có giá trị 2 và j có giá
trị 3 thì biểu thức i + 1 >= 2*j sẽ cho giá trị False.
5. Biểu thức lôgic
- Biểu thức lôgic đơn giản là biến lôgic hoặc hằng lôgic.
- Biểu thức lôgic là các biểu thức lôgic đơn giản, các biểu thức quan hệ liên kết với nhau bởi phép
tốn lơgic. Giá trị biểu thức lôgic là True hoặc False. Các biểu thức quan hệ thường được đặt trong cặp
ngoặc ( và ).
Dấu phép toán not được viết trước biểu thức cần phủ định.
Ví dụ 1: not(x < 1) thể hiện phát biểu "x không nhỏ hơn 1" và điều này tương đương với biểu thức
quan hệ x >= 1.
Các phép toán and và or dùng để kết hợp nhiều biểu thức lôgic 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ụ 2:
Để thể hiện điều kiện 5  x  11, trong Python cần phải tách thành phát biểu dưới dạng "5  x và x
 11" và được viết như sau:
(5 <= x) and (x <= 11)
Ví dụ 3:
Giả thiết M và N là hai biến nguyên. Điều kiện xác định M và N đồng thời chia hết cho 3 hay đồng
thời không chia hết cho 3 được thể hiện trong Python như sau:
((M % 3 == 0) and (N % 3 == 0)) or ((M % 3 != 0) and (N % 3 != 0))
6. Câu lệnh gán
Trong Python câu lệnh gán có dạng:
<tên biến> = trị>
Chức năng của lệnh gán là đặt cho <tên biến> ở vế trái dấu "=" giá trị bằng <giá trị> ở vế phải.
<giá trị>: có thể là hằng số, biến, hàm, biểu thức, giá trị người dùng nhập vào từ bàn phím.

15


Ví dụ:
x1 = (-b - math.sqrt(b*b - 4*a*c))/(2*a)
x2 = -b/a - x1
z=z–1
i=i+1

# Gán cho biến x1 có giá trị của biểu thức
# Gán cho biến x2 có giá trị của biểu thức
# Giảm giá trị của biến z một đơn vị
# Tăng giá trị của biến i lên một đơn vị

16



BÀI 7. CÁC THỦ TỤC CHUẨN VÀO/RA ĐƠN GIẢN
Để khởi tạo giá trị ban đầu cho biến, ta có thể dùng lệnh gán để gán một giá trị cho biến. Những
chương trình đưa dữ liệu vào cho phép đưa dữ liệu từ bàn phím hoặc từ đĩa vào gán cho các biến, làm
cho chương trình trở nên linh hoạt, có thể tính tốn với nhiều bộ dữ liệu đầu vào khác nhau. Kết quả tính
tốn được lưu trữ tạm thời trong bộ nhớ. Những chương trình đưa dữ liệu ra dùng để đưa các kết quả này
ra màn hình, in ra giấy hoặc lưu trên đĩa.
Các chương trình đưa dữ liệu vào và ra đó được gọi chung là các thủ tục chuẩn vào/ra đơn giản.
Trong phần này, ta sẽ xét các thủ tục chuẩn vào/ra đơn giản của Python để nhập dữ liệu vào từ
bàn phím và đưa thơng tin ra màn hình.
1. Nhập dữ liệu vào từ bàn phím
<tên biến> = input()
Hoặc:
<tên biến> = input(‘Thơng
báo’)
Trong đó, biến sẽ nhận giá trị là kiểu chuỗi, vì vậy muốn về giá trị kiểu gì ta phải ép kiểu cho giá
trị đó.
Ví dụ:
Minh họa:

Kết quả:

2. Đưa dữ liệu ra màn hình
print(quả>)
Một số ký hiệu đặc biệt cần chú ý:
\n : In ra ký tự xuống dòng
\t : In ra ký tự dấu tab
\’ hoặc \” hoặc \\ : In ra ký tự ’ hoặc ” hoặc \

Ví dụ:
Chương trình:

17


Kết quả:

18


BÀI 8. SOẠN THẢO, DỊCH, THỰC HIỆN VÀ HIỆU CHỈNH CHƯƠNG TRÌNH
Để có thể thực hiện chương trình được viết bằng một ngơn ngữ lập trình, ta cần soạn thảo, sử dụng
chương trình dịch để dịch chương trình đó sang ngơn ngữ máy. Các hệ thống lập trình cụ thể thường cung
cấp phần mềm phục vụ cho việc soạn thảo, dịch và hiệu chỉnh chương trình.
Dưới đây là một số thao tác và phím tắt thường sử dụng để soạn thảo và thực hiện một số chương
trình viết bằng NNLT Python, sử dụng Visual Studio Code:
- Tạo tệp mới: File  New File (Ctrl + N)
- Mở tệp: File  Open (Ctrl + O)
- Thêm thư mục vào không gian làm việc (để tổ chức, quản lý thư mục, tệp dễ dàng hơn):
File  Add Folder to Workspace

- Soạn thảo: Gõ nội dung của chương trình vào vùng soạn thảo.
- Lưu chương trình: File  Save (Ctrl + S)
- Lưu với tệp khác: File  Save As (Ctrl + Shift + S)
- Thực hiện chương trình, có gỡ lỗi (Debug): Run  Start Debugging (F5)
- Thực hiện chương trình, bỏ qua gỡ lỗi (Debug): Run  Run Without Debugging (Ctrl +F5)
- Đóng cửa sổ chương trình: File  Close Editor (F4)
- Thoát khỏi phần mềm: File  Exit


19


BÀI TẬP VÀ THỰC HÀNH 1
1. Mục đích, yêu cầu
- Giới thiệu một chương trình Python hồn chỉnh đơn giản.
- Làm quen với một số dịch vụ cơ bản của Python trong việc soạn thảo, lưu trữ, dịch và thực hiện
chương trình.
2. Nội dung
a. Gõ chương trình sau:

Lưu ý: Thư viện math để sử dụng các cơng thức tốn học.
b. Lưu chương trình với tên: BTT1_PTB2.py lên đĩa.
c. Nhấn phím Ctrl + F5 để chạy chương trình. Nhập các giá trị 1; -3 và 2. Quan sát kết quả hiển thị
trên màn hình.
d. Nhấn phím Ctrl + F5 rồi nhập các giá trị 1 0 -2. Quan sát kết quả hiển thị trên màn hình.
CÂU HỎI VÀ BÀI TẬP
1. Tại sao phải khai báo biến?
2. Hãy biết biểu thức toán học dưới đây sang Python:
3. 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/sqrt(a*a+b)

20



CHƯƠNG III: CẤU TRÚC RẼ NHÁNH VÀ LẶP
BÀI 9. CẤU TRÚC RẼ NHÁNH

 Cấu trúc rẽ nhánh và lặp trong lập trình.
 Các câu lệnh thực hiện rẽ nhánh và lặp của Visual Studio Code.
1. Câu lệnh if
a. Dạng thiếu
if <điều kiện>:
<câu lệnh>

điều kiện

Ở dạng thiếu, điều kiện sẽ được tính và kiểm tra.
Nếu điều kiện đúng (có giá trị True) thì thực hiện
câu lệnh, ngược lại thì tồn bộ câu lệnh if này sẽ
bị bỏ qua.

Đ
S

câu lệnh

b. Dạng đủ
if <điều kiện>:
<câu lệnh 1>
else:
<câu lệnh 2>

điều kiện

S

Ở dạng đủ: điều kiện cũng được tính và kiểm tra.
Nếu điều kiện đúng (có giá trị True) thì các lệnh 1
sẽ được thực hiện, ngược lại thì các lệnh 2 sẽ
được thực hiện.

câu lệnh
2

Đ
câu lệnh
1

Chú ý:
- Các câu lệnh, câu lệnh 1, câu lệnh 2 có thể là một lệnh đơn hoặc cả một khối lệnh, cịn gọi là
câu lệnh ghép.
- Tồn bộ khối lệnh của nhóm if và else phải viết thụt vào (tối thiểu 1 dấu cách, thông thường hay
sử dụng phím Tab) so với if.
Ví dụ 1: Kiểm tra tính chẵn lẻ của một số (Dạng thiếu)

Ví dụ 2: Kiểm tra tính chẵn lẻ của một số (Dạng đủ)

Ví dụ 3: Để tìm số lớn nhất max trong 2 số a và b, có thể thực hiện bằng 2 cách sau:
21


Dùng câu lệnh if dạng thiếu (Cách 1)

Dùng câu lệnh if dạng dủ (Cách 2)


2. 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 , với a  0.
Input: Các hệ số a, b, c nhập từ bàn phím.
Output: Đưa ra màn hình các nghiệm thực hoặc thơng báo "Phuong trinh vo nghiem".
Chương trình

Kết quả

b. Ví dụ 2
Tìm số ngày của năm N, 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 400. Ví dụ, các năm 2000, 2004 là năm nhuận và có số ngày là 366, các năm 1900,
1945 khơng phải là năm nhuận và có số ngày là 365.
Input: N nhập từ bàn phím.
Output: Đưa số ngày của năm N ra màn hình.
BÀI TẬP
22


Bài 1: Viết chương trình nhập một số nguyên , kiểm tra là số chẵn hay số lẻ.
Ví dụ:
Input
5

Output
So le

Bài 2: Viết chương trình nhập một số nguyên , kiểm tra có là số chính phương khơng. Xuất kết

quả là “YES” nếu là số chính phương, xuất kết quả là “NO” trong trường hợp ngược lại. Số âm không
phải là số chính phương.
Ví dụ:
Input
25

Output
YES

Input
-9

Output
NO

Bài 3: (Bộ ba Pi-ta-go) Ba số nguyên a, b, c được gọi là bộ ba Pi-ta-go nếu tổng các bình phương
của hai số bằng bình phương của số cịn lại. Viết chương trình nhập từ bàn phím ba số nguyên dương a, b,
c và kiểm tra xem chúng có là bộ số Pi-ta-go khơng.
Ví dụ:
Input
534

Output
YES

Input
682

Output
NO


Hướng dẫn: a, b, c là bộ ba Pi-ta-go nếu một ba đẳng thức sau xảy ra:
Bài 4: Viết chương trình nhập vào hai số thực tùy ý, giải phương trình bậc nhất ax + b=0. Kết quả
là số thực chính xác đến 4 số sau dấu thập phân.
Ví dụ:
Input
24

Output
2.0000

Input
3 -1

Output
0.3333

Bài 5: Viết chương trình nhập vào ba số thực tùy ý, giải phương trình .
Kết quả là số thực chính xác đến 4 số sau dấu thập phân.
Ví dụ:
Input
1 2 -3

Output
2.0000

Input
3 -1

Output

0.3333

Bài 6: Viết chương trình nhập tọa độ ba điểm A, B, C và kiểm tra xem A, B, C có lập thành một
tam giác hay khơng. Nếu A, B, C lập thành một tam giác, xuất kết quả là “YES” và tính chu vi, diện tích
tam giác ABC, ngược lại nếu Nếu A, B, C thẳng hàng thì xuất kết quả là “NO”.
Ví dụ:
Input
12
25
64

Output
YES
6.50
12.67

Input
11
22
66

23

Output
NO


BÀI 10. CẤU TRÚC LẶP
Để sử dụng câu lệnh for trước tiên chúng ta cần tìm hiểu hàm range
Cú pháp tổng quát: range([<bắt đầu>], <kết thúc>, [<bước nhảy>])

Cú pháp của range()
range(0, n)
range(1, n, 2)
range(n)
range(n, 0, -1)

Ý nghĩa
Dãy các giá trị từ 0; 1; …; đến n-1
Dãy các giá trị từ 1; 3, …; đến n-1, tăng dần theo 2 đơn vị
Tương đương range(0, n, 1).
Dãy các giá trị từ 0; 1; …, đến n-1
Dãy các giá trị từ n; n-1; …; đến 1 (Giảm dần)

Ví dụ:
range(10) → 0; 1; 2; 3; 4; 5; 6; 7; 8; 9
range(1, 10) → 1; 2; 3; 4; 5; 6; 7; 8; 9
range(1, 10, 2) → 1; 3; 5; 7; 9
range(10, 0, -1) → 10; 9; 8; 7; 6; 5; 4; 3; 2; 1
range(10, 0, -2) → 10; 8; 6; 4; 2
1. Câu lệnh for
for <tên biến> in range(<bắt đầu>, <kết thúc>, nhảy>):
<câu lệnh>
a. Ví dụ 1
In ra màn hình 5 câu “Chao cac ban!”
Chương trình

Kết quả

b. Ví dụ 2

Chương trình sau thực hiện việc nhập từ bàn phím số nguyên N, tính S = 1+2+...+N
Chương trình

Kết quả

c. Ví dụ 3
Kết hợp giữa vịng for và lệnh if
Viết chương trình thực hiện việc nhập từ bàn phím hai số nguyên dương M và N (M < N). In ra
màn hình các số chia hết cho 3 hoặc 5 trong phạm vi từ M đến N.
24


Chương trình

Kết quả

d. Ví dụ 4
Hai vịng for lồng nhau
Viết chương trình hiển thị lên màn hình bảng cửu chương. Mỗi phép tính được xuất trên một dịng
có dạng như sau:
2x1=2
2x2=4
2 x 3 = 6 ...
2. Câu lệnh while
Cú pháp:
while <điều kiện>:
<câu lệnh>

điều kiện


Hoạt động của câu lệnh while:
Nếu điều kiện đúng (có giá trị True) thì thực hiện
câu lệnh, sau đó kiểm tra lại điều kiện để quyết
định có lặp tiếp hay khơng.
Như vậy, chừng nào điều kiện cịn đúng (có giá trị
True) thì câu lệnh sẽ cịn được thực hiện.

S
Đ

câu lệnh

a. Ví dụ 1
Chương trình sau thực hiện việc nhập từ bàn phím số nguyên N, tính S = 1+2+...+N
Thuật tốn

Chương trình

Kết quả

25


×