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

Actualizado el 21 de Marzo del 2018 (Publicado el 11 de Marzo del 2018)
1.714 visualizaciones desde el 11 de Marzo del 2018
1,3 MB
338 paginas
Creado hace 12a (06/07/2011)
UNIVERSIDAD DE M ´ALAGA

Dpt. Lenguajes y CC. Computaci´on

E.T.S.I. Inform´atica

Ingenier´ıa Inform´atica

Fundamentos de Programaci´on

con

el Lenguaje de Programaci´on

C++

Vicente Benjumea

Manuel Rold´an

6 de julio de 2011

2

Este obra est´a 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´on 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 Creative Com-
mons, 171 Second Street, Suite 300, San Francisco, California 94105, USA.

Usted es libre de:

• Copiar, distribuir y comunicar p´ublicamente la obra.
• Hacer obras derivadas.

Bajo las siguientes condiciones:

• Reconocimiento (Attribution) – Debe reconocer los cr´editos 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´olo puede distribuir la obra generada bajo una licencia
id´entica a ´esta.

Entendiendo que:

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

titular de los derechos de autor

• Dominio P´ublico – Cuando la obra o alguno de sus elementos se halle en el dominio
p´ublico seg´un la ley vigente aplicable, esta situaci´on no quedar´a 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´erminos de la

licencia de esta obra.

Dpto. Lenguajes y Ciencias de la Computaci´on

Universidad de M´alaga

´Indice general

Pr´ologo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

9

I Programaci´on B´asica

1. Un Programa C++

2. Tipos Simples

2.1. Declaraci´on Vs. Definici´on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2. Tipos Simples Predefinidos
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3. Tipos Simples Enumerados
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4. Constantes y Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5. Operadores
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.6. Conversiones Autom´aticas (Impl´ıcitas) de Tipos . . . . . . . . . . . . . . . . . . . .
2.7. Conversiones Expl´ıcitas de Tipos . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.8. Tabla ASCII
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.9. Algunas Consideraciones Respecto a Operaciones con N´umeros Reales . . . . . . .

3. Entrada y Salida de Datos B´asica

3.1. Salida de Datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2. Entrada de Datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3. El “Buffer” de Entrada y el “Buffer” de Salida . . . . . . . . . . . . . . . . . . . .
3.4. Otras Operaciones de Entrada y Salida . . . . . . . . . . . . . . . . . . . . . . . . .
3.5. Control del Estado del Flujo de Datos . . . . . . . . . . . . . . . . . . . . . . . . .

4. Estructuras de Control

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

5. Subprogramas. Funciones y Procedimientos

5.1. Funciones y Procedimientos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2. Definici´on de Subprogramas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.3. Ejecuci´on de Subprogramas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.4. Paso de Par´ametros. Par´ametros por Valor y por Referencia . . . . . . . . . . . . .
5.5. Criterios de Modularizaci´on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.6. Subprogramas “en L´ınea” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . .
5.7. Declaraci´on de Subprogramas. Prototipos
5.8. Sobrecarga de Subprogramas y Operadores
. . . . . . . . . . . . . . . . . . . . . .
5.9. Par´ametros por Defecto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3

11

13

17
17
17
19
20
21
23
23
25
25

27
27
29
30
30
30

33
33
33
34
35
37
39
39

41
41
42
43
43
45
46
46
46
47

4

´INDICE GENERAL

5.10. Subprogramas y Flujos de Entrada y Salida . . . . . . . . . . . . . . . . . . . . . .
5.11. Pre-Condiciones y Post-Condiciones
. . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.12. Ejemplos

6. Tipos Compuestos

6.1. Paso de Par´ametros 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´on de Problemas Utilizando Tipos Compuestos
. . . . . . . . . . . . . . .

7. B´usqueda y Ordenaci´on

7.1. B´usqueda Lineal (Secuencial) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.2. B´usqueda Binaria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.3. Ordenaci´on por Intercambio (Burbuja) . . . . . . . . . . . . . . . . . . . . . . . . .
7.4. Ordenaci´on por Selecci´on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.5. Ordenaci´on por Inserci´on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.6. Ordenaci´on por Inserci´on Binaria . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.7. Aplicaci´on de los Algoritmos de B´usqueda y Ordenaci´on . . . . . . . . . . . . . . .

48
48
49

51
51
52
59
62
71

77
77
78
79
80
80
81
82

8. Otros Tipos Compuestos en C

87
87
8.1. Agregados o Arrays Predefinidos
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.2. Cadenas de Caracteres al Estilo-C . . . . . . . . . . . . . . . . . . . . . . . . . . .
98
8.3. Uniones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
8.4. Campos de Bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
. . . . . . . . . . . . . . . 105
8.5. Resoluci´on de Problemas Utilizando Tipos Compuestos

9. Algunas Bibliotecas ´Utiles

II Programaci´on Intermedia

111

113

10.Almacenamiento en Memoria Secundaria: Ficheros

115
10.1. Flujos de Entrada y Salida Asociados a Ficheros
. . . . . . . . . . . . . . . . . . . 116
10.2. Entrada de Datos desde Ficheros de Texto . . . . . . . . . . . . . . . . . . . . . . . 117
10.3. Salida de Datos a Ficheros de Texto . . . . . . . . . . . . . . . . . . . . . . . . . . 119
10.4. Ejemplos
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
. . . . . . . . . . . . . . . . . . . . . . . . . . . 126
10.5. Otros Tipos de Flujos de Ficheros
10.5.1. Ficheros Binarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
10.5.2. Acceso Directo en Ficheros
. . . . . . . . . . . . . . . . . . . . . . . . . . . 129
10.5.3. Flujos de Entrada y Salida . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
10.6. Flujos de Entrada y Salida Vinculados a Cadenas de Caracteres . . . . . . . . . . . 130

11.M´odulos y Bibliotecas

133
11.1. Interfaz e Implementaci´on del M´odulo . . . . . . . . . . . . . . . . . . . . . . . . . 133
11.2. Compilaci´on Separada y Enlazado . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
11.3. Espacios de Nombre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
11.4. Herramientas de Ayuda a la Gesti´on de la Compilaci´on Separada . . . . . . . . . . 141

12.Manejo de Errores. Excepciones

145
12.1. Errores de Programaci´on y Asertos . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
12.2. Situaciones An´omalas Excepcionales . . . . . . . . . . . . . . . . . . . . . . . . . . 146
12.3. Gesti´on de Errores Mediante Excepciones . . . . . . . . . . . . . . . . . . . . . . . 147
12.4. Excepciones Est´andares
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152

Dpto. Lenguajes y Ciencias de la Computaci´on

Universidad de M´alaga

´INDICE GENERAL

5

13.Tipos Abstractos de Datos

155
13.1. Tipos Abstractos de Datos en C++: Clases . . . . . . . . . . . . . . . . . . . . . . 156
13.1.1. Definici´on e Implementaci´on de Clases “en L´ınea” . . . . . . . . . . . . . . 156
13.1.2. Definici´on de Clases e Implementaci´on Separada . . . . . . . . . . . . . . . 159
13.2. M´etodos Definidos Autom´aticamente por el Compilador . . . . . . . . . . . . . . . 172
13.3. Requisitos de las Clases Respecto a las Excepciones . . . . . . . . . . . .
  • Links de descarga
http://lwp-l.com/pdf9445

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

2 de Junio del 2019
estrellaestrellaestrellaestrellaestrella
Gracias por compartir
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