Thuật toán là gì? - David J. Malan: tài liệu học tiếng Anh

TED-Ed

Độ khó học tập
799 từ 203 từ/phút

Tổng quan video: Phần nhập môn thuật toán dùng các cách đếm người được cải tiến từng bước để giải thích mã giả, vòng lặp, tính đúng đắn, hiệu suất, việc kiểm tra trường hợp biên, lỗi và nhánh điều kiện. Các điểm tiếng Anh chính: 1. algorithm — Ý nghĩa và sắc thái từ vựng: Hiểu rằng trong khoa học máy tính, từ này chỉ một chuỗi chỉ dẫn rõ ràng để giải quyết vấn đề chứ không đơn thuần là một phương pháp chung, nhờ đó bạn có thể theo dõi phần giải thích kỹ thuật về cách biểu diễn và thực thi một quy trình. 2. corner case — Ý nghĩa và sắc thái từ vựng: Nhận biết đây là thuật ngữ kỹ thuật chỉ tình huống bất thường hoặc nằm ở ranh giới có thể làm lộ sai sót, đồng thời dùng nó khi kiểm tra xem chương trình, quy tắc hay giải pháp đề xuất có còn đúng ngoài những ví dụ thông thường hay không. 3. only executes if — Ngữ pháp và mẫu câu: Học cách mô tả logic điều kiện trong đó một chỉ dẫn hoặc nhánh chỉ chạy khi yêu cầu đã nêu được đáp ứng, giúp bạn giải thích chính xác luồng chương trình, điều kiện kích hoạt quy tắc và cách xử lý ngoại lệ.

Nội dung bài học

What's an algorithm?

0:15

Thuật toán là gì?

In computer science,

0:16

Trong khoa học máy tính,

an algorithm is a set of instructions for solving some problem, Cách dùng từ

0:17

một thuật toán là một tập hợp các lệnh để giải quyết một vấn đề nào đó,

step by step. Cụm từ

0:20

theo từng bước.

Cách dùng từ

algorithm: quy trình rõ ràng để giải quyết vấn đề

Ở đây, algorithm có nghĩa là một tập hợp các chỉ dẫn rõ ràng để giải quyết vấn đề. Nó không chỉ là một ý tưởng chung chung hay mẹo nhỏ: con người hoặc máy tính đều có thể làm theo các bước đó. Trong câu này, step by step cho thấy các chỉ dẫn tạo thành một quy trình có thứ tự. Vòng lặp và điều kiện có thể kiểm soát bước nào được lặp lại hoặc được chọn.

Luyện tập

Trong câu này, algorithm có nghĩa là gì?

  1. Bất kỳ ý tưởng nào liên quan đến máy tính
  2. Một cỗ máy thực hiện phép tính
  3. Một tập hợp các bước rõ ràng để giải quyết vấn đề
Xem đáp án

Một tập hợp các bước rõ ràng để giải quyết vấn đề

Cụm từ

step by step: mỗi lần một giai đoạn

Step by step có nghĩa là làm một việc qua nhiều giai đoạn nối tiếp nhau theo thứ tự. Trong câu này, cụm từ cho thấy các chỉ dẫn giải quyết vấn đề bằng cách tuân theo một quy trình có thứ tự. Ở đây, step có nghĩa là một giai đoạn trong quy trình, không phải bậc thang thật.

Luyện tập

Hoàn thành lời hướng dẫn bằng cụm từ cố định có nghĩa là “mỗi lần một giai đoạn”: To avoid mistakes, follow the checklist ____.

Xem đáp án

step by step

Typically, algorithms are executed by computers,

0:21

Thông thường, các thuật toán được thực thi bởi máy tính,

but we humans have algorithms as well. Cụm từ

0:23

nhưng con người chúng ta cũng có các thuật toán.

Cụm từ

As well ở cuối mệnh đề với nghĩa “cũng”

Ở đây, as well có nghĩa là “cũng”. Cụm từ này đứng cuối mệnh đề và, sau khi thuật toán được liên hệ với máy tính, nó bổ sung con người vào phần giải thích: con người cũng có thuật toán. Trong cách dùng này, hãy hiểu as well là một cụm hoàn chỉnh dùng để bổ sung thông tin. Well ở đây không có nghĩa là “một cách tốt đẹp”.

Luyện tập

Hoàn thành câu bằng cụm từ mục tiêu mang nghĩa “cũng”: Nina wants to join the game, and Omar wants to join ____.

Xem đáp án

as well

For instance, how would you go about counting the number of people in a room? Ghi chú

0:26

Ví dụ, bạn sẽ làm thế nào để đếm số lượng người trong một căn phòng?

Mạch ý

For instance dùng để báo hiệu ví dụ

For instance báo cho người nghe biết rằng một ví dụ cụ thể sắp được đưa ra. Ở đây, nội dung chuyển từ ý khái quát rằng con người sử dụng thuật toán sang nhiệm vụ cụ thể là đếm số người trong một căn phòng. Là một cụm từ tổ chức thông tin, nó giúp người nghe liên hệ ví dụ với ý khái quát trước đó. Nó không cho biết một sự việc xảy ra sau một sự việc khác.

Luyện tập

For instance có chức năng gì trong đoạn ngắn này? “Many materials can be recycled. For instance, clean glass jars can go in the recycling bin.”

  1. Nó đánh dấu bước tiếp theo trong một trình tự thời gian.
  2. Nó giới thiệu một ví dụ cụ thể cho ý khái quát.
  3. Nó cho biết người nói đang sửa một lỗi trước đó.
Xem đáp án

Nó giới thiệu một ví dụ cụ thể cho ý khái quát.

Cụm từ

go about counting: hỏi cách thực hiện một nhiệm vụ

Trong cấu trúc go about doing something, go about có nghĩa là bắt đầu và xử lý một nhiệm vụ theo một cách nhất định. Ở đây, how would you go about counting hỏi bạn sẽ dùng phương pháp nào để đếm mọi người, chứ không hỏi bạn có biết đếm hay không. Động từ sau about dùng dạng -ing: go about counting, go about fixing. Cụm từ này tập trung vào cách tiếp cận hoặc quy trình, không có nghĩa là di chuyển quanh một nơi.

Luyện tập

Hoàn thành câu hỏi bằng dạng đúng của repair: How should we go about ____ the damaged chair?

Xem đáp án

repairing

Well, if you're like me, Ý định

0:29

Chà, nếu bạn giống tôi,

you probably point at each person,

0:31

có lẽ bạn sẽ chỉ vào từng người,

Ý định

if you're like me: mời người nghe đồng cảm

If you're like me theo nghĩa đen đặt ra điều kiện rằng bạn giống tôi, nhưng ở đây nó là lời dẫn thân thiện trong hội thoại. Người nói nhắc đến một thói quen cá nhân để gợi ý rằng người nghe có thể cũng có thói quen đó. Cụm từ này làm lời khẳng định nhẹ đi. Thay vì nói rằng ai cũng chỉ vào từng người, người nói trình bày đây là việc mình làm và người nghe cũng có thể làm. Nó thường chỉ so sánh một thói quen hoặc sở thích liên quan đến chủ đề, chứ không so sánh toàn bộ tính cách của hai người.

Luyện tập

Đánh giá cách dùng: Trong một bài thuyết trình thân thiện, If you're like me có thể giới thiệu thói quen của người nói mà không khẳng định rằng ai cũng hành động như vậy.

  1. Đúng
  2. Sai
Xem đáp án

Đúng

one at a time, Cụm từ

0:33

mỗi lần một người,

and count up from zero. Cụm động từ

0:34

và đếm lên từ số không.

Cụm từ

one at a time: mỗi lượt một người hoặc một vật

One at a time có nghĩa là mỗi lượt chỉ có một người hoặc một vật. Trong câu này, cụm từ mô tả cách người nói chỉ: chỉ vào một người trước, rồi đến người tiếp theo, để việc đếm giữ đúng thứ tự. At a time cho biết số lượng được xử lý trong mỗi lượt. Nó không chỉ giờ trên đồng hồ hay một thời điểm cụ thể.

Luyện tập

Một giáo viên muốn các em đến gần bàn từng người một, không phải tất cả cùng lúc. Lời hướng dẫn nào phù hợp nhất?

  1. Please come to my desk at one time.
  2. Please come to my desk one time.
  3. Please come to my desk one at a time.
Xem đáp án

Please come to my desk one at a time.

Cụm động từ

count up: chuyển từ số nhỏ hơn đến số lớn hơn

Count up có nghĩa là đọc hoặc theo dõi các số theo thứ tự tăng dần, chẳng hạn 0, 1, 2, 3. Trong câu này, việc đếm bắt đầu từ số không và tăng lên khi mỗi người được tính vào. Tiểu từ up tạo cho động từ hướng tăng về mặt số lượng. Nó không mô tả chuyển động vật lý đi lên.

Luyện tập

Hoàn thành lời hướng dẫn bằng tiểu từ cho biết các số tăng lên: Start at zero and count ____ to ten.

Xem đáp án

up

1 2 3 4 and so forth. Cụm từ

0:35

1 2 3 4 và cứ tiếp tục như vậy.

Cụm từ

and so forth: tiếp tục một danh sách hoặc quy luật rõ ràng

And so forth cho người nghe biết rằng một danh sách hoặc quy luật còn tiếp tục với những mục khác cùng loại. Sau “1 2 3 4”, các số tiếp theo rất dễ đoán nên người nói không nêu hết. Hãy hiểu đây là một cụm từ trọn vẹn dùng ở cuối danh sách để cho biết những mục tương tự còn tiếp tục, chứ không hiểu theo nghĩa chỉ hướng theo mặt chữ của forth. Cụm này có nghĩa gần với and so on.

Luyện tập

Trong “The club offers chess, music, painting, and so forth”, and so forth cho biết điều gì?

  1. Danh sách đã chuyển sang một chủ đề mới.
  2. Còn có thêm những mục khác cùng loại.
  3. Những mục được nêu ra đều là lỗi.
Xem đáp án

Còn có thêm những mục khác cùng loại.

Well, that's an algorithm.

0:38

Chà, đó chính là một thuật toán.

In fact, let's try to express it a bit more formally in pseudocode, Ghi chú

0:39

Thực tế, hãy thử diễn đạt nó một cách chính thức hơn một chút bằng mã giả (pseudocode),

English-like syntax that resembles a programming language.

0:43

một cú pháp giống tiếng Anh nhưng lại gần giống một ngôn ngữ lập trình.

Cụm từ

a bit more formally: tăng nhẹ mức độ trang trọng

A bit more formally có nghĩa là “theo cách trang trọng hơn một chút”. More formally mô tả cách ý tưởng sẽ được diễn đạt, còn a bit giới hạn mức độ thay đổi. Ở đây, người nói chuyển từ một cách mô tả thông thường sang mã giả. Cụm từ này khiến sự chuyển đổi nghe có vẻ vừa phải, chứ không phải thay đổi hoàn toàn phong cách diễn đạt.

Luyện tập

Hoàn thành câu bằng cụm từ trong bài có nghĩa là “theo cách trang trọng hơn một chút”: Could you state the rule ____?

Xem đáp án

a bit more formally

Cách dùng từ

pseudocode: mô tả logic thuật toán mà không cần mã thực thi được

Pseudocode, hay mã giả, là cách không quá câu nệ hình thức để mô tả các bước và logic của một thuật toán sao cho con người dễ đọc. Nó thường trông giống ngôn ngữ lập trình nhưng không cần tuân theo chính xác cú pháp của một ngôn ngữ cụ thể. Trong câu này, in pseudocode cho biết ý tưởng sẽ được trình bày dưới hình thức nào. Các chỉ dẫn giống tiếng Anh theo sau nhằm giải thích rõ thuật toán, chứ không nhất thiết để chạy trực tiếp trên máy tính.

Luyện tập

Phát biểu nào về pseudocode là đúng?

  1. Nó mô tả thuật toán dưới dạng giống mã lệnh nhưng có thể không chạy trực tiếp được.
  2. Nó là danh sách lỗi được tìm thấy khi chương trình đang chạy.
  3. Nó là source code phải tuân theo chính xác các quy tắc của một ngôn ngữ lập trình.
Xem đáp án

Nó mô tả thuật toán dưới dạng giống mã lệnh nhưng có thể không chạy trực tiếp được.

Let n equal zero. Ngữ pháp

0:45

Cho n bằng không.

Ngữ pháp

Let n equal zero: đặt giá trị ban đầu cho biến

Trong toán học và pseudocode, Let n equal zero. có nghĩa là định nghĩa hoặc đặt n có giá trị bằng 0. Câu này thiết lập giá trị ban đầu trước khi các bước sau sử dụng hoặc thay đổi n. Ở đây, let dùng để đưa ra một định nghĩa hoặc giả định. Nó không mang nghĩa cho phép: cấu trúc là Let + variable + equal + value, và equal giữ nguyên dạng cơ bản sau let.

Luyện tập

Dùng cấu trúc Let ... equal ... để hoàn thành chỉ dẫn pseudocode sau: ____ total ____ zero before counting.

Xem đáp án

Let · equal

For each person in room, Ngữ pháp

0:47

Với mỗi người trong phòng,

Ngữ pháp

For each person in room: vòng lặp trong mã giả

For each ... mở đầu một vòng lặp: lệnh tiếp theo được thực hiện một lần cho từng thành viên của một nhóm. Ở đây, person in room chỉ nhóm cần xử lý, nên mỗi người sẽ kích hoạt bước tiếp theo. Trong văn bản tiếng Anh thông thường, người ta thường nói for each person in the room. Mã giả hay lược bỏ những từ nhỏ như the để giữ cho câu lệnh ngắn gọn.

Luyện tập

Trong đoạn mã giả này, For each person in room yêu cầu người đọc làm gì?

  1. Chuẩn bị một căn phòng cho mỗi người
  2. Chỉ thực hiện lệnh tiếp theo cho người đầu tiên trong phòng
  3. Thực hiện lệnh tiếp theo một lần cho mỗi người trong phòng
Xem đáp án

Thực hiện lệnh tiếp theo một lần cho mỗi người trong phòng

set n = n + 1. Cách dùng từ

0:49

đặt n = n + 1.

Cách dùng từ

set n = n + 1: cập nhật một biến

Trong mã giả, set yêu cầu gán một giá trị cho biến. Trước tiên, hãy tính n + 1 bằng giá trị hiện tại của n, rồi lưu kết quả trở lại n. Mỗi lần lệnh này chạy, n tăng thêm 1. Dấu bằng ở đây là một phần của phép gán, chứ không phải một khẳng định toán học rằng n luôn bằng n + 1.

Luyện tập

Điều gì xảy ra khi dòng mã giả set n = n + 1 chạy một lần?

  1. Chương trình kiểm tra xem n có bằng n + 1 hay không
  2. Giá trị hiện tại của n tăng thêm 1
  3. Giá trị của n bị xóa
Xem đáp án

Giá trị hiện tại của n tăng thêm 1

How to interpret this pseudocode? Mạch ý

0:52

Làm thế nào để diễn dịch đoạn mã giả này?

Mạch ý

How to interpret ...? dùng như câu hỏi kiểu tiêu đề

Trong câu này, How to interpret this pseudocode? đóng vai trò như một câu hỏi dùng làm tiêu đề. Nó chuyển phần trình bày từ việc đưa ra mã giả sang việc giải thích ý nghĩa của từng dòng. Cấu trúc how to + động từ nguyên mẫu chỉ cách thực hiện một việc. Ở đây, nó là dạng rút gọn của một câu hỏi trực tiếp đầy đủ như How should we interpret this pseudocode?, và chức năng chính là tổ chức phần tiếp theo của bài giảng.

Luyện tập

Đúng hay sai: Trong một bài hướng dẫn, How to interpret this pseudocode? có thể đóng vai trò như phần chuyển ý mang tính tiêu đề để mở đầu cho lời giải thích.

  1. Sai
  2. Đúng
Xem đáp án

Đúng

Well, line one declares, so to speak, Ghi chú

0:54

Chà, dòng một có thể nói là đang khai báo,

Ý định

so to speak: Đánh dấu cách mô tả gần đúng hoặc mang nghĩa bóng

