PDF de programación - Software libre - Introducción al desarrollo del software

Imágen de pdf Software libre - Introducción al desarrollo del software

Software libre - Introducción al desarrollo del softwaregráfica de visualizaciones

Actualizado el 17 de Julio del 2017 (Creado el 24 de Enero del 2017)
628 visualizaciones desde el 24 de Enero del 2017. Una media de 28 por semana
1,4 MB
394 paginas
Creado hace 14a (20/02/2003)
Software libre

Josep Anton Pérez López
Lluís Ribas i Xirgo

XP06/M2110/01498

Introducción
al desarrollo
del software

U

www.uoc.edu

David Megías Jiménez

Jordi Mas

Coordinador

Coordinador

Ingeniero en Informática por la UAB.
Magíster en Técnicas Avanzadas de
Automatización de Procesos por la
UAB.
Doctor en Informática por la UAB.
Profesor de los Estudios de Informática
y Multimedia de la UOC.

Ingeniero de software en la empresa
de código abierto Ximian, donde
trabaja en la implementación del
proyecto libre Mono. Como voluntario,
colabora en el desarrollo del
procesador de textos Abiword y en la
ingeniería de las versiones en catalán
del proyecto Mozilla y Gnome. Es
también coordinador general de
Softcatalà. Como consultor ha
trabajado para empresas como
Menta, Telépolis, Vodafone, Lotus,
eresMas, Amena y Terra España.

Josep Anton Pérez López

Lluís Ribas i Xirgo

Autor

Autor

Licenciado en Informática por la
Universidad Autónoma de Barcelona.
Magíster en el programa Gráficos,
Tratamiento de Imágenes y de
Inteligencia Artificial, por la UAB.
Actualmente trabaja como profesor
en un centro de educación secundaria.

Licenciado en Ciencias-Informática
y doctorado en Informática por la
Universidad Autònoma de Barcelona
(UAB).
Profesor titular del Departamento
de Informática de la UAB. Consultor de
los Estudios de Informática y Multimedia
en la Universitat Oberta de Catalunya
(UOC).

Primera edición: marzo 2004
© Fundació per a la Universitat Oberta de Catalunya
Av. Tibidabo, 39-43, 08035 Barcelona
Material realizado por Eureca Media, SL
© Autores: Josep Antoni Pérez López y Lluís Ribas i Xirgo
Depósito legal: B-7.600-2004

Se garantiza permiso para copiar, distribuir y modificar este documento según los términos de la GNU Free Documentation License,
Version 1.2 o cualquiera posterior publicada por la Free Software Foundation, sin secciones invariantes ni textos de cubierta delan-
tera o trasera. Se dispone de una copia de la licencia en el apartado "GNU Free Documentation License" de este documento.

Introducción al desarrollo del software

© FUOC • XP06/M2110/01498



Índice

Agradecimientos ............................................................

9

1. Introducción a la programación ...............................
1.1.
Introducción .......................................................
1.2. Un poco de historia de C.....................................
Entorno de programación en GNU/C .................
1.3.
1.3.1. Un primer programa en C .....................
1.3.2. Estructura de un programa simple ..........
La programación imperativa ...............................
1.4.1. Tipos de datos básicos ...........................
1.4.2.

1.4.

La asignación y la evaluación
de expresiones .......................................
Instrucciones de selección .......................

1.4.3.
1.4.4. Funciones estándar de entrada

y de salida .............................................
1.5. Resumen ............................................................
Ejercicios de autoevaluación ...............................
1.6.
1.6.1. Solucionario ..........................................

2. La programación estructurada .................................
Introducción .......................................................
Principios de la programación estructurada .........
Instrucciones iterativas ........................................
Procesamiento de secuencias de datos ................
2.4.1. Esquemas algorítmicos: recorrido

2.1.
2.2.
2.3.
2.4.

y búsqueda ...........................................
2.4.2. Filtros y tuberías .....................................
2.5. Depurado de programas ....................................
2.6.
Estructuras de datos ...........................................
2.7. Matrices .............................................................
2.7.1. Declaración ...........................................
2.7.2. Referencia .............................................
2.7.3. Ejemplos ...............................................
Estructuras heterogéneas ....................................
2.8.1. Tuplas ...................................................
2.8.2. Variables de tipo múltiple .......................

2.8.

11
11
12
16
17
21
23
24

28
33

35
40
41
42

45
45
48
49
52

53
59
62
66
67
68
70
71
74
74
77

3

I

S
E
N
O
C
A
T
O
N
A

© FUOC • XP06/M2110/01498

Software libre

2.9.

Tipos de datos abstractos .................................... 79
2.9.1. Definición de tipos de datos abstractos .... 80
2.9.2. Tipos enumerados .................................. 81
2.9.3. Ejemplo ................................................. 82
2.10. Ficheros ............................................................. 84
2.10.1. Ficheros de flujo de bytes ........................ 84
2.10.2. Funciones estándar para ficheros ............ 85
2.10.3. Ejemplo ................................................. 90
2.11. Principios de la programación modular ............... 92
2.12. Funciones ........................................................... 92
2.12.1. Declaración y definición ......................... 92
2.12.2. Ámbito de las variables .......................... 96
2.12.3. Parámetros por valor y por referencia ..... 99
2.12.4. Ejemplo ................................................. 101
2.13. Macros del preprocesador de C .......................... 103
2.14. Resumen ............................................................ 104
2.15. Ejercicios de autoevaluación ................................ 106
2.15.1. Solucionario ........................................... 110

3. Programación avanzada en C. Desarrollo

eficiente de aplicaciones ........................................... 125
3.1.
Introducción ....................................................... 125
Las variables dinámicas ...................................... 127
3.2.
Los apuntadores ................................................. 129
3.3.
3.3.1. Relación entre apuntadores y vectores ..... 132
3.3.2. Referencias de funciones ......................... 135
3.4. Creación y destrucción de variables dinámicas ..... 137
Tipos de datos dinámicos .................................... 139
3.5.
3.5.1. Cadenas de caracteres ........................... 140
Listas y colas .......................................... 145
3.5.2.
3.6. Diseño descendente de programas ...................... 156
3.6.1. Descripción ............................................ 157
3.6.2. Ejemplo ................................................. 158
Tipos de datos abstractos y funciones
asociadas ........................................................... 159
Ficheros de cabecera .......................................... 166
3.8.1. Estructura ............................................... 166
3.8.2. Ejemplo ................................................. 169
3.9. Bibliotecas .......................................................... 172
3.9.1. Creación ............................................... 172
3.9.2. Uso ....................................................... 173
3.9.3. Ejemplo ................................................. 174
3.10. Herramienta make .............................................. 175
3.10.1. Fichero makefile ..................................... 176

3.8.

3.7.

A
N
O
T
A
C
O
N
E
S

I

4

Introducción al desarrollo del software

© FUOC • XP06/M2110/01498

3.11. Relación con el sistema operativo. Paso

de parámetros a programas ............................... 179
3.12. Ejecución de funciones del sistema operativo ....... 181
3.13. Gestión de procesos ........................................... 183
3.13.1. Definición de proceso ............................ 184
3.13.2. Procesos permanentes ............................ 185
3.13.3. Procesos concurrentes ............................ 188
3.14. Hilos .................................................................. 189
3.14.1. Ejemplo ................................................. 190
3.15. Procesos ............................................................ 193
3.15.1. Comunicación entre procesos ................. 198
3.16. Resumen ............................................................ 202
3.17. Ejercicios de autoevaluación ............................... 204
3.17.1. Solucionario .......................................... 211

4. Programación orientada a objetos en C++ ............. 219
4.1.
Introducción ....................................................... 219
4.2. De C a C++ ..................................................... 221
4.2.1. El primer programa en C++ .................. 221
4.2.2. Entrada y salida de datos ....................... 223
4.2.3. Utilizando C++ como C ........................ 226
4.2.4.
Las instrucciones básicas ........................ 227
Los tipos de datos .................................. 227
4.2.5.
La declaración de variables
4.2.6.
y constantes ........................................... 230
La gestión de variables dinámicas .......... 231
Las funciones y sus parámetros ............... 235

4.2.7.
4.2.8.
El paradigma de la programación orientada
a objetos ........................................................... 240
4.3.1. Clases y objetos ..................................... 242
4.3.2. Acceso a objetos .................................... 246
4.3.3. Constructores y destructores

4.3.

de objetos ............................................. 250

4.3.4. Organización y uso de bibliotecas

en C ++................................................ 257
4.4. Diseño de programas orientados a objetos .......... 261
La homonimia ....................................... 262
4.4.1.
4.4.2.
La herencia simple ................................. 267
4.4.3. El polimorfismo ..................................... 273
4.4.4. Operaciones avanzadas con herencia ..... 279
4.4.5. Orientaciones para el análisis y diseño

de programas .....................................
  • Links de descarga
http://lwp-l.com/pdf2105  

Comentarios de: Software libre - Introducción al desarrollo del software (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios