Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
  • 0
JackReacher

¿Cómo resuelven los problemas de algoritmo?

Question

Buenas gente,

Tengo una consulta en especial para los que ya tienen algunos años de experiencia. No importa el lenguaje en el que sean buenos.

Se dice que los desarrolladores y los ing. de software resuelven problemas.

En mi caso estoy recien aprendiendo a programar y me está costando bastante aún desarrollar la lógica, quizas también ahora que lo pienso me está costando abstraer el problema en sí.

Veo que varios libros además de explicar el código, agregan diagramas de flujo, o diagramas Nassi-Scheiderman o incluso pseudo-código.

Ultimamente algunos cursos se ayudan de pse-int. Particularmente no me hallo con pse-int. Por más que lo intenté, no me gustó.

La pregunta es: a todos los que ya se consideran semi-senior o senior y tienen varios años desarrollando, cada vez que tienen que resolver los problemas para luego codificarlos, se ayudan con diagramas? grafican sus algoritmos, usan pseudo-código? Lo escriben en papel? Se usan los diagramas a nivel laboral cuando desarrollan día a día?

Lo que quiero es que me comenten sus experiencias para ver si copiándola y poniéndo en práctica lo que ustedes hicieron, logro de una vez por todas vencer la resistencia en mi cabeza y aprender a programar. Fijensé que no estoy buscando casarme con un lenguaje en particular, sino aprender a resolver el problema utilizando la lógica. No encuentro el método de ir del problema a la solución.

Y eso que en casa me doy maña para arreglar cualquier problema, sea eléctrico, sanitario, mecánico o de albañilería. Creo que una vez que venza eso lograré ver la luz para desarrollar cualquier cosa :pepechu: 

Share this post


Link to post
Share on other sites

Recommended Posts

  • 0
Posted (edited)
hace 13 horas, AndryS7 dijo:

He escuchado lo mismo respecto a estructuras de datos, el próximo semestre tengo esa materia, tal vez ¿me podrías recomendar algún curso para ir preparado? de ante mano gracias.

Existe un curso de platzi, openwebinars, Udemy no se si están aquí en el foro.

Edited by juliocesar2018

Share this post


Link to post
Share on other sites
  • 0

 

On 2/7/2020 at 18:29, juliocesar2018 dijo:

No es lo mismo estructuras de datos, que el paradigma de programación estructurada. Ademas todos nos frustramos con estructura de datos, ahí es donde realmente se templa si sirves o no para programar, es la prueba de fuego en las universidades.

Es RUP.

jajajaja es la clara muestra de mi desconocimento XD 

Share this post


Link to post
Share on other sites
  • 0
Author of the topic Posted
hace 1 hora, Guille dijo:

Hola. Lo que suelo hacer para resolver un problema es leerlo muchas veces hasta entenderlo lo mejor posible de forma que sea casi obvio las funciones/métodos y abstracciones que voy a necesitar. Las voy anotando a veces sin un orden en específico sino más bien según me voy dando cuenta en cada lectura.

Luego trato de organizar lo que anoto y al hacerlo surgen o dudas o me doy cuenta que tengo que agregar algo. Básicamente armó algo como un psedocodigo resaltando las partes en que voy a dividir la solución y anotando que estructura de datos me parece la más adecuada o si tengo que aplicar algun algoritmo/técnica que ya empleé en otro problema voy y lo miro.

A veces simplemente me pongo a escribir código según me parezca que el problema no es muy difícil o tengo claro como solucionarlo porque se parece a otro que ya resolví. Pero lo mejor es siempre ir anotando ideas y entender exactamente qué es lo que te piden, en general esto lleva a descartar muchos supuestos que llevan a errores(suponer que un array vendrá ordenado porque en un ejemplo lo muestran así o en la solución que se te ocurrió es una condición necesaria etc.)

Con práctica constante y leyendo código de libros o de amigos/colegas/compañeros uno  puede aprender muchísimo y en algún momento todo se vuelve más natural. 

Espero que en algo te ayude mi experiencia y a no bajar los brazos. Saludos!

Gracias por tu explicación. Me lo llevo :cooldoge:

Share this post


Link to post
Share on other sites
  • 0

Al inicio intenta resolver pequeños problemas, ten en mente siempre el concepto básico de un algoritmo independiente de representación de la solución, veras que con el paso del tiempo y  la practica iras entendiendo conceptos mas complejos,  así tu nivel de abstracción estará listo para ir entendiendo otros. 

Share this post


Link to post
Share on other sites
  • 0
hace 6 horas, Dark1ng dijo:

@Β JackReacher Sólo te diré 3 cosas.

1.- Lee detenidamente el enunciado (problema).

2.- Extrae cosas importantes, los problemas serán parecidos a los de la vida real, entonces tendrás que pensar según tus experiencias en tu entorno.

3.- Crea tu estilo de programar. (No importa si al principio lo haces en hoja, diagramas de flujo,etc)

En lo personal, seguí estos tres pasos y me ha ido bien. Resuelvo bien los problemas que hay en www.hackerrank.com, hay algunos que me cuestan resolverlos y es porque no tengo experiencia en problemas de ese tipo, es por ello trato de indagar a fondo el contexto y luego sigo resolviendo con un mejor panorama.

No conocía esa página, se ve bastante interesante para adquirir un trabajo si eres realmente bueno.

Share this post


Link to post
Share on other sites
  • 0
Author of the topic Posted

Muchas gracias a todos por compartirme los métodos para empezar a resolver problemas. De c/u voy adoptando lo mejor. La pag de HackerRanck la había escuchado pero nunca ingresé, le voy a prestar más atención ahora que quiero aceitarme en algoritmia.

Share this post


Link to post
Share on other sites
  • 0
hace 16 horas, Dark1ng dijo:

@Β JackReacher Sólo te diré 3 cosas.

1.- Lee detenidamente el enunciado (problema).

2.- Extrae cosas importantes, los problemas serán parecidos a los de la vida real, entonces tendrás que pensar según tus experiencias en tu entorno.

3.- Crea tu estilo de programar. (No importa si al principio lo haces en hoja, diagramas de flujo,etc)

En lo personal, seguí estos tres pasos y me ha ido bien. Resuelvo bien los problemas que hay en www.hackerrank.com, hay algunos que me cuestan resolverlos y es porque no tengo experiencia en problemas de ese tipo, es por ello trato de indagar a fondo el contexto y luego sigo resolviendo con un mejor panorama.

Interesante info, muchas gracias amigo, le echaré un vistazo

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...