so to speak là một cụm từ chêm vào, có nghĩa là 'nếu có thể diễn tả theo cách này'. Ở đây, nó làm nhẹ mức độ khẳng định của declares: người nói mượn một nhãn kỹ thuật hữu ích chứ không khẳng định đó là cách mô tả duy nhất hoàn toàn chính xác. Cụm từ này báo cho người nghe hiểu cách diễn đạt theo nghĩa gần đúng hoặc nghĩa bóng, chứ không phải hiểu theo nghĩa đen là yêu cầu ai đó nói.

Luyện tập

Hoàn thành câu bằng cụm từ tiếng Anh gồm ba từ cho biết second home là cách mô tả không mang nghĩa đen: After so many late nights there, the library became our second home, ____.

Xem đáp án

so to speak

a variable called n and initializes its value to zero.

0:56

một biến gọi là n và khởi tạo giá trị của nó bằng không.

Cách dùng từ

declares ... initializes its value to zero trong lập trình

Trong phần giải thích về lập trình, declares a variable có nghĩa là đưa biến vào mã hoặc mã giả, thường là xác định tên và đôi khi cả kiểu dữ liệu của biến. Ở đây, biến có tên là n. initializes its value to zero có nghĩa là gán cho biến đó giá trị ban đầu là 0. Khai báo và khởi tạo là hai thao tác khác nhau, ngay cả khi một dòng có thể thực hiện cả hai.

Luyện tập

Dùng declare và initialize ở dạng đúng: The first line ____ a variable named total and ____ it to zero.

Xem đáp án

declares · initializes

This just means that at the beginning of our algorithm,

0:59

Điều này chỉ có nghĩa là khi bắt đầu thuật toán của chúng ta,

the thing with which we're counting has a value of zero. Ngữ pháp

1:02

thứ mà chúng ta dùng để đếm có giá trị là không.

Ngữ pháp

with which we're counting: Mệnh đề quan hệ trang trọng với giới từ đứng trước

with which we're counting là mệnh đề quan hệ bổ nghĩa cho the thing. which chỉ lại the thing, còn with cho biết đó là công cụ được dùng để đếm: 'thứ mà chúng ta dùng để đếm'. Đặt giới từ trước which tạo thành mẫu preposition + which trang trọng hơn. Trong câu này, the thing là biến n; nó là bộ đếm chứ không phải đối tượng đang được đếm.

Luyện tập

Hoàn thành mệnh đề quan hệ trang trọng bằng đại từ quan hệ dùng cho sự vật: The camera with ____ we filmed the birds was very light.

Xem đáp án

which

After all, before we start counting, Mạch ý

1:05

Xét cho cùng, trước khi chúng ta bắt đầu đếm,

we haven't counted anything yet. Ngữ pháp

1:06

chúng ta chưa đếm được bất cứ thứ gì.

Mạch ý

After all: bổ sung một lý do hỗ trợ

After all đưa ra một lý do nhằm hỗ trợ hoặc giải thích cho câu ngay trước đó. Ở đây, cụm từ này cho thấy số không là điểm bắt đầu hợp lý vì việc đếm vẫn chưa diễn ra. Cụm từ này sắp xếp thông tin bằng cách nêu nhận định hoặc kết luận trước, rồi nhắc người nghe về lý do. Trong cách dùng này, nó có nghĩa gần như cần nhớ đến sự thật này, chứ không chỉ thời điểm sau tất cả mọi việc.

Luyện tập

Câu nào dùng after all để bổ sung một lý do hỗ trợ cho ý trước?

  1. We should check the map; after all, this is our first visit.
  2. We checked the map after all the visitors left.
  3. After all the work, we went home.
Xem đáp án

We should check the map; after all, this is our first visit.

Ngữ pháp

haven't counted anything yet: đến hiện tại vẫn chưa đếm

Haven't counted là dạng phủ định của thì hiện tại hoàn thành: have not + quá khứ phân từ. Cấu trúc này cho biết việc đếm chưa xảy ra vào bất kỳ lúc nào cho đến hiện tại, vì vậy số đếm hiện giờ vẫn là không. Trong mệnh đề phủ định, anything có nghĩa là không có thứ gì được đếm. Yet ở cuối câu cho biết đến hiện tại hành động vẫn chưa được thực hiện, thường kèm theo khả năng hoặc dự đoán rằng nó sẽ xảy ra sau đó.

Luyện tập

Hoàn thành câu bằng dạng rút gọn haven't ... yet để cho biết chưa có bài kiểm tra nào được tiến hành cho đến hiện tại: We ____ run any tests ____.

Xem đáp án

haven't · yet

Calling this variable n is just a convention. Cách dùng từ

1:08

Việc gọi biến này là n chỉ là một quy ước.

Cách dùng từ

just a convention: cách làm phổ biến, không phải quy tắc bắt buộc

Trong ngữ cảnh kỹ thuật này, convention có nghĩa là một cách làm phổ biến được nhiều người cùng sử dụng, không phải cuộc họp hay yêu cầu bắt buộc. Cụm just a convention cho biết việc đặt tên biến là n chỉ là một lựa chọn thường gặp; một tên hợp lệ khác cũng có thể dùng được. Quy ước là điều không bắt buộc vì ngôn ngữ lập trình không ép bạn phải làm như vậy. Tuy nhiên, làm theo quy ước vẫn có thể giúp người khác đọc mã dễ hơn.

Luyện tập

just a convention có nghĩa là gì trong câu này?

  1. Đó là quy tắc mà mọi chương trình đều phải tuân theo.
  2. Đó là một cuộc họp chính thức về tên biến.
  3. Đó là một cách làm phổ biến, nhưng có thể dùng một tên hợp lệ khác.
Xem đáp án

Đó là một cách làm phổ biến, nhưng có thể dùng một tên hợp lệ khác.

I could have called it almost anything. Ngữ pháp

1:10

Tôi có thể gọi nó bằng hầu hết mọi cái tên.

Ngữ pháp

could have called it: một tên từng có thể chọn nhưng đã không chọn

Could have called it dùng cấu trúc could have + quá khứ phân từ để nhìn lại một lựa chọn trong quá khứ đã không được thực hiện. Người nói từng có thể chọn một tên khác, nhưng thực tế đã chọn n. Ở đây, called có nghĩa là “đặt tên cho”, theo cấu trúc call + tân ngữ + tên. Have đặt khả năng đó vào quá khứ; could call it thường nói về một lựa chọn ở hiện tại hoặc tương lai.

Luyện tập

Hoàn thành câu bằng could và call để thể hiện một lựa chọn đặt tên trong quá khứ đã không được chọn: We ____ something else, but we chose Horizon.

Xem đáp án

could have called it

Now, line two demarks the start of a loop, Cách dùng từ

1:12

Bây giờ, dòng hai đánh dấu sự bắt đầu của một vòng lặp,

a sequence of steps that will repeat some number of times.

1:14

một chuỗi các bước sẽ lặp lại một số lần.

Cách dùng từ

loop: chuỗi bước lặp lại trong chương trình

Trong lập trình, loop là một cấu trúc chạy lặp lại một chuỗi bước. Cụm từ đứng sau loop giải thích trực tiếp khái niệm này: các bước đó sẽ được lặp lại một số lần. Ở đây, loop mô tả luồng hoạt động của chương trình, chứ không chỉ một hình tròn. Khi thấy loop trong mã hoặc mã giả, hãy tìm những lệnh thuộc khối được lặp lại.

Luyện tập

Trong phần giải thích về lập trình, loop trong câu “The loop checks every message in the inbox” có nghĩa là gì?

  1. Một lệnh đơn chỉ chạy một lần
  2. Một cấu trúc lặp lại một nhóm lệnh
  3. Một hình tròn trên màn hình
Xem đáp án

Một cấu trúc lặp lại một nhóm lệnh

So, in our example, the step we're taking is counting people in the room.

1:17

Vì vậy, trong ví dụ của chúng ta, bước chúng ta đang thực hiện là đếm số người trong phòng.

Beneath line two is line three,

1:20

Bên dưới dòng hai là dòng ba,

which describes exactly how we'll go about counting.

1:22

mô tả chính xác cách chúng ta sẽ tiến hành đếm.

The indentation implies that it's line three that will repeat. Cách dùng từ

1:25

