0% encontró este documento útil (0 votos)
3 vistas23 páginas

Estructuras Repetitivas en Programación

El capítulo 5 aborda las estructuras repetitivas en programación, incluyendo bucles como 'while', 'do-while', y 'for'. Se discuten sus diferencias, aplicaciones y el diseño de bucles, así como sentencias de salto en varios lenguajes. Además, se presentan ejemplos y ejercicios prácticos para ilustrar el uso de estas estructuras en la resolución de problemas.

Cargado por

dguillen
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
3 vistas23 páginas

Estructuras Repetitivas en Programación

El capítulo 5 aborda las estructuras repetitivas en programación, incluyendo bucles como 'while', 'do-while', y 'for'. Se discuten sus diferencias, aplicaciones y el diseño de bucles, así como sentencias de salto en varios lenguajes. Además, se presentan ejemplos y ejercicios prácticos para ilustrar el uso de estas estructuras en la resolución de problemas.

Cargado por

dguillen
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

CAPÍTULO 5

ro se

lizar-

iente
ujo de control II:

repetitivas
para
estructuras
en la
unta
iable
Si el
debe
ario

1o es
: con
i no

5.1. Estructuras repetitivas 5.9. Comparación de bucles while, for y do-while:


le el 5.2. Estructura mientras ("while")
una aplicación en C++

5.3. Estructura hacer-mientras ("do-while") 5.10. Diseño de bucles (lazos)


iene 5.11. Estructuras repetitivas anidadas
5.4. Diferencias entre mientras (while)
que
y hacer-mientras (do-while): 5.12. Sentencias de salto en C++, Java y Python:
mes
una aplicación en C++ break, continue, return, goto
dere
días 5.5. Estructura repetir ("repeat") ACTIVIDADES DE PROGRAMACIÓN RESUELTAS

pro- 5.6. Estructura desde/para ("for") CONCEPTOS CLAVE


e en
5.7. Salidas internas de los bucles RESUMEN
ario
5.8. Sentencias de salto interrumpir (break) EJERCICIOS

ona-
y continuar (continue) REFERENCIAS BIBLIOGRÁFICAS
der-
oto-

ivel)
INTRODUCCIÓN
para
<iste

Los programas utilizados hasta este momento han los de valores de salida, cuyo proceso sólo se detiene
examinado conceptos de programación, tales como cuando se introduce o se presenta un valor centinela.
entradas, salidas, asignaciones, expresiones y opera- Este capítulo examinalos diferentes métodos que
ciones, sentencias secuenciales y de selección. Sin utilizan programadores para construir secciones
los

embargo, muchos problemas requieren de caracterís- de código repetitivas. Se describe y analiza el con-
ticas de repetición, en las que algunos cálculos o se- cepto de bucle como la sección de código que se
cùencia de instrucciones se repiten una y otra vez, repite y que se denomina así ya que cuando termina
utilizando diferentes conjuntos de datos. Ejemplos de la ejecución de la última sentencia, el flujo de control
tales tareas repetitivas incluyen verificaciones (che- vuelve a la primera sentencia y comienza otra repeti-
queos) de entradas de datos de usuarios hasta que se ción de las sentencias del código. Cada repetición se
introduce una entrada aceptable, como una contrase- conoce como iteración o pasada a través del bucle.

ña válida; conteo y acumulación de totales parciales; Se estudian los bucles más típicos: mientras,
aceptación constante de entradas de datos y recálcu- hacer-mientras, repetir-hasta que y desde (o para).
196 Fundamentos de programación

00
repetir
RR-N
00+ 1
hasta_que R<N
escribir('dividendo',M, 'divisor', N, 'cociente', Q, 'resto', R)
fin

5.6. Realizar el algoritmo para obtener la suma de los números pares hasta 1000.

Solución

Método 1

S=2+4+6+8+.. 1000

algoritmo sumapares
var

real: NÚMERO, SUMA


inicio
SUMA 2
NÚMERO 4
mientras NÚMERO <= 1000 hacer
SUMA SUMA + NÚMERO
NÚMERO- NÚMERO + 2

fin_mientras
fin

Método 2

(idéntica cabecera y declaraciones]


inicio
SUMA 2
NÚMERO 4

repetir
SUMA SUMA + NÚMERO
NÚMERO NÚMERO +2
hasta_que NÚMERO > 1000
fin

5.7. Buscar y escribir la primera vocal leída del teclado. (Se supone que se leen, uno a uno, caracteres desde el teclado.)
5
Solución

algoritmo buscar_vocal
var

carácter: p
inicio
repetir
Teer(p)
hasta_quep 'a' d= 'e'od
= = ''o p = ,0,0 d = 'n'
escribir('Primero', p)
fin

5.8. Se desea leer de una consola a una serie de números hasta obtener un número inferior a 100.
Solución

algoritmo menor_100
var
Flujo de controi II: estructuras repetitivas 207
208 Fundamentos de programación

nes del bucle comienzan; en caso contrario, no se mientras cuenta 1


A₂=2 A, 1+2 A
=

5.9. Un comercio dispone de dos tipos de artículos A =1 = = + A₂


introduce al bucle. Las iteraciones continúan <sentencias> mientras (cuenta <= 10)
mientras que la condición permanece verdadera. hacer
en fichas correspondientes a diversas sucursales AA-1+A-2 (11> = 3)
con los siguientes campos: 5.13. Se pretende leer todos los empleados de una
En lamayoría de los lenguajes, estas sentencias se cuenta = cuenta + 1

construyen utilizando las sentencias while y for, fin_mientras Código del artículo A o В. empresa (situados en un archivo EMPRESA) y a
fin_mientras
Precio unitario del artículo. la terminación de la lectura del archivo se debe
respectivamente. Los bucles hacer-mientras y
6. La sentencia desde (for) realiza las mismas fun- Número de artículos. visualizar mensaje "existen trabajadores
un
repetir- hasta_que son bucles controlados por
ciones que la sentencia mientras pero utiliza un mayores de 65 años en un número de...", y el
salida o posttest, en los que la condición a evaluar La última ficha del archivo de artículos tiene un

comprueba al final del bucle. El cuérpo del bu-


formato diferente. En muchas situaciones, espe-. número de trabajadores mayores de 65 años.
se código de artículo, una letra X. Se pide:
cialmente aquellas que utilizan una condición de 5.14. Un capital C está situado a un tipo de interés R.
cle se ejecuta siempre al menos una vez. El bucle El número de artículos existentes de cada
hacer-mientras se ejecuta siempre que la condi-
conteo fijo, la sentencia desde es más fácil de uti-
ca-
¿Al término de cuántos años se duplicará?
lizar que la sentencia mientras equivalente. tegoría,
ción sea verdadera y se termina cuando la condición 5.15. Se desea serie de datos de
• El importe total de los artículos de cada cate- conocer una una

se hace falsa; por el contrario, el bucle repetir- desde vi hasta of [inc/dec] hacer
goría. empresa con 50 empleados: a) ¿Cuántos emplea-
v

hasta que se realiza siempre que la condición es <sentencias>


dos ganan más de 300000 pesetas al mes (salarios
5.10. Una estación climática proporciona un par de
falsa y se termina cuando la condición se hace fîn_desde altos); b) entre 100000 у 300000 pesetas (sala-
verdadera. temperaturas diarias (máxima, mínima) (no es
rios medios); yc) menos de 100000 pesetas
3. Un bucle mientras es un bucle'con condición de 7. La sentencia hacer_mientras se utiliza para crear posible alguna o ambas temperaturas sea
que
(salarios bajos y empleados a tiempo parcial)? 6.1. I
entrada, de modo que puede darse el caso de que bucles posttest, ya que comprueba su expresión al 9 °C). La pareja fin de temperaturas es 0.0. Se
su cuerpo de sentencias no se ejecute nunca si la final del bucle. Esta característica asegura que el pide determinar el número de días, cuyas tempe- 5.16. Imprimir una tabla de multiplicar como 이

