Hola estimada comunidad, espero se encuentren bien.
Continuando con la secuencia de post en relación al compartir mis conocimientos de programación con ustedes, de modo que puedan entender un poco de este mundo, aclarando que estoy iniciando por lo más básico. Les traigo en esta oportunidad conceptos sobre lo que es un algoritmo, como se representan estos mediante diagramas, la tabla de la verdad y otros pequeños e importantes conceptos que irán surgiendo a medida que les vaya explicando. Entonces, empecemos...
Concepto de algoritmo
Según la definición proporcionada por Alexander Oviedo Fadul, en su libro Diseño Estructurado de Algoritmos, nos lo define como sigue:
Se denomina algoritmo a un grupo finito de operaciones organizadas de manera lógica y ordenada que permite solucionar un determinado problema. Se trata de una serie de instrucciones o reglas establecidas que, por medio de una sucesión de pasos, permiten arribar a un resultado o solución.
Fuente
Si analizamos el concepto, nos damos de cuenta que día a día realizamos un algoritmo para realizar actividades o solucionar un problema. Entonces, un algoritmo no es mas que el paso a paso que planificamos y/o ejecutamos para realizar una actividad o resolver una situación o problema.
Este planteamiento de solución se hace de diferentes maneras, dependiendo de la complejidad de la situación. Existen mecanismos, como lo son los diagramas de secuencia, que nos permiten plasmar situaciones complejas para lograr definir procedimientos y hacerlos entendibles para terceros. Para llegar a ello, estos constan de figuras geométricas que simbolizan algo en el proceso. Veamos la siguiente figura.
Fuente
Obviamente no nos pasamos la vida haciendo diagramas para resolver situaciones de nuestra vida cotidiana, pero cuando pasamos al ámbito laboral, en algunas áreas serán necesarios.
Supongamos el siguiente planteamiento: vamos a comparar dos números diferentes y determinar cuál es el mayor.
Si lo pensamos previamente, tenemos que tener dos números (A y B), y comparamos hasta que estos sean diferentes, luego comparamos si el primero (A) es mayor que el segundo (B), en caso de ser verdadero, lo anunciamos como el mayor (A), en caso contrario, el número mayor sería el segundo número (B). Ahora lo verán representado en un diagrama de flujo.
Fuente
Como se fijaron, el rombo representa una evaluación de una condición. En este caso es sencilla, pero existen condiciones las cuales se tornan un poco complejas, y se darán de cuenta que aveces respondemos mal a preguntas que nos hacen a diario, por ejemplo:
- ¿Tu no tienes un lápiz que me prestes? .
A lo que respondemos;
- Si, y le prestamos un lápiz.
La pregunta no está mal hecha, está es mal contestada. Porque la respuesta tendría que
ser en caso que tuviéramos el lápiz;
- No, (negando la afirmación de la pregunta, lo que representaría en este caso un si, y prestamos el lápiz).
Aclaremos mejor la situación con lo que son las proposiciones.
Es una oración con valor referencial o informativo, de la cual se puede predicar su veracidad o falsedad, es decir, que puede ser falsa o verdadera pero no ambas a la vez.
Fuente
Acá unas proposiciones de ejemplo:
- La tierra tiene dos lunas. Es una preposición afirmativa falsa.
- Los mamíferos no tienen branquias. Es una preposición negativa verdadera.
- El trabajo no es equivalente a la energía. Es negativa falsa.
Para no hacer mas largo el post, dejaré el tema de la tabla de la verdad para la próxima publicación.
Saludos estimados compañeros, y hasta la próxima.
¡Felicidades, #proconocimiento te valoró!
Has sido reconocido(a) por tu buen post por el Comité de Arbitraje y Valoración del Proyecto Conocimiento @proconocimiento.
Apoyamos y valoramos tu esfuerzo...
Proyecto Conocimiento es parte de la comunidad @provenezuela.
Pioneros en la plataforma #steemit en el reconocimiento y valoración a la Producción Intelectual en habla hispana.
Congratulations! This post has been upvoted from the communal account, @minnowsupport, by agustinoro2010 from the Minnow Support Project. It's a witness project run by aggroed, ausbitbank, teamsteem, theprophet0, someguy123, neoxian, followbtcnews, and netuoso. The goal is to help Steemit grow by supporting Minnows. Please find us at the Peace, Abundance, and Liberty Network (PALnet) Discord Channel. It's a completely public and open space to all members of the Steemit community who voluntarily choose to be there.
If you would like to delegate to the Minnow Support Project you can do so by clicking on the following links: 50SP, 100SP, 250SP, 500SP, 1000SP, 5000SP.
Be sure to leave at least 50SP undelegated on your account.