SlideShare ist ein Scribd-Unternehmen logo
1 von 23
Downloaden Sie, um offline zu lesen
UNIVERSIDAD TECNOLOGICA DE PANAMA
FACULTAD DE INGENIERIA DE SISTEMAS COMPUTACIONALES
DESARROLLO DE SOFTWARE I
PROYECTO FINAL
PROFESOR:
REGIS RIVERA
ESTUDIANTES:
ABDIEL VILLARREAL
EDUARDO ALVEO
GADIEL GONZALEZ
JOSUEL BARBA
ROBOAN GONZALEZ
I – SEMESTRE 2013
FECHA:
2 DE JULIO 2013
Índice
INTRODUCCIÓN..................................................................................................................................3
Definición del problema:....................................................................................................................4
Algoritmo orientado a objetos para resolución del problema ...........................................................5
Diagrama VML..................................................................................................................................18
Explicación del algoritmo orientado a objetos:................................................................................19
 Súper clase figuras geométricas ...........................................................................................19
o Atributos...........................................................................................................................19
o Métodos ...........................................................................................................................19
 Sub clase bidimensional .......................................................................................................19
o Atributos...........................................................................................................................19
o Métodos ...........................................................................................................................19
Sub clases de figuras bidimensionales .............................................................................................19
 Sub clase tridimensional...........................................................................................................20
o Atributos ..............................................................................................................................20
o Métodos...............................................................................................................................20
Subclases de figuras tridimensionales:.............................................................................................20
Void Main.........................................................................................................................................20
A nivel de usuario:........................................................................................................................20
Void main.........................................................................................................................................21
A nivel de programación: .............................................................................................................21
 Variables...............................................................................................................................21
 Alternativas múltiples...........................................................................................................21
 Objetos.................................................................................................................................21
Conclusión........................................................................................................................................23
INTRODUCCIÓN
A continuación tendremos el gusto de explicarles cómo resolver un algoritmo
orientado a objetos, utilizando clases, métodos, atributos, objetos, Alternativas,
instrucciones alternativas, repetitivas, herencia, sobre escritura.
Se resuelve un problema donde el usuario elije con que tipos de figuras
geométricos desea trabajar, luego de eso sigue una serie de instrucciones que le permiten
al final obtener el resultado del área, perímetro o volumen de la figura seleccionada.
Cabe mencionar que esta es una de las tantas formas que podemos resolver un
algoritmo orientado a objeto; que sirva para calcular área y perímetro en figuras
bidimensionales a su vez también sirva para el cálculo de área y volumen en figuras
tridimensionales.
Definición del problema:
Resolver un algoritmo orientado a objetos, que esté relacionado con figuras
geométricas bidimensionales y tridimensionales.
El usuario elige con qué tipo de figuras geométricas desea trabajar, si elige figuras
bidimensionales se le pide que elija una de las figuras, luego se le pide que desea
calcular, se le da la opción de que elija entra área y perímetro, seguido de esto se le
indica que introduzca los datos correspondientes a la figura que elija, para proceder con el
cálculo del área o el perímetro; si el usuario elije figuras tridimensionales se le piden que
elija una de las figuras, luego se da la opción que elija que desea calcular, si área o
volumen, seguido de esto se le da la opción de que introduzca los datos necesarios para
realizar el cálculo y al final se le muestra el resultado.
Para resolver esto se implementa todos los conceptos básicos de la programación
orientada a objetos tales como: Clases, métodos, atributos, objetos, alternativas,
instrucciones alternativas, repetitivas, herencia, sobre-escritura.
En este algoritmo orientado a objetos se trata de ser lo más preciso para que de esta
manera se pueda desarrollar el programa con la menor cantidad de líneas de códigos y
así ahorrarnos espacio en la memoria RAM.
Algoritmo orientado a objetos para resolución del problema
Publico Clase Figuras_Geometricas
{
Publico Real Area;
Publico void Calcular()
{
}
Publico void Calcular1()
{
}
}
Publico Clase Bidimensional extiende Figuras_Geometricas
{
Publico Real Perimetro, base, altura, lado1, lado2, Diag1, Diag2,
baseMay, baseMen;
Publico void Calcular()
{
}
Publico void Calcular1()
{
}
}
Publico Clase Cuadrado extiende Bidimensional
{
Publico Void Calcular()
{
Imprimir(“Ingrese la medida de uno de los lados del cuadrado”);
Leer(lado);
Area = lado * lado;
Imprimir(“El área es: “ +Area);
}
Publico Void Calcular1()
{
Imprimir(“Ingrese la medida de uno de los lados del cuadrado”);
Leer(lado);
Perimetro = 4 * lado;
Imprimir(“El perímetro es: “ +Perimetro);
}
}
Publico Clase Rectangulo extiende Bidimensional
{
Publico Void Calcular()
{
Imprimir(“Ingrese la medida de la base del rectángulo”);
Leer(base);
Imprimir(“Ingrese la medida de la altura del rectángulo”);
Leer(altura);
Area = base * altura;
Imprimir(“El area es: “ +Area);
}
Publico Void Calcular1()
{
Imprimir(“Ingrese la medida de la base del rectángulo”);
Leer(base);
Imprimir(“Ingrese la medida de la altura del rectángulo”);
Leer(altura);
Perimetro = (2 * base) + 2 * altura;
Imprimir(“El perímetro es: “ +Perimetro);
}
}
Publico Clase Paralelogramo extiende Bidimensional
{
Publico Void Calcular()
{
Imprimir(“Ingrese la medida de la base del paralelogramo”);
Leer(base);
Imprimir(“Ingrese la medida de la altura del paralelogramo”);
Leer(altura);
Area = base * altura;
Imprimir(“El área es: “ +Area);
}
Publico Void Calcular1()
{
Imprimir(“Ingrese la medida de la base del paralelogramo”);
Leer(base);
Imprimir(“Ingrese la medida del lado del paralelogramo ”);
Leer(lado);
Perimetro = (2 * base) + (2 * lado);
Imprimir(“El perímetro es: “ +Perimetro);
}
}
Publico Clase Rombo extiende Bidimensional
{
Publico Void Calcular ()
{
Imprimir(“Ingrese la diagonal menor del rombo”);
Leer(Diag1);
Imprimir (“Ingrese la diagonal mayor del rombo);
Leer(Diag2);
Area = (Diag1 * Diag2) / 2;
Imprimir(“El área es: “ +Area);
}
Publico Void Calcular1()
{
Imprimir(“Ingrese la medida de uno de los lado del rombo”);
Leer(lado);
Perimetro = 4 * lado;
Imprimir(“El perímetro es: “ +Perimetro);
}
}
Publico Clase Trapecio extiende Bidimensional
{
Publico Void Calcular ()
{
Imprimir(“Ingrese la base menor del trapecio”);
Leer(BaseMen);
Imprimir(“Ingrese la base mayor del trapecio”);
Leer(“BaseMay);
Imprimir(“Ingrese la altura del trapecio”);
Leer(altura);
Area = ((BaseMen + BaseMay)/2) * (altura);
Imprimir(“EL area es: “ +Area);
}
Publico Void Calcular1()
{
Imprimir(“Ingrese lado 1 del trapecio”);
Leer(altura);
Imprimir(“Ingrese lado 2 del trapecio”);
Leer(BaseMen);
Imprimir(“Ingrese lado 3 del trapecio”);
Leer(BaseMay);
Imprimir(“Ingrese lado 4 del trapecio”);
Leer(lado);
Perimetro = altura + BaseMen + BaseMay + lado;
Imprimir(“El perimetro es: “ +Perimetro);
}
}
Publico Clase Trapecio_Recto extiende Bidimensional
{
Publico Void Calcular ()
{
Imprimir(“Ingrese la altura del trapecio recto”);
Leer(altura);
Imprimir(“Ingrese la base menor del trapecio recto”);
Leer(BaseMen);
Imprimir(“Ingrese la base mayor del trapecio recto”);
Leer(BaseMay);
Area = ((BaseMen + BaseMay)/2) * (altura);
Imprimir(“El area es: “ +Area);
}
Publico Void Calcular1()
{
Imprimir(“Ingrese lado 1 del trapecio recto”);
Leer(altura);
Imprimir(“Ingrese lado 2 del trapecio recto”);
Leer(BaseMen);
Imprimir(“Ingrese lado 3 del trapecio recto”);
Leer(BaseMay);
Imprimir(“Ingrese lado 4 del trapecio recto”);
Leer(lado);
Perimetro = altura + BaseMen + BaseMay + lado;
Imprimir(“El perimetro es: “ +Perimetro);
}
}
Publico Clase Triangulo_equilatero extiende Bidimensional
{
Publico Void Calcular ()
{
Imprimir(“Ingrese la medida del lado del triángulo equilátero”);
Leer(lado);
Imprimir(“Ingrese la altura del triángulo equilátero”);
Leer(altura);
Area = (lado * altura) / 2;
Imprimir (“El área es: “ +Area);
}
Publico Void Calcular1()
{
Imprimir(“Ingrese la medida del lado del triángulo equilátero ”);
Leer(lado);
Perimetro = 3 * lado;
Imprimir(“El perímetro es: “ +Perimetro);
}
}
Publico Clase Triangulo_isosceles extiende Bidimensional
{
Publico Void Calcular ()
{
Imprimir(“Ingrese la medida de la base del triángulo isósceles”);
Leer(base);
Imprimir(“Ingrese la altura del triángulo isósceles”);
Leer(altura);
Area = (base * altura) / 2;
Imprimir(“El área es:” +Area);
}
Publico Void Calcular1()
{
Imprimir(“Ingrese la medida del lado del triángulo isósceles”);
Leer(lado);
Imprimir(“Ingrese la base del triángulo isósceles”);
Leer(base);
Perimetro = (2 * lado) + base;
Imprimir(“El perímetro es: “ +Perimetro);
}
}
Publico Clase Triangulo_escaleno extiende Bidimensional
{
Publico Void Calcular ()
{
Imprimir(“Ingrese la base del triángulo escaleno”);
Leer(base);
Imprimir(“Ingrese la altura del triángulo escaleno”);
Leer(altura);
Area = (base * altura) / 2;
Imprimir(“El área es: “ +Area);
}
Publico Void Calcular1()
{
Imprimir(“Ingrese la medida del lado 1 del triángulo escaleno”);
Leer(lado1);
Imprimir(“Ingrese la base”);
Leer(base);
Imprimir(“Ingrese la medida del lado 2 del triángulo escaleno”);
Leer(lado2);
Perimetro = lado1 + base + lado2;
Imprimir(“El perímetro es: “ +Perimetro);
}
}
Publico Clase Triangulo_rectangulo extiende Bidimensional
{
Publico Void Calcular ()
{
Imprimir(“Ingrese la base del triángulo rectángulo”);
Leer(base);
Imprimir(“Ingrese la altura del triángulo rectángulo”);
Leer(altura);
Area = (base * altura) / 2;
Imprimir(“El área es: “ +Area);
}
Publico Void Calcular1()
{
Imprimir(“Ingrese la medida del lado 1 del triángulo rectángulo”);
Leer(lado1);
Imprimir(“Ingrese la base del triángulo rectángulo”);
Leer(base);
Imprimir(“Ingrese la medida del lado 2 triangulo rectángulo”);
Leer(lado2);
Perimetro = lado1 + base + lado2;
Imprimir(“El perímetro es: “ +Perimetro);
}
}
Publico Clase tridimensional extiende Figuras_Geometricas
{
Publico Real Volumen, lado1, lado2, base, radio, generatriz, altura,
Alturalat, Alturabas;
Publico void Calcular();
Publico void Calcular1();
}
Publico Clase Cubo extiende tridimensional
{
Publico Void Calcular ()
{
Imprimir(“Ingrese la medida del lado del cubo”);
Leer(lado1);
Area = 6 * lado1 * lado1;
Imprimir(“El área es: “ +Area);
}
Publico Void Calcular1 ()
{
Imprimir(“Ingrese la medida del lado del cubo”);
Leer(lado1);
Volumen = lado1 * lado1 * lado1;
Imprimir(“El Volumen es: “ +Volumen);
}
}
Publico Clase Prisma_recto extiende tridimensional
{
Publico Void Calcular ()
{
Imprimir(“Ingrese la medida del lado 1 del prisma recto”);
Leer(lado1);
Imprimir(“Ingrese la base del prisma recto”);
Leer(base);
Imprimir(“Ingrese la medida del lado 2 del prisma recto”);
Leer(lado2);
Area = (2 * lado1 * base) + (2 * lado1 * lado2) + (2 * base * lado2);
Imprimir(“El area es: “ +Area);
}
Publico Void Calcular1 ()
{
Imprimir(“Ingrese la medida del lado 1 del prima recto”);
Leer(lado1);
Imprimir(“Ingrese la base del prisma recto”);
Leer(base);
Imprimir(“Ingrese la medida del lado 2 del prisma recto”);
Leer(lado2);
Publico Volumen = lado1 * lado2 * base;
Imprimir(“El Volumen es: “ +Volumen”);
}
}
Publico Clase Esfera extiende tridimensional
{
Publico Void Calcular ()
{
Imprimir(“Ingrese el radio de la esfera”);
Leer(radio);
Area = (4 * 3.1416 * (radio * radio));
Imprimir(“El área es: “ +Area);
}
Publico Void Calcular1 ()
{
Imprimir(“Ingrese el radio de la esfera”);
Leer(radio);
Volumen = (4 * 3.1416 * (radio * radio * radio)) / 3;
Imprimir(“El Volumen es: “ +Volumen);
}
}
Publico Clase Cilindro extiende tridimensional
{
Publico Void Calcular ()
{
Imprimir(“Ingrese el radio del cilindro”);
Leer(radio);
Imprimir(“Ingrese la altura del cilindro”);
Leer(altura);
Area = (2 * 3.1416 * radio) * (altura * radio);
Imprimir(“El área es: “ +Area);
}
Publico Void Calcular1 ()
{
Imprimir(“Ingrese el radio del cilindro”);
Leer(radio);
Imprimir(“Ingrese la altura del cilindro”);
Leer(altura);
Volumen = (3.1416 * (radio + radio) * altura);
Imprimir(“El volumen es: “ +Volumen);
}
}
Publico Clase Cono extiende tridimensional
{
Publico Void Calcular ()
{
Imprimir(“Ingrese el radio del cono”);
Leer(radio);
Imprimir(“Ingrese la medida de la generatriz del cono”);
Leer(generatriz);
Area = (3.1416 * radio * generatriz) + (3.1416 *(radio * radio));
Imprimir(“El area es: “ +Area);
}
Publico Void Calcular1 ()
{
Imprimir(“Ingrese el radio del cono”);
Leer(radio);
Imprimir(“Ingrese la altura del cono”);
Leer(altura);
Volumen = (3.1416 * (radio * radio) * altura) / 3;
Imprimir(“El volumen es: “ +Volumen);
}
}
Publico Clase Piramide extiende tridimensional
{
Publico Void Calcular ()
{
Imprimir(“Ingrese la altura lateral de la pirámide”);
Leer(AlturaLat);
Imprimir(“Ingrese la Altura base de la pirámide”);
Leer(Alturabas);
Area = AlturaLat + Alturabas;
Imprimir(“El área es: “ +Area);
}
Publico Void Calcular1 ()
{
Imprimir(“Ingrese la altura base de la pirámide”);
Leer(Alturabas);
Imprimir(“Ingrese la altura de la pirámide”);
Leer(altura);
Volumen = (Alturabas * altura) / 3;
Imprimir(“El volumen es: “ +Volumen);
}
}
Void Main ()
{
entero opcion1, opcion2, opcion3;
Imprimir (“Escoja una de las Opciones”);
Imprimir (“1. Figuras Bidimensionales”);
Imprimir (“2. Figuras Tridimensionales”);
Leer (opcion1);
Si (opcion1 = 1)
{
Imprimir (“¿Qué Tipo de Figura Usaras?”);
Imprimir (“1. Cuadrado”);
Imprimir (“2. Rectángulo”);
Imprimir (“3. Paralelogramo”);
Imprimir (“4. Rombo”);
Imprimir (“5. Trapecio”);
Imprimir (“6. Trapecio Recto”);
Imprimir (“7. Triángulo Equilátero”);
Imprimir (“8. Triangulo Isósceles”);
Imprimir (“9. Triangulo Escaleno”);
Imprimir (“10. Triangulo Rectángulo”);
Leer(opcion2);
Según sea (opcion2)
{
Caso 1:
{
Cuadrado cu = nuevo Cuadrado();
Imprimir (“Que deseas realizar”);
Imprimir (“1. Calcular Área”);
Imprimir (“2. Calcular Perímetro);
Leer (opcion3);
Si (opcion3 = 1)
{
cu.Calcular();
}
De otro modo Si(opcion3 = 2)
{
cu.Calcular1();
}
Interrumpir;
}
Caso 2:
{
Rectangulo Rec = nuevo Rectangulo();
Imprimir (“Que deseas hacer”);
Imprimir (“1. Calcular Área”);
Imprimir (“2. Calcular Perímetro”);
Leer (“opcion3);
Si (opcion3 = 1)
{
Rec.Calcular();
}
De otro modo Si (opcion3 = 2);
{
Rec.Calcular1();
}
Interrumpir;
}
caso 3:
{
Paralelogramo plg = nuevo Paralelogramo();
Imprimir (“Que deseas realizar”);
Imprimir (“1. Calcular Área”);
Imprimir (“2. Calcular Perímetro);
Leer (opcion3);
Si (opcion3 = 1)
{
plg.Calcular();
}
De otro modo Si(opcion3 = 2)
{
plg.Calcular1();
}
Interrumpir;
}
caso 4:
{
Rombo rbo = nuevo Rombo();
Imprimir (“Que deseas realizar”);
Imprimir (“1. Calcular Área”);
Imprimir (“2. Calcular Perímetro);
Leer (opcion3);
Si (opcion3 = 1)
{
rbo.Calcular();
}
De otro modo Si(opcion3 = 2)
{
rbo.Calcular1();
}
Interrumpir;
}
caso 5:
{
Trapecio tpc = nuevo Trapecio();
Imprimir (“Que deseas realizar”);
Imprimir (“1. Calcular Área”);
Imprimir (“2. Calcular Perímetro);
Leer (opcion3);
Si (opcion3 = 1)
{
tpc.Calcular();
}
De otro modo Si(opcion3 = 2)
{
tpc.Calcular1();
}
Interrumpir;
}
caso 6:
{
Trapecio_Recto tpr = nuevo Trapecio_Recto();
Imprimir (“Que deseas realizar”);
Imprimir (“1. Calcular Área”);
Imprimir (“2. Calcular Perímetro);
Leer (opcion3);
Si (opcion3 = 1)
{
tpr.Calcular();
}
De otro modo Si(opcion3 = 2)
{
tpr.Calcular1();
}
Interrumpir;
}
caso 7:
{
Triangulo_equilatero treq = nuevo Triangulo_equilatero();
Imprimir (“Que deseas realizar”);
Imprimir (“1. Calcular Área”);
Imprimir (“2. Calcular Perímetro);
Leer (opcion3);
Si (opcion3 = 1)
{
treq.Calcular();
}
De otro modo Si(opcion3 = 2)
{
treq.Calcular1();
}
Interrumpir;
}
caso 8:
{
TIsosceles tric = nuevo TIsosceles();
Imprimir (“Que deseas realizar”);
Imprimir (“1. Calcular Área”);
Imprimir (“2. Calcular Perímetro);
Leer (opcion3);
Si (opcion3 = 1)
{
tric.Calcular();
}
De otro modo Si(opcion3 = 2)
{
tric.Calcular1();
}
Interrumpir;
}
caso 9:
{
TEscaleno tres = nuevo TEscaleno();
Imprimir (“Que deseas realizar”);
Imprimir (“1. Calcular Área”);
Imprimir (“2. Calcular Perímetro);
Leer (opcion3);
Si (opcion3 = 1)
{
tres.Calcular();
}
De otro modo Si(opcion3 = 2)
{
tres.Calcular1();
}
Interrumpir;
}
caso 10:
{
Trectangulo treg = nuevo Trectangulo();
Imprimir (“Que deseas realizar”);
Imprimir (“1. Calcular Área”);
Imprimir (“2. Calcular Perímetro);
Leer (opcion3);
Si (opcion3 = 1)
{
treg.Calcular();
}
De otro modo Si(opcion3 = 2)
{
treg.Calcular1();
}
Interrumpir;
}
Defecto:
{
Imprimir(“No existe esa opción”);
}
}
}
Si (opcion1 = 2)
{
Imprimir (“¿Qué Tipo de Figura Usaras?”);
Imprimir (“1. Cubo”);
Imprimir (“2. Prisma Recto”);
Imprimir (“3. Esfera”);
Imprimir (“4. Cilindro”);
Imprimir (“5. Cono”);
Imprimir (“6. Pirámide”);
Leer(opcion2);
Según sea (opcion2)
{
Caso 1:
{
Cubo cub = nuevo Cubo();
Imprimir (“Que deseas realizar”);
Imprimir (“1. Calcular Área”);
Imprimir (“2. Calcular Volumen);
Leer (opcion3);
Si (opcion3 = 1)
{
cub.Calcular();
}
De otro modo Si(opcion3 = 2)
{
cub.Calcular1();
}
Interrumpir;
}
Caso 2:
{
Prisma_recto psr = nuevo Prisma_recto();
Imprimir (“Que deseas hacer”);
Imprimir (“1. Calcular Área”);
Imprimir (“2. Calcular Volumen”);
Leer (“opcion3);
Si (opcion3 = 1)
{
psr.Calcular();
}
De otro modo Si (opcion3 = 2);
{
psr.Calcular1();
}
Interrumpir;
}
caso 3:
{
Esfera esf = nuevo Esfera();
Imprimir (“Que deseas realizar”);
Imprimir (“1. Calcular Área”);
Imprimir (“2. Calcular Volumen);
Leer (opcion3);
Si (opcion3 = 1)
{
esf.Calcular();
}
De otro modo Si(opcion3 = 2)
{
esf.Calcular1();
}
Interrumpir;
}
caso 4:
{
Cilindro cil = nuevo Cilindro();
Imprimir (“Que deseas realizar”);
Imprimir (“1. Calcular Área”);
Imprimir (“2. Calcular Volumen);
Leer (opcion3);
Si (opcion3 = 1)
{
cil.Calcular();
}
De otro modo Si(opcion3 = 2)
{
cil.Calcular1();
}
Interrumpir;
}
caso 5:
{
Cono con = nuevo Cono();
Imprimir (“Que deseas realizar”);
Imprimir (“1. Calcular Área”);
Imprimir (“2. Calcular Volumen);
Leer (opcion3);
Si (opcion3 = 1)
{
con.Calcular();
}
De otro modo Si(opcion3 = 2)
{
con.Calcular1();
}
Interrumpir;
}
caso 6:
{
Piramide pir = nuevo Piramide();
Imprimir (“Que deseas realizar”);
Imprimir (“1. Calcular Área”);
Imprimir (“2. Calcular Volumen);
Leer (opcion3);
Si (opcion3 = 1)
{
pir.Calcular();
}
De otro modo Si(opcion3 = 2)
{
pir.Calcular1();
}
Interrumpir;
}
Defecto:
{
Imprimir(“No existe esa opción”);
}
}
}
}
+ Clase Tridimensional
+ Real Volumen, lado1, lado2,
base, radio, generatriz, altura,
Alturalat, Alturabas;
+ Void Calcular ()
+ Void Calcular1 ()
+ Clase Bidimensional
+ Real Perimetro, base, altura,
lado1, lado2, Diag1, Diag2,
baseMay, baseMen;
+ Clase
Figuras_Geometricas
+ Void Calcular ()
+ Void Calcular1 ()
+ Real Area
+ Void Calcular ()
+ Void Calcular1 ()
+ Clase Cuadrado
+ Void Calcular ()
+ Void Calcular1 ()
+ Clase Rectangulo
+ Void Calcular ()
+ Void Calcular1 ()
+ Clase Paralelogramo
+ Void Calcular ()
+ Void Calcular1 ()
+ Clase Rombo
+ Void Calcular ()
+ Void Calcular1 ()
+ Clase Trapecio
+ Void Calcular ()
+ Void Calcular1 ()
+ Clase Trapecio_Recto
+ Void Calcular ()
+ Void Calcular1 ()
+ Clase Triangulo_equilatero
+ Void Calcular ()
+ Void Calcular1 ()
+ Clase Triangulo_isosceles
+ Void Calcular ()
+ Void Calcular1 ()
+ Clase Triangulo_escaleno
+ Void Calcular ()
+ Void Calcular1 ()
+ Clase Triangulo_rectangulo
+ Void Calcular ()
+ Void Calcular1 ()
+ Clase Prisma_recto
+ Void Calcular ()
+ Void Calcular1 ()
+ Clase Cubo
+ Void Calcular ()
+ Void Calcular1 ()
+ Clase Cilindro
+ Void Calcular ()
+ Void Calcular1 ()
+ Clase Esfera
+ Void Calcular ()
+ Void Calcular1 ()
+ Clase Cono
+ Void Calcular ()
+ Void Calcular1 ()
+ Clase Piramide
+ Void Calcular ()
+ Void Calcular1 ()
Diagrama VML
Explicación del algoritmo orientado a objetos:
En este algoritmo tenemos:
 Súper clase figuras geométricas Publico Clase Figuras_Geometricas
