Programacion en C++ un enfoque practico

April 5, 2017 | Author: JoseArleyAriasCarretero | Category: N/A
Share Embed Donate


Short Description

Download Programacion en C++ un enfoque practico...

Description

00a_Creditos

15/3/06

17:14

Página I

Programación en C++ Un enfoque práctico Serie Shaum

00a_Creditos

15/3/06

17:14

Página II

00a_Creditos

15/3/06

17:14

Página III

Programación en C++ Un enfoque práctico Serie Schaum

LUIS JOYANES AGUILAR LUCAS SÁNCHEZ GARCÍA Departamento de Lenguajes y Sistemas Informáticos e Ingeniería del Softw are Facultad de Informática, Escuela Universitaria de Informática Universidad Pontificia de Salamanca campus Madrid

MADRID • BOGOTÁ • BUENOS AIRES • CARACAS • GUATEMALA • LISBOA • MÉXICO NUEVA YORK • PANAMÁ • SAN JUAN • SANTIAGO • S ÃO PAULO AUCKLAND • HAMBURGO • LONDRES • MILÁN • MONTREAL • NUEVA DELHI • PARÍS SAN FRANCISCO • SIDNEY • SINGAPUR • ST. LOUIS • TOKIO • TORONTO

00a_Creditos

15/3/06

17:14

Página IV

La información contenida en este libro procede de una obra original entregada por los autores. No obstante, McGraw-Hill/Interamericana de España no garantiza la e xactitud o perfección de la información publicada. Tampoco asume ningún tipo de garantía sobr e los contenidos y las opiniones v ertidas en dichos textos. Este trabajo se publica con el reconocimiento e xpreso de que se está proporcionando una información, pero no tratando de prestar ningún tipo de servicio profesional o técnico. Los procedimientos y la información que se presentan en este libro tienen sólo l a intención de servir como guía general. McGraw-Hill ha solicitado los permisos oportunos para la realización y el desarrollo de esta obra.

Programación en C++. Un enfoque práctico. Serie Schaum No está permitida la reproducción total o parcial de este libro, ni su tratamiento informático, ni la transmisión de ninguna form a o por cualquier medio, ya sea electrónico, mecánico, por fotocopia, por registro u otros métodos, sin el permiso previo y por escrito de los titulares del Copyright.

McGraw-Hill/Interamericana de de España, S. A. U. DERECHOS RESERVADOS © 2006, respecto a la primera edición en español, por McGRAW-HILL/INTERAMERICANA DE ESPAÑA, S. A. U. Edificio Valrealty, 1.ª planta Basauri, 17 28023 Aravaca (Madrid) www.mcgraw-hill.es [email protected] ISBN: 84-481-4643-3 Depósito legal: M.

Editor: Carmelo Sánchez González Compuesto en Puntographic, S. L. Impreso en IMPRESO EN ESPAÑA - PRINTED IN SPAIN

00b_Indice

15/3/06

17:16

Página V

Contenido

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

XIII

Capítulo 1. Programación orientada a objetos versus programación estructurada: C++ y algoritmos................ Introducción ............................................................................................................................................................ 1.1. Concepto de algoritmo .................................................................................................................................... 1.2. Programación estructurada.............................................................................................................................. 1.3. El paradigma de orientación a objetos ............................................................................................................ 1.3.1. Propiedades fundamentales de la orientación a objetos ....................................................................... 1.3.2. Abstracción........................................................................................................................................... 1.3.3. Encapsulación y ocultación de datos .................................................................................................... 1.3.4. Generalización y Especialización......................................................................................................... 1.3.5. Polimorfismo ........................................................................................................................................ 1.4. C++ Como lenguaje de programación orientada a objetos ............................................................................ Ejercicios................................................................................................................................................................. Solución de los ejercicios........................................................................................................................................ Ejercicios propuestos ..............................................................................................................................................

1 1 1 3 4 5 5 6 6 7 7 8 8 14

Capítulo 2. Conceptos básicos de los programas en C++ ........................................................................................... Introducción ............................................................................................................................................................ 2.1. Estructura general de un programa en C++ .................................................................................................... 2.1.1. Directivas del preprocesador ................................................................................................................ 2.1.2. Declaraciones globales ......................................................................................................................... 2.1.3. Función main() .................................................................................................................................... 2.1.4. Funciones definidas por el usuario ....................................................................................................... 2.1.5. Comentarios.......................................................................................................................................... 2.2. Los elementos de un programa en C++ .......................................................................................................... 2.2.1. Identificador.......................................................................................................................................... 2.2.2. Palabras reservadas............................................................................................................................... 2.2.3. Comentarios.......................................................................................................................................... 2.2.4. Signos de puntuación y separadores .................................................................................................... 2.2.5. Archivos de cabecera ............................................................................................................................ 2.3. Tipos de datos en C++ .................................................................................................................................... 2.3.1. Enteros (int) ........................................................................................................................................ 2.3.2. Tipos en coma flotante ( float/double) ............................................................................................. 2.3.3. Caracteres (char).................................................................................................................................. 2.3.4. El tipo de dato bool ............................................................................................................................. 2.4. Constantes ....................................................................................................................................................... 2.4.1. Constantes literales ............................................................................................................................... 2.5. Variables .......................................................................................................................................................... 2.6. Duración de una variable ................................................................................................................................ 2.6.1. Variables locales ................................................................................................................................... 2.6.2. Variables globales ................................................................................................................................. 2.6.4. Variables dinámicas y de objetos .........................................................................................................

15 15 15 16 16 17 18 18 19 19 19 19 20 20 20 20 21 21 23 23 23 25 25 25 26 26

V

00b_Indice

15/3/06

VI

17:16

Página VI

CONTENIDO

2.7. Entradas y salidas ............................................................................................................................................ 2.7.1. Salida (cout) ........................................................................................................................................ 2.7.2. Entrada (cin) ........................................................................................................................................ 2.8. Espacios de nombres ( namespaces) ............................................................................................................... Ejercicios................................................................................................................................................................. Solución de los ejercicios........................................................................................................................................ Ejercicios propuestos ..............................................................................................................................................

26 27 27 28 29 31 34

Capítulo 3. Operadores y expresiones .......................................................................................................................... Introducción ............................................................................................................................................................ 3.1. Operadores y expresiones............................................................................................................................. 3.2. Operador de asignación ................................................................................................................................ 3.3. Operadores aritméticos ................................................................................................................................. 3.4. Operadores de incrementación y decrementación ........................................................................................ 3.5. Operadores relacionales................................................................................................................................ 3.6. Operadores lógicos ....................................................................................................................................... 3.7. Operadores de manipulación de bits ............................................................................................................ 3.7.1. Operadores de desplazamiento de bits ( >>, 0 del teclado y sume la serie siguiente: n

ai Σ i=1 1.6.

si

ai =

i*i

52

si si

i es impar y i es par

n=5

Definir una jerarquía de clases para: animal, insecto, mamíferos, pájaros, persona hombre y mujer. Realizar un definición en pseudocódigo de las clases.

SOLUCIÓN DE LOS EJERCICIOS 1.1.

Se usan tres variables enteras Numero1, Numero2, Numero3, en las que se leen los datos, y otras dos variables Producy Suma en las que se calcula o bien el pr oducto o bien la suma.

to

Entrada Numero1,Numero2 y Numero 3 Salida la suma o el producto incio 1 leer los tres número Numero1, Numero2, Numero3 2 si el Numero1 es positivo calcular el producto de los tres numeros escribir el producto 3 si el Numero1 es no positivo calcular la suma de los tres número escribir la suma fin

El algoritmo en pseudocódigo es: algoritmo variables

Producto_Suma

01_Joyanes_C++

15/3/06

17:17

Página 9

CAPÍTULO 1 Programación orientada a objetos versus programación...

9

entero: Numero1, Numero2, Numero3, Producto, Suma inicio leer(Numero1, Numero2, Numero3) si (Numero1 > 0) entonces Producto ← Numero1* Numero2 * Numero3 Escribe('El producto de los números es', Producto) sino Suma ← Numero1+ Numero2 + Numero3 Escribe('La suma de los números es', Suma) fin si fin

1.2.

Se declar an las variables r eales r , longitud y área, así como la constante pi constantes pi = 3.14 variables real r, longitud, área Diagrama de flujo

inicio Leer(r)

No



r>0

Longitud ← 2*pi*r Area ← pi*r*r

Escribe(’error’)

Escribe(’perimetro=’, longitud, ‘área=’,area)

fin

1.3.

Un bucle es un segmento de programa cuyas instrucciones se r epiten un númer o determinado de veces hasta que se cumple una determinada condición. Tiene las siguientes partes: entrada, salida, cuerpo del b ucle y decisión que forma parte del cuerpo del b ucle o bien de la entr ada salida. El algoritmo se diseña con un bucle, un contador entero C, un acumulador enter o Suma y una variable numero para leer los datos. variables entero Suma, C, numero

inicio

Bucle

Suma ← 0 C←0 Entrada de bucle Decisión

C0

C es un contador; Suma es acumulador

Sí Suma ← 0 C←0

Inicializaciones del contador y acumulador Entrada de bucle

Decisión

No

C0 C ← 0; suma← 0; mientras C< n Hacer C←C + 1; suma ← Suma + C; fin mientras escribe(Suma) fin

1.5.

La estructura del algoritmo es muy par ecida a la del ejer cicio anterior, salvo que ahor a en lugar de sumar el valor de una constante se suma el valor de una variable . Se usa un interruptor sw que puede tomar los valor es verdadero o falso y que se encar ga de decidir si la suma es el valor de i*i o el valor de 2. Observar que en este ejer cicio el contador i se inicializa a 1 por lo que el incr emento de i se realiza al final del cuerpo del b ucle, y la salida del b ucle se realiza cuando i>n. Pseudocódigo algoritmo suma_serie inicio variables entero: Suma, i, n; logico sw; repetir Leer(n); hasta n>0 i ← 1; suma← 0; Sw←falso mientras i 0

i es un contador; Suma es acumulador; sw interruptor

Sí Suma ← 0 i←1 sw ← F

Inicializaciones de contador acumulador interruptor

Entrada de bucle Decisión

No

i
View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF