SlideShare una empresa de Scribd logo
Cobertura de Bucles
Bucles Simples
Bucles Anidados
Bucles Concatenados
Bucles No Estructurados
Ejercicios

Cobertura de Bucles
´
Andres Felipe Cano Cadavid acanocad@gmail.com
´
Tecnologico de Antioquia

23 de Septiembre del 2013

´
Andres Felipe Cano Cadavid acanocad@gmail.com

Cobertura de Bucles
Cobertura de Bucles
Bucles Simples
Bucles Anidados
Bucles Concatenados
Bucles No Estructurados
Ejercicios

Cobertura de Bucles

Se centra exclusivamente en la validez de las construcciones de bucles:
Simples
Anidados
Concatenados
No Estructurados

´
Andres Felipe Cano Cadavid acanocad@gmail.com

Cobertura de Bucles
Cobertura de Bucles
Bucles Simples
Bucles Anidados
Bucles Concatenados
Bucles No Estructurados
Ejercicios

Ejemplos

Bucles Simples

Se les aplica el siguiente conjunto de pruebas:
Pasar por alto totalmente el bucle.
Pasar una sola vez por el bucle.
Pasar dos veces por el bucle.
´
Hacer m pasos por el bucle con m < n (donde n es el numero
´
maximo de pasos permitidos por el bucle).
Hacer n − 1, n y n + 1 pasos por el bucle.

´
Andres Felipe Cano Cadavid acanocad@gmail.com

Cobertura de Bucles
Cobertura de Bucles
Bucles Simples
Bucles Anidados
Bucles Concatenados
Bucles No Estructurados
Ejercicios

Ejemplos

Ejemplo

