Inv-Estruc-Repetición U3

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 13

Instituto Tecnológico de Estudios

Superiores de Los Cabos

Nombre de la Carrera (Ing. Electromecánica)

“Investigación de Estructuras de Repetición”

Asignatura: Introducción a la Programación


Docente: Esteban Castro Aragón
Grupo: 1IE-01V

Estudiante(s): Brian Adair Delgadillo Perez


Número de control: 22380311

Los Cabos, B.C.S., FECHA 21/10/2022


Estructuras de
Repetición
Índice
Introducción..............................................................................................3
Desarrollo...................................................................................................4-10
Estructura While........................................................................................4-6
Estructura Do While..................................................................................7-8
Estructura For............................................................................................9-10
Conclusión...................................................................................................11
Bibliografía..................................................................................................12
Introducción.

Las estructuras de repetición son las llamadas estructuras cíclicas, iterativas o de bucles.

permiten ejecutar un conjunto de instrucciones de manera repetida (o cíclica) mientras


que la expresión lógica a evaluarse cumpla (sea verdadera).

el lenguaje C existen 3 estructuras de repetición while, do-while y for. las estructuras


while y do-while con estructuras repetitivas de propósito general.

estructura de repetición for se utiliza, principalmente, para recorrer arreglos y, por


tanto, se programará en la siguiente práctica.
Desarrollo.
Estructura repetitiva MIENTRAS o while: En C la sentencia while (condición o expresión)
instrucciones; es seguramente la más utilizada. La sentencia, o grupo de sentencias o
instrucciones se ejecutan mientras la evaluación de la expresión sea verdadera.

En un bucle WHILE, un bloque de sentencias se ejecuta un número indefinido de veces,


hasta que se satisface alguna condición establecida por el usuario, o dicho de otro modo,
hasta que una cierta expresión lógica toma el valor .TRUE..

La estructura repetitiva (o iterativa) while primero válida la expresión lógica y siesta se


cumple (es verdadero) procede a ejecutar el bloque de instrucciones de la estructura, el
cual está delimitado por las llaves {}. la condición no se cumple se continúa el flujo
normal del programa sin ejecutar el bloque de la estructura, es decir, el bloque se puede
ejecutar de cero a n veces.

La sintaxis general de esta estructura es:

DO

sentencia_1

[sentencia_2]

IF (expresión_lógica) EXIT

sentencia_3

[sentencia_4]

END DO

Si el bloque de código a repetir consta de una sola sentencia, entonces se pueden omitir
las llaves.

Un bucle WHILE puede contener varias sentencias EXIT, generalmente, formando parte
una sentencia IF o bloque IF. Sin embargo, no conviene usar más de uno por bucle
WHILE, en aras de construir programas bien estructurados. De esta manera, cada bucle
WHILE tendrá un único punto de entrada, la sentencia DO, y un único punto de salida,
la sentencia EXIT.

• Precauciones: si expresión lógica nunca se hace cierta, estaremos en un bucle infinito.

• Ejemplos de bucles WHILE


EJEMPLO 1:

Imprimir en pantalla la palabra “Hola”, mientras se presione en número 1.

#include <stdio.h>

main()

int num;

printf ("Ingrese un numero: ");

scanf("%d",&num);

while (num == 1)

printf ("\n Hola\n\n");

printf ("Ingrese otro numero: ");

scanf("%d",&num);

system("PAUSE");

return 0;

}
Ejemplo2:

i=1

DO

IF (i>10) EXIT

WRITE (*,*) ‘HOLA’

i=i+1

END DO

• Sumar los pares de 2 a 10 sin leer datos.

i=2

acum=0

DO

IF (i>10) EXIT

acum=acum+i

i=i+2

END DO

WRITE (*,*) acum

Leer por teclado un número entre 0 y 10, ambos límites incluidos. El usuario puede
equivocarse, en cuyo caso el programa le dará tantas posibilidades como necesite
(indefinidas veces) hasta conseguir que el número introducido esté en el rango dado.
Entonces, el programa muestra cuantos intentos ha usado.

INTEGER :: num,cont=0

DO WRITE (*,*)

WRITE (*,*) "Dame un numero de 0 a 10"

READ (*,*) num

cont=cont+1

IF (num>=0.AND.num<=10) EXIT

WRITE (*,*) "Has tecleado",num

WRITE (*,*) "El numero debe estar entre 0 y 10"

WRITE (*,*) "Vuelve a intentarlo"

END DO
WRITE (*,*) "*****ENHORABUENA*****"

WRITE (*,*) "lo conseguistes en",cont,"veces"

Estructura repetitiva HACER MIENTRAS o do while: Una variación de la sentencia while


es: do instrucciones while (condición o expresión); En ella la sentencia se ejecuta al
menos una vez, antes de que se evalúe la expresión condicional.

Esta estructura funciona de la siguiente manera:

• si expresión lógica es cierta se ejecuta el cuerpo del bucle y el control vuelve a la


sentencia DO WHILE.

• si expresión_lógica es cierta aún, se ejecuta otra vez el cuerpo del bucle y el control
vuelve a la sentencia DO WHILE.

• El proceso anterior se repite hasta que expresión_lógica se hace falsa, en cuyo caso el
control pasa a ejecutar la primera sentencia siguiente a END DO.

• El bucle DO WHILE es un caso especial del bucle WHILE, en el que el testeo de salida
ocurre siempre en el cabecero del bucle.

Su sintaxis general es:

DO WHILE (expresión_lógica)

sentencia_1

[sentencia_2] Cuerpo

END DO

Si el bloque de código a repetir consta de una sola sentencia, entonces se pueden omitir
las llaves. esta estructura de control es la única que termina con el signo de puntuación
´;´.

Ejemplos de bucles DO WHILE:

Ejemplo1:

#include <stdio.h>

/* la función main comienza la ejecución del programa */ int main()

int contador = 1; /* inicializa el contador */

do {
printf( "%d ", contador ); /* despliega el contador */

} while ( ++contador <= 10 ); /* fin del do...while */

return 0; /* indica la terminación exitosa del programa */

} /* fin de la función main */

Ejemplo2:

i=1

DO WHILE (i<=10)

WRITE (*,*) ‘HOLA’

i=i+1

END DO

• Sumar los pares de 2 a 10 sin leer datos.

i=2

acum=0

DO WHILE (i<=10)

acum=acum+i

i=i+2

END DO

WRITE (*,*) acum

Leer por teclado un número entre 0 y 10, ambos límites incluidos. Cerciorarse de que el
número está en el rango dado sin limitar el número de intentos. Mostrar cuantos
intentos ha necesitado el usuario.

INTEGER :: num,cont=1

WRITE (*,*) “Dame un numero de 0 a 10”

READ (*,*) num

DO WHILE (num<0.OR.num>10)

WRITE (*,*) "Has tecleado",num

WRITE (*,*) "El numero debe estar entre 0 y 10"

WRITE (*,*) “Vuelve a intentarlo”


WRITE (*,*) “Dame un numero de 0 a 10”

READ (*,*) num

cont=cont+1

END DO

WRITE (*,*) “*****ENHORABUENA*****”

WRITE (*,*) “lo conseguistes en”,cont,”veces”

Estructura repetitiva for

Una estructura repetitiva o bucle se utiliza cuando se quiere repetir un conjunto de


sentencias un número determinado de veces o mientras se mantenga el cumplimiento de
una condición.

El bucle for utiliza la primera opción usando una variable numérica capaz de controlar
el número de iteraciones. Esta variable es conocida como variable de control.

Su sintaxis es la siguiente:

for variable = inicio:fin

Sentencias

End

La utilización del operador (:) en la cabecera del bucle es la conocida hasta el momento.
La variable de la cabecera va tomando sucesivamente cada uno de los valores asignados
(no es un vector), y para cada uno de ellos se repiten las sentencias asociadas al bucle.
En el caso anterior el incremento de la variable que controla el bucle es 1. Para
incrementos distintos se debe utilizar:

for variable = inicio:incremento:fin

Sentencias

End

También puede darse a la variable una sucesión de valores cualesquiera, sin necesidad de
utilizar el operador (:). La variable que controla el bucle irá tomando cada uno de los
valores indicados efectuando para cada uno una iteración.

for variable=[valor1,valor2,valor3,……]

Sentencias
Ejemplos de bucles for:

Ejemplo1: En el siguiente programa se inicializan al valor 1 las n primeras componentes


de un vector.

n=input('Introduce un número natural');

for i=1:n

v(i)=1;

End

Ejemplo2: En el siguiente programa se crea la matriz de Hilbert de tamaño mxn.

m=input('Introduce el número de filas');

m=input('Introduce el número de columnas');

for i=1:m

for j=1:n

A(i,j)=1/(i+j-1);

end end

Ejemplo3: El siguiente programa pide por teclado cada elemento de una matriz 4x3 con
un mensaje adecuado a cada uno.

for i=1:4

for j=1

fprintf('Elemento [%d,%d]\n',i,j);

A(i,j)=input('Introduce dato');

end end
Conclusión.

La programación estructurada es una teoría orientada a mejorar la claridad, calidad y


tiempo de desarrollo utilizando únicamente subrutinas o funciones.

Las ventajas de la programación serían:

• Los programas quedan mejor documentados internamente.


• Los programas son más fáciles de entender. Un programa estructurado puede ser
leído en secuencia, de arriba hacia abajo, sin necesidad de estar saltando de un
sitio a otro en la lógica, lo cual es típico de otros estilos de programación. La
estructura del programa es más clara puesto que las instrucciones están más
ligadas o relacionadas entre sí, por lo que es más fácil comprender lo que hace
cada función.
• Aumento de la productividad del programador.
• Se facilita la utilización de las otras técnicas para el mejoramiento de la
productividad en programación.
• Reducción de los costos de mantenimiento.
• Reducción del esfuerzo en las pruebas. El programa se puede tener listo para
producción normal en un tiempo menor del tradicional; por otro lado, el
seguimiento de las fallas ("debugging") se facilita debido a la lógica más visible, de
tal forma que los errores se pueden detectar y corregir más fácilmente.
• Programas más sencillos y más rápidos.
Bibliografía.
El lenguaje de la programación C. Brian W. Kemighan, Dennis M. Ritchie, segunda edición, USA,
Pearson Educación 1991.

También podría gustarte