Você está na página 1de 13

INSTITUTO POLITECNICO NACIONAL

ESCUELA SUPERIOR DE INGENIERIA MECANICA Y ELECTRICA


UNIDAD ZACATENCO
Ing. En comunicaciones y electrnica

Programacin Orientada a Objetos.


Grupo: 2CM15
Gua examen primer parcial.
Fecha de entrega: 08/05/15.

Ejercicio 1:
#include <cstdlib>
#include <iostream>
using namespace std;
void leer (int,int *);
int total (int,int *);
int mayor (int,int *);
int menor (int,int *);
float promedio(int,int);
void imprime (int,int,int,int,int *,float);
int main(int argc, char *argv[])
{
int modulos,t,may,men;
float prom;
cout<<"Introduzca la cantidad de modulos de cobro"<<endl;
cin>>modulos;
int *ap;
ap=new int [modulos];
leer(modulos,ap);
t=total (modulos,ap);
prom= promedio(modulos,t);
may= mayor(modulos,ap);
men= menor(modulos,ap);
imprime (modulos,t,may,men,ap,prom);
system("PAUSE");
return EXIT_SUCCESS;
}
void leer(int modulos,int *ap)
{
int i=0;
for (;i<modulos;i++)
{
cout<<"Introduzca la cantidad de autos que pasaron por el modulo:"<<i+1<<endl;
cin>>ap[i];
}
}
int total (int modulos,int *ap)
{
int i=0,t=0;

for(;i<modulos;i++)
{
t+=ap[i];
}
return t;
}
float promedio(int modulos,int t)
{
float prom;
prom= t/modulos;
return prom;
}
int mayor (int modulos,int *ap)
{
int i=0,m=ap[0],may=1;
for(;i<modulos;i++)
{
if(ap[i]>m)
{
may= i+1;
}
}
return may;
}
int menor (int modulos,int *ap)
{
int i=0,m=ap[0],men=1;
for(;i<modulos;i++)
{
if(ap[i]<m)
{
men= i+1;
}
}
return men;
}
void imprime (int modulos,int t,int may,int men ,int *ap,float prom)
{
int i=0;
cout<<"el numero de modulos de cobro es:"<<modulos<<endl;
cout<<"el total de autos que pasaron por los modulos es:"<<t<<endl;
cout<<"El modulo por el que pasaron mas autos fue:"<<may<<endl;

cout<<"El modulo por el que pasaron menos autos fue:"<<men<<endl;


cout<<"El promedio de autos es:"<<prom<<endl;
}

Ejercicio 2:
#include <cstdlib>
#include <iostream>
#include <math.h>
using namespace std;
class serie
{
private:
int j,k;
float p,q,s;
public:
serie(int j1, int k1);
float factorial(int n);
float calcp();
float calcq();
void calcs();
};
serie::serie(int j1, int k1)
{
j=j1;
k=k1;
}
float serie::factorial(int n)
{
float facto=1;
if(n==0)
return 1;
else if(n!=0)
for (int i=1;i<=n;i++)
{
facto=facto*i;
}

return facto;
}
float serie::calcp()
{
float suma=0;
int x=1,n;
for (int i=1;i<=j;i++)
{
x= x*(i+1);
n=2*i;
suma+= x/factorial(n);
}
p=suma;
cout<<p<<endl;
}
float serie::calcq()
{
float sum=0,y;
int n=1;
for(int i=0;i<=k;i++)
{
y= pow(-1,i);
n= i*(i+1);
sum+=y/factorial(n);
}
q=sum;
cout<<q<<endl;
}
void serie::calcs()
{
float s,z;
z=p/q;
s=sqrt(z);
cout<<"El valor de s es: "<<s<<endl;
}
int main(int argc, char *argv[])
{
int j1,k1;

cout<<"Introduzca los valores de j"<<endl;


cin>>j1;
cout<<"Introduzca los valores de k"<<endl;
cin>>k1;
serie serie1(j1,k1);
serie1.calcp();
serie1.calcq();
serie1.calcs();
system("PAUSE");
return EXIT_SUCCESS;
}

