Tin học 10 – Bài 16
Ngôn ngữ lập trình bậc cao và Python

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

Tin học 10 - Bài 16
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.

Tin học 10 - Bài 16
Tin học 10 - Bài 16
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ệnhKế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)

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.

Câu hỏi trắc nghiệm tin học 10 bài 16 - Ngôn ngữ lập trình bậc cao và Python

Thời gian làm bài: 30 phút
Đáp án hiển thị sau khi nộp bài
Câu hỏi sẽ được hiển thị ngẫu nhiên
Vui lòng nhập họ và tên để bắt đầu làm bài

NB

Phát biểu nào sau đây mô tả đúng nhất về ngôn ngữ lập trình bậc cao?

NB

Để máy tính có thể hiểu và thực hiện được chương trình viết bằng ngôn ngữ bậc cao, chương trình đó cần được xử lý bởi?

TH

Trong các loại ngôn ngữ lập trình dưới đây, loại ngôn ngữ nào được xem là khó viết và khó hiểu nhất đối với lập trình viên?

NB

Ngôn ngữ lập trình nào sau đây KHÔNG phải là ngôn ngữ lập trình bậc cao?

NB

Trong môi trường lập trình Python, chế độ nào cho phép thực thi ngay lập tức từng câu lệnh sau khi người dùng gõ và nhấn Enter?

NB

Dấu nhắc (prompt) mặc định trong chế độ gõ lệnh trực tiếp của Python là gì?

TH

Chế độ soạn thảo chương trình trong Python phù hợp nhất cho công việc nào sau đây?

TH

Điểm khác biệt cơ bản nhất giữa việc thực thi lệnh ở chế độ gõ lệnh trực tiếp và chế độ soạn thảo là gì?

NB

Để lưu một chương trình đã được soạn thảo trong Python, người dùng thường chọn thao tác nào trong menu?

VD

Một người mới học Python muốn viết một chương trình gồm 20 dòng lệnh để tính toán và in ra kết quả. Người đó nên chọn cách làm nào để hiệu quả và dễ quản lý nhất?

NB

Lệnh nào sau đây sẽ in chính xác chuỗi Xin chao Python! ra màn hình?

TH

Kết quả của lệnh print("15 + 5 =", 15 + 5) sẽ hiển thị trên màn hình là gì?

VD

Câu lệnh Python nào dưới đây sẽ gây ra lỗi cú pháp (SyntaxError)?

TH

Trong Python, kết quả của phép toán 15 / 2 thuộc kiểu dữ liệu nào?

NB

Kí hiệu nào được dùng để bắt đầu một dòng chú thích (comment) trong Python, khiến máy tính bỏ qua dòng đó khi thực thi?

VD

Để in ra màn hình dòng chữ Hello "World" (có cả dấu ngoặc kép), câu lệnh nào sau đây là đúng?

Bạn An đang học lập trình Python. Đầu tiên, An mở chế độ gõ lệnh trực tiếp và gõ 10 * 5 rồi nhấn Enter để xem kết quả. Sau đó, An mở một cửa sổ soạn thảo mới, viết một chương trình gồm 3 dòng lệnh để chào và tính tuổi, rồi lưu lại với tên tinh_tuoi.py.
# Chương trình tính tuổi
ho_ten = "Minh"
print("Chao ban", ho_ten)

Dưới đây là các nhận xét về quá trình làm việc của An.

NB Khi gõ 10 * 5 vào cửa sổ đầu tiên, An đang sử dụng chế độ soạn thảo.

TH Chương trình tinh_tuoi.py sẽ tự động chạy sau khi An lưu tệp.

TH Biến ho_ten trong chương trình tinh_tuoi.py lưu trữ dữ liệu kiểu xâu kí tự.

VD Nếu thêm dòng print(2025 - nam_sinh) vào cuối tệp tinh_tuoi.py và chạy, chương trình sẽ báo lỗi.

Một học sinh viết đoạn mã Python trong chế độ soạn thảo như sau:
print("Ket qua phep chia:", 10 / 4)
print("Tong hai so: " + 15)
print("""Day la mot
xau nhieu dong""")

Dựa vào đoạn mã trên, hãy xác định tính đúng sai của các phát biểu dưới đây.

TH Dòng lệnh đầu tiên sẽ in ra Ket qua phep chia: 2.5.

VD Dòng lệnh thứ hai (print("Tong hai so: " + 15)) sẽ chạy thành công và in ra Tong hai so: 15.

NB Cặp ba dấu nháy kép """ được dùng để bao bọc một xâu kí tự có thể xuống dòng.

VD Toàn bộ chương trình trên sẽ không thể thực thi được vì có chứa lỗi.

Em hãy quan sát các câu lệnh Python được thực hiện trong chế độ gõ lệnh trực tiếp dưới đây:
>>> x = 10
>>> y = 20.5
>>> z = "10"

Hãy cho biết các nhận xét sau về các biến x, y, z là đúng hay sai.

TH Lệnh print(x + 15) sẽ cho kết quả là 25.

TH Biến x và biến z có cùng kiểu dữ liệu vì chúng cùng chứa số 10.

VD Lệnh print(y + x) sẽ gây ra lỗi vì x và y khác kiểu dữ liệu.

NB Lệnh print("Gia tri la: " + z) sẽ thực hiện thành công.

Bảng xếp hạng

Chưa có kết quả nào.

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *