Lab N 5 - Estructuras Repetitivas - 2013-I

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 Ing. Henry Zegarra Gago Ing. Sergio Mestas Ramos Ing. Christian Collado Oporto Ing. José Esquicha Tejada Laboratorio de Mecánica Computacional I Tema: Estructuras Repetitivas o Iterativas Código: 4E03017 Semestr e: III Grupo: FECHA: Apellidos y Nombres: Lab. Nº: 05 01 al 05 ABR/2013 I. OBJETIVOS Comprender la necesidad del diseño de algoritmos en el estudio y resolución de programas. Analizar los problemas para identificar los datos que se requieren, y comprender y aprender el uso de las instrucciones de repetición en la solución de dichos problemas. Realizar algoritmos de programación usando estructuras de repetición para el control de flujo, reconociendo su pseudocódigo y su diagrama de flujo. II. MARCO TEORICO Es muy común encontrar en los algoritmos operaciones que se deben de ejecutar un número repetido de veces. El conjunto de instrucciones que se ejecutan repetidamente se llama ciclo o bucle. Todo ciclo o bucle debe de terminar de ejecutar luego de un número finito de veces, por lo que es necesario en cada iteración del mismo, evaluar las condiciones necesarias para decidir si se debe de seguir ejecutando o debe detenerse. En todo bucle o ciclo siempre debe de existir una condición de parada o fin de ciclo. En algunos algoritmos podemos establecer a priori que el ciclo se repetirá un número definido de veces. Es decir, el número de BUCLE

Transcript of Lab N 5 - Estructuras Repetitivas - 2013-I

Page 1: Lab N 5 - Estructuras Repetitivas - 2013-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 CuadrosIng. Henry Zegarra Gago

Ing. Sergio Mestas RamosIng. Christian Collado Oporto

Ing. José Esquicha TejadaLaboratorio de Mecánica Computacional I

Tema: Estructuras Repetitivas o IterativasCódigo: 4E03017Semestre: IIIGrupo: FECHA:

Apellidos y Nombres: Lab. Nº: 05 01 al 05 ABR/2013

I. OBJETIVOS

Comprender la necesidad del diseño de algoritmos en el estudio y resolución de programas.

Analizar los problemas para identificar los datos que se requieren, y comprender y aprender el uso

de las instrucciones de repetición en la solución de dichos problemas.

Realizar algoritmos de programación usando estructuras de repetición para el control de flujo,

reconociendo su pseudocódigo y su diagrama de flujo.

II. MARCO TEORICO

Es muy común encontrar en los algoritmos operaciones que se deben de ejecutar un número repetido

de veces. El conjunto de instrucciones que se ejecutan repetidamente se llama ciclo o bucle. Todo ciclo o

bucle debe de terminar de ejecutar luego de un número finito de veces, por lo que es necesario en cada

iteración del mismo, evaluar las condiciones necesarias para decidir si se debe de seguir ejecutando o

debe detenerse. En todo bucle o ciclo siempre debe de existir una condición de parada o fin de ciclo.

En algunos algoritmos podemos establecer a priori que el ciclo se repetirá un número definido de veces.

Es decir, el número de repeticiones no dependerá de las proposiciones dentro del ciclo. Llamaremos

Para a la estructura logarítmica repetitiva que se ejecuta un número definido de veces.

Por otra parte, en algunos algoritmos no se puede establecer a priori el número de veces que ha de

ejecutarse el ciclo, si no que este número dependerá de las proposiciones dentro del mismo.

Llamaremos Mientras a la estructura logarítmica repetitiva que se ejecuta mientras la condición

evaluada resulta verdadera.

Existe también la estructura Hacer Mientras donde la condición para seguir ejecutando el bucle se

evalúa al final, por tanto, este bucle se ejecuta por lo menos una vez.

Las estructuras repetitivas o iterativas que vamos a estudiar durante el desarrollo de este laboratorio

son:

a. Estructura repetitiva Mientras.b. Estructura repetitiva Hacer Mientras.c. Estructura repetitiva Para.

