文档库 最新最全的文档下载
当前位置:文档库 › 实验06 串、整数集合结构上机实验

实验06 串、整数集合结构上机实验

实验06 串、整数集合结构上机实验
实验06 串、整数集合结构上机实验

华北电力大学LSGO技术团队 华北电力大学数理学院信息教研室

华北电力大学信息处理技术研究所 华北电力大学数学建模与仿真研究中心

串、整数集合结构上机实验

Version <1.0.0>

版权声明

本文档版权为华北电力大学LSGO技术团队所有。未经本团队成员书面许可,任何单位和个人不得以任何形式摘抄、复制本文档的部分或全部,并以任何形式传播。

本文档结构变化依照以下原则进行(Version

x:文档结构变化,设计框架升级。

y:具体内容更新,章节内容修正。

z:文字格式调整,奇数为包含对上一版的修改记录或批注的稿子,偶数为对上一版修改稿的定稿。

版本修订记录

版本号提交日期负责人描述

1.0.0 2011年10月3日马燕鹏初稿

目录

1串的定义与操作4

2串的存储与实现5 3整数集合的定义与操作9 4整数集合的存储与实现10

5练习14

5.1根据要求完成程序代码 14

串、整数集合结构上机实验

1串的定义与操作

串的相关定义:

串:由零个或多个字符组成的有限序列,记为011""n S a a a ?="。

串的长度:串中包含字符的个数。 空串:长度为零的串。

空白串:由一个或多个空格组成的串。

子串:串中任意连续字符组成的子序列,称为该串的子串。

主串:包含子串的串相应地称为主串,即子串是主串的一部分。

子串在主串中的位置:子串在主串中第一次出现时,子串第一个字符在主串中的序号。 串相等:长度相等且对应位字符相同。 串的操作:

namespace LinearStruct {

///

/// 串的抽象数据类型 ///

public interface IString {

///

/// 获取串的长度 /// int Length {

get ; }

///

/// 获取或设置指定索引处的字符 ///

/// 要获取或设置的字符从零开始的索引 /// 指定索引处的字符 char this [int index] {

get ; set ; }

///

/// 在指定位置插入子串 ///

/// 插入的位置 /// 插入的子串 /// 插入串后得到的新串 IString Insert(int StartIndex, IString S); ///

/// 在指定位置移除子串 ///

/// 移除的位置 /// 移除的长度 /// 移除后得到的新串 IString Remove(int StartIndex, int Count); ///

/// 在指定位置取子串 ///

/// 取子串的位置 /// 子串的长度

///取得的子串

IString SubString(int StartIndex, int Count);

///

/// 当前串的拷贝

///

///当前串的拷贝

IString Clone();

///

/// 串连接

///

///在尾部要连接的串

///连接后得到的新串

IString Concat(IString S);

///

/// 串的匹配

///

///要匹配的子串

///子串在主串中的位置,不存在返回-1.

int FindParam(IString S);

}

}

2串的存储与实现

实现:

namespace LinearStruct

{

///

/// 串抽象数据类型的实现--顺序串

///

public class SeqString : IString

{

private char[] CStr;//字符串以'\0'结束

///

/// 初始化SeqString类的新实例

///

public SeqString()

{

CStr = new char[] { '\0'};

}

///

/// 初始化SeqString类的新实例

///

///初始字符串

public SeqString(string S)

{

if (S == null)

throw new Exception("初始字符串为null.");

int length = S.Length;

CStr = new char[length + 1];

for (int i = 0; i < length; i++)

CStr[i] = S[i];

CStr[length] = '\0';

}

///

/// 初始化SeqString类的新实例(只能在类的内部使用)

///

///串的长度

private SeqString(int length)

{

if (length < 0)

throw new Exception("字符串长度小于零.");

CStr = new char[length + 1];

CStr[length] = '\0';

}

///

/// 获取串的长度

///

public int Length

{

get

{

int i = 0;

while (CStr[i] != '\0')

i++;

return i;

}

}

///

/// 获取或设置指定索引处的字符

///

///要获取或设置的字符从零开始的索引

///指定索引处的字符

public char this[int index]

{

get

{

if (index < 0 || index > Length - 1)

throw new Exception("索引位置无效.");

return CStr[index];

}

set

{

if (index < 0 || index > Length - 1)

throw new Exception("索引位置无效.");

CStr[index] = value;

}

}

///

/// 在指定位置插入子串

///

///插入的位置

///插入的子串

///插入串后得到的新串

public IString Insert(int StartIndex, IString S)

{

if (S == null)

throw new Exception("插入字符串为null.");

if (StartIndex < 0 || StartIndex > Length)

throw new Exception("插入位置无效.");

SeqString str = new SeqString(S.Length + Length);

for (int i = 0; i < StartIndex; i++)

str.CStr[i] = CStr[i];//注意str[i]直接使用是错误的 for (int i = 0; i < S.Length; i++)

str.CStr[i + StartIndex] = S[i];

for (int i = StartIndex; i < Length; i++)

str.CStr[i + S.Length] = CStr[i];

return str;

}

///

/// 在指定位置移除子串

///

///移除的位置

///移除的长度

///移除后得到的新串

public IString Remove(int StartIndex, int Count)

{

if (StartIndex < 0 || StartIndex > Length - 1)

throw new Exception("移除位置无效.");

if (Count < 0)

throw new Exception("移除字符个数小于零.");

int left = Length - StartIndex;//最多移除字符个数

Count = (left < Count) ? left : Count;//实际移除字符个数 SeqString str = new SeqString(Length - Count);

for (int i = 0; i < StartIndex; i++)

str.CStr[i] = CStr[i];

for (int i = StartIndex + Count; i < Length; i++)

str.CStr[i - Count] = CStr[i];

return str;

}

///

/// 在指定位置取子串

///

///取子串的位置

///子串的长度

///取得的子串

public IString SubString(int StartIndex, int Count)

{

if (StartIndex < 0 || StartIndex > Length - 1)

throw new Exception("取子串位置无效.");

if (Count < 0)

throw new Exception("子串长度小于零.");

int left = Length - StartIndex;//取子串最大长度

Count = (left < Count) ? left : Count;//子串实际长度 SeqString str = new SeqString(Count);

for (int i = 0; i < Count; i++)

str.CStr[i] = CStr[i + StartIndex];

return str;

}

///

/// 当前串的拷贝

///

///当前串的拷贝

public IString Clone()

{

SeqString str = new SeqString(Length);

for (int i = 0; i < Length; i++)

str.CStr[i] = CStr[i];

return str;

}

///

/// 串连接

///

///在尾部要连接的串

///连接后得到的新串

public IString Concat(IString S)

{

if (S == null)

throw new Exception("连接字符串为null.");

return Insert(Length, S);

}

///

/// 串连接运算符的重载

///

///第一个串

///第二个串

///连接后得到的新串

public static SeqString operator +(SeqString S1, SeqString S2) {

if (S1 == null || S2 == null)

throw new Exception("连接字符串为null.");

return S1.Concat(S2) as SeqString;

}

///

/// 串的匹配

///

///要匹配的子串

///子串在主串中的位置,不存在返回-1.

public int FindParam(IString S)

{

if (S == null || S.Length == 0)

throw new Exception("匹配字符串为null或空.");

for (int i = 0; i <= Length - S.Length; i++)

{

if (CStr[i] == S[0])

{

int j;

for (j = 1; j < S.Length; j++)

{

if (CStr[j + i] != S[j])

break;

}

if (j == S.Length)

return i;

}

}

return -1;

}

///

/// SeqString类的输出字符串

///

///SeqString类的输出字符串

public override string ToString()

{

string str = string.Empty;

for (int i = 0; i < Length; i++)

str += CStr[i];

return str;

}

}

}

Example4_2_1_1

class Program

{

static void Main(string[] args)

{

string S = "abcdefghi";

IString str;

#region 验证Clone方法

str = new SeqString(S);

Console.WriteLine("原字符串:{0}", str);

IString str2 = str;

IString str3 = str.Clone();

str2[0] = 'm';

Console.WriteLine("调用Clone方法:{0}", str3);

Console.WriteLine("没调用Clone方法:{0}", str);

#endregion

str = new SeqString(S);

IString str4 = new SeqString("mnqp");

Console.WriteLine(str.Insert(0, str4));

Console.WriteLine(str.Insert(3, str4));

Console.WriteLine(str.Remove(3, 2));

Console.WriteLine(str.Remove(3, 10));

Console.WriteLine(str.Concat(str4));

Console.WriteLine((SeqString)str + (SeqString)str4);

Console.WriteLine(str.SubString(3, 0));

Console.WriteLine(str.SubString(3, 4));

Console.WriteLine(str.SubString(3, 10));

IString parS1 = new SeqString("hi");

IString parS2 = new SeqString("hk");

Console.WriteLine(str.FindParam(parS1));

Console.WriteLine(str.FindParam(parS2));

}

}

3整数集合的定义与操作

定义:由若干互不相同的正整数组成的集合,其中全集为0至MaxRange,MaxRange为构成该集合元素的最大值。

操作:

namespace LinearStruct

{

///

/// 集合的抽象数据类型

///

///集合元素的类型

///集合的类型

public interface ISet

{

///

/// 向集合中添加元素

///

///要插入到集合的元素

void Insert(T elt);

///

/// 删除集合中的元素

///

///要删除的集合元素

void Remove(T elt);

///

/// 判断元素是否属于该集合

///

///要判断的集合元素

///若属于该集合返回true,否则返回false.

bool IsMember(T elt);

///

/// 得到集合中的所有元素

///

///表示集合中所有元素的字符串.

string GetElements();

///

/// 求两个集合的并集

///

///与其求并的集合

///两个集合的并集

K Union(K B);

///

/// 求两个集合的交集

///

///与其求交的集合

///两个集合的交集

K Intersect(K B);

///

/// 求两个集合的差集

///

///与其求差的集合

///两个集合的差集

K DiffSet(K B);

///

/// 求集合的补集

///

///集合的补集

K Complement();

}

}

4整数集合的存储与实现

实现:

namespace LinearStruct

{

///

/// 用整数集合实现集合的抽象数据类型

///

public class IntSet : ISet //uint 32位无符号整数 {

private uint[] bitSet;//位数组

private uint maxRange;

///

/// 获取整数集合中的最大元素,全集为0至MaxRange

///

public uint MaxRange

{

get

{

return maxRange;

}

}

///

/// 初始化IntSet类的新实例

///

///整数集合中的最大元素

public IntSet(uint maxRge)

{

maxRange = maxRge;

bitSet = new uint[maxRange / 32 + 1];

for (int i = 0; i < bitSet.Length; i++)

bitSet[i] = 0;//当前集合为空集

}

///

/// 获取元素在位数组中的索引号

///

///获取在位数组中索引号的元素

///元素在位数组中的索引号

private uint ArrayIndex(uint elt)

{

if (elt > maxRange)

throw new Exception("元素未在集合范围内.");

return elt / 32;

}

///

/// 获取元素对应位置的整数

///

///获取对应位置整数的元素

///元素对应位置的整数

private uint BitMask(uint elt)

{

if (elt > maxRange)

throw new Exception("元素未在集合范围内.");

return (uint)Math.Pow(2, elt % 32);

}

///

/// 向集合中添加元素

///

///要插入到集合的元素

public void Insert(uint elt)

{

if (elt > maxRange)

throw new Exception("元素未在集合范围内.");

bitSet[ArrayIndex(elt)] |= BitMask(elt);

}

///

/// 删除集合中的元素

///

///要删除的集合元素

public void Remove(uint elt)

{

if (elt > maxRange)

throw new Exception("元素未在集合范围内.");

bitSet[ArrayIndex(elt)] &= ~BitMask(elt);

}

///

/// 判断元素是否属于该集合

///

///要判断的集合元素

///若属于该集合返回true,否则返回false.

public bool IsMember(uint elt)

{

if (elt > maxRange)

return false;

uint i = bitSet[ArrayIndex(elt)] & BitMask(elt);

return i == 0 ? false : true;

}

///

/// 获取对应二进制字符串

///

///对应二进制字符串

public string GetBitString()

{

string temp = string.Empty;

for (int i = 0; i < bitSet.Length; i++)

temp = Convert.ToString(bitSet[i], 2).PadLeft(32, '0') + temp;

return temp.Remove(0, 32 - (int)(maxRange % 32 + 1));

}

///

/// 得到集合中的所有元素

///

///表示集合中所有元素的字符串.

public string GetElements()

{

string S = GetBitString();

string temp = string.Empty;

int j = 0;

for (int i = S.Length - 1; i >= 0; i--)

{

if (S[i] == '1')

temp += j.ToString() + " ";

j++;

}

return temp.Trim();

}

///

/// 求两个集合的并集

///

///与其求并的集合

///两个集合的并集

public IntSet Union(IntSet B)

{

if (B.maxRange != maxRange)

throw new Exception("两个集合范围不同.");

IntSet temp = new IntSet(maxRange);

for (int i = 0; i < bitSet.Length; i++)

{

temp.bitSet[i] = bitSet[i] | B.bitSet[i];

}

return temp;

}

///

/// 求两个集合的交集

///

///与其求交的集合

///两个集合的交集

public IntSet Intersect(IntSet B)

{

if (maxRange != B.maxRange)

throw new Exception("两个集合范围不同.");

IntSet temp = new IntSet(maxRange);

for (int i = 0; i < bitSet.Length; i++)

{

temp.bitSet[i] = bitSet[i] & B.bitSet[i];

}

return temp;

}

///

/// 求两个集合的差集

///

///与其求差的集合

///两个集合的差集

public IntSet DiffSet(IntSet B)

{

if (maxRange != B.maxRange)

throw new Exception("两集合范围不同.");

IntSet temp = new IntSet(maxRange);

for (int i = 0; i < bitSet.Length; i++)

{

temp.bitSet[i] = bitSet[i] & (~B.bitSet[i]);

}

return temp;

}

///

/// 求集合的补集

///

///集合的补集

public IntSet Complement()

{

IntSet temp = new IntSet(maxRange);

for (int i = 0; i < bitSet.Length; i++)

{

temp.bitSet[i] = ~bitSet[i];

}

return temp;

}

}

}

Example4_4_1_1

class Program

{

static void Main(string[] args)

{

IntSet A = new IntSet(33);

IntSet B = new IntSet(33);

A.Insert(5);

A.Insert(30);

A.Insert(23);

B.Insert(5);

B.Insert(24);

B.Insert(9);

Console.WriteLine("A集合:{0};{1}", A.GetBitString(),A.GetElements());

Console.WriteLine("B集合:{0};{1}", B.GetBitString(),B.GetElements());

IntSet C;

C = A.Union(B);

Console.WriteLine("A并B :{0}:{1}",C.GetBitString(),C.GetElements()); C = A.Intersect(B);

Console.WriteLine("A交B :{0}:{1}", C.GetBitString(), C.GetElements());

C = A.DiffSet(B);

Console.WriteLine("A差B :{0}:{1}", C.GetBitString(), C.GetElements());

C = https://www.wendangku.net/doc/2c14799501.html,plement();

Console.WriteLine("A的补:{0}:{1}", C.GetBitString(), C.GetElements());

}

}

5练习

5.1根据要求完成程序代码

要求1:

利用我们介绍的串结构(SeqString:IString),输入一个串,可对这个串做取子串、插入子串、删除子串、模式匹配、克隆串、连接串等操作。

程序可以仿照如下界面进行设计:

要求2:

利用我们介绍的整数集合结构(IntSet:ISet),对给定MaxRange=80的整数集合A与B做交、并、差、补等集合运算。

程序可以仿照如下界面进行设计:

数据结构上机实验报告

数据结构上机实验报告 学院:电子工程学院 专业:信息对抗技术 姓名:

学号: 教师:饶鲜日期:

目录 实验一线性表................................................. - 4 - 一、实验目的................................................ - 4 - 二、实验代码................................................ - 4 - 三、实验结果............................................... - 14 - 四、个人思路............................................... - 15 -实验二栈和队列.............................................. - 15 - 一、实验目的............................................... - 15 - 二、实验代码............................................... - 16 - 三、实验结果............................................... - 24 - 四、个人思路............................................... - 25 -实验三数组.................................................. - 26 - 一、实验目的............................................... - 26 - 二、实验代码............................................... - 26 - 三、实验结果............................................... - 28 - 四、个人思路............................................... - 28 -实验四树.................................................... - 29 - 一、实验目的............................................... - 29 - 二、实验代码............................................... - 29 -

结构力学求解器求解示例

结构力学(二)上机试验结构力学求解器的使用 上机报告 班级: 姓名: 学号: 日期:

实验三、计算结构的影响线 1.实验任务 (1)作以下图示梁中截面D 的内力D M 、QD F 的影响线。 观览器:D M 的影响线 观览器:QD F 的影响线 D |F=1 3 365

编辑器: 结点,1,0,0 结点,2,3,0 结点,3,6,0 结点,4,12,0 结点,6,6,1 结点,5,17,1 单元,1,2,1,1,0,1,1,1 单元,2,3,1,1,1,1,1,1 单元,3,4,1,1,1,1,1,0 单元,3,6,1,1,0,1,1,0 单元,6,5,1,1,0,1,1,0 结点支承,1,3,0,0,0 结点支承,4,1,0,0 结点支承,5,3,0,0,0 影响线参数,-2,1,1,3 影响线参数,-2,1,1,2 End

作以下图示梁中截面D 的内力D M 、QD F 的影响线。 观览器: D M 的影响线 QD F 的影响线

编辑器: 结点,1,0,0 结点,2,2,0 结点,3,4,0 结点,4,6,0 结点,5,8,0 结点,6,0,1 结点,7,8,1 结点,8,2,1 结点,9,4,1 结点,10,6,1 单元,1,2,1,1,0,1,1,1 单元,2,3,1,1,1,1,1,1 单元,3,4,1,1,1,1,1,1 单元,4,5,1,1,1,1,1,0 单元,1,6,1,1,1,1,1,0 单元,6,8,1,1,0,1,1,0 单元,8,9,1,1,0,1,1,0 单元,9,10,1,1,0,1,1,0 单元,10,7,1,1,0,1,1,0 单元,7,5,1,1,0,1,1,0

结构力学实验报告模板1

结构力学实验报告 班级12土木2班 姓名 学号

实验报告一 实验名称 在求解器中输入平面结构体系 一实验目的 1、了解如何在求解器中输入结构体系 2、学习并掌握计算模型的交互式输入方法; 3、建立任意体系的计算模型并做几何组成分析; 4、计算平面静定结构的内力。 二实验仪器 计算机,软件:结构力学求解器 三实验步骤 图2-4-3 是刚结点的连接示例,其中图2-4-3a 中定义了一个虚拟刚结点和杆端的连接码;各个杆端与虚拟刚结点连接后成为图2-4-3b 的形式,去除虚拟刚结点后的效果为图2-4-3c 所示的刚结点;求解器中显示的是最后的图2-4-3c。图2-4-4 是组合结点的连接示例,同理,无需重复。铰结点是最常见的结点之一,其连接示例在图2-4-5 中给出。这里,共有四种连接方式,都等效于图2-4-5e 中的铰结点,通常采用图2-4-5a 所示方式即可。值得一提的是,如果将三个杆件固定住,图2-4-5b~d 中的虚拟刚结点也随之被固定不动,而图2-4-5a 中的虚拟刚结点仍然存在一个转动自由度,可以绕结点自由转动。这是一种结点转动机构,在求解器中会自动将其排除不计①。结点机构实际上也潜存于经典的结构力学之中,如将一个集中力矩加在铰结点上,便可以理解为加在了结点机构上(犹如加在可自由转动的销钉上),是无意义的。 综上所述,求解器中单元对话框中的“连接方式”是指各杆端与虚拟刚结点的连接方式,而不是杆件之间的连接方式。这样,各杆件通过虚拟刚结点这一中介再和其他杆件间接地连接。这种处理的好处是可以避免结点的重复编码(如本书中矩阵位移法中所介绍的),同时可以方便地构造各种

数据结构课程实验指导书

数据结构实验指导书 一、实验目的 《数据结构》是计算机学科一门重要的专业基础课程,也是计算机学科的一门核心课程。本课程较为系统地论述了软件设计中常用的数据结构以及相应的存储结构与实现算法,并做了相应的性能分析和比较,课程内容丰富,理论系统。本课程的学习将为后续课程的学习以及软件设计水平的提高打下良好的基础。 由于以下原因,使得掌握这门课程具有较大的难度: 1)理论艰深,方法灵活,给学习带来困难; 2)内容丰富,涉及的知识较多,学习有一定的难度; 3)侧重于知识的实际应用,要求学生有较好的思维以及较强的分析和解决问题的能力,因而加大了学习的难度; 根据《数据结构》课程本身的特性,通过实验实践内容的训练,突出构造性思维训练的特征,目的是提高学生分析问题,组织数据及设计大型软件的能力。 课程上机实验的目的,不仅仅是验证教材和讲课的内容,检查自己所编的程序是否正确,课程安排的上机实验的目的可以概括为如下几个方面: (1)加深对课堂讲授内容的理解 实验是对学生的一种全面综合训练。是与课堂听讲、自学和练习相辅相成的必不可少的一个教学环节。通常,实验题中的问题比平时的习题复杂得多,也更接近实际。实验着眼于原理与应用的结合点,使学生学会如何把书上学到的知识用于解决实际问题,培养软件工作所需要的动手能力;另一方面,能使书上的知识变" 活" ,起到深化理解和灵活掌握教学内容的目的。 不少学生在解答习题尤其是算法设计时,觉得无从下手。实验中的内容和教科书的内容是密切相关的,解决题目要求所需的各种技术大多可从教科书中找到,只不过其出

现的形式呈多样化,因此需要仔细体会,在反复实践的过程中才能掌握。 (2) 培养学生软件设计的综合能力 平时的练习较偏重于如何编写功能单一的" 小" 算法,而实验题是软件设计的综合训练,包括问题分析、总体结构设计、用户界面设计、程序设计基本技能和技巧,多人合作,以至一整套软件工作规范的训练和科学作风的培养。 通过实验使学生不仅能够深化理解教学内容,进一步提高灵活运用数据结构、算法和程序设计技术的能力,而且可以在需求分析、总体结构设计、算法设计、程序设计、上机操作及程序调试等基本技能方面受到综合训练。实验着眼于原理与应用的结合点,使学生学会如何把书本上和课堂上学到的知识用于解决实际问题,从而培养计算机软件工作所需要的动手能力。 (3) 熟悉程序开发环境,学习上机调试程序一个程序从编辑,编译,连接到运行,都要在一定的外部操作环境下才能进行。所谓" 环境" 就是所用的计算机系统硬件,软件条件,只有学会使用这些环境,才能进行 程序开发工作。通过上机实验,熟练地掌握程序的开发环境,为以后真正编写计算机程序解决实际问题打下基础。同时,在今后遇到其它开发环境时就会触类旁通,很快掌握新系统的使用。 完成程序的编写,决不意味着万事大吉。你认为万无一失的程序,实际上机运行时可能不断出现麻烦。如编译程序检测出一大堆语法错误。有时程序本身不存在语法错误,也能够顺利运行,但是运行结果显然是错误的。开发环境所提供的编译系统无法发现这种程序逻辑错误,只能靠自己的上机经验分析判断错误所在。程序的调试是一个技巧性很强的工作,尽快掌握程序调试方法是非常重要的。分析问题,选择算法,编好程序,只能说完成一半工作,另一半工作就是调试程序,运行程序并得到正确结果。 二、实验要求 常用的软件开发方法,是将软件开发过程划分为分析、设计、实现和维护四个阶段。虽然数据结构课程中的实验题目的远不如从实际问题中的复杂程度度高,但为了培养一个软件工作者所应具备的科学工作的方法和作风,也应遵循以下五个步骤来完成实验题目: 1) 问题分析和任务定义 在进行设计之前,首先应该充分地分析和理解问题,明确问题要求做什么?限制条件是什么。本步骤强调的是做什么?而不是怎么做。对问题的描述应避开算法和所涉及的数据类型,而是对所需完成的任务作出明确的回答。例如:输入数据的类型、值的范围以及输入的

数据结构实验报告全集

数据结构实验报告全集 实验一线性表基本操作和简单程序 1.实验目的 (1)掌握使用Visual C++ 6.0上机调试程序的基本方法; (2)掌握线性表的基本操作:初始化、插入、删除、取数据元素等运算在顺序存储结构和链表存储结构上的程序设计方法。 2.实验要求 (1)认真阅读和掌握和本实验相关的教材内容。 (2)认真阅读和掌握本章相关内容的程序。 (3)上机运行程序。 (4)保存和打印出程序的运行结果,并结合程序进行分析。 (5)按照你对线性表的操作需要,重新改写主程序并运行,打印出文件清单和运行结果 实验代码: 1)头文件模块 #include iostream.h>//头文件 #include//库头文件-----动态分配内存空间 typedef int elemtype;//定义数据域的类型 typedef struct linknode//定义结点类型 { elemtype data;//定义数据域 struct linknode *next;//定义结点指针 }nodetype; 2)创建单链表

nodetype *create()//建立单链表,由用户输入各结点data域之值,//以0表示输入结束 { elemtype d;//定义数据元素d nodetype *h=NULL,*s,*t;//定义结点指针 int i=1; cout<<"建立一个单链表"<> d; if(d==0) break;//以0表示输入结束 if(i==1)//建立第一个结点 { h=(nodetype*)malloc(sizeof(nodetype));//表示指针h h->data=d;h->next=NULL;t=h;//h是头指针 } else//建立其余结点 { s=(nodetype*) malloc(sizeof(nodetype)); s->data=d;s->next=NULL;t->next=s; t=s;//t始终指向生成的单链表的最后一个节点

结构力学求解器学习报告

结构力学求解器学习报告 一、实习目的 结构力学上机实习使训练学生使用计算机进行结构计算的重要环节。通过实习,学生可以掌握如何使用计算机程序进行杆系结构的分析计算,进一步掌握结构力学课程的基本理论和基本概念。在此基础上,通过阅读有关程序设计框图,编写、调试结构力学程序,学生进一步提高运用计算机进行计算的能力,为后续课程的学习、毕业设计及今后工作中使用计算机进行计算打下良好的基础。 二、实习时间 大三上学期第19周星期一至星期五。 三、实习内容 本次实习以自学为主,学习如何使用结构力学求解器进行结构力学问题的求解,包括:二维平面结构(体系)的几何组成、静定、超静定、位移、内力、影响线、自由振动、弹性稳定、极限荷载等。对所有这些问题,求解器全部采用精确算法给出精确解答。 四、心得体会 第一天上机时,张老师对结构力学求解器的使用方法进行了简单的介绍,然后就是学生自己自学的时间了。每个学生都有自己对应的题目要完成,在完成这些题目的同时,我也逐渐对结构力学求解器的运用更加自如。 从刚开始的生疏到最后的熟练运用,我遇到了不少问题:①第一次使用在有些问题上拿不定注意,例如,在材料性质那一栏,我不知

道是EA和EI的取值②第一次接触这个软件,在使用过程中不知道该如何下手,题目条件的输入顺序也很模糊。③经常会忘记添加荷载的单位,导致计算结果出现问题。④对于有些命令不能很明确的知道其用法,致使在使用时经常出错。在面对这些问题时,我一般都会向同学和老师寻求帮助,直到最终将问题解决。 通过这几天的上机实习,不仅让我进一步掌握了结构力学的知识,同时,还使我对结构力学求解器有了更深入的了解: 1. 结构力学求解器首先是一个计算求解的强有效的工具。对于任意平面的结构,只要将参数输进求解器,就可以得到变形图和内力图,甚至还可以求得临界荷载等问题。 2.即便是结构力学的初学者,只要会用求解器,也可以用求解器来方便地求解许多结构的各类问题,以增强对结构受力特性的直观感受和切实体验。 3.书本中的方法并非所有类型的问题都可以解决,例如,不规则分布的荷载以及超静定结构用传统方法比较困难,但用求解器就较为简单。而且,用求解器求解问题时可以不忽略轴向变形等书本中忽略的条件,与实际更加相符。 4.求解器可以用静态图形显示结构简图、变形图、内力图,还可以用动画显示机构模态、振型等动态图形。利用复制到剪贴板的功能,可以将结构简图、变形图、内力图以点阵图或矢量图的形式粘贴到word文档中,并可以方便地进行再编辑。

结构力学 上机实验报告

实验报告一 平面刚架内力计算程序APF 实验目的:(1)分析构件刚度与外界温度对结构位移的影响,如各杆刚度改变对内力分布的影响、温度因数对内力分布的影响。 (2)观察并分析刚架在静力荷载及温度作用下的内力和变形规律,包括刚度的变化,结构形式的改变,荷载的作用位置变化等因素对内力及变形的影响。对结构静力分析的矩阵位移法的计算机应用有直观的了解 (3)掌握杆系结构计算的《结构力学求解器》的使用方法。通过实验加深对静定、超静定结构特性的认识。 实验设计1: 计算图示刚架当梁柱刚度12I I 分别为15、11、15、1 10时结构的内力和位移,由此分析当刚架在水平荷 载作用下横梁的水平位移与刚架梁柱 比(1 2I I )之间的关系。(计算时忽略轴向变形)。 数据文件: (1)变量定义,EI1=1,EI2=0.2(1,5,10) 结点,1,0,0 结点,2,0,4 结点,3,6,4 结点,4,6,0 单元,1,2,1,1,1,1,1,1 单元,2,3,1,1,1,1,1,1 单元,3,4,1,1,1,1,1,1 结点支承,1,6,0,0,0,0 结点支承,4,6,0,0,0,0 结点荷载,2,1,100,0 单元材料性质,1,1,-1,EI1,0,0,-1 单元材料性质,2,2,-1,EI2,0,0,-1 单元材料性质,3,3,-1,EI1,0,0,-1 (2)变量定义,EI1=5(1,0.2,0.1),EI2=1 结点,1,0,0 结点,2,0,4 结点,3,6,4 结点,4,6,0 单元,1,2,1,1,1,1,1,1 单元,2,3,1,1,1,1,1,1 单元,3,4,1,1,1,1,1,1 结点支承,1,6,0,0,0,0 结点支承,4,6,0,0,0,0 结点荷载,2,1,100,0 单元材料性质,1,1,-1,EI1,0,0,-1 单元材料性质,2,2,-1,EI2,0,0,-1 单元材料性质,3,3,-1,EI1,0,0,-1 主要计算结果: 位移:

计10--数据结构专题实验rev2

上机实验要求及规范 《数据结构》课程具有比较强的理论性,同时也具有较强的可应用性和实践性,因此上机实验是一个重要的教学环节。一般情况下学生能够重视实验环节,对于编写程序上机练习具有一定的积极性,但是容易忽略实验的总结,忽略实验报告的撰写。对于一名大学生必须严格训练分析总结能力、书面表达能力。需要逐步培养书写科学实验报告以及科技论文的能力。拿到一个题目,一般不要急于编程,而是应该按照面向过程的程序设计思路(关于面向对象的训练将在其它后继课程中进行),首先理解问题,明确给定的条件和要求解决的问题,然后按照自顶向下,逐步求精,分而治之的策略,逐一地解决子问题。具体步骤如下: 1.问题分析与系统结构设计 充分地分析和理解问题本身,弄清要求做什么(而不是怎么做),限制条件是什么。按照以数据结构为中心的原则划分模块,搞清数据的逻辑结构(是线性表还是树、图?),确定数据的存储结构(是顺序结构还是链表结构?),然后设计有关操作的函数。在每个函数模块中,要综合考虑系统功能,使系统结构清晰、合理、简单和易于调试。最后写出每个模块的算法头和规格说明,列出模块之间的调用关系(可以用图表示),便完成了系统结构设计。 2.详细设计和编码 详细设计是对函数(模块)的进一步求精,用伪高级语言(如类C语言)或自然语言写出算法框架,这时不必确定很多结构和变量。 编码,即程序设计,是对详细设计结果的进一步求精,即用某种高级语言(如C/C++语言)表达出来。尽量多设一些注释语句,清晰易懂。尽量临时增加一些输出语句,便于差错矫正,在程序成功后再删去它们。 3.上机准备 熟悉高级语言用法,如C语言。熟悉机器(即操作系统),基本的常用命令。静态检查主要有两条路径,一是用一组测试数据手工执行程序(或分模块进行);二是通过阅读或给别人讲解自己的程序而深入全面地理解程序逻辑,在这个过程中再加入一些注释和断言。如果程序中逻辑概念清楚,后者将比前者有效。 4.上机调试程序 调试最好分块进行,自底向上,即先调试底层函数,必要时可以另写一个调用驱动程序,表面上的麻烦工作可以大大降低调试时所面临的复杂性,提高工作效率。 5.整理实验报告 在上机实验开始之前要充分准备实验数据,在上机实践过程中要及时记录实验数据,在上机实践完成之后必须及时总结分析,写出实验报告。

