universidad católica de santa maria

Anuncio
C
CE
EN
NTTR
RO
OS
SU
UP
PE
ER
RIIO
OR
RS
SU
UP
PE
ER
RIIO
OR
RD
DE
EA
ALLTTA
A
E
S
P
E
C
I
A
L
I
Z
A
C
I
Ó
N
Y
A
S
E
S
O
R
Í
A
ESPECIALIZACIÓN Y ASESORÍA
http://www.cfape.com
P
PR
RO
OG
GR
RA
AM
MA
AC
CIIÓ
ÓN
NE
EN
N LLA
AP
PLLA
ATTA
AFFO
OR
RM
MA
AW
WIIN
ND
DO
OW
WS
S http://www.cfape.com/
P
P
R
O
G
R
A
M
A
C
Ó
N
A
V
A
N
V
E
B
Á
S
C
O
C
U
R
S
O
O
N
N
E
PR
RO
OG
GR
RA
AM
MA
AC
CIIIÓ
ÓN
N JJJA
AV
VA
AN
NIIIV
VE
ELLL B
BÁ
ÁS
SIIIC
CO
O (((C
CU
UR
RS
SO
OO
ON
N---LLLIIIN
NE
E)))
OBJETIVOS
Comprender un típico entorno de desarrollo en Java.
Utilizar estructuras de selección simple y selección
múltiple
Utilizar estructuras repetitivas e iterativas
LABORATORIO
2
Msc. Walter Fernandez Toglio.
ESTRUCTURAS DE
CONTROL
1
C
CE
EN
NTTR
RO
OS
SU
UP
PE
ER
RIIO
OR
RS
SU
UP
PE
ER
RIIO
OR
RD
DE
EA
ALLTTA
A
E
S
P
E
C
I
A
L
I
Z
A
C
I
Ó
N
Y
A
S
E
S
O
R
Í
A
ESPECIALIZACIÓN Y ASESORÍA
http://www.cfape.com
P
PR
RO
OG
GR
RA
AM
MA
AC
CIIÓ
ÓN
NE
EN
N LLA
AP
PLLA
ATTA
AFFO
OR
RM
MA
AW
WIIN
ND
DO
OW
WS
S http://www.cfape.com/
P
P
R
O
G
R
A
M
A
C
Ó
N
A
V
A
N
V
E
B
Á
S
C
O
C
U
R
S
O
O
N
N
E
PR
RO
OG
GR
RA
AM
MA
AC
CIIIÓ
ÓN
N JJJA
AV
VA
AN
NIIIV
VE
ELLL B
BÁ
ÁS
SIIIC
CO
O (((C
CU
UR
RS
SO
OO
ON
N---LLLIIIN
NE
E)))
TEMAS
Estructura de selección if
Estructura de selección if – else
Estructura de iterativa while
Estructura de repetitiva for
SOFTWARE NECESARIO
NetBeans IDE
(http://www.netbeans.info/downloads/index.php)
JDeveloper de Oracle
(http://www.oracle.com/technetwork/developertools/jdev/overview/index.html)
Java SE Development Kit (JDK) Bundles, JDK with
NetBeans
(http://www.oracle.com/technetwork/java/javase/downloads/jdk-7netbeans-download-432126.html)
Otros IDEs de Java
 JBuilder
 Eclipse
www.eclipse.org
 Mi Eclipse
 JCreator
www.jcreator.com/
 IntelliJ IDEA
www.jetbrains.com/idea
Msc. Walter Fernandez Toglio.
2
C
CE
EN
NTTR
RO
OS
SU
UP
PE
ER
RIIO
OR
RS
SU
UP
PE
ER
RIIO
OR
RD
DE
EA
ALLTTA
A
E
S
P
E
C
I
A
L
I
Z
A
C
I
Ó
N
Y
A
S
E
S
O
R
Í
A
ESPECIALIZACIÓN Y ASESORÍA
http://www.cfape.com
P
PR
RO
OG
GR
RA
AM
MA
AC
CIIÓ
ÓN
NE
EN
N LLA
AP
PLLA
ATTA
AFFO
OR
RM
MA
AW
WIIN
ND
DO
OW
WS
S http://www.cfape.com/
P
P
R
O
G
R
A
M
A
C
Ó
N
A
V
A
N
V
E
B
Á
S
C
O
C
U
R
S
O
O
N
N
E
PR
RO
OG
GR
RA
AM
MA
AC
CIIIÓ
ÓN
N JJJA
AV
VA
AN
NIIIV
VE
ELLL B
BÁ
ÁS
SIIIC
CO
O (((C
CU
UR
RS
SO
OO
ON
N---LLLIIIN
NE
E)))
MARCO TEÓRICO
 Documentación y ejercicios del documento de teoría.
Msc. Walter Fernandez Toglio.
3
C
CE
EN
NTTR
RO
OS
SU
UP
PE
ER
RIIO
OR
RS
SU
UP
PE
ER
RIIO
OR
RD
DE
EA
ALLTTA
A
E
S
P
E
C
I
A
L
I
Z
A
C
I
Ó
N
Y
A
S
E
S
O
R
Í
A
ESPECIALIZACIÓN Y ASESORÍA
http://www.cfape.com
P
PR
RO
OG
GR
RA
AM
MA
AC
CIIÓ
ÓN
NE
EN
N LLA
AP
PLLA
ATTA
AFFO
OR
RM
MA
AW
WIIN
ND
DO
OW
WS
S http://www.cfape.com/
P
P
R
O
G
R
A
M
A
C
Ó
N
A
V
A
N
V
E
B
Á
S
C
O
C
U
R
S
O
O
N
N
E
PR
RO
OG
GR
RA
AM
MA
AC
CIIIÓ
ÓN
N JJJA
AV
VA
AN
NIIIV
VE
ELLL B
BÁ
ÁS
SIIIC
CO
O (((C
CU
UR
RS
SO
OO
ON
N---LLLIIIN
NE
E)))
ACTIVIDADES
Analizar y explicar el funcionamiento de .cada uno de los ejemplos.
EJEMPLO 1
Desarrollar un programa en Java que calcule varias veces el área de un circulo.
SOLUCIÓN
Ejecutar el siguiente programa en java.
public class ForLoop
{
public static void main(String[] args)
{
int limit = 20;
int sum = 0;
// Sum from 1 to this value
// Accumulate sum in this variable
// Loop from 1 to the value of limit, adding 1 each cycle
for(double radio = 1.0; radio <= 12.0; radio += 2.0)
{
System.out.println("radio = " + radio + " area = " + Math.PI*radio*radio);
}
}
}
EJEMPLO 2
Desarrollar un programa en Java que calcule la suma 1+2+3+4+6+…N.
Usando la estructura iterativa while
SOLUCIÓN
Ejecutar el siguiente programa en java.
public class WhileLoop
{
public static void main(String[] args)
{
int limit = 20;
// Sum from 1 to this value
int sum = 0;
// Accumulate sum in this variable
int i = 1;
// Loop counter
// Loop from 1 to the value of limit, adding 1 each cycle
while(i <= limit)
sum += i++;
// Add the current value of i to sum
System.out.println("sum = " + sum);
}
}
Msc. Walter Fernandez Toglio.
4
C
CE
EN
NTTR
RO
OS
SU
UP
PE
ER
RIIO
OR
RS
SU
UP
PE
ER
RIIO
OR
RD
DE
EA
ALLTTA
A
E
S
P
E
C
I
A
L
I
Z
A
C
I
Ó
N
Y
A
S
E
S
O
R
Í
A
ESPECIALIZACIÓN Y ASESORÍA
http://www.cfape.com
P
PR
RO
OG
GR
RA
AM
MA
AC
CIIÓ
ÓN
NE
EN
N LLA
AP
PLLA
ATTA
AFFO
OR
RM
MA
AW
WIIN
ND
DO
OW
WS
S http://www.cfape.com/
P
P
R
O
G
R
A
M
A
C
Ó
N
A
V
A
N
V
E
B
Á
S
C
O
C
U
R
S
O
O
N
N
E
PR
RO
OG
GR
RA
AM
MA
AC
CIIIÓ
ÓN
N JJJA
AV
VA
AN
NIIIV
VE
ELLL B
BÁ
ÁS
SIIIC
CO
O (((C
CU
UR
RS
SO
OO
ON
N---LLLIIIN
NE
E)))
EJEMPLO 3
Desarrollar un programa en Java que calcule la suma 1+2+3+4+6+…N.
Usando la estructura iterativa Do while
SOLUCIÓN
Ejecutar el siguiente programa en java.
public class DoWhileLoop
{
public static void main(String[] args)
{
int limit = 20;
// Sum from 1 to this value
int sum = 0;
// Accumulate sum in this variable
int i = 1;
// Loop counter
// Loop from 1 to the value of limit, adding 1 each cycle
do
{
sum += i;
i++;
}
while(i <= limit);
// Add the current value of i to sum
System.out.println("sum = " + sum);
}
}
EJEMPLO 4
Desarrollar un programa en Java que calcule el factorial de un número.
Usando la estructura repetitiva for
SOLUCIÓN
Ejecutar el siguiente programa en java.
public class Factorial
{
public static void main(String[] args)
{
long limit = 20;
// Calculate factorial of integers up to this value
long factorial = 1;
// Calculate factorial in this variable
// Loop from 1 to the value of limit
for(int i = 1; i <= limit; i++)
{
factorial = 1;
// Initialize factorial
int j =2;
while(j <= i)
factorial *= j++;
System.out.println(i + "!" + " es " + factorial);
}
}
}
Msc. Walter Fernandez Toglio.
5
C
CE
EN
NTTR
RO
OS
SU
UP
PE
ER
RIIO
OR
RS
SU
UP
PE
ER
RIIO
OR
RD
DE
EA
ALLTTA
A
E
S
P
E
C
I
A
L
I
Z
A
C
I
Ó
N
Y
A
S
E
S
O
R
Í
A
ESPECIALIZACIÓN Y ASESORÍA
http://www.cfape.com
P
PR
RO
OG
GR
RA
AM
MA
AC
CIIÓ
ÓN
NE
EN
N LLA
AP
PLLA
ATTA
AFFO
OR
RM
MA
AW
WIIN
ND
DO
OW
WS
S http://www.cfape.com/
P
P
R
O
G
R
A
M
A
C
Ó
N
A
V
A
N
V
E
B
Á
S
C
O
C
U
R
S
O
O
N
N
E
PR
RO
OG
GR
RA
AM
MA
AC
CIIIÓ
ÓN
N JJJA
AV
VA
AN
NIIIV
VE
ELLL B
BÁ
ÁS
SIIIC
CO
O (((C
CU
UR
RS
SO
OO
ON
N---LLLIIIN
NE
E)))
EJEMPLO 5
Desarrollar un programa en Java que calcule el factorial de un número.
Usando la estructura repetitiva for
SOLUCIÓN
Ejecutar el siguiente programa en java.
public class Factorial
{
public static void main(String[] args)
{
long limit = 20;
// to calculate factorial of integers up to this value
long factorial = 1;
// factorial will be calculated in this variable
// Loop from 1 to the value of limit
OuterLoop:
for(int i = 1; i <= limit; i++)
{
factorial = 1;
// Initialize factorial
for(int j = 2; j <= i; j++)
{
if(i > 10 && i % 2 == 1)
continueOuterLoop;
// Transfer to the outer loop
factorial *= j;
}
System.out.println(i + "!" + " is " + factorial);
}
}
}
Msc. Walter Fernandez Toglio.
6
C
CE
EN
NTTR
RO
OS
SU
UP
PE
ER
RIIO
OR
RS
SU
UP
PE
ER
RIIO
OR
RD
DE
EA
ALLTTA
A
E
S
P
E
C
I
A
L
I
Z
A
C
I
Ó
N
Y
A
S
E
S
O
R
Í
A
ESPECIALIZACIÓN Y ASESORÍA
http://www.cfape.com
P
PR
RO
OG
GR
RA
AM
MA
AC
CIIÓ
ÓN
NE
EN
N LLA
AP
PLLA
ATTA
AFFO
OR
RM
MA
AW
WIIN
ND
DO
OW
WS
S http://www.cfape.com/
P
P
R
O
G
R
A
M
A
C
Ó
N
A
V
A
N
V
E
B
Á
S
C
O
C
U
R
S
O
O
N
N
E
PR
RO
OG
GR
RA
AM
MA
AC
CIIIÓ
ÓN
N JJJA
AV
VA
AN
NIIIV
VE
ELLL B
BÁ
ÁS
SIIIC
CO
O (((C
CU
UR
RS
SO
OO
ON
N---LLLIIIN
NE
E)))
EJEMPLO 6
Desarrollar un programa en Java que muestre números primos.
Usando la estructura repetitiva for
SOLUCIÓN
Ejecutar el siguiente programa en java.
public class Primes
{
public static void main(String[] args)
{
intnValues = 50;
booleanisPrime = true;
// The maximum value to be checked
// Is true if we find a prime
// Check all values from 2 to nValues
for(int i = 2; i <= nValues; i++)
{
isPrime=true;
// Assume the current i is prime
// Try dividing by all integers from 2 to i-1
for(int j = 2; j < i; j++)
{
if(i % j == 0)
// This is true if j divides exactly
{
isPrime = false;
// If we got here, it was an exact division
break;
// so exit the loop
}
}
// We can get here through the break, or through completing the loop
if(isPrime)
// So is it prime?
System.out.println(i);
// Yes, so output the value
}
}
}
Msc. Walter Fernandez Toglio.
7
C
CE
EN
NTTR
RO
OS
SU
UP
PE
ER
RIIO
OR
RS
SU
UP
PE
ER
RIIO
OR
RD
DE
EA
ALLTTA
A
E
S
P
E
C
I
A
L
I
Z
A
C
I
Ó
N
Y
A
S
E
S
O
R
Í
A
ESPECIALIZACIÓN Y ASESORÍA
http://www.cfape.com
P
PR
RO
OG
GR
RA
AM
MA
AC
CIIÓ
ÓN
NE
EN
N LLA
AP
PLLA
ATTA
AFFO
OR
RM
MA
AW
WIIN
ND
DO
OW
WS
S http://www.cfape.com/
P
P
R
O
G
R
A
M
A
C
Ó
N
A
V
A
N
V
E
B
Á
S
C
O
C
U
R
S
O
O
N
N
E
PR
RO
OG
GR
RA
AM
MA
AC
CIIIÓ
ÓN
N JJJA
AV
VA
AN
NIIIV
VE
ELLL B
BÁ
ÁS
SIIIC
CO
O (((C
CU
UR
RS
SO
OO
ON
N---LLLIIIN
NE
E)))
EJEMPLO 7
Ejecutar el siguiente programa en java.
public class TryAssertions {
public static void main(String args[]) {
intdaysInMonth = 32;
if(daysInMonth == 30) {
System.out.println("Month is April, June, September, or November");
} else if(daysInMonth == 31) {
System.out.println("Month is January, March, May, July, August, October, or
December.");
} else if(daysInMonth == 28 || daysInMonth == 29) {
System.out.println("Month is February.");
} else {
assert false;
}
}
}
Msc. Walter Fernandez Toglio.
8
C
CE
EN
NTTR
RO
OS
SU
UP
PE
ER
RIIO
OR
RS
SU
UP
PE
ER
RIIO
OR
RD
DE
EA
ALLTTA
A
E
S
P
E
C
I
A
L
I
Z
A
C
I
Ó
N
Y
A
S
E
S
O
R
Í
A
ESPECIALIZACIÓN Y ASESORÍA
http://www.cfape.com
P
PR
RO
OG
GR
RA
AM
MA
AC
CIIÓ
ÓN
NE
EN
N LLA
AP
PLLA
ATTA
AFFO
OR
RM
MA
AW
WIIN
ND
DO
OW
WS
S http://www.cfape.com/
P
P
R
O
G
R
A
M
A
C
Ó
N
A
V
A
N
V
E
B
Á
S
C
O
C
U
R
S
O
O
N
N
E
PR
RO
OG
GR
RA
AM
MA
AC
CIIIÓ
ÓN
N JJJA
AV
VA
AN
NIIIV
VE
ELLL B
BÁ
ÁS
SIIIC
CO
O (((C
CU
UR
RS
SO
OO
ON
N---LLLIIIN
NE
E)))
EJERCICIOS
0
Invertir un String
Haga un programa que invierta el String "HOLA QUE TAL" y lo despliegue en la consola. y
produzca:
"l a t e u q a l o h"
1
Dado un String
Haga un programa que elimine un carácter ‘a’ del String "Hola que tal" y lo despliegue en la
consola.
2
Pasar 2 números como parámetros y mostrar los números comprendidos entre ellos.
3
Pasar 4 números como parámetros y mostrar los números comprendidos entre primer y segundo
número, luego mostrar los números entre el tercer y cuarto número.
4
Dado un arreglo de 2 dimensiones N x M calcular la suma de los elementos.
M y N deben ser pasados como parámetro.
5
Dado un arreglo de 2 dimensiones N x M calcular el promedio de los elementos y mostrar los
elementos superiores al promedio.
M y N deben ser pasados como parámetro.
6
Dado un arreglo de 3 dimensiones calcular la suma de los elementos por fila y la suma de los
elementos por columna.
7
Haga un programa que sume dos vectores representados mediante arreglos.
21
70
20
+
15
30
20
=
36
100
40
8
Leer una matriz de 3 por 3 elementos y calcular la suma de cada una de sus filas y columnas,
dejando dichos resultados en dos vectores, uno de la suma de las filas y el otro de las columnas.
4
1
5
Suma de filas
21
10
20
4
2
6
Msc. Walter Fernandez Toglio.
6
3
7
7
4
2
9
C
CE
EN
NTTR
RO
OS
SU
UP
PE
ER
RIIO
OR
RS
SU
UP
PE
ER
RIIO
OR
RD
DE
EA
ALLTTA
A
E
S
P
E
C
I
A
L
I
Z
A
C
I
Ó
N
Y
A
S
E
S
O
R
Í
A
ESPECIALIZACIÓN Y ASESORÍA
http://www.cfape.com
P
PR
RO
OG
GR
RA
AM
MA
AC
CIIÓ
ÓN
NE
EN
N LLA
AP
PLLA
ATTA
AFFO
OR
RM
MA
AW
WIIN
ND
DO
OW
WS
S http://www.cfape.com/
P
P
R
O
G
R
A
M
A
C
Ó
N
A
V
A
N
V
E
B
Á
S
C
O
C
U
R
S
O
O
N
N
E
PR
RO
OG
GR
RA
AM
MA
AC
CIIIÓ
ÓN
N JJJA
AV
VA
AN
NIIIV
VE
ELLL B
BÁ
ÁS
SIIIC
CO
O (((C
CU
UR
RS
SO
OO
ON
N---LLLIIIN
NE
E)))
Suma de columnas
10
12
16
13
9 Calcular la suma de todos los elementos de un array de 3 X 4 X 5, asi como la media aritmetica.
1
(1,1,1)
2
(1,2,1)
3
4
5
(1,1,2)
6
(1,2,2)
7
8
5
6
7
8
2
2
2
2
4
3
2
1
3
3
4
4
1
(1,1,3)
2
(1,2,3)
3
4
5
(2,1,3)
6
7
8
4
3
2
1
1
2
3
4
1
2
3
4
5
6
7
8
5
6
7
8
4
(3,1,4)
3
(3,2,4)
2
1
4
3
(3,2,5)
2
(3,3,5)
1
10 Se disponen de N temperaturas almacenadas en un array. Se desea calcular su media y obtener
el número de temperaturas mayores o iguales que la media.
11 Se dispone de una lista de N nombres de alumnos. Escribir un algoritmo que solicite el nombre de
un alumno, busque en la lista (array) si el nombre está en la lista.
12 Las notas de un colegio se tiene en una matriz de 30 X 5 elementos (30 número de alumnos y 5
número de asignaturas). Se desea listar las notas de cada alumno y su media. Cada alumno tiene
como mínimo 2 asignaturas y máximo cinco, aunque los alumnos no necesariamente todos tienen
que tener cinco materias.
13 Se desea realizar un algoritmo que permita controlar las reservas de plazas de un vuelo MADRIDCARACAS, de acuerdo con las siguientes normas de la compañía aérea.
 Número de plazas del avión:300.
 Plazas numeradas de 1 – 100 : Fumadores.
 Plazas numeradas de 101 – 300 : No Fumadores.
Se debe realizar la reserva a petición del pasajero y cerrar la reserva cuando no haya plazas libres
o el avión este proximo a despegar. Como ampliación de este algoritmo, considere la opción de
anulaciones imprevistas de reservas.
14 Escribir un programa que lea una cadena de caracteres que representa el nombre de una entidad
y obtenga como resultado, en otra cadena, el acrónimo de la misma.
El programa principal realizará las siguientes operaciones:
 Declarar una cadena de manera estática y de longitud 100
 Leer la cadena
 Contar el número de palabras
 Llamar a la función void ObtenerSiglas(char frase[], char *siglas)
 Mostrar los resultados por pantalla
Ejemplo:
Entrada: Tren articulado ligero Goicoechea Oriol
Salida: Tren articulado
ligero Goicoechea
Oriol
T.A.L.G.O.
15 Escribir una función que lea una frase y calcule el número de letras mayúsculas y otra función
para calcular el número de letras minúsculas.
Msc. Walter Fernandez Toglio.
10
Descargar