o Atributos Publico Real Area;
o Métodos Publico void Calcular(); y Publico void Calcular1();
Esta clase es pública para que pueda ser heredada por sus subclases al igual que
variable ya que la misma va ser utilizada para las subclases los métodos también son
públicos para poder utilizarlos como sobre escritura en los métodos de las subclases.
 Sub clase bidimensional Publico Clase Bidimensional extiende
Figuras_Geometricas
o Atributos Publico Real Perimetro, base, altura, lado1, lado2,
Diag1, Diag2, baseMay, baseMen;
o Métodos Publico void Calcular(); y Publico void Calcular1();
La sub clase está heredando el atributo de la súper clase y sobre escribe los métodos, la
subclase es pública para que pueda ser heredada por sus subclases las variables también
son publica para que sean utilizadas por las subclases, los métodos son públicos para
poder aplicar el concepto de sobre escritura.
Sub clases de figuras bidimensionales
 Sub clase Publico Clase Cuadrado extiende Bidimensional
 Sub clase Publico Clase Rectangulo extiende Bidimensional
 Sub clase Publico Clase Paralelogramo extiende Bidimensional
 Sub clase Publico Clase Rombo extiende Bidimensional
 Sub clase Publico Clase Trapecio extiende Bidimensional
 Sub clase Publico Clase Triangulo_equilatero extiende Bidimensional
 Sub clase Publico Clase Triangulo_isosceles extiende Bidimensional
 Sub clase Publico Clase Triangulo_escaleno extiende Bidimensional
 Sub clase Publico Clase Triangulo_rectangulo extiende Bidimensional
Todos estas sub clases mencionadas heredan los atributos de la clase Bidimensional y
sobre escribe los métodos, cada una de estas subclases están compuestas por dos
métodos público que son usados para calcular área y perímetro de cada figura
bidimensional; están públicos por que según nuestra lógica no sería necesario poner los
métodos privados.
Dentro de cada una de las clases en cada método se van a imprimir los resultados del
área o del perímetro dependiendo que decide calcular el usuario, esto se hizo para que
una vez sean creados los objetos estos impriman automáticamente los resultados en el
void main.
 Sub clase tridimensional Publico Clase tridimensional extiende
Figuras_Geometricas
o Atributos Publico Real Volumen, lado1, lado2, base, radio,
generatriz, altura, Alturalat, Alturabas;
o Métodos Publico void Calcular(); y Publico void Calcular1();
La sub clase está heredando el atributo de la súper clase y sobre escribe los métodos, la
subclase es pública para que pueda ser heredada por sus subclases las variables también
son publica para que sean utilizadas por las subclases, los métodos son públicos para
poder aplicar el concepto de sobre escritura.
Subclases de figuras tridimensionales:
 Sub clase Publico Clase Cubo extiende tridimensional
 Sub clase Publico Clase Prisma_recto extiende tridimensional
 Sub clase Publico Clase Esfera extiende tridimensional
 Sub clase Publico Clase Cilindro extiende tridimensional
 Sub clase Publico Clase Cono extiende tridimensional
 Sub clase Publico Clase Piramide extiende tridimensional
Todas las sub clases aquí mencionadas heredan los atributos de la clase tridimensional y
sobre escribe los métodos, cada una de las clases esta compuestas por dos métodos
publico, decidimos ponerlos métodos públicos por que según nuestra lógica no seria
necesario que sean métodos privados, estos metodos calculan el área y el volumen de
cada figura tridimensional.
Dentro de cada una de las clases en cada método se van a imprimir los resultados del
área y del volumen para que una vez sean creados los objetos estos impriman
automáticamente los resultados en el void main.
Void Main
A nivel de usuario:
En nuestro método principal se le pide a los usuarios escoger que tipo de figuras
geométricas desea calcular, como opción numero uno tiene figuras bidimensionales,
como opción numero dos tiene figuras tridimensionales.
Si el usuario escoge la opción número uno automáticamente se le desglosa un
listado de figuras geométricas bidimensionales las cuales son: Cuadrado,
rectángulo, paralelogramo, rombo, trapecio, triángulo equilátero, triángulos
isósceles, triangulo escaleno, triangulo rectángulo.
Luego de que el usuario escoge la figura geométrica, al usuario se le da la opción
de que elija que desea realizar, calcular área o calcular perímetro.
Dependiendo de lo que elija el usuario se le piden los datos necesarios para
realizar el cálculo y se le brinda su respectiva respuesta.
Si el usuario se decide por las figuras tridimensionales al igual que la opción
anterior al usuario se le desglosa el listado de figuras tridimensionales las cuales
son: cono, prisma recto, esfera, cilindro, cono, pirámide.
Luego de que el usuario escoge la figura geométrica, se le da la opción de que
escoja que desea realizar, calcular área o volumen.
Una vez el usuario elija se le piden los datos necesarios para hacer el cálculo y
finalmente se le brinda su respectiva respuesta.
Void main
A nivel de programación:
 Variables entero opcion1, opcion2, opcion3;
 Alternativas múltiples
o Si (opcion1 = 1)
o Según sea (opcion2)
o Caso 1:
o De otro modo Si(opcion3 = 2)
 Objetos cu.Calcular(),cu.Calcular1()
Debido a la cantidad de alternativas múltiples y a la cantidad de objetos que se crearon,
solo mencionaremos algunos de ellos como se puede apreciar.
Para que el programa principal realice todos estos los pase que se le muestran a el
usuario, fue necesario utilizar alternativas múltiples (case, sino si), declaramos 3 variables
que reciben la opción que elija el usuario, creamos todo esto dentro del void main,
Con los imprimir que mostramos a continuación le pedimos al usuario que escoja una
figura geométrica.
Imprimir (“Escoja una de las opciones”);
Imprimir (“1. Figuras de bidimensionales”);
Imprimir (“2. Figuras de tridimensionales”);
Si el usuario elije la opción 1, esta pasa a la primera condición de que Si (opcion1 = 1)
Entonces se le muestra al usuario lo siguiente:
Imprimir (“Que tipo de figura usaras”);
Imprimir (“1. Cuadrado”);
Imprimir (“2. Rectángulo”);
Imprimir (“3. Paralelogramo”);
Imprimir (“4. Rombo”);
Imprimir (“5. Trapecio”);
Imprimir (“6. Trapecio recto”);
Imprimir (“7. Triángulo equilátero”);
Imprimir (“8. Triangulo isósceles”);
Imprimir (“9. Triangulo Escaleno”);
Imprimir (“10. Triangulo Rectángulo”);
Cada una de las opciones las recibe la alternativa múltiple (caso), luego se crea un objeto
que llama a la clase dependiendo de que figura escoja el usuario, dentro de las 10
opciones se le muestra lo siguiente al usuario.
Imprimir (“Que deseas realizar”);
Imprimir (“1. Calcular Área”);
Imprimir (“2. Calcular Perímetro);
Se lee el número que elige el usuario Leer (opcion3), entramos en una alternativa
doble, y llamamos al método al que corresponda la opción indicada por el usuario.
Si en el menú anterior el usuario elije la opción 2, Si (opcion1 = 2),
Se muestra al usuario lo siguiente:
Imprimir (“Que tipo de figura usaras”);
Imprimir (“1. Cubo”);
Imprimir (“2. Prisma Recto”);
Imprimir (“3. Esfera”);
Imprimir (“4. Cilindro”);
Imprimir (“5. Cono”);
Imprimir (“6. Piramide”);
Cada una de las opciones las recibe la alternativa múltiple (caso), luego se crea un objeto
que llama a la clase dependiendo de que figura escoja el usuario, dentro de las 6
opciones se le muestra lo siguiente al usuario.
Se lee el número que elige el usuario Leer (opcion3), entramos en una alternativa
doble, y llamamos al método al que corresponda la opción indicada por el usuario.
Conclusión
Un trabajo realizado lamentablemente no da una conclusión final a un proyecto,
pero si nos da perspectivas; esta es una conclusión que hemos llegado tras un debut en
lo que realmente será nuestro trabajo aunque a un nivel, creemos, aún más bajo de lo que
vendrá. Pues nos dio desde un principio, múltiples ideas, múltiples posibles soluciones,
múltiples mal-interpretaciones, múltiples todo.
Aplicamos con entereza el uso de las clases y subclases conociendo que estas
son la base de la programación orientada a objetos y viéndola desde nuestro punto de
vista, es una opción extraordinaria para una construcción más ordenada del algoritmo o
de la creación del software en sus distintos lenguajes. Además de que nos ha ayudado
este modelo para una mejor aplicación de la herencia.
Hemos trabajando herencia como deber y a la vez propósito para un mejor control
del algoritmo, ya que si se aplica adecuadamente la herencia, se puede producir
programas mucho más robustos y fáciles de ampliar. Una estrategia de herencia bien
diseñada es la base para reutilizar el código.
En resumen, aplicando los principios orientados a objetos, las distintas partes de un
programa complejo se pueden unir para formar un conjunto unido, robusto y mantenible y
con una mejor lectura.
.

Weitere ähnliche Inhalte

Was ist angesagt?

Estructuras de datos en Introducción a la Programación
Estructuras de datos en Introducción a la ProgramaciónEstructuras de datos en Introducción a la Programación
Estructuras de datos en Introducción a la ProgramaciónFacultad de Ciencias y Sistemas
 
Arreglos programacion
Arreglos programacionArreglos programacion
Arreglos programacionashildir
 
Diseño de entradas para sistemas de información
Diseño de entradas para sistemas de informaciónDiseño de entradas para sistemas de información
Diseño de entradas para sistemas de informaciónYaskelly Yedra
 
El Juego TicTacToe (Gato) mediante Arboles de Decisiones
El Juego TicTacToe (Gato) mediante Arboles de DecisionesEl Juego TicTacToe (Gato) mediante Arboles de Decisiones
El Juego TicTacToe (Gato) mediante Arboles de DecisionesJosé Enrique Alvarez Estrada
 
