单元2 算法——程序设计的灵魂(课件)-《C语言程序设计》(高教版第2版)【上好课】

2026-04-15
| 39页
| 51人阅读
| 0人下载
精品

资源信息

学段 中职
学科 职教专业课
课程 C语言程序设计
教材版本 -
年级 -
章节 -
类型 课件
知识点 C语言概述
使用场景 同步教学
学年 2026-2027
地区(省份) 全国
地区(市) -
地区(区县) -
文件格式 PPTX
文件大小 33.35 MB
发布时间 2026-04-15
更新时间 2026-04-15
作者 爱学习的muller
品牌系列 上好课·上好课
审核时间 2026-04-15
下载链接 https://m.zxxk.com/soft/57352779.html
价格 5.00储值(1储值=1元)
来源 学科网

内容正文:

算法——程序设计的灵魂 C语言程序设计 -第2课时- 高教版第2版 学习目标 知识目标 ● 理解算法的基本概念、五大特性及其核心表示方法。 ● 掌握结构化程序设计的三种基本结构与设计思路。 技能目标 ● 学会针对实际问题设计算法,并能灵活运用流程图等方式准确表示。 ● 运用结构化程序设计方法,编写规范、可维护的程序代码。 素质目标 ● 了解中国古代算法成就,弘扬中华优秀传统文化,增强文化自信。 ● 培养严谨的逻辑思维习惯与求实创新的科学精神。 基础知识认知 让我们一起开启单片机的学习之旅。 教学引入 知识讲授 算法 (Algorithm) 解决特定问题的一系列清晰、有限、可执行的步骤。 形象比喻:就像一份做菜的“菜谱”,它明确地告诉你第一步做什么,第二步做什么,按照既定的流程执行,直到最终完成任务(做出一道菜)。 目录 模块一:程序的组成要素 模块二:算法概述及表示方法 模块四:结构化程序设计方法 模块四:结构化程序设计方法 程序的组成要素 第一部分 知识讲授 程序的组成要素 知识讲授 程序的本质:算法 + 数据结构 = 程序 知识讲授 数据结构与算法的内涵 数据结构 (Data Structure) ▍ 定义 计算机存储、组织数据的方式,是构建复杂程序的基础骨架。 ▍ 核心作用 精准描述数据类型(如整数、字符)与数据组织形式(如数组、链表、树),决定了数据的存取效率。 算法 (Algorithm) ▍ 定义 对特定问题求解步骤的一种清晰、机械的描述,具有有限性、确定性等特征。 ▍ 核心作用 对存储的数据进行具体的加工处理,实现特定的业务功能(如排序、搜索、计算),是程序的“灵魂”。 知识讲授 完备程序的四大要素 1 2 3 4 01. 算法 解决特定问题的清晰指令与执行步骤,是程序的“灵魂”,决定了“怎么做”。 03. 程序设计方法 指导代码组织与开发的科学原则和规范(如结构化、模块化),保障程序的可读性与可维护性。 02. 数据结构 问题处理对象的表示形式与组织存储方式,与算法相辅相成,决定了“对谁做”。 04. 语言工具 实现算法与数据结构的具体载体与工具,如 C、Java、Python 等,是人与计算机交互的桥梁。 背诵记忆 序号 核心概念名称 核心说明与记忆要点 01 程序公式 算法 + 数据结构 = 程序。这是程序设计的经典公式,需牢记。 02 数据结构 描述数据类型和数据的组织形式。重点记忆其核心作用。 03 算法 对数据进行加工处理的一系列清晰、有限的步骤。重点记忆其定义。 课堂练习 简答题 1. 程序由哪些要素组成? 【答案】一个完备的程序通常由四个核心要素组成:算法、数据结构、程序设计方法和语言工具。 【解析】算法是程序的“灵魂”,决定了“怎么做”;数据结构是处理的“对象”,决定了“处理什么”;程序设计方法是开发的“指导思想”,保证了程序的清晰性和可靠性;语言工具是最终的“实现载体”。这四个要素相辅相成,共同构建出一个完整、高效的程序。 算法概述 第二部分 知识讲授 算法概述 知识讲授 算法的起源与发展 中国古代数学的辉煌成就 《九章算术》:中国古代第一部数学专著,系统提出了开方术、方程术等解决实际问题的算法,奠定了中国传统数学的基础。 割圆术 (刘徽):利用“割之弥细,所失弥少”的思想计算圆周率,体现了极限思想与迭代算法的雏形,是算法设计的早期典范。 秦九韶算法:提出了简化一元高次多项式求值的算法,通过减少乘法运算次数提高效率,展现了算法优化的核心思想。 知识讲授 算法的起源与发展 西方古代算法思想的奠基 欧几里得算法 (辗转相除法):记载于《几何原本》中,用于计算两个正整数的最大公约数。它是人类历史上最早被形式化描述、并至今仍在广泛使用的经典算法之一。 无论是东方还是西方,古代数学家们都在追求“通法”与“效率”。这种将复杂问题拆解为有限步骤的思维模式,正是现代计算机算法设计的核心灵魂。 知识讲授 算法的定义与分类 ▍ 算法的定义 一个算法是一个有限、确定、有效的指令序列,它接收输入,并在有限时间内产生输出。 01. 数值运算算法 核心解决数学计算类问题。例如:解方程、求定积分、解线性方程组、数值插值与拟合等。 02. 非数值运算算法 主要处理非数值信息,是计算机科学中更核心和广泛的领域。例如:数据排序、信息检索、字符串匹配、路径规划等。 知识讲授 算法的五大重要特性 知识讲授 算法的起源与发展 知识点总结 简单算法示例:求 1 + 2 + … + 100 的和 📝 算法执行步骤 Step 01.初始化变量:令sum = 0,i = 1。 Step 02.条件判断:如果i > 100,则直接跳转到步骤5。 Step 03.累加操作:执行sum = sum + i,更新总和。 Step 04.循环计数:执行i = i + 1,并返回到步骤2继续判断。 Step 05.结果输出:在屏幕上打印最终的sum值。 💡 算法特性符合性验证 ✅ 有输入:隐含输入了计算范围(1到100)与初始值。 ✅ 有输出:最终明确输出了计算结果 sum 的值。 ✅ 确定性:每一步的操作(判断、累加、自增)定义清晰,无歧义。 ✅ 有穷性:循环执行固定的100次后,条件不满足即终止。 ✅ 可行性:所有的算术运算和逻辑判断都是计算机可执行的基本操作。 结论:这是一个结构完整、逻辑严密、符合定义的标准算法模型。 课堂练习 单选题 1、计算机网络最基本的功能之一是( )。 A. 实现数据信息的快速传递 B. 提高可靠性 C. 实现计算机系统的资源共享 D. 负载均衡 【答案】C 【解析】资源共享是计算机网络最基本的功能之一,用户连入网络后可使用其他计算机资源,所以选 C。 例题分析 核心考点解析 1. 算法有哪些基本特性?请简要列举并说明。 【标准答案】算法必须具备五个核心基本特性:输入、输出、确定性、有穷性、可行性。这五个特性缺一不可,共同构成了算法的完整定义。 【考点解析】这五个特性是判断一个“过程”能否被定义为“算法”的黄金标准。确定性保证了逻辑无歧义,有穷性保证了程序可终止,可行性保证了步骤可执行,而输入输出则是算法与外界交互的基础。在考试中,常以简答题形式考察,需重点记忆。 知识讲授 算法的表示方法——自然语言表示法 直接使用人类日常交流的语言(如中文、英文)来逐行描述算法的执行步骤,是最贴近人类思维的表达方式。 知识讲授 算法的表示方法——传统流程图表示法 规则:使用规定的流程图符号来描述算法思想。 常见的符号 知识讲授 案 例 分 析 【案例】从键盘输入一个学生的成绩,并判断, 如果该成绩大于等于60分时,输出:及格; 否 则输出:不及格。请用流程图描述该算法。 知识讲授 算法的表示方法——N-S图表示法 N-S图(也称为盒图)是一种结构化的流程图。它的核心特征是完全去掉了流程线,而是将程序的顺序、选择、循环三种基本结构,通过不同形状的矩形框进行嵌套组合来表示,是结构化程序设计的重要工具。 知识讲授 案例分析 【案例】从键盘输入一个学生的成绩,并判断,如果该成绩大于等于60分,输出:及格;否则输出:不及格。请用N-S图描述该算法。 知识讲授 算法的表示方法——伪代码表示法 伪代码是一种介于自然语言和编程语言之间的表示方法,它借鉴了编程语言的结构化控制逻辑,但使用通俗易懂的自然语言来描述具体操作步骤。 结构清晰 完全借鉴了编程语言的顺序、分支、循环等控制结构,逻辑层次分明。 书写方便 无需严格遵守某种具体语言的语法规则,使用自然语言描述,降低书写门槛。 易于转换 逻辑与代码结构高度一致,可快速映射为 C、Python、Java 等任何具体编程语言代码。 示例:计算 1 到 100 的累加和 BEGIN → sum=0, i=1 → WHILE i ≤ 100 DO { sum += i; i += 1 } → PRINT sum → END // 说明:伪代码没有统一标准,核心是清晰表达“初始化-循环累加-输出”的逻辑流程。 背诵记忆 不同表示方法的适用场景总结 自然语言 ✨ 核心优点 描述通俗易懂,几乎没有学习门槛,易于理解。 ⚠️ 主要缺点 容易产生歧义,描述往往过于冗长,不够严谨。 🎯 适用场景 算法的初步构思阶段,或向非专业人士解释逻辑。 传统流程图 ✨ 核心优点 图形直观形象,逻辑流向清晰,易于阅读和检查。 ⚠️ 主要缺点 复杂算法中流程线过多,容易形成混乱的“蜘蛛网”。 🎯 适用场景 课堂教学演示,或者描述中小型、逻辑简单的算法。 N-S 结构图 ✨ 核心优点 强制结构化程序设计,层次分明,逻辑清晰无歧义。 ⚠️ 主要缺点 图形嵌套层次较多时,绘制稍显麻烦,修改不够灵活。 🎯 适用场景 严格的结构化程序设计过程,用于算法设计和评审。 伪代码 ✨ 核心优点 介于自然语言与代码之间,结构清晰,易于转换成程序。 ⚠️ 主要缺点 没有统一的语法标准,不同开发者的书写风格差异较大。 🎯 适用场景 算法的详细设计阶段,作为编写实际代码前的草稿。 知识讲授 计算机网络应用——管理信息系统 例题分析 —— 传统流程图核心符号识别 —— Q:传统流程图的常用符号有哪些?请简述其图形特征。 【参考答案】 包含五种核心符号:起止框(椭圆)、输入/输出框(平行四边形)、处理框(矩形)、判断框(菱形)、流程线(带箭头的直线)。 【核心解析】 掌握这些基本符号是绘制和理解算法流程图的基础。不同的图形代表不同的逻辑功能,其中“判断框”是唯一能产生分支流向的符号。 结构化程序设计方法 第四部分 知识讲授 结构化程序设计方法 知识讲授 结构化程序设计的提出 ✦ 核心提出者与里程碑贡献 艾兹格·迪科斯彻 (Edsger Dijkstra) 发表《GOTO语句有害论》,直指程序混乱根源,成为结构化程序设计发展的理论先声。 尼古拉斯·沃斯 (Niklaus Wirth) 提出著名公式“算法 + 数据结构 = 程序”,并身体力行地倡导和完善了结构化程序设计的方法论。 💡 两位大师共同将程序设计从“自由艺术”推向了“工程科学” 知识讲授 计算机网络应用——过程控制 知识讲授 结构化程序设计的基本思路 01. 自顶向下 (Top-Down) 从整体目标出发,将复杂的大问题作为一个整体模块,逐步向下分解,把它细化为若干个较小的、相对独立的子问题。 02. 逐步细化 (Stepwise Refinement) 对分解后的子问题进行层层细化,将抽象的功能描述逐步转化为具体的、可执行的操作步骤,直到可以直接用代码实现。 03. 模块化设计 (Modular Design) 将细化后的程序划分为若干个功能独立、单一的模块。设计原则是“高内聚、低耦合”,提高代码的复用性和可维护性。 04. 结构化编码 (Structured Coding) 严格遵循结构化程序设计的规范,仅使用顺序、选择、循环三种基本控制结构编写代码,保证程序结构清晰、易读易调试。 知识讲授 结构化程序设计—基本结构图示 顺序结构 选择结构 循环结构 当型循环(While型) 直到型(Until) 背诵记忆 序号 核心概念名称 核心说明与记忆要点 01 提出者 关键人物:艾兹格·迪科斯彻和尼古拉斯·沃斯。 02 基本思路 四大核心要素:自顶向下、逐步细化、模块化设计、结构化编码。 例题分析 结构化程序设计 Q1. 结构化程序设计的基本思路包含哪几个核心环节? 这是结构化设计方法论的核心考点,主要包含以下四个循序渐进的步骤: ① 自顶向下 → ② 逐步细化 → ③ 模块化设计 → ④ 结构化编码 【参考答案】包含自顶向下、逐步细化、模块化设计、结构化编码四个基本思路。 【核心解析】 这四个环节构成了一个完整的程序设计流程闭环:从宏观的“自顶向下”分析问题,到微观的“逐步细化”拆解任务,再通过“模块化设计”实现功能解耦,最后利用“结构化编码”(顺序、选择、循环)完成具体实现。这是结构化程序设计必须遵循的标准方法论。 师生互动 师生互动 1 在实际编程开发过程中,我们应当如何根据具体的问题特点、项目需求,来科学地选择合适的算法表示方法,并制定有效的结构化程序设计策略? 知识点总结 课后任务 布置作业: 写出算法的五个特性,并简要说明有穷性对程序正常运行的意义。 用伪代码描述 “输出 100 以内所有能被 3 整除的数” 的算法,并尝试将该算法转换为 N-S 图表示。 谢谢观看 THANKS Lavf59.14.100 Lavf59.14.100 UTC 2022-01-15 14:24:11 Lavf58.45.100 $

资源预览图

单元2 算法——程序设计的灵魂(课件)-《C语言程序设计》(高教版第2版)【上好课】
1
单元2 算法——程序设计的灵魂(课件)-《C语言程序设计》(高教版第2版)【上好课】
2
单元2 算法——程序设计的灵魂(课件)-《C语言程序设计》(高教版第2版)【上好课】
3
单元2 算法——程序设计的灵魂(课件)-《C语言程序设计》(高教版第2版)【上好课】
4
单元2 算法——程序设计的灵魂(课件)-《C语言程序设计》(高教版第2版)【上好课】
5
单元2 算法——程序设计的灵魂(课件)-《C语言程序设计》(高教版第2版)【上好课】
6
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。