第6講 ゲーム基礎その2
第6話 関数の意味再考
特定のキー(例えば、Z)について押されたと判定する社員(関数)ではなく、
どのキーについても判定のできる社員(関数)を開発するには、
もう一度関数の意味を再考してみましょう。
なぜ、C言語では『構成単位=部品=この講義では社員』のことを関数と呼ぶのかを、
第3講第10話で学びました。
#include<stdio.h>
int f(int x);
int main(){
  int x, y; //整数を入れる変数
  x=3;
  y=f(x);
  printf("3の2倍は");
  printf("%d",y);
  printf("です。\n");
  return(0);
}
int f(int x){
  return(2*x);
}
実行画面
3の2倍は6です。

引数が
ji
入力側の3ですし、戻り値が出力側の6に対応していることがわかります。
つまり、y=f(x)の形になっています。

もし、
int f(int x){
  return(2*x);
}

int f(){
  return(2*
3);
}
であったとしたら、この社員f()は特定の値3しか2倍にできない無能な社員です。
それに対して
int f(int x){
  return(2*x);
}
はどんな整数でも2倍にしてくれる有能な社員です。
つまり、特定の問題しか解けない社員ではなく、
どんな問題にも対応できる普遍的にして汎用的な社員です。

ミソは、引数が変数になっていることです。
皆さん、変数という漢字を考えて下さい。
変わる数という意味ですね。
どんな数にも変わることができるものと言うことで変数という漢字が使われています。
それにたいして、特定の値(例えば3)を定数というのでしたね。
数学の苦手な人は、変数とはただの箱だと思えばよいのです。
整数型変数であれば、どんな整数でも入れられます。
整数を入れる箱であれば、どんな整数であっても入れることができます。
特定の値しか入れられないとすれば、
それは、変数ではなく定数です。

#include<stdio.h>
int f(int x);
int main(){
  
int x, y; //整数を入れる変数
  x=3;
  y=f(x);

  printf("3の2倍は");
  printf("%d",y);
  printf("です。\n");
  return(0);
}
int f(int x){
  return(2*x);
}

#include<stdio.h>
int f(int x);
int main(){
  
int y; //整数を入れる変数
  y=f(3);

  printf("3の2倍は");
  printf("%d",y);
  printf("です。\n");
  return(0);
}
int f(int x){
  return(2*x);
}
とも書けますし、
#include<stdio.h>
int f(int x);
int main(){
  printf("3の2倍は");
  printf("%d",
f(x));
  printf("です。\n");
  return(0);
}
int f(int x){
  return(2*x);
}
とも書けます。
わざわざ
#include<stdio.h>
int f(int x);
int main(){
  int x, y; //整数を入れる変数
  x=3;
  y=f(x);

  printf("3の2倍は");
  printf("%d",y);
  printf("です。\n");
  return(0);
}
int f(int x){
  return(2*x);
}
という面倒な書き方をしているのは、
xが変数であること強調するためです。
ですが、今回のプログラムはコード(プログラムの文章)上から変数xに値を代入しているために、
特定の値3しか2倍にできないプログラムになっています。
つまり、関数がいかなる値にも対応できる汎用性を少しも活かしていません。
問題は、コードから代入していることです。
問題を解消するにはキーボードから入力できるようにすればよいのです。
キーボードから入力するようにするためには、
scanf("%d",&x);
を使います。
何のことか初心者の方にはわかりませんね。
それに、&ってなにですね。
気になる方は、次話をクリック!





第5話へ  第7話へ

002

初心者のための excel 2016 マクロ VBA 入門講義 基礎から応用まで
vc++ c言語 c++ 入門 初心者 基礎から応用まで
eclipse c++ 入門
魔方陣 数独で学ぶ VBA 入門

数独のシンプルな解き方・簡単な解法の研究
VB講義へ
VB講義基礎へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座
初心者のための世界で一番わかりやすいVBA入門講義(基礎から応用まで)
初心者のための VC++による C言語 C++ 入門 基礎から応用まで第1部
eclipse java 入門
java 入門 サイト 基礎から応用まで
本サイトトップへ