ゼロから始める資格学習
全23章・シラバス6.5保存した教材
← 第14章「アルゴリズムとプログラミング」の目次へ
14-01 · データ構造4節・復習・4問

変数・データ型・配列・レコード

このパートで確かめること
  • 代入した時点の値を追い、別の変数は再計算しない限り変わらないと説明できる。
  • 計算する値と表記を保つ識別情報で型を選べる。
  • 添字でレコードを選び、同じレコードのフィールドを読める。
  • 配列要素への代入を追い、値の更新と末尾への追加を区別できる。
導入
このページの目次 4節・復習と4問
  1. 1説明を読む
  2. 2復習する
  3. 3問題を解く
  4. 4次へ進む

なぜ、データの形を決めるの?

プログラムは、決められた手順で値を取り出して計算します。人がノートを見て読み取っている注文も、商品名・単価・数量に分け、同じルールで扱える形にすると、検索や計算を繰り返せます。

まずカフェの困りごとから、その必要性を見てみましょう。

ノートに書いたのに、集計が大変

1 / 3
閉店後のカフェ。ノートの別々のページやメモに注文が記録され、店長ミオが今日の売上をまとめようと考え込む。ハルがノートをのぞき、ビットが一緒に考える。誰もPCをまだ使っていない。ノートを否定せず、書き方がそろわない今回の困りごとを描く。
この漫画を文章で読む

ノートに書いたのに、
集計が大変

ミオ「今日の売上を
まとめたいんだけど…」

ハル「書いた場所が違うと、
探すのも大変だね。」

記録の一部

コーヒー 300円 × 3杯

紅茶 350円 × 2杯

ココア 400円 × 1杯

困っているのは、この作業

集計するたびに、
ページを読み返して計算する。

注文が変わると、
該当する記録を探して計算し直す。

書く項目や場所がそろうと、
見直しや集計がしやすくなるよ。

1 / 3

1変数:使う値に名前を付ける

変数は、プログラムで使う値を保存し、名前で参照するためのものです。コーヒーの「単価」に300、「数量」に3を入れれば、「単価×数量」で小計を計算できます。値が変わっても、同じ名前と計算の手順を使えます。

「数量←3」は、変数「数量」に値3を入れる代入です。あとから「数量←4」とすると、数量の値は3から4へ置き換わります。矢印は、値を入れる向きを表します。

ここで注意したいのは、保存済みの小計です。数量を変更しても、小計を計算し直す処理がなければ元の900円のままです。「小計←単価×数量」をもう一度実行して、初めて1,200円になります。表計算の数式のような自動更新にも、そのための処理が必要です。

数量だけを変えた場合と、計算し直した場合
処理数量小計
小計←300×33900円
数量←44900円のまま
小計←300×数量41,200円

代入は指定した変数を変えます。ほかの変数も変えるには、その処理が必要です。

2データ型:値の種類と、扱い方を決める

データ型は、扱える値や操作の種類を決めます。整数型は3や−2、実数型は1.5など、論理型は真・偽を扱います。文字型は一つの文字、文字列は商品名やメールアドレスのような文字の並びです。細かな表し方は言語によって異なります。

選ぶ基準は見た目より用途です。数量は計算するので整数、電話番号や商品番号は表記をそのまま区別したいので文字列が向きます。「0012」を整数12にすると先頭の0が失われます。数字で書かれていても、必ず計算用の数とは限りません。

何に使う値かで、型を選ぶ
用途値の例扱い方
数量3整数として計算する
重さ1.5実数として計算する
売切れか論理値で判断する
商品番号0012文字列として表記を保つ

文字列として保管した番号を、そのまま個数の計算に使うわけではありません。

ハルとビットが黒板で単価と数量をラベル付きのカードとして示す。ミオはなるほどと見ている。値を入れた箱の比喩ではなく、名前→値が読めるシンプルなカードで、名前が計算式につながる。
この漫画を文章で読む

値には、名前と種類を

変数:値を保存し、名前で使う

単価 300

数量 3

単価 × 数量

300 × 3 = 900円

数量が変わっても、
同じ式で計算し直せる。

データ型:扱う値の種類

数量 3 → 整数

商品名 コーヒー → 文字列

数として計算するのか、
文字として扱うのかを決める。

ハル「値の役割が分かると、
処理の書き方も整理できるね。」

3レコード:関連する項目を、一件分にまとめる

レコードは、関連する複数の項目を一件分にまとめたものです。注文なら「商品名・単価・数量」を一つの明細として扱います。一つ一つの項目をフィールドと呼びます。商品名は文字列、単価や数量は整数というように、各項目の意味に合う型を使います。

例えば「コーヒー・300円・3杯」が一件のレコードです。紅茶も注文したら、紅茶の明細は別の一件になります。かご全体と、一商品分の明細を分けて考えましょう。会員の「会員ID(利用者などを見分ける識別子)・氏名・住所」を一人分としてまとめるのも、レコードの例です。

コーヒーの注文、一件分のレコード
フィールドデータ型
商品名コーヒー文字列
単価300整数型
数量3整数型

単価の単位は円、数量の単位は杯です。関連する3項目で一件の明細を表します。

この説明に出てきた略語の正式名称
ID
Identifier
利用者などを見分ける識別子

4配列:並んだ要素を、位置の番号で取り出す

配列は、同じ種類の要素を順番に並べ、要素番号(添字)で取り出す構造です。数値だけでなく、同じ項目構成のレコードを要素にすることもできます。

注文一覧の一行を一件のレコードとし、そのレコードを順に配列へ並べたと考えます。位置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コーヒー3003
2紅茶3502
3ココア4001

一行がレコード、商品名・単価・数量がフィールドです。単価は円、数量は杯で表します。

位置1 → コーヒーのレコード → 数量の値は3

「位置1」と「数量3」は違う情報です。選ぶ位置を変えると、取り出す一件も変わります。

カフェの黒板に3枚のデータカード。コーヒー1商品分の注文明細カードをオレンジ枠で強調し、レコードと示す。3枚のカード全部を緑の括弧でまとめて配列と示す。ハルとビットが指し、ミオが理解する。
この漫画を文章で読む

一件をまとめて、
順に並べる

レコード:一件分の項目をまとめる

ここでは、1商品分の注文内容を
一つのレコードにする。

商品 コーヒー

単価 300 数量 3

商品 紅茶

単価 350 数量 2

商品 ココア

単価 400 数量 1

配列:複数の要素を順に並べる

この例は、レコードを
要素として並べた配列。

商品・単価・数量の対応を保ち、
一件ずつ同じ計算ができる。

ミオ「何の商品を何杯頼んだか、
ひとまとまりで分かるね。」

同じ配列を「読む」「更新する」の順に追う
  1. ① 最初の状態A = [8, 3, 5]

    この例の添字は1から始まります。位置1の値は8、位置2は3、位置3は5です。

  2. ② 2番目を読むA[2] → 3

    2は取り出す位置、3は取り出した値です。読むだけでは配列の中身は変わりません。

  3. ③ 2番目だけを更新するA[2] ← 7 → [8, 7, 5]

    3が7に置き換わりました。要素は3個のままなので、末尾へ追加したわけではありません。

0から数える規則なら、同じA[2]は3番目を指します。問題で指定された添字の規則を先に確かめます。

実社会へ広げて考える

ネット通販でも、商品・会員・かごの明細を項目に分けて扱います。商品IDや会員IDで必要な情報を結び付けると、かごの数量と単価から金額を計算し、登録済みの届け先も取り出せます。

漫画で、整理するメリットを振り返る
カフェの最後のスライド。ミオが数量変更を依頼し、ハルがPCで更新と再計算、ビットが結果を示す。黒板の大きな縦矢印3ステップで同じデータの変更を示す。最後は全員笑顔だが図が主役。
この漫画を文章で読む

探す・直す・集計するが楽に

ミオ「コーヒーを、
3杯から4杯に変更したいな。」

数量を更新

3 → 4

金額を再計算

300 × 4 = 1,200円

合計を再集計

1,200 + 700 + 400

2,000円 → 2,300円

どの商品・項目を直すかが分かる。

データが変わっても、
同じ計算手順を使える。

同じ項目をそろえると、
探す・比べる・集計する処理を
組み立てやすい。

ハル「データの整理が、
毎日の仕事を助けるんだね!」

ミオ「カフェの外でも、
この考え方が役立つよ。」

応用の漫画:大量の商品と会員情報を扱う(3枚)

ここからは応用例です。基本の復習・3問には進めますので、気になるときに開いて読めます。

膨大なデータも、IDでつながる

1 / 3
カフェの黒板に、膨大な店舗・商品・会員の一覧が大きく広がる。表の行が画面の外まで続き、会員U101の行だけ色で囲まれ、下の大きな会員詳細へ拡大される。規模も会員情報も架空の通販サイトの例。
この漫画を文章で読む

膨大なデータも、IDでつながる

架空の通販サイトの例

店舗 1万店 / 商品 100万点 / 会員 500万人

ミオ「お店も商品も、人の情報も!
どうやって使い分けるの?」

店舗情報

商品情報

会員情報

一覧の一部を表示

会員U101の行を拡大

会員ID U101

ログインID mio.cafe

メール mio@example.com

氏名 ミオ

住所 架空市みどり町1-2

表の一行は、一件分のレコード。

IDを手がかりに、
関連する情報を結び付けて使う。

ビット「次はミオの買い物を
このデータで追ってみよう。」

1 / 3

規模・人物・住所・メール・金額は架空の学習例です。ログインの認証後に会員を特定する例で、かごへの追加だけでは注文は確定しません。

2

復習

このレッスンを振り返ろう

数量だけを変更したら、保存済みの小計も変わるか。

答え方と、確認するポイント

変わらない。小計へ計算結果を代入した時点の値が残る。更新には小計を計算し直して代入する処理が必要。

先頭0を残す会員番号と、金額計算に使う個数は、それぞれどう持つか。

答え方と、確認するポイント

会員番号は文字列、個数は整数型。数字に見えるかではなく用途で選ぶ。

配列の位置2と、そのレコードの数量2は同じ意味か。

答え方と、確認するポイント

位置2は何番目を取り出すか、数量2は取り出した一件の中の値。添字で一件を選んでからフィールドを読む。

添字が1からのA=[8,3,5]で、A[2]を読むと何か。A[2]←7の後はどうなるか。要素は増えるか。

答え方と、確認するポイント

読む値は3。更新後は[8,7,5]で、2番目だけが変わる。要素数は3のままで、末尾へ追加したことにはならない。

3

問題で確かめる

学んだことを問題で確かめよう

入門の確認問題4問で、この範囲の考え方を使います。答えを選んだら、正解の理由とほかの選択肢の違いも確かめましょう。

オリジナル入門問題1 / 4問
次の処理を順に行いました。最後に変数「小計」に入っている値はどれですか。
単価 ← 800
数量 ← 2
小計 ← 単価 × 数量
数量 ← 3
ヒントを見る

「小計」に値を入れた行を探し、その時点の数量を使います。

オリジナル入門問題 · シラバス 6.5

4問中0問の答えと解説を確認しました。選んだ答えの理由も確かめてから、次へ進みましょう。

自作解説 · 2026.09.15 確認
出典・参考資料を確認する

学習範囲:IPA シラバス Ver.6.5 ↗ 項目36。身近な例・会話・図解・確認問題は当サイトのオリジナルです。

学習範囲と参考資料

シラバスは学習範囲の根拠です。カフェと通販は、一般的なデータの使い方を簡略化した架空例です。2026年9月14日確認。

3問 / 操作体験

模試の操作を試す

解答から結果の確認までを、3問で体験できます。100問・120分の第1模試も無料で利用できます。