Ejercicios resueltos en C de la materia Elementos de Programacion (2009). Realizados en el Primer Cuatrimestre 2020.
Objetivo: Introducir al alumno en la programación de las computadoras.
- Descripción general del principio de funcionamiento de un computador digital.
- Unidades componentes y sus características. Hardware y software.
- Sistemas de numeración binario y hexadecimal.
- Concepto de programa. Ejemplos de aplicación y ejecución.
- PRÁCTICA: Desarrollo de un sencillo programa. Sistemas de numeración.
Aprendizaje a lograr: Concepto de programa y sus objetivos. Identificar las unidades del computador a usar en la programación.: Memorias y almacenamiento de programas.
Objetivo: Aprender a efectuar un análisis de los problemas y elaborar la estrategia más adecuada para su resolución. Poder diferenciar los distintos tipos de problemas.
- Compresión de problemas. Enunciados e interpretación. Análisis de ideas. Relación entre datos, incógnitas y resultados
- Metodología a desarrollar para su resolución. Diseño de estrategias.
- Análisis de los diversos tipos de problemas. Algoritmos, concepto y definición. Características, limitaciones. Análisis del problema y diseño del algoritmo. Diseño descendente top-down.
- Definición y aplicación de los diagramas de lógica. Simbología.
- Teorema fundamental de la Programación Estructurada. Estructuras básicas. Combinación de las distintas estructuras. Precauciones.
- Programación modular. Técnicas de construcción y seguimiento de diagramas. Prueba y depuración de algoritmos. Juegos de prueba.
- PRÁCTICA: Confección de algoritmos. Juegos de prueba. Análisis de resultados. Confeccionar los diagramas de lógica de sencillos problemas de aplicación utilizando las estructuras básicas. Juego de prueba y análisis de resultados.
Aprendizaje a lograr: Confeccionar los diagramas de lógica de sencillos problemas de aplicación utilizando las estructuras básicas. Juego de prueba y análisis de resultados.
Objetivo: Conocer los elementos básicos de un lenguaje de programación. Enseñar a confeccionar sencillos programas, codificando diagramas. Utilización de las sentencias básicas en la resolución de nuevos problemas.
- El lenguaje “C”, breve historia y alcances. El entorno de la programación.
- Estructura general de un programa. El preprocesador, la función del main().
- Elementos básicos del lenguaje. Alfabeto. Palabras reservadas. Tipos de datos. Constantes, variables y operadores. Código ASCII.. Expresiones, diferentes tipos.
- Sentencias de asignación. Sintaxis, reglas y prioridades.
- Sentencias de entrada y salida con formato. Funciones printf(...) y scanf(..).
- Codificación de diagramas desarrollados como ejemplos.
- Confección de sencillos programas. Juegos de prueba. Depuración de programas.
- PRÁCTICA: Codificación en C de los diagramas de lógica. Edición, compilación y ejecución del programa. Prueba y depuración. Programación interactiva.
Aprendizaje a lograr: Estar capacitado para desarrollar sencillos programas en lenguaje C utilizando las sentencias básicas del lenguaje. Corrección de errores.
Objetivo: Conocer y aplicar los conceptos de contador y acumulador. Conocer y aplicar las Funciones de Biblioteca ó Standard del “C”. Aplicación y alcance de las estructuras de concatenación.
- Conceptos de contador y acumulador. Autoincremento.
- Funciones standard del “C” , diversos tipos.
- Combinación de operadores.
- Casos típicos de error en ciertas operaciones. Errores de almacenamiento.
- Sentencias de comentario. Estilo en la programación.
- PRÁCTICA: Confección de programas utilizando las funciones de biblioteca. Pruebas de exceso de almacenamiento. Errores posibles en ciertas funciones.
Aprendizaje a lograr: Estar capacitado para desarrollar programas en lenguaje C utilizando las funciones de biblioteca. Estudio y corrección de errores.
Objetivo: Conocer y aplicar las estructuras de selección simple y de selección múltiple. Poder aplicar estas estructuras y sus combinaciones en la solución de los problemas y su posterior codificación en lenguaje C. Conocer y aplicar los operadores lógicos.
- Sentencia de selección simple, if.(...). Sentencias anidadas. Operador condicional.
- Casos particulares en la combinación de las estructuras.
- Operadores lógicos. Prioridades y combinación. Reducción de los programas.
- Estructura de selección múltiple switch(...). Utilización de caracteres.
- Sentencia break., importancia de su utilización.
- Confección de programas. Juegos de prueba. Comprobación de resultados.
- PRÁCTICA: Confección de programas utilizando las sentencias mencionadas. Codificación. Confección de completos juegos de prueba. Pruebas de escritorio. Comprobación practica de los casos mencionados precedentemente.
Aprendizaje a lograr: Estar capacitado para desarrollar programas en lenguaje C utilizando las estructuras de selección simple y múltiple, con todas sus variantes. Seguimiento de programas con los juegos de prueba. Análisis de variantes.
Objetivo: Adquirir la capacidad para aplicar en la solución de los problemas las estructuras iterativas, en sus variantes. Poder programar algoritmos de búsqueda de máximos y mínimos. Aprender el uso de la pantalla graficando caracteres.
- El concepto de ciclo. La sentencia de iteración definida for(...)
- Variantes en la utilización de los parámetros del for(...). Casos particulares.
- Ciclos anidados. Poder de iteración y sus variantes.
- Sentencia de iteración condicionada. Sentencias while(...) y do while(…). Comparación entre ambas. Ciclos 0-n y 1-n.
- Estructuras de iteración combinadas, sus ventajas.
- Sentencias “continue” . Sentencia “exit”.
- Graficación en la pantalla utilizando caracteres. Sentencias gotoxy(...) y windows(...). Otras funciones que facilitan la operatividad de las ventanas.
- PRÁCTICA: Confección de programas utilizando las sentencias de iteración. Prueba de programas con utilización práctica de ventanas. Facilitar el diálogo con los usuarios de los programas. Pruebas de aplicación directa.
Aprendizaje a lograr: Estar capacitado para desarrollar programas en lenguaje C utilizando las estructuras iterativas en todas sus variantes. Manejo sencillo de las ventanas. Ventajas. Seguimiento de programas con los juegos de prueba.
Objetivo: Aprender a dividir los programas en partes menores, que llamaremos “funciones”. Adquirir la capacidad para poder construir programas mayores en base a la construcción y utilización de funciones. Funciones preprogramadas.
- Los subprogramas. Las funciones en C. Forma general.
- Declaración, prototipos y definición. Estructura y codificación.
- Variables globales y locales. Llamadas a una función.
- Declaración de parámetros. Parámetros formales y reales. Sentencia return.
- Llamada a funciones, argumentos. Parámetros por valor y por variable.
- Diagramas sintácticos.
- Los punteros, definición y utilización como parámetros de funciones.
- Reglas de ámbito. Variables externas. Algunas funciones standard Concepto de recursividad. Aplicaciones.
- PRÁCTICA: Confección de funciones con y sin parámetros. Inclusión de funciones pre programadas. Aplicación en el diseño y modularización de los programas. Usar funciones recursivas.
Aprendizaje a lograr: Capacitación necesaria para desarrollar programas en lenguaje C definiendo, confeccionando y utilizando funciones con diversos tipos de parámetros. Utilizar funciones pre programadas.
Objetivo: Aprender a utilizar en los programas datos con estructura como son los vectores y las matrices. Familiarizarse con la utilización de tablas, búsquedas y ordenamiento. Comprender la ventaja de su utilización, cadena de caracteres y funciones adecuadas para procesamiento de caracteres.
- Conceptos básicos sobre estructuras de datos tipo array. Declaración.
- Arrays unidimensionales, los vectores. Inicialización. Comprobación de límites.
- Arrays multidimensionales, tablas y matrices.
- Los arrays como parámetros de funciones.
- Operaciones de ordenamiento y búsqueda en arrays. Distintos métodos.
- Representación de los strings por cadenas de caracteres, conceptos.
- Funciones standard para manejo de cadenas : strlen(...),strcpy(...), strcat(...), strcmp(...). Uso de null
- PRÁCTICA: Confección de programas que ingresan o exhiben datos con estructura tipo arrays. Aplicación de los algoritmos de ordenamiento y búsqueda. Creación de funciones que reciben arrays, su utilización, funciones con cadenas.
Aprendizaje a lograr: Capacitación necesaria para desarrollar programas que utilizan datos estructurados. Práctica en la utilización de los algoritmos básicos que usan arrays. Utilización de funciones que operan sobre arrays.
Objetivo: Aprender a definir y utilizar las estructuras de datos en forma similar a los arrays, salvando sus diferencias.
- Definición de las estructuras como nuevo tipo de datos. Campos.
- Procesamiento. Tipos de datos definidos por el usuario. struct (...)
- Longitud de las estructuras. Estructuras anidadas. Procesamiento.
- Las estructuras como parámetros de funciones.
- Arrays de estructuras. Concepto de uniones. Almacenamientos temporarios.
- PRÁCTICA: Confección de programas y funciones que definen y utilizan structuras. Generación de arrays de estructuras y su operatividad.
Aprendizaje a lograr: Capacitación necesaria para desarrollar programas que utilizan estructuras de datos. Aprender a utilizar las estructuras como almacenamiento temporario de datos. Utilización en las funciones.
Objetivo: Aprender a definir y utilizar los archivos de datos como medio de almacenamiento permanente de la información. Conocer los diferentes tipos. Aprender a guardar información y recuperarla. Métodos diversos.
- Conceptos generales sobre archivos en “C”. Tipos permitidos, de texto y binarios
- Definición, creación, lectura y grabación. en archivos binarios secuenciales.
- Funciones standard para su operatoria. Generación del nombre de los archivos.
- Archivos como parámetros de funciones.
- Métodos de búsqueda de información en un archivo binario.
- PRÁCTICA: Confección de programas y funciones que generan y utilizan archivos binarios. Recupero de información. Tamaño y límite de los archivos.
Aprendizaje a lograr: Capacitación necesaria para desarrollar programas que utilizan búsqueda archivos binarios, utilizando diversos métodos de generación y de la información. Identificación de los archivos dentro del computador. Directorios.
Objetivo: Aprender manejo integral de información para su correcto almacenamiento. Agregar Borrar, Modificar registros. Corte de Control.
- Comandos relacionados con archivos.
- Búsqueda de datos y relación de campos.
- Corte de Control, Niveles de Cortes.
- Características de la Información.
- PRACTICA: Confección de programas y practica de manejo de archivos utilizando Corte de Control.
Aprendizaje a lograr: Apertura y almacenamiento de archivos, presentar informas y acumuladores con use de corte de control.