STRUCTURED PROGRAMMING 倒1-1简单程序设计 A Simple program Design(1/5) 日问题 求方程ax+bx+c=0的根(设b4ac20) 口程序设计步骤1:定义数据结构 根据问题确定哪些是已知数据,哪些是通过计算得到的数据。对输入、输出和 存储的数据进行描述,指定数据的类型和数据的组织形式。 定义以下变量( variables): a、b、c (保存输入的系数) p、disc、g(保存中间结果) x1、x2 (保存最后的结果) 第一讲〔语言报疹计入门 目录
例1-1 简单程序设计 A Simple Program Design (1/5) 问题 – 求方程ax2+bx+c=0的根(设b2-4ac≥0) 程序设计步骤 1:定义数据结构 – 根据问题确定哪些是已知数据,哪些是通过计算得到的数据。对输入、输出和 存储的数据进行描述,指定数据的类型和数据的组织形式。 – 定义以下变量(variables): sTruCTureD Programming 第一讲 C语言程序设计入门 目 录 a、b、c (保存输入的系数) p、disc、q (保存中间结果) x1、x2 (保存最后的结果)
STRUCTURED PROGRAMMING 倒1-1简单程序设计 A Simple program Design(2/5) 日问题 求方程ax+bx+c=0的根(设b2-4ac≥0) 口程序设计步骤2:设计算法 根据数学知识,知道此时方程有两个根 b+√b2-4 b-√b2-4 x 那么,可以确定解方程的方法和步骤: 1.输入a,b,c; 2.计算-b/2a,把结果存入p,即p=-b/2a; 3.计算b2-4ac,把结果存入disc,即disc=b2-4aa; 4.计算√asc/2a,把结果存入q,即q√hsc2a; 5.计算p+q和p-q,把结果存入x1和x2,即x1=p+q,x2=-q; 输出x1和x2。 第一讲〔语言报疹计入门 目录
例1-1 简单程序设计 A Simple Program Design (2/5) 问题 – 求方程ax2+bx+c=0的根(设b2-4ac≥0) 程序设计步骤 2:设计算法 – 根据数学知识,知道此时方程有两个根 – 那么,可以确定解方程的方法和步骤: sTruCTureD Programming 第一讲 C语言程序设计入门 目 录 1. 输入a,b,c; 2. 计算-b/2a,把结果存入p,即p=-b/2a; 3. 计算b2-4ac,把结果存入disc,即disc=b2-4ac; 4. 计算 ,把结果存入q,即q= ; 5. 计算p+q和p-q,把结果存入x1和x2,即x1=p+q,x2=p-q; 6. 输出x1和x2。 a b b ac x 2 4 2 1 a b b ac x 2 4 2 2 disc / 2a disc / 2a
STRUCTURED PROGRAMMING 倒1-1简单程序设计 A Simple program Design(3/5) 日问题 求方程ax+bx+c=0的根(设b4ac20) 口程序设计步骤3:确定程序设计方法 结构化程序设计( Structured programming) 严格的方法( disciplined approach) 清晰( clear),便于测试(test)、调试( debug)和修改(mody) 面向对象程序设计( object- oriented programming) 可重用( reusable) ·更易理解( understandable),更好的组织( organized),更利于维护 (maintain) 支持模块性( modularity 这里,采用结构化程序设计方法。 第一讲〔语言报疹计入门 目录
例1-1 简单程序设计 A Simple Program Design (3/5) 问题 – 求方程ax2+bx+c=0的根(设b2-4ac≥0) 程序设计步骤 3:确定程序设计方法 – 结构化程序设计(Structured programming) • 严格的方法(disciplined approach) • 清晰(clear),便于测试(test)、调试(debug)和修改(modify) – 面向对象程序设计(Object-oriented programming) • 可重用(reusable) • 更易理解(understandable),更好的组织(organized),更利于维护 (maintain) • 支持模块性(modularity) – 这里,采用结构化程序设计方法。 sTruCTureD Programming 第一讲 C语言程序设计入门 目 录
STRUCTURED PROGRAMMING 倒1-1简单程序设计 A Simple program Design(4/5) 日问题 求方程ax2+bx+c=0的根(设b4ac≥0) 口程序设计步骤4:确定语言和开发环境 采用C语言 在 Borland o31开发环境下进行程序设计 第一讲〔语言报疹计入门 目录
例1-1 简单程序设计 A Simple Program Design (4/5) 问题 – 求方程ax2+bx+c=0的根(设b2-4ac≥0) 程序设计步骤 4:确定语言和开发环境 – 采用C语言 – 在Borland C 3.1开发环境下进行程序设计 sTruCTureD Programming 第一讲 C语言程序设计入门 目 录
STRUCTURED PROGRAMMING 倒1-1简单程序设计 A Simple program Design (5/5) 日问题 求方程ax+bx+c=0的根(设b2-4ac20) 口程序设计步骤5:实现 编写c语言程序 #include <math. h> void main 例 float a, b,c, p, disc, q, xl, x2i scanf(f8f各f",sa,如b,&c); x2=4 p=-b/(2*a) disc=b*b-4*a*c; 即 g=sqrt(disc)/(2*a); a=1 x1=+q;x2=p-q; b=0 printf( x1=%f, x2=%f, xl, x2)i }/*CW01-01.C*/ c=-4 第一讲〔语言报疹计入门 目录
例1-1 简单程序设计 A Simple Program Design (5/5) 问题 – 求方程ax2+bx+c=0的根(设b2-4ac≥0) 程序设计步骤 5:实现 – 编写C语言程序 sTruCTureD Programming 第一讲 C语言程序设计入门 目 录 #include <math.h> void main() { float a, b, c, p, disc, q, x1, x2; scanf(“%f%f%f”, &a, &b, &c); p=-b/(2*a); disc=b*b-4*a*c; q=sqrt(disc)/(2*a); x1=p+q; x2=p-q; printf(“x1=%f, x2=%f”, x1, x2); } /*CW01-01.C*/ 例: x2=4 即 a=1 b=0 c=-4