Việc lùi đầu dòng ngụ ý rằng chính dòng ba mới là dòng sẽ lặp lại.

Cách dùng từ

The indentation implies: cách trình bày cho thấy cấu trúc mã

Indentation nghĩa là phần khoảng trắng ở đầu dòng làm nội dung dịch sang phải, tức là thụt lề. Trong mã hoặc mã giả, khoảng trắng này có thể cho biết những lệnh nào thuộc cùng một khối. The indentation implies that... nghĩa là cách trình bày cung cấp căn cứ cho kết luận theo sau. Ở đây, phần thụt lề cho thấy dòng ba nằm trong vòng lặp, vì vậy dòng ba là phần được lặp lại.

Luyện tập

“The indentation implies” có nghĩa là gì trong lời giải thích về mã sau: “The indentation implies that the message is part of the loop”?

  1. Khoảng trắng cung cấp manh mối về cấu trúc của mã.
  2. Khoảng trắng khiến chương trình hiển thị thông báo.
  3. Khoảng trắng cho thấy thông báo có lỗi.
Xem đáp án

Khoảng trắng cung cấp manh mối về cấu trúc của mã.

So, what the pseudocode is saying is that after starting at zero, Ghi chú

1:28

Vì vậy, những gì mã giả đang nói là sau khi bắt đầu từ số không,

for each person in the room, we'll increase n by one. Cụm từ

1:32

đối với mỗi người trong phòng, chúng ta sẽ tăng n lên một.

Mạch ý

what the pseudocode is saying is that...: giải thích ý nghĩa của mã giả

Cấu trúc What X is saying is that... chuyển thông tin từ X thành một lời giải thích bằng ngôn ngữ dễ hiểu. Ở đây, saying có nghĩa là “thể hiện hoặc có ý nghĩa là”, chứ không phải thực sự nói thành lời. Mệnh đề what nêu nguồn thông tin đang được diễn giải, còn is that mở đầu phần diễn giải. Cách này giúp người nghe phân biệt nguồn thông tin với lời giải thích theo sau.

Luyện tập

Dùng cấu trúc What X is saying is that... để hoàn thành lời giải thích: ____ every visitor must sign in.

Xem đáp án

What the notice is saying is that

Ngữ pháp

after starting at zero: dùng after + -ing để thể hiện trình tự

After starting at zero dùng after + dạng -ing để đặt một bước trước bước tiếp theo. Trong câu này, trước tiên chúng ta bắt đầu đếm từ số không, rồi mới tăng n. Starting là dạng -ing được dùng sau giới từ after; nó không phải động từ chính ở thì hiện tại tiếp diễn. Cấu trúc ngắn này thường gặp trong hướng dẫn và phần giải thích quy trình.

Luyện tập

Dùng một cụm after + -ing để cho biết việc kiểm tra diễn ra trước: ____, click Submit.

Xem đáp án

After checking the address

Cụm từ

increase n by one: by chỉ lượng thay đổi

Trong increase n by one, n là giá trị được thay đổi, còn by one cho biết mức thay đổi. Ta cộng 1 vào giá trị hiện tại; by one không có nghĩa là giá trị cuối cùng bằng 1. Cấu trúc có thể áp dụng là increase + giá trị + by + lượng thay đổi. Ví dụ, nếu n bằng 4 thì sau khi tăng thêm một, n sẽ bằng 5.

Luyện tập

Một bộ đếm thay đổi từ 7 thành 8. Hoàn thành câu bằng by và từ chỉ số bằng tiếng Anh: Increase the counter ____.

Xem đáp án

by one

Now, is this algorithm correct?

1:35

Bây giờ, thuật toán này có chính xác không?

Well, let's bang on it a bit. Thành ngữ

1:38

Chà, hãy thử kiểm tra nó một chút.

Thành ngữ

bang on it a bit: kiểm thử thực tế và không trang trọng

Ở đây, bang on it a bit là một phép ẩn dụ kỹ thuật, không trang trọng, có nghĩa là thử một hệ thống hoặc ý tưởng bằng nhiều trường hợp để xem nó có gặp lỗi hay không. Câu này không nói đến việc đập vào một vật thật. Hình ảnh được gợi ra là tạo một chút áp lực thay vì chỉ quan sát. Tuy nhiên, trong ngữ cảnh khác bang on it có thể mang nghĩa đen, vì vậy cách hiểu là “kiểm tra” ở đây đến từ cuộc thảo luận kỹ thuật.

Luyện tập

Trong cuộc thảo luận về phần mềm, "Let's bang on it a bit" có khả năng mang nghĩa nào nhất?

  1. Đập vào máy tính nhiều lần.
  2. Kiểm tra nó bằng một vài trường hợp.
  3. Ngừng làm việc với nó.
Xem đáp án

Kiểm tra nó bằng một vài trường hợp.

Does it work if there are two people in the room? Ngữ pháp

1:39

Nó có hoạt động nếu có hai người trong phòng không?

Ngữ pháp

Does it work if ...?: kiểm tra một điều kiện

Does it work if ...? hỏi liệu một phương pháp, hệ thống hoặc kế hoạch có tiếp tục hoạt động trong điều kiện được nêu sau if hay không. Ở đây, it chỉ thuật toán đã nhắc đến trước đó, còn work có nghĩa là “hoạt động đúng như dự kiến” hoặc “có hiệu lực”, chứ không phải “làm việc”. Dùng Does it work if + điều kiện? để kiểm tra một giả định hoặc xác định khi nào một giải pháp không còn đáng tin cậy.

Luyện tập

Một người thiết kế muốn kiểm tra xem khóa thông minh có còn dùng được khi mất điện hay không. Câu hỏi nào diễn đạt ý đó?

  1. Does it work if the power goes out?
  2. Does it work because the power goes out?
  3. Does it work, so the power goes out?
Xem đáp án

Does it work if the power goes out?

Let's see.

1:42

Hãy cùng xem.

In line one, we initialize n to zero.

1:43

Ở dòng một, chúng ta khởi tạo n bằng không.

For each of these two people, we then increment n by one. Cách dùng từ

1:45

Đối với mỗi người trong số hai người này, sau đó chúng ta tăng n lên một.

Cách dùng từ

increment n by one: cộng 1 vào một biến

Increment là động từ mang tính kỹ thuật, có nghĩa là “tăng một giá trị số theo một lượng xác định”. Trong increment n by one, n là giá trị được thay đổi, còn by one cho biết lượng thay đổi: giá trị mới bằng giá trị cũ cộng 1. Câu này mô tả một thao tác cập nhật lặp lại: với mỗi người, cộng 1 vào n. Cấu trúc có thể áp dụng lại là increment + giá trị + by + lượng thay đổi.

Luyện tập

Hoàn thành chỉ dẫn kỹ thuật bằng giới từ dùng để nêu lượng thay đổi: Increment the retry count ____ one after each failed attempt.

Xem đáp án

by

So, on the first trip through the loop, we update n from zero to one. Thành ngữ

1:49

Vậy, ở vòng lặp đầu tiên, chúng ta cập nhật n từ không lên một.

Thành ngữ

trip through the loop: một lần lặp của vòng lặp

Trong câu này, a trip through the loop có nghĩa là thực thi thân vòng lặp một lần, tức một lần lặp. The first trip là lần đầu tiên các bước bên trong vòng lặp được chạy. Trip dùng hình ảnh đi theo một con đường để ví với một quy trình trừu tượng. Hãy hình dung bạn đi vào vòng lặp, làm theo các bước một lần rồi đi ra; mỗi lượt hoàn chỉnh là one trip through the loop.

Luyện tập

Hoàn thành câu bằng cách diễn đạt kỹ thuật thân mật được tô nổi bật: On the second ____, the program removes one duplicate.

Xem đáp án

trip through the loop

On the second trip through that same loop, we update n from one to two.

1:52

Ở vòng lặp thứ hai của chính vòng lặp đó, chúng ta cập nhật n từ một lên hai.

And so, by this algorithm's end, Cụm từ

1:56

Và vì vậy, khi thuật toán này kết thúc,

n is two, which indeed matches the number of people in the room. Mạch ý

1:58

n là hai, điều này thực sự khớp với số người trong phòng.

Cụm từ

