コンピュータを知ろう 変数 配列 構造体 型

変数て何ですか
  プログラムを作る上でデータや文字を扱うに変数や配列などが必要になります。。
次の問題に答えなさい。

問題① 次の計算をしなさい。

1. リンゴは何個買いましたか。
2. 果物は何個買いましたか。

3. 全部でいくら払いましたか。 

問題② 次の計算をしなさい。
 1つ80円のリンゴ8個と1つ90円のリンゴ2個と1つ60円の柿6個と1つ70円の梨3個を買いました。
 
   1. リンゴは何個買いましたか。
   2. 果物は何個買いましたか。
   3. 全部でいくら払いましたか。
○ 問題①は数字と品名だけで「多分こうだろう」と問題を解く事も可能かも知れませんが正確ではありません。問題②は問題が理解でき答えが出せると思います。関連性さえ理解すれば計算に必要な値を抽出して計算が行えます。

  この問題を整理すると


これより

品名 金額 個数
リンゴ 90円 2個
リンゴ 80円 8個
70円 3個
60円 6個
こちらの方が解りやすいですよね
問題文が表になっも解答を出せます。
 
< 解答 >
1. リンゴは何個買いましたか。
  2+8=10
2. 果物は何個買いましたか。
  2+8+3+6=19
3. 全部でいくら払いましたか。
  90×2+80×8+70×3+60×6=1390
問題②    解答  (コンピュータ編)
プログラミングすると
コンピュータの計算方法
1と1を足すと
 ○ 私たちが計算すると
      1+1=2
        になりますが
  ○ コンピュータに計算させると
      X=1+1
     1+1の計算結果を X に代入します。
       x を 変数 といいます
< 解答 >
  1. リンゴは何個買いましたか。
    X=2+8
  2. 果物は何個買いましたか。
    Y=2+8+3+6
  3. 全部でいくら払いましたか。
    Z=90×2+80×8+70×3+60×6

※ 計算結果を 変数 に代入しなければなりません。そして、計算結果を表示したければ別の命令が必要になります。

変数とは

変数とはコンピュータにデータを確保するための箱

変数に名前をつけてそれぞれの変数に区別をつけます。これを変数名と言います。

上の問題で、
   品物(果物)
   価格
   個数

 整理・分類し問題に対して必要な値を選んで解答します。この問題では価格と個数があれば計算は可能になります。値は定数なので正解を導き出せますが、価格と個数は変わる可能性がある場合は変数を用いた方が応用性があります。

変数の宣言・代入・参照
    • 宣言  変数の宣言
    • 代入  宣言した変数に対して実際にデータを関連付けることを代入
    • 参照  変数に代入したデータを利用することを、変数の参照

変数か定数かの切り分けは

 計算結果、値が変動する場合は  変数

 絶対変わらない値は       定数  (値を使う)

   になります。

定数の計算 変数の計算
X=2+8
Y=2+8+3+6
Z=90×2+80×8+70×3+60×6
A1=2
A2=8
A3=3
A4=6
B1=90
B2=80
B3=70
B4=60
X=A1+A2
Y=A1+A2+A3+A4
Z=B1×A1+B2×A2+B3×A3+B4×A4
もしも、リンゴの個数が2個から5個変わった場合は、
定数の計算  3箇所
変数の計算  1箇所

訂正になります。こんな簡単な計算ならいいですが、複雑な計算の場合ミスをしやすくなります。

○ コンピュータはこの値をどのように記録するのでしょうか。

私たちは頭の中に  リンゴ -- 90円 -- 2個  と関連付けて覚えて必要に応じて引き出し活用しますが、しかし、コンピュータは2個を覚えてくれません。だから、変数を用意してその変数に2個を入れることによりコンピュータのメモリに記録され活用できます。

○ 問題1は「勘」なら問題は解けますがもしもランダムに並べられていたら、

    梨 -- 90円 -- 8個

  だったら、正解は得られません。私たちに解からないものがコンピュータに解るはずがありません。

  問題を分析・整理し、アルゴリズムを構築しプログラムを作成します。

変数の取り扱い方

○ プログラム言語には 変数と型を宣言しなければならない言語があります。

・ データ(数値・文字 etc) 一つ に対して 変数は 一つ

変数 -- 型 -- 変数名

がセットになります。

○ ザルに水を入れても流れてしまいます。水を入れてもこぼれない容器を用意する必要があります。コンピュータで扱う変数にもデータに合った型を用意する必要があります。

  • Integer( 整数型)
  • Long (長整数型)
  • Currency (通貨型)
  • Single (単精度浮動小数点数型)
  • Double (倍精度浮動小数点数型)
  • String (文字列型)
  • Date (日付型)
  • Boolean (ブール型)   etc

配列
○ コイントスでコインの表と裏の現れ方を6回調べて、コインの表裏の確率を求めなさい。
< 解答 >
表 0
裏 1 とすると
X=A+B+C+D+E+F
Y=6-X6回中      表 Y/6

裏 X/6

○ 6回ぐらいなら6つ変数を作ればすみますが、回数を増やすとデータ 一つに対して 変数 一つが必要になるため回数分必要になります。これが100回や200回だと大変ですよね。
○ そこで 変数の代わりに 変数の塊 みたいな 配列 を用いる事により、変数名を変えた変数をデータ分用意するのではなく、配列名に番号を振ることによりデータの増減に簡単に対応出来るようになりデータの管理も容易になります。また、計算も簡単になります。
多次元配列
○ 1次元配列   配列名[x方向の要素]
○ 2次元配列   配列名[Y方向の要素][x方向の要素]
○ 3次元配列   配列名[Z方向の要素][Y方向の要素][x方向の要素]
構造体の考え方
問題 次の計算をしなさい。
1つ80円のリンゴ8個と1つ90円のリンゴ2個と1つ60円の柿6個と1つ70円の梨3個を買いました。
  1. リンゴは何個買いましたか。
  2. 果物は何個買いましたか。
  3. 全部でいくら払いましたか。
○ 変数なら、データに対してデータ分の変数が必要になります。

○ 配列なら、数字と文字列のそれぞれの配列が必要になります。

構造体とは
○ 複数の型のデータ(メンバ)の異なる変数を一つに扱う方法があります。

○ メンバを入れる箱を構造体と呼びます。
構造体名(リスト)を付けてそれを管理します。

構造体配列について

○ 構造体も変数同様、複数ある場合は配列を用いることが出来ます。これを構造体配列と言います。

まとめ
○ 変数 も 配列 も データの型は 一種類しか選べません。
変数は 一度 データの型 を決めても 変える事は可能です。
○ 私たちは 80 の値を 同じ数字として扱うことが出来ますが、コンピュータは80の値は異なるものと捉えます。
        • 数値 80 は 整数
        • 数値 80.00 は 実数
        • 文字 八十 は 文字列型
        • 文字 80円 は 文字列型

○ 必要に応じて変数、配列、構造体、構造体配列を適切に取り扱えられるようにしましょう。
  
  

 
目次