教学第3章顺序结构程序设计课件_第1页
教学第3章顺序结构程序设计课件_第2页
教学第3章顺序结构程序设计课件_第3页
教学第3章顺序结构程序设计课件_第4页
教学第3章顺序结构程序设计课件_第5页
已阅读5页,还剩91页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第3章顺序结构程序设计 3.1程序的3种基本控制结构 3.2顺序执行语句 3.3格式化输出函数printf() 3.4格式化输入函数scanf() 3.5单个字符的输入/输出函数 3.6小结 3.7练习、作业及实验第3章顺序结构程序设计 3.1程序的3种基本控制结构算法的三种基本结构

和SP(结构化程序设计程序)的三种基本结构

程序=数据+算法算法的三种基本结构

和SP(结构化程序设计程序)的三种基本结一、程序设计的过程

程序设计的基本步骤包括:

1、对问题进行说明(明确要解决的问题和所设计程序的功能);

2、分解问题(功能模块划分);

3、编制各模块(对各模块分别设计算法并编写程序);

4、测试并完善各模块(做一步测试一步,在前一步测试通过的前提下,再做下一步);

5、组装全部模块;

6、整体测试。一、程序设计的过程程序设计的基本步骤包括:一、程序设计的过程

也可以表示如下:

1、拿到任务后明确目标;

2、设计算法(设计好一步一步怎么做);

3、根据算法用语言编程实现;

4、测试、调试直得到正确结果。一、程序设计的过程也可以表示如下:一、程序设计的过程

设计算法→编写程序一、程序设计的过程二、算法的描述

算法:解决问题的方法和思路,及正确的求解步骤,它是计算机编程解决问题的前提和关键。算法描述可以用:自然语言、伪程序语言或程序流程图(传统流程图)N-S盒图(结构化流程图)等。用自然语言描述比较自然,但容易产生歧义,在严谨的计算机程序设计文档中一般使用程序流程图/N-S盒图来表示。二、算法的描述算法:解决问题的方法和思路,及正确的求二、算法的描述(自然语言)1、自然语言描述:用自然语言把问题的求解步骤表示出来。举例1:用自然语言表示输入圆的半径,计算并输出圆的面积的算法。

1、输入半径r;

2、根据圆的面积公式计算:

S=pr2

3、输出结果S。二、算法的描述(自然语言)1、自然语言描述:用自然语言2、程序流程图:一组专门规定的符号来描述算法(ANSI)。

1、开始、结束框:

2、数据输入/输出框:

3、判断框:

逻辑表达式的真假写在流线上

4、数据处理(过程)框:

5、流程线:连接以上框图,指出执行顺序三、算法的描述(程序流程图)输入/输出数据信息逻辑表达式2、程序流程图:一组专门规定的符号来描述算法(ANSI

传统的流程图用流程线指出各框的执行顺序,并且对流程线的使用没有严格限制。使用者可以毫不受限制地使流程随意地转来转去,使流程图变得毫无规律,阅读者要花很大精力去追踪流程,使人难以理解算法的逻辑,从而使算法的可读性、可靠性和可维护性差。————非结构化的流程“意大利面条”如何使写出的算法能限制这种无规律的流程的随意转向呢?三、算法的描述传统的流程图用流程线指出各框的执行顺序,并且对流程线

为了提高算法的质量,使算法的设计和阅读方便,就限制流程线的随意转向,不允许无规律地使用流程随意转向,只能顺序地走下去。人们设想,可以用几种基本的算法结构顺序组成一个结构化的算法。三种基本算法结构作为良好算法的基本单元:三、三种基本的算法结构ABabABabp成立不成立Aabp成立为了提高算法的质量,使算法的设计和阅读方便,就限制流

为了提高算法的质量,使算法的设计和阅读方便,就限制流程线的随意转向,不允许无规律地使用流程随意转向,只能顺序地走下去。人们设想,可以用几种基本的算法结构顺序组成一个结构化的算法。三种基本算法结构作为良好算法的基本单元:三、三种基本的算法结构Aabp成立不成立Aabp成立不成立为了提高算法的质量,使算法的设计和阅读方便,就限制流

为了提高算法的质量,使算法的设计和阅读方便,就限制流程线的随意转向,不允许无规律地使用流程随意转向,只能顺序地走下去。人们设想,可以用几种基本的算法结构顺序组成一个结构化的算法。三种基本算法结构作为良好算法的基本单元:N-S盒图三、三种基本的算法结构ABPYnAB当p成立AA直到p成立为了提高算法的质量,使算法的设计和阅读方便,就限制流

举例2:用程序流程图描述已知圆的半径,求圆的面积算法。顺序结构 程序代码三、算法的描述(求圆的面积2)开始输入r计算面积S输出面积S结束举例2:用程序流程图描述已知圆的半径,求圆的面积算法

举例3:用程序流程图表示如下二次方程求实根算法,ax2+bx+c=0。条件分支结构 程序代码 三、算法的描述(解方程)开始输入a,b,c计算△=b2-4ac结束△≥0?错误,无实根输出解xYN举例3:用程序流程图表示如下二次方程求实根算法,ax举例4:五级记分制需要按:优([95,100])、良([85-94])、中([75,84])、及格([74,60])、不及格([0,60))分等级,请将输入的分数转换成相应的等级。多分支结构 程序代码三、算法的描述(成绩评定)开始输入分数结束分数≥95YN成绩=优分数≥85Y成绩=良N分数≥75Y成绩=中N分数≥60Y成绩=不及格成绩=及格N举例4:五级记分制需要按:三、算法的描述(成绩评定)开始输入3、循环结构: 求1,2,3,…,100的累加和。 程序代码

循环结构)开始和nSum=0记数nCount=1输出累加和结束nCount<=100NYnSum=nSum+nCount3、循环结构:循环结构)开始和nSum=0输出累加和课外作业请在网上搜索程序员的定义及相关内容。写程序的人,一种职业,一种追求课外作业请在网上搜索程序员的定义及相关内容。结构化程序设计概念