Algorithm 1 ejemplo1(x, y)
1: while (x < 100 and x > 0) do
2:
x = x − 10
3: end while
4: if (y < 20 and x %2 = 0 then
5:
y = y + 20
6: else
7:
y = y − 20
8: end if
9: return 2 ∗ x + y

´
Andres Felipe Cano Cadavid acanocad@gmail.com

Cobertura de Bucles
Cobertura de Bucles
Bucles Simples
Bucles Anidados
Bucles Concatenados
Bucles No Estructurados
Ejercicios

Ejemplos

Ejemplo

Algorithm 2 divisores(n)
1: nro = 1
2: while (nro <= n /2) do
3:
if (n %nro == 0) then
4:
Escribir nro
5:
end if
6:
nro = nro + 1
7: end while

´
Andres Felipe Cano Cadavid acanocad@gmail.com

Cobertura de Bucles
Cobertura de Bucles
Bucles Simples
Bucles Anidados
Bucles Concatenados
Bucles No Estructurados
Ejercicios

Ejemplos

Bucles Anidados
Si se empleara el mismo enfoque de prueba de bucles simples a los
´
bucles anidados, el numero de pruebas aumentar´a considerablemente
ı
por lo cual se sugiere emplear el siguiente enfoque:
´
Comenzar por el bucle mas interior. Establecer o configurar los
´
demas bucles con sus valores m´nimos.
ı
´
Llevar a cabo las pruebas de bucles simples para el bucle mas
´
´
interior, mientras se mantienen los parametros de iteracion de los
˜
bucles externos en sus valores m´nimos. Anadir otras pruebas para
ı
valores fuera de rango o excluidos.
Progresar hacia fuera, llevando a cabo pruebas para el siguiente
bucle, pero manteniendo todos los bucles externos en sus valores
´
m´nimos y los demas bucles anidados en sus valores t´picos.
ı
ı
Continuar hasta que se hayan probado todos los bucles.
´
Andres Felipe Cano Cadavid acanocad@gmail.com

Cobertura de Bucles
Cobertura de Bucles
Bucles Simples
Bucles Anidados
Bucles Concatenados
Bucles No Estructurados
Ejercicios

Ejemplos

Ejemplo
Algorithm 3 ejemplo2(A , n, m)
1: if (n < 10 and m < 20) then
2:
suma = 0
3:
i=1
4:
while (i ≤ n) do
5:
j=1
6:
while j ≤ m do
7:
suma = suma + A [i ][j ]
8:
j =j+1
9:
end while
10:
i =i+1
11:
end while
12:
return suma /(n ∗ m)
13: end if
´
Andres Felipe Cano Cadavid acanocad@gmail.com

Cobertura de Bucles
Cobertura de Bucles
Bucles Simples
Bucles Anidados
Bucles Concatenados
Bucles No Estructurados
Ejercicios

Ejemplos

Bucles Concatenados

Estos bucles se pueden probar utilizando el enfoque de bucles simples,
siempre y cuando cada uno de los bucles sea independiente del resto de
lo contrario se debe emplear el enfoque de bucles anidados.

´
Andres Felipe Cano Cadavid acanocad@gmail.com

Cobertura de Bucles
Cobertura de Bucles
Bucles Simples
Bucles Anidados
Bucles Concatenados
Bucles No Estructurados
Ejercicios

Ejemplos

Ejemplo
Algorithm 4 ejemplo(A , n)
1: menor = A [n ]
2: distancia = 0
3: i = n − 1
4: while (i > 0) do
5:
if menor > A [i ] then
6:
menor = A [i ]
7:
end if
8:
i =i−1
9: end while
10: i = n
11: while (i > 0) do
12:
distancia = A [i ] − menor
13:
i =i−1
14: end while
Andres distancia
15: return´ Felipe Cano Cadavid acanocad@gmail.com

Cobertura de Bucles
Cobertura de Bucles
Bucles Simples
Bucles Anidados
Bucles Concatenados
Bucles No Estructurados
Ejercicios

Bucles No Estructurados

´
˜
Siempre que sea posible estos bucles deben redisenarse.

´
Andres Felipe Cano Cadavid acanocad@gmail.com

Cobertura de Bucles
Cobertura de Bucles
Bucles Simples
Bucles Anidados
Bucles Concatenados
Bucles No Estructurados
Ejercicios

Pares

Algorithm 5 pares(x)
1: i = 2
2: while (i <= x) do
3:
Escribir i
4:
i =i+2
5: end while

´
Andres Felipe Cano Cadavid acanocad@gmail.com

Cobertura de Bucles
Cobertura de Bucles
Bucles Simples
Bucles Anidados
Bucles Concatenados
Bucles No Estructurados
Ejercicios

Palindromo
Algorithm 6 palindromo(palabra)
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:

n = length (palabra )
if (n > 20) then
Escribir ’Palabra muy larga’
else
if (n == 0) then
Escribir ’No es una palabra’
else
i=1
palabra2 =
while (i <= n) do
palabra2 = palabra [i ]
i =i+1
end while
if (palabra = palabra2) then
Escribir ’Es palindromo’
end if
end if
end if
´
Andres Felipe Cano Cadavid acanocad@gmail.com

Cobertura de Bucles
Cobertura de Bucles
Bucles Simples
Bucles Anidados
Bucles Concatenados
Bucles No Estructurados
Ejercicios

Levenshtein
Algorithm 7 levenshtein(palabra1, palabra2)
1: n1 = length (palabra1)
2: n2 = length (palabra2)
3: if (n1 > 50 or n1 == 0 or n2 > 50 or n2 == 0) then
4:
Escribir ’Palabras no validas’
5: else
6:
i=1
7:
while (i <= n1 ) do
8:
distancia [i ][1] = i
9:
i =i+1
10:
end while
11:
j=1
12:
while (i <= n2 ) do
13:
distancia [1][j ] = j
14:
j =j+1
15:
end while
16:
i=2
17:
while (i <= n1 ) do
18:
j=2
19:
while (j <= n2 ) do
20:
distancia [i ][j ] = min(distancia [i − 1][j ]+ 1, distancia [i ][j − 1]+ 1, distancia [i − 1][j − 1]+((palabra1[i − 1] == palabra2[j − 1])?0 :
1))

21:
22:
23:
24:

end while
end while
end if
return distancia
´
Andres Felipe Cano Cadavid acanocad@gmail.com

Cobertura de Bucles

Más contenido relacionado

La actualidad más candente

Pruebas unitarias
Pruebas unitariasPruebas unitarias
Pruebas unitarias
Jose Luis Rodriguez Roldan
 
Metodologias xp
Metodologias xpMetodologias xp
Metodologias xp
ElvisAR
 
Evolucion de la Ingenieria de Software
Evolucion de la Ingenieria de SoftwareEvolucion de la Ingenieria de Software
Evolucion de la Ingenieria de Software
Marvin Romero
 
PSW Unidad 3: Implementación y seguridad del proceso de software
PSW Unidad 3: Implementación y seguridad del proceso de softwarePSW Unidad 3: Implementación y seguridad del proceso de software
PSW Unidad 3: Implementación y seguridad del proceso de software
Franklin Parrales Bravo
 
Capitulo 17 estrategias_de_prueba_de_software
Capitulo 17 estrategias_de_prueba_de_softwareCapitulo 17 estrategias_de_prueba_de_software
Capitulo 17 estrategias_de_prueba_de_software
Andres Valencia
 
Algoritmos de busqueda - hash truncamiento
Algoritmos de busqueda - hash truncamientoAlgoritmos de busqueda - hash truncamiento
Algoritmos de busqueda - hash truncamiento
Lutzo Guzmán
 
Tutorial de JFLAP
Tutorial de JFLAPTutorial de JFLAP
Tutorial de JFLAP
Sara Martínez Gómez
 
MOD Unidad 3: Modelado y verificación formal
MOD Unidad 3: Modelado y verificación formalMOD Unidad 3: Modelado y verificación formal
MOD Unidad 3: Modelado y verificación formal
Franklin Parrales Bravo
 
Algoritmos de ordenamiento externo sobre archivos
Algoritmos de ordenamiento externo sobre archivosAlgoritmos de ordenamiento externo sobre archivos
Algoritmos de ordenamiento externo sobre archivos
Daniel Gomez Jaramillo
 
Ingenieria de requisitos
Ingenieria de requisitosIngenieria de requisitos
Ingenieria de requisitos
Joamarbet
 
Tecnicas de ingenieria de software
Tecnicas de ingenieria de softwareTecnicas de ingenieria de software
Tecnicas de ingenieria de software'Jorge Martinez
 
Estimación Software por Puntos de Función
Estimación Software por Puntos de FunciónEstimación Software por Puntos de Función
Estimación Software por Puntos de Función
Fundación Universitaria Konrad Lorenz
 
Aplicación de Extreme Programming
Aplicación de Extreme ProgrammingAplicación de Extreme Programming
Aplicación de Extreme Programming
Patricio Bevaqua
 
Método de Vuelta Atrás (Backtracking)
Método de Vuelta Atrás (Backtracking)Método de Vuelta Atrás (Backtracking)
Método de Vuelta Atrás (Backtracking)
Alejandro Salas Ledezma
 
Pruebas de software
Pruebas de softwarePruebas de software
Pruebas de software
Edison Morales
 
DB1 Unidad 6: Indices
DB1 Unidad 6: IndicesDB1 Unidad 6: Indices
DB1 Unidad 6: Indices
Franklin Parrales Bravo
 

La actualidad más candente (20)

Pruebas unitarias
Pruebas unitariasPruebas unitarias
Pruebas unitarias
 
Metodologias xp
Metodologias xpMetodologias xp
Metodologias xp
 
Evolucion de la Ingenieria de Software
Evolucion de la Ingenieria de SoftwareEvolucion de la Ingenieria de Software
Evolucion de la Ingenieria de Software
 
PSW Unidad 3: Implementación y seguridad del proceso de software
PSW Unidad 3: Implementación y seguridad del proceso de softwarePSW Unidad 3: Implementación y seguridad del proceso de software
PSW Unidad 3: Implementación y seguridad del proceso de software
 
Capitulo 17 estrategias_de_prueba_de_software
Capitulo 17 estrategias_de_prueba_de_softwareCapitulo 17 estrategias_de_prueba_de_software
Capitulo 17 estrategias_de_prueba_de_software
 
Decompiladores
DecompiladoresDecompiladores
Decompiladores
 
pruebas de cajas blanca
 pruebas de cajas blanca pruebas de cajas blanca
pruebas de cajas blanca
 
Algoritmos de busqueda - hash truncamiento
Algoritmos de busqueda - hash truncamientoAlgoritmos de busqueda - hash truncamiento
Algoritmos de busqueda - hash truncamiento
 
Tutorial de JFLAP
Tutorial de JFLAPTutorial de JFLAP
Tutorial de JFLAP
 
MOD Unidad 3: Modelado y verificación formal
MOD Unidad 3: Modelado y verificación formalMOD Unidad 3: Modelado y verificación formal
MOD Unidad 3: Modelado y verificación formal
 
Modelo TSP
Modelo TSPModelo TSP
Modelo TSP
 
Algoritmos de ordenamiento externo sobre archivos
Algoritmos de ordenamiento externo sobre archivosAlgoritmos de ordenamiento externo sobre archivos
Algoritmos de ordenamiento externo sobre archivos
 
Ingenieria de requisitos
Ingenieria de requisitosIngenieria de requisitos
Ingenieria de requisitos
 
Algoritmos divide y vencerás
Algoritmos divide y vencerásAlgoritmos divide y vencerás
Algoritmos divide y vencerás
 
Tecnicas de ingenieria de software
Tecnicas de ingenieria de softwareTecnicas de ingenieria de software
Tecnicas de ingenieria de software
 
Estimación Software por Puntos de Función
Estimación Software por Puntos de FunciónEstimación Software por Puntos de Función
Estimación Software por Puntos de Función
 
Aplicación de Extreme Programming
Aplicación de Extreme ProgrammingAplicación de Extreme Programming
Aplicación de Extreme Programming
 
Método de Vuelta Atrás (Backtracking)
Método de Vuelta Atrás (Backtracking)Método de Vuelta Atrás (Backtracking)
Método de Vuelta Atrás (Backtracking)
 
Pruebas de software
Pruebas de softwarePruebas de software
Pruebas de software
 
DB1 Unidad 6: Indices
DB1 Unidad 6: IndicesDB1 Unidad 6: Indices
DB1 Unidad 6: Indices
 

Destacado

Presentado por k
Presentado por kPresentado por k
Presentado por k
kewiths
 
Google Drive Ensayo TIC´S (Equipo Soft Os)
Google Drive Ensayo TIC´S (Equipo Soft Os)Google Drive Ensayo TIC´S (Equipo Soft Os)
Google Drive Ensayo TIC´S (Equipo Soft Os)
hectrush
 
Presentacion..amb.de aprendizaje
Presentacion..amb.de aprendizajePresentacion..amb.de aprendizaje
Presentacion..amb.de aprendizaje
negro2762
 
Psicología de la Memoria. UD3: La función de la memoria en la cognición. Memo...
Psicología de la Memoria. UD3: La función de la memoria en la cognición. Memo...Psicología de la Memoria. UD3: La función de la memoria en la cognición. Memo...
Psicología de la Memoria. UD3: La función de la memoria en la cognición. Memo...
Manuel Sebastián
 
Unidad2 Bases De Datos Para L Toma De Desiciones
Unidad2 Bases De Datos Para L Toma De DesicionesUnidad2 Bases De Datos Para L Toma De Desiciones
Unidad2 Bases De Datos Para L Toma De Desiciones
Deysi Hdz
 
Toma de decisiones
Toma de decisionesToma de decisiones
Toma de decisiones
Jaazmin Cruz
 
Primer tema anita woolfolk.
Primer tema anita woolfolk.Primer tema anita woolfolk.
Primer tema anita woolfolk.
David Castillo
 
Capítulo 7 perpectivas cognoscitivas del aprendizaje
Capítulo 7  perpectivas cognoscitivas del aprendizajeCapítulo 7  perpectivas cognoscitivas del aprendizaje
Capítulo 7 perpectivas cognoscitivas del aprendizajeTatiana Murillo Vela
 
Teoría conductista del aprendizaje
Teoría conductista del aprendizajeTeoría conductista del aprendizaje
Teoría conductista del aprendizaje
Elena Gonzalez
 

Destacado (20)

Triggers
TriggersTriggers
Triggers
 
Tecnicas de Agrupamiento
Tecnicas de AgrupamientoTecnicas de Agrupamiento
Tecnicas de Agrupamiento
 
tipos de prueba
tipos de pruebatipos de prueba
tipos de prueba
 
cobertura de caminos
cobertura de caminoscobertura de caminos
cobertura de caminos
 
Programación dinámica
Programación dinámica Programación dinámica
Programación dinámica
 
La Motivacion
 La Motivacion La Motivacion
La Motivacion
 
Presentado por k
Presentado por kPresentado por k
Presentado por k
 
La motivación tipos (1)
La motivación tipos (1)La motivación tipos (1)
La motivación tipos (1)
 
Pruebas de penetración nmap
Pruebas de penetración nmapPruebas de penetración nmap
Pruebas de penetración nmap
 
Google Drive Ensayo TIC´S (Equipo Soft Os)
Google Drive Ensayo TIC´S (Equipo Soft Os)Google Drive Ensayo TIC´S (Equipo Soft Os)
Google Drive Ensayo TIC´S (Equipo Soft Os)
 
Bases de datos para la toma de decisiones
Bases de datos para la toma de decisionesBases de datos para la toma de decisiones
Bases de datos para la toma de decisiones
 
Métodos de switching
Métodos de switching Métodos de switching
Métodos de switching
 
Presentacion..amb.de aprendizaje
Presentacion..amb.de aprendizajePresentacion..amb.de aprendizaje
Presentacion..amb.de aprendizaje
 
Psicología de la Memoria. UD3: La función de la memoria en la cognición. Memo...
Psicología de la Memoria. UD3: La función de la memoria en la cognición. Memo...Psicología de la Memoria. UD3: La función de la memoria en la cognición. Memo...
Psicología de la Memoria. UD3: La función de la memoria en la cognición. Memo...
 
Unidad2 Bases De Datos Para L Toma De Desiciones
Unidad2 Bases De Datos Para L Toma De DesicionesUnidad2 Bases De Datos Para L Toma De Desiciones
Unidad2 Bases De Datos Para L Toma De Desiciones
 
Toma de decisiones
Toma de decisionesToma de decisiones
Toma de decisiones
 
Primer tema anita woolfolk.
Primer tema anita woolfolk.Primer tema anita woolfolk.
Primer tema anita woolfolk.
 
Capítulo 7 perpectivas cognoscitivas del aprendizaje
Capítulo 7  perpectivas cognoscitivas del aprendizajeCapítulo 7  perpectivas cognoscitivas del aprendizaje
Capítulo 7 perpectivas cognoscitivas del aprendizaje
 
Teoría conductista del aprendizaje
Teoría conductista del aprendizajeTeoría conductista del aprendizaje
Teoría conductista del aprendizaje
 
La Memoria
La MemoriaLa Memoria
La Memoria
 

Más de Juan Esteban Puerta Cano (17)

Portafolio Telematica
Portafolio TelematicaPortafolio Telematica
Portafolio Telematica
 
Formato presentacion de propuesta Bases de datos avanzadas
Formato presentacion de propuesta Bases de datos avanzadasFormato presentacion de propuesta Bases de datos avanzadas
Formato presentacion de propuesta Bases de datos avanzadas
 
Minero de Datos
Minero de DatosMinero de Datos
Minero de Datos
 
Tecnicas de Diseño de Algoritmos
Tecnicas de Diseño de AlgoritmosTecnicas de Diseño de Algoritmos
Tecnicas de Diseño de Algoritmos
 
Capa de presentacion
Capa de presentacionCapa de presentacion
Capa de presentacion
 
Bi conceptos
Bi conceptosBi conceptos
Bi conceptos
 
Migracion de datos
Migracion de datosMigracion de datos
Migracion de datos
 
Adsl 2
Adsl 2Adsl 2
Adsl 2
 
Trabajo red telematica
Trabajo red telematicaTrabajo red telematica
Trabajo red telematica
 
Programación dinámica
Programación dinámicaProgramación dinámica
Programación dinámica
 
7 técnicas estáticas
7   técnicas estáticas7   técnicas estáticas
7 técnicas estáticas
 
técnicas estáticas
técnicas estáticastécnicas estáticas
técnicas estáticas
 
Exposicion metodos de recoleccion de requerimientos final
Exposicion metodos de recoleccion de requerimientos finalExposicion metodos de recoleccion de requerimientos final
Exposicion metodos de recoleccion de requerimientos final
 
planificación de pruebas
  planificación de pruebas  planificación de pruebas
planificación de pruebas
 
niveles de prueba
niveles de pruebaniveles de prueba
niveles de prueba
 
proceso de pruebas
proceso de pruebasproceso de pruebas
proceso de pruebas
 
Introducción Pruebas Software
Introducción Pruebas SoftwareIntroducción Pruebas Software
Introducción Pruebas Software
 

cobertura de bucles

  • 1. Cobertura de Bucles Bucles Simples Bucles Anidados Bucles Concatenados Bucles No Estructurados Ejercicios Cobertura de Bucles ´ Andres Felipe Cano Cadavid acanocad@gmail.com ´ Tecnologico de Antioquia 23 de Septiembre del 2013 ´ Andres Felipe Cano Cadavid acanocad@gmail.com Cobertura de Bucles
  • 2. Cobertura de Bucles Bucles Simples Bucles Anidados Bucles Concatenados Bucles No Estructurados Ejercicios Cobertura de Bucles Se centra exclusivamente en la validez de las construcciones de bucles: Simples Anidados Concatenados No Estructurados ´ Andres Felipe Cano Cadavid acanocad@gmail.com Cobertura de Bucles
  • 3. Cobertura de Bucles Bucles Simples Bucles Anidados Bucles Concatenados Bucles No Estructurados Ejercicios Ejemplos Bucles Simples Se les aplica el siguiente conjunto de pruebas: Pasar por alto totalmente el bucle. Pasar una sola vez por el bucle. Pasar dos veces por el bucle. ´ Hacer m pasos por el bucle con m < n (donde n es el numero ´ maximo de pasos permitidos por el bucle). Hacer n − 1, n y n + 1 pasos por el bucle. ´ Andres Felipe Cano Cadavid acanocad@gmail.com Cobertura de Bucles
  • 4. Cobertura de Bucles Bucles Simples Bucles Anidados Bucles Concatenados Bucles No Estructurados Ejercicios Ejemplos Ejemplo Algorithm 1 ejemplo1(x, y) 1: while (x < 100 and x > 0) do 2: x = x − 10 3: end while 4: if (y < 20 and x %2 = 0 then 5: y = y + 20 6: else 7: y = y − 20 8: end if 9: return 2 ∗ x + y ´ Andres Felipe Cano Cadavid acanocad@gmail.com Cobertura de Bucles
  • 5. Cobertura de Bucles Bucles Simples Bucles Anidados Bucles Concatenados Bucles No Estructurados Ejercicios Ejemplos Ejemplo Algorithm 2 divisores(n) 1: nro = 1 2: while (nro <= n /2) do 3: if (n %nro == 0) then 4: Escribir nro 5: end if 6: nro = nro + 1 7: end while ´ Andres Felipe Cano Cadavid acanocad@gmail.com Cobertura de Bucles
  • 6. Cobertura de Bucles Bucles Simples Bucles Anidados Bucles Concatenados Bucles No Estructurados Ejercicios Ejemplos Bucles Anidados Si se empleara el mismo enfoque de prueba de bucles simples a los ´ bucles anidados, el numero de pruebas aumentar´a considerablemente ı por lo cual se sugiere emplear el siguiente enfoque: ´ Comenzar por el bucle mas interior. Establecer o configurar los ´ demas bucles con sus valores m´nimos. ı ´ Llevar a cabo las pruebas de bucles simples para el bucle mas ´ ´ interior, mientras se mantienen los parametros de iteracion de los ˜ bucles externos en sus valores m´nimos. Anadir otras pruebas para ı valores fuera de rango o excluidos. Progresar hacia fuera, llevando a cabo pruebas para el siguiente bucle, pero manteniendo todos los bucles externos en sus valores ´ m´nimos y los demas bucles anidados en sus valores t´picos. ı ı Continuar hasta que se hayan probado todos los bucles. ´ Andres Felipe Cano Cadavid acanocad@gmail.com Cobertura de Bucles
  • 7. Cobertura de Bucles Bucles Simples Bucles Anidados Bucles Concatenados Bucles No Estructurados Ejercicios Ejemplos Ejemplo Algorithm 3 ejemplo2(A , n, m) 1: if (n < 10 and m < 20) then 2: suma = 0 3: i=1 4: while (i ≤ n) do 5: j=1 6: while j ≤ m do 7: suma = suma + A [i ][j ] 8: j =j+1 9: end while 10: i =i+1 11: end while 12: return suma /(n ∗ m) 13: end if ´ Andres Felipe Cano Cadavid acanocad@gmail.com Cobertura de Bucles
  • 8. Cobertura de Bucles Bucles Simples Bucles Anidados Bucles Concatenados Bucles No Estructurados Ejercicios Ejemplos Bucles Concatenados Estos bucles se pueden probar utilizando el enfoque de bucles simples, siempre y cuando cada uno de los bucles sea independiente del resto de lo contrario se debe emplear el enfoque de bucles anidados. ´ Andres Felipe Cano Cadavid acanocad@gmail.com Cobertura de Bucles
  • 9. Cobertura de Bucles Bucles Simples Bucles Anidados Bucles Concatenados Bucles No Estructurados Ejercicios Ejemplos Ejemplo Algorithm 4 ejemplo(A , n) 1: menor = A [n ] 2: distancia = 0 3: i = n − 1 4: while (i > 0) do 5: if menor > A [i ] then 6: menor = A [i ] 7: end if 8: i =i−1 9: end while 10: i = n 11: while (i > 0) do 12: distancia = A [i ] − menor 13: i =i−1 14: end while Andres distancia 15: return´ Felipe Cano Cadavid acanocad@gmail.com Cobertura de Bucles
  • 10. Cobertura de Bucles Bucles Simples Bucles Anidados Bucles Concatenados Bucles No Estructurados Ejercicios Bucles No Estructurados ´ ˜ Siempre que sea posible estos bucles deben redisenarse. ´ Andres Felipe Cano Cadavid acanocad@gmail.com Cobertura de Bucles
  • 11. Cobertura de Bucles Bucles Simples Bucles Anidados Bucles Concatenados Bucles No Estructurados Ejercicios Pares Algorithm 5 pares(x) 1: i = 2 2: while (i <= x) do 3: Escribir i 4: i =i+2 5: end while ´ Andres Felipe Cano Cadavid acanocad@gmail.com Cobertura de Bucles
  • 12. Cobertura de Bucles Bucles Simples Bucles Anidados Bucles Concatenados Bucles No Estructurados Ejercicios Palindromo Algorithm 6 palindromo(palabra) 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: n = length (palabra ) if (n > 20) then Escribir ’Palabra muy larga’ else if (n == 0) then Escribir ’No es una palabra’ else i=1 palabra2 = while (i <= n) do palabra2 = palabra [i ] i =i+1 end while if (palabra = palabra2) then Escribir ’Es palindromo’ end if end if end if ´ Andres Felipe Cano Cadavid acanocad@gmail.com Cobertura de Bucles
  • 13. Cobertura de Bucles Bucles Simples Bucles Anidados Bucles Concatenados Bucles No Estructurados Ejercicios Levenshtein Algorithm 7 levenshtein(palabra1, palabra2) 1: n1 = length (palabra1) 2: n2 = length (palabra2) 3: if (n1 > 50 or n1 == 0 or n2 > 50 or n2 == 0) then 4: Escribir ’Palabras no validas’ 5: else 6: i=1 7: while (i <= n1 ) do 8: distancia [i ][1] = i 9: i =i+1 10: end while 11: j=1 12: while (i <= n2 ) do 13: distancia [1][j ] = j 14: j =j+1 15: end while 16: i=2 17: while (i <= n1 ) do 18: j=2 19: while (j <= n2 ) do 20: distancia [i ][j ] = min(distancia [i − 1][j ]+ 1, distancia [i ][j − 1]+ 1, distancia [i − 1][j − 1]+((palabra1[i − 1] == palabra2[j − 1])?0 : 1)) 21: 22: 23: 24: end while end while end if return distancia ´ Andres Felipe Cano Cadavid acanocad@gmail.com Cobertura de Bucles