Tin Học 10

KẾT NỐI TRI THỨC
Chương trình GDPT 2018

Học Liệu Số Tin Học Lớp 10

Hệ thống hóa toàn bộ 6 Chủ đề và 34 Bài học Kết nối tri thức. Tích hợp đầy đủ cả hai định hướng Tin học ứng dụng (ICT - Thiết kế đồ họa Inkscape) và Khoa học máy tính (CS - Lập trình Python 3), kèm 34 sơ đồ trực quan và ngân hàng 102 câu trắc nghiệm luyện tập có đáp án giải thích chi tiết.

6 Chủ đề 34 Bài học Inkscape (ICT) Python 3 (CS) 102 Câu trắc nghiệm
Bài 1 Chủ đề 1 – Máy tính và xã hội tri thức Kiến thức chung

Bài 1: Thông tin và xử lí thông tin

Sơ đồ trực quan Bài 1: Thông tin và xử lí thông tin SVG Vector Interactive
Mô hình quá trình xử lí thông tin cơ bản trong máy tính Chủ đề 1: Máy tính & Xã hội
ĐẦU VÀO (INPUT) Bàn phím, Chuột, Cảm biến BỘ XỬ LÍ (CPU) Khối số học & logic (ALU) Bộ nhớ trong: RAM & Cache ĐẦU RA (OUTPUT) Màn hình, Loa, Máy in Bộ nhớ ngoài lưu trữ lâu dài: SSD, HDD, Thẻ nhớ, Đám mây

1. Khái niệm thông tin và dữ liệu

  • Thông tin (Information): Là những hiểu biết của con người về thế giới xung quanh và về chính bản thân mình. Thông tin giúp con người đưa ra các quyết định hành động đúng đắn.
  • Dữ liệu (Data): Là cách biểu diễn thông tin dưới dạng các kí hiệu, chữ viết, con số, hình ảnh, âm thanh... để có thể lưu trữ, truyền tải và xử lí bằng các phương tiện số.
  • Dữ liệu số trong máy tính: Máy tính chỉ có thể tiếp nhận, lưu trữ và xử lí dữ liệu số hóa dưới dạng các dãy bit gồm hai kí hiệu 0 và 1.
  • Mối quan hệ giữa thông tin và dữ liệu: Cùng một thông tin có thể biểu diễn bằng nhiều dạng dữ liệu khác nhau; ngược lại, cùng một dữ liệu có thể đem lại thông tin khác nhau tùy thuộc vào ngữ cảnh và cách diễn giải. Dữ liệu sai lệch hoặc thiếu sót sẽ dẫn đến thông tin sai lệch.

2. Quá trình xử lí thông tin của máy tính

  • Quy trình xử lí thông tin cơ bản:
Tiếp nhận dữ liệu (Input) $\to$ Xử lí / Biến đổi dữ liệu (Process) $\to$ Đưa ra kết quả (Output / Storage).
  • Đầu vào (Input): Thu nhận dữ liệu từ các thiết bị ngoại vi như bàn phím, chuột, máy quét, camera, cảm biến (IoT) hoặc từ mạng Internet.
  • Xử lí (Process): Bộ vi xử lí (CPU) thực hiện các phép toán số học và logic theo tập lệnh đã được lập trình để biến đổi dữ liệu đầu vào.
  • Đầu ra (Output): Xuất thông tin ra màn hình, loa, máy in, hoặc lưu vào bộ nhớ thứ cấp (ổ đĩa SSD, HDD, đám mây) để phục vụ cho các quy trình tiếp theo.

3. Đơn vị đo dung lượng thông tin

  • Bit (Binary digit): Đơn vị đo lượng thông tin nhỏ nhất, chỉ nhận một trong hai giá trị là 0 hoặc 1.
  • Byte: Đơn vị cơ bản đo dung lượng bộ nhớ: $1\text{ Byte} = 8\text{ bit}$. Một byte có thể biểu diễn $2^8 = 256$ trạng thái khác nhau.
  • Bội số của Byte:
  • $1\text{ KB (Kilobyte)} = 1024\text{ Bytes} = 2^{10}\text{ Bytes}$.
  • $1\text{ MB (Megabyte)} = 1024\text{ KB} = 2^{20}\text{ Bytes}$.
  • $1\text{ GB (Gigabyte)} = 1024\text{ MB} = 2^{30}\text{ Bytes}$.
  • $1\text{ TB (Terabyte)} = 1024\text{ GB} = 2^{40}\text{ Bytes}$.
Luyện tập củng cố Bài 1 (3 câu hỏi)
Chọn 1 đáp án đúng

Câu 1: Phát biểu nào sau đây phân biệt chính xác nhất giữa 'Thông tin' và 'Dữ liệu'?

Câu 2: Quy trình xử lí thông tin cơ bản của máy tính diễn ra theo trình tự nào?

Câu 3: Một tệp tài liệu văn bản có dung lượng $2\text{ MB}$ tương đương với bao nhiêu Kilobyte (KB)?

Bài 2 Chủ đề 1 – Máy tính và xã hội tri thức Kiến thức chung

Bài 2: Vai trò của thiết bị thông minh và tin học đối với xã hội

Sơ đồ trực quan Bài 2: Vai trò của thiết bị thông minh và tin học đối với xã hội SVG Vector Interactive
Hệ sinh thái thiết bị thông minh & Kết nối vạn vật (IoT) Chủ đề 1: Máy tính & Xã hội
INTERNET & CLOUD 📱 Smartphone 🏠 Smart Home (IoT) ⌚ Smartwatch 🤖 Robot Tự hành

1. Thiết bị thông minh trong thời đại số

  • Khái niệm thiết bị thông minh (Smart Devices): Là các thiết bị điện tử có tích hợp bộ xử lí máy tính, phần mềm, bộ nhớ, các cảm biến môi trường và khả năng kết nối mạng (Wi-Fi, Bluetooth, 4G/5G) để tự động thu thập, xử lí và trao đổi dữ liệu mà không cần con người can thiệp liên tục.
  • Ví dụ điển hình: Điện thoại thông minh (Smartphone), đồng hồ thông minh (Smartwatch), robot hút bụi tự hành, thiết bị nhà thông minh (Smart Home), xe ô tô tự lái.

2. Vai trò của tin học trong các lĩnh vực đời sống

  • Tự động hóa sản xuất: Các dây chuyền robot công nghiệp, hệ thống quản lí chuỗi cung ứng thông minh nâng cao năng suất và chất lượng sản phẩm.
  • Giao tiếp và cộng đồng: Mạng xã hội, thư điện tử, cuộc gọi video giúp xóa nhòa khoảng cách địa lí, kết nối cộng đồng toàn cầu tức thì.
  • Giáo dục và y tế: Học tập trực tuyến (E-learning), bệnh án điện tử, chẩn đoán hình ảnh bằng AI và phẫu thuật nội soi hỗ trợ bởi robot.
  • Chính phủ điện tử và dịch vụ công: Đăng kí thủ tục hành chính trực tuyến, căn cước công dân số, thanh toán không dùng tiền mặt.

3. Những thách thức của xã hội số và trách nhiệm người dùng

  • Thách thức: Khoảng cách số giữa các vùng miền, nguy cơ nghiện thiết bị số, lộ lọt dữ liệu riêng tư, lừa đảo trực tuyến và tin tức giả mạo (Fake News).
  • Trách nhiệm của công dân số: Biết chọn lọc và kiểm chứng thông tin, bảo vệ dữ liệu cá nhân, tôn trọng quyền sở hữu trí tuệ và sử dụng công nghệ một cách nhân văn, lành mạnh.
Luyện tập củng cố Bài 2 (3 câu hỏi)
Chọn 1 đáp án đúng

Câu 1: Đặc điểm cốt lõi nào giúp phân biệt một 'Thiết bị thông minh' (Smart Device) với một thiết bị điện tử truyền thống?

Câu 2: Thuật ngữ IoT là viết tắt của cụm từ tiếng Anh nào?

Câu 3: Hành vi nào dưới đây thể hiện việc sử dụng thiết bị thông minh có trách nhiệm?

Bài 3 Chủ đề 1 – Máy tính và xã hội tri thức Kiến thức chung

Bài 3: Một số kiểu dữ liệu và dữ liệu văn bản

Sơ đồ trực quan Bài 3: Một số kiểu dữ liệu và dữ liệu văn bản SVG Vector Interactive
Mã hóa kí tự văn bản: Từ ASCII (8 bit) đến Unicode / UTF-8 Chủ đề 1: Máy tính & Xã hội
KÍ TỰ GỐC 'A' / 'Â' / '⭐' BẢNG MÃ QUỐC TẾ ASCII: 0 - 127 (7-8 bit) Unicode UTF-8: Đa byte biến đổi (Hỗ trợ tiếng Việt trọn vẹn) LƯU TRỮ BIT 01000001 (65)

1. Khái niệm kiểu dữ liệu

  • Kiểu dữ liệu (Data Type): Là tập hợp các giá trị mà một đại lượng có thể nhận cùng với các phép toán hợp lệ có thể thực hiện trên các giá trị đó.
  • Các kiểu dữ liệu cơ bản: Kiểu số nguyên (integer), số thực (float), kiểu logic (boolean), kiểu kí tự và chuỗi văn bản (string).

2. Mã hóa dữ liệu văn bản

  • Bản chất lưu trữ văn bản: Máy tính không lưu trữ trực tiếp hình ảnh chữ cái mà lưu trữ các con số mã hóa (mã kí tự) tương ứng theo một bảng mã chuẩn.
  • Bảng mã ASCII (American Standard Code for Information Interchange):
  • Sử dụng 7 bit (hoặc 8 bit cho ASCII mở rộng) để mã hóa 128 (hoặc 256) kí tự gồm chữ cái tiếng Anh, chữ số và kí hiệu điều khiển.
  • Không đủ dung lượng để mã hóa các ngôn ngữ có dấu như tiếng Việt, chữ tượng hình tiếng Trung, Nhật, Hàn.
  • Bảng mã Unicode:
  • Bảng mã quốc tế toàn diện, cung cấp không gian mã đủ lớn để đại diện cho tất cả các kí tự của mọi ngôn ngữ trên thế giới.
  • Chuẩn mã hóa UTF-8: Là cách mã hóa Unicode phổ biến nhất hiện nay, sử dụng số byte biến đổi (từ 1 đến 4 byte cho mỗi kí tự), tương thích ngược hoàn hảo với ASCII và tiết kiệm dung lượng lưu trữ.

3. Phân biệt mã hóa kí tự và phông chữ

  • Mã kí tự (Character Code): Xác định định danh trừu tượng của kí tự (ví dụ: chữ 'A' có mã ASCII là 65).
  • Phông chữ (Font): Tập hợp các hình vẽ đồ họa quy định cách hiển thị hình dáng, kiểu dáng của kí tự trên màn hình hoặc trang in. Nếu chọn sai bảng mã hoặc thiếu phông chữ thì văn bản sẽ bị lỗi hiển thị (vỡ font).
Luyện tập củng cố Bài 3 (3 câu hỏi)
Chọn 1 đáp án đúng

Câu 1: Bảng mã ASCII chuẩn ban đầu sử dụng bao nhiêu bit để mã hóa một kí tự?

Câu 2: Tại sao chuẩn mã hóa Unicode (đặc biệt là UTF-8) lại trở thành tiêu chuẩn toàn cầu hiện nay?

Câu 3: Hiện tượng một tệp văn bản tiếng Việt bị lỗi hiển thị các dấu câu ('vỡ font') thường do nguyên nhân nào?

