再帰処理の問題は就職活動してたら必ずどこかで出題される問題です。某D社のシステムの試験に出てきたのが再帰処理の問題でした。一次試験を通り二次試験の技術者試験に再帰処理の問題が出てきました。D社に合いそうになかったので無解答に近い解答を提出し見事に不採用になりました。再帰処理の考え方は下記になります、要は参照渡しで物事を考える感じです?。実際、試験問題はそんなに簡単ではありませんが基礎になる考え方はこんな感じです?
サンプルコードのリンクを貼っときます。因みにJSには参照渡しという考え方がないので下記のようなコードになります。
JS:https://9up.me/js_mode/d2/
PHP:https://9up.me/js_mode/d2/index-rp.php
var a = 0;
function RecursiveProcessing(){
if(parseInt(a)>=999){
return true;
}
a = parseInt(a) + 1;
console.log(a);
document.getElementById("main").innerHTML = document.getElementById("main").innerHTML + a + "<br>";
return RecursiveProcessing();
}
document.getElementById("btn").addEventListener("click",RecursiveProcessing);
function RecursiveProcessing(&$a=0){
if((int)$a>=999){
return true;
}
$a++;
print $a."<br>";
return RecursiveProcessing($a);
}
RecursiveProcessing();
BMIの計算をjavascriptで書いてみるとこんな感じです?、まだソースコードを短縮化出来そうな気がしますがひとまずこれでリリースします。
https://9up.me/js_mode/d0/
?余談:
このサイトがまだ始めて数日しか経過していないので検索にはあまりヒットしないと思いますが、毎日、更新を行っていこうと思います。アクセス数UPの秘薬はなくてSEO対策が行えている記事を量産することにあります。結局、毎日の更新して記事を拾ってくれるのを待つだけです。あとはバズるのを待つとかになります。
var kg = cm = 0;
document.getElementById("kg").addEventListener("input",data);
document.getElementById("cm").addEventListener("input",data);
function data(){
let x = this.value?parseInt(this.value):0;
if(this.id==="kg"){
kg = x;
}
if(this.id==="cm"){
cm = x/100;
}
document.getElementById("print").innerHTML = (()=>{
return ((kg/(cm*cm)))!="Infinity"?"BMI="+ ((kg/(cm*cm))):"BMI=未計算";
})();
}
テンプレートの構成がわからなくなる人のために、いや自分のために書いときます。page.phpが自分としては癖があるなと思ったわけです。pageって何だか記事を連想してしまって今でも正直なところ、しっくりこないです。index.phpは汎用性のあるページということも気おつけておかないと悩ましい事になります。例えば404.phpが無い場合、index.phpが参照されてしまいます。なので独自のテーマを作る時は覚えておかないと大変です?
404.php・・・ノットファウンドのページの処理を書く
archive.php・・・アーカイブページの処理を書く
category.php・・・カテゴリーページの処理を書く
footer.php・・・ページのフッター部分の処理を書く
functions.php・・・関数を集約
header.php・・・ページのヘッダー部分の処理を書く
index.php・・・汎用ページの処理を書く
home.php・・・TOPページの処理を書く
page-固定ページ名.php・・・固定ページ(指定)の処理を書く
page.php・・・固定ページの処理を書く
search.php・・・検索結果ページの処理を書く
sidebar.php・・・サイドバーの処理を書く
single.php・・・単体記事ページの処理を書く
style.css・・・独自テンプレートの宣言とCSSの対応を書く