Sentencias de selección

Slides:



Advertisements
Presentaciones similares
Condicional if y switch
Advertisements

Estructuras de decisión
ALGORITMOS Y LENGUAJES Estructuras de Control CONDICIONAL
Estructuras de Decisión I IF - THEN - ELSE
Resumen clase anterior Introducción a la programación.
Estructuras de decisión en C
Estructuras de Repetición Algoritmos
Lenguajes de programación
Fundamentos de Programación
Estructuras de Control
Unidad 4. Estructuras de selección
1.5 Algoritmos, Pseudocódigo y Diagramas de Flujo
1.5 Algoritmos, Pseudocódigo y Diagramas de Flujo
Concepto de programa. Directorio Concepto de programa. Analisis del problema. Resolucion del problema. Desarroollo de un programa. Partes constitutivas.
Preguntas tipo test (Tema I)
Temas Operaciones básicas Operaciones Operadores Aritméticos
Estructuras de Control
Curso de Programación I Parte III
PARADIGMA Es un esquema de pensamiento que nos lleva a concebir las cosas de una manera determinada. el término paradigma puede indicar el concepto de esquema.
Programación.
4: Control de flujo Condicionales y bucles
ANALISIS SINTACTICO El análisis gramatical es la tarea de determinar la sintaxis, o estructura, de un programa. Por esta razón también se le conoce como.
PSEUDOCÓDIGO. DISEÑO ESTRUCTURADO USANDO HERRAMIENTAS DE REPRESENTACIÓN DE ALGORITMOS.
TRAMPAS EN EL DISEÑO DE LENGUAJES CON RELACIÓN A LOS NOMBRES - REGLAS DE ALCANCE - COMPILACIÓN POR SEPARADO CONTROL DE FLUJO - EVALUACIÓN DE EXPRESIONES.

Estructuras de control
Al término de la clase, el alumno reconoce las ventajas de usar JAVASCRIPT para un proyecto web.
ESTRUCTURAS CONTROL SECUENCIAL
Estructuras de Decisión Múltiple
Programación de Computadores
Academia de Informática
LÓGICA - DECISIONES Los valores lógicos: constantes, variables y expresiones lógicas, permiten controlar la ejecución de las sentencias de un programa.
Unidad III Elementos del lenguaje C++
CI TEORIA semana 4 Estructura Algorítmica: SELECCIÓN
Haga clic para modificar el estilo de subtítulo del patrón Prof. Addys de Lam INSTRUCCIONES DE CONTROL OBJETIVOS  UTILIZAR LAS INSTRUCCIONES DE CONTROL.
Capítulo 1 “Elementos de Programación”
Conversión cadena a número
SENTENCIAS DE CONTROL Ing. José Antonio Poma G..
Capítulo 2 – Estructuras de Control
ESTRUCTURA DE DATOS ESD-243
Informática Ingeniería en Electrónica y Automática Industrial
UNIDAD 2. ALGORITMOS Y ESTRUCTURAS DE DATOS.
EXPRESIONES Y SENTENCIAS

