Tarea Poo

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 55

Pérez Chávez Yael

2AM2
24/06/2023

Indice
Ejercicio 1-Operaciones. ........................................................................................................................................... 2
Ejercicio 2-Operaciones-Suma,Resta,Multiplicaion y Division .......................................................................... 3
Ejercicio 3-Temperatura ............................................................................................................................................. 4
Ejercicio 4-Divisiones por restas sucesivas .......................................................................................................... 6
Ejercicio 5-Números Primos ..................................................................................................................................... 8
Ejercicio 6-Alumno ....................................................................................................................................................10
Ejercicio 7-Resistencias Memoria Dinámica.........................................................................................................13
Ejercicio 8-Números Primos Memoria Dinámica. ................................................................................................16
Ejercicio 9-Matriz Memoria Dinámica. ....................................................................................................................18
Ejercicio 10-Números Complejos ...........................................................................................................................20
Ejercicio 11-Números Fraccionarios. .....................................................................................................................26
Ejercicio 12-Planetas. ................................................................................................................................................33
Ejercicio 13-Lista de reproducción.........................................................................................................................36
Ejercicio 14-Empleados ............................................................................................................................................38
Ejercicio 15-Barcos....................................................................................................................................................42
Ejercicio 16-Triángulos .............................................................................................................................................44
Ejercicio 17-Barcos 02 ..............................................................................................................................................46
Ejercicio 18-Polígono ................................................................................................................................................48
Ejercicio 19-Media ......................................................................................................................................................52

1
Pérez Chávez Yael
2AM2
24/06/2023
Ejercicio 1-Operaciones.
#include <iostream>
using namespace std;

class Operaciones
{
private:
double n1;
double n2;
public:
Operaciones(){this->n1 = 0.0;this->n2 = 0.0;}

void SetN1(double val){this->n1 = val;}


double GetN1(){return this->n1;}
void SetN2(double val){this->n2 = val;}
double GetN2(){return this->n2;}
double Sumar(){return (this->n1 + this->n2);}
double Restar(){return (this->n1 - this->n2);}
double Multiplicar(){return (this->n1 * this->n2);}
double Dividir(){return (this->n1 / this->n2);}
};

int main ()
{
cout <<"ALUMNO: Perez Chavez Yael\n";
cout <<"BOLETA: 2023300780\n";
cout <<"Grupo: 2AM2\n";

Operaciones op1;
Operaciones op2;
Operaciones op3;
Operaciones op4;

op1.SetN1(5.2);
op1.SetN2(3.3);
op2.SetN1(9.1);
op2.SetN2(4.5);
op3.SetN1(6.7);
op3.SetN2(2.9);
op4.SetN1(8.8);
op4.SetN2(5.6);

cout << "\n " << op1.GetN1() << " + "<< op1.GetN2() << " = " << op1.Sumar();
cout << "\n " << op2.GetN1() << " - "<< op2.GetN2() << " = " << op2.Restar();
cout << "\n " << op3.GetN1() << " * "<< op3.GetN2() << " = " << op3.Multiplicar();
cout << "\n " << op4.GetN1() << " / "<< op4.GetN2() << " = " << op4.Dividir();

return 0;
2
Pérez Chávez Yael
2AM2
24/06/2023
}

Ejercicio 2-Operaciones-Suma,Resta,Multiplicaion y Division


#include <iostream>
using namespace std;

class Operaciones
{
private:
double n1;
double n2;
public:
Operaciones()
{this->n1 = 0.0;this->n2 = 0.0;}

~Operaciones(){}

void SetN1(double val){this->n1 = val;}


double GetN1(){return this->n1;}
void SetN2(double val){this->n2 = val;}
double GetN2(){return this->n2;}
double Sumar(){return (this->n1 + this->n2);}
double Restar(){return (this->n1 - this->n2);}
double Multiplicar(){return (this->n1 * this->n2);}
double Dividir(){return (this->n1 / this->n2);}
};

