Fundamentos de programación
CURSO: FUNDAMENTOS DE PROGRAMACIÓN
Docente: Ing. Joseph Ballon Alvarez
Docente: Ing. Joseph Ballon Alvarez
Fundamentos de programación
SEMANA II
Docente: Ing. Joseph Ballon Alvarez
Fundamentos de programación
ESTRUCTURA SELECTIVA O
CONDICIONAL
Docente: Ing. Joseph Ballon Alvarez
Fundamentos de programación
No Si
Si estudio?
Docente: Ing. Joseph Ballon Alvarez
Fundamentos de programación
ESTRUCTURA SELECTIVA
La estructura selectiva permite la realización de una
instrucción u otra según un criterio o condición, y solo una
de estas instrucciones se ejecutará.
Los controles que se manejan en esta
estructura son:
•Si (if)
•Según Sea (switch)
Docente: Ing. Joseph Ballon Alvarez
Fundamentos de programación
Estructura Selectiva Si (if)
Si (condición)
La (condición) tiene 3 partes:
(variable [Link] dato) Ejem: ( edad > 20)
(variable [Link] variable) Ejem: ( talla < peso)
Puedo unir dos o más condiciones con operadores lógicos
AND, OR.
Docente: Ing. Joseph Ballon Alvarez
Fundamentos de programación
Su estructura básica es: ( de alternativa única)
Si (condición es Verdadera) entonces
Acción A
FinSi
Donde: Acción A, puede ser una o varias acciones.
Docente: Ing. Joseph Ballon Alvarez
Fundamentos de programación
Ejemplo (alternativa única): Elaborar un algoritmo que
indique si un numero ingresado es positivo.
Inicio
Var: n:entero
Escribir “Ingresar número”
Leer (n)
Si (n >=0) entonces
Escribir “Positivo”
Finsi
Fin
Docente: Ing. Joseph Ballon Alvarez
Fundamentos de programación
De alternativa doble:
si (condicion es V) entonces
Acciones A
sino
Acciones B
finsi
Docente: Ing. Joseph Ballon Alvarez
Fundamentos de programación
Ejemplo (alternativa doble): Elaborar un algoritmo que indique si un
numero ingresado es positivo o negativo, asumiendo que 0 es positivo.
Inicio
Entero n
Escribir (“Ingresar número”)
Leer (n)
Si (n >=0) entonces
Escribir (“Positivo”)
Sino
Escribir (“Negativo”)
FinSi
Fin
Docente: Ing. Joseph Ballon Alvarez
Fundamentos de programación
De alternativa múltiple:
Si (condicion1 es V) entonces
Acciones A
Sino Si (condicion2 es V) entonces
Acciones B
Sino Si (condicion3 es V) entonces
Acciones C
Sino
Acciones D
FinSi
Docente: Ing. Joseph Ballon Alvarez
Fundamentos de programación
Inicio
Ejemplo (alternativa
Var: n:entero
múltiple): Indicar si un
numero ingresado es Escribir (“Ingresar número”)
positivo, negativo o Leer (n)
cero. Si (n > 0) entonces
Escribir (“Positivo”)
Sino Si (n < 0) entonces
Escribir (“Negativo”)
Sino
Escribir (“Es cero”)
Finsi
Fin
Docente: Ing. Joseph Ballon Alvarez
Fundamentos de programación
En algunos casos donde es preciso hacer varias
evaluaciones, es necesario aplicar varias alternativas
simples y no la alternativa múltiple, ya que en esta última
basta que se cumpla una de las alternativas se sale de la
estructura.
Ejemplo:
Obtener el mayor de 3 números ingresados.
Ejemplo:
Obtener el menor de 3 números ingresados.
Docente: Ing. Joseph Ballon Alvarez
Fundamentos de programación
Ejemplo:
Diseñe un algoritmo que determine el promedio final de
un alumno conociendo sus tres notas. El profesor del
curso ha prometido incrementar en dos puntos la nota
de la tercera práctica calificada si es que es mayor a
10. Considere que la máxima nota final es 20.
Docente: Ing. Joseph Ballon Alvarez
Fundamentos de programación
Ejercicio 1.- Determine la a. si (x < y)
salida para cada uno de Escribir ( “x = ” , x )
los siguientes segmentos Escribir ( “y = ” , y )
de programa. Suponga
que: x = 2 e y = 3 finsi
b. si (x < y)
temp y;
y x;
x temp;
finsi
Escribir ( “x = ” , x )
Escribir ( “y = ” , y )
Docente: Ing. Joseph Ballon Alvarez
Fundamentos de programación
c. si ((x > y) or (x – y < 0))
x = x + 1;
y = y - 1;
finsi
Escribir ( “x = ” , x )
Escribir ( “y = ” , y )
d. si (x mod y = 0)
Escribir ( “ x es divisible entre y ”)
sino
Escribir ( “ x no es divisible entre y ”)
finsi
Docente: Ing. Joseph Ballon Alvarez
Fundamentos de programación
EL ENUNCIADO si/sino (if / else)
Pseudocodigo
si/sino (if/else) es Inicio
un proceso de
Var: nota: entero
selección de dos
caminos, en Escribir ("Ingresar su nota ")
cambio if es un Leer (nota)
proceso de Si (nota >= 18) entonces
selección de un Escribir ("¡Felicitaciones!" ")
camino.
Sino
Escribir ("¡Siga adelante, estudie mucho!")
Finsi
Fin
Docente: Ing. Joseph Ballon Alvarez
Fundamentos de programación
Codificación:
Docente: Ing. Joseph Ballon Alvarez
Fundamentos de programación
ENUNCIADOS si ANIDADOS Inicio
Ejemplo: Indicar si un Var: n:entero
numero ingresado es Escribir (“Ingresar número”)
positivo, negativo o cero. Leer (n)
Si (n > 0) entonces
Escribir (“Positivo”)
Sino Si (n < 0) entonces
Escribir (“Negativo”)
Sino
Escribir (“Es cero”)
Finsi
Fin
Docente: Ing. Joseph Ballon Alvarez
Fundamentos de programación
Ejemplo:
Crear un algoritmo que efectue las principales
operaciones matemáticas (+, -, *, /) e indique con un
mensaje si se ingreso una operación no valida.
Docente: Ing. Joseph Ballon Alvarez