① 现在到底是学C好还是C++好还是C#好
C/C++这门语言能做什么
因为不管什么语言,只要你学的好,高薪工作肯定是不发愁的,所有的编程语言,最终都是编译成机器语言的,也就是0和1,不同的只是你用什么方式告诉计算机该做什么。
不过,不同语言还是有差别的,比如java跨平台性很好,除了可以开发桌面程序外,还常用来开发手机程序,C++一般用来开发大型程序,手机用的比较少。著名的《魔兽世界》很多部分就是用C++写的,如果用Java写,那么游戏速度将会慢到让你崩溃!
近几天我关注整理了一些常用软件的编写语言,希望能对有志于从事软件开发的朋友有一定的指导。
一、游戏
PC平台几乎所有的游戏
星际争霸、魔兽争霸、CS、帝国时代、跑跑卡丁车、传奇、魔兽世界....
数不胜数了,自己数吧
都是用C++开发的,C++语言靠近系统地称,执行速度最快。比如你的两个朋友与你分别玩用VB、Java、与C++编写的“跑跑卡丁车”,你玩C++编写的游戏已经跑玩结束了,发现你的两个朋友还没开始跑呢,那是相当的卡啊,
二、办公软件
微软Office (就是你常用的Word、Excel):汇编 -> C -> 稳定在C++
Sun Open Office (这个可能很多朋友不知道,但用Linux系统的都知道这个办公软件):部分JAVA(对外接口),主要为C++ (开源,可下载其源代码)
三、图形处理
Adobe Photoshop : C++
GIMP:C
四、网站
eBay :2002年为C++,后主要迁至Java
Facebook : C++和PHP
新乡学院网站:网页程序用ASP写的,数据库应该是SQL
五、搜索引擎
Google :汇编与C++,主要为C++
六、操作系统:
Windows :汇编 -> C -> C++
备注:曾经在智能手机的操作系统(Windows Mobile)考虑掺点C#写的程序,比如软键盘,结果因为写出来的程序太慢,实在无法和别的模块合并,最终又回到C++重写。
相信很多朋友都知道Windows Vista,这个系统开发早期比尔盖茨想全部用C#写,但是最终因为执行慢而放弃,结果之前无数软件工程师日夜劳作成果一夜之间被宣告作废。
Linux :C
苹果 MacOS :主要为C,部分为C++。
备注:之前用的语言比较杂,最早是汇编和Pascal。
Symbian OS :汇编,主要为C++。(诺基亚手机)
Google Android 2008年推出: C语言(有传言说是用Java开发的操作系统,但最近刚推出原生的C语言SDK)
七、图形界面层
Microsoft Windows UI :C++
苹果 MacOS UI (Aqua) : C++
Gnome (Linux图形界面之一,大脚丫): C和C++,主要是C。
KDE (Linux图形界面),C++。
八、关系型数据库
Oracle :汇编、C、C++、Java。主要为C++。
MySQL : C++
IBM DB2 :汇编、C、C++,主要为C。
微软SQL Server :汇编 -> C->C++
IBM Informix : 汇编、C、C++,主要为C。
SAP DB/MaxDB : C++
九、浏览器:
微软IE: C++
火狐浏览器: C++
苹果Safari :(2003年1月发布)C++
谷歌Chrome :(2008的发布)C++
Opera : C++ (手机上占用率比较大)
十、邮件客户端
Outlook : C++
IBM Lotus Notes : Java
Foxmail:Delphi
十一、软件开发集成环境/IDE:
Microsoft Visual Studio : C++
备注:是不是有点搞笑?用C++开发出来的Visual Studio又用来开发C++程序
Eclipse :Java (其图形界面SWT基于C/C++)
Code::Blocks : C++
十二、编译器
Microsoft Visual C++ 编译器:C++
Microsoft Visual Basic 解释、编译器:C++
Microsoft Visual C# :编译器:C++
gcc (GNU C compiler) : C
javac (Sun Java compiler) : Java
Perl : C++
PHP : C
十三、3D 引擎
Microsoft DirectX : C++(相信玩游戏的同学都知道这个,现在最高版本是DX11)
OpenGL : C
OGRE 3D : C++
十四、Web Servers (网页服务)
Apache : C和C++,主要为C
Microsoft IIS : C++
十五:CD/DVD 刻录
Nero Burning ROM : C++
K3B : C++
十六:媒体播放器
Nullsoft Winamp : C++
Microsoft Windows Media Player : C++
Microsoft Windows Media Player : C++
② 编程怎么把问题数学化
1.
数学公式:
十进制数A用二进制表示为An。..A2 A1 A0,其中An=0,1; n=0,1,2,3,4。..
如4表示为100,那么
A0*2^0 + A1*2^1 + A2*2^2 。.+An*2^n= A
因为An不是零就是1,那个每次对等式除2,就得到一个可以被2整除的数 + 1(或者+0).
左边不断的除2取余后,就得到了
A0 A1 A2。An的序列,把它反过来写成An。A2 A1 A0就是他的2进制序列了。
除的目的就是消去2^n,得到An,其中n=0,1,2,3。.
上面的An*2^n表示An乘2的n次方.
你用十进制来想一下,如123456,对他除10取余.
第一次结果为12345,余为6。
第二次结果为1234,余为5.
依次推下去,等到6,5,4,3,2,1的序列,反过来写就是答案了。
2. 如何简化手工编程中的数学处理
众所周知,数控机床程序编制的方法有两种:手工编程与自动编程。
手工编程仍被广泛地应用于形状较简单的点位加工及平面轮廓加工。而手工编程中有一个既关键又繁琐的环节就是图形的数学处理,即通常要计算出加工轮廓的各基点或节点坐标。
传统的计算方法就是建立数学方程式,解方程组,以求各关键点的坐标。这个过程对编程人员来说既耗时又容易出错。
随着绘图软件AutoCAD应用的普及,在手工编程过程中,我们可以利用AutoCAD的INQUARY(查询)、CALCULATE(计算)等命令快速、准确地求出各点的坐标,以代替复杂的数学运算。下面以一些实例来介绍具体的操作方法。
例如要编写如图1所示零件的数控加工程序,必须求出零件轮廓中各基点(如图2所示的A、B、C、D、E、F、G)的坐标值,如果用数学方法处理,则难度比较大,而且很繁琐。下面介绍如何利用AutoCAD2000得到各基点的坐标值。
图1零件的数控加工程序第一步:利用AutoCAD2000画出零件图,。图2 零件图第二步:将AutoCAD的用户坐标系(UCS)的原点(ORIGIN)移至零件的编程原点(O)处。
操作方法如下: 下拉菜单TOOLS→MOVE UCS→鼠标左键拾取编程原点O; 或者,下拉菜单TOOLS→NEW UCS→ORIGIN→鼠标左键拾取编程原点O。 第三步:下拉菜单TOOLS→INQUIRY→ID POINT→鼠标左键拾取A点,则在命令行(MAND)处显示A点在编程坐标系中的坐标值,即求得编程所需的数据。
用同样的方法可得到其他各点(B、C、D、E、F、G)的坐标值和圆弧圆心点的坐标值。 或者,下拉菜单TOOLS→INQUIRY→LIST→鼠标左键分别拾取A、B、C、D、E、F、G各点,则显示出各点的坐标值。
同理,对于分层切削、行切法、环切法、以及处理刀具半径的补偿问题等,都可以先用AutoCAD中的OFFSET命令对零件轮廓进行适当的偏移,生成所需的刀具加工轨迹,再用上述的方法可求出各编程点的坐标值,提高手工编程的效率和准确性。 另外,AutoCAD 的几何计算器有时在手工编程的数学处理中也十分有用。
和普通的计算器一样,几何计算器可以完成加、减、乘、除的运算以及三角函数的运算,计算的结果还可直接作为命令的参数使用。和一般计算器不同的是,AutoCAD 几何计算器还可以做几何运算。
它既可直接对各坐标点的坐标值进行运算,也可以使用AutoCAD 的Osnap模式捕捉屏幕上的坐标点来参与运算,还可以自动计算几何坐标点等。 对于一些在图中没有直接画出来的点,我们要求其坐标值,就可以利用AutoCAD的几何计算器来进行计算。
在命令提示mand:下键入CAL,即可启动AutoCAD几何计算器。CAL也是一个透明命令,可以在其它的命令下随时启动几何计算器。
此外,还可以在AutoLISP程序中使用CAL命令。 例如,我们要求出两已知点A、B之间的2个三等分点的坐标值,操作过程如下: mand:Cal↙ >>Expression:Plt(End,End,1/3)↙ >>Select Entity For End Snap:(捕捉A点) >>Select Entity For End Snap:(捕捉B点) 即在命令行处显示出距离A点为1/3线段(AB)长的点的坐标值。
同理,只要把上述的Expression:改成Plt(End,End,1/3)则可求出距离A点为2/3线段(AB)长的点的坐标值。 此外,还可以利用AutoCAD的图形数据通过AutoCAD的AutoLISP语言设计编制数控程序,此处就不再讨论。
总之,在现代机械制造业中,数控机床的使用越来越广泛,而目前的自动编程软件价格又较高,利用AutoCAD的图形数据,进行数控编程有一定的实际意义。(end)。
3. 关于程序的数学问题
最笨的方法 用穷举法
用循环一个一个的试
编程语言很多,不知道你要用什么语言编写程序
void main() { for (D=0;D<=H;D++) if D+(H-D)/4==H cout<<D<<" ''<<H-D; } 加上大括号!! 这是c语言的程序 你想要用什么编程语言写阿 ?? 我只懂 C 语言、matlab、一点点汇编 你按我给的图改写吧
你是要用vb编程吧。这是我改写的。我没有学过vb,里面可能会有错。你发现了错误再告诉我吧。
dim D,H d=0
H=? ' H应该是一个数字吧 do while D<=H
if D+(H-D)/4=H then
print D
endif
loop
4. 如何将论文中的数学(高数)问题,转化为c++代码
这个看上去是产生一个理想曲面。A 不同,结果不同。
你需要懂得 用 伯恩斯坦-贝塞尔多项式 离散化 表示曲面的 方法。
先定出循环计算的点,算出贝塞尔系数。
有了系数后,便可在定义域范围内 一点一点计算 -- 类似空间插值计算。
有了 可数值计算的 计算方法后,再用c/c++语言描述你的计算,这便叫代码。
有限单元法里常用的,三角形内一点的函数值,用 三角形3个顶点处的函数值表示,
可数值计算的 计算方法 就是 定出计算点,算出它的面积座标,用面积座标为权,
加权平均,得出。
这里 复杂些。但基本概念类似,约束边界是你的曲面边界。理想曲面,文里给了参数方程。
5. 学编程要怎样水平的数学基础
你既然喜欢编程,就应该认认真真的学习一门语言,学习微软的就先从VB开始,VB是比较好的入门语言,可视化的,比较简单,是非常好的入门语言。
书籍最少应该准备两本,不可能一本书籍会包含VB的所有内容,在看书的时候,可以交叉的看,一本书籍中没有讲到的内容可以在另一本中看到,这样对学习是很有好处的,也能保证所学知识的完整性。学编程是一个很漫长的过程,不要着急,要理论与实践想结合,例程书籍也是很重要的,看源代码对学习也是很有帮助的,等你学完这门VB语言之后,学习别的语言是非常简单,可以尝试C语言,按照C——C++——VC的顺序学习,有助于知识的连贯性,我也希望你能学好的。
或者学习Delphi,入门较为简单类似于VB,但比VB强大,即可作为入门又能做强、做大 怎样学编程 1.明确学习目的 学习编程对大多数IT业人员来说都是非常有用的。学编程,做一名编程人员,从个人角度讲,可以解决在软件使用中所遇到的问题,改进现有软件,可以为自己找到一份理想的工作添加重要得砝码,有利于在求职道路上谋得一个好的职位;从国家的角度,可以为中国的软件产业做出应有的贡献,一名优秀的程序员永远是被争夺的对象。
学习编程还能锻炼思维,使我们的逻辑思维更加严密;能够不断享受到创新的乐趣,将一直有机会走在高科技的前沿,因为程序设计本身是一种创造性的工作。知识经济时代给我们带来了无限的机会,要想真正掌握计算机技术,并在IT行业里干出一番事业来,有所作为,具有一定的编程能力是一个基本条件和要求。
2.打好基础 学编程要具备一定的基础,总结之有以下几方面: (1)数学基础 从计算机发展和应用的历史来看计算机的数学模型和体系结构等都是有数学家提出的,最早的计算机也是为数值计算而设计的。因此,要学好计算机就要有一定的数学基础,出学者有高中水平就差不多了。
(2)逻辑思维能力的培养学程序设计要有一定的逻辑思维能力,“逻思力”的培养要长时间的实践锻炼。要想成为一名优秀的程序员,最重要的是掌握编程思想。
要做到这一点必须在反复的实践、观察、分析、比较、总结中逐渐地积累。因此在学习编程过程中,我们不必等到什么都完全明白了才去动手实践,只要明白了大概,就要敢于自己动手去体验。
谁都有第一次。有些问题只有通过实践后才能明白,也只有实践才能把老师和书上的知识变成自己的,高手都是这样成材的。
(3)选择一种合适的入门语言 面对各种各样的语言,应按什么样的顺序学呢?程序设计工具不外乎如下几类: 1)本地开发应用软件开发的工具有:Visual Basic 、Delphi 、VC++ ( C++ Builder ) 等;数据库开发工具有:Visual Foxpro 、Oracle Developer 、Power Builder 等。 2)跨平台开发 开发工具如 Java 等。
3)网络开发对客户端开发工具如:Java Script 等;对服务器开发工具如:PHP 、ASP 、JSP 、ISAPI 、NSAPI 、CGI 等。以上不同的环境下几种开发工具中 VB 法简单并容易理解,界面设计是可设化的,易学、易用。
选 VB 作为入门的方向对出学者是较为适合的。 3. 注意理解一些重要概念 一本程序设计的书看到的无非就是变量、函数、条件语句、循环语句等概念,但要真正能进行编程应用,需要深入理解这些概念,在理解的基础上应用,不要只简单地学习语法、结构,而要吃透针对这些语法、结构的应用例子,做到举一反三,触类旁通。
4.掌握编程思想 学习一门语言或开发工具,语法结构、功能调用是次要的,最主要是学习它的思想。例如学习 VC 就要学习 Windows 的内在机理、什么是线程。
;学习 就要知道 VTALBE 、类厂、接口、idl。
,关键是学一种思想,有了思想,那么我们就可以触类旁通。
5.多实践、多交流 掌握编程思想必须在编程实际工作中去实践和体会。编程起步阶段要经常自己动手设计程序,具体设计时不要拘泥于固定的思维方式,遇到问题要多想几种解决的方案。
这就要多交流,各人的思维方式不同、角度各异,各有高招,通过交流可不断吸收别人的长处,丰富编程实践,帮助自己提高水平。亲自动手进行程序设计是创造性思维应用的体现,也是培养逻辑思维的好方法。
6.养成良好的编程习惯 编程入门不难,但入门后不断学习是十分重要的,相对来说较为漫长。在此期间要注意养成一些良好的编程习惯。
编程风格的好坏很大程度影响程序质量。良好的编程风格可以使程序结构清晰合理,且使程序代码便于维护。
如代码的缩进编排、变量命令规则的一致性、代码的注释等。 7.上网学编程 在网上可以学到很多不同的编程思想、方法、经验和技巧,有大量的工具和作品及相关的辅导材料供下载。
例如网站“编程课堂”(/)提供内容丰富而且实用的编程技术文章、精选控件、源代码下载、计算机考试、相关软件以及编程书籍推荐等等。 8.加强计算机理论知识的再学习 学编程是符合“理论。
③ 大数据处理之道(预处理方法)
大数据处理之道(预处理方法)
一:为什么要预处理数据?
(1)现实世界的数据是肮脏的(不完整,含噪声,不一致)
(2)没有高质量的数据,就没有高质量的挖掘结果(高质量的决策必须依赖于高质量的数据;数据仓库需要对高质量的数据进行一致地集成)
(3)原始数据中存在的问题:
不一致 —— 数据内含出现不一致情况
重复
不完整 —— 感兴趣的属性没有
含噪声 —— 数据中存在着错误、或异常(偏离期望值)的数据
高维度
二:数据预处理的方法
(1)数据清洗 —— 去噪声和无关数据
(2)数据集成 —— 将多个数据源中的数据结合起来存放在一个一致的数据存储中
(3)数据变换 —— 把原始数据转换成为适合数据挖掘的形式
(4)数据规约 —— 主要方法包括:数据立方体聚集,维度归约,数据压缩,数值归约,离散化和概念分层等。
(5)图说事实
三:数据选取参考原则
(1)尽可能富余属性名和属性值明确的含义
(2)统一多数据源的属性编码
(3)去除唯一属性
(4)去除重复属性
(5)去除可忽略字段
(6)合理选择关联字段
(7)进一步处理:
通过填补遗漏数据、消除异常数据、平滑噪声数据,以及纠正不一致数据,去掉数据中的噪音、填充空值、丢失值和处理不一致数据
四:用图说话,(我还是习惯用统计图说话)
结尾:计算机领域存在一条鄙视链的 ---- 学java的鄙视学C++的,有vim的鄙视用IDE的等等。
数据清洗的路子:刚拿到的数据 ----> 和数据提供者讨论咨询 -----> 数据分析(借助可视化工具)发现脏数据 ---->清洗脏数据(借助MATLAB或者Java/C++语言) ----->再次统计分析(Excel的data analysis不错的,最大小值,中位数,众数,平均值,方差等等,以及散点图) -----> 再次发现脏数据或者与实验无关的数据(去除) ----->最后实验分析 ----> 社会实例验证 ---->结束。
④ 参加ACM大赛应该准备哪些课程
课程:
(1)基本算法: 二分,分治,贪心
(2) 离散数学离散数学动态规划
(3) 搜索算法:深度优先 搜索,广度优先搜A*算法 ,阿尔法贝塔剪枝
(4)数据结构:线段树, 树状数组,并查集,Trie图
(5)图论问题:最小生成树 最短路 强连通分量、桥和割点
(6)网络流算法:基本的网络流算法,Dinic算法,带上下界的网络流,最小费用流
(7)计算几何:线与线求交,线与面求交,求凸包,半平面求交等
(8) 离散数学,高等数学,线性代数,初等数论,计算几何
(9)计算机专业英语
(10)C++;基础的递归、枚举算法
1.参赛队伍最多由三名参赛队员组成。
2.竞赛中命题10题左右,试题描述为英文,比赛时间为5个小时,前四个小时可以实时看到排名,最后一小时封榜,无法看到排名。
3.竞赛可以使用的语言:Java, C, C++, Kotlin 和 Python。
4.重点考察选手的算法和程序设计能力,不考察实际工程中常用的系统编程,多线程编程等等;
5.选手可携带任何非电子类资料,包括书籍和打印出来的程序等,部分赛区会对选手携带的纸质资料做限制。
6.评委负责将结果(正确或出错的类型)通过网络尽快返回给选手,除此之外不提供任何额外帮助;
7.每个题目对应一种颜色的气球,通过该题目的队伍会得到对应颜色气球。每道题目第一支解决掉它的队还会额外获得一个“FIRST PROBLEM SOLVED”的气球。