Pensar en C++ (Volumen 1) - Grupo ARCO
Pensar en C++ (Volumen 1) - Grupo ARCO
Pensar en C++ (Volumen 1) - Grupo ARCO
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 />
✐