View
100
Download
0
Embed Size (px)
Citation preview
UNIVERSIDAD CATOLICA DE SANTA MARIAFACULTAD DE CIENCIAS E INGENIERÍAS FISICAS Y FORMALES
PROGRAMA PROFESIONALINGENIERIA MECÁNICA, MECÁNICA-ELECTRÍCA Y MECATRÓNICA
Página:1/7
Jefes de Prácticas:Ing. Juan Carlos Cuadros
Laboratorio de Mecánica Computacional I
Tema: Datos y Estructuras Secuenciales y SelectivasCódigo: 4E03017Semestre: IIIGrupo: FECHA:
Apellidos y Nombres: Lab. Nº: 03 26 al 30 MAR/2012
I. OBJETIVOS
1 . Comprender la necesidad del diseño de algoritmos en el estudio y resolución de programas.
2 . Analizar los problemas para identificar los datos que se requieren, así como dar las instrucciones adecuadas
para resolver problemas de ingeniería a un nivel básico.
3 . Conocer la sintaxis de las instrucciones condicionales.
4 . Analizar y diseñar la solución utilizando algoritmos de programación.
II. MARCO TEORICO
Una de las construcciones importantes que pueden especificarse en un programa es el hecho de realizar diferentes
tareas en función de ciertas condiciones. Esto es, ejecutar una parte del código u otra, condicionalmente.
Para ello será necesario especificar dichas condiciones y disponer de un mecanismo para indicar que acciones tomar
dependiendo de cómo se evalué una determinada condición en un momento dado de la ejecución del programa.
Así pues, en este laboratorio veremos las distintas maneras que C ofrece para controlar el flujo de ejecución de un
programa de forma condicional, que son:
- Sentencia de construcción if.
- Sentencia de construcción switch o estructura de selección múltiple.
1. Sentencia de construcción IF
Las estructuras lógicas selectivas se encuentran en la solución algorítmica de casi todo tipo de problemas. La
utilizamos cuando en el desarrollo de un problema debemos de TOMAR UNA DECISIÓN, para establecer un
proceso o señalar un camino alternativo a seguir.
Esta toma de decisiones se basa en evaluaciones de una o más condiciones que nos señalaran 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 decisión, se marca
la rama correspondiente a seguir y se vuelve a tomar otra decisión y así sucesivamente. Por lo que para alcanzar
la solución de este problema o sub problema debemos de aplicar prácticamente un árbol de decisión.
Las estructuras algorítmicas selectivas que se utilizan para la toma de decisiones lógicas las podemos clasificar
de la siguiente forma:
a. Estructura selectiva simple (SI ……, ENTONCES)
b. Estructura selectiva doble (SI ……., ENTONCES…… SINO)
Cabe señalar que la combinación de esta estructura simple y doble da como resultado una estructura selectiva
en cascada.
Laboratorio de Mecánica Computacional I Página: 2/7
Tema: Datos y Estructuras Secuenciales y Selectivas LAB N° 3 JP: Ing. JCC
Estructura de selección simple
Esta estructura permite que el flujo del diagrama siga por un camino específico si se cumple la condición o conjunto
de condiciones. La construcción if puede escribirse también de forma más general para controlar la ejecución de
una sentencia o grupo de sentencias, como podemos ver en la sintaxis 2 del cuadro 2.
Sintaxis 1:if (<condición>)
<sentencia 1>;
Diagrama de flujo
Sintaxis 2:
if (<condición>){ <sentencia 1>;
<sentencia 2>;. . .<sentencia N>
}
Pseudocódigo
Si condición es verdadera, EntoncesHacer operación o sentencias
Fin si
Cuadro 1. Sintaxis de la sentencia if simple y diagrama de flujo.
Nótese que después de la condición no se escribe ‘;’. Escribir ‘;’ detrás de la condición equivaldría a que la
construcción if ejecutase un conjunto vacío de sentencias, lo cual no tiene ningún sentido.
Ejemplo 01. Realice el diagrama de flujo para que dada la
calificación de un alumno, escriba aprobado en caso la nota
sea mayor o igual que 10.5.
"Aprobado"
nota>=10.5
V
F
Estructura de selección doble
La selección simple es muy limitada, por otro lado existe la alternativa de selección doble la cual nos permite tomar
decisiones en ambos sentidos, es decir cuando la condición de comparación sea verdadera se podrán ejecutar una o
más acciones o cuando la condición de comparación sea falsa también se podrán ejecutar una o más acciones.
Laboratorio de Mecánica Computacional I Página: 3/7
Tema: Datos y Estructuras Secuenciales y Selectivas LAB N° 3 JP: Ing. JCC
Sintaxis:
if (<condición>)<sentencia 1>;
else<sentencia 2>;
Diagrama de flujo
Pseudocódigo
Si condición es verdadera, EntoncesAcciones_1
SinoAcciones_2
Fin si
Cuadro 2. Sintaxis de la sentencia if - else y diagrama de flujo.
Las Acciones_1 se ejecutaran cuando la condición de comparación sea verdadera y las Acciones_2 se ejecutaran
cuando la condición de comparación sea falsa
Ejemplo 02. Realice el diagrama de flujo para que
dada la calificación de un alumno, escriba aprobado
si la nota sea mayor o igual que 10.5, en caso
contrario escriba desaprobado.
nota>=10.5
Aprobado con nota Desaprobado con nota
FV
Anidamiento de estructuras condicionales
A menudo se tendrá la necesidad de anidar una o más estructuras condicionales ya sean simples o dobles o la
combinación de ambas.
Se dice que las estructuras están anidadas cuando hay una o unas dentro de ellas. Su construcción, donde las
condiciones se plantean de forma escalonada, se muestra a continuación en el cuadro 3.
Sintaxis:
if (<condición 1>)<grupo de sentencias 1>;
else if (<condición 2>)<grupo de sentencias 2>;
. . .else if (<condición N>)
<grupo de sentencias N>;else
<grupo de sentencias por defecto>;
Laboratorio de Mecánica Computacional I Página: 4/7
Tema: Datos y Estructuras Secuenciales y Selectivas LAB N° 3 JP: Ing. JCC
Pseudocódigo:
Si condición1 es verdadera, EntoncesAcciones_1 o Grupo de sentencias 1
SinoSi condición2 es verdadera, Entonces
Acciones_2 o Grupo de sentencias 2Sino
Si condición3 es verdadera, EntoncesAcciones_3 o Grupo de sentencias 3
Sino Acciones_4 o Grupo de sentencias 4
Fin siFin si
Fin si
Diagrama de Flujo
Cuadro 3. Sintaxis de la sentencia else if y diagrama de flujo.
Las condiciones se evalúan secuencialmente de arriba hacia abajo hasta encontrar una que dé como resultado
cierto. En ese punto, se ejecuta el grupo de sentencias o acciones correspondiente a dicha condición. El resto de
condiciones y sentencias asociadas se ignoran. En caso de que ninguna de las condiciones se evalúe cierta, se
ejecutaría el grupo de sentencias por defecto.
Ejemplo 03. Realice el diagrama de flujo para validar la calificación de un alumno, esta es válida si se encuentra
entre los rangos de 0 a 20, caso contraria la nota sería “No válida”. En caso la nota sea válida escriba aprobado si
la nota es mayor o igual que 10.5, en caso contrario escriba desaprobado.
Laboratorio de Mecánica Computacional I Página: 5/7
Tema: Datos y Estructuras Secuenciales y Selectivas LAB N° 3 JP: Ing. JCC
Aprobado con nota
F
nota>=10.5
Desaprobado con nota
V
V
F
Nota no válida
nota>=0 y nota<=20
III. MATERIAL Y EQUIPO Una PC con SO Windows XP, Internet Software DFD para Diagramas de Flujo
IV. PROCEDIMIENTO
Ejercicio 01
Elabore el algoritmo, pseudocódigo y diagrama de flujo de un programa que: Intercambie el valor de dos variables
numéricas.
Ejercicio 02:
Elabore el algoritmo, pseudocódigo y diagrama de flujo de un programa en el que dada una cantidad (válida) de días,
determine su equivalente en años y meses. Asuma que todos los años tienen 365 días y los meses 30 días.
Ejercicio 03:
Elabore el algoritmo, pseudocódigo y diagrama de flujo de un programa en el que dadas las pendientes M1 y M2 y los
cortes con el eje Y B1 y B2 de dos rectas L1 y L2 (L1: Y = M1 ¤X +B1; L2: Y = M2 ¤X +B2); determine en punto de
intersección entre las dos rectas. Asuma que M1 es diferente de M2
Ejercicio 04:
Se pide elaborar el algoritmo narrado, pseudocódigo y diagrama de flujo de un programa que permita ingresar dos
números por teclado e indique cual de los dos es el mayor y cual es menor.
Ejercicio 05:
Se pide elaborar el algoritmo, pseudocódigo y diagrama de flujo de un programa que ingrese un número por teclado
e indique si es positivo, negativo o igual a cero.
Ejercicio 06:
Laboratorio de Mecánica Computacional I Página: 6/7
Tema: Datos y Estructuras Secuenciales y Selectivas LAB N° 3 JP: Ing. JCC
Elaborar el algoritmo, diagrama de flujo y pseudocódigo de un programa que permita visualizar caracteres al traducir
números ingresados de 1 a 5. Por ejemplo si el número ingresado es 2, se visualice un mensaje que diga, “El número
en caracteres es dos”.
Ejercicio 07:
Elaborar el algoritmo, diagrama de flujo y pseudocódigo que permita visualizar un menú como el que se muestra a
continuación
1. Opción 1 (Eligio la opción 1)2. Opción 2 (Eligio la opción 2)3. Opción 3 (Eligio la opción 3)4. Opción 4 (Eligio Salir)
Ejercicio 08: Elaborar el algoritmo, diagrama de flujo y pseudocódigo para ingresar una dato como temperatura, y
evaluar el dato, si oscila entre 0-15°, debe imprimir “clima frio”, si oscila entre 15,1-20° “clima templado”, si oscila
entre 20,1- 28° “buen clima” y si es mayor a 28.1° enviar el mensaje “uff qué calor!!!”.
Ejercicio 09: Elaborar el algoritmo, diagrama de flujo y pseudocódigo de un programa que permita visualizar un menú
como el que se muestra a continuación
a. Ingresar tres números y ordenarlos ascendentementeb. Ingresar tres números y ordenarlos descendentementec. Salir del programad. Cualquier otra opción envíe el siguiente mensaje “Error, caso no implementado”.
V. CUESTIONARIO FINAL
1. Diseñar un algoritmo y representarlo en forma gráfica y pseudocódigo de un programa que permita ingresar 3
números por teclado y ordenarlos ascendentemente.
2. Modifique el algoritmo del programa anterior para ordenar los números descendentemente, realice el diagrama
de flujo y pseudocódigo correspondiente.
3. Diseñe un programa de selección múltiple de tal manera que:
a. Si la opción ingresada es 1, ordene tres números ingresados por teclado en forma ascendente.
b. Si la opción ingresada es 2, ordene tres números ingresados por teclado en forma descendente.
c. Si la opción ingresa es 3, salga del programa.
d. Cualquier otra opción envíen el siguiente mensaje “Error, caso no implementado”.
VI. OBSERVACIONES Y CONCLUSIONES
Emita al menos tres conclusiones en torno al trabajo realizado
Laboratorio de Mecánica Computacional I Página: 7/7
Tema: Datos y Estructuras Secuenciales y Selectivas LAB N° 3 JP: Ing. JCC
1. ____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
2. ____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
3. ____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Haga sus observaciones en torno al trabajo realizado (si es que las tuviera).
____________________________________________________________________________________________
____________________________________________________________________________________________
____________________________________________________________________________________________