Ejercicio 3:
#include <cstdlib>
#include <iostream>
#include <string>
using namespace std;
class pago
{
private:
char nombre[20];
float hras_t;
public:
pago(char nom[20],float horas);
float calcular_sueldo_total_dia();
void imprimirdatos();
};
pago::pago(char nom[20],float horas)
{
strcpy(nombre,nom);
hras_t=horas;
}
float pago::calcular_sueldo_total_dia()
{
float saldo;
if((hras_t>=1)&&(hras_t<=3))
{
saldo= hras_t*20;

}
else if((hras_t>=4)&&(hras_t<=6))
{
saldo=hras_t*40;
}
else
saldo=hras_t*80;
return saldo;
}
void pago::imprimirdatos()
{
system ("cls");
cout<<"El nombre del empleado es: "<<nombre<<endl;
cout<<"Las horas trabajadas por el empleado fueron: "<<hras_t<<endl;
cout<<"EL sueldo del trabajador es: "<<calcular_sueldo_total_dia()<<endl;
}
int main(int argc, char *argv[])
{
char nom[20];
int i=1;
float horas;
do
{
system ("cls");
cout<<"Ingrese el nombre del trabajador:"<<endl;
cin>>nom;
cout<<"Ingrese las horas trabajadas el dia de hoy:"<<endl;
cin>>horas;
if (horas<=10)
{
pago pago1(nom,horas);
pago1.imprimirdatos();
}
else
cout<<"No puede ingresar un numero mayor a 10"<<endl;
system("PAUSE");
}while(i==1);
system("PAUSE");
return EXIT_SUCCESS;

Ejercicio 4:
#include <cstdlib>
#include <iostream>
using namespace std;
class estudiante
{
private:
char nombre[20],boleta [10];
float *ap_calif;
int n;
public:
estudiante (char nom[20], char bol[10],float *ap);
void leer();
float promedio();
void imprimir();
~estudiante(){};
};
estudiante::estudiante(char nom[20], char bol[10],float *ap)
{
strcpy(nombre,nom);
strcpy(boleta,bol);
ap_calif=ap;
}
void estudiante::leer()
{
int i;
cout<<"Introduzca el nombre del alumno: "<<endl;
cin>>nombre;
cout<<"Introduzca la boleta del alumno"<<endl;
cin>>boleta;
cout<<"Introduzca el numero de materias"<<endl;
cin>>i;
n = i;

ap_calif=new float[i];
for(int j=0;j<i;j++)
{
cout<<"Introduzca la calificacion "<<j+1<<endl;
cin>>ap_calif[j];
}
}
float estudiante::promedio()
{
float sum=0,prom;
for(int i=0;i<n;i++)
{
sum+= ap_calif[i];
}
prom= sum/n;
return prom;
}
void estudiante::imprimir()
{
system("cls");
cout<<"EL alumno :"<<nombre<<endl;
cout<<"Con boleta:"<<boleta<<endl;
cout<<"Tiene un promedio de :"<<promedio()<<endl;
}
int main(int argc, char *argv[])
{
char nom[20],bol[10];
float *ap;
estudiante est1(nom,bol,ap);
est1.leer();
est1.imprimir();
system("PAUSE");
return EXIT_SUCCESS;
}

Ejercicio 5:

#include <cstdlib>
#include <iostream>
#include <string>
using namespace std;
class palindromo
{
private:
int lon;
char cad1[30];
public:
palindromo(char cad[30]);
void leer();
void tam();
void determina();
};
palindromo::palindromo(char cad[30])
{
strcpy(cad1,cad);
}
void palindromo::leer()
{
cout<<"Introduzca la palabra u oracion"<<endl;
cin.getline (cad1,30,'\n');
}
void palindromo::tam()
{
int i=0;
while(cad1[i]!='\0')
{
i++;
}
lon=i;
}
void palindromo::determina()
{
int i=0, j=lon,k=1;
while (i!=j-1)
{

while (cad1[i]==32)
{
i++;
}
while (cad1[j-1]==32)
{
j--;
}
if (cad1[i]==cad1[j-1])
{
i++;
j--;
k=1;
}
else if(cad1[i]!=cad1[j-1])
{
k=0;
i=j-1;
}
}
if(k==1)
{
cout<<"SI es un palindromo"<<endl;
}
else if(k==0)
{
cout<<"NO es palindromo"<<endl;
}
}
int main(int argc, char *argv[])
{
char cad[30];
palindromo pal1(cad);
pal1.leer();
pal1.tam();
pal1.determina();
system("PAUSE");
return EXIT_SUCCESS;
}

Ejercicio 6:
a)Explique cada tipo de constructor aqui declarado.
R=en el constructor por omision no se le asignan los valores que quieren que tengan las
variables que se estan enviando a la clase, mientras que en el constructor con parametros
uno puede dar el valor que se desea a los atributos de la clase.
b) Explique en que momento se ejecuta el constructor.
R= El constructor se genera al momento de declarar el objeto en el int main.
c) Determine por objeto A,B,C que constructor manda a llamar.
R= El objeto A manda a llamar al constructor por omision, el B al constructor con
parametros y el C al constructor copia.
d) Cual es el otro nombre por el cual se le conoce a los atributos y metodos de una
clase?
R=Los atributos tambien son conocidos como miembros dato, y los metodos como
funciones miembro.
e) Explique que pasa si no se declara ningun contructor en la clase.
R= si no se declara ningun constructor no se puede ejecutar los metodos.
f) Explique que pasa si no se declara nincgun destructor en la clase.
R= se genera un destructor por omision.
7 Defina los siguientes conceptos:
Clases:Estructuras que representan objetos del mundo real,En ellas ocurren Los procesos
lgicos.
Objeto:Se le conoce como la instancia de una clase, en si es lo que le da sentido a estas
Herencia: mediante esta es posible la creacin de nuevas clases basadas en las ya
Existentes.
Encapsulamiento: es la forma de proteger nuestros datos dentro del sistema, establece
los niveles de acceso a nuestros datos.
Polimorfismo: se puede definir como la capacidad que tienen los objetos de comportarse
de multiples formas sin olvidar que para esto se necesita una herencia.
Destructor: Un destructor en algunos lenguajes de programacin orientados a objetos es