Estructuras de Control.
Control de Flujo.
Sentencias de selección Curso de Programación. OBJETIVOS Implementar sentencias de control de selección en un programa usando sentencias if. Implementar.
Estructuras de control condicional
Sentencias de repetición
POR: MÓNICA MARÍA RÚA BLANDÓN
Objetivo Mostrar los fundamentos de la programación a través de ejemplos y prácticas utilizadas cotidianamente en el desarrollo de aplicaciones.
Patricio A. Castillo José M. Galarce Agosto 23 de 2008 Segunda Clase.
DEV- C++ ·include <iostream> Int x x=x+2(x)
PRINCIPIOS DE PROGRAMACIÓN
27 de marzo de 2010 Presentan: Díaz Orea Elizabeth Leal Alvarado Angelina.
Estructuras selectivas
Programación para Ingenieros I IIS
Estructuras de Decisión
Sentencia Condicional
* Cuando nos permite desarrollar un programa que necesitamos para tomar un conjunto de buenas prácticas para hacer eso. Esto se debe a que podemos ahorrar.
PROGRAMACIÓN Grupo de Modelamiento de Sistemas
Décimo Curso de Programación Básica con NQC “Segunda Clase” Cristián Arenas Ulloa Agosto 29 de 2009.
ALGORITMOS CLASE 2.
Presenta: Dr. Jorge Rodríguez Arce.
Estructuras de control selectivas Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión Práctica 3.
Tema 8: Programación estructurada Introducción La importancia del conocimiento de programación es mucho mayor de lo que se piensa. Aprender a programar.
Prof. Jonathan Silva Ingeniería Civil – Informática I Ingeniería Civil Informática I Clase 5.
Este material ha sido desarrollado para alumnos que cursan la asignatura de Programación Básica impartida en el primer semestre en la Facultad de Ingeniería.
ESTRUCTURAS SELECTIVAS Elaborado por; Ing. Alberto Pérez.
1 Clase 6: control (1ª parte) iic1102 – introducción a la programación.
Transcripción de la presentación:

Sentencias de selección Curso de Programación

OBJETIVOS Implementar sentencias de control de selección en un programa usando sentencias if. Implementar controles de selección en un programa usando sentencias switch. Escribir expresiones booleanas usando operadores relaciónales y booleanos. Evaluar determinadas expresiones booleanas correctamente. Anidar una sentencia if dentro de otra sentencia if then o else correctamente. Elegir la sentencia de selección de control adecuada para una determinada Tarea. Escribir aplicaciones usando las clases CuadroLista de la clase javabook y la clase Color del paquete estándar java.awt.

Flujo de control Las sentencias de los programas se ejecutan en secuencia, lo que se denomina ejecución secuencial o flujo de contral, secuencial. Sin embargo, se pueden añadir sentencias de toma de decisiones a un programa para alterar este flujo de control. La sentencia que altera el flujo de control se denomina una sentencia de control. En este capítulo se describen algunas sentencias de control importantes denominadas sentencias de selección. En el siguiente capítulo, describiremos otras sentencias de control denominadas sentencias de repetición.

La sentencia if Se usa una sentencia if para especificar qué bloque de código se ejecuta. Un bloque el código puede contener cero o más sentencias. Qué bloque de código se ejecuta depende de resultado de la evaluación de una condición de prueba, denominada expresión booleana. Un sentencia if en un programa que tiene el siguiente formato general: if ( <expresion booleana> ) <bloque then> else <bloque else>

