Bài 2 – Phép toán, biểu thức, câu lệnh gán, hàm số học chuẩn
1. Cấu trúc chương trình, kiểu dữ liệu chuẩn
a. Cấu trúc chương trình
– Chương trình viết bằng ngôn ngữ Python có thể bắt đầu bằng câu lệnh bất kỳ.
– Biến không cần phải khai báo trước, kiểu dữ liệu của biến có thể thay đổi
– Sau các câu lệnh không nhất thiết phải sử dụng dấu ; mà chỉ sử dụng dấu ; để ngăn cách giữa các câu lệnh trên cùng một dòng.
– Khai báo thư viện: import <Tên thư viện>
b. Các kiểu dữ liệu chuẩn
– Khi gán giá trị có kiểu gì thì biến sẽ có kiểu dữ liệu đó.
+ int: Kiểu số nguyên, hàm chuyển về kiểu số nguyên int(<biểu thức>)
+ float: Kiểu số thực, hàm chuyển về kiểu số thực float(<biểu thức>)
+ str: Kiểu xâu, hàm chuyển về xâu str(<biểu thức>)
Trong Python không có kiểu ký tự (mà đó là xâu có 1 ký tự)
giá trị của xâu đặt trong cặp dấu nháy đơn ‘ và ‘ hoặc nháy kép “ và ”.
+ bool: Kiểu logic, chỉ có 2 giá trị True/ False, hàm chuyển về kiểu logic bool(<biểu thức>)
– Để biết kiểu dữ liệu của biểu thức ta dùng hàm: type(<biểu thức>)
2. Phép toán, biểu thức, câu lệnh gán
a. Phép toán
Phép toán | Trong Toán học | Trong Python |
Phép toán số học với số nguyên | + (cộng), – (trừ) , x (nhân), div (chia lấy nguyên), mod (chia lấy dư) | +, -, *, //, % |
Phép toán số học với số thực | + (cộng), – (trừ), x (nhân), : (chia) | +, – , *, / |
Phép toán quan hệ | < (bé hơn), ≤ (bé hơn hoặc bằng), = (bằng) > (lớn hơn) ≥ (lớn hơn hoặc bằng), ≠ (khác) | <, <=, == >, >=, != |
Phép toán logic | ┐ (phủ định), ˅ (hoặc), ˄ (và) | not, or, and |
Lưu ý: Phép mũ ta sử dụng dấu | Trong Python: ** (mũ) | x**y có nghĩa xy |
Lưu ý:
Phép toán | Kết quả | Ví dụ |
not | Trả về True khi False và ngược lại | not x |
or | Trả về True khi chỉ cần một trong hai (hoặc cả hai) có giá trị True | x or y |
and | Trả về True khi cả hai có giá trị đều bằng True | x and y |
b. Biểu thức
– Thứ tự ưu tiên các phép toán:
+ Thực hiện các phép toán trong dấu ngoặc trước
+ Phép toán không chứa ngoặc thì ưu tiên theo thứ tự sau:
* (nhân), / (chia), // (chia lấy nguyên), % (chia lấy dư), + (cộng), – (trừ)
– Ví dụ:
Biểu thức Toán học | Biểu thức Python |
$3x + y$ | 3*x + y |
$\frac{xy}{z}$ | x*y/z |
$\frac{x}{\frac{x}{y+1}-1}-\frac{xy}{x-y}$ | x/(x/(y+1)-1) – x*y/(x-y) |
c. Câu lệnh gán
– Cú pháp: <tên biến> = <biểu thức>
– Dùng để gán giá trị của biểu thức cho biến, khi đó biểu thức có giá trị kiểu gì thì biến có kiểu đó.
Lưu ý: Trong Python tên biến có phân biệt chữ in hoa và chữ in thường.
– Ví dụ:
dem = 10 #Gán giá trị 10 cho biến dem, khi đó dem có kiểu số nguyên
PI = 3.14 #Gán giá trị 3.14 cho biến PI, khi đó biến PI có kiểu số thực
s = (x + y)* 2 #Tính giá trị của biểu thức và gán cho biến s
dientich = PI*r*r #Tính diện tích hình tròn và gán cho biến dientich
hoten = “Nguyen Van Nam” #Gán xâu “Nguyen Van Nam” cho biến hoten
kt = True #Gán giá trị True cho biến kt
kt = (x >= 5) and (x <= 10) #Gán giá trị của biểu thức logic cho biến kt
x, y = 10, 5 #Gán 10 cho biến x và 5 cho biến y
3. Hàm số học chuẩn
Hàm số học chuẩn thường chứa trong thư viện Toán học math do đó khi sử dụng các hàm đó ta phải thêm thư viện math vào chương trình bằng câu lệnh: import math
Trong Toán học | Trong Python | Ý nghĩa |
$\sqrt{x}$ | math.sqrt(x) | Căn bậc hai của x |
$\log_{a}b$ , $ln x$ | math.log(b,a), math.log(x) | Loga cơ số a của b, loga cơ số e của x |
xy | math.pow(x,y) hoặc x**y | x mũ y |
ex | math.exp(x) | e mũ x, với e = 2.718281828459045 |
| x | | abs(x) hoặc math.fabs(x) | Hàm abs không thuộc thư viện math |
$\pi$ | math.pi | Số Pi, Pi = 3.14159,… |
sinx, cosx, tanx | math.sin(x), math.cos(x), math.tan(x) | Sin, cos, tan của x |
UCLN(a,b) | math.gcd(a,b) | Ước chung lớn nhất của a và b |
x! | math.factorial(x) | Giai thừa của x |
round(x), round(a,n) | Làm tròn số x, làm tròn a đến n số | |
math.ceil(x), math.floor(x) | Lấy trần trên, trần dưới của số x |
4. Nhập xuất dữ liệu đơn giản
a. Nhập dữ liệu vào từ bàn phím
– Cú pháp: <tên biến> = input(<Thông báo>)
– Giá trị nhập vào mặc định của hàm input là kiểu xâu. Do đó muốn chuyển qua kiểu khác ta phải dùng các hàm ép kiểu như: int, float, str, bool
Lưu ý: Hàm map, split() thường được sử dụng để nhập giá trị cho nhiều biến
– Ví dụ:
hoten = input(“Moi nhap ho ten: “) #Nhập dữ liệu kiểu xâu cho biến hoten
tuoi = int(input(“Moi nhap tuoi: “)) #Chuyển giá trị nhập vào sang kiểu nguyên và gán cho biến tuoi
x = float(input(“Moi nhap do cao: “)) #Nhập dữ liệu kiểu số thực cho biến x
m, n = map(int,input(“Moi nhap 2 so nguyen: “).split()) #Nhập giá trị cho 2 biến số nguyên
a = list(map(int,input(“Moi nhap day so nguyen: “).split())) #Nhập giá trị cho mảng số nguyên a
b. Xuất dữ liệu ra màn hình
– Cú pháp: print(<dãy kết quả>, [sep=‘ ‘, end=‘\n’])
– Ý nghĩa:
+ In ra màn hình dãy kết quả, các kết quả cách nhau bởi sep và kết thúc bởi end
+ Dãy kết quả cách nhau bởi dấu phẩy dưới nếu nhiều kết quả
– Ví dụ:
(1) print(“Hello World “) #Xuất ra màn hình chữ Hello World
(2) hoten = “Nguyen Tien Duy”; print(“Xin chao”,hoten)
#Xuất ra màn hình chữ Xin chao Nguyen Tien Duy
(3) print(“UCLN cua”,a,”va”,b,”la”,math.gcd(a,b))
#Xuất ra màn hình ước chung lơn nhất của a và b
(4) print("Tong cua {0} va {1} la {2:.1f}".format(a,b,s))
#Xuất dữ liệu có định dạng 1
(5*) s = a + b; print(f“Tong cua {a} va {b} la {s: .2f}”)
#Xuất dữ liệu có định dạng 2
(6*) print("Chu vi la %.2f" %chuvi)
#Xuất dữ liệu có định dạng 3
(7*) print("Chu vi la %.2f" %chuvi, "Dien tich la %.2f" %dientich)
Phần bài tập về phép toán, biểu thức, câu lệnh gán
Câu 1: Viết chương trình xuất ra màn hình nhiệt độ (oK) tương ứng khi nhập vào nhiệt độ (oC)
Câu 2: Viết chương nhập vào 2 số nguyên dương m và n (m>n), hãy in ra màn hình phần nguyên và phần dư của m chia cho n?
Câu 3: Viết chương trình tính diện tích hình tròn với bán kính nhập vào từ bàn phím?
Câu 4: Viết chương trình tính vận tốc của vật khi rơi tự do từ độ cao h (m)? Biết vận tốc v được tính theo công thức $v=\sqrt{2gh}$ và g = 9.8 m/s2 , với độ chính xác 2 chữ số thập phân.
Câu 5: Viết chương trình nhập vào m và n, tính và xuất ra màn hình giá trị mn?
Câu 6: Cho biểu thức:
\[f(x,y)=\frac{\sin x}{\frac{2x+y}{\cos x}-\frac{{{x}^{y}}}{x-y}}\]
Viết chương trình tính giá trị của biểu thức f(x,y) tại x, y nhập vào từ bàn phím
Câu 7: Viết chương trình kiểm tra xem điểm M(x,y) có nằm trong hình tròn tâm I(a,b) và bán kính R bằng cách xuất ra giá trị True nếu điểm M nằm trong hoặc trên hình tròn và False nếu nằm ngoài hình tròn, với x, y, a, b, R nhập vào từ bàn phím?
Xem tiếp Bài 3 – Cấu trúc rẽ nhánh trong ngôn ngữ lập trình Python