estructuras de selección (anidadas)galvez.milibreta.com.mx/uas/algoritmia/8... · estructuras de...
Post on 05-Jul-2020
19 Views
Preview:
TRANSCRIPT
12/12/2018
1
Facultad de Informática Culiacán
Estructuras de Selección (Anidadas)
Instructores: MC. Gerardo Gálvez Gámez
Octubre de 2018
UNIVERSIDAD AUTÓNOMA DE SINALOA
Estructuras de selección • Algoritmia • FIUAS
Competencia del Tema
El alumno:
• Conocerá la semántica de la estructuraalgorítmica de selección anidada comocomponentes en soluciones algorítmicas.
• Aplicará la estructura en el desarrollo dealgoritmos más complejos.
12/12/2018
2
Estructuras de selección • Algoritmia • FIUAS
Contenido
• Estructuras de Selección (condicionales)
▫ Anidadas
▫ Ejemplos
▫ Ejercicios extra clase
Estructuras de selección • Algoritmia • FIUAS
Estructura de Selección ANIDADA
Permiten elegir entre doso más opciones oalternativas posibles, enfunción del cumplimientoo no de las ExpresionesBooleanas evaluadas.
Expresión Booleana 1
Instrucciones fuera de condicionales
NoInstrucciones 1
Si
Expresión Booleana 2
Instrucciones 2
Si
Expresión Booleana 3
Instrucciones 3
Si
Instrucciones 4 (Default)
No
No
12/12/2018
3
Estructuras de selección • Algoritmia • FIUAS
Estructura de Selección Anidada
SI expresión-booleana1 ENTONCES
Instrucciones1 (acciones a realizar) caso true
SI_NO
SI expresión-booleana2 ENTONCESInstrucciones2 (acciones a realizar) caso true
SI_NOSI expresión-booleana3 ENTONCES
Instrucciones3 (acciones a realizar) caso trueSI_NO
Instrucciones (acciones a realizar) caso DefaultFIN_SI
FIN_SI
FIN_SI
Sintaxis: Pseudocódigo
Estructuras de selección • Algoritmia • FIUAS
El alumno realizará el análisis para la definición del siguiente
problema:
12/12/2018
4
Estructuras de selección • Algoritmia • FIUAS
Problema 1
Elabore un pseudocódigo (incluiranálisis y verificación) que:
▫ Solicite al usuario la lectura de 1número entero, e imprima enpantalla, un mensaje que indique, siel número es:
Positivo,
Negativo o
Nulo.
Estructuras de selección • Algoritmia • FIUAS
Procedimientos para
solucionar problemas
COMPRENDER EL PROBLEMA.
Leer el problema varias veces
¿Qué datos me dan en el enunciado del problema?
¿Qué datos requiero aparte de los que me da el enunciado del problema?
¿Qué debo lograr?
¿Cuál es la incógnita del problema?
¿Cuáles son las restricciones del problema?
Organizar la información, si es necesario.
12/12/2018
5
Estructuras de selección • Algoritmia • FIUAS
Alto, pregúntate:
• ¿Mis conocimientos actuales me permitenresolver este problema?
• Respuesta:
▫ : Plantear una estrategia para obtener losconocimientos requeridos.
▫ : Continuar con la siguiente etapa de lasolución del problema.
Estructuras de selección • Algoritmia • FIUAS
Investigar Herramientas
•Cálculo de:
•Descuento
•Resta
•Otros
12/12/2018
6
Estructuras de selección • Algoritmia • FIUAS
Contenido del Tema
▫ Definición del Problema.
▫ Análisis del problema.
▫ Construcción del Algoritmo.
▫ Verificación (Prueba y Depuración).
√
Estructuras de selección • Algoritmia • FIUAS
Análisis del problema
1. Información de Salida▫ TipoNumero
2. Datos Conocidos1.Ninguno en este problema
3. Datos no Conocidos1.Numero
4.Restricciones▫ No se debe solicitar al usuario el tipo de número.
▫ El número es entero.
12/12/2018
7
Estructuras de selección • Algoritmia • FIUAS
Proceso (Idea)
• Paso#1:Asignar a TipoNumero el valor “Positivo”, sí el valordel número es mayor a Cero
▫ TipoNumero=“Positivo”
• Paso #2: Asignar a TipoNumero el valor “Negativo”, sí el valordel número es menor a Cero.
▫ TipoNumero=“Negativo”
• Paso #3: Asignar a TipoNumero el valor “Nulo” , sí el valor delnúmero es igual a Cero..
▫ TipoNumero=“Nulo”
Escoger y decidir las operaciones a efectuar.
Estructuras de selección • Algoritmia • FIUAS
Contenido del Tema
▫ Definición del Problema.
▫ Análisis del problema.
▫ Construcción del Algoritmo.
▫ Verificación (Prueba y Depuración).
√
12/12/2018
8
Estructuras de selección • Algoritmia • FIUAS
Construcción del Algoritmo (Pseudocódigo)
Objetivo: Imprimir en pantalla, si un número dado por elusuario es: positivo, negativo o nulo.
Programador: MC. Gálvez Gámez Gerardo
Fecha: __/Octubre/2016
INICIO
//Definición de Variables y ConstantesCADENA TipoNumero
ENTERO Numero
//Lectura de Datos no ConocidosIMPRIMIR “Proporcione el valor para número:”
LEER Numero
Estructuras de selección • Algoritmia • FIUAS
Construcción del Algoritmo (Pseudocódigo)
//Determinar el tipo de número
SI Numero > 0 ENTONCES
TipoNumero = “Positivo”
FIN_SI
SI Numero < 0 ENTONCES
TipoNumero = “Negativo”
FIN_SI
SI Numero==0 ENTONCES
TipoNumero = “Nulo”
FIN_SI
//Imprimir como resultado el tipo de número
IMPRIMIR “El Número ”, Numero, “ es: ”, TipoNumero
FIN
12/12/2018
9
Estructuras de selección • Algoritmia • FIUAS
Actividad: (Plan de Prueba)
Número Resultado Esperado Verificación
4 “Positivo” √
-5 “Negativo” √
0 “Nulo” √
Estructuras de selección • Algoritmia • FIUAS
Pantalla de la PC
Actividad: Verificación
Estructura de 32 bits
12/12/2018
10
Estructuras de selección • Algoritmia • FIUAS
Segunda Idea
Estructuras de selección • Algoritmia • FIUAS
Proceso (Idea 2)
• Paso#1:Asignar a TipoNumero el valor “Positivo”, sí el valordel número es mayor a Cero
▫ TipoNumero=“Positivo”
• Paso #2: Sí la primer condición es falsa, asignar aTipoNumero el valor “Negativo”, sí el valor del número esmenor a Cero.
▫ TipoNumero=“Negativo”
• Paso #3: Sí las condiciones anteriores son falsas, asignar aTipoNumero el valor “Nulo”.
▫ TipoNumero=“Nulo”
Escoger y decidir las operaciones a efectuar.
12/12/2018
11
Estructuras de selección • Algoritmia • FIUAS
Construcción del Algoritmo (Pseudocódigo)
Objetivo: Imprimir en pantalla, si un número dado por elusuario es: positivo, negativo o nulo.
Programador: MC. Gálvez Gámez Gerardo
Fecha: __/Octubre/2016
INICIO
//Definición de Variables y ConstantesCADENA TipoNumero
ENTERO Numero
//Lectura de Datos no ConocidosIMPRIMIR “Proporcione el valor para número:”
LEER Numero
Estructuras de selección • Algoritmia • FIUAS
Construcción del Algoritmo (Pseudocódigo)
//Determinar el tipo de número
SI Numero > 0 ENTONCES
TipoNumero = “Positivo”
SI_NO
SI Numero < 0 ENTONCES
TipoNumero = “Negativo”
SI_NO
TipoNumero = “Nulo”
FIN_SI
FIN_SI
//Imprimir como resultado el tipo de número
IMPRIMIR “El Número ”, Numero, “ es: ”, TipoNumero
FIN
12/12/2018
12
Estructuras de selección • Algoritmia • FIUAS
El alumno realizará el análisis para la definición del siguiente
problema:
Estructuras de selección • Algoritmia • FIUAS
Problema 2
Elabore un pseudocódigo (incluiranálisis y verificación) que:
▫ Solicite al usuario el valor para tres númerosenteros y determine e imprima en pantallaquien es mayor. Suponga que los valores de losnúmeros son diferentes.
▫ Ejemplo: Plan de pruebaEntrada Salida
Numero1=10Numero2=15Numero3=12
El mayor es 15
Numero1=25Numero2=16Numero3=10
El mayor es 25
Numero1=2Numero2=16Numero3=30
El mayor es 30
12/12/2018
13
Estructuras de selección • Algoritmia • FIUAS
Problema 3
Elabore un pseudocódigo (incluiranálisis y verificación) que:
▫ Solicite al usuario la edad de una persona ydetermine si es Bebe, Niño, Adolescente, Adultoo Viejo según lo siguiente:
Años Clasificado
0 – 4 Es un Bebe
5 – 9 Es un Niño
10 – 19 Es un Adolescente
20 – 44 Es un Adulto
45 en adelante Es un Viejo
Estructuras de selección • Algoritmia • FIUAS
Sintaxis: Pseudocódigo
12/12/2018
14
Estructuras de selección • Algoritmia • FIUAS
Estructura de Selección Anidada
SI expresión-booleana1 ENTONCES
[ Instrucciones]SI expresión-booleana2 ENTONCES
InstruccionesSI_NO
Instrucciones
FIN_SI
[ Instrucciones]SI_NO
SI expresión-booleana ENTONCESInstrucciones
SI_NOSI expresión-booleana ENTONCES
InstruccionesSI_NO
InstruccionesFIN_SI
FIN_SI
FIN_SI
Estructuras de selección • Algoritmia • FIUAS
Problema: Determinar por medio de un mensaje, el mayor de 3 números dados, considerando que los tres números son diferentes.
12/12/2018
15
Estructuras de selección • Algoritmia • FIUAS
Verificar el Proceso
//Determinar el número mayorSI Numero1 > Numero2 ENTONCES
SI Numero1 > Numero3 ENTONCES
NumeroMayor = “El primer número es Mayor”
SI_NO
NumeroMayor = “El tercer número es Mayor”
FIN_SI
SI_NO
SI Numero1 > Numero3 ENTONCES
NumeroMayor = “El primer número es Mayor”
SI_NO
NumeroMayor = “El Segundo Número es Mayor”
FIN_SI
FIN_SI
Entrada Salida
Numero1=10Numero2=15Numero3=12
El segundo número es
Mayor
Numero1=25Numero2=16Numero3=10
El primero número es
Mayor
Numero1=2Numero2=16Numero3=30
El Tercer número es
Mayor
Plan de Prueba
Estructuras de selección • Algoritmia • FIUAS
Actividad de Clase
▫ Dado el siguiente proceso y plan deprueba, determine su objetivo.
12/12/2018
16
Estructuras de selección • Algoritmia • FIUAS
Verificar el Proceso://Determinar el número mayor
SI Numero1 > Numero2 ENTONCES
SI Numero1 > Numero3 ENTONCES
NumeroMayor = “Número 1 es Mayor”
SI_NO
SI Numero3 > Numero1 ENTONCES
NumeroMayor = “Número 3 es Mayor”
SI_NO
NumeroMayor = “Existe Iguales”
FIN_SI
FIN_SI
SI_NO
SI Numero1 > Numero3 ENTONCES
NumeroMayor = “Número 1 es Mayor”
SI_NO
SI Numero3 > Numero1 ENTONCES
NumeroMayor = “Número 3 es Mayor”
SI_NO
NumeroMayor = “Existe Igualdades”
FIN_SI
FIN_SI
FIN_SI
Entrada Salida
Numero1=10Numero2=15Numero3=12
Numero1=25Numero2=16Numero3=10
Numero1=2Numero2=16Numero3=30
Numero1=30Numero2=30Numero3=30
Numero1=12Numero2=16Numero3=16
Estructuras de selección • Algoritmia • FIUAS
Resolver los siguientes problemas propuestos y debatirlos en
clase.
12/12/2018
17
Estructuras de selección • Algoritmia • FIUAS
Problema 4
Elabore un pseudocódigo (incluiranálisis y verificación) que:
▫ Solicite al usuario la lectura de 2 númerosenteros, e imprima en pantalla, un mensaje queindique el número mayor.
▫ Considere que si los valores de los números soniguales, el mensaje deberá ser : “son iguales”.
Numero1 Numero2 Resultado Esperado
10 4 “Número 1 es Mayor”
-5 15 “Número 2 es Mayor”
8 8 “Son Iguales”
Estructuras de selección • Algoritmia • FIUAS
Análisis del problema
1. Información de Salida▫ NumeroMayor
2. Datos Conocidos1.Ninguno en este problema
3. Datos no Conocidos1.Numero1
2.Numero2
4.Restricciones▫ No se debe solicitar al usuario quien de los dos números es mayor.
▫ El número es entero.
▫ Se debe imprimir un mensaje y no los valores de los números.
12/12/2018
18
Estructuras de selección • Algoritmia • FIUAS
Proceso
• Paso#1:Asignar a NumeroMayor el valor “Número 1 es Mayor”, sí elvalor del número1 es mayor al valor del numero2
NumeroMayor=“Número 1 es Mayor”
• Paso #2: SI la primer condición es falsa, asignar a NumeroMayor elvalor “Número 2 es Mayor”, sí el valor del número1 es menor a valorde numero2.
NumeroMayor=“Número 2 es Mayor”
• Paso #3: SI las condiciones anteriores son falsas, asignar aNumeroMayor el valor “Son iguales”.
NumeroMayor=“Son iguales”
Escoger y decidir las operaciones a efectuar.
Estructuras de selección • Algoritmia • FIUAS
Construcción del Algoritmo (Pseudocódigo)
Objetivo: Imprimir en pantalla, si dado los valores de dos númerosquien es mayor.
Programador: MC. Gálvez Gámez Gerardo
Fecha: __/octubre/2016
INICIO
//Definición de Constantes y VariablesCADENA NumeroMayor
ENTERO Numero1, Numero2
//Lectura de Datos no ConocidosIMPRIMIR “Proporcione el valor para número 1:”
LEER Numero1
IMPRIMIR “Proporcione el valor para número 2:”
LEER Numero2
12/12/2018
19
Estructuras de selección • Algoritmia • FIUAS
Construcción del Algoritmo (Pseudocódigo)
//Determinar el tipo de número
SI Numero1 > Numero2 ENTONCES
NumeroMayor = “Número 1 es Mayor”
SI_NO
SI Numero1 < Numero2 ENTONCES
NumeroMayor = “Número 2 es Mayor”
SI_NO
NumeroMayor = “Son iguales”
FIN_SI
FIN_SI
//Imprimir el resultado
IMPRIMIR NumeroMayor
FIN
Estructuras de selección • Algoritmia • FIUAS
Actividad:
Verificación (Plan de Prueba)
Numero1 Numero2 Resultado Esperado Verificación
10 4 “Número 1 es Mayor” √
-5 15 “Número 2 es Mayor” √
8 8 “Son Iguales” √
12/12/2018
20
Estructuras de selección • Algoritmia • FIUAS
Problema 5
• Elabore un pseudocódigo (incluir análisis yverificación) que:
▫ Lea como dato de entrada un dígito (0-9) y determinee imprima en pantalla su nombre alfabético.
▫ Ejemplo: Sí el dígito, como dato de entrada es 1, sunombre alfabético será “uno”, si el digito es 5, sunombre alfabético es “cinco”, etc.
▫ Nota: Considere que el usuario puede proporcionar un valorque no sea dígito, por lo que en este caso deberá de enviar unmensaje apropiado, ejemplo: “El valor ingresado no es undígito”.
Estructuras de selección • Algoritmia • FIUAS
Análisis del problema
1. Información de Salida▫ NombreAlfabetico
2. Datos Conocidos1.Ninguno en este problema
3. Datos no Conocidos1.Digito
4.Restricciones▫ No se debe solicitar al usuario el nombre alfabético del dígito.
▫ Se debe imprimir un mensaje y no el valor del número.
▫ Si se ingresa un valor que no sea dígito se enviara un mensaje indicando: “Error, el valor ingresado no es Dígito”
12/12/2018
21
Estructuras de selección • Algoritmia • FIUAS
Proceso
• Paso#1:Asignar a NombreAlfabetico el valor “Cero”, sí el valor deldigito es igual a 0.
▫ NombreAlfabetico=“Cero”
• Paso #2: SI la condición anterior es falsa, Asignar a NombreAlfabeticoel valor “Uno”, sí el valor del digito es igual a 1.
▫ NombreAlfabetico=“Uno”
• Paso #3: SI la condición anterior es falsa, Asignar a NombreAlfabeticoel valor “Dos”, sí el valor del digito es igual a 2.
▫ NombreAlfabetico=“Dos”
• Paso #4: SI la condición anterior es falsa, Asignar a NombreAlfabeticoel valor “Tres”, sí el valor del digito es igual a 3.
▫ NombreAlfabetico=“Tres”
• Paso #5: SI la condición anterior es falsa, Asignar a NombreAlfabeticoel valor “Cuatro”, sí el valor del digito es igual a 4.
▫ NombreAlfabetico=“Cuatro”
Escoger y decidir las operaciones a efectuar.
Estructuras de selección • Algoritmia • FIUAS
• Paso#6:Si la condición anterior es falsa, Asignar a NombreAlfabetico el valor“Cinco”, sí el valor del digito es igual a 5.
▫ NombreAlfabetico=“Cinco”
• Paso #7: Si la condición anterior es falsa, Asignar a NombreAlfabetico el valor“Seis”, sí el valor del digito es igual a 6.
▫ NombreAlfabetico=“Seis”
• Paso #8: Si la condición anterior es falsa, Asignar a NombreAlfabetico el valor“Siete”, sí el valor del digito es igual a 7.
▫ NombreAlfabetico=“Siete”
• Paso #9: Si la condición anterior es falsa, Asignar a NombreAlfabetico el valor“Ocho”, sí el valor del digito es igual a 8.
▫ NombreAlfabetico=“Ocho”
• Paso #10: Si la condición anterior es falsa, Asignar a NombreAlfabetico el valor“Nueve”, sí el valor del digito es igual a 9.
▫ NombreAlfabetico=“Nueve”
• Paso #11: Si las condiciones anteriores son falsas, asignar a NombreAlfabetico elvalor “Error, el Número no es Dígito”.
NombreAlfabetico = “Error, el valor ingresado no es Dígito”
12/12/2018
22
Estructuras de selección • Algoritmia • FIUAS
Construcción del Algoritmo (Pseudocódigo)
Objetivo: Imprimir en pantalla, el nombre alfabético de undígito ingresado.
Programador: MC. Gálvez Gámez Gerardo
Fecha: __/octubre/2016
INICIO
//Definición de Constantes y VariablesCADENA NombreAlfabetico
ENTERO Digito
//Lectura de Datos no ConocidosIMPRIMIR “Ingrese el valor del dígito a evaluar:”
LEER Digito
Estructuras de selección • Algoritmia • FIUAS
Continuación ….
//Determinar el tipo de número
SI Digito == 0 ENTONCES
NombreAlfabetico = “Cero”
SI_NO
SI Digito == 1 ENTONCES
NombreAlfabetico = “Uno”
SI_NO
SI Digito == 2 ENTONCES
NombreAlfabetico = “Dos”
SI_NO
SI Digito == 3 ENTONCES
NombreAlfabetico = “Tres”
SI_NO
SI Digito == 4 ENTONCES
NombreAlfabetico = “Cuatro”
SI_NO
SI Digito == 5 ENTONCES
NombreAlfabetico = “Cinco”
SI_NO
SI Digito == 6 ENTONCES
NombreAlfabetico = “Seis”
SI_NO
12/12/2018
23
Estructuras de selección • Algoritmia • FIUAS
Continuación del pseudocódigo ….
SI Digito == 7 ENTONCES
NombreAlfabetico = “Siete”
SI_NO
SI Digito == 8 ENTONCES
NombreAlfabetico = “Ocho”
SI_NO
SI Digito == 9 ENTONCES
NombreAlfabetico = “Nueve”
SI_NO
NombreAlfabetico= “Error, el Número no es Dígito”
FIN_SI
FIN_SI
FIN_SI
FIN_SI
FIN_SI
FIN_SI
FIN_SI
FIN_SI
FIN_SI
FIN_SI
//Imprimir el resultado
IMPRIMIR “El nombre alfabético de :”, Digito,” Es: ”,NombreAlfabetico
FIN
Estructuras de selección • Algoritmia • FIUAS
Actividad:
Verificación (Plan de Prueba)Número Resultado Esperado Verificación
0 “Cero” √
1 “Uno” √
2 “Dos” √
3 “Tres” √
4 “Cuatro” √
5 “Cinco” √
6 “Seis” √
7 “Siete” √
8 “Ocho” √
9 “Nueve” √
14 “Error, el valor ingresado no es Dígito”
√
12/12/2018
24
Estructuras de selección • Algoritmia • FIUAS
Problema 6
Elabore un pseudocódigo (incluir análisis yverificación) que: Determine e imprima en pantalla eltotal por incremento y total que debe pagar Ana, por lacompra de una computadora Toshiba.
▫ Se sabe que:
Si el precio de venta es menor a $7,000.00, Ana debe pagar unporcentaje adicional del 5.3%.
Si el precio de venta es de $7,000.00 hasta $10,000.00, Ana debepagar un porcentaje adicional del 15.3%.
Si el precio de venta es mayor a $10,000.00, Ana debe pagar unporcentaje adicional del 16.3%.
Estructuras de selección • Algoritmia • FIUAS
Formar equipos de 5
integrantes, desarrollar y
exponer los siguientes
problemas algorítmicos,
empleando las herramientas
algorítmicas apropiadas.
12/12/2018
25
Estructuras de selección • Algoritmia • FIUAS
Problema 7.1
Elabore un pseudocódigo (incluiranálisis y verificación) que: Permita leerel tipo de empleado(1-3) y su sueldo, paracalcular e imprimir en pantalla, elincremento de sueldo y su nuevo sueldo.
▫ Se sabe que:
Si el tipo de empleado es 1, se le aumenta 5%.
Estructuras de selección • Algoritmia • FIUAS
Problema 7.2
Elabore un pseudocódigo (incluiranálisis y verificación) que: Permita leerel tipo de empleado(1-3) y su sueldo, paracalcular e imprimir en pantalla, elincremento de sueldo y su nuevo sueldo.
▫ Se sabe que:
Si el tipo de empleado es 1, se le aumenta 5%.
Cualquier otro tipo de empleado, se le aumenta 7%.
12/12/2018
26
Estructuras de selección • Algoritmia • FIUAS
Problema 7.3
Elabore un pseudocódigo (incluiranálisis y verificación) que: Permita leerel tipo de empleado (1-3) y su sueldo, paracalcular e imprimir en pantalla, elincremento de sueldo y su nuevo sueldo.
▫ Se sabe que:
Si el tipo de empleado es 1, se le aumenta 5%.
Si el tipo de empleado es 2, se le aumenta 7%.
Si el tipo de empleado es 3, se le aumenta 9%.
Estructuras de selección • Algoritmia • FIUAS
Preguntas
F I N
top related