Desarrollar en el alumno la capacidad de resolver problemas de complejidad simple a partir del planteo del algoritmo correspondiente. Esto incluye la adquisición de habilidad en la detección de una situación de problema y en el planteo de los posibles caminos de solución mediante las técnicas generales de resolución de problemas; y su solución en un lenguaje de diseño de algoritmos orientado a un paradigma procedural.
Además se pretende que el alumno adquiera conceptos y terminología básicos del paradigma procedural y que desarrolle los conocimientos necesarios que serán básicos en asignaturas posteriores
Problemas, modelos y abstracciones. Representación de problemas: gráficos, diagramas, modelos matemáticos, descripción verbal. Búsqueda de soluciones de problemas. Inferencia, analogía, similitud entre problemas, generalización y particularización. Algoritmos: definición, construcción de algoritmos, especificación de algoritmos, programación imperativa.
Comenzaremos la materia resolviendo problemas simples. En primera instancia introducimos vocabulario asociado a la resolución de problemas: enunciado, incógnitas, heurísticas para resolver problemas, etc. Distinguiremos distintos tipos de problemas, y conoceremos las etapas del método de Polya para resolver problemas: Comprender el problema, Trazar un plan, Ejecutar el plan y Visión Retrospectiva. Utilizaremos una plantilla para resolver problemas que nos permitirá mostrar la resolución paso a paso de los problemas. Finalmente veremos distintas representaciones para resolver problemas. Leer más →
En esta unidad veremos diferentes estrategias para resolver problemas… Leer más →
2
Un algoritmo es una secuencia de primitivas precisas (no ambiguas) para
resolver una clase de problemas. Los algoritmos se especifican en
primera instancia utilizando pseudocódigo para luego ser implementados
en un lenguaje de programación. Nuestros primeros algoritmos harán uso
de los constructores primarios de la estructura de control secuencial:
definición de comentarios, definición de variables con sus tipos de
datos, asignaciones, expresiones, bloques de instrucciones. Todos estos
conceptos primero se abordarán a nivel teórico y conceptual para luego
abordar su implementación en Java.
Leer
más →
En esta unidad se desarrolla la estructura de control alternativa. Se explica como construir una expresion booleana (o condición) de la estructura alternativa, utilizando operadores lógicos o booleanos, de comparación, etc. Se explican estructuras de control alternativa simples y dobles. Una estructura alternativa simple permite ejecutar un bloque de sentencias en caso de que la expresión booleana sea verdadera; en cambio una alternativa doble permite ejecutar distintos bloques de sentencias dependiendo si la condición es verdadera o falsa. Tambien se detalla como construir estructuras alternativas selectivas o múltiples. Finalmente estudia como combinarlas, secuenciarlas y elegir la correcta estructura a nivel de diseño. Leer más →
4
La esctructura de control repetitiva es quizás la estructura de control más interesante de la materia. Esta estructura se estudia en esta unidad, la cual permite repetir un conjunto de primitivas o instrucciones. La cantidad de veces de la repetición puede ser una cantidad determinada o indeterminada. Algunas estructuras repetitivas permiten repetir cero o más veces un conjunto de primitivas (Estructura repetitiva MIENTRAS), otras permiten repetir una o más veces un conjunto de instrucciones (Estructura Repetitiva REPETIR HASTA). Otra estructura repetitiva (REPETIR PARA) permite repetir una cantidad predefinida de repeticiones. Se explica cuando es necesario secuenciar estas estructuras y cuando combinarlas. Leer más →
La modularización permite construir distintos algoritmos donde cada algoritmo alcanza un objetivo específico. Y la interacción entre diferentes algoritmos permite alcanzar un objetivo mayor. Modularizar implica aplicar una heurística de diseño que incluye descomposición y reconstrucción. En esta unidad se estudia como alcanzar dicha descomposición a partir de parámetros actuales y formales y valores de retorno. Se analizan tres importantes caracteristicas de la correspondencia entre parámetros formales y actuales (cantidad de parámetros, orden de los parámetros y compatibilidad de tipos de parámetros). Leer más →