Está en la página 1de 15

Ingenieria en Sistemas Computacionales

2C

Portafolio de Evidencias

Docente: M.T.I. Irieri Reyes Scott

Alumno: Jared Jahir Frayre Cano

No. De control: 21010095

Fecha de entrega: 02/03/2022


Introduccion

La programación orientada a objetos (POO) es un paradigma de programación que usa objetos


para crear aplicaciones. Está basada en tres pilares fundamentales: herencia, polimorfismo,
encapsulación. Su uso se popularizó a principios de la década de 1990. En la actualidad, existe
una gran variedad de lenguajes de programación que soportan la orientación a objetos, entre
ellos Java.
Lo interesante de la POO es que proporciona conceptos y herramientas con las cuales se
modela y representa el mundo real tan fielmente como sea posible.
En el mundo real, normalmente tenemos muchos objetos del mismo tipo. Por ejemplo, nuestro
teléfono móvil es sólo uno de los miles que hay en el mundo. Si hablamos en términos de
la programación orientada a objetos, podemos decir que nuestro objeto móvil es una instancia
de una clase conocida como «móvil». Los móviles tienen características (marca, modelo,
sistema operativo, pantalla, teclado, etc.) y comportamientos (hacer y recibir llamadas, enviar
mensajes multimedia, transmisión de datos, etc.).
El trabajo en conjunto de todos estos componentes hace funcionar un ordenador, sin
embargo no necesitamos saber cómo trabajan cada uno de estos componentes. Cada
componente es una unidad autónoma, y todo lo que necesitamos saber es cómo interactúan
entre sí los componentes, saber por ejemplo si el procesador y las memorias son compatibles
con la placa base, o conocer donde se coloca la tarjeta de video. Cuando conocemos como
interaccionan los componentes entre sí, podremos armar fácilmente un ordenador.
PROGRAMACIÓN ORIENTADA A OBJETOS
Competencia 1. Entormo de desarrollo
Problemario
Crear un proyecto llamado POO y un package llamado competencia_1

1. Ingresar dos números “a” y “b”. Controlar que “b” sea mayor o igual que “a”. Calcular
la
suma de todos aquellos que se encuentren comprendidos entre esos topes.
Ejemplo: 4 y 9, deberá devolver 39, resultante de 4+5+6+7+8+9

