• No se han encontrado resultados

CAPÍTULOIV

N/A
N/A
Protected

Academic year: 2020

Share "CAPÍTULOIV"

Copied!
50
0
0

Texto completo

(1)

97

Estructuras de repetición o iteraciones

1. CONCEPTOS BÁSICOS

Las instrucciones de repetición e iteraciones sirven para sacar varios valores o resultados, a diferencia de como se venía trabajando en donde sólo se generaba un valor o resultado.

Por esto es necesario ver un concepto adicional, el de contador.

1.1. Contador

Es una variable que sirve para llevar una cuenta con incrementos o decrementos constantes.

Aquí solo utilizaremos el contador como un incrementador.

(2)

98

Así: Si M inicialmente vale 3 o sea M = 3 y el contador es:

M = M + 1, entonces M tomará el valor de 4 (3 + 1); cuando volvamos a pasar por la línea M será igual a 5, la tercera vez tomará el valor de 6, y así sucesivamente.

Ej. 2. C = 0

C= C + 10 Contador

Inicialmente C es igual a cero (C = 0).

El incremento aquí es de 10 cada vez que pasemos por el contador, por lo tanto la primera vez que pasemos por allí este tomará el valor de 10 (0 + 10), la segunda vez quedará convertido en 20 (10 + 10), la tercera vez en 30 (20 + 10), y así sucesivamente.

Un nuevo concepto que es necesario estudiar, para resolver problemas más complejos, es el de Acumulador.

1.2. Acumulador

Es una variable que sirve para guardar y acumular valores que pueden ser diferentes cada vez, o sea, es una variable en la que se puede ir calculando la suma de los valores que tome otra variable dentro del algoritmo.

Ej. 1. ACUM = ACUM + V.

(3)

99 Ej. 1. ACUM = 0

V = 20

ACUM = ACUM + V

Ej. 2. TOT = 13 NUM = 50

TOT = TOT + NUM

La primera vez que pasemos por el acumulador TOT tomará el valor de 13 y NUM tomará el valor de 50, por Io tanto, TOT al final habrá acumulado el valor de 63.

La segunda vez TOT comenzará con 63 y acumulará el nuevo valor de NUM y así sucesivamente hasta que se tenga que terminar el proceso.

Sabiendo qué es un contador y también qué es un acumulador, podemos entrar de lleno al estudio de las estructuras repetitivas, aclarando que primero trabajaremos con ejercicios en donde se utilice el contador y luego con ejercicios en donde además del contador se utilice acumulador.

(4)

100 2. TIPOS DE ESTRUCTURAS REPETITIVAS O ITERACIONES

2.1. Estructura Mientras_que...haga

C = Condición o pregunta.

A, B... = Las instrucciones (de lectura, impresión, asignación, otras y pueden ser una o varias).

___

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

Mientras que se cumpla la condición (C), se ejecutarán las operaciones que se encuentran por el camino de Verdadero o SI, o sea todo lo que está dentro de la estructura; cuando la condición se deje de cumplir tomará el camino opuesto o sea el de Falso o NO y realizará por dicho camino las operaciones o pasos que encuentre hasta llegar al fin del programa.

(5)

101

El ciclo o bucle: es el conjunto de instrucciones (A, B...) o pasos que se ejecutan repetidamente un número controlado de veces.

Condición (C) de terminación: la evaluación de esta condición permite decidir cuándo finalizará la ejecución del ciclo.

El algoritmo se estructura así:

Inicio ___ ___

Mientras_que Condición haga ___

___ Fin_mq ___ ___

Fin_algoritmo

Comienzo de la estructura Mientras_que…

(6)

102 EJERCICIOS DESARROLLADOS

Ejercicio 1. Leer e imprimir o escribir 5 nombres de personas.

a. Análisis de la solución

Nos piden que leamos un nombre y lo imprimamos, luego el segundo nombre y lo imprimamos, y así sucesivamente, hasta obtener los 5 nombres de personas. Vemos que son 5 personas, no una como se había venido trabajando, por Io tanto necesitamos, además de la variable que nos sirve para leer cada vez un nombre, una variable que nos lleve la cuenta de los nombres leídos y mostrados, para que no nos falte ninguno y tampoco se impriman o muestren más de los pedidos.

b. Definición de variables

E, S NOM = Sirve para leer e imprimir el nombre de 5 personas (cada vez de a uno solamente, hasta completar los 5).

P CN = Sirve para llevar la cuenta de las personas leídas (contador).

La variable NOM es de entrada porque nos sirve para leer el nombre de las personas y es de salida porque sirve para mostrar el nombre que guarda.

(7)

103 c. Diagrama de flujo

Analizando el diagrama vemos lo siguiente:

• El contador de personas se inicializa o se le asigna un valor inicial de 0 dado que no hemos leído ningún nombre, además podemos ver que se escribió antes de la estructura, esto porque solo lo hacemos una vez.

• Los pasos o instrucciones que es necesario que se repitan están dentro de la estructura.

• El contador se aumenta en uno (1) cada vez que leemos y escribimos un nombre.

(8)

104 d. Prueba de escritorio

e. Algoritmo

Inicio CN = 0

Mientras_que CN < 5 haga Lea NOM

Escriba NOM CN = CN + 1 Fin_mq

(9)

105 Ejercicio 2. Leer y escribir el contenido de 4 líneas del directorio telefónico.

a. Análisis de la solución

(10)

106 b. Definición de variables

E, S NOMD = Sirve para leer los nombres de los dueños de las líneas telefónicas y mostrar el dato leído.

E, S DIRE = Sire para leer las direcciones de cada una de las líneas telefónicas y visualizar su contenido.

E, S NTEL = Sirve para leer los números telefónicos e imprimir cada número leído.

P CL = Sirve para contar o llevar la cuenta de las líneas telefónicas leídas y sus demás datos.

c. Diagrama de flujo

(11)

107 e. Algoritmo

Inicio CL = 0

Mientras_que CL < 4 haga Lea NOMD, DIRE, NTEL Escriba NOMD, DIRE, NTEL CL = CL + 1

Fin_mq Fin_algoritmo

Ejercicio 3. Calcular e imprimir la suma de 7 números leídos.

a. Análisis de la solución

(12)

108 b. Definición de variables

NUM = Sirve para leer los números.

CNUM = Sirve para contar los números que se vayan leyendo.

SNUM = Sirve para acumular el valor de cada uno de los números leídos y al final imprimir el total acumulado.

c. Diagrama de flujo

(13)

109 e. Algoritmo

Inicio

CNUM = 0 SNUM = 0

Mientras_que CNUM < 7 haga Lea NUM

CNUM = CNUM + 1 SNUM = SNUM + NUM Fin_mq

Escriba SNUM Fin_algoritmo

(14)

110 a. Análisis de la solución

Como piden generar, o sea hacer que los números se creen pero sin haber lectura, podemos pensar en utilizar el contador para que cumpla la doble función: genere los números y cuente los números generados ya que van en orden secuencial (o sea uno a continuación del otro). Además, a medida que se vaya generando cada número se puede ir guardando en una variable (acumulador), para que al final obtengamos la sumatoria de los 10 números generados.

b. Definición de variables

CN = Sirve para generar e imprimir los números de 1 a 10 y al mismo tiempo para contar los números generados.

(15)

111 c. Diagrama de flujo

(16)

112 e. Algoritmo

Inicio

CN= 0, ACN = 0

Mientras__que CN < 10 haga CN = CN + 1

ACN = ACN + CN Fin_mq

Escribir ACN Fin_algoritmo

Veamos un ejemplo:

Ejercicio 5. Calcular el valor de N áreas de triángulos, además imprimir la sumatoria y el promedio de las áreas calculadas.

a. Análisis de la solución

Para poder calcular el valor de las áreas de los triángulos necesitamos conocer la base y la altura ya que su fórmula es:

Se pueden realizar dos operaciones en una línea.

