2010年5月7日金曜日

気分を切り替えて同じ誕生日のいる人の確率

ちとJavaScriptの勉強が行き詰ってきました。古旗PDF本の05基本編に入るや否や唐突に
// Illustrator以外で動作しないようにする
var apName = app.name;
if (apName.indexOf("指定アプリ") > -1){
alert("指定アプリなので、このまま処理を行います");
}else{
alert("「"+apName+"」上では動作しません。指定アプリに切り替えてください");
}
※一部書き換えてあります。
の-1の意味やp22に出てくる
// プリセットを設定して新規にドキュメントを作成する
var dp = DocumentPreset;
dp.colorMode = DocumentColorSpace.CMYK;
dp.width = 595.28 ;
dp.height = 841.89;
dp.title = "A4ドキュメント";
dp.previewMode = DocumentPreviewMode.OverprintPreview;
dp.transparencyGrid = DocumentTransparencyGrid.TransparencyGreen;
dp.rasterResolution = DocumentRasterResolution.HighResolution;
documents.addDocument ("test", dp);
※同様に一部書き換えてあります。
に出てくる"test"の意味が???なのです。読み飛ばしたのかなぁ~。。。
というのも指定文字を含んだセルの色つけと直接起動で#target "アプリ名"のことを書きましたが、これって02学習編のp19に載ってたのです。身についてませんね。。。orz


で、気分を切り替えて同じ誕生日のいる人の確率をJavaScriptで記述したらどうなるか、自分なりにやってみたのですが分からず、、、いつものようにググりました。
さっと出てくる、便利な世の中^^
(function(){var n=parseInt(prompt("人数は?")),sum=1,i;for(i=364;i>365-n;i--){sum*=i/365}alert("確率は"+(100-sum*100)+"%");})()
ワンライナーで書かれてますので、改行を入れて読みやすくするところから始めましょ^^

(function(){
 var n=parseInt(prompt("人数は?")),sum=1,i;
 for(i=364;i>365-n;i--){
  sum*=i/365
  }
 alert("確率は"+(100-sum*100)+"%");
})()

機械的に for(var i=0; i<selObj.length; i++){ を丸暗記している身には新鮮でした。

0 件のコメント: