Sunteți pe pagina 1din 29

UNIDAD I:

ARREGLOS UNIDIMENSIONALES
Estructura de Datos

Estructuras de Datos
(en memoria principal)

LINEALES
LINEALES NO
NOLINEALES
LINEALES

Estáticas
Estáticas Dinámicas
Dinámicas Jerárquicas
Jerárquicas No
Nojerárquicas
jerárquicas

• Variables • Listas • Árboles • Grafos


• Arreglos

Forma de organización de los datos en la memoria principal del computador


ESTRUCTURAS DE DATOS

Arreglos

Definición
Definición

Los arreglos son estructuras de datos que almacenan datos del


mismo tipo. Los arreglos son entidades estáticas en cuanto a
que su tamaño no cambia una vez que han sido creadas.
Los arreglos pueden ser:

•• Unidimensionales
Unidimensionales ::Vectores
Vectores
•• Bidimensionales
Bidimensionales ::Matrices
Matrices

En ambos casos se debe declarar, crear e inicializar el arreglo


antes de usar el mismo.
 Los arreglos son estructuras de datos que
almacenan datos del mismo tipo.

 Los arreglos son entidades estáticas en cuanto a


que su tamaño no cambia una vez que han sido
creadas.

 También se les conoce como Arrays.

 Cada uno de los elementos de los que consta un


arreglo tiene asignado un índice que indica la
posición en la que se encuentra almacenado.
Arreglos

• El primer elemento del arreglo tiene índice cero


(0) y el último tiene índice tamaño_del_arreglo –
1.

• Tipos de arreglos:

– Unidimensionales – Vectores

– Bidimensionales - Matrices
Tipos de Arreglos
VECTOR

Vector

índice 0 tamaño-1

MATRIZ
Matriz
índice
0 j -1
0 ( 0,0 )

i -1

i = número de filas
j = número de columnas
Propiedades de los Arreglos
• Se utilizan como contenedores para almacenar
datos relacionados (en vez de declarar variables
por separado para cada uno de los elementos
del arreglo).

• Todos los datos incluidos en el arreglo son del


mismo tipo.

• El tamaño del arreglo se establece cuando se


crea con la palabra reservada new.

• Se accede a los elementos del arreglo a través


de la posición que ocupan dentro de él, esto se
logra utilizando los índices de cada una de las
posiciones.
Arreglos: Secuencia de pasos

Para trabajar con arreglos se debe seguir la


siguiente secuencia de pasos:

1. Declaración
2. Creación
3. Inicialización
4. Ingreso de datos
ESTRUCTURAS DE DATOS

Arreglo Unidimensional - Vector

• Arreglos unidimensionales o vectores simples


Representación gráfica:

numeros[ ] tamaño=4 ElElúltimo


últimoelemento
elementosiempre
siempre
0 1 2 3 seseencuentra en la posición:
encuentra en la posición:
tamaño
tamaño- -11
32 -2 0 174

nombres[ ] tamaño=6

0 1 2 3 4 5

“Juan” “Jose” “Cindy” “Ivette” “Jessica” “Wilbe”


ESTRUCTURAS DE DATOS

Arreglo Unidimensional - Vector

Declaración
Declaración

En Pseudocódigo En Java

tipoDato nombre_del_vector [ ] tipoDato nombre_del_vector [ ] ;


ó
tipoDato [ ] nombre_del_vector ;

Ejemplos: Ejemplos:
TEXTO nombres [ ] String nombres [ ] ;

NUMERO sueldos [ ] double sueldos [ ] ;

CARACTER letras [ ] char letras [ ] ;


ESTRUCTURAS DE DATOS

Arreglo Unidimensional - Vector

Creación
Creación

En Pseudocódigo En Java

CREAR nombre_del_vector [tamaño] nombre_del_vector = new tipoDato [tamaño] ;

Ejemplos; Ejemplos;
CREAR nombres [10 ] nombres = new String [10] ;

CREAR sueldos [numNot] sueldos = new double [numNot] ;

CREAR letras [LONGITUD texto] letras = new char [texto.length()] ;


ESTRUCTURAS DE DATOS

Arreglo Unidimensional - Vector

Inicialización
Inicialización

En Pseudocódigo
nombre_del_vector[ ] = { valor1, valor2, valor3, valor4, … , valorN }

Ejemplos;

edades[] = {12,14,15,23,76,3,10}

En Java
nombre_del_vector[ ] = { valor1, valor2, valor3, valor4, … , valorN };
Ejemplos;

edades[] = {12,14,15,23,76,3,10};
ESTRUCTURAS DE DATOS

Arreglo Unidimensional - Vector

Ingreso
Ingresode
deDatos
Datos

En Pseudocódigo En Java

nombre_del_vector[índice] = valor nombre_del_vector[índice] = valor ;

Ejemplos; Ejemplos;

nombres [0 ] = “Danae” nombres [0 ] = “Danae” ;

sueldos [1] = 100.5 sueldos [1] = 100.5 ;

