Anda di halaman 1dari 14

Aplicados a todos los datos Sean los siguientes datos: Proceso Universal:

Letra F D B C E Peso 4 6 5 2 1

Procesos Universales Bsicos con POO


Contar Ej: Determinar la cantidad de letras procesadas. R: Hay 5 Letras Abstraccin: Se cuenta, incrementando en 1 una variable contador

SOLUCIN CON C++ Y POO


class ClMayor{ private: int cant_letras; public: ClMayor(); void ProcesarClaseMenor(ClMenor mn); //Uso void ProcesarClaseMenor(char, float); //Agregacin int GetCantLetras(); }; ClMayor::ClMayor(){ cant_letras = 0; } void ClMayor::ProcesarClaseMenor (ClMenor mn){ cant_letras++; //Aplicando USO } void ClMayor::ProcesarClaseMenor(char l, float p){ ClMenor mn (l, p); //Aplicando AGREGACIN cant_letras++; } int ClMayor::GetCantLetras(){ return cant_letras;} int main(){ ClMayor my; char letra, resp; ClMenor mn; float peso; do{ cin >> letra; :::: Todos los datos de entrada //Si es por AGREGACIN my.ProcesarClaseMenor (letra, peso); //Si es por USO mn.SetLetra (letra); :::: Todos los SETs my.ProcesarClaseMenor (mn); //Para cualquier caso cout << Otro dato S-N: \n; cin >> resp; }while (toupper(resp) == S); cout << Cantidad letras: << my.GetCantLetras() << endl; system (PAUSE); return 0; }

Aplicados a todos los datos Sean los siguientes datos: Proceso Universal:
Letra F D B C E Peso 4 6 5 2 1

Procesos Universales Bsicos con POO


Acumular Ej: Determinar la suma de los pesos procesadas. R: La suma es 18 Abstraccin: Se acumulan todos los pesos

SOLUCIN CON C++ Y POO


class ClMayor{ private: float suma_pesos; public: ClMayor(); void ProcesarClaseMenor(ClMenor mn); //Uso void ProcesarClaseMenor(char, float); //Agregacin float GetSumaPesos(); }; ClMayor::ClMayor(){ suma_pesos = 0; } void ClMayor::ProcesarClaseMenor (ClMenor mn){ suma_pesos += mn.GetPeso(); //Aplicando USO } void ClMayor::ProcesarClaseMenor (char l, float p){ ClMenor mn (l, p); //Aplicando AGREGACIN suma_pesos += mn.GetPeso(); } float ClMayor::GetSumaPesos(){ return suma_pesos; } int main(){ //declaracin de variables do{ cin >> letra; :::: Todos los datos de entrada //Si es por AGREGACIN my.ProcesarClaseMenor(letra, peso); //Si es por USO mn.SetLetra (letra); :::: Todos los SETs my.ProcesarClaseMenor (mn); //Para cualquier caso cout << Otro dato S-N: \n; cin >> resp; }while (resp == S); cout << Suma de los pesos: << my.GetSumaPesos() << endl; system (PAUSE); return 0; }

Aplicados a todos los datos Sean los siguientes datos: Proceso Universal: Mayor o Menor:
Letra F D B C E Peso 4 6 5 2 1

Procesos Universales Bsicos con POO


Ej: Cual es el mayor/menor peso? Se Compara cada peso contra una variable auxiliar (mayor o menor) y se actualiza el mayor/menor peso, segn sea requerido. R. El mayor peso es 6
float ClMayor::GetMayorPeso(){ return mayor_peso; } int main(){//declaracin de variables do{ cin >> letra; :::: Todos los datos de entrada //Si es por AGREGACIN my.ProcesarClaseMenor(letra,peso); //Si es por USO mn.SetLetra (letra); :::: Todos los SETs my.ProcesarClaseMenor (mn); //Para cualquier caso cout << Otro dato S-N: \n; cin >> resp; }while (resp == S); cout << El peso mayor: << my.GetMayorPeso() << endl; system (PAUSE); return 0; }

SOLUCIN CON C++ Y POO


class ClMayor{ private: float mayor_peso; // o menor_peso; public: ClMayor(); void ProcesarClaseMenor(ClMenor mn); //Uso void ProcesarClaseMenor(char,float); //Agregacin float GetMayorPeso(); // o GetMenorPeso }; ClMayor::ClMayor(){ mayor_peso = 0; // menor_peso = 9999; } void ClMayor::ProcesarClaseMenor (ClMenor mn){ if (n.GetPeso() > mayor_peso)//Aplicando USO mayor_peso = mn.GetPeso(); }// if (mn.GetPeso() < menor_peso) void ClMayor::ProcesarClaseMenor(char l,float p) { ClMenor mn (l, p); //Aplicando AGREGACIN if (mn.GetPeso() > mayor_peso) mayor_peso = mn.GetPeso(); }// if(mn.GetPeso()<menor_peso) menor_peso=mn.GetPeso();

Aplicados a todos los datos Sean los siguientes datos: Proceso Universal: Promedio
Letra F D B C E Peso 4 6 5 2 1

Procesos Universales Bsicos con POO


Ej: Cual es el peso promedio? R: El peso promedio es 3.6 Abstraccin: Se suman los pesos y se divide entre la cantidad de pesos (4+6+5+2+1)/5 =18/5
float ClMayor::DetPesoPromedio(){ if (cont_pesos > 0) return acum_peso / cont_pesos; else return 0; } int main(){ //declaracion de variables do{ cin >> letra; :::: Todos los datos de entrada //Si es por AGREGACIN my.ProcesarClaseMenor (letra, peso); //Si es por USO mn.SetLetra (letra); :::: Todos los SETs my.ProcesarClaseMenor (mn); //Para cualquier caso cout << Otro dato S-N: \n; cin >> resp; }while (resp == S); cout << El peso promedio: << my.DetPesoPromedio() << endl; system (PAUSE); return 0;

SOLUCIN CON C++ Y POO


class ClMayor{ private: float acum_pesos; int cont_pesos; public: ClMayor(); void ProcesarClaseMenor(ClMenor mn); //Uso void ProcesarClaseMenor(char,float); //Agregacin float DetPesoPromedio(); }; ClMayor::ClMayor(){ acum_pesos = 0; cont_pesos = 0; } void ClMayor::ProcesarClaseMenor (ClMenor mn){ acum_pesos += mn.GetPeso(); //Aplicando USO cont_pesos++; } void ClMayor::ProcesarClaseMenor (char l, float p){ ClMenor mn (l, p); //Aplicando AGREGACIN acum_pesos += mn.GetPeso(); cont_pesos++;

Aplicados a todos los datos Sean los siguientes datos: Proceso Universal: Porcentaje
Letra F D B C E Peso 4 6 5 2 1

Procesos Universales Bsicos con POO


Ej: cual es el porcentaje de pesos impares? R. El porcentaje de pesos impares es 40% Abstraccin: Se cuentan los pesos impares, se divide entre la cantidad total y se multiplica por 100, esto es cantidad parcial entre cantidad total por 100 (2/5*100 = 40)
float ClMayor::DetPorcPesosImpares(){ if (cont_pesos > 0) return cont_impares / cont_pesos * 100; else return 0; } int main(){//declaracin de variables do{ cin >> letra; :::: Todos los datos de entrada //Si es por AGREGACIN my.ProcesarClaseMenor (letra, peso); //Si es por USO mn.SetLetra (letra); :::: Todos los SETs my.ProcesarClaseMenor (mn); //Para cualquier caso cout << Otro dato S-N: \n; cin >> resp; }while (resp == S); cout << El porcentaje de pesos impares: << my.DetPorcPesosImpares() << endl; system (PAUSE); return 0;

SOLUCIN CON C++ Y POO


class ClMayor{ private: int cont_impares, cont_pesos; public: ClMayor(); void ProcesarClaseMenor (ClMenor mn); //Uso void ProcesarClaseMenor (char, float); //Agregacin float DetPorcPesosImpares (); }; ClMayor::ClMayor(){ cont_impares = 0; cont_pesos = 0; } void ClMayor::ProcesarClaseMenor (ClMenor mn){ cont_pesos++; //FIJO Incrementar el cont TOTAL if (mn.GetPeso() % 2 > 0) //Aplicando USO cont_impares++; // El cont PARCIAL con if } void ClMayor::ProcesarClaseMenor (char l, float p){ ClMenor mn (l, p); //Aplicando AGREGACIN cont_pesos++; //FIJO Incrementar el cont TOTAL if (mn.GetPeso() % 2 > 0) cont_impares++; // El cont PARCIAL con if

Aplicados a todos los datos Sean los siguientes datos:


Letra F D B C E Peso 4 6 5 2 1

Procesos Universales Bsicos con POO


Proceso Universal: Dato relativo al Mayor o Menor: Ej: Cual es la letra con el mayor/menor peso? Se Compara cada peso contra una variable auxiliar (mayor o menor) y se actualiza el mayor/menor peso, segn sea requerido. R. La letra con mayor peso es la D

SOLUCIN CON C++ Y POO


class ClMayor{ private: int peso_mayor; char letra_mayor; public: ClMayor(); ProcesarClaseMenor (ClMenor n); //Uso ProcesarClaseMenor (char, int); //Agregacin char GetLetraMayorPeso (); }; ClMayor::ClMayor(){ peso_mayor = 0; letra_mayor = ?; } ClMayor::ProcesarClaseMenor (ClMenor n){//Con USO if (n.GetPeso() > peso_mayor){ peso_mayor = n.GetPeso(); letra_mayor = n.GetLetra(); } } ClMayor::ProcesarClaseMenor (char l, int p){ ClMenor n (l, p); //Aplicando AGREGACIN :::: // El mismo proceso que se hizo con USO } char ClMayor::GetLetraMayorPeso(){ return letra_mayor; } int main(){ do{ cin >> letra; :::: Todos los datos de entrada //Si es por AGREGACIN my.ProcesarClaseMenor (letra, peso); //Si es por USO mn.SetLetra (letra); :::: Todos los SETs my.ProcesarClaseMenor (mn); //Para cualquier caso cout << Otro dato S-N: \n; cin >> resp; }while (resp == S); cout << La letra con mayor peso es: << my.GetLetraMayorPeso (); system (PAUSE); return 0; }

Aplicados a datos filtrados Sean los siguientes datos: Proceso Universal: Contar
Letra F D B C E Peso 4 6 5 2 1

Procesos Universales Bsicos con POO


Ej: Determine la cantidad de pesos pares. R. La cantidad de pesos pares es 3 Abstraccin: Se cuentan slo los datos que cumplen con un criterio, en este caso los pesos pares

SOLUCIN CON C++ Y POO


class ClMayor{ private: int cant_pares; public: ClMayor(); void ProcesarClaseMenor (ClMenor mn); //Uso void ProcesarClaseMenor (char, float); //Agregacin int GetCantPares (); }; ClMayor::ClMayor(){ cant_pares = 0; } void ClMayor::ProcesarClaseMenor (ClMenor mn){ if (mn.GetPeso() % 2 == 0) //Aplicando USO cant_pares++; } void ClMayor::ProcesarClaseMenor (char l, float p){ ClMenor mn (l, p); //Aplicando AGREGACIN if (mn.GetPeso() % 2 == 0) cant_pares++; } int ClMayor::GetCantPares (){ return cant_pares; int main(){ //Declaracion de variables e instancias u objetos ClMayor my; char letra, resp; ClMenor mn; float peso; do{ cin >> letra; :::: Todos los datos de entrada //Si es por AGREGACIN my.ProcesarClaseMenor (letra, peso); //Si es por USO mn.SetLetra (letra); :::: Todos los SETs my.ProcesarClaseMenor (mn); //Para cualquier caso cout << Otro dato S-N: \n; cin >> resp; }while (resp == S); cout << La cantidad de los pesos pares: << my.GetCantPares () << endl; system (PAUSE); return 0; }

Aplicados a datos filtrados Sean los siguientes datos: Proceso Universal: Acumular
Letra F D B C E Peso 4 6 5 2 1

Procesos Universales Bsicos con POO


Ej: Determinar la suma de los pesos pares. R: La suma de los pesos pares es 12 Abstraccin: Se acumulan solo los pesos que cumplen con el criterio de ser pares

SOLUCIN CON C++ Y POO


class ClMayor{ private: float suma_pares; public: ClMayor(); void ProcesarClaseMenor (ClMenor mn); //Uso void ProcesarClaseMenor (char, float); //Agregacin float GetSumaPares (); }; ClMayor::ClMayor(){ suma_pares = 0; } void ClMayor::ProcesarClaseMenor (ClMenor mn){ if (mn.GetPeso() % 2 == 0) //Aplicando USO suma_pares += mn.GetPeso(); } void ClMayor::ProcesarClaseMenor (char l, float p){ ClMenor mn (l, p); //Aplicando AGREGACIN if (mn.GetPeso() % 2 == 0) suma_pares += mn.GetPeso(); } float ClMayor::GetSumaPares (){ return suma_pares; } int main(){//declaracion de variables do{ cin >> letra; :::: Todos los datos de entrada //Si es por AGREGACIN my.ProcesarClaseMenor (letra, peso); //Si es por USO mn.SetLetra (letra); :::: Todos los SETs my.ProcesarClaseMenor (mn); //Para cualquier caso cout << Otro dato S-N: \n; cin >> resp; }while (resp == S); cout << La suma de los pesos pares: << my.GetSumaPares () << endl; system (PAUSE); return 0; }

Aplicados a datos filtrados Sean los siguientes datos: Proceso Universal: Mayor o Menor:
Letra F D B C E Peso 4 6 5 2 1

Procesos Universales Bsicos con POO


Ej: Cul es el mayor peso impar? R. El mayor peso impar es 5. Abstraccin: Se Compara cada peso que cumple con el criterio de ser impar contra una variable auxiliar (mayor) y se actualiza dicha variable.

SOLUCIN CON C++ Y POO


class ClMayor{ private: float mayor_impar; // menor_impar public: ClMayor(); void ProcesarClaseMenor (ClMenor mn); //Uso void ProcesarClaseMenor (char, float); //Agregacin float GetMayorImpar (); }; ClMayor::ClMayor(){ mayor_impar = 0; } void ClMayor::ProcesarClaseMenor (ClMenor mn){//Con USO if (mn.GetPeso()%2!=0 and mn.GetPeso()>mayor_impar) mayor_impar = mn.GetPeso(); } void ClMayor::ProcesarClaseMenor (char l, float p){ ClMenor mn (l, p); //Aplicando AGREGACIN if (mn.GetPeso()%2!=0 and mn.GetPeso()>mayor_impar) mayor_impar = mn.GetPeso(); } float ClMayor::GetMayorImpar (){ return mayor_impar; } int main(){//declaracin de variables do{ cin >> letra; :::: Todos los datos de entrada //Si es por AGREGACIN my.ProcesarClaseMenor (letra, peso); //Si es por USO mn.SetLetra (letra); :::: Todos los SETs my.ProcesarClaseMenor (mn); //Para cualquier caso cout << Otro dato S-N: \n; cin >> resp; }while (resp == S); cout << El mayor impar: << my.GetMayorImpar () << endl; system (PAUSE); return 0; }

Aplicados a datos filtrados Sean los siguientes datos: Proceso Universal: Promedio
Letra F D B C E Peso 4 6 5 2 1

Procesos Universales Bsicos con POO


Ej: El promedio de los pesos impares. R. El promedio de los pesos impares es 3 Abstraccin: Se suman solo los pesos que cumplen con el criterio de ser impares y se divide entre la cantidad de pesos que cumplen dicho criterio, esto es (5+1)/2 = 6/2
float ClMayor::DetPromedioPesoImpar (){ if (cont_impares > 0) return acum_peso / cont_impares; else return 0; } int main(){//declaracin de variables do{ cin >> letra; :::: Todos los datos de entrada //Si es por AGREGACIN my.ProcesarClaseMenor (letra, peso); //Si es por USO mn.SetLetra (letra); :::: Todos los SETs my.ProcesarClaseMenor (mn); //Para cualquier caso cout << Otro dato S-N: \n; cin >> resp; }while (resp == S); cout << El promedio de pesos impares: << my.GetPromedioPesoImpar () << endl; system (PAUSE); return 0;

SOLUCIN CON C++ Y POO


class ClMayor{ private: float acum_pesos; int cont_impares; public: ClMayor(); void ProcesarClaseMenor (ClMenor mn); //Uso void ProcesarClaseMenor (char, float); //Agregacin float DetPromedioPesoImpar (); }; ClMayor::ClMayor(){ acum_pesos = 0; cont_impares = 0; } void ClMayor::ProcesarClaseMenor (ClMenor mn){//Con USO if (mn.GetPeso()%2!=0){ acum_pesos += mn.GetPeso(); cont_impares++; } } void ClMayor::ProcesarClaseMenor (char l, float p){ ClMenor mn (l, p); //Aplicando AGREGACIN if (mn.GetPeso()%2!=0){ acum_pesos += mn.GetPeso(); cont_impares++; } }

Aplicados a datos filtrados Sean los siguientes datos: Proceso Universal: Porcentaje
Letra F D B C E Peso 4 6 5 2 1

Procesos Universales Bsicos con POO


Ej: Porcentaje de pesos pares mayores que 2 R. Es 66,67% Abstraccin: Se cuentan los pesos pares mayores que 2, se divide entre la cantidad de pesos pares y se multiplica por 100, esto es, 2/3*100 = 66.67
float ClMayor::DetPorcParesMayor2 (){ if (cont_impares > 0) return cont_may_2 / cont_pares * 100; else return 0; } int main(){//declaracion de variables do{ cin >> letra; :::: Todos los datos de entrada //Si es por AGREGACIN my.ProcesarClaseMenor (letra, peso); //Si es por USO mn.SetLetra (letra); :::: Todos los SETs my.ProcesarClaseMenor (mn); //Para cualquier caso cout << Otro dato S-N: \n; cin >> resp; }while (resp == S); cout << Porcentaje de pares mayores que 2: << GetPorcParesMayor2 () << endl; system (PAUSE); return 0; }

SOLUCIN CON C++ Y POO


class ClMayor{ private: int cont_may_2, cont_pares; public: ClMayor(); void ProcesarClaseMenor (ClMenor mn); //Uso void ProcesarClaseMenor (char, float); //Agregacin float detPorcParesMayor2 (); }; ClMayor::ClMayor(){ cont_may_2 = 0; cont_pares = 0; } void ClMayor::ProcesarClaseMenor (ClMenor mn){ if (mn.GetPeso() % 2 != 0){ //Aplicando USO cont_pares++; if (mn.GetPeso() > 2) cont_may_2++; } } //Aplicando AGREGACIN: PROPUESTO

Aplicados a datos filtrados Sean los siguientes datos: Proceso Universal: Dato relativo al Mayor o Menor:
Letra F D B C E Peso 4 6 5 2 1

Procesos Universales Bsicos con POO

Ej: Cual es la letra con el mayor peso impar? Se Compara cada peso que cumpla con el criterio contra una variable auxiliar (mayor o menor) y se actualiza el mayor peso, segn sea requerido. R. La letra con mayor peso impar es la B

SOLUCIN CON C++ Y POO


class ClMayor{ private: int peso_mayor; char letra_mayor; public: ClMayor(); ProcesarClaseMenor (ClMenor n); //Uso ProcesarClaseMenor (char, int); //Agregacin int GetLetraMayorPesoImpar (); }; ClMayor::ClMayor(){ peso_mayor = 0; letra_mayor = ?; } ClMayor::ProcesarClaseMenor (ClMenor n){ if (n.GetPeso() % 2 != 0){ //Aplicando USO if (n.GetPeso() > peso_mayor){ peso_mayor = n.GetPeso(); letra_mayor = n.GetLetra(); } } //Aplicando AGREGACIN: PROPUESTO int ClMayor::GetLetraMayorPesoImpar (){ return letra_mayor; } int main(){ do{ cin >> letra; :::: Todos los datos de entrada //Si es por AGREGACIN my.ProcesarClaseMenor (letra, peso); //Si es por USO mn.SetLetra (letra); :::: Todos los SETs my.ProcesarClaseMenor (mn); //Para cualquier caso cout << Otro dato S-N: \n; cin >> resp; }while (resp == S); cout << Letra con mayor peso impar: << my.GetLetraMayorPesoImpar (); system (PAUSE); return 0; }

Procesos Universales Bsicos con POO


EJERCICIO 1: Se conoce la siguiente informacin de varios estudiantes: nombre, cdula y nota (sobre 100 y aprueban con 48). Se desea determinar para varios estudiantes: a) La mejor nota, b) La nota promedio de los reprobados, c) El nombre del mejor estudiante. Nombre Luis Cdula 444 Nota 55

Aplicados a todos los datos Ejercicios Propuestos

Carla Ana
Mery Juan

222 555
333 999

30 60
80 20

Programar usando extractos de programas de C++, segn se mostr previamente, aplicando los ciclos for, while y do-while

Procesos Universales Bsicos con POO


Aplicados a todos los datos Ejercicios Propuestos
cantidad 3 2 5 costo 40 50 10
EJERCICIO 2: Observando la siguiente tabla de datos de entrada, se tiene una lista de productos a comprar, de los cuales se conoce: cantidad y costo unitario.

Responder: a) monto de la compra de cada producto, b)cuantos productos cuestan ms de Bs 20, b) Cul es el costo promedio de los productos, c) Qu cantidad de productos tiene asociado la compra con mayor monto, asuma que hay una sola mayor EJERCICIO 3: Una empresa Aseguradora requiere un programa para el control de sus plizas. Cada pliza posee un nmero de identificacin nico y el monto a asegurar. Plantee los datos de prueba para 5 plizas y calcule: a) el monto total que tiene asegurado la empresa, b) el cdigo de identificacin de la pliza con menor monto. Programar usando extractos de programas de C++, segn se mostr previamente, aplicando los ciclos for, while y do-while

Anda mungkin juga menyukai