- 1.77 MB
- 2022-04-29 14:28:02 发布
- 1、本文档共5页,可阅读全部内容。
- 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
- 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
- 文档侵权举报电话:19940600175。
'C语言程序设计任务教程教学课件丁辉王林林项目一[恢复]
1.实现两个数的算术运算功能(加、减、乘、除)2.单运算符表达式运算即依次输入第一个操作数、运算符、第二个操作数,然后输出运算结果。例如:输入:2+5输出:2+5=7例如:输入:13*8输出:13*8=1043.开发工具与运行环境操作系统:WindowsXP/2000/MEWindows7/Vista等。开发工具:VC++6.0/TC2.0/TC3.0。4.附加功能(不作要求)实现各类进制之间的转换;带函数功能;良好的操作界面与提示信息。
知识目标专业能力核心能力掌握函数的定义、说明、调用方法;熟悉软件系统的开发过程。能用模块化的程序设计方法开发小学生算术练习系统。团队成员之间的协调配合意识与能力;通过网络等多种途径自主地完成软件开发过程的学习。
应用举例(一)【例2-1-1】编写求两个整数和的函数。1、设计分析输入数据(形式参数):此函数调用需要两个整型的形式参数。输出数据(返回值):返回值是一个整型数据,即所求的和。处理部分:求和。
应用举例(一)【例2-1-1】编写求两个整数和的函数。(续)2、程序intadd(intiNum1,intiNum2){intiSum;iSum=iNum1+iNum2;return(iSum);}返回值为:int型函数名:add函数返回值是用“return(表达式);”形式返回形式参数2个int型}函数体
函数调用函数调用格式函数名(实际参数列表)iResult=add(56,78);函数调用一定是将实际参数的值依次传递给形式参数变量。函数调用过程1、实际参数传递给形式参数变量;即将56、78分别传递给iNum1、iNum2。2、运行函数体语句。3、返回。(从最后一个“}”或者由“return();”语句返回,上述函数返回134给变量iResult)
函数声明函数声明格式[返回值类型符]函数名(形式参数定义列表/形式参数类型列表);intadd(intiNum1,intiNum2);或intadd(int,int);函数的声明一定要放在函数被调用之前,一般放在main()之前。函数声明就是函数定义的头部
函数设计确定函数的功能;确定函数的形式参数,即函数需要的输入数据;确定函数的返回值,函数调用后希望得到的结果;设计算法。
应用举例(二)【例2-1-2】请设计一个函数,计算n!1、设计分析函数功能:求n!输入数据(形式参数):n,即要求阶乘的那个数,基本整型输出数据(返回值):n!,长整型处理部分(算法):依次求1!,1!*2=2!……(n-1)!*n=n!,最终获得n!;中间变量:循环控制变量,一个,整型
应用举例(二)【例2-1-2】请设计一个函数,计算n!(续)2、算法A1:设定循环控制变量的初值为1,存放阶乘变量的初值也为1;A2:求当前循环控制变量所对应值的阶乘;A3:循环控制变量加1;A4:判断循环控制变量的值是否超过n,如果是超过,则结束循环,转A5,否则转A2;A5:返回所求的n!。
应用举例(二)【例2-1-2】请设计一个函数,计算n!(续)2、程序longintfactorial(intiNum){longlFact=1;intiRep=1;for(;iRep<=iNum;iRep++){lFact*=iRep;}return(lFact);}
功能模块划分简易计算器菜单显示模块基本运算模块表达式计算模块块进制转换模块简易计算器功能模块图
主流程图主流程图开始初始化基本算术运算单运算符表达式运算进制转换显示主菜单根据用户的选择调用相应的功能1230退出
主流程图主菜单显示模块(disp)&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&简易计算器&&丁辉&&常州轻工职业技术学院&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&1.基本算术运算&&2.单运算符表达式运算&&3.进制转换&&0.退出&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&请选择相应的功能代号(0~3):voiddisp(void);
基本算术运算模块(base_cal)此模块用来完成基本的加、减、乘、除运算,能根据用户的输入,然后进行相应运算,并输出结果。当一次计算完成之后,询问继续进行运算还是返回,如果继续运算,则提示用户再次进行输入,重复上述过程;若不需要继续计算,则返回主函数。voidbase_cal(void);
单运算符表达式运算模块(exp_cal)根据用户输入的表达式,先把表达式的运算符和运算数分离开,然后进行相应计算,并将计算结果进行输出,再询问用户是否继续进行计算,如果是,则重复上述过程;若为否,则返回主函数。voidexp_cal(void);
进制转换模块(num_convert)此模块,需要考虑不同进制之间的相互转换,如十进制转换成二进制,十进制转换成八进制等。可考虑采用菜单的形式,让用户选择某种进制转换成另一种进制。????(模块的定义请自己给出)返回
主流程图主函数模块(main)——代码编写/*简易计算器程序*//*程序名:calculate.c*//*作者:dinghui*//*编程日期:2011-2-28*/#include#includeintmain(void){charcChoice;disp();/*显示主界面(菜单)*//**等待用户选择功能模块代号*/scanf(“%c”,&cChoice);while(1){switch(cChoice)/*调用相应的模块*/{case‘1’:base_cal();break;case‘2’:exp_cal();break;case‘3’:num_convert();break;case‘0’:exit(0);}system(“cls”);/*清屏*/disp();getchar();/*空读*//*等待用户选择功能模块代号*/scanf(“%c”,&cChoice);}}}注:相同颜色的大括号是一对!
主流程图主函数模块(main)——代码调试自顶向下的程序设计方法,在调试时要对没有编写代码的模块用printf()函数来替换(通常把printf()称为桩),用以模拟调用程序的逻辑是否正确。因此主函数调试时,要把base_cal()、exp_cal()、num_conver()分别用printf(“base-caln”)、printf(“exp-caln”)、printf(“num-convern”)替换,disp()用printf(“1.基本算术运算n2.单运算符表达式运算n3.进制转换n0.退出n请选择相应功能代码(0~3):n”)代替,以验证主函数的逻辑关系。替换后的代码如下:
主流程图主函数模块(main)——代码调试(续)/*简易计算器程序*//*程序名:calculate.c*//*作者:dinghui*//*编程日期:2011-2-28*/#include#includeintmain(void){charcChoice;disp();scanf(“%c”,&cChoice);while(1){switch(cChoice)/*调用相应的模块*/{printf(“1.基本算术运算n2.单运算符表达式运算n3.进制转换n0.退出n请选择相应功能代码(0~3):n”);
主流程图主函数模块(main)——代码调试case‘1’:base_cal();break;case‘2’:exp_cal();break;case‘3’:num_convert();break;case‘0’:exit(0);}system(“cls”);/*清屏*/disp();getchar();/*空读*/scanf(“%c”,&cChoice);}}}case‘1’:printf(“base_caln”);case‘2’:printf(“exp_caln”);case‘3’:printf(“num_convern”);printf(“1.基本算术运算n2.单运算符表达式运算n3.进制转换n0.退出n请选择相应功能代码(0~3):n”);
主流程图主菜单显示模块(disp)——代码编写voiddisp(void){printf(“&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&n”);printf(“&简易计算器&n”);printf(“&丁辉&n”);printf(“&常州轻工职业技术学院&n”);printf(“&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&n”);printf(“&1.基本算术运算&n”);printf(“&2.单运算符表达式运算&n”);printf(“&3.进制转换&n”);printf(“&0.退出&n”);printf(“&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&n”);printf(“请选择相应功能代码(0~3):”);}
主流程图主菜单显示模块(disp)——代码调试调试disp()函数时,只需要把上面调试main()函数时,代码中替换掉的disp()函数再替换回来,用现在真正disp()就可以了。
主流程图基本算术运算模块(base_cal)——代码编写voidbase_cal(void){floatfNum1,fNum2,fResult;/*定义变量*/charcChoice;while(1){system(“cls”);printf(“基本算术计算器n”);printf(“请输入第一个运算数:”);/*提示用户进行输入*/scanf(“%f”,&fNum1);printf(“请输入运算符(+、-、*、/):”);cChoice=getchar();printf(“请输入第二个运算数:”);scanf(“%f”,&fNum2);
主流程图基本算术运算模块(base_cal)——代码编写(续)switch(cChoice)/*根据运算符进行相应的计算并输出结果*/{case‘+’:fResult=fNum1+fNum2;printf(“(%0.2f)%c(%0.2f)%0.2fn”,fNum1,cChoice,fNum2,fResult);break;case‘-’:fResult=fNum1-fNum2;printf(“(%0.2f)%c(%0.2f)=%0.2fn”,fNum1,cChoice,fNum2,fResult);break;case‘*’:fResult=fNum1*fNum2;printf(“(%0.2f)%c(%0.2f)=%0.2fn”,fNum1,cChoice,fNum2,fResult);break;case‘/’:fResult=fNum1/fNum2;printf(“(%0.2f)%c(%0.2f)=%0.2fn”,fNum1,cChoice,fNum2,fResult);break;}
主流程图基本算术运算模块(base_cal)——代码编写(续)printf(“继续计算吗?(Y/y):”);/*询问是否继续?*/cChoice=getchar();if(!(cChoice==’Y’||cChoice==’y’))break;}}
主流程图基本算术运算模块(base_cal)——代码调试在前面调试的基础上,只要把调试主函数时被替换的base_cal()还原即可。调试数据:加、减、乘、除四种运算要分别给出不同的数据进行调试。模块的退出是输入除“y”和“Y”之外的任意符号,即退出该模块。
主流程图单运算符表达式运算模块(exp_cal)——代码编写voidexp_cal(void){floatfNum1,fNum2,fResult;/*定义变量*/intiFlag=1;charcChoice,cOperator;while(1){fNum1=0;fNum2=0;iFlag=1;/*数据的正负号标志*/system("cls");printf("请输入一个表达式:n");getchar();/*空读*/if((cChoice=getchar())=="-")/*判定表达式的第一个字符是否是负号*/iFlag=-1;elsefNum1=cChoice-48;
主流程图单运算符表达式运算模块(exp_cal)——代码编写(续)while((cChoice=getchar())<="9"&&(cChoice)>="0")/*读取第一个操作数*/{fNum1=fNum1*10+cChoice-48;/*将读入的数字字符转换成数值*/}fNum1=fNum1*iFlag;cOperator=cChoice;/*运算符*/iFlag=1;if((cChoice=getchar())=="-")/*判定第二个操作数的符号位*/iFlag=-1;elsefNum2=cChoice-48;
主流程图单运算符表达式运算模块(exp_cal)——代码编写(续)while((cChoice=getchar())<="9"&&(cChoice)>="0")/*读取第二个操作数*/{fNum2=fNum2*10+cChoice-48;}fNum2=fNum2*iFlag;while((cChoice=getchar())!="n");/*对表达式后面的其它字符进行空读处理*/switch(cOperator)/*进行计算*/{case"+":fResult=fNum1+fNum2;printf("(%.2f)%c(%0.2f)=%0.2fn",fNum1,cOperator,fNum2,fResult);break;
主流程图单运算符表达式运算模块(exp_cal)——代码编写(续)case"-":fResult=fNum1-fNum2;printf("(%0.2f)%c(%0.2f)=%0.2fn",fNum1,cOperator,fNum2,fResult);break;case"*":fResult=fNum1*fNum2;printf("(%0.2f)%c(%0.2f)=%0.2fn",fNum1,cOperator,fNum2,fResult);break;case"/":fResult=fNum1/fNum2;printf("(%0.2f)%c(%0.2f)=%0.2fn",fNum1,cOperator,fNum2,fResult);break;}
主流程图单运算符表达式运算模块(exp_cal)——代码编写(续)printf("继续计算吗?(Y/y):");cChoice=getchar();if(!(cChoice=="Y"||cChoice=="y"))break;}return;}
主流程图单运算符表达式运算模块(exp_cal)——代码调试同样在前面调试的基础上,只要把调试主函数时被替换的exp_cal()还原即可。调试数据:对于加、减、乘、除四种表达式,都要分别提供调试数据。退出模块:输入除“y”和“Y”之外的任意字符即可。返回
在各个模块都调试通过之后,最后要将各个模块组装到一起,形成一个完整的软件系统。各个模块组装到一起之后,不能保证不出现问题。如何组装才能比较容易找到问题,并及时解决是关键。组装的方法有自底向上的组装、自顶向下的组装、分层组装等。由于本系统采用的是自顶向下、逐步细化的程序设计方法,并且比较简单,因此也采用自顶向下的方法进行组装。由于每个模块在编程和调试时,已经逐步将每个模块依次组合到一起了,因此在完成每个模块代码编写与调试的同时,就已经完成了系统的组装。最后需要做的是,根据项目要求,设计调试数据,系统地调试整个系统。返回
本计算器功能相对简单,并且假定用户在输入时不会出现不合法的数据。因此,此系统有待改进的方面很多,如:(1)完善进制转换模块;(2)改进用户界面;(3)增加新的功能;(4)增加输入数据的合法性检查,如:输入*569+45,希望本系统能给出一个错误答案”。返回
软件系统开发过程软件系统的开发流程(Softwaresystemdevelopmentprocess)即软件设计思路和方法的一般过程,包括设计软件的功能和实现的算法和方法、软件的总体结构设计和模块设计、编程和调试、程序联调和测试以及编写、提交程序。需求调研分析概要设计详细设计编码调试软件交付准备验收
团队合作团队合作是一种为达到既定目标所显现出来的自愿合作和协同努力的精神。它可以调动团队成员的所有资源和才智,并且会自动地驱除所有不和谐和不公正现象,同时会给予那些诚心、大公无私的奉献者适当的回报。如果团队合作是出于自觉自愿时,它必将会产生一股强大而且持久的力量。软件在不断的演进中变得越来越复杂,规模越来越庞大,智力高度集中的软件开发也需要从个人英雄主义进入紧密配合的团队协作时代。团队合作,成员之间的沟通是关键,团队成员之间的协作意识是团队精神的体现,一致的目标是合作的基础。因此,一个成功合作的团队要具备四大基础条件:建立信任、良性的冲突、坚定不移的行动和彼此的负责任。返回
自定义函数要考虑哪几个问题?函数的参数传递是怎么传递的?请举例说明自顶向下,逐步细化的程序设计方法?什么是模块化程序设计?与结构化程序设计是什么关系?什么是程序调试中插入的桩?回顾几个问题
TheEnd
多灶性运动神经病(multifocalmotorneuropathy,MMN)是近年来被认识的一种少见的脱髓鞘性周围神经疾病。1985~1986年,Parry等和Roth等人几乎同时报道了4例纯运动性神经病,其临床表现为进行性非对称性肢体无力,以远端受累为主,电生理特征是在运动神经上存在持续性多灶性传导阻滞(conductionblock,CB),而感觉神经没有或只有很轻的受累。1988年,Pestronk等首次报道此病患者血清中抗神经节苷脂GMl抗体水平升高,并对免疫治疗有反应。早在1982年,Lewis等就报道了5例临床和电生理特征与此相类似的运动感觉性神经病。到目前为止,全世界报道的MMN已超过300例。
病因和发病机制发病机制不清,血清中抗神经节苷脂GMl抗体升高,应用免疫治疗可使症状有所改善,均提示此病是由免疫介导的。可能与空肠弯曲菌感染有关,已报道有3例患者在患空肠弯曲菌肠炎后出现MMN的临床表现和抗GMl抗体滴度升高,可能空肠弯曲菌的脂多糖成分(LPS)有诱导抗神经节苷脂抗体产生的作用。
病理虽然局灶性传导阻滞的病理基础是局灶性脱髓鞘,但很少在神经活检中得到证实,因为用于活检的神经大多是感觉神经(最常见为腓肠神经),结果或是正常,或是轻度的轴索丧失、轻度的脱髓鞘或是二者同时存在。同样,感觉神经超微结构的研究也仅提示有轻度的脱髓鞘改变。只有很少患者活检做的是运动或混合神经上邻近CB的部位,病理发现为脱髓鞘改变伴洋葱球形成,没有炎性细胞浸润。
临床表现多见于男性,男∶女为2.6∶1,多数起病年龄在20~50岁,平均40岁左右,病程3个月到30年不等。多数病程呈逐渐进行性发展,个别患者病情呈阶梯性变化,前一个症状和后一个症状之间可以相隔几年,极少数可自发性缓解。到目前为止,只报道2例死亡的病例,均有20年以上的病程。多数患者病情缓慢发展,一些患者常因肌无力而使日常生活不能自理。
临床表现进行性非对称性肢体无力,没有或只有很轻的感觉症状。无力常从远端开始,早期先出现上肢症状,最常见的表现是手部肌肉无力和萎缩,症状常左右不对称,病情逐渐向近端进展,后期下肢亦受累。在不到10%的患者中,无力以近端明显或下肢症状较上肢重。肌无力症状按周围神经分布,特别是在尺神经、正中神经和桡神经分布范围内。虽然肌萎缩在受累范围内经常存在,但在疾病早期甚至后期肌萎缩可以不明显,可能是受累肌肉没有完全失神经支配的缘故。
临床表现2/3的患者有束颤和痉挛,肌颤动偶有报道。1/2的患者在相应于肌无力和肌萎缩的部位有腱反射的减低,1/4有弥漫性腱反射的减低,其余腱反射正常,少数患者腱反射可以活跃。当腱反射活跃伴发肌无力、肌萎缩和束颤时,MMN在临床上与运动神经元病很难鉴别。脑神经和呼吸肌偶有受累。虽然麻木和感觉异常等症状有时会出现,体检中只有20%的患者有很轻的感觉障碍。
电生理特征电生理特点是在运动神经常见受压部位之外存在持续性多灶性部分性传导阻滞(CB)。CB的定义为在近端和远端刺激运动神经时所得到的复合肌肉动作电位(CMAP)的波幅和(或)面积的下降不成比例。CB反映的是局灶性脱髓鞘过程,因此尽管有CB存在,运动神经传导速度可基本正常或稍有减慢,这一点与其他弥漫性脱髓鞘性神经病如肥大性周围神经病有明显的不同,后者的传导速度呈普遍性显著减慢。
电生理特征1999年,美国电诊断医学协会提出了统一的CB诊断标准。肯定的CB诊断标准是:在没有不正常的时间离散(temporaldispersion,TD)时,近端CMAP波幅与远端相比,在上、下肢神经分别下降最少达50%和60%。可能的CB是:当存在增加的TD时,CMAP出现上述相同的波幅下降,或者是没有不正常的TD,低于上述标准10%的波幅下降。
电生理特征运动性CB可以发生于任何一根或多根周围神经,也可发生于一根神经的多个不同节段,由此称之为“多灶性”。最常受累的神经是上肢的尺神经、正中神经和下肢的腓神经。运动神经传导速度基本正常或轻度减慢,其他的脱髓鞘特征如远端潜伏期和F波潜伏期的轻度延长,不正常的时间离散等在运动神经上也经常存在,提示运动神经纤维也同时存在轻度的弥漫性脱髓鞘改变。
电生理特征另一个典型的电生理特征是即使在有运动性CB的神经上感觉传导检查也正常。这种选择性运动神经受损害的机制尚不清楚。肌电图检查可以见到纤颤、束颤和运动单位电位波幅和时限的增加,通常局限于有CB的神经支配的肌肉,这一点可与运动神经元病相鉴别,后者此种异常广泛存在,可以在临床正常的肌肉中见到。
实验室检查2/3的患者CSF检查结果正常,1/3脑脊液蛋白含量可轻度增高(一般低于80mg/dl,偶尔可达l00mg/d1),这一点可帮助鉴别MMN和CIDP,CIDP时CSF蛋白常明显升高。抗GMlIgM抗体的存在对鉴别MMN和下运动神经元综合征有帮助,抗GMlIgM抗体阳性有助于确定MMN的诊断,而阴性结果不能排除此病的诊断。
诊断当患者表现为以周围神经分布的慢性进行性肌无力、肌萎缩,症状左右不对称,以肢体远端受累为主,没有或有很轻的感觉症状时,应想到MMN的可能。确诊必须做神经电生理检查,特征性发现是1根或多根运动神经局灶性传导阻滞而相应神经的感觉传导检查正常,其他异常如远端潜伏期和F波潜伏期的轻度延长,传导速度的轻度减低,不正常的时间离散等在运动神经上也常见到,对诊断有一定的价值。血清抗神经节苷脂GMl抗体的升高对诊断有帮助。
鉴别诊断CIDP从临床上讲,CIDP的肌无力常为对称性且影响肢体的近端,而MMN无力的典型表现是远端性且非对称性。CIDP常见感觉运动同时受累,而MMN以运动症状为主,无感觉症状或有很轻的感觉受累。但是,CIDP有时也会表现为纯运动性或(和)非对称性。从病程上来讲,CIDP常有缓解复发,而MMN呈进行性发展,不经治疗很少出现缓解。从电生理上讲,CIDP的特征是广泛的运动和感觉传导速度的减慢,伴远端潜伏期的延长,反映了弥漫性而非局灶性脱髓鞘过程。同样,脱髓鞘伴洋葱球样形成、水肿和炎症细胞浸润经常出现在CIDP患者的腓肠神经活检中,而MMN的神经活检中常看不到。CIDP的脑脊液蛋白常升高,而多数MMN的脑脊液蛋白正常,虽然血清抗神经节苷脂抗体最早是在MMN中发现,但在CIDP中偶尔也可见到。类固醇激素和血浆置换对一部分CIDP患者有效,而对MMN不仅无效,有时还会加重病情。
鉴别诊断运动神经元病运动神经元病是上、下运动神经元的慢性变性疾病,而MMN主要是运动神经的局灶性脱髓鞘改变,因此MMN一般不会出现脑神经和上运动神经元受累的表现。运动神经元病多数病情发展较MMN快。运动神经元病时肌无力是按脊髓的节段分布的,而在MMN的早期,肌无力严格按周围神经分布。例如,在正中神经支配的大鱼际肌(C8~T1)可有很明显的无力,而在同一脊髓节段尺神经支配的肌肉可以完全正常。运动神经元病肌电图检查时,即使在临床上未受累的肌肉也有广泛的失神经电位,而MMN的异常电位通常局限于有CB的神经支配的肌肉。与MMN相比,运动神经元病偶尔也可发现抗GMl抗体的升高,特别是在脊肌萎缩症时,应用免疫治疗后,一些患者的症状也可改善。因此,当运动神经元病患者发现高滴度抗GMl抗体且以下运动神经元受累为著时,可给予IVIg或免疫抑制剂试验性治疗。
治疗单独的皮质类固醇激素或合并血浆置换、免疫抑制剂的治疗,结果只有很少的患者(1l%)有效;免疫球蛋白治疗对于改善临床症状和体征、减轻部分神经运动传导阻滞有确实疗效;干扰素-βla(IFN-β1a)对少数MMN患者有效。'
您可能关注的文档
- 最新CT解剖--颞骨 PPT课件PPT课件.ppt
- 最新CT诊断学肾上腺CT课件PPT.ppt
- 最新Cuisines-in-Chengdu成都美食英文介绍ppt课件PPT.ppt
- 最新CY30袖珍式氧气检测报警仪-氧气检测报警仪说明书课件PPT.ppt
- 最新C语言——7(计算机2级考试必学资料)课件PPT.ppt
- 最新C语言——循环控制课件PPT.ppt
- 最新C语言1(计算机2级考试必学资料).课件PPT.ppt
- 最新C语言程序设计教程课件PPT教学讲义ppt.ppt
- 最新C语言程序设计教程-第03课-顺序结构的程序设计课件PPT.ppt
- 最新C语言程序设计习题课件PPT.ppt
- 最新c语言课件--简单计算题课件课件PPT.ppt
- 最新C语言考试、计算机等级考试复习专用复习资料!!!课件PPT.ppt
- 最新C足太阳膀胱经-(1)概述课件PPT.ppt
- 最新D1-5极限运算法则课件PPT.ppt
- 最新DCS系统的接地和防雷课件PPT课件.ppt
- 最新DFMEA(某公司内部培训)教材课件PPT.ppt
- 最新DISCO切割机培训资料汇总课件PPT.ppt
- 最新Disaster Epidemiology Lessons From Bam Earthquake:从巴姆地震灾害流行病学教训课件PPT.ppt