Variable

UAX FP Programación Estructurada

1. Programación estructurada

1.1 Introducción
  • La programación estructurada es un paradigma basado en la ejecución secuencial de código.

    • Ejecución de sentencias: líneas de código ejecutadas en modo secuencial.

    • Estructuras de control: bloques de código que permiten ejecutar una sentencia u otra según ciertas condiciones. Incluye las sentencias: if, if-else, switch, break y continue.

    • Bucles de iteración: bloques de código que permiten ejecutar repetidamente una sentencia bajo cierta condición. Incluye las sentencias: while, do-while, for, foreach.

FUNCIONALIDAD PROGRAMACIÓN ESTRUCTURADA
  • Ejecución de sentencias: Ejecución de código en secuencia.

  • Estructuras de control: Ejecución condicional.

  • Bucles de iteración: Ejecución repetitiva.

2. Configuraciones

  • Antes de comenzar:

    • Requiere la instalación de Java y un IDE (IntelliJ recomendado).

  • Lenguaje Java:

    • Propósito general: Permite realizar diversas tareas, no limitado a un tipo específico.

    • Interpretado: Permite crear clases y métodos utilizables independientemente.

    • Orientado a objetos: Creación de clases y métodos.

2.1 Instalación de elementos para desarrollar un programa en Java
  • Elemento cruciales a instalar:

    1. Java: Plataforma para ejecución.

    2. JDK (Java Development Kit): Herramientas y documentación para desarrollo.

    3. JVM (Java Virtual Machine): Interpretador de programas Java.

    4. JRE (Java Runtime Environment): Ejecución de programas.

  • Configuración en Windows:

    • Ubicar el JDK en C:/Archivos de programa/java.

  • Configuraciones de MacOS y Linux.

2.2 Configuración de las variables de entorno
  • Ayuda a evitar la localización manual del JRE al ejecutar por consola.

2.2.1 Entorno Windows
  1. Configurar variables en configuración avanzada.

  2. Crear variable JAVA_HOME apuntando a la ruta del JDK.

  3. Modificar Path para incluir %JAVA_HOME%/bin.

  • Verificación: java -version en consola debe mostrar versión.

2.2.2 Entorno MacOS
  • Modificar archivo de sesión zshrc.

  • Ejemplo:

  export JAVA_HOME=$(/usr/libexec/java_home -v 18.0.1.1)
  export PATH=$JAVA_HOME/bin:$PATH

3. Entornos de desarrollo de programas

  • Proceso:

    1. Código fuente: Escrito con la sintaxis correcta.

    2. Compilación: Traducción de código fuente a código máquina utilizando javac.

    3. Ejecución: Lanzamiento de programas desde intérpretes.

  • IDE: Permite realizar toda la tarea anterior en un solo lugar.

IDEs dominadores del mercado
  1. Eclipse: Entorno versátil con plugins.

  2. IntelliJ IDEA: Orientado a Java y otros lenguajes web.

  3. NetBeans: Perfectamente integrado con Java, pero puede ser lento.

4. Primer proyecto

  • Creación del proyecto UF1_Estructurada y estructura de carpetas:

    • .idea: Configuración del proyecto.

    • src: Paquete principal.

    • External Libraries: Librerías del JDK.

  • Clases:

    • Definición de la clase con el método main.
      java public class Main { }

5. Elementos principales de un programa

5.1 Métodos
  • Definición de un método como funcionalidades en el programa.

    • Sintaxis de un método:

    • modificadores tipo_retorno nombre(parametros) { }

    • Modificadores: public, protected, private.

    • Parámetros: Definidos por tipo y nombre.

    • Tipo de retorno: puede ser void (sin retorno) o un tipo específico (con retorno).

5.2 Variables
  • Espacio de memoria reservado para datos.

  • Declaración: modificadores nombre = valor;.

  • Clasificaciones de acceso: public, protected, private, y default.

5.2.1 Según tipo de dato:

NOMBRE

DEFINICIÓN

String

Guarda palabras (entre comillas dobles).

char

Guarda un carácter (entre comillas simples).

byte

Valor numérico entre -128 y 127.

short

Valor entre -32768 y 32767.

int

Valor entre -2^31 y 2^31-1.

long

Valor entre -2^63 y 2^63-1.

float

Precisión simple entre 1.4e-45 and 3.4028235e38.

double

Precisión doble.

boolean

true o false.

5.2.2 Según ámbito de declaración:
  • Variables de clase: Accesibles en cualquier parte de la clase.

  • Variables de método/bloque: Solo accesibles dentro del bloque donde fueron declaradas.

5.3 Operadores y expresiones
  • Operadores aritméticos: +, -, *, /, %, ++, --.

  • Operadores de relación: >, >=, <, <=, ==, !=.

  • Operadores lógicos: &&, ||, !.

5.4 Comentarios
  • Importantes para la documentación del código.

  • Tipos de comentarios:

    • Línea sencilla: // comentario.

    • Bloque: /* ... */.

    • Documentación: /** ... */.

6. Programación estructurada

6.1 Algoritmo
  • Antes de programar, entender el problema, soluciones, y necesidades.

6.2 Diagramas UML
  • Facilitan la creación y visualización de estructuras y flujos.

6.3 Ciclo de vida de un software
  1. Definición del problema.

  2. Diseño del algoritmo.

  3. Codificación del algoritmo.

  4. Integración y pruebas.

  5. Despliegue y mantenimiento.

7. Estructuras de selección

7.1 If / else
  • Ejemplo de uso:

if (condición) { ... } else { ... }
7.2 If – else if – else
  • En cascada para múltiples condiciones.

7.3 Switch
  • Ejecuta un bloque según el valor de una variable.

switch (variable) { case 1: break; ... default: break; }

8. Estructuras de repetición

8.1 For
for (int i = 0; i < n; i++) { ... }
8.1.1 Foreach

Para recorrer colecciones sin índice.

8.2 While
while (condición) { ... }
8.3 Do-while
do { ... } while (condición);

9. Estructuras de salto

9.1 Break

Detiene la ejecución de un bucle o switch.

9.2 Continue

Salta a la siguiente iteración de un bucle.

10. Tratamiento de cadenas

  • String: tipo complejo con funcionalidades adicionales.

11. Representación, concatenación y formateo
  • Usar métodos como System.out.print() y System.out.printf().

12. Longitud y extracción de caracteres
  • Métodos como length() y charAt().

13. Comparación de Strings
  • Usar equals() y equalsIgnoreCase().

14. Búsqueda de caracteres
  • Método indexOf() para encontrar índices.

15. Cambios en mayúsculas/minúsculas
  • Métodos toUpperCase() y toLowerCase().

16. StringBuilder
  • Clase que permite modificaciones dinámicas en cadenas.

17. Depuración de errores
  • Métodos y herramientas para corregir errores en el código.

18. Documentación de programas
  • Usar comentarios y herramientas como Javadoc para crear documentación.

    • Estructura de comentarios para uso en JavaDoc:

/**
 * Método de ejemplo.
 */
Fin

Estas notas han sido elaboradas de acuerdo con el contenido disponible del transcript en el curso de Programación Estructurada de UAX FP.