本章主要内容 第5章编程思维与方法训练 5.1程序设计的一般方法 5.2一般计算问题 5.3穷举法求解问题 5.4递推和迭代法求解问题 5.5排序问题 5.6查找问题
第5章编程思维与方法训练 本章主要内容 5.1 程序设计的一般方法 5.2 一般计算问题 5.3 穷举法求解问题 5.4 递推和迭代法求解问题 5.5 排序问题 5.6 查找问题
5.1程序设计的一般方法 第5章编程思维与方法训练 分析问题理解需求 二、设计算法将问题分解成计算机能够理解的有限 步骤,画出流程图 三、界面设计可视化编程的重要步骤,设计计算 机与用户的输入、输出接口 四、编写程序选择合适的开发语言实现算法 五、调试运行输入程序,设计测试数据进行程序 测试,并根据测试结果与预测结果判断程序是否 按需求运行,直至测试数据完全通过。 六、总结报告
第 5 章 编 程 思 维 与 方 法 训 练 5.1 程序设计的一般方法 一、分析问题 理解需求 二、设计算法 将问题分解成计算机能够理解的有限 步骤,画出流程图 三、界面设计 可视化编程的重要步骤,设计计算 机与用户的输入、输出接口 四、编写程序 选择合适的开发语言实现算法 五、调试运行 输入程序,设计测试数据进行程序 测试,并根据测试结果与预测结果判断程序是否 按需求运行,直至测试数据完全通过。 六、总结报告
5.2一般计算问题 第5章编程思维与方法训练 5.2.1累加与累乘 需要注意的问题: 1.累乘变量类型 2.累乘变量初值 3.循环控制结构的选择(循环次数已知否?) 遥
第 5 章 编 程 思 维 与 方 法 训 练 5.2 一般计算问题 5.2.1 累加与累乘 需要注意的问题: 1.累乘变量类型 2.累乘变量初值 3.循环控制结构的选择(循环次数已知否?)
5.2- 般计算问题 第5章编程思维与方法训练 5.2.2计数与统计 需要注意的问题: 1.统计变量的初值 2.合理利用数组优化程序 3.大批量数据的输入与输出
第 5 章 编 程 思 维 与 方 法 训 练 5.2 一般计算问题 5.2.2 计数与统计 需要注意的问题: 1.统计变量的初值 2.合理利用数组优化程序 3.大批量数据的输入与输出
5.2一般计算问题 第5章编程思维与方法训练 5.2.3定积分 实际上就是一个累加的过程 理解程序的优化
第 5 章 编 程 思 维 与 方 法 训 练 5.2 一般计算问题 5.2.3 定积分 实际上就是一个累加的过程 理解程序的优化
5.3穷举法求解问题 第5章编程思维与方法训练 5.3.1最大公约数与最小公倍数 最大公约数:如果一个整数能被两个以上的整数同时 整除,则这个数就是这些数的公约数,所有公约数 中最大的那个数就是最大公约数 最小公倍数:如果一个整数能同时整除两个以上的整 数,则这个整数就是这些整数的公倍数,所有公倍 数中最小的那个就是最小公倍数 两个数的最小公倍数就是这两个数的乘积除以最大公 约数
第 5 章 编 程 思 维 与 方 法 训 练 5.3 穷举法求解问题 5.3.1 最大公约数与最小公倍数 最大公约数:如果一个整数能被两个以上的整数同时 整除,则这个数就是这些数的公约数,所有公约数 中最大的那个数就是最大公约数 最小公倍数:如果一个整数能同时整除两个以上的整 数,则这个整数就是这些整数的公倍数,所有公倍 数中最小的那个就是最小公倍数 两个数的最小公倍数就是这两个数的乘积除以最大公 约数
5.3穷举法求解问题 第5章编程思维与方法训练 5.3.2质数 质数也称素数,指只能被1和它本身整除的自然数, 最小的质数是2。 5.3.3不定方程求解 注意程序的优化
第 5 章 编 程 思 维 与 方 法 训 练 5.3 穷举法求解问题 5.3.2 质数 质数也称素数,指只能被1和它本身整除的自然数, 最小的质数是2。 5.3.3 不定方程求解 注意程序的优化
5.4递推和迭代法求解 第5章编程思维与方法训练 5.4.1数列 已知数列的某几项和递推公式,求解数列中其它项。 5.4.2迭代法求解高次方程 重点知道: f'(x0) f(x0) x0 -xl 由此得出迭代公式x1=x0-f(x0)/f’(x0)
第 5 章 编 程 思 维 与 方 法 训 练 5.4 递推和迭代法求解 5.4.1 数列 已知数列的某几项和递推公式,求解数列中其它项。 5.4.2 迭代法求解高次方程 重点知道: 由此得出迭代公式x1=x0-f(x0)/f’(x0) 0 1 ( 0) '( 0) x x f x f x − =
5.5排序 第5章编程思维与方法训练 对8个数按降序排序 一比较交换法 第1趟:假设a(0)元素最大,将其和后面a(1)-a(7) 各元素值进行比较,如果有比它更大的数,则交 换。 代码段如下: For j=1 to 7 if a(0)<a(j)then 交换a(0),a(j)
第 5 章 编 程 思 维 与 方 法 训 练 对8个数按降序排序——比较交换法 5.5 排序 第1趟:假设a(0)元素最大,将其和后面a(1)-a(7) 各元素值进行比较,如果有比它更大的数,则交 换。 代码段如下: For j=1 to 7 if a(0)<a(j) then 交换a(0),a(j)
5.5排序 第5章编程思维与方法训练 代码段如下: a(0) 71 For j=1 to 7 92 if a(0)<a(j)then a(j) t=a(0):a(0)=a(j):a(j)=t 93 59 50 27 79 41 1
第5章编程思维与方法训练 71 92 93 59 50 27 79 41 代码段如下: For j=1 to 7 if a(0)<a(j) then t=a(0):a(0)=a(j):a(j)=t a(0) a(j) j 1 5.5 排序