Está en la página 1de 23

Introducción

a Algoritmos y Java
“Desarrollador Java Inicial”

🤠 Bienvenidos! 🤠
Agenda
● Bienvenida y avisos patronales
● Concepto de Algoritmo
● Java - Características
● Sintaxis básica
○ Tipos Primitivos
○ Control de flujo
○ Vectores
Presentación
● ¿Quién soy?
● ¿Qué me gusta hacer?
● ¿Qué más haces?
● ¡Ahora les toca a ustedes!
Exámenes:
● Trabajo Práctico Integrador (en equipo)
● 2 evaluaciones (asincrónicas)
● Tests cortos de cada clase

Clases:
● Sincrónicas (martes y jueves 10am)
● De repaso adicionales (no confirmado horario)
● Las grabamos y pedimos presencia
Los equipos
● Deben identificarse con un nombre
● Deben presentarse en el foro / método de comunicación de preferencia
● Importante la comunicación y la sinceridad
Herramientas de comunicación
● Campus oficial (avisos, material, exámenes, grabaciones, etc.)
● Discord (preferentemente) con canales específicos para guardar
dudas, tutoriales, etc. Link invitación: https://discord.gg/MqfcRnjt
● Otras plataformas que me comenten sometemos a votación

Encuestas:
● Para conocer sus aptitudes (útil para formación de equipos)
Link: https://forms.gle/ZpZKHzi1DNnTPsHR8
● Para conocer su opinión
Recomendaciones
● Usar todos los recursos extras que crean necesarios (Libros, Google,
StackOverflow, IA’s)
● No frustrarse, tiene que ser un camino agradable
● Hacer todas las prácticas (hasta las más fáciles)
● No hay preguntas tontas
Algoritmo
Concepto de algoritmo
Una de las tantas definiciones: instrucciones para resolver un cálculo o un problema abstracto, es decir,
que un número finito de pasos convierten los datos de un problema (entrada) en una solución (salida)

resolución

Problema

Instrucciones

https://lightbot.com/
Otro ejemplo: Categoría Monotributo
Problema: Determinar qué categoría del monotributo corresponde una determinada persona
Entrada: Ingresos, superficie, energía eléctrica
Salida: Categoría
Ejemplo Ingresos Sup. Energía Cat?
Docente X $500.000,00 0 330 Kw ?
Energía $1000000 30 m2 10000 Kw ?
Carpintero X
eléctrica
Ingresos Sup. Afectada Vendedor X $1.112.460 0 0 ?
Categ. consumida
brutos hasta:
anualmente,
hasta: Determine a qué categoría pertenece cada ejemplo.
A $748.382,07 30 m2 3330 Kw ¿Se anima a escribir el procedimiento?
B $1.112.459,83 45 m2 5000 Kw
C $1.557.443,75 60 m2 6700 Kw
D $1.934.273,04 85 m2 10000 Kw
E $2.277.684,56 110 m2 13000 Kw
F $2.847.105,70 150 m2 16500 Kw
G $3.416.526,83 200 m2 20000 Kw
H $4.229.985,60 200 m2 20000 Kw
Otro tipo, más interactivo

Problema: Llevar contabilidad de quien usa las


herramientas de un taller
- Préstamo de herramienta
- Entrada: Una persona se lleva una
herramienta
- Salida: eso queda registrado y la herramienta
no está disponible para el siguiente
- Devolución:
- Entrada: Una devuelve una herramienta que
que pidió prestada
- Salida: La acción queda registrada y la
herramienta está disponible para el siguiente
que venga
¿Cómo expresar el problema?

- Existen diversas formas de explicar y resolver algoritmos.


- Nosotros elegiremos implementarlos en un lenguaje de programación
- Para resolver el problema nos vamos a valer de instrucciones y variables
- Variables: lugares donde se guardan datos. Los mismos pueden ser desde algo “simple”
como un número hasta una relación compleja de registros.
○ por ejemplo A = 1
○ o nombre = “José”

