変数・データ型・配列・レコード
- 代入した時点の値を追い、別の変数は再計算しない限り変わらないと説明できる。
- 計算する値と表記を保つ識別情報で型を選べる。
- 添字でレコードを選び、同じレコードのフィールドを読める。
- 配列要素への代入を追い、値の更新と末尾への追加を区別できる。
このページの目次 4節・復習と4問
- 1説明を読む
- 2復習する
- 3問題を解く
- 4次へ進む
なぜ、データの形を決めるの?
プログラムは、決められた手順で値を取り出して計算します。人がノートを見て読み取っている注文も、商品名・単価・数量に分け、同じルールで扱える形にすると、検索や計算を繰り返せます。
まずカフェの困りごとから、その必要性を見てみましょう。
バラバラの注文メモ
項目の置き場所がそろうと探しやすい
細かな文字は、画像の拡大や文章版で確認できます。文章で読む
商品名・サイズ・個数がバラバラに書かれた注文メモは、必要な情報を探すのに手間がかかります。
商品名、サイズ、個数を、それぞれ決まった欄に整理します。同じ注文の情報を同じ行に置くと、見比べやすくなります。
同じ手順なら、何度でも
値と手順が決まると同じ処理を繰り返せる
細かな文字は、画像の拡大や文章版で確認できます。文章で読む
読む→計算→集計。
使う値と処理の順番が決まると、同じ処理を繰り返せる。
整理した形が、プログラムにもつながる。
1変数:使う値に名前を付ける
名前をつけた値
値に名前を付けると同じ処理で使い直せる
細かな文字は、画像の拡大や文章版で確認できます。文章で読む
よく使う値に「単価」という名前を付けます。単価が300円、数量が2なら、注文金額は300×2=600円です。
単価を320円に変更して同じ式を計算すると、320×2=640円になります。値を名前で使うと、式の形を変えずに処理を繰り返せます。
変数は、プログラムで使う値を保存し、名前で参照するためのものです。コーヒーの「単価」に300、「数量」に3を入れれば、「単価×数量」で小計を計算できます。値が変わっても、同じ名前と計算の手順を使えます。
「数量←3」は、変数「数量」に値3を入れる代入です。あとから「数量←4」とすると、数量の値は3から4へ置き換わります。矢印は、値を入れる向きを表します。
ここで注意したいのは、保存済みの小計です。数量を変更しても、小計を計算し直す処理がなければ元の900円のままです。「小計←単価×数量」をもう一度実行して、初めて1,200円になります。表計算の数式のような自動更新にも、そのための処理が必要です。
2データ型:値の種類と、扱い方を決める
数として扱う?文字として扱う?
値の種類によって扱い方が異なる
細かな文字は、画像の拡大や文章版で確認できます。文章で読む
数量=3は計算する数、商品名=コーヒーは名前として使う文字です。
計算する値と、名前として使う値は同じようには扱いません。正式なデータ型の区別は本文と表で確認します。
データ型は、扱える値や操作の種類を決めます。整数型は3や−2、実数型は1.5など、論理型は真・偽を扱います。文字型は一つの文字、文字列は商品名やメールアドレスのような文字の並びです。細かな表し方は言語によって異なります。
選ぶ基準は見た目より用途です。数量は計算するので整数、電話番号や商品番号は表記をそのまま区別したいので文字列が向きます。「0012」を整数12にすると先頭の0が失われます。数字で書かれていても、必ず計算用の数とは限りません。
3レコード:関連する項目を、一件分にまとめる
一件をひとまとめ
一件分の項目をまとめると対応が崩れない
細かな文字は、画像の拡大や文章版で確認できます。文章で読む
商品・サイズ・個数を別々の紙にすると、どの注文の情報なのか分からなくなることがあります。
1件分を1枚の注文カードにまとめます。関連する項目をひとまとめにすると、並び順が変わっても、その1件の組合せは崩れません。
同じ注文を、整理する前後で比べよう
補助図では別の注文例を使います。整理する前後で、項目と値の対応を確かめましょう。
ばらばらに書かれた「1001」「カフェラテ」「M」「2」を、次のように一件分にまとめます。値は変えず、どの項目の値かが分かる形にそろえます。
| 項目 | 値 |
|---|---|
| 注文番号 | 1001 |
| 商品 | カフェラテ |
| サイズ | M |
| 数量 | 2 |
レコードは、関連する項目を一件分のまとまりとして扱う考え方です。まとめるときも「どの値がどの項目か」を保ちます。
レコードは、関連する複数の項目を一件分にまとめたものです。注文なら「商品名・単価・数量」を一つの明細として扱います。一つ一つの項目をフィールドと呼びます。商品名は文字列、単価や数量は整数というように、各項目の意味に合う型を使います。
例えば「コーヒー・300円・3杯」が一件のレコードです。紅茶も注文したら、紅茶の明細は別の一件になります。かご全体と、一商品分の明細を分けて考えましょう。会員の「会員ID(利用者などを見分ける識別子)・氏名・住所」を一人分としてまとめるのも、レコードの例です。
この説明に出てきた略語の正式名称
- ID
- Identifier
利用者などを見分ける識別子
4配列:並んだ要素を、位置の番号で取り出す
ならべると見えてくる
同じ種類の要素を順番に並べると扱いやすい
細かな文字は、画像の拡大や文章版で確認できます。文章で読む
注文を順番に並べると、「1番目」「2番目」「3番目」という位置を使って取り出せます。
同じ種類の要素を並べ、位置を指定して扱うのが配列の考え方です。
配列は、同じ種類の要素を順番に並べ、要素番号(添字)で取り出す構造です。数値だけでなく、同じ項目構成のレコードを要素にすることもできます。
注文一覧の一行を一件のレコードとし、そのレコードを順に配列へ並べたと考えます。位置1のコーヒーの数量が3なら、位置1は一件を選ぶための番号、3は選んだレコードの数量です。会員IDや商品IDは記録を識別する値で、配列の位置を表す添字とは役割が違います。
まず値を読みます。この教材は、特記がなければ添字を1から数えます。数値の配列A=[8,3,5]なら、A[2]は2番目の値3です。読むだけでは、並んでいる値は変わりません。
次に一つを更新します。A[2]←7を実行すると、2番目の3だけを7へ置き換え、Aは[8,7,5]になります。ほかの位置の値と、要素の個数は変わりません。
更新は末尾への追加と区別します。要素を追加する処理なら要素数も増えますが、A[2]への代入は既にある一つの場所を更新する処理です。実際の言語や設問では0から数える場合もあるため、添字の規則を先に確かめます。
| 位置(添字) | 商品名 | 単価 | 数量 |
|---|---|---|---|
| 1 | コーヒー | 300 | 3 |
| 2 | 紅茶 | 350 | 2 |
| 3 | ココア | 400 | 1 |
一行がレコード、商品名・単価・数量がフィールドです。単価は円、数量は杯で表します。
「位置1」と「数量3」は違う情報です。選ぶ位置を変えると、取り出す一件も変わります。
- ① 最初の状態
A = [8, 3, 5]この例の添字は1から始まります。位置1の値は8、位置2は3、位置3は5です。
- ② 2番目を読む
A[2] → 32は取り出す位置、3は取り出した値です。読むだけでは配列の中身は変わりません。
- ③ 2番目だけを更新する
A[2] ← 7 → [8, 7, 5]3が7に置き換わりました。要素は3個のままなので、末尾へ追加したわけではありません。
0から数える規則なら、同じA[2]は3番目を指します。問題で指定された添字の規則を先に確かめます。
実社会へ広げて考える
ネット通販でも、商品・会員・かごの明細を項目に分けて扱います。商品IDや会員IDで必要な情報を結び付けると、かごの数量と単価から金額を計算し、登録済みの届け先も取り出せます。
3杯を4杯に変えたら?
値を直して同じ手順で再計算できる
細かな文字は、画像の拡大や文章版で確認できます。文章で読む
数量だけ3→4に変える。
計算の形はそのまま、もう一度実行する。
直す場所が決まっていると、計算も追いやすい。
活用例:商品・会員・かごの情報をつなぐ
何百万件からどう探す?
IDを手がかりに必要な一件をたどれる
細かな文字は、画像の拡大や文章版で確認できます。文章で読む
名前だけでは同じものがあって探しにくい。
一意なIDから目的の1件へたどる。
手がかりが決まっていると、必要な情報へ早く着ける。
かごに何が残る?
誰が何を何個選んだかを記録する
細かな文字は、画像の拡大や文章版で確認できます。文章で読む
誰が・何を・何個選んだか。
カートの状態と注文確定後を区別する。
画面の裏では、選んだ内容がデータとして残っている。
会計はどこから?
明細ごとに計算してから合計する
細かな文字は、画像の拡大や文章版で確認できます。文章で読む
各商品の単価×数量を計算する。
明細の金額を最後に足し合わせる。
一件ずつ計算して、最後にまとめる。
ログインの認証後に会員を特定する例です。かごへの追加だけでは注文は確定しません。
復習
このレッスンを振り返ろう
数量だけを変更したら、保存済みの小計も変わるか。
答え方と、確認するポイント
変わらない。小計へ計算結果を代入した時点の値が残る。更新には小計を計算し直して代入する処理が必要。
先頭0を残す会員番号と、金額計算に使う個数は、それぞれどう持つか。
答え方と、確認するポイント
会員番号は文字列、個数は整数型。数字に見えるかではなく用途で選ぶ。
配列の位置2と、そのレコードの数量2は同じ意味か。
添字が1からのA=[8,3,5]で、A[2]を読むと何か。A[2]←7の後はどうなるか。要素は増えるか。
答え方と、確認するポイント
読む値は3。更新後は[8,7,5]で、2番目だけが変わる。要素数は3のままで、末尾へ追加したことにはならない。
問題で確かめる
学んだことを問題で確かめよう
入門の確認問題4問で、この範囲の考え方を使います。答えを選んだら、正解の理由とほかの選択肢の違いも確かめましょう。
ヒントを見る
「小計」に値を入れた行を探し、その時点の数量を使います。
オリジナル入門問題 · シラバス 6.5
4問中0問の答えと解説を確認しました。選んだ答えの理由も確かめてから、次へ進みましょう。
出典・参考資料を確認する
学習範囲:IPA シラバス Ver.6.5 ↗ 項目36。身近な例・会話・図解・確認問題は当サイトのオリジナルです。
学習範囲と参考資料
- MIT Introduction to Algorithms 講義資料 ↗
- IPA ITパスポート試験シラバス6.5(範囲) ↗
- AWS:オンラインショップのデータ設計例 ↗
- Shopify:かごの商品・数量・購入者情報 ↗
シラバスは学習範囲の根拠です。カフェと通販は、一般的なデータの使い方を簡略化した架空例です。2026年9月14日確認。