第二章程序的灵魂一算法 大连工业大学计算机基础教研室
大连工业大学计算机基础教研室 21 第二章程序的灵魂-算法
算机程序设计 沃思公式 〓〓■ 沃思么式:“程序=数据结构十算法” 数据结构:数据的类型、数据的组织形式 算法:即操作步骤。 程序=数据结构十算法十程序设计方法十语言Z 具 大连工业大学计算机基础教研室22
大连工业大学计算机基础教研室 22 沃思公式 沃思公式 :“程序=数据结构+算法” 数据结构:数据的类型、数据的组织形式 算法:即操作步骤。 程序=数据结构+算法+程序设计方法+语言工 具
计算机程序设计--21算法的概念 令算法:为解决一个问题而采取的方法和步骤 吃葡萄问题:先大后小?还是先小后大? 做饭问题:炒菜、炖菜、米饭、汤 》方法一:处理炒菜的原料、处理炖菜的原料、洗米、炒菜、 煲汤、炖菜、米饭 方法二:洗米、做米饭、处理炖菜的材料、炖菜、处理炒 菜的材料、煲汤、炒菜 令算法分类 >数值算法:求数值解。 非数值算法:事务管理 大连工业大学计算机基础教研室23
大连工业大学计算机基础教研室 23 2.1 算法的概念 ❖算法:为解决一个问题而采取的方法和步骤。 ➢吃葡萄问题:先大后小?还是先小后大? ➢做饭问题:炒菜、炖菜、米饭、汤 »方法一:处理炒菜的原料、处理炖菜的原料、洗米、炒菜、 煲汤、炖菜、米饭 »方法二:洗米、做米饭、处理炖菜的材料、炖菜、处理炒 菜的材料、煲汤、炒菜。 ❖算法分类 ➢数值算法:求数值解。 ➢非数值算法:事务管理
计算机程序设计-2简单算法举例 令(例21)求1*2*34*5。 原始的方法: 步骤1:先求1*2,得到2; 步骤2:将步骤1的乘积2再乘以3,得到结果6; 步骤3:将6再乘以4,得到24; 步骤4:将24再.乘以5,得到120; 提问:如果要求1×2×3× ●●●●。● ×1000,需 要写多少个步骤? 大连工业大学计算机基础教研室24
大连工业大学计算机基础教研室 24 2.2简单算法举例 ❖〔例2.1〕求1*2*3*4*5。 原始的方法: 步骤1:先求1*2,得到2; 步骤2:将步骤1的乘积2再乘以3,得到结果6; 步骤3:将6再乘以4,得到24; 步骤4:将24再……乘以5,得到120; 提问:如果要求1×2×3× …… ×1000,需 要写多少个步骤?
算机程序设计 修改后的算法 设定两个变量,一个变量代表被乘数,一个变量代表乘 数。不另设变量存放乘积结果,而直接将每一步骤的乘 积存放在被乘数中。今设p为被乘数,n为乘数。 S1:使p S2:使n=2 S3:使pXn,乘积仍放在变量p中,可表示为p×n→p S4:是n的值加1,即n+1→n S5:如果n不大于5,返回重新执行S3及其后的步骤S4、S5;否 则,算法结束。最后得到的p的值就是5!。 若将步骤5作如下改动,能否得到正确的结果? S5:如果n<5,返回重新执行S3及其后的步骤S4、S5;否则,算 法结束。最后得到的p的值就是5!。 大连工业大学计算机基础教研室25
大连工业大学计算机基础教研室 25 修改后的算法 设定两个变量,一个变量代表被乘数,一个变量代表乘 数。不另设变量存放乘积结果,而直接将每一步骤的乘 积存放在被乘数中。今设p为被乘数,n为乘数。 S1:使p=1 S2:使n=2 S3:使p×n,乘积仍放在变量p中,可表示为p×n⇒p S4:是n的值加1,即n+1 ⇒ n S5:如果n不大于5,返回重新执行S3及其后的步骤S4、S5;否 则,算法结束。最后得到的p的值就是5!。 若将步骤5作如下改动,能否得到正确的结果? S5:如果n<5,返回重新执行S3及其后的步骤S4、S5;否则,算 法结束。最后得到的p的值就是5!