课件15张PPT。 第三章
算法基础算法基础3.1体验计算机解决问题的过程3.3计算机程序与程序设计语言3.1.1 人工解决问题的过程3.1.2计算机解决问题的过程3.3.1 计算机程序3.3.2 计算机程序设计语言3.2 算法及其描述3.2.1 算法3.2.2 算法的描述本章目标数据与信息学习目标01计算机解决问题的过程人工解决问题的过程
计算机解决问题的过程02算法及其描述算法
算法的描述03计算机程序与程序设计语言计算机程序
计算机程序设计语言 第二节 算法及其描述算法的定义 算法是指在有限步骤内求解某一问题所使用的一组定义明确的规则。 通俗地说,是用计算机求解某一问题的方法,是能被机械地执行的动作或指令的有穷集合。探究活动若要求方程6x+5y+4z=50的正整数解的个数t。解决问题的算法步骤:1、t=0;
2、x=1;
3、y=1;
4、z=1;
5、如果满足式子6x+5y+4z=50,则解的个数加1(即t=t+1);
6、z=z+1;
7、如果z<=12则转步骤5,否则步骤8;
8、y=y+1;
9、如果y<=10则转步骤4,否则步骤10;
10、x=x+1;
11、如果x<=8则转步骤3,否则步骤12;
12、结束。
表示右边式子的赋值给左边的式子算法的定义算法是指在有限步骤内求解某一问题所使用的一组定义明确的规则。
通俗地说,是用计算机求解某一问题的方法,是能被机械地执行的动作或指令的有穷集合。描述算法的常用方法有自然语言描述算法、流程图描述算法和伪代码描述算法。算法的特征(5个) ①有穷性 执行有穷步之后结束,计算步骤是有限的
②确定性 执行的每一步骤都必须有确切的定义
③数据输入 0个或多个数据输入
④数据输出 1个或多个数据输出
⑤可行性 基本可执行步骤的集合,有限时间内完成。 注意与数据、信息的特征区分开来!可以没有输入,但至少有一个输出。自然语言描述算法使用日常交流所用语言来描述算法(如汉语、英语等)
例:如果a>b,则把a的值赋值给max。流程图描述算法伪代码描述算法使用程序框图来描述算法介于自然语言与计算机语言之间的文字与符号。不使用图形符号,书写方便 ,易于理解。
例:
if a的值大于b的值
max=aMax=bMax=a开始结束a>b?输入a、b输出MaxYN流程图规范伪代码求解方程三种算法描述方法的比较实践:画出辗转相除法求两个正整数的最大公约数的流程图设给定两个正整数为m和n,求它们的最大公约数。1、以m除以n,令所得的余数为R。
2、若R=0,则输出结果n,算法结束;否则,继续步骤3
3、令m=n,n=R,并返回步骤1
m=n,n=R开始结束R=0?输入m、n输出nYNR=m mod n三种基本控制结构任何复杂的算法都可以用这三种基本控制结构组合。三种基本控制结构的作用①顺序结构表示程序中的各步操作按出现的先后顺序执行。
②选择结构表示程序的处理步骤出现了分支,需要根据某一特定的条件选择其中的一个分支执行。(单选择、双选择、多选择)
③循环结构表示程序反复执行某个或某些操作,直到判断条件为假(或为真)时,才可终止循环。