《程序设计方法学》实验指导书.docx
《《程序设计方法学》实验指导书.docx》由会员分享,可在线阅读,更多相关《《程序设计方法学》实验指导书.docx(53页珍藏版)》请在优知文库上搜索。
1、程序设计方法学实验指导桂林理工大学“程序设计方法学”课程组编2017年8月实验一、分支和循环结构的简单程序设计2实验二、三递归算法、迭代算法及其比较3实验四、数组与栈的基本操作4实验五、归并排序与折半查找6附录A:RaPtor可视化程序设计概述71.RaPtOr是什么?72 .为什么要使用RaPtOr进行程序设计?73 .Raptor的安装84 .几个简单的Raptor程序8实例1.输出字符串aHe1.1.owor1.d!w8实例2:求两个整数中的较大值13实例3:求1+2+3+.+10的和22实验一、分支和循环结构的简单程序设计1.实验目的(1)熟悉可视化计算工具RaPIOr环境。(2)掌握
2、具有选择、循环语句的简单程序设计方法。(3)掌握基于可视化计算工具RaPtor的“子过程(子函数)”的使用方法。2 .实验准备(1)认真阅读本实验指导书“可视化计算工具RaPtOr概述”部分的内容,以及教材第2章的内容,了解第四章“算法”的基础知识。(2)熟悉可视化计算工具Raptor的使用。3 .实验内容使用RaPtor可视化计算工具,实现顺序、选择、循环3种程序结构的简单设计。(1)顺序结构程序设计:设计一个RaPsr程序,计算并输出两个正整数a和b的和,a和b的值由用户输入。(2)选择结构程序设计:设计一个RaP1.Or程序,计算两个整数a和b的最大值并输出,其中a和b的值由用户输入。(
3、3)循环结构程序设计:使用循环结构,设计一个Raptor程序,计算并输出1+2+3+100的的结果。(4)三个数最大值的判定:设计一个RaPtOr程序,输入三个数a、b和c,求最大值并输出。(5)编写Raptor迭代程序求n!。4 .实验步骤学生在实验老师的指导下自主完成,并提交实验报告。实验二、三递归算法、迭代算法及其比较1.实验目的(1)进一步熟悉可视化计算工具RaPtor环境;(2)掌握使用可视化计算工具Raptor编写递归及迭代程序的基本方法;(3)能够使用RaPtor工具对算法的复杂性进行简单分析。2 .实验准备(1)认真阅读木实验指导书“可视化计算工具Raptor概述”部分的内容,
4、以及教材第4章有关“算法”部分的内容;(2)进一步熟悉可视化计算工具RaPtor的使用。*3 .实验内容(1)设计raptor程序,输出右图金字塔图形:要求从键盘上可以输入任意金字塔层数。(2)用递归方式编写RaPtOr程序计算n!,对比实验-中的迭代求解方式,给出对比结果。(3)使用RaPtor可视化计算工具,编写梵天塔程序,包含主程序和子程序。(4)使用RaP1.Or可视化计算工具,编写并比较斐波那契数列(兔子问题)的递归和迭代算法。提示:Raptor有一个重要功能,它能计算对计算时间有消耗的基本符号的执行次数。在RaPtOr程序的运行结果中,它会统计出含有表达式的语句的执行次数。如图3.
5、1所示。;彳领台11旦g图3.1某个RaPtOr程序的运行结果从上图中可以看到结果中显示:“完成.运算次数为98”,这就是说执行了98次含有表达式的语句,含有表达式的语句的计算次数与程序的运行时间是成正比的,因此可以根据Raptor的统计结果分析程序的运行时间。采用上述方法,比较你所设计的求斐波那契数列的迭代和递归算法的运行时间,分析为什么会出现这样的结果?4 .实验步骤学生在实验老师的指导下自主完成,并提交实验报告。实验四、数组与栈的基本操作1.实验目的(1)掌握使用可视化计算工具Raptor创建一维数组和二维数组的方法。(2)理解数组“越界”的概念。(3)掌握顺序遍历一维、二维数组的基本方
6、法。(4)掌握查找有序一维、二维数组某个元素的基本方法。(5)能够使用算法复杂度的概念对求解同一类问题的不同算法进行评估。(6)掌握栈的基本概念。(7)掌握栈的PUSh和PoP操作,并能够使用数组模拟栈的操作。2 .实验准备(1)认真阅读“附录ARaPtOr可视化程序设计概述”的内容。(2)查找RaPtOr帮助文档,了解子图的使用方法.(3)阅读第4.2节内容。(4)阅读本教材第4.3节内容。(5)复习本教材第9.5节的内容。3 .实验内容(1)字符数组中单空格替换为双空格设计一个程序,完成以下功能。功能1:创建一个一维数组,数组内容如下:123456789IamT0m功能2:设计一个算法将单
7、个空格替换为双空格,即将数组拓展为12345678910HIamT0in.(2)二维数组中元素的查找设计一个程序,完成以下功能。功能1:创建一个长度为4行5列的二维数组,数组内容如图4.1所示。13479245810568111279131516图4.1数组元素功能2:设计一个算法,在数组中查找数值为8的元素,并输出其下标(行数和列数)。(3)假设表达式中允许包含3种括号:圆括号、方括号和大括号,这3种括号可以以任意的顺序嵌套,最里层的括号中可以加入字符,如(a+b)、a+b+c等是正确的格式,而a+b)、a-b等均为不正确的格式,也就是说处于同一层次的括号要相互匹配。设计一个程序,利用栈来判
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计方法学 程序设计 方法 实验 指导书