El valor acumulado en este caso, es el número que se genere en la línea anterior.

(17)

113 Area = base*altura / 2; después de haber definido las variables para calcular el área, tenemos que pensar en que necesitamos, además, un contador y la variable N que nos indicará hasta dónde irá o cuántas veces se repetirá el ciclo o bucle. También es necesario acumular el valor de cada área calculada y posteriormente sacar el promedio, para lo cual también necesitaremos otras 2 variables.

b. Definición de variables

N = Sirve para determinar el número de aéreas que se deben calcular.

B = Sirve para leer la base del triángulo.

H = Sirve para leer la altura del triángulo.

A = Sirve para calcular el valor del área del triángulo.

CA = Sirve para contar las áreas calculadas.

ACA = Sirve para calcular e imprimir la sumatoria de las áreas calculadas.

(18)
(19)

115 d. Prueba de escritorio

e. Algoritmo

Inicio

CA = 0, ACA = 0 Lea N

Mientras_que CA < N haga Lea B, H

A = B * H / 2 CA = CA + 1 ACA = ACA + A Fin_mq

Escriba ACA PROM = ACA / CA Escriba PROM Fin_algoritmo

(20)

116 2.2. Estructura Repita / hasta que...

Es otra de las estructuras de repetición y que por ende se utiliza para calcular más de un valor.

C = Es la condición o pregunta.

A, B = Son las instrucciones (pueden ser una o varias). ___

(21)

117

Hasta que o hasta cuando se cumpla la condición se ejecutan todas las instrucciones que se encuentren dentro de la estructura es decir, todo aquello que encuentra por Falso o NO; cuando la condición no se cumple ejecutará la (s) instrucción (es) que se encuentra (n) por el camino opuesto que aquí es el Verdadero o SI

El algoritmo se estructura así:

Inicio ___ Repita ___ ___ ___

Hasta que… Condición ___

___

Fin_algoritmo

Comienzo de la estructura.

(22)

118 EJERCICIOS DESARROLLADOS

Ejercicio 1. Leer 6 nombres de personas e imprimirlos o

visualizarlos.

a. Análisis de la solución

Vemos que con solo definir una variable para leer un nombre, ese mismo nos servirá para leer todos los nombres pedidos; a medida que vayamos leyendo vamos imprimiendo el valor leído y además lo podemos ir contando.

b. Definición de variables

NOMP = Sirve para leer e imprimir el nombre de 6 personas.

CP = Sirve para contar los nombres leídos y que se van imprimiendo.

(23)

119 d. Prueba de escritorio

e. Algoritmo

Inicio CP = 0 Repita

(24)

120 Ejercicio 2. Generar e imprimir los números enteros de 1 en 1 hasta

10. Además imprimir la sumatoria o total de ellos.

a. Análisis de la solución

Siempre que se diga generar es porque se debe hacer automáticamente, por lo tanto para este ejercicio no se requieren lecturas, sino buscar la forma para sacar cada uno de los números pedidos.

(25)

121 b. Definición de variables

CN = Sirve para generar, contar e imprimir los números generados.

SUM = Sirve para acumular el valor de los números generados e imprimir el total de ellos.

c. Diagrama de flujo

(26)

122 e. Algoritmo

Inicio

CN = 0, SUM = 0 Repita

CN = CN + 1 Escriba CN

SUM = SUM + CN Hasta_que CN = 10

Escriba ‘La sumatoria es igual a:’, SUM Fin_algoritmo

Ejercicio 3. Generar e imprimir los números enteros de 1 hasta el valor que se le asigne a N. Además imprimir la sumatoria de ellos.

a. Análisis de la solución

Además de generar los números y de acumularlos, como en el ejercicio anterior, se necesita definir una variable N, que servirá para determinar el valor hasta el cual debe llegar el ciclo repetitivo o bucle.

b. Definición de variables

(27)

123

CN = Sirve para generar, contar e imprimir los números de 1 a N.

SUM = Sirve para acumular e imprimir la sumatoria de los números generados.

c. Diagrama de flujo

