文档库 最新最全的文档下载
当前位置:文档库 › 结构矩阵程序设计心得

结构矩阵程序设计心得

结构矩阵程序设计心得
结构矩阵程序设计心得

结构矩阵程序设计心得体会

地下09-6班 20092222 尛乇结构矩阵分析的原理、方法以及在计算机上的实现是结构力学的重要内容之一。学好这门课,是对本科土木专业学生的基本要求。

本学期我们开始结构矩阵分析原理与程序设计的学习,其中包括理论课时——第一章结构矩阵分析原理、第二章平面钢架静力分析的程序设计。其实,结构矩阵分析的基本原理与传统的结构力学原理相同,只是把计算过程用矩阵运算来表示,从而,是复杂多变的结构受力在计算机上实现。

矩阵位移法分为一般刚度法和直接刚度法,二者基本原理相同,形成整体刚度方程的方法不同,我们学习的是直接刚度法。理论课结束后,我们有亲自上机把所学的方法在计算机上逐步实现,从而提高我们对结构矩阵的学习兴趣及理解。

此次上机实战不仅是知识的检验更是团队配合的较量,在得到老师给出的题目之后,我们迅速有效地分配任务:把代码输入计算机程序,再进行调试程序,调试完成后根据书中例题检验程序的正确性。在这一系列的过程中来不得半点粗心大意,一个小小的错误,可以在结果中可以被放大数百倍数千倍,就像老师挂在嘴边那句话:输入的是垃圾,输出的可定时垃圾。

程序调试完成我们的工作就成功了一半,此后,把所给题目转换成代码,然后通过程序的运行,得到输出到答案。而这个过程中,把题目转换成数字代码尤为重要,只要仔细认真倒也并非难事,我们发现:计算机能用到结构力学中,着实又方便有精确。结果输出后,我们再画出受力图,最后整理成文档,就算功德圆满了。

在这次结构设计程序过程中,我们的确遇到几个难题,不知从何下手,冥思苦想得不到结局之法,最后还是团队间互相商量,查看书籍,询问老师等,终于把问题一一解决。譬如说,带有铰接点的结构如何在平面钢架的源程序中实现,经过多方查询,只要分三步走即可:第一、可以在铰接点处,把一个杆分成两个单元;第二、靠近铰接的地方,设置一个很短的单元;第三、让这个单元的刚度EI值取得很小。也就是说,加一个很小的单元,把这个单元的弯曲刚度取得很小,这个单元就接近铰接点了,计算时让把这个当做钢节点。

这次上机,让我们掌握了如何处理一般钢架问题、桁架问题、已知支架位移问题、平面钢架含铰接点问题、连续梁问题、组合梁问题等等,使我们对结构矩阵法有了更深的理解与掌握,思路更加开阔,相信为以后的工作打下良好的基础,在遇到问题后,进行简化成平面钢架静力分析,解决用手算相当复杂的问题。同时,我们懂得了互相帮助的重要性,遇到问题,群力群策,使问题得到完美解决。

波士顿矩阵分析法

波士顿矩阵分析法 波士顿矩阵是由波士顿咨询集团(Boston Consulting Group, BCG)在上世纪70年代初开发的。BCG矩阵将组织的每一个战略事业单位(SBUs)标在一种2维的矩阵图上,从而显示出哪个战略事业单位提供高额的潜在收益,以及哪个战略事业单位是组织资源的漏斗。BCG矩阵的发明者、波士顿公司的创立者布鲁斯认为“公司若要取得成功,就必须拥有增长率和市场分额各不相同的产品组合。组合的构成取决于现金流量的平衡。” 波士顿矩阵通过市场增长率和市场占有率两个维度对业务单位进行分析 ? 横坐标表示相对市场份额,表示各项业务或产品的市场占有率和该市场最大竞争者的市场占有率之比。比值为1就表示此项业务是该市场的领先者。 ? 纵坐标为市场成长率,表明各项业务的年销售增长率。具体坐标值可以根据行业的整体增长而定; ? 图中圆圈表示企业现有的各项不同的业务或产品,圆圈的大小表示它们销售额的大小,圆圈的位置表示它们的成长率和相对市场份额所处的地位。 通过分析不同的业务单位在矩阵中的不同位置可以将业务单位分解为出4 种业务组合。 (1)问题型业务(Question Marks,指高增长、低市场份额) 处在这个位置中的是一些投机性产品,带有较大的风险。这些产品可能利润率很高,但占有的市场份额很小。这通常是一个公司的新业务,为发展问题业务,公司必须建立工厂,增加设备和人员,以便跟上迅速发展的市场,并超过竞争对手,这些意味着大量的资金投入。“问题”非常贴切地描述了公司对待这类业务的态度,因为这时公司必须慎重回答“是否继续投资,发展该业务?”这个问题。只有那些符合企业发展长远目标、企业具有资源优势、能够增强企业核心竞争力的业务才得到肯定的回答。得到肯定回答的问题型业务适合于采用战略框架中提到的增长战略,目的是扩大SBUs的市场份额,甚至不惜放弃近期收入来达到这一目标,因为要问题型要发展成为明星型业务,其市场份额必须有较大的增长。得到否定回答的问题型业务则适合采用收缩战略。 (2)明星型业务(stars,指高增长、高市场份额) 这个领域中的产品处于快速增长的市场中并且占有支配地位的市场份额,但也许会或也许不会产生正现金流量,这取决于新工厂、设备和产品开发对投资的需要量。明星型业务是由问题型业务继续投资发展起来的,可以视为高速成长市场中的领导者,它将成为公司未来的现金牛业务。但这并不意味着明星业务一定可以给企业带来源源不断的现金流,因为市场还在高速成长,企业必须继续投资,以保持与市场同步增长,并击退竞争对手。企业如果没有明星业务,就失去了希望,但群星闪烁也可能会闪花企业高层管理者的眼睛,导致做出错误的

实验2-循环结构程序设计

实验2 循环结构程序设计 一、实验目的 1.学习循环语句for、while和do-while语句的使用方法。 2.学习用循环语句实现各种算法,例如穷举法、迭代法等。 3.进一步熟悉C语言集成环境的使用方法 二、实验内容 1.用while循环实现数据统计问题。:从键盘输入一批任意数量的整数,统 计其中不大于100的非负数数值的个数。 2.编写并调试程序,使用do-while循环控制语句实现上面的数据统计问 题。调试数据仍参照上面给出的几种情况设计使用。 3.编写并调试程序,使用for循环控制语句实现上面的数据统计问题。 4.阶乘累加问题。编写程序,求1+2!+3!+…+n!的值。 三、实验指导 1.用while循环实现数据统计问题。 ?编程分析 由于输入数据个数是不确定的,因此每次执行程序时,循环次数都是不确定的。在进行程序设计时,确定循环控制的方法是本实验的一个关键问题。循环控制条件可以有多种确定方法: (1).使用一个负数作为数据输入结束标志。 (2).输入一个数据后通过进行询问的方式决定是否继续输入下一个数 据。 ?参考程序 参考程序一 /* 使用负数作为数据输入结束标志的程序 */ #include "stdio.h" void main()

{ int m,counter=0; while(1) { printf("请输入一个整数:"); scanf("%d",&m); if(m<0) break; if(m<=100) counter++; printf("\n"); } printf("符合要求的整数个数为: %d\n",counter); } 参考程序二 /* 通过进行询问的方式决定是否继续输入下一个数据的程序 */ #include int main() { int m,counter=0; char ask; while(1) { printf("请输入一个整数:"); scanf("%d",&m); getchar(); if(m>=0&&m<=100) counter++; printf("继续输入下一个数据?(Y/N)"); ask=getchar();

循环结构程序设计代码

实验五代码: 基础能力落实: 1)编写一个程序,将用分钟表示的时间转化成以小时和分钟表示的时间。使用#define 或者const来创建一个代表60的字符常量。使用while循环来允许用户重复键入值,并且当键入一个小于等于0的时间时终止循环。要求用while语句 #include int main(void) { const int minperhour = 60; int minutes, hours, mins; printf("Enter the number of minutes to convert: "); scanf("%d", &minutes); while (minutes > 0 ) { hours = minutes / minperhour; mins = minutes % minperhour; printf("%d minutes = %d hours, %d minutes\n", minutes, hours, mins); printf("Enter next minutes value (0 to quit): "); scanf("%d", &minutes); } printf("Bye\n"); return 0; } 2)编写一个程序打印一个表,表的每一行都给出一个整数,它的平方以及它的立方,要求用户输入表的上限和下限。使用一个for循环。 #include int main( void ) { int lower, upper, index; int square, cube; printf("Enter starting integer: "); scanf("%d", &lower);

循环结构程序设计典型例题

循环结构程序设计典型例题 例1有数列2/3、4/5、6/9、10/15……求此数列前30项的和。 算法分析: 对于数列的题,首先要找出通项公式,或前后项的计算关系公式,根据公式求所需。由于数列的题一般执行次数能确定,用for语句来编写比较方便。 此题,前后项的关系是:后一项的分子是前一项的分母加1,后一项的分母是前一 项的分子加分母。解题思路是用循环语句求各项,并把值累加,因为是求前30项的和,循环执行30次。 1.初值i=2,j=3,s=0; 2.用n从1到30循环 3.s=s+ i/j; 4.c=i; i=j+1; j=c+j; 5输出s; 程序: #in clude mai n() { int i=2,j=3, n,c; float s=0; for(n=1; n<=30 ;n++) { s=s+(float)i/j; c=i; i=j+1; j=c+j; } printf( "n%f” ,s); } 此题中的n与循环体中的执行语句没有数值上的联系,仅仅用做决定循环执行的次数。 例2:下面这个程序,想想它实现的是什么功能? #in clude mai n() { int i,s=0; for(i=1;i<=100;i++) {if(i%5==0) continue; s=s+i; } printf( n“d' ,s); } 在左边的程序中,i从1到100循环,当i是5的倍数时,直接进入下一个i,当i不是5的倍数时,把i累加到s,最后输出s。所以,这个程序实现的是求1~100中间所有非5的倍数的数之和。 例3:输出n~m中(0<*m)能被3整除,且至少有一个数字是5的所有数。 算法分析:

结构矩阵分析原理与程序设计上机心得

结构矩阵分析原理与程序设计上机心得 在结构分析中,把各项计算公式表达称矩阵形式,进行矩阵运算,称为矩阵方法。再利用计算机对矩阵进行运算,就可以很快得到计算结果。我们所编写的程序就是进行这项工作。 整个程序由各个子块组成:数组变量的定义,原始数据的输入、输出(input1),组集总刚(wsiff)、综合结点荷载的计算(load)、支承条件的引入(bound)、解方程的结点位移(gauss)、各单元最后杆端力的计算(nqm)。这些就是结构矩阵分析的总体思路和流程. 在程序编写中,首先是要细致,要在理解程序的基础上输入程序,知道每个变量的定义,每个子块的作用及其运算原理,结合PAD图理解,程序输错时可以在电脑提示下修改,最后使程序运行成功。再者就是数据输入时的问题。数据输入前要对结构中的节点单元进行编号,结构中的单元划分必须使个单元均质,等截面直杆;结点编号先编可动支座,再编不可动支座,这主要是因为程序使用前后处理结合法。单元局部坐标系由小号到大号。输入荷载时,若荷载与杆件成一定夹角,则需要把荷载分解成沿杆轴方向和垂直于杆轴方向的荷载,变成一个杆件上的两个荷载,按照表2.3进行两次输入,局部坐标系下荷载的正负也需要注意,例如例4.1中从结点左到右的单元上的荷载向上但是负值。在输入直接结点荷载时若某非固定支座上有结点荷载,则该结点上与约束相对应的荷载分量可以输入任意值。该结点上数据输入时需把各字母代表的含义搞清楚按照input1中的程序编写的输入顺序输入。最后,我所做的修改程序题中一个是改为主一付零法,首要是知道其原理,即先把总刚中主元素换为1,使用r(k,k)数组,使用循环语句时i,j的循环范围,例如i是从1 到n,n是总刚阶数,在前面程序中已给出,可以直接使用。修改弹性支座的过程中,关键是弹性支座输入时的处理,要先撤去弹性支座,使该支座在弹性约束方向上自由移动;第二步则需要把弹性支座信息输入,输入其弹性支座个数,编号(i),对应的位移变量编号(ibd(i)),刚度系数(sk(nk)),最后在结构刚度矩阵中【k】中与⊿i相对应的主元素kii加上弹性刚度系数k。在程序中体现为由循环对数组r(k,k)每个加上sk(j)相应的值。 整个上机过程中遇到了一些困难,但只要静下心来,慢慢研究程序和原理,并与老师和同学交流,就可以发现问题所在并一步步解决。通过这几周的学习,我对结构矩阵的原理和程序有了深入的理解,学会了它在各种结构中的应用。同时我发现利用计算机可以很快的解出结构内力等,对超静定次数较多的结构抵用时很方便,但也有其缺陷,程序比较死板,我们在输入数据时自己首先要做好编号等工作,针对程序,编号与我们手算也是不同的。总之,通过这几周的学习我获益匪浅,对程序由了深入理解。最后感谢老师的指导和帮助。

循环结构程序设计练习题

第三单元循环结构练习题 选择题: 1、有以下程序执行后的输出结果是()。 main( ) { int i,s=0; for(i=1;i<10;i+=2) s+=i+1; printf("%d\n",s);} A.自然数1~9的累加和 B.自然数1~10的累加和 C.自然数1~9中的奇数之和 D.自然数1~10中的偶数之和 2、以下关于for语句的说法不正确的是()。 A. for循环只能用于循环次数已经确定的情况 B. for循环是先判断表达式,后执行循环体语句 C. for循环中,可以用break跳出循环体 D. for循环体语句中,可以保含多条语句,但要用花括号括起来 3、若i和k都是int类型变量,有以下for语句 for(i=0,k=-1;k=1;k++) printf("*****\n"); 下面关于语句执行情况的叙述中正确的是()。 A.循环体执行两次 B.循环体执行一次 C.循环体一次也不执行 D.构成无限循环 4、已知 int t=0; while(t=1){...} 则以下叙述正确的是()。 A)循环控制表达式的值为0 B)循环控制表达式的值为1 C)循环控制表达式不合法 D)以上说法都不对 5、设有以下程序段 int x=0,s=0; while(!x!=0)s+=++x; printf("%d",s); 则 A)运行程序段后输出0 B)运行程序段后输出1 C)程序段中的控制表达式是非法的 D)程序段执行无限次 6、设i,j,k均为int型变量,则执行完下面的for语句后,k的值为()。for(i=0, j=10; i<=j; i++, j- -) k=i+j; A.6 B.9 C.10 D.11 7、C语言中,break; 语句可以用于循环语句和( )语句中。 A.if B.switch C.for D.while 8、for(i=0; i<=15; i++) printf("%d", i ); 循环结束后,i 的值为()。 A.14 B.15 C.16 D.17 9、与语句“while(!x)”等价的语句是()。 A. while(x==0) B. while(x!=0) C. while(x==1) D. while(x!=1) 10、下述程序段中,while循环执行次数是()。 int k=0;

矩阵式组织结构及相关案例

矩阵式管理的形式、优缺点及实施矩阵式管理时应注意的问题矩阵式管理是相对于那种传统的按照生产、销售、服务等设置的一维式管理而言的。矩阵式管理主要是将管理部门分为两种,一种是传统的职能部门,另一种是为完成某项专门任务而由各职能部门派人联合组成的专门小组,并指定专门负责人领导,任务完成后,该小组成员就各回原单位。从广义上讲,施工企业以职能部门组成的公司总部,以项目实施为核心的项目经理部,按不同专业、领域成立的子(分)公司为二级组织的管理结构,相对于公司而言,就是个矩阵式的管理体制。 矩阵式管理模式就是以产品线为纵轴,区域机构为横轴的交叉组织管理模式,是多产品线、跨区域或跨国企业经营的基本模式。矩阵式管理模式具有灵活、高效、便于资源共享和组织内部沟通等优势,可以适应多元化产品、分散市场以及分权管理等复杂条件。在矩阵组织中,强调区域本地化及产品业务垂直化,各地分公司和产品线负责人都可以更好地了解客户需求,提供差异化的产品及服务,赢得更多订单和市场。通过横向联系和纵向联系的管理方式,企业能够平衡运营中分权化与集权化问题,使各个管理部门之间相互协调和相互监督,更加高效地实现企业的经营目标。 矩阵式管理的优势 从企业运营的角度看,矩阵式管理有三大优势:一是人力资源得到充分利用;二是工作效率得到很大提高。企业可以在最短的时间内调配人力,组成一个团队,把不同职能的人才集中在起,解决些复杂的高难度问题;三是员工的综合才能得到锻炼。 从提高企业的市场竞争力的角度看,矩阵式管理具有以下优势:一是具有良好的前瞻性和扩展性。随着公司的不断发展,经营不断进入新的产品领域和竞争领域,企业迫切需要一种易于扩展的组织结构模式,避免每次结构调整都需要伤筋动骨,给经营带来损失。矩阵式结构可以很容易地以产品或区域的方式扩充新的建制,而不必对企业整体架构做出调整。因此具有良好的前瞻性;二是面向产品市场设计的组织架构具有强烈的市场导向意识。不同的产品进入不同的市场,采用不同的经营方式,可以有效地避免集团公司因突出主业产品而制定的经营策略和市场策略的一般化、简单化;三是经营目标的制定、执行情况的监控、考核办法的制定都比较简单,具有针对性,便于企业总体目标的实现。 矩阵式管理的缺陷 矩阵式管理模式存在的不足:矩阵式管理框架的节点太多,管理成本上升;人力资源紧张、人员素质跟不上导致区域机构管理不善;各业务线节点工作量不均,可能造成局部人力资源浪费;纵向、横向多管理线条交叉,管理难度加大。企业管理层次多,机构设置多造成的内部管理失控,基层执行力下降;管理流程设计复杂化。企业管理流程程序化是确保矩阵式管理取得成功的关键措施,与金字塔组织结构不同的是矩阵管理存在纵向与横向流程交叉的问题,因此,矩阵结构的管理流程设计相当复杂;资源共享和内部工作效率问题。企业的资源是有限的,合理的使用会降低使用成本,提高利用率,在矩阵式管理模式下,资源存在分散配置,资源共享问题比较突出。

选择结构程序设计

第四章择路而行---选择结构程序设计 第一节路口诀择----条件语句 一、教学目标 1、掌握选择结构程序中常用的Qbasic语句。 2、掌握选择结构程序设计方法。 3、能利用选择结构程序设计解决简单的实际问题。 二、教学重点: 1.选择结构的语句及功能 2.选择结构中程序设计方法。 三、教学方法:讲授法,对比法,分组讨论法。 四、教学时间:2课时 五、教学教程: (一)引入新课:前面我们学习了顺序结构程序设计,利用顺序结构只能设计一些较简单的程序,如果要处理复杂的问题,就需要采用另外两种基本结构:选择结构和循环结构。选择结构,是一种常用的主要基本结构,是计算机科学用来描述自然界和社会生活中分支现象的重要手段。其特性是:无论分支多寡,必择其一;纵然分支众多,仅选其一。 (二)讲述新课 l 单行条件选择语句IF 1、单行结构条件语句IF…THEN…ELSE 格式:IF <条件> THEN <语句1> [ELSE <语句2>] 功能:最简单的条件选择语句,用来进行条件判断,使语句有条件的执行。 说明: 1)当<条件>为真(非零数)时,则执行<语句1>。 2)ELSE语句可以省略。 3)当<条件>为假(零)时,而且语句中有ELSE语句则执行<语句2>。 4)IF、THEN、ELSE必须在同一行上。 2、示例A、输入x的值,计算y的值。 REM 程序名为:eg1.bas INPUT “请输入x的值:”,x IF x>=0 THEN Y=1+X ELSE Y=1-2*X PRINT "Y=";Y END 例:求一元二次方程Ax2+Bx+C=0(A<>0)的实数根。 分析:写写出程序的流程图,参考流程图来写程序。 程序清单如下: INPUT A,B,C D=B*B-4*A*C IF D<0 THEN then X1=(-B+SQR(D))/(2*A) X2=(-B-SQR(D))/(2*A) PRINT “X1=”;X1, “X2=”;X2 ELSE PRINT “此方程无实根” END

实验5_循环结构程序设计2题目及解答

4.3 循环结构程序设计2 【注意事项: (1)题中页码均为《C语言程序设计教程》中的页码 (2)题后为原程序文件名 (3)仅提交名为【*.c】的源程序文件,可一起提交,也可逐题提交 调试程序中常见问题及处理方法: (1)出现死循环时:关闭运行窗口即可。 】 1、按照下面的流程图书程序,用for语句实现。 【提示:参见p97—例4.23 ,并按照下面的左流程图书写007张三511.c,右流程图书写007张三512.c 程序运行结果: s=2550 】 2、用for语句编程,求300~500之间的水仙花数(如135:153=13+53+33)。(007张三52.c) 【程序运行结果: 300~500之间的全部水仙花数如下:??370??371??407 】 3、判断输入的数是否为素数。【提示:素数是只能被1和其自身和整除的数,】(007张三53.c) 【提示:参见p114—例4.36 程序运行时:程序运行结果: 请输入一个正整数:25?25不是素数 请输入一个正整数:12?125不是素数 请输入一个正整数:13?13是素数 】 4、判断输入的一个不超过32767的正整数是几位数。(007张三54.c)【提示:按照右侧的N-S图编程 运行时:运行结果: 请输入一个正整数(1~32767): 135?135是3位数请输入一个正整数(1~32767): 1356?1356是4位数请输入一个正整数(1~32767): 28906?28906是5位数】

附加题: 1、求出100~200间的所有素数。(007张三5附加1.c )。 【 运行结果: 101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199 】 2、根据以下公式求π值(直到最后一项小于10 –6 为止)(007张三5附加2.c ) 【 运行结果: pi=3.141590 】 3、百钱百鸡问题中国古代数学家张丘建在他的《算经》中提出了著名的“百钱买百鸡问题”:鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一,百钱买百鸡,问翁、母、雏各几何?(007张三5附加3.c ) 【提示:在编程之前,需先根据题意列出方程, 如: 设鸡翁x 只,鸡母y 只,鸡雏z 只 则有下列方程: x+y+z=100 和 5x+3y+z/3=100 因为2个方程,3个未知数,故为不定方程,需用穷举法解题。 运行结果: x=0??? y=25??z=75?? x=4??? y=18??z=78?? x=8??? y=11??z=81?? x=12?? y=4???z=84?? 】 参考解答: 1、~2、略 3、 #include void main( ) { int x, I, k; printf(“请输入一个正整数:”); scanf("%d", &x); k=x/2; while ( i <=k ) { if( x%i ==0 ) break; } if ( i>k ) { printf(“%d is \n”, x); } ??????+???+??+?++=9 4 73523173523152313112π

实验四-答案--选择结构程序设计讲课讲稿

实验四-答案--选择结构程序设计

实验四选择结构程序设计答案 实验时间:年月日【实验步骤】 一、程序调试练习 1、写出下列程序的运行结果: (1)ex4_1.c #include void main() { char ch; printf("input a character:"); ch=getchar(); if(ch>='A' && ch<='Z') ch=ch+32; printf("%c\n",ch); } 具体要求: ①从键盘上输入a,分析程序运行的结果。 ②从键盘上输入A,分析程序运行的结果。 ③从键盘上输入5,分析程序运行的结果。 程序运行结果: ①a ②a ③5 (2)ex4_2.c #include void main() { int x,y,z; printf("input x,y,z"); scanf("%d,%d,%d",&x,&y,&z); if(x

①从键盘上给x、y、z分别输入2,-1,2,分析程序运行的结果。 ②从键盘上给x、y、z分别输入3,5,2,分析程序运行的结果。 ③从键盘上给x、y、z分别输入-5,-3,2,分析程序运行的结果。 程序运行结果: ①z=2 ②z=3 ③z=0 (3)ex4_3.c #include main() { int x=1,a=0,b=0; switch(x) { case 0:b++; case 1:a++; case 2:a++;b++; } printf("a=%d,b=%d\n",a,b); } 程序运行结果: a=2,b=1 (4)ex4_4.c #include void main() { int x=1,y=0,a=0,b=0; switch(x) { case 1: switch(y) { case 0: a++; break; case 1: b++; break; } case 2: a++; b++; break; case 3: a++; b++;

循环结构程序设计典型例题

循环结构程序设计典型例题 例1:有数列2/3、4/5、6/9、10/15……求此数列前30项的和。 算法分析: 对于数列的题,首先要找出通项公式,或前后项的计算关系公式,根据公式求所需。由于数列的题一般执行次数能确定,用for语句来编写比较方便。 此题,前后项的关系是:后一项的分子是前一项的分母加1,后一项的分母是前一项的分子加分母。解题思路是用循环语句求各项,并把值累加,因为是求前30项的和,循环执行30次。 1. 初值i=2,j=3,s=0; 2. 用n从1到30循环 3. s=s+ i/j; 4. c=i; i=j+1; j=c+j; 5.输出s; 程序: #include<> main( ) { int i=2,j=3,n,c; float s=0; for(n=1;n<=30;n++) { s=s+(float)i/j; c=i; i=j+1; j=c+j; } printf(“\n%f”,s); } 此题中的n与循环体中的执行语句没有数值上的联系,仅仅用做决定循环执行的次数。 例2:下面这个程序,想想它实现的是什么功能? #include<> main( ) { int i,s=0; for(i=1;i<=100;i++) {if(i%5==0) continue; s=s+i; } printf(“\n%d”,s); } 在左边的程序中,i从1到100循环,当i是5的倍数时,直接进入下一个i,当i不是5的倍数时,把i累加到s,最后输出s。所以,这个程序实现的是求1~100中间所有非5的倍数的数之和。 例3:输出n~m中(0

循环结构程序设计课后习题及答案

循环结构程序设计习题及答案1、循环语句的三要素分别 是、、。 2、for语句括号内的3个表达式的作用分别 是、、。 3、在2层循环嵌套中,外层循环语句的每个执行周期中,内层循环语句都要完整地,只有当时,才结束整个循环。 4、在循环结构中,break语句的作用是;continue语句的作用是。 5、当循环条件一开始就为假时,对于while语句、do…while语句、for 语句,分别执行循环体次、次、 次。 6、下面程序段的执行次数: int a=0; while(a=0) { printf("good\n"); a--; } 7、下面程序段的执行次数: int a=0; while(a==0)

{ printf("good\n"); a--; } 8、下面程序段的执行次数: int a=1; while(a=1) { printf("good\n"); a++; } 9、下面程序段的执行次数: int a=1; while(a==1) { printf("good\n"); a++; } 10、下列程序段的运行结果是。 for(i=5;i>=0;i--) printf(“%d “,i); 11、下列程序段的运行结果是。 for(n=1;n<20;n=n+3) printf(“%d “,n); 12、下列程序段的运行结果是。

