2-5北京某高校可用的电话号码有以下几类:校内电话号码由4位数字组成,第一位数字不是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
8位数字=非零数字+7位数字
7位数字=7{数字}7
数字=[0|1|2|3|4|5|6|7|8|9]
其中‘||’的意思是或,从校内电话号码或校外电话号码选择一个,{}表示重复,两边的数字代表重复次数的上限和下限