数据结构上机实验报告

数据结构实验报告 一.顺序表 要求:实现顺序表的初始化、在指定位置插入和删除元素。 算法思路:线性表的顺序表示指的是用一组地址连续的存储单元依次存储线性表的数据元素。顺序表的初始化操作就是为顺序表分配一个预定义大小的空间,并将线性表的当前长度设为“0”。线性表的插入操作是在线性表的第i-1个数据元素和第i个元素之间插入新的数据元素,使得长度为n的线性表变成长度为n+1的线性表,而删除恰好相反长度变为n-1的线性表,而且删除点后面的元素要往前移动一个位。 程序代码: #include #include #define MAXSIZE 50 typedef char elemtype; typedef struct //类型定义 { elemtype v[MAXSIZE]; int last; }SeqList; SeqList *Init_SeqList() //初始化操作 { SeqList *L; L=(SeqList*)malloc(sizeof(SeqList)); L->last=-1; return L; } void Create(SeqList *L) //建立顺序表 { int i=0; elemtype ch; scanf("%c",&ch); while(ch!='\n') { L->v[i++]=ch; scanf("%c",&ch); L->last=i-1; } } void PrintL(SeqList *L) //输出顺序表 { int i; printf("此表为:\n");

for(i=0;ilast;i++) { printf("%c",L->v[i]); } printf("%c\n",L->v[i]); } void Length(SeqList *L) //顺序表长度函数{ printf("此表长度:\n%d",L->last+1); printf("\n"); } void insert(SeqList *L,int i,elemtype x) //插入函数 { int j; if(L->last==0) printf("Error!\n"); if(i<1||i>L->last) printf("Error!"); for(j=L->last;j>=i-1;j--) L->v[j+1]=L->v[j]; L->v[i-1]=x; L->last++; PrintL(L); Length(L); } void Delete(SeqList *L,int i) //删除函数 { int j; if(L->last==-1) printf("Error!"); if(i<1||i>L->last+1) printf("Error!"); for(j=i;j<=L->last;j++) L->v[j-1]=L->v[j]; L->last--; PrintL(L); Length(L); } void main() //程序主函数 { int i,j,k; elemtype a,b;

结构力学实验

结构力学 桁架结构受力性能实验报告 学号:1153377 姓名:周璇 专业:土木工程 实验时间:2016年05月04日周三,中午12:30-13:30 实验指导教师:陈涛 理论课任课教师:陈涛

一、实验目的 (1)参加并完成规定的实验项目内容,理解和掌握结构的实验方法和实验结果,通过 实践掌握试件的设计、实验结果整理的方法。 (2)进行静定、超静定结构受力的测定和影响线的绘制。 二、结构实验 (一)空间桁架受力性能概述 桁架在受结点荷载时,两边支座处产生反力,桁架中各杆件产生轴力,如图1.1为在抛物线桁架结点分别加载时结构示意图。用Q235钢材,桁架跨度6?260=1560mm ,最大高度260mm 。杆件之间为铰接相连。杆件直径为8mm 。 图1.1 (二)实验装置 图1.2为框架结构侧向受力实验采用的加载装置,25kg 挂钩和25kg 砝码。采用单结点集中力加载,由砝码、挂钩施加拉力,应变片测算待测杆件应变。结构尺寸如图1.2所示。 图1.2 (三)加载方式 简单多次加载,将挂钩和砝码依次施加在各个结点,待应变片返回数据稳定后,进行采集。采集结束后卸下重物,等待应变片数值降回初始值后再向下一节点施加荷载,重复采集操作。 (四)量测内容 需要量测桁架待测杆件的应变值在前后四对桁架杆布置单向应变片,具体布置位置如图 1.2 所示,即加粗杆件上黏贴应变片。 三、实验原理 对桁架上的5个位置分别施加相同荷载,记录不同条件下各杆件的应变值。 由公式 2 4 F A E d A σσεπ? ?=? =???=?

可以得到 24 d E F πε = 其中: F ——杆件轴力 E ——Q235钢弹性模量 d ——杆件直径 ε ——杆件应变值 σ ——杆件应力 A ——杆件横截面积 因而可以求得各杆件轴力,进而得到不同杆件的轴力影响线。 四、实验步骤 (1)将载荷挂在加载位置1,待应变片返回数据稳定后,采集相应应变数据。 (2)待应变片数值降回初始值后,重复(1)中操作,将荷载分别挂在加载位置2,3,4,5,分别采集记录各自对应的各杆件应变数据。 五、实验结果与整理 将对应位置杆件应变值取平均值,得到所示一榀桁架四根杆件的应变值如表2.2所示。

经典数据结构上机题_答案解析

数据结构上机实验题目 实验一线性表的顺序存储结构 实验学时 2学时 背景知识:顺序表的插入、删除及应用。 目的要求: 1.掌握顺序存储结构的特点。 2.掌握顺序存储结构的常见算法。 实验容 1.输入一组整型元素序列,建立顺序表。 2.实现该顺序表的遍历。 3.在该顺序表中进行顺序查找某一元素,查找成功返回1,否则返回0。4.判断该顺序表中元素是否对称,对称返回1,否则返回0。 5.实现把该表中所有奇数排在偶数之前,即表的前面为奇数,后面为偶数。 6.输入整型元素序列利用有序表插入算法建立一个有序表。 7.利用算法6建立两个非递减有序表并把它们合并成一个非递减有序表。 8. 利用该顺序结构实现循环队列的入队、出队操作。 8.编写一个主函数,调试上述算法。 #include #include

#define OVERFLOW 0 #define MAXSIZE 100 typedef int ElemType; typedef struct list {ElemType elem[MAXSIZE]; int length; }Sqlist; void Creatlist(Sqlist &L) {int i; printf("请输入顺序表的长度:"); //输入一组整型元素序列,建立一个顺序表。 scanf("%d",&L.length); for(i=0;i

结构力学上机考试答案

中国矿业大学力学与建筑工程学院 2013~2014学年度第二学期 《结构力学A1》上机实验报告 学号 班级 姓名 2014年5月26日