结构化程序设计结构化程序设计(structuredprogramming)是进行以模块功能和处理过程设计为主的详细设计的基本原则。其概念最早由E.W.Dijikstra在1965年提出的。是软件发展的一个重要的里程碑,它的主要观点是采用自顶向下、逐步求精的程序设计方法;使用三种基本控制结构构造程序,任何程序都可由顺序、选择、重复三种基本控制结构顺序地构造

详细描述处理过程常用三种工具:图形、表格和语言。

图形:程序流程图、N-S图、PAD图 表格:判定表

语言:过程设计语言(PDL)

结构化程序设计概念

结构化程序设计结构化程序设计概念

中文名: 艾兹格·迪科斯彻外文名: EdsgerWybeDijkstra国籍: 荷兰出生地: 荷兰鹿特丹(Rotterdam)出生日期: 1930年5月11日逝世日期: 2002年8月6日结构化程序设计概念

中文名: 艾兹格·迪科斯彻结构化程序设计的要点

结构化程序设计曾被称为软件发展中的第三个里程碑。该方法的要点是:

(1)

没有GOTO语句;//在有资料里面说可以用,但要谨慎严格控制GOTO语句,仅在下列情形才可使用:

用一个非结构化的程序设计语言去实现一个结构化的构造。

在某种可以改善而不是损害程序可读性的情况下。

(2)

一个入口,一个出口;

(3)

自顶向下、逐步求精的分解;

(4)

主程序员组。

其中(1)、(2)是解决程序结构规范化问题;(3)是解决将大划小,将难化简的求解方法问题;(4)是解决软件开发的人员组织结构问题。

结构化程序设计的要点结构化程序设计曾被称为软件发展中的第结构化程序设计原则和方法的应用在结构化程序设计的具体实施中,要注意把握如下要素:

1.使用程序设计语言中的顺序、选择、循环等有限的控制结构表示程序的控制逻辑;

2.选用的控制结构只准有一个入口和一个出口;

3.程序语句组成容易识别的块,每块只有一个入口和一个出口;

4.复杂结构应该用嵌套的基本控制结构进行组合嵌套来实现;

5.语言中没有的控制结构,应该采用前后一致的方法来模拟;

6.严格控制

GOTO语句的使用。其意思是指:

(1)用一个非结构化的程序设计语言去实现一个结构化的构造;

(2)若不使用

GOTO语句会使功能模糊;

(3)在某种可以改善而不是损害程序可读性的情况下。结构化程序设计原则和方法的应用在结构化程序设计的具体实施C语言程序中的基本单位——语句

C语言源程序是语句的序列,语句是C语言源程序的基本单位。C语言中的语句有如下几类: 1、流程控制语句 2、表达式语句: 3、函数调用语句: 4、空语句:; 5、复合语句:{}。C语言程序中的基本单位——语句C语言源程序是语句的序列,

结构化程序设计:不使用直接跳转语句(GOTO),每个程序段只有一个入口和出口,并且只使用顺序结构、条件分支结构、循环结构及子程序等来构成整个程序。

1、顺序结构:语句序列一条一条地顺序执行。

2、条件分支结构:根据条件的不同而执行不同的语句序列

