结构实验范文

2024-05-08

结构实验范文(精选11篇)

结构实验 第1篇

有关磁力轴承刚度的特性与规律历来研究不多, 对刚度的定义也还没有形成完全的界定, 对于实验测定刚度的方法研究亦较少。清华大学的赵雷等[1]与上海大学的汪希平[2]在早期分别采用信号生成系统、信号测试分析系统和在外部激振的方式测得磁力轴承的动刚度和刚度-频率曲线, 但是这些实验比较简单, 对刚度的特性研究非常有限, 并且大多研究将磁力轴承的刚度与阻尼等同于弹簧阻尼系统的刚度与阻尼[3], 然而磁力轴承的刚度是由其结构、控制等多种因素决定的, 不同于弹簧阻尼的由材料确定的材料刚度, 故本文研究中的磁力轴承的刚度为结构刚度 (以区别于普通刚度) 。本文以磁悬浮盘片系统为实验对象, 测量磁悬浮系统结构静刚度与结构动刚度, 研究结构静刚度和结构动刚度的变化规律与特性, 为支承特性理论提供实验依据。另外, 本文比较了采用直接加载外力实验方法以及采用控制系统激励以模拟外力实验方法的实验结果, 结果表明两种方法都可以测量系统刚度。

1 结构静刚度与结构动刚度定义

单自由度磁悬浮系统转子的整个悬浮过程可以用图1所示转子的时间—位移曲线表示, 分为4个阶段:起浮阶段、稳定工作阶段、外力作用阶段、外力作用下稳定阶段。其中外力作用阶段与外力作用下稳定阶段是磁力轴承主要工作状态, 故结构动刚度与结构静刚度研究的是这两个阶段的磁力轴承抵抗变形的能力。将这两个阶段放大, 得到如图2所示的位移曲线。

1.起浮阶段 2.稳定工作阶段 3.外力作用阶段 4.外力作用下稳定阶段

1.初始平衡位置 2.在外力作用下到达的位移平衡位置 3.参数c 4.参数a 5.参数b

在外力作用下到达的位移平衡位置偏移初始平衡位置的偏差a= (c1+c2+…+ci) /ix (时间采样点i=1, 2, …, n) ;位移曲线最大峰值b=|c+max|+|c-max|;峰值偏离平衡位置的最大距离, 也叫最大超调量cmax, 是在一段采样时间内获得的最大数据 (i=1, 2, …, n) 。

本文根据参数abc定义磁力轴承结构静刚度与结构动刚度。在外力作用下的稳定工作阶段: 磁力轴承结构静刚度

KJ=FW/a

在外力作用阶段:磁悬浮系统结构动刚度1

KD1=FW/Δx

磁悬浮系统结构动刚度2

KD2=FW/cmax

2 实验设备

本实验由磁悬浮盘片系统、B&K振动仪、万用表、砝码等组成, 如图3、图4所示。各参数如表1所示。

忽略测量时的外界噪声干扰、基座振动干扰、盘片制造误差, 以及加载位置的误差, 且只采集一个盘片回路, 即本实验只研究其中的S3位移值与电流值。

3 结构静刚度的测量

在盘片中心位置下方加载砝码, 将传感器采集的位移信号转换成位移, 将万用表测得的电压转换成电流, 根据数据计算cba。绘制的外力-电流图、外力-位移曲线图、外力-动刚度2曲线图分别如图5、图6、图7所示。

1.电磁力计算公式得到的外力-电流曲线2.实验测得的外力-电流曲线

1.b-FW曲线 2.cmax-FW

由图5、图6、图7可见, 在大气隙 (大于5mm) 下, 电磁力计算公式不再适用 (该公式只适用于小气隙的场合) 。系统在小外力的情况下振动最好, 但不是外力越大越差, 而是在中间的某个外力值使系统达到最大的超调量与最大的峰值, 此时系统性能最差。系统具有很好的静态性能, 在最大承载力范围内能保证稳态准确。

4 结构动刚度的测量

用B&K激振器对盘片加载不同正弦信号的激振力。

4.1加载大小为1N, 不同频率的激振力

根据测量数据, 计算出Δx、动刚度1 (Δx) 、超调量c (mm) 、最大超调量cmax、最大峰值b (mm) 、动刚度2 (FW/cmax) , 据此绘制的激振频率-位移曲线、激振频率-三种位移曲线、激振频率-动刚度1曲线、激振频率-动刚度2曲线, 分别如图8、图9、图10、图11所示。

1.f-b 2.f-cmax 3.fx

1.f-KD1 2.f-KD2

由图8至图11曲线可见, 在8Hz左右系统存在共振频率, 这与以前的实验结果相一致[4];在中间频率系统振动比较明显, 控制电流最大, 电磁力最大, 导致平衡位置上移;系统动刚度与外力的频率相关, 频率较大和较小时刚度相对增强, 尤其是高频部分, 中间部分刚度相对而言低些, 这与文献[2]研究结论一致;用动刚度1 (FW/Δx) 与动刚度2 (FW/cmax) 描述磁力系统的结构特性有相同的效果, 因此, 用两种方式描述结构动刚度都可以;在稳定范围内系统抵抗高频的性能最好, 其次是较低频率范围, 在共振频率附近最不好。

4.2加载频率为10Hz, 不同大小的激振力

同样, 根据测量数据绘制的外力-位移曲线、外力-三种位移曲线、外力-动刚度曲线、外力-动刚度2曲线, 分别如图12、图13、图14和图15所示。

1.FW-b 2.FW-cmax 3.FW-Δx

1.FW-KD12.FW-KD2

从图12~图15可见, 外力在很小范围内对系统影响不明显, 如本系统中外力小于1N, 但随着外力的增大, 系统稳定性变差, 振动振幅加大, 直至失稳边缘;系统抵抗变形的动刚度随着外力而减小, 在最大承载力附近达到最小, 超过此值系统失稳;当讨论动刚度与外力频率关系的时候, 用动刚度1与动刚度2描述效果一样。但当讨论的是系统动刚度与外力大小关系的时候, 用动刚度1与动刚度2描述的效果是不相同的;系统动态承载力远远小于静态承载力。

5 比较两种测量动刚度方案的结果

在此次实验前用另外一种方法对盘片加激振外力, 在一路电涡流传感器的输出中设计了附加干扰模块电路, 模拟传感器受到的外界干扰[4,5]。通过信号发生器产生幅值可调、频率可调的正弦波, 把盘片位移传感器S1的输出信号与信号发生器产生的正弦波叠加输入到控制系统中, 改变信号发生器输出的正弦波幅值、频率, 直到磁悬浮盘片失稳、跌落为止, 通过示波器观察盘片三路位移发生器输出信号的变化, 得到图16所示的盘片最大振幅与正弦波频率曲线 (选取其中S3) 。

(1) 0.3V时改变不同频率, 用得到的数据绘制的激励频率-最大超调量曲线、激励频率-等效刚度曲线如图17、图18所示 (40Hz盘片失稳) , 等效刚度Ke为电压与最大超调量的比值, 即Ke=U/cmax。

(2) 10Hz时不同电压下得到的数据绘制的电压-最大超调量曲线与电压-等效刚度曲线, 如图19、图20所示。

比较图17与图9, 最大超调量趋势基本相同, 比较图18与图11, 动刚度2基本趋势也相同;比较图19与图13, 最大超调量趋势基本相同, 比较图20与图15, 动刚度2趋势也基本相同, 说明本次实验测量正确。

6 结论

(1) 磁悬浮系统在外力作用下稳定阶段抵抗高频干扰的能力强, 抵抗低频干扰的能力较强, 抵抗中间频率干扰的能力较弱;

(2) abc是研究动刚度的3个重要参数, 频率-abc曲线与外力-abc曲线反映磁悬浮系统随外力频率与大小变化时振动的状态;

(3) 动刚度1与动刚度2在描述频率与刚度之间关系的时候是相同的, 在描述外力大小与刚度之间关系的时候是不相同的;

(4) 系统动刚度在外力频率较大和较小时比较好, 尤其在相对高频部分刚度好, 中间部分刚度低;

(5) 动刚度1随外力增大而减小, 动刚度2随外力增大先增大再减小再增大。

(6) 用直接对对象加激振力的方法与在控制环节对对象加载正弦信号方法测结构动刚度都是可以的。

参考文献

[1]赵雷, 丛华.可控磁悬浮轴承刚度与阻尼特性研究[J].清华大学学报, 1999, 39 (4) :96-99.

[2]汪希平.电磁轴承系统的刚度阻尼特性分析[J].应用力学学报, 1997, 14 (3) :95-101.

[3]胡业发, 周祖德, 江征风.磁力轴承的基础理论与应用[M].北京:机械工业出版社, 2006.

[4]张薇薇.基础运动对磁悬浮转子系统动力学特性的影响研究[D].武汉:武汉理工大学, 2009.

结构实体混凝土强度检验实验 第2篇

关键词:结构实体混凝土;强度;检验;实验

本次试验所采用水泥为普通硅酸盐水泥(P.O 42.5)本试验选用砂子均为天然河砂,本试验选用两类石子,其中配制 C30、C40、C50 混凝土采用的石子符合,配制 C60 混凝土选用反击破碎石,采用的石子。本试验试件加入粉煤灰,按规范《粉煤灰混凝土应用技术规范》(GBJ 146-90)所述的试验方法进行餐料试验,试验部分试件加入矿渣粉,按规范《粒化高炉矿渣微粉在水泥混凝土中应用技术规程》(DGT J08-501-1999)所述的试验方法测得所用矿渣粉的相关参数本试验采用两种外加剂,其中配制 C30、C40、C50 混凝土采用的外加剂见,配制 C60 混凝土采用的外加剂,本试验所取混凝土芯样在强度测定之前均按照《钻芯法检测混凝土强度技术规程》(CECS03_2007)所述方法进行补平,补平材料为高硬度特级模型石膏粉,1. 通过试验获得同条件养护试件强度、标准养护试件强度、芯样强度、回弹法推定强度及成熟度(或等效龄期),对钻芯法检测实体混凝土强度的可行性(包括可操作性、适用性与合理性等)作出评估。 2. 获得同条件养护试件强度、标准养护试件强度、标准芯样强度、回弹法推定强度在相同成熟度(或等效龄期)条件下的数值关系。

试件设计:本试验涉及到结构实体混凝土强度的测定,试件类型分为混凝土实心墙体(用于表征结构实体混凝土构件)和立方体试件。混凝土墙体主要用于回弹强度和取芯强度的测定,立方体试件分为标准养护试件与浇筑的混凝土墙体同条件养护试件两种,分别用于测定 “标准养护立方体抗压强度”和“同条件养护立方体抗压强度”。 依试验要求,为了检测实体混凝土强度,要对混凝土墙体进行回弹法测定强度以及钻取芯样法测定强度的研究,墙体为地上无筋素混凝土墙,尺寸为长2000mm×高 1000mmm×厚 500mm,墙体厚度的尺寸确定主要是考虑到要在墙体两侧分别钻取芯样,而且需要保证钻取芯样工程中需要的稳定性,以及考虑到强度检测龄期较长,墙体长期置于室外要保证必要的安全性。

对于立方体试件的抗压强度测定,严格按照《普通混凝土力学性能试验方法标准》(GB/T50081-2002)中的规定。为了全国多地试验内容、标准统一,本次试验所用立方体尺寸为:当混凝土强度等级小于 C60 时,采用100mm×100mmm×100mm 的非标准立方体试件,所测得的抗压强度乘以 0.95的折减系数;混凝土强度等级为大于等于 C60 时,采用标准立方体150mm×150mmm×150mm 试件。本试验试件设计均采用商品混凝土,供应混凝土厂家为哈尔滨市嘉铂实业有限公司,在哈尔滨市商品混凝土市场上具有一定的代表性。试验所设计的混凝土等级为 C30、C40、C50、C60,根据添加剂成分的不同将试件分成两类,各等级商品混凝土的基本组成成分本试验采用四种强度等级混凝土,各强度等级对应 2 组配合比,分别为单掺粉煤灰混凝土(用 F 表示)、复掺粉煤灰和矿渣混凝土(用 FS 表示)。配合比设计所示,表中为各强度等级31m 体积混凝土中各组分的用量,容本试验考虑到混凝土强度在不同龄期下的变化,为了测定其变化规律,标准养护试件设有龄期为 7d、14d、28d、60d、90d、180d;同条件养护试件设有等效龄期为 7d、14d、28d、60d、90d;混凝土墙体设有等效龄期为 28d、60d、90d。 试验中由于涉及到等效龄期,同条件养护试件和标准养护试件强度测定均在不同日期进行,为各强度等级混凝土的龄期与实际时间的对应关系。本试验共浇筑 8 片素混凝土墙(强度等级 C30~C60,每种强度等级为两片墙)。本次试验分 7 个龄期进行强度检测,设计每片墙体在单个龄期在墙体浇筑过程中采用竹胶模板,并且由专业人员支模。所有的模板表面光滑平整,保证墙体表面的平整度;混凝土试件成型采用优质塑料试模,确保在浇筑过程中无涨模情况出现。在混凝土浇筑之前,将所有竹模、塑模内表面擦拭干净,涂上一层机械用油。墙体采用常规机械振捣成型,严格遵守现行国家标准《混凝土结构工程施工及验收规范》(GB50204-2002)。

结构实验 第3篇

错列剪力墙结构的概念最早是在20世纪80年代由印度的K.N.V.Prasada Rao和K.Seetharamulu[1]提出来的,并对错列剪力墙结构的分析方法和受力特点进行了研究。国内对错列剪力墙的研究相对国外稍微晚一些:福州大学的卓幸福发表的《用墙板单元分析框架剪力墙结构》[2]中根据剪力墙的变形特点采用墙板单元分析方法,将墙用墙柱代替,上下端设刚域,并与框架梁柱节点铰接,从而导出墙板单元的刚度矩阵。这种分析墙板的方法也被后来研究错列剪力墙的人所采用,计算错列剪力墙的内力。烟台大学的刘建新对隔层错跨剪力墙结构体系进行了研究,尤其是分析了这种结构的工作机理,并研究了其抗震设计及构造措施,提出了一些设计建议和构造措施[3]。苏州科技学院的唐兴荣教授[4,5]对错列剪力墙结构在单位水平力作用下的内力进行了分析,并与传统的框架-剪力墙结构的内力进行比较,得出了很多有益的结论[6,7,8,9]。

随着我国城市化进程的加快,高层建筑剪力墙结构得到了广泛的应用。但是,剪力墙结构也有明显的缺点:第一,剪力墙间距不能太大,平面布置不灵活,不能满足公共建筑的使用要求;第二,结构自重较大,造成建筑材料用量增加,地震剪力增加。相对而言,框架结构具有建筑平面布置灵活,能够较大程度地满足建筑使用的要求的优点,并且结构自重轻,对基础及地基要求低。但框架结构的缺点也很明显——抗侧移刚度小,水平作用下抵抗变形的能力较差,在强震下结构顶点水平位移与层间相对水平位移都较大。为了同时满足承载能力和侧移刚度的要求,柱子截面往往很大,很不经济,也减少了使用面积。而错列剪力墙结构兼顾了剪力墙结构和框架结构的优点,具有自重小,抗侧刚度大和能够提供大的使用空间等优良特性,具有开阔的市场应用前景[10]。

错列剪力墙结构充分顺应了现代高层建筑的发展趋势,因此,对此新兴结构进行分析研究显得很有必要。在以往的错列剪力墙结构研究中,研究者更多的是依托功能强大的分析软件,将精力放在建模有限元分析上,而对实物模型的振动试验进行的较少。本文就这种新兴错列剪力墙结构的抗震性能在进行了实物模型振动试验的基础上进行分析,并与传统框架结构进行了对比。

1 结构模型设计制作

受实验条件的限制,本文中设计的结构模型为5层,层高20 cm,总高度为1 m,平面为2×3跨的布置形式,尺寸分别为18 cm和27 cm。框架结构布置形式见图1,错列剪力墙结构布置形式见图2(其中,黑色部分为错列布置的剪力墙,I、III榀框架为模型外侧两榀框架,II榀框架为模型中间一榀框架)。模型结构尺寸设计完成后,将进行模型的制作加工。本实验模型的制作材料选取的是截面尺寸为1 cm×1 cm的方木条。

2 振动实验

实验中振动台为WS—Z30小型精密振动台,振动台选取的地震波是汶川地震波,振动持续时间为21 s。在进行振动台振动实验前,先对振动台进行调试,调试无误后,安装模型于振动台台面上,在模型的每层粘贴一个加速度传感器,以便采集数据,再进行模型振动试验,如图3。

3 实验数据分析

在汶川地震波作用下,结构模型的振动响应通过加速度传感器采集到的形式为波形图,图4所示为实验过程中,某通道采集到的数据,横坐标表示时间(s),纵坐标表示加速度值(m/s2)。从图中可以看出通过加速度传感器直接采集得到的数据是加速度随时间变化的曲线。由于采样频率很大,信息量很大,故选取了各层加速度的最大值。

通过对这些采集到的每层的波形图读取最大的加速度值,得到错列剪力墙结构模型与框架结构模型每的最大加速度值,见表1。从表中的数据可以很清晰的看出框架模型在地震波激励下各层的加速度值要大于错列剪力墙模型响应层的加速度值,而且随着层数的增加,其差值更加明显。

将这些数据用图表的形式表示(见图5),可以更加直观的看出两个模型的振动响应的差异。从图5分析可知,各结构模型的加速度响应曲线形状走势大体一致,都是随着层数的增加,或者说高度的增加,框架结构模型和错列剪力墙结构模型的最大加速度值都逐渐增大;但随着层数的增加,框架结构模型的加速度增加量明显大于框架结构模型。错列剪力墙结构模型与框架结构模型相比,唯一不同的地方在于错列剪力墙多了错列布置的剪力墙,使得其抗侧刚度大大增加。因此,框架结构模型的加速度值响应之所以较错列剪力墙结构模型大,主要是由于框架结构模型与错列剪力墙结构模型相比横向抗侧刚度较弱,造成加速度响应值更大,这也表明实验结果是正确的。

4 结论

本文设计制作了两个错列剪力墙结构和框架结构模型,通过振动台模拟了两种模型在相同地震作用下的各层加速度响应。由于错列剪力墙结构模型比框架结构模型多了错列布置的剪力墙,导致错列剪力墙结构模型的抗侧刚度大大增加。同样在地震波作用下,框架结构因为没有剪力墙,所以各层的加速度响应比错列剪力墙结构有所增大,振动位移也相应更大。通过以上实验和所得数据的对比分析,充分说明了错列剪力墙结构相比于框架结构具有更加优良的抗震性能。

参考文献

[1] Prasada Rao K N V,Seetharamulu K.Staggered shear panels in tallbuildings.ASCE Journal of Structural Engineering,1983;109(5):1174—1193

[2]卓幸福,蔡益燕.用墙板单元分析框架剪力墙结构.建筑结构学报,1992;13(6):29—37

[3]刘建新.隔层错跨剪力墙结构体系的抗震设计探讨.建筑结构,1999;(2):20—22

[4]唐兴荣,何若全,姚江峰.侧向荷载作用下错列剪力墙结构的性能分析.苏州城建环保学院学报,2002;15(3):12—18

[5]唐兴荣,何若全.高层建筑中转换层结构的现状和发展.苏州城建环保学院学报,2001;14(3):1—8

[6]唐兴荣,沈萍.钢筋混凝土错列剪力墙结构抗震性能的试验研究(I).四川建筑科学研究,2008;36(6):138—144

[7]唐兴荣,沈萍.钢筋混凝土错列剪力墙结构抗震性能的试验研究(II).四川建筑科学研究,2009;35(1):161—165

[8]唐兴荣,沈萍.钢筋混凝土错列剪力墙结构抗震性能的试验研究(III).四川建筑科学研究,2009;35(2):157—161

[9]沈萍,唐兴荣.错列剪力墙结构的受力机理和静力性能分析.苏州科技学院学报,2007;20(2):19—22

数据结构实验教案 第4篇

一、实验项目的目的和要求:

1. 复习C语言指针的用法

2. 复习C语言结构体的用法 3. 理解时间复杂度分析的基本方法

二、实验内容:

1.用指针方式编写程序:从键盘输入N个整型数据,并存入数组,要求将N个数中最大的数与第一个数交换;将其中最小的数最后一个数交换。

基本思想:设两个指针分别指向最大数组元素和最小数组元素。再设一个移动指针从数组的第一个元素开始,依次与最大数组元素指针、最小数组元素指针的内容进行比较,作出相应的变化,一直到移动指针移到最后一个元素。

2.有N 个学生,每个学生的数据包括学号、姓名、三门课的成绩、平均分。要求从键盘依次输入N 个学生的学号、姓名、三门课的成绩,自动计算三门课的平均分数,并将N 个学生的数据输出。

基本思想:对每一名学生循环,再对三门课程循环求平均成绩

三、实验中存在的问题:

实验二 线性表的基本操作

一、实验项目的和要求:

1. 掌握线性表的特点

2. 掌握线性表的顺序存储结构和链式存储结构的基本运算。3. 尽可能考虑算法的健壮性

4. 实验报告中要写出测试数据、错误分析以及收获。

二、实验内容一:线性表两种存储结构的基本运算

1.用结构体类型描述线性表的两种存储结构 2.完成课堂上所讲的两种存储结构的基本运算 3.要求用二级菜单实现

***************************** * 1-------顺序表 * * 2-------链 表 * * 0-------退 出 * *****************************

请输入的选择:(0-2):

线性表的链式存储

## # 1----前插建立链表

# # 2----后插建立链表 # # 3----访问第i个元素 # # 4----插入 # # 5----删除 # # 6----求线性表的表长 # # 0----退出 #

## 请输入选择(0-6):

分析:1.使用循环建立菜单

2.使用switch语句进行选择,执行相应的子函数(每一个运算编写一个子函数)

实验内容二:超市密码存储箱系统的设计与实现

1.顾客使用箱子的流程为“投一元硬币”--------“找到一个空箱子,同时产生密码”(系统完成)--------“打印密码,打开箱子”(系统完成)--------“取密码纸存包,并关闭箱子,入超市购物”--------“购物结束”--------“输入密码”--------“找到对应箱子并打开”(系统完成)--------“取包”。2.现要求设计程序模拟以上系统完成的功能

①界面:在我们的模拟系统中,箱子在屏幕上被画出来,并编号,空箱为蓝色,被使用时变成红色,再变为空后则恢复蓝色; ②通过按“1”键模拟顾客投币;

③当空箱子被顾客申请得到的同时,系统自动生成6位数密码,此密码不能与正在被使用的任何一个箱子的密码相同。3.设计分析

在设计时,可利用链表来组织所有的箱子,所有的箱子以结点的形式表示,结点中存放箱号、密码(满箱有,空箱无)以及指向下一个结点的指针。空箱结点放在一个链表1中,满箱结点放在另一个链表2中。

若有顾客投币(这里按下“1”键模拟),查看链表1是否为空,若为空,则显示“箱满,请稍侯!”,若非空,则取出一个结点,随机产生一个六位数密码,并将些密码和链表2中所有结点的密码相比较,若有重复,则再随机产生一个新密码,直到无重复;将密码信息写入此结点,并将其插入链表2;将此箱的颜色改为红色。4.密码箱的存储结构类型定义 typedef struct node { int num;/*箱子的号码*/ int password;/*箱子的密码(满箱有,空箱无)*/ struct node *next;/*指向下个结点的指针*/ }Node,*LinkList;

分析:1.初始化,建立一个代表空箱子链表,建立一个只有头结点的实箱子链表.

2.如果想要存包时,就在空箱子链表中进行查找,如果为空,代表箱子已满,否则从空箱子链表中删除一个结点,并给它赋值,将该结点插入到实箱子链表中.

3.如果想要取包时,就输入密码,在实箱子链表中进行匹配,如果成功,就从实箱子链表中删除相应的结点,插入到空箱子链表中.

4.另外还需要的函数有:随意产生密码函数,匹配密码函数 实验内容三:员工通讯录管理系统

1.为某个单位建立一个员工通讯录管理系统,可以方便地查询每一个员工的办公室电话号码、手机号码及电子邮箱。

2.现要求设计程序模拟以上系统完成的功能

其功能包括通讯录链表的建立、员工通讯信息的查询、修改、插入与删除以及整个通讯录表的输出。3.设计分析

在本设计中,整个通讯录可以采用顺序表或链表方式存储。采用前者,可以提高查询速度;采用后者,可以提高插入与删除记录的效率。

4.员工通讯信息的结构类型定义和通讯录链表的结点类型

typedef struct { char num[5];/*员工编号*/ char name[8];/*员工姓名*/ char phone[9];/*办公室电话号码*/ char call[12];/*手机号码*/ }DataType;/*员工通讯信息的结构类型*/ typedef struct node { DataType data;/*结点的数据域*/ struct node *next;/*结点的指针域*/ }ListNode,*LinkList;/*通讯录链表的结构类型*/ 分析:1.建立一个可循环的菜单

2.使用switch语句,调用子函数实现以下功能

针对每一位员工作为一个结点建立链表.

在该链表上进行查找、插入、删除、修改及输入/出。实验内容四:运动会记分子系统或学生成绩管理子系统

1.参加运动会的N个学校编号为1~N。比赛分成M个男子项目和W个女子项目,每个项目取前3名,得分分别为5,3,2。写一个程序产生各种成绩单和得分报表。2.完成功能包括如下:

①产生一总成绩表,包括:学校编号名、男子团体总分、女子团体总分、团体总分 存储结构要求用线性表的顺序存储。

②实验报告中要写出测试数据、错误分析以及收获。

③若选择学生成绩管理子系统,可仿照运动会记分子系统完成相关的插入、删除、查找及各种统计工作。

分析:1.分析顺序表中每个元素的结构(数组元素是一个结构体)

2.建立顺序表

3.在顺序表进行插入、删除、查找

4.进行统计 实验中存在的问题:

实验三 栈和队列的应用

一、实验目的和要求:

1. 掌握栈和队列的概念和特点

2. 掌握栈和队列在顺序和链式存储结构下的插入、删除算法 3. 认真分析项目实例中的内容,将相关程序在计算机上运行实现

二、实验内容一:表达式求值问题

1.求一个数学表达式的值:用户输入一个包含正整数、括号和四则运算符(“+”、“—”、“*”、“/”)的算术表达式,计算其结果。2.设计分析

首先置操作数栈为空栈,表达式起始符“#”为运算符栈底元素;依次读入表达式中每个字符,若是操数则进操作数栈,若是操作符则和操作符栈顶的运算符进行比较优先权后作相应的操作,直到整个表达式求值完毕(即操作符栈顶元素和当前读入的字符均为“#”)3.结点结构类型描述如下

typedef struct { char *base,*top;int stacksize;}sqstack;分析:1.判断输入的字符是否为数值

2.比较判断运算符的优先级 3.何时结束循环,不再运算

实验内容二:迷宫求解问题

1.迷宫是一个m行n列的矩阵,其中0表示无障碍,1表示有障碍。设入口为(1,1),出口为(m,n),即从入口出发,顺某一方向向前探索,若能走通,则继续往前走;否则 沿原路退回,换一个方向再继续探索,直到出口为止。2.迷宫的功能

要求随机生成一个m行n列的矩阵,为了操作方便可以在矩阵外围生成一圏障碍,设置东南西北四个方向,采用链栈进行操作。最后迷宫如不是通路给出“此迷宫元解”,如是通路要求输出所走过的路径。3.结点结构类型描述如下

typedef struct node { int row;int col;

struct node *next;};分析:1.建立迷宫,使用二维数组,第一行/列,最后一行/列均初始化为0代表墙不通,这样使其内部的元素均有四个方向进行统一判断,其余元素进行随机产生0代表不通,1代表通.

2.确定入口,出口的坐标.

3.判断该元素是否可通(元素值等于1,一方面代表通,另一方面未走过). 4.标记每一个走过的元素,将其元素值加1.

5.元素的四个方向用0-3表示,下一个方向的坐标可以从当前坐标及方向就可以确定.

三、实验中存在的问题:

实验四

二叉树两种存储结构的应用

一、实验目的和要求:

1. 掌握二叉树的遍历思想及二叉树的存储实现。2. 掌握二叉树的基本操作:建立二叉树、二叉树的遍历 3. 选择一种形式完成二叉树的显示 4. 掌握二叉树的常见算法的程序实现

5. 实验报告中要写出测试数据、错误分析以及收获

二、实验内容一:二叉树的建立及相关算法的实现

1.完成的功能包括如下几点:

①编程实现建立一棵二叉树,然后对其进行先序、中序和后序遍历。

分析:将要输入的二叉树按照其对应的完全二叉树的顺序输入,若当前位置不存在结点则输入@

②显示二叉树

③求二叉树的高度及二叉树的叶子个数等等

④在主函数中设计一个简单的菜单,分别调试上述算法

实验内容二:哈夫曼编码/译码系统

1.要求编写一程序模拟传输过程,实现在发送前将要发送的字符信息进行编码,然后进行发送,接收后将传来的数据进行译码,即将信息还原成发送前的字符信息。2.设计分析

在本例中的算法主要有:哈夫曼树的建立;哈夫曼编码的生成;对编码信息的翻译。要求设置发送者和接收者两个功能。

发送者的功能包括:

①输入待传送的字符信息;②统计字符信息中出现的字符类数和各字符出现的次数(频率);③根据字符的种类数和各字符出现的次数建立哈夫曼树;④利用以上哈夫曼树求出各字符的哈夫曼编码;⑤将字符信息转换成对应的编码信息进行传送。接收者的功能包括:

①接收发送者传送来的编码信息;②利用上述哈夫曼树对编码进行翻译,即将编码信息还原成发送前的字符信息。3.结点的类型定义

①哈夫曼树的存储结构类型定义为:

typedef struct { char data;/*编码对应的字符*/ int weight;/*结点的权值*/ int lchild,rchild,parent;/*左右孩子及双亲的下标*/ }HTNode;②哈夫曼编码的存储结构类型定义为: typedef struct { char bits[N];/*存放哈夫曼编码的字符数组*/ int start;/*记录编码的起始位置,因为每种字符的编码长度不同*/ }HCode;

三、实验中存在的问题:

实验五

图子系统一、实验目的和要求:

1.掌握图的存储思想及其存储实现

2.掌握图的深度、广度优先遍历算法思想及其程序实现 3.掌握图的常见应用算法的思想及其程序实现

二、实验内容一:图的遍历问题

1.键盘输入以下结点数据:太原、成都、北京、上海、天津、大连、河北。建立一个有向图或无向图(自定)的邻接表并输出该邻接表 2.在图的邻接表的基础上计算各顶点的度,并输出 3.以有向图的邻接表为基础实现输出它的拓扑排序序列 4.采用邻接表存储实现无向图的深度优先遍历 5.采用邻接表存储实现无向图的广度优先遍历

6.采用邻接矩阵存储实现无向图的最小生成树的 PRIM 算法

7.在主函数中设计一个简单的菜单,分别调试上述算法 实验内容二:所有顶点对的最短路径

1.设置4个村庄之间的交通,村庄之间的距离用各边上的权值来表示。现在要求从这

4个村庄中选择一个村庄建一所医院,问这所医院应建在哪个村庄,才能使离医院最远的村庄到医院最近。2.设计分析

用有向加权图表示的交通图中,有向边表示第i个村庄和第j个村庄之间有道路,边上的权表示这条道路的长度。该问题的实质是求解任意两顶点间的最短路径问题。即求出每个顶点到其他顶点的最短路径的最大值,最大值最小的顶点作为医院所在村庄。3.结构类型定义

typedef char vextype;/*顶点数据类型*/ typedef int edgetype;/*边数据类型*/ typedef struct { vextype vex[maxsize];edgetype arc[maxsize][maxsize];int vexnum,arcnum;}Mgraph;

三、实验中存在的问题:

实验六 数据结构综合性实验

一、实验目的和要求:

掌握小型系统开发方法,提高学生综合开发能力。根据实际问题,设计方案,综合运用课程知识,完成《学生成绩管理系统》或《数据结构算法演示系统》的设计、编程与调试工作。

二、实验内容一:

分析、调研数据结构课程所学的算法(功能模块)或学生成绩管理的相关功能模块,采用结构化设计思想、模块分解的规则构成一个易使用的小型管理系统。具体要求见《数据结构实验》课程设计

实验内容二:手机短信中电话号码和手机号码的识别与提取

1.在使用手机收发短信时,收到的短信内容中常会包含对方发来的电话号码或手机号码,为了方便用户能直接提取其中的号码并存入到其手机的通讯录中,现要求开发手机系统软件中的一个子功能,实现从手机短信内容中识别和提取电话号码(7位或8位)和手机号码(11位),并将其存入通讯录中。2.设计分析

要从手机短信的内容中识别电话号码或手机号码,必须从短信的第一个字符开始查找,找到第一个数值型字符(‘0’~‘9’),然后依次判断其后的字符,若其后有连续的6个或7个数值型字符,则将其识别成电话号码并提取,若其后有连续的10个数值型字符,则将其识别成手机号码并提取。继续向后搜索直到整个短信查找完毕。3.存储结构类型定义 ①短信的存储结构类型定义

typedef struct { char word[200];/*短信内容*/ int length;/*短信长度*/ }Message;②通讯录中记录的存储结构类型的定义

typedef struct { char name[8];/*姓名*/ char phone[11];/*电话号码或手机号码*/

}Note;实验内容三:药店的药品销售统计系统

1.设计一系统,实现医药公司定期对各药品的销售记录进行统计,并按药品编号、单价、销售量或销售额做出排序。2.设计分析

在设计中,首先从数据文件读出各药品的信息记录,存储在顺序表中。各药品的信息包括:药品编号、药品名称、单价、销售量、销售额。其中药品编号共4位,采用字母和数字混合编号,如:B125,前一位为大写字母,后三位为数字。3.存储结构类型定义

①药品信息的存储结构类型定义

typedef struct node { char num[4];/*药品编号*/ char name[10];/*药品名称*/ float price;/*单价*/ int count;/*销售量*/ float sale;/*销售额*/ }DataType;②存储药品信息的顺序表的定义

typedef struct { DataType r[maxsize];int length;}sequenList;实验内容四:电视大赛观众投票及排名系统

1.在很多电视大赛中,通常当选手表演结束后,现场观众通过手中的按键对参赛选手进行投票,然后对选手获得的票数进行统计,从高到低进行降序排列,从而自动产生冠军、亚军和季军。现要求编写一程序模拟实现上述系统的功能。2.设计分析

在本系统中,首先输入参赛选手的人数(范围为1-9个),然后根据人数通过malloc函数来开辟存放选手信息的顺序表。将选手的编号和姓名依次存入顺序表单元中,观众通过按键进行投票,按“1”表示为1号选手投票,按“2”表示为2号选手投票,依次类推。以按“0”作为投票结束标志。投票结束后进行排序。3.存储结构类型定义

①选手信息的存储结构类型定义

typedef struct node { char name[8];/*选手姓名*/ int num;/*选手编号*/ int score;/*选手得分*/ int tax;/*选手名次*/ }Node;②开辟空间用于构造存放选手信息的顺序表R:R=(Node *)malloc(n*sizeof(Node));其中n 为参赛选手的人数,在此采用动态空间分配,而不是在开始时直接开辟静态数组,这样是为了避免空间的不足造成浪费。

在投票时,按“1”为1号选手投票的实现:

结构实验 第5篇

关键词:结构力学 实验 建设

中图分类号:C642.0 文献标识码:A 文章编号:1672-3791(2014)10(b)-0147-02

结构力学课程是土木工程专业的一门重要的专业基础课。按照卓越工程师人才的培养目标定位和结构力学本身的特点,我们将结构力学内容分为基本部分和专题部分。基本部分在先修的理论力学和材料力学等课程基础上进一步研究杆件结构的组成规律、计算原理和计算方法,了解各类杆件结构的受力性能,为学习结构力学的专题部分和有关专业课程以及进行结构设计和科学研究打好力学基础,进而培养学生结构受力分析与计算的能力。结构力学的专题部分是结构力学知识的加深和拓宽,视专业方向和学时的多少,内容的选择也有不同。如道桥方向专业,加强“影响线及其应用”基本内容的教学;建筑工程方向专业,增加了“分层法”和“剪力分配法”等教学内容[1-3]。

《结构力学》在整个土木工程课程体系中处于承上启下的核心地位,担负着传授学生结构概念、培养学生专业分析计算能力和创新意识的责任。但是,传统《结构力学》课程是没有实验内容的,这严重影响了学生对理论内容的理解和掌握。在2010年,国家级教学名师奖获得者王焕定教授提出了“实验结构力学”思想,并将这一教学思想在教育部结构力学及弹性力学课程指导小组会议上以主题报告的形式向国内同行做了介绍,获得了国内同行的一致好评并已引起指导小组的重视。

目前关于结构力学的实验课程建设的研究较少,只有少数高校在尝试结构力学实验课程的开设,如哈尔滨工业大学,他们成立了实验结构力学教学研究团队,开展实验结构力学课程平台建设,主要开展的实验内容有:静定结构内力、位移测量;超静定结构内力、位移测量;互等定理的验证;力法、位移法解超静定结构方法原理的验证;机动法画影响线的验证;结构的自振特性测定等。具体在实现过程采取的方式如下:不限学时,在一个学期内学生自行安排时间完成指定内容的实验;不限模型,学生自行设计实验模型和实验流程,但需完成指定的实验内容;教师只做必要的指导,从头到尾都由学生自己操作;带有研究性质,学生自行分析实验失败或误差原因,自行提出改进方案措施,直到实验结果满足教师的要求;鼓励创新实验,鼓励学生在完成指定实验内容的基础上,提出完成自行设计的实验内容;实验成绩计入课程成绩,创新实验内容予以加分鼓励[4-6]。

针对我校土木工程卓越工程师计划的实施,目标是培养素质高、能力强的工程技术人才,不仅具有坚实的理论基础知识,而且要求进行严格的、系统的专业技能训练,具有创新能力。因此针对现有结构力学课程教学内容,应相应开展实验课程教学,加强学生对理论内容的理解和掌握,更有助于培养学生专业分析计算能力和创新意识。为适应社会需要,不断改革创新,是结构力学课程建设遵循的原则,加强素质教育、努力培养学生创新能力是结构力学课程建设追求的目标。

在汲取其他高等院校在结构力学实验课程教学方面的优秀经验,结合自身现有的研究基础,制定结构力学实验课程教学内容,自主研发结构力学实验教学平台,着手增加实验内容教学,尤其是增加创新能力实验环节教学,提高实验教学质量,培养优秀的创新人才。现要解决的问题主要有以下几个方面。

1 自主研发结构力学实验教学平台

在《结构力学》课程理论教学内容的基础上,需自主研发结构力学实验教学平台,该实验平台能方便地安装各种测试仪器仪表、加载装置;能实现结构常用各种支承的约束装置;能实现学生自主设计实验模型和实验方案的要求。学生可以在实验平台上操作实验设备,从而增强学生的动手能力,同时能提高学生的创新意识。

2 编制相应的结构力学课程实验教学指导书

有了实验教学平台,还不能让学生全部真正理解实验设置的目的,必须要做进一步的解释和理论指导,增强学习效果。参考以往材料力学和理论力学的实验教学过程,还应编制相应的实验教学指导书,它是一个非常有效的方法,让实验效果更加明显地展示在学生面前。

3 培养团队人才梯队建设

在现有教师队伍中,加强人才梯队建设,适应形势发展,及时捕捉科技前沿信息,跟上节奏。同时需要不定期派遣结构力学教师参加相关项目调研,参加大型国内外会议学习,努力提高自身教学科研素质,增强创新实践能力。

