¿Qué es un buen programa de computadora para aprender para un principiante?

Entonces, dijiste que eres un “principiante extremo”, así que escribiré esto de una manera que cualquiera sea tu nivel (al que podría llamarse así), debería ser al menos un poco útil para ti. En la respuesta de Matt Maufe a ¿Cómo me convierto en un autodidacta para aprender a programar? En esta respuesta, describo rápidamente cómo comenzar a aprender, pero más importante para usted, los pasos clave a seguir antes de poder realizar un programa significativo. Si aún no ha aprendido cosas de allí (arreglos 1D, IO básico, bucles y declaraciones if, etc.), realmente no puede hacer un proyecto todavía (no sin buscarlo como necesite, pero al menos esto te da una idea de lo que es posible).

Si ya has aprendido todo eso, ¡salta por debajo de los garabatos!

Si quieres un programa primero ligeramente más simple (que el paso 1), prueba FizzBuzz: Para cada número de 0 a 100, imprime “Fizz” si es divisible por 3, “Buzz” si es divisible por 5, y “FizzBuzz” si es divisible por ambos.

~~~~~~~~~~~

Personalmente, soy un fan de los chatbots! Sobre todo porque la mecánica subyacente es simple, y hay una amplia gama de ellos en términos de capacidad.

De lo más fácil a lo más difícil:

  1. Comenzando: toma la entrada del usuario, la agrega a una lista de cadenas que conoce e imprime una cadena aleatoria de la lista. Los datos no se conservan entre sesiones (después de cada sesión se olvida de todo lo que aprendió), y la conversación nunca tiene sentido, pero es divertida.

    Necesitará conocer el IO básico (entrada de texto del usuario, impresión en pantalla), cómo escribir un bucle infinito y alguna forma de estructura de datos dinámica (por ejemplo, una lista de Python, Java ArrayList, C ++ Vector, etc.)

  2. Principiante: Más o menos lo mismo, pero esta vez, tiene dos estructuras (digamos que usó una Lista de Python). Uno llamado “Saludos”, uno llamado “Principal”.

    Aquí, solo en su primera salida del chatbot, usted genera un elemento aleatorio de Greetings y la primera entrada del usuario (que también debe ser un saludo, de acuerdo con la forma en que funcionan las conversaciones) se almacena aquí.

    Después de esto, ingresa al bucle infinito y las respuestas se toman de / se agregan a Main . Así que ahora tiene un poco más de sentido! Necesitarás el conocimiento de las declaraciones If.

  3. De acuerdo, ¡tener al menos una respuesta normal es genial! ¿Qué tal si tenemos más de ellos? Podemos hacer esto a través de un Diccionario (Python) o un Mapa. Un Diccionario / Mapa (digamos Diccionario, estoy usando la sintaxis de Pythonic) es básicamente dos arreglos, con un enlace entre cada elemento en uno (la clave) a otro elemento en el otro (valor A).

    Intentemos tenerlo para que siempre que le digas al chatbot (¡no hagas esto en Greetings!) “ADDING PAIR”, te espera dos entradas más, una clave y un valor. Éstos se almacenan en el diccionario, y puede hacerlo (a través de una serie de declaraciones If) de modo que cada vez que ingrese el valor clave , el chatbot responderá con el valor asociado. Por ejemplo, imaginemos que usé “¿Cómo estás?” Como la clave y “¡Bien, gracias!” Como el valor.

    Siempre que pregunte cómo es, responderá “¡Bien, gracias!”.

    Después de agregar el par, se reanuda la actividad normal.

    Como puede ver, básicamente estamos avanzando hacia una conversación menos aleatoria y más humana.

    Para ello, deberás conocer los conceptos básicos de los diccionarios. Lo que describí brevemente más arriba no es suficiente, y se usan en muchas cosas.

    Nota: Como es probable que dedique algún tiempo a hacer algunas respuestas agradables, como bono, asegúrese de que si escribe “IMPRIMIR”, imprima los diccionarios en su estado actual, para que pueda guardarlos. También haz que imprima los saludos / listas principales si lo deseas.

  4. Bien, ahora tenemos los bloques de construcción para hacer que (lenta, pero seguramente) actúe razonablemente humano. … Para una sesión. Entonces su amnesia a largo plazo entra en acción.

    Así que perdemos todo ese trabajo duro, ¿verdad? (Si no hiciste la bonificación) Eso apesta.

    A menos que persista nuestros datos! La forma más sencilla de hacer esto es volcar cada Lista / Diccionario en un archivo de texto separado en su computadora, y luego leerlos nuevamente. Para hacer esto, podemos usar “Pickle” 11.1. pickle – serialización de objetos Python – documentación de Python v3.1.5

    Este bit implica un autoestudio, y necesitarás saber cómo leer documentos de Python y agregar una biblioteca, pero no es realmente difícil si puedes llegar tan lejos.

    Cada vez que diga “SALIR”, debe volcar su memoria a corto plazo en archivos de texto y leerlos al comienzo del próximo programa, o usar valores predeterminados si no existen.

    Más adelante, usaría una base de datos (lo más probable es que NoSQL o SQL) los almacene de una manera más estructurada e interesante en un servidor (varios usuarios pueden hablar con el mismo chatbot y aprender de todos ellos), pero para Ahora, esto funciona mejor.

  5. Esto es todo lo que he llegado (Paso 4 completo), realmente. ¡Pero sus próximos pasos (autoguiados) son aprender acerca de las bases de datos, las cadenas de Markov y demás, para hacerlo aún mejor!

    ¡Disfrutar!

