程序设计的结构范文

时间:2023-10-09 20:38:01

程序设计的结构

程序设计的结构篇1

关键词:中职学校;结构化程序设计;Visual FoxPro 6.0

中图分类号:TP312.1-4

结构化程序设计课程通常是高职、高专和本科类院校,为计算机及相关专业开设的课程,中职学校很少开设,原因很多,但通过多年在中职学校的结构化程序设计课程教学工作经验的积累,我发现只要能掌握习题设计合理的方法,给中职学生开设编程类课程并不困难,更对培养学生的逻辑思维能力、扩宽就业道路都非常有益,中职升高职的高考技能考试中,结构化程序设计考题共计50分,占50%的比重,直接影响学生的升学质量。

1 了解学生的特点,定制适度的教学目标

中职学校学生普遍文化课基础知识欠缺,对理论性知识的学习理解能力较弱,逻辑思维能力差,分析问题和解决问题的能力水平较低。但是他们正处在长身体时期,对学习成果较易感到满足。根据学生的这些心理特点和思维特点,教师要定制适当的教学目标。题目通俗易懂,实用性强。学生学了理论知识,重在应用,如果没有地方用,或者不会用,那么久而久之就会降低学生的学习积极性,让学生失去学习兴趣,因此在设计习题时尽量做到通俗易懂,实用性强。在讲解RAND()随机函数使用时,可以利用该函数为小学生随机出十以内的加减法练习题,并根据计算结果给出评判。通过实际操作,学生们利用在课堂里学习到的计算机专业知识回家以后给身边刚学算数的弟弟妹妹出练习题,计算机自动帮助批改,这让他们非常有成就感,再回到课堂学习积极性更高了。

2 难度有层次,逐级提升

结构化程序设计课程最忌讳把学生一竿子支到门外,虽然课程本身有难度,但作为授课教师只要在习题难度上分号层次――让尖子生吃好,让中等生吃饱,让学习困难的学生不放弃。

在讲解显示命令符“?”的使用,在屏幕上用十个星号连成一条横线显示,绝大部分学生可以直接利用“?”**********这条命令完成;对于编程基础薄弱的学生,我们可以通过这道的题目,吸引他、鼓励他,让他消除对编程有难度的恐惧感;而对于编程基础扎实、运用灵活的学生,当然不能仅限于此,他们应该在教师引导下遵循选择和循环等结构化程序设计的思想,用更简洁的程序解决复杂问题。

设计习题“利用随机函数RAND()实现随机抽取中奖学生”,抽取学生人数从一人到多人,抽取次数从一次到若干次,逐步完善程序功能和实用性的同时,程序复杂程度也在逐渐增加,从简单的顺序结构程序到顺序、选择和循环三种结构程序综合运用,使课堂教学保持一致性和连续性,吸引学生在教师的组织下一步一步提高编程能力,也为今后工作中的实际问题提供新的思路和方法。

3 运行结果鲜明,便于观察

结构化程序设计教学中循环是重中之重,也是学生在学习过程当中的拦路虎,如果能准确、熟练地控制循环进程,就能够更好得利用循环结构程序解决问题。如果我们能够让学生很明确某个知识点能干什么,有了目标方向,也就有了动力,许多问题也就会迎刃而解。在关于循环程序的控制命令LOOP、EXIT的授课过程中,程序流程图的讲解方式固然好,但如果能配合典型例题,则能达到事半功倍的效果。我在实际授课过程中用过如下的数字显示的例题,不仅能让学生更好的理解循环程序,同时能通过不同的循环程序控制命令对程序结果影响,解释清楚课堂知识重点。

4 充分发挥典型习题作用

张丘建《算经》中的“百钱百鸡”问题、“水仙花数”问题、绘制“杨辉三角”都是结构化程序设计的经典题目,都是无数前辈留给后人无价的精神财富和竟然总结,教师一定要指导学生利用编程的方法解决。因为这些问题的背后都有很多有趣的故事传说,并且广为流传、耳熟能详,大多数人又只知其一、不知其二,如果我们能够在给学生讲故事的同时,潜移默化地引导学生用编程的思维方式解决问题,能够提高学生的逻辑思维能力水平和计算机素养。

5 合理安排理论与实践的比例

在中职学校,开设的结构化程序设计课程一班有C语言、Visual FoxPro和Visual Basic等,既是升学就业的需求,也是符合中职学校学生特点的语言类课程。在授课过程中,教师应该合理安排时间,在打好理论基础的同时,提高学生动手操作、分析问题和解决问题的能力,在解决实际问题的基础上,学生能够逐步形成并提高逻辑思维能力。理论课与上机课的时间比例是1:2,即教师演示讲解一道题,学生练习两道题,这样就可以保证学生在实际操作中掌握知识,使教学理论与实践操作紧密结合起来。理论课有两方面的作用:一是可以为学生理清知识逻辑,讲清楚操作原理;二是可以总结学生在上机实践中遇到的一些问题和错误,使学生更加快速深刻地掌握操作方法和操作技巧。实践课可以让学生对其逻辑思想加深理解,对程序规范进一步严格要求。

6 多媒体网络技术使用

程序设计关键在于思想的激发和过程的理解,教师应该利用充分利用现代化的教学手段提高授课质量。在多媒体网络技术使用方面,首先注重课件制作,内容简练,重点突出,结构清晰,动静结合,能够死的理论知识跃然纸上,通俗易懂,最好使用FLASH动画的形式展现结构化程序设计的思路和程序的流程,让学生对问题的关键一目了然;翻转课堂。程序设计类课程对于中职学生来说,在学习和使用方面确实存在很多困难,但为了学生将来更好更广发展,我们一定要上好该类课程,为学生负责,也更应该不断提高自身的理论和实际应用水平。

参考文献:

[1]周察金.数据库应用基础――Visual FoxPro[M].北京:高等教育出版社.

[2]牟云翠.Visual FoxPro程序设计基础与实训[M].北京:机械工业出版社.

[3]朱强.Visual FoxPro结构化程序设计教学方法和技巧探讨[J].福建电脑,2010.

[4]陈阳.程序设计教学的指导思想[J/OL].中国论文中心,2001.

[5]高冲,徐群.基于程序设计项目化教学的研究[J].计算机与现代化,2012.

程序设计的结构篇2

关键词:C语言;程序设计;教学;结构体;实验

中图分类号:G642 文献标识码:A 文章编号:1009-3044(2015)09-0163-02

Abstract: C language programming is a profession course in the computer special field of study, and it is usually the first programming course to the students. So the experiment teaching of the course is too important. It mainly discusses the teaching design of structures in this paper, which can help the students to grasp the basic knowledge about structures, and can solve problems by using arrays of structure and linked lists. It proves that the teaching design can stimulate the students’ study interest.

Key words:C language; programming; teaching; structure; experiment

《C语言程序设计》这门课一般是计算机专业学生入学时所接触到的第一门程序设计课程,这门课程需要学生掌握程序设计的方法,用C语言编程解决问题。在现实问题求解时,往往用简单数据类型描述问题对象时可能不是很方便和准确,例如,描述职工信息这样不同类型的数据组合时,这时就需要定义一种构造类型的数据结构来描述,这就是结构体。而且,本文认为结构体是实现了数据的封装,在一定程度上体现了封装的特性,对后续课程的教学有一定的启发性。所以,结构体教学是C语言程序设计的一个重要的部分,同样,在实验课教学中结构体的实验教学也是重要的一个环节,特别是链表方面的实验教学对后续课程,如《数据结构》起着基础性的作用。本文主要是对结构体的实验教学的设计进行探讨。

1 结构体实验教学的设计

结构体实验教学在教学时设计了3个实验题目,这三个实验题目的难度由易到难,试图让学生掌握结构体变量、结构体数组和链表的使用。