Algoritmo variables, constantes, tipos de datos y asignacion
Algoritmo variables, constantes, tipos de datos y asignacionAlgoritmo variables, constantes, tipos de datos y asignacion
Algoritmo variables, constantes, tipos de datos y asignacionBoris Salleg
 
21 problemas de algoritmo resueltos
21 problemas de algoritmo resueltos21 problemas de algoritmo resueltos
21 problemas de algoritmo resueltosRoldan El Gato
 
Tipos de Datos en C++
Tipos de Datos en C++Tipos de Datos en C++
Tipos de Datos en C++ivanjvic
 
Ensayo de Analisis y Diseño de Sistemas
Ensayo de Analisis y Diseño de SistemasEnsayo de Analisis y Diseño de Sistemas
Ensayo de Analisis y Diseño de Sistemasrdo09
 
Manual de sistema ejemplo
Manual de sistema ejemploManual de sistema ejemplo
Manual de sistema ejemploAnaylen Lopez
 
Tipos de datos y operaciones
Tipos de datos y operacionesTipos de datos y operaciones
Tipos de datos y operacionesEdwinChamorroT
 
Como calcular los limites superiores e inferiores
Como calcular los limites superiores e inferioresComo calcular los limites superiores e inferiores
Como calcular los limites superiores e inferioreskaoko7
 
El reconocimiento facial
El reconocimiento facialEl reconocimiento facial
El reconocimiento facialJesus Jimenez
 
Teoría De La Complejidad Algoritmica
Teoría De La Complejidad AlgoritmicaTeoría De La Complejidad Algoritmica
Teoría De La Complejidad AlgoritmicaRolf Pinto
 
Mineria de datos secuenciales
Mineria de datos secuencialesMineria de datos secuenciales
Mineria de datos secuencialesMarilyn Jaramillo
 
Análisis coste - beneficio en Software
Análisis coste - beneficio en SoftwareAnálisis coste - beneficio en Software
Análisis coste - beneficio en SoftwareVictor Samaniego Neyra
 
Aprendiendo UML en 24 Horas.pdf
Aprendiendo UML en 24 Horas.pdfAprendiendo UML en 24 Horas.pdf
Aprendiendo UML en 24 Horas.pdfNone
 
El uso del calibrador vernier en fracciones, milésimas y el micrómetro
El uso del calibrador vernier en fracciones, milésimas y el micrómetro El uso del calibrador vernier en fracciones, milésimas y el micrómetro
El uso del calibrador vernier en fracciones, milésimas y el micrómetro Juan José Rodríguez Díaz
 

Was ist angesagt? (20)

Estructuras de datos en Introducción a la Programación
Estructuras de datos en Introducción a la ProgramaciónEstructuras de datos en Introducción a la Programación
Estructuras de datos en Introducción a la Programación
 
Arreglos programacion
Arreglos programacionArreglos programacion
Arreglos programacion
 
Diseño de entradas para sistemas de información
Diseño de entradas para sistemas de informaciónDiseño de entradas para sistemas de información
Diseño de entradas para sistemas de información
 
El Juego TicTacToe (Gato) mediante Arboles de Decisiones
El Juego TicTacToe (Gato) mediante Arboles de DecisionesEl Juego TicTacToe (Gato) mediante Arboles de Decisiones
El Juego TicTacToe (Gato) mediante Arboles de Decisiones
 
Tipos de muestreo
Tipos de muestreoTipos de muestreo
Tipos de muestreo
 
Algoritmo variables, constantes, tipos de datos y asignacion
Algoritmo variables, constantes, tipos de datos y asignacionAlgoritmo variables, constantes, tipos de datos y asignacion
Algoritmo variables, constantes, tipos de datos y asignacion
 
21 problemas de algoritmo resueltos
21 problemas de algoritmo resueltos21 problemas de algoritmo resueltos
21 problemas de algoritmo resueltos
 
Tipos de Datos en C++
Tipos de Datos en C++Tipos de Datos en C++
Tipos de Datos en C++
 
Ensayo de Analisis y Diseño de Sistemas
Ensayo de Analisis y Diseño de SistemasEnsayo de Analisis y Diseño de Sistemas
Ensayo de Analisis y Diseño de Sistemas
 
Requisitos funcionales y no funcionales
Requisitos funcionales y no funcionales Requisitos funcionales y no funcionales
Requisitos funcionales y no funcionales
 
Manual de sistema ejemplo
Manual de sistema ejemploManual de sistema ejemplo
Manual de sistema ejemplo
 
DISEÑO DE SALIDA DEL SISTEMA
DISEÑO DE SALIDA DEL SISTEMADISEÑO DE SALIDA DEL SISTEMA
DISEÑO DE SALIDA DEL SISTEMA
 
Tipos de datos y operaciones
Tipos de datos y operacionesTipos de datos y operaciones
Tipos de datos y operaciones
 
Como calcular los limites superiores e inferiores
Como calcular los limites superiores e inferioresComo calcular los limites superiores e inferiores
Como calcular los limites superiores e inferiores
 
El reconocimiento facial
El reconocimiento facialEl reconocimiento facial
El reconocimiento facial
 
Teoría De La Complejidad Algoritmica
Teoría De La Complejidad AlgoritmicaTeoría De La Complejidad Algoritmica
Teoría De La Complejidad Algoritmica
 
Mineria de datos secuenciales
Mineria de datos secuencialesMineria de datos secuenciales
Mineria de datos secuenciales
 
Análisis coste - beneficio en Software
Análisis coste - beneficio en SoftwareAnálisis coste - beneficio en Software
Análisis coste - beneficio en Software
 
Aprendiendo UML en 24 Horas.pdf
Aprendiendo UML en 24 Horas.pdfAprendiendo UML en 24 Horas.pdf
Aprendiendo UML en 24 Horas.pdf
 
El uso del calibrador vernier en fracciones, milésimas y el micrómetro
El uso del calibrador vernier en fracciones, milésimas y el micrómetro El uso del calibrador vernier en fracciones, milésimas y el micrómetro
El uso del calibrador vernier en fracciones, milésimas y el micrómetro
 

Andere mochten auch

Algoritmo figuras geometricas_ppt
Algoritmo figuras geometricas_pptAlgoritmo figuras geometricas_ppt
Algoritmo figuras geometricas_pptAbdiel Villarreal
 
Pseudocodigo 123
Pseudocodigo 123Pseudocodigo 123
Pseudocodigo 123guest96a998
 
Realizar pseudocodigo con el area de figuras geometricas
Realizar pseudocodigo con el area de figuras geometricasRealizar pseudocodigo con el area de figuras geometricas
Realizar pseudocodigo con el area de figuras geometricasClaudio Cruz
 
Algoritmos basicos de dibujo en 2 d
Algoritmos basicos de dibujo en 2 dAlgoritmos basicos de dibujo en 2 d
Algoritmos basicos de dibujo en 2 dUDEC
 
Problemas,algoritmos y diagramas de flujo.
Problemas,algoritmos y diagramas de flujo.Problemas,algoritmos y diagramas de flujo.
Problemas,algoritmos y diagramas de flujo.Arturo Perez Murrieta
 
Algoritmos y diagramas completos1
Algoritmos y diagramas completos1Algoritmos y diagramas completos1
Algoritmos y diagramas completos1Rodrigo Oropeza
 
Tablas de multiplicar en diagrama de flujo
Tablas de multiplicar en diagrama de flujoTablas de multiplicar en diagrama de flujo
Tablas de multiplicar en diagrama de flujoDiana Florez
 
Ejemplos de Algoritmos
Ejemplos de AlgoritmosEjemplos de Algoritmos
Ejemplos de AlgoritmosPepe Xdsasda
 
02 Ejercicios Resueltos diagramas de flujo
02 Ejercicios Resueltos diagramas de flujo02 Ejercicios Resueltos diagramas de flujo
02 Ejercicios Resueltos diagramas de flujoTete Alar
 
EJERCICIOS DE ALGORITMOS
EJERCICIOS DE ALGORITMOSEJERCICIOS DE ALGORITMOS
EJERCICIOS DE ALGORITMOS1002pc3
 
Diagramas de Flujo y Algoritmos (Informática ll)
Diagramas de Flujo y Algoritmos (Informática ll)Diagramas de Flujo y Algoritmos (Informática ll)
Diagramas de Flujo y Algoritmos (Informática ll)irvingsalazar2
 
52 ejercicios-resueltos-en-pseudocodigo
52 ejercicios-resueltos-en-pseudocodigo52 ejercicios-resueltos-en-pseudocodigo
52 ejercicios-resueltos-en-pseudocodigoepetekaun
 
Realizar un algoritmo que permita encontrar el promedio de n notas de un estu...
Realizar un algoritmo que permita encontrar el promedio de n notas de un estu...Realizar un algoritmo que permita encontrar el promedio de n notas de un estu...
Realizar un algoritmo que permita encontrar el promedio de n notas de un estu...Marlon Castro
 
¿Como hacer un pseudocodigo y diagrama de flujo?
¿Como hacer un pseudocodigo y diagrama de flujo?¿Como hacer un pseudocodigo y diagrama de flujo?
¿Como hacer un pseudocodigo y diagrama de flujo?grachika
 

Andere mochten auch (20)

Algoritmo figuras geometricas_ppt
Algoritmo figuras geometricas_pptAlgoritmo figuras geometricas_ppt
Algoritmo figuras geometricas_ppt
 
Pseudocodigo 123
Pseudocodigo 123Pseudocodigo 123
Pseudocodigo 123
 
Realizar pseudocodigo con el area de figuras geometricas
Realizar pseudocodigo con el area de figuras geometricasRealizar pseudocodigo con el area de figuras geometricas
Realizar pseudocodigo con el area de figuras geometricas
 
Algoritmos basicos de dibujo en 2 d
Algoritmos basicos de dibujo en 2 dAlgoritmos basicos de dibujo en 2 d
Algoritmos basicos de dibujo en 2 d
 
Problemas,algoritmos y diagramas de flujo.
Problemas,algoritmos y diagramas de flujo.Problemas,algoritmos y diagramas de flujo.
Problemas,algoritmos y diagramas de flujo.
 
Algoritmos, tablas de multiplicar
Algoritmos, tablas de multiplicarAlgoritmos, tablas de multiplicar
Algoritmos, tablas de multiplicar
 
Algoritmos y diagramas completos1
Algoritmos y diagramas completos1Algoritmos y diagramas completos1
Algoritmos y diagramas completos1
 
Ejercicios de algoritmos
Ejercicios de algoritmosEjercicios de algoritmos
Ejercicios de algoritmos
 
Tablas de multiplicar en diagrama de flujo
Tablas de multiplicar en diagrama de flujoTablas de multiplicar en diagrama de flujo
Tablas de multiplicar en diagrama de flujo
 
Ejemplos de Algoritmos
Ejemplos de AlgoritmosEjemplos de Algoritmos
Ejemplos de Algoritmos
 
02 Ejercicios Resueltos diagramas de flujo
02 Ejercicios Resueltos diagramas de flujo02 Ejercicios Resueltos diagramas de flujo
02 Ejercicios Resueltos diagramas de flujo
 
EJERCICIOS DE ALGORITMOS
EJERCICIOS DE ALGORITMOSEJERCICIOS DE ALGORITMOS
EJERCICIOS DE ALGORITMOS
 
Diagramas de Flujo y Algoritmos (Informática ll)
Diagramas de Flujo y Algoritmos (Informática ll)Diagramas de Flujo y Algoritmos (Informática ll)
Diagramas de Flujo y Algoritmos (Informática ll)
 
52 ejercicios-resueltos-en-pseudocodigo
52 ejercicios-resueltos-en-pseudocodigo52 ejercicios-resueltos-en-pseudocodigo
52 ejercicios-resueltos-en-pseudocodigo
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Algoritmos programacion
Algoritmos programacionAlgoritmos programacion
Algoritmos programacion
 