package POO;
import java.util.Scanner;
public class Suma {

public static void main(String[] args) {


// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
int n1, n2, suma = 0;

System.out.println("Escriba dos numeros:");


n1 = sc.nextInt();

n2 = sc.nextInt();

for(int i=n1; i<=n2; i++) {


suma+=i;

}
System.out.println(suma);

}
2. “El náufrago satisfecho” ofrece hamburguesas sencillas, dobles y triples, las cuales
tienen un costo de $20.00, $25.00 y $28.00 respectivamente. La empresa acepta
tarjetas de crédito con un cargo de 5 % sobre la compra. Suponiendo que los clientes
adquieren sólo un tipo de hamburguesa, realice un programa para determinar cuánto
debe pagar una persona por N hamburguesas.
package POO;
import java.util.Scanner;
public class Naufrago {

public static void main(String[] args) {


// TODO Auto-generated method stub
Scanner sc= new Scanner(System.in);
int PDD, HS, HD, HT, i=0, MS;
int PT;
double ttotal;
double tttotal, TOT;

do {
System.out.println("Bienvenidos a hamburguesas el Naufrago ");
System.out.println("Que hamburguesa se le antoja el dia de hoy? "
+ "/1.hamburgusa sencilla "
+ "/2.hamburguesa doble "
+ "/3.hamburguesa triple " + "/4.salir");
PDD = sc.nextInt();

switch(PDD) {
case 1:
System.out.println("Pagaras con tarjeta? 1:si 2:no");
PT = sc.nextInt();

if (PT == 2) {
System.out.println("Cuantas hamburguesas sencillas quieres?");
HS = sc.nextInt();

ttotal = HS * 20;
System.out.println("Tu cuenta es de:" + ttotal); }

else if (PT==1) {
System.out.println("Cuantas hamburguesas sencillas quieres?");
HS = sc.nextInt();

ttotal = HS * 20;
tttotal = ttotal + (ttotal * 0.05);
System.out.println("Tu cuenta es de:" + tttotal);

} break;

case 2:
System.out.println("Pagaras con tarjeta? 1:si 2:no");
PT = sc.nextInt();

if (PT == 2) {
System.out.println("Cuantas hamburguesas dobles quieres?");
HD = sc.nextInt();

ttotal = HD * 25;
System.out.println("Tu cuenta es de:" + ttotal); }

else if (PT==1) {
System.out.println("Cuantas hamburguesas dobles quieres?");
HD = sc.nextInt();

ttotal = HD * 25;
tttotal = ttotal + (ttotal * 0.05);
System.out.println("Tu cuenta es de:" + tttotal);
} break;

case 3:
System.out.println("Pagaras con tarjeta? 1:si 2:no");
PT = sc.nextInt();

if (PT == 2) {
System.out.println("Cuantas hamburguesas triples quieres?");
HD = sc.nextInt();

ttotal = HD * 28;
System.out.println("Tu cuenta es de:" + ttotal);

} if (PT==1) {
System.out.println("Cuantas hamburguesas triples quieres?");
HT = sc.nextInt();

ttotal = HT * 28;
TOT = ttotal + (ttotal * 0.05);
System.out.println("Tu cuenta es de:" + TOT);

} break;
case 4:
System.out.println("Adios, vuelve pronto :) ");
i+=4;
System.out.println();
break;
}
} while(i!=4);
}

}
3. El dueño de un estacionamiento requiere un programa que le permita determinar
cuánto debe cobrar por el uso del estacionamiento a sus clientes. Las tarifas que se
tienen son las siguientes: Las dos primeras horas a $15 c/u. Las siguientes tres a $10
c/u. Las cinco siguientes a $8 c/u. Después de diez horas el costo por cada una es de
$5 c/u.
package POO;
import java.util.Scanner;
public class Estacionamiento {

public static void main(String[] args) {


// TODO Auto-generated method stub
Scanner sc= new Scanner(System.in);
int HR, total, tot, TOT, TTOT;

System.out.println("Cuantas horas te estacionaste?");


HR = sc.nextInt();

if(HR <=2) {
total=HR* 15;
System.out.println("El total es: " + total);
}
if(HR > 2 && HR <= 5) {
tot= 2* 15 + (HR - 2) * 10;
System.out.println("El total es: " + tot);
}

if(HR > 5 && HR<=10) {


TOT= 2*15 +3 * 10 + (HR -5) * 10;
System.out.println("El total es: " + TOT);
}

if (HR > 10) {


TTOT= 2*15+3*10+5*8+(HR-10)*2;
System.out.println("El total es: " + TTOT);

}
}
}
4. Realice un programa que permita determinar el sueldo semanal de un trabajador con
base en las horas trabajadas y el pago por hora, considerando que a partir de la hora
número 41 y hasta la 45, cada hora se le paga el doble, de la hora 46 a la 50, el triple,
y que trabajar más de 50 horas no está permitido.

package POO;
import java.util.Scanner;
public class Sueldo {

public static void main(String[] args) {


// TODO Auto-generated method stub
Scanner sc= new Scanner(System.in);
int SD, HR, SDS = 0;

System.out.println("Cuantas horas trabjaste?");


HR = sc.nextInt();

System.out.println("Cual es tu sueldo por hora?");


SD = sc.nextInt();

SDS = HR * SD;
if(HR > 40) {
SDS= SDS + (HR-40)*SD;

if(HR > 45) {


SDS = SDS + (HR - 45) * SD;

if(HR>50) {
SDS = 0;
System.out.println("No puede trabajar mas de 50 horas padrino");
}

System.out.println("Su sueldo es de: " + SDS);


}
}
5. El banco “Bandido de peluche” desea calcular para uno de sus clientes el saldo actual,
el pago mínimo y el pago para no generar intereses. Los datos que se conocen son:
saldo anterior del cliente, monto de las compras que realizó y el pago que depositó
en el corte anterior. Para calcular el pago mínimo se debe considerar 15% del saldo
actual, y para no generar intereses corresponde 85% del saldo actual, considerando
que este saldo debe incluir 12% de los intereses causados por no realizar el pago
mínimo y $200 por multa por el mismo motivo.

package POO;
import java.util.Scanner;
public class Banco {

public static void main(String[] args) {


// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
int SA, CR, CA;
double IN, MT, INT = 0, SAA, PM, PPI;

System.out.println("Ingrese su saldo anterior:");


SA = sc.nextInt();

System.out.println("Ingrese las compras realizadas:");


CR = sc.nextInt();

System.out.println("Ingrese el pago del deposito del corte anterior:");


CA = sc.nextInt();

if(SA * 0.15 > CA) {


IN = SA * 0.12;
MT = 200;

} else {
INT = 0;
MT = 0;
}

SAA= SA+CR - CA + INT + MT;


System.out.println("Su saldo actual es de:" + SAA);

PM = SA * 0.15;
System.out.println("El pago minimo que tiene que dar es de:" + PM);

PPI = SA*0.85;
System.out.println("Para no generar interes tiene que dar" + PPI);
}
}

6. Una persona adquirió un producto para pagar en 20 meses. El primer mes pagó $10,
el segundo $20, el tercero $40 y así sucesivamente. Realice un programa para

package POO;
import java.util.Scanner;
public class Producto {

public static void main(String[] args) {


// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
double M=0, T=0;
int i;

for(i=1; i<20; i++) {


System.out.println("Al mes pagaste: " + i);
if(i==1)
M=10;

else {
M = M * 2;
T = T + M;
}

System.out.println("Valor de pago: " + M);


System.out.println();

}
System.out.println("Valor total es: " + T);

}
determinar cuánto debe pagar mensualmente y el total de lo que pagó después de los 20
meses.

7. Un profesor tiene un salario inicial de $15000, y recibe un incremento de 10 % anual


durante 6 años. ¿Cuál es su salario al cabo de 6 años? ¿Qué salario ha recibido en
cada uno de los 6 años?

package POO;
import java.util.Scanner;
public class Profesor {

public static void main(String[] args) {


// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
int SD, IN, T = 0;
int i;

SD = 15000;
for(i=1; i<=6; i++) {
System.out.println("Año:" + i);

IN = SD * 10/100;
SD = SD + IN;
T= T + IN;
System.out.println("Su salario " + SD);
System.out.println("incremento:" + IN);
System.out.println();
}

sc.close();
}

}
8. Realice un programa para leer las calificaciones de N alumnos y determine el
número de aprobados y reprobados.

package POO;
import java.util.Scanner;
public class Calificaciones {

public static void main(String[] args) {


// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
int NA, i, CL, AP = 0, RP = 0;

System.out.println("Cual es el numero de alumnos?");


NA = sc.nextInt();

for(i=1; i<=NA; i++) {


System.out.println("Alumno: " + i);
System.out.println("Calificacion del alumno:" + i);
CL = sc.nextInt();

if (CL >=70)
AP= AP +1;
else
RP = RP + 1;
System.out.println();
}
System.out.println("Aprobados:" + AP );
System.out.println("Reprobados:" + RP);

}
Terminos de programación

 Maquina Virtual de Java.


Una máquina virtual Java es una máquina virtual de proceso nativo, es decir, ejecutable
en una plataforma específica, capaz de interpretar y ejecutar instrucciones expresadas en
un código binario especial, el cual es generado por el compilador del lenguaje Java.
Definición de  clase:
 Características de las clases.
Dentro de una clase se definen los datos y el código que actúa sobre esos datos.
El código está contenido en métodos. Tanto las clases, como los objetos y los
métodos son fundamentales para Java . Tener una comprensión básica de estas
características te permitirá escribir programas más sofisticados y comprender mejor
el lenguaje de programación Java.
 Cómo se declara una clase.
El nombre de la clase, Publicacion debe ser un identificador válido en Java y por
convención, empieza por letra mayúscula. Una declaración de clase crea un nombre de
tipo en Java. De esta forma las referencias a objetos Publicacion se pueden declarar con
un simple: Las variables de una clase se llaman campos.
 Cómo se accede a los miembros de una clase.
Si lo que queremos es acceder a cualquier atributo (incluidos los privados),
necesitaremos usar los métodos Class. getDeclaredField(String name)
(para acceder sabiendo el nombre del atributo) y Class.
 Qué es un package.
Un Paquete en Java es un contenedor de clases que permite agrupar las distintas partes
de un programa y que por lo general tiene una funcionalidad y elementos comunes,
definiendo la ubicación de dichas clases en un directorio de estructura jerárquica.
 Qué es un objeto.
Un objeto en Java no es ni más ni menos que lo mismo que un objeto en el mundo real.
Los objetos corresponden a cosas que se encuentran en el mundo real. Por ejemplo, un
sistema de compra en línea podría tener objetos como: carrito de compras, cliente y
producto.
 Cómo se crea un objeto.
Para crear objetos en Java, el lenguaje nos proporciona el comando new, con este
comando le decimos a Java que vamos a crear un nuevo objeto de una clase en
especifico y le enviamos los parámetros (en caso de ser necesario).
 Cómo se mandan llamar los métodos de un objeto.
Para instanciar un objeto el método que se utiliza es "new". "New" crea un objeto de la
clase que le especifiquemos pero antes de esto se tiene que declarar la variable que
contendrá ese nuevo objeto.
 Constructor.
Un constructor es un elemento de una clase cuyo identificador coincide con el de la clase
correspondiente y que tiene por objetivo obligar a y controlar cómo se inicializa una
instancia de una determinada clase, ya que el lenguaje Java no permite que las variables
miembro de una nueva instancia queden sin inicializar.
 Operador this.
This hace referencia al objeto actual de la clase, es decir, a una instancia concreta de la
clase y nos sirve para usar los métodos y atributos de esa clase desde alguno de sus
métodos, para llamar a otro de sus constructores o simplemente para pasarle el objeto
completo a algún otro método u objeto.

 Método.
Los métodos son subrutinas que manipulan los datos definidos por la clase y, en muchos
casos, brindan acceso a esos datos. En la mayoría de los casos, otras partes de tu
programa interactuarán con una clase a través de sus métodos. Un método contiene una
o más declaraciones.
 Sobrecarga de métodos.
La sobrecarga de métodos es la creación de varios métodos con el mismo nombre pero
con diferente lista de tipos de parámetros. Java utiliza el número y tipo de parámetros
para seleccionar cuál definición de método ejecutar.
 Definición de herencia.
La herencia es un mecanismo que permite la definición de una clase a partir de
la definición de otra ya existente. La herencia permite compartir automáticamente
métodos y datos entre clases, subclases y objetos. La herencia está fuertemente ligada a
la reutilización del código en la OOP.
 Definición de polimorfismo.
En programación orientada a objetos, polimorfismo es la capacidad que tienen los objetos
de una clase en ofrecer respuesta distinta e independiente en función de los parámetros
(diferentes implementaciones) utilizados durante su invocación.
 Excepción.
Representa errores que no son críticos y por lo tanto pueden ser tratados y continuar la
ejecución de la aplicación. La mayoría de los programas Java utilizan estas excepciones
para el tratamiento de los errores que puedan ocurrir durante la ejecución del código
 Nomenclatura en JAVA.
Los nombres de las clases deben ser sustantivos, en mayúsculas y minúsculas, con la
primera letra de cada palabra interna en mayúscula. El nombre de las interfaces también
debe estar en mayúscula (la primera) al igual que los nombres de las clases. Use
palabras completas y debe evitar acrónimos y abreviaturas.
 Visibilidad y vida de variables.
visibilidad en Java, se dispone de palabras reservadas: public: nos indica que es
accesible desde cualquier clase [interface]. private: solo es accesible desde a clase
actual. protected: accesible desde la clase actual, sus descendientes o el paquete del
que forma parte.
 UML.
UML son las siglas de “Unified Modeling Language” o “Lenguaje Unificado de Modelado”.
Se trata de un estándar que se ha adoptado a nivel internacional por numerosos
organismos y empresas para crear esquemas, diagramas y documentación relativa a los
desarrollos de software (programas informáticos).
 Diagramas de clases de UML.
Un diagrama de clases representa en un esquema gráfico, las clases u objetos
intervinientes y como se relacionan en su escenario, sistema o entorno. Con
estos diagramas, se logra diseñar el sistema a ser desarrollado en un lenguaje de
programación, generalmente orientado a objetos.
Evaluacion
Conclusion

La Programación Orientada a Objetos es actualmente el paradigma que más se utiliza para


diseñar aplicaciones y programas informáticos. Son muchas sus ventajas, principalmente
cuando necesitas resolver desafíos de programación complejos. Permite una mejor estructura
de datos y reutilización del código, lo que facilita el ahorro de tiempo a largo plazo. Eso sí, para
ello se requiere pensar bien en la estructura del programa, planificar al comienzo de la
codificación, así como analizar los requisitos en clases simples y reutilizables que se pueden
usar para diseñar instancias de objetos. 

También podría gustarte