Introduccion A Ciencias De La Computaci On I

3y ago
16 Views
3 Downloads
3.03 MB
473 Pages
Last View : 2m ago
Last Download : 3m ago
Upload by : Ronan Garica
Transcription

Introducción a Ciencias de laComputación I(con Java)Elisa Viso G.Canek Peláez V.Facultad de Ciencias, UNAM

Índice general1. Introducción1.1. Conceptos generales . . . . . . . .1.2. Historia . . . . . . . . . . . . . .1.3. Sistemas numéricos . . . . . . . .1.4. La Arquitectura de Von Neumann1.5. Ejecución de programas . . . . .1.5.1. Filosofı́as de programación1.6. Caracterı́sticas de Java . . . . . .2. El Proceso del Software2.1. ¿Qué es la programación? . . . . . . . . . .2.1.1. Conceptos en la orientación a objetos2.2. Diseño orientado a objetos . . . . . . . . . .2.2.1. Tarjetas de responsabilidades . . . .2.3. Diseño Estructurado . . . . . . . . . . . . .123613252627.2929364245463. Clases y Objetos3.1. Tarjetas de responsabilidades . . . . . . . .3.2. Programación en Java . . . . . . . . . . . .3.2.1. Declaraciones en Java . . . . . . . .3.2.2. Alcance de los identificadores . . . .3.2.3. Implementación de métodos en Java3.3. Expresiones en Java . . . . . . . . . . . . . .3.3.1. Declaración y definición simultáneas.55556263818391984. Manejo de cadenas y expresiones4.1. Manejo de cadenas en Java . . . . . . .4.2. Implementación de una Base de Datos4.3. Una clase Menú . . . . . . . . . . . . .4.3.1. Salir . . . . . . . . . . . . . . .101101106131138.

ÍNDICE .Agrega estudiante . . . . . . . .Quita estudiante . . . . . . . .Busca estudiante . . . . . . . .Lista todo el curso . . . . . . .Lista los que cumplan con algúnValor por omisión . . . . . . . .Método principal de MenuCurso5. Datos estructurados5.1. La clase para cada registro . . . . . . .5.2. La lista de registros . . . . . . . . . . .5.2.1. Paso por valor y por referencia5.2.2. Eliminado de registros . . . . .5.2.3. La clase MenuLista . . . . . . . . . . . . . . . . . . . . . . .criterio. . . . . . . . .6. Herencia6.1. Extensión de clases . . . . . . . . . . . . . .6.2. Arreglos . . . . . . . . . . . . . . . . . . . .6.2.1. Arreglos de una dimensión . . . . . .6.2.2. Iteración enumerativa . . . . . . . . .6.2.3. Arreglos de más de una dimensión . .6.2.4. Los arreglos como parámetros y valor6.3. Aspectos principales de la herencia . . . . .6.3.1. Super y subclases . . . . . . . . . . .6.4. Polimorfismo . . . . . . . . . . . . . . . . .6.5. Clases abstractas . . . . . . . . . . . . . . .6.6. Interfaces . . . . . . . . . . . . . . . . . . .7. Administración de la memoria durante7.1. El stack y el heap . . . . . . . . . . . .7.2. Recursividad . . . . . . . . . . . . . . .7.2.1. Las torres de Hanoi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .de regreso. . . . . . . . . . . . . . . . . . . . . . . . . 5175183187190193193195198200ejecución203. . . . . . . . . . . . . . . 203. . . . . . . . . . . . . . . 228. . . . . . . . . . . . . . . 2378. Ordenamientos usando estructuras de datos8.1. Base de datos en un arreglo . . . . . . . . .8.2. Manteniendo el orden con listas ligadas . . .8.2.1. Revisita de la clase ListaCurso . . . .8.3. *Ordenamiento usando árboles . . . . . . . .8.3.1. Construcción de árboles binarios para8.3.2. La clase ArbolOrden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .ordenamientos. . . . . . . . .245245264267271274276