Expresión Booleana Bloque then Bloque else if (puntuacionPrueba < 70) cuadroMensaje.show("no ha aprobado“); else cuadroMensaje.show("ha aprobado"); Bloque else

Operadores relaciónales < // menor que <= // menor que o igual a == // igual a != // distinto de > // mayor que >= // mayor que o igual a

Ejemplos a*a <= c //cierto si a*a es menor que o igual a c x+y != z //cierto si x + y no es igual a z a == b //cierto si a es igual a b a + 4 > 7 //cierto si a + 4 es mayor que 7 b - 6 >= d //cierto si b - 6 es mayor o igual a d

Diagrama de flujo puntuacionPrueba < 70 V cuadroMensaje.show (“Ha aprobado“); cuadroMensaje.show (“No ha aprobado“);

Sentencias compuestas if (puntuacionPrueba < 70) { cuadroMensaje.show(“No ha aprobado“); cuadroMensaje.show(“Inténtelo otra vez“); } else { cuadroMensaje.show(“Ha aprobado“); cuadroMensaje.show(“Siga trabajando"); }

Estilo Estilo 1 Estilo 2 if (<expresion booleana>) { else { }

Reglas para escribir los bloques then y else 1. Las llaves izquierda y derecha son necesarias para rodear a las sentencias si el bloque then o el bloque else contienen múltiples sentencias. 2. Las llaves no son necesarias si el bloque then o el bloque else contienen una única sentencia. 3. No se necesita un punto y coma después de la llave derecha.

If abreviado puntuacionPrueba>=95 cuadroMensaje.show (“Ud. es excelente“); if (puntuacionPrueba >= 95) { cuadroMensaje.show(“Ud. es excelente“); } else {}

Preguntas rápidas 1. Identifique las sentencias if inválidas a. if(a < b) then c . if(a < b) x = y; x = y; else else { x= z; x= z; } b. if ( a < b ) d. if ( a < b ) { else x = y; x = y; } else x = z; 2. Exprese las siguientes sentencias if-then usando if-then-else. a. if ( a < b ) x = y; b. if ( a < b ) {} c. if ( a < b ) x = y; if ( a >= b ) x = z;

Expresiones booleanas y variables Tres operadores booleanos son AND, OR y NOT. En Java, los símbolos &&, ||, y ! representan los operadores AND, OR y NOT respectivamente. Operadores booleanos y su significado. A B A&&B A||B !A F F F F V F V F V V V F F V F V V V V F V = verdadero, F = falso

ejemplos (x 150) x < y && ! (y < z && z < x) x/y > z || y==0 evaluación en corto circuito y==0 || x/y > z

Error frecuente Un error muy frecuente cuando se escribe un programa es mezclar los operadores de asignación y de igualdad. Frecuentemente cometemos el error de escribir. if (x = 5) . . . cuando realmente queríamos decir: if (x == 5) ...

Preguntas rápidas Evalúe las siguientes expresiones booleanas. Suponga que x, y y z tienen valores numéricos. a. a < 5 || 6 == 6 b. 2 < 4 && (false || 5 <= 4 ) c. x <= y && ! (z != z) | x > y d. x < y || z < y && y <= z 2. Identifique errores en las siguientes expresiones y asignaciones booleanas. a. boolean hecho; hecho = x = y; b. 2 < 4 && (3 < 5) + 1 == 3 c. boolean rápido; rapido = true; rapido == ( 34 == 20 ) && rapido;

Sentencias if anidadas Las cláusulas then y else de una sentencia if pueden contener cualquier sentencia, incluyendo otra sentencia if. Una sentencia if que contiene otra sentencia if, bien en el bloque then o bien en el bloque else, se denomina una sentencia if anidada.

Ejemplo if (puntuacionPrueba >= 70) { if (edadEstudiante < 10) { cuadroMensaje.show( "Ha hecho un gran trabajo"); } else { //puntuación prueba >= 70 //y edad >= 10 cuadroMensaje.show("Ha aprobado"); } } else { // puntuación prueba < 70 cuadroMensaje.show("No ha aprobado"); }

Otra versión if (puntuacionPrueba >= 70 && edadEstudiante < 10) { cuadroMensaje.show( "Ha hecho un gran trabajo"); } else { //o bien puntuación prueba < 70 OR // edad >= 10 if (puntuacionPrueba >= 70){ cuadroMensaje.show("Ha aprobado"); } else { cuadroMensaje.show("No ha aprobado"); } }

if (num1 < 0) if (num2 < 0) if (num3 < 0) contadorNegativo = 3; //los tres son negativos else contadorNegativo = 2; //num1 y num2 son negativos else if (num3 < 0) contadorNegativo = 2; //num1 y num3 son negativos else contadorNegativo = 1; //num1 es negativo else if (num2 < 0) if (num3 < 0) contadorNegativo =2; // num2 y num3 son negativos else contadorNegativo = 1; // num2 es negativo else if (num3 < 0) contadorNegativo =1; // num3 es negativo else contadorNegativo =0; // no hay números negativos

Otra versión contadorNegativo = 0; if (num1 < 0)

Cálculo de la nota de un estudiante Prueba puntuación Nota 90 < puntuación A 80 <= puntuación < 90 B 70 <= puntuación < 80 C 60 <= puntuación < 70 D

if (puntuación >= 90) cuadroMensaje if (puntuación >= 90) cuadroMensaje.show("Su nota es A"); else if (puntuación >= 80) cuadroMensaje.show("Su nota es B"); else if (puntuación >= 70) cuadroMensaje.show("Su nota es C"); else if (puntuación >= 60) cuadroMensaje.show("Su nota es D"); else cuadroMensaje.show("Su nota es F");

if (puntuación >= 90) cuadroMensaje if (puntuación >= 90) cuadroMensaje.show("Su nota es A"); else if (puntuación >= 80) cuadroMensaje.show("Su nota es B"); else if (puntuación >= 70) cuadroMensaje.show("Su nota es C"); else if (puntuación >= 60) cuadroMensaje.show("Su nota es D"); else cuadroMensaje.show("Su nota es F");

else colgado if (x < y) if (x < z) cuadroMensaje.show("Hola") ; else cuadroMensaje.show("Adiós") ; if (x < y) if (x < z) cuadroMensaje.show("Hola") ; else cuadroMensaje.show("Adiós") ;

Solución if (x < y){ if (x < z) cuadroMensaje.show("Hola") ; } else cuadroMensaje.show("Adiós") ;

Preguntas rápidas 1. Rescriba las siguientes sentencias de if anidados sin usar ningún anidamiento: a. if ( a < c ) c. if ( a < b ) if ( b < c ) if ( a >- b ) x = y; x = z; else else x = z; x = y; else else x = z; x = z; b. if ( a -= b ) x = y; else if ( a > b ) x = y; else x = z;

Preguntas rápidas 2. Dé formato a las siguientes sentencias if usando sangrado. a. if(a<b)if(c>d)x = y; else x = z; b. if(a<b){if(c > d)x = y;}else x = z; c. if(a<b)x = y;if(a<c)x-z;else if(c<d) z = y;

ListBox Se considera una interfaz mejor aquella que permite al usuario introducir solamente valores que son válidos, en lugar de detectar los errores después de que el usuario ha introducido un valor inválido. Existe un objeto ListBox en el paquete javabook que proporciona una lista de elementos que el usuario puede seleccionar. MainWindow ventanaPrincipal = new MainWindow( ); ListBox colorLista = new ListBox(ventanaPrincipal);

Se añaden los nombres de los colores usando el mensaje additem Si desea especificar su propio título, hay que pasar dicho título como segundo argumento cuando se crea un objeto como en: colorLista = new ListBox(ventanaPrincipal, "SeleccioneColor“); Se añaden los nombres de los colores usando el mensaje additem colorLista.addItem("Magenta"); colorLista.addItem("Cyan"); colorLista.addItem("Rojo"); colorLista.addItem("Azul"); colorLista.addItem("Verde"); y se ejecuta seleccion = colorLista.getSelectedIndex( );

El método getSelectedIndex devuelve NO_SELECTION si el usuario pulsa el botón OK sin seleccionar una opción y devuelve CANCEL si el usuario pulsa el botón Cancel o la opción cerrar la ventana. Después de que el método getSelectedIndex devuelve un valor, el objeto ListBox desaparece de la pantalla. NO_SELECTION y CANCEL son constantes públicas de clase de tipo int y se hace referencia a las mismas como: CuadroLista.NO_SELECTION CuadroLista.CANCEL

El código siguiente muestra el nombre del color seleccionado: seleccion = colorLista.getSelectedIndex( ); if (seleccion == CuadroLista.NO_SELECTION) cuadroMensaje.show("No ha seleccionada nada"); else if (seleccion == CuadroLista.CANCEL) cuadroMensaje.show("Ha cancelado CuadroLista") else if (seleccion == 0) cuadroMensaje.show("Ha seleccionado Magenta"); else if (seleccion == 1) cuadroMensaje.show("Ha seleccionado Cyan"); else if (seleccion == 2) cuadroMensaje.show("Ha seleccionado Rojo"); else if (seleccion == 3) cuadroMensaje.show("Ha seleccionado Azul"); else if (seleccion == 4) cuadroMensaje.show("Ha seleccionado Verde");