Sei sulla pagina 1di 8

ESCUELA SUPERIOR POLITÉCNICA DE CHIMBORAZO

FACULTAD: INFORMÁTICA Y ELECTRÓNICA


ESCUELA DE INGENIERÍA EN SISTEMAS
CARRERA: SOFTWARE

GUÍA DE LABORATORIO DE EL PARADIGMA ORIENTADO A OBJETOS

PRÁCTICA No. 01 – CLASES, OBJETOS, MÉTODOS

1. DATOS GENERALES:

NOMBRE DEL ESTUDIANTE CODIGO DEL ESTUDIANTE

LUIS ENRIQUE ROBLES VALENCIA 6840

FECHA DE REALIZACIÓN: FECHA DE ENTREGA:

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.

 Calcular el valor de que posee la mayor y la menor cantidad de números


pares e impares.

 Calcular la cantidad de valores que poseen

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:

Una clase es en general un modelo, que define el estado y comportamiento de cierto


tipo de objetos. Una clase puede pensarse como una colección de variables y funciones
que permiten representar un conjunto de datos y especificar las operaciones o
procedimientos que permiten manipular tales datos.

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

Para declarar una clase en C++ se utiliza la palabra reservada class, se da un nombre a la


clase y luego entre llaves se declaran los miembros 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

En la programación clásica (lenguaje C, p.e.) existen datos y procedimientos que actúan


sobre esos datos. No hay una relación aparente entre datos y procedimientos
(funciones) y esta relación se establece de manera más o menos precisa de acuerdo con
la profesionalidad del programador.
En un objeto podemos distinguir dos aspectos bien diferenciados:
Estado -----------> Propiedades
Comportamiento ---> Métodos
En P.O.O. los datos y los procedimientos que los gestionan están relacionados
explícitamente y se "encapsulan" en un objeto. La especificación de las propiedades de
un objeto y los métodos de acceso se realiza en la declaración de la clase de la que se
instancia el objeto.

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:

1. Establecer las librerías necesarias para acceder a ciertos comandos:

Y en el int main declarar las variables a utilizar cuando pida los datos iniciales al usuario

2. declarar la clase y los tipos de variables o atributos que va a aceptar


3.Definir el método de la clase ingreso de datos

4. de la misma forma definí métodos para contabilizar los números ingresados


5. definir un método para cada digito que se desea contabilizar pares e impares y los
que tienen iguales.
6. en el método de contabilizar se realizó un arreglo de descomposición del número
dividiendo para 10 y un auxiliar para guardar el nuevo numero y comparar si es par o
impar en cada método respectivamente.
7. enviar la cantidad al atributo de la clase
8. en el main utilizar un for para recorrer la lectura de los valores guardados en la clase y
ejecutar el conteo

9. Colocar mensajes para la impresión de los valores según los requerimientos


10. Compilar y ejecutar.
7. CONCLUSIONES Y RECOMENDACIONES:

Conclusiones

 En base a un código con código fuente ambientado en paradigma de objetos se pudo


mediante el método autodidacta y analítico desarrollar un nuevo experimento.

 La lógica aplicada en un programa de un mismo paradigma sirve para desarrollar un


estilo propio y aplicarse a diversos requisitos.

 Se logro la contabilización de pares, e impares mediante métodos similares reutilizando


ciertas líneas de código y lógicas aplicadas anteriormente.

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

 Revisar de forma minuciosa la ortografía del entorno de desarrollo ya que al ser un


código largo es difícil encontrar donde puede faltar la corrección aun cuando el
compilador te guie.

 Informarse acerca del funcionamiento de los conceptos propios del paradigma


orientado a objetos según el lenguaje de programación donde va a trabajar.
8. BIBLIOGRAFÍA:

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

ANEXOS (adjuntar el código fuente del programa desarrollado)

//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:

void asignarValor(int vectt[],int i) {

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;

void contarDigitosImpares(int &mayImpar,int &menImpar, int &mayU, int &menU , int


r){
int dig;
int aux;
int cd = 0;

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;

void compararDigitosIguales(int &iguales){

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;

cout<<"Cuantos numeros va a ingresar?"<<endl;


cin>>nume;
int vectt[nume];
for(int i=0;i<nume;i++){
cout<<"Ingrese un numero"<<endl;
cin>>vectt[i];
}
for(int i=0;i<nume;i++){

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;
}

Potrebbero piacerti anche