Prácticas de C++

Anuncio
Prácticas de C++
Practica Nº 1
Informática II
Fundamentos de Programación
Prof. Dr. Paul Bustamante
Prácticas de Programación en C++
Pág. 1
ÍNDICE
ÍNDICE..................................................................................................................................................................... 1
1.
Introducción................................................................................................................................................. 1
1.1
Ejercicio 1: Mi primer programa en C++............................................................................................. 1
1.2
Ejercicio 2: Una conversación en C++................................................................................................. 2
1.3
Ejercicio 3: Una pequeña operación aritmética.................................................................................... 2
1.4
Ejercicio 4: Conversor de €uros a pesetas y dólares. ........................................................................... 3
1.5
Ejercicio 5: Solución de la ecuación de segundo grado. ...................................................................... 3
1.6
Ejercicio 6: Ejecutar con el Debugger el programa anterior ................................................................ 4
1.7
Ejercicio 7: Conversor de Temperatura ............................................................................................... 4
1. Introducción.
Comienza Informática II y Fundamentos de Programación, y comienza con algunos
ejemplos sencillos referidos a la programación en C++. Programar en C++ es un poco distinto
a programar en Matlab o en Visual Basic. El aprender a programar significa aprender a
pensar, o mejor, aprender a describir qué pasos hay que dar para hacer una determinada tarea.
Así pues, les animamos a que, antes de enfrentarse a un programa, piensen muy bien como
harían ese programa “a mano”, porque sino, difícilmente serán capaces de programar en el
ordenador cómo se hace.
No es importante que hagan todos los ejercicios durante la práctica, sino que entiendan
muy bien cómo y por qué se hacen las cosas. Es preferible que entiendan muy bien un
programa a que hayan acabado todo sin haberse enterado de nada. Los primeros ejercicios
servirán para familiarizarse con el modo de programar y para que vayan entendiendo las
cosas. Les animamos a que intenten hacer uds. mismos modificaciones y variaciones, incluso
hay veces que un mismo problema puede resolverse de varias maneras diferentes que son
igualmente correctas.
Para realizar los Ejercicios de esta práctica debe apoyarse en el entorno de
programación de Visual C++ 6.0, explicado en las clases de teoría. Para cada Ejercicio
deberá crear un Proyecto en un subdirectorio especial. Todos estos subdirectorios estarán
dentro de un directorio de tus disco G:\.
1.1 Ejercicio 1: Mi primer programa en C++.
Para que su debut como programador en C++ sea todo un éxito, le hemos preparado un
sencillo programa de bienvenida.
/* fichero Ejer1.cpp */
// este programa sólo te saluda
#include <iostream.h>
void main (void){
cout << "Hola futuro(a) programador de C++" << endl;
cout << "Como estas?" << endl;
}
/* fin de main() */
Deberá copiar este programa en el editor del Visual C++, compilarlo y ejecutarlo para
comprobar su funcionamiento. El nombre del proyecto será Ejer1 y el del programa será
Ejer1.cpp. Para compilar y linkar el programa debe utilizar el menú Build y las opciones
Compile File (para compilar), Build (para linkar) y Execute (para ejecutar). Cada opción
Escuela Superior de Ingenieros – Tecnun – Universidad de Navarra
Prácticas de Programación en C++
Pág. 2
comprende las anteriores, esto es, si se quiere ejecutar y no se ha compilado y linkado, se
realizan primero estas operaciones.
Si ha olvidado cómo se crea un proyecto en C++, recurra a la documentación del
entorno que se le dio en clase.
1.2 Ejercicio 2: Una conversación en C++.
Seguro que el programa del ejercicio anterior le ha dejado con ganas de responder a la
pregunta que aparece en la pantalla. Para ello es necesario introducir el flujo cin, el cual
permite leer tanto números como cadenas de caracteres. Pero cuando encuentra blancos,
tabuladores o espacios, termina de leer.
1.-
Crear un proyecto llamado Ejer02, en el cual debe escribir el siguiente programa, al que
llamará Ejercicio.cpp:
/* fichero Ejercicio.cpp */
// Este programa le saluda más formalmente
#include <iostream.h>
void main (void){
char nombre[30];
int edad;
cout << "Hola! Como te llamas?";
cin >> nombre;
cout << "Cuantos anyos tienes?";
cin >> edad;
cout << "Hola " << nombre ;
cout << ",tienes " << edad << " anyos" << endl;
}
2.-
Compile el programa y ejecútelo. Recuerde que al responder a la pregunta sólo podrá
teclear una sola palabra. Todos aquellos que tengan nombre compuesto -Luis Alfredo,
Ana Silvia, Marco Antonio y demás- tendrán que esperar a la siguiente práctica para
conocer nuevas funciones de lectura.
1.3 Ejercicio 3: Una pequeña operación aritmética.
Estará pensando que el C++ ha de servir para algo más que mantener una aburrida
conversación con la pantalla. En el siguiente programa le presentamos un avance de las
“complicadas” operaciones que puede realizar el C++. Escriba el programa y sálvelo como
maraton.cpp.
/*
fichero maraton.cpp
*/
/* --------------------------*/
/* Un marathon tiene 26 millas y 385 yardas */
/* Calcula la distancia del marathon en Kilómetros */
/* Una milla tiene 1760 yardas */
#include <iostream.h>
void main (void){
int millas,yardas;
float kilometros;
}
millas = 26;
yardas = 385;
/* fórmula de conversión */
kilometros = 1.609 * (millas + yardas / 1760);
// salida de datos
cout <<"Un marathon tiene "<< kilometros << " kilometros" << endl;
Escuela Superior de Ingenieros – Tecnun – Universidad de Navarra
Prácticas de Programación en C++
Pág. 3
Debe crear un proyecto llamado Ejer03 y luego compilarlo y ejecutarlo; apunte el
resultado. Ahora modifique el programa sustituyendo 1760 por 1760.0 en la línea que calcula
el número de kilómetros. Vuelva a compilar y a ejecutar. ¿Sale lo mismo que antes? ¿Qué ha
podido pasar?
1.4 Ejercicio 4: Conversor de €uros a pesetas y dólares.
Por fin ha llegado el momento que realice un programa usted solo(a), para lo cual puede echar
mano de los apuntes y demás ejercicios dados en clase.
En este ejercicio se pide que realice un programa que le pregunte los €uros que desea
convertir y como salida dará cuantas pesetas y dólares son.
Recuerda que 1€ son 166.386 pesetas y aproximadamente (en el momento de la
redacción de la práctica) 1.27 dólares.
Debe crear un proyecto Ejer4 y al nombre del fichero fuente llámele conversor.cpp.
1.5 Ejercicio 5: Solución de la ecuación de segundo grado.
Dada la ecuación de segundo grado:
ax2 + bx + c = 0
hay que calcular el discriminante:
discr = b2 - 4ac
si discr > 0.0 las dos raíces son reales y distintas, y valen:
− b + discr
− b − discr
x1 =
x2 =
2a
2a
si discr = 0.0 las dos raíces son reales e iguales y valen:
−b
x1 = x2 =
2a
Finalmente, si discr < 0.0 las dos raíces son complejas conjugadas. Las partes real e
imaginaria valen:
−b
− discr
xr =
xi =
2a
2a
Edite el siguiente programa para resolver la ecuación de segundo grado. Llame Ejer05 al
proyecto y ec2.cpp al siguiente fichero:
/* fichero ec2.cpp */
/* Resolución de la ecuación de segundo grado */
#include <iostream.h>
#include <math.h>
//para sqrt()
void main(void)
{
double a, b, c;
double discr, x1, x2, xr, xi;
cout << "Escribe los valores de los coeficientes A, B y C: ";
cin >> a >> b >> c;
discr = ... ;
if (discr > 0.0) {
x1= . . .;
x2= . . .;
cout << "Las dos raices reales son: ";
cout << x1 << " y " << x2 << endl;
}
else if (discr < 0.0) {
Escuela Superior de Ingenieros – Tecnun – Universidad de Navarra
Prácticas de Programación en C++
xr= . .
xi= . .
cout <<
cout <<
cout <<
}
Pág. 4
.;
.;
"Raices complejas: " << endl;
"(" << xr << ", " << xi << "i) y ";
"(" << xr << ", " << -xi << "i)" << endl;
}
else {
x1= . . .;
cout << "Las dos raices son iguales y valen: " << x1 << endl;
}
Compile y ejecute este programa, cambiando los valores de a, b y c, de modo que se prueben
los tres casos que pueden presentarse en el programa. Puede probar con los siguientes valores,
para que se den los 3 casos:
A
B
C
Resultado
1
4
4
Raíces iguales
1
5
4
Raíces reales
1
3
6.25
Raíces imaginarias
1.6 Ejercicio 6: Ejecutar con el Debugger el programa anterior
En este ejercicio deberá ejecutar paso a paso el programa que calcula las raíces de la ecuación
de segundo grado.
Deberá colocar el cursor en una línea (por ejemplo la discr = b*b - 4.0*a*c;) y
presionar la tecla F9 (con esto pondrá un breakpoint). Ahora ejecute el programa en modo
debug, dando directamente a la tecla F5 (sino Build->Start debug->Go del menú). El
programa empezará a ejecutarse y se detendrá en la citada línea. A partir de aquí podrá ver
cómo varían las distintas variables del programa, ejecutando el programa paso a paso (tecla
F10). En especial tiene que observar cómo van cambiando las variables x1, x2, xr y xi, por
medio de la ventana Watch.
1.7 Ejercicio 7: Conversor de Temperatura
En el siguiente ejercicio debe hacer un conversor de temperatura, de ºC →ºF y ºF →ºC, según
la siguiente fórmula:
9.0
ºF =
* (º C ) + 32
5.0
El programa debe pedir al usuario qué tipo de conversión debe hacer y luego el dato
de la temperatura a convertir. Para este ejercicio debe crear un proyecto Ejer07 en su disco
de usuario, y el nombre del programa será Temp.cpp.
Si no ha llegado a terminar este ejercicio en las dos horas de prácticas, debe tratar de
hacerlo en las horas libres de ordenador o en casa.
Notas:
- No olvide poner siempre “;” al final de cada sentencia.
- No olvide cerrar las comillas, los paréntesis y las llaves ( { }).
- Por último, recuerde que C++ distingue de minúsculas y mayúsculas.
Escuela Superior de Ingenieros – Tecnun – Universidad de Navarra
Descargar