Академический Документы
Профессиональный Документы
Культура Документы
COM-100
ESTRUCTURAS SELECTIVAS
SIMPLES, DOBLES
T04-01. ESTRUCTURAS SELECTIVAS SIMPLES, DOBLES
INTRODUCCION
no Expr. Lgica si
Accin
T04-01. ESTRUCTURAS SELECTIVAS SIMPLES, DOBLES
no Expr. Lgica si
Accin2 Accin1
T04-01. ESTRUCTURAS SELECTIVAS SIMPLES, DOBLES
Codificacin Lenguaje C
VARIAS ACCIONES VARIAS ACCIONES
Errores ms comunes
VARIAS ACCIONES VARIAS ACCIONES
EJEMPLOS.
1) Desarrollar un algoritmo que permita calcular e imprimir si un nmero es par o no.
ANLISIS inicio
Entrada:
var N:entero
Numero N:entero
Introducir un nmero
entero
Salida:
Par N
Impar
si no
N mod 2= 0
Mtodo:
Par Impar
N mod 2 ?
fin
T04-01. ESTRUCTURAS SELECTIVAS SIMPLES, DOBLES
EJEMPLOS.
1) Desarrollar un algoritmo que permita calcular e imprimir si un nmero es par o no.
T04-01. ESTRUCTURAS SELECTIVAS SIMPLES, DOBLES
EJEMPLOS.
1) Desarrollar un algoritmo que permita calcular e imprimir si un nmero es par o no.
T04-01. ESTRUCTURAS SELECTIVAS SIMPLES, DOBLES
EJEMPLOS.
1) Desarrollar un algoritmo que permita imprimir en pantalla Bingo si un numero
introducido pro teclado es impar.
}
T04-01. ESTRUCTURAS SELECTIVAS SIMPLES, DOBLES
EJEMPLOS.
2) Desarrollar un algoritmo que genere un nmero aleatorio entre 1 y 20, si ste es
mayor a diez imprima gan, si este es menor imprima perdi.
ANLISIS
Entrada:
Numero N: real
Generado aleatoriamente
Salida:
Gano
Perdi
Mtodo:
N > 10 Gano
N <=10 Perdi
T04-01. ESTRUCTURAS SELECTIVAS SIMPLES, DOBLES
EJEMPLOS.
3) Ingresar un numero entero por teclado y determinar si termina en tres ceros y es
mltiplo de 3, Almacenar en una variable la letra V, caso contrario almacenar en la
variable la letra F, finalmente mostrar el valor de la variable.
ANLISIS inicio
Entrada:
var Num:entero
var Letra: caracter
Numero N: entero
Introducir un
nmero entero
Salida:
Num
Letra:caracter
si no
Mtodo: (Num mod 1000 =0)
y
(Num mod 3 = 0)
N mod 1000 ? Letra F Letra V
N mod 3 ?
Letra
fin
T04-01. ESTRUCTURAS SELECTIVAS SIMPLES, DOBLES
EJEMPLOS.
4) Una tienda comercial tiene una promocin
muy interesante , el cliente debe sacar de una
bolsa que contiene 2 bolos, etiquetados con
letras: G, P , si el cliente saca el bolo G tiene
un descuento de 10%, si extrae el bolo P paga
un 5% adicional de su compra.
ANLISIS
Entrada:
Bolo: carcter
importe:real
Salida:
descuento: real
Mtodo:
Comparacin de
igualdad
T04-01. ESTRUCTURAS SELECTIVAS SIMPLES, DOBLES
EJEMPLOS.
5) Otra tienda tiene otra promocin: si la el
importe de la compra es mltiplo de 7 se
descuenta 5% de la misma.
ANLISIS
Entrada:
importe: real
Salida:
importe2: real
Mtodo:
EJEMPLOS.
5) Realizar el algoritmo y programa para determinar el da de pascua para un ao
introducido por teclado. De acuerdo a lo siguiente: La fecha de pascua corresponde al
primer domingo despus de la primera luna llena que sigue al equinoccio de primavera
y se calcula con las siguientes expresiones.
A = ao mod 19
B = ao mod 4
C = ao mod 7
D = (19 * A + 24) mod 30
E = (2 * B + 4 * C + 6 * D + 5) mod 7
N = (22 + D + E)
Salida
N:entero indica el numero del da del mes de marzo en el que cae la pascua
Mtodo
A = anio mod 19
B = anio mod 4
C = anio mod 7
D = (19 * A + 24) mod 30
E = (2 * B + 4 * C + 6 * D + 5) mod 7
N = (22 + D + E)
Si N es menor o igual a 31 la pascua cae en marzo
De lo contrario cae en abril
T04-01. ESTRUCTURAS SELECTIVAS SIMPLES, DOBLES
T04-01. ESTRUCTURAS SELECTIVAS SIMPLES, DOBLES
T04-01. ESTRUCTURAS SELECTIVAS SIMPLES, DOBLES
EJEMPLOS.
6) Realizar el algoritmo y programa para determinar si un nmero introducido por
teclado es capica o no, Un nmero es capica cuando su divisin entera entre 3, 5, 6,
9 tiene como resto=1, y es exactamente divisible entre 7.
Entrada
Numero N:entero
Salida
Es capicua
No Es capicua
Mtodo
N Mod 3=1 Y N Mod 5=1 Y N Mod 6=1 Y N Mod 9=1 Y N Mod 7=0
T04-01. ESTRUCTURAS SELECTIVAS SIMPLES, DOBLES
EJEMPLOS.
2) Realizar el algoritmo y programa para determinar si un nmero introducido por
teclado es capica o no, Un nmero es capica cuando su divisin entera entre 3, 5, 6,
9 tiene como resto=1, y es exactamente divisible entre 7.
inicio
var n:entero
escribir("introducir un numero entero ")
leer(n)
si ((n mod 3=1) y (n mod 5 =1) y (n mod 6=1) y (n mod 9 =1) y (n mod 7=0))
escribir(n,es capicua)
sino
escribir (n,NO es capicua)
fin-si
fin
T04-01. ESTRUCTURAS SELECTIVAS SIMPLES, DOBLES
EJEMPLOS.
2) Realizar el algoritmo y programa para determinar si un nmero introducido por
teclado es capica o no, Un nmero es capica cuando su divisin entera entre 3, 5, 6,
9 tiene como resto=1, y es exactamente divisible entre 7.
#include <stdio.h>
int main()
{
int n;
printf("introducir un numero entero \n");
scanf("%d",&n);
if ((n%3==1)&&(n%5==1)&&(n%6==1)&&(n%9==1)&&(n%7==0))
printf("%d es capicua",n);
else
printf("%d No es capicua",n);
return 0;
}
T04-01. ESTRUCTURAS SELECTIVAS SIMPLES, DOBLES
EJEMPLOS.
6) Realizar el algoritmo y programa para determinar si un nmero introducido por
teclado es capica o no, Un nmero es capica cuando su divisin entera entre 3, 5, 6,
9 tiene como resto=1, y es exactamente divisible entre 7.
#include <iostream>
using namespace std;
int main()
{
int n;
cout<<"introducir un numero entero \n";
cin>>n;
if ((n%3!=1)||(n%5!=1)||(n%6!=1)||(n%9!=1)||(n%7==0))
cout<<n<<" No es capicua";
else
cout<<n<<" Es capicua";
return 0;
}
T04-01. ESTRUCTURAS SELECTIVAS SIMPLES, DOBLES
EJEMPLOS.
7) Se tiene las coordenadas de las esquinas de un rectngulo en dos pares ordenados
que estn en el segundo cuadrante de un sistema cartesiano, se debe introducir otro
par ordenado e indicar si cae dentro del rectngulo (asumiendo los bordes como parte
del mismo.)
ANALISIS
Los pares ordenados son los vrtices
del rectngulo, y deben estar en el
segundo cuadrante
Es decir: X1,X2<=0
Y1,Y2>=0
Entradas
X1,Y1 : entero
X2,Y2: entero
X3,Y3: entero
Salidas
Dentro
Fuera
Mtodo
T04-02. ESTRUCTURAS SELECTIVAS ANIDADAS
ESTRUCTURAS
SELECTIVAS ANIDADAS
T04-02. ESTRUCTURAS SELECTIVAS ANIDADAS
T04-02. ESTRUCTURAS SELECTIVAS ANIDADAS
if (condicion 1)
if (condicion 2)
if (condicion3)
accion1;
else
accin2;
else 1
accin 3;
2 4
else
if (condicin 4) 3
5
if (condicion5)
accion4;
else
accin5;
else
accion 6;
T04-02. ESTRUCTURAS SELECTIVAS ANIDADAS
Si ngela habla ms bajo que Rosa y Celia habla ms alto que Rosa, habla ngela
ms alto o ms bajo que Celia?
if (condicion 1)
accin 1;
else
accin2;
if (condicion 2)
accin 3;
else
accin4;
if (condicion 3)
accin 5;
else
accin6;
T04-01. ESTRUCTURAS SELECTIVAS SIMPLES, DOBLES
EJEMPLOS.
1) Una tienda comercial tiene una
promocin muy interesante , el cliente
debe sacar de una bolsa que contiene 3
bolos, etiquetados con letras: G, P,7 , si
el cliente saca el bolo G tiene un
descuento de 10%, si extrae el bolo P paga
un 5% adicional de su compra y si el bolo es
7 el cliente debe comprar adicionalmente
algn producto que tenga un costo de 10
Bs.
ANLISIS
Entrada:
Bolo: caracter
Salida:
Descuento: real
Mtodo:
Comparacin de
igualdad
T04-01. ESTRUCTURAS SELECTIVAS SIMPLES, DOBLES
EJEMPLOS.
1) Una tienda comercial tiene una promocin muy interesante , el cliente debe sacar de una bolsa
que contiene 3 bolos, etiquetados con letras: G, P,7 , si el cliente saca el bolo G tiene un
descuento de 10%, si extrae el bolo P paga un 5% adicional de su compra y si el bolo es 7 el
cliente debe comprar adicionalmente algn producto que tenga un costo de 10 Bs.
inicio
bolo
Introducir el importe
de la compra
importe
si no
bolo=G
si no
bolo=P
importe importe -
descuento
fin
T04-01. ESTRUCTURAS SELECTIVAS SIMPLES, DOBLES
EJEMPLOS.
1) Una tienda comercial tiene una promocin muy interesante , el cliente debe sacar de una bolsa
que contiene 3 bolos, etiquetados con letras: G, P,7 , si el cliente saca el bolo G tiene un
descuento de 10%, si extrae el bolo P paga un 5% adicional de su compra y si el bolo es 7 el
cliente debe comprar adicionalmente algn producto que tenga un costo de 10 Bs.
T04-02. ESTRUCTURAS SELECTIVAS ANIDADAS
a,b,c
a>b
no si no si
b>c a>c
fin
T04-02. ESTRUCTURAS SELECTIVAS ANIDADAS
Anlisis
Especificacin
Restricciones: 0 x 9
Entrada : x : entero
Salida : x escrito en palabra
T04-02. ESTRUCTURAS SELECTIVAS ANIDADAS
2.- Leer las longitudes de los tres lados de un tringulo (L1,L2,L3) y determinar qu
tipo de tringulo es de, acuerdo a los siguientes casos, Suponiendo que A es el
mayor de los ladosL1,L2,L3, y que B y C corresponden a los otros dos.
ESTRUCTURAS
SELECTIVAS MULTIPLES
T04-02. ESTRUCTURAS SELECTIVAS ANIDADAS
Selector
Codificado en Lenguaje C
Valor discreto
switch (expresin) (entero, carcter)
{
case constante1_1: N valores
case constante1_2:
secuencia de sentencias;
break; Fin de cada camino
case constante2_1:
case constante2_2:
secuencia de sentencias; 1 o mas acciones
break;
case constante3_1:
secuencia de sentencias;
break;
default : Camino
secuencia de sentencias; alternativo
break; //opcional
}
T04-03. ESTRUCTURAS SELECTIVAS MULTIPLES
No puede haber dos constantes case en el mismo switch que tengan los
mismos valores (por supuesto que una sentencia switch contenida en otra
sentencia switch pude tener constantes case que sean iguales).
EJERCICIOS:
1.- Se desea leer por teclado un nmero comprendido entre 1 y 10 (inclusive) y se desea
visualizar si el nmero es par o impar.
ANALISIS
-9 .. 9: escribir('Tiene 1 digito')
-99 ..-10, 10..99: escribir('Tiene 2')
-999 .. -100, 100..999: escribir('Tiene tres')
si_no: escribir('Tiene mas de tres')
T04-03. ESTRUCTURAS SELECTIVAS MULTIPLES
DIAGRAMA DE FLUJO
T04-03. ESTRUCTURAS SELECTIVAS MULTIPLES
LENGUAJE C
T04-03. ESTRUCTURAS SELECTIVAS MULTIPLES
2.-Algoritmo que nos indique si un nmero entero, ledo de teclado, tiene 1, 2, 3 o
ms de 3 dgitos. Considerar los negativos.
ALTERNATIVA SELECTIVAS ANIDADAS
algoritmo Digitos
var entero : n
inicio
leer(n)
si (n>-9) y (n<9)
escribir('Tiene 1 digito')
sino
si ((n>-99) y (n<-10)) o (n>10) y (n<99)
escribir('Tiene 2 digitos')
sino
si ((n>-999) y (n<-100)) o (n>100) y (n<999)
escribir('Tiene tres digitos')
sino
escribir('Tiene mas de tres digitos')
fin-si
fin-si
fin-si
fin
T04-03. ESTRUCTURAS SELECTIVAS MULTIPLES
3.- Crear un programa donde el usuario pueda ingresar dos valores y opta por sumar, restar, dividir
multiplicar dichos valores, utilizando switch.
ANLISIS
Entrada :
a,b:real
opcin:carcter
Salida : una de cuatro operaciones
a) Suma de a+b
b) Resta e a-b
c) Division a/b
d) Mulriplicacion a*b
Restricciones: no tiene
T04-03. ESTRUCTURAS SELECTIVAS MULTIPLES
#include<stdio.h>
int main()
{
float a,b,c;
char opcion;
int control=0;
printf("Ingrese dos numeros reales");
scanf("%f %f",&a,&b);
printf("Ingrese su opcin a) suma, b) resta, c) divisin o d) multiplicacin \n");
scanf("%c",&opcion);
switch(opcion)
{
case 'a':
case 'A': c=a+b;
break;
case 'b':
case 'B': c=a-b;
break;
case 'c':
case 'C': if (b==0.0){
printf("Operacin no vlida");
control=1;
}
else c=a/b;
break;
case 'd':
case 'D': c=a*b;
default: printf("Opcin no valida");
control=1;
}
if(control != 1)
printf(" El resultado es : %f \n",c);
return 0;
}
T04-03. ESTRUCTURAS SELECTIVAS MULTIPLES
EJERCICIOS
a) Una tienda distribuidora de poleras ha establecido porcentajes de descuento
sobre el costo del producto comprado segn la tabla adjunta. Determinar y mostrar
para un comprador el importe del descuento y el monto a pagar. En base al origen y
la talla de la prenda a comprar.