condición es falsa en el momento de entrar al bu- cuerpo de un bucle hacer se ejecute al menos una raturas se han proporcionado, las medias máxi- 6.2. F
1 2 3 4 15
vez. Dentro de un bucle hacer debe haber al me- ma y mínima, el número de errores (temperatu-
cle. Por el contrario, los bucles hacer-mientras y ** ** 6.3. P
repetir-hasta_que son bucles de salida y, por nos una sentencia que modifique el valor de la ras de 9 °C) y el porcentaje que representaban.
1* 1 기 3 4 15 6.4. Á
consiguiente, las sentencias del cuerpo del bucle expresión comprobada. 5.11. Calcular:
30
2* 2 4 6 8
al menos se ejecutarán una vez. 8. La programación estructurada utiliza las senten- 6.5. C
2 3* 3 6 9 12 45
capítulo. Esta programa-
.*.

4. Los bucles también clasifican función de cias explicadas este


se en en
E(x) = 1 +x = 4* 4 8 12 16 60
m
ción se centra en el modo de escribir las partes 21 1!
la condición probada. En un bucle de conteo fijo, la 6.6. Fi
condición sirve para fijar cuantas iteraciones se rea- detalladas de programas de una computadora
módulos independientes. Su filosofía básica
a) Para N que es un entero leído por teclado. 6.7. L
lizarán. En un bucle con condición variable (mien- como

muy simple: "Utilice sólo construcciones que


b) Hasta que N sea tal que xn/n < E (por ejem-
tras, hacer-mientras y repetir-hasta_ que), es
15* 15 30 45 60 225
plo, E = 10-).
la condición comprobada está basada en que una tengan un punto de entrada y un punto de sali-
variable puede cambiar interactivamente con da". Esta regla básica se puede romper fácilmente 5.12. Calcular el enésimo término de la serie de Fibo- 5.17. Dado un entero positivo n (> 1), comprobar si es
cada iteración a través del bucle. si se utiliza la sentencia de salto ir_a, por lo que nacci definida por: primo o compuesto.
5. La sintaxis de la sentencia mientras es: no es recomendable su uso, excepto en situacio-

nes excepcionales.
La reso
siderabl
ños (sul
REFERENCIAS BIBLIOGRAFIGAS
mas se

JERCIGI program
ver- DIJKSTRA, E. W.: "Goto Statement Considered Harmful", Communications of the ACM, vol. 11, núm. 3, marzo plejos u

será 1968, 147-148, 538, 541. en los


5.1. Determinar la media de una lista indefinida de 5.5. Imprimir todos los números primos entre 2 y
cias 1000.
KNUTH, D. E.: "Structured Programming with goto Statements", Computing Surveys, vol. 6, núm. 4, diciembre progran
números positivos, terminados con número
ndi-
un
1974, 261. cedimie
negativo. 5.6. Se desea leer las calificaciones de una clase de
dades d
5.2. Dado el nombre de un mes y si el año es o no informática y contar el número total de aproba- para eje
'as, bisiesto, deducir el número de días del mes. dos (5 o mayor que 5). y proce
ide.
5.3. Sumar los números enteros del 1 a 100 median- 5.7. Leer las notas de una clase de informática v pero pu
itro-
te: a) estructura repet ir, b) estructura mtentras; deducir todas aquellas que son NOTABLES (>= de un pi
de
c) estructura desde. 7 y<9). plicaciór
rin-
: sea 5.4. Determinar la media de una lista de números 5.8. Leer 100 números. Determinar la media de los
la al positivos terminada con un número no positivo números positivos y la media de los números
icio- después del último número válido. negativos.

También podría gustarte