17/02/14 01:45:10.29 NGEQ6cbs.net
0.1を100回加えると10になると思いますが、
C言語のプログラムで0.1を100回加える計算をやらせると10にはならない。
例えばこういうC言語の簡単なプログラム
#include <stdio.h>
void main() {
float sum;
int i;
sum = 0;
for (i = 1 ; i <= 100; i++) {
sum += 0.1;
}
printf("%f\n", sum);
}
暗算で計算すると10になると思うでしょう?
ところがプログラムはこの小数点の計算をミスしてしまう。
不思議だよね?面白いでしょう?
ここからさらに探求して、なぜ計算をミスしてしまうのか?を考えていく。
この分からないことを探求する喜びがプログラム学習には必要である。
なぜ?
という疑問。
「なぜ?」が現れたらその疑問を自分で解き明かす。
なぜ?という疑問すら湧かないなら失格です。