アルゴ道場
動かして学ぶ 基本情報アルゴリズム
ホームはじめにはじめに(配列・変数・くり返し)最初に読む基礎

はじめに(配列・変数・くり返し) Getting Started

このサイトは「擬似言語(ぎじげんご)」=日本語まじりで書く“アルゴリズムの台本”を、実際に1ステップずつ動かして学ぶサイトです。まずは下の言葉だけ押さえれば大丈夫。

● 配列(はいれつ)… 数字を入れる「箱」が一列に並んだもの。例: 数字 = {3, 1, 4, 1, 5}。

● 添字(そえじ)… 何番目の箱かを表す番号。このサイトでは 1 から数えます(数字[1] が1番目)。

● 変数(へんすう)… 1つの値を入れておく箱。ここでは i(今の位置)と 合計(足した結果)を使います。

● ← … 「代入(だいにゅう)」。右の値を左の箱に入れる、という意味。合計 ← 合計 + 数字[i] は『今の合計に数字[i]を足して、また合計に入れ直す』。

● for(くり返し)… 決まった回数くり返す。下のコードは i を 1 から 要素数(箱の数)まで動かしながら、全部の数字を合計に足していきます。

使い方:右の「ステップ」で1行ずつ進め、コードの光っている行と、箱(マス)の動きを見比べてください。「自動再生」でまとめて動かすこともできます。

📖 記号の読み方(はじめての人はここを確認)
代入(右の値を左の箱に入れる)。例: 合計 ← 0
=等しいか比べる(代入ではない)
等しくない(≠ は != と書いてもOK)
≤ / ≥以下 / 以上(<= / >= でもOK)
×かけ算(* でもOK)
÷わり算。答えの小数は捨てる(例: 7÷2=3)。/ でもOK
%わり算の余り(例: 7%2=1)
要素数(配列)配列の箱の数。2次元では 行数()・列数()
▲i / ▲j配列の下の三角は「いまコードが見ている位置」
algorithm.pseudo擬似言語 / IPA形式
1整数型の配列: 数字
2整数型: i, 合計
3合計 ← 0
4for (i を 1 から 要素数(数字) まで 1 ずつ増やす)
5 合計 ← 合計 + 数字[i]
6endfor
実行を開始します

配列の可視化

箱の番号(添字)は 1 から始まります
▶ 整数型の配列: 数字
実行を開始します
数字
3
[1]
1
[2]
4
[3]
1
[4]
5
[5]
まだ見ていないいま見ている数字を書きかえた完了
マスの下の ▲i は「いまコードが見ている位置」・ 棒の高さは数の大きさ
くらべた回数
0
書きかえた回数
0
読んだ回数
0
変数の状態(いまの値)
i=
位置(カウンタ)
合計=
足した結果
1 / 14
速度

理解度チェック

解答すると、そのアルゴリズムが実際に動く様子を再生して確認できます。

確認問題 1

このサイトでは添字(そえじ)は1から数えます。では 数字[2] が指すのは何番目の箱か。

確認問題 2

コードの ← は何を意味する記号か。

確認問題 3

数字 = {3, 1, 4, 1, 5}(5個)のとき、このプログラムの 合計 は最終的にいくつになるか。

📊 計算量(速さの目安)— くわしく知りたい人向け

「計算量」は、データが増えたときに手間(時間)がどれくらい増えるかの目安です。n はデータの個数。記号の意味は各カードの下に書いてあります。

最良(いちばん速い場合)
O(n)
データの数に比例して増える(ふつう)
平均(ふつう)
O(n)
データの数に比例して増える(ふつう)
最悪(いちばん遅い場合)
O(n)
データの数に比例して増える(ふつう)
使う追加メモリ(空間)
O(1)
データが増えても一定(最速)

このサイトは、使い方を改善するためにアクセス解析(Google Analytics・Cookie)を利用します。