Parece que no puedo entender “programa de computadora”. Si se está refiriendo al lenguaje de programación, le sugiero que comience primero con los términos y conceptos básicos (es decir, tipos de datos, operadores lógicos, operadores aritméticos, estructuras de datos, manejo de datos, patrones de diseño, etc.).

Una vez que tenga una buena comprensión de esos conceptos, el resto seguirá. Créeme, realmente no importa con qué lenguaje de programación empieces, todos tienen la misma idea. La diferencia es la sintaxis y su enfoque para resolver.

Pero si te refieres al “programa de computadora” como software o IDE, sugiero que primero trabajes en la programación con lápiz y papel hasta que entiendas completamente cómo funciona la codificación / programación. Es lo mismo que tratar de aprender a volar un avión. No te subes al avión inmediatamente, sino que empiezas con la escuela de tierra. ¡Espero que esto ayude!

Comience con Scratch: Imagine, Program, Share, le enseñará los conceptos básicos sobre lógica y algoritmos. Después de eso mueva a un lenguaje moderno, como R o Python. Intenta hacer cosas que te parezcan interesantes y divertidas. Buena suerte 😉

El mejor programa de computadora , el que te enseñará mucho más de lo que sabes, el que será tu peldaño, es el siguiente .

No importa lo que sabes y lo que no. Cuantos más programas juegues, más te ayudará. Incluso Mark Zuckerberg no era un “programador” hasta que escribió su primer programa “hola mundo”.

Ahora, ya que hemos terminado con la respuesta cursi , si está buscando conceptos para la programación, todo lo que tiene que hacer es mirar. Míralo y mira lo que te parezca interesante. Mi concepto favorito es la recursión y solo lo aprendí implementándolo.

Colecciones, APIs y bibliotecas, gráficos y genéricos son también conceptos bastante divertidos. Entonces, encuentra el que más te guste y comienza.

Buena suerte y gracias por hacer esta pregunta! ☺️

Recomiendo mucho Code.org: cualquiera puede aprender a estudiar la programación desde el principio. La mejor parte es que puede comenzar y no tener que preocuparse por qué idioma usar o cómo funciona.

No es otro que el programa hola mundo.

Cada lenguaje de programación tendrá su primer programa como solo hola mundo.

Es un muy buen programa de computadora.