Professional Documents
Culture Documents
1
U
UUN
NNI
IIV
VVE
EER
RRS
SSI
IID
DDA
AAD
DD T
TTE
EEC
CCN
NNO
OOL
LLO
OOG
GGI
IIC
CCA
AA D
DDE
EEL
LL P
PPE
EER
RR
F FA AC CU UL LT TA AD D D DE E I IN NG GE EN NI IE ER R A A I IN ND DU US ST TR RI IA AL L Y Y S SI IS ST TE EM MA AS S
INGENIERA SISTEMAS E INFORMTICA
LENGUAJE DE PROGRAMACIN I
OBJETIVOS
Explicar el entorno de programacin de java.
Desarrollar programas en java.
LABORATORIO
1
JAVA: CONTROL DE FLUJO
Mgter. Juan Pablo Apaza Condori. 2
TEMAS
Entorno de programacin java.
Estructura de los programas en java.
Control de flujo en java.
MARCO TERICO
INTRODUCCIN
Java es un poderoso lenguaje de programacin. Algunas veces, los programadores
experimentados se enorgullecen en poder crear un uso excntrico, deformado e intrincado de un
lenguaje.
sta es una mala practica de programacin. Hace que los programas sean ms difciles de leer,
que se comporten en forma extraa, ms difciles de probar y depurar, y ms difciles de adaptarse
a los requerimientos cambiantes.
Java es un lenguaje portable, permite ejecutar programas en diferentes plataformas de sistema
operativo como Windows, Unix, Linux. Es mas fcil hacer un programa portable en Java.
TECNOLOGA DE OBJETOS
Los lenguajes como Java son orientados a objetos. La programacin en dichos lenguajes se llama
programacin orientada a objetos (POO).
En C la unidad de programacin es la funcin. En Java la unidad de programacin es la clase a
partir de la cual se obtiene las instancias; es decir los objetos.
Los programadores de C se concentran en escribir funciones.
Los programadores en Java se concentran en crear tipos definidos por el programador a los cuales se
les llama clases e interfaces. Cada clase contiene campos y el conjunto de mtodos que
manipulan esos campos.
Mgter. Juan Pablo Apaza Condori. 3
FUNDAMENTOS DE UN ENTORNO TPICO EN JAVA
La siguiente explicacin define los pasos tpicos para crear y ejecutar un programa en Java, utilizando
el entorno de desarrollo de Java.
Memoria principal
Memoria principal
Memoria principal
Editor
Compilador
Cargador de
Clases
Disco
Verificador de
Cdigo de bytes
Intrprete
Disco
Disco
Fase 1
Fase 2
Fase 3
Fase 4
Fase 5
El programa se crea en
un editor y se almacena
en un archivo con la
terminacin .Java
El compilador genera
cdigo de bytes y los
almacena en archivos
.class
El cargador de clases lee
los archivos .class(que
contiene cdigo de
bytes) del disco y coloca
estos cdigos de bytes
en la memoria
El verificador de cdigo
de bytes confirma que
todos los cdigos de
bytes sean vlidos y no
violen las restricciones
de seguridad de Java
El interprete lee los cdigos
de bytes y los traduce en un
lenguaje que la computadora
pueda entender,
posiblemente almacenando
los valores de datos a medida
que se ejecuta el programa
.
Mgter. Juan Pablo Apaza Condori. 4
ACTIVIDADES
Analizar y explicar el funcionamiento de .cada uno de los ejemplos.
EJEMPLO 1
Programa que calcula el rea del crculo.
Ejecutar el siguiente programa en java.
public class Area {
public static void main(String[] args) {
// Calculate the radius of a circle
// which has an area of 100 square feet
double radio = 10.0;
double circleArea = 0.0;
double area;
area = Math.PI*Math.pow(radio, 2);
//feet = (int)Math.floor(radius); // Get the whole feet and nothing but the feet
//inches = (int)Math.round(12.0*(radius - feet));
double area2 = (Math.round(area*100))/100.0;
//100.0f -> float
//100 -> int
System.out.println("El radio es " + radio +" area: " + area);
System.out.println("El radio es " + radio +" area: " + area2);
}
}
SOLUCIN
Mgter. Juan Pablo Apaza Condori. 5
EJEMPLO 2
Ejecutar el siguiente programa en java.
//import java.io.IOException; // For code that delays ending the program
public class Fruit {
public static void main(String[] args) {
// Declare and initialize three variables
int numOranges = 5; // Count of oranges
int numApples = 10; // Count of apples
int numFruit = 0; // Count of fruit
// Increment oranges and calculate the total fruit
numFruit = numOranges++ + numApples;
//numFruit = numOranges + numApples; // Calculate the total fruit count
// Display the result
System.out.println("A totally fruity program");
// Display the result
System.out.println("Value of oranges is " + numOranges);
System.out.println("Total fruit is " + numFruit);
// + " and Oranges = " + numOranges);
// Code to delay ending the program
//System.out.println("(press Enter to exit)");
//try {
// System.in.read(); // Read some input from the keyboard
//} catch (IOException e) { // Catch the input exception
// return; // and just return
//}
}
}
SOLUCIN
Mgter. Juan Pablo Apaza Condori. 6
EJEMPLO 3
Ejecutar el siguiente programa en java.
public class AverageFruit {
public static void main(String[] args) {
// Declare and initialize three variables
double numOranges = 50.0E-1; // Initial value is 5.0
double numApples = 1.0E1; // Initial value is 10.0
double averageFruit = 0.0;
averageFruit = (numOranges + numApples) / 2.0;
System.out.println("A totally fruity program");
System.out.println("Average fruit is " + averageFruit);
}
}
SOLUCIN
Mgter. Juan Pablo Apaza Condori. 7
EJEMPLO 4
Ejecutar el siguiente programa en java.
public class NumberCheck
{
public static void main(String[] args)
{
int number = 0;
number = 1+(int)(100*Math.random()); // Get a random integer between 1 & 100
if(number%2 == 0) // Test if it is even
System.out.println("You have got an even number, " + number); // It is even
else
System.out.println("You have got an odd number, " + number); // It is odd
}
}
SOLUCIN
EJEMPLO 5
Ejecutar el siguiente programa en java.
public class NumberCheck
{
public static void main(String[] args)
{
int number = 0;
number = 1+(int)(100*Math.random()); // Get a random integer between 1 & 100
if(number%2 == 0) // Test if it is even
{
if(number < 50) // Output a message if number is < 50
System.out.println("You have got an even number < 50, " + number);
}
else
System.out.println("You have got an odd number, " + number); // It is odd
}
}
SOLUCIN
Mgter. Juan Pablo Apaza Condori. 8
EJEMPLO 6
Ejecutar el siguiente programa en java.
public class LetterCheck
{
public static void main(String args[])
{
char symbol = 'A';
symbol = (char)(128.0*Math.random()); // Generate a random character
if(symbol >= 'A' && symbol <= 'Z') // Is it a capital letter
System.out.println("You have the capital letter " + symbol);
else
if(symbol >= 'a' && symbol <= 'z') // or is it a small letter?
System.out.println("You have the small letter " + symbol);
else // It is not less than z
System.out.println("The code is not a letter");
}
}
SOLUCIN
EJEMPLO 7
Ejecutar el siguiente programa en java.
public class LetterCheck
{
public static void main(String args[])
{
char symbol = 'A';
//symbol = (char)(255.0*Math.random()); // Generate a random character
symbol= 'c';
if(Character.isUpperCase(symbol)) // Is it a capital letter
System.out.println("MAYUSCULA " + symbol);
else
if(Character.isLowerCase(symbol)) // or is it a small letter?
System.out.println("MINUSCULA " + symbol);
else
if(Character.isDigit(symbol))// It is not less than z
System.out.println("NUMERO: "+symbol);
else
if(Character.isSpaceChar(symbol))// It is not less than z
System.out.println("ESPACIO *"+symbol+"*");
else
System.out.println("EL CODIGO NO ES UNA LETRA");
}
}
SOLUCIN
Mgter. Juan Pablo Apaza Condori. 9
EJEMPLO 8
Ejecutar el siguiente programa en java.
public class Scope
{
public static void main(String[] args)
{
int outer = 1; // Exists throughout the method
{
// You cannot refer to a variable before its declaration
// System.out.println("inner = " + inner); // Uncomment this for an
error
int inner = 2;
System.out.println("inner = " + inner); // Now it is OK
System.out.println("outer = " + outer); // and outer is still here
// All variable defined in the enclosing outer block still exist,
// so you cannot redefine them here
// int outer = 5; // Uncomment this for an
error
}
// Any variables declared in the previous inner block no longer exist
// so you cannot refer to them
// System.out.println("inner = " + inner); // Uncomment this for an
error
// The previous variable, inner, does not exist so you can define a new one
int inner = 3;
System.out.println("inner = " + inner); // ... and output its value
System.out.println("outer = " + outer); // outer is still around
}
}
SOLUCIN
Mgter. Juan Pablo Apaza Condori. 10
EJERCICIOS
0 El rea de un triangulo
En el procedimiento main, declare las variables locales a, b y c de tipo double. Los valores
iniciales sern 2.0, 2.7 y 3.5. Estos valores corresponden a los lados del tringulo.
Calcule el semipermetro s y el rea A del tringulo con las siguientes frmulas:
o s= (a+b+c)/2
o A= raz cuadrada(s*(s-a)*(s-b)*(s-c))
Calcule la raz cuadrada con Math.sqrt(expresin)
Imprima el valor con System.out.println(A)
1 Calcular
2 2
b a h
2 Realizar un programa que permita simular una calculadora.
Vea:
3 Convertir un ngulo en grados sexagesimales en radianes y centesimales.
4 Disear un algoritmo, que permita convertir un nmero real, que represente horas, a su equivalente
en horas, minutos, segundos y decimos de segundos.
5 Estimar el nmero de pginas de un texto que puede almacenarse en la memoria de un
computador, considerando un promedio de 300 palabras por pgina y 10 caractres por palabra.
Asumir que un carcter ocupa un (1) byte. El tamao de la memoria del computador debe ingresarse
expresado en Kbytes.
Mgter. Juan Pablo Apaza Condori. 11
6 Distribuir una cantidad expresada en nuevos soles, en billetes de 20, 10, 5 y 1 sol; y para los
decimales en monedas de 0.50, 0.20, 0.10 y 0.05 cntimos.
7 Un trabador del Estado percibe un sueldo Bsico, mensual de 450 nuevos soles; adems recibe
incrementos de sueldo de acuerdo a los siguientes conceptos:
Instruccin Porcentaje
Hasta 5 Secundaria 5%
Tcnico 10%
Profesional 20%
Condicin social Porcentaje
Casado 3%
Por cada hijo 2%
sin vivienda 5%
Tambin por ley est sujeto a un descuento de 10% si su sueldo excede de 700 nuevos soles.
Determinar el sueldo neto que recibe un trabajador.
8 El dueo de una empresa desea planificar las decisiones financieras que tomara en el siguiente ao.
La manera de planificarlas depende de lo siguiente:
Si actualmente su capital se encuentra con saldo negativo, pedir un prstamo bancario para que su
nuevo saldo sea de $10 000.
Si su capital tiene actualmente un saldo positivo pedir un prstamo bancario para tener un nuevo
saldo de $20 000, pero si su capital tiene actualmente un saldo superior a los $20 000 no pedir
ningn prstamo.
Posteriormente repartir su presupuesto de la siguiente manera.
$5 000 para equipo de computo
$2 000 para mobiliario
y el resto la mitad ser para la compra de insumos y la otra para otorgar incentivos al personal.
Desplegar que cantidades se destinaran para la compra de insumos e incentivos al personal y, en
caso de que fuera necesario, a cuanto ascendera la cantidad que se pedira al banco.