总之,以《结构力学》的理论课程为依托,着力开展结构力学实验课程建设,既可提高结构力学的教学质量,还可使学生深刻理解力学建模只是在一定计算(工具)环境下的一种近似简化,使学生更精确地掌握结构在荷载等作用下的真实性态,促进和完善《结构力学》的课程建设。一方面,以社会实际需要为载体的卓越工程师人才培养模式研究,通过构建以提高学生动手和创新能力培养为中心的教学体系,建设结构力学实验教学平台,提高了结构力学实验教学质量;另一方面,改革现有的传统教学方法,形成理论教学与实验相结合的教学模式,同时更新课程实践内容,激发学生的学习兴趣,进而提高课程的教学效果和教学质量。

参考文献

[1] 龙驭球,包世华.结构力学教程(I)[M].北京:高等教育出版社,2000.

[2] 龙驭球,包世华.结构力学教程(II)[M].北京:高等教育出版社,2001.

[3] 李廉锟.《结构力学》(上、下册)[M].北京:高等教育出版社,2009.

[4] 姬慧.《结构力学》课程教学改革的实践与思考[J].太原大学学报,2001(2):4-7.

[5] 杨晓丹.《结构力学》实验新模式的构建[J].华东船舶工业学院学报,2001,1(4): 89-91.

数据结构实验中指针相关问题 第6篇

《数据结构》作为实践性很强的计算机专业的基础课, 教学中必然离不开实践。针对《数据结构》的课程设计实践不仅可以帮助学生巩固和加深对课程内容的理解, 更重要的是可以进一步锻炼程序设计的技能[1]。C语言是数据结构实验中重要的程序设计语言, 指针是C语言中一个非常重要的概念。在C语言中, 指针的应用非常灵活, 对于程序设计初学者来说比较难掌握, 更谈不上灵活合理的应用。《数据结构》中 (注:文中的讨论围绕严蔚敏老师的《数据结构》C语言版教材[2]) , 为了实现数据的存储结构, 指针在线性表、树和图的存储中都有重要的应用, 可以说, 数据结构的实验绕不开指针的应用, 如果学生掌握不好指针, 是无法进行数据结构实验学习的。

教学中注意到, 学生的主要问题是对指针的本质缺乏清晰的理解, 知其然不知其所以然, 导致在应用时只会依葫芦画瓢, 不会灵活应用。针对学生理解和应用中的难点问题, 剖析了指针的本质, 以此为基础, 讨论了指针的使用、指针和数组及指向函数的指针几个问题, 希望能够加深学生对指针的理解, 并在数据结构的实验中灵活应用。

二、指针

1. 变量和数据类型。

变量和数据类型是C语言中的基本概念, 是否能理解它们的本质, 对后续指针概念的理解非常重要。但是, 由于它们是最基本的东西, 教师和学生都认为很好理解, 不是很重视。因此, 学生对它们的理解往往流于表面, 产生模糊的认识, 如:变量是会变化的量;对变量名和变量的关系, 变量和数据类型的关系等认识不清。

对变量的理解应该强调变量最本质的意义:内存中的一块存储空间, 即所谓变量就是一块存储空间, 如图1所示。

围绕对变量本质的理解应该强调几点: (1) 一块空间 (变量) 具有两个特征, 一是这块空间在内存中的起始地址 (计算机内部16进制地址表示不便, 本文中用3位10进制数示意) , 表示这块空间的开始, 二是从起始地址开始的空间大小, 这两个特征一起确定了一个变量; (2) 作为内存的一块存储空间, 自然可以存储不同的值, 会变化; (3) 变量的声明是提出分配存储空间的要求, 没有分配空间, 当然不能存值, 不能使用; (4) 为了在程序中方便使用变量, 变量可以取一个名字, 即变量名。

变量都有数据类型, 从存储空间分配的角度看, 数据类型的本质是对分配空间大小的约定。要给一个变量分配存储空间, 涉及两个东西:分在那, 分多大。分在那由当前内存情况确定, 而分多大则由变量所属的数据类型确定, 如int型就分4个字节大小。

2. 指针的概念。

指针是C语言中的派生数据类型, 如int*p, 声明了一个由整型派生的指针变量p, 如图2所示。学生在为什么要用指针、指针变量和原类型之间是什么关系等问题上往往产生混淆, 不能够清晰理解。

对指针概念的理解应该强调几点: (1) 指针变量也是变量, 声明了指针变量后同样需要给该变量分配一块存储空间, 只是该空间存储的内容有点特殊, 是一个地址。 (2) 获取数据存储空间的基本方式有两种, 一是在程序的数据说明部分进行声明, 这样, 程序执行时存储空间已经预先分配, 并建立了变量名和存储空间之间的映射, 可称为静态分配。二是在程序执行的过程中, 通过申请 (如malloc函数) 获得存储空间, 可称为动态分配, 这样的空间无法给予变量名, 存取这样空间的唯一办法只能通过该空间的地址, 即指向该地址的指针来存取。如图2中圈1所示, malloc函数申请了一块大小为4个字节的空间, 空间起始地址是300, 为了在后续程序中使用这块存储空间, 该地址赋值给指向整型的指针p, p中存储的内容变为300。 (3) 应该强调, 作为派生类型, 指针变量也是有数据类型的, 其数据类型是指针变量所指向的存储空间大小的约定。如图2中定义的p是一个指向整型的指针, 强调这一点有助于学生对指针应用的理解。例如, 表达式中, 出现在指针变量前的*称为指针运算符, 如赋值语句*p=21, 其意义是给p中地址所指向的存储空间赋值, 图2中, p中存有地址300, 确定了被赋值空间的起始地址, 而p的类型-整型, 确定了这块空间的大小, 即*p确定了一块从300开始, 长度为4的存储空间。变量的本质是一块存储空间, 那么反过来说, 一块确定的存储空间就是一个变量, *p确定了一块存储空间, 它等价于变量, 给*p赋值等价于给整型变量赋值。

三、指针的应用

1. 指针和数组。

C语言中, 数组名代表数组的起始地址, 是一个常数, 可以看做一个指针。《数据结构》中, 线性表的顺序映像存储结构是通过动态申请的数组实现的, 设线性表为a1, a2, …, an (n=20) , 数据元素类型为整型, 其存储结构的定义如下所示:

上述代码主要定义了结构体数据类型Sqlist, 该结构体类型中包含3个域:elem, length和listsize, 其中elem是一个整型的指针变量, 用来指向申请存储空间的起始地址。类型定义后可以声明该类型的变量, 如Sqlist L;线性表的存储空间 (数组) 需要申请, 如图3所示。

malloc函数申请了一块大小为80个字节的存储空间, 该空间的起始地址假设为100, 函数返回后, 地址100被赋值给整型的指针变量L.elem, 即指针变量L.elem中存有地址100。

学生对静态数组的使用相对熟练些, 但往往不习惯动态申请数组的使用, 下面以线性表的遍历为例来说明一下其使用方式。动态申请数组中遍历的实现有两种常用方式:一是把指针当做数组名来使用。数组名是地址, 可以看做指针, 反之, 指针同样能够看做是数组名。遍历的代码可以写为:

这里要注意理解中括号[]的意义, 中括号本质上是运算符, 它的意义是执行操作L.elem+i (这里要关注指针的类型, 即不同类型的指针加i, 计算结果是不同的) , 找到存储ai+1这个整型数据的4个字节空间的起始地址, 随后根据指针的类型 (确定大小) , 存取这4个字节的存储空间。

二是通过指针来进行遍历。遍历的代码可以写为:

for (p=L.elem;p<L.elem+L.length;p++) {对数组元素*p进行处理}%%% (2)

整型指针p首先被赋值L.elem, 图3中是100, 这时p指向数组中第0号单元的起始地址, 通过指针运算符*p存取从100开始的4个字节空间, 即数组中第0号单元。随后, 通过p的自加运算, 指针p后移4个字节 (p是整型指针) , 依次对数组中所有元素进行遍历。从结果上来看, 代码 (1) 和代码 (2) 是完全等价的。

2. 链表。

线性表的非顺序映像存储结构是链表实现的。定义链表结点 (结构体) , 动态申请结点存储空间, 线性表每个数据元素存储在一个结点中, 通过指针描述数据元数之间的关系, 其结点的定义如下所示:

上述代码主要定义了结构体数据类型LNode和指向结构体的指针类型Link List, 该结构体类型中包含2个域:存储数据元素的域data和指针域next, next用来指向本结点数据元数在逻辑结构中的后继, 链表如图4所示。

仍以线性表的遍历为例来说明其使用方式, 利用指针p来进行遍历, 代码可以写为:

p被赋值p=head->next, 指向首元结点, 随后通过循环中p=p->next语句, p依次指向后继结点, 直到链表结束。这里要注意对->操作符的理解, 当指针p指向一个结构体存储空间时, 如果需要存取结构体中的某个域, 可以使用“p->域名”的方式, 如p->data就是存取该结构体中的data域;另有一种等价的方式“*p.域名”, 如*p.data, *p确定一块结构体空间 (结构体变量) , 用“.”操作符存取结构体变量的某个域。

3. 指向函数的指针。

函数载人内存时, 必定占有一块存储空间, 可以定义指向函数的指针, 通过指针来调用函数, 例如:

首先定义了一个指向函数的指针p, 随后p被赋值函数名, 即让p指向函数fun, p指向fun后, 可以通过指向函数的指针调用函数, 其效果和通过函数名调用是等价的。应该注意到, 这样用法毫无价值, 能通过函数名调用, 何必还要间接用指针调用。因此, 指向函数的指针一般用作函数的形式参数, 例如:

假设有数据元素为整型的二叉树T, Preorder是实现二叉树的先序遍历的函数。上述代码中, 首先给出了两个函数返回值为Status的函数原型, 设Sub是对整数进行减处理的函数, Add是进行加处理的函数。那么, Preorder (T, Sub) 调用时, 函数名Sub作为实参传递给形参visit (指向函数的指针) , 则在遍历过程中 (*visit) (a) 所调用的函数是Sub;同理, Preorder (T, Add) 调用时, (*visit) (a) 所调用的函数是Add。这里应该强调, 为什么要这么做?从上例中看, 对二叉树的遍历过程是一样的, 通过两次调用中visit所指的函数不同, 对二叉树T中数据元素的处理不同, 一次是减, 一次是加。指向函数的指针带来的好处是, 如果对数据元素的处理有新的变化, 如增加乘的处理, 仅需要编写乘的函数Mul, 随后调用Preorder (T, Mul) 就可实现对二叉树中数据元素的乘处理, 不需要改变Preorder函数。这样的程序结构非常有利于提高程序的可维护性。

四、小结

作为实践性很强的计算机专业核心课程, 《数据结构》课程的实验环节非常重要, 指针的灵活应用是课程实验中的难点。学生对指针了理解往往流于表面, 只会模仿性应用, 不能深入理解和灵活应用。文中, 我们结合实际的教学经验, 总结了指针中的几个学生不容易掌握的问题, 并分析讨论了教学中的要点。通过多年的教学实践, 对学生《数据结构》课程的学习和提高编程能力是有帮助的。

参考文献

[1]陈越, 何钦铭, 冯雁“.数据结构”综合性课程设计教学探索与实践[J].计算机教育, 2008, (8) :54-55.

工程结构减振教学实验的创新实践 第7篇

随着科学技术的进步和城市轨道交通事业的发展, 新型实验设备与自控技术的不断发展, 新型减振材料与技术的不断推新, 该课程的内容也在不断扩充和更新。该创新实验设置了多项可操作性、创新性和开放性的实验内容, 以学生自主设计实验、自主完成实验、自主管理实验为主要实验手段, 教师只对学生参与的实验工作内容做规划, 指导学生对项目的实施目标、实施方案、预期效果进行详细的设计, 在调查研究、分析论证、实验检验、数据分析等方面引导学生进行独立思考和钻研探索;注重学生对实验的自主驾驭过程, 着重培养学生在实验过程中的创新思维能力和创新实践能力。

1 创新实验的设计

1.1 指导原则

工程结构减振实验的教学任务是通过理论和实验的教学环节, 使学生熟悉地下工程与高架的振动的原因机理及减振措施, 掌握结构动力特性振动实验的基本方法和程序, 同时具备熟练使用LMS振动噪声分析系统的进行模态分析的能力, 准确判断结构动力特性, 从而可以设计新型减振结构, 并动手完成减振结构模型;通过设计实验方案加以验证。并能根据试验结果对结构做出正确分析与判断, 提高学生的创新意识及动手能力, 为学生从事地下工程监护、高架与轨道养护维修工作打下基础。

1.2 创新实验的来源

联系轨道交通地铁运行现状, 地铁振动主要是由轮轨作用脉动力引起。脉动力与枕木固有频率、钢轨刚度、道碴刚度等参数有关, 钢轨刚性越大, 脉动力变化越小。减轻地铁振动危害的最直接和有效的办法就是减轻振源的振动, 而轨道的振动是引起周围环境振动的振源。钢轨扣件是阻尼弹簧结合的轨道减振系统, 吸收并耗散振动能量;具有较好的减振降噪效果。

对于地铁沿线的建筑物, 减振措施主要有隔振和避免共振两个措施。隔振就是把建筑物与振源隔离开, 阻止振动波向建筑物输入。通过改变建筑物的自振频率, 避开与地铁诱发的环境振动共振的频率, 可以减轻地铁沿线建筑物的振动。由于结构的自振频率与质量和刚度的分布密切相关, 所以通过调整建筑物的质量分布或局部构件的刚度大小就可以改变结构的自振频率。

1.3 创新实验方案

既然振动的振源取决于材料刚度与阻尼器, 避振也是要改变材料质量和构件的刚度, 而隔振就是与振源隔离开。所以, 创新实验中学生根据自己的设想设计成不同形式的结构模型, 通过调节材料刚度质量、支座约束、激振方式、阻尼传导等实现结构的减振效果。减振实验的具体调节方法如以下几点。

(1) 调节支座约束:采用悬臂梁与简支梁等约束。 (2) 调节激振方式:采用锤与激振器等激励。 (3) 调节材料刚度质量:采用不同材料刚度和带附加质量。 (4) 改变阻尼:采用阻尼支座与带传导阻尼等。

2 创新实验的过程

2.1 实验系统的组成

结构减振教学系统由锤、激振器、振动台、8通道的SCAD数据采集器及LMS Test lab振动分析系统组成。为了方便改变结构特性, 最简单的方式就是通过改变振动台上梁的支座约束方式;同时为了在模型上能进行振动控制实验研究, 振动台上梁可以换成不同材料规格尺寸;为了实现不同减振方案, 振动台上设计成装卸方便, 并注意梁和台架的连接, 保证振动台与梁形成一个整体。

2.2 激励方式

本实验系统除了带力传感器的锤激励方式外, 还增设了带力传感器的激振器, 可控制激励大小, 并模拟地震的激励方式。通过LMS Test lab振动分析系统控制的激振器运动, 从而达到控制振动台上的梁振动。

2.3 实验过程

(1) 振动测量的仪器连接, 梁上加速度传感器与锤或上力传感器与SCAD数据采集器相连, 数据采集器再与带LMS振动噪声分析系统的计算机相连接。检查各仪器之间连线无误后, 再开启电源。为带阻尼支座的减振试验。 (2) 打开带LMS振动噪声分析系统的计算机。 (3) 设定SCAD数据采集器的采样通道、采样频率和采样时间, 准备采集振动信号。 (4) 用一个锤子或激振器沿铅直方向敲击被测振动系统的适当部位, 激起弯曲振动, 记录下三个加速度计的自由振动信号。 (5) 对记录下的三个自由振动信号进行频谱分析, 根据频谱分析结果的频率、幅值和相位信息确定系统的三个固有频率和主振型。

2.4 测试手段

在振动台上梁试件上安装加速度传感器, 通过测试梁的加速度反应, 可以得出结构动力特性 (包括固有频率及主振型测量) 。测试系统采用比利时的LMS Test lab振动分析系统。

3 创新实验效果

3.1 实验数据的比较分析

学生通过做两两对照实验, 比较分析各种工况梁各阶固有频率及振动幅度的实验数据;得出的结论是振动的影响因素有很多, 而振动的源头和约束对物体的振动频率起着非常大的影响。其中振源就是一个最不能忽略的重要因素, 而振源大小也受很多条件的支配, 约束就是其中的一个支配条件, 从振源到所监测的点之间的约束越多振幅也就越小, 对周围环境和建筑物的影响就越小。

3.2 学生联系地铁的振动实际, 得出可以采取的减振措施

(1) 从支座角度考虑, 在简支梁上的激振实验振动幅度较小, 减振效果较好;地铁高架桥设计成整体连续梁。 (2) 从约束角度来说, 可以增加约束个数从而达到减振效果;在地铁的铁轨扣件要采用新型弹性扣件。 (3) 从传播路径角度而言, 中间加约束可以达到减振效果。为了隔断地铁振动向建筑物的传播, 可以在轨道两侧或者建筑物周围挖一定宽度和深度的隔振沟, 可以达到隔离振动的目的。

总之, 学生通过创新实验独立设计创新结构减振方案, 开发出不同形式的结构模型, 并通过实验加以验证, 很好锻炼了学生动手能力与创新思维, 达到了创新实验的教学目的。

参考文献

[1]宋凤莲, 刘梅清, 巫世晶.多层次开放式工程实践教学模式研究[J].实验技术与管理, 2007.

[2]郭庆丰.研制、更新实验装置, 培养学生的能力[J].实验技术与管理, 2002.

数据结构实验教学改革的尝试 第8篇

1 实验教学中的问题

(1) 众所周知数据结构理论性强、逻辑性强、抽象性高, 由于该课程涉及大量抽象数据类型及算法, 理论性很强, 对学生的学习造成了一定的困难。学生只知道每种数据结构的表示形式, 而不知道每种数据结构的应用场合, 在设计算法时不知道如何去组织数据, 不能准确应用各种数据结构。

(2) 数据结构通常采用C、C++等编程语言来描述, 也就是说, 数据结构课程是建立在某一门编程语言基础之上的, 而绝大多数学生的编程语言的基础都不太好, 像C语言中的Struct结构体、指针、函数声明、定义、调用等, 学生上课总觉得跟不上老师的教学节奏。又因为对编译环境不熟悉, 编译后许多错误提示不知道该如何解决, 久而久之对数据结构课程的学习就失去了兴趣。

(3) 通常数据结构实验课总是使用设计好的实验, 学生只要简单照着教材上的代码输入就可以了, 这样一来, 学生的实践机会就非常少。一学期下来, 学生通常觉得实验课没有任何收获, 动手能力也没有任何提高, 学生对编写程序仍然没有信心。

2 实验教学改革方法

2.1 变抽象为具体

目前大多数数据结构实验课都是按照教材上的既定的实验题目让学生动手实现, 只要结果能通过编译, 能运行, 学生对各种数据结构的具体应用缺乏独立的思考, 当遇到某些具体问题让他选择最佳的数据结构去描述算法的时候, 他们感到茫然。因此, 我们针对每种数据结构都设计一个具体的应用情景。让学生知道每种数据结构应用的时机, 及各种数据结构的优缺点。让学生设计数据结构去满足算法的需要能够让他们更深刻地理解经典的数据结构的优点和应用场合。

2.2 夯实学生的编程语言基础

数据结构的学习是构建在编程语言基础之上的, 比如C、C++、JAVA等。数据结构的实验课同时也是编程语言的实验课, 因此, 我们认为设计的实验应尽可能让学生用多种方法实现。比如多个函数使用同一个二维数组, 可以使用全局数组, 也可采用传参数的方式传递数组。

2.3 分组讨论, 激发学生的学习兴趣

