我最喜爱的编程语言排行榜.docx

上传人:b****8 文档编号:10942812 上传时间:2023-02-23 格式:DOCX 页数:20 大小:121.93KB
下载 相关 举报
我最喜爱的编程语言排行榜.docx_第1页
第1页 / 共20页
我最喜爱的编程语言排行榜.docx_第2页
第2页 / 共20页
我最喜爱的编程语言排行榜.docx_第3页
第3页 / 共20页
我最喜爱的编程语言排行榜.docx_第4页
第4页 / 共20页
我最喜爱的编程语言排行榜.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

我最喜爱的编程语言排行榜.docx

《我最喜爱的编程语言排行榜.docx》由会员分享,可在线阅读,更多相关《我最喜爱的编程语言排行榜.docx(20页珍藏版)》请在冰豆网上搜索。

我最喜爱的编程语言排行榜.docx

我最喜爱的编程语言排行榜

2014年11月“我最喜爱的编程语言”排行榜

作者:

maninwest  浏览次数:

314  下载次数:

1  下载所需CF币:

1  提交时间:

2014-11-2505:

35:

32  

(点击下面源码文件列表里的文件,可以预览文件内容)

 其他项目  

 PDF  

查看评论  

加入我的收藏

下载源码:

 codeforge_fav_lang_2014novembe(265.75kB)  

  Sponsoredlinks

2014年11月“我最喜爱的编程语言”排行榜

CodeForge网站最新公布2014年11月“我最喜爱的编程语言”排行榜。

此排行榜清楚的反映了各种编程语言在国内和境外不同国家和地区的流行程度,可为软件工程师及其他业内人士提供参考。

与TIOBE排行榜不同,这份排行榜的数据不是来源于搜索引擎等间接途径,而是来自11月份对五万六千多名软件工程师的问卷调查。

调查选项为单选,每个参与调查者只能选择一个自己最喜欢的编程语言。

一、国内的统计情况。

国内数据来源于对CodeF用户的统计。

首先,我们先看看全国范围的情况:

与前几个月的统计数据相比,11月份的统计数据中C++和C语言仍然以大比分领先其他编程语言排在前两位,二者是当之无愧的最受全国程序员喜爱的编程语言(或者说从事C++和C语言编程的人数依然占有最大比例)。

Java和C#也很受欢迎,分别排在第三和第四位(C#在这个月份略有下降到第四位,Java略有上升到第三位),位次彼此调换。

Matlab因其在数学计算和仿真方面的优势以及易学易用的特点,深受高校和科研院所人员的喜爱,也是很多软件工程师验证前期算法的首选工具。

Objective-C虽然受到iOS程序开发的刺激,吸引了大批程序开发人员从事编码工作,但在这份喜爱程度排行榜上并不出众。

尽管如此,与前期统计数据相比,Objective-C呈上升趋势。

当年极其盛行的Delphi靠吃老底仍然跻身榜单之中,不过数据一直呈现下降趋势。

再来看一下来自北京,上海,深圳和广州四地被访用户的调查情况。

在不同的地区,各编程语言受喜爱程度还是略有不同。

C++和C在这四个城市中都是排在了前两位。

而略有不同的是,在北上广,C++受喜爱程度都领先C语言,而在深圳情况正好相反,C语言更受欢迎。

这在一定程度上反映出深圳硬件和嵌入式相关产业(或许是手机产业?

)发达,需要的系统和嵌入式开发人员较多。

而Matlab在深圳的受欢迎程度,明显低于其他几个城市,也部分的反应了深圳由于较少高校和科研院所,所以学术和研究的气氛明显不如其他城市。

二、境外的统计情况

境外数据来源于对CodeF的用户的统计。

 

在全球范围内,C,C++和Matlab的受欢迎程度高居榜首,位列三甲。

在IT创新最活跃的美国,C++胜于C,而在软件外包大国印度,C与Java都大受欢迎。

在制造业发达的台湾和韩国,C语言很受欢迎。

Matlab在这几个国家和地区中,都排在前三位,其中,在印度排在第二位,这与这几个国家和地区发达的教育和科研制度是分不开的。

 

谁能帮我编一段用VB对CAD进行二次开发的程序代码啊

2009-07-0121:

36西起虹尘|分类:

图像处理软件|浏览2136次

然后大体解释一下是什么意思谢谢了

分享到:

2009-07-0121:

51提问者采纳