Realizar un algoritmo que permita encontrar el promedio de n notas de un estu...
Realizar un algoritmo que permita encontrar el promedio de n notas de un estu...Realizar un algoritmo que permita encontrar el promedio de n notas de un estu...
Realizar un algoritmo que permita encontrar el promedio de n notas de un estu...
 
Elementos del diagrama de flujo
Elementos del diagrama de flujoElementos del diagrama de flujo
Elementos del diagrama de flujo
 
¿Como hacer un pseudocodigo y diagrama de flujo?
¿Como hacer un pseudocodigo y diagrama de flujo?¿Como hacer un pseudocodigo y diagrama de flujo?
¿Como hacer un pseudocodigo y diagrama de flujo?
 
Diagramas de flujo
Diagramas de flujoDiagramas de flujo
Diagramas de flujo
 

Ähnlich wie Algoritmo figuras geometricas_doc

Ähnlich wie Algoritmo figuras geometricas_doc (20)

Metodología para la solución de un problema
Metodología para la solución de un problemaMetodología para la solución de un problema
Metodología para la solución de un problema
 
Diagrama de flujo.pdf
Diagrama de flujo.pdfDiagrama de flujo.pdf
Diagrama de flujo.pdf
 
Informe de informatica 16 17
Informe de informatica 16 17Informe de informatica 16 17
Informe de informatica 16 17
 
Informe de pensamiento logico
Informe de pensamiento logicoInforme de pensamiento logico
Informe de pensamiento logico
 
Tutorial sketchup tarea
Tutorial sketchup tareaTutorial sketchup tarea
Tutorial sketchup tarea
 
Ejercicios de programación para el blog
Ejercicios de programación para el blogEjercicios de programación para el blog
Ejercicios de programación para el blog
 
Ejercicios de Programación Matemática Aplicada
Ejercicios de Programación Matemática Aplicada Ejercicios de Programación Matemática Aplicada
Ejercicios de Programación Matemática Aplicada
 
Asesoria MetodologíA Y TecnologíA De La ProgramacióN I
Asesoria MetodologíA Y TecnologíA De La ProgramacióN IAsesoria MetodologíA Y TecnologíA De La ProgramacióN I
Asesoria MetodologíA Y TecnologíA De La ProgramacióN I
 
Asesoria
AsesoriaAsesoria
Asesoria
 
Ejemplos de Pseudocódigo
Ejemplos de PseudocódigoEjemplos de Pseudocódigo
Ejemplos de Pseudocódigo
 
algoritrmos
algoritrmosalgoritrmos
algoritrmos
 
Funciones con vectores y matrices
Funciones con vectores y matricesFunciones con vectores y matrices
Funciones con vectores y matrices
 
Funciones con vectores y matrices
Funciones con vectores y matricesFunciones con vectores y matrices
Funciones con vectores y matrices
 
Sesion03
Sesion03Sesion03
Sesion03
 
Tutorial graphmatica
Tutorial graphmaticaTutorial graphmatica
Tutorial graphmatica
 
Arreglos bidimensionales Java parte 4
Arreglos bidimensionales Java parte 4Arreglos bidimensionales Java parte 4
Arreglos bidimensionales Java parte 4
 
TransCAD Module I
TransCAD Module ITransCAD Module I
TransCAD Module I
 
ANGELICA OSTAIZA (LA PEKE)
ANGELICA OSTAIZA (LA PEKE)ANGELICA OSTAIZA (LA PEKE)
ANGELICA OSTAIZA (LA PEKE)
 
Fundamentos de Programacion
Fundamentos de ProgramacionFundamentos de Programacion
Fundamentos de Programacion
 
Drawbasico
DrawbasicoDrawbasico
Drawbasico
 

Kürzlich hochgeladen

Inmersión global en ciberseguridad e IA en la conferencia RSA.pdf
Inmersión global en ciberseguridad e IA en la conferencia RSA.pdfInmersión global en ciberseguridad e IA en la conferencia RSA.pdf
Inmersión global en ciberseguridad e IA en la conferencia RSA.pdfOBr.global
 
Actividad 14: Diseño de Algoritmos Paralelos Actividad 14: Diseño de Algoritm...
Actividad 14: Diseño de Algoritmos Paralelos Actividad 14: Diseño de Algoritm...Actividad 14: Diseño de Algoritmos Paralelos Actividad 14: Diseño de Algoritm...
Actividad 14: Diseño de Algoritmos Paralelos Actividad 14: Diseño de Algoritm...RaymondCode
 
La Electricidad y La Electrónica.pdf....
La Electricidad y La Electrónica.pdf....La Electricidad y La Electrónica.pdf....
La Electricidad y La Electrónica.pdf....Aaron Betancourt
 
De Código a Ejecución: El Papel Fundamental del MSIL en .NET
De Código a Ejecución: El Papel Fundamental del MSIL en .NETDe Código a Ejecución: El Papel Fundamental del MSIL en .NET
De Código a Ejecución: El Papel Fundamental del MSIL en .NETGermán Küber
 
PRESENTACION DEL TEMA LOS MEJORES SIMULADORES DE CIRCUITOS ELCTRONICOS
PRESENTACION DEL TEMA LOS MEJORES SIMULADORES DE CIRCUITOS ELCTRONICOSPRESENTACION DEL TEMA LOS MEJORES SIMULADORES DE CIRCUITOS ELCTRONICOS
PRESENTACION DEL TEMA LOS MEJORES SIMULADORES DE CIRCUITOS ELCTRONICOSLincangoKevin
 
La tablet trabajo en grupo del grado 9-2
La tablet trabajo en grupo del grado 9-2La tablet trabajo en grupo del grado 9-2
La tablet trabajo en grupo del grado 9-2montoyagabriela340
 
Actividad 14_ Diseño de Algoritmos Paralelos.pdf
Actividad 14_ Diseño de Algoritmos Paralelos.pdfActividad 14_ Diseño de Algoritmos Paralelos.pdf
Actividad 14_ Diseño de Algoritmos Paralelos.pdfalejandrogomezescoto
 
Análisis de artefactos tecnologicos .pdf
Análisis de artefactos tecnologicos .pdfAnálisis de artefactos tecnologicos .pdf
Análisis de artefactos tecnologicos .pdfcastrodanna185
 
Los mejores simuladores de circuitos electrónicos.pdf
Los mejores simuladores de circuitos electrónicos.pdfLos mejores simuladores de circuitos electrónicos.pdf
Los mejores simuladores de circuitos electrónicos.pdfodalistar77
 
El diseño de Algoritmos Paralelos.pdf - analisis de algortimos
El diseño de Algoritmos Paralelos.pdf - analisis de algortimosEl diseño de Algoritmos Paralelos.pdf - analisis de algortimos
El diseño de Algoritmos Paralelos.pdf - analisis de algortimosLCristinaForchue
 
TENDENCIAS DE IA Explorando el futuro de la tecnologia.pdf
TENDENCIAS DE IA Explorando el futuro de la tecnologia.pdfTENDENCIAS DE IA Explorando el futuro de la tecnologia.pdf
TENDENCIAS DE IA Explorando el futuro de la tecnologia.pdfJoseAlejandroPerezBa
 
Inteligencia artificial dentro de la contabilidad
Inteligencia artificial dentro de la contabilidadInteligencia artificial dentro de la contabilidad
Inteligencia artificial dentro de la contabilidaddanik1023m
 
Carta de Premio y Excel angeline 11-2pdf
Carta de Premio y Excel angeline 11-2pdfCarta de Premio y Excel angeline 11-2pdf
Carta de Premio y Excel angeline 11-2pdfangelinebocanegra1
 
Tecnológia 2024.docx.Tecnológia 2024.docx.
Tecnológia 2024.docx.Tecnológia 2024.docx.Tecnológia 2024.docx.Tecnológia 2024.docx.
Tecnológia 2024.docx.Tecnológia 2024.docx.marianarodriguezc797
 
VIDEOS DE APOYO.docx E
VIDEOS DE APOYO.docx                                  EVIDEOS DE APOYO.docx                                  E
VIDEOS DE APOYO.docx Emialexsolar
 
Actividad 1-PRESENTACIÓN ANIMADA.pptxPreservación y conservación de los docum...
Actividad 1-PRESENTACIÓN ANIMADA.pptxPreservación y conservación de los docum...Actividad 1-PRESENTACIÓN ANIMADA.pptxPreservación y conservación de los docum...
Actividad 1-PRESENTACIÓN ANIMADA.pptxPreservación y conservación de los docum...OLGAMILENAMONTAEZNIO
 
Matriz de integración de tecnologías- Paola Carvajal.docx
Matriz de integración de tecnologías- Paola Carvajal.docxMatriz de integración de tecnologías- Paola Carvajal.docx
Matriz de integración de tecnologías- Paola Carvajal.docxPaolaCarolinaCarvaja
 
Presentación - Diseño de Algoritmos Paralelos - Grupo 2.pdf
Presentación - Diseño de Algoritmos Paralelos - Grupo 2.pdfPresentación - Diseño de Algoritmos Paralelos - Grupo 2.pdf
Presentación - Diseño de Algoritmos Paralelos - Grupo 2.pdfymiranda2
 

Kürzlich hochgeladen (20)

Inmersión global en ciberseguridad e IA en la conferencia RSA.pdf
Inmersión global en ciberseguridad e IA en la conferencia RSA.pdfInmersión global en ciberseguridad e IA en la conferencia RSA.pdf
Inmersión global en ciberseguridad e IA en la conferencia RSA.pdf
 
Actividad 14: Diseño de Algoritmos Paralelos Actividad 14: Diseño de Algoritm...
Actividad 14: Diseño de Algoritmos Paralelos Actividad 14: Diseño de Algoritm...Actividad 14: Diseño de Algoritmos Paralelos Actividad 14: Diseño de Algoritm...
Actividad 14: Diseño de Algoritmos Paralelos Actividad 14: Diseño de Algoritm...
 
La Electricidad y La Electrónica.pdf....
La Electricidad y La Electrónica.pdf....La Electricidad y La Electrónica.pdf....
La Electricidad y La Electrónica.pdf....
 
De Código a Ejecución: El Papel Fundamental del MSIL en .NET
De Código a Ejecución: El Papel Fundamental del MSIL en .NETDe Código a Ejecución: El Papel Fundamental del MSIL en .NET
De Código a Ejecución: El Papel Fundamental del MSIL en .NET
 
BEDEC Proyecto y obra , novedades 2024 - Xavier Folch
BEDEC Proyecto y obra , novedades 2024 - Xavier FolchBEDEC Proyecto y obra , novedades 2024 - Xavier Folch
BEDEC Proyecto y obra , novedades 2024 - Xavier Folch
 
PRESENTACION DEL TEMA LOS MEJORES SIMULADORES DE CIRCUITOS ELCTRONICOS
PRESENTACION DEL TEMA LOS MEJORES SIMULADORES DE CIRCUITOS ELCTRONICOSPRESENTACION DEL TEMA LOS MEJORES SIMULADORES DE CIRCUITOS ELCTRONICOS
PRESENTACION DEL TEMA LOS MEJORES SIMULADORES DE CIRCUITOS ELCTRONICOS
 
La tablet trabajo en grupo del grado 9-2
La tablet trabajo en grupo del grado 9-2La tablet trabajo en grupo del grado 9-2
La tablet trabajo en grupo del grado 9-2
 
Actividad 14_ Diseño de Algoritmos Paralelos.pdf
Actividad 14_ Diseño de Algoritmos Paralelos.pdfActividad 14_ Diseño de Algoritmos Paralelos.pdf
Actividad 14_ Diseño de Algoritmos Paralelos.pdf
 
BEDEC Sostenibilidad, novedades 2024 - Laura Silva
BEDEC Sostenibilidad, novedades 2024 - Laura SilvaBEDEC Sostenibilidad, novedades 2024 - Laura Silva
BEDEC Sostenibilidad, novedades 2024 - Laura Silva
 
Análisis de artefactos tecnologicos .pdf
Análisis de artefactos tecnologicos .pdfAnálisis de artefactos tecnologicos .pdf
Análisis de artefactos tecnologicos .pdf
 
Los mejores simuladores de circuitos electrónicos.pdf
Los mejores simuladores de circuitos electrónicos.pdfLos mejores simuladores de circuitos electrónicos.pdf
Los mejores simuladores de circuitos electrónicos.pdf
 
El diseño de Algoritmos Paralelos.pdf - analisis de algortimos
El diseño de Algoritmos Paralelos.pdf - analisis de algortimosEl diseño de Algoritmos Paralelos.pdf - analisis de algortimos
El diseño de Algoritmos Paralelos.pdf - analisis de algortimos
 
TENDENCIAS DE IA Explorando el futuro de la tecnologia.pdf
TENDENCIAS DE IA Explorando el futuro de la tecnologia.pdfTENDENCIAS DE IA Explorando el futuro de la tecnologia.pdf
TENDENCIAS DE IA Explorando el futuro de la tecnologia.pdf
 
Inteligencia artificial dentro de la contabilidad
Inteligencia artificial dentro de la contabilidadInteligencia artificial dentro de la contabilidad
Inteligencia artificial dentro de la contabilidad
 
Carta de Premio y Excel angeline 11-2pdf
Carta de Premio y Excel angeline 11-2pdfCarta de Premio y Excel angeline 11-2pdf
Carta de Premio y Excel angeline 11-2pdf
 
Tecnológia 2024.docx.Tecnológia 2024.docx.
Tecnológia 2024.docx.Tecnológia 2024.docx.Tecnológia 2024.docx.Tecnológia 2024.docx.
Tecnológia 2024.docx.Tecnológia 2024.docx.
 
VIDEOS DE APOYO.docx E
VIDEOS DE APOYO.docx                                  EVIDEOS DE APOYO.docx                                  E
VIDEOS DE APOYO.docx E
 
Actividad 1-PRESENTACIÓN ANIMADA.pptxPreservación y conservación de los docum...
Actividad 1-PRESENTACIÓN ANIMADA.pptxPreservación y conservación de los docum...Actividad 1-PRESENTACIÓN ANIMADA.pptxPreservación y conservación de los docum...
Actividad 1-PRESENTACIÓN ANIMADA.pptxPreservación y conservación de los docum...
 
Matriz de integración de tecnologías- Paola Carvajal.docx
Matriz de integración de tecnologías- Paola Carvajal.docxMatriz de integración de tecnologías- Paola Carvajal.docx
Matriz de integración de tecnologías- Paola Carvajal.docx
 
Presentación - Diseño de Algoritmos Paralelos - Grupo 2.pdf
Presentación - Diseño de Algoritmos Paralelos - Grupo 2.pdfPresentación - Diseño de Algoritmos Paralelos - Grupo 2.pdf
Presentación - Diseño de Algoritmos Paralelos - Grupo 2.pdf
 

