質問

質問者:bluesky445 新幹線の運賃
困り度:
  • すぐに回答を!
大学の課題で新幹線の自動券売機プログラムを作成しているのですが、新幹線の運賃の計算方法が分かりせん。調べてはみたもののよくわかりませんでした。どなたか詳しく教えていただけないでしょうか?
(出来るだけ多くの路線について教えいただけるとありがたいです。)
質問投稿日時:09/01/18 06:52
質問番号:4639307
この質問に対する回答は締め切られました。
最新から表示回答順に表示良回答のみ表示

回答

 

回答者:URD 意地悪な課題ですね。新幹線の料金は同じ区間でもグリーン車や指定席、自由席で値段が違い、さらに割増し料金や割引料金となる期日があります。
この期日は今年の分なら時刻表見れば簡単にわかりますけど 数年先まではわかりません

例外ルールや変則ルールが多いのでここでちょいと書く程度では書ききれませんしまとまりません

プログラムを作るのに簡単な方法
運賃や料金を「計算する」のではなく 自分で作ったデータベースから拾うだけにしましょう
種類:アドバイス
どんな人:一般人
自信:参考意見
回答日時:09/01/18 07:05
回答番号:No.1
この回答へのお礼この回答にお礼をつける(質問者のみ)

回答

良回答10pt

回答者:gsmy5 新幹線の場合、在来線乗車駅から新幹線乗車区間を含んで最終降車駅までの「運賃」と新幹線乗車区間の「料金(特急料金)」が必要です。
「運賃」は、乗車区間のkmに応じて表から当てはめることができますが、地方交通線を含むかどうか、あるいは本州3社以外のJRを含むかどうかで当てはめる表が異なりますので、とてもここで簡単に説明することはできません。また、関東・中部・近畿の一部区間は「特定区間」といって、運賃を特定している区間があります。
新幹線の特急料金は区間により料金が特定されています。グリーン料金は乗車区間のkmにより金額が算出できます。
市販の大型時刻表の「JRの営業案内」にはそのあたりについて詳しく説明されているので参考にしてください。
ロジック的には、乗車区間が特定運賃に設定されているかどうかを確認し、該当すればその特定額を運賃として表示→該当しなければ乗車区間の営業キロ数(地方交通線を含む場合等営業キロ以外に算出するキロ数もある)を算出→表により運賃を決定表示
みたいな感じになりますが、かなり複雑ですので覚悟しておいてください。
新幹線停車駅相互のみでよければ、時刻表にある停車駅相互の運賃を覚えさせて、それを元に回答するシステムで可能です。
種類:回答
どんな人:経験者
自信:参考意見
回答日時:09/01/18 07:09
回答番号:No.2
この回答へのお礼この回答にお礼をつける(質問者のみ)

回答

 

回答者:suyagin 新幹線の料金は距離に比例しているわけではないの計算で導き出せません。
独特のルールとして、自由席の場合いくら距離があっても隣の駅まで950円というのがあります。(50km以下の場合はもっと安い)
京都ー米原の例で行くと、この区間、67.7kmあるのですが自由席が950円、指定席が2190円します。

プログラムを作る場合は料金表をデータベースにして対応した区間の料金を表示するという方法しかありません。
種類:回答
どんな人:経験者
自信:参考意見
回答日時:09/01/18 09:52
回答番号:No.3
この回答へのお礼この回答にお礼をつける(質問者のみ)

回答

 

回答者:ao-b 補足願います。そのプログラムは「A:新幹線駅から新幹線駅まで」の切符だけが対象なのですか?それとも「B:前後のJR在来線も含めた」切符が対象なのですか?


A:東京駅から大宮駅、新幹線経由
B:新宿駅から大宮駅、東京〜大宮間新幹線経由
種類:補足要求
どんな人:経験者
自信:参考意見
回答日時:09/01/18 11:45
回答番号:No.4
この回答への補足「A:新幹線駅から新幹線駅まで」の切符だけが対象です。
この回答へのお礼この回答にお礼をつける(質問者のみ)

回答

 

回答者:townser 新幹線の「運賃」については、在来線と同一です。時期によっての変動もありませんし、グリーン車や指定席、自由席のどれを利用しても同一です。よって営業キロ(または運賃計算キロ)を求めることができれば、「運賃」を導き出すことは可能です。

ただしJRの運賃は遠距離逓減制を取っているので、距離と運賃が比例しているわけではありません。

よって、新幹線停車駅相互間の運賃を求めるだけであれば、時刻表のピンクのページに記載されている新幹線運賃表を配列(またはデータベース)などを用いて記憶させ、取り出す方が容易かと思われます。
種類:アドバイス
どんな人:専門家
自信:参考意見
回答日時:09/01/19 02:03
回答番号:No.5
この回答へのお礼この回答にお礼をつける(質問者のみ)

回答

良回答20pt

回答者:ao-b No.4の者です。「新幹線駅から新幹線駅まで」で良いのであれば他の方のおっしゃるように、2次元配列を宣言してから (駅番号)[1,2]=1000(円) のようにすべて定義していけば数日で楽に完成しそうな気がするのですが、他の方にはコメントされないところを見ると、これでは課題の意図に合わないのでしょうか。

とりあえず、現段階で参考になりそうなサイトを挙げておきます。
情報新幹線: ​http://www.shinkansen.co.jp/index.html
ここの「新幹線料金表」からそれぞれの新幹線のページを開くと三角表なるものが出てきます。現在質問者様は運賃に注目されているので、運賃にあたる数字を拾っていってください。表計算ソフトにメモしておきましょう。また、営業キロ数も書いておきましょう。
NI-a: ​http://ni-a.jp/
「乗車券分割プログラム」→「運賃の仕組み」に入ってください。JavaScriptが必要ですが、キロ数から運賃を求める仕組みがわかります。この公式をプログラムに取り入れましょう。

まずはここまでやってみましょう。
このままでは例外が続出するので別の方法も取り入れる必要がありますが、これ以上書いていると僕が混乱しそうなので、ひとまずここまでにさせてください。


余談です。
FlashPlayerが入っていましたらこちらも試してみてください。
http://www.jr-odekake.net/guide/midori/otameshi.html
「新幹線の指定席券を購入する場合」が今回は一番近いのかなと思いますが、質問者様の想定されている自動券売機プログラムとはどこまでのものを作ればよいのか、まだはっきりと掴めていませんので、どのような機能が必要なのか考えて、簡単に流れを立てて見ましょう。
種類:アドバイス
どんな人:経験者
自信:参考意見
回答日時:09/01/19 16:59
回答番号:No.6
この回答へのお礼この回答にお礼をつける(質問者のみ)
最新から表示回答順に表示良回答のみ表示