中国农业大学:《C语言程序设计》课程教学课件(PPT讲稿)第04章 三种基本控制结构(上)

第3章三种基本控制结构 广3.1算法 3.2C语句 3.3数据输入与输出 3.4结构化的程序设计方法
第3章 三种基本控制结构 3.1 算法 3.2 C语句 3.3 数据输入与输出 3.4 结构化的程序设计方法

一、算法的概念 Pascal之父沃思(Nikiklaus Wirth)提出 一个公式: 数据结构+算法=程序 数据结构:各种数据的类型和组织形式 算法: 处理数据的思路和步骤
一、算法的概念 Pascal之父沃思(Nikiklaus Wirth)提出 一个公式: 数据结构 + 算法 = 程序 数据结构: 各种数据的类型和组织形式 算法: 处理数据的思路和步骤

更准确的表述: 程序=算法+数据结构+程序设计方法+语言 环境 灵 加工 结构化程序设计 工 魂 对象 (顺序、循环、选择) 具 种 种树的步骤 各种 种树的规划 土地、 树 方法:挖坑、树苗 按行、列种树? 放树苗、填土、 一圈圈种? 铁锹等 浇水等 交叉种?
更准确的表述: 程序=算法+数据结构+程序设计方法+语言 环境 灵 魂 加工 对象 工 具 结构化程序设计 (顺序、循环、选择) 种 树 种树的步骤 方法:挖坑、 放树苗、填土、 浇水等 各种 树苗 种树的规划 按行、列种树? 一圈圈种? 交叉种? 土地、 铁锹等

算法的实质就是解决: 做什么?怎么做? 因此算法是指解决一个问题的方法和步骤。 注意:解决同一个问题的算法有可能不唯一。 算法的特性: >有穷性:即在有限步内结束; >确定性:算法的每一个步骤不能含糊; >有零个或多个输入; >有一个或多个输出; >有效性;算法中的每一步骤都能有效地执行,并得到 确定的结果
算法的实质就是解决: 做什么?怎么做? 因此算法是指解决一个问题的方法和步骤。 注意:解决同一个问题的算法有可能不唯一。 算法的特性: ➢ 有穷性:即在有限步内结束; ➢ 确定性:算法的每一个步骤不能含糊; ➢ 有零个或多个输入; ➢ 有一个或多个输出; ➢ 有效性;算法中的每一步骤都能有效地执行,并得到 确定的结果

计算机算法可分为两类 数值算法:数值运算的目的是求数值解, 如求平方、求定积分等。研究深入,算法 成熟,“数学程序库”math.h。 非数值算法:最常见的是用于事务管理领 域,如排序和检索(查找)。参考已有类 似算法,重新设计
计算机算法可分为两类 数值算法:数值运算的目的是求数值解, 如求平方、求定积分等。研究深入,算法 成熟,“数学程序库” math.h。 非数值算法:最常见的是用于事务管理领 域,如排序和检索(查找)。参考已有类 似算法,重新设计

二、算法的表示方法 自然语言 (通俗易懂,文字冗长,容易有“歧义性”) 流程图 (灵活,自由,形象,直观,易理解,占篇幅大) N-S图 (新型流程图,简洁)
二、算法的表示方法 自然语言 (通俗易懂, 文字冗长, 容易有“歧义性”) 流程图 (灵活, 自由, 形象, 直观, 易理解, 占篇幅大) N-S图 (新型流程图, 简洁)

伪代码 (介于自然语言和计算机语言之间,中英文皆可,格式 自由,易修改,不直观,不容易发现逻辑错误) 计算机语言 (用计算机实现算法,可以执行出结果,比如C语言)
伪代码 (介于自然语言和计算机语言之间, 中英文皆可,格式 自由, 易修改, 不直观, 不容易发现逻辑错误) 计算机语言 (用计算机实现算法, 可以执行出结果, 比如 C 语言)

问题一:有两个杯子a和b,分别放有酱油和 醋,试着将两个杯子中的液体进行互换。 鼬 轴 0
问题一:有两个杯子a和b,分别放有酱油和 醋,试着将两个杯子中的液体进行互换。 b a C 酱油 醋 X X 酱油 醋 酱油

【例3.1】用自然语言描述交换算法 拿一个空杯子c,将a中的酱油倒入c中。 将b中的醋倒入a中。 将c中暂存的酱油倒入b中
【例3.1】用自然语言描述交换算法 拿一个空杯子c,将a中的酱油倒入c中。 将b中的醋倒入a中。 将c中暂存的酱油倒入b中

