Sunteți pe pagina 1din 8

UNIVERSIDAD ANDINA DEL CUSCO

FACULTAD DE INGENIERA Y ARQUITECTURA


ESCUELA PROFESIONAL DE INGENIERA CIVIL

GUIA DE APLICACIN N 7
Estructura de control selectiva mltiple

I. DATOS INFORMATIVOS
1.1. Nombre de la asignatura : Taller de Algortmica y Programacin
1.2. Semestre Acadmico : 2017-I
1.3. Ciclo de estudios : III
1.4. rea curricular : EBE
1.5. Nombre del docente : 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 Y ARQUITECTURA
ESCUELA PROFESIONAL DE INGENIERA CIVIL

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

caso1: instruccin1
instruccin2
........
caso2: instruccin1
instruccin2
........
caso3: instruccin1
. instruccin2
. ........
.
caso n: instruccin1
instruccin2
........
caso contrario: instruccin1
instruccin2
........
fin_segun sea

Sintaxis en C#
switch ( <expresion> )
{
case 1: <sentencia1>;
break;
case 2 : <sentencia2>;
break;
.
.
.
case n : <sentencia N>;
break;
default : <sentencia D>;
}

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 ao nrodias
2 2004 29
1 2007 31
9 2008 30
UNIVERSIDAD ANDINA DEL CUSCO
FACULTAD DE INGENIERA Y ARQUITECTURA
ESCUELA PROFESIONAL DE INGENIERA CIVIL

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
caso1,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;
//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;
case 4:
case 6:
case 9:
UNIVERSIDAD ANDINA DEL CUSCO
FACULTAD DE INGENIERA Y ARQUITECTURA
ESCUELA PROFESIONAL DE INGENIERA CIVIL

case 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 CIVIL
ALGORTMICA Y PROGRAMACIN

1. ANLISIS
1.1. Entender el Problema.

Datos Condicin Resultado


Nmero Romano
1 Si (Numero= 1) I
13 Si (Numero= 13) XIII
89 Si (Numero= 89) LXXXIX

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

5/8
UNIVERSIDAD ANDINA DEL CUSCO
FACULTAD DE INGENIERA
ESCUELA PROFESIONAL DE INGENIERA CIVIL
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
string mensaje="",mensaje1="";
int Numero,Unidad,Decena;

// leer datos de teclado


System.Console.Write("ingrese un nmero del 1-99: ");
Numero = int.Parse(Console.ReadLine());
// convertir de cadena a entero
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;
case 3: mensaje1 = "XXX";
break;
6/8
UNIVERSIDAD ANDINA DEL CUSCO
FACULTAD DE INGENIERA
ESCUELA PROFESIONAL DE INGENIERA CIVIL
ALGORTMICA Y PROGRAMACIN

case 4: mensaje1 = "XL";


break;
case 5: mensaje1 = "L";
break;
case 6: mensaje1 = "LX";
break;
case 7: mensaje1 = "LXX";
break;
case 8: mensaje1 = "LXXX";
break;
case 9: mensaje1 = "XC";
break;
}
Console.WriteLine("El numero romano es:{0} {1} ", mensaje1, mensaje);
System.Console.ReadLine();
}

VI. ACTIVIDADES DE LABORATORIO

Desarrollar las actividades en hojas a mano, solo el cdigo puede ser impreso.

Actividad 1
Elaborar un algoritmo que lea dos nmeros enteros y realice una de las operaciones bsicas (suma,
resta, multiplicacin y divisin). Utilizando la estructura segun sea (switch).

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:

Nivel Socioeconmico
Colegio A B C
Nacional 300 200 100
Particular 400 300 200

Actividad 3
Elaborar un algoritmo que calcule el importe a pagar por un vehculo al circular por una autopista. El
vehculo pude ser una bicicleta, una moto, un carro o un camin. Para definir el conjunto de
vehculos deben utilizar una estructura switch. El importe se calculara segn los siguientes datos:
a. Un importe de 0.5 soles por km para la bicicleta.
b. Las motos y los carros pagaran 2 soles por Km.
c. Los camiones pagaran 5 soles por Km. ms 3 soles por tonelada.
Se debe ingresar el tipo de vehculo, los kilmetros a recorridos y si es camin las toneladas
llevadas.

VIII. REFERENCIAS BIBLIOGRFICAS

GRUPO LIEBRE. (2 000). Algortmica y Programacin. UNSAAC Cusco.

7/8
UNIVERSIDAD ANDINA DEL CUSCO
FACULTAD DE INGENIERA
ESCUELA PROFESIONAL DE INGENIERA CIVIL
ALGORTMICA Y PROGRAMACIN

JOYANES AGUILAR, Luis. (2008). Fundamentos de Programacin. Madrid: McGraw Hill.

IX. FICHA DE CALIFICACIN


GUA DE APLICACIN N 7
Estructura de control selectiva mltiple

Nombre Cdigo.

Criterio de Elabora Elabora el Elabora Elabora el Presenta Puntaje


calificacin correctamente algoritmo correctamente cdigo en fecha obtenido
el algoritmo parcialmente el cdigo parcialmente
Actividad 1 3 1 2 1 1

Actividad 2 3 1 2 1 1

Actividad 3 5 2 2 1 1

Firma de la docente

8/8

S-ar putea să vă placă și