程序分为哪三个部分