Documentos de Académico
Documentos de Profesional
Documentos de Cultura
1. DATOS GENERALES:
2020/05/15 2020/05/15
2. OBJETIVO(S):
2.1. GENERAL
Realizar un programa siguiendo los lineamientos de orientación a objetos para
realizar cálculos con números enteros.
2.2. ESPECÍFÍCOS
Utilizar los conocimientos de paradigma orientado a objetos para
implementar clases y objetos en ejercicios prácticos.
3. METODOLOGÍA
Para poder desarrollar esta práctica partí del método científico, desde el punto
de vista del método analítico partiendo de un programa dado, fue necesario
descomponerlo en sus partes simples para realizar cambios generales que se
adecuen con los objetivos específicos, con la ayuda de los conceptos establecidos
seguí el siguiente método:
Establecer con claridad que deseas obtener para posteriormente analizar que
podía modificar del código base y que debía borrar para el desarrollo de mi
práctica, luego involucrar conceptos básicos matemáticos según las
especificaciones en la práctica para extraer valores pares e impares además , y
luego prueba y error con una serie de modificaciones e implementando practicas
aprendidas en la programación estructurada
4. EQUIPOS Y MATERIALES:
- Computador:
- Core i5 4gb de RAM
- Compilador de C++:
- MinGW, que es una versión de GCC
- Entorno integrado de desarrollo (IDE):
- DEV C++
- Aula virtual:
- Elearnig Espoch
- Acceso a internet
- Bibliografía:
- Material dispuesto por el docente en el aula virtual
5. MARCO TEORICO:
Conceptos claves:
Clases:
Objetos:
Un objeto es una instancia de una clase, es decir una entidad que se construye a partir
de las descripciones consignadas en una clase (datos y funciones). Por tanto, un objeto
se puede entender como una "variable" que se declara del tipo de dato de cierta clase.
Un objeto es como tal la entidad tangible que permite acceder a los datos y funciones
modeladas al interior de la clase
Las clases no pueden declararse al interior de funciones, ya que son una definición de un
tipo de dato creado por el usuario (programador). En general, las clases se declaran en
bibliotecas (librerías) individuales cuyo nombre es usualmente el mismo nombre de la
clase.
class MiClase
{
//Aquí van los miembros de la clase: Variables y funciones
}; //NO olvidar el ;
Encapsulamiento
Para para llegar a cumplir los objetivos de calcular es necesario tener una noción de los
temas y conceptos básicos del paradigma orientado a objetos, para hacer uso preciso de
las características de este estilo de programación al tener una visión clara de como
funciona y conceptos básicos en cuanto a la nomenclatura en el lenguaje de C++ que es
donde fue aplicada en este proyecto.
6. PROCEDIMIENTO:
Y en el int main declarar las variables a utilizar cuando pida los datos iniciales al usuario
Conclusiones
Recomendaciones:
Trabajar de forma segmentada cada parámetro a calcular en diversos métodos para
poder enfocar los artificios necesarios para el cálculo de acuerdo con un objetivo
especifico
https://elvex.ugr.es/decsai/builder/intro/5.html#PARADIGMA_POO
https://www.codingame.com/playgrounds/50557/clases-y-objetos-en-c-practica-1/clases-
y-objetos-en-c
//POO que permita determinar la cantidad de dígitos pares que contiene un numero
entero ingresado por el usuario
//nombre: Luis Robles
//codigo: 6840
#include <iostream>
#include <conio.h>
#include <stdlib.h>
using namespace std;
class cNumeros {
int valUsr;
int canDigPar;
int canDigImp;
public:
valUsr = vectt[i];
void contarDigitosPares(int &mayPar, int &menPar, int &mayD, int &menD, int r) {
int dig;
int aux;
int cd = 0;
int cont=0;
aux = valUsr;
do {
dig = aux % 10;
if (dig % 2 == 0)
cd++;
aux /= 10;
} while(aux != 0);
canDigPar = cd;
if(cd>=mayD){
mayD=cd;
mayPar=valUsr;
}
if(r==0){
menD=cd;
}
if(cd<=menD){
menD=cd;
menPar=valUsr;
aux = valUsr;
do {
dig = aux % 10;
if (dig % 2!=0)
cd++;
aux /= 10;
} while(aux != 0);
if(cd>=mayU){
mayU=cd;
mayImpar=valUsr;
}
if(r==0){
menU=cd;
}
if(cd<=menU){
menU=cd;
menImpar=valUsr;
}
canDigImp= cd;
if(canDigPar==canDigImp){
iguales++;
}
}
int devolverCantDigPar() {
return canDigPar;
}
int devolverCantDigImpar(){
return canDigImp;
int devolverValUsr() {
return valUsr;
}
};
int main() {
system("color fc");
cNumeros oNum;
int nume;
int mayPar=0, mayD=0;
int mayImpar=0, mayU=0;
int menPar=0, menD=0;
int menImpar=0 ,menU=0;
int iguales=0;
oNum.asignarValor(vectt, i);
oNum.contarDigitosPares(mayPar,menPar,mayD,menD,i);
oNum.contarDigitosImpares(mayImpar,menImpar,mayU,menU, i);
oNum.compararDigitosIguales(iguales);
}
cout<<"El numero que posee la mayor cantidad de digitos pares es:"<<mayPar<<endl;
cout<<"El numero que posee la menor cantidad de digitos pares es:"<<menPar<<endl;
cout<<"El numero que posee la mayor cantidad de digitos impares es:
"<<mayImpar<<endl;
cout<<"El numero que posee la menor cantidad de digitos impares es:
"<<menImpar<<endl;
cout<<"Los numeros que poseen igual cantidad de digitos pares y de impares es:
"<<iguales<<endl;
system("pause");
return 0;
}