3、循环结构:语句序列重复执行。可以再加上子程序(模块):可完成某一独立功能,且要被重复多处利用的。四、程序的结构结构化程序设计:不使用直接跳转语句(GOTO),每个课外作业请在网上搜索程序员的定义及相关内容。写程序的人,一种职业,一种追求课外作业请在网上搜索程序员的定义及相关内容。输入:scanf()

输入:scanf()输入

输入输入

format格式串的组成——type输入format格式串的组成——type输入

format格式串的组成——type输入format格式串的组成——type输入

format格式串的组成——flag输入format格式串的组成——flag输入

format格式串的组成——width和precision输入format格式串的组成——width和prec输入

format格式串的组成——modifier输入format格式串的组成——modifier输入getchar()/getch()

单字符的输入宏输入getchar()/getch()单字符的输入宏输入getchar()/getch()

单字符的输入函数输入getchar()/getch()单字符的输入函数输入getchar()/getch()

单字符的输入函数输入getchar()/getch()单字符的输入函数输入gets()/fgets()

字符串输入输入gets()/fgets()字符串输入输入gets()/fgets()

字符串输入输入gets()/fgets()字符串输入输入cgets()

字符串输入输入cgets()字符串输入输出printf()

输出printf()输出fprintf()

输出fprintf()输出putchar()/putch

输出putchar()/putch输出putchar()/putch

输出putchar()/putch输出putchar()/putch

输出putchar()/putch输出puts()/fputs

输出puts()/fputs输出puts()/fputs

输出puts()/fputs3.6小结1、程序折3种基本控制结构为顺序结构、选择结构和循环结构,只用这3种控制结构就能够编写所有的程序。2、C语言的语句包括:表达式语句、函数调用语句、复合语句和空语句及流程控制语句。3、printf()函数的一般格式如下:

printf(“格式字符串“,输出项表); 其中,“格式字符串”也称为格式控制字符串或格式转换字符串,可以包含格式指示符、转义符和普通字符等。 “输出项表”由若干个输出项构成,输出项之间用逗号来分隔,每个输出项可以是常量、变量或表达式。3.6小结1、程序折3种基本控制结构为顺序结构、选择结构和3.6小结(2)4、scanf()函数一般格式

scanf(“格式字符串“,输入项地址表); 其中,“格式字符串”可以包含3种类型的字符:格式指示符、空白字符(空格、跳格键、回车键)和非空白字符/普通字符。 输入项地址表,由若干个输入项地址组成,变量地址的表示方法为:&变量名。5、putchar()、getchar()6、gets()、puts()/fgets()、fputs()3.6小结(2)4、scanf()函数一般格式3.7练习、作业及实验(1)一、练习书后练习二、作业0、简述结构化程序设计的概念。1、程序的语句的分类。2、C语言输入/输出的实现及常用的方法。3、编写算法求ax2+bx+c=0的解。4、输入两个整数a,b,求它们的最大公约数和最小公倍数。3.7练习、作业及实验(1)一、练习3.7练习、作业及实验(2)三、实验1、目的:(1)了解结构化程序设计的方法原则及常用的三种结构;(2)掌握顺序程序设计的方法;(3)掌握常用的输入/输出printf()、scanf()、gets()、puts()、 getchar()、putchar()的用法。2、任务:(1)第三章中例程:Exam1_1.C、Exam1_2.CExam1_3.C,练习中的程序。(2)P50页编写程序题。(3)设计实验测试printf()、scanf()两个函数的返回值。要求:实验课前必须先写出自己的算法并以适当方式描述出来,然后翻译成C语言源程序,上机时直接调试。3.7练习、作业及实验(2)三、实验第3章顺序结构程序设计 3.1程序的3种基本控制结构 3.2顺序执行语句 3.3格式化输出函数printf() 3.4格式化输入函数scanf() 3.5单个字符的输入/输出函数 3.6小结 3.7练习、作业及实验第3章顺序结构程序设计 3.1程序的3种基本控制结构算法的三种基本结构

和SP(结构化程序设计程序)的三种基本结构

程序=数据+算法算法的三种基本结构

和SP(结构化程序设计程序)的三种基本结一、程序设计的过程

程序设计的基本步骤包括:

1、对问题进行说明(明确要解决的问题和所设计程序的功能);

2、分解问题(功能模块划分);

3、编制各模块(对各模块分别设计算法并编写程序);

4、测试并完善各模块(做一步测试一步,在前一步测试通过的前提下,再做下一步);

5、组装全部模块;

6、整体测试。一、程序设计的过程程序设计的基本步骤包括:一、程序设计的过程

