• No se han encontrado resultados

CAPÍTULOV

N/A
N/A
Protected

Academic year: 2020

Share "CAPÍTULOV"

Copied!
24
0
0

Texto completo

(1)

147

Estructura caso o case

1. INTRODUCCIÓN

La estructura CASO o CASE es una estructura que sirve para seleccionar, entre muchas alternativas, una a la vez, por eso se considera como una estructura alternativa múltiple. Se evalúa el valor de la variable de selección o selector y dependiendo del valor asignado se escoge entre varios caminos sólo uno.

(2)

148 Gráficamente se representa así:

___

___ Indica que antes y/o después de la estructura pueden existir una o más instrucciones.

A, B, C, D = Representan las instrucciones o grupo de instrucciones que pueden existir por cada camino o etiqueta.

Dentro de este símbolo va la expresión o variable que determina o selecciona, dependiendo de su valor, el camino que debe tomar o seguir; a esta expresión se le denomina selector o variable de selección.

E1, E2, E3, E4 = Representan los caminos, opciones o etiquetas que el selector puede seguir, según el valor que haya tomado.

A cada camino o alternativa se le conoce también como etiqueta ya que lleva una marca que al encontrarla seguirá dicho camino.

El algoritmo para esta estructura tiene la siguiente forma: Inicio

___ ___

Según_sea Selector haga E1: ___ ___ ___ E2: ___ ___ ___ E3: ___ ___ ___ ___ ___ Fin_según_sea ___ ___ Fin_algoritmo

Una o más instrucciones.

(3)
(4)

150 Como es normal que al evaluar la expresión resulte un valor no

encontrado en ninguna de las etiquetas o caminos recorridos, existe una variante del diagrama anterior y que incluye una nueva opción, representada aquí por la instrucción X.

(5)

151 La instrucción X solo será ejecutada si el selector o expresión no encuentra una etiqueta o camino por donde seguir, o sea, no encuentra un camino que contenga el valor buscado y que por eso tiene que seguir la otra alternativa o sea el camino de Falso o de Si_no.

El algoritmo ahora se representará así:

Inicio ___ ___

Según_sea Selector haga E1: ___ ___ ___ E2: ___ ___ ___ E3: ___ ___ ___ ___ ___ Si_no ___ ___ Fin_según_sea ___ ___ Fin_algoritmo

Una o más instrucciones.

Otras etiquetas y sus instrucciones.

(6)

152 Ahora veamos el desarrollo de algunos ejercicios.

4. EJERCICIOS DESARROLLADOS

Ejercicio 1. Leer un caracter y determinar por medio de un mensaje si es un número entre 0 y 9 o una letra mayúscula o minúscula.

a. Análisis de la solución

Leyendo el enunciado podemos sacar como conclusión que necesitamos definir 3 etiquetas: una en donde se encuentren los números de 0 a 9, otra en donde aparezcan las letras minúsculas de la a la z y la última en donde se registren las letras mayúsculas de la A a la Z.

Además necesitamos definir la variable con la cual se leerá el caracter.

b. Definición de variables

(7)

153

c. Diagrama de flujo

d. Prueba de escritorio

(8)

154 Busca la letra M y la encuentra en la tercera etiqueta, por eso

imprime el anterior mensaje.

e. Algoritmo

Inicio

Lea CARACT

Según_sea CARACT haga ‘0’ .. ‘9’ : Imprima ‘Es un dígito’ ‘a’ .. ‘z’ : Imprima ‘Es una minúscula’ ‘A’ .. ‘Z’: Imprima ‘Es una mayúscula’ Fin_según_sea

(9)
(10)

156 El algoritmo para este problema queda así:

Inicio

Lea CARACT

Según_sea CARACT haga ‘0’ .. ‘9’ : Imprima ‘Es un dígito’ ‘a’ .. ‘z’ : Imprima ‘Es una minúscula’ ‘A’ .. ‘Z’ : Imprima ‘Es una mayúscula’ Si_no

Imprima ‘Caracter desconocido’ Fin_según_sea

(11)

157 Ejercicio 2. Mostrar en romano el equivalente de los números arábigos 5, 10, 50, 100.

a. Análisis de la solución

En cada etiqueta irá un número en arábigo y por allí se imprimirá un mensaje diciendo cuál es el correspondiente en romano; el número en arábigo servirá de etiqueta.

Se tendrá que definir una variable de selección (selector) con la cual se lea el número y dependiendo del valor asignado tome un camino u otro.

b. Definición de variables

(12)

158

c. Diagrama de flujo

(13)

159

e. Algoritmo

Inicio

Lea NUMERO

Según_sea NUMERO haga

5 : Imprima ‘El número 5 en romano es V’ 10 : Imprima ‘El número 10 en romano es X’ 50 : Imprima ‘El número 50 en romano es L’ 100: Imprima ‘El número 100 en romano es C’ Si_no

Imprima ‘Es otro número o caracter’ Fin_según_sea

Fin_algoritmo

Ejercicio 3. Desarrollar el siguiente ejercicio: realizar las cuatro operaciones aritméticas básicas leyendo dos valores para cada operación, guardando el resultado en una variable e imprimiendo posteriormente su resultado así: por la etiqueta 1 realizar una suma, por la 2 hacer una resta, por la 3 una multiplicación y por la 4 una división.

a. Análisis de la solución

Ya nos sugirieron el nombre y tipo de las etiquetas, ellas son: la 1, la 2, la 3 y la 4 y sabemos que son de tipo entero.

Debemos definir dos variables para leer cada uno de los valores que necesitamos para hacer las operaciones, además una para guardar el resultado de la operación.

(14)

160

b. Definición de variables

VALOR = Sirve para leer el valor que determina la operación que se tiene que realizar.

M1 = Sirve para leer el primer valor.

M2 = Sirve para leer el segundo valor.

R = Sirve para guardar el resultado de la operación que se efectúe.

(15)

161

d. Prueba de escritorio

Si cambiamos el valor de la variable VALOR se irá por otro camino así:

e. Algoritmo

Inicio

Lea VALOR Lea M1, M2

Según_sea VALOR haga 1: R = M1 + M2

Imprima ‘El resultado es:’, R 2: R = M1 - M2

Imprima ‘El resultado es:’, R 3: R = M1 * M2

Imprima ‘El resultado es:’, R 4: R = M1 / M2

Imprima ‘El resultado es:’, R Si_no

Imprima ‘Operación no autorizada’ Fin_según_sea

(16)

162 Ejercicio 4. Dado un número y el valor de la etiqueta tener en

cuenta lo siguiente: la primera etiqueta debe estar formada por los 5 primeros números impares y por allí calcular e imprimir el factorial del número N o sea de cualquier número cada vez que se ejecute; la segunda etiqueta debe contener los 5 primeros números pares y por dicha etiqueta generar e imprimir los N primeros múltiplos de 3; si el número leído no aparece en ninguna de las etiquetas imprimir un mensaje indicando la anomalía.

a. Análisis de la solución

Tenemos que asignarle a las etiquetas números enteros pares o impares según lo enunciado anteriormente, además por la primera etiqueta se debe hacer un pequeño programa o pseudo-programa con el cual se calcule el factorial del numero N o sea que sirva para el cálculo de cualquier factorial, recordando que por ejemplo el factorial del número 5 es igual a 1*2*3*4*5 dando como resultado 120. Para calcular el factorial es necesario que una variable comience en 1 y otra vaya aumentando su valor progresivamente hasta llegar a N, pudiendo calcular así el factorial del valor pedido.

(17)

163 valor de la variable N. Por lo tanto será necesario utilizar una variable que vaya incrementando su valor en 3 cada vez.

Siguiendo el orden veamos la definición de las variables.

b. Definición de variables

Variables comunes a las dos primeras etiquetas:

PARIMP = Sirve para leer el valor de la etiqueta que puede ser par o impar.

N = Sirve para leer y determinar los N primeros múltiplos de 3 y además para calcular el factorial del número que esta variable indique.

Para la primera etiqueta se deben definir además las siguientes variables:

FACT = Sirve para calcular el factorial del número pedido.

C = Sirve para generar los números de 1 a N.

Para la segunda etiqueta es necesario definir además las variables que aparecen a continuación:

R = Sirve para contar los múltiplos de 3 que se deben generar.

(18)

164

(19)

165

d. Prueba de escritorio

Ahora si el valor de la etiqueta fue un número par, el apuntador se irá por la segunda etiqueta y calculara los múltiplos de 3 hasta el número de múltiplos que indique N, así:

(20)

166 Si el número asignado no se encuentra en ninguna de las dos

etiquetas tomará el otro camino alternativo (Si_no) e imprimirá el mensaje asignado.

e. Algoritmo

Inicio Lea N

Lea PARIMP

Según_sea PARIMP haga 1, 3, 5, 7, 9: FACT = 1

Para C = 1 hasta N haga FACT = FACT * C Fin_para

Imprima ‘El factorial del número 5 es:’, FACT 2, 4, 6, 8, 10: T = 0

Para R = 1 hasta N haga T = T + 3

Fin_para Si_no

Imprima ‘Número no encontrado:’ Fin_según_sea

(21)

167 5. EJERCICIOS PROPUESTOS

Ejercicio 1. Según sea el caso hacer lo siguiente:

• En la primera etiqueta escribir las vocales en mayúscula e imprimir un mensaje adecuado.

• En la segunda etiqueta escribir las vocales en minúscula e imprimir un mensaje adecuado.

• Si el caracter leído no fue ni una vocal en mayúscula ni una vocal en minúscula escribir un mensaje que diga: ‘Caracter no reconocido’.

Ejercicio 2. Asignar un número entero en forma secuencial a cada etiqueta y en cada una imprimir un mensaje indicando que día de la semana es.

Ejercicio 3. Según sea el caso hacer lo siguiente:

• Si la etiqueta es la letra N o n, leer e imprimir los nombres y apellidos de una persona.

• Si la etiqueta es D o d, leer e imprimir la dirección de una persona.

• Si la etiqueta es T o t, leer e imprimir un número telefónico.

• Si la etiqueta es E o e, leer e imprimir una edad.

(22)

168 Ejercicio 4. Resolver un problema de tal manera que por la primera

etiqueta se puedan generar e imprimir las tablas de multiplicar del 1 al 3 y cada una hasta el 5° valor; por la segunda etiqueta, calcular el factorial dándole la posibilidad de que sirva para cualquier número (o sea con N); por la tercera leer N números y calcular e imprimir su correspondiente cuadrado. Utilizar también el camino de Si_no.

Ejercicio 5. Convertir pulgadas a milímetros, yardas a metros y millas a kilómetros.

Ejercicio 6. Leyendo como datos de entrada la categoría y el sueldo de un trabajador, calcular e imprimir el aumento correspondiente, teniendo en cuenta los siguientes datos:

Imprimir la categoría del trabajador y el nuevo sueldo.

(23)

169 sabiendo que hay un determinado descuento según la marca del automóvil, así:

Ejercicio 8. El costo de las llamadas telefónicas internacionales depende de la zona geográfica en la que se encuentre el país destino y del número de minutos hablados; es necesario anotar que cada zona tiene una clave o código que la diferencia, así:

(24)

170 BIBLIOGRAFÍA

Referencias

Documento similar

95 Los derechos de la personalidad siempre han estado en la mesa de debate, por la naturaleza de éstos. A este respecto se dice que “el hecho de ser catalogados como bienes de

En cuarto lugar, se establecen unos medios para la actuación de re- fuerzo de la Cohesión (conducción y coordinación de las políticas eco- nómicas nacionales, políticas y acciones

b) El Tribunal Constitucional se encuadra dentro de una organiza- ción jurídico constitucional que asume la supremacía de los dere- chos fundamentales y que reconoce la separación

Cedulario se inicia a mediados del siglo XVIL, por sus propias cédulas puede advertirse que no estaba totalmente conquistada la Nueva Gali- cia, ya que a fines del siglo xvn y en

Para ello, trabajaremos con una colección de cartas redactadas desde allí, impresa en Évora en 1598 y otros documentos jesuitas: el Sumario de las cosas de Japón (1583),

De acuerdo con Harold Bloom en The Anxiety of Influence (1973), el Libro de buen amor reescribe (y modifica) el Pamphihis, pero el Pamphilus era también una reescritura y

Habiendo organizado un movimiento revolucionario en Valencia a principios de 1929 y persistido en las reuniones conspirativo-constitucionalistas desde entonces —cierto que a aquellas

De hecho, este sometimiento periódico al voto, esta decisión periódica de los electores sobre la gestión ha sido uno de los componentes teóricos más interesantes de la