天天爱答题,20元话费等你拿~

第一个程序:

画一百个同心圆

第一步:

复制下面的红色代码

第二步:

在模型空间按快捷键Alt+F8,出现宏窗口

第三步:

在宏名称中填写C100,点“创建”、“确定”

第四步:

在Subc100()和EndSub之间粘贴代码

第五步:

回到模型空间,再次按Alt+F8,点击“运行”

Subc100()

Dimcc(0To2)AsDouble'声明坐标变量

cc(0)=1000'定义圆心座标

cc

(1)=1000

cc

(2)=0

Fori=1To1000Step10'开始循环

CallThisDrawing.ModelSpace.AddCircle(cc,i*10)'画圆

Nexti

EndSub

也许您还看不懂上面的代码,这没有关系,只要能把同心画出来就可以了,祝您成功。

第二课编程基础

本课主要任务是对上一课的例程进行详细分析

下面是源码:

Subc100()

Dimcc(0To2)AsDouble'声明坐标变量

cc(0)=1000'定义圆心座标

cc

(1)=1000

cc

(2)=0

Fori=1To1000Step10'开始循环

CallThisDrawing.ModelSpace.AddCircle(cc,i*10)'画圆

Nexti

EndSub

先看第一行和最后一行:

SubC100()

……

EndSub

C100是宏的名称,也叫过程名称,当用户执行C100时程序将运行sub和endsub之间的所有指令。

第二行:

Dimcc(0To2)AsDouble'声明坐标变量

后半段“'声明坐标变量”自动变为绿色字体,它是代码语句的注释,它不会影响程序运行,它的作用是告诉阅读者程序员的想法。

对于简单的程序,一般不需要写注释,如果要编写非常复杂的程序,最好要多加注释,越详细越好,对于程序员来说,这是一个好习惯。

电脑真正编译执行的是这条语句:

Dimcc(0To2)AsDouble

它的作用就是声明变量。

Dim是一条语句,可以理解为计算机指令。

它的语法:

Dim变量名As数据类型

本例中变量名为CC,而括号中的0to2声明这个CC是一个数组,这个数组有三个元素:

CC(0)、CC

(1)、CC

(2),如果改为CC(1to3),则三个元素是CC

(1)、CC

(2)、CC(3),有了这个数组,就可以把坐标数值放到这个变量之中。

Double是数据类型中的一种。

ACAD中一般需要定义坐标时就用这个数据类型。

在ACAD中数据类型的有很多,下面两个是比较常用的数据类型,初学者要有所理解。

Long(长整型),其范围从-2,147,483,648到2,147,483,647。

Variant它是那些没被显式声明为其他类型变量的数据类型,可以理解为一种通用的数据类型,这是最常用的。

下面三条语句

cc(0)=1000'定义圆心座标

cc

(1)=1000

cc

(2)=0

它们的作用是给CC变量的每一个元素赋,值其顺序是X、Y、Z坐标。

Fori=1To1000Step10'开始循环

……

Nexti'结束循环

这两条语句的作用是循环运行指令,每循环一次,i值要增加10,当i加到1000时,结束循环。

i也是一个变量,虽然没有声明i变量,程序还是认可的,VB不是C语言,每用一个变量都要声明,不声明就会报错。

简单是简单了,这样做也有坏处,如果不小心打错了一个字母,程序不会报错,如果程序很长,那就会出现一些意想不到的错误。

step后面的数值就是每次循环时增加的数值,step后也可以用负值。

例如:

Fori=1000To1Step-10

很多情况下,后面可以不加step10

如:

Fori=1to100,它的作用是每循环一次i值就增加1

Nexti语句必须出现在需要结束循环的位置,不然程序没法运行。

下面看画圆命令:

CallThisDrawing.ModelSpace.AddCircle(cc,i*10)

Call语句的作用是调用其他过程或者方法。

ThisDrawing.ModelSpace是指当前CAD文档的模型空间

AddCircle是画圆方法

Addcicle方法需要两个参数:

圆心和半径

CC就是圆心坐标,i*10就是圆的半径,本例中,这些圆的半径分别是10、110、210、310……

本课到此结束,下面请完成一道思考题:

1.以(4,2)为圆心,画5个同心圆,其半径为1-5

第三课编程基础二

绘制三维多段线时X、Y值在屏幕上用鼠标选取,Z值用键盘输入

本课将讲解这个问题。

为了简化程序,这里用多条直线来代替多段线。