Bài 4 Chủ đề 1 – Máy tính và xã hội tri thức Khoa học máy tính

Bài 4: Hệ nhị phân và dữ liệu số nguyên

Sơ đồ trực quan Bài 4: Hệ nhị phân và dữ liệu số nguyên SVG Vector Interactive
Quy tắc đổi cơ số 10 ⇄ 2 và biểu diễn số nguyên bù 2 Chủ đề 1: Máy tính & Xã hội
CHUYỂN ĐỔI THẬP PHÂN ⇄ NHỊ PHÂN 13 ÷ 2 = 6 (dư 1) ↑ 6 ÷ 2 = 3 (dư 0) ↑ ⟹ 13₁₀ = 1101₂ 1101₂ = 1×8 + 1×4 + 0×2 + 1×1 = 13 BIỂU DIỄN SỐ ÂM (BÙ 2) +5 (8-bit): 0000 0101 Đảo bit (Bù 1): 1111 1010 Cộng 1: -5 = 1111 1011 (Bù 2)

1. Hệ nhị phân (Binary System)

  • Đặc điểm: Hệ đếm cơ số 2 chỉ sử dụng hai chữ số là 0 và 1. Giá trị của mỗi chữ số phụ thuộc vào vị trí của nó theo lũy thừa của 2:

$$(d_n d_{n-1} ... d_1 d_0)_2 = \sum_{i=0}^n d_i \cdot 2^i$$

  • Chuyển đổi nhị phân $\to$ thập phân: Nhân từng chữ số với lũy thừa cơ số 2 tương ứng rồi cộng lại.

*(Ví dụ: $1101_2 = 1 \cdot 2^3 + 1 \cdot 2^2 + 0 \cdot 2^1 + 1 \cdot 2^0 = 8 + 4 + 0 + 1 = 13_{10}$).*

  • Chuyển đổi thập phân $\to$ nhị phân: Chia liên tiếp phần nguyên cho 2, ghi lại các số dư, sau đó viết các số dư theo thứ tự ngược lại từ dưới lên trên.

2. Các phép toán số học nhị phân

  • Quy tắc cộng nhị phân:
  • $0 + 0 = 0$
  • $0 + 1 = 1$
  • $1 + 0 = 1$
  • $1 + 1 = 10$ (viết 0, nhớ 1 sang hàng bên trái)
  • $1 + 1 + 1 = 11$ (viết 1, nhớ 1)
  • Quy tắc nhân nhị phân: Tương tự nhân thập phân nhưng chỉ gồm các phép nhân với 0 và 1, sau đó cộng các tích riêng đã dịch chuyển vị trí.

3. Biểu diễn số nguyên có dấu trong máy tính

  • Phương pháp mã bù hai (Two's Complement):
  • Là phương pháp chuẩn được hầu hết các kiến trúc máy tính hiện đại sử dụng để biểu diễn số nguyên có dấu.
  • Cách tạo số âm bù 2: Đảo tất cả các bit của số dương (0 thành 1, 1 thành 0) rồi cộng thêm 1.
  • Ưu điểm vượt trội: Phép trừ được thực hiện hoàn toàn giống như phép cộng, và chỉ có một biểu diễn duy nhất cho số 0.
  • Hiện tượng tràn số (Overflow): Xảy ra khi kết quả tính toán vượt quá giới hạn miền giá trị mà số bit quy định có thể biểu diễn được.
Luyện tập củng cố Bài 4 (3 câu hỏi)
Chọn 1 đáp án đúng

Câu 1: Số nhị phân $1011_2$ khi chuyển đổi sang hệ thập phân có giá trị bằng bao nhiêu?

Câu 2: Kết quả của phép cộng nhị phân $110_2 + 011_2$ bằng:

Câu 3: Trong kiến trúc máy tính, phương pháp nào phổ biến nhất để biểu diễn số nguyên có dấu?

Bài 5 Chủ đề 1 – Máy tính và xã hội tri thức Khoa học máy tính

Bài 5: Dữ liệu lôgic

Sơ đồ trực quan Bài 5: Dữ liệu lôgic SVG Vector Interactive
Các cổng lôgic cơ bản (AND, OR, XOR, NOT) và bảng chân trị Chủ đề 1: Máy tính & Xã hội
CỔNG AND A ∧ B (VÀ) 1 AND 1 = 1 Các TH khác = 0 CỔNG OR A ∨ B (HOẶC) 0 OR 0 = 0 Có 1 là Đúng CỔNG XOR A ⊕ B (Loại trừ) 1 ⊕ 0 = 1; 0 ⊕ 1 = 1 Giống nhau = 0 CỔNG NOT ¬ A (PHỦ ĐỊNH) NOT 1 = 0 NOT 0 = 1

1. Khái niệm kiểu dữ liệu lôgic

  • Mệnh đề logic: Là câu khẳng định chỉ nhận một trong hai giá trị chân lí: ĐÚNG (True) hoặc SAI (False).
  • Biểu diễn trong máy tính: Trong mạch điện tử và lập trình, giá trị Đúng thường được quy ước tương ứng với bit 1 (hoặc mức điện áp cao), giá trị Sai tương ứng với bit 0 (mức điện áp thấp).

2. Các phép toán lôgic cơ bản

  • Phép VÀ (AND): Kí hiệu $\land$ hoặc toán tử and. Kết quả chỉ Đúng khi cả hai đầu vào đều Đúng.

$$1 \text{ AND } 1 = 1;\quad 1 \text{ AND } 0 = 0;\quad 0 \text{ AND } 0 = 0$$

  • Phép HOẶC bao hàm (OR): Kí hiệu $\lor$ hoặc toán tử or. Kết quả Đúng khi có ít nhất một đầu vào Đúng.

$$1 \text{ OR } 0 = 1;\quad 0 \text{ OR } 1 = 1;\quad 0 \text{ OR } 0 = 0$$

  • Phép PHỦ ĐỊNH (NOT): Kí hiệu $\neg$ hoặc toán tử not. Đảo ngược giá trị chân lí: $\text{NOT } 1 = 0;\, \text{NOT } 0 = 1$.
  • Phép HOẶC loại trừ (XOR): Kí hiệu $\oplus$. Kết quả Đúng khi hai đầu vào có giá trị khác nhau; kết quả Sai khi hai đầu vào giống nhau:

$$1 \oplus 0 = 1;\quad 0 \oplus 1 = 1;\quad 1 \oplus 1 = 0;\quad 0 \oplus 0 = 0$$

3. Ứng dụng trong mạch máy tính và điều kiện lập trình

  • Các phép toán logic là nền tảng để thiết kế các cổng logic (Logic Gates) cấu thành nên bộ xử lí CPU (bộ số học và logic ALU).
  • Trong lập trình, các biểu thức logic được sử dụng để điều khiển các cấu trúc rẽ nhánh (if) và cấu trúc lặp (while).
Luyện tập củng cố Bài 5 (3 câu hỏi)
Chọn 1 đáp án đúng

Câu 1: Biểu thức logic $(1 \text{ AND } 0) \text{ OR } (\text{NOT } 0)$ có giá trị chân lí là:

Câu 2: Phép toán logic XOR (HOẶC loại trừ) trả về giá trị Đúng (1) khi nào?

Câu 3: Trong các mạch điện tử của máy tính, cổng logic đóng vai trò là:

Bài 6 Chủ đề 1 – Máy tính và xã hội tri thức Kiến thức chung

Bài 6: Dữ liệu âm thanh và hình ảnh

Sơ đồ trực quan Bài 6: Dữ liệu âm thanh và hình ảnh SVG Vector Interactive
Lấy mẫu âm thanh và so sánh bản chất Đồ họa Raster vs Vector Chủ đề 1: Máy tính & Xã hội
LẤY MẪU & LƯỢNG TỬ HÓA ÂM THANH Tần số mẫu (Hz) × Độ sâu bit (bit depth) SO SÁNH ẢNH RASTER VS VECTOR Raster: Pixel (vỡ khi phóng) Vector: Toán học (sắc nét)

1. Số hóa âm thanh

  • Bản chất âm thanh: Là sóng cơ học liên tục trong tự nhiên. Để máy tính xử lí được, tín hiệu liên tục phải được số hóa qua hai bước:
  • Lấy mẫu (Sampling): Đo biên độ tín hiệu âm thanh tại các khoảng thời gian đều đặn. Tần số lấy mẫu (Sampling Rate, đơn vị Hz) là số lần đo trong một giây (ví dụ: đĩa CD chuẩn lấy mẫu 44.100 Hz).
  • Lượng tử hóa (Quantization): Làm tròn giá trị biên độ đo được thành các mức rời rạc và mã hóa bằng các bit nhị phân (độ sâu bit, ví dụ: 16 bit hoặc 24 bit).
  • Công thức ước lượng dung lượng âm thanh không nén:

$$\text{Dung lượng (Byte)} = \frac{\text{Thời gian (s)} \times \text{Tần số lấy mẫu (Hz)} \times \text{Độ sâu bit} \times \text{Số kênh}}{8}$$

2. Số hóa hình ảnh: Ảnh Raster và Đồ họa Vector

  • Ảnh Raster (Bitmap):
  • Được cấu tạo từ một lưới các điểm ảnh (Pixel) hình vuông xếp liền nhau.
  • Độ phân giải: Số lượng pixel theo chiều ngang $\times$ chiều dọc (ví dụ: $1920 \times 1080$).
  • Độ sâu màu (Color Depth): Số bit dùng để lưu mã màu cho mỗi pixel (ví dụ: True Color 24 bit gồm 8 bit Đỏ, 8 bit Xanh lá, 8 bit Xanh dương - RGB).
  • *Nhược điểm:* Khi phóng to hình ảnh sẽ bị vỡ hạt, răng cưa. Định dạng phổ biến: JPEG, PNG, BMP.
  • Đồ họa Vector:
  • Hình ảnh được định nghĩa bằng các công thức toán học (tọa độ điểm, đường thẳng, đường cong Bézier, đa giác, màu tô).
  • *Ưu điểm vượt trội:* Có thể phóng to hay thu nhỏ tùy ý mà hình vẽ vẫn luôn sắc nét, không bị vỡ nét; dung lượng tệp thường nhỏ. Thích hợp cho thiết kế logo, biểu đồ, icon. Định dạng phổ biến: SVG, EPS, AI.

3. Nén dữ liệu đa phương tiện

  • Nén không mất dữ liệu (Lossless): Khôi phục chính xác 100% dữ liệu gốc khi giải nén (ví dụ: ZIP, PNG, FLAC).
  • Nén mất dữ liệu (Lossy): Loại bỏ bớt một phần thông tin mà mắt người hoặc tai người khó nhận biết để đạt tỉ lệ nén rất cao (ví dụ: JPEG, MP3, MP4).
Luyện tập củng cố Bài 6 (3 câu hỏi)
Chọn 1 đáp án đúng

Câu 1: Hai công đoạn cốt lõi của quá trình số hóa âm thanh là:

Câu 2: Ưu điểm vượt trội của đồ họa vector so với ảnh raster (bitmap) là:

Câu 3: Định dạng tệp nào dưới đây thuộc nhóm nén dữ liệu KHÔNG mất dữ liệu (Lossless)?

Bài 7 Chủ đề 1 – Máy tính và xã hội tri thức Tin học ứng dụng

Bài 7: Thực hành sử dụng thiết bị số thông dụng

Sơ đồ trực quan Bài 7: Thực hành sử dụng thiết bị số thông dụng SVG Vector Interactive
Cấu trúc cây thư mục phân cấp và quản lí tệp trên thiết bị di động Chủ đề 1: Máy tính & Xã hội
📁 Bộ nhớ trong 📁 Documents 📁 DCIM (Ảnh chụp) 📁 Download (Tải về) ☁️ ĐỒNG BỘ ĐÁM MÂY Google Drive / iCloud / OneDrive

1. Nhận biết và cấu hình thiết bị trợ thủ số cá nhân (PDA/Smartphone/Tablet)

  • Hệ điều hành di động phổ biến: Android, iOS.
  • Thành phần giao diện cơ bản: Màn hình chính (Home Screen), khay ứng dụng, thanh trạng thái (Status Bar) hiển thị pin/sóng/thời gian, thanh điều hướng (Back, Home, Recent Apps).
  • Các kết nối không dây: Wi-Fi, Bluetooth (kết nối tai nghe, đồng hồ, loa), mạng di động 4G/5G, định vị toàn cầu GPS.

2. Kĩ năng quản lí tệp và dữ liệu trên thiết bị số

  • Cấu trúc thư mục phân cấp: Bộ nhớ trong (Internal Storage) và thẻ nhớ ngoài (SD Card) được tổ chức theo mô hình cây thư mục gồm các thư mục gốc, thư mục con và tệp tin.
  • Các thao tác tệp cơ bản: Xem thông tin tệp, tạo thư mục mới, sao chép (Copy), di chuyển (Move), đổi tên (Rename), chia sẻ (Share) và xóa (Delete).
  • Đồng bộ hóa đám mây (Cloud Sync): Kết nối tài khoản Google Drive, iCloud, OneDrive để tự động sao lưu danh bạ, ảnh, video và tài liệu học tập.

3. An toàn dữ liệu trong thực hành

  • Luôn kiểm tra dung lượng bộ nhớ trống trước khi tải tệp lớn.
  • Không tùy tiện xóa các tệp hệ thống hoặc dữ liệu người khác khi dùng chung thiết bị.
  • Đặt mật khẩu khóa màn hình (mã PIN, vân tay, nhận diện khuôn mặt) để bảo mật thiết bị cá nhân.
Luyện tập củng cố Bài 7 (3 câu hỏi)
Chọn 1 đáp án đúng

Câu 1: Hệ thống quản lí tệp trên thiết bị di động thông minh được tổ chức theo cấu trúc nào?

Câu 2: Lợi ích nổi bật của việc đồng bộ hóa dữ liệu di động với dịch vụ lưu trữ đám mây là:

Câu 3: Thao tác nào dưới đây tiềm ẩn rủi ro mất dữ liệu vĩnh viễn trên thiết bị?

Bài 8 Chủ đề 2 – Mạng máy tính và Internet Kiến thức chung

Bài 8: Mạng máy tính trong cuộc sống hiện đại

Sơ đồ trực quan Bài 8: Mạng máy tính trong cuộc sống hiện đại SVG Vector Interactive
Mô hình kiến trúc mạng cục bộ (LAN), mạng diện rộng (WAN) và Internet Chủ đề 2: Mạng & Internet
MẠNG CỤC BỘ (LAN 1) 💻 PC A 💻 PC B Switch nội bộ ROUTER & INTERNET MẠNG CỤC BỘ (LAN 2) 🖨️ Máy in 📱 Mobile Access Point

1. Khái niệm và các thành phần của mạng máy tính

  • Mạng máy tính (Computer Network): Là tập hợp các thiết bị máy tính được kết nối với nhau bằng các phương tiện truyền dẫn (dây cáp mạng hoặc sóng vô tuyến) để chia sẻ tài nguyên và trao đổi dữ liệu.
  • Các thành phần cốt lõi:
  • Thiết bị đầu cuối (End Devices): Máy tính để bàn, laptop, máy chủ, máy in, điện thoại thông minh, camera an ninh.
  • Thiết bị kết nối mạng (Network Devices): Bộ chuyển mạch (Switch - chuyển tiếp gói tin trong mạng nội bộ), Bộ định tuyến (Router - định tuyến đường đi giữa các mạng khác nhau), Điểm truy cập không dây (Access Point).
  • Giao thức mạng (Protocol): Bộ quy tắc chuẩn để các thiết bị hiểu và giao tiếp được với nhau, phổ biến nhất là bộ giao thức TCP/IP.

2. Phân loại mạng: LAN và WAN

  • Mạng cục bộ (LAN - Local Area Network): Kết nối các máy tính trong một phạm vi địa lí nhỏ như một phòng học, một tòa nhà hay một cơ quan. Tốc độ truyền cao, độ trễ thấp.
  • Mạng diện rộng (WAN - Wide Area Network): Kết nối các mạng LAN trên phạm vi địa lí rộng lớn (quốc gia, châu lục hoặc toàn cầu). Internet chính là mạng WAN lớn nhất hành tinh.

3. Các công nghệ mạng hiện đại: Điện toán đám mây và IoT

  • Điện toán đám mây (Cloud Computing): Cung cấp tài nguyên tính toán (máy chủ, lưu trữ, cơ sở dữ liệu, phần mềm) theo nhu cầu qua Internet (như Google Drive, AWS, Microsoft Azure).
  • Internet vạn vật (IoT - Internet of Things): Mạng lưới hàng tỉ thiết bị vật lí được gắn cảm biến và phần mềm để tự động kết nối, chia sẻ dữ liệu qua Internet (như đồng hồ thông minh, nông nghiệp thông minh, xe thông minh).
Luyện tập củng cố Bài 8 (3 câu hỏi)
Chọn 1 đáp án đúng

Câu 1: Mạng máy tính kết nối các máy tính trong phạm vi một trường học hoặc một tòa nhà được gọi là:

Câu 2: Thiết bị mạng nào có chức năng định tuyến và chuyển tiếp các gói tin giữa các mạng khác nhau?

Câu 3: Mô hình điện toán đám mây (Cloud Computing) đem lại lợi ích gì cho người dùng?

Bài 9 Chủ đề 2 – Mạng máy tính và Internet Kiến thức chung

Bài 9: An toàn trên không gian mạng

Sơ đồ trực quan Bài 9: An toàn trên không gian mạng SVG Vector Interactive
Tam giác an toàn không gian mạng: Phòng chống Phishing, Mã độc & Bảo vệ 2FA Chủ đề 2: Mạng & Internet
⚠️ TẤN CÔNG GIẢ MẠO Email giả ngân hàng, SMS Lừa click link độc hại Dấu hiệu: Sai tên miền, giục gấp 🛡️ XÁC THỰC 2 BƯỚC (2FA) Bước 1: Mật khẩu mạnh Bước 2: OTP / Authenticator Ngăn chặn 99% chiếm đoạt 🔑 MẬT KHẨU AN TOÀN ≥ 12 kí tự phức tạp Chữ HOA, thường, số, @#$ Không dùng chung 1 mật khẩu

1. Các nguy cơ rủi ro trên không gian mạng

  • Mã độc (Malware): Gồm virus, sâu máy tính (worm), mã độc tống tiền (ransomware), phần mềm gián điệp (spyware) lây nhiễm qua tệp tải về hoặc USB.
  • Tấn công giả mạo (Phishing): Kẻ xấu tạo các trang web hoặc gửi email/tin nhắn giả mạo các tổ chức uy tín (ngân hàng, mạng xã hội) nhằm lừa nạn nhân nhập tài khoản và mật khẩu.
  • Bắt nạt qua mạng (Cyberbullying): Hành vi đe dọa, vu khống, bôi nhọ, xúc phạm danh dự người khác trên các diễn đàn và mạng xã hội.

2. Các biện pháp bảo vệ tài khoản và thiết bị

  • Nguyên tắc mật khẩu an toàn: Dài từ 12 kí tự trở lên, kết hợp chữ hoa, chữ thường, chữ số và kí tự đặc biệt; không dùng thông tin cá nhân dễ đoán; không dùng chung một mật khẩu cho nhiều dịch vụ.
  • Xác thực hai yếu tố (2FA - Two-Factor Authentication): Bắt buộc kích hoạt để bảo vệ tài khoản bằng lớp bảo mật thứ hai (mã OTP qua SMS hoặc ứng dụng Authenticator).
  • Cập nhật hệ điều hành & phần mềm bảo mật: Cập nhật thường xuyên các bản vá lỗi bảo mật để ngăn ngừa các lỗ hổng bị khai thác.

3. Quy trình xử lí khi gặp sự cố an ninh mạng

  • Bước 1: Lập tức ngắt kết nối mạng (rút dây mạng hoặc tắt Wi-Fi).
  • Bước 2: Đổi mật khẩu ngay lập tức từ một thiết bị sạch và an toàn khác.
  • Bước 3: Chụp ảnh màn hình lưu giữ bằng chứng vi phạm.
  • Bước 4: Báo cáo sự việc cho phụ huynh, thầy cô giáo hoặc cơ quan chức năng có thẩm quyền.
Luyện tập củng cố Bài 9 (3 câu hỏi)
Chọn 1 đáp án đúng

Câu 1: Hình thức tấn công mạng mà kẻ xấu giả mạo email ngân hàng để lừa nạn nhân nhập mật khẩu gọi là:

Câu 2: Mật khẩu nào dưới đây đạt chuẩn an toàn cao nhất?

Câu 3: Cơ chế xác thực hai yếu tố (2FA) bảo vệ tài khoản bằng cách:

Bài 10 Chủ đề 2 – Mạng máy tính và Internet Tin học ứng dụng

Bài 10: Thực hành khai thác tài nguyên trên Internet

Sơ đồ trực quan Bài 10: Thực hành khai thác tài nguyên trên Internet SVG Vector Interactive
Các toán tử tìm kiếm chuyên sâu trên công cụ tìm kiếm Google Search Chủ đề 2: Mạng & Internet
"cụm từ chính xác" Tìm đúng thứ tự từ: "tin học lớp 10" site:tên_miền Chỉ tìm trong web: python site:moet.gov.vn -từ_loại_trừ Bỏ kết quả không muốn: python -snake filetype:định_dạng Lọc tệp tài liệu: giao_trinh filetype:pdf

1. Kĩ thuật tìm kiếm thông tin nâng cao với Google Search

  • Toán tử ngoặc kép "cụm từ": Tìm kiếm chính xác tuyệt đối cụm từ theo đúng thứ tự các từ.

*(Ví dụ: "định luật bảo toàn động lượng")*.

  • Toán tử loại trừ -từ_khóa: Loại bỏ các kết quả chứa từ khóa phía sau dấu trừ.

*(Ví dụ: python -snake để tìm ngôn ngữ lập trình Python mà không hiển thị loài trăn/rắn)*.

  • Toán tử tìm trên trang đích site:tên_miền: Chỉ tìm kiếm nội dung trên một website cụ thể.

*(Ví dụ: tuyển sinh 2026 site:moet.gov.vn)*.

  • Toán tử định dạng tệp filetype:định_dạng: Tìm các tệp tài liệu chuyên dụng (pdf, docx, pptx).

*(Ví dụ: giáo trình tin học 10 filetype:pdf)*.

2. Kĩ năng đánh giá độ tin cậy của thông tin trên mạng

  • Tiêu chí tác giả/tổ chức: Nguồn tin đến từ cơ quan nhà nước, trường đại học (.edu, .gov) hay một trang blog cá nhân vô danh?
  • Tiêu chí tính cập nhật: Bài viết được xuất bản hoặc chỉnh sửa gần nhất vào thời gian nào?
  • Tiêu chí bằng chứng: Bài viết có trích dẫn nguồn số liệu, tài liệu tham khảo rõ ràng hay chỉ là phỏng đoán cảm tính?
  • Kiểm chứng chéo: So sánh thông tin với ít nhất 2 đến 3 nguồn tin độc lập uy tín khác trước khi tin tưởng và chia sẻ.
Luyện tập củng cố Bài 10 (3 câu hỏi)
Chọn 1 đáp án đúng

Câu 1: Để tìm kiếm chính xác cụm từ 'tin học 10 kết nối tri thức' trên Google, ta nên dùng cú pháp nào?

Câu 2: Cú pháp tìm kiếm nào giúp bạn chỉ tìm các tệp giáo án định dạng PDF trên Google?

Câu 3: Khi đọc một thông tin bất ngờ trên mạng xã hội, hành động thông minh nhất của học sinh là:

Bài 11 Chủ đề 3 – Đạo đức, pháp luật và văn hoá trong môi trường số Kiến thức chung

Bài 11: Ứng xử trên môi trường số. Nghĩa vụ tôn trọng bản quyền

Sơ đồ trực quan Bài 11: Ứng xử trên môi trường số. Nghĩa vụ tôn trọng bản quyền SVG Vector Interactive
Văn hóa ứng xử số và các mức độ giấy phép Creative Commons (CC) Chủ đề 3: Đạo đức & Bản quyền
ỨNG XỬ SỐ & DẤU CHÂN KĨ THUẬT SỐ • Tôn trọng, không quấy rối / thóa mạ • Không phát tán tin giả mạo (Fake news) ⚠️ Mọi bài đăng đều lưu vết lâu dài (Digital Footprint) BẢN QUYỀN MỞ CREATIVE COMMONS © Bản quyền giữ kín (All Rights Reserved) BY: Ghi nhận tác giả | NC: Phi thương mại ND: Không phái sinh | SA: Chia sẻ tương tự

1. Văn hóa ứng xử trên mạng (Netiquette)

  • Tôn trọng và lịch sự: Luôn giữ thái độ nhã nhặn, không dùng từ ngữ thô tục, xúc phạm, phân biệt đối xử hay kích động bạo lực.
  • Dấu chân kĩ thuật số (Digital Footprint): Mọi hành vi, bài đăng, bình luận, hình ảnh chia sẻ trên Internet đều để lại dấu vết lâu dài và có thể ảnh hưởng trực tiếp đến danh tiếng, học tập và cơ hội nghề nghiệp tương lai.
  • Tôn trọng quyền riêng tư: Tuyệt đối không đăng tải hình ảnh, ghi âm hoặc thông tin cá nhân của người khác lên mạng khi chưa được sự cho phép rõ ràng.

2. Quyền tác giả và nghĩa vụ tôn trọng bản quyền phần mềm

  • Quyền tác giả (Copyright): Là quyền của tổ chức, cá nhân đối với tác phẩm do mình sáng tạo ra hoặc sở hữu (văn bản, phần mềm, âm nhạc, tranh ảnh, video). Kí hiệu: ©.
  • Hành vi vi phạm bản quyền: Sử dụng phần mềm bẻ khóa (crack), sao chép tác phẩm của người khác mà không xin phép, tự nhận sản phẩm của người khác là của mình (đạo văn).
  • Giấy phép phần mềm nguồn mở và Creative Commons (CC):
  • Phần mềm nguồn mở (Open Source): Cho phép người dùng tự do xem mã nguồn, sửa đổi và phân phối lại (như Linux, Inkscape, Python).
  • Giấy phép Creative Commons (CC): Hệ thống giấy phép linh hoạt giúp tác giả cấp quyền cho cộng đồng sử dụng tác phẩm theo các điều kiện cụ thể (CC-BY: ghi nhận tác giả; CC-NC: phi thương mại...).
Luyện tập củng cố Bài 11 (3 câu hỏi)
Chọn 1 đáp án đúng

Câu 1: Khái niệm 'Dấu chân kĩ thuật số' (Digital Footprint) cảnh báo điều gì cho người dùng Internet?

Câu 2: Hành vi nào dưới đây vi phạm nghiêm trọng luật sở hữu trí tuệ và bản quyền phần mềm?

Câu 3: Kí hiệu giấy phép Creative Commons 'CC-BY' cho phép người khác sử dụng tác phẩm với điều kiện gì?

Bài 12 Chủ đề 4 – Ứng dụng tin học (Đồ họa máy tính) Tin học ứng dụng

Bài 12: Phần mềm thiết kế đồ họa

Sơ đồ trực quan Bài 12: Phần mềm thiết kế đồ họa SVG Vector Interactive
Giao diện phần mềm đồ họa vector Inkscape và các công cụ cốt lõi Chủ đề 4: Đồ họa Inkscape (ICT)
File Edit View Layer Object Path Text Filters Help ↖ S □ R ○ E 🖋 B T Trang vẽ (Canvas) Định dạng tệp: .SVG (Chuẩn vector mở) Phóng to thu nhỏ không bao giờ vỡ hạt

1. Giới thiệu phần mềm đồ họa vector Inkscape

  • Inkscape là gì? Là phần mềm thiết kế đồ họa vector mã nguồn mở hoàn toàn miễn phí, chuyên nghiệp, hỗ trợ định dạng chuẩn mở SVG (Scalable Vector Graphics).
  • Các khu vực chính trên giao diện Inkscape:
  • Thanh bảng chọn (Menu Bar): Chứa các trình đơn chức năng chính như File, Edit, Object, Path, Text.
  • Hộp công cụ (Toolbox): Nằm dọc mép trái màn hình, chứa các công cụ vẽ hình khối, bút vẽ, chọn đối tượng, văn bản.
  • Thanh điều khiển thuộc tính (Tool Controls Bar): Nằm ngang phía trên, thay đổi linh hoạt tùy theo công cụ đang được kích hoạt.
  • Vùng làm việc và trang vẽ (Canvas & Page Border): Nơi hiển thị và thao tác vẽ các đối tượng đồ họa.
  • Bảng màu (Palette) và Thanh trạng thái (Status Bar): Nằm phía dưới đáy màn hình.

2. Các công cụ vẽ hình cơ bản

  • Công cụ chọn (Select Tool - F1 / phím S): Dùng để chọn, di chuyển, thay đổi kích thước, kéo dãn và xoay các đối tượng.
  • Công cụ hình chữ nhật (Rectangle Tool - F4 / phím R): Vẽ hình chữ nhật, hình vuông (giữ phím Ctrl khi kéo chuột), bo tròn góc (kéo chốt tròn).
  • Công cụ hình elip (Ellipse Tool - F5 / phím E): Vẽ hình elip, hình tròn (giữ Ctrl), vẽ cung hoặc quạt tròn.
  • Công cụ đa giác và ngôi sao (Stars and Polygons - phím *): Vẽ đa giác đều hoặc hình sao nhiều cánh với các tham số góc bo, độ xoắn.
Luyện tập củng cố Bài 12 (3 câu hỏi)
Chọn 1 đáp án đúng

Câu 1: Phần mềm Inkscape sử dụng định dạng tệp chuẩn mở nào để lưu trữ đồ họa vector?

Câu 2: Phím tắt để kích hoạt công cụ chọn và biến đổi đối tượng (Select Tool) trong Inkscape là:

Câu 3: Để vẽ một hình vuông hoàn hảo hoặc hình tròn đều trong Inkscape, ta giữ phím nào khi kéo chuột?

Bài 13 Chủ đề 4 – Ứng dụng tin học (Đồ họa máy tính) Tin học ứng dụng

Bài 13: Bổ sung các đối tượng đồ họa

Sơ đồ trực quan Bài 13: Bổ sung các đối tượng đồ họa SVG Vector Interactive
Các phép ghép/cắt đối tượng đồ họa trong thực đơn Path (Boolean Operations) Chủ đề 4: Đồ họa Inkscape (ICT)
Union (Hợp) Ctrl + + Difference (Hiệu) Ctrl + - (Dưới trừ trên) Intersection (Giao) Ctrl + * Exclusion (Loại trừ) Ctrl + ^

1. Thiết lập màu tô (Fill) và màu viền (Stroke)

  • Hộp thoại Fill and Stroke (Ctrl + Shift + F):
  • Thẻ Fill: Thiết lập màu bên trong đối tượng (Tô màu đơn sắc Flat color, chuyển màu tuyến tính Linear Gradient, chuyển màu xuyên tâm Radial Gradient, hoặc không tô màu No paint).
  • Thẻ Stroke paint: Thiết lập màu cho đường viền bao quanh đối tượng.
  • Thẻ Stroke style: Chỉnh độ dày của nét vẽ (Width), kiểu nét (nét liền, nét đứt, chấm chấm), kiểu góc nối và đầu mút.

2. Các phép ghép hình trong thực đơn Path (Boolean Operations)

  • Hợp (Union - Ctrl + +): Gộp hai hay nhiều đối tượng thành một hình duy nhất bao phủ toàn bộ diện tích của các hình gốc.
  • Hiệu (Difference - Ctrl + -): Lấy hình bên dưới trừ đi phần giao nhau với hình bên trên (hình bên trên biến mất).
  • Giao (Intersection - Ctrl + *): Chỉ giữ lại phần diện tích chung của các hình được chọn.
  • Hiệu đối xứng (Exclusion - Ctrl + ^): Giữ lại toàn bộ phần diện tích của hai hình ngoại trừ phần giao nhau ở giữa.
  • Chia (Division - Ctrl + /): Hình bên trên cắt hình bên dưới thành các mảnh rời nhau theo đường viền.
Luyện tập củng cố Bài 13 (3 câu hỏi)
Chọn 1 đáp án đúng

Câu 1: Trong Inkscape, thuộc tính Fill và Stroke lần lượt quy định điều gì của đối tượng?

Câu 2: Phép toán ghép hình nào trong thực đơn Path giúp gộp hai hình chồng lên nhau thành một hình duy nhất?

Câu 3: Khi thực hiện phép Difference (Hiệu) giữa hai hình, thứ tự lớp (Z-order) có vai trò như thế nào?

Bài 14 Chủ đề 4 – Ứng dụng tin học (Đồ họa máy tính) Tin học ứng dụng

Bài 14: Làm việc với đối tượng đường và văn bản

Sơ đồ trực quan Bài 14: Làm việc với đối tượng đường và văn bản SVG Vector Interactive
Đường cong Bézier, điểm neo (Nodes) và tay nắm điều khiển hướng (Handles) Chủ đề 4: Đồ họa Inkscape (ICT)
Nút bắt đầu Nút trơn (Smooth Node) Tay nắm hướng Nút kết thúc

1. Vẽ và chỉnh sửa đường cong Bézier

  • Công cụ bút vẽ Bézier (Draw Bezier Curves - Shift + F6 / phím B):
  • Nhấp chuột từng điểm để vẽ các đoạn thẳng gấp khúc.
  • Nhấp và kéo chuột (drag) để tạo các điểm uốn cong mượt mà.
  • Nhấp đúp chuột hoặc bấm Enter để kết thúc đường vẽ hở; nhấp vào điểm bắt đầu để khép kín đường vẽ.
  • Công cụ tinh chỉnh nút (Edit paths by nodes - F2 / phím N):
  • Cho phép chọn, di chuyển các nút neo (Nodes).
  • Thêm nút mới (nhấp đúp trên đường), xóa nút (phím Delete).
  • Điều chỉnh hai tay nắm tiếp tuyến (Control Handles) để uốn nắn độ cong của đường vẽ.
  • Chuyển hình khối thành đường: Thực đơn Path $\to$ Object to Path (Ctrl + Shift + C).

2. Chèn và định dạng văn bản trong Inkscape

  • Công cụ văn bản (Text Tool - F8 / phím T): Nhấp chuột lên trang để gõ chữ tự do hoặc kéo chuột tạo khung chứa văn bản.
  • Định dạng văn bản: Chọn phông chữ, cỡ chữ, kiểu in đậm/nghiêng, căn lề trái/phải/giữa trên thanh thuộc tính.
  • Hiệu ứng chữ theo đường dẫn (Put on Path): Chọn đồng thời đối tượng văn bản và một đường cong, vào Text $\to$ Put on Path để uốn lượn dòng chữ theo đường cong mềm mại.
Luyện tập củng cố Bài 14 (3 câu hỏi)
Chọn 1 đáp án đúng

Câu 1: Công cụ nào trong Inkscape chuyên dùng để vẽ các đường cong Bézier tự do?

Câu 2: Để nắn chỉnh độ cong mượt mà của một đoạn cong Bézier, ta sử dụng công cụ nào?

Câu 3: Tính năng nào cho phép uốn lượn dòng chữ chạy dọc theo một đường cong trong Inkscape?

Bài 15 Chủ đề 4 – Ứng dụng tin học (Đồ họa máy tính) Tin học ứng dụng

Bài 15: Hoàn thiện hình ảnh đồ họa

Sơ đồ trực quan Bài 15: Hoàn thiện hình ảnh đồ họa SVG Vector Interactive
Quy trình 5 bước hoàn thiện sản phẩm đồ họa số từ thiết kế đến xuất bản Chủ đề 4: Đồ họa Inkscape (ICT)
1. Ý TƯỞNG Phác thảo bố cục → 2. DỰNG HÌNH Vẽ vector Inkscape → 3. PHỐI MÀU Fill & Stroke, Font → 4. LƯU TỆP SVG Giữ nguyên bản gốc → 5. XUẤT PNG / PDF

1. Quy trình chuẩn thiết kế sản phẩm đồ họa số

  • Bước 1: Xác định mục tiêu và đối tượng: Sản phẩm là gì (logo, banner, infographic, poster)? Dành cho ai xem? Thông điệp cần truyền tải là gì?
  • Bước 2: Phác thảo ý tưởng (Sketch): Vẽ nháp bố cục, cấu trúc các khối chính và vị trí đặt chữ trên giấy.
  • Bước 3: Dựng hình vector trong Inkscape: Sử dụng các công cụ vẽ khối cơ bản, bút Bézier và các phép ghép Path để vẽ chi tiết.
  • Bước 4: Phối màu và phân cấp thị giác: Lựa chọn bảng màu hài hòa (tối đa 3-4 màu chủ đạo), đảm bảo độ tương phản cao giữa chữ và nền để dễ đọc.
  • Bước 5: Kiểm tra và tinh chỉnh: Soát lỗi chính tả, căn lề thẳng hàng (Align and Distribute - Ctrl + Shift + A), kiểm tra bản quyền các hình ảnh đưa vào.

2. Lưu trữ và xuất bản sản phẩm

  • Lưu tệp nguồn SVG (Ctrl + S): Luôn giữ tệp nguồn gốc định dạng .svg để có thể chỉnh sửa lại các lớp (layers) và đối tượng bất kì lúc nào.
  • Xuất ảnh định dạng phổ biến (Ctrl + Shift + E): Xuất ra tệp ảnh Raster (.png) với độ phân giải cao (300 DPI khi in ấn hoặc 96 DPI cho hiển thị trên website) hoặc xuất sang định dạng .pdf.
Luyện tập củng cố Bài 15 (3 câu hỏi)
Chọn 1 đáp án đúng

Câu 1: Độ phân giải chuẩn khuyến nghị khi xuất tệp ảnh PNG từ Inkscape để in ấn chất lượng cao là:

Câu 2: Tại sao nhà thiết kế luôn bắt buộc phải lưu giữ tệp nguồn gốc định dạng .SVG?

Câu 3: Bảng điều khiển Align and Distribute (Ctrl + Shift + A) có chức năng gì?

Bài 16 Chủ đề 5 – Giải quyết vấn đề với sự trợ giúp của máy tính Khoa học máy tính

Bài 16: Ngôn ngữ lập trình bậc cao và Python

Sơ đồ trực quan Bài 16: Ngôn ngữ lập trình bậc cao và Python SVG Vector Interactive
Môi trường thực thi Python: Từ mã nguồn .py đến máy ảo Python (PVM) Chủ đề 5: Lập trình Python (CS)
MÃ NGUỒN (.py) print("Hello 10") TRÌNH THÔNG DỊCH Biên dịch ra Bytecode (.pyc / In-memory) MÁY ẢO PVM Thực thi ra CPU

1. Ngôn ngữ lập trình bậc cao

  • Ngôn ngữ máy (Machine Language): Là ngôn ngữ duy nhất máy tính hiểu trực tiếp, chỉ gồm các chỉ thị nhị phân 0 và 1. Rất khó nhớ và khó viết đối với con người.
  • Ngôn ngữ bậc cao (High-level Language): Gần gũi với ngôn ngữ tự nhiên của con người (tiếng Anh) và kí hiệu toán học, độc lập với phần cứng máy tính (như C/C++, Java, Python).
  • Chương trình dịch: Cần trình thông dịch (Interpreter) hoặc trình biên dịch (Compiler) để dịch mã nguồn bậc cao sang mã máy.

2. Giới thiệu ngôn ngữ Python

  • Đặc điểm nổi bật: Cú pháp sáng sủa, ngắn gọn, dễ học, hỗ trợ đa nền tảng (Windows, macOS, Linux) và sở hữu hệ sinh thái thư viện phong phú (AI, Data Science, Web).
  • Môi trường làm việc: Chế độ gõ lệnh trực tiếp (Interactive Mode) và Chế độ soạn thảo tệp chương trình (Script Mode với phần mở rộng .py).
  • Quy tắc chú thích: Dấu thăng # đánh dấu bắt đầu dòng chú thích; trình thông dịch sẽ bỏ qua không thực thi.
python
# Chương trình Python đầu tiên
print("Xin chào các bạn học sinh lớp 10!")
Luyện tập củng cố Bài 16 (3 câu hỏi)
Chọn 1 đáp án đúng

Câu 1: Ưu điểm vượt trội của ngôn ngữ lập trình bậc cao (như Python) so với ngôn ngữ máy là:

Câu 2: Trong ngôn ngữ Python, kí tự nào được dùng để bắt đầu một dòng chú thích (comment)?

Câu 3: Phần mở rộng chuẩn của tệp mã nguồn chương trình Python là:

Bài 17 Chủ đề 5 – Giải quyết vấn đề với sự trợ giúp của máy tính Khoa học máy tính

Bài 17: Biến và lệnh gán

Sơ đồ trực quan Bài 17: Biến và lệnh gán SVG Vector Interactive
Cơ chế gán biến và tham chiếu đối tượng trong bộ nhớ Python Chủ đề 5: Lập trình Python (CS)
x y ĐỐI TƯỢNG BỘ NHỚ Giá trị: 100 (int) Lệnh gán: x = 100; y = x (cả x và y cùng tham chiếu đến cùng đối tượng 100)

1. Khái niệm biến và quy tắc đặt tên biến

  • Biến (Variable): Là một vùng nhớ được đặt tên dùng để lưu trữ giá trị trong quá trình thực thi chương trình.
  • Quy tắc đặt tên biến trong Python:
  • Bắt đầu bằng một chữ cái (a-z, A-Z) hoặc dấu gạch dưới _.
  • Không được bắt đầu bằng chữ số.
  • Chỉ chứa chữ cái, chữ số và dấu gạch dưới; không chứa khoảng trắng hay kí tự đặc biệt (@, #, $, %).
  • Không được trùng với các từ khóa định sẵn của Python (if, else, for, while, def...).
  • Python phân biệt chữ hoa và chữ thường (x khác X).

2. Lệnh gán và các kiểu dữ liệu cơ sở

  • Lệnh gán: Cú pháp tên_biến = biểu_thức. Máy tính tính giá trị vế phải rồi nạp vào biến bên trái.
  • Các kiểu dữ liệu cơ bản:
  • Số nguyên: int (ví dụ: age = 16)
  • Số thực: float (ví dụ: pi = 3.14159)
  • Chuỗi kí tự: str (ví dụ: name = "Nguyễn Văn A")
  • Kiểu logic: bool (nhận giá trị True hoặc False)
  • Các phép toán số học:
  • Cộng +, trừ -, nhân *, chia thực / (kết quả luôn là float).
  • Chia lấy phần nguyên: // (ví dụ: 7 // 2 = 3).
  • Chia lấy phần dư: % (ví dụ: 7 % 2 = 1).
  • Lũy thừa: (ví dụ: 2 3 = 8).
Luyện tập củng cố Bài 17 (3 câu hỏi)
Chọn 1 đáp án đúng

Câu 1: Tên biến nào dưới đây là HỢP LỆ theo quy tắc của ngôn ngữ Python?

Câu 2: Kết quả của biểu thức 17 // 5 và 17 % 5 trong Python lần lượt là:

Câu 3: Sau khi thực hiện đoạn lệnh sau: x = 5; x = x + 3; x = x * 2, giá trị của biến x là:

Bài 18 Chủ đề 5 – Giải quyết vấn đề với sự trợ giúp của máy tính Khoa học máy tính

Bài 18: Các lệnh vào ra đơn giản

Sơ đồ trực quan Bài 18: Các lệnh vào ra đơn giản SVG Vector Interactive
Luồng dữ liệu vào ra: Nhập dữ liệu input() và xuất kết quả print() Chủ đề 5: Lập trình Python (CS)
BÀN PHÍM input() ⟶ str ÉP KIỂU & TÍNH TOÁN n = int(input()) tong = n * 2 MÀN HÌNH print(f"{tong}")

1. Nhập dữ liệu với hàm `input()`

  • Hàm input("Thông báo: ") tạm dừng chương trình để nhận dữ liệu gõ từ bàn phím.
  • LƯU Ý CỐT LÕI: Giá trị hàm input() trả về luôn luôn là kiểu chuỗi kí tự (str).
  • Muốn tính toán số học, ta bắt buộc phải ép kiểu sang số nguyên bằng int() hoặc số thực bằng float():
python
# Nhập số nguyên n và số thực x
n = int(input("Nhập số nguyên n: "))
x = float(input("Nhập số thực x: "))
print("Tổng n + x =", n + x)

2. Xuất dữ liệu với hàm `print()`

  • In một hoặc nhiều giá trị phân tách bằng dấu phẩy: print(val1, val2, ...).
  • Tham số sep: Kí tự phân cách giữa các đối số (mặc định là khoảng trắng ).
  • Tham số end: Kí tự in ở cuối dòng (mặc định là xuống dòng \n).
  • Định dạng chuỗi hiện đại với F-string: print(f"Giá trị là {x:.2f}").
Luyện tập củng cố Bài 18 (3 câu hỏi)
Chọn 1 đáp án đúng

Câu 1: Hàm input() trong Python luôn trả về dữ liệu thuộc kiểu nào?

Câu 2: Để nhập một số nguyên từ bàn phím và gán cho biến n, câu lệnh nào sau đây là ĐÚNG?

Câu 3: Đoạn lệnh print("A", "B", sep="-", end="!") sẽ in ra màn hình kết quả gì?

Bài 19 Chủ đề 5 – Giải quyết vấn đề với sự trợ giúp của máy tính Khoa học máy tính

Bài 19: Câu lệnh rẽ nhánh if

Sơ đồ trực quan Bài 19: Câu lệnh rẽ nhánh if SVG Vector Interactive
Lưu đồ thuật toán cấu trúc rẽ nhánh if - elif - else trong Python Chủ đề 5: Lập trình Python (CS)
Vào điều_kiện? Khối lệnh Đúng (if) Khối lệnh Sai (else)

1. Các toán tử so sánh và biểu thức điều kiện

  • Bằng nhau: == (phân biệt với = là phép gán).
  • Khác nhau: !=.
  • Lớn hơn: >, nhỏ hơn: <, lớn hơn hoặc bằng: >=, nhỏ hơn hoặc bằng: <=.
  • Kết hợp các điều kiện logic bằng and, or, not.

2. Cú pháp các dạng rẽ nhánh

  • Dạng thiếu:
python
if điều_kiện:
    khối_lệnh_khi_đúng
  • Dạng đủ:
python
if điều_kiện:
    khối_lệnh_khi_đúng
else:
    khối_lệnh_khi_sai
  • Dạng nhiều nhánh (elif):
python
diem = float(input("Nhập điểm thi: "))
if diem >= 8.0:
    print("Học lực Giỏi")
elif diem >= 6.5:
    print("Học lực Khá")
elif diem >= 5.0:
    print("Học lực Trung bình")
else:
    print("Học lực Yếu")
  • QUY TẮC THỤT LỀ (Indentation): Python bắt buộc thụt lề thống nhất (thường là 4 dấu cách) để xác định khối lệnh thuộc nhánh.
Luyện tập củng cố Bài 19 (3 câu hỏi)
Chọn 1 đáp án đúng

Câu 1: Toán tử so sánh 'bằng nhau' trong câu lệnh điều kiện của Python là:

Câu 2: Python sử dụng yếu tố nào để xác định phạm vi các câu lệnh thuộc cùng một khối lệnh?

Câu 3: Cho đoạn mã sau. Màn hình sẽ in ra kết quả gì? x = 7 if x > 10: print("A") elif x > 5: print("B") else: print("C")

Bài 20 Chủ đề 5 – Giải quyết vấn đề với sự trợ giúp của máy tính Khoa học máy tính

Bài 20: Câu lệnh lặp for

Sơ đồ trực quan Bài 20: Câu lệnh lặp for SVG Vector Interactive
Lưu đồ thuật toán vòng lặp for i in range(start, stop, step) Chủ đề 5: Lập trình Python (CS)
Khởi tạo biến lặp i = start i < stop? Thực thi thân lặp Tăng i = i + step (Lặp lại)

1. Cấu trúc lặp với số lần biết trước

  • Câu lệnh for được dùng để duyệt qua từng phần tử của một tập hợp hoặc thực hiện một khối lệnh với số lần lặp định trước.

2. Hàm sinh dãy số `range()`

  • range(n): Tạo dãy số nguyên từ $0$ đến $n - 1$ (gồm $n$ phần tử, không bao gồm $n$).
  • range(start, stop): Tạo dãy số nguyên từ start đến stop - 1.
  • range(start, stop, step): Dãy số từ start đến trước stop, mỗi bước nhảy tăng step đơn vị (có thể lùi với step < 0).
python
# Tính tổng các số từ 1 đến 100
tong = 0
for i in range(1, 101):
    tong += i
print(f"Tổng S = {tong}")

3. Biến tích lũy trong vòng lặp

  • Khởi tạo giá trị ban đầu trước vòng lặp (tong = 0, tich = 1, dem = 0).
  • Cập nhật giá trị biến tích lũy sau mỗi lần lặp.
Luyện tập củng cố Bài 20 (3 câu hỏi)
Chọn 1 đáp án đúng

Câu 1: Biểu thức range(2, 8, 2) trong Python sẽ sinh ra dãy số gồm các phần tử nào?

Câu 2: Đoạn lệnh sau thực hiện bao nhiêu lần lặp? for i in range(10): print(i)

Câu 3: Kết quả của biến s sau khi chạy đoạn mã sau là: s = 0 for i in range(1, 5): s += i

Bài 21 Chủ đề 5 – Giải quyết vấn đề với sự trợ giúp của máy tính Khoa học máy tính

Bài 21: Câu lệnh lặp while

Sơ đồ trực quan Bài 21: Câu lệnh lặp while SVG Vector Interactive
Lưu đồ thuật toán vòng lặp while điều_kiện và kiểm tra điều kiện dừng Chủ đề 5: Lập trình Python (CS)
điều_kiện True? 1. Thực thi khối lệnh 2. Cập nhật biến để tiến tới dừng False ⟶ Thoát

1. Cấu trúc lặp với số lần chưa biết trước

  • Câu lệnh while lặp lại khối lệnh bên trong chừng nào điều kiện lặp vẫn còn mang giá trị True.
  • Điều kiện lặp được kiểm tra trước mỗi vòng lặp; nếu điều kiện mang giá trị False ngay từ đầu, khối lệnh sẽ không thực hiện lần nào.
python
# Tìm chữ số lớn nhất của số nguyên dương n
n = int(input("Nhập số nguyên dương n: "))
max_d = 0
while n > 0:
    d = n % 10
    if d > max_d:
        max_d = d
    n = n // 10
print(f"Chữ số lớn nhất là: {max_d}")

2. Lỗi vòng lặp vô hạn (Infinite Loop)

  • Xảy ra khi điều kiện của while luôn luôn đúng và không có biến nào thay đổi để đưa điều kiện về False.
  • Cần đảm bảo bên trong thân vòng lặp luôn có câu lệnh cập nhật biến kiểm soát để tiến tới điểm dừng.
Luyện tập củng cố Bài 21 (3 câu hỏi)
Chọn 1 đáp án đúng

Câu 1: Vòng lặp while phù hợp nhất trong tình huống bài toán nào dưới đây?

Câu 2: Nguyên nhân dẫn đến lỗi 'Vòng lặp vô hạn' (Infinite Loop) trong câu lệnh while là:

Câu 3: Đoạn mã sau in ra giá trị cuối cùng của x là bao nhiêu? x = 1 while x < 8: x *= 2

Bài 22 Chủ đề 5 – Giải quyết vấn đề với sự trợ giúp của máy tính Khoa học máy tính

Bài 22: Kiểu dữ liệu danh sách

Sơ đồ trực quan Bài 22: Kiểu dữ liệu danh sách SVG Vector Interactive
Cấu trúc lưu trữ danh sách list: Chỉ số dương (0..n-1) và chỉ số âm (-1..-n) Chủ đề 5: Lập trình Python (CS)
Chỉ số dương: 0 1 2 3 4 10 20 30 40 50 Chỉ số âm: -5 -4 -3 -2 -1

1. Khái niệm kiểu danh sách (List)

  • Danh sách là một tập hợp các phần tử có thứ tự và có thể thay đổi được (mutable).
  • Được đặt trong cặp dấu ngoặc vuông [], các phần tử phân tách bởi dấu phẩy.
  • Danh sách rỗng: a = [].

2. Hệ thống chỉ số (Index) và lát cắt (Slicing)

  • Chỉ số dương: Đếm từ trái sang phải, bắt đầu từ $0$ đến $n - 1$.
  • Chỉ số âm: Đếm từ phải sang trái, phần tử cuối cùng có chỉ số là $-1$, áp chót là $-2$.
  • Độ dài danh sách: Dùng hàm len(a).
  • Lát cắt a[start:stop]: Lấy danh sách con từ vị trí start đến vị trí trước stop.
python
a = [10, 20, 30, 40, 50]
print("Phần tử đầu:", a[0])      # 10
print("Phần tử cuối:", a[-1])     # 50
print("Lát cắt a[1:4]:", a[1:4])  # [20, 30, 40]
Luyện tập củng cố Bài 22 (3 câu hỏi)
Chọn 1 đáp án đúng

Câu 1: Cho danh sách a = [10, 20, 30, 40, 50]. Giá trị của a[-1] và a[1] lần lượt là:

Câu 2: Hàm nào dùng để tính số lượng phần tử có trong danh sách a?

Câu 3: Lát cắt a[1:4] trên danh sách a = ["a", "b", "c", "d", "e"], kết quả thu được là:

Bài 23 Chủ đề 5 – Giải quyết vấn đề với sự trợ giúp của máy tính Khoa học máy tính

Bài 23: Một số lệnh làm việc với dữ liệu danh sách

Sơ đồ trực quan Bài 23: Một số lệnh làm việc với dữ liệu danh sách SVG Vector Interactive
Các phương thức biến đổi danh sách list: append, insert, remove, pop Chủ đề 5: Lập trình Python (CS)
a.append(x) Thêm phần tử x vào cuối danh sách a.insert(i, x) Chèn x vào vị trí chỉ số i a.remove(x) Xóa phần tử đầu tiên có giá trị bằng x a.pop(i) / del a[i] Lấy ra và xóa phần tử tại chỉ số i

1. Các phương thức thao tác danh sách thông dụng

  • a.append(x): Thêm phần tử $x$ vào cuối danh sách.
  • a.insert(i, x): Chèn phần tử $x$ vào vị trí chỉ số $i$.
  • a.remove(x): Xóa phần tử đầu tiên trong danh sách có giá trị bằng $x$ (báo lỗi ValueError nếu $x$ không có trong danh sách).
  • del a[i]: Xóa phần tử tại vị trí chỉ số $i$.
  • a.pop(i): Lấy ra và xóa phần tử tại vị trí $i$ (mặc định lấy phần tử cuối).
  • a.clear(): Xóa toàn bộ các phần tử trong danh sách.
  • x in a: Toán tử kiểm tra sự tồn tại của $x$ trong danh sách (trả về True hoặc False).

2. Duyệt qua các phần tử của danh sách

  • Duyệt theo giá trị: for x in a: (khi chỉ cần xem và xử lí giá trị).
  • Duyệt theo chỉ số: for i in range(len(a)): (khi cần cập nhật giá trị a[i]).
Luyện tập củng cố Bài 23 (3 câu hỏi)
Chọn 1 đáp án đúng

Câu 1: Phương thức nào dùng để thêm một phần tử mới vào cuối danh sách?

Câu 2: Lệnh a.remove(20) trên danh sách a = [10, 20, 30, 20] sẽ làm gì?

Câu 3: Toán tử nào giúp kiểm tra giá trị x có nằm trong danh sách a hay không?

Bài 24 Chủ đề 5 – Giải quyết vấn đề với sự trợ giúp của máy tính Khoa học máy tính

Bài 24: Xâu kí tự

Sơ đồ trực quan Bài 24: Xâu kí tự SVG Vector Interactive
Cấu trúc xâu kí tự str và trích xuất lát cắt s[start:stop] Chủ đề 5: Lập trình Python (CS)
'P' (0) 'y' (1) 't' (2) 'h' (3) 'o' (4) 'n' (5) Lát cắt: s[1:4] ⟶ 'yth' (chỉ lấy từ chỉ số 1 đến 3, không lấy 4)

1. Khái niệm và tính chất của xâu kí tự (String)

  • Xâu là một dãy tuần tự các kí tự, được đặt trong cặp dấu nháy đơn '... hoặc nháy kép "...". Xâu rỗng: "".
  • Tính chất bất biến (Immutable): Không thể thay đổi trực tiếp từng kí tự trong xâu (ví dụ lệnh s[0] = 'H' sẽ gây lỗi TypeError). Muốn thay đổi ta phải tạo xâu mới.

2. Chỉ số và lát cắt trên xâu

  • Tương tự như danh sách, xâu có chỉ số dương từ $0$ đến $\text{len}(s) - 1$ và chỉ số âm từ $-1$ đến $-\text{len}(s)$.
  • Phép nối xâu bằng toán tử + và lặp xâu bằng toán tử *.
  • Lấy độ dài xâu bằng hàm len(s).
python
s = "Python"
print(s[0])       # 'P'
print(s[-1])      # 'n'
print(s[1:4])     # 'yth'
print(s + " 10")  # 'Python 10'
Luyện tập củng cố Bài 24 (3 câu hỏi)
Chọn 1 đáp án đúng

Câu 1: Đặc điểm nào dưới đây là ĐÚNG về kiểu dữ liệu xâu kí tự (str) trong Python?

Câu 2: Toán tử + và * khi áp dụng trên xâu kí tự thể hiện phép toán nào?

Câu 3: Với xâu s = "Python", giá trị của s[2] là kí tự nào?

Bài 25 Chủ đề 5 – Giải quyết vấn đề với sự trợ giúp của máy tính Khoa học máy tính

Bài 25: Một số lệnh làm việc với xâu kí tự

Sơ đồ trực quan Bài 25: Một số lệnh làm việc với xâu kí tự SVG Vector Interactive
Chuyển đổi hai chiều: Xâu kí tự split() ⇄ Danh sách join() Chủ đề 5: Lập trình Python (CS)
XÂU: "Học lập trình" Chuỗi kí tự liên tục s.split() ⟶ ⟵ " ".join(list) DANH SÁCH LIST ["Học", "lập", "trình"]

1. Các phương thức tìm kiếm và kiểm tra xâu

  • sub in s: Kiểm tra xâu con sub có nằm trong xâu s không.
  • s.find(sub): Trả về vị trí chỉ số xuất hiện đầu tiên của sub trong s; trả về $-1$ nếu không tìm thấy.
  • s.count(sub): Đếm số lần xuất hiện không chồng lấn của xâu con trong s.

2. Các phương thức biến đổi và tách nối xâu

  • s.split(sep): Tách xâu thành danh sách các từ dựa trên kí tự phân cách sep (mặc định tách theo khoảng trắng).
  • sep.join(list_str): Nối các phần tử của một danh sách chuỗi thành một xâu duy nhất, ngăn cách bởi sep.
  • s.replace(old, new): Thay thế tất cả các lần xuất hiện của old thành new.
  • s.upper(), s.lower(): Chuyển xâu thành chữ in hoa hoặc chữ thường.
  • s.strip(): Cắt bỏ các khoảng trắng thừa ở hai đầu xâu.
Luyện tập củng cố Bài 25 (3 câu hỏi)
Chọn 1 đáp án đúng

Câu 1: Phương thức s.split() không truyền đối số sẽ mặc định tách xâu theo:

Câu 2: Phương thức "-".join(["2026", "11", "04"]) cho kết quả là:

Câu 3: Hàm s.find("abc") trả về giá trị gì nếu xâu con "abc" KHÔNG xuất hiện trong s?

Bài 26 Chủ đề 5 – Giải quyết vấn đề với sự trợ giúp của máy tính Khoa học máy tính

Bài 26: Hàm trong Python

Sơ đồ trực quan Bài 26: Hàm trong Python SVG Vector Interactive
Cấu trúc hàm trong Python: Định nghĩa def, tham số và giá trị trả về return Chủ đề 5: Lập trình Python (CS)
def tinh_tong(a, b): s = a + b # Thân hàm xử lí return s # Trả kết quả về nơi gọi

1. Khái niệm hàm (Function)

  • Hàm là một khối lệnh được đặt tên, thực hiện một nhiệm vụ xác định và có thể tái sử dụng nhiều lần ở nhiều nơi trong chương trình.
  • Ý nghĩa: Chia nhỏ bài toán phức tạp thành các bài toán con, tránh lặp lại mã nguồn, tăng tính mạch lạc và dễ dàng kiểm thử, bảo trì.

2. Cú pháp định nghĩa và gọi hàm

python
def ten_ham(tham_so_1, tham_so_2, ...):
    # Khối lệnh thực thi của thân hàm
    return gia_tri_tra_ve
  • Từ khóa def báo hiệu bắt đầu định nghĩa hàm.
  • Lệnh return dùng để trả kết quả tính toán về cho nơi gọi hàm và lập tức kết thúc việc thực thi hàm. Nếu không có return, hàm trả về giá trị mặc định là None.
Luyện tập củng cố Bài 26 (3 câu hỏi)
Chọn 1 đáp án đúng

Câu 1: Từ khóa nào được sử dụng để bắt đầu khai báo định nghĩa một hàm trong Python?

Câu 2: Từ khóa return trong thân hàm có vai trò gì?

Câu 3: Một hàm nếu không có lệnh return thì giá trị trả về mặc định của nó là:

Bài 27 Chủ đề 5 – Giải quyết vấn đề với sự trợ giúp của máy tính Khoa học máy tính

Bài 27: Tham số của hàm

Sơ đồ trực quan Bài 27: Tham số của hàm SVG Vector Interactive
Cơ chế truyền đối số thực tế vào tham số hình thức khi gọi hàm Chủ đề 5: Lập trình Python (CS)
LỆNH GỌI HÀM ket_qua = tinh(5, 10) ĐỊNH NGHĨA HÀM def tinh(x, y): Đối số 5 truyền vào tham số x; đối số 10 truyền vào tham số y

1. Phân biệt tham số và đối số

  • Tham số (Parameters): Là các biến được khai báo trong phần định nghĩa hàm, đóng vai trò nhận dữ liệu đầu vào.
  • Đối số (Arguments): Là các giá trị hoặc biểu thức thực tế được truyền vào khi gọi hàm.

2. Truyền tham số và trả về nhiều kết quả

  • Khi gọi hàm, số lượng và thứ tự đối số truyền vào phải tương ứng với các tham số đã định nghĩa.
  • Một hàm trong Python có thể trả về nhiều giá trị dưới dạng một bộ (tuple):
python
# Hàm tính chu vi và diện tích hình chữ nhật
def tinh_hcn(a, b):
    cv = (a + b) * 2
    dt = a * b
    return cv, dt

c, s = tinh_hcn(5, 3)
print(f"Chu vi: {c}, Diện tích: {s}")
Luyện tập củng cố Bài 27 (3 câu hỏi)
Chọn 1 đáp án đúng

Câu 1: Khái niệm 'Tham số' (Parameter) và 'Đối số' (Argument) phân biệt nhau như thế nào?

Câu 2: Một hàm trong Python có thể trả về nhiều giá trị cùng lúc không?

Câu 3: Khi gọi một hàm có 2 tham số bắt buộc mà ta chỉ truyền vào 1 đối số thì điều gì sẽ xảy ra?

Bài 28 Chủ đề 5 – Giải quyết vấn đề với sự trợ giúp của máy tính Khoa học máy tính

Bài 28: Phạm vi của biến

Sơ đồ trực quan Bài 28: Phạm vi của biến SVG Vector Interactive
Không gian tên (Namespace) và phạm vi: Biến toàn cục vs Biến cục bộ Chủ đề 5: Lập trình Python (CS)
PHẠM VI TOÀN CỤC (GLOBAL SCOPE) x = 100 # Biến toàn cục (đọc được ở mọi nơi) PHẠM VI CỤC BỘ TRONG HÀM (LOCAL SCOPE) def my_func(): y = 50 # Biến cục bộ (hàm kết thúc là biến mất)

1. Biến cục bộ (Local Variable)

  • Là biến được khai báo và khởi tạo bên trong một thân hàm.
  • Biến cục bộ chỉ có giá trị và chỉ có thể truy cập được bên trong phạm vi của chính hàm đó. Khi hàm kết thúc, vùng nhớ của biến cục bộ được giải phóng.

2. Biến toàn cục (Global Variable)

  • Là biến được khai báo ở chương trình chính (bên ngoài tất cả các hàm).
  • Biến toàn cục có thể được đọc từ bất kì đâu trong chương trình.
  • Nếu muốn thay đổi giá trị của biến toàn cục bên trong một thân hàm, ta phải sử dụng từ khóa global.
python
x = 10  # Biến toàn cục

def vi_du():
    global x
    y = 5  # Biến cục bộ
    x = x + y

vi_du()
print(x)  # In ra 15
Luyện tập củng cố Bài 28 (3 câu hỏi)
Chọn 1 đáp án đúng

Câu 1: Biến được tạo ra bên trong một thân hàm được gọi là:

Câu 2: Để có thể thay đổi giá trị của một biến toàn cục bên trong thân hàm, ta phải dùng từ khóa nào?

Câu 3: Hai hàm khác nhau có thể sử dụng cùng một tên biến cục bộ mà không ảnh hưởng đến nhau không?

Bài 29 Chủ đề 5 – Giải quyết vấn đề với sự trợ giúp của máy tính Khoa học máy tính

Bài 29: Nhận biết lỗi chương trình

Sơ đồ trực quan Bài 29: Nhận biết lỗi chương trình SVG Vector Interactive
Phân loại 3 nhóm lỗi lập trình kinh điển: Syntax, Runtime và Logic Chủ đề 5: Lập trình Python (CS)
LỖI CÚ PHÁP (SYNTAX) Thiếu dấu :, sai thụt lề Chưa chạy đã dừng Dễ phát hiện nhất LỖI KHI CHẠY (RUNTIME) Chia cho 0, IndexError Chương trình bị sập giữa chừng Báo Exception Traceback LỖI LOGIC (NGỮ NGHĨA) Thuật toán sai, tính nhầm Chạy mượt nhưng KẾT QUẢ SAI Khó phát hiện nhất

1. Ba loại lỗi chương trình thường gặp

  • Lỗi cú pháp (Syntax Error):
  • Vi phạm quy tắc ngữ pháp của ngôn ngữ Python (thiếu dấu hai chấm :, đóng mở ngoặc sai, thụt lề không hợp lệ IndentationError).
  • Chương trình bị dừng lại và không thể chạy được từ đầu.
  • Lỗi khi chạy (Runtime Error / Exception):
  • Xảy ra trong quá trình chương trình đang thực thi (chia cho 0 ZeroDivisionError, truy cập chỉ số vượt quá phạm vi IndexError, sai kiểu dữ liệu TypeError, biến chưa khai báo NameError).
  • Lỗi ngữ nghĩa / Logic (Logic Error):
  • Chương trình chạy trơn tru không báo lỗi nhưng cho kết quả sai lệch so với yêu cầu do thuật toán sai hoặc viết nhầm công thức.
Luyện tập củng cố Bài 29 (3 câu hỏi)
Chọn 1 đáp án đúng

Câu 1: Lỗi viết thiếu dấu hai chấm : sau câu lệnh if thuộc loại lỗi nào?

Câu 2: Lỗi chia cho 0 (ZeroDivisionError) khi đang tính toán dữ liệu người dùng nhập thuộc loại lỗi nào?

Câu 3: Chương trình tính diện tích hình chữ nhật nhưng người viết gõ nhầm công thức thành s = a + b thuộc loại lỗi nào?

Bài 30 Chủ đề 5 – Giải quyết vấn đề với sự trợ giúp của máy tính Khoa học máy tính

Bài 30: Kiểm thử và gỡ lỗi chương trình

Sơ đồ trực quan Bài 30: Kiểm thử và gỡ lỗi chương trình SVG Vector Interactive
Chu trình kiểm thử phần mềm (Testing) và quy trình gỡ lỗi (Debugging) Chủ đề 5: Lập trình Python (CS)
1. TẠO TEST CASES Chuẩn, Biên, Đặc biệt 2. CHẠY THỬ NGHIỆM Thực tế vs Mong đợi 3. GỠ LỖI (DEBUG) Đặt print / Breakpoint

1. Phương pháp kiểm thử chương trình (Testing)

  • Kiểm thử là quá trình chạy chương trình với nhiều bộ dữ liệu thử nghiệm (Test cases) nhằm phát hiện lỗi tiềm ẩn.
  • Các ca kiểm thử cần xây dựng:
  • Ca kiểm thử thông thường: Dữ liệu phổ biến đại diện.
  • Ca kiểm thử biên (Boundary values): Dữ liệu nhỏ nhất, lớn nhất, số 0, số âm, danh sách rỗng.
  • Ca kiểm thử dị thường: Dữ liệu sai định dạng để kiểm tra tính kiên cố của chương trình.

2. Kĩ thuật gỡ lỗi (Debugging)

  • Đọc thông báo lỗi (Traceback) để xác định tệp, số dòng và nguyên nhân gây lỗi.
  • Sử dụng lệnh print() để in giá trị các biến trung gian ở từng bước.
  • Sử dụng công cụ Debugger trong IDE (như Thonny, VS Code) để đặt điểm dừng (Breakpoint) và chạy từng bước (Step by step).
Luyện tập củng cố Bài 30 (3 câu hỏi)
Chọn 1 đáp án đúng

Câu 1: Mục đích chính của việc xây dựng các ca kiểm thử (Test cases) là gì?

Câu 2: Khi xây dựng bộ test case cho hàm giải phương trình, ca kiểm thử nào dưới đây là 'ca kiểm thử biên'?

Câu 3: Kĩ thuật gỡ lỗi đơn giản và thông dụng nhất cho người mới bắt đầu học lập trình là:

Bài 31 Chủ đề 5 – Giải quyết vấn đề với sự trợ giúp của máy tính Khoa học máy tính

Bài 31: Thực hành viết chương trình đơn giản

Sơ đồ trực quan Bài 31: Thực hành viết chương trình đơn giản SVG Vector Interactive
Quy trình 5 bước xây dựng chương trình hoàn chỉnh từ bài toán thực tế Chủ đề 5: Lập trình Python (CS)
1. XÁC ĐỊNH Input, Output, Đ/k → 2. THUẬT TOÁN Sơ đồ khối / Mã giả → 3. VIẾT MÃ Coding chuẩn Python → 4. KIỂM THỬ Chạy test cases → 5. TỐI ƯU Chú thích

1. Quy trình 5 bước xây dựng chương trình hoàn chỉnh

  • Bước 1: Xác định bài toán (I-P-O): Nêu rõ dữ liệu đầu vào (Input), kết quả đầu ra (Output) và điều kiện ràng buộc.
  • Bước 2: Thiết kế thuật toán: Mô tả từng bước xử lí bằng sơ đồ khối hoặc mã giả.
  • Bước 3: Viết mã nguồn (Coding): Dùng cú pháp Python, đặt tên biến có nghĩa, chia nhỏ module bằng hàm.
  • Bước 4: Kiểm thử và tinh chỉnh: Chạy thử với các bộ test cases và sửa chữa lỗi.
  • Bước 5: Hoàn thiện tài liệu: Thêm các dòng chú thích (#) giải thích giải thuật.

2. Ví dụ chương trình giải phương trình bậc hai $ax^2 + bx + c = 0$

python
import math

def giai_pt_bac_hai(a, b, c):
    if a == 0:
        if b == 0:
            return "Vô số nghiệm" if c == 0 else "Vô nghiệm"
        return f"Một nghiệm x = {-c / b:.2f}"
    
    delta = b**2 - 4*a*c
    if delta < 0:
        return "Phương trình vô nghiệm"
    elif delta == 0:
        return f"Nghiệm kép x = {-b / (2*a):.2f}"
    else:
        x1 = (-b + math.sqrt(delta)) / (2*a)
        x2 = (-b - math.sqrt(delta)) / (2*a)
        return f"Hai nghiệm phân biệt: x1 = {x1:.2f}, x2 = {x2:.2f}"

print(giai_pt_bac_hai(1, -5, 6))  # x1 = 3.00, x2 = 2.00
Luyện tập củng cố Bài 31 (3 câu hỏi)
Chọn 1 đáp án đúng

Câu 1: Bước đầu tiên và quan trọng nhất khi giải quyết một bài toán lập trình là gì?

Câu 2: Tại sao nên chia chương trình lớn thành nhiều hàm con chuyên biệt?

Câu 3: Phong cách đặt tên biến snake_case chuẩn trong Python có dạng như thế nào?

Bài 32 Chủ đề 5 – Giải quyết vấn đề với sự trợ giúp của máy tính Khoa học máy tính

Bài 32: Ôn tập lập trình Python

Sơ đồ trực quan Bài 32: Ôn tập lập trình Python SVG Vector Interactive
Bản đồ tư duy (Mindmap) tổng hợp kiến thức lập trình Python 10 Chủ đề 5: Lập trình Python (CS)
PYTHON 10 Cốt lõi Kiểu: int, float, str, list Rẽ nhánh if - elif - else Vòng lặp: for & while Hàm def & return

1. Bản đồ tổng kết các cấu trúc lập trình Python 10

  • Cấu trúc dữ liệu: int, float, bool, str, list.
  • Cấu trúc điều khiển:
  • Tuần tự: Thực hiện từ trên xuống dưới.
  • Rẽ nhánh: if - elif - else.
  • Lặp: for (biết trước số lần) và while (lặp theo điều kiện).
  • Chương trình con (Hàm): Định nghĩa def, truyền tham số và trả về kết quả qua return.

2. Kĩ năng tối ưu và phong cách lập trình sạch (Clean Code)

  • Đặt tên biến và hàm theo quy ước gợi nhớ (snake_case như tong_so_duong).
  • Tránh viết mã lệnh quá dài trong một khối; tách các khối logic độc lập thành các hàm chuyên biệt.
  • Luôn kiểm tra điều kiện biên và lường trước các trường hợp người dùng nhập sai dữ liệu.
Luyện tập củng cố Bài 32 (3 câu hỏi)
Chọn 1 đáp án đúng

Câu 1: Trong Python, ba cấu trúc điều khiển cơ bản của mọi thuật toán là:

Câu 2: Đoạn mã sau thực hiện thuật toán gì? m = a[0] for x in a: if x > m: m = x

Câu 3: Biểu thức điều kiện kiểm tra một số nguyên n có phải là số chẵn dương hay không là:

Bài 33 Chủ đề 6 – Hướng nghiệp với tin học Kiến thức chung

Bài 33: Nghề thiết kế đồ họa máy tính

Sơ đồ trực quan Bài 33: Nghề thiết kế đồ họa máy tính SVG Vector Interactive
Lộ trình nghề nghiệp và các sản phẩm chuyên môn của Nhà thiết kế đồ họa Chủ đề 6: Hướng nghiệp Tin học
NHẬN DIỆN THƯƠNG HIỆU Logo, Bộ nhận diện Profile, Danh thiếp Công cụ: Inkscape, AI TRUYỀN THÔNG & QUẢNG CÁO Poster, Banner, Tờ rơi Infographic, Ảnh mạng Bố cục thị giác, Màu sắc GIAO DIỆN SỐ (UI/UX) Giao diện App di động Giao diện Trang web Trải nghiệm người dùng

1. Đặc điểm nghề nghiệp thiết kế đồ họa (Graphic Designer)

  • Mục tiêu công việc: Sử dụng các công cụ phần mềm đồ họa số để truyền đạt thông điệp, ý tưởng thị giác thông qua hình ảnh, bố cục, màu sắc và kiểu chữ.
  • Các sản phẩm tiêu biểu: Nhận diện thương hiệu (Logo, Namecard), ấn phẩm truyền thông (Poster, Banner, Tạp chí), bao bì sản phẩm, giao diện người dùng ứng dụng và web (UI/UX).

2. Năng lực và kĩ năng cần có

  • Tư duy thẩm mĩ và thị giác: Hiểu biết về nguyên lí phối màu, bố cục thị giác, tỉ lệ vàng và typography.
  • Thành thạo công cụ đồ họa: Nắm vững các phần mềm vector (Inkscape, Adobe Illustrator) và phần mềm xử lí ảnh raster (GIMP, Photoshop).
  • Kĩ năng mềm: Khả năng giao tiếp lắng nghe khách hàng, tư duy sáng tạo độc lập, làm việc nhóm và tuân thủ thời hạn (deadline).
  • Hồ sơ năng lực (Portfolio): Bộ sưu tập các dự án thực tế là tiêu chí quan trọng nhất để ứng tuyển việc làm.
Luyện tập củng cố Bài 33 (3 câu hỏi)
Chọn 1 đáp án đúng

Câu 1: Sản phẩm nào dưới đây KHÔNG thuộc phạm vi công việc chính của Nhà thiết kế đồ họa máy tính?

Câu 2: Yếu tố quan trọng nhất giúp một Nhà thiết kế đồ họa ứng tuyển việc làm thành công là:

Câu 3: Đạo đức nghề nghiệp quan trọng hàng đầu của người làm thiết kế đồ họa là:

Bài 34 Chủ đề 6 – Hướng nghiệp với tin học Kiến thức chung

Bài 34: Nghề phát triển phần mềm

Sơ đồ trực quan Bài 34: Nghề phát triển phần mềm SVG Vector Interactive
Vòng đời phát triển phần mềm (SDLC) và các vai trò chuyên môn trong dự án Chủ đề 6: Hướng nghiệp Tin học
1. PHÂN TÍCH Business Analyst → 2. THIẾT KẾ Kiến trúc & UI/UX → 3. LẬP TRÌNH Front / Back-end → 4. KIỂM THỬ QA/QC Tester → 5. PHÁT HÀNH DevOps, Vận hành

1. Đặc điểm nghề nghiệp phát triển phần mềm (Software Developer)

  • Mục tiêu công việc: Phân tích nhu cầu người dùng, thiết kế kiến trúc, lập trình viết mã, kiểm thử và bảo trì các hệ thống phần mềm, ứng dụng di động, trang web và dịch vụ số.
  • Các vai trò trong một đội ngũ phần mềm:
  • Phân tích nghiệp vụ (Business Analyst - BA).
  • Lập trình viên Front-end (Giao diện) & Back-end (Xử lí dữ liệu, máy chủ).
  • Kĩ sư kiểm thử chất lượng phần mềm (QA/QC Tester).
  • Kĩ sư vận hành hệ thống (DevOps Engineer) và Quản trị dự án (Project Manager).

2. Vòng đời phát triển phần mềm (SDLC)

Khảo sát yêu cầu $\to$ Thiết kế hệ thống $\to$ Lập trình mã nguồn $\to$ Kiểm thử $\to$ Triển khai phát hành $\to$ Bảo trì & Nâng cấp.

3. Năng lực cốt lõi và xu hướng tương lai

  • Tư duy logic giải quyết vấn đề, tinh thần tự học công nghệ mới liên tục.
  • Đạo đức nghề nghiệp: Tôn trọng quyền riêng tư dữ liệu người dùng và đảm bảo an ninh mạng.
Luyện tập củng cố Bài 34 (3 câu hỏi)
Chọn 1 đáp án đúng

Câu 1: Vòng đời phát triển phần mềm chuẩn (SDLC) diễn ra theo chu trình nào dưới đây?

Câu 2: Trong một dự án phần mềm, vai trò của Chuyên viên kiểm thử (QA/QC Tester) là gì?

Câu 3: Năng lực cốt lõi nào quyết định sự phát triển lâu dài của một Kĩ sư phần mềm?

MỤC LỤC BÀI HỌC