C语言40学时 第2章程序的灵魂一算法 课堂教学2学时 累计3学时
C语言40学时 第2章 程序的灵魂—算法 课堂教学2学时 累计3学时
C语言40学时 个程序包含两方面的内容 1.对数据的描述 类型、数据的组织形式→数据结构 2.对操作的描述 操作步骤→算法 认真考虑和设计: 数据结构和算法
C语言40学时 一个程序包含两方面的内容 1.对数据的描述 类型、数据的组织形式 → 数据结构 2.对操作的描述 操作步骤 → 算法 • 认真考虑和设计: 数据结构和算法
C语言40学时 什么是程序? 沃思公式: 数据结构+算法=程序 具体化: 程序=算法十数据结构十程序设 计方法十语言工具和环境
C语言40学时 什么是程序? • 沃思公式: 数据结构+算法=程序 • 具体化: 程序=算法+数据结构+程序设 计方法+语言工具和环境
C语言40学时 算法解决的问题是 做什么和怎么做(计算机)
C语言40学时 算法解决的问题是 做什么和怎么做(计算机)
C语言40学时 算法的概念 ·做任何事都有一定的次序和步骤 如:召开会议,报考大学,购物等 为解决一个问题而采取的方法和步骤 就称为“算法” 解决同一个问题可以有不同的方法和 步骤,方法有有劣之分 采用简单的和运算步骤少的方法为优
C语言40学时 算法的概念 • 做任何事都有一定的次序和步骤 如:召开会议,报考大学,购物等 • 为解决一个问题而采取的方法和步骤 就称为“算法” • 解决同一个问题可以有不同的方法和 步骤,方法有有劣之分 • 采用简单的和运算步骤少的方法为优
C语言40学时 计算机算法分两大类别 1.数值运算算法 目的是求数值解,算法成熟 2.非数值运算算法 种类繁多,要求各异,难以规范
C语言40学时 计算机算法分两大类别 1. 数值运算算法 目的是求数值解,算法成熟 2. 非数值运算算法 种类繁多,要求各异,难以规范
C语言40学时 简单算法举例 例2.1求1×2×3×4×5 原始方法: 1×2.2×3.6×4.24×5 通用的方法:设两个变量(被乘数p,乘数i) S1:1=>p S2: S3:p×>p S4:i+1=>i S5:若5返回s3;否则结東 如果题目该为求1×3×5×7×9×11?
C语言40学时 简单算法举例 例 2.1 求1×2×3×4×5 原始方法: 1×2,2×3,6×4,24×5 通用的方法: 设两个变量(被乘数p,乘数i) S1: 1=>p S2: 2=>i S3: p×i=>p S4: i+1=>i S5: 若i≤5,返回s3;否则结束 如果题目该为求1×3×5×7×9×11 ?
C语言40学时 S1:1=>p S2:3=>i S3:p×|=>p S4:i+2=>i S5:若11返回s3;香则结束 用这种方法表示的算法具有通用性、 灵活性
C语言40学时 S1: 1=>p S2: 3=>i S3: p×i=>p S4: i+2=>i S5: 若i≤11,返回s3;否则结束 • 用这种方法表示的算法具有通用性、 灵活性
C语言40学时 例22有50个学生,要求将他们之中成 绩在80分以上者打印出来.用n表示学 生学号,n1代表第一个学生学号,n1代 表第个学生的学号,g代表学生成绩 g代表第个学生成绩.算法如下 S1:1=> S2若g≥80则打印n和g,否则不打印 S3:i+1=>i S4:若50返回s2,否则算法结束
C语言40学时 例2.2 有50个学生,要求将他们之中成 绩在80分以上者打印出来.用n表示学 生学号,n1代表第一个学生学号,ni代 表第i个学生的学号,g代表学生成绩 gi代表第i个学生成绩.算法如下: S1: 1=>i S2: 若gi≥80则打印ni和gi,否则不打印 S3: i+1=>i S4: 若i≤50返回s2,否则算法结束
C语言40学时 例23判断2000-2500年中的每一年是 否闰年,将结果输出 闰年的条件 ·①能被4整除,但不能被100整除的年 份都是闰年,如1996,2004年是闰年; ②能被100整除,又能被400整除的年 份是闰年,如1600,2000年是闰年
C语言40学时 • 例 2.3 判断2000-2500年中的每一年是 否闰年,将结果输出 • 闰年的条件: • ①能被4整除,但不能被100整除的年 份都是闰年,如1996,2004年是闰年; ②能被100整除,又能被400整除的年 份是闰年,如1600,2000年是闰年