以下是源码:

Submyl()

Dimp1AsVariant'申明端点坐标

Dimp2AsVariant

p1=ThisDrawing.Utility.GetPoint(,"输入点:

")'获取点坐标

z=ThisDrawing.Utility.GetReal("Z坐标:

")'用户输入Z坐标值

p1

(2)=z'将Z坐标值赋予点坐标中

OnErrorGoToErr_Control'出错陷井

Do'开始循环

p2=ThisDrawing.Utility.GetPoint(p1,vbCr&"输入下一点:

")'获取下一个点的坐标

z=ThisDrawing.Utility.GetReal("Z坐标:

")'用户输入Z坐标值

p2

(2)=z'将Z坐标值赋予点坐标中

CallThisDrawing.ModelSpace.AddLine(p1,p2)'画直线

p1=p2'将第二点的端点保存为下一条直线的第一个端点坐标

Loop

Err_Control:

EndSub

先谈一下本程序的设计思路:

1、获取第一点坐标

2、输入第一点Z坐标

3、获取第二点坐标

4、输入第二点Z坐标

5、以第一、二点为端点,画直线

6、下一条线的第一点=这条线的第二点

7、回到第3步进行循环

如果用户没有输入坐标或Z值,则程序结束。

首先看以下两条语句:

p1=ThisDrawing.Utility.GetPoint(,"输入点:

")‘获取点坐标

……

p2=ThisDrawing.Utility.GetPoint(p1,vbCr&"输入下一点:

")'获取下一个点的坐标

这两条语句的作用是由用户输入点用鼠标选取点坐标,并把坐标值赋给p1、p2两个变量。

ThisDrawing.Utility.GetPoint()在ACAD中这是最常用的方法之一,它需要两个参数,在逗号前面的参数应该是一个点坐标,它的作用是在屏幕上画一条线,前一个端点位于点坐标位置,后一个端点跟随鼠标移动,逗号之前可以什么都不填,这时没有线条会跟随鼠标移动,但逗号必须保留。

逗号后面使用一串字符,程序在命令行显示这串字符,这不难理解。

VbCr通常代表一个回车符,而在这个语句中,它的作用是在命令行不显示“命令:

&的作用是连接字符。

举例:

“爱我中华”&”抵制日货”&”从我做起”

z=ThisDrawing.Utility.GetReal("Z坐标:

")'用户输入Z坐标值

由用户输入一个实数

OnErrorGoToErr_Control'出错陷井

……

Err_Control:

OnError是出错陷井语句,在程序出错时将执行OnError后面的语句

GoToErr_contorl是程序跳转语句,它的作用是在程序中寻找Err_control:

,并执行这一行后面的语句,本例中Err_Control:

后就是结束宏,所以只要出现错误,程序中止。

Do'开始循环

……

Loop‘结束循环

这个循环就历害了,它会无休止地进行循环,好在本例中已经有了一个出错陷井,当用户输入回车时,由于程序没有得到点或坐标,程序出错,跳出循环,中止程序。

如果要人为控制跳出循环,可以在代码中用ExitDo语句跳出循环。

在For变量和Next变量之间如果要跳出循环,那么只要在循环体内加一个Exitfor就可以跳出循环,关于这方面的例程以后会讲到。

CallThisDrawing.ModelSpace.AddLine(p1,p2)'画直线

画直线方法也是很常用的,它的两个参数是点坐标变量

本课到此结束,请做思考题:

连续画圆,每次要求用户输入圆心、半径,当用户不再输入圆心或半径时程序才退出

第四课程序的调试和保存

人非圣贤,孰能无过,初学者在编写复杂程序时往往会出现一些意想不到的错误,所以程序的调试显得尤为重要,随着学习的深入,以后我们需要经常进行程序调试。

事实上,对于那些资深程序员来说,调试程序也是一项不可或缺的重要工作。

首先,在程序输入阶段,应该充分利用VBA编辑器的智能功能。

当你在写代码时,输入一些字母后,编辑器可以自动列出合适的语句、对象、函数供你选择,可以用上下键选择,然后按TAB键(它位于“Q”键左边)确认。

当输入一个回车符后程序会自动对这条语句进行分析,如果出现错误就会提示。

我们经常碰到的麻烦是程序的运行结果和预计的不一样,一般我会这样做:

首先要想一想可能是哪一个变量有问题,然后去监视这个变量(或表达式),在程序合适的位置设置断点,这样可以使程序停下来看一看这个变量有没有按照我的设想在变化。

下面我举一个简单的例子,先看源代码:

subtest()

fori=2to4step0.6

nexti

endsub

这是一个非常简单的循环,每一次循环i便会增加0.6,当循环3次后i值就变为4.4,但问题是每一次循环时i值变为多少?

第一步:

在菜单中选“调试”—“添加监视”,在表达试中填“i”,点击确定,这时你会看到临视窗口中会多一行。

第二步:

把光标移到代码窗口中的“nexti”行,按一下“F9”,于是每当程序运行到这里时就会暂停了。

好,一切就绪,请按F5执行程序,在监视窗口中C值立刻变为2,再按F5继续,C值为2.6,再按几次F5,直到程序结束,这样我们就成功监视了C值的变化。

第三步:

在nexti行再按一次F9,清除断点。

监视的表达式的右键菜单选择“删除监视”。

另外,还可以用“逐语句”、“逐过程”、“运行到光标处”等方法进行调试,这些都在调试菜单中,操作比较简单,请读者自行领悟。

到目前为止,我们所做的工程都是“嵌入式工程”,它只是嵌入在当前的Autocad图形文件中,以后打开这个文件时代码才会加载,如果别的dwg文件也要使用,那就需要把代码导出为.bas文件,供其他dwg文件导入。

在VBA编辑器的“文件”菜单中有这两个功能,一试便知。

ACADVBA还有一种工程叫“通用式工程”,只要进入ACAD就可以运行,程序可以在不同用户、不同的图形文件中共享,但是由于VBA功能太强,有时候会出现一些意想不到的事情,所以在学习阶段请暂时不要这样做。

本课结束,请做思考题;监视下列代码中的i和j的值,注意,此题虽然要监视2个变量,但是在代窗口中只要设置1个断点就足够了。

subtest()

fori=2to4step0.6

forj=-5to2step5.5

nextj

nexti

endsub

第五课画函数曲线

先画一组下图抛物线。

下面是源码:

Submyl()

Dimp(0To49)AsDouble'定义点坐标

DimmylAsObject'定义引用曲线对象变量

co=15'定义颜色

Fora=0.01To1Step0.02'开始循环画抛物线

Fori=-24To24Step2'开始画多段线

j=i+24'确定数组元素

p(j)=i'横坐标

p(j+1)=a*p(j)*p(j)/10'纵坐标

Nexti'至此p(0)-p(40)所有元素已定义,结束循环

Setmyl=ThisDrawing.ModelSpace.AddLightWeightPolyline(p)'画多段线

myl.Color=co'设置颜色属性

co=co+1'改变颜色,供下次定义曲线颜色

Nexta

Endsub

为了鼓励大家积极思考,从本课开始,我不再解释每一条语句的作用,只对以前没有提过的语句进行一些解释,也许你一时很难明白,建议用上一课提到的跟踪变量、添加断点的办法领悟每一条语句的作用。

在跟踪变量p时请在跟踪窗口中单击变量p前的+号,这样可以看清数组p中每一个元素的变化。

ACAD没有现成的画抛物线命令,我们只能用程序编写多段线画近似抛物线。

理论上,抛物线的X值可以是无限小、无限大,这里取值范围在正负24之间。

程序第二行:

DimmylAsObject'定义引用曲线对象变量

Object也是一种变量类型,它可以把变量定义为对象,本例中myl变量将引用多段线,所以要定义为Objet类型。

看画多段线命令:

Setmyl=ThisDrawing.ModelSpace.AddLightWeightPolyline(p)'画多段线

其中括号中的p是一个数组,这个数组的元素数必须是偶数,每两个元数作为一个点坐标。

等号前面部分“Setmyl”的作用就将myl变量去引用画好的多段线。

myl.Color=co'设置颜色属性。

在ACAD中,颜色可以用数字表示,本例中co会增值,这样就会有五彩缤纷的效果。

本课第二张图:

正弦曲线,下面是源码:

Subsinl()

Dimp(0To719)AsDouble'定义点坐标

Fori=0To718Step2'开始画多段线

p(i)=i*2*3.1415926535897/360'横坐标

p(i+1)=2*Sin(p(i))'纵坐标

Nexti

ThisDrawing.ModelSpace.AddLightWeightPolyline(p)'画多段线

ZoomExtents'显示整个图形

EndSub

p(i)=i*2*3.1415926535897/360'横坐标

横坐标表示角度,后面表达式的作用是把角度转化弧度

ZoomExtents语句是缩放命令,它的作用是显示整个图形,消除图形以外的区域

本课思考题:

画一条抛物线:

y=0.5*x*x+3,其中X取值范围在正负50之间

第六课数据类型的转换

上一节课我们用一个简单的公式把角度转化为弧度,这样做便于大家理解。

不过VBA中有现成的方法可以转换数据类型。

我们举例说明:

jd=ThisDrawing.Utility.AngleToReal(30,0)

这个表达式把角度30度转化为弧度,结果是.523598775598299。

AngleToReal需要两个参数,前面是表示要转换角度的数字,而后面一个参数可以取值为0-4之间的整数,有如下意义:

0:

十进制角度;1:

度分秒格式;2:

梯度;3:

弧度;4:

测地单位

例:

id=ThisDrawing.Utility.AngleToReal("62d30'10""",1)

这个表达式计算62度30分10秒的弧度

再看将字符串转换为实数的方法:

DistanceToReal

需要两个参数,前一个参数是表示数值的字符串,后面可以取值1-5,表示数据格式,有如下意义:

1:

科学计数;2:

十进制;3:

工程计数——英尺加英寸;4:

建筑计数——英尺加分数英寸;5:

分数格式。

例:

以下表达式得到一个12.5的实数

temp1=ThisDrawing.Utility.DistanceToReal("1.25E+01",1)

temp2=ThisDrawing.Utility.DistanceToReal("12.5",2)

temp3=ThisDrawing.Utility.DistanceToReal("121/2",5)

而realtostring方法正好相反,它把一个实数转换为字符串。

它需要3个参数

第一个参数是一个实数,第二个参数表示数据格式,含义同上,最后一个参数表示精确到几位小数。

temp1=ThisDrawing.Utility.RealToString(12.5,1,3)

得到这个字符串:

“1.250E+01”,

下面介绍一些数型转换函数:

Cint,获得一个整数,例:

Cint(3.14159),得到3

Cvar,获得一个Variant类型的数值,例:

Cvar("123"&"00"),得到”12300”

Cdate,转换为date数据类型,例:

MyShortTime=CDate("11:

13:

14AM")

下面的代码可以写出一串数字,从000-099。

Subtest()

Dimadd0AsString

DimtextAsString

Dimp(0To2)AsDouble

p

(1)=0'Y坐标为0

p

(2)=0'Z坐标为0

Fori=0To99'开始循环

Ifi<10Then'如果小于10

add0="00"'需要加00

Else'否则

add0="0"'需要加0

EndIf

text=add0&CStr(i)'加零,并转换数据

p(0)=i*100'X坐标

CallThisDrawing.ModelSpace.AddText(text,p,4)'写字

Nexti

EndSub

重点解释条件判断语句:

If条件表达式Then

……

Else

……

Endif

如果满足条件那么程序往下执行,到else时不再往下执行,直接跳到Endif后面

如果不满足条件,程序跳到else后往下运行。

CallThisDrawing.ModelSpace.AddText(text,p,4)'写字

这是写单行文本,需要三个参数,分别是:

写的内容、位置、字高

第七课写文字

客观地说,ACAD写字功能不够历害,而用VBA可以使写字效率更高。

比较正规的做法是把定义文字样式,用样式来控制文字的特性。

我们还是用实例来学习,先看下面一段代码,它的作用是先创建一个文字样式,然后用这个文字样式写一段多行文本。

Subtxt()

DimmytxtAsAcadTextStyle'定义mytxt变量为文本样式

Dimp(0To2)AsDouble'定义坐标变量

p(0)=100:

p

(1)=100:

p

(2)=0'坐标赋值

Setmytxt=ThisDrawing.TextStyles.Add("mytxt")'添加mytxt样式

mytxt.fontFile="c:

\windows\fonts\simfang.ttf"'设置字体文件为仿宋体

mytxt.Height=100'字高

mytxt.Width=0.8'宽高比

mytxt.ObliqueAngle=ThisDrawing.Utility.AngleToReal(3,0)'倾斜角度(需转为弧度)

ThisDrawing.ActiveTextStyle=mytxt'将当前文字样式设置为mytxt

Settxtobj=ThisDrawing.ModelSpace.AddMText(p,1400,"{做到老,学到老}\P"

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1