Mục tiêu bài học
- Về kiến thức:
- Nắm được khái niệm về ngôn ngữ lập trình bậc cao và cụ thể là ngôn ngữ Python.
- Phân biệt rõ ràng hai chế độ làm việc của Python: chế độ gõ lệnh trực tiếp và chế độ soạn thảo.
- Biết các bước cơ bản để tạo và thực thi một chương trình Python hoàn chỉnh.
- Về kĩ năng:
- Thực hành thành thạo việc tạo và chạy một chương trình đơn giản bằng Python.
- Về phẩm chất:
- Phát triển ý thức trách nhiệm và sự cẩn thận khi làm việc.
- Rèn luyện đức tính chăm chỉ, chuyên cần để hoàn thành tốt các nhiệm vụ được giao.
Hoạt động khởi động

Em hãy quan sát các đoạn chương trình được viết bằng các ngôn ngữ lập trình khác nhau trong Hình 16.1 và cho biết câu lệnh trong ngôn ngữ nào dễ hiểu nhất?
Trong ba loại ngôn ngữ được minh họa:
+ Ngôn ngữ máy: Sử dụng mã nhị phân (gồm các số 0 và 1), rất khó để con người đọc và hiểu trực tiếp.
+ Hợp ngữ (Assembly): Sử dụng các từ viết tắt (thường bằng tiếng Anh) để thực hiện lệnh, dễ hiểu hơn ngôn ngữ máy nhưng vẫn còn phức tạp.
+ Ngôn ngữ Python: Sử dụng các câu lệnh gần với ngôn ngữ tự nhiên (tiếng Anh), giúp người đọc dễ dàng hiểu được mục đích và logic của chương trình.
Vì vậy, câu lệnh trong ngôn ngữ Python là dễ hiểu nhất.
1. Ngôn ngữ lập trình bậc cao
Ngôn ngữ lập trình là công cụ để con người viết ra các chỉ thị, “ra lệnh” cho máy tính thực hiện một công việc cụ thể. Có ba loại ngôn ngữ lập trình chính:
- Ngôn ngữ máy: Là chuỗi các số nhị phân 0 và 1, loại ngôn ngữ duy nhất máy tính có thể hiểu trực tiếp.
- Hợp ngữ: Sử dụng các từ gợi nhớ (thường là viết tắt tiếng Anh) để thay cho mã máy, giúp việc lập trình dễ hơn một chút.
- Ngôn ngữ bậc cao: Sử dụng các câu lệnh gần với ngôn ngữ tự nhiên của con người (ví dụ: tiếng Anh). Điều này làm cho việc viết, đọc, hiểu và sửa lỗi chương trình trở nên thuận tiện hơn rất nhiều.
Các chương trình viết bằng ngôn ngữ bậc cao cần một chương trình đặc biệt gọi là trình dịch để chuyển đổi chúng sang ngôn ngữ máy trước khi máy tính có thể thực thi.
1. Ngôn ngữ lập trình là gì? Có những loại ngôn ngữ lập trình nào?
Ngôn ngữ lập trình là công cụ giúp con người có thể “lập trình” để giải các bài toán trên máy tính. Các loại ngôn ngữ lập trình có thể là ngôn ngữ máy, hợp ngữ hoặc ngôn ngữ lập trình bậc cao.
2. Hãy kể tên một số ngôn ngữ lập trình bậc cao mà em biết.
Một số ngôn ngữ lập trình bậc cao phổ biến hiện nay bao gồm: Python, Java, C/C++, C#, JavaScript, PHP,…
2. Môi trường lập trình Python
Python là một ngôn ngữ lập trình bậc cao do Guido van Rossum tạo ra vào năm 1991. Ngôn ngữ này có cú pháp đơn giản, mã nguồn mở và được ứng dụng rộng rãi trong nhiều lĩnh vực như khoa học dữ liệu, trí tuệ nhân tạo, và giáo dục.
Để lập trình với Python, chúng ta sử dụng một môi trường chuyên dụng. Môi trường này có hai chế độ làm việc chính:
Chế độ | Mô tả | Trường hợp sử dụng |
---|---|---|
Gõ lệnh trực tiếp (Interactive Mode) | Gõ từng lệnh sau dấu nhắc >>> và nhấn Enter, máy tính sẽ thực thi và trả kết quả ngay lập tức. | Dùng để tính toán nhanh, kiểm tra thử một vài lệnh đơn lẻ. |
Soạn thảo chương trình (Script Mode) | Viết một tập hợp nhiều câu lệnh vào một tệp (file), sau đó lưu lại và thực thi toàn bộ tệp chương trình cùng lúc. | Dùng để viết các chương trình hoàn chỉnh có nhiều dòng lệnh phức tạp. |


