第3講 数字を入れる箱を活用しよう

第9話 文字の加工

1+2+3+4+5+6+7+8+9+10を考える手がかりを得るために、
1+2+3を考えてみましょう。
複雑な問題のヒントを考えるために、
単純化した問題を考える、
プログラミングだけでなく、分野を問わず有効な考え方ですね。

さて、1+2+3の計算をさせるのに、
#include<iostream>
using namespace std;
int main(){
  short a,b,c;
  a=1;
  b=2;
  c=3;
  cout<<"1+2+3="<<a+b+c<<endl;
}
c++
というのが1つの答えです。
ですが、前話の最後に用意する箱は、
1つであると書いてあったことを思い出してください。
用意する箱を1つにして、このプログラムを改善してください。
解答例は、例によって30行下です。



























解答例
#include<iostream>
using namespace std;
int main(){
  short w;
  w=0;
  w=w+1;
  w=w+2;
  w=w+3;
  cout<<"1+2+3="<<w<<endl;
}

c++

『えっ?』
と感じている方、多いですよね。
そうです。
初心者には難しいところですので、解説しましょう。
尚、そんなの簡単だよと思った方もいらっしゃるかもしれませんが、そんな優秀な方も
後の同じことの繰り返し(ループ処理)につながる大事な考え方ですので、
以下を熟読してください。
最初の2行
  short w;
  w=0;
については、特に疑問はないと思いますが、
3行目から5行目の
  w=w+1;
  w=w+2;
  w=w+3;
には???の方も当然いらっしゃいますよね。
=が数学のイコールならw = w + 1なんてことあり得ません。
左辺のwを右辺に移項するなら、
w - w = 1 から 0 = 1 になってしまいます。
この話を聞いて、

第2講 文字を入れる箱を活用しよう
第6話 =の意味
の話を思い出した方多いのではないでしょうか。
そうです。
=は決してイコールではなく、むしろ←をイメージした方がよかったですよね。
  w ← w + 1
つまり、
  short w;
  w=0;
  w=w+1;
  w=w+2;
  w=w+3;
でやっていること図にしますと、
s1

ということになります。
1+2+3についてはおわかりになったと思います。
では、1+2+3+4+5+6+7+8+9+10について考えてみてください。




第8話へ 第10話へ

a

初心者のためのjava 入門 基礎から応用まで
初心者のための VC++による C言語 入門 C++ 入門 基礎から応用まで第1部
初心者のための VC++による C言語 入門 C++ 入門 基礎から応用まで第2部
初心者のための VC++による C言語 入門 C++ 入門 基礎から応用まで第3部
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座へ
VC++入門
VBA入門
専門用語なしのVBA入門
VB入門
初心者のためのEclipseによるJava入門