SlideShare ist ein Scribd-Unternehmen logo
1 von 25
Arreglos, expresiones y control de flujo Ing. Rolando Steep Quezada Martínez [email_address] Programación Básica en Java y Programación Orientada a Objetos
Arreglos ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Declaración y asignación de un arreglo ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Arreglos bi-dimensionales ,[object Object],[object Object]
 
Arreglos desiguales ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Algunas consideraciones ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Expresiones ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Sentencias de asignación ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
¿Qué es el flujo de un programa? ,[object Object],[object Object],Sentencia1 ; Sentencia2 ; Sentencia3 ; Bloque
Bifurcaciones – Sentencia de control de saltos (if-else) Flujo de Eventos Al evaluar el algoritmo, si se encuentra una sentencia  if - else , se evalúa la expresión booleana, si el resultado es “ true ” o verdadero, se ejecuta las sentencias siguientes al término de la expresión; en caso contrario, el resultado será “ false ” o falso y se ejecuta las sentencias que siguen a la palabra reservada  else . if ( expresión-booleana )  {  sentencias;  } [ else  {  sentencias;  }] Sintanxis
Bifurcaciones - Sentencias de control de saltos (switch) switch (expresión) {  case  valor1:  sentencias;  break ;  case  valor2:  sentencias;  break ;  [ default :  sentencias;]  } Flujo de Eventos Sintaxis Al evaluar el algoritmo si entra en una bifurcación  switch  el valor de la expresión se va comparando con cada uno de los casos “ case ” válidos hasta encontrar su identidad, si un caso coincide con el valor de la expresión se ejecutan las sentencias seguidas a éste hasta encontrar un  break . Se puede definir un caso opcional “ default ” el cual evalúa todos los casos no válidos o los valores no coincidente con la expresión.
Bucles  - Sentencias repetitivas (for) for ( inicialización ;  exp-booleana ;  iteración ) {  sentencias ;   } Flujo de Eventos Cuando se evalúa el algoritmo al entrar a una sentencia  for , se ejecuta por única vez la sección de inicialización, luego se evalúa la expresión booleana; si el resultado es verdadero o “ true ” se ejecutan las sentencias contenidas en el cuerpo de la instrucción, por último se ejecuta el bloque de iteración y se evalúa nuevamente la expresión booleana hasta que el resultado sea falso o “ false ”. Sintáxis
Bucles  - Sentencias repetitivas (while) while ( expresión-booleana ) {  sentencias;  } Cuando se evalúa el algoritmo al entrar a una sentencia  while , se evalúa la expresión booleana, si el resultado es verdadero o  true , se ejecutan las sentencias contenidas en el cuerpo del bloque while y  se evalúa nuevamente la expresión booleana  “mientras”  que el resultado no sea falso o  false . Flujo de Eventos Sintáxis
Bucles  - Sentencias repetitivas (do-while) do  {  sentencias;  } while (expresión-booleana ); Flujo de Eventos Sintáxis Cuando se evalúa el algoritmo al entrar a una sentencia  do , se ejecuta las sentencias contenidas en el bloque, luego se evalúa la expresión booleana que sigue a la instrucción  while , si el resultado es verdadero o  true , se ejecutan nuevamente las sentencias contenidas en el cuerpo del bloque  “mientras”  que el resultado no sea falso o  false .
Bucles  - Sentencias repetitivas (for In) : Sólo en JDK 1.5 ó Tigger for  ( declaración var : expresión ){  sentencias;  } Flujo de Eventos Sintáxis Cuando se evalúa el algoritmo al entrar a una sentencia  for-in , se ejecuta el bloque de declaración por única vez el cuál establece una variable que tomará el valor de un elemento de la expresión (arreglo o colección) en cada iteración del ciclo hasta recorrer todos los elementos; Por cada iteración se evalúan las sentencias contenidas en el cuerpo del bloque.
Instrucciones  break  y  continue  dentro de un bucle ,[object Object],[object Object],[object Object]
Bugs al utilizar bucles ,[object Object],[object Object],[object Object],[object Object],[object Object]
Resumen ,[object Object],[object Object],[object Object],[object Object],[object Object]
Práctica 3 ,[object Object],[object Object],[object Object],[object Object]
 
 
 
 
 

Weitere ähnliche Inhalte

Was ist angesagt?

Tema 3 sentencias de control de java por gio
Tema 3   sentencias de control de java por gioTema 3   sentencias de control de java por gio
Tema 3 sentencias de control de java por gioRobert Wolf
 
Unidad 2
Unidad 2Unidad 2
Unidad 2UTP, TA
 
Certificación java 6 cap 5
Certificación java 6 cap 5Certificación java 6 cap 5
Certificación java 6 cap 5srBichoRaro
 
Elementos del lenguaje java
Elementos del lenguaje javaElementos del lenguaje java
Elementos del lenguaje javaMarisol Henao
 
Estructuras repetitivas
Estructuras repetitivasEstructuras repetitivas
Estructuras repetitivassena
 
La estructura basica_para_c_
La estructura basica_para_c_La estructura basica_para_c_
La estructura basica_para_c_GamePlayer35
 
Estructuras iterativas y ejemplos propuestos
Estructuras iterativas y ejemplos propuestosEstructuras iterativas y ejemplos propuestos
Estructuras iterativas y ejemplos propuestosmarigelcontreras
 
Estructuras de control
Estructuras de  controlEstructuras de  control
Estructuras de controlmellcv
 
Estructuras Selectivas y Repetitivas en C++
Estructuras Selectivas y Repetitivas en C++Estructuras Selectivas y Repetitivas en C++
Estructuras Selectivas y Repetitivas en C++ncrmax
 
Ámbito de las variables resumen de la clase
Ámbito de las variables resumen de la claseÁmbito de las variables resumen de la clase
Ámbito de las variables resumen de la clasemiguelangelvillelli
 
Estructuras condicionales
Estructuras condicionalesEstructuras condicionales
Estructuras condicionalesAndreina Trejo
 

Was ist angesagt? (20)

Tema 3 sentencias de control de java por gio
Tema 3   sentencias de control de java por gioTema 3   sentencias de control de java por gio
Tema 3 sentencias de control de java por gio
 
Unidad 2
Unidad 2Unidad 2
Unidad 2
 
Variables y constantes
Variables  y constantesVariables  y constantes
Variables y constantes
 
Http estructa
Http estructaHttp estructa
Http estructa
 
Certificación java 6 cap 5
Certificación java 6 cap 5Certificación java 6 cap 5
Certificación java 6 cap 5
 
Elementos del lenguaje java
Elementos del lenguaje javaElementos del lenguaje java
Elementos del lenguaje java
 
Video2
Video2Video2
Video2
 
Programación básica
Programación básicaProgramación básica
Programación básica
 
Estructuras repetitivas
Estructuras repetitivasEstructuras repetitivas
Estructuras repetitivas
 
Operadores yahir
Operadores yahirOperadores yahir
Operadores yahir
 
Semana9b Vbr
Semana9b VbrSemana9b Vbr
Semana9b Vbr
 
La estructura basica_para_c_
La estructura basica_para_c_La estructura basica_para_c_
La estructura basica_para_c_
 
Estructuras iterativas y ejemplos propuestos
Estructuras iterativas y ejemplos propuestosEstructuras iterativas y ejemplos propuestos
Estructuras iterativas y ejemplos propuestos
 
Java y xml
Java y xmlJava y xml
Java y xml
 
Estructuras de control
Estructuras de  controlEstructuras de  control
Estructuras de control
 
Estructuras Selectivas y Repetitivas en C++
Estructuras Selectivas y Repetitivas en C++Estructuras Selectivas y Repetitivas en C++
Estructuras Selectivas y Repetitivas en C++
 
Ámbito de las variables resumen de la clase
Ámbito de las variables resumen de la claseÁmbito de las variables resumen de la clase
Ámbito de las variables resumen de la clase
 
Estructuras anidadas
Estructuras anidadasEstructuras anidadas
Estructuras anidadas
 
Estructuras condicionales
Estructuras condicionalesEstructuras condicionales
Estructuras condicionales
 
Video 2
Video 2Video 2
Video 2
 

Ähnlich wie Arreglos Expresiones y Control de Flujo

Estructuras de control en Java
Estructuras de control en JavaEstructuras de control en Java
Estructuras de control en Javaquesada_diego
 
3 java sesin 3 pps
3 java sesin 3 pps3 java sesin 3 pps
3 java sesin 3 ppsajplbe
 
DAW-Estructuras de control
DAW-Estructuras de controlDAW-Estructuras de control
DAW-Estructuras de controlvay82
 
métodos procedimimientos estructuras de control java
métodos procedimimientos estructuras de control javamétodos procedimimientos estructuras de control java
métodos procedimimientos estructuras de control javaHenry Upla
 
Scjp Jug Section 2 Flow Control
Scjp Jug Section 2 Flow ControlScjp Jug Section 2 Flow Control
Scjp Jug Section 2 Flow ControlJose Selman
 
Semana 05 - Estructuras repetitivas (1).pptx
Semana 05 - Estructuras repetitivas (1).pptxSemana 05 - Estructuras repetitivas (1).pptx
Semana 05 - Estructuras repetitivas (1).pptxCarlos Díaz Sánchez
 
Estructura de control repetitiva
Estructura de control repetitivaEstructura de control repetitiva
Estructura de control repetitivavillandri pachco
 
Estructuras de Control - Ivan Walkes Mc.
Estructuras de Control - Ivan Walkes Mc.Estructuras de Control - Ivan Walkes Mc.
Estructuras de Control - Ivan Walkes Mc.Ivan A. Walkes Mc.
 
Las sentencias de_control[1]
Las sentencias de_control[1]Las sentencias de_control[1]
Las sentencias de_control[1]grachika
 
Las sentencias de_control[1]
Las sentencias de_control[1]Las sentencias de_control[1]
Las sentencias de_control[1]grachika
 
ESTRUCTURAS DE CONTROL
ESTRUCTURAS DE CONTROLESTRUCTURAS DE CONTROL
ESTRUCTURAS DE CONTROLDarkStarPlay
 
Presentación introducción a Matlab y su estructura
Presentación introducción a Matlab y su estructuraPresentación introducción a Matlab y su estructura
Presentación introducción a Matlab y su estructuraJOSUEANIBALCOCHOJILH
 
Parcial 2 ESTRUCTURA REPETITIVAS Y HERRAMIENTA CASE
Parcial 2 ESTRUCTURA REPETITIVAS Y HERRAMIENTA CASEParcial 2 ESTRUCTURA REPETITIVAS Y HERRAMIENTA CASE
Parcial 2 ESTRUCTURA REPETITIVAS Y HERRAMIENTA CASELuyz Zilba
 
Mariangel garcía informática
Mariangel garcía  informáticaMariangel garcía  informática
Mariangel garcía informáticamarifabi5
 
Estructuras de control
Estructuras de controlEstructuras de control
Estructuras de controlLic_Vera
 
Programaciòn Estructurada
Programaciòn EstructuradaProgramaciòn Estructurada
Programaciòn EstructuradaFernanda-Guzman
 
Iv unidad estructuras de control
Iv unidad estructuras de controlIv unidad estructuras de control
Iv unidad estructuras de controlmariaisabelg
 
Iv unidad estructuras de control
Iv unidad estructuras de controlIv unidad estructuras de control
Iv unidad estructuras de controlmariaisabelg
 

Ähnlich wie Arreglos Expresiones y Control de Flujo (20)

Estructuras de control en Java
Estructuras de control en JavaEstructuras de control en Java
Estructuras de control en Java
 
3 java sesin 3 pps
3 java sesin 3 pps3 java sesin 3 pps
3 java sesin 3 pps
 
DAW-Estructuras de control
DAW-Estructuras de controlDAW-Estructuras de control
DAW-Estructuras de control
 
métodos procedimimientos estructuras de control java
métodos procedimimientos estructuras de control javamétodos procedimimientos estructuras de control java
métodos procedimimientos estructuras de control java
 
Scjp Jug Section 2 Flow Control
Scjp Jug Section 2 Flow ControlScjp Jug Section 2 Flow Control
Scjp Jug Section 2 Flow Control
 
Lenguaje c
Lenguaje cLenguaje c
Lenguaje c
 
Semana 05 - Estructuras repetitivas (1).pptx
Semana 05 - Estructuras repetitivas (1).pptxSemana 05 - Estructuras repetitivas (1).pptx
Semana 05 - Estructuras repetitivas (1).pptx
 
Estructura de control repetitiva
Estructura de control repetitivaEstructura de control repetitiva
Estructura de control repetitiva
 
Estructuras de Control - Ivan Walkes Mc.
Estructuras de Control - Ivan Walkes Mc.Estructuras de Control - Ivan Walkes Mc.
Estructuras de Control - Ivan Walkes Mc.
 
Estructuras de Control
Estructuras de ControlEstructuras de Control
Estructuras de Control
 
Las sentencias de_control[1]
Las sentencias de_control[1]Las sentencias de_control[1]
Las sentencias de_control[1]
 
Las sentencias de_control[1]
Las sentencias de_control[1]Las sentencias de_control[1]
Las sentencias de_control[1]
 
ESTRUCTURAS DE CONTROL
ESTRUCTURAS DE CONTROLESTRUCTURAS DE CONTROL
ESTRUCTURAS DE CONTROL
 
Presentación introducción a Matlab y su estructura
Presentación introducción a Matlab y su estructuraPresentación introducción a Matlab y su estructura
Presentación introducción a Matlab y su estructura
 
Parcial 2 ESTRUCTURA REPETITIVAS Y HERRAMIENTA CASE
Parcial 2 ESTRUCTURA REPETITIVAS Y HERRAMIENTA CASEParcial 2 ESTRUCTURA REPETITIVAS Y HERRAMIENTA CASE
Parcial 2 ESTRUCTURA REPETITIVAS Y HERRAMIENTA CASE
 
Mariangel garcía informática
Mariangel garcía  informáticaMariangel garcía  informática
Mariangel garcía informática
 
Estructuras de control
Estructuras de controlEstructuras de control
Estructuras de control
 
Programaciòn Estructurada
Programaciòn EstructuradaProgramaciòn Estructurada
Programaciòn Estructurada
 
Iv unidad estructuras de control
Iv unidad estructuras de controlIv unidad estructuras de control
Iv unidad estructuras de control
 
Iv unidad estructuras de control
Iv unidad estructuras de controlIv unidad estructuras de control
Iv unidad estructuras de control
 

Mehr von Rolando Steep Quezada Martinez (11)

Multitarea
MultitareaMultitarea
Multitarea
 
Implementación de Aplicaciones Basadas en Texto
Implementación de Aplicaciones Basadas en TextoImplementación de Aplicaciones Basadas en Texto
Implementación de Aplicaciones Basadas en Texto
 
Colecciones
ColeccionesColecciones
Colecciones
 
Manejo De Excepciones
Manejo De ExcepcionesManejo De Excepciones
Manejo De Excepciones
 
Diseño de Clases
Diseño de ClasesDiseño de Clases
Diseño de Clases
 
Herencia Y Polimorfismo
Herencia Y PolimorfismoHerencia Y Polimorfismo
Herencia Y Polimorfismo
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a Objetos
 
Networking
NetworkingNetworking
Networking
 
Tipos Primitivos y Elementos Léxicos de Java
Tipos Primitivos y Elementos Léxicos de JavaTipos Primitivos y Elementos Léxicos de Java
Tipos Primitivos y Elementos Léxicos de Java
 
Módulo 01 Introducción a la Tecnología Java
Módulo 01 Introducción a la Tecnología JavaMódulo 01 Introducción a la Tecnología Java
Módulo 01 Introducción a la Tecnología Java
 
Manejo Avanzado de Flujos de Entrada/Salida
Manejo Avanzado de Flujos de Entrada/SalidaManejo Avanzado de Flujos de Entrada/Salida
Manejo Avanzado de Flujos de Entrada/Salida
 

Kürzlich hochgeladen

Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxtjcesar1
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
Excel (1) tecnologia.pdf trabajo Excel taller
Excel  (1) tecnologia.pdf trabajo Excel tallerExcel  (1) tecnologia.pdf trabajo Excel taller
Excel (1) tecnologia.pdf trabajo Excel tallerValentinaTabares11
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfedepmariaperez
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxGESTECPERUSAC
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOnarvaezisabella21
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificialcynserafini89
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptchaverriemily794
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptJavierHerrera662252
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesEdomar AR
 

Kürzlich hochgeladen (20)

Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
Excel (1) tecnologia.pdf trabajo Excel taller
Excel  (1) tecnologia.pdf trabajo Excel tallerExcel  (1) tecnologia.pdf trabajo Excel taller
Excel (1) tecnologia.pdf trabajo Excel taller
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdf
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptx
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificial
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, Aplicaciones
 