也可以表示如下:

1、拿到任务后明确目标;

2、设计算法(设计好一步一步怎么做);

3、根据算法用语言编程实现;

4、测试、调试直得到正确结果。一、程序设计的过程也可以表示如下:一、程序设计的过程

设计算法→编写程序一、程序设计的过程二、算法的描述

算法:解决问题的方法和思路,及正确的求解步骤,它是计算机编程解决问题的前提和关键。算法描述可以用:自然语言、伪程序语言或程序流程图(传统流程图)N-S盒图(结构化流程图)等。用自然语言描述比较自然,但容易产生歧义,在严谨的计算机程序设计文档中一般使用程序流程图/N-S盒图来表示。二、算法的描述算法:解决问题的方法和思路,及正确的求二、算法的描述(自然语言)1、自然语言描述:用自然语言把问题的求解步骤表示出来。举例1:用自然语言表示输入圆的半径,计算并输出圆的面积的算法。

1、输入半径r;

2、根据圆的面积公式计算:

S=pr2

3、输出结果S。二、算法的描述(自然语言)1、自然语言描述:用自然语言2、程序流程图:一组专门规定的符号来描述算法(ANSI)。

1、开始、结束框:

2、数据输入/输出框:

3、判断框:

逻辑表达式的真假写在流线上

4、数据处理(过程)框:

5、流程线:连接以上框图,指出执行顺序三、算法的描述(程序流程图)输入/输出数据信息逻辑表达式2、程序流程图:一组专门规定的符号来描述算法(ANSI

传统的流程图用流程线指出各框的执行顺序,并且对流程线的使用没有严格限制。使用者可以毫不受限制地使流程随意地转来转去,使流程图变得毫无规律,阅读者要花很大精力去追踪流程,使人难以理解算法的逻辑,从而使算法的可读性、可靠性和可维护性差。————非结构化的流程“意大利面条”如何使写出的算法能限制这种无规律的流程的随意转向呢?三、算法的描述传统的流程图用流程线指出各框的执行顺序,并且对流程线

为了提高算法的质量,使算法的设计和阅读方便,就限制流程线的随意转向,不允许无规律地使用流程随意转向,只能顺序地走下去。人们设想,可以用几种基本的算法结构顺序组成一个结构化的算法。三种基本算法结构作为良好算法的基本单元:三、三种基本的算法结构ABabABabp成立不成立Aabp成立为了提高算法的质量,使算法的设计和阅读方便,就限制流

为了提高算法的质量,使算法的设计和阅读方便,就限制流程线的随意转向,不允许无规律地使用流程随意转向,只能顺序地走下去。人们设想,可以用几种基本的算法结构顺序组成一个结构化的算法。三种基本算法结构作为良好算法的基本单元:三、三种基本的算法结构Aabp成立不成立Aabp成立不成立为了提高算法的质量,使算法的设计和阅读方便,就限制流

为了提高算法的质量,使算法的设计和阅读方便,就限制流程线的随意转向,不允许无规律地使用流程随意转向,只能顺序地走下去。人们设想,可以用几种基本的算法结构顺序组成一个结构化的算法。三种基本算法结构作为良好算法的基本单元:N-S盒图三、三种基本的算法结构ABPYnAB当p成立AA直到p成立为了提高算法的质量,使算法的设计和阅读方便,就限制流

举例2:用程序流程图描述已知圆的半径,求圆的面积算法。顺序结构 程序代码三、算法的描述(求圆的面积2)开始输入r计算面积S输出面积S结束举例2:用程序流程图描述已知圆的半径,求圆的面积算法

举例3:用程序流程图表示如下二次方程求实根算法,ax2+bx+c=0。条件分支结构 程序代码 三、算法的描述(解方程)开始输入a,b,c计算△=b2-4ac结束△≥0?错误,无实根输出解xYN举例3:用程序流程图表示如下二次方程求实根算法,ax举例4:五级记分制需要按:优([95,100])、良([85-94])、中([75,84])、及格([74,60])、不及格([0,60))分等级,请将输入的分数转换成相应的等级。多分支结构 程序代码三、算法的描述(成绩评定)开始输入分数结束分数≥95YN成绩=优分数≥85Y成绩=良N分数≥75Y成绩=中N分数≥60Y成绩=不及格成绩=及格N举例4:五级记分制需要按:三、算法的描述(成绩评定)开始输入3、循环结构: 求1,2,3,…,100的累加和。 程序代码

循环结构)开始和nSum=0记数nCount=1输出累加和结束nCount<=100NYnSum=nSum+nCount3、循环结构:循环结构)开始和nSum=0输出累加和课外作业请在网上搜索程序员的定义及相关内容。写程序的人,一种职业,一种追求课外作业请在网上搜索程序员的定义及相关内容。结构化程序设计概念

