0% encontró este documento útil (0 votos)
10 vistas23 páginas

Introducción a Algoritmos y Java

Este documento presenta una introducción a los algoritmos y al lenguaje de programación Java. Explica conceptos básicos como qué es un algoritmo, sus componentes y ejemplos. Luego introduce características de Java como su portabilidad y orientación a objetos. Finalmente resume la sintaxis básica de Java incluyendo tipos de datos, operadores, condicionales, bucles y salida por consola. El documento servirá de guía para las clases sobre desarrollo con algoritmos y Java.

Cargado por

Nazarena VV
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
10 vistas23 páginas

Introducción a Algoritmos y Java

Este documento presenta una introducción a los algoritmos y al lenguaje de programación Java. Explica conceptos básicos como qué es un algoritmo, sus componentes y ejemplos. Luego introduce características de Java como su portabilidad y orientación a objetos. Finalmente resume la sintaxis básica de Java incluyendo tipos de datos, operadores, condicionales, bucles y salida por consola. El documento servirá de guía para las clases sobre desarrollo con algoritmos y Java.

Cargado por

Nazarena VV
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

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: [Link]
● Otras plataformas que me comenten sometemos a votación

Encuestas:
● Para conocer sus aptitudes (útil para formación de equipos)
Link: [Link]
● 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

[Link]
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:

[Link](...) Todavía falta para que comprendamos


//Ejemplos por qué hay puntos o que es “System”,
pero rápidamente, hay algo denominado
[Link](1) ;
“Clase”, que representa conceptos de
[Link](‘a’) ; distinto tipo y ofrece funcionalidades
[Link](true) ; varias.
Por ahora simplemente lo usaremos y en
int x = 14;
una pocas clases entenderemos la
[Link](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 [Link](unNum);
// modificar la condicionX unNum = unNum -1;
} }

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


//Una Accion [Link](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!

Common questions

Con tecnología de IA

Un algoritmo es una secuencia de instrucciones diseñadas para resolver cálculos o problemas abstractos, convirtiendo datos de entrada en una solución de salida a través de un número finito de pasos . La implementación de algoritmos en Java se realiza mediante instrucciones y variables dentro de un lenguaje de programación, permitiendo gestionar desde datos simples hasta complejas relaciones de registros .

'System.out.println()' es una función en Java que permite imprimir argumentos en consola, facilitando el seguimiento de programas en ejecución . Esta funcionalidad es crucial para la depuración, ya que permite a los desarrolladores verificar que las variables contienen los valores esperados y entender el flujo de ejecución del programa . Este método es simple pero efectivo para obtener insights sobre el comportamiento de la aplicación mientras se desarrolla .

Java utiliza estructuras de control de flujo como las condicionales y los bucles para determinar el camino que sigue una aplicación en función de condiciones específicas. Un ejemplo de condicional es el uso de 'if-else' para tomar decisiones con base en evaluaciones lógicas, como 'if(unValor < otroNum) { //una accion } else { //otra accion }' . Los bucles, como 'while' y 'for', repiten una acción mientras se cumple una condición, por ejemplo, 'int unNum = 10; while(unNum > 0){ System.out.println(unNum); unNum = unNum -1; }' .

El Java Runtime Environment (JRE) es un conjunto de utilidades que permite la ejecución de programas Java, esencial para correr aplicaciones desarrolladas en este lenguaje . Por otro lado, el Java Development Kit (JDK) ofrece herramientas de desarrollo necesarias para la creación de programas en Java, incluyendo compiladores y bibliotecas necesarias .

Las herramientas de comunicación como el campus oficial y Discord son esenciales para la coordinación, resolución de dudas, y el acceso a materiales y grabaciones del curso . Estas plataformas facilitan la interacción entre estudiantes e instructores, permitiendo un flujo continuo de información y soporte. La importancia de tales herramientas radica en mejorar la experiencia de aprendizaje, fomentar la colaboración entre pares, y asegurar que todos los participantes tengan acceso a recursos y puedan compartir sus dudas y éxitos .

La asignación y manipulación de variables en Java implica inicializar variables con un valor y alterarlas según sea necesario mediante operaciones aritméticas y asignaciones dentro del programa, por ejemplo, 'A = 1 + 1' . Este proceso permite almacenar y utilizar datos para realizar cálculos y desarrollos lógicos necesarios para resolver problemas algorítmicos . Al ser la base de algoritmos, permite cambiar dinámicamente el estado de un programa y es crucial en el diseño de soluciones .

En Java, las variables se utilizan para almacenar datos que pueden ser desde números simples hasta complejas relaciones de registros. Java admite tipos de datos primitivos como char, boolean, int, float, y double . Por ejemplo, 'char unaLetra = 'a';', 'boolean unValorBooleano = true;', 'int miPrimerContador = 66;', 'float otroNum = 2.344f;', y 'double unValor = 1.68;' .

Las recomendaciones de usar recursos adicionales como libros, Google, StackOverflow, y tecnologías de IA, junto con la promoción de un ambiente de aprendizaje agradable, están justificadas para maximizar el entendimiento y el dominio práctico de los conceptos Java . El objetivo es evitar frustraciones y fomentar un aprendizaje continuo y colaborativo, haciendo que el recorrido sea placentero y enriquecedor . Fomentar la práctica, incluso en tareas fáciles, subraya la importancia de la repetición en el aprendizaje de programación .

El uso de operadores booleanos y predicados en Java permite manejar situaciones de lógica binaria dentro de un programa. Los operadores como '&&' (AND), '||' (OR), y '!' (NOT) son utilizados para crear condiciones complejas para la toma de decisiones . Un ejemplo práctico podría ser 'boolean unBooleano = true; boolean otroBooleano = false; !unBooleano // false; unBooleano && otroBooleano // false; unBooleano || otroBooleano // true;' . Estos operadores ayudan a controlar el flujo del programa mediante evaluaciones lógicas condicionales .

Java es un lenguaje de programación de propósito general que es portable debido a su capacidad para funcionar en todos los sistemas operativos . Además, es un lenguaje maduro, orientado a objetos, compilado, y respaldado por una gran comunidad, lo que sustenta su uso en un amplio número de proyectos .

También podría gustarte