BUCLE

Page 2: Lab N 5 - Estructuras Repetitivas - 2013-I

Laboratorio de Mecánica Computacional I Página: 2/7

Tema: Estructuras Repetitivas o Iterativas LAB N° 5JP: Ings.

JCC-HZG-SMR-CCO-JET

1. Estructura Repetitiva Mientras (while)

Es la sentencia de bucle más sencilla. El funcionamiento es bastante simple, la sentencia o grupo de

sentencias dentro del bucle, se ejecuta mientras el valor de la expresión de la condición sea cierto. En el

momento en que la condición sea falsa, la ejecución del programa continúa secuencialmente con la

siguiente instrucción tras el bucle.

El número de repeticiones no depende de las preposiciones dentro del ciclo, sino más bien del

planteamiento del problema o de la lectura que indica el número de iteraciones que debe de realizarse el

bucle.

La estructura mientras se divide en dos partes:

a. Ciclo: Conjunto de instrucciones que se ejecutaran repetidamente.

b. Condición de terminación: La evaluación de esta condición permite decidir cuando finalizará la

ejecución del ciclo. La condición se evalúa al inicio del mismo.

Pseudocódigo 1:

while (<condición>)<sentencia o acción>;

end while

Diagrama de Flujo

Pseudocódigo 2:

Mientras (Condición es Verdadera)<sentencia o acción>;

Fin Mientras

Cuadro 1. Instrucción while, pseudocódigo y diagrama de flujo.

Nota sobre el código: Un error muy común con la instrucción while y otras, es poner un punto y coma (;)

después de la (condición). Ejemplo while (<condición>);.

Page 3: Lab N 5 - Estructuras Repetitivas - 2013-I

Laboratorio de Mecánica Computacional I Página: 3/7

Tema: Estructuras Repetitivas o Iterativas LAB N° 5JP: Ings.

JCC-HZG-SMR-CCO-JET

Ejemplo 01. Realice el diagrama de flujo para ingresar n notas por teclado y hallar el promedio. El

ingreso de notas finaliza cuando se ingresa el número -1.

nota! = -1

Hacer:acu=acu+nota

cont_n=cont_n+1

F

V

Hacer:prom=acu / cont_n

prom

2. Estructura Repetitiva Hacer-Mientras (do – while)

Esta es la estructura algorítmica adecuada para cuando no sabemos el número de veces que un bucle se

repetirá, pero conocemos que se debe ejecutar por lo menos una vez. Es decir, se ejecuta el conjunto de

instrucciones una vez, y luego cada vez que corresponde iniciar nuevamente el ciclo se evalúan las

condiciones, siempre al final del conjunto de instrucciones. Si el resultado es verdadero se continua la

ejecución de otra forma se detiene.

Pseudocódigo 1:

do

<sentencia>;<o grupo de sentencias>;

while (<condición>)

Diagrama de flujo

Pseudocódigo 2:

hacer<sentencia>;<o grupo de sentencias>;

mientras (Condición es verdadera)fin hacer-mientras

Cuadro 2. Instrucción do – while, pseudocódigo y diagrama de flujo.

Page 4: Lab N 5 - Estructuras Repetitivas - 2013-I

Laboratorio de Mecánica Computacional I Página: 4/7

Tema: Estructuras Repetitivas o Iterativas LAB N° 5JP: Ings.

JCC-HZG-SMR-CCO-JET

Ejemplo 02. Construya un diagrama de flujo para

hallar el promedio de 3 notas ingresadas por

teclado.

Recomendación: Declarar acu (acumulador) = 0 así

como cont_n (contador de notas) = 0.

Hacer:acu=acu+nota

cont_n=cont_n+1

cont_n < 3V

Hacer:prom=acu / cont_n

prom

F

3. Estructura Repetitiva Para (for)

Esta es la estructura algorítmica adecuada para utilizar un bucle que se repetirá un número finito de veces.

Es decir sabemos de antemano cuantas veces tenemos que repetir una determinada operación, sentencia

o grupo de sentencias, acción o tarea. Las instrucciones se repiten continuamente según los valores de un

contador al que se le pone un valor de inicio, un valor final y el incremento que realiza en cada iteración (el

incremento es opcional, si no se indica se entiende que es de uno). La estructura sería:

Pseudocódigo 1:

for (<valor inicial> ; <valor final>; <incremento/decremento>){

<sentencia o grupo de sentencias>;}

Diagrama de Flujo:

Page 5: Lab N 5 - Estructuras Repetitivas - 2013-I

Laboratorio de Mecánica Computacional I Página: 5/7

Tema: Estructuras Repetitivas o Iterativas LAB N° 5JP: Ings.

JCC-HZG-SMR-CCO-JET

Pseudocódigo:

para (valor inicial) hasta (valor final), incremento o decremento. hacer{

<sentencia o grupo de sentencias>;}fin para

Cuadro 3. Instrucción for, pseudocódigo y diagrama de flujo.

4. Definiciones adicionales

Contador: Son variables enteras que se incrementan (+) o decrementan (-) con un valor constante, por

ejemplo una variable a cuyo valor se incrementa de 1 en 1, se conoce como variable contador. Algunos

ejemplos en pseudocódigo son:

a ← a + 1

contador ← contador + 1

acu ← acu + 1

a ← a – 1

cont ← cont – 1

Acumulador: Son variables de cualquier tipo que almacenan valores variables, por ejemplo la variable a

cuyo valor se incrementa por el valor que va tomando otra variable llamada x por ejemplo. Algunos

ejemplos en pseudocódigo son:

a ← a + x

contador ← contador + c

acu ← acu + x

a ← a – i

cont ← cont – j

III. PROCEDIMIENTO

Page 6: Lab N 5 - Estructuras Repetitivas - 2013-I

Laboratorio de Mecánica Computacional I Página: 6/7

Tema: Estructuras Repetitivas o Iterativas LAB N° 5JP: Ings.

JCC-HZG-SMR-CCO-JET

Ejercicio 01: Elaborar el pseudocódigo y diagrama de flujo de un programa que calcule la suma de una

secuencia de números enteros leídos por teclado, el programa finaliza cuando se ingresa el número 0.

Ejercicio 02: Elabore pseudocódigo y el diagrama de flujo de un programa para hallar suma de los N

primeros números naturales.

Ejercicio 03: Elabore el pseudocódigo y el diagrama de flujo de un programa para que dado un rango de

números enteros , obtener la cantidad de números pares que contiene.

Ejercicio 04: Elabore el diagrama de flujo y programa para obtener:

a. Suma de los 30 primeros números naturales positivos.

b. Suma de los 50 primeros números impares enteros positivos.

c. Suma de los 20 primeros números pares enteros negativos.

Realice este programa utilizando un MENU.

IV. CUESTIONARIO FINAL

1. Diseñe un diagrama de flujo y programa para calcular el digito mayor y el digito menor de un número

ingresado por teclado.

2. Diseñe un programa y diagrama de flujo para que dadas cuatro notas de un alumno elimine la menor

nota, calcule el promedio con las 3 notas restantes. Se debe probar que las notas ingresadas son

válidas. Realice el algoritmo para N alumnos.

V. OBSERVACIONES Y CONCLUSIONES

Emita al menos tres conclusiones en torno al trabajo realizado

1. ___________________________________________________________________________________________

___________________________________________________________________________________________

___________________________________________________________________________________________

2. ___________________________________________________________________________________________

___________________________________________________________________________________________

___________________________________________________________________________________________

Page 7: Lab N 5 - Estructuras Repetitivas - 2013-I

Laboratorio de Mecánica Computacional I Página: 7/7

Tema: Estructuras Repetitivas o Iterativas LAB N° 5JP: Ings.

JCC-HZG-SMR-CCO-JET

3. ___________________________________________________________________________________________

___________________________________________________________________________________________

___________________________________________________________________________________________

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

___________________________________________________________________________________________

___________________________________________________________________________________________

___________________________________________________________________________________________