实验课的重点应该是提高学生的兴趣和自信心, 敢于动手写代码, 提高解决错误的能力。而加强动手能力的前提在于提高学生的兴趣和自信心, 敢于动手写代码。因此, 激发学生学习的兴趣是重中之重。通过就某一个问题需要设计某种算法让学生分组讨论, 让学生在自己的同学中间能够体现自身的能力, 从而激发攻克难关的兴趣。通过讨论能让每个学生积极参加到一个团队, 激发他们的团队意识, 也能通过不同意见的争辩激发他们解决问题的信心。

3 结语

《数据结构》实验课程的建设在计算机专业的建设中具有重要的作用, 它是一门理论性和实践性很强的课程, 它需要理论教学的结果来指导实验教学的过程, 更需要实验教学的过程来强化理论教学的效果, 因此科学的安排实验教学是激发学生的学习兴趣、培养学生动手解决实际问题的能力的关键途径。

参考文献

算法与数据结构实验教学探讨 第9篇

关键词:算法与数据结构,实验教学,教学改革

0 引言

算法与数据结构是计算机专业的一门重要基础课, 它主要研究数据的逻辑结构、存储结构及其相应的处理操作算法[1]。学习算法与数据课程, 不仅要理解书上抽象的理论知识, 更重要的是能够理论联系实际, 针对实际问题在计算机上编写出结构清晰、正确易读、效率高的程序。因此, 上机实验是算法与数据结构课程必不可少的教学环节, 对于训练学生编程能力至关重要。

1 实验内容

上机实验内容要根据学生的基础而定。若基础很好、自学能力强, 可布置规模较大、内容复杂的综合性程序任务;若基础较差, 则可布置简单的程序任务。对于一般本科生, 在选择实验题目时可结合教材内容确定。例如, 若教材使用的是严蔚敏、吴伟民编著的《数据结构》, 线性表的实验题目可定为:单链表的基本操作, 包括创建单链表、插入一个元素、删除一个元素、显示单链表等操作;对于栈的实验题目可设置为:数制转换、括号匹配和表达式求值;对于树和二叉树的实验题目可为:二叉树的创建、遍历和应用 (如求叶子结点个数、求二叉树的深度等) 。实验内容与教材内容相结合可以让学生更好地理解教材上的算法, 知道教材算法是非常实用的, 可以用这些算法解决很多实际问题, 激发学生的学习兴趣。

2 实验教学过程

实验课的内容应在上机前几天布置给学生, 以文档的形式说明实验题目、基本要求、测试数据、实现提示和选做内容等[2]。提前布置可让学生课后思考并提前开始编写程序, 实验课上就可提交程序或者请教师解答疑问。

如果是第一次实验课, 最好能现场演示程序的编写和调试过程。程序中若要用到书上的算法, 可提前准备直接复制。通过现场演示, 使学生对编程过程和程序运行效果有一个直观的认识。学生在学习算法与数据结构课程之前, 一般只学过C、C++程序设计语言, 学生的编程能力还不是很强, 此时需要教师引导。当学生完成第一个实验任务后, 就会有信心完成后面的实验任务, 否则, 可能让学生产生畏难情绪, 害怕编程实验课。

实验课主要是上机编程, 作为教师, 需要主动解答学生编程中存在的问题并注重实验结果验收。

3 常见编程错误及对策

学生在编写程序过程中难免会出现错误, 由于编程经验少, 很多学生看见调试程序显示有很多错误就不知所措。有些学生由于种种原因, 不去请教教师, 最终没有排除错误, 导致学习兴趣大大降低。为了减少这种情况的发生, 教师可以将上机过程中学生常犯的错误进行总结, 告知常见错误的解决方法和简单的调试技巧, 以便学生自己查错。编程过程中的错误可分为两类:语法错误和逻辑错误。若出现语法错误, 则程序无法连接、运行。逻辑错误是程序能通过编译、连接, 但运行结果不正确。学生编程常犯的语法错误有:

(1) 使用了未声明的标识符。在开发工具的输出窗口中, 可看见类似这样的错误提示信息“error C2065:'p':undeclared identifier”, 该信息表示单引号中的标识符p没有定义。单引号中的标识符可能是变量名, 此时应在变量p使用之前加上定义变量p的语句。单引号中的标识符也可能是符号常量或类型名, 严蔚敏所编教材中第一章预定义了许多常量和类型, 例如:

#define TRUE 1

typedef int Status

在以后的章节中许多算法直接使用第一章定义的常量和类型。学生在将书上算法转化为程序时, 却常常忘记加上常量或类型的定义, 导致编译时出现类似上面的错误提示信息。另外, 学生若在输入程序的过程中不注意英文字母大小写的区别, 则也可能会出现上面的提示信息。例如前面定义了类型“Status”, 而后面程序中将其写成了“status”。

(2) 缺少分号“;”。这类错误在输出窗口中会有如下类似提示信息:error C2143:syntax error:missing';'before'return'。该信息表示在return之前的语句缺少分号。由于程序中每条语句结束处都会有一个分号, 而在程序输入过程中很可能会漏掉某个分号, 此时只需在相应位置补上分号即可。

(3) 缺少花括号”}”。程序中函数体、if语句体、循环体都会用到花括号, 而程序输入中很容易出现多输入或少输入花括号的情况。此类错误比较难发现, 因为编译时会显示很多错误提示信息, 但这些错误很可能都是由于缺少花括号这一个错误造成的, 此时需在相应地方补上花括号。这种错误有时会有如下类似提示信息:fatal error C1004:unexpected end of file found。

(4) 程序中使用中文符号。例如将英文分号输入成中文分号, 则程序编译时会出错。输出窗口会显示多个错误, 其中也会包含有类似下面的提示信息:error C2143:syntax error:missing';'before'return'。

(5) 缺少头文件。若要使用库函数则要将其所在的头文件用include命令行包含进来。这类错误在输出窗口没有明显提示, 通常会提示库函数是未声明的标识符, 此类错误不易发现。学生应该养成良好的编程习惯, 程序开头就将所有有用的头文件包含进来, 避免犯此类错误。

若编程中出现逻辑错误, 可设置断点, 逐步调试程序, 观察变量的中间运行结果, 从而发现程序中的逻辑错误。调试过程常用以下功能键:

F9:设置/取消断点;

F10:执行下一条语句;

F11:执行下一条语句, 若下一条语句是函数调用语句, 则进入函数体内部执行;

Ctrl+F10:运行至光标所在处。

参考文献

[1]严蔚敏, 吴伟民.数据结构[M].C语言版.北京:清华大学出版社, 2008.

结构实验 第10篇

一、 纪实电影的实验性结构概况

纪实电影是和商业影片相对应的一种电影类型,通常是指用较少的资金投入、另类抽象的电影画面以及晃动而富于象征意义的镜头来传递影片的主题以及导演的自主意识,它不以盈利为目的,而是通过一种纪实的手段来创新影片的表达方式,传达影片的人文关怀。“实验性”,顾名思义就是一种手段的尝试,所以实验性结构的电影通常会被贴上“另类”的标签,尤其在叙事手法和表达方式上与传统的大众口味大相径庭。

(一)实验性结构的基本概念

实验性结构的“实验性”在纪实电影中通常表现为表达方式和内容的独特性,它用电影镜头和画面来传达一种另类的意象。实验性结构的影片往往通过支离破碎的叙事手法、跃动的画面营造一种梦幻的氛围,以此来刻画导演的意识世界和精神状态,完整的故事在实验电影中并不多见,一个简短的生活片段或者人物内心世界的随机写照是它叙述的重点,而纪实性的记录手段又向人们展示导演内心真正的创作意图和浓厚的实验色彩。

纪实电影一般不需要筹集太多的资金,而且拍摄时间较短,在这样的一种拍摄条件下,导演就会将影片重点放在标新立异上,而实验性的表达方式正好迎合了他们的口味,运用实验性结构进行电影创作的导演通常是小众导演,他们不受学院套路的限制,毫无压力地进行演员的挑选,情节的设定和主题的安排,往往正是这种随性的实验性安排却能给观众带来更加深刻的思考。

(二)实验性结构影片的主题特征

纵观我国实验性电影的发展历程,每个时代都有其要表达的特定主题,大致可以分为两个方面:

1.工业社会中人情的淡漠

上个世纪90年代是我国纪实实验性电影开始崛起的一个时代,在这个工业化迅猛发展的年代,整个社会都发生着翻天覆地的变化,成堆复制品下生存的人们受到来自大变革下的冲击,金钱至上的观念侵蚀着人们的身体和灵魂,单一而盲目的追求让人们生活在无聊而无情的世界中,精神世界逐渐萎缩,个人的人生观、价值观和世界观也受到了前所未有的冲击,人与人之间的关系伪善而令人悲哀。而90年代所带来的这种社会景象一直延续至今,像《神探亨特张》中的大都市北京,难道不是一个工业化大发展下的复制品吗?

2.社会变迁中小人物在困境中的挣扎

实验性电影着力刻画在社会变迁中人们所表现出的最真实的一面,不管是美好,或者是丑陋的。导演用较少的资金和较短时间、最精准尖锐的视野曝光社会。《神探亨特张》中的警察张惠领是一个生活在大城市中的小警察,他的日常工作就是管理自己的辖区,抓小偷和骗子,在与这样一类特殊人群的“斗争”中,既没有高大的警察形象,也没有猥琐的小偷、骗子形象,更多塑造的是在繁华社会中生活在底层的小人物的生存现状,是他们给观众带来的沉重和无奈之感。

二、《神探亨特张》的实验结构特性

(一)消解的叙事策略

《神探亨特张》采用了消解式的叙事策略,打破了传统电影的叙事套路,这样做可以给影片本身提供更为宽广的表达内涵的空间。影片中,北京海淀区双榆树派出所民警张惠领是一个普通的办案民警,他成为劳动模范的原因是他在30年的工作中一共抓了两千多个小偷和骗子,影片以他的日常生活为背景和内容,不具有任何典型性情节和人物,抓小偷和骗子的故事没有任何戏剧性的冲突,从叙事的角度来说,叙述的故事情节既不离奇也不吸引人,但这正是实验性电影的叙事策略所在,它摒弃了传统的叙述套路,将日常化的生活片段搬上荧幕,让影片更加生活化,凸显纪实性电影的特性。

