第1个回答 2007-12-31
一个数学系的学生,基础编程必须掌握,至少,C语言类的基础编程是应该会的.
如果你想把编程作为自己的专业,作为工作,那么下面的个人意见仅供参考:
数学对编程很重要, 这并不是说要你数学课要考多高的分,数学掌握的有多好,而是说数学及逻辑思维很重要,要有较严密的逻辑思维. 软件要求对一个实际问题建立一个数据模型并以一定的算法来处理这个模型.因此,较好的数学基础对于建立模型以算法设计都是有好处的. 线性代数,概率论,离散数学,数值逼近等课对于编程都是有益的课程.当然,对于不同领域的软件,所需要的知识是不同的,比如说,在图形处理领域,计算几何方面,线性代数等知识是比较重要的.
以上只是说数学对编程是有好处的,最重要的还是兴趣,至于数学,有一般的理工科背景就可以了.
现在大多程序员都不是数学专业出身的,一样有很多人是非常优秀的. 当然,有些好公司更偏爱数学系出身的程序员.
另外,有些编程语言一定程度上降低了对编程人员的要求,如C#等.这些语言更注重了软件的架构和设计.
所以,只要有兴趣,以你的背景,学编程不用担心什么,但是提醒一下,能把数学学得好或者有信心把数学学得好的人,更容易成为专家级的程序员.
英语的话,能上大学,这个英语水平就够了,搞软件,或多或少会有些英文文档是要看的. 大多公司会要求过英语四级. 如果你想进外企,或者想看一些国外的著作,那英语当然就要求高些了.
第2个回答 2007-12-29
没有良好的数学基础,想做良好的程序是困难一些。但是并不是不可以做程序员。
比如:照片储存,根据照片文件名存放到不同的文件夹:
1-500
501-1000
1001-1501
.....
一般程序员都是用N个if或case语句来判断这个照片的文件号是多少,应该储存到哪个目录,判断会很多。假如文件号是N
if n>0 and n<=500
wjj="1-500"
endif
if n>=501 and n<=1000
wjj="501-1000"
endif
if n>=1001 and n<=1501
wjj="1001-1501"
endif
。。。。。。。。
而数学基础好的,做一个变换,也就是一个数学表达式就把路径给描述出来了。
wjj=allt(str((int((n-1)/500))*500+1))+"-"+allt(str((int((n-1)/500)+1)*500))
表达式仅用了一个线性变换(映射),程序显得很简洁。
第3个回答 2008-01-01
娃娃,我也是学数学的.
你现在的困惑可能是没弄明白1个问题.
大学数学专业是以"函数论"为基础的学科.而计算机是以"数论"为基础的科学,所以它们之间没有必然的联系.做一个编程的中级水平,不学数学可以应付,就是这个原因.
不过我建议你学习"数值分析"这个课程的时候能够多看写其他的书籍,比如"数值分析与matlab实现"什么的.这个课程和计算机中的算法联系比较紧密!
我们都是学数学的,不要抱怨了,我也正在转计算机,不过好象学计算机专业课程的时候比计算机专业的,看书要快好多.谁教咱是学数学的呀.呵呵
我给你来个比喻哦"数学就好象是九阳神功",如果你"九阳神功"护体,学什么都快!呵呵