c语言程序设计第二章ppt,第二章 算法_齐齐哈尔大学:C语言程序设计_ppt_大学课件预览_高等教育资讯网...

第二章 程序的灵魂 --算法

一个程序应包括以下两个方面,

1)对数据的描述。在程序中要指定数据的类型

和数据的组织结构。

2)对操作的描述。即操作步骤,也就是算法。

著名计算机科学家沃思提出:程序 =数据结构 +算法

程序 =算法 +数据结构 +程序设计方法 +语言工具和环境

§ 2.1 算法的概念

计算机算法分为两类,

数值运算算法:目的是求数值解。

非数值运算算法:事务管理(人事、档案)

§ 2.2 简单的算法举例

例 1,1× 2× 3× 4× 5

[算法 ]

S1,p=1

S2,i=2

S3,p× i?p

S4,i+1?i

S5,i<=5 转到 S3,否则输出 p的值,终止算法。

模仿例 1,写出计算

s=1+2+3+…+100的算法

§ 2.3 算法的特征

1、有穷性

2、确定性

3、有零个或多个输入

4、有一个或多个输出

5、有效性

例 1,

1× 2× 3× 4× 5

S1,p=1

S2,i=2

S3,p× i?p

S4,i+1?i

S5,i<=5 转到 S3,

否则输出 p的值,

终止算法。

§ 2.4 怎样表示一个算法

一、用自然语言表示算法

日常用语

二、用流程图表示算法

起止框 输入输出框

判断框 处理框

或 流程线 连接点

注释框

开始

1?t

2?i

t× i?t

i+1?i

i>5

结束

yes

no

输出 p

计算:

1× 2× 3× 4 × 5

画一个计算 1+2+3+…+100 的流程图

三、三种基本结构和改进的流程图

1、传统流程图的弊端

2、三种基本结构

?顺序结构:最简单的一种结构

成立 不成立 成立 不成立

顺序结构 选择结构( 1) 选择结构( 2)

?选择结构

其中 A,B是一个处理过程,P是一个条件

A

B

P

A B

P

A

把这两种结构图自己画出来。

?循环结构

?当型循环

?直到型循环

不成立

成立 成立

不成立

当型循环 直到型循

A可以是一条或多条语句或三个基本结构之一。

P1

A

A

P2

把着两个结构图自己画出来

以上三种结构的共同点,

1、只有一个入口

2、只有一个出口

3、结构内的每一部分都有机会被执行到。

4、结构内不存在, 死循环,

四、用 N-S流程图表示算法

1、顺序结构 2、选择结构

成立 不成立 A

B

P

A B

3、循环结构

当型循环 直到型循环

当 P1成立

直到 P1成立

A可以是一条或多条语句或三个基本结构之一。

例 1,1× 2× 3× 4× 5的 N-S图

直到 i>5

A

A

1?t

2?i

t× i?t

i+1?i

打印 t

模仿例 1画出计算

1+2+3+4+5 的 N-S图来

N-S图的优点,

1、比传统流程图紧凑易画

2、上下顺序就是程序执行的顺序

五,用计算机语言表示算法

设计程序的基本过程, (记下来 )

分析问题 设计算法 描述算法 编写程序

例如,计算 1× 2× 3× 4× 5

1?t

2?i

t× i?t

i+1?i

打印 t

1、分析问题:用累乘的方法

2、设计算法:设两个变量,t,i。 让 t保

存积,i用来表示每个乘积项,用循环结构

3、描述算法:可以用 N-S图

直到 i>5

4、编写程序:写出 C语言程序

main()

{ int i,t;

t=1;

i=2;

while(i<5)

{t=t*i;

i=i+1;

}

printf(“%d”,t);

}

§ 2.5 结构化程序设计方法

一个结构化程序就是用高级语言表示的结构化算法。

1、自顶向下 2、逐步细化

3、模块化设计 4、结构化编码

思考或问答题,

1,C程序中是否一定包含注释,注释的作用是什么?

2、每个程序至少包含一个什么函数?

3、程序中 main函数可以含两个以上吗?

4、一个函数的组成是什么样?

5、函数体包含哪几部分?

6、程序的执行次序是怎样的?

7,语句的标记是什么?

8、程序在机器上的执行过程?

9、什么叫算法?算法有什么特性?

10、表示算法的基本结构是哪三种?

作业,P12 1.5,16 P37 2.5(1,2,3)

实验,( 本实验不写实验报告 )

目的,1、熟悉 C语言的集成环境,了解菜单的使用方法。

2,掌握一个 Turbo C程序上机操作的全过程 。

内容,1,熟悉 File,Edit,Run,Option等菜单中常用

菜单项及对应的快捷键的使用方法 。

2,上机运行 P12 1.5 的程序

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值