问题二:有三个牧师和三个野人过河,只 有一条能装下两个人的船,在河的任何一 方或者船上,如果野人的人数大于牧师的 人数,那么牧师就会有被吃掉的危险。请 找出一种安全的渡河方案
问题二:有三个牧师和三个野人过河,只 有一条能装下两个人的船,在河的任何一 方或者船上,如果野人的人数大于牧师的 人数,那么牧师就会有被吃掉的危险。请 找出一种安全的渡河方案。 把牧师和野人都送到对岸,任何一边野人都不能比牧师多,否则野人吃牧师,游戏结束,5分钟不能完成者,智商属于低下!^-^
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 中国农业大学:《C语言程序设计》课程教学课件(PPT讲稿)第03章 三种基本控制结构(下).ppt
- 中国农业大学:《C语言程序设计》课程教学课件(PPT讲稿)第04章 数组.ppt
- 中国农业大学:《C语言程序设计》课程教学课件(PPT讲稿)第05章 函数.ppt
- 中国农业大学:《C语言程序设计》课程教学课件(PPT讲稿)第07章 预处理命令.ppt
- 中国农业大学:《C语言程序设计》课程教学课件(PPT讲稿)第08章 结构体.ppt
- 中国农业大学:《C语言程序设计》课程教学课件(PPT讲稿)第09章 文件.ppt
- 《C语言程序设计》课程教学资源(讲义资料)考试知识点复习(C语言程序设计复习样题及部分解析).doc
- 中国农业大学:《C语言程序设计》课程教学资源(试卷习题)C程序设计讲义与习题(含参考答案).pdf
- 《C语言程序设计》课程教学资源(讲义资料)C语言程序设计期中测试(分支与循环以前知识点,带答案).pdf
- 《C语言程序设计》课程教学资源(讲义资料)C语言程序设计期中测试(数组,带答案).pdf
- 中国农业大学:《C语言程序设计》课程教学课件(PPT讲稿)第06章 指针.ppt
- 《C语言程序设计》课程教学资源(讲义资料)C语言程序设计期中测试(函数,带答案).pdf
- 《C语言程序设计》课程教学课件(PPT讲稿)c语言指针完整教程.ppt
- 《C语言程序设计》课程教学课件(PPT讲稿)C语言指针详解.ppt
- 《C语言程序设计》课程教学资源(讲义资料)C语言指针用法详解.pdf
- 《C语言程序设计》课程教学资源(讲义资料)C指针详解(经典详细).pdf
- 《C语言程序设计》课程教学资源(讲义资料)C语言中详解指针.doc
- 《计算机导论》课程教学课件(英文讲稿)7-a- Web.pdf
- 《计算机导论》课程教学课件(英文讲稿)6-b- The Internet.pdf
- 《计算机导论》课程教学课件(英文讲稿)6-a- The Internet.pdf
- 中国农业大学:《C语言程序设计》课程教学课件(PPT讲稿)第02章 数据类型、运算符和表达式.ppt
- 中国农业大学:《C语言程序设计》课程教学课件(PPT讲稿)第01章 C语言概述(主讲:李辉).ppt
- 《数据结构》课程实验教学大纲 Data Structure.doc
- 《数据结构》课程设计教学大纲 Course Design of Data Structure.doc
- 《数据结构》课程教学大纲 Data Structure.doc
- 《数据结构》课程教学资源(作业习题)练习题及答案8.doc
- 《数据结构》课程教学资源(作业习题)练习题及答案6.doc
- 《数据结构》课程教学资源(作业习题)练习题及答案7.doc
- 《数据结构》课程教学资源(作业习题)练习题及答案9.doc
- 《数据结构》课程教学资源(作业习题)练习题及答案2.doc
- 《数据结构》课程教学资源(作业习题)练习题及答案3.doc
- 《数据结构》课程教学资源(作业习题)练习题及答案4.doc
- 《数据结构》课程教学资源(作业习题)练习题及答案1.doc
- 《数据结构》课程教学资源(试卷习题)第10章 排序自测卷空题(无答案).doc
- 《数据结构》课程教学资源(试卷习题)第9章 自测卷空题(无答案).doc
- 《数据结构》课程教学资源(试卷习题)第6章 二叉树课练空题(无答案).doc
- 《数据结构》课程教学资源(试卷习题)第7章 自测空题(无答案).doc
- 《数据结构》课程教学资源(试卷习题)第1章 概论空题(无答案).doc
- 《数据结构》课程教学资源(试卷习题)第2章 线性表空题(无答案).doc
- 《数据结构》课程教学资源(试卷习题)第3章 栈和队列自测卷空题(无答案).doc