by this algorithm's end: kết quả đạt được tại điểm kết thúc

Ở đây, by this algorithm's end có nghĩa là “đến lúc thuật toán này hoàn tất”. By đánh dấu một điểm kết thúc: khi đến thời điểm đó, n đã đạt giá trị hai. Trong cụm này, nó không có nghĩa là “bằng cách sử dụng thuật toán này”. This algorithm's end là cách dùng sở hữu thay cho the end of this algorithm. Cấu trúc by + điểm kết thúc hữu ích khi nói về một kết quả đã hoàn tất hoặc đã đúng không muộn hơn thời điểm đó.

Luyện tập

Câu nào cho biết báo cáo phải hoàn thành không muộn hơn 5 giờ chiều?

  1. The report must be finished at 5 p.m.
  2. The report must be worked on through 5 p.m.
  3. The report must be finished by 5 p.m.
Xem đáp án

The report must be finished by 5 p.m.

Mạch ý

which indeed matches: xác nhận một kết quả đứng trước

Ở đây, which mở đầu một mệnh đề quan hệ bổ sung và chỉ toàn bộ kết quả đứng trước là n is two, chứ không chỉ people hay the room. Mệnh đề này bổ sung một bước kiểm tra: kết quả đó khớp với số người thực tế. Indeed nhấn mạnh sự xác nhận. Vì vậy, which indeed matches... hữu ích khi nêu một kết quả rồi đối chiếu kết quả ấy với dữ liệu, dự đoán hoặc một sự thật thực tế.

Luyện tập

Trong ví dụ, which chỉ điều gì?

  1. Từ people
  2. Căn phòng
  3. Kết quả đứng trước là n is two
Xem đáp án

Kết quả đứng trước là n is two

So far, so good. Thành ngữ

2:02

Cho đến nay mọi thứ vẫn tốt.

Thành ngữ

So far, so good: đánh giá tiến độ tích cực nhưng chỉ mang tính tạm thời

So far, so good. là một cách nói cố định, có nghĩa là mọi việc đã diễn ra tốt đẹp cho đến thời điểm hiện tại. Câu này đánh giá tích cực về tiến độ nhưng vẫn để ngỏ khả năng mọi việc có thể thay đổi sau đó. Ở đây, người nói đang tóm tắt một kết quả giữa chừng, chứ không tuyên bố thành công cuối cùng. Hãy hiểu cả câu như một cách nói cố định thay vì gán cùng một nghĩa cho hai lần dùng so.

Luyện tập

Hãy đánh giá nhận định sau: So far, so good. có nghĩa là toàn bộ nhiệm vụ đã hoàn thành và chắc chắn sẽ thành công.

  1. Đúng
  2. Sai
Xem đáp án

Sai

How about a corner case though? Cách dùng từ

2:03

Tuy nhiên, thế còn một trường hợp ngoại lệ (corner case) thì sao?

Cách dùng từ

corner case: điều kiện kiểm thử hiếm gặp

Trong thảo luận kỹ thuật, corner case là một điều kiện hoặc dữ liệu đầu vào hiếm gặp có thể làm lộ ra vấn đề mà hệ thống không thể hiện trong quá trình sử dụng bình thường. Ở đây, tình huống “không có người nào” được chọn làm điều kiện kiểm thử đặc biệt đó. Cụm từ này không nói về một góc theo nghĩa vật lý; nó cho biết người nói đang kiểm tra xem cách đếm có còn hoạt động với dữ liệu đầu vào cực hạn hoặc hiếm gặp hay không.

Luyện tập

Tình huống nào được mô tả chính xác nhất là một corner case trong kiểm thử phần mềm?

  1. Chọn màu mới cho nút đăng nhập
  2. Kiểm tra quy trình đăng nhập thông thường bằng tài khoản hợp lệ
  3. Kiểm tra điều gì xảy ra khi danh sách có số phần tử bằng không
Xem đáp án

Kiểm tra điều gì xảy ra khi danh sách có số phần tử bằng không

Suppose that there are zero people in the room, Ngữ pháp

2:05

Giả sử rằng có không người trong phòng,

besides me, who's doing the counting.

2:07

ngoài tôi, người đang thực hiện việc đếm.

Ngữ pháp

Suppose that: đặt ra một điều kiện giả định

Suppose that giới thiệu một điều kiện mà ta tạm thời chấp nhận là đúng cho phần tiếp theo của một cuộc thảo luận, phép tính hoặc bài kiểm thử. Cấu trúc này đặt ra điểm bắt đầu để suy luận; nó không có nghĩa là người nói đoán rằng điều kiện đó có lẽ là thật. Mẫu câu là Suppose that + mệnh đề. Có thể bỏ that: Suppose there are zero people vẫn mang cùng ý nghĩa.

Luyện tập

Dùng Suppose that để đặt ra điều kiện kiểm thử giả định này: ____ the phone has no saved contacts. What should the app display?

Xem đáp án

Suppose that

In line one, we again initialize n to zero.

2:09

Ở dòng một, chúng ta lại khởi tạo n bằng không.

This time though, line three doesn't execute at all, Cách dùng từ

2:12

Tuy nhiên, lần này dòng ba hoàn toàn không thực thi,

since there isn't a person in the room,

2:14

vì không có ai trong phòng cả,

Cách dùng từ

doesn't execute at all: dòng mã không bao giờ chạy

Ở đây, execute là động từ trong lĩnh vực lập trình, có nghĩa là “chạy” hoặc “thực thi” một dòng mã. Line three doesn't execute cho biết luồng chương trình không bao giờ đi đến và chạy dòng đó. At all nhấn mạnh dạng phủ định doesn't. Cụm này cho biết dòng mã được chạy đúng không lần nào, chứ không phải nó đã chạy nhưng tạo ra kết quả sai.

Luyện tập

Trong một cuộc thảo luận về lập trình, “The line doesn't execute at all” có nghĩa là gì?

  1. Dòng mã có chạy, nhưng hành vi hoặc kết quả không đúng.
  2. Dòng mã không bao giờ được chạy.
  3. Dòng mã có chạy, nhưng rất chậm.
Xem đáp án

Dòng mã không bao giờ được chạy.

and so n remains zero,

2:16

và do đó n vẫn bằng không,

which indeed matches the number of people in the room.

2:18

điều này thực sự khớp với số người trong phòng.

Pretty simple, right? Ý định

2:20

Khá đơn giản phải không?

Ý định

Pretty simple, right? như một cách xác nhận thân mật

Ở đây, pretty có nghĩa là “khá” hoặc “tương đối”, vì vậy pretty simple cho biết ý tưởng này có vẻ dễ hiểu. Trong cách dùng này, pretty không có nghĩa là “xinh đẹp”. Câu hỏi ngắn right? ở cuối câu dùng để xin xác nhận một cách nhẹ nhàng: người nói mời người nghe thể hiện rằng họ đồng ý hoặc vẫn theo kịp lời giải thích. Trong một lời giải thích thoải mái, nó là cách kiểm tra nhanh, không phải câu hỏi về phương hướng hay quyền lợi.

Luyện tập

Chức năng chính của “right?” trong “Pretty simple, right?” là gì?

  1. Người nói chính thức chứng minh rằng nhiệm vụ này đơn giản.
  2. Người nói bảo người nghe di chuyển theo một hướng.
  3. Người nói nhẹ nhàng đề nghị người nghe xác nhận hoặc cho thấy họ vẫn theo kịp.
Xem đáp án

Người nói nhẹ nhàng đề nghị người nghe xác nhận hoặc cho thấy họ vẫn theo kịp.

But counting people one at a time is pretty inefficient too, no?

2:21

Nhưng đếm từng người một cũng khá kém hiệu quả, đúng không?

Surely we can do better. Mạch ý

2:25

Chắc chắn chúng ta có thể làm tốt hơn.

Mạch ý

Surely we can do better: chuyển sang tìm cách cải thiện

Surely we can do better không chỉ thể hiện sự tự tin. Câu này còn lập luận rằng phương pháp hiện tại chưa đủ tốt và chắc hẳn vẫn có thể cải thiện. Dùng như một câu chuyển ý, nó đưa cuộc thảo luận từ việc nhận ra một phương pháp kém hiệu quả sang tìm kiếm giải pháp tốt hơn. Surely trình bày kết luận đó như một điều hợp lý và mời người nghe đồng tình.

Luyện tập

Trong một bài thuyết trình, Surely we can do better chủ yếu có chức năng gì?

  1. Câu này lập luận rằng cách làm hiện tại có lẽ vẫn có thể được cải thiện.
  2. Câu này nói rằng cách làm hiện tại đã là lựa chọn tốt nhất có thể.
  3. Câu này yêu cầu người nghe giải thích tại sao cách làm đó thất bại.
Xem đáp án

Câu này lập luận rằng cách làm hiện tại có lẽ vẫn có thể được cải thiện.

Why not count two people at a time? Ý định

2:26

Tại sao không đếm hai người một lúc?

Ý định

Why not count: đề nghị với Why not + động từ nguyên mẫu không to

Why not count...? dùng cấu trúc Why not + dạng nguyên mẫu không to của động từ để đưa ra lời đề nghị. Ở đây, người nói đề xuất đếm hai người mỗi lần chứ không chủ yếu yêu cầu giải thích lý do. Dạng câu hỏi vẫn để ngỏ lời đề nghị cho việc thảo luận: nếu ý tưởng không hiệu quả, người kia vẫn có thể nêu ra một lý do thực tế.

Luyện tập

Dùng try để hoàn thành lời đề nghị: Why not ____ the simpler method?

Xem đáp án

try

Instead of counting 1 2 3 4 5 6 7 8 and so forth, Ngữ pháp

2:28

Thay vì đếm 1 2 3 4 5 6 7 8 và cứ tiếp tục như vậy,

why not count 2 4 6 8 and so on.

2:33

tại sao không đếm 2 4 6 8 và cứ tiếp tục.

Ngữ pháp

Instead of counting ... why not count: đề xuất một phương án khác

Cấu trúc Instead of doing X, why not do Y? đặt cách làm hiện tại cạnh một phương án thay thế được đề xuất. Ở đây, X là đếm từng đơn vị, còn Y là đếm từng hai đơn vị. Sau instead of, dùng danh từ hoặc dạng -ing, nên câu này dùng counting. Sau why not, dùng dạng nguyên mẫu của động từ, nên câu này dùng count. Cấu trúc này hữu ích khi đề xuất một phương pháp khác.

Luyện tập

Đưa check và use về dạng đúng để hoàn thành lời gợi ý: Instead of ____ every email one by one, why not ____ a filter?

Xem đáp án

checking · use

It even sounds faster and it surely is.

2:36

Nghe có vẻ nhanh hơn và chắc chắn là như vậy.

Let's express this optimization in pseudocode. Cách dùng từ

2:39

Hãy thể hiện sự tối ưu hóa này bằng mã giả.

Cách dùng từ

optimization: cải tiến có mục tiêu để tăng hiệu quả

Trong câu này, optimization là một thay đổi cụ thể giúp cách đếm hiệu quả hơn: nó xử lý hai người mỗi lần thay vì một người. Trong ngữ cảnh kỹ thuật, optimization cải thiện thuật toán, chương trình hoặc quy trình nhằm đạt một mục tiêu như tăng tốc độ, giảm lượng bộ nhớ sử dụng hoặc giảm công việc. Đây là một cải tiến có chủ đích, không chỉ là lời nói chung chung rằng điều gì đó đã tốt hơn.

Luyện tập

Trong cuộc thảo luận về cách làm chương trình chạy nhanh hơn, optimization có khả năng cao nhất mang nghĩa gì?

  1. Danh sách đầy đủ mọi lỗi có thể xảy ra
  2. Một thay đổi cụ thể giúp hệ thống hoạt động hiệu quả hơn
  3. Việc dịch mã sang một ngôn ngữ khác
Xem đáp án

Một thay đổi cụ thể giúp hệ thống hoạt động hiệu quả hơn

Let n equal zero.

2:41

Cho n bằng không.

For each pair of people in room,

2:43

Với mỗi cặp người trong phòng,

set n = n + 2.

2:45

đặt n = n + 2.

Pretty simple change, right?

2:47

Một thay đổi khá đơn giản phải không?

Rather than count people one at a time,

2:49

Thay vì đếm từng người một,

we instead count them two at a time.

2:51

thay vào đó chúng ta đếm họ thành từng cặp.

This algorithm is thus twice as fast as the last. Ngữ pháp

2:53

Do đó, thuật toán này nhanh gấp đôi thuật toán trước.

Ngữ pháp

twice as fast as: tốc độ chính xác gấp đôi

twice as fast as có nghĩa là tốc độ của một thứ gấp hai lần tốc độ của đối tượng được so sánh. Ở đây, tốc độ của thuật toán này được so với tốc độ của thuật toán trước. Cấu trúc là từ chỉ số lần + as + tính từ hoặc trạng từ + as + đối tượng so sánh. Trong twice as fast as the last, twice cho biết số lần, fast cho biết đặc điểm được so sánh và as thứ hai giới thiệu đối tượng so sánh.

Luyện tập

Điền hai từ còn thiếu trong câu so sánh: The new scanner is twice ____ fast ____ the old one.

Xem đáp án

as · as

But is it correct?

2:56

Nhưng nó có chính xác không?

Let's see.

2:57

Hãy cùng xem.

Does it work if there are two people in the room?

2:58

Nó có hoạt động nếu có hai người trong phòng không?

In line one, we initialize n to zero.

3:00

Ở dòng một, chúng ta khởi tạo n bằng không.

For that one pair of people, we then increment n by two.

3:02

Đối với một cặp người đó, sau đó chúng ta tăng n lên hai.

And so, by this algorithm's end,

3:06

Và vì vậy, khi thuật toán này kết thúc,

n is two, which indeed matches the number of people in the room.

3:08

n là hai, điều này thực sự khớp với số người trong phòng.

Suppose next that there are zero people in the room.

3:11

Tiếp theo giả sử rằng có không người trong phòng.

In line one, we initialize n to zero.

3:13

Ở dòng một, chúng ta khởi tạo n bằng không.

As before, line three doesn't execute at all, Mạch ý

3:16

Như trước đây, dòng ba hoàn toàn không thực thi,

Mạch ý

As before: liên kết với trường hợp giống như trước

As before có nghĩa là “theo cùng cách như trong trường hợp trước”. Cụm từ này chỉ lại thông tin đã được nêu và cho người nghe biết trường hợp hiện tại tuân theo cùng một kiểu. Ở đây, nó giúp sắp xếp lời giải thích: dòng thứ ba vẫn không được thực thi, giống như trong trường hợp trước. As ở đây diễn đạt sự giống nhau, không diễn đạt nguyên nhân.

Luyện tập

As before có tác dụng gì ở đây? The first test had no errors. As before, the second test finished without any errors.

  1. Nó cho biết phép thử sẽ được lặp lại sau đó.
  2. Nó cho biết lý do phép thử không có lỗi.
  3. Nó liên kết kết quả này với kết quả giống như vậy trong một trường hợp trước.
Xem đáp án

Nó liên kết kết quả này với kết quả giống như vậy trong một trường hợp trước.

since there aren't any pairs of people in the room,

3:18

vì không có bất kỳ cặp người nào trong phòng,

and so n remains zero,

3:20

và do đó n vẫn bằng không,

which indeed matches the number of people in the room.

3:22

điều này thực sự khớp với số người trong phòng.

But what if there are three people in the room? Ngữ pháp

3:24

Nhưng điều gì sẽ xảy ra nếu có ba người trong phòng?

Ngữ pháp

Kiểm tra một trường hợp có thể xảy ra bằng What if there are ...?

Trong câu này, What if đưa ra một trường hợp giả định: giả sử có ba người trong phòng. Người nói không hỏi hiện tại thực sự có bao nhiêu người; họ hỏi phương pháp đó sẽ cho kết quả gì trong điều kiện này. Cụm there are tạo thành phần diễn đạt sự tồn tại trong giả định. Mẫu câu này giúp kiểm tra xem một nhận định, kế hoạch hay quy trình trước đó có còn hiệu quả khi một điều kiện thay đổi hay không.

Luyện tập

Hoàn thành câu hỏi bằng cấu trúc bốn từ được tô đậm: ____ five passengers in the car?