int main ()
{
cout <<"ALUMNO: Perez Chavez Yael\n";
cout <<"BOLETA: 2023300780\n";
cout <<"Grupo: 2AM2\n";

Operaciones op1;
Operaciones op2;
Operaciones op3;
Operaciones op4;

op1.SetN1(5.2);

3
Pérez Chávez Yael
2AM2
24/06/2023
op1.SetN2(3.3);
op2.SetN1(9.1);
op2.SetN2(4.5);
op3.SetN1(6.7);
op3.SetN2(2.9);
op4.SetN1(8.8);
op4.SetN2(5.6);
cout << "\n " << op1.GetN1() << " + "<< op1.GetN2() << " = " << op1.Sumar();
cout << "\n " << op2.GetN1() << " - "<< op2.GetN2() << " = " << op2.Restar();
cout << "\n " << op3.GetN1() << " * "<< op3.GetN2() << " = " << op3.Multiplicar();
cout << "\n " << op4.GetN1() << " / "<< op4.GetN2() << " = " << op4.Dividir();

return 0;

Ejercicio 3-Temperatura
#include <iostream>
using namespace std;

class Temperatura
{
private:
double tempCelsius;
public:
Temperatura(double tempCelsius) {this->tempCelsius = tempCelsius;}

Temperatura(const Temperatura &obj) {tempCelsius = obj.tempCelsius;}

~Temperatura() {}

void SetTempCelsius(double temp) {tempCelsius = temp;}

double GetTempCelsius() {return tempCelsius;}

double ConvertirAGradosFahrenheit() {return (tempCelsius * 9 / 5) + 32;}

double ConvertirAGradosKelvin() {return tempCelsius + 273.15;}

4
Pérez Chávez Yael
2AM2
24/06/2023
double ConvertirAGradosRankine() {return (tempCelsius + 273.15) * 9 / 5;}
};

int main() {

cout <<"ALUMNO: Perez Chavez Yael\n";


cout <<"BOLETA: 2023300780\n";
cout <<"Grupo: 2AM2\n";

Temperatura t1(20);

double fahrenheit1 = t1.ConvertirAGradosFahrenheit();


cout << "\n 20 C = " << fahrenheit1 << " F";

Temperatura t1Copia(t1);

double kelvin1 = t1Copia.ConvertirAGradosKelvin();


double rankine1 = t1Copia.ConvertirAGradosRankine();
cout << "\n 20 C = " << kelvin1 << " K";
cout << "\n 20 C = " << rankine1 << " R";

Temperatura t2(27);

double fahrenheit2 = t2.ConvertirAGradosFahrenheit();


cout << "\n\n 27 C = " << fahrenheit2 << " F";

Temperatura t2Copia(t2);

double kelvin2 = t2Copia.ConvertirAGradosKelvin();


double rankine2 = t2Copia.ConvertirAGradosRankine();
cout << "\n 27 C = " << kelvin2 << " K";
cout << "\n 27 C = " << rankine2 << " R";

return 0;
}

5
Pérez Chávez Yael
2AM2
24/06/2023
Ejercicio 4-Divisiones por restas sucesivas
#include <iostream>
using namespace std;

class Division
{
private:
int dividendo;
int divisor;

public:
Division();

Division(int dividendo, int divisor);

void SetDividendo(int val) { dividendo = val; }


int GetDividendo() { return dividendo; }

void SetDivisor(int val) { divisor = val; }


int GetDivisor() { return divisor; }

void Resolver();
};

Division::Division(){dividendo = 1;divisor = 1;}

Division::Division(int dividendo, int divisor)


{this->dividendo = dividendo;this->divisor = divisor;}

void Division::Resolver()
{
int cont = 1, res = dividendo;
cout << "\n\nDividir " << dividendo << " entre " << divisor << "\n\n";
cout << "\nComo " << dividendo << " >= " << divisor << " se hace la division\n";
do
{
res = res - divisor;
if (cont == 1)
{
if(res >= divisor)
cout << dividendo << " - " << divisor << " = " << res << " contamos una vez y seguimos porque " <<
res << " >= " << divisor << '\n';
else
cout << dividendo << " - " << divisor << " = " << res << " contamos una vez y paramos porque " <<
res << " <= " << divisor << '\n';
}
else
{
6
Pérez Chávez Yael
2AM2
24/06/2023
if (res<divisor)
{
cout << res + divisor << " - " << divisor << " = " << res << " contamos " << cont << " veces y paramos
porque " << res << " <= " << divisor << '\n';
}
else
{
cout << res + divisor << " - " << divisor << " = " << res << " contamos " << cont << " veces y
continuamos porque " << res << " >= " << divisor << '\n';
}

}
cont++;
} while (res >= divisor);

cout << "\n\nResultado: " << dividendo << '/' << divisor << " es igual a " << cont-1 << " y el residuo es " <<
res << ".\n";
}

int main()
{
cout << "ALUMNO: Perez Chavez Yael\n";
cout << "BOLETA: 2023300780\n";
cout << "Grupo: 2AM2\n";

int dividendo, divisor;

Division d1(1,1);
do
{
cout << "\nIngrese un dividendo: "; cin >> dividendo;
d1.SetDividendo(dividendo);
cout << "\nIngrese un divisor: "; cin >> divisor;
d1.SetDivisor(divisor);

if (d1.GetDividendo() <= 0 && d1.GetDivisor() <= 0)


cout << " ERROR... Ambos numeros deben ser mayor de cero.\n";
else if (d1.GetDividendo() == 0)
cout << " ERROR... El dividendo debe ser diferente de cero.\n";
else if (d1.GetDivisor() == 0)
cout << " ERROR... El divisor debe ser diferente de cero.\n";
else if (d1.GetDividendo() < d1.GetDivisor())
cout << "\nEl dividendo debe ser mayor o igual que el divisor\n";
} while (d1.GetDividendo() == 0 || d1.GetDivisor() == 0 || (d1.GetDividendo() == 0 && d1.GetDivisor() == 0 ||
d1.GetDividendo() < d1.GetDivisor()));

d1.Resolver();
7
Pérez Chávez Yael
2AM2
24/06/2023
cout << "\n\n";
Division d2;
do
{
cout << "\nIngrese un dividendo: "; cin >> dividendo;
d2.SetDividendo(dividendo);
cout << "\nIngrese un divisor: "; cin >> divisor;
d2.SetDivisor(divisor);

if (d2.GetDividendo() <= 0 && d2.GetDivisor() <= 0)


cout << " ERROR... Ambos numeros deben ser mayor de cero.\n";
else if (d2.GetDividendo() == 0)
cout << " ERROR... El dividendo debe ser diferente de cero.\n";
else if (d2.GetDivisor() == 0)
cout << " ERROR... El divisor debe ser diferente de cero.\n";
else if (d2.GetDividendo() < d2.GetDivisor())
cout << "\nEl dividendo debe ser mayor o igual que el divisor\n";

} while (d2.GetDividendo() == 0 || d2.GetDivisor() == 0 || (d2.GetDividendo() == 0 && d2.GetDivisor() == 0 ||


d2.GetDividendo() < d2.GetDivisor()));

d2.Resolver();
cout << "\n\n";
return 0;
}

Ejercicio 5-Números Primos


#include <iostream>
using namespace std;

class Primos {
private:
int n;
8
Pérez Chávez Yael
2AM2
24/06/2023
int Num[100];

public:
Primos(int n) {this->n = n;}

void LeerNum() {
cout << "\nIngrese " << n << " números enteros:\n";
for (int i = 0; i < n; i++) {
cout << "[" << i + 1 << "]: ";
cin >> Num[i];
}
}

void MostrarNum() {
cout << "\nLos " << n << " números ingresados son:\n";
for (int i = 0; i < n; i++) {
cout << Num[i] << "\n";
}
}

void MostrarPrimos() {
cout << "\nDe los números anteriores, estos son primos:\n";
bool tienePrimos = false;
for (int i = 0; i < n; i++) {
if (esPrimo(Num[i])) {
cout << Num[i] << "\n";
tienePrimos = true;
}
}
if (!tienePrimos) {
cout << "Ningún número es primo.\n";
}
}

bool esPrimo(int num)


{
if (num < 2) {return false;}
for (int i = 2; i * i <= num; i++) {
if (num % i == 0) {
return false;
}
}
return true;
}
};

int main() {
cout << "\n\t\tNúmeros Primos\n\n";
9
Pérez Chávez Yael
2AM2
24/06/2023
cout <<"ALUMNO: Perez Chavez Yael\n";
cout <<"BOLETA: 2023300780\n";
cout <<"Grupo: 2AM2\n";

int n;
cout << "n: ";
cin >> n;

Primos primos(n);
primos.LeerNum();
primos.MostrarNum();
primos.MostrarPrimos();

return 0;
}

Ejercicio 6-Alumno
#include <iostream>
using namespace std;

class Alumno {
private:
string nombre;
int boleta;
int numMaterias;
string materias[6];
int calificaciones[6][4];
10
Pérez Chávez Yael
2AM2
24/06/2023
double promedios[6];

public:
Alumno(const string& nombre, int boleta, int numMaterias) {
this->nombre = nombre;
this->boleta = boleta;
this->numMaterias = numMaterias;
}

void LeerMaterias() {
cout << "\nIngrese el nombre de las materias:\n";
for (int i = 0; i < numMaterias; i++) {
cout << "Materia " << (i + 1) << ": ";
cin >> materias[i];
}
}

void LeerCalificaciones() {
for (int i = 0; i < numMaterias; i++) {
cout << "\nIngrese las calificaciones de la materia " << materias[i] << ":\n";
for (int j = 0; j < 3; j++) {
cout << "Calificación " << (j + 1) << ": ";
cin >> calificaciones[i][j];
}
calificaciones[i][3] = CalcularPromedioMateria(i);
promedios[i] = CalcularPromedioMateria(i);
}
}

double CalcularPromedioMateria(int materiaIndex) {


int sum = 0;
for (int i = 0; i < 3; i++) {
sum += calificaciones[materiaIndex][i];
}
return static_cast<double>(sum) / 3.0;
}

double CalcularPromedioGeneral() {
double sum = 0;
for (int i = 0; i < numMaterias; i++) {
sum += promedios[i];
}
return sum / numMaterias;
}

void MostrarTabla() {
cout << "\nNombre: " << nombre << "\nBoleta: " << boleta << "\nMaterias: " << numMaterias <<
"\n";
11
Pérez Chávez Yael
2AM2
24/06/2023
cout << "\nMateria\tCalif. 1\tCalif. 2\tCalif. 3\tPromedio\n";

for (int i = 0; i < numMaterias; i++) {


cout << materias[i] << "\t";
for (int j = 0; j < 4; j++) {
if (j == 3)
cout << promedios[i] << "\t\t";
else
cout << calificaciones[i][j] << "\t\t";
}
cout << "\n";
}

cout << "\nPromedio General: " << CalcularPromedioGeneral() << "\n";


}
};

int main()
{
cout <<"ALUMNO: Perez Chavez Yael\n";
cout <<"BOLETA: 2023300780\n";
cout <<"Grupo: 2AM2\n";

string nombre = "Juan";


int boleta = 123456;
int numMaterias = 3;

Alumno juan(nombre, boleta, numMaterias);


juan.LeerMaterias();
juan.LeerCalificaciones();
juan.MostrarTabla();

return 0;
}

12
Pérez Chávez Yael
2AM2
24/06/2023

Ejercicio 7-Resistencias Memoria Dinámica


#include <iostream>
using namespace std;

class Resistencias {
private:
int nr;
double* R;

public:
Resistencias(int nr) {
this->nr = nr;
R = new double[nr];
}

void LeerR() {
cout << "\nIngrese el valor de cada resistencia en ohms:\n";
for (int i = 0; i < nr; i++) {
cout << "\nR" << "[" << (i + 1) << "]" << ":";
13
Pérez Chávez Yael
2AM2
24/06/2023
cin >> R[i];
}
}

void MostrarR() {

for (int i = 0; i < nr; i++) {


cout << "\nR" << "[" << (i + 1) << "]" << ":" << R[i] << " ohms\n";
}
}

double CalcularRTS() {
double rts = 0;
for (int i = 0; i < nr; i++)
{
rts += R[i];
}
return rts;
}

double CalcularRTP()
{
double rtp = 0;
for (int i = 0; i < nr; i++)
{
rtp += 1.0 / R[i];
}
rtp = 1.0 / rtp;
return rtp;

~Resistencias() {
delete[] R;
}
};

int main()
{
cout << "\n\tPrograma para calcular las RTS y RTP\n";
cout <<"\nALUMNO: Perez Chavez Yael\n";
cout <<"BOLETA: 2023300780\n";
cout <<"Grupo: 2AM2\n";
int nr;
cout << "\nIngrese los datos para calcular la RTS:\n";
cout << "\nnr: ";
cin >> nr;

14
Pérez Chávez Yael
2AM2
24/06/2023
Resistencias r1(nr);
r1.LeerR();

cout << "\nLas resistencias ingresadas son:\n";


r1.MostrarR();
cout << "\n\n\n\nRTS: " << r1.CalcularRTS() << " ohms\n\n\n\n";

cout << "\nIngrese los datos para calcular la RTP:\n";


cout << "\nnr: ";
cin >> nr;

Resistencias r2(nr);
r2.LeerR();

cout << "\nLas resistencias ingresadas son:\n";


r2.MostrarR();
cout << "\n\n\n\nRTP: " << r2.CalcularRTP() << " ohms\n\n\n\n";

cout << "\n";


return 0;
}

15
Pérez Chávez Yael
2AM2
24/06/2023
Ejercicio 8-Números Primos Memoria Dinámica.
#include <iostream>
using namespace std;

class Numeros
{
private:
int tam;
int* Num;

public:
Numeros(int tam)
{
this->tam = tam;
Num = new int[tam];
for (int i = 0; i < tam; i++)
{
Num[i] = 0;
}
}

~Numeros() {delete[] Num;}

void LeerNum() {
cout << "\nIngrese cada uno de los numeros:\n";
for (int i = 0; i < tam; i++) {
cout << "[" << i + 1 << "]: ";
cin >> Num[i];
}
}

void MostrarNum() {
cout << "\nLos numeros ingresados son:\n";
for (int i = 0; i < tam; i++) {
cout << Num[i] << "\n";
}
}

bool EsPrimo(int num) {


if (num <= 1)
return false;
for (int i = 2; i * i <= num; i++) {
if (num % i == 0)
return false;
}
return true;
}

16
Pérez Chávez Yael
2AM2
24/06/2023
void MostrarPrimos() {
cout << "\nDe los numeros ingresados, estos son primos:\n";
int count = 0;
for (int i = 0; i < tam; i++) {
if (EsPrimo(Num[i])) {
cout << Num[i] << "\n";
count++;
}
}
cout << "\nNumeros primos encontrados: " << count << "\n";
}
};

int main() {
cout << "\t\tNumeros Primos\n\n";
cout <<"ALUMNO: Perez Chavez Yael\n";
cout <<"BOLETA: 2023300780\n";
cout <<"Grupo: 2AM2\n";

int tam;
cout << "Cuantos numeros va a ingresar?: ";
cin >> tam;

Numeros numeros(tam);
numeros.LeerNum();
numeros.MostrarNum();
numeros.MostrarPrimos();

return 0;
}

17
Pérez Chávez Yael
2AM2
24/06/2023
Ejercicio 9-Matriz Memoria Dinámica.
#include <iostream>
using namespace std;

class Matriz {
private:
int numFil;
int numCol;
int **M;

public:
Matriz(int numFil, int numCol) {
this->numFil = numFil;
this->numCol = numCol;
M = new int*[numFil];
for (int i = 0; i < numFil; i++) {
M[i] = new int[numCol];
}
}

void LeerM() {
cout << "Ingrese los numeros de la matriz:\n";
for (int i = 0; i < numFil; i++) {
for (int j = 0; j < numCol; j++) {
cout << "\n[" << (i+1) << "]:";
cin >> M[i][j];
}
}
}

void MostrarM() {
cout << "\nLa matriz ingresada es:\n";
for (int i = 0; i < numFil; i++) {
for (int j = 0; j < numCol; j++) {
cout << M[i][j] << "\t";
}
cout << endl;
}
}

void SumarFilas() {
for (int i = 0; i < numFil; i++) {
int suma = 0;
for (int j = 0; j < numCol; j++) {
suma += M[i][j];
}
cout << "\nSuma Fila " << (i+1) << " = " << suma;
}
18
Pérez Chávez Yael
2AM2
24/06/2023
}

void SumarColumnas() {
for (int j = 0; j < numCol; j++) {
int suma = 0;
for (int i = 0; i < numFil; i++) {
suma += M[i][j];
}
cout << "\nSuma Columna " << (j+1) << " = " << suma;
}
}

void BuscarNumeros(int num) {


bool encontrado = false;
for (int i = 0; i < numFil; i++) {
for (int j = 0; j < numCol; j++) {
if (M[i][j] == num) {
cout << "El numero " << num << " se encuentra en la posicion:";
cout << "\n[" << i << "][" << j << "]";
encontrado = true;
}
}
}
if (!encontrado) {
cout << "\nEl numero " << num << " no se encuentra en la matriz.";
}
}
};

int main()
{
cout <<"ALUMNO: Perez Chavez Yael\n";
cout <<"BOLETA: 2023300780\n";
cout <<"Grupo: 2AM2\n";
int numFilas, numColumnas;
cout << "Ingrese el tamaño de la matriz";
cout << "\n\n#Fil: ";
cin >> numFilas;
cout << "\n#Col: ";
cin >> numColumnas;

Matriz m(numFilas, numColumnas);

m.LeerM();
m.MostrarM();
cout << "\nSUMA DE CADA UNA DE LAS FILAS DE LA MATRIZ\n";
m.SumarFilas();
cout << "\n\nSUMA DE CADA UNA DE LAS COUMNAS DE LA MATRIZ\n";
19
Pérez Chávez Yael
2AM2
24/06/2023
m.SumarColumnas();

int numeroBuscar;
cout << "\n\nIngresa un nunero para buscarlo en la matriz";
cout << "\n\nnum: ";
cin >> numeroBuscar;
m.BuscarNumeros(numeroBuscar);

return 0;
}

Ejercicio 10-Números Complejos


#include <iostream>
using namespace std;

class Complejo {
private:
double rea;
double ima;
public:
Complejo();
Complejo(double rea, double ima);
void Mostrar();
20
Pérez Chávez Yael
2AM2
24/06/2023
void SetReal(double real);
void SetImaginario(double imaginario);
double GetReal() const;
double GetImaginario() const;
friend Complejo Sumar(const Complejo& c1, const Complejo& c2);
friend Complejo Restar(const Complejo& c1, const Complejo& c2);
friend Complejo Multiplicar(const Complejo& c1, const Complejo& c2);
friend Complejo Dividir(const Complejo& c1, const Complejo& c2);
};

Complejo::Complejo() {rea = 0.0;ima = 0.0;}

Complejo::Complejo(double rea, double ima) {this->rea = rea;this->ima = ima;}

void Complejo::Mostrar() {cout << rea << "+" << ima << "i";}

void Complejo::SetReal(double real) {rea = real;}

void Complejo::SetImaginario(double imaginario) {ima = imaginario;}

double Complejo::GetReal() const {return rea;}

double Complejo::GetImaginario() const {return ima;}

Complejo Sumar(const Complejo& c1, const Complejo& c2)


{
double rea = c1.rea + c2.rea;
double ima = c1.ima + c2.ima;
return Complejo(rea, ima);
}

Complejo Restar(const Complejo& c1, const Complejo& c2)


{
double rea = c1.rea - c2.rea;
double ima = c1.ima - c2.ima;
return Complejo(rea, ima);
}

Complejo Multiplicar(const Complejo& c1, const Complejo& c2)


{
double rea = c1.rea * c2.rea - c1.ima * c2.ima;
double ima = c1.rea * c2.ima + c1.ima * c2.rea;
return Complejo(rea, ima);
}

Complejo Dividir(const Complejo& c1, const Complejo& c2)


{
double denominador = c2.rea * c2.rea + c2.ima * c2.ima;
21
Pérez Chávez Yael
2AM2
24/06/2023
double rea = (c1.rea * c2.rea + c1.ima * c2.ima) / denominador;
double ima = (c1.ima * c2.rea - c1.rea * c2.ima) / denominador;
return Complejo(rea, ima);
}

int main()
{
cout <<"Programa para numeros complejos;
cout <<"ALUMNO: Perez Chavez Yael\n";
cout <<"BOLETA: 2023300780\n";
cout <<"Grupo: 2AM2\n";
Complejo c1, c2, resultado;
int op;
do {
op = Menu();
switch (op) {
case 1: {
cout << "Ingrese el primer numero complejo:\n";
cout << "Parte real: ";
double real;
cin >> real;
c1.SetReal(real);
cout << "Parte imaginaria: ";
double imag;
cin >> imag;
c1.SetImaginario(imag);

cout << "Ingrese el segundo numero complejo:\n";


cout << "Parte real: ";
cin >> real;
c2.SetReal(real);
cout << "Parte imaginaria: ";
cin >> imag;
c2.SetImaginario(imag);

resultado = Sumar(c1, c2);


cout << "(" << c1.GetReal() << "+" << c1.GetImaginario() << "i) + (" << c2.GetReal() <<
"+" << c2.GetImaginario() << "i) = ";
resultado.Mostrar();
cout << "\n";
break;
}

case 2: {
cout << "Ingrese el primer numero complejo:\n";
cout << "Parte real: ";
double real;
cin >> real;
22
Pérez Chávez Yael
2AM2
24/06/2023
c1.SetReal(real);
cout << "Parte imaginaria: ";
double imag;
cin >> imag;
c1.SetImaginario(imag);

cout << "Ingrese el segundo numero complejo:\n";


cout << "Parte real: ";
cin >> real;
c2.SetReal(real);
cout << "Parte imaginaria: ";
cin >> imag;
c2.SetImaginario(imag);

resultado = Restar(c1, c2);


cout << "(" << c1.GetReal() << "+" << c1.GetImaginario() << "i) - (" << c2.GetReal() <<
"+" << c2.GetImaginario() << "i) = ";
resultado.Mostrar();
cout << "\n";
break;
}
case 3: {
cout << "Ingrese el primer numero complejo:\n";
cout << "Parte real: ";
double real;
cin >> real;
c1.SetReal(real);
cout << "Parte imaginaria: ";
double imag;
cin >> imag;
c1.SetImaginario(imag);

cout << "Ingrese el segundo numero complejo:\n";


cout << "Parte real: ";
cin >> real;
c2.SetReal(real);
cout << "Parte imaginaria: ";
cin >> imag;
c2.SetImaginario(imag);

resultado = Multiplicar(c1, c2);


cout << "(" << c1.GetReal() << "+" << c1.GetImaginario() << "i) * (" << c2.GetReal() <<
"+" << c2.GetImaginario() << "i) = ";
resultado.Mostrar();
cout << "\n";
break;
}
case 4: {
23
Pérez Chávez Yael
2AM2
24/06/2023
cout << "Ingrese el primer numero complejo:\n";
cout << "Parte real: ";
double real;
cin >> real;
c1.SetReal(real);
cout << "Parte imaginaria: ";
double imag;
cin >> imag;
c1.SetImaginario(imag);

cout << "Ingrese el segundo numero complejo:\n";


cout << "Parte real: ";
cin >> real;
c2.SetReal(real);
cout << "Parte imaginaria: ";
cin >> imag;
c2.SetImaginario(imag);

resultado = Dividir(c1, c2);


cout << "(" << c1.GetReal() << "+" << c1.GetImaginario() << "i) / (" << c2.GetReal() <<
"+" << c2.GetImaginario() << "i) = ";
resultado.Mostrar();
cout << "\n";
break;
}
case 5: {
cout << "Ingrese el primer numero complejo:\n";
cout << "Parte real: ";
double real;
cin >> real;
c1.SetReal(real);
cout << "Parte imaginaria: ";
double imag;
cin >> imag;
c1.SetImaginario(imag);

cout << "Ingrese el segundo numero complejo:\n";


cout << "Parte real: ";
cin >> real;
c2.SetReal(real);
cout << "Parte imaginaria: ";
cin >> imag;
c2.SetImaginario(imag);

resultado = Sumar(c1, c2);


cout << "(" << c1.GetReal() << "+" << c1.GetImaginario() << "i) + (" << c2.GetReal() <<
"+" << c2.GetImaginario() << "i) = ";
resultado.Mostrar();
24
Pérez Chávez Yael
2AM2
24/06/2023
cout << "\n";

resultado = Restar(c1, c2);


cout << "(" << c1.GetReal() << "+" << c1.GetImaginario() << "i) - (" << c2.GetReal() <<
"+" << c2.GetImaginario() << "i) = ";
resultado.Mostrar();
cout << "\n";

resultado = Multiplicar(c1, c2);


cout << "(" << c1.GetReal() << "+" << c1.GetImaginario() << "i) * (" << c2.GetReal() <<
"+" << c2.GetImaginario() << "i) = ";
resultado.Mostrar();
cout << "\n";

resultado = Dividir(c1, c2);


cout << "(" << c1.GetReal() << "+" << c1.GetImaginario() << "i) / (" << c2.GetReal() <<
"+" << c2.GetImaginario() << "i) = ";
resultado.Mostrar();
cout << "\n";

break;
}
case 6:
cout << "Saliendo del programa...\n";
break;
default:
cout << "Opcion invalida. Intente de nuevo.\n";
break;
}
cout << "\n";
} while (op != 6);
return 0;
}
int Menu() {
int op;
cout << "Menu:\n";
cout << "1. Suma\n";
cout << "2. Resta\n";
cout << "3. Multiplicacion\n";
cout << "4. Division\n";
cout << "5. Todas\n";
cout << "6. Salir\n";
cout << "Ingrese una opcion: ";
cin >> op;
cout << "\n";
return op;
}

25
Pérez Chávez Yael
2AM2
24/06/2023

Ejercicio 11-Números Fraccionarios.


#include <iostream>
using namespace std;

class Fraccionario {
private:
int num;
int den;

public:
Fraccionario() {
num = 0;
den = 1;
}

Fraccionario(int num, int den) {this->num = num;this->den = den;}

26
Pérez Chávez Yael
2AM2
24/06/2023
void Mostrar();

friend Fraccionario Sumar(const Fraccionario& n1, const Fraccionario& n2);


friend Fraccionario Restar(const Fraccionario& n1, const Fraccionario& n2);
friend Fraccionario Multiplicar(const Fraccionario& n1, const Fraccionario& n2);
friend Fraccionario Dividir(const Fraccionario& n1, const Fraccionario& n2);
friend Fraccionario Simplificar(const Fraccionario& n);

void SetNum(int val) { num = val; }


int GetNum() { return num; }
void SetDen(int val) { den = val; }
int GetDen() { return den; }
};

void Fraccionario::Mostrar() {
cout << "(" << num << "/" << den << ")";
}

Fraccionario Sumar(const Fraccionario& n1, const Fraccionario& n2) {


int denominador = n1.den * n2.den;
int numerador = (n1.num * n2.den) + (n1.den * n2.num);
return Simplificar(Fraccionario(numerador, denominador));
}

Fraccionario Restar(const Fraccionario& n1, const Fraccionario& n2) {


int numerador = (n1.num * n2.den) - (n2.num * n1.den);
int denominador = n1.den * n2.den;
return Simplificar(Fraccionario(numerador, denominador));
}

Fraccionario Multiplicar(const Fraccionario& n1, const Fraccionario& n2) {


int numerador = n1.num * n2.num;
int denominador = n1.den * n2.den;
return Simplificar(Fraccionario(numerador, denominador));
}

Fraccionario Dividir(const Fraccionario& n1, const Fraccionario& n2) {


int numerador = n1.num * n2.den;
int denominador = n1.den * n2.num;
return Simplificar(Fraccionario(numerador, denominador));
}

Fraccionario Simplificar(const Fraccionario& n) {


int numerador = n.num;
int denominador = n.den;

int mcd = 1;
int menor = min(abs(numerador), abs(denominador));
27
Pérez Chávez Yael
2AM2
24/06/2023

for (int i = 2; i <= menor; i++) {


if (numerador % i == 0 && denominador % i == 0) {
mcd = i;
}
}

numerador /= mcd;
denominador /= mcd;

return Fraccionario(numerador, denominador);


}

int Menu() {
int op;
cout << "\n\nElige una opcion:\n";
cout << "1. Suma\n";
cout << "2. Resta\n";
cout << "3. Multiplicacion\n";
cout << "4. Division\n";
cout << "5. Todas\n";
cout << "6. Salir\n";
cout << "\nop: ";
cin >> op;

return op;
}

int main() {
cout <<"ALUMNO: Perez Chavez Yael\n";
cout <<"BOLETA: 2023300780\n";
cout <<"Grupo: 2AM2\n";

int num, den;


Fraccionario f1, f2, resultado;

while (true) {
int opcion = Menu();

switch (opcion) {
case 1:
cout << "\nIngresa el primer numero fraccionario:\n";
cout << "Numerador: ";
cin >> num;
cout << "Denominador: ";
cin >> den;
f1.SetNum(num);
28
Pérez Chávez Yael
2AM2
24/06/2023
f1.SetDen(den);

cout << "\nIngresa el segundo numero fraccionario:\n";


cout << "Numerador: ";
cin >> num;
cout << "Denominador: ";
cin >> den;
f2.SetNum(num);
f2.SetDen(den);

resultado = Sumar(f1, f2);

cout << "\nSuma:\n";


f1.Mostrar();
cout << " + ";
f2.Mostrar();
cout << " = ";
resultado.Mostrar();
cout << " = ";
Simplificar(resultado).Mostrar();
cout << "\n";

break;

case 2:
cout << "\nIngresa el primer numero fraccionario:\n";
cout << "Numerador: ";
cin >> num;
cout << "Denominador: ";
cin >> den;
f1.SetNum(num);
f1.SetDen(den);

cout << "\nIngresa el segundo numero fraccionario:\n";


cout << "Numerador: ";
cin >> num;
cout << "Denominador: ";
cin >> den;
f2.SetNum(num);
f2.SetDen(den);

resultado = Restar(f1, f2);

cout << "\nResta:\n";


f1.Mostrar();
cout << " - ";
f2.Mostrar();
cout << " = ";
29
Pérez Chávez Yael
2AM2
24/06/2023
resultado.Mostrar();
cout << " = ";
Simplificar(resultado).Mostrar();
cout << "\n";

break;

case 3:
cout << "\nIngresa el primer numero fraccionario:\n";
cout << "Numerador: ";
cin >> num;
cout << "Denominador: ";
cin >> den;
f1.SetNum(num);
f1.SetDen(den);

cout << "\nIngresa el segundo numero fraccionario:\n";


cout << "Numerador: ";
cin >> num;
cout << "Denominador: ";
cin >> den;
f2.SetNum(num);
f2.SetDen(den);

resultado = Multiplicar(f1, f2);

cout << "\nMultiplicacion:\n";


f1.Mostrar();
cout << " * ";
f2.Mostrar();
cout << " = ";
resultado.Mostrar();
cout << " = ";
Simplificar(resultado).Mostrar();
cout << "\n";

break;

case 4:
cout << "\nIngresa el primer numero fraccionario:\n";
cout << "Numerador: ";
cin >> num;
cout << "Denominador: ";
cin >> den;
f1.SetNum(num);
f1.SetDen(den);

cout << "\nIngresa el segundo numero fraccionario:\n";


30
Pérez Chávez Yael
2AM2
24/06/2023
cout << "Numerador: ";
cin >> num;
cout << "Denominador: ";
cin >> den;
f2.SetNum(num);
f2.SetDen(den);

resultado = Dividir(f1, f2);

cout << "\nDivision:\n";


f1.Mostrar();
cout << " / ";
f2.Mostrar();
cout << " = ";
resultado.Mostrar();
cout << " = ";
Simplificar(resultado).Mostrar();
cout << "\n";

break;

case 5: // Todas las operaciones


cout << "\nIngresa el primer numero fraccionario:\n";
cout << "Numerador: ";
cin >> num;
cout << "Denominador: ";
cin >> den;
f1.SetNum(num);
f1.SetDen(den);

cout << "\nIngresa el segundo numero fraccionario:\n";


cout << "Numerador: ";
cin >> num;
cout << "Denominador: ";
cin >> den;
f2.SetNum(num);
f2.SetDen(den);

resultado = Sumar(f1, f2);


cout << "\nSuma:\n";
f1.Mostrar();
cout << " + ";
f2.Mostrar();
cout << " = ";
resultado.Mostrar();
cout << " = ";
Simplificar(resultado).Mostrar();
cout << "\n";
31
Pérez Chávez Yael
2AM2
24/06/2023

resultado = Restar(f1, f2);


cout << "\nResta:\n";
f1.Mostrar();
cout << " - ";
f2.Mostrar();
cout << " = ";
resultado.Mostrar();
cout << " = ";
Simplificar(resultado).Mostrar();
cout << "\n";

resultado = Multiplicar(f1, f2);


cout << "\nMultiplicacion:\n";
f1.Mostrar();
cout << " * ";
f2.Mostrar();
cout << " = ";
resultado.Mostrar();
cout << " = ";
Simplificar(resultado).Mostrar();
cout << "\n";

resultado = Dividir(f1, f2);


cout << "\nDivision:\n";
f1.Mostrar();
cout << " / ";
f2.Mostrar();
cout << " = ";
resultado.Mostrar();
cout << " = ";
Simplificar(resultado).Mostrar();
cout << "\n";

break;

case 6:
cout << "\nHasta luego!\n";
return 0;

default:
cout << "\nOpcion invalida. Intenta nuevamente.\n";
break;
}
}

return 0;
}
32
Pérez Chávez Yael
2AM2
24/06/2023

Ejercicio 12-Planetas.
include <iostream>
using namespace std;

class Planeta
{
private:
string nombre;
double masa;
double volumen;
double periodoOrbital;
double periodoRotacion;

public:
Planeta()
{
nombre = "";
masa = 0.0;
volumen = 0.0;
periodoOrbital = 0.0;
periodoRotacion = 0.0;
}

void SetNombre(string nombre) {this->nombre = nombre;}

33
Pérez Chávez Yael
2AM2
24/06/2023

string GetNombre() {return nombre;}

void SetMasa(double masa) {this->masa = masa;}

double GetMasa() {return masa;}

void SetVolumen(double volumen) {this->volumen = volumen;}

double GetVolumen() {return volumen;}

void SetPeriodoOrbital(double periodoOrbital) {this->periodoOrbital = periodoOrbital;}

double GetPeriodoOrbital() {return periodoOrbital;}

void SetPeriodoRotacion(double periodoRotacion) {this->periodoRotacion = periodoRotacion;}

double GetPeriodoRotacion() {return periodoRotacion;}

void MostrarDatos(int numeroPlaneta) {


cout << "Planeta #" << numeroPlaneta << ": " << nombre << "\n";
cout << "Masa: " << masa << " kg\n";
cout << "Volumen: " << volumen << " km^3\n";
cout << "Periodo Orbital: " << periodoOrbital << " días\n";
cout << "Periodo de Rotación: " << periodoRotacion << " días\n";
cout << "\n";
}
};

int main() {
cout <<"ALUMNO: Perez Chavez Yael\n";
cout <<"BOLETA: 2023300780\n";
cout <<"Grupo: 2AM2\n";
Planeta planetas[8];

planetas[0].SetNombre("Mercurio");
planetas[0].SetMasa(3.3011e23);
planetas[0].SetVolumen(6.083e10);
planetas[0].SetPeriodoOrbital(87.969);
planetas[0].SetPeriodoRotacion(58.646);

planetas[1].SetNombre("Venus");
planetas[1].SetMasa(4.8675e24);
planetas[1].SetVolumen(9.2843e11);
planetas[1].SetPeriodoOrbital(224.701);
planetas[1].SetPeriodoRotacion(-243.025);

planetas[2].SetNombre("Tierra");
34
Pérez Chávez Yael
2AM2
24/06/2023
planetas[2].SetMasa(5.9736e24);
planetas[2].SetVolumen(1.08321e12);
planetas[2].SetPeriodoOrbital(365.256363004);
planetas[2].SetPeriodoRotacion(0.99726968);

planetas[3].SetNombre("Marte");
planetas[3].SetMasa(6.4171e23);
planetas[3].SetVolumen(1.6318e11);
planetas[3].SetPeriodoOrbital(686.971);
planetas[3].SetPeriodoRotacion(1.02595676);

planetas[4].SetNombre("Jupiter");
planetas[4].SetMasa(1.8982e27);
planetas[4].SetVolumen(1.43128e15);
planetas[4].SetPeriodoOrbital(4332.59);
planetas[4].SetPeriodoRotacion(0.41354);

planetas[5].SetNombre("Saturno");
planetas[5].SetMasa(5.6834e26);
planetas[5].SetVolumen(8.2713e14);
planetas[5].SetPeriodoOrbital(10759.22);
planetas[5].SetPeriodoRotacion(0.44401);

planetas[6].SetNombre("Urano");
planetas[6].SetMasa(8.6810e25);
planetas[6].SetVolumen(6.833e13);
planetas[6].SetPeriodoOrbital(30685.4);
planetas[6].SetPeriodoRotacion(-0.71833);

planetas[7].SetNombre("Neptuno");
planetas[7].SetMasa(1.02413e26);
planetas[7].SetVolumen(6.254e13);
planetas[7].SetPeriodoOrbital(60189);
planetas[7].SetPeriodoRotacion(0.67125);

for (int i = 0; i < 8; i++)


{
planetas[i].MostrarDatos(i + 1);
}

cout << "\n\n";


return 0;
}

35
Pérez Chávez Yael
2AM2
24/06/2023

Ejercicio 13-Lista de reproducción


#include <iostream>
#include <iomanip>
using namespace std;

class Cancion {
private:
string titulo;
string album;
string artista;

public:
Cancion() {}

void MostrarCancion(int numCancion) {


cout << setw(2) << numCancion << "\t" << setw(15) << left << artista << "\t" << setw(15) << left
<< album << "\t" << titulo << "\n";
}

void IngresarDatos(int numCancion) {


cout << "\nCancion " << numCancion << ":\n";
cout << "\tTitulo: ";
getline(cin, titulo);
36
Pérez Chávez Yael
2AM2
24/06/2023

cout << "\tAlbum: ";


getline(cin, album);

cout << "\tArtista: ";


getline(cin, artista);
}
};

int main()
{
cout << "ALUMNO: Perez Chavez Yael\n";
cout << "BOLETA: 2023300780\n";
cout << "Grupo: 2AM2\n";
int numCanciones;
cout << "\n\t\t\tSpotify" << "\n\t\tLista de Reproduccion";
cout << "\n\n# de canciones: ";
cin >> numCanciones;
cin.ignore(); // Ignorar el salto de línea después de leer numCanciones

Cancion *listaReproduccionSpotify = new Cancion[numCanciones];

cout << "\nIngresa los datos de las canciones:\n";


for (int i = 0; i < numCanciones; i++) {
listaReproduccionSpotify[i].IngresarDatos(i + 1);
}

cout << "\nPlaylist:\n";


cout << "#\tArtista\t\tAlbum\t\tCancion\n";
for (int i = 0; i < numCanciones; i++) {
listaReproduccionSpotify[i].MostrarCancion(i + 1);
}

delete[] listaReproduccionSpotify;
return 0;
}

37
Pérez Chávez Yael
2AM2
24/06/2023

Ejercicio 14-Empleados
#include <iostream>
using namespace std;

class Empleado
{
protected:
string nombre, apellido, numeroSeguroSocial;
public:
Empleado()
{
nombre="";
apellido="";
numeroSeguroSocial="";
}

void SetNombre(string val){nombre=val;}


string GetNombre(){return nombre;}

void SetApellido(string val){apellido=val;}


string GetApellido(){return apellido;}

void SetNumeroSeguroSocial(string val){numeroSeguroSocial=val;}


string GetNumeroSeguroSocial(){return numeroSeguroSocial;}

void Mostrar()
{
cout << "\n Nombre= " << nombre << "\n Apellido= " << apellido << "\n # Seguro Social= " <<
numeroSeguroSocial;
38
Pérez Chávez Yael
2AM2
24/06/2023
}
};

class EmpleadoAsalariado:public Empleado


{
private:
double salarioSemanal;
public:
EmpleadoAsalariado():Empleado()
{
salarioSemanal=0.0;
}

void SetSalarioSemanal(double val){salarioSemanal=val;}


double GetSalarioSemal(){return salarioSemanal;}

void Mostrar()
{
Empleado::Mostrar();
cout << "\n Salario Semanal= $" << salarioSemanal;
}

double CalcularSueldo()
{
double sueldo = salarioSemanal;
return sueldo;
}
};

class EmpleadoPorComision:public Empleado


{
protected:
double ventasBrutas, tarifaComision;
public:
EmpleadoPorComision():Empleado()
{
ventasBrutas=0.0;
tarifaComision=0.0;
}

void SetVentasBrutas(double val){ventasBrutas=val;}


double GetVentasBrutas(){return ventasBrutas;}

void SetTarifaComision(double val){tarifaComision=val;}


double GetTarifaComision(){return tarifaComision;}

void Mostrar()
39
Pérez Chávez Yael
2AM2
24/06/2023
{
Empleado::Mostrar();
cout << "\n Ventas Brutas= $" << ventasBrutas << "\n Tarifa por Comision= " << tarifaComision;
}

double CalcularSueldo()
{
double sueldo= ventasBrutas*tarifaComision;
return sueldo;
}
};

class EmpleadoPorHoras:public Empleado


{
protected:
double sueldo;
int horas;
public:
EmpleadoPorHoras():Empleado()
{
sueldo=0.0;
horas=0;
}

void SetSueldo(double val){sueldo=val;}


double GetSueldo(){return sueldo;}

void SetHoras(int val){horas=val;}


int GetHoras(){return horas;}

void Mostrar()
{
Empleado::Mostrar();
cout << "\n Sueldo= $" << sueldo << "\n Horas= " << horas;
}

double CalcularSueldo()
{
double sueldoTotal;
if(horas<=40)
{
sueldoTotal=sueldo*horas;
return sueldoTotal;
}
else
{
sueldoTotal=(40*sueldo)+(horas-40)*sueldo*1.5;
return sueldoTotal;
40
Pérez Chávez Yael
2AM2
24/06/2023
}

}
};

int main()
{
cout <<"ALUMNO: Perez Chavez Yael\n";
cout <<"BOLETA: 2023300780\n";
cout <<"Grupo: 2AM2\n";
cout << "\n\t EMPLEADO\n";

cout << "\nAsalariado\n";


EmpleadoAsalariado ea;
ea.SetNombre("Juan");
ea.SetApellido("Lopez");
ea.SetNumeroSeguroSocial("1234");
ea.SetSalarioSemanal(10000);
ea.Mostrar();
cout << "\n Sueldo Total= $" << ea.CalcularSueldo() << "\n\n";

cout << "\nPor Comision\n";


EmpleadoPorComision ec;
ec.SetNombre("Jose");
ec.SetApellido("Perez");
ec.SetNumeroSeguroSocial("8765");
ec.SetTarifaComision(0.8);
ec.SetVentasBrutas(14000);
ec.Mostrar();
cout << "\n Sueldo Total= $" << ec.CalcularSueldo() << "\n\n";

cout << "\nPor Hora\n";


EmpleadoPorHoras eh;
eh.SetNombre("Luis");
eh.SetApellido("Martinez");
eh.SetNumeroSeguroSocial("8765");
eh.SetHoras(46);
eh.SetSueldo(300);
eh.Mostrar();
cout << "\n Sueldo Total= $" << eh.CalcularSueldo() << "\n\n";

cout << "\n\n";


return 0;
}

41
Pérez Chávez Yael
2AM2
24/06/2023

Ejercicio 15-Barcos
#include <iostream>
using namespace std;

class Barco {
protected:
string nombre;
double peso;

public:
Barco() {}

Barco(string nombre, double peso) {this->nombre = nombre;this->peso = peso;}

void Mostrar() {
cout << "Nombre: " << nombre << "\n";
cout << "Peso: " << peso << " toneladas\n";
}
};

class Carguero : public Barco {


private:
double carga;
public:
Carguero() {}

Carguero(string nombre, double peso, double carga) : Barco(nombre, peso) {this->carga = carga;}
42
Pérez Chávez Yael
2AM2
24/06/2023

void Mostrar() {
Barco::Mostrar();
cout << "Carga: " << carga << " toneladas\n";
}
};

class Acorazado : public Barco {


private:
int numArmas;
int numSoldados;

public:
Acorazado() {}

Acorazado(string nombre, double peso, int numArmas, int numSoldados) : Barco(nombre, peso) {
this->numArmas = numArmas;
this->numSoldados = numSoldados;
}

void Mostrar() {
Barco::Mostrar();
cout << "Número de armas: " << numArmas << "\n";
cout << "Número de soldados: " << numSoldados << "\n";
}
};

int main() {
cout <<"ALUMNO: Perez Chavez Yael\n";
cout <<"BOLETA: 2023300780\n";
cout <<"Grupo: 2AM2\n";
Carguero bc("Carguero 1", 500.75, 1000.50);
Acorazado ba("Acorazado 1", 2000.25, 10, 50);

cout << "\nDatos del Carguero:\n";


bc.Mostrar();
cout << "\n";

cout << "\nDatos del Acorazado:\n";


ba.Mostrar();
cout << "\n";

return 0;
}

43
Pérez Chávez Yael
2AM2
24/06/2023

Ejercicio 16-Triángulos
#include <iostream>
using namespace std;

class Triangulo {
protected:
int numFil;

public:
Triangulo() {
numFil = 0;
}
};

class T1 : public Triangulo {


public:
void Mostrar() {
for (int i = 1; i <= 10; i++) {
for (int j = 1; j <= i; j++) {
cout << "*";
}
cout << '\n';
}
}
};

class T2 : public Triangulo {


public:
void Mostrar() {
for (int i = 10; i >= 1; i--) {
for (int j = 1; j <= i; j++) {
cout << "*";
44
Pérez Chávez Yael
2AM2
24/06/2023
}
cout << '\n';
}
}
};

class T3 : public Triangulo {


public:
void Mostrar() {
for (int i = 1; i <= 10; i++) {
for (int j = 1; j <= i; j++) {
cout << "*";
}
cout << '\n';
}

}
};

class T4 : public Triangulo {


public:
void Mostrar() {
for (int i = 10; i >= 1; i--) {
for (int j = 1; j <= i; j++) {
cout << "*";
}
cout << '\n';
}
}
};

int main() {
cout <<"ALUMNO: Perez Chavez Yael\n";
cout <<"BOLETA: 2023300780\n";
cout <<"Grupo: 2AM2\n";
T1 t1;
T2 t2;
T3 t3;
T4 t4;

std::cout << "T1:\n";


t1.Mostrar();

std::cout << "T2:\n";


t2.Mostrar();

std::cout << "T3:\n";


45
Pérez Chávez Yael
2AM2
24/06/2023
t3.Mostrar();

std::cout << "T4:\n";


t4.Mostrar();

return 0;
}

Ejercicio 17-Barcos 02
#include <iostream>
using namespace std;

class Barco
{
protected:
string nombre;
double peso;
public:
Barco(const string& nombre, double peso){this->nombre=nombre;this->peso=peso;}

void SetNombre(string val){nombre=val;}


string GetNombre(){return nombre;}

void SetPeso(double val){peso=val;}


double GetPeso(){return peso;}

46
Pérez Chávez Yael
2AM2
24/06/2023

void Mostrar()
{
cout << "\n Nombre= " << nombre << "\n Peso= " << peso << " toneladas";
}
};

class Carguero : public Barco


{
private:
double carga;
public:

Carguero(const string& nombre, double peso, double carga): Barco(nombre, peso)


{
this->carga=carga;
}

void SetCarga(double val){carga=val;}


double GetCarga(){return carga;}

void Mostrar()
{
Barco::Mostrar();
cout << "\n Carga= " << carga << " toneladas";
}

};

class Acorazado : public Barco


{
private:
int numArmas, numSoldados;
public:

Acorazado(const string& nombre, double peso, int numArmas, int numSoldados): Barco(nombre, peso)

{
this->numArmas=numArmas;
this->numSoldados=numSoldados;
}

void SetNumArmas(int val){numArmas=val;}


int GetNumArmas(){return numArmas;}

void SetNumSoldados(int val){numSoldados=val;}


int GetNumSoldados(){return numSoldados;}

47
Pérez Chávez Yael
2AM2
24/06/2023
void Mostrar()
{
Barco::Mostrar();
cout << "\n Numero de armas: " << numArmas << " \n Numeros de soldados: " <<
numSoldados;
}
};

int main()
{
cout <<"ALUMNO: Perez Chavez Yael\n";
cout <<"BOLETA: 2023300780\n";
cout <<"Grupo: 2AM2\n";

Carguero bc("El aguado", 18000.678, 47000.327);


Acorazado ba("Romper Corazones", 37451, 12546, 587);

cout << "\n\n Carguero:\n";


bc.Mostrar();
cout << "\n\n Acorazado:\n";
ba.Mostrar();

cout << "\n\n";


return 0;
}

Ejercicio 18-Polígono
#include <iostream>
#include <cmath>
using namespace std;

class Poligono {
48
Pérez Chávez Yael
2AM2
24/06/2023
protected:
double base;
double altura;

public:
Poligono(double base, double altura) {this->base = base;this->altura = altura;}

void Mostrar() {
cout << "\nBase = " << base << " u\n";
cout << "\nAltura = " << altura << " u\n";
}
};

class Rectangulo : public Poligono {


public:
Rectangulo(double base, double altura) : Poligono(base, altura) {}

double CalcularPerimetro() {return 2 * (base + altura);}

double CalcularArea() {return base * altura;}


};

class Triangulo : public Poligono {


public:
Triangulo(double base, double altura) : Poligono(base, altura) {}

double CalcularPerimetro() {
double lado = sqrt(base * base + altura * altura);
return base + altura + lado;
}

double CalcularArea() {return (base * altura) / 2;}


};

class Trapecio : public Poligono {


private:
double baseMenor;

public:
Trapecio(double baseMenor, double baseMayor, double altura) : Poligono(baseMayor, altura) {
this->baseMenor = baseMenor;
}

double CalcularPerimetro() {
double lado1 = sqrt(altura * altura + pow((base - baseMenor) / 2, 2));
double lado2 = sqrt(altura * altura + pow((base + baseMenor) / 2, 2));
return base + baseMenor + lado1 + lado2;
}
49
Pérez Chávez Yael
2AM2
24/06/2023

double CalcularArea() {return ((base + baseMenor) * altura) / 2;}


};

int main() {
cout <<"ALUMNO: Perez Chavez Yael\n";
cout <<"BOLETA: 2023300780\n";
cout <<"Grupo: 2AM2\n";
int opcion;
do {
cout << "Seleccione el poligono:\n";
cout << "1. Rectangulo\n";
cout << "2. Triangulo\n";
cout << "3. Trapecio\n";
cout << "0. Salir\n";
cout << "Opcion: ";
cin >> opcion;

switch (opcion) {
case 1: {
double baseRectangulo, alturaRectangulo;
cout << "\nIngrese los datos del Rectangulo:\n";
cout << "\nBase: ";
cin >> baseRectangulo;
cout << "\nAltura: ";
cin >> alturaRectangulo;

Rectangulo rec(baseRectangulo, alturaRectangulo);

cout << "\nLos datos del rectangulo son:\n";


rec.Mostrar();
cout << "\nPerimetro: " << rec.CalcularPerimetro() << " u\n";
cout << "\nArea: " << rec.CalcularArea() << " u^2\n\n";

break;
}
case 2: {
double baseTriangulo, alturaTriangulo;
cout << "\nIngrese los datos del Triangulo:\n";
cout << "\nBase: ";
cin >> baseTriangulo;
cout << "\nAltura: ";
cin >> alturaTriangulo;

Triangulo tri(baseTriangulo, alturaTriangulo);

cout << "\nLos datos del triangulo son:\n";


tri.Mostrar();
50
Pérez Chávez Yael
2AM2
24/06/2023
cout << "\nPerimetro: " << tri.CalcularPerimetro() << " u\n";
cout << "\nArea: " << tri.CalcularArea() << " u^2\n\n";

break;
}
case 3: {
double baseMenorTrapecio, baseMayorTrapecio, alturaTrapecio;
cout << "\nIngrese los datos del Trapecio:\n";
cout << "\nBase Menor: ";
cin >> baseMenorTrapecio;
cout << "\nBase Mayor: ";
cin >> baseMayorTrapecio;
cout << "\nAltura: ";
cin >> alturaTrapecio;

Trapecio tra(baseMenorTrapecio, baseMayorTrapecio, alturaTrapecio);

cout << "\nLos datos del trapecio son:\n";


tra.Mostrar();
cout << "\nPerimetro: " << tra.CalcularPerimetro() << " u\n";
cout << "\nArea: " << tra.CalcularArea() << " u^2\n\n";

break;
}
case 0:
cout << "Saliendo del programa.\n";
break;
default:
cout << "Opcion invalida. Por favor, seleccione una opcion valida.\n";
}
} while (opcion != 0);

return 0;
}

51
Pérez Chávez Yael
2AM2
24/06/2023

Ejercicio 19-Media
#include <iostream>
#include <cmath>
#include <iomanip>

using namespace std;

class Media
{
protected:
int n;
double *X;
public:

Media(int n)
{this->n=n;X=new double[n];}

Media(const Media& obj);


void SetN(double val){n=val;}
double GetN(){return n;}

void LeerX();
void MostrarX();

~Media(){delete[]X;}

};

52
Pérez Chávez Yael
2AM2
24/06/2023
void Media::LeerX()
{
cout << "\n Ingresa los numeros:\n";
for(int i=0;i<n;i++)
{
cout << "\n Dato " << i+1 << ": "; cin >> X[i];
}
}

void Media::MostrarX()
{
cout << "\n Los datos ingresados son: \n";
for(int i=0;i<n;i++)
{
cout << "\n [" << setprecision(7) << X[i] << ']';
}
}

Media::Media(const Media& obj)


{
n = obj.n;
X = new double[n];
for (int i = 0; i < n; i++)
{
X[i] = obj.X[i];
}
}
class Aritmetica: public Media
{
public:
Aritmetica(int n): Media(n){}
Aritmetica(const Media& media) : Media(media) {}
double CalcularMediaAritmetica();
};

double Aritmetica::CalcularMediaAritmetica()
{
double resultado=0.0;
for(int i=0;i<n;i++)
{
resultado += X[i];
}
return (resultado/n);
}

class Geometrica: public Media


{
public:
53
Pérez Chávez Yael
2AM2
24/06/2023
Geometrica(int n): Media(n){}
Geometrica(const Media& media) : Media(media) {}
double CalcularMediaGeometrica();
};

double Geometrica::CalcularMediaGeometrica()
{
double resultado = 1.0;
for(int i = 0; i < n; i++)
{
resultado *= X[i];
}
resultado = pow(resultado, 1.0 / n);
return resultado;
}

class Armonica: public Media


{
public:
Armonica(int n): Media(n){}
Armonica(const Media& media) : Media(media) {}
double CalcularMediaArmonica();
};

double Armonica::CalcularMediaArmonica()
{
double resultado=0.0;
for(int i=0;i<n;i++)
{
resultado += 1/X[i];
}
return (n/resultado);
}

int main()
{
cout <<"ALUMNO: Perez Chavez Yael\n";
cout <<"BOLETA: 2023300780\n";
cout <<"Grupo: 2AM2\n";

Aritmetica ari(5);
ari.LeerX();
ari.MostrarX();
Geometrica geo(ari);
Armonica arm(ari);

cout << "\n\n Media aritmetica: " << ari.CalcularMediaAritmetica();


54
Pérez Chávez Yael
2AM2
24/06/2023
cout << "\n\n Media geometrica: " << geo.CalcularMediaGeometrica();
cout << "\n\n Media armonica: " << arm.CalcularMediaArmonica();

cout << "\n\n";


return 0;
}

55

You might also like