(28)

124 e. Algoritmo

Inicio

CN = 0, SUM = 0 Lea N

Repita

CN = CN + 1 Escriba CN

SUM = SUM + CN Hasta_que CN = N

Escriba ‘La sumatoria es igual a: ’, SUM Fin_algoritmo

Ejercicio 4. Calcular e imprimir la sumatoria y el promedio de los sueldos devengados por N trabajadores en una empresa.

a. Análisis de la solución

Necesitamos leer el sueldo de cada trabajador e ir sumando cada sueldo en un acumulador para al final poder determinar cuánto sumaron todos los sueldos; además con este dato se puede calcular el promedio, pues recordemos que para un promedio se divide la sumatoria, en este caso de sueldos, entre el número de sueldos.

b. Definición de variables

N = Sirve para definir el número de sueldos que se van a leer.

SUEL = Sirve para leer los sueldos de los trabajadores.

(29)

125

CS = Sirve para contar el número de sueldos leídos.

ACS = Sirve para acumular e imprimir el total de los sueldos leídos.

P = Sirve para calcular e imprimir el promedio de los sueldos leídos.

(30)

126 d. Prueba de escritorio

e. Algoritmo

Inicio

CS = 0, ACS = 0 Lea N

Repita Lea SUEL

ACS = ACS + SUEL CS = CS + 1

Hasta_que CS = N

Imprima ‘El total de sueldos es de:’, ACS P = ACS / CS

(31)

127 2.3. Estructura Para...hasta...haga (o Desde... hasta... haga)

La estructura repetitiva Para... es aquella en que el número de iteraciones del bucle o ciclo es determinado directamente, por lo tanto, se sabe en qué valor debe comenzar y en qué valor terminar.

A, B = Son las instrucciones (pueden ser una o varias). ___

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

(32)

128

V = Es una variable que normalmente asume la función de contador.

VI = El valor inicial que debe tomar la variable.

VF = El valor final hasta el cual debe llegar, y normalmente determina el número de iteraciones o repeticiones del problema.

La estructura Para... o Desde... ejecuta las instrucciones del ciclo un número determinado de veces y controla de manera automática el número de repeticiones o pasos que se tienen que llevar a cabo. Cuando termina de ejecutar las instrucciones del ciclo, automáticamente sale de la estructura y va a buscar las que se encuentran por fuera y a continuación de ella, hasta encontrar el fin del algoritmo, diagrama o programa. En esta estructura no hay condición o pregunta sino que está claramente definido en qué valor debe comenzar el contador y en cuál debe terminar.

El algoritmo para esta estructura es:

Inicio o Inicio

___ ___

___ ___

Para V=VI hasta VF haga Desde V=VI hasta VF haga

A___ A___

B___ B___

Fin_para Fin_desde

___ ___

___ ___

(33)

129 3. EJERCICIOS DESARROLLADOS

Ejercicio 1. Leer e imprimir 7 nombres de trabajadores con su respectiva cantidad de producción.

a. Análisis de la solución

(34)

130 b. Definición de variables

NOM = Sirve para leer el nombre de cada uno de los trabajadores y visualizar el contenido de la variable.

PROD = Sirve para leer la producción de cada uno de los trabajadores y mostrar cuánta fue su producción.

C = Sirve para contar los datos leídos o sea el nombre de las personas con su producción.

(35)

131

Podemos ver que con ésta estructura, a diferencia de las dos anteriores, nos ahorramos:

• La inicialización del contador en cero o sea C = 0.

• El incremento del contador cada vez que pase por la línea, o sea C = C + 1.

• La pregunta, porque no es necesario que se controle, ya que esta estructura no permitirá calcular o generar ni más, ni menos resultados que los que indica el último valor.

(36)

132 e. Algoritmo

Inicio

Para C = 1 hasta 7 haga Lea NOM, PROD Escriba NOM, PROD Fin_para

Fin_algoritmo

