第4講 繰り返し処理・if文・グローバル変数について
第7話 if文による改良
#include<stdio.h> //秘密の道具箱から、printf()という社員(関数)を借りるために必要
int f(int a,int b); //初項a末項b交差cの和
int main(){
int a=1,b=1; //整数を入れる箱を用意してその箱に[100を入れている
printf("初項%d公差%dの等差数列の和で100以下の最大値=%d\n",a,b,f(a,b)); //社員f()に足し算をして結果を表示する仕事を命じている。
return(0); //プログラムを閉めるためのお呪い
}
int f(int a,int b){
int w=0,i=a; //整数を入れる箱wを用意して0に初期化、さらに整数を入れる箱iを用意して0に初期化
while(1){
if(w+i<100){
w+=i;
i+=b;
}
else{
break;
}
}
return(w);
}
コピペ用添付ファイル
実行結果
初項1公差1の等差数列の和で100以下の最大値=91
皆さん、
while(1){
if(w+i<100){
w+=i;
i+=b;
}
else{
break;
}
}
をみて?ですよね。
()内は条件式であるはずなのに、
1になっていて条件式ではありませんね。
皆さん、実は条件式自体も値を持ちます。
条件式が正しいときは1の値を、
間違っているときには0の値を取るのです。
例えば、30>20は正しいですから、式『30>20』自体が1の値を持ちます。
20>30なら正しくないですから、式『20>30』自体が0の値を持ちます。
a>20が正しいならは、式自体『a>20』の値が1ならと同じなのです。
式自体が値を持つなんておかしいと感じるかもしれませんが、
この発想によってコンピュータが可能になったと言ってもよいのです。
デカルトやライプニッツが構想していたすべての問題(心の問題や法学の問題等)を解く普遍数学は、
ブールに引き継がれて、ブール代数を構築しました。
ブール代数のキモになるのが、式自体に0または1の値を持たせることでした。
そして、ブール代数によってコンピュータの設計ができるようになったのです。
AIはやがて小説も絵画も描くようになるでしょう。
心の機微を扱う小説を書けることが、
心の問題でさえ、数学で解けるようになるとしたライプニッツの考えの
正しさを証明しています。
デカルトやライプニッツの普遍数学構想(哲学や法律解釈などのすべての問題を解く数学)は、
本当に先見性のある考え方であったのです。
話を戻します。
while(1){
if(w+i<100){
w+=i;
i+=b;
}
else{
break;
}
}
はピンクの部分がなければ永久ループ(ループとは繰り返すこと)になってしまします。
break;はループを強制的に抜けさせるための命令文です。
ゲームプログラムは、基本的に永久ループになっていて、
何らかの条件が満たされたときに、
そのループを抜け出すように、プログラミングされています。
さて、第8話でグローバル変数を学習して、
第4講を終了して第5講で念願のゲームに戻ります。
第6話へ 第8話へ
初心者のための excel 2016 マクロ VBA 入門講義 基礎から応用まで
vc++ c言語 c++ 入門 初心者 基礎から応用まで
eclipse c++ 入門
魔方陣 数独で学ぶ VBA 入門
数独のシンプルな解き方・簡単な解法の研究
VB講義へ
VB講義基礎へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座
初心者のための世界で一番わかりやすいVBA入門講義(基礎から応用まで)
初心者のための VC++による C言語 C++ 入門 基礎から応用まで第1部
eclipse java 入門
java 入門 サイト 基礎から応用まで
本サイトトップへ