《C语言》课程资源_C语言_教学课件_02——算法基础

程序设计基础(上) 张立红 13405330459(88028) QQ:2653453357 9#501
程序设计基础(上) 张立红 13405330459(88028) QQ:2653453357 9#501

第2章 算法设计基础
第 2 章 算法设计基础

程序设计的目的:计算机按照设定的执行流程完成指定任务。 程序设计的关键: ①对什么样的数据进行处理? ◆明确处理对象,给出准确的数据化描述; ◆根据需求,确定数据类型、元素之间的相互关系,组织数据的存 储结构。 ②如何对数据进行处理? ◆明确对处理对象的操作流程; ◆程序的指令组成和指令顺序
① 对什么样的数据进行处理 ? ◆明确处理对象,给出准确的数据化描述; ◆根据需求,确定数据类型、元素之间的相互关系,组织数据的存 储结构 。 ② 如何对数据进行处理 ? ◆明确对处理对象的操作流程; ◆程序的指令组成和指令顺序。 程序设计的目的:计算机按照设定的执行流程完成指定任务。 程序设计的关键:

程序=数据结构+算法 数据结构:是对数据的描述。 在C语言中,数据结构是以数据类型的形式出现的。 算法:对数据处理的描述,算法是为解决一个问题而采 取的方法和步骤,是程序的灵魂
程序 = 数据结构 + 算法 ➢ 算法:对数据处理的描述,算法是为解决一个问题而采 取的方法和步骤,是程序的灵魂。 ➢ 数据结构:是对数据的描述。 ➢ 在C语言中,数据结构是以数据类型的形式出现的

本章知识点 2.1什么是算法 2.2算法的特征 2.3算法的表示方法(重点) 2.4程序设计中常用算法简介一了解
本章知识点 2.1 什么是算法 2.2 算法的特征 2.3 算法的表示方法(重点) 2.4 程序设计中常用算法简介—了解

2.1什么是算法 算法:解决问题的方法与步骤。是问题求解过程中的精 确描述,一个算法由有限条可以完全机械地执行的、有确 定结果的指令组成。 程序:算法的具体实现。 程序设计语言:是程序开发工具,即是将算法转化为程 序的开发工具。 学习程序设计,不仅要熟练掌握程序设计语言本身 的特点、语法规则等,夏重要的是掌握分桥问题、解决 问题的方法一一一锻炼分桥、分解,最绝归纳整理出算法 的能力
算法:解决问题的方法与步骤。是问题求解过程中的精 确描述,一个算法由有限条可以完全机械地执行的、有确 定结果的指令组成。 程序:算法的具体实现。 程序设计语言:是程序开发工具,即是将算法转化为程 序的开发工具。 学习程序设计,不仅要熟练掌握程序设计语言本身 的特点、语法规则等,更重要的是掌握分析问题、解决 问题的方法-锻炼分析、分解,最终归纳整理出算法 的能力。 2. 1 什么是算法

2.1.1日常生活中的算法 >对同一个问题可以有不同的解题方法和步骤一算法 例如,求1+2+3+.+50 方法1:1+2+3+.+50=50+(1+49)+(2+48)+(3+47) +.+(24+26)+25=50×25+25=1275 方法2:1+2+3+.+50=(1+50)+(2+49)+(3+48) +.+(25+26)=51×25=1275 结论:算法有优劣之分
2.1.1 日常生活中的算法 ➢ 对同一个问题可以有不同的解题方法和步骤—算法 例如,求1+2+3+.+50 方法1: 1+2+3+.+50 = 50+(1+49)+(2+48)+(3+47) +.+(24+26)+25 = 50×25 + 25 = 1275 方法2:1+2+3+.+50 =(1+50)+(2+49)+(3+48) +.+(25+26)= 51×25 = 1275 结论:算法有优劣之分

2.1.2计算机算法的分类 >计算机算法可分为两大类别: 1)数值运算算法 2)非数值运算算法 >数值运算的目的是求数值解 例如:求方程的根。 >非数值运算包括的面十分广泛,最常见的是用 于事务管理领域。 例如:图书检索、学籍管理
2.1.2 计算机算法的分类 ➢ 计算机算法可分为两大类别: 1)数值运算算法 2)非数值运算算法 ➢ 数值运算的目的是求数值解 例如:求方程的根。 ➢ 非数值运算包括的面十分广泛,最常见的是用 于事务管理领域。 例如:图书检索、学籍管理

2.1.3简单的算法举例 例1:求1×2×3×4×5 ·原始方法: 太繁琐 >步骤1:求1*2,得到结果2。 >步骤2:2再乘以3,得到结果6。 >步骤3:6再乘以4,得24。 >步骤4:24再乘以5,得120。 120-最后的结果。 求1×2×3×4×5×6×.X1002
2.1.3 简单的算法举例 • 原始方法: ➢步骤1:求1*2,得到结果2。 ➢步骤2:2再乘以3,得到结果6。 ➢步骤3:6再乘以4,得24。 ➢步骤4:24再乘以5,得120。 120-最后的结果。 例1 :求1×2×3×4×5 太繁琐 求1×2×3×4×5 ×6×. ×100?

