Documentos de Académico
Documentos de Profesional
Documentos de Cultura
RECORDEMOS EL PROBLEMA
Una lectora en edad adulta, activa practicante de diversos deportes y actividad fsica, pregunta cul es el lmite para hacer ejercicio fsico, y especficamente cuntas pulsaciones por minuto son las recomendables para ejercitarse en relacin a la cantidad de aos que se tenga. Los fisilogos del deporte establecieron una forma de medir la intensidad del ejercicio tomando a la frecuencia cardaca como parmetro. Formularon por tanto una Frecuencia Cardaca Mxima Terica que surge de la resta: 220 edad (hombres) 226 edad (mujeres)
Esa es tericamente la mxima frecuencia con la que puede latir el corazn ante un esfuerzo determinado. Como es una resta, a mayor edad, menor frecuencia Cardaca Mxima. Esa Frecuencia Cardaca Mxima se utiliza para sacar los porcentajes de ejercitacin y medir de esa manera la intensidad o zona de trabajo que se quiere trabajar. Si entrenas en forma aerbica puedes trabajar en una intensidad correspondiente al 60 y el 90% de la frecuencia mxima terica. En personas con un nivel de acondicionamiento fsico muy bajo la intensidad del ejercicio corresponde entre el 50 y el 60% de la frecuencia mxima.
Ejemplo: Un persona de 50 aos de edad tiene una frecuencia mxima terica de 220 50 = 170. Por tanto los lmites de trabajo aerbico corresponden a 170 x 0,60 = 102 y 170 x 0,90 = 153. Es decir 102 pulsaciones en un nivel muy bajo de intensidad y 153 como el lmite antes de comenzar a sentir una fatiga importante. EJERCICIO: Defina una clase que permita desarrollar la aplicacin para calcular la frecuencia cardaca mxima al hacer ejercicio.
NECESITAMOS otros mtodos !!!
Mtodos de clculo
Son
los mtodos que permiten realizar diferentes operaciones sobre los objetos de la clase
calculamos la edad de nuestros objetos Persona?
Cmo
Mtodos de clculo
Ejemplo:
unAnno es un valor que recibe mtodo Edad
Mtodos de clculo
int Edad(int unAo) { int tempEdad; tempEdad = unAnno - annoNacimiento; return tempEdad; }
En general
Dentro de estas <instrucciones> se puede acceder a todos los miembros definidos en la clase, a la cual pertenece el mtodo.
Mtodos
A su vez todo mtodo puede devolver un valor como resultado de haber ejecutado las <instrucciones>. En tal caso el tipo del valor devuelto tiene que coincidir con el especificado en <TipoDevuelto>, y el mtodo tiene que terminar con la clusula return <valor> int Edad(int unAnno) { return unAnno - annoNacimiento; }
En caso que se desee definir un mtodo que no devuelva objeto alguno se omite la clusula return y se especifica void como <TipoDevuelto>.
void setAnnoNacimiento (int unAnnoNac) { annoNacimiento= unAnnoNac; }
Mtodos
Opcionalmente todo mtodo puede recibir en cada llamada una lista de parmetros a los que podr acceder en la ejecucin de las <instrucciones> del mismo. En <parmetros> se indican los tipos y nombres de estos parmetros y es mediante estos nombres con los que se deber referirse a ellos en el cuerpo del mtodo int Edad(int unAnno) { return unAnno - annoNacimiento; }
Mtodos
Cmo calculamos la Frecuencia Cardaca Mxima Terica de nuestro problema? Recuerden que la frmula depende del sexo de la persona
Necesitamos una estructura que nos permita identificar el sexo del objeto
Uso de this
Cuando se quiere que los nombres de los atributos de la clase son idnticos a los nombres de los parmetros en el mtodo constructor, se usa el autoreferenciador this a la par del nombre del atributo.
class Persona { private: string nombre; string apellidos; int annoNacimiento; public: Persona(string nombre, string apellidos, int annoNacimiento) { this -> nombre = nombre; this -> apellidos = apellidos; this -> annoNacimiento = annoNacimiento; } ..
Ejercicio
Un propietario de tierras quiere vender su terreno pero lo quiere hacer segregndolo en terrenos ms pequeos , todos con forma rectangular. Disee una clase que le permita resolver el problema de calcular lo que cuesta cada terreno , con los mtodos bsicos (constructor, set y get) y mtodos de clculo. El costo del terreno es de 50,000 colones por m2 ancho
public:
// constructor con parmetros
{ }
largo = 0;
ancho = 0;
{
largo=l;
{
return largo;
}
void setAncho (float a)
}
float getAncho( )
{
ancho=a;
{
return ancho;
float perimetro( )
Funcin main()
Un programa debe contener una funcin llamada main() que es la primera que se ejecuta El cuerpo de main() est rodeado por los smbolos { }
El encabezado int main() indica que esta funcin le devuelve un nmero entero al sistema operativo La instruccin return 0; indica que el programa debe devolver el nmero 0 al sistema operativo (el programa ejecut satisfactoriamente)
El identificador cin es un objeto predefinido en C++ que corresponde al flujo de entrada estndar. El flujo de entrada representa al teclado. La instruccin cin >> variable; es una instruccin de entrada que permite que el programa se detenga a esperar que el usuario introduzca un dato. El operador >> es conocido como el operador de extraccin o leer desde. Toma el valor desde teclado y lo asigna a la variable especificada en su parte derecha.. Al extraer es obligatorio especificar la variable en donde se van a guardar los datos extrados. La sintaxis es: cin>>variable;
Entrada y salida
Ejemplo:
int edad; cout << " Ingrese su edad: "; cin >> edad; cout << " Su edad es " << edad << " aos " << endl;
cin permite la lectura desde teclado
Ejemplos
int a, b, result; cout << " Cuales son los valores de a y b? " ; cin >> a; cin >> a >> b; cin >> b; result=a+b; cout << " La suma es: " ; cout << " La suma es: " <<result<<endl; cout <<result<<endl; En este caso primero se
Creamos un objeto mediante la siguiente sintaxis: Objeto a(arg1, arg2); //Crea un objeto Objeto, usando el constructor de argumentos arg1 y arg2 Objeto b; //Creo un objeto Objeto, usando el constructor sin parmetros En ambos casos, se crea un objeto en memoria esttica. La memoria esttica se define en el momento en que se compila el programa. Una vez que la funcin finaliza, el objeto se destruye.
Cree dos objetos terrenos de tipo Rectangulo, calcule e imprima el rea y el permetro de ambos y el costo de venta de los mismos.
int main( )
{ Rectangulo terrenoA(7,3);
cout<< "El area del terreno A es "<<terrenoA.area()<<endl; cout<< "El perimetro del terreno A es "<<terrenoA.perimetro()<<endl;
float radio;
public: Circulo( ) { radio=0; } Circulo( float pRadio ) {
radio=pRadio;
}
float area()
{ return 3.14159 * radio * radio; }
Constantes
Se utilizan para representar datos que no cambian durante toda la aplicacin. Tambin se les asocia un tipo de datos.
Se definen como variables normales, pero precediendo el nombre de su tipo la palabra reservada const y dndoles siempre un valor inicial al declararlas. Sintaxis: const <tipo de dato> <identificador> = <valor>;
Ejemplo:
Constantes
Algunas de las ventajas que reportara el uso de la constante PI:
Se pueden cometer errores que no seran detectados por el compilador.
Si se decide cambiar la precisin (usar por ejemplo Mayor 3.1415926) se legibilidad para tendran que hacer los cdigos modificaciones en fuentes. todos los lugares donde aparece la secuencia de dgitos.
class Circulo
{ private:
float radio;
public:
Circulo( )
}
radio=0;
radio = pRadio;
float area()
}
return PI * radio * radio; float longitud() return } float costo() { return 0,75* area(); } { 2 * PI * radio;
};
telaA: debe crearse con el constructor con parmetros y tiene un radio de 4 telaB: debe crearse con el constructor con parmetros solicitando previamente el radio al usuario telaC: debe crearse con el constructor sin parmetros y posteriormente asignarle un valor al radio dado por el usuario
Calcule el largo de hule requerido y el costo de impermeabilizar la tela para la tapa C (telaC)
Circulo telaA(4); cout << "Digite el radio de la segunda tela: " <<endl;
cin>>r; Circulo telaB(r);
Crea un objeto telaB con el valor del radio dado por el usuario
system("pause");
return 0; }
return 0;
}
..
system("pause"); return 0; }
EJERCICIO #1: Una agencia de viajes tiene paquetes de descuento para esta Semana Santa. Suponga que existe una clase reservaciones que contiene: nombre del cliente, la edad, el pas de destino y el precio del viaje. Defina la clase. Defina dos mtodos constructores, uno sin parmetros y otro con parmetros. Defina el mtodo destructor. Defina todos los dems mtodos bsicos (set/get). Defina un mtodo que imprima la informacin: nombre y pas destino. En el main:
Cree un objeto reserv1 con datos suministrados por el usuario Cambie el pas de destino Incremente el precio del viaje en un 20% Imprima toda la informacin
Adems .