Download I008-Algoritmos y Lenguaje de Programacion
Document related concepts
Transcript
Fundación Universitaria Luis Amigó Facultad de Ingenierías PROGRAMA CURSO NÚCLEO DE FORMACIÓN EJE DE FORMACIÓN NIVEL CÓDIGO CRÉDITOS HORAS PRESENCIALES VÁLIDO DESDE : INGENIERÍA DE SISTEMAS : ALGORITMOS Y LENGUAJE DE PROGRAMACIÓN : FUNDAMENTACIÓN EN CIENCIAS BÁSICAS Y UBICACIÓN CONTEXTUAL Y PROFESIONAL : ESPECÍFICO : II : I008 :4 : 64 : Febrero 1 de 2007 1. INTRODUCCIÓN La programación es el proceso creativo mediante el cual, el usuario de la computadora, escribe un conjunto ordenado y finito de instrucciones que le indican a la máquina como debe proceder para realizar una determinada tarea, el resultado de ese desarrollo se le llama programa. Se dice entonces que el usuario o programador ha concebido una forma de solucionar un problema, llamada algoritmo; y la ha expresado de forma entendible a la máquina: en El programa. Para escribir el programa el programador utiliza un lenguaje de programación. Los lenguajes de programación empleados para las computadoras han evolucionado y siguen evolucionando, tratando de hacerlos más fáciles en su uso y al mismo tiempo incorporando principios y técnicas de programación que no solo hagan a ésta más fácil sino menos sujeta a errores. En efecto, la atención a los detalles en la programación, y sobre todo la cantidad de acciones a describir en un programa para una computadora, hace necesario el uso de técnicas de programación orientadas a evitar producir programas con errores. En algunos casos estas técnicas se incorporan a los lenguajes de programación, en otros solo son reglas a seguir en la confección de programas para evitar tener errores. Todo problema que se intente solucionar con la ayuda de una computadora tiene que pasar obligatoriamente por las etapas de: análisis del problema, desarrollo del algoritmo, conversión del algoritmo en programa. El éxito en la ejecución de los programas dependerá del buen funcionamiento de los respectivos algoritmos. Después de tener una solución algorítmica, el siguiente paso debe ser la tarea de desarrollar en el ingeniero de sistemas un conocimiento de la filosofía o teoría formal de los lenguajes de programación y aplicarla en algún lenguaje. 2. OBJETIVOS GENERALES Desarrollar en el estudiante la capacidad de elaborar algoritmos para la resolución de problemas utilizando como herramienta el computador y un lenguaje de programación. Capacitar al estudiante para que desarrolle conocimiento en teoría general de los lenguajes de programación que le permita manipularlos e implementar soluciones algorítmicas en estos. 3. OBJETIVOS ESPECÍFICOS Aprender a resolver problemas mediante la aplicación de la lógica computacional. 1 Fundación Universitaria Luis Amigó Facultad de Ingenierías Desarrollar algoritmos que sean solución práctica de un problema determinado. Entender y aplicar la estructura de un lenguaje de programación. Utilizar adecuadamente las funciones de los lenguajes. Aprender a codificar y compilar en un lenguaje de programación. Generar soluciones utilizando un lenguaje de programación. 4. CONTENIDO TEMÁTICO 1. Unidad 0. Programación 1.1. Programación y resolución de problemas 1.2. Los paradigmas de la programación 1.3. Algoritmos 1.4. Tipos de datos 1.5. Metodología para desarrollar programas 1.6. Diagramación 1.7. Estructuras algorítmicas 2. Unidad I. Introducción 2.1. Introducción a la programación 2.2. Solución de problemas y desarrollo de software 2.3. Errores comunes en programación 2.4. Hardware de computación y conceptos de almacenamiento 3. Unidad II. Programación estructurada 3.1. Solución de problemas mediante un lenguaje de programación 3.1.1. Valores de datos y operaciones aritméticas 3.1.2. Variables e instrucciones declaratorias 3.1.3. Aplicación de procedimientos para el desarrollo de software 3.2. Complementado la básico 3.2.1. Operaciones de asignación 3.2.2. Formato de números 3.2.3. Empleo de las funciones matemáticas 3.2.4. Entrada de datos 3.2.5. Aplicaciones 3.3. Estructuras de selección 3.3.1. Criterios de selección 3.3.2. Instrucción If - Else 3.3.3. Instrucción Switch 3.3.4. Aplicaciones 3.4. Estructuras de repetición 3.4.1. Instrucción While 2 Fundación Universitaria Luis Amigó Facultad de Ingenierías 3.4.2. Instrucción For 3.4.3. Instrucción Do While 3.5. Modularidad usando funciones 3.5.1. Declaración de funciones y parámetros 3.5.2. Regreso de valores 3.5.3. El alcance de las variables 3.5.4. Aplicaciones 4. Unidad III. Programación orientada a objetos 4.1. Entrada y salida de archivos 4.1.1. Objetos y métodos de entrada y salida de archivos 4.1.2. Lectura y escritura de archivos 4.1.3. Acceso aleatorio de archivos 4.1.4. aplicaciones 4.2. Introducción a las clases 4.2.1. Tipos abstractos de datos 4.2.2. Constructores 4.2.3. Aplicaciones 4.2.4. Asignaciones 4.2.5. Funciones operador 4.2.6. Conversiones 4.2.7. Herencia y polimorfismo 4.2.8. Aplicaciones 5. COMPETENCIAS DEL CURSO Comprenderán la interacción del lenguaje humano con el computacional, lo cual les permitirá entender el funcionamiento interno del computador y podrán determinar su mejor utilización. Optimizarán las herramientas de desarrollo de programas para lograr la consecución de la máxima eficiencia de los computadores. Desarrollarán, en buena medida, su capacidad interpretativa de los problemas computacionales y podrán aplicarla a la solución de los problemas solucionables mediante el uso de un lenguaje de programación. Entenderán los conceptos del manejo de las instrucciones en un lenguaje de programación que les permitirá adaptar su conocimiento a cualquier lenguaje sobre el cual deseen realizar implementaciones. 6. ESTRATEGIAS METODOLÓGICAS Este curso es netamente práctico por lo cual se requiere del empleo constante del computador para implementar todos los conceptos del manejo del lenguaje y tener de primero mano el efecto de la multitud de variantes que posee. Se realizará un manejo de los temas muy de consulta e inquietud por parte de los estudiantes para que innoven y experimenten el manejo de las funciones que posee el lenguaje, así como aplicación de problemas, reales o simulados, para que los estudiantes los mejoren o adecuen según sus manera de verlos. Se tendrá en 3 Fundación Universitaria Luis Amigó Facultad de Ingenierías cuenta la capacidad creativa y de aplicación lógica por parte del estudiante para solucionar problemas, además de su adaptabilidad para trabajar en otros lenguajes con estructura similar al que se lleva en el curso. La mitad del curso es llevada con la asesoría permanente del maestro y la otra mitad es de recurso exclusivo del estudiante ya que tendrá en sus manos, como proyecto, el aprender el manejo de un segundo lenguaje al que debe acceder por completo por propia cuenta y buscando los recursos que requiera para llevarlo a cabo. 7. CRITERIOS DE EVALUACIÓN Este curso se evalúa teniendo en cuenta el proceso de aplicación de conceptos que el estudiante tenga respecto de la solución de problemas y la aplicación del proceso: lógicaalgoritmo-programa. La evaluación es netamente resultado de la práctica y el aporte que el estudiante tenga respecto del mejoramiento de conceptos recibidos o consultados: su capacidad innovadora y de adaptación a situaciones determinadas. 8. BIBLIOGRAFÍA Correa, Uribe Guillermo. Desarrollo de algoritmos. McGraw Hill. México, 1992. Cuarta edición. Berrío, Hader. Lógica para programación de computadores. Pearson Educación. Bogotá, 1999. Segunda edición. Joyanes, Luís. Programación de computadores. McGraw Hill. Buenos Aires, 1998. Primera edición. Bronson, Gary J.. C++ para ingeniería y ciencias. Tomson Editores. México, 2000. Primera edición. Schildt, Herbert.. C++: Guía de Autoenseñanza, McGraw-Hill. Buenos Aires, 1995. Segunda edición. Schildt, Herbert. C++ para programadores. Osborne McGraw Hill. Madrid, 1996. Primera edición El uso de Internet será básico para las consultas aplicativas de algunos de los temas. 4