1.1 结构体变量的实验设计

结构体变量的实验属于结构体实验中比较简单的实验,这个实验就是让学生练习如何根据实际问题,用结构体定义自己所需的类型,再使用这种类型定义变量,编写程序去解决问题。

在实验教学中,教师要求学生解决如下的问题:要求用户输入三个点的坐标,编程判断这三个点是否可以构成一个三角形,如果可以则输出三角形的类型,即直角三角形、锐角三角形或者钝角三角形。这个题目在实验课上是以程序填空题的形式提供,这样既可以引导学生初次使用结构体进行编程,在填写缺失的代码过程中,锻炼学生的程序阅读能力。在题目设计中尽可能的考察学生以前的所学知识点,比如,函数形参、函数调用、选择结构编程等等。

这个程序填空题首先要求完成图1中所示的点的结构体的设计,从而让学生掌握如何根据实际需要来定义结构体这种类型。再要求学生完成图1中input函数和len函数的填写,让学生掌握如何使用结构体变量的成员分量,并注意函数的类型;judgeexist函数用于判断三个点能否构成三角形,在这个函数中强调逻辑运算符的使用,同时让学生注意函数的返回值类型,强调C语言的数据类型没有逻辑型,若想表示真假这样的逻辑型值可以用1和0这样的数值型数据来表示。

图2中的qcos函数在设计填空时主要考察的是指针的使用,让学生加深指针作为函数形参传递的是地址值这一个概念的理解。这个函数在编写时并不是很难,就是三角形余弦函数的使用,关键在于形参变量中指

针变量的引用,即诸如*cosA的赋值。而图2中judgetype函数就是依据三个角的余弦值来判断三角形是直角三角形、锐角三角形,还是钝角三角形。这个函数在设计填空时,主要是考察学生关系运算符的使用,以及嵌套的选择if语句的理解和应用。图3中主函数的设计填空主要是考察学生是否了解上述用户自定义函数的功能,并通过填写函数调用语句能正确的使用这些函数,此外,还考察了switch多分支语句的使用。

这个题目总体来说设计的并不是很难,当学生完成程序填空后,要求学生必须完成4种情况,即无法构成三角形、构成直角三角形、锐角三角形和钝角三角形的数据测试,通过输出的结果与预期结果作比较,从而检查程序是否编写正确。

1.2 结构体数组的实验设计

结构体数组的实验在结构体实验中是中等难度的实验,这个实验题目的设计主要是让学生掌握结构体数组的定义,让学生了解结构体数组元素的访问和其他基本数据类型的数组元素访问是类似的,如若要访问某个数组元素的成员分量时,需要在结构体数组元素后加上“.成员分量名”。

在实验课时,布置了如下的实验题目:输入职工的职工号、姓名、工资和出生年、月、日,按职工工资由高到低输出职工的职工号、姓名和周岁年龄。注意:输入“#”表示输入结束,假设最多只处理200个职工记录。此题在定义职工信息这种数据类型时,涉及到了出生年、月、日这种日期类型,而C语言的基本类型中没有这种类型,因此,教师可以引导学生先写出如图4(a)所示的日期类型struct date,再引导学生思考职工类型如何定义,提示学生职工信息包含出生日期这样的日期型数据,建议定义出如图4(b)所示的职工信息类型struct zg。一般地,学生会依据题目要求定义出struct zg的数组,其数组的大小为200。这个题目之所以这样设计就是希望通过这个练习让学生了解结构体类型中的成员分量没有具体类型要求,完全根据需要而设。

此题的另一个设计要点是排序算法在结构体数组中的应用,在课堂练习时,有的学生使用的是冒泡排序法,有的则使用选择排序法,但是在交换两个struct zg的数组元素时,有部分学生会注意交换结构体数组元素的成员分量,那么这时就需要声明交换结构体数组元素和交换整型数组元素的方法类似,将结构体数组元素看作一个整体。这个设计要点在于复习数组章节中所提到的排序算法。

此题最后一个设计要点是由已知的职工出生年、月、日求出该职工的周岁年龄,此处要求学生使用计算机的系统时间计算出职工的周岁年龄。为了能成功获取计算机的系统时间,则要求学生在帮助菜单或者网上查找C中“time.h”所定义的time_t这个数据类型,让学生了解typedef的用法;了解函数time()和localtime的用法,并能在程序中正确的使用;了解结构体struct tm,掌握该结构体中关于年、月、日表示的成员分量,让学生特别注意每个成员分量所表示的意义及其取值的范围,例如,成员分量tm_year表示的是年份,但是它的取值是从1900开始的一个整数,若想正确获得当前的年份值,应该是tm_year+1900。当学生能正确地完成获取系统时间的年、月、日的程序代码设计后,引导学生思考如何计算周岁年龄,实际上就是用if嵌套语句完成多分支结构的设计。这个设计要点是希望学生了解C程序设计过程中可能会出现书本上所未介绍过的知识,这就需要学生通过其他方式,例如查阅工具书或者上网等手段来获取所需的知识,同时,也复习了多分支结构的程序设计。

此外,在编程时要求学生尽量不要程序中只有一个main()函数,要尽量根据需要编写用户自定义函数。

1.3 链表的实验设计

链表实验的题目主要是让学生熟悉结构体与指针相结合,对链表有个初步认识,了解链表中的一些操作。题目与1.2中结构体数组的题目非常类似,但是要求必须用链表来完成,从而让学生熟悉链表这种结构。实验题目是:输入学生的学号、姓名和年龄,要求按学号由小到大输出学生的学号、姓名和年龄,要求输入“#”表示输入结束。这个题目解决的方法很多,因为学生初次接触链表,因此实验教学时没有提出任何方法的限制,只是要求学生用单链表求解,在求解过程中要求学生注意链表的创建算法,链表的输出算法,以及链表修改结点指针的一些操作。

首先,教师要引导学生正确的完成链表结点的定义,即指针与结构体相结合,学生信息结点的定义可以如图5所示。在求解问题时,需要学生注意结点指针的操作。实验课上,有的学生在输入学生信息时,即建链表时采用插入排序的思想,将待插入的学生信息的结点插入到已建好的且有序的链表中,用这种方法创建链表后,链表本身就是有序的,那么只需用循环结构输出链表就可以完成问题的求解。在实验课上,会发现有的学生有了这个想法但是算法编写有问题,教师在指导的过程中可以建议学生在建链表过程中,每插入一个结点后就完成当前链表的输出,从而有助于发现算法设计出错之处。

在实验课上,有的学生则先是创建链表,即将学生信息结点按输入的顺序插入到链表中,此时链表中的学生信息结点是无序的,再采用冒泡排序法或者选择排序法对链表中的结点调整顺序,最后编写循环完成链表输出。在调整结点时有的学生会出现算法思路不够清晰,有点混乱这种现象,这时教师可以建议学生在草稿纸画出链表结点的调整草图,再依据图示编写代码。在实验课上,有的学生采用排序算法调整结点时直接交换图5所示结点的no、name和age值,这种方法很便捷,但是达不到链表练习的目的,因此,教师可以鼓励学生再换一种算法。

2 结束语

本文给出了结构体实验教学的三个实验题目,这三个题目有各自的重点,而且题目有程序填空,也有程序设计,让学生由浅入深地逐步掌握结构体的定义,使用结构体变量和数组编程求解实际问题。并且实验题目中有的内容是对课本上的知识进行一定的扩展,力图培养学生的自学能力,因为在实际解决问题时,有的知识可能是课堂上没有提到的,因此,学生要学会查阅资料进行自学。

参考文献:

[1] 胡明, 王红梅. 程序设计基础――从问题到程序[M]. 北京: 清华大学出版社, 2011.

[2] 孙燮华. C程序设计导引实验与习题解答[M]. 北京: 清华大学出版社, 2011.

[3] 罗永龙, 方群. C语言程序设计[M]. 北京: 科学出版社, 2013.

[4] 罗永龙, 方群. C语言程序设计辅导及实验指导书[M]. 北京: 科学出版社, 2013.

程序设计的结构篇3

关键词:液压支架;结构件断面;抗弯强度计算;VB软件计算

DOI:10.16640/ki.37-1222/t.2017.02.034

1 引言 背景技术

液压支架为煤矿机械化采煤的主要支护设备,结构件是液压支架的主体框架,其结构多呈箱型,目前,对于液压支架结构件箱体断面抗弯强度设计计算,多为依靠OPT液压支架计算程序、采用迈实软件或人工列方程计算等方式进行计算,前者涉及到程序不能升级、不能支持win7以上操作系统,且界面可视化程度不好;中者为采用导入截面图形来识别各个截面图形尺寸分别对每块板进行计算,原理不同,使用起来效率方面并不算出众;而后者在计算时效性方面计算太烦琐,耗时耗力,多已放弃采用。

2 计算原理

根据液压支架受力分析给出结构件危险断面的最大弯矩M进行抗弯强度校核,画出该部件危险断面图,该断面图通常为数十块钢板拼装组成,首先需对相同类型尺寸钢板进行归类,整理出若干组钢板类型;分别对每组钢板进行截面积、截面型心高度计算,进而计算出断面的总型心高度、并分别计算出每组钢板的矩形截面惯性矩,进而计算出断面总惯性矩J;依次计算出最大、最小弯曲应力、、最大最小安全系数;通过使用VB语言编制出自动计算结构件断面抗弯强度计算分析程序,获得相应安全系数并校核出该断面是否设计合理;如图1所示为某一部件危险断面图:

3 设计意图及VB程序的实现

(1)设计意图:使用VB语言编写程序代替人工计算意义在于利用计算机快捷准确、功能强大以及具有可视化界;本程序设计目的在于克服上述缺点,基于VB语言设计,对各功能模块编写代码、并进行编译生成可执行exe文件。该程序包括信息参数输入模块、导入导出模块、计算结果显示模块,并设有计算按钮、导入、导出、清除按钮;断面抗弯强度计算分析截图如2所示:

(2)信息参数输入模块:可按要求将已知的箱体截面的组件数量、断面最大高度、箱体选用的材料强度、断面位置所受最大弯矩,各组件的宽度、高度、形心高度、块数依次输入模块;如该断面中有某组钢板高于或低其他材料强度,可按相应的板材屈服强度比比值换算出该组钢板在与其他钢板使用相同材料强度时的厚度换算输入即可;如钢板组数9为使用Q690材料,其他各组钢板都采用Q550材料,相应厚度换算为30*690/550=37.636。

(3)计算结果显示模块:点击计算按钮后,计算程序就会根据信息参数输入模块中的数据计算出截面形心高度y、截面惯性矩Jz、最大弯曲应力σmax、最小弯曲应力σmin、最大安全系数Nmax、最小安全系数Nmin,并在计算结果显示模块中相应位置显示出来,液压支架工艺设计人员可根据计算分析安全系数大小作出相应的强度增补或验证措施。

(4)导入导出模块:点击导出按钮后,计算程序会弹出另存为对话框,将信息参数输入数据及输出分析按txt格式保存;以备后期存档或方便查看。点击导入按钮后,计算程序会弹出打开对话框,供工艺设计人员选择已保存的txt文件进行导入至信息参数输入模块,方便设计人员及时验算用;既可在信息参数输入模块直接输入数据方式,也可按导入txt数据文件方式计算,期间可以根据设计意图临时更改输入的参数,并且还可识别原OPT生成格式文件进行导入、计算分析进而实现新旧计算工具的融合体现。

4 使用效果及结语

使用效果:在进行液压支架结构件箱体设计计算时,将技术人员从繁重的强度计算中解放出来,实现了方便快捷的抗弯强度计算过程,而且计算结果可靠,经验证与OPT液压支架优化软件计算结果一致,界面友好,计算结果可靠,简单易用、不受操作系统限制,适用所有windows98以上系统,所用时间相对较少。

随着技术人员工作效率的与时进,需要更多的优化功能、先进技术方法来减轻并间接代替工艺设计人员工作;目前针对制造设计过程开发的程序相对较少,谨希望能有更多的专业技术人员能够予以启发,开发出更多更好用的程序来服务企业。

程序设计的结构篇4

采用多维分析法和时空分析法。多维分析法认为,事物有若干性质,并由这些性质构成,分析事物的变化和发展,就是分析事物的性质。作为一种方法,其将对事物的分析等价为对事物多质的分析,没有交叉互质的一个性质就是一个维,对事物多质的分析方法就是多维分析。任何事物都拥有自身的时空,事物性质的变化都必然是在事物的时空内变化和发展,对事物性质分析最本质的方法就是在时空维上的分析。以计算机设计课程群为例,从时间维来看,问题分阶段逐步展开、逐步解决。分阶段即分程序设计课程、面向对象程序设计课程、数据结构课程;逐步则是指从简单到复杂,从语言到程序阅读,再到程序设计的过程。在时间维上,程序设计问题的解有一个重要的观察点,即程序阅读。从空间维来看,程序设计=数据+算法+语言。其中,数据+算法为程序设计的核心[1]。空间维是两维的,即数据维与算法维。程序设计课程解决离散数据与结构化算法的设计问题,面向对象程序设计课程解决对象数据与对象互动算法,数据结构课程解决数据结构与算法。算法是数据的操作过程。计算机设计课程群中的课程数据形态具有差异,算法是对其一定形态数据的加工。从空间来看,程序设计问题的解有两个重要观察点:数据和算法。

2时间维分析

程序设计问题在课程群的时间维上,一般都能体现从简单到复杂。在数据上从简单的无结构数据到有结构的数据,从简单的无操作数据到有操作的对象数据。在程序设计上,从不可分解问题的简单设计到可分解问题的复杂设计,从语言学习到程序设计学习。程序设计问题解在课程群各自独立的课程的时间维上,没有得到足够和充分的展现,严重影响了学生对问题的认识,以至于学生无法掌握程序设计能力。如同要有充分的文学阅读,才能为文学创作奠定基础,由于程序设计的复杂性,从语言学习再到程序设计学习,才会使程序设计学习简单化,程序设计问题解的学习也是能力的学习,而非理论知识系统的学习,需要有能解决实际问题的经验。经验分为直接经验和间接经验,程序设计的间接经验是他人设计的程序。阅读程序就是学习程序设计的间接经验。阅读程序作为程度设计的重要过渡桥梁,使学生在符合认识与学习规律的条件下,充分掌握程序设计能力。程序设计的学习过程划分为:语言、程序阅读、程序设计。在解程序设计的过程中,将程序阅读作为新的观察点和分析平台。程序阅读就是对已知程序或程序段的阅读,程序阅读又分为3个步骤:理解程序结构、模拟计算机执行程序、上机验证。程序阅读有3种层次:第一种是能读懂程序中所有语句和数据,这是基础层次,是其它层次掌握的条件和前提,属于计算机语言;第二种是能读懂程序设计中的技巧和方法;第三种是能读懂程序设计中的设计思想[2]。

3空间维分析

3.1课程群的解空间与各课程的子空间

计算机设计课程群的解空间可即程序设计解空间分解为:结构化的程序设计课子空间、面向对象程序设计课子空间、数据结构课子空间,如图1所示。计算机设计类课程群的解空间与它的三个子空间是整体与部分的关系。因此,一方面课程群的解空间由3门课程的解空间构成。另一方面课程群的解空间具有抽象性和普遍性,3门课程的解空间呈现泛化。课程群的解空间具有程序设计最本质的意义,对课程群中各门课程有着本质的指导意义。课程群的解空间有数据维和算法维,程序设计课的解空间是由离散数据维和结构化算法维构成;面向对象程序设计课的解空间由对象数据维和对象互动的算法维构成;数据结构课的解空间由结构数据维和结构数据的算法维构成。程序实质就是对已知数据进行加工得到结果数据,是数据与加工过程的相互作用。相比较程序设计解的二维而言,数据维是处于主要和核心位置,程序设计就是围绕数据的加工处理。程序设计课与面向对象程序设计课的加工处理方式有所区别,程序设计采用结构化的处理方法,如顺序结构、选择结构、循环结构;面向对象程序设计采用对象方法,如继承、事件、多态等。对数据的分析至关重要,离散数据是与运算是分离的,主要分析数据的形态,即常量、变量、表达式。其中变量是重点,体现了数据与存储空间的联系;面向对象程序设计的数据是对象的一部分,即数据成员;数据结构程序设计的数据有结构,且重点在结构上。

3.2各课程的数据分析