例1:求1×2×3×4×5 新算法: 5改为10,怎么做? ①设变量p为被乘数,变量为乘数 ② 初值p=1,=1 ③ 令p与i相乘,乘积仍放在变量p中,即:p*i台p ④ 使i的值自已加1,即i+1→i 循环 ⑤ 如果ⅰ不大于5,返回重新执行③; 否则,结束! 最后得到p的值就是1×2×3×4×5的值
新算法: ① 设变量p为被乘数,变量i为乘数 ② 初值 p=1,i=1 ③ 令 p 与 i 相乘,乘积仍放在变量 p 中,即:p*ip ④ 使 i 的值自己加1,即 i+1 i ⑤ 如果 i 不大于 5,返回重新执行 ③; 否则,结束! 最后得到 p 的值就是 1×2×3×4×5 的值 5改为10,怎么做? 例1: 求 1×2×3×4×5 循环
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《C语言》课程资源_C语言_教学课件_01——C语言-导论、ACM操作方法、实验操作方法.ppt
- 《C语言》课程资源_C语言_教学课件_理解——29——字符数组与指针.ppt
- 《C语言》课程资源_C语言_教学课件_30——字符串数组与字符串函数.ppt
- 《C语言》课程资源_C语言_教学课件_28——字符数组——基本知识.ppt
- 《C语言》课程资源_C语言_教学课件_27——指针——指向数组.ppt
- 《C语言》课程资源_C语言_教学课件_26——指针——基础知识.ppt
- 《C语言》课程资源_C语言_教学课件_25——程序设计基础1——数组——数组与函数.ppt
- 《C语言》课程资源_C语言_教学课件_24——程序设计基础1——数组——二维数组.ppt
- 《C语言》课程资源_C语言_教学课件_23——程序设计基础1——第8章——数组——一维数组——移位删除.ppt
- 《C语言》课程资源_C语言_教学课件_22——程序设计基础1——第8章——数组——一维数组——查找逆置.ppt
- 《C语言》课程资源_C语言_教学课件_21——一维数组——排序应用.ppt
- 《C语言》课程资源_C语言_教学课件_20——程序设计基础1——数组——一维数组基本操作.ppt
- 《C语言》课程资源_C语言_教学课件_19——函数——随机数函数的应用.ppt
- 《C语言》课程资源_C语言_教学课件_18——函数——变量的作用域.ppt
- 《C语言》课程资源_C语言_教学课件_17——第7章 函数嵌套与递归.ppt
- 《C语言》课程资源_C语言_教学课件_16——函数的基本操作.ppt
- 《C语言》课程资源_课件ppt_8章字符串处理.ppt
- 《C语言》课程资源_课件ppt_7指针.ppt
- 《C语言》课程资源_课件ppt_6数组.ppt
- 《C语言》课程资源_课件ppt_5循环程序设计.ppt
- 《C语言》课程资源_C语言_教学课件_03——数据在计算机中的表示.ppt
- 《C语言》课程资源_C语言_教学课件_04——C语言——数据类型.ppt
- 《C语言》课程资源_C语言_教学课件_05——C语言的基本数据运算.ppt
- 《C语言》课程资源_C语言_教学课件_06——顺序结构程序设计.ppt
- 《C语言》课程资源_C语言_教学课件_07——C语言——输入输出格式控制.ppt
- 《C语言》课程资源_C语言_教学课件_08——C语言——关系运算、逻辑运算、if-分支结构.ppt
- 《C语言》课程资源_C语言_教学课件_09——C语言——switch开关语句的应用.ppt
- 《C语言》课程资源_C语言_教学课件_10——循环结构——-while循环.ppt
- 《C语言》课程资源_C语言_教学课件_11-do——while循环.ppt
- 《C语言》课程资源_C语言_教学课件_12——逗号表达式的运用.ppt
- 《C语言》课程资源_C语言_教学课件_13——for——循环语句的使用.ppt
- 《C语言》课程资源_C语言_教学课件_14——程序设计基础1——-循环嵌套.ppt
- 《C语言》课程资源_C语言_教学课件_15——程序设计基础1——第6章——break——continue.ppt
- 山东理工大学:《JAVA语言程序设计》课程教学课件(PPT讲稿)01(第一章 JAVA语言入门).ppt
- 山东理工大学:《JAVA语言程序设计》课程教学课件(PPT讲稿)02(第二章 JAVA语法基础).ppt
- 山东理工大学:《JAVA语言程序设计》课程教学课件(PPT讲稿)03(第三章 类和对象).ppt
- 山东理工大学:《JAVA语言程序设计》课程教学课件(PPT讲稿)05(第五章 异常).ppt
- 山东理工大学:《JAVA语言程序设计》课程教学课件(PPT讲稿)06(第六章 常用类和集合框架).ppt
- 山东理工大学:《JAVA语言程序设计》课程教学课件(PPT讲稿)07(第七章 输入输出).ppt
- 山东理工大学:《JAVA语言程序设计》课程教学课件(PPT讲稿)08(第八章 JDBC编程).ppt
