第二章程序的灵魂—算法 程序=数据结构+算法+程序设计方法+语言工具和环境 1、对数据的描述。(配料,指出应使用那些原料) 2、对操作的描述。(操作步骤,如何用料做成菜肴 3、程序设计方法。 4、语言工具和环境
第二章 程序的灵魂——算法 1、对数据的描述。(配料,指出应使用那些原料) 2、对操作的描述。(操作步骤,如何用料做成菜肴) 3、程序设计方法。 4、语言工具和环境。 程序=数据结构+算法+程序设计方法+语言工具和环境
算法的概念 为解决一个问题而采取的方法和步骤 就称为算法。 从北京到天津开会 首歌曲的谱子 太极拳图解 计犷机算法分灭大类:数值运算算法和 非数值运算算法
一、算法的概念 为解决一个问题而采取的方法和步骤, 就称为算法。 •从北京到天津开会 •一首歌曲的谱子 •太极拳图解 计算机算法分两大类:数值运算算法和 非数值运算算法
简单算法举例 例2.1:求1*2*3*4*5 方法 步骤1:先求1*2,得到结果2。 步骤2:将步骤1得到的乘积2再乘以3,得到结果6。 步骤3:将步骤2得到的乘积6再乘以4,得到结果24 步骤4:将步骤3得到的乘积24再乘以5, 得到最后结果120
简单算法举例 例2.1:求1*2*3*4*5 方法一: •步骤1:先求1*2,得到结果2。 •步骤2:将步骤1得到的乘积2再乘以3,得到结果6。 •步骤3:将步骤2得到的乘积6再乘以4,得到结果24。 •步骤4:将步骤3得到的乘积24再乘以5, 得到最后结果120
方法二: 步骤1:设p=1(p为乘数)。 步骤2:设i2(i为被乘数) 步骤3:使p*,乘积仍放在变量p中,可表示为pp3*i 步骤4:使i的值加1,可表示为i=i1。 步骤5:如果大于5,返回重新执行步骤3、4、5; 否则算法结束。最后求得的p的值就是5!的值
方法二: •步骤1:设p=1(p为乘数)。 •步骤2:设i=2(i为被乘数)。 •步骤3:使p*i,乘积仍放在变量p中,可表示为p=p*i。 •步骤4:使i的值加1,可表示为i=i+1 。 •步骤5:如果i不大于5,返回重新执行步骤3、4、5; 否则算法结束。最后求得的p的值就是5!的值
例1有两个变量A和B,将它们的值交换。 例2输入3个整数a,b,C,按由大到小的顺序输出。 例3从10个数中找出最大的数。 例4用辗转相除法求两个正整数m和n的最大公约数 例5给定一个正整数M,判断它是否为素数
例1 有两个变量A和B,将它们的值交换。 例2 输入3个整数a,b,c,按由大到小的顺序输出。 例3 从10个数中找出最大的数。 例4 用辗转相除法求两个正整数m和n的最大公约数。 例5 给定一个正整数M,判断它是否为素数