在结构化的程序设计中,数据变量对应一个存储单元,有三层含义:一是表达物理存储单元;二是表达存储单元的存储内容;三是存储内容的读写性质。必须全面完整理解和掌握此3个含义。例:intx数据变量定义,分配一个存储单元;x=0;x<=10,数据变量体现存储单元的存储内容:x++;cout<<x,数据变量读写反映了数据变量内容的变化。关于面向对象程序设计(C#语言)的程序重点关注和描述对象数据成员的构成、内容变化和访问限制。只有关注和分析有关联的对象数据成员的关联情况、对象数据成员与存储空间的关系,以及与对象数据成员的一切有联系的内容,才能实现对数据的全面掌握。在此基础上,了解和掌握以数据为加工处理的算法过程,才合乎程序设计能力培养的逻辑[4]。数据结构(C语言)程序的重点是数据的逻辑结构及定义性描述。例如:顺序表就是利用连续存储空间的线性关系来实现连续存储空间中数据元素的线性关系,只有先从数据的逻辑结构上理解,才能理解存储实现,分析数据的物理结构以及两者之间的关系,如图3所示。数据定义是对实现数据逻辑结构的计算机语言代码的描述,在算法设计之前须要有充分的分析、表现、描述,以使算法设计有依据和目标。在程序设计中,首先要分析数据,充分、全面、清晰地分析数据后,再作算法分析和设计。在数据与算法的二维空间中,基于数据加工处理的算法才会自然合乎逻辑地体现出其过程。

4结语

构建课程群的解时空,按时间维与空间维,重新组织和理解课程目标和任务,不失为一种新的教改思想和方法。构建计算机设计课程群的解时空,突破传统的程序设计能力培养模式,还需其它环节的配套实施,如课件、教材、习题等,只有这样才能有好的教学效果。

程序设计的结构篇5

[关键词]高职 C语言程序设计 教材建设

[中图分类号]G642 [文献标识码]A [文章编号]1009-5349(2016)02-0237-02

程序设计课程一直以来都是信息类专业的必学课程,而《C语言程序设计》又是很重要的一门专业基础课,对后续课程如数据结构、面向对象的程序设计、C#程序设计、.Net应用开发等而言,是非常重要的一门前导课。数十年来,《C语言程序设计》在信息类专业的基础课中有着不可取代的地位,该课程旨在培养学生熟练掌握程序设计的语法规则,形成良好的程序设计风格,为进一步学习后续课程奠定基础。教材作为一本工具书,是教师授课与学生学习的主要参考工具,拥有一本集科学性、完整性和趣味性于一体的《C语言程序设计》教材,是学生学好这门课程的必要条件。对于高职院校的信息类学生来说,能够满足自身学习需求,与教师课堂讲授相吻合,便于自己课堂之余进行知识反刍的教材更是必不可少的。

一、 《C语言程序设计》教材现状

高职院校的培养目标、教学模式、教学内容有其鲜明的特色,教材的建设更应该符合学生特点和学习需求。高职院校《C语言程序设计》教材经历了两个发展阶段:在高职办学的早期,高职教学的主要内容是具体的实用技术,不需要也没有教材,因此,高职《C语言程序设计》教材建设明显滞后。随着高职院校的不断发展与完善,诸多《C语言程序设计》的教材相继问世,尽管其中许多冠以“高职”字样,却依然存在不少弊端,主要表现在以下几方面:

(一)延续本科教材风格,不符合高职教学特点

继高职院校广被诟病为本科院校的“压缩饼干”后,高职教材也成为本科教材的压缩版,《C语言程序设计》的教材也存在此类问题。打开最新版的某一册“普通高等教育‘十二五’部级规划教材(高职高专教育)”的《C语言程序设计》教材,发现内容结构依然是C语言基础、顺序结构、选择结构、循环结构、数组、函数、位运算、结构体与共用体、指针、文件等章节,和任一册本科教材内容结构几乎一致,而每一章节的内容也基本是由例题、解题步骤、流程图、代码和课后习题组成的,延续了本科教材的风格,与高职所突出的培养技能型人才的特点不符合。

(二)内容枯燥,实用性差

目前,大多数《C语言程序设计》教材对语法规则的介绍着墨很多,枯燥无味、实用性差。比如,打开任一本C语言程序教材,会发现还有“编写判断一个数是否为素数”“编写斐波那契数列的前20项”这种与生活距离较远、无法吸引学生的案例,因此,使学生在学习过程中把精力多放在记忆各种灵活多样的C语言语法规则上,忽视了使用C语言解决实际问题的能力的培养。

(三)未能给学生提供充足的自学条件

作为高职信息类专业学生的第一门专业基础课,《C语言程序设计》与学生在进入大学之前所学的知识有着本质上的不同,尤其是让初学者理解并掌握“指针”“函数”“数组”等闻所未闻的概念有相当难度。因此,教材不仅是学生课堂学习的参考工具,更是学生课后进行知识反刍的指导书。目前的教材除了课后习题之外,并没有对学生的自学进行有效的指导和知识补充,不利于学生对C语言知识的理解与掌握。

二、 《C语言程序设计》教材建设的指导思想

鉴于当前《C语言程序设计》教材所存在的各种问题,根据实际教学过程中积累的经验和学生的反馈,我们认为《C语言程序设计》教材的建设应遵循这些方面:①教材内容应兼顾高职院校的教学要求中初学者的学习水平;②教材案例设计应兼顾知识性、趣味性和实用性;③教材主体内容应力求通俗易懂、深入浅出,能让绝大多数学生理解和掌握;④教材的建设应使学生能够理解并积极参与教学过程,引导学生积极思考,调动学生学习的积极性,针对学生的练习应建立由浅入深、由简单到复杂、由单一到综合的转变,形成学习梯度;⑤教材应提供参考依据,为学有余力的学生提供了解更多专业知识的条件,同时对学习进度缓慢的学生,也应该让他们课堂之余有具备咀嚼知识的自学条件。

三、《C语言程序设计》教材建设的具体举措

(一)围绕课程定位,精选教材内容

《C语言程序设计》课程的主旨是让学生树立程序设计的理念,而不仅仅定位于C语言本身的知识点上。因此,教材内容的设计应选择程序开发过程中所共有的知识点,尽量删减C语言本身所独有的知识点。比如,在顺序结构、选择结构、循环结构这三种基本结构的内容安排中,应把重点放在这三种结构的应用环境上,特别是围绕这三种基本结构的程序设计思想与方法,而应该弱化这三种基本结构的语法、格式,特别是应该减少输入输出的格式控制符的篇幅,只要让学生了解各种程序设计语言都有各自不同的语法格式规定即可;还比如,C语言在构造数据类型的内容安排中,要重点介绍引入构造数据类型的目的,而非构造数据类型本身的编写格式;此外,C语言对于程序设计非共性的知识,比如二级指针(函数指针)、文件函数等内容,则可以在教材中删减。

(二)遵循学习规律,重整教材结构

学生知识建立的过程是认知与实践交替运用的过程,单纯的认知与单纯的实践都不能形成完整的知识建构,知识学习的过程就是认知、实践、再认知、再实践的循环过程,知与行不断交替以达到统一。前文所述,程序设计类课程对于高职院校信息类专业的学生而言,是入学之后的第一门专业基础课,既没有前导课,也没有同期学习的同类课,而且与他们在大学之前所接触的知识完全不同,是一片极为陌生的知识领域。因此,在教材的结构设计中,应注重将内容由浅入深、循序渐进,切忌将难点重点集中,以免让初学者遇到太多难题,磨灭学习的积极性。比如,数据类型和变量的定义这部分内容,是《C语言程序设计》学习之初的内容,可与C语言程序的小案例结合起来做简单的介绍,目的是让初学者了解数据类型、变量定义的基本方法及作用,当学习了函数的知识之后,可以再对数据的存储、变量的定义过程、变量的作用域和有效性加以深入介绍;还比如,运算符与表达式这部分内容,可以在简单程序设计部分只告诉学生如何使用,让学生较快地进入编程阶段,而在学生学习过三种基本结构之后,再将运算符与表达式进行深入透彻的讲解,则学生能够将结构化程序设计与运算符表达式相结合,对知识的掌握更加完整和彻底。

(三)构造学习框架,强化设计思维

在以往的《C语言程序设计》教学过程中,当要求学生对某个案例进行编程时,学生通常了解程序生成的大致结构,但是对程序具体的编写过程就感觉无从下手,究其根源就在于C语言教学方式与实际解决问题的途径相脱离。当教学内容偏重于语法规则和编程格式的介绍而忽视培养解题思路与解题方法时,学生就无法独立编写完整的程序。因此,为使学生理解和掌握编程方法,教材中各章节在设计编程案例时,应建立一个学习框架,按照“变量分析”“设计思路”“程序代码”“运行结果”“说明与思考”进行设置――对于某一个具体问题,首先分析解决问题需要设置哪些变量及变量的数据类型,接着分析解决问题的具体思路及步骤,给出程序流程;然后,写出程序代码并调试运行,得出结果,并对重点语句进行注释;最后,针对程序设计和实现过程中容易出现的错误及需要注意的问题给出必要的说明,让学生能够充分掌握程序设计整个过程中的思考方法。

(四)针对学生学习特征,适当降低难度

教材的面向对象是学生,所以在教材编写过程中必须首先考虑教材内容与学生的接受能力,高职院校的学生与本科院校的学生在学习态度、学习能力和学习习惯上还是存在一定差距的,高职学生相对来说缺少学习的主观能动性和钻研精神,因此,在保证知识点丰富的前提下适当降低内容的难度是编写高职教材需要遵循的首要原则。其次,高职院校的学生应注重其实际应用能力的培养,在面向高职学生的《C语言程序设计》教材中,我们可以删除或简化难度较大又不涉及程序开发共性的内容,如:浮点类型数据的存储格式、函数指针、数组与指针的关系等内容可以删除;C自增自减运算、位运算、共用体、文件操作等内容可以只介绍基本知识点而不做深入讨论。此外,教材中例题和习题的编排也要注意难度适中,尽量选择贴近生活又较为简单的案例,便于学生理解和接受,并且使之在编程过程中产生兴趣,让学生易于上手,在学习的过程中不断产生成就感,乐于对新知识进行更深入的挖掘和探索。

(五)夯实理论基础,注重实验环节

虽说高职学生注重的是技能培养,但作为信息类学生的第一门专业基础课,《C语言程序设计》还应起到奠定理论基础、训练编程理念的作用。因此,在教材的内容设计中,不能完全轻理论,还要把一些重要的理论讲述清楚。例如,三种基本结构(顺序结构、选择结构、循环结构)的流程及应用,要让学生能够将三种结构整合起来解决实际问题;算法是编程之真是思路之源,对一个问题首先要确定算法,才能根据算法步骤编写具体代码形成程序;“结构体”也是一种构造的数据类型,但对于数据类型的理解要更加透彻,有了数据类型的概念,对以后其他程序语言的学习就会更加轻松。教材内容设计上,还要加大实验环节的设计,实验内容按照设计性、验证性和综合性兼顾的原则设计题目,每道题目给出题目描述、题目分析、测试数据、提示代码和参考运行结果。其中,题目分析从变量分析和设计思路两个角度讨论,让学生能够充分体验程序设计整个过程中的思考方法,提示代码只是给出一小段代码,其余让学生进行补充,能够进一步锻炼学生的程序设计能力和创新思维能力,强调对学生分析解决实际问题能力的培养。

四、结语

高职《C语言程序设计》教材的改革与开发是一项既长期又必要的任务。教材要突出高职教学特色和教学规律,符合高职学生的特点,遵循“理论适度、内容生动、案例实用、难度相当”的编写要求。课题组教师结合多年教学经验和学生反馈,编写适合高职学生的《C语言程序设计》教材,并在使用过程中不断补充和完善,使教材成为课程的有效载体,成为教师的有利教具,成为学生的学习指引。

【参考文献】

[1]谭浩强.C语言程序设计[M].北京:清华大学出版社,

2005.

[2]廖雷.程序设计(C++版) [M].北京:机械工业出版社,

2004.

[3]李风云.C/C++程序设计基础[M].北京:人民邮电出版社,2003.

程序设计的结构篇6

关键词:问题驱动法;程学设计;教学方法;教学过程;教学效果

中图分类号:TP312文献标识码:A文章编号:1009-3044(2012)23-5659-02

Study on the Application of Question-driven Teaching Methodin Programming Design Courses

WANG Qing

(Xuzhou Radio and TV University, Xuzhou 221006, China)

Abstract: Combined with the programming courses’characteristics and the author’s teaching practice, this paper applies“question-driven teaching method”to the programming courses, and discusses the application of the question-driven approach from instructional design to instruction implementation with an example in the teaching of the Visual Basic program design course.

Key words: question driving teaching method; program design;teaching method;teaching process;teaching effect

“问题驱动教学法”是将提出问题,分析问题,解决问题作为主要内容和手段的教学法。它强调的是:学生的学习活动必须与任务或问题相结合,以探索问题来引导和维持学生的学习兴趣和动机,使学生主动建构自己的知识经验,通过新经验和原有知识经验的相互作用,充实和丰富自身的知识、能力。

笔者从事程序设计类课程的教学多年,在教学过程中多次尝试将“问题驱动教学法”应用其中,教学效果显著。该文通过《VB程序设计》中的一个教学案例,浅谈“问题驱动法”在程序设计类课程中的应用。

1教学案例分析

控制结构是程序设计类课程的必修内容,为体现“问题驱动法”在程序设计类课程中应用的普遍性,故特针对这一部分作为案例进行分析。

1.1教学内容和教学目标

通过本次课地学习,使学生掌握构成程序结构的几个基本语句;学习程序设计的基本方法,并能进行综合程序的设计,解决实际应用问题。

1.2教法分析

针对课程特点,将“问题驱动法”贯穿于整个教学过程中,精心设计各种问题情景,诱导学生思考,并配合讲述法、示例教学法、直观演示法。化静为动,激发学生的求知欲。使学生始终处于主动探索问题的积极状态,从而培养学生的思维能力和学习能力。

1.3教学程序

教学过程归纳为这样几步:提出问题(概念的引入)分析问题(各种流程结构格式讲解)解决问题(综合示例及实验)。上述环节间及各环节内部均使用“问题驱动法”不断引导学生思考,活跃课堂气氛,调动学生思考的积极性。现将具体教学过程展示如下:

1.3.1概念的引入和讲解(问题驱动法+讲述法):

提出问题:例1输入三个数,输出其中最大的数;例2输入10个数,输出其中最大的数。

分析问题:引导学生使用自然语言及流程图分别描述算法。并对学生的分析和描述适时进行补充和评价。

设计意图:由这两个问题的提出引出流程控制结构,并引导学生从流程图中初步认识顺序结构、分支结构和循环结构。引出概念:介绍流程控制结构的概念和各种流程控制结构的功能。

1.3.2 VB中的各种结构格式讲解(问题驱动法+讲述法+直观演示法+示例教学法)

1)简单选择结构

提出问题:例1和例2若要实现如何编写代码?

设计意图:引出选择结构的语法格式——单分支和双分支两种格式;及格式书写方式——单行书写和多行书写。

程序举例:例1编写代码,功能实现输入三个数,输出其中最大的数。

提出问题:两种格式有什么区别?条件判定结果若多余两种,该如何处理?

设计意图:通过问题一的提出,深入体会简单选择结构的语法构成;通过问题二的提出引出下一内容——嵌套结构。

2)选择嵌套结构

提出问题:例3对分段函数编程求解,实现输入x的值,输出y的值。

分析问题:使用简单选择结构应对有三种情况的问题,引导学生使用选择嵌套来完成编程。

代码展示:在VB环境中演示代码的书写过程,并展示运行的结果。要求学生注意:每组if语句的关键词互相对应。养成缩进的习惯可以避免出错。

提出问题:例4输入一学生成绩,评定其等级。原则是:90~100分为优秀,80~89分为良好,70~79分为中等,60~69分为及格,60分以下为不及格。

设计意图:该例起到承上启下的作用,即可复习上面的选择嵌套,使学生能够灵活应用所学,通过对选择嵌套的代码分析,还可引出多分支结构。

3)多分支结构

概念分析:多分支结构语法格式——Elseif形式和Select Case形式。

代码展示:将例3和例4的代码用以上两种格式实现。

4)循环结构

提出问题:例2算法回顾。

引出概念:do循环结构语法格式——While循环和Until循环。

程序举例:利用同一个例子(例5求1~10十个数的和)分析四种结构的异同点。在VB环境中逐语句运行程序,观察循环结构的执行次序。

提出问题:使用while和until关键词,后面的循环条件有什么区别?如果循环条件一次都不成立,那么语句组执不执行?

设计意图:通过上述问题的提出和分析,深入体会do循环四种形式的功能和用法。

提出引导性问题:使用Do循环需要注意的问题是,循环体中一定有一条语句可以改变循环条件,否则将造成死循环。而另一种循环语句——for语句恰巧可以避免因这个问题而造成的死循环。

引出概念:for循环语法格式。

程序举例:用for循环实现例5求1~10十个数的和。在VB环境中逐语句执行程序,观察循环结构的执行次序。并提出问题,当退出循环时,循环变量的值是多少?

设计意图:同样的例子,分别用do循环和for循环来实现,使学生在熟悉语法结构的同时,体会for循环的便捷和严谨。

1.3.3综合应用举例(问题驱动法+直观演示法+示例教学法)

1)综合示例1

提出问题:代码实现例2输入10个数,打印输出其中最大的数。

设计意图:首尾呼应,且该例综合了三种流程控制结构,通过该例的代码编写及讲解,能较好的总结本次课所学。2)综合示例2

提出问题:在窗体上输出九九乘法表。

设计意图:通过学生所熟悉的示例,引导学生分析问题的方法、总结问题的规律,最终解决教学难点问题——循环嵌套。

1.3.4课后练习布置

编写代码,在窗体上打印输出一些图形(金字塔、倒金字塔等)。

设计意图:通过有趣的图形输出,巩固学生们对循环和循环嵌套这两个重难点问题的理解,解决学生对循环语句的恐惧感。愉快地编程。

2结束语

“问题驱动教学法”的特点是教师通过对教学过程的巧妙设计,将要讲授的知识通过问题展开,使学生通过回答或解决问题来达到掌握所学知识的目的。而对于程序设计类课程的教学,不仅要注重知识的传授,更要培养学生分析问题、解决问题的能力。因此,“问题驱动教学法”应广泛的应用在程序设计类课程中,这一应用还需要更深入地探索和研究。该文仅做初步探讨,以期能抛砖引玉。

参考文献:

[1]龚沛曾,杨志强,陆慰民.《Visual Basic程序设计教程》(第三版)[M].高等教育出版社, 2007.

[2]夏承遗,李文杰,孙世温.问题驱动的“C++程序设计”教学方法研究[J].计算机教育, 2010(1):122-125.

[3]池瑜莉.问题驱动法在高职《VB程序设计》课程教学中的应用[J].环球市场信息导报(理论), 2011(7):139-139.

[4]巩萃萃,王婧.《C语言程序设计》教学方法探讨[J].黑龙江科技信息, 2012(3):157.

[5]李建晶,陈晓,张准.计算机专业程序设计类课程教学方法探讨[J].信息技术教学与研究, 2012(25):100-101.

[6]蒋秋英.浅谈任务驱动教学法[J].电脑学习, 2010(2):62-63.

[7]金秋春,童小利. C程序设计教学方法探索[J].科技信息, 2012(5):262-263.

程序设计的结构篇7

毕业设计开题报告1.课题名称:

钢筋混凝土多层、多跨框架软件开发

2.项目研究背景:

所要编写的结构程序是混凝土的框架结构的设计,建筑指各种房屋及其附属的构筑物。建筑结构是在建筑中,由若干构件,即组成结构的单元如梁、板、柱等,连接而构成的能承受作用(或称荷载)的平面或空间体系。

编写算例使用建设部最新出台的《混凝土结构设计规范》gb50010-2002,该规范与原混凝土结构设计规范gbj10-89相比,新增内容约占15%,有重大修订的内容约占35%,保持和基本保持原规范内容的部分约占50%,规范全面总结了原规范实施以来的实践经验,借鉴了国外先进标准技术。

3.项目研究意义:

建筑中,结构是为建筑物提供安全可靠、经久耐用、节能节材、满足建筑功能的一个重要组成部分,它与建筑材料、制品、施工的工业化水平密切相关,对发展新技术。新材料,提高机械化、自动化水平有着重要的促进作用。

由于结构计算牵扯的数学公式较多,并且所涉及的规范和标准很零碎。并且计算量非常之大,近年来,随着经济进一步发展,城市人口集中、用地紧张以及商业竞争的激烈化,更加剧了房屋设计的复杂性,许多多高层建筑不断的被建造。这些建筑无论从时间上还是从劳动量上,都客观的需要计算机程序的辅助设计。这样,结构软件开发就显得尤为重要。

一栋建筑的结构设计是否合理,主要取决于结构体系、结构布置、构件的截面尺寸、材料强度等级以及主要机构构造是否合理。这些问题已经正确解决,结构计算、施工图的绘制、则是另令人辛苦的具体程序设计工作了,因此原来在学校使用的手算方法,将被运用到具体的程序代码中去,精力就不仅集中在怎样利用所学的结构知识来设计出做法,还要想到如何把这些做法用代码来实现,

第一整理该文章……

4.文献研究概况

在不同类型的结构设计中有些内容是一样的,做框架结构设计时关键是要减少漏项、减少差错,计算机也是如此的。