Ejercicio 2. Un curso está compuesto por N alumnos y a cada uno de ellos se le practicaron 3 pruebas. Se pide imprimir o escribir el promedio de las 3 notas para cada uno de ellos con sus datos básicos, y la sumatoria y el promedio de las notas de todo el curso.

a. Análisis de la solución

Se deben leer los datos básicos de cada estudiante además de las 3 notas; los datos básicos pueden ser: el código y el nombre; también se necesita conocer el valor de N, Io mismo que calcular el promedio de las 3 notas por cada estudiante y para terminar el proceso se deben acumular los promedios de cada alumno, con el fin de obtener la sumatoria y el promedio del curso.

b. Definición de variables

N = Sirve para leer y definir el número de estudiantes para el cual se van a efectuar los cálculos.

(37)

133

NOM = Sirve para leer el nombre de cada uno de los N estudiantes.

N1 = Sirve para leer la primera nota de cada estudiante.

N2 = Sirve para leer la segunda nota de cada estudiante.

N3 = Sirve para leer la tercera nota de cada estudiante.

CA = Sirve para contar los estudiantes con sus datos.

P = Sirve para calcular e imprimir el promedio de las notas de cada uno de los estudiantes.

ACN = Sirve para calcular e imprimir la sumatoria o acumulado de los promedios de los estudiantes del curso.

(38)
(39)

135 d. Prueba de escritorio

e. Algoritmo

Inicio ACN = 0 Lea N

Para CA = 1 hasta N haga Lea COD, NOM

Lea N1, N2, N3

P = (N1+ N2 + N3) / 3 Escriba P

ACN = ACN + P Fin_para

(40)

136 Ejercicio 3. Calcular e imprimir la suma (sumatoria) de 6 números

leídos.

a. Análisis de la solución

Para poder calcular la suma de los 6 números, primero tenemos que ir leyendo número por número e irlo adicionando al acumulador y así al final saber cuánto sumaron los valores de todos los números leídos. Además necesitaremos un contador que es el que: se encarga de llevar la cuenta de los números leídos y de controlar que cuando llegue a 6, ejecute por última vez las instrucciones que se encuentran dentro de la estructura y luego salga automáticamente de ella.

b. Definición de variables

NUM = Sirve para leer los números.

CNUM = Sirve para contar los números que se vayan leyendo.

(41)
(42)

138 d. Prueba de escritorio

e. Algoritmo

Inicio

SNUM = 0

Para CNUM = 1 hasta 6 haga Lea NUM

SNUM = SNUM + NUM Fin_para

(43)

139 Ejercicio 4. Calcular e imprimir el valor de N áreas de triángulos. Además imprimir la sumatoria y el promedio de las áreas calculadas.

a. Análisis de la solución

Para poder calcular el valor de las áreas de los triángulos necesitamos conocer la base y la altura ya que la fórmula del área es: Área = base*altura / 2. Después de haber definido las variables para calcular el área tenemos que pensar en que necesitamos además un contador y la variable N. También son necesarias variables para acumular el valor de cada área y luego el promedio de ellas.

Veamos cómo quedaría la definición de variables.

b. Definición de variables

N = Sirve para leer y definir el número de áreas que se deben calcular.

B = Sirve para leer la base de cada triángulo.

H = Sirve para leer la altura de cada triángulo.

A = Sirve para calcular e imprimir el área de cada triángulo.

CA = Sirve para contar las áreas calculadas.

ACA = Sirve para calcular e imprimir la sumatoria de las áreas calculadas.

(44)
(45)

141 d. Prueba de escritorio

e. Algoritmo

Inicio ACA = 0 Lea N

Para CA = 1 hasta N haga Lea B, H

A = B * H / 2 Imprima A ACA = ACA + A Fin_para

Imprima ACA PROM = ACA / CA Imprima PROM Fin_algoritmo

(46)

142 4. EJERCICIOS PROPUESTOS

Ejercicio 1. Considere los siguientes algoritmos y determine qué visualizan o muestran y cuántas veces se repite el ciclo o bucle de cada uno de ellos.

a. Inicio K= 0

Mientras_que K < 7 haga Escriba K

