Un 1 - Introducción al pensamiento computacional. Flashcards
Una de las principales armas del programador.
El pensamiento lógico orientado a la resolución de problemas.
“Qué”
Implica saber cómo plantear una posible solución.
“Cómo”
Toma como entrada al “qué” para llevar ese conjunto de acciones o pasos y conocer un lenguaje de programación.
Qué es la lógica?.
Es la ciencia que estudia el proceso de razonar y los procesos asociados a la actividad del razonamiento.
Definición: Razonamiento.
Organización de las ideas para llegar a una conclusión sobre un problema determinado.
Planteo de una posible solución.
LOGICA → ORDENAR IDEAS → PROCESO.
Cuál es la lógica de todo proceso de resolución de problemas?.
Es subdividir un problema en “problemas más pequeños” para ser resuelto con una única actividad o tarea lo más simple posible.
Proceso para la resolución de problemas.
ENTRADA → PROCESO → SALIDA.
Qué es la fase “entrada”?.
Es la fase inicial del proceso en la que se recopila información y detalles sobre el problema que se está analizando. Esta fase es fundamental para comprender el problema.
Cómo se priorizan los elementos en la fase de “entrada”?.
Se priorizan según la importancia y urgencia en función de la información que aportan.
Qué es la fase “proceso”?
Es la fase donde se busca la mejor alternativa para la solución.
Cómo se priorizan las opciones en la fase de “proceso”?.
Se priorizan las opciones para enfocarnos en las que más nos acercan a la solución.
Qué es la fase “salida”?.
Es la fase donde se aplica y concreta la solución.
Cómo se completa la fase “salida”?.
El proceso se completa con la evaluación de los resultados, y comprobando que el resultado obtenido es el esperado.
Definición: Algoritmo.
Es una serie de pasos sencillos que te guían para resolver un problema, usando información específica, y al final, obtienes una solución ya sea completa o parcial.
Características de los algoritmos:
*Secuenciales
*Atomicos
*Abstractos
Por qué un algoritmo puede ser secuencial?.
Porque avanza paso a paso, y en cada paso analiza un problema simple a la vez.
Por qué un algoritmo puede ser atómico?.
Porque en cada paso del algoritmo resuelve un problema simple y específico.
Por qué un algoritmo puede ser abstracto?.
Por la cantidad de escenarios alternativos que un algoritmo puede llegar a atender siendo una solución para un determinado requerimiento. Ejemplo: la solución de Fibonacci sería contar con una fórmula que resuelva en forma genérica.
Formas de representar un algoritmo.
*Lenguaje Natural.
*Pseudocódigo.
*Diagrama de flujo.
*Lenguajes de programación.
Tres formas de escribir los algoritmos.
*Descripción de alto nivel.
*Descripción formal.
*Implementación.
Qué es el lenguaje natural?
Son expresiones realizadas en forma narrativa.
Cuáles son sus ventajas y desventajas del lenguaje natural?.
Tiene como ventaja una gran capacidad de abstracción y coberturas dadas por el mismo lenguaje y como desventaja tiene el riesgo de resultar ambiguas, poco precisas y extensas.
Qué es el Pseudocódigo?.
Es un subconjunto del lenguaje natural. Se limitan las palabras y se forman estructuras estándares, por lo cual evitan el resultar ambiguas.
Qué es el diagrama de flujo?.
Tiene las mismas características que el pseudocódigo aunque se trate de representaciones gráficas.
Qué es el lenguaje de programación?.
Es un conjunto aún más reducido de palabras y estructuras.
Cuál es la característica principal del lenguaje de programación?
Es genérico, es decir que es independiente de una implementación en particular. Puede obtener un “producto” o programa por tener la posibilidad de ser ejecutado.
Qué es la descripción de alto nivel?.
Es la forma de describir un algoritmo mediante una narrativa y gráficos sin entrar en detalles.
Cuál es la característica principal de la descripción de alto nivel y cuál es su objetivo?
No siguen un estándar en particular y su objetivo es presentar una solución para destinatarios inexpertos.
Qué se obtiene de la descripción formal?.
Se obtiene una descripción de la solución reduciendo ambigüedades y brindando más información.
Qué es la descripción formal?.
Es una representación del algoritmo en una secuencia de pasos, a través del pseudocódigo y diagramas de flujo.
Qué es la implementación?
Se trata de un lenguaje de programación en particular, es el máximo nivel de detalle al que se puede llegar.