编程逻辑中需要的数学 [英] Math needed in programming logics

查看:84
本文介绍了编程逻辑中需要的数学的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

构建编程逻辑经常需要哪种数学计算形式.请提出建议.

解决方案

这不是一个有效的问题,因为您需要的数学取决于在您可能要从事的领域上,有很大的不同.

数学并不是真正的计算.首先,这是一种语言.因此,它有不同的方面.您需要在代码中实际实现的是一回事.更广泛的方面是您如何交流.这是完全不同的事情.您可能需要找到一些原则上容易理解的算法,但是可能由于理解数学语言的困难而无法阅读实际的文献.您可以在论坛上提问,但是可能只是因为您使用非常模糊的非数学语言或滥用通常被理解为数学的术语而被误解了.

我将尝试列出我认为最重要或最有可能出现问题的内容.这几乎是最小的公共子集.

  • 绝对关键:小学数学,尤其是代数和几何.您需要能够证明定理并理解证明.
  • 非常重要:集合论.只是基础知识:主要概念和定义以及基本集合操作.您还需要了解形式逻辑,集合和按位运算(位集合等)之间的关系.
  • 经常需要使用:图论.通常仅是基本的基础知识,例如基本概念,定义,甚至仅是理解术语.
  • 经常需要,尤其是在使用图形时使用 :分析几何,线性代数.特别是,您需要了解变换矩阵和矩阵代数,坐标系,坐标系变换.
  • 高级数学水平上经常需要:复数理论复杂变量功能的元素.通常,只有基础.
  • 高级数学水平上经常需要:阶数理论(部分有序集) ;关系,关系代数的基础(在关系数据库的高级级别上最重要).
  • 微积分?基本上,每个工程师都应该知道它的基础知识,但在实际计算中,只有狭窄的研究和开发领域非常重要:解决数学模型问题,连续模型领域中的积分/微分方程.有趣的是,在不久的将来,世界上大多数软件开发人员都属于这种类型.但是现在…的开发人员增加了开发人员的数量……谁知道呢?……我想说,人们来回拖曳数据和图形……:-)
  • 需要某些特殊类别:离散数学的元素.在安全性,加密,海量数据传输,归档,数据流优化等方面尤为重要.出于某种原因,这是所谓的理论计算机科学的主要领域.我认为,这不仅是因为这是计算的最基本部分,而且还主要是因为许多其他领域对于纯严格的数学方法而言要困难得多.例如,多线程的实践已经开发了很多年,但是,例如,优化多线程算法的吞吐量的基本结果是相当适度的,因此大多数任务实际上是在直观/实验级别上解决的,这并不总是令人满意的.无论如何,如果您精简它的数学方面(需要非常高级的知识),则将来可能会获得竞争优势.或从未在您的工作中要求过这样的技能……:-(
好吧,这已经是一长串了;我可能忘记了一些东西;而我可能不熟悉其他一些东西.无论如何,我希望你能有一个主意,我建议一个原则:首先关注一个最基本的方面,尝试更深入而不是更宽;更好地了解,但更好;不要专注于学习更多的事实,专注于对思想的深刻理解;不要相信自己的直觉,尤其是刚开始时;确保您理解主题的唯一可靠方法只是一个:用自己的双手实现一些不平凡的事情.

祝你好运,
—SA


并不确定具体需要多少数学主题.
主要取决于应用程序的类型意味着应用程序要执行的操作.

意味着如果我做了计算器,那么我需要进行许多数学计算,但是如果我只进行了插入/更新/删除应用程序,则可能有可能我不需要使用任何数学计算.

因此无法预测,它始终取决于应用程序需求和功能类型. />
1.如果您在数据驱动的网站上工作,则所需的数学要求非常低.您可以取消基本的算术运算.

2.如果您在需要图形(如游戏)的桌面应用程序上工作,那么您所看到的只是数学.游戏都是关于数学的(calculate-check-render-calculate).

3.如果要根据域进行系统编程,则数学用法的程度将有所不同.

4.如果您正在从事某个研究项目,那么所需的数学程度将取决于领域,但我可以保证一定会广泛使用它.


Which type of mathethmatical calculation is frequently needed to build the programming logics.Kindly suggest.

解决方案

This is not a valid question, because the mathematics you need depends on the fields you may be working in, so very different.

Mathematics is not really calculations. First of all, this is a language. So, there are different aspects of it. What you need to actually implement in your code is one thing. Much wider aspect is how you communicate. This is a very different thing. You might need to find some algorithm which you could easily understand in principle, but you might have trouble reading the actual literature just because of trouble of understanding of mathematical language. You can ask a question on the forum, but it might be misunderstood just because your either use very vague non-mathematical language or misuse terminology which is commonly understood as mathematical.

I''ll try to list something which I think is the most important or most likely be a problem. This would be pretty much of a minimal common subset.

  • Absolutely critical: elementary school mathematics, especially algebra and geometry. You need to be able to proof theorems and understand the proofs.
  • Very important: set theory. Just the basics: main concepts and definitions and basic set operations. You also need to understand relationships between formal logic, sets and bitwise operations (bit sets, etc.).
  • Often needed: graph theory. Usually just rudimentary basics, such as basic notions, definitions, even understanding just terminology.
  • Very often needed, especially when you works with graphics: analytical geometry, linear algebra. In particular, you need to understand transform matrices and matrix algebra, coordinate systems, coordinate system transform.
  • Often needed on advanced mathematical level: the theory of complex numbers and elements of the functions of complex variable. Most often, only the basics.
  • Often needed on advanced mathematical level: theory of order (partially ordered sets); relationships, basics of relational algebra (mostly important on the advanced level of relational databases).
  • Calculus? Basically, every engineer is supposed to know the basics of it, but in practical computing it is very important is some narrow fields of research and development: solving problems of mathematical modeling, integral/differential equations in the worlds of continual models. Interestingly, in near past most of the software developers in the world were of this kind; but now the number of developers boosted by the developers of… who knows what?… I would say, people shuffling data and graphics back and forth… :-)
  • Needed for some special category of developers: elements of discreet mathematics. It is especially important in security, encryption, massive data transfer, archiving, optimization of data flow, etc. By some reason, this is a main domain of so called theoretical computer science. I think, not just because this is the most fundamental part of computing, but mostly because many other fields are much more difficult for pure and strict mathematical approach. For example, the practice of multithreading is being developed many years, but fundamental results on, say, optimization of the throughput of the multithreading algorithms are pretty modest, so most tasks are practically solved on intuitive/experimental level, which is not always satisfactory. Anyway, if you lean mathematical aspects of it, which require very advanced level, you may get a competitive edge in future. Or never had such skills requested in your work… :-(
Well, this is already a long list; I could have forgotten some items; and I might be unfamiliar with some other. Anyway, I hope you can get an idea. I would advise one principle: focus one the most fundamental aspects first, try to go in depth rather then in width; better know less but better; don''t focus on learning more facts, focus on deep understanding of the ideas; don''t trust your intuition, especially at first; the only reliable way to make sure you understand the topic is only one: implement something non-trivial with your own hands.

Good luck,
—SA


it not specific that particular this mathematics topic are mostly required.
mostly its depend on what type of your application means what you application do.

means if i made calculator then i need to make many mathematical calculation, but if i made only insert/update/delete application then it might possible that i need not to use any mathematical calculation.

so it can''t be predicted, it always depend on application requirement and type of functionality.


This question is very abstract but let me try to give you a small description here:

1. If you are working on data driven websites than the math required is very minimum. You can do away with the basic arithmetic operations.

2. If you working on desktop applications that requires graphics(like games) then all you see is maths. games are all about maths (calculate-check-render-calculate).

3. If you want to get into system programming them depending on the domain the degree of math usage will vary.

4. If you are working on some research project then the degree of math required will depend on the domain but i can guarantee that it will be used extensively.


这篇关于编程逻辑中需要的数学的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