un mtodo de una clase que se llama justo antes de una instancia de esa clase y se
elimina de la memoria. No todos los lenguajes de programacin orientados a objetos
suelen tener un destructor.
La contrapartida de un destructor es un constructor que se ejecuta cuando se crea el
objeto, se instancia y se lo inicializa.
Constructor
El objetivo de un constructor es el de inicializar un objeto cuando ste es creado.
Asignaremos los valores iniciales as como los procesos que sta clase deba realizar.
Mtodo: es una subrutina cuyo cdigo es definido en una clase y puede pertenecer tanto
a una clase, como es el caso de los mtodos de clase o estticos, como a un objeto, como
es el caso de losmtodos de instancia. Anlogamente a los procedimientos en los
lenguajes imperativos, un mtodo consiste generalmente de una serie de sentencias para
llevar a cabo una accin, un juego de parmetros de entrada que regularn dicha accin
o, posiblemente, un valor de salida (o valor de retorno) de algn tipo.
Atributos: los atributos son las caractersiticas individuales que diferencian un objeto de
otro y determinan su apariencia, estado u otras cualidades. Los atributos se guardan en
variables denominadas de instancia, y cada objeto particular puede tener valores
distintos para estas variables.
Mensaje: es la transmisin de informacin de un objeto a otro, mediante dos
mecanismos bien diferenciados:
1. Llamadas a mtodos
2. 2. Seales: un objeto A enva una Seal a un objeto B, que la procesa a travs de una Recepcin

Abstraccin: consiste en aislar un elemento de su contexto o del resto de los elementos


que lo acompaan. En programacin, el trmino se refiere al nfasis en el "qu hace?"
ms que en el "cmo lo hace?" (caracterstica de caja negra).

Você também pode gostar