letras [x] = ‘J’ letras [x] = ‘J’ ;

Cuando empleamos vectores podemos utilizar las estructuras lógicas de repetición para optimizar de
manera significativa el proceso de ingreso de datos especialmente utilizando la estructura DESDE (for).
ESTRUCTURAS DE DATOS

Arreglo Unidimensional - Vector

Tamaño
Tamañodel
delVector
Vector

En Pseudocódigo En Java

variable = LONGITUD nombre_del_vector [ ] variable = nombre_del_vector.length ;

Ejemplos: Ejemplos:

tamaño = LONGITUD nombres [ ] tamaño = nombres.length ;

tamaño = LONGITUD sueldos [ ] tamaño = sueldos.length ;

tamaño = LONGITUD letras [ ] tamaño = letras.length ;


ESTRUCTURAS DE DATOS

Arreglo Unidimensional - Vector

Declaración
Declaraciónyycreación
creación
En Java

tipoDato nombre_del_vector [ ] = new tipoDato [tamaño] ;

Declaración,
Declaración,creación
creacióneeinicialización
inicialización

En Java

tipoDato nombre_del_vector[ ] = { valor1, valor2, valor3, valor4, … , valorN } ;


ESTRUCTURAS DE DATOS

Arreglo Unidimensional - Vector

Ingreso
Ingresode
dedatos
datosusando
usandoestructura
estructurade
derepetición
repeticiónfor
for

//Ingresar 10 nombres cualesquiera en un vector

String nombres[];

nombres= new String[10];

for(int i=0;i<nombres.length;i++){
System.out.println ("Ingrese nombre");
nombres[i]=br.next();
}
ESTRUCTURAS DE DATOS

Arreglo Unidimensional - Vector

Mostrar
Mostrardatos
datosusando
usandoestructura
estructurade
derepetición
repeticiónfor
for

//Mostrar los nombres que están almacenados en un vector

String listado="";

for(int i=0;i<nombre.length;i++){
listado+=nombre[i]+"\n";
}

System.out.println(listado);

Mostrar que sucede si no se usa el acumulador listado.


MÉTODO 6’D – SOLUCIONES OO EN UNA CLASE

PROBLEMA 02:
ETAPA 1 ENUNCIADO
ENUNCIADO

Desarrollar una solución que permita ingresar


y almacenar la nota (notas[]) de 10 alumnos de
un salón de clase y determinar el promedio
Descripción final (prom). Mostrar el promedio. Consistenciar
Problema el ingreso de datos.
1. Identificación del
problema.
Utilice vectores simples.
2. Descripción
general del
problema.
3. Enunciado claro y
preciso del
problema.
 Desarrollar un programa que permita almacenar las edades
de todos los integrantes de un equipo de fútbol. Además se
conoce que se formaran 2 ligas: la menores y la de mayores,
La liga de los menores estará formada por los integrantes que
tengan menos de 17 años y la mayores los mayores a 17
 Calcular y mostrar :
◦ La suma de edades
◦ La edad promedio
◦ La mayor y la menor edad
 Se conoce además que se necesitan 20 integrantes
mínimo por cada liga. Que ligas se formaron??
UNIDAD I:
MANEJO DE CADENAS
 Una cadena es una secuencia de caracteres.
Las cadenas son una parte fundamental de la
mayoría de los programas, así pues Java tiene
varias características incorporadas que
facilitan la manipulación de cadenas.
 Java tiene una clase incorporada en el
paquete java.lang que encapsula las
estructuras de datos de una cadena. Esta
clase, llamada String es la representación
como objeto de un arreglo de caracteres que
no se puede cambiar.
 En Java las cadenas se tratan de forma
diferente a C++, donde las cadenas son
arreglos de caracteres en los que se indica el
final de la cadena con un carácter de valor
‘\0’.
 Una string es una variable referenciada
asociada a un objeto de la clase
java.lang.String. Se emplea para almacenar
cadenas de caracteres.
 Las strings tienen una característica que las

diferencia del resto de objetos: son


inmutables, es decir, cuando se intenta
modificarlas, por ejemplo al aplicarles un
método, no se modifican sino que se crea
otra string nueva.
 Para crear un string explícitamente se
escribe:
String cadena = new String("El primer
programa");
 También se puede escribir, alternativamente

String cadena = "El primer programa";


 length ( )
Devuelve la longitud de la cadena de
caracteres (String), incluyendo los espacios en
blanco. La longitud es siempre una unidad
mayor que el índice asociado al último
caracter de la cadena.
 indexOf ( )
Devuelve el índice en el que aparece por
primera vez el caracter deseado. En caso de
no encontrarlo devuelve el valor -1.
 lastIndexOf ( )
Devuelve el índice de la posición en la que
aparece por última vez el caracter deseado.
En caso de no encontrarlo devuelve el valor
-1.
 toUpperCase ( )
 toLowerCase()
 equals ( )
Compara dos cadenas de caracteres y
determina si son iguales o no.