一、单跨超静定梁计算(50分) 1. 计算并绘制下面单跨超静定梁的弯矩图和剪力图。(20分) q =12N/m q =8N/m q =8N/m q=?8m 1 2 3 2. 如果按照梁跨中弯矩相等的原则,将梁上的荷载换算成均布荷载,则均布荷载应为多少?(10分) 2m 1m 1m 1m 1m 1m q=? 8m 3. 如果按照梁端部弯矩相等的原则,将梁上的荷载换算成均布荷载,则均布荷载应为多少?(10分) 4. 如果按照梁端部剪力相等的原则,将梁上的荷载换算成均布荷载,则均布荷载应为多少?(10分) 二、超静定刚架计算(50分) 1.刚架各杆EI 如图所示,计算刚架的弯矩图,剪力图和轴力图。(30分)

2. 若EI=106 (Nm 2 ),计算刚架一层梁和二层梁的水平位移。(20分)

弯矩图: y x 12345678 ( 1 )( 2 )( 3 )( 4 )( 5 )( 6 )( 7 ) -40.96 -16.29 3.04 19.04 25.04 19.04 3.04 -16.29 -40.96 剪力图: y x 12345678 ( 1 )( 2 )( 3 )( 4 )( 5 )( 6 )( 7 ) 26.00 22.00 18.00 12.00 -12.00 -18.00 -22.00 -26.00

解:跨中弯矩M1=25.04Nm(下部受拉)均布荷载q作用在梁上时,跨中弯矩为 M2=1/24*q*(l^2)(下部受拉) ∵M1=M2, ∴q=9.39N/m 如图所示: y x 12 ( 1 ) -50.08-50.08

结构力学实验报告

实验报告一 平面刚架内力计算程序APF 日期: 2013.4.19 实验地点: 综合楼503 实验目的: 1、通过实验加深对静定、超静定结构特性的认识。如各杆刚度改变对内力分布的影响、温度和沉陷变形因数的影响等。 2、观察并分析刚架在静力荷载及温度作用下的内力和变形规律,包括刚度的变化,结构形式的改变,荷载的作用位置变化等因素对内力及变形的影响。对结构静力分析的矩阵位移法的计算机应用有直观的了解。 3、掌握杆系结构计算的《求解器》的使用方法。 实验设计1: 别为15 、11、15、110 时结构的内力和位移,由此 分析当刚架在水平荷载作用下横梁的水平位移与刚架梁柱比(1 2I I )之间的关系。(计算时忽略轴 向变形)。 一、 数据文件: (1)TITLE, 实验一 变量定义,EI1=1 变量定义,EI2=0.2(1, 5, 10) 结点,1,0,0 结点,2,0,4 结点,3,6,0 结点,4,6,4 单元,1,2,1,1,1,1,1,1 单元,3,4,1,1,1,1,1,1 单元,2,4,1,1,1,1,1,1 结点支承,1,6,0,0,0,0 结点支承,3,6,0,0,0,0 结点荷载,2,1,100,0 单元材料性质,1,2,-1,EI1,0,0,-1 单元材料性质,3,3,-1,EI2,0,0,-1 END

二、主要计算结果: 位移: (2)令I2=1时,I1=5,1,0.2,0.1 弯矩: (1) 令I1=1时,I2=0.2,1,5,10 ①梁柱刚度比I2:I1为1:5时的刚架弯矩图如下②梁柱刚度比I2:I1为1:1时的刚架弯矩图如下

③梁柱刚度比I2:I1为5:1时的刚架弯矩图如下④梁柱刚度比I2:I1为10:1时的刚架弯矩图如下

数据结构上机实验指导

《数据结构》课程上机实验指导书 实验一 【实验名称】顺序表的基本算法 【实验目的】 创建一个顺序表,掌握线性表顺序存储的特点。设计和验证顺序表的查找、插入、删除算法。 【实验要求】 (1)从键盘读入一组整数,按输入顺序形成顺序表。并将创建好的顺序表元素依次打印在屏幕上。 设计一个带选择菜单的主函数,菜单中具备任意选择删除、插入、查找数据元素(2)的功能。 当选择删除功能时,从键盘读入欲删除的元素位置或元素值,按指定方式删除;3()当选择插入功能时,从键盘读入新元素值和被插入位置,在指定位置插入;当选择查找功能时,从键盘读入欲查找的元素值,返回其位置序号。 (4)每种操作结束后,都能在屏幕上打印出此时顺序表元素的遍历结果。 【实验步骤】、实验前先写好算法。1 上机编写程序。2、编译。3、调试。4、 综合实例!,2-62-8!带菜单的主函数参考书上2.5,,,书上参考算法例程:2-12-42-5注意:顺序表的结构体!typedef struct { datatype items[listsize]; int length; }SpList; 实验二 【实验名称】单链表的基本算法 【实验目的】 创建一个单链表,掌握线性表链式存储的特点。设计和验证链表的查找、插入、删除、求表长的算法。【实验要求】 (1)从键盘读入一组整数,按输入顺序形成单链表。并将创建好的单链表元素依次打印在屏幕上。(注意:选择头插法或者尾插法!) 设计一个带选择功能菜单的主函数,菜单中至少具备任意选择删除、插入、查找(2)数据元素,和求单链表表长等几项功能。 当选择删除功能时,从键盘读入欲删除的元素位置,按指定位置删除;当选择插)(3入功能时,从键盘读入新元素值和被插入位置,在指定位置插入;当选择查找功能时,从键盘读入欲查找的元素值,返回其位置序号;当选择求表长功能时,返回该单链表表长的数值。 (4)每种操作结束后,都能在屏幕上打印出此时单链表元素的遍历结果。 【实验步骤】、实验前先写好算法。1 、上机编写程序。2 编译。3、调试。4、 综合实例!!带菜单的主函数参考书上,2-132-15,2-172.5,,书上参考算法例程:2-102-12 另外,注意,指针的初始化!指针的操作必须谨慎!链表的结构体如下:typedef struct Node { Datatype ch; struct Node *next; }LNode, *Pnode, *Linklist; 实验三

数据结构上机实验答案

《数据结构实验指导书》答案 实验一: 1、请编写函数int fun(int *a, int *b),函数的功能是判断两个指针a和b所指存储单元的值 的符号是否相同;若相同函数返回1,否则返回0。这两个存储单元中的值都不为0。在主函数中输入2个整数、调用函数fun、输出结果。 #include int fun(int *a, int *b) { if (*a*(*b)>0) return(1); else return(0); } main() { int x,y; scanf("%d%d",&x,&y); if (fun(&x,&y)) printf("yes\n"); else printf("no"); } 2、计算1+2+3+……+100,要求用指针进行设计。即设计函数int fun(int *n)实现求 1+2+3+……+*n,在主函数中输入、调用、输出结果。 #include int fun(int *n) { int i,sum=0; for (i=1;i<=*n;i++) sum+=i; return(sum); } main() { int x,sum; scanf("%d",&x); printf("the sum is %d\n",fun(&x)); } 3、函数的功能是求数组a中最大数的位置(位序号)。在主函数中输入10个整数、调用函

数fun、输出结果。 #define N 10 #include void input(int *a,int n) { int i; for (i=0;i*max) max=a+i; return(max-a); } main() {int a[N],maxi; input(a,N); maxi=fun(a,N); printf("\n the max position is %d\n",maxi); } 4、请编写函数fun(int *a,int n, int *odd, int *even),函数的功能是分别求出数组a中所有奇数之和和所有偶数之和。形参n给出数组中数据的个数;利用指针odd和even分别返回奇数之和和偶数之和。在主函数中输入10个整数、调用函数fun、输出结果。 #define N 10 #include void input(int *a,int n) { int i; for (i=0;i

数据结构 上机实验题及题解

2013-03-08 上机实验题 1.构建两个顺序表示的非空线性表LA和LB (数据元素为整型,其值自行确定); 2.从线性表LA中删除第i 个元素; 3.将元素e插入到线性表LB中的第i个元素之后; 4.假设LA中不含重复的元素 (LB同),将线性表LA和LB合并,并输出结果,要求结 果中不含重复的元素。 //构建两个顺序表(定义、初始化) //在一个顺序表中删除指定位置的元素 //在一个顺序表中指定位置插入一个新元素 //将两个线性表LA和LB进行合并 //遍历LB, 如果其中的数据元素不在LA中,则将其插入LA,否则不予处理 //打印线性表LA #define List_Init_Size 100 #define LISTINCREMENT 10 typedef int Status; typedef struct { int * elem; int length; // 当前长度 int ListSize; // 当前分配的存储容量 }SqList; Status Initialize_table (SqList &L) {// 初始化线性表 int i, m, data; L.elem=(int *)malloc(List_Init_Size *sizeof(int)); if (!L.elem) { // 为线性表分配空间 printf("Overflow"); return FAILURE; } L.ListSize=List_Init_Size; L.length=0; printf ("Please input the size of linear table (<=%d): "+ List_Init_Size); scanf_s("%d",&m); for (i=0;iL.length)) //检查i值是否合法

南邮数据结构上机实验四内排序算法的实现以及性能比较

实验报告 (2015 / 2016学年第二学期) 课程名称数据结构A 实验名称内排序算法的实现以及性能比较 实验时间2016 年 5 月26 日 指导单位计算机科学与技术系 指导教师骆健 学生姓名耿宙班级学号B14111615 学院(系) 管理学院专业信息管理与信息系统

—— 实习题名:内排序算法的实现及性能比较 班级 B141116 姓名耿宙学号 B14111615 日期2016.05.26 一、问题描述 验证教材的各种内排序算法,分析各种排序算法的时间复杂度;改进教材中的快速排序算法,使得当子集合小于10个元素师改用直接插入排序;使用随即数发生器产生大数据集合,运行上述各排序算法,使用系统时钟测量各算法所需的实际时间,并进行比较。系统时钟包含在头文件“time.h”中。 二、概要设计 文件Sort.cpp中包括了简单选择排序SelectSort(),直接插入排序InsertSort(),冒泡排序BubbleSort(),两路合并排序Merge(),快速排序QuickSort()以及改进的快速排序GQuickSort()六个内排序算法函数。主主函数main的代码如下图所示: 三、详细设计 1.类和类的层次设计 在此次程序的设计中没有进行类的定义。程序的主要设计是使用各种内排序算法对随机 生成的数列进行排列,并进行性能的比较,除此之外还对快速排序进行了改进。下图为主函 数main的流程图:

——

main() 2.核心算法 1)简单选择排序: 简单选择排序的基本思想是:第1趟,在待排序记录r[1]~r[n]中选出最小的记录,将它与r[1]交换;第2趟,在待排序记录r[2]~r[n]中选出最小的记录,将它与r[2]交换;以此类推,第i趟在待排序记录r[i]~r[n]中选出最小的记录,将它与r[i]交换,使有序序列不断增长直到

结构力学求解器实验报告

结构力学上机实验报告 专业建筑工程 班级一班 学号xxx 姓名xx 20 年月日

一、用求解器进行平面体系几何构造分析 (桁架或组合结构) 报告中应包括以下内容: 求解过程 命令文档 分析结果 命令文档: 结点,1,0,0 结点,2,0,2.4 结点,3,1,1 结点,4,2,2.4 结点,5,2.8,0 结点,6,2.8,1 结点,7,3.6,2.4 结点,8,4.6,1 结点,9,5.6,2.4 单元,1,2,1,1,0,1,1,0 单元,2,3,1,1,0,1,1,0 单元,3,4,1,1,0,1,1,0 单元,2,4,1,1,0,1,1,0 单元,1,5,1,1,0,1,1,0 单元,5,6,1,1,0,1,1,0

单元,6,4,1,1,0,1,1,0 单元,1,3,1,1,0,1,1,0 单元,6,7,1,1,0,1,1,0 单元,7,9,1,1,0,1,1,0 单元,4,7,1,1,0,1,1,0 单元,7,8,1,1,0,1,1,0 单元,8,9,1,1,0,1,1,0 结点,10,5.6,0 单元,9,10,1,1,0,1,1,0 单元,10,8,1,1,0,1,1,0 单元,5,10,1,1,0,1,1,0 结点支承,10,1,0,0 结点支承,2,1,-90,0 结点支承,1,2,-90,0,0 分析结果:

二、用求解器确定截面单杆 插图 报告中应包括以下内容: 求解过程 命令文档: 结点,1,0,0 结点,2,0,6 结点,3,5,6 结点,4,10,6 结点,5,10,0 单元,1,2,1,1,1,1,1,1 单元,2,3,1,1,1,1,1,0 单元,3,4,1,1,0,1,1,1 单元,4,5,1,1,1,1,1,1 结点支承,1,2,-90,0,0 结点支承,5,2,0,0,0 单元荷载,3,3,1,0,1,90

数据结构-实验指导书

《数据结构》实验指导书 计算机专业实验中心编 2020年5月25日

目录 《数据结构》上机实验内容和要求 ................................................................... 错误!未定义书签。实验一、顺序表的实现及应用 ........................................................................... 错误!未定义书签。实验二、链表的实现及应用 ............................................................................... 错误!未定义书签。实验三、栈的实现及应用 ................................................................................... 错误!未定义书签。实验四、队列的实现及应用 ............................................................................... 错误!未定义书签。实验五、二叉树操作及应用 ............................................................................... 错误!未定义书签。实验六、图的遍历操作及应用 ........................................................................... 错误!未定义书签。实验七、查找算法的实现 ................................................................................... 错误!未定义书签。实验八、排序算法的实现 ................................................................................... 错误!未定义书签。

相关文档
相关文档 最新文档