- Instrucciones:
○ Asignaciones, operaciones y modificaciones de una variable: A = 1 + 1
○ Evaluaciones y condicionales: elegir seguir por un camino o por otro, dependiendo
de una condición. Por ejemplo si A > 1 hacer una cosa y si no se cumple hacer otra
○ Ciclos o loops: mientras no se cumpla una determinada condición, continuar una
determinada actividad.
Java
Java
● Lenguaje de desarrollo de propósito general
● Portable: Funciona en todos los sistemas operativos
● Gran Comunidad y base de un gran número de proyectos
● Maduro
● Orientado a Objetos
● Compilado
¿Qué necesito para programar en Java?
● Un IDE: (En este caso usaremos el IDE Intellij community version)
● JRE (Java Runtime Environment): Conjunto de utilidades que permite la
ejecución de un programa Java
● JDK (Java Development Kit): software que provee herramientas de desarrollo
para la creación de programas en Java
Java - Sintaxis Básica - Variables y Tipos de datos primitivos

char unaLetra = 'a';


boolean unValorBooleano = true;
int miPrimerContador = 66;
float otroNum = 2.344f;
double unValor = 1.68;

Importante (Ya veremos qué quiere decir )


● No se le pueden invocar métodos (no tienen)
● Siempre tienen un valor NO nulo
Java - Sintaxis Básica - Operadores y Expresiones

Op Binarias básicas
int miPrimerContador = 66;
double unValor = 1.68;
10 + 20
15 - 12
miPrimerContador + 20
10 * 3
15 - 12
8 / 3
10 * 3
8 % 3 // 2
unValor / 3
2 ** 3 // 8
8 % 3

Precedencia
3 * 2 + 3

(3 * 2) + 3
Java - Sintaxis Básica - Booleanos

Operaciones y predicados
int miPrimerContador = 66;
10 > 20 double unValor = 1.68;
15 >= 12 double otroValor = 1.67;
10 == 3
8 != 3
unValor == (otroValor + 0.01)

boolean unBooleano = true;


boolean otroBooleano = false;

! unBooleano // false
unBooleano && otroBooleano // false Relacionar con condiciones
unBooleano || otroBooleano // true “Monotributo”

unBooleano && (otroBooleano || True) //


true
Java - Sintaxis Básica - Condicionales

if(unValor < otroNum) { char unaLetra = 'a'; unBooleano && (otroBooleano || True)
//una accion switch (unaLetra){ if(unValor < otroNum) {
} case 'b': //una accion
if(unValor < otroNum) { //Hacer A }
//una accion break;
} else { case 'a': int unValor = 1;
//otra accion //Hacer B int otroValor = 2;
} break;
default: boolean unaCond = unValor == (otroValor + 1);
//Hacer Z
}
if(unaCond) {
// hacer algo
}

Relacionar con resolución


de “Monotributo”
Java - Salida Básica - System Out

Todos los lenguajes de programación tienen una forma de enviar información al usuario, ya
sea mediante ventanas o lo que llamamos la “consola”. En este curso, utilizaremos mucho
mostrar contenidos de variables e información usando el comando:

System.out.println(...) Todavía falta para que comprendamos


//Ejemplos por qué hay puntos o que es “System”,
pero rápidamente, hay algo denominado
System.out.println(1) ;
“Clase”, que representa conceptos de
System.out.println(‘a’) ; distinto tipo y ofrece funcionalidades
System.out.println(true) ; varias.
Por ahora simplemente lo usaremos y en
int x = 14;
una pocas clases entenderemos la
System.out.println(x); estructura de lo que estamos usando.
Java - Sintaxis Básica - Bucles

while(condicionX){ int unNum = 10;


//Una Accion while(unNum > 0){
//En algun momento se tiene System.out.println(unNum);
// modificar la condicionX unNum = unNum -1;
} }

for(inicia;condicionX;cambiaElemento){ for(int otroNum=0;otroNum<10;otroNum++){


//Una Accion System.out.println(otroNum);

} }

Relacionar con Programa de


préstamo de herramientas
🤓
Antes de la próxima
clase…
● Completar la encuesta
● Presentarse en el foro!
● Instalarse Discord/ Unirse al canal
● Instalarse Intellij + JDK
● Recomendación: Hacer los ejercisios + test de revisión
● Apuntar dudas en el foro/Discord
Gracias!

También podría gustarte