-75- 实验十一内部子程序子程序(也称辅程序)是FORTRAN90提供的重要功能之一,FORTRAN90允许用户自己定义子程序,允许用户使用子程序来设计和编写程序。在设计和编写一个复杂程序时,要使用科学的程序设计方法,如:结构化程序设计方法、模块化程序设计方法、面向对象程序设计方法等,子程序功能完全支持结构化和模块化程序设计方法,结构化和模块化程序设计方法可通过子程序得到应用。使用子程序可提高程序的可读性、可理解性、 可维护性和可修改性,是编写高质量、高水平、高效率程序的有效手段。子程序分内部子程序和外部子程序。内部子程序是包含在程序单元CONTAINS结构中的子程序,只有定义它们的程序单元才能调用执行它们。内部子程序包括函数子程序和子例行程序两类,通常将函数子程序简称为函数,子例行程序简称为子程序或过程。本次实验是学习和掌握内部子程序的一次系统实验活动。通过本次实验,能够熟练使用内部子程序设计和编写程序,求解比较复杂的实际问题。一. 实验目的1. 了解内部子程序的有关基本概念,如:定义、调用、形式参数、实在参数、参数传递关系等。2. 掌握内部子程序定义、调用、形式参数、实在参数、参数传递的基本内容和使用规则3. 掌握结构化程序设计方法。4. 掌握使用内部子程序设计和编写程序的方法。二.实验内容 1 1.问题描述已知二项式公式如下:其中:为二项式系数,通过下面公式计算:r=0,1,2,⋯ ,n 计算 (X+Y)5 的二项展开式系数,并输出。通过内部函数子程序计算阶乘和二项式系数,编写程序实现之。2.任务分解分析问题,进行任务分解,得到求解问题的分层结构图,如图11-1 所示。图 11-1 任务分解及分层结构图nnn1n11nnrrnrn11n1nn0nnYCYXCYXCYXCXC)YX(rnC!r)!rn(!nCrn问题:求 n 阶的二项式系数子问题 1:计算rnC子问题 2:计算 n! -76- 根据任务分解图,用户对求解总问题设计和编写主程序,对求解子问题分别设计和编写子程序。根据子问题的具体内容,设计和编写子程序为函数。本问题的算法比较简单,读者自行设计。3.程序编写根据任务分解结果,设计和编写一个主程序和两个函数,两个函数分别计算二项式系数和结成。使用内部函数子程序实现。设计和编写程序如下( 不完整,请在下划线空白处填充正确内容) :! 班级: ??? ! 姓名: ??? ! 日期: ??? ! 计算 n 阶所有二项式系数PROGRAM main INTEGER n,r,p PRINT '(A\)','请输入二项式阶数n:' READ*,n PR...