Cuaderno Programacion en Java
Cuaderno Programacion en Java
PROGRAMACION II
FRANCISCO SALAZAR
SEGUNDO PARCIAL
1.1.TEORA
1.1.1. DEFINICION DE ALGORITMO
1.1.2.ESTRUCTURAS DE CONTROL
a) Estructuras secuenciales:
Son estructuras que ejecutan instrucciones una a continuacin de otra. Ejemplo: Funciones
de lectura y Escritura.
b) Estructuras condicionales:
Son estructuras que se usan para condicionar una o varias instrucciones. Ejemplo:
if, if-else, if-elseif, switch.
c) Estructuras de repeticin:
Son instrucciones que se usan para repetir una o varias instrucciones. Ejemplo:
for(), while, do-while.
Se debe instalar primero la versin adecuada de JDK (API de Java) para trabajar con la maquina
virtual de Java en una determinada plataforma.
La funcin publicestatic siempre est cargada en memoria durante el tiempo que dure la
ejecucin del programa y disponible para todos los elementos del paquete.
Manejo de flujos de datos:
Libreras:
java.io.BufferedReader
java.io.IOException
Java.io.InputStreamReader
FLUJO DE SALIDA
System.out.printf(texto);
FLUJO DE ENTRADA
InputStreamReaderisr=newInputStreamReader(system.in);
sData=streamInput.readline();
1.1.4. FUNCIONES
Una funcin es un mini programa dentro de de un programa. Las funciones contienen varias
sentencias bajo un solo nombre, que un programa puede utilizar una o ms veces. Para
ejecutar dichas sentencias.
Cuerpo de la funcin;
Return(Expresin);
En java el nico tipo de paso de parmetros que se utiliza es por valor, no existe paso de
parmetros por direccin ni por referencia.
Se puede trabajar tambin con propiedades pblicas que asignen y retornen valores, con
descriptores de acceso como son getters y setters.
Adicionalmente se puede trabajar con arreglos para leer y modificar datos dentro de una
funcin.
Un array es una estructura de datos que permite almacenar muchos elementos del mismo
tipo, tales como 20 enteros, 50 flotantes y 15 caracteres.
Float[] nombre=new float[tamao];
2.1 Definicin de una clase: Una clase es un tipo de dato definido por el usuario. La
estructura general de una clase es la siguiente:
ClassNombre.de.la. clase
{
Datos Miembro-atributos
Funciones Miembro-Mtodos
2.2.1 Datos miembro: En C++, java y C# la declaracin de una dato miembro de una
clase es exactamente igual a la declaracin de cualquier variable , pero un dato
miembro de una clase no puede ser inicializado, porque solo se est realizando
la definicin del tipo de dato y todava no se crea la memoria para almacenar
dicho dato. A los datos miembros tambin se los conoce como atributos de
una clase que son las caractersticas que definen a la misma.
2.2.2 Funciones Miembro: Las funciones miembro de una clase son declaradas y
definidas en el cuerpo de la clase y definen las operaciones que se quieren
realizar con los datos miembro de esa clase. A las funciones tambin se las
conoce como mtodos de la clase por ser las operaciones de la misma.
2.3 Especificadores de Acceso. Debido a que el concepto de clase incluye la idea de
ocultacin de datos para restringir el acceso a los datos miembros de una clase, se
provee las palabras reservadas: private, public y protected
2.3.1 Private(-): Un miembro declarado como private (privado), pude ser utilizado
solamente por las funciones miembro de su propia clase.
2.3.2 Public(+): Un miembro declarado como public (publico) es accesible en
cualquier parte del programa donde el objeto de la clase en cuestin sea
accesible.
2.3.3 Protected(#):Un miembro declarado como protected(protegido) se comporta
exactamente igual que uno private (privado) para las funciones externas, pero
acta como un miembro public (publico) para las funciones miembro de una
clase derivada.
2.4 Objeto
Un objeto es la instancia de una clase, o un dato de tipo class. Por ejemplo:
Public class circle
//Datos
//Funciones
Objeto Constructor
Construir el objeto y
Luego cargarlo en memoria
2.5 Constructor
Un constructor es una funcin miembro especial de una clase, que se utiliza para
crear e inicializar un objeto de esa clase. Un constructor se define con el mismo
nombre de la clase a la que pertenece y no puede retornar un valor por que tiene un
apuntador implcito a la propia clase, pero puede tener parmetros que sirven para
inicializar el objeto. Ejemplo:
{
Se comportan como
//Datos miembro atributos
Variables globales
private float mRadius; Con respecto a la clase.
Dato miembro
privatefloatmArea;
publicCircle ();
{
Circle C1= new Circle ();
mRadius = r;
Circle2 = new Circle (5);
}
DotOperator
(Operador Punto)
3.2.1 Vector: Un segmento de recta queda determinado por sus puntos extremos, si
estos puntos estn dados en cierto orden se dice que el segmento est
orientado y a este segmento orientado se lo llama vector.
Debe poseer: magnitud, direccin y sentido.
g(x) V=(Vx, Vy)
U=(Ux, Uy)
W=V+U=(Vx+Ux; vy+Uy)
W=V-U=(Vx-Ux; vy-Uy)
-x 0 x
C=A+B=(6,3)
g(x)
D=A+B=(-2,7)
Parmetros= valores que recibe la funcin.
4. Asociacin y Composicin
4.1 Asociacin: Se podra definir como el momento en que dos objetos se unen
para trabajar juntos y as alcanzar una meta. Un punto a tomar muy en cuenta es que ambos
objetos son independientes entre si. Para validar la asociacin, la frase Usa un, debe tener
sentido. Por ejemplo
Cdigo:
privateintmID;
privateCreditCardmCreditCard;
publicCustoner(){
this.mCreditCard=creditCard;
Cdigo:
public Laptop(){
En la asociacin:
En la composicin:
1. Los objetos que componen a la clase contenedora deben existir desde el principio.
2. No hay momento (no debera) en que la clase contenedora pueda existir sin alguno
de sus objetos componentes. Por lo que la existencia de estos objetos no debe ser
abiertamente manipulada desde el exterior de la clase.
Custoner Laptp
CreditCard Keyboard
Matriz
Definicin
Una matriz es una tabla bidimensional de datos. Las matrices pueden ser utilizadas para
realizar diferentes tipos de operaciones matemticas como sumas, restas, multiplicaciones y
tambin para resolver sistemas de ecuaciones lineales, dentro de las aplicaciones
matemticas.
Una matriz se puede representar en java por un array bidimensional. Por ejemplo para
declarar una matriz de enteros de 3x3 se hara lo siguiente:
Array bidimensional
Para operar una matriz se suele trabajar sobre la misma matriz o en casos ms complejos se
suele utilizar arreglos unidimensionales como soporte para una matriz, por ejemplo un array
bidimensional de soporte para la matriz declarada anteriormente en el ejemplo seria el
siguiente:
Por ejemplo:
//Definir matriz
2 4 4
6 6 9
8 10 12
{2, 4, 4],
{6, 6, 9},
{8, 10, 9}
Para realizar el recorrido o la travesa de una matriz se suele utilizar al menos dos bucles
anidados
5.4 Recorrido a travs de una matriz
for() Manejar las filas de la matriz
5. EJERCICIOS
5.2 EJERCICIOS CON FUNCIONES
ENUNCIADO:
ENUNCIADO
Los datos son ledos en una funcin a parte llama Read misma que retorna un flotante y no
recibe ningn parmetro.
Realizamos la llamada de esta funcin tres veces para asignarles los valores a las tres variables
que representan los lados del tringulo.
rea recibe como parmetro el radio y realiza las operaciones para calcular el rea.
Print Esta funcin recibe como parmetros los valores asignados a las variables rea y
permetro. Y procede a la impresin de los datos.
PRUEBA
ENUNCIADO:
FUNCION PRINCIPAL
Dentro de la funcin principal se encuentran definidas las variables que corresponden a los
lados del tringulo, y son enviadas a la funcin Perimetro despus de ser validados con una
estructura condicional if dentro de un lazo repetitivo do- while.
Los datos son ledos en una funcin a parte llama Read misma que retorna un flotante y no
recibe ningn parmetro.
Realizamos la llamada de esta funcin tres veces para asignarles los valores a las tres variables
que representan los lados del tringulo.
En esta funcin recibe como parmetro a dems de los lados del tringulo la variable s que
almacena el valor del semipermetro necesitado para el clculo del rea.
PRUEBA:
ENUNCIADO
Elaborar un programa que lea el valor de x para remplazarlo en la funcin:
() = 2 0
{
() = 2 + 3 > 0
FUNCION PRINCIPAL
En la funcin principal main declaramos las de entrada y salida. Luego llamamos a las
funciones que calculan el sistema y las condicionamos conforme nos indica el problema.
En estas funciones realizamos las operaciones indicadas por el problema. Y retornamos el valor
para el parmetro x que reciben cada funcin.
PRUEBA
ENUNCIADO:
FUNCION PRINCIPAL
Prueba de escritorio:
r c p i n
0 0 0 0 356
0 178 0 1 178
0 89 0 2 89
1 44 100 3 44
0 22 100 4 22
0 11 100 5 11
1 5 100100 6 5
1 2 1100100 7 2
0 1 1100100 8 1
1 0 101100100 9 0
ENUNCIADO:
Escribir que calcule el total de caloras consumidas dado el nmero de alimentos
consumidos y la cantidad de caloras en cada alimento.
Prueba de escritorio:
i c count x
1 0 0 3
2 144 144
3 167 311
4 126 437
a b c d e f x y
12 14 5 34 8 2 -0,03158 0,38421
ENUNCIADO
Realizar un programa que determine si un numero es o no palndromo.
Cdigo:
Corrida:
Prueba de escritorio:
n r c p i
12321 0 0 0 4
12 3 12 12300 1
1 2 1 12320 0
0 1 0 12321 -1
ENUNCIADO:
En la funcin principal podemos observar cmo se hicieron las llamadas a las funciones, tanto
para leer el nmero de filas que tendr la figura como para llamar a las funciones que
desarrollaran a la figura como tal.
En la funcin para el tringulo podemos apreciar que no retorna ningn valor ya que la
impresin se desarrolla dentro de la misma, a dems el nico parmetro que recibe es el
nmero de filas.
Para la figura necesitamos tres estructuras for, una para controlar el nmero de filas y dos para
los espacios en blanco y los asteriscos.
TRINGULO
x i j k s Imprime
0 0 0 0 0
5 1 4 0 2
2 3 0 4 *
3 2 1 6
4 1 2 8
5 0 3 ***
6 3 0
2 1
1 2
0 3
2 4 *****
1 5
0 0
1 1
0 2
0 3
4
6 *******
8 *********
La parte superior del rombo es idntica la prueba de escritorio, en la parte inferior difiere un
poco.
X i j k Imprime:
0 0 0 0
5 4 1 1
3 0 2
2 2 3
1 1 4
0 5
3 6
2 7 *******
1 8
0 1
4 2
3 3
2 4
1 5 *****
0 6
3 ***
2 *
PRUEBA:
ENUNCIADO
1 1 1 8
2 1,2 2
3 1,2,3 3
4 1,2,3,4 4
5 1,2,3,4,5 5
6 1,2,3,4,5,6 6
7 1,2,3,4,5,6,7 7
8 1,2,3,4,5,6,7,8 8
e imp fila n
1 1,2,3,4,5,6,7 7 8
2 1,2,3,4,5,6 6
3 1,2,3,4,5 5
4 1,2,3,4 4
5 1,2,3 3
6 1,2 2
7 1 1
8 0
ENUNCIADO
Prueba de escritorio:
C1
C2
5 4 7 16 8 9,8
C3 copia de C2
5 4 7 16 8 9,8
ENUNCIADO
x y
12 4
x y
11 9
A+B
x y
12+11=23 4+9=13
A-B
x Y
12-11=1 4-9=-5
B-A
x Y
11-12=-1 9-4=5
ENUNCIADO
Set
Corrida del programa
PRUEBA DE ESCRITORIO
SET
ELEMENTO: 0-1-2-3-4-5-6..39
NUMERO: 0
SET
NUMERO: 5
6. DEBERES
ENUNCIADO
PRUEBA DE ESCRITORIO
r c p i n
0 0 0 0 356
0 178 0 1 178
0 89 0 2 89
1 44 100 3 44
0 22 100 4 22
0 11 100 5 11
1 5 100100 6 5
1 2 1100100 7 2
0 1 1100100 8 1
1 0 101100100 9 0
ENUNCIADO
n x r sum n
5 2 1+2+3+4+5 0 15
5 2 1*2*3*4*5 0 120
5 2 1+2^1+2+3+4`3. 1 43
5 2 1+1^-1*1+2^1 1 0.909347
ENUNCIADO
Realice un programa que lea y haga el producto punto y cruz con vectores.
Vector
Corrida del programa
PRUEBA DE ESCRITORIO
A*B
x Y
8*4=32 5*5=25
AXB
x Y Z
JAppConsoleSetsOperation
2 2 0 2
0 5 0 5
5 7 0 7
0 9 . 9
7 1 . 1
0 3 . 3
9 2 . 2
1 7 . 7
3 . . 0
2 . . 0
7 . . 0
. . . .
. . . .
i I<S.mNum S.mElements(1)!=0 Digits.InserData2(S.mElements(i)) S.mElemts(i)==0 Zero.InserData2(S.mElements(i))
Ejercicio 2
JAppConsoleSetsOperation
C1 C1
Set SortData(C1)
20 2 0 2
30 5 0 5
50 7 0 7
10 9 . 9
40 1 . 1
-1 3 . 3
-1 2 . 2
-1 7 . 7
. . 0
. . 0
. . 0
. . .
. . .
curre current<S.m next Next<S.Nu S.mElements(current)>S.mEl temp S.mElements(current)>S. S.mElement[next]=temp
nt Num m ement[next] mElement[next]
3 3<5(v) 20>10(v)
4 4<5(v) 10>40(f)
5 5<5(f)
4 4<5(v) 20>40(f)
5 5<5(f)
4 4<5(v) 30>40(f)
5 5<5(f)
5 5<5(f)
2 2 0 2
0 5 0 5
5 7 0 7
0 9 . 9
7 1 . 1
0 3 . 3
9 2 . 2
1 7 . 7
3 . . 0
2 . . 0
7 . . 0
. . .
. . .
S.mNum i j I<S.mElements(i) Temp.mElements[j]=S.Element[i]
5 0 4 0<5(v) Temp.mElements[4]=10
1 3 1<5(v) Temp.mElements[4]=20
2 2 2<5(v) Temp.mElements[4]=30
3 1 3<5(v) Temp.mElements[4]=40
4 0 4<5(v) Temp.mElements[4]=50
5 -1
Cdigo fuente (Set)
Ejercicio 4
Realizar un programa que calcule nmeros complejos
Z= R+j(2pi fl pi(C)
p.f= R/Z
Tipo: Administrativo/docente/militar/polica
Nombre: xyz
Aporte club 10
Aporte club/colegio profesional 10
Cdigo roll
Cdigo fuente (empleado)
Cdigo fuente (program)
Ejercicio 7
Realizar un programa que de datos de una nave espacial
Clase 1
P. Deitel- H. Deitel. JAVA Como programar. Sptima Edicin. Pearson. Monterrey. Mxico.
2008.