软件工程第二章课后练习2.5
北京某高校可用的电话号码有以下几类:校内电话号码由4位数字,第1位数字不是0;校外电话又分为本市电话和外地电话两类,拔校外电话需先拔0,若是本市电话则再接着拔8位数字(第一位不是0),若是外地电话则拔3位区码再拔8位电话号码(第一位不是0)。
用2.5.2小节讲述的定义数据的方法,定义上述的电话号码。
答:
电话号码=[校内电话号码|校外电话号码]
校内电话号码=非零数字+ 3 位数字 //后面继续定义
校外电话号码=[本市号码|外地号码]
本市号码=数字零+8位数字
外地号码=数字零+3位数字+8位数字
非零数字=[1|2|3|4|5|6|7|8|9]
数字零=0
3位数字=3{数字}3 //3至3个数字
8位数字=非零数字+7位数字
7位数字=7{数字}7
数字=[0|1|2|3|4|5|6|7|8|9]