建筑结构设计统一标准(gbj68-84)该标准是为了合理地统一各类材料的建筑结构设计的基本原则,是制定工业与民用建筑结构荷载规范、钢结构、薄壁型钢结构、混凝土结构、砌体结构、木结构等设计规范以及地基基础和建筑抗震等设计规范应遵守的准则,这些规范均应按本标准的要求制定相应的具体规定。制定其它土木工程结构设计规范时,可参照此标准规定的原则。本标准适用于建筑物(包括一般构筑物)的整个结构,以及组成结构的构件和基础;适用于结构的使用阶段,以及结构构件的制作、运输与安装等施工阶段。本标准引进了现代结构可靠性设计理论,采用以概率理论为基础的极限状态设计方法分析确定,即将各种影响结构可靠性的因素都视为随机变量,使设计的概念和方法都建立在统计数学的基础上,并以主要根据统计分析确定的失效概率来度量结构的可靠性,属于“概率设计法”,这是设计思想上的重要演进。这也是当代国际上工程结构设计方法发展的总趋势,而我国在设计规范(或标准)中采用概率极限状态设计法是迄今为止采用最广泛的国家。

结构的作用效应常见的作用效应有:

1.内力。

轴向力,即作用引起的结构或构件某一正截面上的法向拉力或压力;

剪力,即作用引起的结构或构件某一截面上的切向力;

弯矩,即作用引起的结构或构件某一截面上的内力矩;

扭矩,即作用引起的结构或构件某一截面上的剪力构成的力偶矩。

2.应力。如正应力、剪应力、主应力等。

3.位移。作用引起的结构或构件中某点位变(线位移)或某线段方向的改变(角位移)。

4.挠度。构件轴线或中面上某点在弯短作用平面内垂直于轴线或中面的线位移。

5.变形。作用引起的结构或构件中各点间的相对位移。变形分为弹性变形和塑性变形。

6.应变:如线应变、剪应变和主应变等。

极限状态整个结构或结构的一部分超过某一特定状态就不能满足设计规定的某一功能要求,此特定状态称为该功能的极限状态。极限状态可分为两类:

1.承载能力极限状态。结构或结构构件达到最大承载能力或达到不适于继续承载的变形的极限状态:

(1)整个结构或结构的一部分作为刚体失去平衡(如倾覆等);

(2)结构构件或连接因材料强度被超过而破坏(包括疲劳破坏),或因过度的塑性变形而不适于继续承载;(3)结构转变为机动体系;

(4)结构或结构构件丧失稳定(如压屈等)。

2.正常使用极限状态。结构或结构构件达到使用功能上允许的某一限值的极限状态。出现下列状态之一时,即认为超过了正常使用极限状态:

(1)影响正常使用或外观的变形;

(2)影响正常使用或耐久性能的局部损坏(包括裂缝);

(3)影响正常使用的振动;(4)影响正常使用的其它特定状态。

结构设计的基本任务,是在结构的可靠与经济之间选择一种合理的平衡,力求以最低的代价,使所建造的结构在规定的条件下和规定的使用期限内,能满足预定的安全性、适用性和耐久性等功能要求。为达到这个目的,人们采用过多种设计方法。以现代观点看,可划分为定值设计法和概率设计法两大类。

1.定值设计法。将影响结构可靠度的主要因素(如荷载、材料强度、几何参数、计算公式精度等)看作非随机变量,而且采用以经验为主确定的安全系数来度量结构可靠性的设计方法,即确定性方法。此方法要求任何情况下结构的荷载效应s(内力、变形、裂缝宽度等)不应大于结构抗力r(强度、刚度、抗裂度等),即s≤r。在20世纪70年代中期前,我国和国外主要都采用这种方法。

2.概率设计法:将影响结构可靠度的主要因素看作随机变量,而且采用以统计为主确定的失效概率或可靠指标来度量结构可靠性的设计方法,即非确定性方法。此方法要求按概率观念来设计结构,也就是出现结构荷载效应3大于结构抗力r(s>r)的概率应小于某个可以接受的规定值。这种方法是20世纪40年代提出来的,至70年代后期在国际上已进入实用阶段。我国自80年代中期,结构设计方法开始由定值法向概率法过渡。

面向对象编程

使创建windows程序较为容易的关键技术是面向对象编程,或oop。这种技术可以创建可重用组建,它是程序的组成模块。

几个定义

控件提供程序可见界面的可重用对象。控件的示例有文本框、标签和命令按钮。

事件由用户或操作系统引发的动作。事件的示例有击键、单击鼠标、一段时间的限制,或从端口接收数据。

方法嵌入在对象定义中的程序代码,它定义对象怎样处理信息并响应某事件。例如,数据库对象有打开纪录集并从一个记录移动到另一个记录的方法。

对象程序的基本元素,它含有定义其特征的属性,定义其任务和识别它可以响应的事件的方法。控件和窗体是visualbasic中所有对象的示例。

过程为完成任务而编写的代码段。过程通常用于响应特定的事件。

属性对象的特征,如尺寸、位置、颜色或文本。属性决定对象的外观,有时也决定对象的行为。属性也用于为对象提供数据和从对象取回信息。

5.设计主要内容

本软件适用于现浇钢筋混凝土多层、多跨的框架的设计。毕业设计要完成的工作包括:

1.平面钢架分析程序的改造

对结构力学教研室版平面钢架分析程序进行修改和补充。要求:

(1)编写自动生成节点坐标和单元节点编号的程序,或以图形方式输入计算简图。

(2)修改程序,使之适合多工况内力计算;(3)根据输入、输出数据的特点,设计适当的人机界面。输出应可选的显示各构件端力和内力图。

2.编写钢筋混凝土多层多跨框架机构的构件设计程序

(1)根据有关的规范,应明确计算的各种荷载(恒载、楼屋面活载、风荷载和地震作用等)的计算方法,在次基础上编写自动生成各种荷载作用下的结点荷载和单元荷载的程序。

地震作用按底部剪力法确定。自振周期用经验公式确定。

(2)计算各种荷载单独作用时框架各杆件的内力。计算结构存放在各自的杆端力(随机)文件中。

对竖向荷载下的梁端弯距进行塑性调幅。

(3)在(2)中产生的杆端力文件基础上,分别计算各种可能的荷载组合下,梁、柱控制截面的内力。计算结果存放在适当的文件中。

(4)从(3)生成的文件中选出最不利组合,同时给出截面配筋。

梁、柱截面配筋的确定应考虑抗震设计的要求。

(5)部分编程较熟练的同学可根据计算结果和构造规定,用auto-cadvba绘制梁、柱配筋图。

5.成果形式

本毕业设计的成果应包括:

1.可运行的、并能给出正确计算结果的源程序

在存放源程序的软盘中,应至少有一个算例的数据文件,可在基本不需另外键入数据的前提下,显示正确地运行结果。

2.软件使用手册

这是为用户准备的关于软件使用方法、操作步骤和其他必要的文字材料。

3.软件说明书

这是软件作者的工作档案,是软件维护的基本资料。其中应包括:

(1)软件所依据的工作档案、力学和工程结构模型的较为详细的描述,主要的计算公式及其使用的符号的含义,重要算法的文字说明:

(2)程序的结构:模块的划分的情况、各模块相互之间的关系及各模块的功能;

(3)带有较为详细的注释的源程序文本。其中应注明各标识符的含义(尽可能的采用通用公式中的符号)。各程序段的功能、相应的数学公式和特殊算法的说明;(4)为使他人根据软件说明书读懂你的程序所必需的其他资料。

(5)部分编程较熟练的同学可递交梁、柱配筋图纸一张。

4.对自己所编程序的评价

(1)对算例计算结果的合理性进行必要的分析;

(2)总结软件设计过程中的经验和及教训,提出设计改进意见。

以上各项资料处源程序文本以软盘形式提交外,其余均用计算机打印。

6.进度计划

第一周毕业实习,参观工程,收集资料。

第二周需求分析:描述计算机模型,编些初步的软件说明书。

第三周软件设计:选择模块划分的方案

第四周模块设计:数据输入界面设计(梁柱截面数据)

