Documente Academic
Documente Profesional
Documente Cultură
GRADO
FUNDAMENTOSDEPROGRAMACIN
2PARTE|PLANDETRABAJOYORIENTACIONESPARASUDESARROLLO
FUNDAMENTOSDEPROGRAMACIN
|EquipodocentedeFundamentosdeProgramacin
FUNDAMENTOSDEPROGRAMACIN
CONTENIDOS PLAN DE ACTIVIDADES
2 Semana
a) Elementos bsicos de programacin b) Introduccin al entorno de prcticas c) Primera prctica: Datos personales 1. Estudiar el tema 2 del libro de texto base 2. Probar el entorno con el ejemplo del programa hola mundo del libro de prcticas 3. Leer los captulos 3 y 4 del libro de prcticas 4. Realizar la primera prctica con correccin automtica
3 Semana
a) Constantes y variables b) Conceptos bsicos del entorno de programacin c) Descomposicin de un problema en subproblemas d) Refinamientos sucesivos e) Aspectos de estilo 1. Estudiar el tema 3 del libro de texto base 2. Leer el capitulo 5 del libro de prcticas 3. Editar y compilar algn ejemplo resuelto del tema 3 4. Estudiar el tema 4 del libro de texto base 5. Realizar algn ejemplo resuelto del tema 4
4 Semana
a) Estructuras bsicas de la programacin imperativa b) Desarrollo con esquemas de seleccin e iteracin c) Verificacin de programas d) Eficiencia de programas. Complejidad algortmica e) Segunda prctica: Rombos 1. Estudiar el tema 5 del libro de texto base 2. Realizar algn ejemplo resuelto del tema 5 3. Estudiar el tema 6 del libro de texto base 4. Leer el captulo 6 del libro de prcticas 5. Realizar la segunda prctica
|EquipodocentedeFundamentosdeProgramacin
CONTENIDOS
PLAN DE ACTIVIDADES
2 Semana
a) Definicin de tipos b) Tipo enumerado y bool c) Tipo formacin y tipo vector d) Vector de caracteres. Cadena (string) e) Tipo tupla y registro (struct) 1. Estudiar el tema 9 del libro de texto base 2. Realizar algunos ejemplos resueltos del tema 9
3 Semana
a) Ampliacin de estructuras de control b) Depuracin de programas c) Iniciar tercera prctica: Calendario 1. Estudiar el tema 10 del libro de texto base 2. Leer el captulo 7 del libro de prcticas 3. Realizar algn ejemplo del tema 10 con depuracin 4. Leer el capitulo 8 del libro de prcticas 5. Iniciar la realizacin de la tercera prctica
4 Semana
a) Argumentos de tipo vector abierto b) Formaciones anidadas. Matrices c) El esquema unin d) Estructuras de datos combinadas 1. Estudiar el tema 11 del libro de texto base 2. Realizar algn ejemplo resuelto del tema 11 3. Finalizar la realizacin de la tercera prctica
FUNDAMENTOSDEPROGRAMACIN
CONTENIDOS
PLAN DE ACTIVIDADES
2 Semana
a) Estructuras de datos no acotadas b) Variables dinmicas c) Realizacin de secuencias mediante punteros d) Punteros y paso de argumentos e) Punteros y vectores 1. Estudiar el tema 13 del libro de texto base 2. Realizar algunos ejemplos del tema 13 con depuracin
3 Semana
a) Concepto de tipo abstracto de datos (TAD) b) Metodologa basada en abstracciones c) Concepto de mdulo d) Desarrollo modular basado en abstracciones e) Manejo de proyectos con el entorno f) Iniciar la cuarta prctica 1. Estudiar el tema 14 del libro de texto base 2. Estudiar el tema 15 del libro de texto base 3. Leer el captulos 9 y 10 del libro de prcticas 4. Iniciar la realizacin de la cuarta prctica. Ver enunciado en la pgina web de la asignatura: www.issi.uned.es/fp/
4 y 5 Semanas
a) Conceptos avanzados del entorno b) Realizar y entregar al tutor la cuarta prctica c) Repaso de toda la asignatura 1. Leer el capitulo 11 del libro de prcticas 2. Finalizar la realizacin de la cuarta prctica 3. Entregar al tutor la cuarta prctica 4. Repasar la asignatura y realizar algn examen anterior. Ver exmenes anteriores en la pgina web de la asignatura: www.issi.uned.es/fp/
|EquipodocentedeFundamentosdeProgramacin
FUNDAMENTOSDEPROGRAMACIN
Valores y tipos Representacin de valores constantes Tipos predefinidos Expresiones aritmticas Operaciones de escritura simples Estructura de un programa completo TEMA 3. Constantes y Variables Identificadores El vocabulario de C Constantes Variables Sentencia de asignacin Operaciones de lectura simple Estructura de un programa con constantes y variables TEMA 4. Metodologa de Desarrollo de Programas (I) La programacin como resolucin de problemas Descomposicin de un problema en subproblemas Desarrollo de programas por refinamientos sucesivos Aspectos de estilo TEMA 5. Estructuras Bsicas de la Programacin Imperativa Programacin estructurada Expresiones condicionales Estructuras bsicas en C TEMA 6. Metodologa de Desarrollo de Programas (II) Desarrollo con esquemas de seleccin e iteracin Ejemplos de desarrollo con esquemas Verificacin de programas Eficiencia de programas. Complejidad algortmica TEMA 7. Funciones y Procedimientos Concepto de subprograma Funciones Procedimientos Paso de argumentos Visibilidad. Estructura de bloques Recursividad de subprogramas Problemas en el uso de subprogramas
|EquipodocentedeFundamentosdeProgramacin
TEMA 8. Metodologa de Desarrollo de Programas (III) Operaciones abstractas Desarrollo por refinamiento usando abstracciones Programas robustos TEMA 9. Definicin de tipos Tipos definidos Tipo enumerado El tipo predefinido bool Tipos estructurados Tipo formacin y su necesidad Tipo vector Vector de caracteres: Cadena (string) Tipo tupla y su necesidad Tipo registro (struct) TEMA 10. Ampliacin de estructuras de control Estructuras complementarias de iteracin Estructuras complementarias de seleccin Equivalencia entre estructuras TEMA 11. Estructuras de datos Argumentos de tipo vector abierto Formaciones anidadas. Matrices El esquema unin Esquemas de datos y esquemas de acciones Estructuras combinadas TEMA 12. Esquemas tpicos de operacin con formaciones Esquema de recorrido Bsqueda secuencial Insercin Ordenacin por insercin directa Bsqueda por dicotoma Simplificacin de las condiciones de contorno TEMA 13. Punteros y variables dinmicas Estructuras de datos no acotadas La estructura secuencia Variables dinmicas Realizacin de secuencias mediante punteros Punteros y paso de argumentos Punteros y vectores en C y C++
FUNDAMENTOSDEPROGRAMACIN
TEMA 14. Tipos abstractos de datos Concepto de tipo abstracto de datos (TAD) Realizacin de tipos abstractos en C Metodologa de desarrollo basada en abstracciones TEMA 15. Mdulos Concepto de mdulo Mdulos en C Desarrollo modular basado en abstracciones 2.4 Enunciados de las prcticas de correccin automtica Los enunciados de las tres prcticas cuya correccin se realiza automticamente en el entorno de programacin de C son los siguientes: 2.4.1 Enunciado de la prctica 1 La primera prctica consiste en imprimir en pantalla los datos del alumno incluidos en la cabecera. Por ejemplo, si la prctica incluye la cabecera de la figura 1, el resultado de su ejecucin ser la figura 2. Como puede observarse, el valor de cada campo se imprime en una lnea distinta.
/************************************** * NOMBRE: #Juan Antonio# * PRIMER APELLIDO: #Fernandez# * SEGUNDO APELLIDO: #Gonzalez# * DNI: #99999999# * EMAIL: #jantonio.gonzalez@mimail.com# ***************************************/
Figura 1. Ejemplo de cabecera vlida para las prcticas 1, 2 y 3. El cdigo fuente de todas las prcticas debe incluir una cabecera que contenga los datos personales del alumno. La figura 1 muestra el formato de dicha cabecera. Como puede observarse: Segn la sintaxis de C, la cabecera es un comentario delimitado por los smbolos /* y */. La cabecera ocupa 7 lneas e incluye los 5 campos obligatorios: NOMBRE, PRIMER APELLIDO, SEGUNDO APELLIDO, DNI y EMAIL. El valor de cada campo se delimita por el smbolo #.
Juan Antonio Fernandez Gonzalez 99999999 jantonio.gonzalez@mimail.com
Figura 2. Resultado de ejecutar la primera prctica (suponiendo que incluye la cabecera de la figura 1)
10
|EquipodocentedeFundamentosdeProgramacin
2.4.2 Enunciado de la prctica 2 Esta prctica consiste en realizar un programa que imprima por pantalla rombos concntricos dibujados con los caracteres @, o y .. El programa solicitar, como dato de entrada, la longitud del lado del rombo ms externo (es decir, su nmero de caracteres). De fuera hacia dentro, el primer rombo estar formado por caracteres @, el segundo por caracteres ., el tercero por caracteres o, el cuarto nuevamente por caracteres ., el quinto por caracteres @, el sexto tambin por caracteres ., el sptimo por caracteres o y as sucesivamente. Las figuras 3, 4, 5, 6, 7 y 8 muestran los resultados de ejecutar el programa para lados de longitud 1, 2, 3, 4, 5 y 10.
Lado del Rombo?1 @
11
FUNDAMENTOSDEPROGRAMACIN
Lado del Rombo?10 @ @.@ @.o.@ @.o.o.@ @.o.@.o.@ @.o.@.@.o.@ @.o.@.o.@.o.@ @.o.@.o.o.@.o.@ @.o.@.o.@.o.@.o.@ @.o.@.o.@.@.o.@.o.@ @.o.@.o.@.o.@.o.@ @.o.@.o.o.@.o.@ @.o.@.o.@.o.@ @.o.@.@.o.@ @.o.@.o.@ @.o.o.@ @.o.@ @.@ @
Figura 8. Ejemplo de ejecucin del programa Rombo para lado = 10 Como se puede observar, el rombo siempre debe quedar ajustado a la izquierda de la pantalla y estar separado con una lnea en blanco despus de la pregunta Lado del Rombo?. El tamao del rombo ms grande ser de 20 caracteres de lado. El programa no deber imprimir nada para tamaos cero o negativo, ni para tamaos superiores a 20. El programa debe pedir Lado del Rombo? slo una vez para cada ejecucin. Nunca debe tener un bucle indefinido pidiendo el lado mltiples veces. 2.4.3 Enunciado de la prctica 3 Se trata de realizar un programa que muestre por pantalla la hoja de calendario de cualquier mes y ao comprendido entre los aos 1601 y 3000. El formato de la hoja de calendario deber ajustarse exactamente al que se indica en la figura 9 para el ejemplo del mes de Abril de 2345.
Mes (1..12)?4 Ao (1601..3000)?2345 ABRIL 2345 =========================== LU MA MI JU VI | SA DO =========================== . . . . . | . 1 2 3 4 5 6 | 7 8 9 10 11 12 13 | 14 15 16 17 18 19 20 | 21 22 23 24 25 26 27 | 28 29 30 . . . . | . .
Figura 9. Hoja de calendario para Abril de 2345 Como se puede observar, la hoja debe quedar ajustada a la izquierda de la pantalla y se deben emplear los caracteres =, |, . y los espacios en blanco tal y como aparecen en el ejemplo. Tambin se puede observar que debe haber una lnea en blanco antes de escribir la hoja del calendario.
12
|EquipodocentedeFundamentosdeProgramacin
El programa no deber imprimir nada para los aos fuera del rango de 1601 al 3000. El programa debe pedir el mes y el ao slo una vez para cada ejecucin. Nunca debe tener un bucle indefinido pidiendo mltiples veces el mes y el ao. 2.5 Resultados del aprendizaje asociados a los contenidos El resultado fundamental del aprendizaje de esta asignatura es la adquisicin de manera progresiva y sistemtica de una correcta metodologa para la programacin de computadores. Las materias que se aprenden son las propias de un curso de primer nivel de programacin. A lo largo de la asignatura se van introduciendo de forma progresiva las estructuras y herramientas necesarias en cada punto del temario y que estn disponibles en cualquier lenguaje de programacin de propsito general. Los conceptos ms importantes que se adquieren son los siguientes: Conceptos bsicos de programacin e ingeniera de software Elementos bsicos: valores, tipos, constantes y variables Estructuras bsicas: secuencia, seleccin e iteracin. Programacin estructurada. Funciones y procedimientos. Esquemas de recorrido y bsqueda. Definicin de tipos de datos. Formaciones. Registros. Punteros y estructuras no acotadas. Tipos abstractos de datos (TAD) Mdulos En esta asignatura el vehculo para la enseanza de la programacin es el lenguaje C, que est constituido por un subconjunto de los lenguajes C y C++. As, cualquier programa escrito en el lenguaje C se puede editar, compilar y ejecutar en un entorno de desarrollo para C/C++. Por tanto, el alumno aprende un lenguaje real para programar de manera natural e inmediata en el computador, puede comprobar que los ejemplos propuestos funcionan y tambin adquiere como resultado del aprendizaje el conocimiento de un lenguaje de uso habitual en el desarrollo de software. 2.5 Bibliografa bsica El libro de texto base por el que se sigue completamente la asignatura es: Titulo: Fundamentos de Programacin. Autores: Jos A. CERRADA y Manuel. COLLADO Edicin: Madrid 2010 Editorial Centro de Estudios Ramn Areces, S.A. Madrid Para aprender paso a paso el manejo de las distintas opciones disponibles en el entorno de programacin, la compilacin y depuracin de programas, la realizacin y correccin automtica de las prcticas, resulta de una gran ayuda el siguiente libro: Titulo: Prcticas de Programacin en C Autores: Ismael ABAD, Jos A. CERRADA, Rubn HERADIO y Manuel COLLADO Edicin: Madrid 2010 Editorial Centro de Estudios Ramn Areces, S.A. Madrid
13
FUNDAMENTOSDEPROGRAMACIN
14
|EquipodocentedeFundamentosdeProgramacin
3.2.2 Pruebas Presenciales: Exmenes Constar de dos partes: Primera parte: Preguntas tipo test Segunda parte: Ejercicio Las respuestas del test se marcarn en la hoja de lectura ptica que se entregar en el examen. El test es eliminatorio. La solucin final al ejercicio de la segunda parte se deber escribir en el espacio reservado a tal fin. Se podr utilizar todo el papel que se considere necesario, pero slo se deber entregar la solucin final en dicho espacio reservado. Para realizar la prueba presencial no se permitir el uso de ningn material auxiliar. La ponderacin de cada parte del examen ser publicada en la pgina web de la asignatura. Adems, en esta misma pgina web se podrn consultar las soluciones de los exmenes, las notas de las prcticas y las notas de los exmenes.
4.- GLOSARIO
Se puede encontrar un glosario de trminos relevantes para el estudio de la asignatura en el ndice analtico del libro de texto base de la asignatura: Titulo: Fundamentos de Programacin. Autores: Jos A. CERRADA y Manuel. COLLADO Edicin: Madrid 2010 Editorial Centro de Estudios Ramn Areces, S.A. Madrid
15