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 22 de Mayo del 2020 (Publicado el 23 de Enero del 2017)
2.465 visualizaciones desde el 23 de Enero del 2017
2,1 MB
385 paginas
Creado hace 20a (28/04/2004)
Software libre

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

XP04/90793/00018

Introducción
al desarrollo
del software

U

Formación de Posgrado

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
ISBN: 84-9788-119-2

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 • XP04/90793/00018



Índice

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

9

1. Introducción a la programación ...............................
1.1.
Introducción .......................................................
1.2. Un poco de historia de C.....................................
1.3. Entorno de programación en GNU/C .................
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 ............................................................
1.6. Ejercicios de autoevaluación ...............................
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 ...............................................
2.8. Estructuras heterogéneas ....................................
2.8.1. Tuplas ...................................................
2.8.2. Variables de tipo múltiple .......................

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 • XP04/90793/00018

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
3.5. Tipos de datos dinámicos .................................... 139
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

3.7. Tipos de datos abstractos y funciones

asociadas ........................................................... 159
3.8. 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

A
N
O
T
A
C
O
N
E
S

I

4

Introducción al desarrollo del software

ªª FUOC • XP04/90793/00018

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.

4.3. 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

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
  • Links de descarga
http://lwp-l.com/pdf2072

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

David
31 de Enero del 2017
estrellaestrellaestrellaestrellaestrella
Muy buen aporte, gracias.
Responder

Comentar...

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

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad