PDF de programación - Fundamentos de Programación con el Lenguaje de Programación C++

Imágen de pdf Fundamentos de Programación con el Lenguaje de Programación C++

Fundamentos de Programación con el Lenguaje de Programación C++gráfica de visualizaciones

Publicado el 14 de Abril del 2018
925 visualizaciones desde el 14 de Abril del 2018
1.000,7 KB
175 paginas
Creado hace 7a (17/05/2013)
UNIVERSIDAD DE M ÁLAGA

Dpt. Lenguajes y CC. Computación

E.T.S.I. Informática

Ingeniería Informática

Fundamentos de Programación

con

el Lenguaje de Programación

C++

Vicente Benjumea y Manuel Roldán

17 de mayo de 2013

2

Este obra está bajo una licencia Reconocimiento-NoComercial-CompartirIgual 3.0 Un-
ported de Creative Commons: No se permite un uso comercial de la obra original ni
de las posibles obras derivadas,
la distribución de las cuales se debe hacer con una li-
cencia igual a la que regula la obra original. Para ver una copia de esta licencia, visite
http://creativecommons.org/licenses/by-nc-sa/3.0/deed.es ES o envie una carta a Cre-
ative Commons, 171 Second Street, Suite 300, San Francisco, California 94105, USA.

Usted es libre de:

• Copiar, distribuir y comunicar públicamente la obra.
• Hacer obras derivadas.

Bajo las siguientes condiciones:

• Reconocimiento (Attribution) – Debe reconocer los créditos de la obra de la manera
especificada por el autor o el licenciador (pero no de una manera que sugiera que tiene
su apoyo o apoyan el uso que hace de su obra).

• No comercial (Non commercial) – No puede utilizar esta obra para fines comerciales.
• Compartir bajo la misma licencia (Share alike) – Si altera o transforma esta obra,
o genera una obra derivada, sólo puede distribuir la obra generada bajo una licencia
idéntica a ésta.

Entendiendo que:

• Renuncia – Alguna de estas condiciones puede no aplicarse si se obtiene el permiso del

titular de los derechos de autor

• Dominio Público – Cuando la obra o alguno de sus elementos se halle en el dominio
público según la ley vigente aplicable, esta situación no quedará afectada por la licencia.
• Otros derechos – Los derechos siguientes no quedan afectados por la licencia de ninguna

manera:

no se ven afectados por lo anterior.

◦ Los derechos derivados de usos legítimos u otras limitaciones reconocidas por ley
◦ Los derechos morales del autor
◦ Derechos que pueden ostentar otras personas sobre la propia obra o su uso, como

por ejemplo derechos de imagen o de privacidad.

• Aviso – Al reutilizar o distribuir la obra, tiene que dejar bien claro los términos de la

licencia de esta obra.

Dpto. Lenguajes y Ciencias de la Computación

Universidad de Málaga

Índice general

Prólogo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

I Programación Básica

1. Un Programa C++

2. Tipos Simples

2.1. Declaración Vs. Definición . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2. Tipos Simples Predefinidos
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3. Tipos Simples Enumerados
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4. Constantes y Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5. Operadores
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.6. Conversiones Automáticas (Implícitas) de Tipos . . . . . . . . . . . . . . . . . . . .
2.7. Conversiones Explícitas de Tipos . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.8. Tabla ASCII
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.9. Algunas Consideraciones Respecto a Operaciones con Números Reales . . . . . . .

3. Entrada y Salida de Datos Básica

3.1. Salida de Datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2. Entrada de Datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3. El “Buffer” de Entrada y el “Buffer” de Salida . . . . . . . . . . . . . . . . . . . .

4. Estructuras de Control

4.1. Sentencia, Secuencia y Bloque . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2. Declaraciones Globales y Locales . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3. Sentencias de Asignación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.4. Sentencias de Selección . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.5. Sentencias de Iteración. Bucles
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.6. Programación Estructurada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.7. Ejemplos
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5. Subprogramas. Funciones y Procedimientos

5.1. Funciones y Procedimientos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2. Definición de Subprogramas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.3. Ejecución de Subprogramas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.4. Paso de Parámetros. Parámetros por Valor y por Referencia . . . . . . . . . . . . .
5.5. Criterios de Modularización . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.6. Subprogramas “en Línea” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.7. Declaración de Subprogramas. Prototipos
. . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.8. Sobrecarga de Subprogramas
5.9. Pre-Condiciones y Post-Condiciones
. . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.10. Ejemplos

3

7

9

11

15
15
15
17
18
19
20
21
22
22

25
25
26
28

29
29
29
30
31
33
35
35

37
37
38
39
39
41
41
42
42
43
44

4

6. Tipos Compuestos

ÍNDICE GENERAL

6.1. Paso de Parámetros de Tipos Compuestos . . . . . . . . . . . . . . . . . . . . . . .
6.2. Cadenas de Caracteres en C++: el Tipo String . . . . . . . . . . . . . . . . . . . .
6.3. Registros o Estructuras
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.4. Agregados: el Tipo Array . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.5. Resolución de Problemas Utilizando Tipos Compuestos
. . . . . . . . . . . . . . .

7. Búsqueda y Ordenación

7.1. Búsqueda Lineal (Secuencial) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.2. Búsqueda Binaria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.3. Ordenación por Intercambio (Burbuja) . . . . . . . . . . . . . . . . . . . . . . . . .
7.4. Ordenación por Selección . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.5. Ordenación por Inserción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.6. Aplicación de los Algoritmos de Búsqueda y Ordenación . . . . . . . . . . . . . . .

8. Algunas Bibliotecas Útiles

II Programación Intermedia

9. Almacenamiento en Memoria Secundaria: Ficheros

9.1. Flujos de Entrada y Salida Asociados a Ficheros
. . . . . . . . . . . . . . . . . . .
9.2. Entrada de Datos desde Ficheros de Texto . . . . . . . . . . . . . . . . . . . . . . .
9.3. Salida de Datos a Ficheros de Texto . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.4. Ejemplos

10.Módulos y Bibliotecas

10.1. Interfaz e Implementación del Módulo . . . . . . . . . . . . . . . . . . . . . . . . .
10.2. Compilación Separada y Enlazado . . . . . . . . . . . . . . . . . . . . . . . . . . .
10.3. Espacios de Nombre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

47
47
48
54
56
64

69
69
69
70
71
71
72

77

81

83
84
85
87
89

95
95
97
98

11.Tipos Abstractos de Datos

105
11.1. Tipos Abstractos de Datos en C++: Clases . . . . . . . . . . . . . . . . . . . . . . 106
11.1.1. Definición de Clases
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
11.1.2. Utilización de Clases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
11.1.3. Implementación de Clases . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
11.1.4. Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
11.2. Tipos Abstractos de Datos en C++: Más sobre Clases . . . . . . . . . . . . . . . . 116
11.2.1. Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122

12.Introducción a la Programación Genérica. Plantillas

129
12.1. Subprogramas Genéricos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
12.2. Tipos Abstractos de Datos Genéricos . . . . . . . . . . . . . . . . . . . . . . . . . . 132

13.Memoria Dinámica. Punteros

139
13.1. Punteros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
13.2. Gestión de Memoria Dinámica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
13.3. Operaciones con Variables de Tipo Puntero . . . . . . . . . . . . . . . . . . . . . . 142
13.4. Paso de Parámetros de Variables de Tipo Puntero . . . . . . . . . . . . . . . . . . 144
13.5. Listas Enlazadas Lineales
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
13.6. Abstracción en la Gestión de Memoria Dinámica . . . . . . . . . . . . . . . . . . . 149
13.7. Tipo Abstracto de Datos Lista Enlazada Genérica . . . . . . . . . . . . . . . . . . 150

Dpto. Lenguajes y Ciencias de la Computación

Universidad de Málaga

ÍNDICE GENERAL

5

14.Introducción a los Contenedores de la Biblioteca Estándar (STL)

157
14.1. Vector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
14.2. Deque . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
14.3. Stack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
14.4. Queue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
14.5. Resolución de Problemas Utilizando Contenedores
. . . . . . . . . . . . . . . . . . 169

15.Bibliografía

Índice

173

173

Dpto. Lenguajes y Ciencias de la Computación

Universidad de Málaga

6

ÍNDICE GENERAL

Dpto. Lenguajes y Ciencias de la Computación

Universidad de Málaga

Prólogo

Este manual pretende ser u
  • Links de descarga
http://lwp-l.com/pdf10412

Comentarios de: Fundamentos de Programación con el Lenguaje de Programación C++ (0)


No hay comentarios
 

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