Está en la página 1de 8

UNIVERSIDAD CATOLICA DE SANTA MARIA

FACULTAD DE CIENCIAS E INGENIERAS FISICAS


Y FORMALES
PROGRAMA PROFESIONAL
INGENIERIA MECNICA, MECNICA-ELECTRCA
Y MECATRNICA
Laboratorio de Mecnica Computacional I
Tema: Estructuras Selectivas
Apellidos y Nombres:

Pgina:1/8

Jefes de Prcticas:
Ing. Juan Carlos Cuadros
Ing. Henry Zegarra Gago
Ing. Sergio Mestas Ramos

Cdigo:
Semestr
e:
Grupo:

4E03017

Lab. N:

04

III
FECHA:
02 al 06
ABR/2012

I.OBJETIVOS
1 . Comprender la necesidad del diseo de algoritmos en el estudio y resolucin de programas.
2 . Analizar los problemas para identificar los datos que se requieren, as como dar las
instrucciones adecuadas para resolver problemas de ingeniera a un nivel bsico.
3 . Conocer la estructura y la sintaxis de las instrucciones condicionales, simples, dobles y
mltiples.
4 . Analizar y disear la solucin de problemas utilizando estructuras de programacin
selectivas.
II.MARCO TEORICO
Una de las construcciones importantes que pueden especificarse en un programa es el hecho de
realizar diferentes tareas en funcin de ciertas condiciones. Esto es, ejecutar una parte del
cdigo u otra, condicionalmente.
Para ello ser necesario especificar dichas condiciones y disponer de un mecanismo para indicar
que acciones tomar dependiendo de cmo se evalu una determinada condicin en un
momento dado de la ejecucin del programa.
As pues, en este laboratorio veremos las distintas maneras que C ofrece para controlar el flujo
de ejecucin de un programa de forma condicional, que son:
-

Sentencia de construccin if.

Sentencia de construccin switch o estructura de seleccin mltiple.

1. Sentencia de construccin IF
Las estructuras lgicas selectivas se encuentran en la solucin algortmica de casi todo tipo
de problemas. La utilizamos cuando en el desarrollo de un problema debemos de TOMAR
UNA DECISIN, para establecer un proceso o sealar un camino alternativo a seguir.
Esta toma de decisiones se basa en evaluaciones de una o ms condiciones que nos
sealaran como alternativa o consecuencia la rama a seguir.
Hay situaciones en las que la toma de decisiones se realiza en cascada, es decir se toma una
decisin, se marca la rama correspondiente a seguir y se vuelve a tomar otra decisin y as
sucesivamente. Por lo que para alcanzar la solucin de este problema o sub problema
debemos de aplicar prcticamente un rbol de decisin.
Las estructuras algortmicas selectivas que se utilizan para la toma de decisiones lgicas las
podemos clasificar de la siguiente forma:

UNIVERSIDAD CATOLICA DE SANTA MARIA


FACULTAD DE CIENCIAS E INGENIERAS FISICAS
Y FORMALES
PROGRAMA PROFESIONAL
INGENIERIA MECNICA, MECNICA-ELECTRCA
Y MECATRNICA
Laboratorio de Mecnica Computacional I
Tema: Estructuras Selectivas
Apellidos y Nombres:

Pgina:2/8

Jefes de Prcticas:
Ing. Juan Carlos Cuadros
Ing. Henry Zegarra Gago
Ing. Sergio Mestas Ramos

Cdigo:
Semestr
e:
Grupo:

4E03017

Lab. N:

04

III
FECHA:
02 al 06
ABR/2012

a. Estructura selectiva simple (SI , ENTONCES)


b. Estructura selectiva doble (SI ., ENTONCES SINO)
Cabe sealar que la combinacin de esta estructura simple y doble da como resultado una
estructura selectiva en cascada.

Laboratorio de Mecnica Computacional I

Pgina: 3/8

Tema: Estructuras Selectivas

LAB N 4

JP: Ings.
JCC-HZG-SMR

Estructura de seleccin simple


Esta estructura permite que el flujo del diagrama siga por un camino especfico si se cumple
la condicin o conjunto de condiciones. La construccin if puede escribirse tambin de forma
ms general para controlar la ejecucin de una sentencia o

grupo de sentencias, como

podemos ver en la sintaxis 2 del cuadro 2.


Sintaxis 1:
if (<condicin>)
<sentencia 1>;

Diagrama de flujo

Sintaxis 2:
if (<condicin>)
{
<sentencia 1>;
<sentencia 2>;
...
<sentencia N>
}
Pseudocdigo
Si condicin es verdadera, Entonces
Hacer operacin o sentencias
Fin si