K= K + 1 Fin_mq Fin_algoritmo

b. Inicio I = 0

Mientras_que I < 6 haga I = I + 1

Escriba I Fin_mq Fin_algoritmo

c. Inicio M = 0 Repita M = M + 1 M = 0 Escriba M

(47)

143

d. Inicio X = 5 Repita X = X - 3

Hasta_que X < = 0 Imprima X

Fin_algoritmo

Ejercicio 2. Transformar kilómetros en millas e imprimir la conversión. La cantidad de repeticiones las debe determinar el estudiante.

Ejercicio 3. Realizar todos los pasos necesarios para calcular e imprimir la suma de:

1+ 1/2 + 1/3 + 1/4 + … 1/N

Ejercicio 4. Dado un grupo de números naturales calcular e imprimir el cuadrado y el cubo de cada uno de ellos.

Ejercicio 5. Calcular e imprimir la sumatoria de los gastos ocasionados en un viaje de trabajo que dura varios días.

Ejercicio 6. Obtener la tabla de multiplicar de un número entero, comenzando desde 1 y terminando en el número que el estudiante desee.

(48)

144 Ejercicio 8. Dado el peso, la altura y el sexo de N personas obtener

el promedio del peso y de la altura de esta muestra de personas.

Ejercicio 9. Desarrollar todos los pasos para encontrar el primer valor de R, el cual corresponda a la suma de los números que generados automáticamente desde 1 y en forma secuencial exceda a 100. Preferiblemente trabajar con las estructuras Mientras_que... y Repita / hasta que...

Ejercicio 10. Calcular el interés en dinero, producido por un capital, a las tasas de interés comprendidas en el rango de 10 hasta 20 por ciento.

Supongamos que la tasa de interés aumenta cada vez en dos puntos.

Ejercicio 11. Realizar todos los pasos que sean necesarios para escribir un algoritmo que permita ejecutar un procedimiento, preguntándole cada vez si desea continuar y cuando la respuesta sea ‘n’ o ‘N’ se detenga.

Después de desarrollar este ejercicio podrás ver una forma diferente de terminar un algoritmo o proceso.

Ejercicio 12. Leer sucesivamente, o sea uno a continuación del otro, números enteros, hasta que aparezca un número diferente del rango > = 1 y < = 20.

(49)

145 Ejercicio 14. Realizar todos los pasos para calcular e imprimir la sumatoria de:

1/2 + 2/22 + 3/23 +... N/2n

(50)

146

BIBLIOGRAFÍA

Referencias

Documento similar

Porcentaje de radiación solar interceptada (RSI; 0,35 - 2,5 µm) y de radiación fotosintéticamente activa interceptada (RFAI) a lo largo del ciclo de cultivo para las

4.- Másteres del ámbito de la Biología Molecular y Biotecnología (9% de los títulos. Destaca el de Biotecnología Molecular de la UB con un 4% y se incluyen otros

Pero cuando vio a Mar sacar el fuego de bajo su ala, voló de vuelta a su tribu a contarles lo que había visto.... Justo antes de que el sol saliera, Tatkanna se despertó y comenzó

- Un curso formativo para los técnicos de laboratorio de la UPV sobre la prevención de los residuos en los laboratorios, que se llevará a cabo los días 23, 24, 25, 26 y 27

Como otros AINE, los productos que contengan naproxeno deben utilizarse con precaución en los pacientes con disfunción renal o antecedentes de renopatía, ya que el naproxeno inhibe

Al mismo tiempo sería im- portante conservar de esa reli- giosidad cierta dimensión contemplativa, cierto hablar y rezar concreto, y un ritmo más cercano de la tierra y sus

Esta formación se produce mediante el doctorado (13 alumnos, lo que significa el 32% de los encuestados), diferentes másteres entre los que destacan de nuevo el de Profesorado

Posteriormente, el expositor Carlos Ugalde, investigador en temas de ordenamientos territorial y planificación urbana del Instituto Tecnológico de Costa Rica, se refirió a