3、结构选择结构循环结构#include#includevoidmain(){floata,b,c,d,x1,x2;scanf(“%f,%f,%f”,&a,&b,&c);d=b*b-4*a*c;x1=(-b+sqrt(d))/(2*a);x2=(-b-sqrt(d))/(2*a);printf(“x1=%f,X2=%f”,x1,x2);}顺序结构示例:#include#includevoidmain(){floata,b,c,d,x
4、1,x2;scanf(“%f,%f,%f”,&a,&b,&c);d=b*b-4*a*c;if(d>=0){x1=(-b+sqrt(d))/(2*a);x2=(-b-sqrt(d))/(2*a);printf(“x1=%f,X2=%f”,x1,x2);}elseprintf(“没有实根”);}选择结构条件选择结构示例:循环结构程序示例:voidmain(){inti,sum=0;for(i=1;i<=100;i++)sum=sum+i;printf(“sum=%d”,sum);}循环结构反复执行v
5、oidmain(){inta,b=0,i;scanf(“%d”,&a);if(a>0)for(i=1;i<=a;i++)b=b+i;elseb=0;printf(“%d”,b);}a>0时a≤0时自顶向下逐步细化模块化设计结构化编码问题问题B问题B1问题B2问题A问题A2问题A1问题B21问题B22问题B23问题C问题C1问题C2程序设计的思想1.2算法的概念从事各种工作和活动,都必须事先想好进行的步骤,然后按部就班地进行。算法:解决一个问题而采取的方法和步骤。对同一个问题,可以有不同的解题方法
6、和步骤。方法有优劣之分。算法也有优劣。常用的有:自然语言(人的日常使用语言)伪代码传统流程图结构化流程图(N-S)等怎样表示一个算法算法的特点:1、有穷性2、确定性3、有零个或多个输入4、有一个或多个输出5、有效性用最原始的方法进行。步骤1:1×2=2步骤2:2×3=6步骤3:6×4=24步骤4:24×5=120。这就是最后的结果。这样的算法虽然是正确的,但太繁琐。例求1×2×3×4×5。可以将迭代算法改写如下:步骤1:t=1步骤2:i=2步骤3:t×i=>t(迭代变量)步骤4:i+1=>i步骤
7、3步骤5:当i<=5执行,否结束循环传统流程图例求1×2×3×4×5。弊端流程线图2.8在传统流程图中,完全去掉了带箭头的流程线。全部算法写在一个矩形框内,在该框内还可以包含其他的从属于它的框,或者说,由一些基本的框组成一个大的框。这种流程图就称N-S结构化流程图。这种流程图适于结构化程序设计。N-S结构化流程图表示算法(2)选择结构(1)顺序结构N-S流程图用以下的流程图符号:(3)循环结构:直到型循环结构当型循环结构直到p1条件不成立为止。直到给定的p1条件成立为止例求1×2×3×4×5。程
8、序的开发过程:目标程序可执行程序计算结果编译链接运行源程序编辑程序设计一般包括以下几个步骤:(1)分析问题并建立相应的数学模型。(2)确定数据结构和算法。(3)编程。(4)调试。(5)整理并写出文档资料。例1:计算面积为12.5cm2的园的半径。分析:s=∏r2r=sqrt(s/∏);程序:#include#include#definePI3.14voidmain(){floatr,s;s=12.5;r=sqrt(s/PI);printf(“半径为:%f”,r)