iiiÍNDICE nserción . . . . . . . . . . . . . . . . . . . . .Listar toda la base de datos . . . . . . . . . .Conservación de la aleatoriedad de la entradaBúsquedas . . . . . . . . . . . . . . . . . . . .Listado condicionado de registros . . . . . . .Eliminación de nodos . . . . . . . . . . . . . .La clase MenuOrden . . . . . . . . . . . . . . .9. Manejo de errores en ejecución9.1. Tipos de errores . . . . . . . . . . . . . . .9.1.1. Excepciones en tiempo de ejecución9.2. La clase Exception . . . . . . . . . . . . . .9.3. Cómo detectar y cachar una excepción . .9.4. Las clases que extienden a Exception . . .9.4.1. Relanzamiento de excepciones . . .9.5. El enunciado finally . . . . . . . . . . . . .9.6. Restricciones para las excepciones . . . . .9.6.1. Apareamiento de excepciones . . .9.7. Recomendaciones generales . . . . . . . . . . . . . . . . . . .(RuntimeException). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10.Entrada y salida10.1. Conceptos generales . . . . . . . . . . . . . . . . . .10.2. Jerarquı́a de clases . . . . . . . . . . . . . . . . . .10.3. Entrada y salida de bytes . . . . . . . . . . . . . .10.4. Entrada y salida de carácteres . . . . . . . . . . . .10.4.1. Entrada y salida estándar . . . . . . . . . .10.5. El manejo del menú de la aplicación . . . . . . . . .10.5.1. La clase OutputStream . . . . . . . . . . .10.5.2. Lectura desde teclado . . . . . . . . . . . . .10.6. Redireccionamiento de in, out y err . . . . . . . . .10.7. Persistencia de la base de datos . . . . . . . . . . .10.7.1. Cómo guardar datos en un archivo en disco10.7.2. Cómo leer registros de un archivo de disco .10.7.3. Cómo agregar a un archivo ya creado . . . .10.8. Escritura y lectura de campos que no son cadenas .10.8.1. Escritura en archivos binarios . . . . . . . .10.8.2. Lectura de archivos binarios . . . . . . . . .10.8.3. Acceso semi directo a archivos binarios . . .10.8.4. Lectura directa de registros . . . . . . . . .10.8.5. Escritura directa de registros . . . . . . . . 73381382387390397

ÍNDICE GENERALiv10.9. Lectura y escritura de objetos . . . . . . . . . . . . . . . . . . . . 40110.10.Colofón . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41611.Hilos de ejecución11.1. ¿Qué es un hilo de ejecución? . . . . . . . . . . . .11.2. La clase Thread . . . . . . . . . . . . . . . . . . . .11.3. La interfaz Runnable . . . . . . . . . . . . . . . . .11.3.1. Constructores de la clase Thread . . . . . .11.4. Sincronización de hilos de ejecución . . . . . . . . .11.4.1. Métodos sincronizados . . . . . . . . . . . .11.4.2. Sincronización de métodos y la herencia . .11.4.3. Métodos estáticos sincronizados . . . . . . .11.4.4. Enunciados sincronizados . . . . . . . . . . .11.4.5. Modelos de sincronización . . . . . . . . . .11.5. Comunicación entre hilos de ejecución . . . . . . . .11.5.1. Ejemplo: un servidor de impresora . . . . .11.5.2. Más detalles sobre la espera y la notificación11.6. Alternativas para la programación de procesos . . .11.6.1. Desalojo voluntario . . . . . . . . . . . . . .11.7. Abrazo mortal (deadlock ) . . . . . . . . . . . . . .11.8. Cómo se termina la ejecución de un proceso . . . .11.8.1. Cancelación de un proceso . . . . . . . . . .11.8.2. Terminación de la ejecución de un proceso .11.9. Terminación de la aplicación . . . . . . . . . . . . .11.10.Depuración en hilos de ejecución . . . . . . . . . . .11.11.Otros temas relacionados con hilos de ejecución . 41445446450452455457

