2.10指针与递归
一、实验目的
1. 掌握指针变量的定义和使用,理解动态变量、指针数组等基本概念。
2. 理解递归的概念,知道递归方法除了有它的优点(使复杂问题变得简单,程序简单、清晰)外,也有它的缺点(运行时间长、占用存储空间多)。此外也不是每个问题都合适用递归方法求解。 3. 熟练掌握利用递归方法求阶乘、Fibonacci数列、勒让德多项式等问题的程序设计方法。 4. 掌握递归程序设计的一般方法。 二、实验要求
1. 认真复习教材第10章的内容。
2. 按照题目要求设计算法,编写出相应的程序。
3. 上机调试各程序。调试程序时,要充分注意和利用编译、连接和运行时计算机给出的信息,要求能够根据这些信息,熟练地判断出程序的错误,逐步掌握程序调试的一般方法和手段。 4. 选择不同的输入数据测试程序。
5. 详细记录数据的输入、输出信息,分析实验结果。 三、实验内容
1. 下面程序是用指针的方法实现将整型变量A、B的内容互换。在标注行有错,请改正。 程序如下:
PROGRAM EX1 IMPLICIT NONE
INTEGER::A,B,C !<==ERROR1 REAL,POINTER::P1,P2,P3 !<==ERROR2 READ *,A,B C=B P1=>A P2=>B
P3=B !<==ERROR3 PRINT *,A,B P2=P1 P1=P3 PRINT *,A,B END PROGRAM EX1 ERROR1处正确语句是: ERROR2处正确语句是: ERROR3处正确语句是:
2. 运行下面程序:
PROGRAM EX2 IMPLICIT NONE
INTEGER,TARGET::A=1,B=3
INTEGER,POINTER::PA,PB,T PA=>A;PB=>B T=>PA;PA=>PB;PB=>T PRINT 100,PA,PB PRINT 100,A,B 100 FORMAT(1X,2I4) END PROGRAM EX2 程序结果为:
3. 程序设计
⑴ 用递归方法求FIBONACCI序列。
⑵ 用递归方法求2n 的值(n为大于0的整数)。 ⑶ 用递归方法求N阶勒让德多项式的值。递归公式为:
n?0?1?pn(x)??xn?1?((2n?1)?x?p(x)?(n?1)?p(x))/nn?1n?1n?2?
四、实验说明
1. 注意指针变量和目标变量之间的区别。 2. 注意指针赋值语句和一般赋值语句之间的区别。
3. 在进行数值型运算的递归程序设计时,要先写出递归公式。 五、思考题
1. 使用动态变量的方法将两个数进行交换。
2. 用递归的方法编程计算XN,其中X,N由键盘输入。
2.11 文件的基本操作
一、实验目的
1. 掌握文件的基本操作。
2. 了解利用文件进行学生档案管理的基本程序设计方法。 二、实验要求
1. 认真复习教材第11章的内容。
2. 按照题目的要求,编写出程序,并仔细进行逻辑结构和语法的检查。
3. 上机调试程序。综合运用以前实验中的调试程序的方法对程序进行调试,掌握程序调试的一般方法和手段。 4. 输入一组数据测试程序。
5. 详细记录数据的输入、输出信息,分析实验结果。 三、实验内容
1. 读入N位学生的姓名和某门课的成绩,存入顺序文件。然后对这个顺序文件进行以下各项操作: ⑴ 插入N1号记录; ⑵ 删除N2号记录; ⑶ 修改N3号记录;
⑷ 把文件中超过平均成绩的学生姓名与成绩打印出来。 四、实验说明
1. 输入、插入、删除、修改等功能,分别用不同的过程实现。
2. 建立数据文件时,要提供数据校对和修改的功能。 3. 程序中设置菜单,以提示用户选择当前所要的操作。 五、思考题
1. 在OPEN语句中,个各参数的含义是什么? 2. 顺序文件与直接文件在使用过程中有什么不同?
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库FORTRAN90实验(5)在线全文阅读。
相关推荐: