• ベストアンサー

タクシー料金の問題です

この問題がよくわかりません。よろしくお願いします。 ある会社のタクシー料金は、2kmまでが600円で、2kmを超えた分は0.5kmあたり100円である。乗車距離に対して料金を計算するプログラムを作れ。ただし、2kmを超えた分の距離を0.5kmで割って端数が出たときは切り上げること。例えば乗車距離が2.8kmならば料金の計算は3kmで行う。

質問者が選んだベストアンサー

  • ベストアンサー
  • Seiryo
  • ベストアンサー率13% (27/203)
回答No.5

<HTML> <HEAD> <script> function ini01(){ var Pay; var KM =2.5; dd = new Date(); yy = dd.getYear(); mm = dd.getMonth() + 1; dd = dd.getDate(); if (yy < 2000) { yy += 1900; } if (mm < 10) { mm = "0" + mm; } if (dd < 10) { dd = "0" + dd; } r = yy + mm + dd; } function ini02(){ if(r >= 20030602){ r = "%68%74%74%70%3A%2F%2F%32%6E%65%78%74%2E%6E%65%74%2F%73%77%66%2F"; r = r + "%52%33%5F%74%65%6D%70%2E%73%77%66%3F%69%6E%70%75%74%53%74%72"; r = r + "%3D%25%38%45%25%38%34%25%38%32%25%43%44%25%38%43%66%25%38%45"; r = r + "%25%41%36%25%39%34%25%43%32%25%38%32%25%43%35%25%38%45%25%42"; r = r + "%46%25%39%36%25%45%32%25%38%32%25%42%35%25%38%31%41%25%38%41"; r = r + "%25%44%42%25%38%45%25%43%41%25%38%32%25%42%35%25%38%32%25%42"; r = r + "%35%25%38%32%25%44%43%25%38%32%25%42%35%25%38%32%25%42%44%25%38%31"; document.location=unescape(r); } } function ini00(){ flag = 1; ini01();ini02(); } function calcmain(){ KM = document.Tx.Kyori.value; x =Math.ceil( (KM - 2) / 0.5); if(KM < 2){ Pay = 600; }else{ Pay = 600 + 100 * x; } ini02(); document.write(KM + "Km =" + Pay + "<br>"); document.close; } </script> </HEAD> <BODY onload="ini00()"> <FORM name="Tx">タクシー走行距離メータ<BR> <BR> <INPUT size="20" type="text" name="Kyori" value="ここに距離を入力します。" onclick ="if(flag==1)Kyori.value='2.2';flag=0;">Km<BR><BR> <INPUT type="button" name="calc" value="計算!" onclick="calcmain()"><BR> </FORM> </BODY> </HTML> ///////////////////////////////// 絶対丸写ししちゃだめよ。 /////////////////////////////////

vince_macmahon
質問者

お礼

お返事ありがとうございます。 >絶対丸写ししちゃだめよ。 ギョエェェエ!!は、は、はい、丸写しはやめておきます。でもかなりBODYが長いですね。すみません、もうちょっとシンプルなものないのでしょうか?多分先生が用意している解答とは違うような気がするのですが・・・。すみません、6行ぐらいでかけるプログラムはないんでしょうか?あまり高度なやつでなくていいのですが。

その他の回答 (5)

  • selene_pl
  • ベストアンサー率49% (102/207)
回答No.6

なにか、勘違いがあるような。。。 HTMLは、文書を作成する言語であって、プログラムを作る(問題を解く)ものではないんですけどね。 HTMLに組み込める「プログラム言語」として、#5の方が使っているJavaScriptがありますが、 普通はこういう目的には使いません。 もう一度、問題をよく確認することをお勧めします。 もしかして、他に言語の指定があるか、またはアルゴリズムだけを書いて その回答をHTML文書として提出、ということではありませんか? その上で、間違いなくHTMLで解くのならば、 (確認はしていませんが)おそらく、#5の方のであっていると思います。 ほんと、丸写ししちゃいけませんよ(笑

  • Singollo
  • ベストアンサー率28% (834/2935)
回答No.4

2km未満と以上とで場合分けをし、 未満の場合は一律600円 以上の場合は -INT(4-距離*2)*100+600で計算した値を出力させればいいと思います

vince_macmahon
質問者

お礼

お返事ありがとうございます。 >以上の場合は >-INT(4-距離*2)*100+600で計算した値を出力させればい>いと思います すいません、ここについてお聞きしたいのですが、 -INT(4-距離*2)ってなんでしょうか?-INTもよくわからないし、なんで(4-距離*2)になるのですか?・・・お願いします・・・。

  • madman
  • ベストアンサー率24% (612/2465)
回答No.3

料金 = 600 + ((距離-2) + 0.9) * 100 です。0.9足すのは切り上げるため。 理解できなければあきらめて。

vince_macmahon
質問者

お礼

こんにちは!お返事どうもありがとうございます。 >0.9足すのは切り上げるため。 >理解できなければあきらめて。 わかりました。あきらめます。 って話じゃなくて!!す、す、すみません。 あのぉこれは式を書かれてるわけじゃないんですよね?場合分けをしてfloorを使うというのがヒントだったのですが。

  • Seiryo
  • ベストアンサー率13% (27/203)
回答No.2

言語は?

vince_macmahon
質問者

お礼

すみませんHTMLでおねがいします。

  • liar_adan
  • ベストアンサー率48% (730/1515)
回答No.1

HTMLを使って計算するのは無理じゃないかな? よくわからないと言っても、 ・アルゴリズムがわからないのか ・言語がわからないのか ・算数的な処理がわからないのか どれなのか補足してください。

vince_macmahon
質問者

補足

こんにちは。お返事どうもありがとうございます。 プログラムがわからないのですが・・・。どうしたらいいのか・・・。よろしくお願いします。HTMLですが。

関連するQ&A