PDF de programación - Introducción a Ciencias de la Computación I (con Java)

Imágen de pdf Introducción a Ciencias de la Computación I (con Java)

Introducción a Ciencias de la Computación I (con Java)gráfica de visualizaciones

Actualizado el 21 de Marzo del 2018 (Publicado el 11 de Marzo del 2018)
2.816 visualizaciones desde el 11 de Marzo del 2018
3,0 MB
473 paginas
Creado hace 13a (30/09/2006)
Introducci´on a Ciencias de la

Computaci´on I

(con Java)

Elisa Viso G.
Canek Pel´aez V.
Facultad de Ciencias, UNAM

´Indice general

1. Introducci´on

1.1. Conceptos generales . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2. Historia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3. Sistemas num´ericos . . . . . . . . . . . . . . . . . . . . . . . . . .
1.4. La Arquitectura de Von Neumann . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . .
1.5. Ejecuci´on de programas
1.5.1. Filosof´ıas de programaci´on . . . . . . . . . . . . . . . . . .
1.6. Caracter´ısticas de Java . . . . . . . . . . . . . . . . . . . . . . . .

2. El Proceso del Software

2.1. ¿Qu´e es la programaci´on? . . . . . . . . . . . . . . . . . . . . . .
2.1.1. Conceptos en la orientaci´on a objetos . . . . . . . . . . . .
2.2. Dise˜no orientado a objetos . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
2.3. Dise˜no Estructurado . . . . . . . . . . . . . . . . . . . . . . . . .

2.2.1. Tarjetas de responsabilidades

3. Clases y Objetos

3.1. Tarjetas de responsabilidades
. . . . . . . . . . . . . . . . . . . .
3.2. Programaci´on en Java . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . .
3.3. Expresiones en Java . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . .

3.2.1. Declaraciones en Java
3.2.2. Alcance de los identificadores
3.2.3.

Implementaci´on de m´etodos en Java

3.3.1. Declaraci´on y definici´on simult´aneas

4. Manejo de cadenas y expresiones

Implementaci´on de una Base de Datos

4.1. Manejo de cadenas en Java . . . . . . . . . . . . . . . . . . . . . .
4.2.
. . . . . . . . . . . . . . .
4.3. Una clase Men´u . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3.1. Salir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1
2
3
6
13
25
26
27

29
29
36
42
45
46

55
55
62
63
81
83
91
98

101
101
106
131
138

´INDICE GENERAL

4.3.2. Agrega estudiante . . . . . . . . . . . . . . . . . . . . . . .
4.3.3. Quita estudiante
. . . . . . . . . . . . . . . . . . . . . . .
4.3.4. Busca estudiante . . . . . . . . . . . . . . . . . . . . . . .
4.3.5. Lista todo el curso . . . . . . . . . . . . . . . . . . . . . .
4.3.6. Lista los que cumplan con alg´un criterio . . . . . . . . . .
4.3.7. Valor por omisi´on . . . . . . . . . . . . . . . . . . . . . . .
4.3.8. M´etodo principal de MenuCurso . . . . . . . . . . . . . . .

5. Datos estructurados

5.1. La clase para cada registro . . . . . . . . . . . . . . . . . . . . . .
5.2. La lista de registros . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
5.2.1. Paso por valor y por referencia
5.2.2. Eliminado de registros
. . . . . . . . . . . . . . . . . . . .
5.2.3. La clase MenuLista . . . . . . . . . . . . . . . . . . . . . .

6. Herencia

6.1. Extensi´on de clases . . . . . . . . . . . . . . . . . . . . . . . . . .
6.2. Arreglos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.2.1. Arreglos de una dimensi´on . . . . . . . . . . . . . . . . . .
6.2.2.
Iteraci´on enumerativa . . . . . . . . . . . . . . . . . . . . .
6.2.3. Arreglos de m´as de una dimensi´on . . . . . . . . . . . . . .
6.2.4. Los arreglos como par´ametros y valor de regreso . . . . . .
6.3. Aspectos principales de la herencia . . . . . . . . . . . . . . . . .
6.3.1. Super y subclases . . . . . . . . . . . . . . . . . . . . . . .
6.4. Polimorfismo . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.5. Clases abstractas . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.6.

Interfaces

7. Administraci´on de la memoria durante ejecuci´on

7.1. El stack y el heap . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.2. Recursividad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.2.1. Las torres de Hanoi . . . . . . . . . . . . . . . . . . . . . .

8. Ordenamientos usando estructuras de datos

8.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 ´arboles . . . . . . . . . . . . . . . . . . . .
8.3.1. Construcci´on de ´arboles binarios para ordenamientos
. . .
8.3.2. La clase ArbolOrden . . . . . . . . . . . . . . . . . . . . . .

ii

139
140
141
141
141
141
141

145
146
151
162
163
166

171
171
175
175
183
187
190
193
193
195
198
200

203
203
228
237

245
245
264
267
271
274
276

iii

´INDICE GENERAL

8.3.3.
Inserci´on . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.3.4. Listar toda la base de datos . . . . . . . . . . . . . . . . .
8.3.5. Conservaci´on de la aleatoriedad de la entrada . . . . . . .
8.3.6. B´usquedas . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.3.7. Listado condicionado de registros . . . . . . . . . . . . . .
8.3.8. Eliminaci´on de nodos . . . . . . . . . . . . . . . . . . . . .
8.3.9. La clase MenuOrden . . . . . . . . . . . . . . . . . . . . . .

9. Manejo de errores en ejecuci´on

9.1. Tipos de errores . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.1.1. Excepciones en tiempo de ejecuci´on (RuntimeException) . .
9.2. La clase Exception . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.3. C´omo detectar y cachar una excepci´on . . . . . . . . . . . . . . .
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.7. Recomendaciones generales . . . . . . . . . . . . . . . . . . . . . .

9.6.1. Apareamiento de excepciones

10.Entrada y salida

10.4.1. Entrada y salida est´andar

10.1. Conceptos generales . . . . . . . . . . . . . . . . . . . . . . . . . .
10.2. Jerarqu´ıa de clases
. . . . . . . . . . . . . . . . . . . . . . . . . .
10.3. Entrada y salida de bytes
. . . . . . . . . . . . . . . . . . . . . .
10.4. Entrada y salida de car´acteres . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
10.5. El manejo del men´u de la aplicaci´on . . . . . . . . . . . . . . . . .
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´omo guardar datos en un archivo en disco
. . . . . . . .
10.7.2. C´omo leer registros de un archivo de disco . . . . . . . . .
10.7.3. C´omo 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 . . . . . . . . . . . . . . . . .

276
279
281
282
285
287
293

295
295
296
300
302
311
317
317
322
324
325

327
327
330
330
335
337
339
339
348
358
359
365
368
371
373
381
382
387
390
397

´INDICE GENERAL

iv

10.9. Lectura y escritura de objetos . . . . . . . . . . . . . . . . . . . .
10.10.Colof´on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

401
416

11.Hilos de ejecuci´on

11.1. ¿Qu´e es un hilo de ejecuci´on? . . . . . . . . . . . . . . . . . . . .
11.2. La clase Thread . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11.3. La interfaz Runnable . . . . . . . . . . . . . . . . . . . . . . . . .
11.3.1. Constructores de la clase Thread . . . . . . . . . . . . . .
11.4. Sincronizaci´on de hilos de ejecuci´on . . . . . . . . . . . . . . . . .
11.4.1. M´etodos sincronizados . . . . . . . . . . . . . . . . . . . .
11.4.2. Sincronizaci´on de m´etodos y la herencia . . . . . . . . . .
11.4.3. M´etodos est´aticos sincronizados . . . . . . . . . . . . . . .
11.4.4. Enunciados sincronizados . . . . . . . . . . . . . . . . . . .
11.4.5. Modelos de sincronizaci´on . . . . . . . . . . . . . . . . . .
11.5. Comunicaci´on entre hilos de ejecuci´on . . . . . . . . . . . . . . . .
11.5.1. Ejemplo: un servidor de impresora
. . . . . . . . . . . . .
11.5.2. M´as detalles sobre la espera y la notificaci´on . . . . . . . .
11.6. Alternativas para la programaci´on de procesos . . . . . . . . . . .
11.6.1. Desalojo voluntario . . . . . . . . . . . . . . . . . . . . . .
11.7. Abrazo mortal (deadlock )
. . . . . . . . . . . . . . . . . . . . . .
11.8. C´omo se termina la ejecuci´on de un proceso . . . . . . . . . . . .
11.8.1. Cancelaci´on de un proceso . . . . . . . . . . . . . . . . . .
11.8.2. Terminaci´on de la ejecuci´on de un proceso . . . . . . . . .
11.9. Terminaci´on de la aplicaci´on . . . . . . . . . . . . . . . . . . . . .
11.10.Depuraci´on en hilos de ejecuci´on . . . . . . . . . . . . . . . . . . .
11.11.Otros temas relacionados con hilos de ejecuci´on . . . . . . . . . .

417
417
418
421
423
424
424
426
427
427
430
430
432
435
438
439
441
445
446
450
452
455
457

´Indice de Figuras

1.1. Arquitectura de von Neumann . . . . . . . . . . . . . . . . . . . .
1.2. Proceso para ejecutar un programa escrito en ensamblador . . . .
1.3. Codificaci´on en ensamblador de f´ormulas matem´aticas.
. . . . . .
1.4. Enteros en signo y magnitud.
. . . . . . . . . . . . . . . . . . . .
1.5. N´umeros en complemento a 2 . . . . . . . . . . . . . . . . . . . .
1.6. Suma de dos n´umeros con complemento a 2 . . . . . . . . . . . .
1.7. Sumando 1 al m´aximo entero positivo . . . . . . . . . . . . . . . .
1.8. Notaci´
  • Links de descarga
http://lwp-l.com/pdf9428

Comentarios de: Introducción a Ciencias de la Computación I (con Java) (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad