Oscar Alejandro González Bustamante José Víctor … · SENTENCIAS SELECTIVAS O CONDICONALES...

25
Introducción a la programación Oscar Alejandro González Bustamante José Víctor Martínez Ramos

Transcript of Oscar Alejandro González Bustamante José Víctor … · SENTENCIAS SELECTIVAS O CONDICONALES...

Page 1: Oscar Alejandro González Bustamante José Víctor … · SENTENCIAS SELECTIVAS O CONDICONALES •Dentro de las sentencias condicionales tenemos las estructuras selectivas (if) y

Introducción a la programación

Oscar Alejandro González Bustamante

José Víctor Martínez Ramos

Page 2: Oscar Alejandro González Bustamante José Víctor … · SENTENCIAS SELECTIVAS O CONDICONALES •Dentro de las sentencias condicionales tenemos las estructuras selectivas (if) y

TEMA 2-3. SENTENCIAS CONDICIONALES ( IF )

Reconocerá los símbolos gráficos de un

diagrama de flujo y del pseudocódigo y

extrapolarlos a un lenguaje de programación, en

especial los símbolos de la estructura de control

de flujo selectiva para la decisión condicional.

Page 3: Oscar Alejandro González Bustamante José Víctor … · SENTENCIAS SELECTIVAS O CONDICONALES •Dentro de las sentencias condicionales tenemos las estructuras selectivas (if) y

SENTENCIAS SELECTIVAS O CONDICONALES

•Dentro de las sentencias condicionales

tenemos las estructuras selectivas (if ) y las

repetitivas (while , for).

•Se dicen condicionales debido a que el

control de flujo de ejecución de sentencias se

determina en base al resultado de una

condición (recuerde que una condición es

una expresión lógica).

Page 4: Oscar Alejandro González Bustamante José Víctor … · SENTENCIAS SELECTIVAS O CONDICONALES •Dentro de las sentencias condicionales tenemos las estructuras selectivas (if) y

SENTENCIAS SELECTIVAS O CONDICONALES

•Las sentencias condicionales

selectivas if (si) tenemos tres

casos:

•selectiva simple

•selectiva doble

•selectiva múltiple

Page 5: Oscar Alejandro González Bustamante José Víctor … · SENTENCIAS SELECTIVAS O CONDICONALES •Dentro de las sentencias condicionales tenemos las estructuras selectivas (if) y

SELECTIVA SIMPLE if (si)

•Se evalúa la condición, si es verdadera se ejecutan las

sentencias; en caso contrario se salta dicho grupo o bloque de

sentencias.

Si (condición) entonces

Sentencia

Ejemplo:

a = 8;

Si ( a <> 8 ) entonces

Escribe “ a es diferente de ocho”

•En este ejemplo como a tiene el valor de 8 por asignación, entonces la

condición ( a <> 8 ) es falsa entonces se brincará la instrucción para escribir

“a es diferente de ocho”, esto es, no la ejecutará.

Page 6: Oscar Alejandro González Bustamante José Víctor … · SENTENCIAS SELECTIVAS O CONDICONALES •Dentro de las sentencias condicionales tenemos las estructuras selectivas (if) y

SELECTIVA SIMPLE if (si)

Ejemplo:

a = 8; b = 16;

Si ( b < a ) entonces

Escribe “ b es menor que a ”;

c = a + b;

Escribe “ a mas b es igual a “ , c ;

FinSi

•En el ejemplo anterior, a tiene el valor de 8 y b el de 16, luego

la condición ( b < a ) es falsa , entonces el programa ejecutará

las instrucciones dentro del bloque Si – FinSi y escribirá en la

pantalla:

b es menor que a

a mas b es igual a 24

Page 7: Oscar Alejandro González Bustamante José Víctor … · SENTENCIAS SELECTIVAS O CONDICONALES •Dentro de las sentencias condicionales tenemos las estructuras selectivas (if) y

ESTRUCTURA SELECTIVA SIMPLE if (si)

Diagrama de flujo Pseudocódigo

Sentencias

Si (condición) entonces

Sentencia;

FinSi

Se evalúa la condición, si es

verdadera se ejecuta las sentencias; en

caso contrario se salta dicho grupo de

instrucciones.

Recuerde que la decisión (condición o

expresión lógica) se representa con un

rombo.

condición

si

no

Page 8: Oscar Alejandro González Bustamante José Víctor … · SENTENCIAS SELECTIVAS O CONDICONALES •Dentro de las sentencias condicionales tenemos las estructuras selectivas (if) y

ESTRUCTURA SELECTIVA SIMPLE if (si)

Ejemplo 2. Construya un algoritmo con diagrama

de flujo y en pseudocódigo tal que, dados los

valores enteros P y Q, determine si los mismos

satisfacen la siguiente expresión:

En caso afirmativo debe imprimir los valores P y Q.

6802 243 PQP

Page 9: Oscar Alejandro González Bustamante José Víctor … · SENTENCIAS SELECTIVAS O CONDICONALES •Dentro de las sentencias condicionales tenemos las estructuras selectivas (if) y

EJEMPLOS - CONTROL DE FLUJO SELECCIÓN SIMPLE

Ejemplo 2

!Solución:

!Algoritmo para resolver la expresión

Inicio

Var

Entero : P,Q; ! se definen las variables.

Leer "De el valor de P",P;

Leer "De el valor de Q",Q;

Si (P**3 + Q**4 - 2*P**2 < 680 )

Entonces

Escribe "Los valores de P y Q que ";

Escribe "satisfacen son:";

Escribe "P= ",P, " Q= ",Q;

FinSi

Fin

Pseudocódigo

Inicio

"Los valores de P y Q que ";

"satisfacen son:";

"P= ",P, " Q= ",Q;

Fin

P y Q

son

Reales

Diagrama de Flujo

"De el valor de P",P

"De el valor de Q",Q

P**3 + Q**4 - 2*P**2

<

680

si

no

Page 10: Oscar Alejandro González Bustamante José Víctor … · SENTENCIAS SELECTIVAS O CONDICONALES •Dentro de las sentencias condicionales tenemos las estructuras selectivas (if) y

ESTRUCTURA SELECTIVA DOBLE if – else (si - sino)

•Es similar a la sentencia si, pero incluye dos sentencias en lugar

de una.

•Permite la ejecución de una sentencia o bloque de sentencias si

se cumple la condición lógica, al igual que la sentencia si, pero

en el caso de que no se cumpla esa condición, permite la

ejecución de otra sentencia u otro bloque de sentencias diferente

•La sintaxis de la sentencia si-sino es:

Si (condición) entonces

sentencia 1;

sino

sentencia 2;

Page 11: Oscar Alejandro González Bustamante José Víctor … · SENTENCIAS SELECTIVAS O CONDICONALES •Dentro de las sentencias condicionales tenemos las estructuras selectivas (if) y

ESTRUCTURA SELECTIVA DOBLE if – else (si - sino)

Ejemplo: día = 7;

Si ( dia <> 7 ) entonces

Escribe “Hoy no es domingo”;

Escribe “Hoy tienes que trabajar”;

sino

Escribe “Hoy hay que descansar porque es domingo”;

Escribe “Y como es domingo hay que ver el football”;

Finsi

•En el ejemplo anterior, como día es una variable numérica con

un valor asignado de 7, entonces la condición (día <> 7 ) será

falso, entonces se escribirá por pantalla:

Hoy hay que descansar porque es domingo.

Y como es domingo hay que ver el football.

Page 12: Oscar Alejandro González Bustamante José Víctor … · SENTENCIAS SELECTIVAS O CONDICONALES •Dentro de las sentencias condicionales tenemos las estructuras selectivas (if) y

ESTRUCTURA SELECTIVA DOBLE if – else (si - sino)

Diagrama de flujo Pseudocódigo

Si (condición) entonces

Sentencias 1;

FinSi

Si la condición lógica es verdadera, se ejecutará la sentencia 1. Después, la ejecución se

reanudará tras la sentencia si – sino, esto es, tras la sentencia 2 ( que no se ejecutará ).

Si la condición lógica es falsa, se ejecutará la sentencia 2, y no se ejecutará la sentencia

1. Después proseguirá la ejecución del programa.

Tanto sentencia 1 como sentencia 2, pueden ser bloques de sentencias delimitadas por

llaves de bloque.

sino

Sentencias 2;Sentencias 2

condiciónno

Sentencias 1

si

Page 13: Oscar Alejandro González Bustamante José Víctor … · SENTENCIAS SELECTIVAS O CONDICONALES •Dentro de las sentencias condicionales tenemos las estructuras selectivas (if) y

ESTRUCTURA SELECTIVA DOBLE if – else (si - sino)

Ejemplo 3. Construya un algoritmo con

diagrama de flujo y en pseudocódigo tal

que, dada la calificación de un alumno en

un curso de computación que consiste en

el promedio de tres exámenes de la

siguiente forma: CAL= (EX1 + EX2 + EX3)

/ 3.0 ; escriba “aprobado” si su calificación

es mayor que 7.5 y “reprobado” en caso

contrario. Las calificaciones deben ser

leídas para calcular la variable CAL.

Page 14: Oscar Alejandro González Bustamante José Víctor … · SENTENCIAS SELECTIVAS O CONDICONALES •Dentro de las sentencias condicionales tenemos las estructuras selectivas (if) y

ESTRUCTURA SELECTIVA DOBLE if – else (si - sino)

Ejemplo 3

!Solución:

!Algoritmo para resolver el problema 3

Inicio

Var

Real : CAL, EX1, EX2,EX3! Definición de

! variables

Leer "Dar calificación del examen 1:",EX1;

Leer "Dar calificación del examen 2:",EX2;

Leer "Dar calificación del examen 3:",EX3;

CAL = (EX1 + EX2 + EX3) / 3.0;

SI (CAL >= 7.5) Entonces

Escribe "Aprobado con: ",CAL

Otro

Escribe "Reprobado con: ",CAL

FinSi

Fin

Pseudocódigo

Inicio

"Aprobado con: ",CAL

Fin

CAL,

EX1,EX2,

EX3 son

Reales

Diagrama de Flujo

"Dar calificación del examen 1:",EX1;

"Dar calificación del examen 2:",EX2;

"Dar calificación del examen 3:",EX3;

CAL >= 7.5

sino

CAL = (EX1 + EX2 + EX3) / 3.0;

"Reprobado con: ",CAL

Page 15: Oscar Alejandro González Bustamante José Víctor … · SENTENCIAS SELECTIVAS O CONDICONALES •Dentro de las sentencias condicionales tenemos las estructuras selectivas (if) y

ESTRUCTURA SELECTIVA MULTIPLE if anidados (si anidados)

Esta estructura se aplica cuando tenemos condiciones

múltiples.

Ejemplo, el siguiente fragmento de un algoritmo que

pregunta el nombre y la profesión de una persona y da

una respuesta por pantalla.

Observe el lector que el número de FinSi corresponde

al número de Si o condiciones que tenga el algoritmo,

además de la identación en forma de “escalerita” nos

facilita visualizar esta estructura de control.

Page 16: Oscar Alejandro González Bustamante José Víctor … · SENTENCIAS SELECTIVAS O CONDICONALES •Dentro de las sentencias condicionales tenemos las estructuras selectivas (if) y

ESTRUCTURA SELECTIVA MULTIPLE if anidados (si

anidados)

Page 17: Oscar Alejandro González Bustamante José Víctor … · SENTENCIAS SELECTIVAS O CONDICONALES •Dentro de las sentencias condicionales tenemos las estructuras selectivas (if) y

ESTRUCTURA SELECTIVA MULTIPLE if anidados (si

anidados)•Ahora cheque el diagrama de flujo del anterior algoritmo:

Page 18: Oscar Alejandro González Bustamante José Víctor … · SENTENCIAS SELECTIVAS O CONDICONALES •Dentro de las sentencias condicionales tenemos las estructuras selectivas (if) y

ESTRUCTURA SELECTIVA MULTIPLE if anidados (si

anidados)

Page 19: Oscar Alejandro González Bustamante José Víctor … · SENTENCIAS SELECTIVAS O CONDICONALES •Dentro de las sentencias condicionales tenemos las estructuras selectivas (if) y

ESTRUCTURA SELECTIVA MULTIPLE if anidados (si

anidados)

•En este ejemplo, se evalúa la condición 1 , si es verdad ( si ),

se ejecutan el bloque de sentencias 1, sino , si es falsa la

condición 1 ( no ), entonces se evalúa la condición 2

•Si la condición 2 es verdad ( si ) se ejecutan el bloque de

sentencias 2, sino , si es falsa la condición 2 ( no ), entonces

se evalúa la condición 3, y así sucesivamente hasta llegar a

evaluar la condición N, si es verdad ( si ) entonces se ejecuta

el bloque de sentencias N.

•Finalmente si da falso en todas las condiciones desde la 1

hasta la N entonces se ejecuta el boque de sentencias N + 1

Page 20: Oscar Alejandro González Bustamante José Víctor … · SENTENCIAS SELECTIVAS O CONDICONALES •Dentro de las sentencias condicionales tenemos las estructuras selectivas (if) y

ESTRUCTURA SELECTIVA MULTIPLE if anidados (si

anidados)

•Diagrama de flujo de la estructura de selección múltiple o if anidados.

Page 21: Oscar Alejandro González Bustamante José Víctor … · SENTENCIAS SELECTIVAS O CONDICONALES •Dentro de las sentencias condicionales tenemos las estructuras selectivas (if) y

ESTRUCTURA SELECTIVA MULTIPLE if anidados (si

anidados)

Pseudocódigo de la estructura de selección múltiple o if anidados

Page 22: Oscar Alejandro González Bustamante José Víctor … · SENTENCIAS SELECTIVAS O CONDICONALES •Dentro de las sentencias condicionales tenemos las estructuras selectivas (if) y

ESTRUCTURA SELECTIVA MULTIPLE if anidados (si anidados)

Ejemplo 4. Elabore un algoritmo con diagrama de flujo y

pseudocódigo tal que, dado como dato una temperatura

en grados Centígrados, calcule los grados Fahrenheit y

determine el deporte que es apropiado practicar a esa

temperatura, teniendo en cuenta lo siguiente tabla:

DEPORTE TEM PERATURA en gr ados

Fahr enhei tNat ación > 85

Ten i s 70 < TEM P < = 85

Gol f 32 < TEM P < = 70

Esquí 10 < TEM P < = 32

M ar cha < = 10

Page 23: Oscar Alejandro González Bustamante José Víctor … · SENTENCIAS SELECTIVAS O CONDICONALES •Dentro de las sentencias condicionales tenemos las estructuras selectivas (if) y

ESTRUCTURA SELECTIVA MULTIPLE if anidados (si anidados)

Ejemplo 4!Solución:

!Algor itmo para resolver el problema 4 (1ra. forma)

Inicio

Var Entero : TEMPF ! Temperatura en grados Farenheit

Leer “ Dar el valor de TEMPF:” ,TEMPF

Si (TEMPF> 85) Entonces

Escribe “ Natación” ;

otro

Si (TEMPF> 70) Entonces

Escribe “ Tenis” ;

otro

Si (TEMP> 32) Entonces

Escribe “ Golf” ;

otro

Si (TEMP> 10) Entonces

Escribe “ Esqui” ;

otro

Escribe “ Marcha” ;

finsi

finsi

finsi

finsi

fin

Page 24: Oscar Alejandro González Bustamante José Víctor … · SENTENCIAS SELECTIVAS O CONDICONALES •Dentro de las sentencias condicionales tenemos las estructuras selectivas (if) y

ESTRUCTURA SELECTIVA MULTIPLE if anidados (si anidados)

Ejemplo 4Inicio

Fin

TEMPF es

una

variable

Real

Diagrama de Flujo

"Dame el valor de TEMPF:",TEMPF

TEMPF > 85si no

"Natación" TEMPF > 70si no

"Tenis" TEMPF > 35si no

"Golf" TEMPF > 32si no

"Esqui" "Marcha"

Page 25: Oscar Alejandro González Bustamante José Víctor … · SENTENCIAS SELECTIVAS O CONDICONALES •Dentro de las sentencias condicionales tenemos las estructuras selectivas (if) y