Practica 2 POO
Practica 2 POO
Practica 2 POO
Laboratorios de computación
salas A y B
Profesor: Ernesto Alcántara Concepción
Grupo: 2
Semestre: 2021-1
Observaciones:
CALIFICACIÓN:_______
ÍNDICE
pág.
Introducción…………………………………………………………………………...….....(3)
Objetivo……………………………………………………………….……..……………...(4)
Actividades…………………………………………………………………………...……..(4)
Ejercicio 1………………………………………………………………………..….(4)
Conclusiones………………………………………………...…………………………...... (20)
Referencias…………………………………………………………………..……………. (20)
2
INTRODUCCIÓN.
La sintaxis tiene como principal función analizar el orden correcto de las palabras a fin de
que las frases sean expresadas de manera correcta para que pueda llegar el mensaje que se
desea transmitir. En el mundo de la informática la sintaxis se refiere al conjunto de reglas que
establecen cómo deben estar dispuestos los símbolos que componen el lenguaje de
programación o instrucción ejecutable del ordenador.
Los tipos de datos, hacen referencia al tipo de información que se trabaja, donde la unidad
mínima de almacenamiento es el dato. Las estructuras de control permiten modificar el flujo
de ejecución de las instrucciones de un programa.
● IF / IF-ELSE. Esta estructura permite ejecutar un conjunto de sentencias en función del
valor que tenga la expresión de comparación (se ejecuta si la expresión de
comparación tiene valor true).
● SWITCH. Se trata de una alternativa a la bifurcación if /else if cuando se compara la
misma expresión con distintos valores.
Estructuras de repetición. Las estructuras de repetición, lazos, ciclos o bucles se utilizan
para realizar un proceso repetidas veces. El código incluido entre las llaves { }, se ejecutará
mientras se cumplan determinadas condiciones.
● DO-WHILE. Es similar al ciclo while pero con la particularidad de que el control está
al final del ciclo (lo que hace que el ciclo se ejecute al menos una vez,
independientemente de que la condición se cumpla o no). Una vez ejecutados los
statements, se evalúa la condición: si resulta true se vuelven a ejecutar las sentencias
incluidas en el ciclo, mientras que si la condición se evalúa a false finaliza el ciclo.
● FOR. La sentencia o sentencias initialization se ejecutan al comienzo del for, e
increment después de statements. La booleanExpression se evalúa al comienzo de
cada iteración; el ciclo termina cuando la expresión de comparación toma el valor
false. Cualquiera de las tres partes puede estar vacía. La initialization y el increment
pueden tener varias expresiones separadas por comas.
Break. La sentencia break es válida tanto para las bifurcaciones como para los ciclos. Hace
que se salga inmediatamente del ciclo o bloque que se está ejecutando, sin realizar la
ejecución del resto de las sentencias.
3
OBJETIVO.
Crear programas que implementen variables y constantes de diferentes tipos de datos,
expresiones y estructuras de control de flujo.
ACTIVIDADES.
● Crear variables y constantes de diferentes tipos de datos.
● Crear diversas expresiones (operadores, declaraciones, etc.).
● Implementar estructuras de control de flujo (if/else, switch, for, while,
etc.)
4
}
}
import java.util.Scanner;
sueldo1.incrementarSueldo(sueldo1.obtenerSueldo());
System.out.println("El sueldo incrementado es:
"+sueldo1.obtenerSueldo());
System.out.println("Quieres introducir otro
sueldo?\n (1.Si/2.No)");
opcion = entrada.nextInt();
if(opcion!=2){
opcion=1;
}
}
System.out.println("*****Fin de ejercicio*****");
}
}
5
Ejercicio 2. Escribe un programa en Java que al recibir como datos tres números reales,
identifique cuál es el mayor. Considera que los números pueden ser iguales. Datos: N1, N2 y
N3 (variables de tipo real que representan los números que se ingresan).
Mariana Rojas. Se creó una clase pública Mayor con un método principal main, en el cual se
ingresaran 3 números reales, y mediante la estructura de selección if/if else se comparan para
saber cual es el mayor.
import java.util.Scanner;
public class Mayor {
public static void main(String[] args) {
Scanner entrada = new Scanner (System.in);
float n1, n2, n3;
System.out.printf("Ingrese el primer numero
perteneciente a los reales \n");
n1 = entrada.nextFloat();
System.out.printf("Ingrese el segun numero perteneciente
a los reales \n");
n2 = entrada.nextFloat();
6
Luis Eduardo Zuñiga Salgado. Se creó una clase NumMayor con dos métodos, getNum
pregunta por los números a comparar y mayor obtiene el mayor de estos mediante
comparaciones If/Else anidadas. Se pudo integrar todo en un solo método, pero quería
intentar llamar a un método de la misma clase desde otro pues nunca lo había hecho.
import java.util.Scanner;
class NumMayor{
private int n1;
private int n2;
private int n3;
public void mayor(){
if(n1==n2 && n1==n3) {
System.out. print("\nLos numeros son iguales");
} else if(n1>=n2) {
if (n1>=n3) {
System.out. printf("\nEl numero mayor es %d", n1);
}else {
System.out. printf("\nEl numero mayor es %d", n2);
}
}else if(n2>=n1) {
if(n2>=n3) {
System.out. printf("\nEl numero mayor es %d", n2);
}else {
printf("\nEl numero mayor es %d",
System.out. n3);
}
}
}
public void getNum(){
Scanner scan = new Scanner(System.in);
print("\nIndique el primer numero:");
System.out.
n1=scan.nextInt();
System.out. print("\nIndique el segundo numero:");
n2=scan.nextInt();
System.out. print("\nIndique el tercer numero:");
n3=scan.nextInt();
this.mayor();
}
}
class Pruebas{
7
Ejercicio 3. Escribe un programa en Java que permita convertir de pulgadas a milímetros,
de yardas a metros y de millas a kilómetros.
Consideraciones:
1 pulgada equivale a 25.40 milímetros.
1 yarda equivale a 0.9144 metros.
1 milla equivale a 1.6093 kilómetros.
Carlos De los Cobos. En la clase de Conversiones se define el número que se ingresa como
atributo además de los respectivos métodos para realizar las conversiones pertinentes. En el
método main hizo uso de la sentencia Switch para seleccionar la conversión que se va a
realizar.
8
return numero*1.6093;
}
}
import java.util.Scanner;
while(opc==1){
System.out.println("\nMenu de conversiones\n");
System.out.println("1.Convertir de pulgadas a
milimetros\n2.Convertir de yardas a
metros\n3.Convertir de millas a kilometros\n");
opc = entrada.nextShort();
switch(opc){
case 1:
System.out.println("Ingrese el numero a
convertir: ");
conversion.asignarNumero(entrada.nextFloat());
System.out.println("Pulgadas:
"+conversion.obtenerNumero()+" a
milimetros:
"+conversion.pulgadaMilimetro(conversion
.obtenerNumero()));
break;
case 2:
System.out.println("Ingrese el numero a
convertir: ");
conversion.asignarNumero(entrada.nextFloat());
System.out.println("Yardas:
"+conversion.obtenerNumero()+" a metros:
"+conversion.yardaMetro(conversion.obten
erNumero()));
break;
case 3:
System.out.println("Ingrese el numero a
convertir: ");
9
conversion.asignarNumero(entrada.nextFloat());
System.out.println("Millas:
"+conversion.obtenerNumero()+" a
kilometros:
"+conversion.millaKm(conversion.obtenerN
umero()));
break;
default:
System.out.println("Opcion no valida,
intenta de nuevo");
break;
}
System.out.println("\nDeseas hacer otra
conversion? (1.Si,2.No)");
opc = entrada.nextShort();
if(opc!=2){
opc=1;
}
}
System.out.println("*****Fin de ejercicio*****");
}
}
10
Said Domínguez. Se define una clase pública Convertir y por medio de Scanner se le
pregunta al usuario que opción quiere para hacer la conversión de unidades, con el uso de
Switch se selecciona el caso a aplicar y nos muestra un resultado.
int opc;
double pulgadas, milimetros, yardas, metros, millas,
kilometros;
opc = lector.nextInt();
switch(opc){
case 1:
System.out.println("Ingrese la cantidad de
pulgadas a convertir: ");
pulgadas = lector.nextDouble();
milimetros = pulgadas * 25.4;
System.out.println(pulgadas+"pulgadas equivalen
a "+milimetros+" milimetros ");
break;
case 2:
System.out.println("Ingrese la cantidad de yardas
a convertir: ");
yardas = lector.nextDouble();
metros = yardas * 0.9144;
System.out.println(yardas+"yardas equivalen a
"+metros+" metros ");
break;
case 3:
System.out.println("Ingrese la cantidad de millas
a convertir: ");
millas = lector.nextDouble();
11
kilometros = millas * 1.6093;
System.out.println(millas+"millas equivalen a
"+kilometros+" kilometros ");
break;
default:
System.out.println("La opcion seleccionada no es
valida ");
Mariana Rojas. En la clase pública Serie se creó el método principal main en el cual se pide
ingresar un número entero n. Se inicializa un contador (resultado) el cual irá sumando los
datos obtenidos de una estructura For dentro del cual se inicializa una variable i que evaluará
la serie hasta que su valor sea menor o igual a n (el número ingresado).
import java.util.Scanner;
public class Serie {
public static void main(String[] args) {
Scanner entrada = new Scanner(System.in);
12
int n;
float resultado = 0;
System.out.printf("Ingrese un numero ENTERO: ");
n = entrada.nextInt();
for(int i = 1;i <= n;i++) {
resultado = resultado+(1/(float)i);
} // Fin four
System.out.printf("El resultado de la serie hasta
1/n es: %f\n", resultado);
} // Fin metodo main
} // Fin clase Serie
class Pruebas{
public static void main(String[] arg) {
Serie ser= new Serie();
ser.sumPar();
} }
13
Said Domínguez. Se define una clase pública Serie2, en el método main se le pide al usuario
que ingrese un número entero positivo y mediante un ciclo for se irá haciendo la suma de la
serie y posteriormente mostrarlo en pantalla.
import java.util.Scanner;
int n;
float resultado = 0;
n = lector.nextInt();
for(int i=1;i<=n;i++){
resultado = resultado+(1/(float)i);
else{
+ "Intente de nuevo");
14
} // Fin metodo main
Ejercicio 5. Escribe un programa en Java al recibir como dato un número entero N,
obtenga el resultado de la siguiente serie:
1 1 − 2 2 + 3 3 − ... + N N
Carlos De los Cobos. En la definición de la clase para calcular la Serie, se define como
atributo el número ‘n’ que se va ingresar. Además del método para calcular la serie, con
ayuda de un contador se va alternando la suma o la resta según corresponda. import
java.lang.Math;
15
}else{
suma+=(short)Math.pow(i,i);
cont=1;
}
}
return suma;
}
}
import java.util.Scanner;
serie1.asignarSuma(serie1.calcularSuma(serie1.obtenerN()));
System.out.println("Calculo de serie:
"+serie1.obtenerSuma());
System.out.println("\nDeseas hacer otro calculo?
(1.Si,2.No)");
opc = entrada.nextShort();
if(opc!=2){
opc=1;
}
}
}
16
Said Domínguez. Se define una clase pública Serie, en el método main le preguntamos al
usuario un número entero ‘n’ para con él resolver la serie 1¹ - 2² + 3³ - . . . ± N^N por medio
de un ciclo for, y si da un valor que no cumpla con esta condición aparecerá un letrero que
diga que el número es incorrecto.
17
Ejercicio 6. Escribe un programa en Java al recibir como dato una X cualquiera, calcule el
sen(x) utilizando la siguiente serie:
X1 X3 X5 X7
sen(x) = 1!
− 3!
+ 5!
− 7!
+ ...
Mariana Rojas. En la clase pública Seno se creó el método principal main en el cual se pide
ingresar la cantidad de términos que se desean generar en la serie (n), posteriormente se
solicita que ingrese el número del cual se desea calcular el seno y mediante un ciclo for
donde i evaluará la serie en esa posición, se realiza el factorial y después con una estructura
condicional if/else se verifica si el número obtenido en i es par o impar para poder sumar o
restar según lo indique la serie para posteriormente acumular todo la variable s.
import java.util.Scanner;
public class Seno {
public static void main(String[] args) {
Scanner entrada = new Scanner(System.in);
float s;
int n,x,fac = 1;
System.out.printf("Ingrese la cantidad de terminos a
generar: ");
n = entrada.nextInt();
System.out.printf("Ingrese un numero del cual desee
calcular el seno: ");
x = entrada.nextInt();
s = x;
for(int i = 2; i <= n; i++){
fac = fac * ((i*2)-2) * ((i*2)-1);
if (i % 2 == 0) {
s -= Math.pow(x, i*2-1) / fac; }
else {
s += Math.pow(x, i*2-1) / fac; }
} // Fin four
System.out.printf("El seno de el numero ingresado se
aproxima a: %f\n",s);
} // Fin metodo main
} // Fin clase Seno
18
Luis Eduardo Zuñiga Salgado. Se intentó dividir el trabajo en dos funciones. Una obtiene
el factorial necesario para poder realizar el cálculo, mientras que la otra retoma ese valor y
mediante un For va realizando la suma de fracciones. Se tiene también una variable “frac”
que sirve como bandera para indicar cuando debe sumar la fracción y cuando restarla. Sin
embargo los resultados tienen un desvío de la respuesta obtenida en otros medios, como una
calculadora, demasiado grandes y no logré averiguar por qué.
import java.util.Scanner;
class Seno{
double sen;
int x;
int cont;
int f;
int frac;
private int fact(int n) {
int c;
int r=n;
for(c=n-1; c>0; c--) {
r=r*c;
}
return r;
}
public void calcSen() {
java.util.Scanner scan = new Scanner(System.in) ;
print("\nIndique el numero del que quiere
System.out.
calcular el seno: ");
x=scan.nextInt();
sen=x;
frac=0;
for(cont=3;cont<21;cont++) {
if(frac==0) {
sen=sen-(Math.pow( x,
cont)/this.fact(cont));
frac=1;
}else {
x,
sen=sen+(Math.pow(
cont)/this.fact(cont));
frac=0;
}
cont++;
}
System.out. printf("\nEl seno del numero se aproxima a :
%f", sen);
}
}
class Pruebas{
public static void main(String[] arg) {
19
Seno sen = new Seno();
sen.calcSen();
}
}
CONCLUSIONES
La sintaxis de Java se parece lo suficiente para que operaciones básicas como son la
estructura de un ciclo, declarar una nueva variable, o una nueva función, puedan realizarse
con los conocimientos previos de C que se adquirieron en semestres anteriores. El hecho de
manejar el mismo formato de las estructuras de selección y estructuras repetitivas que se usan
en C, hace que comprender su funcionamiento sea mucho más fácil, solo basta con
implementar la sintaxis de java para que lo que sea que vaya dentro de esta estructura pueda
funcionar.
En esta práctica pudimos aplicar de manera correcta las estructuras de selección y de
repetición empleando variables y constantes de diferente tipo, así teniendo más herramientas
en este paradigma de programación para hacer programas más complejos de una manera
estructurada. Y como equipo sabemos que con más práctica y jugando con los códigos que se
nos muestran en clase, podemos entender de mejor manera el funcionamiento de cada
variable, tipos de datos, estructuras, etc.
REFERENCIAS
● https://www.significados.com/sintaxis/
● https://www.mundojava.net/sintaxis-del-lenguaje.html?Pg=java_inicial_4_3.html
20