for( ch='a' ;ch<='e' ;ch++) printf(“%d“,ch-97); 13、下列程序段的运行结果是。 for(i=1,j=5 ; i

C语言选择结构程序设计编程题.doc

实验2 选择结构程序设计 一.实验目的: 1.掌握选择控制语句的使用方法; 2.了解C程序语句的执行过程。 二.实验内容: 1.编写程序:输入一个整数,判断该数的奇偶性。(输出相应的标志even-偶数odd-奇数,请记住这两个单词)。 2.从键盘输入的正整数,判断是否能被5和7同时整除,若是,则输出Yes;否则输出No。 3.输入一个字符,如果是大写字母改变为小写字母;如果是小写字母,则把它变为大写字母;若是其它字符则不变。 4.编写程序,对于给定的一个百分比制成绩,输出相应的五分制成绩。设:90分以上为‘A’,80~89分为‘B’,70~79分为‘C’,60~69分为‘D’,60分以下为’E’(用if…else…与switch 语句两种方法实现)。 5. 企业发放的奖金根据利润提成。利润(i)低于或等于10万元时,奖金可提成10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;20万元到40万元之间时,高于20万元的部分,可提5%;40万元到60万元之间时,高于40万元的部分,可提成3%;60万元到100万元之间时,高于60万元的部分,可提成1.5%;高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润i,求发放奖金总数。 6. 输入某年某月某日,判断这一天是这一年的第几天。 7. 输入一个字符,请判断是字母、数字还是特殊字符。 8. 身高预测: 男性成人身高=(父亲身高+母亲身高)*0.54cm 女性成人身高=(父亲身高*0.923+母亲身高)/2cm 如果喜爱体育锻炼,那么身高可增加2%;如果有良好的饮食习惯,可增加身高1.5%。键盘输入性别、父母身高、是否爱好体育锻炼、是否有良好的饮食习惯,利用给定身高预测方法对你的身高进行预测。 9. 要求用switch语句编程设计一个简单的计算器程序。要求根据用户从键盘输入的表达式。 操作数1 运算符op 操作数2 计算表达式的值。指定的算术运算符为加(+)、减(-)、乘(*)、除(/)。 在此基础上,增加如下要求: (1)如果要求程序能进行浮点数运算,程序应该如何修改?如何比较实型变量和常数0是否相等? (2)如果要求输入的算术表达式中的操作数和运算符之间可以加入任意多个空格符,那么程序如何修改? (3)如果要求连续多次算术运算,每次运算结束后,程序都给出提示: Do you want to continue(Y/N y/n)? 如果用户输入Y或y时,程序继续进行其它算术运算,否则程序才退出运行状态。那么程序如何进行修改?

跨国公司经营案例分析:ABB矩阵式组织结构分析

ABB公司-创立并管理全球矩正组织 一、案例描述: (一)公司简介 ABB是电力和自动化技术领域的领导厂商,位列全球500强企业。集团总部位于瑞士苏黎世。ABB由两个历史100多年的国际性企业瑞典的阿西亚公司(ASEA)和瑞士的布朗勃法瑞公司在1988年合并而成。现在ABB集团业务遍布全球100多个国家,拥有11.7万名员工。 (二)战略环境 ●ABB公司最大的业务是生产用于发电、输电和配电的设备并提供相关服务。 ●ABB公司在铁路运输业是世界领先的。 ●ABB公司的第三系列产品主要是面对非常特殊的一类顾客。 ● (三)战略定位 1988年1月,巴尼维克发表他对ABB公司所面临的经营环境的分析,他宣布了新公司的战略方向(致力于电力行业,采取快速变革以求更加面向客户和提高反应效率),介绍了新组织设计的详细内容,提出了公司的财务和发展目标、对电力行业的战略和通过一系列兼并和联盟实现公司的全球战略。1988年10月,ABB公司收购了AEG的蒸汽涡轮公司和在1989年2月收购了西屋电气公司的电力分配和传递公司,获得了美国生产导弹和核能设备的Conbustion Engineering公司,快速拓展了ABB公司在北美和东欧的市场。 (四)建立新的组织设计 1.1988年7月,在管理人员的会议中,巴尼维克描述了新的矩阵组织的主要特征,他强调行动的重要性。 2.创建管理队伍 3.规定议事日程 4.交流全新哲学理论和价值 5.重组业务 6.新的组织结构和流程 7.新的战略过程 8.新的系统和控制 (五)面临的挑战 1、成员位置不固定,有临时观念,责任心不够强 2、人员受双重领导,有时不易分清责任 3、矩阵当中地区和业务主管之间不同利益冲突 4、权力下放与集中管理之间的矛盾 5、资源在各部门之间的分配,技术共享的障碍

选择结构程序设计练习题

选择结构程序设计练习题 1.逻辑运算符两侧运算对象的数据类型( ) A.只能是0和1 B.只能是0或非0正数 C.只能是整型或字符型数据 D.可以是任何类型的数据 2.下列运算符中优先级最高的是( ) A.< B.+ C.&& D.!= 3.能正确表示“当x的取值在[1,10]和[200,210]范围内为真,否则为假"的表达式是( ) A.(x>=1)&&(x<=10)&&(x>=200)&&(x<=210) B.(x>=1)||(x<=10)||(x>=200)||(x<=210) C.(x>=1)&&(x<=10)||(x>=200)&&(x<=210) D.(x>=1)||(x<=10)&&(x>=200)||(x<=210)

4.表示图中坐标轴上阴影部分的正确表达式是( ) A.(x<=a)&&(x>=b)&&(x<=c) B.(x<=a)||(b<=x<=c) C.(x<=a)||(x>=b)&&(x<=c) D.(x<=a)&&(b<=x<=c 5.判断char型量ch是否为大写字母的正确表达式是() A.‘A’<=ch<=‘Z’ B.(ch>=‘A’)&(ch<=‘Z’) C.(ch>=‘A’)&&(ch<=‘Z’) D.(‘A’<=ch)AND(‘Z’>=ch) 6.设x,y,z都是int型变量,且x=3,y=4,z=5,则下面表达式中值为0的是 () A.‘x’&&‘y’ B.x<=y C.x||y+z&&!y D.!(x

7.已知x=43,ch=‘A’,y=0;则表达式(x>=y&&ch<‘B’&&!y)的值是() A.0 B.语法错误 C.1 D.“假” 8.若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值为“假”,则以下不能满足要求的表达式是() A.A%2==1 B.!(A%2==0) C.!(A%2) D.A%2 9.设有:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c>d)后的值为() A.1 B.2 C.3 D.4 10.下列运算符中优先级最低的是( )优先级最高的是( ) A.? B.&& C.+ D.!=

循环结构程序设计:三种循环语句

一、循环结构(Iteration Structure)的概述 1.目的 为了解决含有重复处理内容的问题,必须采用循环语句(Loop Statement)来编程实现。 2.类型 (1)当型循环结构 (2)直到型循环结构 二、循环语句 1.while语句 ①功能:实现当型循环结构。 ②形式 while(表达式){ 循环体 } ③特点:先判断后执行。 ④举例:(累加和问题)编程计算整数1~100的和。 int i ; //循环变量 int sum = 0 ; //累加和清0 i = 1 ; //循环变量i赋初值 while( i <= 100){ sum = sum + i ; //循环变量累加到sum中 i = i + 1; //改变循环变量i的值 } 2.do-while语句 ①功能:实现直到型循环结构。 ②形式 do{ 循环体

}while(表达式); //注意最后的分号 ③特点:先执行后判断。 ④举例:修改上例。 /*利用do-while语句编程实现整数1~100的和。*/ int i ; //循环变量 int sum = 0 ; //累加和清0 i = 1 ; //循环变量i赋初值 do{ sum = sum + i ; //循环变量累加到sum中 i = i + 1; //改变循环变量i的值 }while(i<=100);//注意最后的分号 3.for语句 ①功能:实现当型循环结构。 ②形式 for(表达式1;表达式2;表达式3){ 循环体 } ③特点:先判断后执行;使用频率最高。 ④举例:修改上例。 /*使用for语句编程计算整数1~100的和。*/ int i ; //循环变量 int sum = 0 ; //累加和清0 for( i = 1 ; i <=100 ; i++ ){//第一个表达式完成循环变量i赋初值;第三个表达式实现改变循环变量i的值 sum = sum + i ; //循环变量累加到sum中 } 4.几种循环语句的比较 ①由于while语句和for语句均实现当型循环结构,两者是完全等价的。 for(表达式1;表达式2;表达式3){

第九章 结构的矩阵分析

第九章 结构的矩阵分析 1. 单元刚度矩阵中元素 的物理意义是: ( ) A. 当且仅当位移分量 =1时引起的与 相应的杆端力; B. 当且仅当位移分量 =1时引起的与 相应的杆端力; C. 当且仅当力分量 =1时引起的与 相应的杆端力; D. 当且仅当力分量=1时引起的与 相应的杆端力 2.在结构矩阵分析中如遇到有斜支座,其处理方法可以是建立结点坐标系,引入沿斜支座支撑方向的位移等于零的约束条件。( ) 3.在直接刚度法的先处理法中,定位向量的物理意义是: ( ) A.变形连续条件; B.变形连续条件和位移边界条件; C.位移边界条件 D.平衡条件 4.用矩阵位移法求解图示结构时,已求得单元由杆端位移引起的杆端力为: 问结点端的约束反力 为: ( ) A.-10KN·m B. 10KN·m C. 0 D. 20KN·m 5.在结构矩阵分析中,将跨间荷载处理成等效结点荷载时用到静力等效和反力互等两个基本原理。( ) 6.已知图示结构的单元等效结点荷载,试求结构荷载列阵

7.图示结构,不考虑轴向变形,求引入支撑条件后的结构刚度矩阵[k]中的元素 各为____________。 8.图示结构单元的固端弯矩列阵为,则等效结点荷载列阵为:____________ A.= B.= 9.用矩阵位移法求解图示结构时,已求得单元由杆端位移引起的杆端力 为:问结点3处的约束反力 为: A. 8.25KN B.-8.25KN C.1.25KN D.-1.25KN

10.图示结构中结点号后括号内为结点位移分量编码,为单元码,求单元的定位向量 =______________ 11.在矩阵位移法中,单元刚度矩阵中对角线两侧的元素符合哪种说法? ( ) A.可能为0 B.不可能为负值 C.不可能为正值 D.一定为0 12.单元刚度矩阵均具有对称性和奇异性。( ) 13.图a连续梁各单元杆端力列阵(单位:KN·m)依次 为:.则单元左端弯矩为5.37 KN·m,下侧受拉。( ) 14.矩阵位移法正,结构在等效结点荷载作用下的内力与结构在原有荷载作用下的内力相同。( ) 15.图示刚架各杆E,I,L均为常数,当忽略轴向变形时,可动结点位移列阵已求 出为{△}={147L,-77,-91} [q /(1008EI)]则单元杆端力列阵为: . ( )

2.2.10循环结构程序设计 - 循环结构程序设计_教学案例

【教学案例一】 1. 实验目的 熟练使用for语句控制循环。 2. 实验任务 (1)实验内容:打印输出所有"水仙花数"。所谓"水仙花数"是指一个三位的正整数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=13+53+33。 (2)实验要求:没有输入,输出所有"水仙花数"。 程序输出以下4个"水仙花数": 153 370 371 407 3. 实验分析 (1)问题分析:用循环语句循环测试每一个三位数是否符合"水仙花数"的规则。即对所有100至999的数,把每个数分解出个位数,十位数和百位数,再判断是否符合条件。 (2)实现要点:用一次穷举循环就可以了。因为是固定次数的循环,一般采用for语句。对于每个当前的整数,用取余和整除运算分解出各位的数字。对于三位的正整数n,个位数g = n%10,十位数s = (n%100)/10,百位数b = n/100。 4. 参考代码 #include int main(void) { int n, g, s, b; for (n=100; n<=999; n++) { b = n / 100; s = n / 10 % 10; g = n % 10; if ( g*g*g + b*b*b + s*s*s==n) printf("%d ",n); } return 0; } 5. 思考题 什么情况下采用穷举循环是比较合适的? 【教学案例二】 1. 实验目的 (1)熟练使用while 语句和理解该语句的执行顺序,掌握累加和计算的算法。 (2)熟练运用断点调试。 2. 实验任务 74

(1)实验内容:根据下面关系式,求π的值,直到最后一项的值小于epsilon 。epsilon 的值由键盘输入。 12!3!!12335357357n p =++++???????…+…(2n+1) (2)实验要求:改正下面的错误程序,达到满足如下表的运行示例结果。测试用例: /* 1 */ #include /* 2 */ int main(void)/* 3 */ { /* 4 */double sum,item;/* 5 */double epsilon;/* 6 */int i; /* 7 */printf("Enter Epsilon:");/* 8 */scanf("%lf",&epsilon);/* 9 */item = 1; /* 10*/sum = 0; /*调试时设置断点*//* 11*/while (item >= epsilon)/* 12*/{/* 13*/sum += item;/* 14*/i++;/* 15*/item *= i;/* 16*/item /=(2*i-1);/* 17*/} /* 18*/printf("Pi=%.6lf\n",2*sum); /*调试时设置断点*//* 19*/return 0; /* 20*/ } 3. 实验分析 (1)程序分析:这是一个求累加和的问题。为解决这个问题,首先抽取出具有共性的算式:sum=sum + item ,其中sum 存放累加和,item 表示第i 项的内容。题目没有显式地给出循环次数,只是提出了精度要求。在反复计算累加的过程中,一旦第i 项的绝对值小于Epsilon ,就达到了给定的精度,计算终止,这说明精度要求实际上给出了循环的结束条件,

结构矩阵分析及程序设计习题

如图所示,已知弹模E=2.1×105MPa,各杆截面面积A=10.0 cm2,截面惯性距I=21.0 cm4 ,用平面刚架分析程序计算其内力,要求给出单元划分图,输入数据及分析结果。(注意单位的统一。将分析结果发送到civil2007@https://www.wendangku.net/doc/157488440.html,邮箱) 答案: 10 9 4 1 0.0 0.0 1 1 1 2 0.0 4.2 0 0 0 3 0.0 8. 4 0 0 0 4 3.6 8.4 0 0 0 5 3. 6 4.2 0 0 0 6 3.6 0.0 1 1 1 7 7.5 8.4 0 0 0 8 7.5 4.2 0 0 0 9 7.5 0.0 1 1 1 1 1 2 3 2 2 3 2 3 3 4 1 4 2 5 4 5 5 6 3 6 4 5 2 7 4 7 1 8 5 8 4 9 8 9 3 10 7 8 2 1 2.1E8 0.001 2.1E-7

2 2.1E8 0.001 4.2E-7 3 2.1E8 0.001 6.3E-7 4 2.1E8 0.001 3.15E-7 2 3 2 1 6 3 1 9 3 2 1.8 -10 7 1 3.9 -3 8 1 3.9 -5 运行结果: INPUT FILENAME:11.txt OUTPUT FILENAME:22.txt NUMBER OF ELEMENT= 10 NUMBER OF NODE= 9 NUMBER OF ELEMENT TYPE= 4 NODAL MESSAGE NODE X Y XX YY ZZ 1 0.0000 0.0000 1 1 1 2 0.0000 4.2000 0 0 0 3 0.0000 8.4000 0 0 0 4 3.6000 8.4000 0 0 0 5 3.6000 4.2000 0 0 0 6 3.6000 0.0000 1 1 1 7 7.5000 8.4000 0 0 0 8 7.5000 4.2000 0 0 0 9 7.5000 0.0000 1 1 1 ELEMENT MESSAGE ELEMENT NODE-I NODE-J TYPE 1 1 2 3 2 2 3 2 3 3 4 1 4 2 5 4 5 5 6 3 6 4 5 2 7 4 7 1 8 5 8 4 9 8 9 3 10 7 8 2 ELEMENT TYPE MESSAGE NUMBER E A I 1 0.2100E+09 0.1000E-0 2 0.2100E-06

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