影片的情节设定并没有冗长的细节描写,也没有人物情节的刻画,有的只是镜头下真实而纯粹的现实生活,是张惠领发现小偷、抓捕小偷的过程,是他回家后的柴米油盐,是他打胰岛素针的日常举动,就像他在接受采访中所说的“从来没抓过什么大贼,也没有破过什么大案”一样普通,影片中的老张和现实中的老张过着普通人的生活,他并不没有高大的警察形象,但却是一个传统人民警察的典型形象,正是这种大众人物的普通生活,将普通大众的生存现状和情感体验凸显出来。

(二)富有张力的电影符号

高书群的《神探亨特张》用独特的叙事策略、片段化的故事情节将普通人的生活状态描绘出来,却让人感动地深沉,而令人感动的并不是他所呈现的整体社会,而是故事中的一个个随意的片段和人物间的对话,这些对话带有浓厚的生活气息,朴实却令人深思。因为《神探亨特张》的演员班底大多是微博红人,所以微博式的话语是电影中对白的一大特色,在小偷的自嘲中隐含着对自己命运的无奈,在审讯碰瓷女时,她假装坚强地说:“你是北京警察,我是下岗女工,我没去当小姐就不错了,我告诉你我是有原则的。”人物的语言辛辣,辩驳的理由也令人好笑,但是在笑后我们感到的是心酸,在警察朴实日常的审讯中却不失切中要点的锋利。观众在观看电影的过程中会很容易将自己融入到剧情中,生活化的对白让观众感觉自己在亲历着电影人物的生活,参与着故事的发生和发展。

影片中另一个富有张力的电影符号就是配乐,这里的音乐是一种非文本式的叙述方式,是影片情感的另一种传达渠道,盲人歌手周云蓬的《沉默如谜的呼吸》《北京》《荡荡悠悠》听起来似乎和故事并没有太大的关联,但是它所营造出来的苍凉感却也是故事人物内心情感的写照,同时也将北京这个具有忧郁气质的城市凸显出来,而正是这样一群挣扎在社会底层的小人物才将这个忧郁的城市点亮,忽明忽暗。

(三)日常化的人物塑造

对导演高书群来说,他在策划着一个“你”系列的电影集,试图拍摄十多部电影来关注1930——2030这百年中的社会大众的日常生活。日常的生活往往是重复单一、琐碎无趣的,但是也就是有了日常的单一生活,大的波澜才会让普通人物显得不再普通,才能让人心动。在《神探亨特张》中,张惠领从未接手过大案子,半辈子都在和小毛贼、江湖骗子打交道,所以在得知东北大盗张发财要来北京作案时竟然激动地把手中的泡面放下,欣喜前往地摊吃烧烤,而对于大盗张发财来说,东北的警察已经不是他的对手,没有任何的挑战性,所以他以正义的名义要向劳动模范“亨特张”发出挑战,在几天的追捕中,最终张发财以失败告终,回到了东北金盆洗手,张惠领也重复着往日的工作生活。

在电影中,张惠领抓小偷和骗子是他作为一个警察的天职和日常的工作,小偷偷盗,骗子行骗也是他们维持生存的手段,他们都是出于生存目的,只是职业不同而已,在北京这个繁华的城市中,不同的社会阶层有着不同的生活,社会分工的多样化让人们的价值观出现了“异变”情况,干坏事的人觉得自己的行为是正常合理的,他们下岗了需要钱,孩子需要钱,家庭需要钱,他们的理由听起来也难以辩驳,但是有着传统价值观念的正面人物张惠领在这种充满“负能量”的工作环境下,并不会与他们进行争辩,也没有一味否决,正是因为他也知道他们的不易,心中充满善意、无奈、心酸,所以他才会帮助换假币的女人去找孩子,将3000块工资给了小偷的弟弟。

三、《神探亨特张》实验性结构的价值所在

(一)社会价值

纪实性电影揭露社会并影响社会,实验性结构使导演使用新的影象符号和叙事规则,他摒弃了传统的一些华而不实的东西,赋予了影片深刻的文化价值。在《神探亨特张》中,高书群树立的并不是一种传统的道德标杆,而是真实反映小人物的职业困境。影片中张惠领的职业是警察,他的工作环境是复杂而灰暗的,而他工作的艰辛也是最正常的警察所具有的天职,影片所叙述的是他的日常生活,并没有将他的形象进行美化和夸张,他和普通人一样有烦恼,有抱怨,也会爆粗口,而这种将真实人物进行完整还原的手法,让人感觉他真实存在于我们身边,有血有肉,并不是触不可及的典型人物。

社会底层的小人物小偷、骗子是张惠领所要抓捕的对象,但是这些在我们脑中是反面角色的人物,在这部影片中并没有对他们作道德的评判,他们所做的事也是他们的职业,他们自己认为是正常而合理的,是生活所迫而为之的,导演没有将过多的镜头放在他们做坏事上,而是凸显了他们的日常生活环境及生存境遇,这给了观众充足的思考空间。这种支离破碎的叙事手段和小人物的实验性塑造,将现实生活场景真实地再现出来,导演并没有进行刻意地加工,而是任其自由发展,直指人心,而这就是真实的社会,有阳光也有阴霾。

(二)艺术价值

我国的实验电影在新世纪以来取得了卓越的艺术成就,尤其是一些新锐导演对其进行了不断的探索和完善,实验电影逐渐被大众所接受,成为一种文化潮流,它本身就具有艺术性加上独特的艺术创作形式和艺术表现技巧让它成为一门综合性的艺术。正如在《神探亨特张》中独特的视听语言的创作手法,让影片具有无限的表现力,将真实的生活搬上荧幕,运用消解式的叙事结构,将“生活艺术”提升为“影视艺术”,实验性的结构让影片更有张力,表现日常生活掩盖下的深刻社会矛盾让影片的艺术感染力加深,这种看似混乱的呈现视角,不仅将真实的日常生活表现出来,更折射出复杂的社会矛盾。

《神探亨特张》的艺术价值还表现在演员阵容所带来的新颖的审美效果。高群书集结了一批非演员专业的微博红人、草根名人来演绎这部影片,更“接地气”和对生活更有深切感悟的演员让观众不再简单地关注明星所带来的视觉享受,而是赢得了另一种“明星”效应,实现了观众观看电影时完整的审美享受,最佳状态地传达了电影的意义。

结语

《数据结构》实验课程的“三步走” 第11篇

关键词:数据结构,实验教学

一、思想上要引起重视, 理解数据结构和程序设计之间的关系。

《数据结构》是计算机专业课程体系的主干专业课, 它是一门把技术、理论和实践融合于一体的十分重要的核心课程。

那么是不是只要学会程序设计, 学习《数据结构》课程就无关紧要呢?

答案是否定的。首先要明白计算机解决一个具体问题时所要经过的步骤: (1) 从具体问题中抽象出一个适当的数学模型即数据结构; (2) 设计一个解决此数学模型的算法; (3) 编出程序; (4) 进行测试、调整最终得出答案。举个例子:如你要设计一个企业标志, 首先要在脑海中先勾勒出该标志的模型, 有了模型后要解决此模型用的材料, 最后才能实施具体的操作。从以上例子大家可以看出数据结构是基础, 有了数据结构才能进行算法设计, 当然不了解数据结构的特性是设计不出好算法的, 也就写不出较好的程序。

二、行动上要理论联系实际, 注重实验教学设计与实施。

《数据结构》实验教学是对其课堂教学成果的检验, 属于实践应用类。现在多数院校都采用以C语言作为该课程算法设计实现的语言。但是由于C语言中的指针和结构体知识点多数学生学的不扎实, 可能会导致在数据结构中的设计应用会有点困难。所以在安排该课程的实验时由易到难。例如第一次的实验可以让学生复习一下C语言的简单程序: (1) 用指针方式编写程序:从键盘输入10个整形数据, 并存入数组, 要求将10个数中最大的数与第一个数交换;将其中最小的数最后一个数交换。 (2) 有5个学生, 每个学生的数据包括学号、姓名、三门课的成绩、平均分。要求用结构体实现从键盘依次输入5个学生的学号、姓名、三门课的成绩, 自动计算三门课的平均分数, 并将5个学生的数据输出。

对于每一次实验课老师都要进行了精心地策划, 并要求写出实验报告。主要分为告知题目阶段、算法实现阶段和结果汇总阶段等三个阶段来进行。

(1) 告知题目阶段

由于一次实验课的时间可能就是两个小时, 所以建议一般在上实验课的前几天就可以把题目抛给学生, 这样可以让学生在课余时间去查一些相关的资料, 在实验课上应将主要精力放在程序调试上面

(2) 算法实现阶段

在实验课堂上教师可以根据题目难易程序, 归纳并集中讲解学生调试过程中所遇到的常见问题。

(3) 结果汇总阶段

由于一个问题可以有好多种解决方法, 在这个阶段可以让程序成功运行出来的同学们在班级里讲授以便让全体同学共同分享一下自己成果, 这样不仅在知识方面可以起到举一反三的效果, 同时采用这些激励机制还可以提高学生们学习积极性和自信心, 营造一种你追我赶的竞争氛围。

三、课后要积极练习

除了完成教学大纲中实验课的内容外, 课余时间可以以小组为单位涉足具体项目的设计, 例如"多项式计数器"的开发设计, 这样一方面不仅可以让学生感到"数据结构"这门课程知识的学以所用更加增强了学习的兴趣而且主要是锻炼了学生的动手能力、解决问题的能力以及相互协作的能务。

总之《数据结构》是一门理论和实践紧密结合的课程, 作为该课程的教师, 不能呆板的教学, 在实验课上应该结合学生的特点, 设计实验课的教学过程, 这样的话才能使学生真正理解《数据结构》课程意义。

参考文献

[1]严蔚敏, 吴伟民.《数据结构 (C语言版) 》[M].北京:清华大学出版社.1997.

上一篇:医学资源下一篇:内部审计失灵的成因

精品范文