Índice de a de von Neumann . . . . . . . . . . . . . . . .Proceso para ejecutar un programa escrito en ensambladorCodificación en ensamblador de fórmulas matemáticas. . .Enteros en signo y magnitud. . . . . . . . . . . . . . . . .Números en complemento a 2 . . . . . . . . . . . . . . . .Suma de dos números con complemento a 2 . . . . . . . .Sumando 1 al máximo entero positivo . . . . . . . . . . . .Notación de punto fijo. . . . . . . . . . . . . . . . . . . . .14151719212122232.1. Proceso del software. . . . . . . . . . . . . . . . . . . . . . . . . .2.2. Árbol de herencia en clases. . . . . . . . . . . . . . . . . . . . . .2.3. Uso de llaves para denotar composición. . . . . . . . . . . . . . .2.4. Iteración en diagramas de Warnier-Orr. . . . . . . . . . . . . . . .2.5. Selección en diagramas de Warnier-Orr. . . . . . . . . . . . . . . .2.6. Diagramas de Warnier-Orr para secuencia. . . . . . . . . . . . . .2.7. Diagramas de Warnier-Orr para iteración. . . . . . . . . . . . . .2.8. Diagrama de Warnier-Orr para selección. . . . . . . . . . . . . . .2.9. Estado inicial de todo diagrama de Warnier-Orr. . . . . . . . . . .2.10. Diagrama inicial para encontrar factores primos. . . . . . . . . . .2.11. Diagrama de Warnier-Orr para procesar cada k. . . . . . . . . . .2.12. Diagrama para determinar si k es primo. . . . . . . . . . . . . . .2.13. Diagrama de Warnier-Orr para obtener factores primos de un .5.3.6.3.7.3.8.5858596061646465Tarjetas de clasificación y acceso. . . . . . . . . . . .Tarjeta de responsabilidades de la clase Reloj . . . .Tarjeta de responsabilidades para la clase Manecilla.Tarjeta de colaboraciones de la clase Manecilla. . .Tarjeta de colaboraciones de la clase Reloj. . . . . .Encabezado de una interfaz. . . . . . . . . . . . . . .Sintaxis para el xaccesoy. . . . . . . . . . . . . . . . .Reglas para la formación de un xidentificadory. . . . .

ÍNDICE DE FIGURASvi3.9. Encabezado de una clase. . . . . . . . . . . . . .3.10. Encabezado para los métodos de acceso. . . . .3.11. Especificación de parámetros. . . . . . . . . . .3.12. Encabezado de un constructor. . . . . . . . . .3.13. Declaración de un atributo . . . . . . . . . . . .3.14. Acceso a atributos o métodos de objetos . . . .3.15. Sintaxis para la implementación de un método.3.16. Declaración de variables locales. . . . . . . . . .3.17. El enunciado de asignación. . . . . . . . . . . .3.18. Construcción de objetos. . . . . . . . . . . . . .3.19. Invocación de método. . . . . . . . . . . . . . .67697176798183848889894.1. Tarjeta de responsabilidades para Curso. . . . . . . . . . . . . . .4.2. Tarjeta de responsabilidades para Curso. . . . . . . . . . . . . . .4.3. Diagrama de Warnier-Orr para los constructores. . . . . . . . . .4.4. Diagrama de Warnier-Orr para regresar el contenido de un campo.4.5. Encontrar el número de registro al que pertenece una subcadena. .4.6. Edición del i-ésimo registro, si es que existe. . . . . . . . . . . . .4.7. Algoritmos para listar el curso. . . . . . . . . . . . . . . . . . . .4.8. Enunciado compuesto while. . . . . . . . . . . . . . . . . . . . . .4.9. Encontrar el lı́mite de 21n , dado ε . . . . . . . . . . . . . . . . . .4.10. Sumar número mientras no me den un 1 . . . . . . . . . . . . .4.11. Enunciado compuesto do . . . while . . . . . . . . . . . . . . . . .4.12. Algoritmo para agregar un estudiante. . . . . . . . . . . . . . . .4.13. Posibles situaciones para eliminar a un registro. . . . . . . . . . .4.14. Algoritmo para eliminar a un estudiante de la lista. . . . . . . . .4.15. Enunciado compuesto condicional . . . . . . . . . . . . . . . . . .4.16. Método que encuentra TODOS los que contienen a una subcadena.4.17. Menú para uso de la clase Curso. . . . . . . . . . . . . . . . . . .4.18. Enunciado switch. . . . . . . . . . . . . . . . . . . . . . . . . . .4.19. Enunciado break. . . . . . . . . . . . . . . . . . . . . . . . . . . 56156157158159Ilustración de una lista. . . . . . . . . . . .Contando los registros de una lista. . . . .Procesando los registros de una lista. . . .Agregando al principio de la lista. . . . . . .Esquema del agregado un registro al principioAgregando al final de la lista. . . . . . . .Agregando al final de la lista. . . . . . . .Imprimiendo todos los registros. . . . . . . . . . . . . . .de la. . . . . . . . . . . . . . .lista. . . . . . .

viiÍNDICE DE FIGURAS5.9. Imprimiendo registros seleccionados. . . . . .5.10. Patrón de búsqueda de un registro que cumpla5.11. Eliminando a un estudiante. . . . . . . . . . .5.12. Eliminado de un registro en una lista. . . . . . . . . .con . . . . . . . . . . .1601611631646.1. intr s primos {2,3,5,7,11}; . . . . . . . . . . . . . . . .6.2. float [ ] vector { 3.14, 8.7, 19.0}; . . . . . . . . . . . .6.3. String [ ] cadenas { ”Sı́”, ”No”}; . . . . . . . . . . . .6.4. Declaración del contenido de un arreglo de objetos . . . .6.5. int r s primos new intr5s; . . . . . . . . . . . . . . . .6.6. EstudianteBasicor s estudiantes . . . . . . . . . . . . . .6.7. floatr s vector floatr3s; . . . . . . . . . . . . . . . . .6.8. Stringr s cadenas new Stringr2s; . . . . . . . . . . . . .6.9. Reasignación de arreglos. . . . . . . . . . . . . . . . . . .6.10. Acomodo en memoria de un arreglo de dos dimensiones.6.11. Ejecución de la clase Arreglos. . . . . . . . . . . . . . . .6.12. Jerarquı́a de clases. . . . . . . . . . . . . . . . . . . . . .1781781781791801811811811831881921987.1. Estructura de bloques de un programa. . . . . . . . . . . .7.2. Diagrama de anidamiento dinámico. . . . . . . . . . . . . .7.3. Secuencia de llamadas en el listado 7.1. . . . . . . . . . . .7.4. Esquema de una stack o pila. . . . . . . . . . . . . . . . .7.5. Algoritmo para ejecutar un programa. . . . . . . . . . . .7.6. Estado del stack al iniciarse la ejecución de una clase. . . .7.7. El stack al iniciarse la llamada a main. . . . . . . . . . . .7.8. Registro de activación para main. . . . . . . . . . . . . . .7.9. El stack listo para iniciar la ejecución de main. . . . . . . .7.10. El stack durante la ejecución de main. . . . . . . . . . . . .7.11. El stack durante la ejecución de A. . . . . . . . . . . . . .7.12. El stack antes de empezar a ejecutar B. . . . . . . . . . . .7.13. El stack antes de empezar a ejecutar C desde la lı́nea #16:.7.14. El stack al terminar de ejecutarse C(). . . . . . . . . . . .7.15. El stack al terminar la ejecución de B(10,3). . . . . . . . .7.16. El stack al terminar la ejecución de A(10). . . . . . . . . .7.17. El stack antes de la ejecución de B(3,2). . . . . . . . . . .7.18. El stack antes de la ejecución de C(). . . . . . . . . . . . .7.19. El stack al terminar la ejecución deC(). . . . . . . . . . . .7.20. El stack al terminar la ejecución de B(3,2). . . . . . . . . .7.21. El stack antes de empezar la ejecución de C(). . . . . . . .7.22. El stack listo para iniciar la ejecución de main. . . . . . . 22223224224225226

ÍNDICE DE FIGURASviii7.23. Estado del stack al iniciarse la ejecución de una clase. . . . . . . .7.24. Estado del stack al iniciarse la llamada de factorial desde main. . .7.25. Estado del stack al iniciarse la llamada de factorial desde factorial.7.26. Estado del stack al iniciarse la llamada de factorial desde factorial.7.27. Estado del stack al iniciarse la llamada de factorial desde factorial.7.28. Estado del stack al terminarse la llamada de factorial(1). . . . . .7.29. Estado del stack al terminarse la llamada de factorial(2). . . . . .7.30. Estado del stack al terminarse la llamada de factorial(3). . . . . .7.31. Estado del stack al terminarse la llamada de factorial desde main. .7.32. Juego de las torres de Hanoi . . . . . . . . . . . . . . . . . . . . .7.33. Estrategia recursiva para las torres de Hanoi . . . . . . . . . . . .7.34. Secuencia de llamadas en la torres de Hanoi . . . . . . . . . . . .7.35. Situación de las fichas antes de la llamada . . . . . . . . . . . . .7.36. Movimientos /* 1 */ al /* 3 */ . . . . . . . . . . . . . . . . . . .7.37. Movimiento /* 4 */ . . . . . . . . . . . . . . . . . . . . . . . . . .7.38. Movimientos /* 5 */ al /* 7 */ . . . . . . . . . . . . . . . . . . .7.39. Movimiento /* 8 */ . . . . . . . . . . . . . . . . . . . . . . . . . .7.40. Movimientos /* 9 */ al /* 11 */ . . . . . . . . . . . . . . . . . . .7.41. Movimiento /* 12 */ . . . . . . . . . . . . . . . . . . . . . . . . .7.42. Movimientos /* 13 */ al /* 15 */ . . . . . . . . . . . . . . . . . 422422432438.1. Algoritmo para eliminar a un estudiante . . . . . . .8.2. Agregando al principio de la lista . . . . . . . . . . .8.3. Agregando en medio de la lista. . . . . . . . . . . . .8.4. Agregando un registro en orden. . . . . . . . . . . . .8.5. Definición recursiva de un árbol. . . . . . . . . . . . .8.6. Árbol binario bien organizado. . . . . . . . . . . . . .8.7. Árbol que se forma si los registros vienen ordenados.8.8. Agregar un registro manteniendo el orden. . . . . . .8.9. Ejemplo simple para recorridos de árboles. . . . . . .8.10. Recorrido simétrico de un árbol . . . . . . . . . . . .8.11. Recorrido en preorden de un árbol . . . . . . . . . . .8.12. Búsqueda en un árbol ordenado . . . . . . . . . . . .8.13. Búsqueda de una subcadena . . . . . . . . . . . . . . .8.14. Selección de registros que cumplen una condición . .8.15. Algoritmo para encontrar el menor de un subárbol . .8.16. Eliminación de un nodo en un árbol . . . . . . . . . 9.1. Ejecución de AritmExc. . . . . . . . . . . . . . . . . . . . . . . . . 2979.2. Ejecución de ArraySE. . . . . . . . . . . . . . . . . . . . . . . . . . 297

ixÍNDICE DE FIGURAS9.3.9.4.9.5.9.6.9.7.9.8.9.9.Ejecución del programa ClassCE. . . . . . . . . . . . .Detección y manejo de excepciones. . . . . . . . . . .Excepciones de tiempo de ejecución cachadas con unaEjecución con relanzamiento de la excepción. . . . . .Ejecución de CaracteristicasExtra. . . . . . . . . . . .Ejecución de FinallyTrabaja. . . . . . . . . . . . . . .Ejecución de SiempreFinally. . . . . . . . . . . . . . . . . . . . . . . . . . .superclase. . . . . . . . . . . . . . . . . . . . . . . . .29830230430631631832110.1. Algoritmo para el uso de flujos de entrada . . . . . . . . . . . . .10.2. Algoritmo para el uso de flujos de salida . . . . . . . . . . . . . .10.3. Funcionamiento de flujo de entrada . . . . . . . . . . . . . . . . .10.4. Funcionamiento de flujo de salida . . . . . . . . . . . . . . . . . .10.5. Jerarquı́a de clases para InputStream. . . . . . . . . . . . . . . . .10.6. Jerarquı́a de clases para OutputStream. . . . . . . . . . . . . . . .10.7. Jerarquı́a de clases para Writer. . . . . . . . . . . . . . . . . . . .10.8. Jerarquı́a de clases para Reader. . . . . . . . . . . . . . . . . . . .10.9. Entrada/Salida con proceso intermedio (filtros) . . . . . . . . . .10.10.Algoritmo para guardar la base

Introduccion a Ciencias de la Computaci on I (con Java) Elisa Viso G. Canek Pel aez V. Facultad de Ciencias, UNAM

Related Documents:

4 El contexto de esta cartilla 5 El desafío: formar en ciencias naturales y en ciencias sociales 6 La propuesta de ciencias naturales y ciencias sociales: puntos en común 8 Cómo están estructurados los estándares: claves generales 10 Los estándares de ciencias sociales: un derrotero 28 Cómo leer los estándares de

3 luis flores prado profesor de biologÍa y ciencias naturales, universidad metropolitana de ciencias de la educaciÓn doctor en ciencias, menciÓn ecologÍa y biologÍa evolutiva, universidad de chile josÉ aravena rodrÍguez profesor de biologÍa y ciencias naturales, magÍster en ciencias de la educaciÓn, menciÓn gestiÓn educacional, universidad metropolitana

INTRODUCCIÓN A LAS CIENCIAS SOCIALES 6 DGB/DCA/2013 interculturalidad. Para lograr este objetivo, se tomaron en cuenta los atributos de las competencias genéricas y las competencias disciplinares básicas del campo de Humanidades y Ciencias Sociales4, mismas que sirvieron de guía

AUTODOME IP starlight 5000i y 5000i IR - Introducción al producto Básico Video EN MIC IP 7000i, fusion 9000i - Introducción comercial Básico - Video EN MIC IP 7000i - Introducción técnica Básico Video EN MIC IP fusion 9000i - Introducción técnica Básico Video EN FLEXIDOME & DINION IP 4000i, 5000i, 6000 - Introducción comercial Básico

TEMA 1. Introducción a la teoría del color. 1. INTRODUCCIÓN En esta parte del temario realizaremos una introducción a las principales técnicas relacionadas con la teoría del color y su representación en un computador. 2. CONCEPTOS BÁSICOS EN EL DISEÑO Y PRODUCCIÓN DE IMÁGENES POR COMPUTADOR. Introducción

Ciencias Naturales en la Escuela Primaria: Colocando las Piedras Fundamentales del Pensa-miento Científico. IV Foro Latinoamericano de Educación, Fundación Buenos Aires: Santillana; y Melina Furman y María Eugenia de Podestá (2009). La aventura de enseñar Ciencias Naturales en la escuela primaria. Buenos Aires: Aique (Premio al mejor libro de Educación, Fundación El Libro). Ciencias .

GODOY, Leandro pereira de. Vontade de saber ciências, 6 ao 9 ano.São Paulo:FTD,2012. GEWANDSZNAJDER, Fernando.Projeto Telaris:Ciências (Planeta Terra-6 ano,Vida n a Terra-7 ano,Nosso Corpo-8 ano,Matéria e Energia-9 ano).São Paulo:Ática,2012. Observatório de Ciências/organizadora Editora Moderna; obra coletiva concebida, des

ASTM C167 (g/cc) Maximum Use Temperature ( C) Spaceloft Subsea : 5 or 10 ; 14.5 : 0.16 : 200 : Spaceloft Grey ; 5 or 10 : 16.5 : 0.16 : 200 : Cryogel x201 : 5 or 10 ; 17.0 : 0.16 : 200 : Pyrogel XTE ; 5 or 10 : 21 : 0.20 : 650 *Thermal conductivity at 37.5 C (100 F), 13.8 kPa (2 psi) compressive load, & atmospheric pressure. Examining several of Aspen Aerogels’ commercially .