1. Dấu nhắc chính là con trỏ soạn thảo chương trình Python. Đúng hay sai?
Sai. Dấu nhắc >>>
là nơi để nhập lệnh trong chế độ gõ lệnh trực tiếp. Con trỏ soạn thảo là vạch đứng nhấp nháy cho biết vị trí nhập văn bản trong cửa sổ soạn thảo chương trình.
2. Việc thực hiện câu lệnh ở chế độ gõ lệnh trực tiếp và chế độ soạn thảo có điểm gì giống nhau, khác nhau?
Giống nhau: Đều viết các câu lệnh Python trên từng dòng riêng biệt.
Khác nhau:
+ Chế độ gõ lệnh trực tiếp: Gõ một lệnh và nhấn Enter, lệnh sẽ được thực thi ngay lập tức.
+ Chế độ soạn thảo: Gõ nhiều lệnh vào một tệp, sau đó phải lưu tệp và chạy (Run) thì toàn bộ các lệnh mới được thực thi một lần.
3. Một số lệnh Python đầu tiên
Python có thể tự động nhận diện các kiểu dữ liệu cơ bản và thực hiện các phép toán trực tiếp.
- Số nguyên (integer): Ví dụ: 5, 10, -100
- Số thực (float): Ví dụ: 2.6, 3.14, -0.5
- Xâu kí tự (string): Chuỗi các kí tự đặt trong cặp dấu nháy đơn
' '
hoặc nháy kép" "
. Ví dụ: “học sinh lớp 10”
Lệnh print()
là lệnh cơ bản dùng để hiển thị (in) dữ liệu ra màn hình.
Cú pháp: print(giá_trị_1, giá_trị_2, ...)
1. Kết quả của mỗi lệnh sau là gì? Kết quả đó có kiểu dữ liệu nào?
Câu lệnh | Kết quả |
---|---|
>>> 5/2 | 2.5, kiểu dữ liệu là số thực. |
>>> 12 + 1.5 | 13.5, kiểu dữ liệu là số thực. |
>>> "Bạn là học sinh lớp 10" | ‘Bạn là học sinh lớp 10’, kiểu dữ liệu là xâu kí tự. |
>>> 10 + 7/2 | 13.5 (vì 7/2 = 3.5), kiểu dữ liệu là số thực. |
2. Lệnh sau sẽ in ra kết quả gì?
>>> print("13 + 103/2 – 32 = ", 13 + 103/2 – 32)
>>> print("13 + 103/2 – 32 = ", 13 + 103/2 – 32)
Lệnh này sẽ in ra kết quả: 13 + 10*3/2 – 3*2 = 22.0
+ Phần trong dấu ngoặc kép "13 + 10*3/2 – 3*2 = "
được in ra nguyên văn.
+ Biểu thức 13 + 10*3/2 – 3*2
được Python tính toán (13 + 15.0 – 6 = 22.0) và in giá trị kết quả ra sau đó.
Luyện tập
1. Hãy viết lệnh để tính giá trị các biểu thức sau trong chế độ gõ lệnh trực tiếp của Python:
a) 10 + 13>>> 10 + 13
23
b) 20 – 7>>> 20 - 7
13
c) 3 × 10 – 16>>> 3 * 10 - 16
14
d) 12/5 + 13/6>>> 12/5 + 13/6
4.566666666666667
2. Các lệnh sau có lỗi không? Vì sao?
Cả hai lệnh dưới đây đều có lỗi:
Lệnh thứ nhất:>>> 3 + * 5
Lỗi cú pháp (SyntaxError). Lý do là có hai phép toán (+ và *) đứng cạnh nhau mà không có toán hạng (số) ở giữa. Đây là một biểu thức toán học không hợp lệ.
Lệnh thứ hai:>>> "Bạn là học sinh, bạn tên là "Nguyễn Việt Anh""
Lỗi cú pháp (SyntaxError). Lý do là Python hiểu xâu kí tự bắt đầu và kết thúc bằng cặp dấu nháy kép “”. Trong trường hợp này, xâu “Bạn là học sinh, bạn tên là ” kết thúc trước chữ Nguyễn. Phần còn lại Nguyễn Việt Anh”” trở nên không hợp lệ.
Để sửa lỗi, ta có thể dùng dấu nháy đơn để bao bọc toàn bộ xâu:>>> 'Bạn là học sinh, bạn tên là "Nguyễn Việt Anh"'
3. Viết các lệnh in ra màn hình thông tin như sau:
a) 1 × 3 × 5 × 7 = 105.>>> print("1 x 3 x 5 x 7 =", 1*3*5*7)
b) Bạn Hoa năm nay 16 tuổi.>>> print("Bạn Hoa năm nay 16 tuổi")
Vận dụng
1. Ngoài cách viết xâu kí tự giữa cặp dấu nháy đơn hoặc nháy kép còn có thể viết giữa cặp ba dấu nháy kép. Nếu một xâu được viết giữa cặp ba dấu nháy kép thì chúng ta có thể dùng phím Enter để xuống dòng ở giữa xâu. Hãy thực hiện lệnh sau và quan sát kết quả:
Khi thực hiện lệnh:>>> print("""Không có việc gì khó
Chỉ sợ lòng không bền
Đào núi và lấp biển
Quyết chí ắt làm nên""")
Kết quả in ra màn hình sẽ là một đoạn thơ gồm 4 dòng, giữ nguyên định dạng xuống dòng như khi nhập:Không có việc gì khó
Chỉ sợ lòng không bền
Đào núi và lấp biển
Quyết chí ắt làm nên
Giải thích: Việc sử dụng ba dấu nháy kép """ """
(hoặc ba dấu nháy đơn ''' '''
) cho phép tạo ra một xâu kí tự đa dòng (multi-line string), bao gồm cả các ký tự xuống dòng khi ta nhấn phím Enter.
2. Viết chương trình Python in ra màn hình bảng nhân trong phạm vi 10.
Để in ra bảng cửu chương từ 2 đến 9, bạn có thể tạo một chương trình trong chế độ soạn thảo như sau:
# In bảng cửu chương 2
print("--- Bảng cửu chương 2 ---")
print("2 x 1 =", 2*1)
print("2 x 2 =", 2*2)
print("2 x 3 =", 2*3)
print("2 x 4 =", 2*4)
print("2 x 5 =", 2*5)
print("2 x 6 =", 2*6)
print("2 x 7 =", 2*7)
print("2 x 8 =", 2*8)
print("2 x 9 =", 2*9)
print("2 x 10 =", 2*10)
# In bảng cửu chương 3
print("--- Bảng cửu chương 3 ---")
print("3 x 1 =", 3*1)
# ... và tiếp tục tương tự cho các dòng còn lại của bảng 3
# ... và tiếp tục cho các bảng cửu chương khác đến 9
Lưu ý: Ở các bài học sau, chúng ta sẽ học cách dùng vòng lặp để viết chương trình này một cách ngắn gọn hơn rất nhiều.