Cuadro 1. Sintaxis de la sentencia if simple y diagrama de flujo.

Estructura de seleccin doble


La seleccin simple es muy limitada, por otro lado existe la alternativa de seleccin doble la
cual nos permite tomar decisiones en ambos sentidos, es decir cuando la condicin de
comparacin sea verdadera se podrn ejecutar una o ms acciones o cuando la condicin de
comparacin sea falsa tambin se podrn ejecutar una o ms acciones.
Diagrama de flujo

Sintaxis:
if (<condicin>)
<sentencia 1>;
else
<sentencia 2>;

Pseudocdigo
Si condicin es verdadera,
Entonces
Acciones_1
Sino
Acciones_2
Fin si
Cuadro 2. Sintaxis de la sentencia if - else y diagrama de flujo.

Laboratorio de Mecnica Computacional I


Tema: Estructuras Selectivas

Pgina: 4/8

LAB N 4

JP: Ings.
JCC-HZG-SMR

Las Acciones_1 se ejecutaran cuando la condicin de comparacin sea verdadera y las


Acciones_2 se ejecutaran cuando la condicin de comparacin sea falsa
Anidamiento de estructuras condicionales
A menudo se tendr la necesidad de anidar una o ms estructuras condicionales ya sean
simples o dobles o la combinacin de ambas.
Se dice que las estructuras estn anidadas cuando hay una o unas dentro de ellas. Su
construccin, donde las condiciones se plantean de forma escalonada, se muestra a
continuacin en el cuadro 3.
Sintaxis:
if (<condicin 1>)
<grupo de sentencias 1>;
else if (<condicin 2>)
<grupo de sentencias 2>;
...
else if (<condicin N>)
<grupo de sentencias N>;
else
<grupo de sentencias por defecto>;
Pseudocdigo:

Diagrama de Flujo

Si condicin1 es verdadera, Entonces


Acciones_1 o Grupo de sentencias 1
Sino
Si condicin2 es verdadera, Entonces
Acciones_2 o Grupo de sentencias 2
Sino
Si condicin3 es verdadera,
Entonces
Acciones_3 o Grupo de
sentencias 3
Sino
Acciones_4 o Grupo de
sentencias 4
Fin si
Fin si
Fin si

Cuadro 3. Sintaxis de la sentencia else if y diagrama de flujo.

Las condiciones se evalan secuencialmente de arriba hacia abajo hasta encontrar una que
d como resultado cierto. En ese punto, se ejecuta el grupo de sentencias o acciones

Laboratorio de Mecnica Computacional I


Tema: Estructuras Selectivas

Pgina: 5/8

LAB N 4

JP: Ings.
JCC-HZG-SMR

correspondiente a dicha condicin. El resto de condiciones y sentencias asociadas se ignoran.


En caso de que ninguna de las condiciones se evale cierta, se ejecutara el grupo de
sentencias por defecto.
Estructura de seleccin mltiple
La estructura de seleccin mltiple permite que el flujo del programa se bifurque por varias
ramas en el punto de toma de decisin(es), esto en funcin del valor que tome el selector. De
esta manera si el selector toma el valor de uno por ejemplo se ejecutara la accin 1 o grupo
de sentencias 1, si el selector toma el valor de 2 se ejecutara la accin 2 o grupo de
sentencias 2, si el selector toma el valor de N se ejecutara la accin N o grupo de sentencias
N, y si toma un valor distinto de los valores comprendidos entre 1 y N, se continuar con el
flujo normal del diagrama realizndose la accin
N+1. La ilustracin de una estructura selectiva
sera:
Esta construccin permite especificar mltiples
sentencias al estilo if-else-if, pero de manera ms compacta, legible y elegante. Su forma
general es la siguiente:
Sintaxis:

Pseudocdigo:

switch (<expression>)
{
case <constante 1>:
<grupo de sentencias
<break>;
case constante 2:
<grupo de sentencias
<break>;
...
case constante N:
<grupo de sentencias
<break>;
default :
<grupo de sentencias
defecto>;
<break>;
}

En caso de Selector
Caso Valor 1:
Hacer Accin
1
Caso Valor 2:
Hacer Accin
2
Caso Valor 3:
Hacer Accin
3
.
.
.
Caso Valor N:
Hacer Accin
N
Fin de caso

Diagrama de flujo

1>;
2>;

N>;
por

1 o Grupo de sentencias
2 o Grupo de sentencias
3 o Grupo de sentencias

N o Grupo de sentencias

Laboratorio de Mecnica Computacional I


Tema: Estructuras Selectivas

Pgina: 6/8

