Tengo muchas ganas de ser programador

Iniciado por eimattz, 9 Abril 2017, 11:39 AM

0 Miembros y 2 Visitantes están viendo este tema.

eimattz

Hace ya mucho tiempo que me gusta esto, pero todas las veces que me quise iniciar, no supe por donde empezar... tengo ideas, muchas ideas pero busco la manera de plasmarlo y no se que es lo que tengo que aprender. Por ejemplo veo en todos lados que los unicos ejemplos que dan son puras matematicas, nunca vi otro tipo de ejemplo, veo puras i; i++ y no entiendo eso. Se leer codigo en parte, se MODIFICAR, pero no tengo idea de como empezar un nuevo proyecto. Tampoco vi un tema o post que te enseñe a como PENSAR para poder programar... mucha gente que es y fue autodidacta, por donde empieza?
Por ejemplo te muestran como ir armando un programa que basicamente te lo arman ellos, vos no tenes que hacer nada... hasta ahi todo bien, entendes todo, pero cuando queres armar uno de 0, como carajos haces si no te enseñan como pensar. Bueno eso es lo que no me permite avanzar, espero que me puedan ayudar. Agradezco a todas las personas que ayudan a poder empezar en este mundo, de verdad se aprecia mucho. Gracias.

engel lex

lo primero es entender seriamente la algoritmia, es decir saber plantearte los pasos a seguir, por ejemplo

hacer una calculadora en consola:
-mostrar menu
-leer opcion
-ir a la operación
-pedir valor 1
-pedir valor 2
-calcular resultado
-mostrar resultado

ya sabes en general los pasos... ahora lo primero, para empezar a escribir el programa es... que librerías necesito?
- necesito mostrar datos en pantalla eso es iostream
- no necesito hacer nada más especial
- no quiero escribir std:: por todos lados, así que debo usar el espacio de nombre std
- main es obligatorio

ok, vamos a armar lo inicial

Código (cpp) [Seleccionar]
#define <iostream>

using namespace std;

int main(){

  return 0;
}


ahora... voy a hacer el menu de opciones


Código (cpp) [Seleccionar]
#define <iostream>

using namespace std;

int main(){

  /***********MENU************/

 
  char opcion;
 
  cout << "por favor escoja una operacion: + - * /" << endl;
  cin >> opcion

  switch(opcion){
    case '+':
      break;
    case '-':
      break;
    case '*':
      break;
    case '/':
      break;
    default:
      cout << "Operacion no valida, adios!" << endl;
      break;
  }
  return 0;
}


ahora, quiero hacer todo dentro de los breaks o armar funciones?

y ya debes haber entendido la idea....

si revisas ese programa tal ves tenga un error, es normal que cometas errores basicos al armar código

la cosa es ir programando, empieza por cosas simples y ve subiendo el nivel,así es como los que aprendimos lo hicimos

tema movido a dudas generales
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

Randomize

Me gustaría estar ahora mismo en el año 2004 y haber leído ésto...


Toy ya mayor yo hasta para el put* wow.


eimattz ...

Qué no te tumben las ganas, ni nada, ni nadie y si necesitas un mal chiste usa el IM ¿OK?

Un saludo.

Soy_El_Misterioso

Eimattz mira cursos de programacion, empieza por lenguaje de programacion de estilo (así es como yo lo llamo, sirve para crear paginas web) o de programacion. Empieza por estilo, si ves que te gusta sigue con ese, y si no te convence, prueba con lenguaje de programacion. No entiendo bien tu pregunta, ¿Dices que no sabes por donde empezar? Pues estudia, prueba las cosas y ya sabrás.  :silbar:
Mis dos futuras paginas web:


El rey de los videojuegos:


Aprendiz de Hacker:

Randomize

eimattz...


¿Qué conejo es el que vuela más alto?



Pasa de éste de arriba, dice que me conoce (si eso fuera cierto se iba del foro jejeje).



Soy_El_Misterioso

Randomize, en serio, al veces no te entiendo, y puede que si te conozca, o puede que no... pero bueno en cuanto a ti eimattz, prueba las cosas y ya sabrás.  :silbar:
Mis dos futuras paginas web:


El rey de los videojuegos:


Aprendiz de Hacker:

Orubatosu

Básicamente lo que necesitas es aprender a "desmenuzar" problemas, practicando idealmente con diagramas de flujo.

Todo proceso sigue una serie de pasos, debes aprender simplemente a descomponer problemas grandes en problemas pequeños, y estos en muy sencillo. Luego es simplemente programar esos pequeños, y juntarlo

Bueno, ojala fuera tan sencillo, pero básicamente es eso.

Vamos, que lo que tienes que aprender es a hacer algoritmos

https://es.wikipedia.org/wiki/Algoritmo

Empieza por los simples, y a partir de ahi los mas complejos. Los programas reales suelen tener literalmente centenares o miles de ellos. Algunos los creas tu, otros los tienes "ya hechos"
"When People called me freak, i close my eyes and laughed, because they are blinded to happiness"
Hideto Matsumoto 1964-1998

RevolucionVegana

Cita de: Orubatosu en  9 Abril 2017, 21:03 PM
Básicamente lo que necesitas es aprender a "desmenuzar" problemas, practicando idealmente con diagramas de flujo.


Exactísimo, eso es, y la verdadera potencia yo me he dado cuenta en tanto tiempo queriendo programar y haces cosas útiles cuando utilizas APIs y librerías.
HAS DICHO ALGO NENAAAAAA?!

Serapis

Efectivamente... cuando dicen que te enseñan a programar, lo que en verdad hacen (si lo logran) es enseñarte a usar un lenguaje y/o el IDE (el programa con el que escribes el código). Aprender a programar, es por encima de eso, aprender a generar los pasos que debes seguir para realizar determinada tarea. La mayor parte de tareas (habituales) tienen solución, para otras debe uno conformarse con aproximaciones.

A esto último, se le ha llamado siempre "saber pensar", y la forma en que se accede a eso es usando la lógica, el razonamiento puro y duro. Es muy bueno para ello conocer la lógica matemática, aplicado al ámbito informático es la lógica buleana.

Ahora bien, el problema está en que para descomponer un problema en piezas, primero debes saber qué piezas puedes tienes disponibles para usar, para descomponerlo en ellas. Es decir si no sabes que piezas existen, quizás estén dando solución con piezas inexistentes, por lo que no resolverás el problema sin antes crear también esas 'nuevas' piezas. Imagina un mecánico... para diseñar un motor, debe conocer antes las piezas mecánicas existentes, para que pueda decir, aquí pongo un engranaje, y allá un eje que comunica con ese engranaje y luego una cadena, etc... 'eje', 'cadena', 'engranaje'... son piezas que ya existen y conoce y entonces puede diseñar algo nuevo con 'viejas' piezas (piezas conocidas).

Por ello, debes conocer primero las bases, el fundamento (igual que un edificio, se empieza creando sus cimientos) ... conocer las piezas existentes en la actualidad:
- Las matemáticas básicas: cosas como las bases numéricas, números enteros reales con y sin signo, complemento a dos... la lógica buleana (que lo conocerás de niño como los disgramas de Venn)
- Introducción a la informática (las piezas básicas elementales): los tipos de datos, las estructuras de datos,  los bucles los condicionales y las llamadas a metodos (que son el control del flujo)...
Todo esto es común a todos los lenguajes, ... es por aquí por donde debes empezar, incluso aunque no entiendas ningún lenguaje de programación.

"los diagrama de flujo"... eso más adelante, cuando ya entiendas todo lo básico que te he dicho, es imposible  conocer como funciona algo complejo, si no sabes como funcionan sus piezas elementales. Un diagrama de flujo, es ver conjunto completo, y para entenderlo, primero debes entende rlas piezas pequeñas de que se compone...

Una vez tengas esto claro, puedes elegir algún que otro lenguaje de programación y es entonces cuando empezarás a poder aplicar todo esto que hasta ahora era teoría. A medida que todo eso vaya sucediendo (que tú lo vayas entendiendo), tu mente se irá aclarando en ordenar las cosas y finalmente podrás llegar a saber descomponer un problema en los pasos necesarios.

Pero en fin, saber pensar no es algo que se enseña es algo que se aprende, es algo innato a veces y algo que uno adquiere en otras... pero nadie puede enseñarte a pensar por tí mismo. Si tu mente es inquieta ella misma te sugerirá soluciones qye luego tu debes trasnformar, modificar, alterar (o no), para convertirlo en un programa, una librería, un algoritmo...

Ayuda mucho leer muchos libros. Lee, estudia, piensa, piensa estudia y lee... es un ciclo sin fin. No te conformes con estudiar un lenguaje y ya creerte que lo sabes todo (la pasa a a muchos). Después de 40 años, verás que no has dejado de aprender contínuamente y que la informática es inabarcable, por que trata de 'dominar al mundo', que como sabes también es inabarcable...

eimattz

muchas gracias a todos los que respondieron, estoy empezando de a poco con diagramas de flujo, especificamente este:



hasta ahora arme esto:

#include <iostream>
#include <stdio.h>

using namespace std;

int main()
{
 float nota1, nota2, nota3, promedio, resultado;
 
 cout << "Ponga su primer nota:" << endl;
 cin >> nota1;
 
 cout << "Ponga su segunda nota:" << endl;
 cin >> nota2;
 
 cout << "Ponga su tercera nota:" << endl;
 cin >> nota3;
 
 promedio = nota1+nota2+nota3;
 resultado = promedio/3;
 
 
 cout << "Su promedio final es %s" << resultado << endl;
 
 return 0;
 
}


pero el netbeans no me compila... en que estoy fallando?