Las matemáticas y la programación tienen una relación algo incomprendida. Mucha gente piensa que tienes que ser bueno en matemáticas o sacar buenas notas en la clase de matemáticas antes de que puedas comenzar a aprender programación. Pero, ¿cuántas matemáticas necesita saber una persona para programar?
No tanto en realidad. Este artículo entrará en detalles sobre los tipos de matemática que debe conocer para programar. Probablemente ya lo sepas.
Para la programación general, debe saber lo siguiente:
- Suma, resta, división y multiplicación : y realmente, la computadora hará la suma, resta, división y multiplicación por ti de todos modos. Solo tiene que saber cuándo necesita hacer estas operaciones.
- Mod : la operación de modificación es el “resto” y su signo suele ser el signo de porcentaje. Entonces 23 dividido entre 7 es 3 con un resto de 2. Pero 23 mod 7 es 2.
- El truco de la prueba de modificación par / impar : si desea saber si un número es impar o par, modifíquelo en 2. Si el resultado es 0, el número es par. Si el resultado es 1, el número es impar. 23 mod 2 es 1, entonces sabes que 23 es impar. 24 mod 2 es 0, entonces sabes que 24 es par. Si x mod 2 es 0, sabe que cualquier número almacenado en la variable x es par.
- Para obtener un porcentaje de un número , multiplique ese número por el número de porcentaje con el punto decimal delante. Entonces, para obtener el 54% de 279, múltiples 0.54 * 279. Es por eso que 1.0 a menudo significa 100% y 0.0 significa 0%.
- Sepa qué son los números negativos . Un número negativo multiplicado por un número negativo es positivo. Un negativo multiplicado por un positivo es negativo. Eso es todo.
- Sepa qué es un sistema de coordenadas cartesianas . En programación, el origen (0, 0) es la esquina superior izquierda de la pantalla o ventana, y el eje Y aumenta al descender.
- Conozca el teorema de Pitágoras , y que puede usarse para encontrar la distancia entre dos puntos en un sistema de coordenadas cartesianas. El teorema de Pitágoras es a ^ 2 + b ^ 2 = c ^ 2. Lo que esto generalmente significa en la programación es que la distancia entre las coordenadas (x1, y1) y (x2, y2) solo será sqrt ((x1 – x2) ^ 2 + (y1 – y2) ^ 2).
- Sepa qué son los sistemas de numeración decimal, binario y hexadecimal. Los números decimales son los números a los que estamos acostumbrados que tienen diez dígitos: 0 a 9. Se cree comúnmente que los humanos desarrollan este sistema porque tenemos diez dedos y contamos con nuestros dedos.
Las computadoras funcionan con datos binarios, que es un sistema de números con solo dos dígitos: 0 y 1. Esto se debe a que construimos computadoras con componentes electrónicos donde es más barato hacer que solo reconozcan dos estados diferentes (un estado representa 0 y el otro para representar 1).
- Decimos que [matemática] \ Psi (x_1, x_2) = \ psi_ {a} (x_1) \ psi_ {b} (x_2) [/ math]. ¿Cuál es la operación entre [matemáticas] \ psi_ {a} (x_1) [/ matemáticas] y [matemáticas] \ psi_ {b} (x_2) [/ matemáticas]? ¿Es el producto tensor, [matemática] \ psi_ {a} (x_1) \ otimes [/ matemática] [matemática] \ psi_ {b} [/ matemática] [matemática] (x_2)? [/ Matemática]
- ¿Qué es [math] \ log _ {- 2} 4 [/ math]? ¿Es 2 porque [matemáticas] (- 2) ^ 2 = 4 [/ matemáticas], o es [matemáticas] \ frac {\ ln 4} {\ ln 2 + i \ pi} [/ matemáticas], debido al logaritmo propiedades?
- ¿Es posible que el lenguaje y la notación de nuestro sistema matemático se hayan desarrollado de manera completamente diferente, resultando en hacer que los conceptos difíciles sean más intuitivos y fáciles de resolver?
- ¿Puedo hacer ciencia sin matemáticas?
- Mi profesor de matemáticas no enseña bien. ¿Qué debo hacer para obtener las calificaciones adecuadas?
Los números siguen siendo exactamente los mismos, pero están escritos de manera diferente porque hay un número diferente de dígitos en cada sistema. Como el hex tiene 6 dígitos más de los que pueden proporcionar los números 0-9, usamos las letras de la A a la F para los dígitos anteriores a 9. La forma más fácil de mostrar estos sistemas de números es con un odómetro. Los siguientes tres odómetros siempre muestran el mismo número , pero están escritos de manera diferente en diferentes sistemas de números:
Ni siquiera tiene que saber las matemáticas de convertir un número de un sistema de números a otro. Cada lenguaje de programación tiene funciones que pueden hacer esto por usted.
(En una nota al margen, el hexadecimal se usa porque un dígito hexadecimal puede representar exactamente cuatro dígitos binarios. Por lo tanto, dado que 3 en hexadecimal representa 0011 en binario y A en hexadecimal representa 1010. Esto tiene el bonito efecto de que el número hexadecimal 3A (que es 58 en decimal) está escrito en binario como 00111010. El hexadecimal se usa en programación porque es una abreviatura de binario. A nadie le gusta escribir todos esos y ceros).
Y eso es todo. Además de las cosas del sistema de números, probablemente ya sabía todas las matemáticas que necesitaba saber para programar. A pesar de la concepción popular, las matemáticas no se usan mucho en programación. Necesitaría saber matemáticas para escribir programas que, por ejemplo, simuladores de terremotos. Pero se trata más de la necesidad de saber matemáticas para terremotos que de saber matemáticas para programar un simulador de terremotos.
Matemática avanzada en algunas áreas de programación
Hay algunas áreas de programación en las que se pueden necesitar algunos conocimientos matemáticos adicionales (pero para el 95% del software que escribirá, no necesita saberlo).
Juegos en 3D y gráficos en 3D : las cosas en 3D generalmente implicarán conocer la trigonometría y el álgebra lineal (es decir, las matemáticas que tratan con matrices). Por supuesto, hay muchas bibliotecas de gráficos 3D que implementan toda esta programación matemática para usted, por lo que no necesita saber las matemáticas.
Física 2D (como Angry Birds) y física 3D (como muchos juegos populares en 3D) : para hacer una programación que involucre física, necesitará aprender algunas ecuaciones y fórmulas físicas (específicamente mecánica, que es el tipo de física con resortes, gravedad, y bolas rodando por planos inclinados.) Sin embargo, hay varios motores de física y bibliotecas de software que implementan estas cosas para usted, por lo que realmente no necesita conocer las ecuaciones de física para hacer un juego como Angry Birds.
Criptografía : y realmente, por criptografía, me refiero a RSA. En ese caso, tendrías que aprender algunas matemáticas sobre cómo funcionan los números primos y cómo hacer el mayor divisor común (que es un algoritmo muy simple, aunque muchos lenguajes de programación tienen la función gcd () que hace esto por ti). Otro cifrado los cifrados son principalmente datos móviles en pasos específicos. Por ejemplo, esta animación Flash muestra los pasos en el cifrado AES “Rijndael”. Básicamente, todos los pasos son sustituir números por otros números, cambiar filas de números, mezclar columnas de números y hacer sumas básicas con números.
Y eso es solo si desea escribir sus propios cifrados de cifrado (lo cual no debe hacer, porque ya hay muchos buenos y sin experiencia, su cifrado probablemente será malo y se descifrará fácilmente). Si solo desea escribir un programa que cifra datos, ya hay bibliotecas de software que implementan funciones de cifrado y descifrado.
Entonces, incluso para las situaciones anteriores, no necesita saber las matemáticas para hacer programas con gráficos 3D, física o cifrado. Solo aprende a usar las bibliotecas