Algoritmo figuras geometricas_doc

  • 1. UNIVERSIDAD TECNOLOGICA DE PANAMA FACULTAD DE INGENIERIA DE SISTEMAS COMPUTACIONALES DESARROLLO DE SOFTWARE I PROYECTO FINAL PROFESOR: REGIS RIVERA ESTUDIANTES: ABDIEL VILLARREAL EDUARDO ALVEO GADIEL GONZALEZ JOSUEL BARBA ROBOAN GONZALEZ I – SEMESTRE 2013 FECHA: 2 DE JULIO 2013
  • 2. Índice INTRODUCCIÓN..................................................................................................................................3 Definición del problema:....................................................................................................................4 Algoritmo orientado a objetos para resolución del problema ...........................................................5 Diagrama VML..................................................................................................................................18 Explicación del algoritmo orientado a objetos:................................................................................19  Súper clase figuras geométricas ...........................................................................................19 o Atributos...........................................................................................................................19 o Métodos ...........................................................................................................................19  Sub clase bidimensional .......................................................................................................19 o Atributos...........................................................................................................................19 o Métodos ...........................................................................................................................19 Sub clases de figuras bidimensionales .............................................................................................19  Sub clase tridimensional...........................................................................................................20 o Atributos ..............................................................................................................................20 o Métodos...............................................................................................................................20 Subclases de figuras tridimensionales:.............................................................................................20 Void Main.........................................................................................................................................20 A nivel de usuario:........................................................................................................................20 Void main.........................................................................................................................................21 A nivel de programación: .............................................................................................................21  Variables...............................................................................................................................21  Alternativas múltiples...........................................................................................................21  Objetos.................................................................................................................................21 Conclusión........................................................................................................................................23
  • 3. INTRODUCCIÓN A continuación tendremos el gusto de explicarles cómo resolver un algoritmo orientado a objetos, utilizando clases, métodos, atributos, objetos, Alternativas, instrucciones alternativas, repetitivas, herencia, sobre escritura. Se resuelve un problema donde el usuario elije con que tipos de figuras geométricos desea trabajar, luego de eso sigue una serie de instrucciones que le permiten al final obtener el resultado del área, perímetro o volumen de la figura seleccionada. Cabe mencionar que esta es una de las tantas formas que podemos resolver un algoritmo orientado a objeto; que sirva para calcular área y perímetro en figuras bidimensionales a su vez también sirva para el cálculo de área y volumen en figuras tridimensionales.
  • 4. Definición del problema: Resolver un algoritmo orientado a objetos, que esté relacionado con figuras geométricas bidimensionales y tridimensionales. El usuario elige con qué tipo de figuras geométricas desea trabajar, si elige figuras bidimensionales se le pide que elija una de las figuras, luego se le pide que desea calcular, se le da la opción de que elija entra área y perímetro, seguido de esto se le indica que introduzca los datos correspondientes a la figura que elija, para proceder con el cálculo del área o el perímetro; si el usuario elije figuras tridimensionales se le piden que elija una de las figuras, luego se da la opción que elija que desea calcular, si área o volumen, seguido de esto se le da la opción de que introduzca los datos necesarios para realizar el cálculo y al final se le muestra el resultado. Para resolver esto se implementa todos los conceptos básicos de la programación orientada a objetos tales como: Clases, métodos, atributos, objetos, alternativas, instrucciones alternativas, repetitivas, herencia, sobre-escritura. En este algoritmo orientado a objetos se trata de ser lo más preciso para que de esta manera se pueda desarrollar el programa con la menor cantidad de líneas de códigos y así ahorrarnos espacio en la memoria RAM.
  • 5. Algoritmo orientado a objetos para resolución del problema Publico Clase Figuras_Geometricas { Publico Real Area; Publico void Calcular() { } Publico void Calcular1() { } } Publico Clase Bidimensional extiende Figuras_Geometricas { Publico Real Perimetro, base, altura, lado1, lado2, Diag1, Diag2, baseMay, baseMen; Publico void Calcular() { } Publico void Calcular1() { } } Publico Clase Cuadrado extiende Bidimensional { Publico Void Calcular() { Imprimir(“Ingrese la medida de uno de los lados del cuadrado”); Leer(lado); Area = lado * lado; Imprimir(“El área es: “ +Area); } Publico Void Calcular1() { Imprimir(“Ingrese la medida de uno de los lados del cuadrado”); Leer(lado); Perimetro = 4 * lado; Imprimir(“El perímetro es: “ +Perimetro); } } Publico Clase Rectangulo extiende Bidimensional { Publico Void Calcular() { Imprimir(“Ingrese la medida de la base del rectángulo”); Leer(base); Imprimir(“Ingrese la medida de la altura del rectángulo”); Leer(altura); Area = base * altura; Imprimir(“El area es: “ +Area); } Publico Void Calcular1() {
  • 6. Imprimir(“Ingrese la medida de la base del rectángulo”); Leer(base); Imprimir(“Ingrese la medida de la altura del rectángulo”); Leer(altura); Perimetro = (2 * base) + 2 * altura; Imprimir(“El perímetro es: “ +Perimetro); } } Publico Clase Paralelogramo extiende Bidimensional { Publico Void Calcular() { Imprimir(“Ingrese la medida de la base del paralelogramo”); Leer(base); Imprimir(“Ingrese la medida de la altura del paralelogramo”); Leer(altura); Area = base * altura; Imprimir(“El área es: “ +Area); } Publico Void Calcular1() { Imprimir(“Ingrese la medida de la base del paralelogramo”); Leer(base); Imprimir(“Ingrese la medida del lado del paralelogramo ”); Leer(lado); Perimetro = (2 * base) + (2 * lado); Imprimir(“El perímetro es: “ +Perimetro); } } Publico Clase Rombo extiende Bidimensional { Publico Void Calcular () { Imprimir(“Ingrese la diagonal menor del rombo”); Leer(Diag1); Imprimir (“Ingrese la diagonal mayor del rombo); Leer(Diag2); Area = (Diag1 * Diag2) / 2; Imprimir(“El área es: “ +Area); } Publico Void Calcular1() { Imprimir(“Ingrese la medida de uno de los lado del rombo”); Leer(lado); Perimetro = 4 * lado; Imprimir(“El perímetro es: “ +Perimetro); } } Publico Clase Trapecio extiende Bidimensional { Publico Void Calcular () { Imprimir(“Ingrese la base menor del trapecio”); Leer(BaseMen);
  • 7. Imprimir(“Ingrese la base mayor del trapecio”); Leer(“BaseMay); Imprimir(“Ingrese la altura del trapecio”); Leer(altura); Area = ((BaseMen + BaseMay)/2) * (altura); Imprimir(“EL area es: “ +Area); } Publico Void Calcular1() { Imprimir(“Ingrese lado 1 del trapecio”); Leer(altura); Imprimir(“Ingrese lado 2 del trapecio”); Leer(BaseMen); Imprimir(“Ingrese lado 3 del trapecio”); Leer(BaseMay); Imprimir(“Ingrese lado 4 del trapecio”); Leer(lado); Perimetro = altura + BaseMen + BaseMay + lado; Imprimir(“El perimetro es: “ +Perimetro); } } Publico Clase Trapecio_Recto extiende Bidimensional { Publico Void Calcular () { Imprimir(“Ingrese la altura del trapecio recto”); Leer(altura); Imprimir(“Ingrese la base menor del trapecio recto”); Leer(BaseMen); Imprimir(“Ingrese la base mayor del trapecio recto”); Leer(BaseMay); Area = ((BaseMen + BaseMay)/2) * (altura); Imprimir(“El area es: “ +Area); } Publico Void Calcular1() { Imprimir(“Ingrese lado 1 del trapecio recto”); Leer(altura); Imprimir(“Ingrese lado 2 del trapecio recto”); Leer(BaseMen); Imprimir(“Ingrese lado 3 del trapecio recto”); Leer(BaseMay); Imprimir(“Ingrese lado 4 del trapecio recto”); Leer(lado); Perimetro = altura + BaseMen + BaseMay + lado; Imprimir(“El perimetro es: “ +Perimetro); } } Publico Clase Triangulo_equilatero extiende Bidimensional { Publico Void Calcular () { Imprimir(“Ingrese la medida del lado del triángulo equilátero”); Leer(lado); Imprimir(“Ingrese la altura del triángulo equilátero”);
  • 8. Leer(altura); Area = (lado * altura) / 2; Imprimir (“El área es: “ +Area); } Publico Void Calcular1() { Imprimir(“Ingrese la medida del lado del triángulo equilátero ”); Leer(lado); Perimetro = 3 * lado; Imprimir(“El perímetro es: “ +Perimetro); } } Publico Clase Triangulo_isosceles extiende Bidimensional { Publico Void Calcular () { Imprimir(“Ingrese la medida de la base del triángulo isósceles”); Leer(base); Imprimir(“Ingrese la altura del triángulo isósceles”); Leer(altura); Area = (base * altura) / 2; Imprimir(“El área es:” +Area); } Publico Void Calcular1() { Imprimir(“Ingrese la medida del lado del triángulo isósceles”); Leer(lado); Imprimir(“Ingrese la base del triángulo isósceles”); Leer(base); Perimetro = (2 * lado) + base; Imprimir(“El perímetro es: “ +Perimetro); } } Publico Clase Triangulo_escaleno extiende Bidimensional { Publico Void Calcular () { Imprimir(“Ingrese la base del triángulo escaleno”); Leer(base); Imprimir(“Ingrese la altura del triángulo escaleno”); Leer(altura); Area = (base * altura) / 2; Imprimir(“El área es: “ +Area); } Publico Void Calcular1() { Imprimir(“Ingrese la medida del lado 1 del triángulo escaleno”); Leer(lado1); Imprimir(“Ingrese la base”); Leer(base); Imprimir(“Ingrese la medida del lado 2 del triángulo escaleno”); Leer(lado2); Perimetro = lado1 + base + lado2; Imprimir(“El perímetro es: “ +Perimetro); }
  • 9. } Publico Clase Triangulo_rectangulo extiende Bidimensional { Publico Void Calcular () { Imprimir(“Ingrese la base del triángulo rectángulo”); Leer(base); Imprimir(“Ingrese la altura del triángulo rectángulo”); Leer(altura); Area = (base * altura) / 2; Imprimir(“El área es: “ +Area); } Publico Void Calcular1() { Imprimir(“Ingrese la medida del lado 1 del triángulo rectángulo”); Leer(lado1); Imprimir(“Ingrese la base del triángulo rectángulo”); Leer(base); Imprimir(“Ingrese la medida del lado 2 triangulo rectángulo”); Leer(lado2); Perimetro = lado1 + base + lado2; Imprimir(“El perímetro es: “ +Perimetro); } } Publico Clase tridimensional extiende Figuras_Geometricas { Publico Real Volumen, lado1, lado2, base, radio, generatriz, altura, Alturalat, Alturabas; Publico void Calcular(); Publico void Calcular1(); } Publico Clase Cubo extiende tridimensional { Publico Void Calcular () { Imprimir(“Ingrese la medida del lado del cubo”); Leer(lado1); Area = 6 * lado1 * lado1; Imprimir(“El área es: “ +Area); } Publico Void Calcular1 () { Imprimir(“Ingrese la medida del lado del cubo”); Leer(lado1); Volumen = lado1 * lado1 * lado1; Imprimir(“El Volumen es: “ +Volumen); } } Publico Clase Prisma_recto extiende tridimensional { Publico Void Calcular ()
  • 10. { Imprimir(“Ingrese la medida del lado 1 del prisma recto”); Leer(lado1); Imprimir(“Ingrese la base del prisma recto”); Leer(base); Imprimir(“Ingrese la medida del lado 2 del prisma recto”); Leer(lado2); Area = (2 * lado1 * base) + (2 * lado1 * lado2) + (2 * base * lado2); Imprimir(“El area es: “ +Area); } Publico Void Calcular1 () { Imprimir(“Ingrese la medida del lado 1 del prima recto”); Leer(lado1); Imprimir(“Ingrese la base del prisma recto”); Leer(base); Imprimir(“Ingrese la medida del lado 2 del prisma recto”); Leer(lado2); Publico Volumen = lado1 * lado2 * base; Imprimir(“El Volumen es: “ +Volumen”); } } Publico Clase Esfera extiende tridimensional { Publico Void Calcular () { Imprimir(“Ingrese el radio de la esfera”); Leer(radio); Area = (4 * 3.1416 * (radio * radio)); Imprimir(“El área es: “ +Area); } Publico Void Calcular1 () { Imprimir(“Ingrese el radio de la esfera”); Leer(radio); Volumen = (4 * 3.1416 * (radio * radio * radio)) / 3; Imprimir(“El Volumen es: “ +Volumen); } } Publico Clase Cilindro extiende tridimensional { Publico Void Calcular () { Imprimir(“Ingrese el radio del cilindro”); Leer(radio); Imprimir(“Ingrese la altura del cilindro”); Leer(altura); Area = (2 * 3.1416 * radio) * (altura * radio); Imprimir(“El área es: “ +Area); } Publico Void Calcular1 () { Imprimir(“Ingrese el radio del cilindro”); Leer(radio); Imprimir(“Ingrese la altura del cilindro”);
  • 11. Leer(altura); Volumen = (3.1416 * (radio + radio) * altura); Imprimir(“El volumen es: “ +Volumen); } } Publico Clase Cono extiende tridimensional { Publico Void Calcular () { Imprimir(“Ingrese el radio del cono”); Leer(radio); Imprimir(“Ingrese la medida de la generatriz del cono”); Leer(generatriz); Area = (3.1416 * radio * generatriz) + (3.1416 *(radio * radio)); Imprimir(“El area es: “ +Area); } Publico Void Calcular1 () { Imprimir(“Ingrese el radio del cono”); Leer(radio); Imprimir(“Ingrese la altura del cono”); Leer(altura); Volumen = (3.1416 * (radio * radio) * altura) / 3; Imprimir(“El volumen es: “ +Volumen); } } Publico Clase Piramide extiende tridimensional { Publico Void Calcular () { Imprimir(“Ingrese la altura lateral de la pirámide”); Leer(AlturaLat); Imprimir(“Ingrese la Altura base de la pirámide”); Leer(Alturabas); Area = AlturaLat + Alturabas; Imprimir(“El área es: “ +Area); } Publico Void Calcular1 () { Imprimir(“Ingrese la altura base de la pirámide”); Leer(Alturabas); Imprimir(“Ingrese la altura de la pirámide”); Leer(altura); Volumen = (Alturabas * altura) / 3; Imprimir(“El volumen es: “ +Volumen); } }
  • 12. Void Main () { entero opcion1, opcion2, opcion3; Imprimir (“Escoja una de las Opciones”); Imprimir (“1. Figuras Bidimensionales”); Imprimir (“2. Figuras Tridimensionales”); Leer (opcion1); Si (opcion1 = 1) { Imprimir (“¿Qué Tipo de Figura Usaras?”); Imprimir (“1. Cuadrado”); Imprimir (“2. Rectángulo”); Imprimir (“3. Paralelogramo”); Imprimir (“4. Rombo”); Imprimir (“5. Trapecio”); Imprimir (“6. Trapecio Recto”); Imprimir (“7. Triángulo Equilátero”); Imprimir (“8. Triangulo Isósceles”); Imprimir (“9. Triangulo Escaleno”); Imprimir (“10. Triangulo Rectángulo”); Leer(opcion2); Según sea (opcion2) { Caso 1: { Cuadrado cu = nuevo Cuadrado(); Imprimir (“Que deseas realizar”); Imprimir (“1. Calcular Área”); Imprimir (“2. Calcular Perímetro); Leer (opcion3); Si (opcion3 = 1) { cu.Calcular(); } De otro modo Si(opcion3 = 2) { cu.Calcular1(); } Interrumpir; } Caso 2: { Rectangulo Rec = nuevo Rectangulo(); Imprimir (“Que deseas hacer”); Imprimir (“1. Calcular Área”); Imprimir (“2. Calcular Perímetro”); Leer (“opcion3); Si (opcion3 = 1) { Rec.Calcular(); } De otro modo Si (opcion3 = 2); { Rec.Calcular1(); } Interrumpir;
  • 13. } caso 3: { Paralelogramo plg = nuevo Paralelogramo(); Imprimir (“Que deseas realizar”); Imprimir (“1. Calcular Área”); Imprimir (“2. Calcular Perímetro); Leer (opcion3); Si (opcion3 = 1) { plg.Calcular(); } De otro modo Si(opcion3 = 2) { plg.Calcular1(); } Interrumpir; } caso 4: { Rombo rbo = nuevo Rombo(); Imprimir (“Que deseas realizar”); Imprimir (“1. Calcular Área”); Imprimir (“2. Calcular Perímetro); Leer (opcion3); Si (opcion3 = 1) { rbo.Calcular(); } De otro modo Si(opcion3 = 2) { rbo.Calcular1(); } Interrumpir; } caso 5: { Trapecio tpc = nuevo Trapecio(); Imprimir (“Que deseas realizar”); Imprimir (“1. Calcular Área”); Imprimir (“2. Calcular Perímetro); Leer (opcion3); Si (opcion3 = 1) { tpc.Calcular(); } De otro modo Si(opcion3 = 2) { tpc.Calcular1(); } Interrumpir; } caso 6: { Trapecio_Recto tpr = nuevo Trapecio_Recto(); Imprimir (“Que deseas realizar”); Imprimir (“1. Calcular Área”);
  • 14. Imprimir (“2. Calcular Perímetro); Leer (opcion3); Si (opcion3 = 1) { tpr.Calcular(); } De otro modo Si(opcion3 = 2) { tpr.Calcular1(); } Interrumpir; } caso 7: { Triangulo_equilatero treq = nuevo Triangulo_equilatero(); Imprimir (“Que deseas realizar”); Imprimir (“1. Calcular Área”); Imprimir (“2. Calcular Perímetro); Leer (opcion3); Si (opcion3 = 1) { treq.Calcular(); } De otro modo Si(opcion3 = 2) { treq.Calcular1(); } Interrumpir; } caso 8: { TIsosceles tric = nuevo TIsosceles(); Imprimir (“Que deseas realizar”); Imprimir (“1. Calcular Área”); Imprimir (“2. Calcular Perímetro); Leer (opcion3); Si (opcion3 = 1) { tric.Calcular(); } De otro modo Si(opcion3 = 2) { tric.Calcular1(); } Interrumpir; } caso 9: { TEscaleno tres = nuevo TEscaleno(); Imprimir (“Que deseas realizar”); Imprimir (“1. Calcular Área”); Imprimir (“2. Calcular Perímetro); Leer (opcion3); Si (opcion3 = 1) { tres.Calcular(); }
  • 15. De otro modo Si(opcion3 = 2) { tres.Calcular1(); } Interrumpir; } caso 10: { Trectangulo treg = nuevo Trectangulo(); Imprimir (“Que deseas realizar”); Imprimir (“1. Calcular Área”); Imprimir (“2. Calcular Perímetro); Leer (opcion3); Si (opcion3 = 1) { treg.Calcular(); } De otro modo Si(opcion3 = 2) { treg.Calcular1(); } Interrumpir; } Defecto: { Imprimir(“No existe esa opción”); } } } Si (opcion1 = 2) { Imprimir (“¿Qué Tipo de Figura Usaras?”); Imprimir (“1. Cubo”); Imprimir (“2. Prisma Recto”); Imprimir (“3. Esfera”); Imprimir (“4. Cilindro”); Imprimir (“5. Cono”); Imprimir (“6. Pirámide”); Leer(opcion2); Según sea (opcion2) { Caso 1: { Cubo cub = nuevo Cubo(); Imprimir (“Que deseas realizar”); Imprimir (“1. Calcular Área”); Imprimir (“2. Calcular Volumen); Leer (opcion3); Si (opcion3 = 1) { cub.Calcular(); } De otro modo Si(opcion3 = 2) { cub.Calcular1(); } Interrumpir;
  • 16. } Caso 2: { Prisma_recto psr = nuevo Prisma_recto(); Imprimir (“Que deseas hacer”); Imprimir (“1. Calcular Área”); Imprimir (“2. Calcular Volumen”); Leer (“opcion3); Si (opcion3 = 1) { psr.Calcular(); } De otro modo Si (opcion3 = 2); { psr.Calcular1(); } Interrumpir; } caso 3: { Esfera esf = nuevo Esfera(); Imprimir (“Que deseas realizar”); Imprimir (“1. Calcular Área”); Imprimir (“2. Calcular Volumen); Leer (opcion3); Si (opcion3 = 1) { esf.Calcular(); } De otro modo Si(opcion3 = 2) { esf.Calcular1(); } Interrumpir; } caso 4: { Cilindro cil = nuevo Cilindro(); Imprimir (“Que deseas realizar”); Imprimir (“1. Calcular Área”); Imprimir (“2. Calcular Volumen); Leer (opcion3); Si (opcion3 = 1) { cil.Calcular(); } De otro modo Si(opcion3 = 2) { cil.Calcular1(); } Interrumpir; } caso 5: { Cono con = nuevo Cono(); Imprimir (“Que deseas realizar”); Imprimir (“1. Calcular Área”);
  • 17. Imprimir (“2. Calcular Volumen); Leer (opcion3); Si (opcion3 = 1) { con.Calcular(); } De otro modo Si(opcion3 = 2) { con.Calcular1(); } Interrumpir; } caso 6: { Piramide pir = nuevo Piramide(); Imprimir (“Que deseas realizar”); Imprimir (“1. Calcular Área”); Imprimir (“2. Calcular Volumen); Leer (opcion3); Si (opcion3 = 1) { pir.Calcular(); } De otro modo Si(opcion3 = 2) { pir.Calcular1(); } Interrumpir; } Defecto: { Imprimir(“No existe esa opción”); } } } }
  • 18. + Clase Tridimensional + Real Volumen, lado1, lado2, base, radio, generatriz, altura, Alturalat, Alturabas; + Void Calcular () + Void Calcular1 () + Clase Bidimensional + Real Perimetro, base, altura, lado1, lado2, Diag1, Diag2, baseMay, baseMen; + Clase Figuras_Geometricas + Void Calcular () + Void Calcular1 () + Real Area + Void Calcular () + Void Calcular1 () + Clase Cuadrado + Void Calcular () + Void Calcular1 () + Clase Rectangulo + Void Calcular () + Void Calcular1 () + Clase Paralelogramo + Void Calcular () + Void Calcular1 () + Clase Rombo + Void Calcular () + Void Calcular1 () + Clase Trapecio + Void Calcular () + Void Calcular1 () + Clase Trapecio_Recto + Void Calcular () + Void Calcular1 () + Clase Triangulo_equilatero + Void Calcular () + Void Calcular1 () + Clase Triangulo_isosceles + Void Calcular () + Void Calcular1 () + Clase Triangulo_escaleno + Void Calcular () + Void Calcular1 () + Clase Triangulo_rectangulo + Void Calcular () + Void Calcular1 () + Clase Prisma_recto + Void Calcular () + Void Calcular1 () + Clase Cubo + Void Calcular () + Void Calcular1 () + Clase Cilindro + Void Calcular () + Void Calcular1 () + Clase Esfera + Void Calcular () + Void Calcular1 () + Clase Cono + Void Calcular () + Void Calcular1 () + Clase Piramide + Void Calcular () + Void Calcular1 () Diagrama VML
  • 19. Explicación del algoritmo orientado a objetos: En este algoritmo tenemos:  Súper clase figuras geométricas Publico Clase Figuras_Geometricas o Atributos Publico Real Area; o Métodos Publico void Calcular(); y Publico void Calcular1(); Esta clase es pública para que pueda ser heredada por sus subclases al igual que variable ya que la misma va ser utilizada para las subclases los métodos también son públicos para poder utilizarlos como sobre escritura en los métodos de las subclases.  Sub clase bidimensional Publico Clase Bidimensional extiende Figuras_Geometricas o Atributos Publico Real Perimetro, base, altura, lado1, lado2, Diag1, Diag2, baseMay, baseMen; o Métodos Publico void Calcular(); y Publico void Calcular1(); La sub clase está heredando el atributo de la súper clase y sobre escribe los métodos, la subclase es pública para que pueda ser heredada por sus subclases las variables también son publica para que sean utilizadas por las subclases, los métodos son públicos para poder aplicar el concepto de sobre escritura. Sub clases de figuras bidimensionales  Sub clase Publico Clase Cuadrado extiende Bidimensional  Sub clase Publico Clase Rectangulo extiende Bidimensional  Sub clase Publico Clase Paralelogramo extiende Bidimensional  Sub clase Publico Clase Rombo extiende Bidimensional  Sub clase Publico Clase Trapecio extiende Bidimensional  Sub clase Publico Clase Triangulo_equilatero extiende Bidimensional  Sub clase Publico Clase Triangulo_isosceles extiende Bidimensional  Sub clase Publico Clase Triangulo_escaleno extiende Bidimensional  Sub clase Publico Clase Triangulo_rectangulo extiende Bidimensional Todos estas sub clases mencionadas heredan los atributos de la clase Bidimensional y sobre escribe los métodos, cada una de estas subclases están compuestas por dos métodos público que son usados para calcular área y perímetro de cada figura bidimensional; están públicos por que según nuestra lógica no sería necesario poner los métodos privados. Dentro de cada una de las clases en cada método se van a imprimir los resultados del área o del perímetro dependiendo que decide calcular el usuario, esto se hizo para que
  • 20. una vez sean creados los objetos estos impriman automáticamente los resultados en el void main.  Sub clase tridimensional Publico Clase tridimensional extiende Figuras_Geometricas o Atributos Publico Real Volumen, lado1, lado2, base, radio, generatriz, altura, Alturalat, Alturabas; o Métodos Publico void Calcular(); y Publico void Calcular1(); La sub clase está heredando el atributo de la súper clase y sobre escribe los métodos, la subclase es pública para que pueda ser heredada por sus subclases las variables también son publica para que sean utilizadas por las subclases, los métodos son públicos para poder aplicar el concepto de sobre escritura. Subclases de figuras tridimensionales:  Sub clase Publico Clase Cubo extiende tridimensional  Sub clase Publico Clase Prisma_recto extiende tridimensional  Sub clase Publico Clase Esfera extiende tridimensional  Sub clase Publico Clase Cilindro extiende tridimensional  Sub clase Publico Clase Cono extiende tridimensional  Sub clase Publico Clase Piramide extiende tridimensional Todas las sub clases aquí mencionadas heredan los atributos de la clase tridimensional y sobre escribe los métodos, cada una de las clases esta compuestas por dos métodos publico, decidimos ponerlos métodos públicos por que según nuestra lógica no seria necesario que sean métodos privados, estos metodos calculan el área y el volumen de cada figura tridimensional. Dentro de cada una de las clases en cada método se van a imprimir los resultados del área y del volumen para que una vez sean creados los objetos estos impriman automáticamente los resultados en el void main. Void Main A nivel de usuario: En nuestro método principal se le pide a los usuarios escoger que tipo de figuras geométricas desea calcular, como opción numero uno tiene figuras bidimensionales, como opción numero dos tiene figuras tridimensionales. Si el usuario escoge la opción número uno automáticamente se le desglosa un listado de figuras geométricas bidimensionales las cuales son: Cuadrado,
  • 21. rectángulo, paralelogramo, rombo, trapecio, triángulo equilátero, triángulos isósceles, triangulo escaleno, triangulo rectángulo. Luego de que el usuario escoge la figura geométrica, al usuario se le da la opción de que elija que desea realizar, calcular área o calcular perímetro. Dependiendo de lo que elija el usuario se le piden los datos necesarios para realizar el cálculo y se le brinda su respectiva respuesta. Si el usuario se decide por las figuras tridimensionales al igual que la opción anterior al usuario se le desglosa el listado de figuras tridimensionales las cuales son: cono, prisma recto, esfera, cilindro, cono, pirámide. Luego de que el usuario escoge la figura geométrica, se le da la opción de que escoja que desea realizar, calcular área o volumen. Una vez el usuario elija se le piden los datos necesarios para hacer el cálculo y finalmente se le brinda su respectiva respuesta. Void main A nivel de programación:  Variables entero opcion1, opcion2, opcion3;  Alternativas múltiples o Si (opcion1 = 1) o Según sea (opcion2) o Caso 1: o De otro modo Si(opcion3 = 2)  Objetos cu.Calcular(),cu.Calcular1() Debido a la cantidad de alternativas múltiples y a la cantidad de objetos que se crearon, solo mencionaremos algunos de ellos como se puede apreciar. Para que el programa principal realice todos estos los pase que se le muestran a el usuario, fue necesario utilizar alternativas múltiples (case, sino si), declaramos 3 variables que reciben la opción que elija el usuario, creamos todo esto dentro del void main, Con los imprimir que mostramos a continuación le pedimos al usuario que escoja una figura geométrica. Imprimir (“Escoja una de las opciones”); Imprimir (“1. Figuras de bidimensionales”); Imprimir (“2. Figuras de tridimensionales”); Si el usuario elije la opción 1, esta pasa a la primera condición de que Si (opcion1 = 1)
  • 22. Entonces se le muestra al usuario lo siguiente: Imprimir (“Que tipo de figura usaras”); Imprimir (“1. Cuadrado”); Imprimir (“2. Rectángulo”); Imprimir (“3. Paralelogramo”); Imprimir (“4. Rombo”); Imprimir (“5. Trapecio”); Imprimir (“6. Trapecio recto”); Imprimir (“7. Triángulo equilátero”); Imprimir (“8. Triangulo isósceles”); Imprimir (“9. Triangulo Escaleno”); Imprimir (“10. Triangulo Rectángulo”); Cada una de las opciones las recibe la alternativa múltiple (caso), luego se crea un objeto que llama a la clase dependiendo de que figura escoja el usuario, dentro de las 10 opciones se le muestra lo siguiente al usuario. Imprimir (“Que deseas realizar”); Imprimir (“1. Calcular Área”); Imprimir (“2. Calcular Perímetro); Se lee el número que elige el usuario Leer (opcion3), entramos en una alternativa doble, y llamamos al método al que corresponda la opción indicada por el usuario. Si en el menú anterior el usuario elije la opción 2, Si (opcion1 = 2), Se muestra al usuario lo siguiente: Imprimir (“Que tipo de figura usaras”); Imprimir (“1. Cubo”); Imprimir (“2. Prisma Recto”); Imprimir (“3. Esfera”); Imprimir (“4. Cilindro”); Imprimir (“5. Cono”); Imprimir (“6. Piramide”); Cada una de las opciones las recibe la alternativa múltiple (caso), luego se crea un objeto que llama a la clase dependiendo de que figura escoja el usuario, dentro de las 6 opciones se le muestra lo siguiente al usuario. Se lee el número que elige el usuario Leer (opcion3), entramos en una alternativa doble, y llamamos al método al que corresponda la opción indicada por el usuario.
  • 23. Conclusión Un trabajo realizado lamentablemente no da una conclusión final a un proyecto, pero si nos da perspectivas; esta es una conclusión que hemos llegado tras un debut en lo que realmente será nuestro trabajo aunque a un nivel, creemos, aún más bajo de lo que vendrá. Pues nos dio desde un principio, múltiples ideas, múltiples posibles soluciones, múltiples mal-interpretaciones, múltiples todo. Aplicamos con entereza el uso de las clases y subclases conociendo que estas son la base de la programación orientada a objetos y viéndola desde nuestro punto de vista, es una opción extraordinaria para una construcción más ordenada del algoritmo o de la creación del software en sus distintos lenguajes. Además de que nos ha ayudado este modelo para una mejor aplicación de la herencia. Hemos trabajando herencia como deber y a la vez propósito para un mejor control del algoritmo, ya que si se aplica adecuadamente la herencia, se puede producir programas mucho más robustos y fáciles de ampliar. Una estrategia de herencia bien diseñada es la base para reutilizar el código. En resumen, aplicando los principios orientados a objetos, las distintas partes de un programa complejo se pueden unir para formar un conjunto unido, robusto y mantenible y con una mejor lectura. .