山东科技大学:程序设计基础(C语言课件)_第2章 程序的灵魂——算法

回顾:(程扇的结构 开始 #include #include void main( 编辑 源程序 子函数声明与变量定义 编译K 执行语句; 有 有错? 目标程序 无 返回值类型函数名1(参数表) 连接 执行 库函数 变量定义与函数声明 目标程序 和其他目 执行语句组 f. exe 执行 标程序 返回值类型函数名n(参数表 不正确 结果 变量定义与函数声明 正确 执行语句组 结束 结束上页下页末页节
结束 上页 下页 末页 节 #include #include void main( ) { 子函数声明与变量定义 执行语句; …; } 返回值类型 函数名1(参数表) { 变量定义与函数声明 执行语句组 }……. 返回值类型 函数名n(参数表) { 变量定义与函数声明 执行语句组 }

如何编程解决题? 简单的题目可直接根据问题写出程序,如习题 1.5;复杂问题需要先理清解题思路、描述清解题步 骤,之后根据步骤编程,如习题1.6 解决问题的具体方法和步骤称为算法 结束上页下页末页节
结束 上页 下页 末页 节 简单的题目可直接根据问题写出程序,如习题 1.5;复杂问题需要先理清解题思路、描述清解题步 骤,之后根据步骤编程,如习题1.6 解决问题的具体方法和步骤称为算法

第二章程府的灵魂一算选 算法的概念 法的炸性 单算法举例 ●算法的表示方法 ●结构化程序设计方法 结束上页下页末页节
结束 上页 下页 末页 节 ⚫ 算法的概念 ⚫ 算法的特性 ⚫ 简单算法举例 ⚫ 算法的表示方法 ⚫ 结构化程序设计方法

§2-1算法的概念 程序应该包含哪些内容? ≯算法:对操作的描述,确定对数据进行操作的步骤 数据结构:对数据的描述,确定数据的类型以及组织形式 沃斯程序=数据结构十算法 程序设计数据结袍十算法十设计方法十无具 结束上页下页末页节
结束 上页 下页 末页 节 §2-1算法的概念 ➢算法:对操作的描述,确定对数据进行操作的步骤 ➢数据结构:对数据的描述,确定数据的类型以及组织形式 程序设计=数据结构+算法+设计方法+工具 沃斯:程序=数据结构+算法 程序应该包含哪些内容?

52-2简单算法举例 i+1计数器 变量-存储空间 例1求1×2×3×4变量值-存储数值 p=px累乘器 方法(开始) 5x累加器 方法二 0 p×5→ 输出p p×2→p 输出p 结束 p×1→p p×3→p 结束 p×4→→1 结束上页下页末页节
结束 上页 下页 末页 节 §2-2 简单算法举例 例1 求12345,即5 方法一: 方法二: i=i+1 计数器 p=p*x 累乘器 t=t+x 累加器 变量--存储空间 变量值--存储数值 开始 1 p i=2 pi p i+1i i<=5 1 1 输出 p 结束 Y 1 p 开始 p×2p p3p p4p 1 1 p5p 输出p 结束

§2-2简单算法举例 流程图符号 起止框 判断框 处理框 输入输出框 注释框 流向线 连接点 结束上页下页末页节
结束 上页 下页 末页 节 §2-2 简单算法举例 流程图符号 起止框 判断框 处理框 输入/输出框 注释框 流向线 连接点

§2-2简单算法举例 例2:50个学生,输出成绩80分以上者。m表学号,g表成绩 自然语言表示 开始 流程图 sl:1→i S2:若g≥80则输出 n和gi,否则不输出 80 S3:i+1→i S4:若还50,返回S2 输出gi 继续执行;否则,算 法结束 +1=>i 结束 结束上页下页末页节
结束 上页 下页 末页 节 §2-2 简单算法举例 例2:50个学生,输出成绩80分以上者。ni表学号,gi表成绩 自然语言表示: 流程图: S1:1i S2:若gi 80则输出 ni和gi,否则不输出 S3:i+1 i S4: 若 i 50, 返回S2 继续执行;否则,算 法结束 开始 i=1 gi>=80 输出gi i+1=>i i>50 结束 Y N N

§2-2简单算法举例 例4:求1-1/2+1/3-1/4+..+1/99-1/100(不同与书) 自然语言表示 流程图:练习 sl:deno=1(1)思路清晰 S2: sum =1 (2)见名知意 S3: sign =1 S4: sign =(-1)sign S5: deno =deno+l s6:term=sign*(1/deno)/注意整除* S7: sum =sum+term s8:若deno<100返回S4;否则算法 结束 结束上页下页末页节
结束 上页 下页 末页 节 §2-2 简单算法举例 自然语言表示: S1:deno = 1 S2:sum = 1 S3:sign = 1 S4: sign =(-1)*sign S5: deno =deno+1 S6: term =sign*(1/deno) /*注意整除*/ S7: sum =sum+term S8: 若deno<100返回S4;否则算法 结束 例4:求1-1/2+1/3-1/4+...+1/99-1/100 (不同与书) (1)思路清晰 (2)见名知意 流程图:练习

§2-2简单算法举例 例5:判断某大于等于3的自然数是否素数 自然语言表示: 流程图:练习 S1:输入n 2 S3: r=n%i S4:若r=0,输出n非素数, 算法结束;否则转下一步; S5:i=i+1; S6:若i=n-1则返回S;否 则输出是素数,算法结東 注:s6中可改为i<= sgrt(m 结束上页下页末页节
结束 上页 下页 末页 节 §2-2 简单算法举例 例5:判断某大于等于3的自然数是否素数 自然语言表示: S1:输入n S2:i = 2 S3:r= n%i S4: 若r=0,输出n非素数, 算法结束;否则转下一步; S5: i=i+1; S6: 若i<=n-1则返回S3;否 则输出是素数,算法结束 注:s6中可改为i<=sqrt(n) 流程图:练习

§2-4算法的表示 1、自然语言:易歧义,适于非常简单的问题 2、流程图:直观形象,但由于箭头的使用没有限 制,算法复杂时难以阅读和修改,被称为BS(a bowl of spaghetti算法 3、三种基本结构与改进的流程图:限制箭头的滥用, 不允许流程的随意转向,为此提出了三种基本结构, 他们各自只有一个入口和出口 结束上页下页末页节
结束 上页 下页 末页 节 §2-4 算法的表示 1、自然语言:易歧义,适于非常简单的问题 2、流程图: 直观形象,但由于箭头的使用没有限 制,算法复杂时难以阅读和修改,被称为BS(a bowl of spaghetti)算法 3、三种基本结构与改进的流程图:限制箭头的滥用, 不允许流程的随意转向,为此提出了三种基本结构, 他们各自只有一个入口和出口
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 山东科技大学:程序设计基础(C语言课件)_第1章 C语言概述.ppt
- 山东科技大学:程序设计基础(C语言课件)_第13章 文件.ppt
- 山东科技大学:程序设计基础(C语言课件)_第11章 结构体.ppt
- 山东科技大学:程序设计基础(C语言课件)_第10章_指针.ppt
- 数据结构算法演示(Windows版)使用手册.doc
- 数据结构库VC实践实例_迷宫求解参考答案.doc
- 数据结构库VC实践实例_树与二叉树答案说明.doc
- 《Visual Basic程序设计基础》课程教学资源:习题1 集成开发环境和程序设计入门.doc
- 《Visual Basic程序设计基础》课程教学资源:2005年9月全国计算机等级考试二级VB笔试试卷(含参考答案).doc
- 《Visual Basic程序设计基础》课程教学资源:VB试题四.doc
- 《Visual Basic程序设计基础》课程教学资源:VB试题二.doc
- 《Visual Basic程序设计基础》课程教学资源:VB试题三.doc
- 《Visual Basic程序设计基础》课程教学资源:期末考试题A卷.doc
- 《Visual Basic程序设计基础》课程教学资源:第十章 文件.ppt
- 《Visual Basic程序设计基础》课程教学资源:第十章 文件.ppt
- 《Visual Basic程序设计基础》课程教学资源:第九章 键盘与鼠标事件过程jhb.ppt
- 《Visual Basic程序设计基础》课程教学资源:第九章 键盘与鼠标事件过程.ppt
- 《Visual Basic程序设计基础》课程教学资源:第八章 多重窗体与环境应用.ppt
- 《Visual Basic程序设计基础》课程教学资源:第七章 菜单与对话框.ppt
- 《Visual Basic程序设计基础》课程教学资源:Flags属性(“打开”、“另存为”对 话框).doc
- 山东科技大学:程序设计基础(C语言课件)_第3章 数据类型.ppt
- 山东科技大学:程序设计基础(C语言课件)_第4章 简单程序.ppt
- 山东科技大学:程序设计基础(C语言课件)_第5章 表达式与选择结构程序设计.ppt
- 山东科技大学:程序设计基础(C语言课件)_第6章 循环.ppt
- 山东科技大学:程序设计基础(C语言课件)_第7章 数组.ppt
- 山东科技大学:程序设计基础(C语言课件)_第8章 函数.ppt
- 山东科技大学:程序设计基础(C语言课件) 第八章 函数(作业说明).doc
- 北京师范大学《数据结构——C语言描述》教学课件:第一章 绪论.ppt
- 北京师范大学《数据结构——C语言描述》教学课件:第八章 查找.ppt
- 北京师范大学《数据结构——C语言描述》教学课件:第四章 串.ppt
- 北京师范大学《数据结构——C语言描述》教学课件:第九章 排序.ppt
- 北京师范大学《数据结构——C语言描述》教学课件:实验计划.doc
- 北京师范大学《数据结构——C语言描述》教学课件:第六章 树和二叉树.ppt
- 北京师范大学《数据结构——C语言描述》教学课件:第五章 数组与广义表.ppt
- 北京师范大学《数据结构——C语言描述》教学课件:第七章 图.ppt
- 北京师范大学《数据结构——C语言描述》教学课件:第二章 线性表.ppt
- 北京师范大学《数据结构——C语言描述》教学课件:课程章节主要内容及学时分配.doc
- 北京师范大学《数据结构——C语言描述》教学课件:第三章 栈和队列.ppt
- 南通市科委培训中心:全国计算机等级考试(一级B)培训资料.pdf
- 《计算机网络技术》 第一章 网络知识分类.ppt