Arreglos Expresiones y Control de Flujo

  • 1. Arreglos, expresiones y control de flujo Ing. Rolando Steep Quezada Martínez [email_address] Programación Básica en Java y Programación Orientada a Objetos
  • 2.
  • 3.
  • 4.
  • 5.  
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11. Bifurcaciones – Sentencia de control de saltos (if-else) Flujo de Eventos Al evaluar el algoritmo, si se encuentra una sentencia if - else , se evalúa la expresión booleana, si el resultado es “ true ” o verdadero, se ejecuta las sentencias siguientes al término de la expresión; en caso contrario, el resultado será “ false ” o falso y se ejecuta las sentencias que siguen a la palabra reservada else . if ( expresión-booleana ) { sentencias; } [ else { sentencias; }] Sintanxis
  • 12. Bifurcaciones - Sentencias de control de saltos (switch) switch (expresión) { case valor1: sentencias; break ; case valor2: sentencias; break ; [ default : sentencias;] } Flujo de Eventos Sintaxis Al evaluar el algoritmo si entra en una bifurcación switch el valor de la expresión se va comparando con cada uno de los casos “ case ” válidos hasta encontrar su identidad, si un caso coincide con el valor de la expresión se ejecutan las sentencias seguidas a éste hasta encontrar un break . Se puede definir un caso opcional “ default ” el cual evalúa todos los casos no válidos o los valores no coincidente con la expresión.
  • 13. Bucles - Sentencias repetitivas (for) for ( inicialización ; exp-booleana ; iteración ) { sentencias ; } Flujo de Eventos Cuando se evalúa el algoritmo al entrar a una sentencia for , se ejecuta por única vez la sección de inicialización, luego se evalúa la expresión booleana; si el resultado es verdadero o “ true ” se ejecutan las sentencias contenidas en el cuerpo de la instrucción, por último se ejecuta el bloque de iteración y se evalúa nuevamente la expresión booleana hasta que el resultado sea falso o “ false ”. Sintáxis
  • 14. Bucles - Sentencias repetitivas (while) while ( expresión-booleana ) { sentencias; } Cuando se evalúa el algoritmo al entrar a una sentencia while , se evalúa la expresión booleana, si el resultado es verdadero o true , se ejecutan las sentencias contenidas en el cuerpo del bloque while y se evalúa nuevamente la expresión booleana “mientras” que el resultado no sea falso o false . Flujo de Eventos Sintáxis
  • 15. Bucles - Sentencias repetitivas (do-while) do { sentencias; } while (expresión-booleana ); Flujo de Eventos Sintáxis Cuando se evalúa el algoritmo al entrar a una sentencia do , se ejecuta las sentencias contenidas en el bloque, luego se evalúa la expresión booleana que sigue a la instrucción while , si el resultado es verdadero o true , se ejecutan nuevamente las sentencias contenidas en el cuerpo del bloque “mientras” que el resultado no sea falso o false .
  • 16. Bucles - Sentencias repetitivas (for In) : Sólo en JDK 1.5 ó Tigger for ( declaración var : expresión ){ sentencias; } Flujo de Eventos Sintáxis Cuando se evalúa el algoritmo al entrar a una sentencia for-in , se ejecuta el bloque de declaración por única vez el cuál establece una variable que tomará el valor de un elemento de la expresión (arreglo o colección) en cada iteración del ciclo hasta recorrer todos los elementos; Por cada iteración se evalúan las sentencias contenidas en el cuerpo del bloque.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.  
  • 22.  
  • 23.  
  • 24.  
  • 25.  

Hinweis der Redaktion

  1. Objetivos Presentar la estructura de datos de arreglo. Entender el empleo de arreglos para almacenar, examinar listas y tablas de valores. Entender la forma de declarar un arreglo, inicializar un arreglo y referirse a los elementos individuales de un arreglo. Poder declarar y manipular arreglos con múltiples subíndices (multidimensionales). Presentar las estructuras fundamentales de Java como lenguaje de Programación. Conocer las características del lenguaje Java para el desarrollo de aplicaciones.
  2. Estructuras de Datos Cuando un grupo de datos esta agrupado en una misma unidad, se llama estructura de datos. Un array es un tipo de estructura de datos, es una secuencia de ítems del mismo tipo , cada uno accesible con su índice, que da su posición correspondiente dentro del array. Arreglos Un array esta definido por su longitud n y su tipo. El tipo de un array puede ser cualquiera, pero es el mismo para todos los objetos del array. Por ejemplo, puede ser un int , o un String (como args ), o una Clase ( Persona) . El array es la estructura de datos que se usa más frecuentemente en programación. La gestión de información con el array es eficiente. De hecho, la memoria del ordenador se gestiona como un array en los lenguajes de bajo nivel. Los arrays se utilizan con tanta frecuencia que muchos lenguajes de programación ofrecen algún modo para utilizarlos con facilidad. n-1 n-2 … 1 0
  3. Creación de un Arreglo Al declarar e inicializar un arreglo, el valor por defecto de todos sus componentes es null para el caso de Objetos (String, Alumno, etc…), 0 para números enteros (byte, short, int, long), 0.0 para números reales (float y double), ‘’ para caracteres (char) y false para booleanos (boolean). Los elementos de un arreglo son accedidos mediante un índice de base 0; Por ejemplo, sí: int miArreglo[ ] = new int[10] ; Entonces la capacidad del arreglo es de 10 elementos, donde el primer elemento tiene índice 0 y el último índice 9, donde podríamos asignar el valor 5 a la primera posición: miArreglo[ 0 ] = 5 ; Ó recuperar el valor de la segunda posición y almacenarla en otra variable; int miVariable = miArreglo[ 1 ] ; Cada arreglo dentro de un programa tiene una variable length inmutable (que no se puede cambiar), cuyo valor, el tamaño del array, es asignado automáticamente a la ejecución del programa al crear el objeto Arreglo con new o con una lista de inicialización. int capacidad = miArreglo.length ;
  4. Arreglos bi-dimensionales Un array de dos dimensiones, también conocido como tabla o matriz, donde cada elemento se asocia con una pareja de índices, es otro array simple. Conceptualizamos un array bi-dimensional como una cuadrícula rectángular de elementos divididos en filas y columnas, y utilizamos la notación ( fila , columna ) para identificar un elemento específico. El siguiente código usa sólo un inicialiador para crear un array bi-dimensional que almacena datos basados en un tipo primitivo: double [][] temperatures = { { 20.5, 30.6, 28.3 } , { -38.7, -18.3, -16.2 } } ; // Celsius temperatures double [][] temperatures declara una variable de array bi-dimensional (temperatures) junto con su tipo de variable (double [][]). El tipo de referencia double [][] signigica que cada elemento debe contener datos del tipo primitivo double. { { 20.5, 30.6, 28.3 }, { -38.7, -18.3, -16.2 } } especifica un array bi-dimensional de dos filas por tres columnas, donde la primera fila contiene los datos 20.5, 30.6, y 28.3, y la segunda fila contitne los datos -38.7, -18.3, y -16.2. Detrás de la escena, se asigna memoria y se inicializan esto datos. El operador igual-a asigna la referencia del array bi-dimensional a temperatures.
  5. La siguiente figura ilustra el array bi-dimensional resultante desde un punto de vista conceptual y de memoria. double [][] temperatures = { { 20.5, 30.6, 28.3 } , { -38.7, -18.3, -16.2 } } ; // Celsius temperatures Trabajar con arreglos bi-dimensionales temperatures [0][1] = 18.3; // Remplaza 30.6 with 18.3 System.out.println (temperatures [1][2]); // Escribe en consola: -16.2
  6. Arreglos Desiguales Los arrays desiguales son estructuras de datos útiles debido a su capacidad de ahorro de memoria. Por ejemplo, considere una hoja de cálculo con el potencial de 100.000 filas por 20.000 columnas. Si intentamos utilizar una matriz que contenga toda la hoja de calculo, requeriremos una enorme cantidad de memoria. Pero supongamos que la mayoría de la celdas contienen valores por defecto, como un 0 para valores numéricos y null para celdas no numéricas. Si utilizamos un array desigual en lugar de una matriz, almacenaremos sólo las celdas que contienen datos numéricos. (Por supuesto, necesitamos algún tipo de mecanismo de mapeo que mapee las coordenadas de la hoja de cálculo [filas, columnas] a las coordenadas del array desigual [filas], [columnas]).
  7. Expresión “ Construcción (combinación de tokens) que se evalúa para devolver un valor” Sentencia “ Representación de una acción o una secuencia de acciones. En Java, todas las sentencias terminan con un punto y coma [;].”
  8. Sentencias de Asignación Al ejecutar una sentencia de asignación: 1. Se evalúa la expresión que aparece a la derecha del operador de asignación (=). 2. El valor que se obtiene como resultado de evaluar la expresión se almacena en la variable que aparece a la izquierda del operador de asignación (=). Restricción: El tipo del valor que se obtiene como resultado de evaluar la expresión ha de ser compatible con el tipo de la variable. NOTA: Una sentencia de asignación no es una igualdad matemática.
  9. ¿Qué es el flujo de un programa? Es el orden con el cual la computadora decide ejecutar las instrucciones. El orden más simple es en secuencia, sentencia por sentencia. El bloque es él que permite este orden secuencial, esta marcado con llaves: { sentencia1 ; sentencia2 ; sentencia3 ; ... } No hay límete para la creación y anidamiento de bloques Podemos modificar este orden secuencial, controlando el flujo de un programa con estructuras condicionales y de repetición. Escribir un mensaje de saludo distinto según el nombre de la persona. Escribir “Hola Mundo” 10 o 100 o 1000 veces. NOTA: Las variables existen desde su definición hasta el final del bloque donde fueron declaradas y no pueden ser invocadas en el exterior de este ámbito.
  10. Bifurcaciones – Sentencias de Control de Saltos (if-else) Diagrama de Flujo Diagrama N/S expresión booleana sentencias sentencias true false Expresion-booleana true false sentencias sentencias
  11. Bifurcaciones – Sentencias de Control de Saltos (switch) Diagrama de Flujo Diagrama N/S exp Valor 1 Valor 2 Valor 3 default sentencias sentencias sentencias sentencias exp==Val1 exp==Val2 exp==Val3 default sentencias; sentencias; sentencias; sentencias; true true true true false false false break ? no existe break ? no existe break ? no existe existe existe existe
  12. Bucles – Sentencias Repetitivas (for) Diagrama de Flujo Diagrama N/S inicialización Expresión-booleana sentencias iteración false true para inicialización evaluar exp-booleana sentencias iteración
  13. Bucles – Sentencias Repetitivas (while) Diagrama de Flujo Diagrama N/S Expresión-booleana sentencias true false Mientras exp-booleana sentencias
  14. Bucles – Sentencias Repetitivas (do-while) Diagrama de Flujo Diagrama N/S Expresión-booleana sentencias true false sentencias Mientras exp-booleana hacer
  15. Bucles - Sentencias Repetitivas (for In) : Sólo en JDK 1.5 ó Tigger Diagrama de Flujo Diagrama N/S Declaración var Hay Elementos ? var = elemento siguiente sentencias para declaracion var ; Hay elementos sentencias var = elemento siguiente
  16. Instrucciones break y continue dentro de un bucle La sentencia break hace que el control pase fuera del bucle (a la siguiente sentencia o bloque) La sentencia continue hace que el flujo no continúe la iteración en proceso dentro del bucle, pero sin salirse de éste. Expresión-booleana Sentencias ; … break; … true false Expresión-booleana Sentencias ; … continue; … … true false
  17. Bugs al utilizar Bucles Prácticas recomendadas de programación* Controle los ciclos de conteo con valores enteros. Verifique las condiciones que provocan la terminación de una estructura repetitiva para evitar bucles infinitos. Sangre los enunciados del cuerpo de cada estructura de control. Coloque una línea en blanco antes y después de cada estructura de control importante para destacarla en el programa. Aunque es posible modificar el valor de la variable de control dentro del cuerpo de un ciclo for , evite hacerlo por que esta práctica puede dar lugar a errores difíciles de detectar. En expresiones que usan el operador && , si las condiciones individuales independientes son mutuamente independientes, coloque primero la condición con mayor probabilidad de ser false . En expresiones que usan el operador || , coloque primero la condición con mayor probabilidad de ser true . Esto puede reducir el tiempo de ejecución del programa. *Deitel, “Cómo Programar en Java” , Primera Edición, Prentice-Hall Hispanoamericana, México, 1995.
  18. Práctica 3: Escribir programas secuenciales y controlados en Java Objetivo: El objetivo de esta práctica es usar el ambiente de desarrollo integrado (IDE) Netbeans para la construcción de programas Java. Ejercicios Traduzca las siguientes fórmulas a expresiones escritas en Java, declarando para ello las variables que considere necesarias: Diseñe un programa que lea los coeficientes de una ecuación de segundo grado ax 2 +bx+c=0 y calcule sus dos soluciones. Se supone que la ecuación tiene soluciones reales. Ej.: si x 2 -4x+4=0 ; x 1 =2 y x 2 =2 . Sugerencias: Utilizar la siguiente fórmula: Dada una medida de tiempo expresada en horas, minutos y segundos con valores arbitrarios, elabore un programa que transforme dicha medida en una expresión correcta. Por ejemplo, dada la medida 3h 118m 195s , el programa deberá obtener como resultado 5h 1m 15s . Desarrollar un programa que imprima todos los divisores de un número entero dado como argumento del programa (utilice la sentencia while). Desarrollar un programa que calcule e imprima el Máximo Común Divisor (MCD) de dos enteros (utilice la estructura do-while). Encuentre el error en cada uno de los siguientes segmentos de programa y corrija el error. a) Suponga int b[ ] = new int [ 10 ] ; for( int i = 0 ; i <= b.length ; i++ ) b[ i ] = 1 ; b) Suponga int a[ ][ ] = { { 1, 2 }, { 3, 4 } } ; a[ 1 , 1 ] = 5 ; Ordenar los elementos de un arreglo de n enteros. Desarrollar un programa que reciba como argumento un número entero entre 1 al 7 y muestre el nombre al día de semana equivalente. Desarrollar un programa que muestre los elementos de un arreglo utilizando la estructura for-in. Desarrollar un programa que busque que recorra los elementos de un arreglo hasta encontrar el elemento buscado utilizando la estructura for en conjunción con la sentencia break.
  19. Resolución de Ejercicios Traduzca las siguientes fórmulas a expresiones escritas en Java, declarando para ello las variables que considere necesarias: int c , f ; Solución f = 9*c / 5 + 32 ; Error común f = 9/5 * c + 32 ; // = = 1 * c + 32 float c , f ; Solución f = 9*c/5 + 32; Error común f = ( 9/5 ) * c + 32; // = = 1 * c + 32 Solución alternativa f = (9.0/5.0)*c + 32; double x , y ; // Tanto x como y double f ; han de ser != 0 f = ( 1 + x*x/y ) / ( x*x*x / (1+y) ) ; // ERROR: Tal como está escrita la expresión, // y debería tener un valor distinto de -1 f = ( 1 + x*x/y ) * (1+y) / ( x*x*x ) ;
  20. Diseñe un programa que lea los coeficientes de una ecuación de segundo grado ax 2 +bx+c=0 y calcule sus dos soluciones. Se supone que la ecuación tiene soluciones reales. Ej.: si x 2 -4x+4=0 ; x 1 =2 y x 2 =2 . Solución: Cree una nueva aplicación Java: ( ctrl+shift+N ), categories: General, proyects: Java Application de un click en Next >. En el campo Proyect Name escribir: Ejercicio4_2 En el textfield lateral al checkbox Create Main Clase remplazar el texto ejercicio4_2.Main por epec.Ecuacion. Remplazar el contenido del método main de la siguiente forma: El programa necesita argumentos pasados por línea de comandos, para simular este proceso abrir la venta de propiedades del proyecto, click derecho sobre el proyecto Ejercicio4_2, elegir el menú Properties, luego seleccionar el nodo Run. En la caja de texto Arguments escribir separados por espacios los siguientes números: 1 -4 4, luego click en OK Para ejecutar la aplicación: click derecho en el proyecto, elegir Run Proyect
  21. Dada una medida de tiempo expresada en horas, minutos y segundos con valores arbitrarios, elabore un programa que transforme dicha medida en una expresión correcta. Por ejemplo, dada la medida 3h 118m 195s , el programa deberá obtener como resultado 5h 1m 15s . Solución: Cree una nueva aplicación Java: ( ctrl+shift+N ), categories: General, proyects: Java Application de un click en Next >. En el campo Proyect Name escribir: Ejercicio4_3 En el textfield lateral al checkbox Create Main Clase remplazar el texto ejercicio4_3.Main por epec.Tiempo. Remplazar el contenido del método main de la siguiente forma: El programa necesita argumentos pasados por línea de comandos, para simular este proceso abrir la venta de propiedades del proyecto, click derecho sobre el proyecto Ejercicio4_3, elegir el menú Properties, luego seleccionar el nodo Run. En la caja de texto Arguments escribir separados por espacios los siguientes números: 3 118 195, luego click en OK Para ejecutar la aplicación: click derecho en el proyecto, elegir Run Proyect
  22. Desarrollar un programa que imprima todos los divisores de un número entero dado como argumento del programa (utilice la sentencia while). Solución: Cree una nueva aplicación Java: ( ctrl+shift+N ), categories: General, proyects: Java Application de un click en Next >. En el campo Proyect Name escribir: Ejercicio4_4 En el textfield lateral al checkbox Create Main Clase remplazar el texto ejercicio4_4.Main por epec.Divisor. Remplazar el contenido del método main de la siguiente forma: El programa necesita argumentos pasados por línea de comandos, para simular este proceso abrir la venta de propiedades del proyecto, click derecho sobre el proyecto Ejercicio4_4, elegir el menú Properties, luego seleccionar el nodo Run. En la caja de texto Arguments escribir el número número: 15, luego click en OK Para ejecutar la aplicación: click derecho en el proyecto, elegir Run Proyect