9
UNIVERSIDAD CATOLICA DE SANTA MARIA FACULTAD DE CIENCIAS E INGENIERÍAS FISICAS Y FORMALES PROGRAMA PROFESIONAL INGENIERIA MECÁNICA, MECÁNICA-ELECTRÍCA Y MECATRÓNICA Página:1/9 Jefes de Prácticas: Ing. Juan Carlos Cuadros Laboratorio de Mecánica Computacional I Tema: Datos y Estructuras Secuenciales y Selectivas Código: 4E03017 Semestr e: III Grupo: 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.

Lab N° 3 - Datos y Estructuras Secuenciales y Selectivas - 2012-I

Embed Size (px)

Citation preview

Page 1: Lab N° 3 - Datos y Estructuras Secuenciales y Selectivas - 2012-I

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.

Page 2: Lab N° 3 - Datos y Estructuras Secuenciales y Selectivas - 2012-I

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.

Page 3: Lab N° 3 - Datos y Estructuras Secuenciales y Selectivas - 2012-I

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>;

Page 4: Lab N° 3 - Datos y Estructuras Secuenciales y Selectivas - 2012-I

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.

Page 5: Lab N° 3 - Datos y Estructuras Secuenciales y Selectivas - 2012-I

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:

Page 6: Lab N° 3 - Datos y Estructuras Secuenciales y Selectivas - 2012-I

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

Page 7: Lab N° 3 - Datos y Estructuras Secuenciales y Selectivas - 2012-I

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).

____________________________________________________________________________________________

____________________________________________________________________________________________

____________________________________________________________________________________________