LAB N 4

JP: Ings.
JCC-HZG-SMR

Cuadro 4. Sintaxis de la sentencia switch y diagrama de flujo.

El funcionamiento de la construccin de una estructura de seleccin multiple o tambien


llamada construccin switch-case es como sigue.
En primer lugar se evala la expresin. Seguidamente su valor es comparado secuencialmente
con el de las diferentes constantes en los case. Si el valor de la expresin coincide con alguna
de ellas, se ejecuta el grupo de sentencias correspondiente y switch concluye gracias a la
sentencia break. En caso contrario, y si existe el caso default (que es opcional), se ejecutara el
grupo de sentencias por defecto.
Aqu la expresin debe ser de tipo entero o carcter, al igual que todas las constantes
asociadas a cada etiqueta case. Es importante resaltar que no pueden usarse variables o
expresiones en los distintos case, sino slo constantes.
La instruccin break, se utiliza para finalizar de forma forzada la ejecucin dentro de un bloque
de cdigo, de manera que la siguiente sentencia a ejecutar ser la primera sentencia justo
despus de dicho bloque. En la construccin switch, break es necesario para concluir la
ejecucin del grupo de sentencias asociado al caso cuya constante coincide con el valor de la
expresin. As pues, la sentencia a ejecutar despus de break en un switch, ser la primera
sentencia posterior a la llave } que cierra el switch.
III.MATERIAL Y EQUIPO

Una PC con SO Windows XP, Internet

IV.PROCEDIMIENTO
Ejercicio 01:
Se pide elaborar el pseudocdigo y diagrama de flujo de un programa que ingrese un nmero
por teclado e indique si es positivo, negativo o igual a cero.

Laboratorio de Mecnica Computacional I


Tema: Estructuras Selectivas

Pgina: 7/8

LAB N 4

JP: Ings.
JCC-HZG-SMR

Ejercicio 02:
Elaborar el diagrama de flujo y pseudocdigo de un programa que permita visualizar
caracteres al traducir nmeros ingresados de 1 a 5. Por ejemplo si el nmero ingresado es 2,
se visualice un mensaje que diga, El nmero en caracteres es dos.

Ejercicio 03:
Elaborar el diagrama de flujo y cdigo que permita visualizar un men como el que se
muestra a continuacin
1.
2.
3.
4.

Opcin
Opcin
Opcin
Opcin

1
2
3
4

(Eligio
(Eligio
(Eligio
(Eligio

la opcin 1)
la opcin 2)
la opcin 3)
Salir)

Ejercicio 04: Elaborar el diagrama de flujo y cdigo que permita visualizar un men como el
que se muestra a continuacin
a.
b.
c.
d.

Ingresar tres nmeros y ordenarlos ascendentemente


Ingresar tres nmeros y ordenarlos descendentemente
Salir del programa
Cualquier otra opcin enve el siguiente mensaje Error, caso no implementado.

V.CUESTIONARIO FINAL
1. Disee el diagrama de flujo y pseudocdigo de un programa que dada como datos la
categora de un alumno y su pensin calcule el descuento correspondiente teniendo en
cuenta que:
a. Si la categora es A, se realice el descuento del 12%.
b. Si la categora es B, se realice el descuento del 9%.
c. Si la categora es C, se realice el descuento del 5%.
d. Si la se elije D, salga del programa.
e. Cualquier otra opcin enven el siguiente mensaje Error, caso no implementado.
2. Realizar el diagrama de flujo y pseudocdigo de un programa que pida al usuario ingresar
dos nmeros, y pregunte qu operacin se desea realizar (Suma, Resta, Multiplicacin,
Divisin), luego de elegida la opcin ejecutar la operacin y mostrar el resultado por
pantalla. Si se elige cualquiera otra opcin deber mostrar por pantalla el mensaje
operacin no implementada.
VI.OBSERVACIONES Y CONCLUSIONES
Emita al menos tres conclusiones en torno al trabajo realizado
1. ____________________________________________________________________________________________
____________________________________________________________________________________________
____________________________________________________________________________________________

Laboratorio de Mecnica Computacional I


Tema: Estructuras Selectivas

Pgina: 8/8

LAB N 4

JP: Ings.
JCC-HZG-SMR

2. ____________________________________________________________________________________________
____________________________________________________________________________________________
____________________________________________________________________________________________
3. ____________________________________________________________________________________________
____________________________________________________________________________________________
____________________________________________________________________________________________

Haga sus observaciones en torno al trabajo realizado (si es que las tuviera).

____________________________________________________________________________________________

____________________________________________________________________________________________

____________________________________________________________________________________________

También podría gustarte