结构化程序设计结构化程序设计(structuredprogramming)是进行以模块功能和处理过程设计为主的详细设计的基本原则。其概念最早由E.W.Dijikstra在1965年提出的。是软件发展的一个重要的里程碑,它的主要观点是采用自顶向下、逐步求精的程序设计方法;使用三种基本控制结构构造程序,任何程序都可由顺序、选择、重复三种基本控制结构顺序地构造

详细描述处理过程常用三种工具:图形、表格和语言。

图形:程序流程图、N-S图、PAD图 表格:判定表

语言:过程设计语言(PDL)

结构化程序设计概念

结构化程序设计结构化程序设计概念

中文名: 艾兹格·迪科斯彻外文名: EdsgerWybeDijkstra国籍: 荷兰出生地: 荷兰鹿特丹(Rotterdam)出生日期: 1930年5月11日逝世日期: 2002年8月6日结构化程序设计概念

中文名: 艾兹格·迪科斯彻结构化程序设计的要点

结构化程序设计曾被称为软件发展中的第三个里程碑。该方法的要点是:

(1)

没有GOTO语句;//在有资料里面说可以用,但要谨慎严格控制GOTO语句,仅在下列情形才可使用:

用一个非结构化的程序设计语言去实现一个结构化的构造。

在某种可以改善而不是损害程序可读性的情况下。

(2)

一个入口,一个出口;

(3)

自顶向下、逐步求精的分解;

(4)

主程序员组。

其中(1)、(2)是解决程序结构规范化问题;(3)是解决将大划小,将难化简的求解方法问题;(4)是解决软件开发的人员组织结构问题。

结构化程序设计的要点结构化程序设计曾被称为软件发展中的第结构化程序设计原则和方法的应用在结构化程序设计的具体实施中,要注意把握如下要素:

1.使用程序设计语言中的顺序、选择、循环等有限的控制结构表示程序的控制逻辑;

2.选用的控制结构只准有一个入口和一个出口;

3.程序语句组成容易识别的块,每块只有一个入口和一个出口;

4.复杂结构应该用嵌套的基本控制结构进行组合嵌套来实现;

5.语言中没有的控制结构,应该采用前后一致的方法来模拟;

6.严格控制

GOTO语句的使用。其意思是指:

(1)用一个非结构化的程序设计语言去实现一个结构化的构造;

(2)若不使用

GOTO语句会使功能模糊;

(3)在某种可以改善而不是损害程序可读性的情况下。结构化程序设计原则和方法的应用在结构化程序设计的具体实施C语言程序中的基本单位——语句

C语言源程序是语句的序列,语句是C语言源程序的基本单位。C语言中的语句有如下几类: 1、流程控制语句 2、表达式语句: 3、函数调用语句: 4、空语句:; 5、复合语句:{}。C语言程序中的基本单位——语句C语言源程序是语句的序列,

结构化程序设计:不使用直接跳转语句(GOTO),每个程序段只有一个入口和出口,并且只使用顺序结构、条件分支结构、循环结构及子程序等来构成整个程序。

1、顺序结构:语句序列一条一条地顺序执行。

2、条件分支结构:根据条件的不同而执行不同的语句序列

3、循环结构:语句序列重复执行。可以再加上子程序(模块):可完成某一独立功能,且要被重复多处利用的。四、程序的结构结构化程序设计:不使用直接跳转语句(GOTO),每个课外作业请在网上搜索程序员的定义及相关内容。写程序的人,一种职业,一种追求课外作业请在网上搜索程序员的定义及相关内容。输入:scanf()

输入:scanf()输入

输入输入

format格式串的组成——type输入format格式串的组成——type输入

format格式串的组成——type输入format格式串的组成——type输入

format格式串的组成——flag输入format格式串的组成——flag输入

format格式串的组成——width和precision输入format格式串的组成——width和prec输入

format格式串的组成——modifier输入format格式串的组成——modifier输入getchar()/getch()

单字符的输入宏输入getchar()/getch()单字符的输入宏输入getchar()/getch()

单字符的输入函数输入getchar()/getch()单字符的输入函数输入getchar()/getch()

单字符的输入函数输入getchar()/getch()单字符的输入函数输入gets()/fgets()

字符串输入输入gets()/fgets()字符串输入输入gets()/fgets()

字符串输入输入gets()/fgets()字符串输入输入cgets()

字符串输入输入cgets()

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论