アルゴリズムって何? - デビッド・J・マラン:英語学習ノート
TED-Ed
動画概要:人数を数える方法を段階的に改良しながら、アルゴリズムの基本と、疑似コード、ループ、正しさ、効率、境界的な事例による検証、バグ、条件分岐を解説します。 主な英語学習ポイント: 1. algorithm — 語彙の意味と使用域:コンピューター科学では、単なる一般的な「方法」ではなく、問題を解くための明確な手順の並びを指すと理解し、処理がどのように記述・実行されるかという技術的な説明を追えるようになります。 2. corner case — 語彙の意味と使用域:通常とは異なる状況や境界的な状況によって欠陥が見つかる可能性を表す工学用語だと理解し、プログラム、規則、解決策が典型例以外でも正しいかを検証するときに使えるようになります。 3. only executes if — 文法・文型:指定された条件が満たされた場合に限って命令や分岐が実行される条件論理を表し、プログラムの流れ、規則が作動する条件、例外処理を正確に説明できるようになります。
解説一覧
algorithm:問題を解くための明確な手順
algorithm は、問題を解くための明確な一連の指示を表します。単なる大まかなアイデアやこつではなく、人やコンピューターがその手順に従って実行できます。 この文では、step by step によって、指示が順序のある手順になっていることが示されています。ループや条件は、どの手順を繰り返すか、どの手順を選ぶかを制御できます。
練習
この文で algorithm は何を意味しますか。
- 問題を解くための明確な一連の手順
- コンピューターに関係するあらゆるアイデア
- 計算を行う機械
答えを見る
問題を解くための明確な一連の手順
step by step:一段階ずつ
step by step は、何かを複数の段階に分け、一つずつ順番に行うことを意味します。この文では、指示に従って順序よく進めることで問題を解くことを示しています。 ここでの step は、物理的な階段ではなく、手順の一つの段階を意味します。
練習
「一段階ずつ」という意味の決まった表現を入れて指示を完成させましょう:To avoid mistakes, follow the checklist ____.
答えを見る
step by step
文末の as well:「〜も」
ここでの as well は「〜も」という意味です。文末に置かれ、アルゴリズムとコンピューターを結び付けたあとで、人間も話に加えています。つまり、人間にもアルゴリズムがあるということです。 この用法では、as well を情報を付け足す一まとまりの表現として捉えます。ここで well は「上手に」という意味ではありません。
練習
「〜も」という意味の学習した表現を入れて完成させましょう:Nina wants to join the game, and Omar wants to join ____.
答えを見る
as well
For instance, how would you go about counting the number of people in a room? 解説
0:26例えば、部屋にいる人の数をどうやって数えますか?
具体例を示す For instance
For instance は、これから具体的な例が出ることを聞き手に知らせます。ここでは、「人間はアルゴリズムを使う」という一般的な考えから、「部屋にいる人を数える」という具体的な作業へ話を移しています。 情報を整理する表現として、例とその前の一般的な考えを結び付ける働きがあります。出来事が時間順に次へ進むことを示す表現ではありません。
練習
この短い文章で For instance はどのような働きをしていますか? “Many materials can be recycled. For instance, clean glass jars can go in the recycling bin.”
- 時間の流れに沿った次の手順を示しています。
- 話し手が前の間違いを訂正していることを示しています。
- 一般的な内容についての具体例を示しています。
答えを見る
一般的な内容についての具体例を示しています。
go about counting:作業の進め方を尋ねる
go about doing something という構造では、go about は、ある方法で作業に取りかかって進めることを表します。ここでの how would you go about counting は、人数を数えられるかではなく、どんな方法で数えるかを尋ねています。 about の後の動詞は -ing 形になります。例えば go about counting、go about fixing です。この表現が重視するのは方法や手順であり、ある場所を歩き回ることではありません。
練習
repair の正しい形を使って質問を完成させてください:How should we go about ____ the damaged chair?
答えを見る
repairing
if you're like me:聞き手に共感を促す
If you're like me は文字どおりには「あなたが私と似ているなら」という条件を示しますが、ここでは親しみのある会話の導入です。話し手は自分の習慣を挙げ、聞き手にも同じ習慣があるかもしれないと示しています。 この表現には断定を弱める働きがあります。全員が一人ずつ指さすと言い切らず、これは私がすることで、あなたもするかもしれないと示しています。通常は話題に関係する一つの習慣や好みを比べるだけで、二人の性格全体を比べるものではありません。
練習
使い方を判断してください:親しみのある発表で、If you're like me は、全員が同じ行動をすると断定せずに、話し手自身の習慣を紹介できます。
- 誤り
- 正しい
答えを見る
正しい
one at a time:1回に1人または1つ
one at a time は、1回の順番につき1人または1つという意味です。この文では指さし方を説明しており、まず1人を指し、次に別の人を指すことで、順序を守って数えます。 at a time は1回に扱う数量を示します。時計の時刻や特定の時点を示す表現ではありません。
練習
先生は、子どもたち全員が一緒にではなく、一人ずつ机まで来てほしいと思っています。最も適切な指示はどれですか。
- Please come to my desk one time.
- Please come to my desk at one time.
- Please come to my desk one at a time.
答えを見る
Please come to my desk one at a time.
count up:小さい数から大きい数へ数える
count up は、0、1、2、3のように、数を小さい方から大きい方へ順に言ったり記録したりすることです。この文では0から始め、数える人が増えるたびに数字も増えていきます。 小辞 up は、動詞に数値が増える方向を加えています。物が物理的に上へ動くという意味ではありません。
練習
数が増えることを示す小辞を入れて指示を完成させてください:Start at zero and count ____ to ten.
答えを見る
up
and so forth:明確なリストや規則的な並びが続くことを示す表現
and so forth は、リストや規則的な並びが、さらに同じ種類の項目で続くことを聞き手に示します。「1 2 3 4」の後は次の数字を簡単に予測できるため、話し手はすべてを言いません。 これは、同じような項目が続くことを表すリスト末尾の一つの表現として理解します。forth の「前方へ」という字面どおりの意味ではありません。意味は and so on に近いです。
練習
「The club offers chess, music, painting, and so forth」の and so forth は何を示していますか。
- リストが新しい話題に変わりました。
- 同じ種類の項目がさらに続きます。
- 挙げられた項目は間違いでした。
答えを見る
同じ種類の項目がさらに続きます。
a bit more formally:正式さを少し高める表現
a bit more formally は「少しだけ、より正式な方法で」という意味です。more formally は考えをどのように表すかを示し、a bit は変化の程度を小さく抑えます。 ここでは、話し手が日常的な説明から疑似コードへ移っています。この表現によって、完全に文体を変えるのではなく、小さな変更であるように聞こえます。
練習
「少しだけ、より正式な方法で」という意味の今回の表現を使って文を完成させてください:Could you state the rule ____?
答えを見る
a bit more formally
pseudocode:実行可能なコードを使わずにアルゴリズムの論理を表す
pseudocode(擬似コード)は、アルゴリズムの手順や論理を人が読みやすい形で表す、形式に厳密すぎない方法です。プログラミング言語のように見えることはありますが、特定の言語の正確な構文に従う必要はありません。 この文の in pseudocode は、その考えをどのような形式で表すかを示しています。後に続く英語風の指示は、アルゴリズムを明確に説明するためのもので、必ずしもコンピューターで実行するためのものではありません。
練習
pseudocode について正しい説明はどれですか。
- プログラミング言語の正確な規則に従わなければならない source code です。
- プログラムの実行中に見つかったエラーの一覧です。
- アルゴリズムをコード風の形式で表しますが、そのまま実行できるとは限りません。
答えを見る
アルゴリズムをコード風の形式で表しますが、そのまま実行できるとは限りません。
Let n equal zero:変数の初期値を設定する
数学や擬似コードで Let n equal zero. は、「n の値を 0 と定める、または設定する」という意味です。後の手順で n を使ったり値を変えたりする前に、初期値を決めています。 ここで let は定義や仮定を導き、「許可する」という意味ではありません。形は Let + variable + equal + value で、let の後では equal を原形のまま使います。
練習
Let ... equal ... の形を使って、次の擬似コードの指示を完成させてください:____ total ____ zero before counting.
答えを見る
Let · equal
For each person in room:疑似コードのループ
For each ... はループを始める表現です。後に続く命令を、ある集まりの各要素について1回ずつ実行します。ここでは person in room が処理対象の集まりを示すため、部屋にいる人ごとに次の処理が行われます。 通常の英文では、for each person in the room と言うのが一般的です。疑似コードでは命令を短くするため、the のような小さな語が省かれることがあります。
練習
この疑似コードで、For each person in room は何をするよう指示していますか?
- 一人ひとりのために部屋を用意する
- 部屋にいる最初の人だけに次の命令を実行する
- 部屋にいる一人ひとりについて、次の命令を1回ずつ実行する
答えを見る
部屋にいる一人ひとりについて、次の命令を1回ずつ実行する
set n = n + 1:変数を更新する
疑似コードでは、set は変数に値を代入する指示です。まず現在の n の値を使って n + 1 を計算し、その結果を n に保存し直します。この命令を1回実行するたびに、n は1増えます。 ここでの等号は代入の一部であり、n と n + 1 が数学的に常に等しいと述べているわけではありません。
練習
疑似コードの set n = n + 1 を1回実行すると、何が起こりますか?
- 現在の n の値が1増える
- n の値が消去される
- プログラムが n と n + 1 が等しいか確認する
答えを見る
現在の n の値が1増える
見出し的な疑問文としての How to interpret ...?
この文の How to interpret this pseudocode? は、見出しのような疑問文です。擬似コードを示す段階から、各行の意味を説明する段階へ話を進めています。 how to + 動詞の原形は、何かを行う方法を示します。ここでは How should we interpret this pseudocode? のような完全な直接疑問文を短くした形で、次の説明を整理して導入するのが主な役割です。
練習
正誤を判断してください:チュートリアルでは、How to interpret this pseudocode? を、説明を導入する見出しのような話題転換として使うことができます。
- 誤り
- 正しい
答えを見る
正しい
so to speak:近似的・比喩的な表現を示す
so to speak は、「こう表現してよければ」という意味の挿入表現です。ここでは declares という語をやわらげています。話し手は理解に役立つ技術用語を借りているのであり、それだけが完全に厳密な表現だと断定しているわけではありません。 聞き手には、その言い方を近似的または比喩的に受け取るよう示します。実際に「話す」よう求める表現ではありません。
練習
second home が文字どおりではない表現だと示す3語の英語表現で文を完成させてください:After so many late nights there, the library became our second home, ____.
答えを見る
so to speak
プログラミングでの declares ... initializes its value to zero
プログラミングの説明で declares a variable は、コードや擬似コードに変数を導入し、通常は名前を、言語によっては型も定めることを表します。ここで変数名は n です。 initializes its value to zero は、その変数に最初の値 0 を与えるという意味です。宣言と初期化は別の操作ですが、1行で両方を行うこともあります。
練習
declare と initialize を正しい形にしてください:The first line ____ a variable named total and ____ it to zero.
答えを見る
declares · initializes
with which we're counting:前置詞を which の前に置くフォーマルな関係節
with which we're counting は、the thing を修飾する関係節です。which は the thing を指し、with はそれが数えるための道具であることを示します。つまり「私たちが数えるのに使っているもの」という意味です。 前置詞を which の前に置くと、よりフォーマルな preposition + which の形になります。この文の the thing は変数 n です。数を記録するカウンターであり、数えられる対象ではありません。
練習
物を指す関係代名詞を使って、フォーマルな関係節を完成させてください:The camera with ____ we filmed the birds was very light.
答えを見る
which
After all:前の内容を支える理由を加える
After all は、直前の発言を支えたり説明したりする理由を導きます。ここでは、まだ何も数えていないため、ゼロを数え始めの値にするのが自然だと示しています。 先に判断や結論を述べ、その後で理由を思い出させる形で情報を整理します。この用法は、おおよそ「この事実を忘れないで」という意味で、時間的に「すべての後で」という意味ではありません。
練習
after all を使って前の内容を支える理由を加えている文はどれですか。
- We should check the map; after all, this is our first visit.
- We checked the map after all the visitors left.
- After all the work, we went home.
答えを見る
We should check the map; after all, this is our first visit.
haven't counted anything yet:現在まで何も数えていない
Haven't counted は現在完了形の否定で、形は have not + 過去分詞です。過去から現在まで一度も数える動作が行われていないため、現在の数はまだゼロだと表します。 否定文の anything は、何も数えていないことを表します。文末の yet は、その動作が現在の時点でも未完了であることを示し、後で行われる可能性や予想を伴うこともよくあります。
練習
現在までテストを一度も行っていないことを表すように、短縮形 haven't ... yet を使って文を完成させてください:We ____ run any tests ____.
答えを見る
haven't · yet
just a convention:一般的なやり方であり、規則ではない
この技術的な文脈で convention は、一般に共有されているやり方を指し、会議や必須条件という意味ではありません。just a convention は、変数を n と名付けるのがよくある選択ではあるものの、別の有効な名前でもよいことを表します。 慣例が任意だというのは、プログラミング言語がその方法を強制していないということです。それでも、慣例に従うと、ほかの人がコードを理解しやすくなります。
練習
この文の just a convention は何を意味しますか?
- 変数名について話し合う正式な会議である。
- 一般的なやり方だが、別の有効な名前も使える。
- すべてのプログラムが守らなければならない規則である。
答えを見る
一般的なやり方だが、別の有効な名前も使える。
could have called it:過去に可能だったが選ばなかった命名
Could have called it は could have + 過去分詞を使い、過去に可能だったものの実際には選ばなかった選択肢を振り返ります。話し手は別の名前を選ぶこともできましたが、実際には n を選びました。 ここで called は「名前を付けた」という意味で、形は call + 目的語 + 名前です。have によって可能性が過去のものになります。could call it なら通常、現在または未来の選択肢を表します。
練習
could と call を使い、過去に選ばなかった名前の選択肢を表すように文を完成させてください:We ____ something else, but we chose Horizon.
答えを見る
could have called it
loop:プログラム内で繰り返す手順のまとまり
プログラミングで loop(ループ)とは、一連の手順を繰り返し実行する構造です。loop の後ろの語句がその意味を直接説明しており、その手順が何度か繰り返されます。 ここでの loop は、単なる円形ではなく、プログラムの処理の流れを表します。コードや疑似コードで loop を見たら、どの命令が繰り返すブロックに入っているかを確認します。
練習
プログラミングの説明で、“The loop checks every message in the inbox” の loop は何を意味しますか?
- 一度しか実行できない単独の命令
- 画面に表示される円形の画像
- 命令のまとまりを繰り返す構造
答えを見る
命令のまとまりを繰り返す構造
So, in our example, the step we're taking is counting people in the room.
1:17今回の例では、私たちが取っている手順は部屋の人を数することです。
The indentation implies that it's line three that will repeat. 語彙
1:25インデント(字下げ)は、3行目が繰り返されることを意味します。
The indentation implies:書式がコードの構造を示す
indentation は、行の先頭に空白を入れて内容を右へずらす「インデント」のことです。コードや疑似コードでは、この空白によって、どの命令が同じブロックに属するかを示せます。 The indentation implies that... は、書式が後ろの結論を導く手がかりになるという意味です。ここでは、3行目がループの内側にあり、繰り返される部分だとインデントから分かります。
練習
コードの説明“The indentation implies that the message is part of the loop”で、“The indentation implies”は何を意味しますか?
- 空白がコードの構造についての手がかりを示しています。
- 空白がメッセージ内のエラーを示しています。
- 空白によってプログラムがメッセージを表示します。
答えを見る
空白がコードの構造についての手がかりを示しています。
what the pseudocode is saying is that...:疑似コードの意味を説明する
What X is saying is that... は、X にある情報を日常的な言葉で説明し直すための型です。ここで saying は実際に「話している」のではなく、「表している・意味している」という意味です。 what 節で解釈する情報源を示し、is that の後ろでその解釈を述べます。これにより、情報源と後に続く説明を分けて伝えられます。
練習
What X is saying is that... の型を使って説明を完成させてください:____ every visitor must sign in.
答えを見る
What the notice is saying is that
after starting at zero:after + -ing で手順の順番を示す
after starting at zero は after + -ing を使い、ある手順が次の手順より先に行われることを示します。この文では、まず数を0から始め、その後で n を増やします。 starting は前置詞 after の後ろで使われている -ing 形で、現在進行形の主要動詞ではありません。この短い形は、手順や操作の説明でよく使われます。
練習
確認が先に行われることを after + -ing の句で示してください:____, click Submit.
答えを見る
After checking the address
increase n by one:by は変化量を示す
increase n by one では、n が変更される値で、by one が変化量を示します。現在の値に1を足すという意味であり、最終的な値が1になるという意味ではありません。 応用できる形は increase + 値 + by + 変化量 です。たとえば n が4なら、increase it by one の後は5になります。
練習
カウンターが7から8に変わります。by と英語の数詞を使って文を完成させてください:Increase the counter ____.
答えを見る
by one
bang on it a bit:くだけた実践的テスト
ここでの bang on it a bit は技術的な会話で使われるくだけた比喩で、システムやアイデアをいくつかのケースで試し、問題が起きないか確かめるという意味です。実際に物をたたくわけではありません。 ただ見るだけでなく、少し強い負荷をかけてみるイメージがあります。ただし別の文脈では bang on it が文字どおり「何度もたたく」という意味になるため、ここで「テストする」と解釈できるのは技術的な文脈があるからです。
練習
ソフトウェアについての会話で、"Let's bang on it a bit" はどの意味だと考えるのが最も自然ですか?
- 作業をやめる。
- コンピューターを何度もたたく。
- いくつかのケースでテストする。
答えを見る
いくつかのケースでテストする。
Does it work if ...?:条件を変えて確かめる
Does it work if ...? は、if の後に示す条件でも、方法・システム・計画がうまく機能するかを尋ねます。ここで it は前に出たアルゴリズムを指し、work は「仕事をする」ではなく、「意図どおりに機能する」「有効である」という意味です。 Does it work if + 条件? を使うと、仮定を試したり、解決法がどの条件まで通用するかを確かめたりできます。
練習
設計者が、停電中でもスマートロックを使えるか確かめたいと考えています。その意味を表す質問はどれですか?
- Does it work because the power goes out?
- Does it work if the power goes out?
- Does it work, so the power goes out?
答えを見る
Does it work if the power goes out?
increment n by one:変数に1を足す
Increment は、「数値を決められた量だけ増やす」という意味の技術的な動詞です。increment n by one では、n が変更される値で、by one が変化量を示します。つまり、新しい値は元の値に 1 を足したものです。 この文は更新の繰り返しを説明しています。1人処理するたびに n に 1 を足します。応用できる形は increment + 値 + by + 変化量 です。
練習
変化量を示す前置詞を入れて技術的な指示を完成させてください:Increment the retry count ____ one after each failed attempt.
答えを見る
by
So, on the first trip through the loop, we update n from zero to one. 慣用句
1:49つまり、最初のループで n をゼロから1に更新します。
trip through the loop:ループの1回のイテレーション
この文の a trip through the loop は、ループ本体を1回実行すること、つまり1回のイテレーションを意味します。the first trip は、ループ内の手順が初めて実行される回です。 trip は、抽象的な処理を道のりにたとえています。ループに入り、中の手順を一度たどって出てくると考えると、その一巡が one trip through the loop です。
練習
強調された口語的な技術表現で文を完成させてください:On the second ____, the program removes one duplicate.
答えを見る
trip through the loop
On the second trip through that same loop, we update n from one to two.
1:52同じループの2回目で、n を1から2に更新します。
by this algorithm's end:終点までに成立する結果
ここで by this algorithm's end は「このアルゴリズムが終了する時までに」という意味です。by は期限となる終点を示し、そこに到達した時点では n がすでに2になっています。この表現の by は「このアルゴリズムを使って」という意味ではありません。 this algorithm's end は the end of this algorithm を所有格で表した形です。by + 終点は、その時点までに完了している、または成立している結果を述べるときに使えます。
練習
報告書を午後5時までに完成させる必要があることを表す文はどれですか。
- The report must be worked on through 5 p.m.
- The report must be finished at 5 p.m.
- The report must be finished by 5 p.m.
答えを見る
The report must be finished by 5 p.m.
which indeed matches:直前の結果が一致することを確認する
ここで which は補足的な関係節を導き、直前の結果全体である n is two を指します。people や the room を指すのではありません。この節によって、その結果が実際の人数と一致することを確認しています。 indeed は「確かに」という確認を強めます。そのため which indeed matches... は、結果を述べたあとで、データ・予想・現実の事実と照合するときに使えます。
練習
例文の which は何を指していますか?
- 部屋
- 直前の結果 n is two
- people という単語
答えを見る
直前の結果 n is two
So far, so good:前向きだが暫定的な進捗確認
So far, so good. は、現在の時点までは物事がうまく進んでいるという意味の決まった表現です。進み具合を前向きに評価しますが、この先どうなるかはまだ確定していません。 ここでは途中の結果をまとめているのであり、最終的な成功を宣言しているのではありません。2つの so に同じ意味を当てはめず、文全体を1つの決まった表現として理解します。
練習
次の文が正しいか判断してください:So far, so good. は、作業全体が完了し、必ず成功するという意味である。
- 誤り
- 正しい
答えを見る
誤り
corner case:珍しいテスト条件
技術的な話で corner case は、通常の使用時には現れないシステムの問題を明らかにする可能性がある、珍しい条件や入力を指します。 ここでは「人がゼロ」という状況を、その特別なテスト条件として選んでいます。物理的な部屋の隅にある事例という意味ではなく、極端または珍しい入力でも数え方が機能するかを試すという意味です。
練習
ソフトウェアテストで corner case と呼ぶのに最も適しているのはどれですか?
- リストの要素がゼロのときに何が起きるかをテストする
- ログインボタンの新しい色を選ぶ
- 有効なアカウントで通常のログイン手順をテストする
答えを見る
リストの要素がゼロのときに何が起きるかをテストする
Suppose that:仮定の条件を設定する
Suppose that は、話し合い、計算、テストの次の段階で一時的に正しいものとして扱う条件を導入します。推論の出発点を設定する表現であり、話し手がその条件を「たぶん本当だ」と推測しているわけではありません。 形は Suppose that + 節です。that は省略でき、Suppose there are zero people でも同じ意味になります。
練習
Suppose that を使って、次の仮定上のテスト条件を設定してください:____ the phone has no saved contacts. What should the app display?
答えを見る
Suppose that
doesn't execute at all:その行は一度も実行されない
ここでの execute はプログラミング用語で、コードの一行を「実行する」という意味です。Line three doesn't execute は、プログラムの流れがその行に到達せず、実行もしないことを表します。 at all は doesn't の否定を強めます。この表現は、その行の実行回数がゼロだという意味であり、実行されたものの結果が間違っていたという意味ではありません。
練習
プログラミングの話で「The line doesn't execute at all」はどのような意味ですか?
- その行は実行されますが、動作や結果が正しくありません。
- その行は実行されますが、とても遅いです。
- その行は一度も実行されません。
答えを見る
その行は一度も実行されません。
Pretty simple, right?:気軽に確認を求める表現
ここでの pretty は「かなり」「わりと」という意味で、pretty simple はその内容が理解しやすそうだと述べています。この pretty は「かわいい」「きれい」という意味ではありません。 文末の短い right? は軽く確認を求める表現です。話し手は、聞き手に同意しているか、説明についてきているかを示してもらおうとしています。気軽な説明では、方向や権利を尋ねるのではなく、理解をさっと確認する働きをします。
練習
“Pretty simple, right?” の “right?” には、主にどのような働きがありますか?
- 聞き手に、ある方向へ移動するよう伝えます。
- その作業が簡単であることを正式に証明します。
- 聞き手に、同意しているか理解できているかを軽く確認します。
答えを見る
聞き手に、同意しているか理解できているかを軽く確認します。
Surely we can do better:改善へ話を進める表現
Surely we can do better は、自信を示すだけではありません。今の方法は十分によくなく、もっとよくできるはずだと主張しています。 つなぎの表現として、非効率な方法を指摘する段階から、よりよい解決策を探す段階へ話を進めます。Surely には、その結論はもっともで、聞き手も同意するだろうという響きがあります。
練習
発表で Surely we can do better は主にどのような働きをしますか?
- その方法が失敗した理由を聞き手に説明してもらう。
- 今の方法がすでに最善だと述べる。
- 今の方法はおそらく改善できると主張する。
答えを見る
今の方法はおそらく改善できると主張する。
Why not count:Why not + 動詞の原形で提案する
Why not count...? は、Why not + 動詞の原形を使って提案する表現です。ここでは一度に2人ずつ数えることを提案しており、主な目的は理由を尋ねることではありません。 疑問文の形なので、提案について話し合う余地も残ります。その案がうまくいかない場合は、相手が実際の理由を説明することもできます。
練習
try を使って提案を完成させましょう:Why not ____ the simpler method?
答えを見る
try
Instead of counting ... why not count:別の方法を提案する
Instead of doing X, why not do Y? という形は、今の行動と提案する別の方法を並べます。ここでは、X は1つずつ数えること、Y は2つずつ数えることです。 instead of の後には名詞か -ing 形を置くため、ここでは counting になります。why not の後には動詞の原形を置くため、count になります。この形は別の方法を提案するときに使えます。
練習
check と use を正しい形にして、提案の文を完成させてください:Instead of ____ every email one by one, why not ____ a filter?
答えを見る
checking · use
optimization:効率を上げるための具体的な最適化
この文の optimization は、数え方をもっと効率よくする具体的な変更を表します。1人ずつではなく、2人ずつ処理する方法に変えています。 技術分野の optimization は、速度を上げる、メモリー使用量を減らす、作業量を減らすなど、ある目標に向けてアルゴリズム、プログラム、手順を改善することです。単に何かがよくなったという曖昧な意味ではなく、意図的な改善です。
練習
プログラムを高速化する話の中で、optimization は何を意味する可能性が最も高いですか。
- 起こり得るエラーをすべて並べた一覧
- システムをより効率的にする具体的な変更
- コードを別の言語に翻訳すること
答えを見る
システムをより効率的にする具体的な変更
twice as fast as:速度が正確に2倍
twice as fast as は、あるものの速度が比較対象の2倍であることを表します。ここでは、このアルゴリズムの速度を前のアルゴリズムの速度と比べています。 形は「倍数 + as + 形容詞または副詞 + as + 比較対象」です。twice as fast as the last では、twice が倍数、fast が比べる性質を示し、2つ目の as が比較対象を導きます。
練習
倍数比較で欠けている2語を補ってください:The new scanner is twice ____ fast ____ the old one.
答えを見る
as · as
As before:前の同じケースにつなげる表現
As before は「前のケースと同じように」という意味です。すでに述べた情報を指し、今回も同じパターンであることを聞き手に伝えます。 ここでは説明を整理する働きをしています。3行目は前のケースと同じように、今回も実行されません。ここでの As は類似を表し、理由は表しません。
練習
ここで As before はどのような働きをしていますか? The first test had no errors. As before, the second test finished without any errors.
- テストでエラーがなかった理由を示しています。
- 後でテストをもう一度行うことを示しています。
- 今回の結果を、前のケースの同じ結果に結び付けています。
答えを見る
今回の結果を、前のケースの同じ結果に結び付けています。
What if there are ...? で可能性のあるケースを検証する
この文の What if は仮定のケースを導入し、「部屋に3人いると仮定したら」と考えさせます。話し手は現在の人数を確認しているのではなく、その条件で方法がどんな結果を出すかを尋ねています。 there are は、この仮定の中で複数の人や物が存在することを表す部分です。この形を使うと、条件を一つ変えたときにも、それまでの主張や計画、手順が成り立つかを検証できます。
練習
強調された4語の形を使って質問を完成させてください:____ five passengers in the car?
答えを見る
What if there are
But then what? で欠けている次の手順を示す
But は前の内容からの転換を示し、then は手順の次の段階や結果を指します。what は、What happens next? や What do we do next? のような、より完全な質問の代わりです。 But then what? は独立した短い質問として説明をいったん止め、抜けている部分を示します。つまり、一つの手順は説明されたものの、処理全体はまだ終わっていないということです。足りない次の手順を求めることで、推論を先へ進めます。
練習
手順の説明で But then what? は通常どんな働きをしますか?
- 手順が未解決の次の段階に達したことを示します。
- すべての手順が完了したと伝えます。
- 無関係な過去の出来事に話を戻します。
答えを見る
手順が未解決の次の段階に達したことを示します。
no longer applies:規則がもう適用されない
この文の no longer applies は、2行目が以前はその状況に当てはまっていたものの、必要な条件がなくなったため、今はもう当てはまらないという意味です。ここでの apply は「申請する」ではなく、「ある場合に適用される、または有効である」という意味です。 no longer + 動詞は、「以前はそうだったが、今はそうではない」という変化を表します。規則、条件、指示、割引などが主語のとき、apply はそれらが特定の状況を対象にすることを表します。
練習
The rule no longer applies が最もよく表すのはどの状況ですか?
- 誰かが新しい規則を作るよう申請しています。
- その規則は以前はその状況を対象にしていましたが、変化によって今は関係しなくなりました。
- その規則は一度もその状況を対象にしたことがありません。
答えを見る
その規則は以前はその状況を対象にしていましたが、変化によって今は関係しなくなりました。
buggy:欠陥があるソフトウェアやアルゴリズム
技術的な会話では、buggy は、ソフトウェア、アルゴリズム、機能などにバグがあり、誤った結果を出したり動作が不安定になったりすることを表す形容詞です。ここでは、誤りのあるアルゴリズムを説明しています。 buggy は単に wrong と言うより具体的で、技術システムの設計や実装に欠陥があることを示します。ここでの bug は昆虫ではなく、ソフトウェアや工学上の欠陥です。
練習
技術的な文脈で buggy を自然に使っている文はどれですか?
- This pencil is buggy because it needs sharpening.
- The developer is buggy because she made a typo.
- The new app is still buggy and sometimes crashes.
答えを見る
The new app is still buggy and sometimes crashes.
redress:問題を正式に是正または改善する
ここで redress は、問題を是正したり改善したりするという意味です。話し手は、アルゴリズムの欠点を指摘する段階から、新しい疑似コードでそれを直そうとする段階へ移っています。 この語は、悪い状態を正すことに焦点があります。この文脈では衣服とは関係ありません。
練習
例文の redress はどのような意味ですか。
- コードを赤色で書くこと
- 問題を是正または改善すること
- 別の服に着替えること
答えを見る
問題を是正または改善すること
that only executes if there's one person we could not pair with another. 文法
4:08これは、他の人とペアにできなかった人が1人いる場合にのみ実行されます。
a condition, otherwise known as a branch:制御フローの2つの用語
このプログラミングの説明では、condition はコードを実行するかどうかを決める真偽のテストで、branch はその結果によって選ばれるコードの経路やブロックです。otherwise known as は、説明中の条件部分に対する別の呼び方として branch を導入しています。 ただし、この言い方は少し大まかです。より正確には、condition がテストで、branch はその結果に対してプログラムが行う処理です。ここでは、1人だけ組になれずに残った場合に、該当する branch が実行されます。
練習
condition と branch を最も正確に説明しているものはどれですか。
- condition はコメントで、branch はファイル名です。
- condition は真偽のテストで、branch は結果によって選ばれるコード経路です。
- branch は真偽のテストで、condition は結果によって選ばれるコード経路です。
答えを見る
condition は真偽のテストで、branch は結果によって選ばれるコード経路です。
only executes if:実行に必要な条件を示す
only executes if... では、only は実行回数ではなく実行条件を限定します。if 節の条件が真のときだけ動作を実行でき、条件が偽なら実行できません。「1回だけ実行する」という意味ではありません。 この形は、コード、コマンド、自動処理のステップが動くために必要な条件を if 節で示します。
練習
only executes if を使って条件文を完成させてください:The shutdown command ____ the temperature rises above 40 degrees.
答えを見る
only executes if
whether there's one or three or any odd number:すべての選択肢を含める
whether there's one or three or any odd number... では、whether が複数の選択肢を導入し、or が出るたびに別のケースが加わります。主節では、どの場合も結果が同じだと述べています。つまり、人数がどの奇数でもアルゴリズムは数えられます。 ここで whether は yes か no で答える質問を作っているのではありません。one と three は例で、any odd number が範囲を奇数全体へ広げています。全体の意味は「どの場合に当てはまっても」です。
練習
ここで whether there's one or three or any odd number はどのような意味ですか?
- 話し手は部屋に何人いるかを質問しています。
- アルゴリズムは、人数がどの奇数の場合でも数えられます。
- アルゴリズムは、ちょうど1人か3人のときだけ数えます。
答えを見る
アルゴリズムは、人数がどの奇数の場合でも数えられます。
Well, we could count in threes or fours or even fives and tens, フレーズ
4:19そうですね、3人ずつ、4人ずつ、あるいは5人や10人ずつ数えることもできますが、
count in threes or fours:3つずつ、または4つずつ数える
count in threes or fours は、3つずつ、または4つずつのまとまりや間隔で数えるという意味です。たとえば、3ずつ数えると 3、6、9、12 になります。 形は count in + 複数形の数詞です。例として count in twos、count in fives、count in tens があります。ここでの in は場所ではなく、1グループの大きさや数える間隔を表します。
練習
3ずつ増える数え方になるように、in + 複数形の数詞で文を完成させてください:Let's count ____: three, six, nine, twelve.
答えを見る
in threes
beyond that:述べた限界を超えて
この文の beyond that は、「直前に述べた範囲や限界を超えて」という意味です。that は前に話した、より大きな数え方の間隔を指し、beyond は、それより先に進むと指さすことが難しくなると示しています。 beyond は物理的な空間だけを表す語ではありません。応用できる beyond that という形は、「その数字、程度、段階、限界を超えたら」という意味でよく使われます。
練習
“The first ten pages are easy, but beyond that the material gets harder,” という文で、beyond that はどういう意味ですか?
- 本の後ろ側
- 最初の10ページより後
- 10ページに達する前
答えを見る
最初の10ページより後
get a little bit difficult to point:指さすのが少し難しくなる
ここでの get は「〜になる」という意味で、簡単にできていた動作がだんだん難しくなる変化を表します。a little bit は difficult の強さを和らげるため、「少し難しい」のであって「まったくできない」という意味ではありません。 to point という不定詞が、難しくなる動作を示します。この文の point は「人を一人ずつ指さす」という動詞で、「要点」や「点数」という名詞ではありません。
練習
「少し難しくなる」という意味の目標表現を使って文を完成させてください:When the directions include too many steps, they ____ follow.
答えを見る
get a little bit difficult to
algorithms are just a set of instructions with which to solve problems. 文法
4:30アルゴリズムとは問題を解決するための一連の命令にすぎません。
At the end of the day:最終的な結論を導く
At the end of the day は「細部をすべて考えたうえで」「結局のところ」という意味の慣用句です。補足的な説明から中心となる結論へ移る合図で、夕方の時刻を指しているわけではありません。 ここでは、後に続く内容を覚えておくべき中心的な定義として示しています。コンピューターが実行しても人が実行しても、アルゴリズムは問題を解くための指示です。
練習
実際的な結論を導く慣用句で文を完成させてください:____, the team needs a plan everyone can follow.
答えを見る
At the end of the day
whether executed by computers or humans:短縮された受け身の whether 節
完全な形は whether algorithms are executed by computers or humans です。主節から補えるため、繰り返しになる主語 algorithms と受け身に必要な be 動詞が省略されています。 この短縮節は、「2つの実行者のどちらが行っても関係ない」という条件を加えます。algorithms を修飾し、主節の内容を導くもので、独立した別の主節ではありません。
練習
例文の whether executed by computers or humans を最も正確に完全な形にしたものはどれですか。
- whether they execute computers or humans
- whether they are executed by computers or humans
- whether computers are executed by humans
答えを見る
whether they are executed by computers or humans
with which to solve problems:手段を改まって表す構文
with which to solve problems は a set of instructions を修飾します。which はその一連の指示を指し、with は問題を解くための手段として指示を使うことを示します。 「名詞 + 前置詞 + which + to不定詞」は、可能な目的や用途を簡潔かつ改まった形で表す構文です。ここでは「誰かが問題を解くために使える一連の指示」という意味であり、instructions が solve の文法上の動作主になるわけではありません。
練習
a set of instructions with which to solve problems を最も正確に言い換えたものはどれですか。
- a set of instructions that someone can use to solve problems
- a set of instructions that solve every problem by themselves
- a set of instructions that someone must solve
答えを見る
a set of instructions that someone can use to solve problems
What problem would you solve...?:仮定の選択を考えてもらう質問
What problem would you solve...? は、聞き手に仮の選択を想像させ、ある考えを自分の状況に結び付けてもらうための自由回答式の質問です。正解が一つに決まっている質問ではありません。 ここでの would は、もしアルゴリズムを使えるなら、どの問題を解決することを選ぶかという仮定の選択を示します。この質問では過去を表しません。
練習
What problem would you solve with an algorithm? の would は主にどのような働きをしていますか。
- 聞き手に可能な選択を想像してもらう。
- 聞き手に特定の問題を解決するよう命令する。
- 過去にすでに解決した問題について尋ねる。
答えを見る
聞き手に可能な選択を想像してもらう。