08 Logica Programacion

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    Favorites, Groups & Events

    08 Logica Programacion - Presentation Transcript

    1. Curso de Lógica y Programación Tema 4: Ejecución condicional de instrucciones María Claudia Lara Universidad de San Buenaventura Cali Primer Semestre de 2008
    2. Transformaciones para simplificar instrucciones IF (1)
      • Estas dos instrucciones IF/THEN/ELSE, aunque difieren en cuanto a su forma, ejecutan funciones equivalentes.
      • Cuando dos instrucciones hacen que Karel ejecute exactamente las mismas acciones, se les llama equivalentes en ejecución .
      IF front-is-clear THEN begin move; end ELSE begin salta-la-valla; end; IF front-is-blocked THEN begin salta-la-valla; end ELSE begin move; end; En general se puede crear una instrucción IF/THEN/ELSE equivalente en ejecución a partir de otra reemplazando <Prueba> por su opuesto y después intercambiando las cláusulas THEN por ELSE. A esta transformación se le denomina inversión de prueba .
    3. Transformaciones para simplificar instrucciones IF (2)
      • Suponga que se ha comenzado a escribir una instrucción IF y se enfrenta al dilema de que no se desea que Karel haga nada especial cuando el frente esté despejado, pero cuando el frente esté bloqueado se desea que ejecute <instrucción>. Quizá se desee omitir la cláusula THEN, pero al hacerlo se provocará un error de sintaxis (Karel no entiende una instrucción IF/ELSE). La solución al problema se ilustra a continuación.
      IF front-is-clear THEN begin no-haga-nada; end ELSE begin <instrucción>; end; IF front-is-blocked THEN begin <instrucción>; end;
    4. Transformaciones para simplificar instrucciones IF (3)
      • La segunda transformación que se estudia es la factorización desde abajo .
      • La instrucción IF/THEN/ELSE de la izquierda es equivalente en ejecución al fragmento del programa que se encuentra a la derecha.
      IF <prueba> THEN begin <instrucción-1>; <instrucción-3>; end ELSE begin <instrucción-2>; <instrucción-3>; end; IF <prueba> THEN begin <instrucción-1>; end ELSE begin <instrucción-2>; end; <instrucción-3>; La <instrucción3> se ejecuta en el IF de la izquierda sin importar si <prueba> es cierto o falso, por lo que se puede omitir de cada una de las cláusulas y poner inmediatamente después de la instrucción IF/THEN/ELSE completa. Se pueden factorizar todas las instrucciones comunes y aún así preservar la equivalencia en ejecución.

    + ajrodriguezajrodriguez, 2 years ago

    custom

    179 views, 0 favs, 0 embeds more stats

    Taller Sentencia IF y ELSE

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 179
      • 179 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 4
    Most viewed embeds

    more

    All embeds

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories