Práctica 14. Realizar un programa que emplee clases, basado en POO (programación orientada a objetos) para calcular el perímetro y el área de un rectángulo. Deben verificar que longitud y ancho contengan números reales y que el valor de ancho sea menor o igual que veinte, de lo contrario mostraran el valor de cero.
El programa debe mostrar una salida en pantalla como la siguiente:
Las formulas para usar son: Área =base*altura, Perímetro =Lado+Lado+Lado+Lado.
La clase utiliza estas variables a= altura, b=ancho o base.
class rectangulo {
float a,b;
float Area,Perimetro;
public:
void area(float a,float b);
void perimetro(float a,float b);
};
lunes, 29 de abril de 2013
miércoles, 24 de abril de 2013
Práctica 13. Consiste en sumar y restar números complejos de la forma a(x,y) donde "x" es la parte real y "y" la parte imaginaria, ejemplo: a(1,1) y b(2,2) el resultado de la suma seria c(3,3) y de la resta c(-1,-1), utiliza función constructora, punteros, funciones miembro, clases y objetos.
Editar el programa en turbo c++ y corregir errores sin ayuda del Profesor.
#include<iostream.h>
#include<conio.h>
//SUNMA Y RESTA DE NUMEROS COMPLEJOS DE LA FORMA a(x,y)
class complejo{
double real;
double comp;
public:
complejo();
complejo(double);
complejo(double,double);
complejo *suma(complejo&);
complejo *resta(complejo&);
double getreal();
double getcomp();
};
complejo::complejo()
{
real=0;
comp=0;
}
complejo::complejo(double real)
{
this->real=real;
comp=0;
}
complejo::complejo(double real,double comp)
{
this->real=real;
this->comp=comp;
}
complejo *complejo::suma(complejo &otro)
{return new complejo(this->real+otro.real,this->comp+otro.comp);}
complejo *complejo::resta(complejo &otro)
{return new complejo(this->real-otro.real,this->comp-otro.comp);}
double complejo::getreal()
{return this->real;}
double complejo::getcomp()
{return this->comp;}
void main()
{clrscr();
double x,y,x1,y1;
cout<<"Dame los 2 valores del numero complejo a(x,y)"<<endl;
cin>>x>>y;
cout<<"Dame los 2 valores del numero complejo b(x1,y1)"<<endl;
cin>>x1>>y1;
complejo a(x,y);
complejo b(x1,y1);
cout<<"Estos son los numeros complejos a("<<a.getreal()<<","<<a.getcomp()
<<") y b("<<b.getreal()<<","<<b.getcomp()<<")\n\n";
complejo *s=a.suma (b);
cout<<"La suma es:("<<s->getreal()<<","<<s->getcomp()<<")\n\n";
complejo *r=a.resta (b);
cout<<"La resta es:("<<r->getreal()<<","<<r->getcomp()<<")";
delete s,r;
getch();
}
Editar el programa en turbo c++ y corregir errores sin ayuda del Profesor.
#include<iostream.h>
#include<conio.h>
//SUNMA Y RESTA DE NUMEROS COMPLEJOS DE LA FORMA a(x,y)
class complejo{
double real;
double comp;
public:
complejo();
complejo(double);
complejo(double,double);
complejo *suma(complejo&);
complejo *resta(complejo&);
double getreal();
double getcomp();
};
complejo::complejo()
{
real=0;
comp=0;
}
complejo::complejo(double real)
{
this->real=real;
comp=0;
}
complejo::complejo(double real,double comp)
{
this->real=real;
this->comp=comp;
}
complejo *complejo::suma(complejo &otro)
{return new complejo(this->real+otro.real,this->comp+otro.comp);}
complejo *complejo::resta(complejo &otro)
{return new complejo(this->real-otro.real,this->comp-otro.comp);}
double complejo::getreal()
{return this->real;}
double complejo::getcomp()
{return this->comp;}
void main()
{clrscr();
double x,y,x1,y1;
cout<<"Dame los 2 valores del numero complejo a(x,y)"<<endl;
cin>>x>>y;
cout<<"Dame los 2 valores del numero complejo b(x1,y1)"<<endl;
cin>>x1>>y1;
complejo a(x,y);
complejo b(x1,y1);
cout<<"Estos son los numeros complejos a("<<a.getreal()<<","<<a.getcomp()
<<") y b("<<b.getreal()<<","<<b.getcomp()<<")\n\n";
complejo *s=a.suma (b);
cout<<"La suma es:("<<s->getreal()<<","<<s->getcomp()<<")\n\n";
complejo *r=a.resta (b);
cout<<"La resta es:("<<r->getreal()<<","<<r->getcomp()<<")";
delete s,r;
getch();
}
domingo, 21 de abril de 2013
Este es el código de la práctica 12 Método de búsqueda Binaria
#include<iostream.h>
#include<conio.h>
#define max 50 //este valor depende del usuario
void ingresarArreglo(float A[max],int n)
{ int i;
for(i=0;i<n;i++)
{ cout<<"A["<<i+1<<"]=";
cin>>A[i];
}
cout<<endl;
}
void reportarVector(float V[max],int n)
{ int i;
for(i=0;i<n;i++)//recorre el arreglo
{ cout<<V[i]<<" ";
}
cout<<endl;
}
//función de ordenación por el método de selección
void ordenarSeleccion(float V[max],int n)
{ int i,j,k;
float temp;
for(i=0;i<n-1;i++)
{ k=i;
temp=V[i];//el primer valor del arreglo lo asignamos a un temporal
//para luego compararlo con los demás valores del arreglo hasta encontrar el menor valor
for(j=i+1;j<n;j++)
{ if(V[j]<temp)//si encontramos un valor que sea menor que el primer valor del arreglo (temp)
//entonces intercambiamos de posición,los mismos pasos se repetirán hasta que arreglo sea ordenado completamente
{ k=j;
temp=V[j];
}
}
V[k]=V[i];
V[i]=temp;
}
}
//funcion de busqueda binaria,solo funciona para arreglos ordenados
int busquedaBinaria(float V[max],int n ,int dato)
{ int mitad,izq,der;
izq=0;
der=n-1;
while(izq<=der)//el elemento que esta ala izquierda debe de ser menor que el de la derecha
{ mitad=(izq+der)/2;//calculamos el elemento central del arreglo hasta encontrar el valor buscado
if(dato>V[mitad])//si el elemento buscado es mayor que el centro entonces buscamos en la segunda mitad del arreglo
izq=mitad+1;//el primer valor del arreglo pasa hacer la mitad mas 1
else if(dato<V[mitad])//si el elemento buscado buscado es menor que la mitad entonces buscamos en la primera mitad del arreglo
der=mitad-1;
else
return mitad; //retornamos el elemento encontrado
}
return -1;//el elemento no existe en el arreglo
}
void main()
{ float A[max];
int n,dato;
int pos;
clrscr();
cout<<"Ingrese numero de elementos: ";
cin>>n;
ingresarArreglo(A,n);
cout<<"Vector ingresado"<<endl;
reportarVector(A,n);
cout<<endl;
ordenarSeleccion(A,n);
cout<<"El vector ordenado: "<<endl;
reportarVector(A,n);
cout<<endl;
cout<<"Ingrese numero a buscar: ";
cin>>dato;
pos=busquedaBinaria(A,n,dato);
{ if(pos==-1)
cout<<"El dato no esta en el arreglo"<<endl;
else
cout<<"El dato se encontro en la posicion: "<<pos+1<<endl; //Se imprime la posición del elemento
} //encontrado
getch();
}
#include<iostream.h>
#include<conio.h>
#define max 50 //este valor depende del usuario
void ingresarArreglo(float A[max],int n)
{ int i;
for(i=0;i<n;i++)
{ cout<<"A["<<i+1<<"]=";
cin>>A[i];
}
cout<<endl;
}
void reportarVector(float V[max],int n)
{ int i;
for(i=0;i<n;i++)//recorre el arreglo
{ cout<<V[i]<<" ";
}
cout<<endl;
}
//función de ordenación por el método de selección
void ordenarSeleccion(float V[max],int n)
{ int i,j,k;
float temp;
for(i=0;i<n-1;i++)
{ k=i;
temp=V[i];//el primer valor del arreglo lo asignamos a un temporal
//para luego compararlo con los demás valores del arreglo hasta encontrar el menor valor
for(j=i+1;j<n;j++)
{ if(V[j]<temp)//si encontramos un valor que sea menor que el primer valor del arreglo (temp)
//entonces intercambiamos de posición,los mismos pasos se repetirán hasta que arreglo sea ordenado completamente
{ k=j;
temp=V[j];
}
}
V[k]=V[i];
V[i]=temp;
}
}
//funcion de busqueda binaria,solo funciona para arreglos ordenados
int busquedaBinaria(float V[max],int n ,int dato)
{ int mitad,izq,der;
izq=0;
der=n-1;
while(izq<=der)//el elemento que esta ala izquierda debe de ser menor que el de la derecha
{ mitad=(izq+der)/2;//calculamos el elemento central del arreglo hasta encontrar el valor buscado
if(dato>V[mitad])//si el elemento buscado es mayor que el centro entonces buscamos en la segunda mitad del arreglo
izq=mitad+1;//el primer valor del arreglo pasa hacer la mitad mas 1
else if(dato<V[mitad])//si el elemento buscado buscado es menor que la mitad entonces buscamos en la primera mitad del arreglo
der=mitad-1;
else
return mitad; //retornamos el elemento encontrado
}
return -1;//el elemento no existe en el arreglo
}
void main()
{ float A[max];
int n,dato;
int pos;
clrscr();
cout<<"Ingrese numero de elementos: ";
cin>>n;
ingresarArreglo(A,n);
cout<<"Vector ingresado"<<endl;
reportarVector(A,n);
cout<<endl;
ordenarSeleccion(A,n);
cout<<"El vector ordenado: "<<endl;
reportarVector(A,n);
cout<<endl;
cout<<"Ingrese numero a buscar: ";
cin>>dato;
pos=busquedaBinaria(A,n,dato);
{ if(pos==-1)
cout<<"El dato no esta en el arreglo"<<endl;
else
cout<<"El dato se encontro en la posicion: "<<pos+1<<endl; //Se imprime la posición del elemento
} //encontrado
getch();
}
Este es el código del programa de la práctica 11 Método de búsqueda secuencial
#include<iostream.h>
#include<conio.h>
#define max 50 //este valor depende del usuario
void ingresarArreglo(int A[max],int n)
{ int i;
for(i=0;i<n;i++)
{ cout<<"A["<<i+1<<"]=";
cin>>A[i];
}
cout<<endl;
}
void reportarVector(int V[max],int n)
{ int i;
for(i=0;i<n;i++)//recorre el arreglo
{ cout<<V[i]<<" ";
}
cout<<endl;
}
//funcion de ordenacion por el metodo de seleccion
void ordenarSeleccion(int V[max],int n)
{ int i,j,k;
float temp;
for(i=0;i<n-1;i++)
{ k=i;
temp=V[i];//el primer valor del arreglo lo asignamos a un temporal
//para luego compararlo con los demas valores del arreglo hasta encontrar el menor valor
for(j=i+1;j<n;j++)
{ if(V[j]<temp)//si encontramos un valor que sea menor que el primer valor del arreglo (temp)
//entonces intercambiamos de posicion,los mismos pasos se repetira hasta que arreglo sea ordenado completamente
{ k=j;
temp=V[j];
}
}
V[k]=V[i];
V[i]=temp;
}
}
//funcion de busqueda secuencial, solo funciona para arreglos ordenados y desordenados
int busquedaSecuencial(int A[max], int n, int dato)
{ int i;
for(i=0;i<n;i++) //Buscar por todo el arreglo
{ if (A[i]==dato) //si el elemento del arreglo es igual al dato buscado
return i; //regresa la posicion del elemento buscado
}
return -1; //Si no error
}
void main()
{ int A[max];
int n,dato;
int pos;
clrscr();
cout<<"Ingrese numero de elementos: ";
cin>>n;
ingresarArreglo(A,n);
cout<<"Vector ingresado"<<endl;
reportarVector(A,n);
cout<<endl;
ordenarSeleccion(A,n);
cout<<"El vector ordenado: "<<endl;
reportarVector(A,n);
cout<<endl;
cout<<"Ingrese numero a buscar: ";
cin>>dato;
pos=busquedaSecuencial(A,n,dato);
{ if(pos==-1)
cout<<"El dato no esta en el arreglo"<<endl;
else
cout<<"El dato se encontro en la posicion: "<<pos+1<<endl; //Se imprime la posición del elemento
} //encontrado
getch();
}
#include<iostream.h>
#include<conio.h>
#define max 50 //este valor depende del usuario
void ingresarArreglo(int A[max],int n)
{ int i;
for(i=0;i<n;i++)
{ cout<<"A["<<i+1<<"]=";
cin>>A[i];
}
cout<<endl;
}
void reportarVector(int V[max],int n)
{ int i;
for(i=0;i<n;i++)//recorre el arreglo
{ cout<<V[i]<<" ";
}
cout<<endl;
}
//funcion de ordenacion por el metodo de seleccion
void ordenarSeleccion(int V[max],int n)
{ int i,j,k;
float temp;
for(i=0;i<n-1;i++)
{ k=i;
temp=V[i];//el primer valor del arreglo lo asignamos a un temporal
//para luego compararlo con los demas valores del arreglo hasta encontrar el menor valor
for(j=i+1;j<n;j++)
{ if(V[j]<temp)//si encontramos un valor que sea menor que el primer valor del arreglo (temp)
//entonces intercambiamos de posicion,los mismos pasos se repetira hasta que arreglo sea ordenado completamente
{ k=j;
temp=V[j];
}
}
V[k]=V[i];
V[i]=temp;
}
}
//funcion de busqueda secuencial, solo funciona para arreglos ordenados y desordenados
int busquedaSecuencial(int A[max], int n, int dato)
{ int i;
for(i=0;i<n;i++) //Buscar por todo el arreglo
{ if (A[i]==dato) //si el elemento del arreglo es igual al dato buscado
return i; //regresa la posicion del elemento buscado
}
return -1; //Si no error
}
void main()
{ int A[max];
int n,dato;
int pos;
clrscr();
cout<<"Ingrese numero de elementos: ";
cin>>n;
ingresarArreglo(A,n);
cout<<"Vector ingresado"<<endl;
reportarVector(A,n);
cout<<endl;
ordenarSeleccion(A,n);
cout<<"El vector ordenado: "<<endl;
reportarVector(A,n);
cout<<endl;
cout<<"Ingrese numero a buscar: ";
cin>>dato;
pos=busquedaSecuencial(A,n,dato);
{ if(pos==-1)
cout<<"El dato no esta en el arreglo"<<endl;
else
cout<<"El dato se encontro en la posicion: "<<pos+1<<endl; //Se imprime la posición del elemento
} //encontrado
getch();
}
miércoles, 10 de abril de 2013
Lista de programas y practicas de la UNIDAD 2
- pract5.cpp Estos son los demás programas del obj. 1.2.1
- pract6.cpp
- barra.cpp
- ventana.cpp
- pract7.cpp
- pract8.cpp
- pract9.cpp Estos son los métodos de ordenamiento
- pract10.cpp -----------------------------------------
- pract11.cpp Estos son los métodos de búsqueda
- pract12.cpp ----------------------------------------
- construc.cpp
- destruc.cpp
- pract13.cpp Suma y resta de números complejos
- conspara.cpp
- conspar2.cpp
- pract14.cpp Calcula Área y Perímetro de un rectángulo
- inline.cpp
- mult.cpp
Lista de programas de repaso y practicas de la UNIDAD 1
- dias.cpp Estos son los programas que deben tener hasta ahora en el obj. 1.1.1
- trescal.cpp
- octal.cpp
- peligro.cpp
- if.cpp
- while.cpp
- contador.cpp
- conta10.cpp
- for1.cpp
- for10.cpp
- fact.cpp
- sumas.cpp
- ecuacion.cpp
- tabla.cpp
- dowhile.cpp
- mat.cpp
- pract1.cpp Estos son los programas de las practicas realizadas obj. 1.2.1
- pract2.cpp
- pract3.cpp
- pract4.cpp
Suscribirse a:
Entradas (Atom)