本文以一个交通业的业务上的小问题为例,针对初级程序员在开发中处理问题的思路,进行解析,以求更好地解决程序设计上的问题。更好地完成开发任务。
一 问题描述
输入的信息有城市名称,起终点之间的地铁距离
输出票价。全国大部分有地铁的城市,几乎都采用了计程票制。
仅剩几个城市还在用计站票制。不在本函数的计算范围之列。
需要例外处理。
二 问题分析
根据城市名称,查询地铁城市列表,如果是地铁城市再调用相应的城市的票价计算函数
如果不是地铁城市,直接输出信息 “不是地铁城市”
对于地铁距离是一个浮点数,如果小于0,直接输出信息“地铁距离应该大于等于0”
如果是大于0的值,进行正常的计算逻辑。
对于具体的城市的地铁票价的计算,使用if ,else语句直接编码就行了。
根据这个思路,第一个版本的程序就可以开发了。
接下来的问题是如果城市的地铁计价规则发生了变化,如何迅速地应对?包括程序
修改过程,测试过程,部署上线过程等。
为了快速的部署上线,也为了实现,系统的维护从乙方的开发人员向甲方的业务人员
的转移。需要把计算逻辑从程序中的条件语句的编码实现,改为查询数据库中的价格区间
的方法。这样可以实现甲方的业务人员登录管理系统后台业务管理页面,修改计价规则,
并且把保存相关的记录到数据库中。这是程序的第二个版本。
系统的访问量变大以后,会发现程序运行得很慢,这是对数据库的访问次数过多的原因。
价格规则的表,数据量很小,但是访问的次数很多,可以放在浏览器端存储这个数据。
经过程序上的修改,这就是程序 的第三个版本了。
三 实际的地铁计价规则举例
3.1 北京地铁
的票价的定价公式
<=6 3
<=12 4
<=22 5
<=32 6
<=52 7
<=72 8
<=92 9
3.2 成都地铁
采用计程计时票制
起价2元可乘坐4公里,4至12公里范围内,每递增4公里增加1元;
12至24公里范围内,每递增6公里增加1元;24至40公里范围内,每递增8公里增加1元;
40至50公里范围内,每递增10公里增加1元,超过50公里之后,每递增20公里增加1元。
3.3 西安地铁
采用里程计价制,起步价2元6公里(含6公里,以下类同),其后每增加1元,
可乘坐4、4、6、6、8、8公里。即0-6公里2元;6-10公里3元;10-14公里4元;
14-20公里5元;20-26公里6元;26公里以上每增加8公里增加1元。
3.4 武汉地铁
(一)计价方式:按里程分段计价。
(二)计价标准:4公里以内(含4公里)2元;4-12公里(含12公里),1元/4公里;
12-24公里(含24公里),1元/6公里;24-40公里(含40公里),1元/8公里;
40-50公里(含50公里),1元/10公里;50公里以上,1元/20公里。
(三)乘车限时:每次进闸到出闸限180分钟。
3.5 杭州地铁
采用计程票制,即起步价为2元可乘4公里,4公里以上部分,4~12公里每1元可乘4公里,
12~24公里每1元可乘6公里,24公里以上每1元可乘8公里,亦即起步公里以外部分,
每增加1元分别可乘4、4、6、6、8……公里。
乘车限时:每次进闸到出闸限180分钟。
3.6 沈阳地铁
采用计站票制
小于等于8站,2元,9到12站3元,13站及以上4元。
沈阳地铁票制由现行的“区间计价制”改为“里程计价制”
起步价2元6公里,每增加1元,可继续乘坐4、4、7、7、10、10公里。
0-6(含,以下类同)公里,票价2元;
6-10公里,票价3元;
10-14公里,票价4元;
14-21公里,票价5元;
21-28公里,票价6元;
28公里以上,每增加10公里,增加1元。
3.7 郑州地铁
票价实行分段计价收费票制
起步2元可坐6公里(含6公里)
超过6公里实行"递远递减"原则
6~13公里里程内每递增7公里加1元
13~21公里里程内每递增8公里加1元
21公里里程以上每递增9公里加1元。
3.8 广州地铁
线网票价按里程分段计价:起步4公里以内2元;
4至12公里范围内每递增4公里加1元;12至24公里范围内
每递增6公里加1元;24公里以后,每递增8公里加1元。
珠江新城旅客自动输送系统(简称APM线)实行票价2元的单一票制。
3.9 南宁地铁
线网票价按里程分段计价:起步价2元可乘6公里,超过起步里程
6公里后采取“递远递减,里程分段累进计价”的原则;
6-12公里(含12公里)范围内加收1元;12-18公里(含18公里)范围内加收1 元;
18-26公里(含26公里)范围内加收1 元;26-34公里(含34公里)范围内加收1 元;
34公里以上每10公里为一个里程计价段加收1元。
有效乘车时限120分钟
3.9 青岛地铁
票价政策采用里程分段计价,起步价2元,起步里程5公里。
5~10公里(含),票价为3元。10~17公里(含),票价为4元。
17~27公里(含),票价为5元。27~38公里(含),票价为6元。
38公里以上部分,票价每增加1元,可多乘坐20公里。
3.10 深圳地铁
轨道交通票价实行里程分段计价票制,票价=起步价+里程价(以1元为递进单位),如下:
起步价:首4公里2元;
里程价:4公里至12公里部分,每1元可乘坐4公里;12公里至24公里部分,
每1元可乘坐6公里;超过24公里,每1元可乘坐8公里。
深圳地铁付费区内停留时限为180分钟
3.11 无锡地铁
线网票价按里程分段计价:起步5公里以内2元;超过5公里至15公里,
每5公里加收1元(不足5公里按5公里计价);超过15公里至29公里,
每7公里加收1元(不足7公里按7公里计价);超过29公里,
每9公里加收1元(不足9公里按9公里计价)。
停留时限为120分钟
3.12 合肥地铁
轨道交通票价标准 :起步价 2 元可乘 8 公里;乘坐 8 公里以上,
14 公里(含)以内的 3 元;乘坐 14 公里以上,21 公里(含)以内的 4 元;
乘坐 21 公里以上,29 公里(含)以内的 5 元;
乘坐 29公里以上的,每增加 9 公里,加收 1 元。
3.13 济南地铁
票价实行里程计价票制,采用“递远递减”的原则。
5公里起步,起步价为2元;
乘坐5公里以上,10公里(含)以内的票价为3元;
乘坐10公里以上,15公里(含)以内的票价为4元;
乘坐15公里以上,22公里(含)以内的票价为5元;
乘坐22公里以上,29公里(含)以内的票价为6元;
乘坐29公里以上的,每增加9公里,票价增加1元