或数据输入界面设计(可视化图形输入)

第五周数据输入界面设计(框架数据、附加荷载)

第六周模块设计:荷载计算(恒载、活载),相应的内力计算

第七周荷载计算(风荷载、地震作用),相应的内力计算

第八周模块设计:梁配筋计算

第九周梁荷载组合,确定梁配筋

第十周梁荷载组合,确定梁配筋

第十一周模块设计:柱配筋计算

第十二周柱荷载组合,确定柱配筋

第十三周柱荷载组合,确定柱配筋

第十四周软件测试或用autocadvba绘制梁、柱配筋图;

第十五周软件测试

第十六周整理源程序,编写软件说明数和用户手册

第十七周编写软件说明书和用户手册,形成毕业设计全部文件,准备答辩。

程序设计的结构篇8

摘要:本文根据高职学生特点,从实际教学经验出发,分析了高职院校C 语言程序设计教学现状,并简单讲述了C 语言主要知识点,并提出适合高职学生学习的方法。

关键词 :C 程序高职院校

《C 语言程序设计》是高职院校计算机及电子信息相关专业的重要专业基础课。该课程主要培养学生模块化程序设计的逻辑思维能力,使学生掌握程序设计的一般方法和技巧,并锻炼学生的思维能力和创新意识。

1 C 语言程序设计教学现状

C 语言是理想的结构化语言,描述能力强。C 语言的教学要求教师具备良好的教学能力和清晰的程序设计思想,也要求学生有一定的逻辑设计能力。一般高职院校的C 语言设置在一年级开设,学生刚刚进入大学,还没有从高中生的身份完全转变过来。虽然在高中阶段学习了计算机应用基础课程,但是他们完全没有程序设计的概念,经过一段时间的学习,觉得这门课很难学、学不会。经过两个学期的C 语言教学,从实际教学经历来看,主要的制约因素有以下四个:第一、学生刚进入大学,刚接触编程语言,对计算机原理理解不深,对编程更是不了解,不具备语言编写能力。第二、高职学生文化基础比较差,尤其是数学基础差,导致学生逻辑思维能力差,而C 语言的学习对这方面能力又有较高的要求,所以对于稍微复杂一点的程序学生就觉得难以理解。第三、英语基础差,很多高职学生对英语望而生畏,而计算机语言基本都是用英语来实现的,C语言亦是。很多学生看到程序中的英语单词就头疼,从心理上就觉得自己学不会C 语言,也就放弃了。第四、很多学生,在上课的时候能听懂了,但是上机的时候头脑一片空白,不知从哪里入手编写程序。部分能够写出程序的,也是按照教材或老师所讲的例子进行编写,一旦题目要求有变化,便不会做了。

2 C 语言教学规范

有一简单C 程序如下:

int main()

{

int a,b,m;

int max(int x,int y);

printf(" 请输入两个数值:\n");

scanf("%d,%d",&a,&b);

m=max(a,b);

printf(" 两个数中较大的为%d\n",m);

return 0;

}

int max(int x,int y)

{

int z;

if(x>y)

z=x;

else

z=y;

return z;

}

该程序的功能是通过键盘输入两个数值,经过程序的运行,将其中较大的数值进行输出。该程序简单,易于理解,但是包含C 语言中很多必须掌握的知识点。简单介绍如下:

2.1 C 语言程序的结构通过上面简单例子可以看出,一个C 语言程序的结构有以下特点:①一个程序由一个或多个源程序文件组成。②函数是C 程序的主要组成部分。程序的全部工作几乎都是由各个函数分别完成的,函数是C 程序的基本单位。在设计良好的程序中,每个函数都用来实现一个或几个特定的功能。③一个函数包含两个部分。函数首部和函数体两个部分构成。基本形式如下:函数类型和函数名(参数类型、参数名称……)。函数体包含声明部分和执行部分。声明部分,定义本函数中所用到的变量。执行部分,指定函数中所进行的操作。④程序总是从main 函数开始执行的。⑤C 程序中对计算机的操作是由函数总的语句完成的。C 程序的书写格式比较自由,一条语句可以分写在多行,也可以将多条语句写在一行。但一般习惯每行只写一条语句。⑥所有的C 语句的最后必须要有一个分号。⑦C 语言本身不提供输入输出语句。输入和输出操作是由库函数scanf 和printf 等函数来完成的。

2.2 掌握C 语言的基本结构大部分的语言都是由顺序结构、选择结构和循环结构三种基本结构构成的,而C语言也不例外。

2.2.1 顺序结构。在顺序结构中,各语句是按自上而下的顺序执行的,执行完上一个语句就自动执行下一个语句,是无条件的,不必做任何判断,是最简单的程序结构。

2.2.2 选择结构。在现实生活中需要进行判断和选择的情况很多。比如,从A 城市出发上高速公路,到一个岔口,有两个方向,一个去B 城市方向,一个去C 城市方向。

驾车者到此需要自己根据自己的目的地进行判断,选择其中一个路径。在日常生活或工作中,类似这样需要判断的情况很多。比如:如果考试不及格,要补考;70 岁以上的老人,乘公交免票等等。

程序中,选择结构是一种重要的程序结构。本文前面的例子中就用到了选择结构,如果x>y,较大值为x,否则为y。该函数中,采用了if 语句中,双分支选择结构。在C语言中有两种选择语句:①if 语句;②switch 语句。

①if 语句形式有三种形式

·if(表达式)语句

·if(表达式)语句1

else 语句2

·if(表达式) 语句1

else if(表达式2)语句2

else if(表达式3) 语句3

else if(表达式m) 语句m

else 语句m+1

②switch 语句一般形式

switch(表达式)

{

case:常量表达式1:语句1

case:常量表达式2:语句2

: : :

case:常量表达式n:语句n

default:语句n+1

}

2.2.3 循环结构。在日常生活中或是在程序所处理的问题中常常遇到需要重复处理的问题。比如:要向计算机输入全班50 个学生的成绩等。在C 语言中,需要多次重复执行一个或多个任务的问题可以用循环来处理。循环结构有while、do…while 和for 语句来实现。

while 语句:

while(表达式)语句

do…while 语句:

do 语句while(表达式);

for 语句:

for(表达式1;表达式2;表达式3)语句

3 怎样学习C 程序设计

根据C 语言程序设计课程特点,结合今年来的从教经验,综合高职学生特点,C 语言程序设计教学应注意以下几个方面:

①要着眼于培养能力。C 语言程序设计是一门操作性很强的课程,在教学过程中应该注意培养学生分析问题、构造算法、编程和调试程序的能力。②要把重点放在解题的思路上。初学者不要在语法细节上死记硬背。一开始学习只要能看懂程序,能够编写简单的程序,然后逐步深入。

语法细节可以在后续的学习及长期的时间中掌握。③掌握基本要求,注意打好基础。在学校学习程序设计,主要学习程序设计的方法,进行程序设计的基本训练,为进一步学习打下良好的基础。④重视上机实践环节。该类课程学的好与坏,不是看你“知不知道”,而是“会不会做”。对程序而言,光靠听课和看书是学不好的,除了学习本课程要掌握的概念,还要动手编写程序,上机调试程序。⑤要学会举一反三。学习程序设计,关键是学习程序设计的思路和方法。

学会一种计算机编程语言,在学习另外一种编程语言时应该不会太困难。各种计算机编程语言,其基本规律是一样的,在学习时一定要学活用活,举一反三,掌握规律,在后期学习时就:

[1]曹莎莎.C 语言教学研究与思考[J].价值工程,2012(01).

[2]雍全明.C 语言教学改革探索与实践[J].新余高专学报,2005(02).

[3]周强.C 语言教学方法探讨[J].滁州学院学报,2004(04).

上一篇:云计算服务的特点范文 下一篇:建筑设计总结范文