C语言算法.pps_第1页
C语言算法.pps_第2页
C语言算法.pps_第3页
C语言算法.pps_第4页
C语言算法.pps_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

第02章 算法 本章主要介绍C算法的概念和计算机算法的表示方法 以及计算机算法的基本结构和算法的特性 2 1程序设计概述2 2算法的概念与计算机算法的特性2 3计算机算法的表示方法2 4计算机算法的基本结构和结构化程序设计方法 返回 作业及上机操作练习 2 1程序设计概述 一 程序的概念程序就是一系列的操作步骤 计算机程序就是由人事先规定的计算机完成某项工作的操作步骤 每一步骤的具体内容由计算机能够理解的指令来描述 这些指令告诉计算机 做什么 和 怎样做 二 程序设计语言的概念编写计算机程序所使用的语言称为程序设计语言 一个程序应包括对数据的描述和对数据处理的描述 1 对数据的描述 即数据结构 数据结构是计算机学科的核心课程之一 本课程就不再赘述 在C语言中 系统提供的数据结构 是以数据类型的形式出现的 2 对数据处理的描述 即计算机算法 算法是为解决一个问题而采取的方法和步骤 是程序的灵魂 为此 著名计算机科学家沃思 NikiklausWirth 提出一个公式 数据结构 算法 程序实际上 一个程序除了数据结构和算法外 还必须使用一种计算机语言 并采用结构化方法来表示 2 2算法的概念与算法的特点 1 算法是为解决一个问题所采取的方法和步骤 算法是程序的灵魂 算法有计算机能执行的和计算机不能执行的算法 本课程之关心计算机能执行的算法 即计算机算法 计算机算法可分为 数值运算算法和非数值运算算法 2 算法的特性 1 有穷性 算法包含的步骤是有限的 2 确定性 每个步骤是确定的而不是摸棱两可的 3 有效性 算法的每个步骤都应当能有效地执行 并能得到确定的结果 4 有一个或多个输出 无输出的算法是无实际意义的 5 有零个或多个输入 算法运行时可以从外界取得必要的信息 或数据 表示一个算法可以有不同的方法 常用方法有 1 用自然语言表示算法2 用传统流程图表示算法 3 用N S流程图表示算法 在传统流程图的基础上去掉了流程线 4 用伪代码表示算法 可以不必严格遵循所用语言的语法规则 5 用计算机语言表示算法 即编写程序 重点掌握 6 PAD流程图示法 包括设计 描述 算法 2 3算法的表示方法 用自然语言表示算法实例 问题 求1 100的和计1 定义两个整型变量设分别为s k 2 执行s 0 k 13 判断k是否小于101 若满足转第4 步 不满足转第7 步4 将s 1赋给s5 将k 1赋给k6 转第3 步7 输出s的值 用流程图表示算法 一 流程图的概念一种表示程序逻辑的图形格式 用来帮助设计程序 二 流程图中常用符号 二 流程图的分类1 传统流程图 流程中采用各中流程图符 用流程线指示流程方向2 NS流程图 由美国学者I Nassi和B Shneiderman提出的一种新的流程图形式 取掉了带箭头的流程线 全部算在写在一个矩型框内 在该矩型框内还可以包含其它的从属于它的框 3 PAD流程图 ProblemAnalysisDiagram 问题分析图 的简称 无流程线 只有两重关系 以下是三种流程图对程序的三种基本结构的表示 流程图对程序的三种基本结构的表示 传统流程图符号及其含义 用传统流程图表示的1 100之和算法 用N S流程图表示的1 100之和算法 用伪代码表示的1 100之和算法 开始置s 0置k 1当k 100s s kk k 1循环到此结束打印S的值 begin0 s1 kwhileksk 1 prints 以上黄色框中是用伪代码表示的1 100之和算法 用C语言表示的1 100之和的算法 算法之一 main ints 0 k 1 while k 100 s s k k k 1 printf s d n s 算法之二 main ints 0 k 1 do s s k k k 1 while k 100 printf s d n s 算法之三 main ints 0 k 1 for k 100 k s s k printf s d n s main ints 0 k 1 for k 100 k s s k printf s d n s 算法之四 几点说明 1 流程图是用来帮助设计程序的一种工具 它使得程序流程明确 具体及直观 2 在程序设计中往往有多种工具 如伪代码也是一种有用的工具 还有其它工具 3 用箭头来表示程序流程的方向 有较大的随意性 在使用中应注意 描述算法和实现算法 注意 描述算法和实现算法是两个不同的概念 描述算法只是用一种语言表示出来 但只有运行程序才能实现算法 实现算法 用计算机语言表示算法并在计算机上调试 运行 得出正确的结果 用计算机语言表示算法必须严格遵循所用语言的语法规则 2 4计算机算法的基本结构和结构化程序设计方法 1 结构化程序的三种基本结构 1 顺序结构 是一种基本结构 按先后顺序执行 但先后顺序有时也很重要 甚至影响结果 编程时应事先设计好语句之间的逻辑顺序 2 选择结构 或选取结构或分支结构 根据给定的条件选择其中一种加以执行 3 循环结构 当条件满足时 有限的重复执行规定 或有限 的步骤 C语言提供了3种基本循环结构 总体上有两种循环方法 迭代和穷举 2 结构化程序设计的基本方法 结构化程序设计方法的基本思路 将一个复杂问题的求解过程分阶段进行 每个阶段处理的问题都控制在容易理解和处理的范围内 结构化程序设计强调程序设计的风格和程序结构的规范化 为了得到结构化的程序 一般采用以下方法 1 自顶向下2 逐步细化3 模块化设计4 结构化编码 第二章作业及上机练习 1 分别用传统流图N S流图表示如下问题的算法 1 依次输入10个数 要求按从大到小的顺序输出2 求1 100的和 并输出结果 3 将100 300之间的素数打印出来 4 求两个数之间的最大公约数 5 判断一个数能否被3和5整除 6 求s 1 2 3 v n 1 n 2 用自顶向下 逐步细化的方法进行下列算法设计 输入10个数 找出最大的一个数 并打印出来 3 上机练习 进一步熟悉TC的工作环境 熟练掌握TC简单的程序的编辑 编译 连接 调试的基本方法 中在掌握基本的操作方法 第3章数据类型 运算符与表达式 内容摘要1 掌握C的数据类型 熟练掌握C的基本数据类型2 掌握关键字 标识符的概念及其标识符的分类 3 熟练掌握c的基本类型的表示及其数据的定义4 掌握常量的数

温馨提示

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

评论

0/150

提交评论