No pude escribir el programa Fibonacci. ¿Cómo puedo desarrollar mis habilidades matemáticas?

Dependiendo de si desea hacer programación + matemáticas, aquí hay algunas cosas que debe buscar.

Los matemáticos tienden a buscar pruebas / existencia, en lugar de eficiencia computacional. Es mejor mirar las matemáticas desde la perspectiva de un programador.

1. REXX hace bignum sin problemas. Pero tienes que escribir tu propia raíz cuadrada, seno, cos, etc. Sin embargo, funciona en muchas plataformas. Regina REXX es un buen comienzo.

2. AAT es un libro web descargable sobre algoritmos en REXX, con código y comentario de cortar y pegar. Es muy bueno y muy recomendado.

3. RXMATH hace la mayoría de las cosas matemáticas pesadas para ti de todos modos.

4. Puede escribir su propia calculadora REXX, agregarle las funciones que desee y definirla como desee. Por ejemplo, mi rutina PI () maneja cosas como 4 pi ^ 2 como PI (4,2). Puede tener, por ejemplo, PI (2) para 2pi o simplemente pi () también.

5. OS / 2 tiene un buen soporte REXX, y se puede encontrar mucha buena literatura en los sitios OS / 2, incluso si ya no usa OS / 2.

Puede buscar libros sobre algoritmos, como ‘Algoritmos numéricos en C’, o “Art of Computer Programming” de Donald Knuth (un tomo matemático pesado).

UBASIC hace muchas cosas rápidas y pesadas, y puedes escribir programas en REXX que crean y ejecutan programas UBASIC.

FACTOR es un buen programa si solo quieres ver los factores. Aparentemente puedes encontrar su código fuente en http://shumas.ie o algo así.

No pude escribir el programa Fibonacci. ¿Cómo puedo desarrollar mis habilidades matemáticas?

No porque no tenga habilidades de programación, sino porque no pude rastrear el pensamiento correcto del flujo del programa.

No estoy seguro de cómo decirte esto, pero ser capaz de rastrear el pensamiento adecuado del flujo del programa es una habilidad de programación, quizás la más importante.

Primero, piense en lo que hace su programa. No estoy seguro de qué es “el programa Fibonacci”. ¿Es uno que, dado un número n, te da el enésimo número de Fibonacci? ¿O un programa que imprime números de Fibonacci? ¿Cuántos? ¿Alguna vez se detiene?

Una vez que lo haya logrado, veamos los primeros números de la secuencia:

1 1 2 3 5 8 13

¿Cómo sabes qué número viene después?

¿Podría decirme qué número viene después si le oculto los primeros tres números de la lista?

¿Cuánta información necesita conservar antes de poder decirme qué sigue?

Parece que las dos únicas piezas de información que necesita en este momento para obtener el siguiente número son

8 13

El siguiente número será 21. Para obtener el número después de eso, las únicas dos piezas de información que necesitará son

13 21

¿Cómo se pasa de tener los dos valores 8 y 13 a tener los dos valores 13 y 21? ¿Cuántas veces tienes que repetir este ciclo para hacer lo que tu programa se propuso hacer? ¿Hay valores no válidos? (Por ejemplo, si se supone que debes imprimir el enésimo número de Fibonacci, ¿qué pasa si alguien te dio n = -3?) ¿Se trata de números grandes correctamente (los números aquí crecen exponencialmente)?

No necesitas entender muchas matemáticas para producir una secuencia de fibonacci …

Es más de ustedes que carecen de pensamiento de programación …

La secuencia es la siguiente: 1 1 2 3 5 8 13…. así que es la suma de los últimos 2 números …

Repasemos la lógica, tiene un contador para el ciclo “for”, dentro necesita algunos objetos de valor:

Centrarse en los primeros 3 números 1,1,2

temp1 = 1

temp2 = 1

temp3 = temp1 + temp2

* / temp3 suma de los objetos de valor.

luego cambia su enfoque un número a la derecha, es decir, 1,2,3 / *

temp1 = temp2

temp2 = temp3

* / Repite hasta que alcances el número que deseas.


¡Eso es básicamente toda la lógica matemática que necesitas! Estructura tu código de una manera que tenga sentido, puedes usar la recursividad si lo deseas.

No te preocupes Has comenzado a pensar en mejorar … Así que has completado el primer paso. Puedes seguir el libro “Matemática discreta y sus aplicaciones” de Rosen. No solo es útil para su programa de Fibonacci, sino también para otros conceptos matemáticos muy importantes relacionados con la programación. Espero eso ayude. Gracias.

serie de fibonacci

0, 1, 1, 2, 3, 5, 8, 13, 21 …..n

La serie Fibonaaci comienza con 0 y seguido de 1 y el siguiente número se genera al agregar el número anterior.

#include
int main () {
int primero = 0,
segundo = 1,
next_num = 0;

int i = 0,
n = 10;

para (i = 0; i

printf (“% d \ t”, siguiente_num);
primero = segundo;
segundo = next_num;
next_num = primero + segundo;

}

devuelve 0;
}

More Interesting

Si tengo una prueba potencial de que P = NP, ¿con quién puedo compartirla para que no me juzguen?

¿Qué estructura de datos se usa para calcular enteros muy largos, por ejemplo, el número primo más grande?

¿Cómo puede haber una clase de una clase de objetos en la teoría de conjuntos?

¿Cómo se puede encontrar el número de iteraciones requeridas para la integración usando la regla de Simpson para una precisión dada?

Cómo aprender la optimización matemática para el aprendizaje automático y el aprendizaje profundo

¿Para qué se usan los cierres de relaciones binarias (teoría de conjuntos)?

¿Por qué es tan difícil encontrar documentaciones útiles y completas sobre métodos criptográficos en Internet?

¿Cómo han afectado los métodos numéricos y la potencia informática en bruto a las matemáticas puras y la física teórica?

Cómo mostrar que para cada número entero n, n> 0, el número entero (9 ^ n) -1 es divisible por 8

Criptografía: ¿Cómo explicaría el encadenamiento de hash para evitar la técnica de colisiones de hash?

¿Qué problemas originalmente se pensaban que solo podían resolverse con una computadora pero luego tenían una prueba de papel y lápiz?

¿Cuáles son algunas propiedades interesantes de una caminata aleatoria en un gráfico?

¿Cuál sería la relación más efectiva entre las matemáticas y la programación en educación?

¿Cuáles son las áreas más activas de investigación en matemática computacional?

¿Por qué necesitamos saber cálculo en informática?