Está en la página 1de 46

Informática

Sesión 04

Pedro Pablo Rosales López, Dr. Ing.


¿Qué observas?
Contenido 4/16
 Sentencia SWITCH
 Sentencia BREAK
 Sentencia CONTINUE

 Práctica Dirigida.

Logros de la unidad 1
Aprender a resolver problemas de programación mediante diagramas y el lenguaje de programación
C++
Informática

ESTRUCTURAS SELECTIVAS
Estructuras Selectivas

 Estructura de Selección Simple


 If (expresión lógica)…[else…]

 Estructura de Selección Múltiple


 Switch (expresión)
Estructuras de Selección Simple - If
 El flujo lógico de esta estructura es de arriba hacia abajo.

 La primera sentencia se ejecutará y se saldrá de la estructura if si la primera


condición es verdadera.

 Si la primera condición fue falsa, y existe otra condición, se evalúa, y si la


condición es verdadera, entonces se ejecuta la sentencia asociada.

 Si existen más condiciones dentro de la estructura if, se van evaluando


éstas, siempre y cuando las condiciones que le precedan sean falsas.

 La sentencia que esta asociada a la palabra reservada else, se ejecuta si


todas las condiciones de la estructura if fueron falsas.
Estructura de Selección Simple - If

 Las tres formas como se puede emplear la sentencia if son:

if (condición 1)
sentencia 1;
if (condición) else
if (condición) sentencia 1; if (condición 2)
sentencia ; else sentencia 2;
sentencia 2; ……
else
sentencia n;
Ejemplo de Estructura de Selección Simple - If

Int main()
{ n=1
int n, a, b, x;
a = 1;
b = 99;
cin >> n
……
if (n>0)
x = b; X = 99
else
x = a;
cout <<x;
........
}
Informática

ESTRUCTURAS DE SELECCIÓN
MÚLTIPLE
Estructura de Selección Múltiple - SWITCH
 Aunque con la estructura if ... else if se pueden realizar comprobaciones
múltiples, es mejor utilizar una estructura mejor preparada.

 Lenguaje C++ tiene incorporada una sentencia de bifurcación múltiple


llamada switch.

 Con esta sentencia, la computadora comprueba una variable sucesivamente


frente a una lista de constantes enteras o de caracter.

 Después de encontrar una coincidencia, la computadora ejecuta la sentencia


o bloque de sentencias que se asocian con la constante.
Estructuras Condicional Múltiple - SWITCH
 La forma general de la sentencia switch es:

switch (variable) {
case constante1:
secuencia de sentencias;
break;
case constante2:
secuencia de sentencias;
Variable = Constante 2
break;
case constante3:
secuencia de sentencias;
break;
...
default:
secuencia de sentencias;
continue;
}
Ejemplo de Estructuras Selectiva Múltiple - SWITCH
 Con switch sólo se puede comprobar
por igualdad, mientras que con if switch (letra)
puede ser con cualquier operador {
relacional. case 'a':
case 'e':
 No se puede probar más de una case 'i':
constante por case.
case 'o':
case 'u':
 La forma como se puede simular el
último punto, es no teniendo numvocales++;
sentencias asociados a un case, es break;
decir, teniendo una sentencia nula case ' ':
donde sólo se pone el caso, con lo que numesp++;
se permite que el flujo del programa break;
caiga al omitir las sentencias, como se
muestra a continuación: default:
numotras++;
break;
}
Estructuras secuencial y selectiva

 Estructuras secuenciales  Estructura selectiva simple


Estructura Selectiva Doble

Diagrama de Flujo Pseudocódigo

si <condición> entonces
acción 1
si_no
acción 2
fin_si

Diagrama N-S

14
Estructura Selectiva Múltiple

Diagrama Flujo
Pseudocódigo

según_sea <expresión> hacer


<lista 1> : acción 1
<lista 2> : acción 2
...
[si_no
acción n]
fin_según

Diagrama N-S
Estructura Anidada

Pseudocódigo
• Tanto las estructuras selectivas
si <condición1> entonces
<acciónes1>
como las repetitivas pueden ser
si_no anidadas, e introducidas unas
si <condición2> entonces en el interior de las otras.
<acciones2>
si_no
si <condición3> entonces
<acciones3>
si_no
<accionesX>
fin_si
fin_si
fin_si
Ejercicios 01
 Leer tres números selectivos e imprimir el número mayor de los tres
 .
 Inicio
Leer num1, num2,num3 Lenguaje C++:
Si (num1>num2) and (num1 >num3) entonces
Mayor = num1
Si no
Si ((num2>num1) and (num2 >num3) entonces
Mayor = num2
Si no
Mayor = num3
Fin-si
Fin-si
Imprimir Mayor
 Fin

 Es una Estructura secuencial múltiple


Ejercicios 02: Selecciona una opción
 Solicitar al usuario que ingrese una opción, entre 1 y 3. Si la opción
ingresada es uno, mostrar en pantalla el mensaje; “Primera opción
seleccionada”. De igual forma, con las opciones 2 y 3. Si se ingresa una
opción diferente, mostrar el mensaje; “Opción inválida”.

Inicio Lenguaje C++:


Entero opción
Mostrar “Ingrese una opción, entre 1 y 3: “
Leer opción
Según sea (opción) hacer
1: Mostrar “Primera opción seleccionada”
2: Mostrar “Segunda opción seleccionada”
3: Mostrar “Tercera opción seleccionada”
Si-no
Mostrar “Opción inválida”
Fin-segun
Fin
Ejercicio 03 : Colores de Español a Inglés

Pseudo-Lenguaje Diagrama de Flujo


Inicio
Según-sea (Color) hacer
Ingresa el Color
Rojo : “Red”
Azul : “Blue”
Verde : “Green”
Fin-según Color
Fin
“Red” “Blue” “Green”

Fin de Selección
Ejercicio 04 : ¿Qué número es?

 Desarrollar un algoritmo que permita el


Ingres de un número por teclado y Pseudocódigo:
muestre en pantalla la siguiente
información, según sea, en el rango de 0 a
5:
 El número es decimal.
 El número es entero.
 El número es cero.
 Si el número ingresado es menor a cero o
mayor a cinco, mostrar el mensaje:
 Error, número fuera de rango.
 Si el número es entero, mostrar en
pantalla el nombre del número:
 Uno
 Dos
 Tres
 Cuatro
 Cinco
Ejercicios 5 Estructuras Condicionales - SWITCH

Ejercicio 05
Diseñe una solución que permita leer un valor entero. Suponer que el número es
un día de la semana. Suponer que 0 corresponde a Domingo, 1 corresponde a
lunes y así sucesivamente.
Imprimir el nombre del día de hoy.

Muestre los resultados en forma adecuada:


Hoy es Lunes
Ejercicios 6 Estructuras Condicionales - SWITCH

Ejercicio 06
Diseñe una solución que permita leer dos valores enteros. Si el primero es menor
que el segundo, que imprima el mensaje ``Arriba''. Si el segundo es menor que el
primero, que imprima el mensaje ``Abajo''. Si los números son iguales, que imprima
el mensaje ``igual''. Si hay un error en la lectura de los datos, que imprima un
mensaje conteniendo la palabra “Error, te equivocaste'';

Muestre los resultados en forma adecuada.


Ejercicios 7 Estructuras Condicionales - SWITCH

Ejercicio 07
Diseñe una solución que permita controlar el peso de un aro en gramos.
El peso del aro debe ser de 14 gr.
Con una tolerancia de 2 gr.
El algoritmo debe mostrar, los comentarios;
“Peso Exacto”.
“Peso en Tolerancia”.
“Falto para que pase”, si el peso es menor que 12 gr.
“No pasa por poco”, si el peso es mayor a 16 gr.
En cualquier otro caso, debe mostrar el mensaje:
“Error Grave. Revisar el proceso”.
Muestre los resultados en forma adecuada.
Ejercicios 8 Estructuras Condicionales - SWITCH

Ejercicio 08
Diseñe una solución que permita leer dos caracteres, e imprima su valor cuando se
pueda interpretar como un número hexadecimal.
Aceptar letras mayúsculas y minúsculas para los valores del 10 al 15.

Muestre los resultados en forma adecuada.


Ejercicios 9 Estructuras Condicionales - SWITCH

Ejercicio 09
Diseñe una solución que permita leer 3 números enteros representando la fecha
como día, mes, año, y mostrar la fecha del día anterior.
Por ejemplo para una entrada como: 1 3 2018
La salida será: Fecha anterior a 1-3-2018 es 28-2-2018

Muestre los resultados en forma adecuada.


Ejercicio 10 : Registro de Vendedores
 Una tienda emplea un cierto número de vendedores. La mayoría de estos empleados obtienen
sus ingresos de comisiones sobre los artículos que venden, pero existen algunos empleados que
obtienen su salario fijo, sin importar el tipo o cantidad de artículos que venden, más una comisión
por sobre ciertos artículos.

 La tienda ofrece distintos tipos de mercancías, algunas de las cuales se clasifican como artículos
estándar por que son de uso común y no requieren de técnicas creativas de venta; además, hay
artículos que son altamente remunerados pero difíciles de vender.

 Los compradores también se clasifican. Algunos se conocen como compradores regulares, pues
hacen transacciones tan a menudo que no se requiere de hacerles venta creativa. Sin embargo,
la mayoría de los clientes hacen pocas transacciones dentro de la tienda, y es probable que
entren, compren algo y no vuelvan a ser vistos.

 Si un empleado vende cualquier tipo de artículo a un cliente regular, no se da comisión alguna.

 Si un empleado asalariado vende un artículo extra, recibe una comisión del 10% a menos que el
artículo tenga un precio mayor de $10,000, en cuyo caso recibe una comisión del 15%.
26
Ejercicio 05 : Pseudocódigo

27
Ejercicio 05 : Diagrama de Flujo
Ejercicio 05 : Diagrama N-S
Informática

ESTRUCTURAS REPETITIVAS
Ejercicio

 Calcular el promedio de un alumno que tiene 7 calificaciones en la


materia de Computación Aplicada

 Inicio
Sum = 0
Leer Nom
Para i = 1 hasta 7 de 1 en 1 Hacer
Leer nota
Sum = sum + nota
Fin_para
Prom = sum/7
Imprimir prom
 Fin

 Esto es una Estructura Hacer - Para


Estructuras Repetitivas

 Iteración
 Mecanismos de C para repetir un conjunto de instrucciones hasta que se cumple cierta
condición.

 El lenguaje cuenta con las siguientes 3 estructuras de repetición:


 For (Var=Valor_Inicial; Valor Final; incremento)
 Do ….. While (expresión Lógica)
 While (expresión Lógica)
Diagramas de Flujo Repetitivos

Diagrama de Flujo

Pseudo-Lenguaje

Para <condición> hacer no


condición
acción 1
acción 2
……

acción n
acción
Fin_Para
Instrucción Repetitiva “For”

Imprimir “Contador”

X=0

X = 30

X = X +1

Imprimir X
Estructuras de Repetición

for  #include <iostream.h>


Repite un conjunto de sentencias un  int main() {
número de veces determinado.  int n;
 cout << “Da el limite de la
For ( inicialización; termino; incremento ) sumatoria: “ ;
{  cin >>n ;
sentencia1;  suma=0;
sentencia2;  for(i=1; i<=n; i++)
...  {
sentencian;  suma=suma+i;
}  }
 cout << “ La sumatoria es : “
<< suma;
 return 0;
 }
Diagramas de Flujo Repetitivos
Ejercicio 1: Sumar números del 1 al 1000

Pseudo-Lenguaje

Diagrama de Flujo
Inicio
x = 0 x = 0
suma = 0 resultado = 0
Para (x=1;x<=1000;x++) Hacer
suma = suma + x
mostrar x
Fin_Hacer no
“La suma es: suma” x=<1000
Fin


suma=suma+x
Pseudo-Lenguaje
 Ejercicio 2: Sumar los múltiplos de del 3 menores de 1000.

 Desarrollo

 Inicio
x=0
resultado = 0
Para (x=1;x<=1000;x=x+3) Hacer
resultado = resultado + x
Fin_Para
“La suma es:”; resultado
Fin
Ejercicios propuestos Pseudo-Lenguaje & Diagrama de Flujo

Ejercicio 03:
Hacer un algoritmo que calcule el promedio de un grupo
de n estudiantes y lo compare con el promedio de otro
grupo de m estudiantes.

Entradas:
Número de estudiantes del primer grupo.
Notas del primer grupo.
Número de estudiantes del segundo grupo.
Notas del segundo.

Salidas:
“El Ganador es el Grupo ….
“Con una diferencia de …… puntos.
Ejercicios propuestos Pseudo-Lenguaje & Diagrama de Flujo

Ejercicio 04:
Hacer un algoritmo que calcule el promedio ponderado
de Claudia, paro los n cursos que lleva en el semestres.

Ejemplo Entrada:
Curso 1: 18 Créditos: 2
Curso 2: 16 Créditos: 2
Curso 3: 14 Créditos: 3
Curso 4: 12 Créditos: 3
Curso 5: 10 Créditos: 4
Curso 6: 08 Créditos: 4

Ejemplo Salida:
Promedio Ponderado: 12
Estado: Aprobado
Ejercicios propuestos Pseudo-Lenguaje & Diagrama de Flujo

Ejercicio 05:
Hacer un algoritmo que calcule la sumatoria, el producto
y el promedio de los múltiplos de n, menores de 15, n
es un numero ingresado por teclado, entero, mayor que
1 y menor o igual a 5.

Ejemplo Entrada:
Ingrese el valor de n: 3

Ejemplo Salida:
El acumulado es: 45
El producto es: 29160
El promedio es: 9
Ejercicios propuestos Pseudo-Lenguaje & Diagrama de Flujo

Ejercicio 06:
Hacer un algoritmo que calcule la diferencia entre el
factorial de n y el factorial de m.
n y m son números enteros, ingresado por teclado,
mayor que 1 y menor a 10.

Ejemplo Entrada:
Ingrese el valor de n: 3
Ingrese el valor de m: 4

Ejemplo Salida:
El factorial de 3 es: 6
El factorial de 4 es: 24
La diferencia es: 18
Ejercicios propuestos Pseudo-Lenguaje & Diagrama de Flujo

Ejercicio 07:
Escribir un programa que lea 5 números y encuentre el promedio, el máximo y
el mínimo de esos valores.
Ejercicios propuestos Pseudo-Lenguaje & Diagrama de Flujo

Ejercicio 08:
Leer tres valores representando lo siguiente:
El capital (número entero de pesos)
Una tasa de interes en porcentaje (flotante)
y un número de años (entero).
Calcular los valores de la suma del capital y el interes compuesto para un período dado de años. Para cada año
el interes es calculado como:
interes = capital * tasa_interes / 100;
el cual se suma al capital
capital += interes;
Imprimir los valores de moneda con una precisión de dos decimales. Imprimir los valores del interés compuesto
para cada año al final del período.
La salida puede ser como la siguiente:
Capital inicial 35000.00 con tasa del 12.50 en 10 años
Año Interes Suma
-----+-----------+---------
1 4375.00 39375.00
2 4921.88 44296.88
3 5537.11 49833.98
4 6229.25 56063.23
5 7007.90 63071.14
6 7883.89 70955.03
7 8869.38 79824.41
8 9978.05 89802.45
9 11225.31 101027.76
10 12628.47 113656.23
Para terminar
 ¿Qué hemos aprendido?
 ¿Qué sentencias de control condicional conoces?
 ¿Por qué es útil lo aprendido?

 Resolver los ejercicios de la Hoja de Problemas….


Bibliografía
REFERENCI
AS

 Deitel, P. (2003). Como Programar en C++ México: Prentice-Hall


Hispanoamericana.
 Rosales, P. (2010). Informática con soporte en C++ Lima: Editorial
UNMSM.
 Joyanes, L. (2003). Fundamentos de Programación España: McGrawHill.
El 99 por ciento de los fracasos son de
personas que tienen el hábito de
encontrar excusas.

George Washington

También podría gustarte