第1个回答 2017-05-29
要素
一,数据对象的运算和操作:计算机可以执行的基本操作是以指令的形式描述的。一个计算机系统能执行的所有指令的集合,成为该计算机系统的指令系统。一个计算机的基本运算和操作有如下四类:
1,算术运算:加减乘除等运算
2,逻辑运算:或、且、非等运算
3,关系运算:大于、小于、等于、不等于等运算
4,数据传输:输入、输出、赋值等运算
二,算法的控制结构:一个算法的功能结构不仅取决于所选用的操作,而且还与各操作之间的执行顺序有关
特征
一个算法应该具有以下五个重要的特征:
有穷性
(Finiteness)
算法的有穷性是指算法必须能在执行有限个步骤之后终止;
确切性
(Definiteness)
算法的每一步骤必须有确切的定义;
输入项
(Input)
一个算法有0个或多个输入,以刻画运算对象的初始情况,所谓0个输入是指算法本身定出了初始条件;
输出项
(Output)
一个算法有一个或多个输出,以反映对输入数据加工后的结果。没有输出的算法是毫无意义的;本回答被网友采纳
第2个回答 2017-05-29
算法的定义
通常,定义算法为"为解决某一特定任务而规定的一个指令序列"。
算法的5个基本特性
① 有输入。一个算法必须有0个或多个输入。它们是算法开始运算前给予算法的量。这些输入取自于特定的对象的集合。它们可以使用输入语句由外部提供,也可以使用赋值语句在算法内给定。
② 有输出。一个算法应有一个或多个输出,输出的量是算法计算的结果。
③ 确定性。算法的每一步都应确切地、无歧义地定义。对于每一种情况,需要执行的动作都应严格地、清晰地规定。
例1:
void fa( )
{
int x=5,y=10;
z=x+++y;//解释为:x+(++y)?(x++)+y?
printf("%d,%d,%d",x,y,z);
}
void fb( )
{
int x=5,y=10;
z=x+(++y); //x+++y解释为:x+(++y)
printf("%d,%d,%d",x,y,z);
}
void fc( )
{
int x=5,y=10;
z=(x++)+y; //x+++y解释为:(x++)+y
printf("%d,%d,%d",x,y,z);
}
④ 有穷性。一个算法无论在什么情况下都应在执行有穷步后结束。
⑤ 有效性。算法中每一条运算都必须是足够基本的。就是说,它们原则上都能精确地执行,甚至人们仅用笔和纸做有限次运算就能完成。
例3:
求和:S=1+2+3+…+∽ //不可以实现。
算法设计的要求
1)正确性
a.无语法错误;
b.对n组输入产生正确结果;
c.对特殊输入产生正确结果;
d.对所有输入产生正确结果。
2)可读性:“算法主要是为了人的阅读与交流”。
3)健壮性
4)高效与低存储量