Вы находитесь на странице: 1из 8

UNIVERSIDAD ANDINA DEL CUSCO

FACULTAD DE INGENIERA

ESCUELA PROFESIONAL DE INGENIERA INDUSTRIAL

ALGORTMICA Y PROGRAMACIN

GUIA DE APLICACIN N 7
Estructura de control selectiva mltiple

I. DATOS INFORMATIVOS
1.1. Nombre de la asignatura
1.2. Semestre Acadmico
1.3. Ciclo de estudios
1.4. rea curricular
1.5. Nombre del docente

: Algortmica y Programacin
: 2015-III
:V
: TB (Tecnologa bsica)
: Ing. Yessenia Bernales Guzmn

II. COMPETENCIAS A CONSEGUIR

Conoce y analiza el diseo de algoritmos e implementa programas utilizando un lenguaje de


programacin.

III. CAPACIDADES
Analiza y resuelve problemas de mediana complejidad utilizando la estructura de control
selectiva.
IV. FUNDAMENTO TERICO
Estructura Selectiva Mltiple
La estructura de seleccin mltiple ofrece una solucin ms simple y compacta. Para esta estructura se evala
una expresin que puede tomar n valores distintos (1, 2, 3, ..., n) A cada valor de la expresin corresponde
una instruccin (o serie de instrucciones) diferente, lo que significa que el flujo seguir un camino distinto
entre los n posibles caminos en dependencia del valor de la expresin de control.
La representacin grfica de este tipo de estructura de seleccin sera:

UNIVERSIDAD ANDINA DEL CUSCO


FACULTAD DE INGENIERA

ESCUELA PROFESIONAL DE INGENIERA INDUSTRIAL

ALGORTMICA Y PROGRAMACIN
Se trata de una sentencia condicional multi-salida en la que las decisiones se toman en funcin de un
valor numrico entero o un carcter de entre una serie de opciones posibles. Puede existir una
clusula por defecto o bien no adoptarse ninguna accin.
Sintaxis general:
Segn sea (expresin) hacer
caso 1: instruccin1
instruccin2
........
caso 2: instruccin1
instruccin2
........
caso 3: instruccin1
.
instruccin2
.
........
.
caso n: instruccin1
instruccin2
........
caso contrario: instruccin1
instruccin2
........
fin_segun sea

Sintaxis en C#
switch ( <expresion> )
{
case alternativa : <sentencia1>;
break;
case alternativa : <sentencia2>;
break;
.
.
.
case alternative n : <sentenciaN>;
break;
default : <sentenciaD>;
}
V. APLICACIN DE LA GUA

Ejercicio 1: Elaborar un algoritmo para determinar el nmero de das que tiene un mes de un ao.
1. Anlisis
1.1 Entender el problema
mes
2
1
9

ao
2004
2007
2008

nrodias
29
31
30

UNIVERSIDAD ANDINA DEL CUSCO


FACULTAD DE INGENIERA

ESCUELA PROFESIONAL DE INGENIERA INDUSTRIAL

ALGORTMICA Y PROGRAMACIN

1.2 Especificacin del algoritmo (determinacin de variables)


Variables de entrada:
mes, anio : entero
Variables de salida:
nrodias : entero
2. Diseo
2.1 Descripcin del algoritmo en pseudocdigo
Inicio {determinar el nro de dias que tienes un mes}
Declarar mes, anio, nrodias
{leer mes y ao}
leer mes, anio
{calcular nro de dias del mes}
segun sea mes hacer
inicio
caso 1,3,5,7,8,10,12 : nrodias
31
caso 4,6,9,11
: nrodias
30
caso 2
: si (anio mod 4 = 0)
entonces
nrodias 29
caso contrario
nrodias 28
caso contrario: Escribir El mes es incorrecto
fin
{escribir nrodias}
Escribir nrodias
Fin
3.

Codificacin en C#
static void Main(string[] args)
{
//declaracion de variables
int mes, anio,nrodias;
string estado;
//lectura de variables
Console.Write("Ingrese el mes: ");
mes = int.Parse(Console.ReadLine());
Console.Write("Ingrese el anio: ");
anio = int.Parse(Console.ReadLine());
//determinar el numero de dias del mes
switch (mes)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
nrodias=31;
Console.WriteLine("El numero de dias es: {0}", nrodias);
break;

UNIVERSIDAD ANDINA DEL CUSCO


FACULTAD DE INGENIERA

ESCUELA PROFESIONAL DE INGENIERA INDUSTRIAL

ALGORTMICA Y PROGRAMACIN
case
case
case
case

4:
6:
9:
11:

nrodias=30;
Console.WriteLine("El numero de dias es: {0}", nrodias);
break;
case 2 : if (anio % 4==0)
{
nrodias=29;
Console.WriteLine("El numero de dias es: {0}", nrodias);
}
else
{
nrodias=28;
Console.WriteLine("El numero de dias es: {0}", nrodias);
}
break;
default:
Console.WriteLine("El mes es incorrecto");
break;
}
Console.ReadKey();
}
Ejercicio N 2 Elaborar algoritmo que lea un nmero y d como resultado su equivalente en romanos.

UNIVERSIDAD ANDINA DEL CUSCO


FACULTAD DE INGENIERA
ESCUELA PROFESIONAL DE INGENIERA INDUSTRIAL

ALGORTMICA Y PROGRAMACIN

1. ANLISIS
1.1. Entender el Problema.
Datos
Nmero
1
13
89

Condicin

Resultado
Romano
I
XIII
LXXXIX

Si (Numero= 1)
Si (Numero= 13)
Si (Numero= 89)

1.2. Especificacin del algoritmo.


1.3.1. Diccionario de variables
- Variables de entrada
Numero: entero
- Variables de salida
mensaje: cadena
mensaje1: cadena
- Variables de proceso
Unidad, decena: entero
1.3.2. Pre Condicin {|numero 0 y numero <=99|}
1.3.3 Accin que realiza el algoritmo:
{|Convierte un nmero de dos cifras a su equivalente en romanos|}
2. DISEO
2.1. Descripcin del Algoritmo.
Inicio {determinar el da en letras segn su equivalente en nmero}
{declarar e inicializar variables}
Declarar Numero, Unidad, Decena, mensaje, mensaje1
Leer datos }
Leer Numero
Unidad = Numero MOD 10;
Decena = Numero DIV 10;
{determinar el equivalente en romanos}
segun sea (Unidad) hacer
Inicio
caso 1: mensaje=I
caso 2: mensaje =II
caso 3: mensaje =III
caso 4: mensaje =IV
caso 5: mensaje =V
caso 6: mensaje =VI
caso 7: mensaje =VII
caso 8: mensaje = VIII
caso 9: mensaje = IX
Fin
segun sea (Decena) hacer
Inicio
caso 1: mensaje1 =X
caso 2: mensaje1 =XX
caso 3: mensaje1 =XXX
caso 4: mensaje1 =XL

UNIVERSIDAD ANDINA DEL CUSCO


FACULTAD DE INGENIERA
ESCUELA PROFESIONAL DE INGENIERA INDUSTRIAL

ALGORTMICA Y PROGRAMACIN

caso 5: mensaje1 =L
caso 6: mensaje1 =LX
caso 7: mensaje1=LXX
caso 8: mensaje1= LXXX
caso 9: mensaje1 = XC
Fin
{Escribir la solucin}
Escribir mensaje1, mensaje
Fin
3.

Codificacin en C#
static void Main(string[] args)
{
//Escribir el equivalente en romanos de un nmero de dos cifras
//Fecha: 05/08/15
string mensaje="",mensaje1="";
int Numero,Unidad,Decena;
// leer datos de teclado
System.Console.Write("ingrese un nmero del 1-99: ");
// convertir de cadena a entero
Numero = int.Parse(Console.ReadLine());
Unidad = Numero % 10;
Decena = Numero / 10;
//utilizando estructura selectiva multiple
switch (Unidad)
{
case 1: mensaje = "I";
break;
case 2: mensaje = "II";
break;
case 3: mensaje = "III";
break;
case 4: mensaje = "IV";
break;
case 5: mensaje = "V";
break;
case 6: mensaje = "VI";
break;
case 7: mensaje = "VII";
break;
case 8: mensaje = "VIII";
break;
case 9: mensaje = "IX";
break;
}
switch (Decena)
{
case 1: mensaje1 = "X";
break;
case 2: mensaje1 = "XX";
break;
6

UNIVERSIDAD ANDINA DEL CUSCO


FACULTAD DE INGENIERA
ESCUELA PROFESIONAL DE INGENIERA INDUSTRIAL

ALGORTMICA Y PROGRAMACIN

case 3: mensaje1
break;
case 4: mensaje1
break;
case 5: mensaje1
break;
case 6: mensaje1
break;
case 7: mensaje1
break;
case 8: mensaje1
break;
case 9: mensaje1
break;

= "XXX";
= "XL";
= "L";
= "LX";
= "LXX";
= "LXXX";
= "XC";

}
Console.WriteLine("El numero romano es:{0} {1} ", mensaje1,
System.Console.ReadLine();

mensaje);

VI. ACTIVIDADES DE LABORATORIO


Desarrollar las actividades en hojas a mano, solo el cdigo puede ser impreso.
Actividad 1
Elaborar un algoritmo que lea un da de la semana en nmero y determine el da de la semana en
letras. Ejemplo: 1 es Lunes.
Actividad 2
Se tiene el colegio y el nivel socioeconmico de un estudiante. Elaborar un algoritmo que determine
el importe a pagar para el examen de admisin de la universidad, cuyo valor depende del colegio de
procedencia y nivel socioeconmico segn la siguiente tabla:

Colegio
Nacional
Particular
VIII.

Nivel Socioeconmico
A
B
C
300
200
100
400
300
200

REFERENCIAS BIBLIOGRFICAS
GRUPO LIEBRE. (2 000). Algortmica y Programacin. Cusco.
JOYANES AGUILAR, Luis. (2008). Fundamentos de Programacin. Madrid: McGraw Hill.

UNIVERSIDAD ANDINA DEL CUSCO


FACULTAD DE INGENIERA
ESCUELA PROFESIONAL DE INGENIERA INDUSTRIAL

ALGORTMICA Y PROGRAMACIN

IX.

FICHA DE CALIFICACIN
GUA DE APLICACIN N 7
Estructura de control selectiva mltiple

Nombre Cdigo.

Actividades

Puntaje

Calificacin Obtenida por


el estudiante

Formativas
Actividad 1

Actividad 2

Puntualidad y orden en los


ejercicios

Total Formativas

20

Firma de la docente

Вам также может понравиться