Xem đáp án

What if there are

How does this algorithm fair?

3:27

Thuật toán này xử lý ra sao?

Let's see.

3:29

Hãy cùng xem.

In line one, we initialize n to zero.

3:30

Ở dòng một, chúng ta khởi tạo n bằng không.

For a pair of those people, we then increment n by two.

3:33

Đối với một cặp trong số những người đó, sau đó chúng ta tăng n lên hai.

But then what? Mạch ý

3:36

Nhưng sau đó thì sao?

Mạch ý

Dùng But then what? để chỉ ra bước tiếp theo còn thiếu

But đánh dấu sự chuyển hướng khỏi ý trước, còn then chỉ giai đoạn hoặc kết quả tiếp theo trong trình tự. What thay cho một câu hỏi đầy đủ hơn như What happens next? hoặc What do we do next? Khi đứng riêng như một câu hỏi ngắn, But then what? tạm ngắt lời giải thích và làm lộ ra một khoảng trống: một bước đã được mô tả nhưng quy trình vẫn chưa hoàn tất. Câu hỏi này thúc đẩy lập luận tiến lên bằng cách yêu cầu bước tiếp theo còn thiếu.

Luyện tập

Trong phần giải thích một quy trình, But then what? thường có tác dụng gì?

  1. Câu hỏi chỉ ra rằng quy trình đã đến một bước tiếp theo chưa được giải quyết.
  2. Câu hỏi thông báo rằng mọi bước đều đã hoàn tất.
  3. Câu hỏi quay lại một sự kiện quá khứ không liên quan.
Xem đáp án

Câu hỏi chỉ ra rằng quy trình đã đến một bước tiếp theo chưa được giải quyết.

There isn't another full pair of people in the room,

3:37

Không còn một cặp người trọn vẹn nào khác trong phòng,

so line two no longer applies. Cụm từ

3:39

vì vậy dòng hai không còn được áp dụng.

Cụm từ

no longer applies: một quy tắc không còn áp dụng

Trong câu này, no longer applies có nghĩa là trước đây dòng thứ hai phù hợp với tình huống, nhưng bây giờ không còn phù hợp vì điều kiện cần thiết đã mất đi. Apply ở đây có nghĩa là “có liên quan hoặc có hiệu lực đối với một trường hợp”, không phải “nộp đơn”. Cấu trúc no longer + động từ thể hiện sự thay đổi từ một điều đúng trước đây thành không còn đúng ở hiện tại. Khi chủ ngữ là quy tắc, điều kiện, hướng dẫn hoặc chương trình giảm giá, apply có nghĩa là điều đó bao quát một tình huống cụ thể.

Luyện tập

Tình huống nào được mô tả đúng nhất bằng The rule no longer applies?

  1. Quy tắc chưa bao giờ bao quát tình huống đó.
  2. Có người đang nộp đơn yêu cầu tạo một quy tắc mới.
  3. Quy tắc từng bao quát tình huống đó, nhưng một thay đổi khiến nó không còn liên quan ở hiện tại.
Xem đáp án

Quy tắc từng bao quát tình huống đó, nhưng một thay đổi khiến nó không còn liên quan ở hiện tại.

And so, by this algorithm's end,

3:41

Và vì vậy, khi thuật toán này kết thúc,

n is still two, which isn't correct.

3:43

n vẫn là hai, điều này không chính xác.

Indeed, this algorithm is said to be buggy, Cách dùng từ

3:46

Thật vậy, thuật toán này được cho là có lỗi (buggy),

because it has a mistake.

3:48

vì nó có một sai sót.

Cách dùng từ

buggy: phần mềm hoặc thuật toán có khuyết điểm

Trong ngôn ngữ kỹ thuật, buggy là tính từ cho biết phần mềm, thuật toán hoặc tính năng có bug và có thể cho kết quả sai hoặc hoạt động không ổn định. Ở đây, từ này mô tả một thuật toán có sai sót. Buggy cụ thể hơn việc chỉ nói wrong: nó chỉ ra khuyết điểm trong cách một hệ thống kỹ thuật được thiết kế hoặc triển khai. Bug ở đây có nghĩa là lỗi phần mềm hoặc lỗi kỹ thuật, không phải côn trùng.

Luyện tập

Câu nào dùng buggy một cách tự nhiên trong ngữ cảnh kỹ thuật?

  1. This pencil is buggy because it needs sharpening.
  2. The developer is buggy because she made a typo.
  3. The new app is still buggy and sometimes crashes.
Xem đáp án

The new app is still buggy and sometimes crashes.

Let's redress with some new pseudocode. Cách dùng từ

3:49

Hãy khắc phục bằng một đoạn mã giả mới.

Cách dùng từ

redress: sửa chữa hoặc khắc phục một vấn đề một cách trang trọng

Ở đây, redress có nghĩa là sửa chữa hoặc khắc phục một vấn đề. Người nói đang chuyển từ việc chỉ ra một thiếu sót trong thuật toán sang cố gắng sửa nó bằng mã giả mới. Từ này tập trung vào việc đưa một tình trạng sai trở lại đúng; trong ngữ cảnh này, nó không liên quan đến quần áo.

Luyện tập

Trong ví dụ, redress có nghĩa là gì?

  1. sửa chữa hoặc khắc phục một vấn đề
  2. viết mã bằng màu đỏ
  3. mặc quần áo khác
Xem đáp án

sửa chữa hoặc khắc phục một vấn đề

Let n equal zero.

3:51

Cho n bằng không.

For each pair of people in room,

3:52

Với mỗi cặp người trong phòng,

set n = n + 2.

3:55

đặt n = n + 2.

If one person remains unpaired,

3:57

Nếu một người không có cặp,

set n = n + 1.

4:00

đặt n = n + 1.

To solve this particular problem,

4:02

Để giải quyết vấn đề cụ thể này,

we've introduced in line four a condition, Cách dùng từ

4:03

chúng ta đã đưa vào dòng bốn một điều kiện,

otherwise known as a branch,

4:06

hay còn được gọi là một nhánh (branch),

that only executes if there's one person we could not pair with another. Ngữ pháp

4:08

nó chỉ thực thi nếu có một người mà chúng ta không thể ghép cặp với người khác.

Cách dùng từ

a condition, otherwise known as a branch: hai thuật ngữ về luồng điều khiển

Trong phần giải thích lập trình này, condition là phép kiểm tra đúng hoặc sai quyết định một đoạn mã có chạy hay không, còn branch là đường đi hoặc khối mã được chọn từ kết quả kiểm tra đó. Cụm otherwise known as giới thiệu branch như một tên gọi khác cho phần có điều kiện đang được nói đến. Cách dùng từ trong câu hơi rộng: chính xác hơn, condition là phép kiểm tra, còn branch là phần chương trình thực hiện cho một kết quả. Ở đây, branch liên quan chỉ chạy khi còn lại một người chưa được ghép cặp.

Luyện tập

Mô tả nào dùng condition và branch chính xác nhất?

  1. Condition là phép kiểm tra đúng hoặc sai; branch là đường đi của mã được chọn theo kết quả.
  2. Branch là phép kiểm tra đúng hoặc sai; condition là đường đi của mã được chọn theo kết quả.
  3. Condition là phần chú thích; branch là tên tệp.
Xem đáp án

Condition là phép kiểm tra đúng hoặc sai; branch là đường đi của mã được chọn theo kết quả.

Ngữ pháp

only executes if: nêu điều kiện kích hoạt bắt buộc

Trong only executes if..., only giới hạn điều kiện thực thi: hành động chỉ có thể chạy khi mệnh đề if đúng và không thể chạy khi điều kiện đó sai. Cấu trúc này không có nghĩa là hành động chỉ chạy một lần. Mẫu này trình bày mệnh đề if như điều kiện kích hoạt bắt buộc đối với mã, lệnh hoặc một bước tự động.

Luyện tập

Dùng only executes if để hoàn thành điều kiện: The shutdown command ____ the temperature rises above 40 degrees.

Xem đáp án

only executes if

And so now,

4:12

Và thế là bây giờ,

whether there's one or three or any odd number of people in the room, Ngữ pháp

4:12

dù có một hoặc ba hoặc bất kỳ số lượng người lẻ nào trong phòng,

this algorithm will now count them.

4:16

thuật toán này bây giờ sẽ đếm được họ.

Ngữ pháp

whether there's one or three or any odd number: bao quát mọi khả năng

Trong whether there's one or three or any odd number..., whether đưa ra các khả năng khác nhau và mỗi or thêm một trường hợp. Mệnh đề chính cho biết kết quả giống nhau trong tất cả các trường hợp: thuật toán đếm được người với mọi số lượng lẻ. Ở đây whether không đặt câu hỏi có hoặc không. One và three là các ví dụ, còn any odd number mở rộng nhận định ra toàn bộ nhóm số lẻ; ý chung là “bất kể trường hợp nào áp dụng”.

Luyện tập

whether there's one or three or any odd number có nghĩa gì ở đây?

  1. Người nói đang hỏi có bao nhiêu người trong phòng.
  2. Thuật toán đếm được người trong mọi trường hợp có số lượng lẻ.
  3. Thuật toán chỉ đếm người khi có đúng một hoặc ba người.
Xem đáp án

Thuật toán đếm được người trong mọi trường hợp có số lượng lẻ.

Can we do even better?

4:18

Chúng ta có thể làm tốt hơn nữa không?

Well, we could count in threes or fours or even fives and tens, Cụm từ

4:19

Chà, chúng ta có thể đếm theo nhóm ba hoặc bốn hoặc thậm chí nhóm năm và mười,

Cụm từ

count in threes or fours: đếm theo nhóm hoặc bước ba hay bốn

Count in threes or fours có nghĩa là đếm theo nhóm hoặc theo bước ba hay bốn. Ví dụ, đếm theo bước ba sẽ cho 3, 6, 9, 12. Cấu trúc là count in + từ chỉ số ở dạng số nhiều: count in twos, count in fives, count in tens. Ở đây, in chỉ kích thước của mỗi nhóm hoặc bước đếm, không chỉ vị trí.

Luyện tập

Hoàn thành bằng cấu trúc in + số ở dạng số nhiều để bước đếm là ba: Let's count ____: three, six, nine, twelve.

Xem đáp án

in threes

but beyond that it's going to get a little bit difficult to point. Ghi chú

4:23

nhưng vượt quá mức đó, việc chỉ tay sẽ trở nên hơi khó khăn một chút.

Cụm từ

beyond that: vượt quá giới hạn đã nêu

Trong câu này, beyond that có nghĩa là “vượt quá phạm vi hoặc giới hạn vừa được nhắc đến”. That chỉ lại các bước đếm lớn hơn đã bàn trước đó, còn beyond cho biết nếu đi xa hơn thì việc chỉ tay sẽ khó hơn. Beyond không chỉ mô tả không gian vật lý. Mẫu beyond that có thể áp dụng trong nhiều tình huống và thường có nghĩa là “nếu vượt quá con số, mức độ, giai đoạn hoặc giới hạn đó”.

Luyện tập

Trong câu “The first ten pages are easy, but beyond that the material gets harder,” beyond that có nghĩa là gì?

  1. sau mười trang đầu tiên
  2. phía sau cuốn sách
  3. trước khi đọc đến mười trang
Xem đáp án

sau mười trang đầu tiên

Ngữ pháp

get a little bit difficult to point: trở nên hơi khó để chỉ

Ở đây, get có nghĩa là “trở nên”: một hành động vốn còn dễ thực hiện bắt đầu trở nên khó hơn. A little bit làm nhẹ mức độ của difficult, nên người nói muốn nói việc chỉ tay hơi khó chứ không phải hoàn toàn không thể làm được. Cụm nguyên mẫu to point cho biết hành động nào trở nên khó. Trong câu này, point là động từ có nghĩa là “dùng ngón tay chỉ từng người”, không phải danh từ mang nghĩa “ý kiến” hoặc “điểm số”.

Luyện tập

Hoàn thành câu bằng cụm từ mục tiêu có nghĩa là “trở nên hơi khó để”: When the directions include too many steps, they ____ follow.

Xem đáp án

get a little bit difficult to

At the end of the day, Thành ngữ

4:26

Suy cho cùng,

whether executed by computers or humans, Ngữ pháp

4:27

dù được thực thi bởi máy tính hay con người,

algorithms are just a set of instructions with which to solve problems. Ngữ pháp

4:30

các thuật toán chỉ là một tập hợp các lệnh dùng để giải quyết vấn đề.

Thành ngữ

At the end of the day: đưa ra kết luận chính

At the end of the day là một thành ngữ có nghĩa là “sau khi đã xem xét mọi chi tiết” hoặc “suy cho cùng”. Nó báo hiệu sự chuyển đổi từ các chi tiết bổ trợ sang kết luận chính, chứ không nói đến một thời điểm vào buổi tối. Ở đây, thành ngữ này giới thiệu phần tiếp theo như định nghĩa cốt lõi cần ghi nhớ: dù máy tính hay con người thực hiện, thuật toán vẫn là những chỉ dẫn để giải quyết vấn đề.

Luyện tập

Hoàn thành câu bằng thành ngữ dùng để đưa ra kết luận thực tế: ____, the team needs a plan everyone can follow.

Xem đáp án

At the end of the day

Ngữ pháp

whether executed by computers or humans: mệnh đề whether bị động rút gọn

Mệnh đề đầy đủ là whether algorithms are executed by computers or humans. Chủ ngữ algorithms bị lặp và dạng be cần thiết cho thể bị động được lược bỏ vì có thể suy ra từ mệnh đề chính. Mệnh đề rút gọn thêm điều kiện rằng tác nhân nào trong hai tác nhân thực hiện hành động cũng không quan trọng. Nó bổ nghĩa cho algorithms và dẫn vào ý chính; nó không phải là một mệnh đề chính riêng biệt.

Luyện tập

Mệnh đề đầy đủ nào diễn đạt chính xác nhất whether executed by computers or humans trong ví dụ?

  1. whether they are executed by computers or humans
  2. whether they execute computers or humans
  3. whether computers are executed by humans
Xem đáp án

whether they are executed by computers or humans

Ngữ pháp

with which to solve problems: diễn đạt phương tiện một cách trang trọng

Cụm with which to solve problems bổ nghĩa cho a set of instructions. Which quay lại chỉ tập hợp đó, còn with cho biết các chỉ dẫn là phương tiện được dùng để giải quyết vấn đề. Mẫu danh từ + giới từ + which + động từ nguyên mẫu có to là một cách ngắn gọn, trang trọng để diễn đạt mục đích hoặc công dụng có thể có. Ở đây, nó có nghĩa là một tập hợp các chỉ dẫn mà ai đó có thể dùng để giải quyết vấn đề; nó không biến instructions thành chủ thể ngữ pháp thực hiện hành động solve.

Luyện tập

Lựa chọn nào diễn đạt lại chính xác nhất a set of instructions with which to solve problems?

  1. a set of instructions that someone must solve
  2. a set of instructions that solve every problem by themselves
  3. a set of instructions that someone can use to solve problems
Xem đáp án

a set of instructions that someone can use to solve problems

These were just three.

4:33

Đây chỉ là ba ví dụ thôi.

What problem would you solve with an algorithm? Ý định

4:35

Bạn sẽ giải quyết vấn đề gì bằng một thuật toán?

Ý định

What problem would you solve...?: mời hình dung một lựa chọn giả định

What problem would you solve...? là câu hỏi mở, mời người nghe hình dung một lựa chọn có thể xảy ra và liên hệ một ý tưởng với tình huống của chính mình. Câu hỏi này không đòi hỏi chỉ một đáp án đúng. Ở đây, would tạo ra một lựa chọn giả định: nếu có thể dùng một thuật toán, bạn sẽ chọn giải quyết vấn đề nào? Trong câu hỏi này, would không nói về quá khứ.

Luyện tập

Trong What problem would you solve with an algorithm?, chức năng chính của would là gì?

  1. Hỏi về một vấn đề đã được giải quyết trong quá khứ.
  2. Mời người nghe hình dung một lựa chọn có thể xảy ra.
  3. Ra lệnh cho người nghe giải quyết một vấn đề cụ thể.
Xem đáp án

Mời người nghe hình dung một lựa chọn có thể xảy ra.