【AS課題03】

問題

「ビールを12杯:1杯500円」「ウーロン茶を4杯:1杯300円」「サラダを2皿:1皿600円」「チキンを2皿:1皿800円」
「ピザを2枚:1枚800円」
これを5人で割り勘にしたときの一人あたりの金額を求めなさい。

解答


/*
「ビールを12杯:1杯500円」「ウーロン茶を4杯:1杯300円」「サラダを2皿:1皿600円」「チキンを2皿:1皿800円」
「ピザを2枚:1枚800円」
これを5人で割り勘にしたときの一人あたりの金額を求めなさい。
*/

/* 単価 */
var beer=500;    //ビール
var woorong=300; //ウーロン茶
var salad=600;   //サラダ
var chicken=800; //チキン
var pizza=800;   //ピザ

var cntBeer=12;
var cntWoorong=4;
var cntSalad=2;
var cntChicken=2;
var cntPizza=2;

var member=5;

var result=0;

result=(total(beer,cntBeer)
     +total(woorong,cntWoorong)
     +total(salad,cntSalad)
     +total(chicken,cntChicken)
     +total(pizza,cntPizza))/member;

trace("一人当たり"+result+"円です");

function total(val,cnt){
    return val*cnt;
}

で、ちょっと違うやり方で。。。。
たかが割り勘計算ではやりすぎですが、勉強のために・・・・

/*
「ビールを12杯:1杯500円」「ウーロン茶を4杯:1杯300円」「サラダを2皿:1皿600円」「チキンを2皿:1皿800円」
「ピザを2枚:1枚800円」
これを5人で割り勘にしたときの一人あたりの金額を求めなさい。
*/

/* 勘定 */
var order:Array=[[500,12],[300,4],[600,2],[800,2],[800,2]];
var member=5;

var kekka=total(order)/member;

trace("一人当たり"+kekka+"円です");

function total(val){
	var ttlVal:Number=0;
	var oneOrder:Array=null;
	for ( var i:Number = 0; i<val.length; i++ ) {
		oneOrder=val[i];
		var valTnka:Number=0;
		for(var j:Number=0;j<oneOrder.length;j++){
			if(valTnka==0){
				valTnka=oneOrder[j];
			}else{
				valTnka*=oneOrder[j];
			}
		}
		ttlVal+=valTnka;
	}
	return ttlVal;
}
追記:2012.06.01 チキンが抜けていたので修正