13.01.2015 Views

Pensar en C++ (Volumen 1) - Grupo ARCO

Pensar en C++ (Volumen 1) - Grupo ARCO

Pensar en C++ (Volumen 1) - Grupo ARCO

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

✐<br />

✐<br />

✐<br />

“Volum<strong>en</strong>1” — 2012/1/12 — 13:52 — page 60 — #98<br />

✐<br />

Capítulo 2. Construir y usar objetos<br />

no t<strong>en</strong>drá mucho trabajo y su programa resultante también será pot<strong>en</strong>te.<br />

En este proceso para mostrar la s<strong>en</strong>cillez de la POO cuando se usan librerías de<br />

clases, este capítulo, también introduce algunos de los tipos de datos más básicos y<br />

útiles de la Librería Estándar de <strong>C++</strong>: La familia de los iostreams (<strong>en</strong> particular<br />

aquellos que le<strong>en</strong> y escrib<strong>en</strong> <strong>en</strong> consola y ficheros), la clase string, y la plantilla<br />

vector. Ha visto lo s<strong>en</strong>cillo que es usarlos y ahora es probable que se imagine la<br />

de cosas que se pued<strong>en</strong> hacer con ellos, pero hay muchas más cosas que son capaces<br />

de realizar 6 . A pesar de estar usando un pequeño subconjunto de la funcionalidad<br />

de estas herrami<strong>en</strong>tas <strong>en</strong> este principio del libro, supone un gran avance fr<strong>en</strong>te a<br />

los rudim<strong>en</strong>tarios comi<strong>en</strong>zos <strong>en</strong> el apr<strong>en</strong>dizaje de un l<strong>en</strong>guaje de bajo nivel como<br />

C. Y aunque apr<strong>en</strong>der los aspectos de bajo nivel de C es educativo también lleva<br />

tiempo. Al final usted es mucho más productivo si ti<strong>en</strong>e objetos que manej<strong>en</strong> las<br />

características de bajo nivel. Después de todo, el principal objetivo de la POO es<br />

esconder los detalles para que usted pueda «pintar con una brocha más gorda».<br />

Sin embargo, debido al alto nivel que la POO int<strong>en</strong>ta t<strong>en</strong>er, hay algunos aspectos<br />

fundam<strong>en</strong>tales de C que no se pued<strong>en</strong> obviar, y de eso trata el sigui<strong>en</strong>te capítulo.<br />

2.9. Ejercicios<br />

Las soluciones a los ejercicios se pued<strong>en</strong> <strong>en</strong>contrar <strong>en</strong> el docum<strong>en</strong>to electrónico<br />

titulado «The Thinking in <strong>C++</strong> Annotated Solution Guide», disponible por poco<br />

dinero <strong>en</strong> www.BruceEckel.com.<br />

1. Modifique Hello.cpp para que imprima su nombre y edad (o tamaño de pie,<br />

o la edad de su perro, si le gusta más). Compile y ejecute el programa.<br />

2. Utilizando Stream2.cpp y Numconv.cpp como guías, cree un programa que<br />

le pida el radio de un círculo y le muestre el área del mismo. Puede usar el<br />

operador * para elevar el radio al cuadrado. No int<strong>en</strong>te imprimir el valor <strong>en</strong><br />

octal o <strong>en</strong> hexadecimal (sólo funciona con tipos <strong>en</strong>teros).<br />

3. Cree un programa que abra un fichero y cu<strong>en</strong>te las palabras (separadas por<br />

espacios <strong>en</strong> blanco) que conti<strong>en</strong>e.<br />

4. Cree un programa que cu<strong>en</strong>te el número de ocurr<strong>en</strong>cias de una palabra <strong>en</strong><br />

concreto <strong>en</strong> un fichero (use el operador == de la clase string para <strong>en</strong>contrar<br />

la palabra)<br />

5. Cambie Fillvector.cpp para que imprima las líneas al revés (de la última<br />

a la primera).<br />

6. Cambie Fillvector.cpp para que concat<strong>en</strong>e todos los elem<strong>en</strong>tos de la clase<br />

vector <strong>en</strong> un único string antes de imprimirlo, pero no añada numeración<br />

de líneas<br />

7. Muestre un fichero línea a línea, esperando que el usuario pulse Enter después<br />

de cada línea.<br />

8. Cree un vector e introduzca <strong>en</strong> él 25 números <strong>en</strong> punto flotante<br />

usando un bucle for. Muestre el vector.<br />

6 Si está especialm<strong>en</strong>te interesado <strong>en</strong> ver todas las cosas que se pued<strong>en</strong> hacer con los compon<strong>en</strong>tes<br />

de la Librería Estándar, vea el Volum<strong>en</strong> 2 de este libro <strong>en</strong> www.BruceEckel.com y también <strong>en</strong><br />

www.dinkumware.com<br />

60<br />

✐<br />

✐<br />

✐<br />

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!