伪代码,伪啥纳闷了。我见过有人写的代码很高端,各种的封装,很难看懂,封装成jar,直接用里面对应的java注解就可以了。使得程序员无法拼读源码,无法进行提升,你只能在上面写业务代码。
在说伪不伪我感觉不重要吧,重要是你的项目能产生效能,为公司挣钱,或者为自己挣钱,人还是要生活的。很多人用的代码看起来很陈旧,但是他可以挣到钱,你用了很新的框架挣不到钱。代码只是工具,还是以结果来说话的对吧
这种说法没有正确与否。就程序语言而言,未来的趋势就是减少低级代码的编写,python作为胶水语言,不需要注重性能,更关注用途,在使用上和人的思维更加接近。
程序圈的人因为写过太多的低级代码,需要注重性能和实现细节,python这种高级语言对于他们来说确实如此。
但是对于没有写过程序的人来说,python还是比较有亲和力的,学起来也比较容易。
基本上说出这种话的,可以肯定他根本不懂编程。
一般中小学中二病患者,或者考不上高中,跑去培训班学个编程就想冒充程序员的最喜欢说着话。
因为正规学习编程的,比如大学计算机系毕业的,不可能没学过伪代码。
伪代码是专门设计用来讲解,讨论计算机原理,算法,数据结构等的不可以运行的一种语言。
之所以叫伪代码,是因为这种代码没有编译器,没有解释器,从而根本无法运行,仅仅作为讲课用。
上大学学过《算法导论》,《数据结构》等课程的朋友,肯定对伪代码不陌生,甚至还专门写过伪代码。
是的,伪代码有自己独特的语法,需要一定时间的学习。
比如赋值 x
根号3的值在1,2之间
double x1 = 1;
double x2 = 2;
double x = 0,y = 0;
double ans = 0;
double flag = 1;
do
{
x = (x1 + x2)/2;
y = xx;
if(y > 3)
x2 = x;
else
x1 = x;
flag = x2 - x1;
}
while(flag > 0005)
ans = x;
如图,(1),(2),(3)为迭代次数,对应的刻度值为每次迭代的X的计算值,如此反复迭代,即可求出满足一定精度要求的根号3的近似值
著名的菲波那契数列
可以这样简化:
兔子分成 小、中、大,
刚出生为 小,第二个月为 中 ,第3个月为 大(变成大时生下 小)
大= 上月的 中 + 大
中= 上月的 小
小 = 这月的 大
-------------------------------
Sub TuZi()
Dim i, n, s, a1, a2, a3, x()
n = 40 '第n个月
ReDim x(1 To n)
a1 = 1: a2 = 0: a3 = 0
For i = 1 To n
x(i) = a1 + a2 + a3
a3 = a2 + a3
a2 = a1
a1 = a3
Next
' With [h1] '输出到excel表格
' EntireColumnClearContents
' Resize(UBound(x)) = ApplicationWorksheetFunctionTranspose(x)
' Offset(UBound(x))Select
' End With
' Print Join(x, vbCrLf) '输出到打印窗口
MsgBox Join(x, vbCrLf) '输出到d窗
End Sub
函数语句:
void kbfft(pr,pi,n,k,fr,fi,l,il)
pr-----双精度实型一维数组,长度为 n。当 n=0时,存放 n个采样输入的实部,返
回时存放离散傅立叶变换的模;当 l=1 时,存放傅立叶变换的 n个实部,返回时
存放逆傅立叶变换的模。
pi-----双精度实型一维数组,长度为 n。当 n=0时,存放 n个采样输入的虚部,返
回时存放离散傅立叶变换的幅角;当 l= 1时,存放傅立叶变换的 n个虚部,返回
时存放逆傅立叶变换的幅角。其中幅角的单位为度。
n------整形变量。输入的点数。
k------整形变量。满足 n=2~k(2的k次方)。
fr-----双精度实型一维数组,长度为 n。当 l=0时,返回傅立叶变换的实部;当 l=1
时,返回逆傅立叶变换的实部。
fi-----双精度实型一维数组,长度为 n。当 l=0时,返回傅立叶变换的虚部;当 l=1
时,返回逆傅立叶变换的虚部。
l------整形变量。若 l=0,表示要求本函数计算傅立叶变换;若 l=1,表示要求本
函数计算逆傅立叶变换。
il-----整形变量。若 il=0,表示不要求本函数计算傅立叶变换或逆傅立叶变换的模
与幅角;若 il=1,表示要求本函数 计算傅立叶变换或逆傅立叶变换的模与幅角。
#i nclude"mathh"
void kbfft(pr,pi,n,k,fr,fi,l,il)
int n,k,l,il;
double pr[],pi[],fr[],fi[];
{int it,m,is,i,j,nv,l0;
double p,q,s,vr,vi,poddr,poddi;
for(it=0;it<=n-1;it++)
{m=it;is=0;
for(i=0;i<=k-1;i++)
{j=m/2;is=2is+(m-2j);m=j;}
fr[it]=pr[is];fi[it]=pi[is];
}
pr[0]=10;pi[0]=00;
p=6283185306/(10n);
pr[1]=cos(p);pi[1]=-sin(p);
if(l!=0) pi[1]=-pi[1];
for(i=2;i<n-1;i++)
{p=pr[i-1]pr[1];q=pi[i-1]pi[1];
s=(pr[i-1]+pi[i-1])(pr[1]+pi[1]);
pr[i]=p-q;pi[i]=s-p-q;
}
for(it=0;it<=n-2;it=it+2)
{vr=fr[it];vi=fi[it];
fr[it]=vr+fr[it+1];fi[it]=vi+fi[it+1];
fr[it+1]=vr-fr[it+1];fi[it+1]=vi-fi[it+1];
}
m=n/2;nv=2;
for(l0=k-2;l0>=0;l0--)
{m=m/2;nv=2nv;
for(it=0;it<=(m-1)nv;it=it+nv)
for(j=0;j<=(nv/2)-1;j++)
{p=pr[mj]fr[it+j+nv/2];
q=pi[mj]fi[it+j+nv/2];
s=pr[mj]+pi[mj];
s=s(fr[it+j+nv/2]+fi[it+j+nv/2]);
poddr=p-q;poddi=s-p-q;
fr[it+j+nv/2]=fr[it+j]-poddr;
fi[it+j+nv/2]=fi[it+j]-poddi;
fr[it+j]=fr[it+j]+poddr;
fi[it+j]=fi[it+j]+poddi;
}
}
if(l!=0)
for(i=0;i<=n-1;i++)
{fr[i]=fr[i]/(10n);
fi[i]=fi[i]/(10n);
}
if(il!=0)
for(i=0;i<=n-1;i++)
{pr[i]=sqrt(fr[i]fr[i]+fi[i]fi[i]);
if(fabs(fr[i])<0000001fabs(fi[i]))
{if((fi[i]fr[i])>0) pi[i]=900;
else pi[i]=-900;
}
else
pi[i]=atan(fi[i]/fr[i])3600/6283185306;
}
return;
}
区别:
1,面对对象不同,伪代码是方便程序员便于理解,源代码是面对电脑,使电脑编译。
2,编译方式不同,伪代码无被电脑编译,源代码可以被电脑编译。
3,编写方式不同,在伪代码中,每一条指令占一 行,指令后不限任啊符号,源代码一条指令客栈多行,可加符号。
在现代程序语言中,源代码可以是以书籍或者磁带的形式出现,但最为常用的格式是文本文件,这种典型格式的目的是为了编译出计算机程序。
扩展资料:
伪代码:是用介于自然语言和计算机语言之间的文字和符号(包括数学符号)来描述算法。
伪代码简单示例:输入3个数,打印输出其中最大的数。可用如下的伪代码表示:
Begin(算法开始)
输入 A,B,C
IF A>B 则 A→Max
否则 B→Max
IF C>Max 则 C→Max
Print Max
End (算法结束)
伪代码(Pseudocode)是一种算法描述语言。它不是一一种现实存在的编程语言。使用为代码的目的是为了使被描述的算法可以容易地以任何一种编程语言(Pascal, C,Java, etc) 实现。
源程序(source code) 即代码是指未编译的按照一定的程序设计语言规范书写的文本文件。源代码(也称源程序),是指一系列人类可读的计算机语言指令。
参考资料来源:百度百科-伪代码
您好!很高兴为您解答问题,以下是我为您提供的解答内容:
1、如果算法描述已经很彻底了,只要补充变量定义,等语言细节就可以,把算法描述转化为各种编程语言了。如果只是泛泛而论,自己去把算法转换成伪代码描述,或者流程图之类的,然后再用C语言实现。
2、算法只是一种处理数据的一种思想(常用伪代码表示),理解这种思想之后,再用计算机语言表达出来,如果C语法不过关,是很难完成程序的编写,所以C语言本身也要认真学习才行。
以上就是关于为什么程序圈的人总是说python程序员写的是伪代码全部的内容,包括:为什么程序圈的人总是说python程序员写的是伪代码、利用二分法设计一个算法求根号3近似值(0.005),画出程序框图,并将它转化成伪代码程。、怎么将这个伪代码转化为VBA程序和Matlab程序如果有自然语言算法和流程图就更好啦!!!等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)