Guia ExpresionesAritmeticasEstructurasdeControl

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 15

UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE

APURIMAC
EP: INGENIERIA INFORMÁTICA Y SISTEMAS
GUÍA DE LABORATORIO
Asignatura: Computación para móviles
2022-II Docente: Mg. Rafael Ricardo Quispe Merma

Expresiones aritméticas y estructuras de control en Java


I. OBJETIVOS.
• Introducir al alumno en el desarrollo de aplicaciones en JAVA.
• Que el alumno conozca los principios básicos de la programación estructurada a partir de
los siguientes conceptos:
▪ Operadores aritméticos
▪ Expresiones
▪ Estructura de flujo de control if.
II. INTRODUCCIÓN
Subexpresiones
Los paréntesis se utilizan para agrupar términos en las expresiones en Java, de la misma manera
que en las expresiones algebraicas. Por ejemplo, para multiplicar “a” por la cantidad “b + c”,
escribimos a * ( b + c ).
Si una expresión contiene paréntesis anidados, como ( ( a + b ) * c ) se evalúa primero la
expresión en el conjunto más interno de paréntesis (a + b en este caso).

Reglas de precedencia de operadores


Java aplica los operadores en expresiones aritméticas en una secuencia precisa, determinada
por las siguientes reglas de precedencia de operadores, que casi siempre son las mismas que las
que se utilizan en álgebra:
1. Las operaciones de multiplicación, división y residuo se aplican primero. Si una expresión
contiene varias de esas operaciones, los operadores se aplican de izquierda a derecha. Los
operadores de multiplicación, división y residuo tienen el mismo nivel de precedencia.
2. Las operaciones de suma y resta se aplican a continuación. Si una expresión contiene varias
de esas operaciones, los operadores se aplican de izquierda a derecha. Los operadores de suma
y resta tienen el mismo nivel de precedencia.
Estas reglas permiten a Java aplicar los operadores en el orden correcto. Cuando decimos que
los operadores se aplican de izquierda a derecha, nos referimos a su asociatividad. Algunos se
1
UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE
APURIMAC
EP: INGENIERIA INFORMÁTICA Y SISTEMAS
GUÍA DE LABORATORIO
Asignatura: Computación para móviles
2022-II Docente: Mg. Rafael Ricardo Quispe Merma
asocian de derecha a izquierda.
El cuadro siguiente sintetiza estas reglas de precedencia de operadores.

Toma de decisiones: operadores de igualdad y relacionales


Una condición es una expresión que puede ser verdadera (true) o falsa (false). Esta sección
presenta la instrucción if de Java, la cual permite que un programa tome una decisión, con base
en el valor de una condición. Por ejemplo, la condición “calificación es mayor o igual que 60”
determina si un estudiante pasó o no una prueba. Si la condición en una instrucción if es
verdadera, el cuerpo de la instrucción if se ejecuta. Si la condición es falsa, el cuerpo no se
ejecuta. Veremos un ejemplo en breve.
Las condiciones en las instrucciones if pueden formarse utilizando los operadores de igualdad
(== y !=) y los operadores relaciónales (>, <, >= y <=). Ambos operadores de igualdad tienen
el mismo nivel de precedencia, que es menor que la precedencia de los operadores relaciónales.
Los operadores de igualdad se asocian de izquierda a derecha. Todos los operadores
relaciónales tienen el mismo nivel de precedencia y también se asocian de izquierda a derecha.
La estructura de selección simple en Java se realiza mediante la sentencia if (si, en
ingles). La sintaxis es la siguiente:
if (condición) sentencia;
La condición es una expresión booleana. La sentencia se ejecuta solamente si la
expresión booleana es verdadera.
¿Qué ocurre si la condición no se cumple? En este caso nada. Podemos agregar una
serie de instrucciones que se ejecutarán solo si la condición no se cumple. Para esto
tendremos que agregar la sentencia else. La estructura de selección quedará así:

2
UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE
APURIMAC
EP: INGENIERIA INFORMÁTICA Y SISTEMAS
GUÍA DE LABORATORIO
Asignatura: Computación para móviles
2022-II Docente: Mg. Rafael Ricardo Quispe Merma
if (condición) sentencia 1;
else sentencia 2;
Si la condición es verdadera se ejecuta la sentencia 1 en caso contrario se ejecuta la
sentencia 2. Ambas sentencias nunca se ejecutarán al mismo tiempo, son excluyentes.

También vemos que hay cierta relación entre conectores lógicos y la estructura.
Conjunción
if (condición1 && condición2){
sentecia1;
} else {
sentencia2;
}
if ( condición1 ) {
if ( condición2 ) {
sentencia1;
} else {
sentencia2;
}
} else {
sentencia2;
}
Disyunción
if ( condición1 || condición2 ) {
sentencia1;
} else {
sentencia2;
}
if ( condición1 ){
sentencia1;
3
UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE
APURIMAC
EP: INGENIERIA INFORMÁTICA Y SISTEMAS
GUÍA DE LABORATORIO
Asignatura: Computación para móviles
2022-II Docente: Mg. Rafael Ricardo Quispe Merma
} else {
if ( condición2 ) {
sentencia1;
} else {
sentencia2;
}
}
Negación
if ( ! condición1) {
sentencia1;
} else {
sentencia2;
}
if ( condición1) {
sentencia2;
} else {
sentencia1;
}

4
UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE
APURIMAC
EP: INGENIERIA INFORMÁTICA Y SISTEMAS
GUÍA DE LABORATORIO
Asignatura: Computación para móviles
2022-II Docente: Mg. Rafael Ricardo Quispe Merma
III. Procedimiento.
Ejemplo 1:
Eres mayor de edad en java
import java.util.Scanner;

public class Ejemplo01 {


public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("escanear edad:");
int edad = scanner.nextInt();
if (edad >= 18) {
System.out.println("puede beber");
} else {
System.out.println("no puede beber");
}
System.out.print("mostrar la edad: ");
System.out.println(edad);
}

}
Ejemplo 2:
Año bisiesto
import java.util.Scanner;
public class Ejemplo02 {
public static void main(String [] args){
Scanner scanner = new Scanner(System.in);
System.out.print("Ingrese un anio: ");
int anio = scanner.nextInt();

if ((( anio % 4 == 0 ) && ( anio % 100 != 0 )) || ( anio % 400


== 0 )) {
System.out.println("Es bisiesto");
} else {
System.out.println("No es bisiesto");

5
UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE
APURIMAC
EP: INGENIERIA INFORMÁTICA Y SISTEMAS
GUÍA DE LABORATORIO
Asignatura: Computación para móviles
2022-II Docente: Mg. Rafael Ricardo Quispe Merma
}
}
}
Ejemplo 3:
Los conectores lógicos nos permiten simplificar la estructura. Sin ellos nos veríamos en la
necesidad de anidar las sentencias. Veamos que ocurre si en el ejemplo anterior descartamos el
AND y el OR.
Año bisiesto v2
import java.util.Scanner;

public class Ejemplo03 {


public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);

System.out.print("Ingrese un anio: ");


int x = scanner.nextInt();

if (x % 4 == 0) {
if (x % 100 == 0) {
if (x % 400 == 0) {
System.out.println("Es bisiesto");
} else {
System.out.println("No es bisiesto");
}
} else {
System.out.println("Es bisiesto");
}
} else {
System.out.println("No es bisiesto");
}
}
}

Ejemplo 4:
Expresiones algebraicas
import java.util.Scanner;

public class Ejemplo4 {


public static void main(String[] args) {

6
UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE
APURIMAC
EP: INGENIERIA INFORMÁTICA Y SISTEMAS
GUÍA DE LABORATORIO
Asignatura: Computación para móviles
2022-II Docente: Mg. Rafael Ricardo Quispe Merma
Scanner reader = new Scanner(System.in);
int a, b,c;
System.out.println("********************************"
);
System.out.println("CALCULO DE FORMULA CUADRATICA");
System.out.println("********************************"
);

System.out.print("Ingrese el valor de a: ");


a=Integer.parseInt(reader.nextLine());
System.out.print("Ingrese el valor de b: ");
b=Integer.parseInt(reader.nextLine());
System.out.print("Ingrese el valor de c: ");
c=Integer.parseInt(reader.nextLine());
//Formula cuadrática x1
double x1= ((-b + Math.sqrt((b*b)-(4*a*c)))/(2*a));
//En algunas ocasiones puede separar los paréntesis
para evitar
//confusión
double x2=
(
(
-b - Math.sqrt((b*b)-(4*a*c))
)
/(2*a)
);

reader.close();
System.out.print("El valor de x1 es: ");
System.out.println(x1);
System.out.print("El valor de x2 es: ");
System.out.println(x2);
}
}
Debe obtener un resultado como el que sigue:
4x2 + 15x + 9 = 0
x = -3 y x= -3/4

7
UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE
APURIMAC
EP: INGENIERIA INFORMÁTICA Y SISTEMAS
GUÍA DE LABORATORIO
Asignatura: Computación para móviles
2022-II Docente: Mg. Rafael Ricardo Quispe Merma

Ejemplo 5:
Uso de if … else .
Comparando una edad (segunda versión)
import javax.swing.JOptionPane;
public class Ejemplo5 {
public static void main(String[] args) {
// TODO code application logic here
String primernumero;
String segundonumero;

int edad;
String edadString =
JOptionPane.showInputDialog("Digite su edad");

edad = Integer.parseInt(edadString);
if(edad > 0 && edad < 18 )

JOptionPane.showMessageDialog(null,"Usted es menor de
edad","Su edad",JOptionPane.PLAIN_MESSAGE);

else if(edad> 18 && edad < 120)


JOptionPane.showMessageDialog(null,"Usted es mayor de
edad","Su edad",JOptionPane.PLAIN_MESSAGE);

8
UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE
APURIMAC
EP: INGENIERIA INFORMÁTICA Y SISTEMAS
GUÍA DE LABORATORIO
Asignatura: Computación para móviles
2022-II Docente: Mg. Rafael Ricardo Quispe Merma
else
JOptionPane.showMessageDialog(null,"Esa no parece ser
una edad real","Su edad",JOptionPane.PLAIN_MESSAGE);
System.exit(0);
}
}
Ejemplo6:
Uso de if
Comparación de 2 números
import java.util.Scanner;

public class Ejercicio6 {

public static void main(String[] args) {


Scanner entrada = new Scanner(System.in );

int numero1; // primer número a comparar


int numero2; // segundo número a comparar

System.out.print("Escriba el primer entero:");


numero1 = entrada.nextInt();
System.out.print("Escriba el segundo entero:");
numero2 = entrada.nextInt();

if ( numero1 == numero2 ){
System.out.printf("%d == %d\n", numero1, numero2);
}

if ( numero1 != numero2 ){
System.out.printf("%d != %d\n", numero1, numero2);
}
if ( numero1 < numero2 ){
System.out.printf("%d < %d\n", numero1, numero2);
}
if ( numero1 > numero2 ){
System.out.printf("%d > %d\n", numero1, numero2);
}

9
UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE
APURIMAC
EP: INGENIERIA INFORMÁTICA Y SISTEMAS
GUÍA DE LABORATORIO
Asignatura: Computación para móviles
2022-II Docente: Mg. Rafael Ricardo Quispe Merma
if ( numero1 >= numero2 ){
System.out.printf("%d >= %d\n", numero1, numero2);
}

if ( numero1 <= numero2 ){


System.out.printf("%d <= %d\n", numero1, numero2);
}

Uso de Switch
La sentencia switch se encarga de estructurar una selección múltiple. Al contrario del enunciado
if-else que sólo podemos indicar dos alternativas, maneja un número finito de posibilidades. La
estructura general del enunciado switch es la siguiente:

switch( expresión ) {
case constante1:
sentencia1;
...
break;
...
case constanteN:
sentenciaN;
...
break;
default:
sentencia;
...
break
}
Ejemplo 7:
Uso de switch
import java.util.Scanner;

public class Ejemplo7 {

public static void main( String [] args){


double a = 0;
10
UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE
APURIMAC
EP: INGENIERIA INFORMÁTICA Y SISTEMAS
GUÍA DE LABORATORIO
Asignatura: Computación para móviles
2022-II Docente: Mg. Rafael Ricardo Quispe Merma
double b = 0;
Scanner entrada = new Scanner(System.in );

System.out.print("Ingrese el primer numero: ");


a = entrada.nextDouble();

System.out.print("Ingrese el segundo numero: ");


b = entrada.nextDouble();

System.out.print("Ingrese la operacion deseada"


+ "\n+ Suma"
+ "\n- Resta"
+ "\n/ Division"
+ "\n* Multiplicacion"
+ "\nSu seleccion: ");
String op = entrada.next();
System.out.print("El resultado es : ");

switch (op) {
case "+":
System.out.println( a + b );
break;
case "-":
System.out.println( a - b );
break;
case "*":
System.out.println( a * b );
break;
case "/":
System.out.println( a / b );
break;
default:
System.out.println("error" );
break;
}

}
}
Ejemplo 08 comparar cadenas de caracteres:
import java.util.Scanner;

import javax.swing.JOptionPane;
public class Ejemplo8 {
public static void main(String[] args) {

Scanner r = new Scanner(System.in);

11
UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE
APURIMAC
EP: INGENIERIA INFORMÁTICA Y SISTEMAS
GUÍA DE LABORATORIO
Asignatura: Computación para móviles
2022-II Docente: Mg. Rafael Ricardo Quispe Merma
String usuario;
String password;

usuario = JOptionPane.showInputDialog("Ingrese el usuario");

password = JOptionPane.showInputDialog("Ingrese el password");

if(usuario.equals("eapiis") && password.equals("pro")){


JOptionPane.showMessageDialog(null, "Acceso concedido");
}else{
JOptionPane.showMessageDialog(null, "Acceso denegado");
}

}
}

Ejemplo 09. Uso de OR lógico

import javax.swing.JOptionPane;

public class Ejemplo09 {


public static void main(String[] args) {

Scanner r = new Scanner(System.in);

String usuario;

usuario = JOptionPane.showInputDialog("Ingrese el usuario");

if(usuario.equals("eapiis") || usuario.equals("Eapiis ") ||


usuario.equals("EAPIIS")){
JOptionPane.showMessageDialog(null, "Usuario es valido");
}else{
JOptionPane.showMessageDialog(null, "Usuario invalido");
}

}
}

V. EJERCICIOS COMPLEMENTARIOS.

12
UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE
APURIMAC
EP: INGENIERIA INFORMÁTICA Y SISTEMAS
GUÍA DE LABORATORIO
Asignatura: Computación para móviles
2022-II Docente: Mg. Rafael Ricardo Quispe Merma
1) Realice un programa que divida 2 números y evite la división por 0 (cero)
Es decir:
20/2 = 10
20/0= error.
0/15=0
Utilice estructura de control if

2) Realice un programa que permita hacer deducciones sobre un sueldo neto.Las


deducciones que se aplican son isss (3%), afp (6.25%), renta (7.1%).
El resultado debe aparecer como se muestra a continuación.
Sueldo: 450
Renta: 31.95
AFP: 28.125
ISSS: 13.5
Total a pagar: 376.425

3) Realice un programa que permita encontrar los valores de f(x) si se tiene la siguiente
ecuación:
f(x)=(x2 + 1)/(x – 1 )
Usted debe ingresar el valor de x
Ejemplo:
Nota: No podrá ingresar 1
Ingresa 2
f(x)= (22 + 1)/(2 – 1 )=5
Ingresa 3
f(x)= (32 + 1)/(3 – 1 )=5
Ingresa 4
f(x)= (32 + 1)/(3 – 1 )= 5.66666667

13
UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE
APURIMAC
EP: INGENIERIA INFORMÁTICA Y SISTEMAS
GUÍA DE LABORATORIO
Asignatura: Computación para móviles
2022-II Docente: Mg. Rafael Ricardo Quispe Merma
4) Realice un programa que permita encontrar los valores de f(x) si se tiene la siguiente
ecuación:
f(x)=(x2 +2x+1)/2
Usted debe ingresar el valor de x
Ingresa 1
f(x)=(12 +2(1)+1)/2=2
Ingresa 2
f(x)=(22 +2(2)+1)/2=4.5
Ingresa 3
f(x)=((3)2 +2(3)+1)/2=8

5) Crear un programa que consulte el nombre de un personaje famoso como Alejandro


Magno, Albert Einstein, Gabriel García Márquez, Barak Obama. Si el nombre no es uno
de ellos, mostrar al usuario “Nombre no encontrado” en otro caso “Nombre
encontrado!!!”

14
UNIVERSIDAD NACIONAL MICAELA BASTIDAS DE
APURIMAC
EP: INGENIERIA INFORMÁTICA Y SISTEMAS
GUÍA DE LABORATORIO
Asignatura: Computación para móviles
2022-II Docente: Mg. Rafael Ricardo Quispe Merma

15

También podría gustarte