Está en la página 1de 41

Algoritmos y Programación I

Andrés A. Aristizábal P.
aaaristizabal@icesi.edu.co

Universidad Icesi
Facultad de Ingeniería
2020-2

Andrés A. Aristizábal P. (Universidad ICESI) Algoritmos y Programación I 1 / 22


Agenda del día

1 Unidad 2: División de Responsabilidades y Contratos


Control de lectura
Contenedores de tamaño fijo
Ejercicios

Andrés A. Aristizábal P. (Universidad ICESI) Algoritmos y Programación I 2 / 22


Unidad 2: División de Responsabilidades y Contratos Control de lectura

Agenda del día

1 Unidad 2: División de Responsabilidades y Contratos


Control de lectura
Contenedores de tamaño fijo
Ejercicios

Andrés A. Aristizábal P. (Universidad ICESI) Algoritmos y Programación I 3 / 22


Unidad 2: División de Responsabilidades y Contratos Control de lectura

Control de lectura

Instrucciones

1 Ingresar a https://www.socrative.com
2 Log in
3 Student Login
4 Room name: FTJF5SP
5 Nombre
6 Comenzar

Andrés A. Aristizábal P. (Universidad ICESI) Algoritmos y Programación I 4 / 22


Unidad 2: División de Responsabilidades y Contratos Contenedores de tamaño fijo

Agenda del día

1 Unidad 2: División de Responsabilidades y Contratos


Control de lectura
Contenedores de tamaño fijo
Ejercicios

Andrés A. Aristizábal P. (Universidad ICESI) Algoritmos y Programación I 5 / 22


Unidad 2: División de Responsabilidades y Contratos Contenedores de tamaño fijo

Contenedores de tamaño fijo

¿Qué es un contenedor de tamaño fijo?

Andrés A. Aristizábal P. (Universidad ICESI) Algoritmos y Programación I 6 / 22


Unidad 2: División de Responsabilidades y Contratos Contenedores de tamaño fijo

Contenedores de tamaño fijo

¿Qué es un contenedor de tamaño fijo?


En Java, las estructuras contenedoras de tamaño fijo se denominan arreglos
(arrays).

Andrés A. Aristizábal P. (Universidad ICESI) Algoritmos y Programación I 6 / 22


Unidad 2: División de Responsabilidades y Contratos Contenedores de tamaño fijo

Contenedores de tamaño fijo

¿Qué es un contenedor de tamaño fijo?


En Java, las estructuras contenedoras de tamaño fijo se denominan arreglos
(arrays).
Son capaces de agrupar una secuencia de valores.

Andrés A. Aristizábal P. (Universidad ICESI) Algoritmos y Programación I 6 / 22


Unidad 2: División de Responsabilidades y Contratos Contenedores de tamaño fijo

Contenedores de tamaño fijo

¿Qué es un contenedor de tamaño fijo?


En Java, las estructuras contenedoras de tamaño fijo se denominan arreglos
(arrays).
Son capaces de agrupar una secuencia de valores.
Un arreglo puede definirse como un grupo o una colección finita, homogénea y
ordenada de elementos.

Andrés A. Aristizábal P. (Universidad ICESI) Algoritmos y Programación I 6 / 22


Unidad 2: División de Responsabilidades y Contratos Contenedores de tamaño fijo

Contenedores de tamaño fijo

¿Qué es un contenedor de tamaño fijo?


En Java, las estructuras contenedoras de tamaño fijo se denominan arreglos
(arrays).
Son capaces de agrupar una secuencia de valores.
Un arreglo puede definirse como un grupo o una colección finita, homogénea y
ordenada de elementos.
Los arreglos pueden ser de una o varias dimensiones.

Andrés A. Aristizábal P. (Universidad ICESI) Algoritmos y Programación I 6 / 22


Unidad 2: División de Responsabilidades y Contratos Contenedores de tamaño fijo

Contenedores de tamaño fijo

¿Qué más podemos decir acerca de los arreglos?

Andrés A. Aristizábal P. (Universidad ICESI) Algoritmos y Programación I 7 / 22


Unidad 2: División de Responsabilidades y Contratos Contenedores de tamaño fijo

Contenedores de tamaño fijo

¿Qué más podemos decir acerca de los arreglos?


Es una estructura de datos con una capacidad pre-definida en la cual se pueden
almacenar datos del mismo tipo.

Andrés A. Aristizábal P. (Universidad ICESI) Algoritmos y Programación I 7 / 22


Unidad 2: División de Responsabilidades y Contratos Contenedores de tamaño fijo

Contenedores de tamaño fijo

¿Qué más podemos decir acerca de los arreglos?


Es una estructura de datos con una capacidad pre-definida en la cual se pueden
almacenar datos del mismo tipo.
Estos datos son almacenados en forma secuencial en la memoria y ocupan una
determinada cantidad de bytes según cual sea el tipo de dato.

Andrés A. Aristizábal P. (Universidad ICESI) Algoritmos y Programación I 7 / 22


Unidad 2: División de Responsabilidades y Contratos Contenedores de tamaño fijo

Contenedores de tamaño fijo

¿Qué más podemos decir acerca de los arreglos?


Es una estructura de datos con una capacidad pre-definida en la cual se pueden
almacenar datos del mismo tipo.
Estos datos son almacenados en forma secuencial en la memoria y ocupan una
determinada cantidad de bytes según cual sea el tipo de dato.
La capacidad de un arreglo se declara desde el primer momento cuando este es
construido, y no puede cambiar en tiempo de ejecución.

Andrés A. Aristizábal P. (Universidad ICESI) Algoritmos y Programación I 7 / 22


Unidad 2: División de Responsabilidades y Contratos Contenedores de tamaño fijo

Contenedores de tamaño fijo

¿Qué más podemos decir acerca de los arreglos?


Es una estructura de datos con una capacidad pre-definida en la cual se pueden
almacenar datos del mismo tipo.
Estos datos son almacenados en forma secuencial en la memoria y ocupan una
determinada cantidad de bytes según cual sea el tipo de dato.
La capacidad de un arreglo se declara desde el primer momento cuando este es
construido, y no puede cambiar en tiempo de ejecución.
Cada dato almacenado es considerado un elemento al cual se accede por un
índice de posición (un número entero no negativo).

Andrés A. Aristizábal P. (Universidad ICESI) Algoritmos y Programación I 7 / 22


Unidad 2: División de Responsabilidades y Contratos Contenedores de tamaño fijo

Contenedores de tamaño fijo

¿Qué más podemos decir acerca de los arreglos?


Es una estructura de datos con una capacidad pre-definida en la cual se pueden
almacenar datos del mismo tipo.
Estos datos son almacenados en forma secuencial en la memoria y ocupan una
determinada cantidad de bytes según cual sea el tipo de dato.
La capacidad de un arreglo se declara desde el primer momento cuando este es
construido, y no puede cambiar en tiempo de ejecución.
Cada dato almacenado es considerado un elemento al cual se accede por un
índice de posición (un número entero no negativo).

Andrés A. Aristizábal P. (Universidad ICESI) Algoritmos y Programación I 7 / 22


Unidad 2: División de Responsabilidades y Contratos Contenedores de tamaño fijo

Contenedores de tamaño fijo

¿Cómo se declara un arreglo?

Andrés A. Aristizábal P. (Universidad ICESI) Algoritmos y Programación I 8 / 22


Unidad 2: División de Responsabilidades y Contratos Contenedores de tamaño fijo

Contenedores de tamaño fijo

¿Cómo se declara un arreglo?


Se debe especificar el tipo de dato y asignarle un nombre para su posterior
referencia.

Andrés A. Aristizábal P. (Universidad ICESI) Algoritmos y Programación I 8 / 22


Unidad 2: División de Responsabilidades y Contratos Contenedores de tamaño fijo

Contenedores de tamaño fijo

¿Cómo se declara un arreglo?


Se debe especificar el tipo de dato y asignarle un nombre para su posterior
referencia.

Andrés A. Aristizábal P. (Universidad ICESI) Algoritmos y Programación I 8 / 22


Unidad 2: División de Responsabilidades y Contratos Contenedores de tamaño fijo

Contenedores de tamaño fijo

¿Cómo se construye un arreglo?

Andrés A. Aristizábal P. (Universidad ICESI) Algoritmos y Programación I 9 / 22


Unidad 2: División de Responsabilidades y Contratos Contenedores de tamaño fijo

Contenedores de tamaño fijo

¿Cómo se construye un arreglo?


Se utiliza new como lo hacemos para construir una instancia de una clase (ej,
Scanner), ya que un arreglo es también un objeto.

Andrés A. Aristizábal P. (Universidad ICESI) Algoritmos y Programación I 9 / 22


Unidad 2: División de Responsabilidades y Contratos Contenedores de tamaño fijo

Contenedores de tamaño fijo

¿Cómo se construye un arreglo?


Se utiliza new como lo hacemos para construir una instancia de una clase (ej,
Scanner), ya que un arreglo es también un objeto.

Andrés A. Aristizábal P. (Universidad ICESI) Algoritmos y Programación I 9 / 22


Unidad 2: División de Responsabilidades y Contratos Contenedores de tamaño fijo

Contenedores de tamaño fijo

¿Cómo se realiza la asignación de valores?

Andrés A. Aristizábal P. (Universidad ICESI) Algoritmos y Programación I 10 / 22


Unidad 2: División de Responsabilidades y Contratos Contenedores de tamaño fijo

Contenedores de tamaño fijo

¿Cómo se realiza la asignación de valores?


Cuando se construye un arreglo todos sus elementos se inicializan con el valor
predeterminado del tipo de dato.

Andrés A. Aristizábal P. (Universidad ICESI) Algoritmos y Programación I 10 / 22


Unidad 2: División de Responsabilidades y Contratos Contenedores de tamaño fijo

Contenedores de tamaño fijo

¿Cómo se realiza la asignación de valores?


Cuando se construye un arreglo todos sus elementos se inicializan con el valor
predeterminado del tipo de dato.
Los objetos siempre son null mientras que un dato primitivo como un int vale
0.

Andrés A. Aristizábal P. (Universidad ICESI) Algoritmos y Programación I 10 / 22


Unidad 2: División de Responsabilidades y Contratos Contenedores de tamaño fijo

Contenedores de tamaño fijo

¿Cómo se realiza la asignación de valores?


Cuando se construye un arreglo todos sus elementos se inicializan con el valor
predeterminado del tipo de dato.
Los objetos siempre son null mientras que un dato primitivo como un int vale
0.
Teniendo un arreglo ya construido la sintaxis para asignar o modificar el valor de
un elemento es:

Andrés A. Aristizábal P. (Universidad ICESI) Algoritmos y Programación I 10 / 22


Unidad 2: División de Responsabilidades y Contratos Contenedores de tamaño fijo

Contenedores de tamaño fijo

¿Cómo se realiza la asignación de valores?


Cuando se construye un arreglo todos sus elementos se inicializan con el valor
predeterminado del tipo de dato.
Los objetos siempre son null mientras que un dato primitivo como un int vale
0.
Teniendo un arreglo ya construido la sintaxis para asignar o modificar el valor de
un elemento es:

Andrés A. Aristizábal P. (Universidad ICESI) Algoritmos y Programación I 10 / 22


Unidad 2: División de Responsabilidades y Contratos Contenedores de tamaño fijo

Contenedores de tamaño fijo

¿Cómo se accede a los elementos de un arreglo?

Andrés A. Aristizábal P. (Universidad ICESI) Algoritmos y Programación I 11 / 22


Unidad 2: División de Responsabilidades y Contratos Contenedores de tamaño fijo

Contenedores de tamaño fijo

¿Cómo se accede a los elementos de un arreglo?


Sólo se debe especificar el nombre de la referencia del arreglo y el índice del
elemento, la sintaxis es:

Andrés A. Aristizábal P. (Universidad ICESI) Algoritmos y Programación I 11 / 22


Unidad 2: División de Responsabilidades y Contratos Contenedores de tamaño fijo

Contenedores de tamaño fijo

¿Cómo se accede a los elementos de un arreglo?


Sólo se debe especificar el nombre de la referencia del arreglo y el índice del
elemento, la sintaxis es:

Andrés A. Aristizábal P. (Universidad ICESI) Algoritmos y Programación I 11 / 22


Unidad 2: División de Responsabilidades y Contratos Contenedores de tamaño fijo

Contenedores de tamaño fijo

Ejemplo
Cree un programa para calcular el promedio del semestre de un estudiante
universitario que cursa 5 materias. Tendrá dos arreglos, uno con las notas y otro con
los créditos y a partir de ellos deberá mostrar en pantalla el promedio.

Andrés A. Aristizábal P. (Universidad ICESI) Algoritmos y Programación I 12 / 22


Unidad 2: División de Responsabilidades y Contratos Contenedores de tamaño fijo

Contenedores de tamaño fijo

Ejemplo
Cree un programa para calcular el promedio del semestre de un estudiante
universitario que cursa 5 materias. Tendrá un arreglo con los créditos y deberá ir
solicitando la nota de cada materia para luego calcular el promedio semestral. En otro
arreglo debe quedar guardado cada una de las notas de las 5 materias.

Andrés A. Aristizábal P. (Universidad ICESI) Algoritmos y Programación I 13 / 22


Unidad 2: División de Responsabilidades y Contratos Ejercicios

Agenda del día

1 Unidad 2: División de Responsabilidades y Contratos


Control de lectura
Contenedores de tamaño fijo
Ejercicios

Andrés A. Aristizábal P. (Universidad ICESI) Algoritmos y Programación I 14 / 22


Unidad 2: División de Responsabilidades y Contratos Ejercicios

Ejercicios

Ejercicio
Crea un arreglo de 10 posiciones de números enteros con valores pedidos por
teclado. Muestre por consola el índice y el valor al que corresponde.

Andrés A. Aristizábal P. (Universidad ICESI) Algoritmos y Programación I 15 / 22


Unidad 2: División de Responsabilidades y Contratos Ejercicios

Ejercicios

Ejercicio
Crea un arreglo de números enteros de 100 posiciones, que contendrá los números
del 1 al 100. Obtenga la suma de todos ellos y la media.

Andrés A. Aristizábal P. (Universidad ICESI) Algoritmos y Programación I 16 / 22


Unidad 2: División de Responsabilidades y Contratos Ejercicios

Ejercicios

Ejercicio
Cree un programa que a partir de un arreglo de notas de cualquier tamaño (definido
en el código), las modifique a través de una curva de 0.5 (en el arreglo) y las imprima.

Andrés A. Aristizábal P. (Universidad ICESI) Algoritmos y Programación I 17 / 22


Unidad 2: División de Responsabilidades y Contratos Ejercicios

Ejercicios

Ejercicio
Cree un programa que a partir de un arreglo de notas de cualquier tamaño (definido
en el código), indique aquellas que estuvieron entre 3.5 y 4.5.

Andrés A. Aristizábal P. (Universidad ICESI) Algoritmos y Programación I 18 / 22


Unidad 2: División de Responsabilidades y Contratos Ejercicios

Ejercicios

Ejercicio
Cree un programa que a partir de un arreglo de notas de cualquier tamaño (definido
en el código) indique si al menos 3 estudiantes reprobaron.

Andrés A. Aristizábal P. (Universidad ICESI) Algoritmos y Programación I 19 / 22


Unidad 2: División de Responsabilidades y Contratos Ejercicios

Ejercicios

Ejercicio
Cree un programa, que a partir de un arreglo de enteros de cualquier tamaño
(definido en el código), indique, por cada elemento, si hay un número par dentro del
arreglo estrictamente mayor a él.

Andrés A. Aristizábal P. (Universidad ICESI) Algoritmos y Programación I 20 / 22


Unidad 2: División de Responsabilidades y Contratos Ejercicios

Ejercicios

Ejercicio
Cree un programa, que a partir de un arreglo de enteros de cualquier tamaño
(definido en el código), indique, por cada elemento, cuántos divisores tiene dentro del
arreglo y a cuántos puede dividir.

Andrés A. Aristizábal P. (Universidad ICESI) Algoritmos y Programación I 21 / 22


Unidad 2: División de Responsabilidades y Contratos Ejercicios

Ejercicios

Ejercicio
Cree un programa, que a partir de un arreglo de enteros de cualquier tamaño
(definido en el código), indique cuál es la moda.

Andrés A. Aristizábal P. (Universidad ICESI) Algoritmos y Programación I 22 / 22

También podría gustarte