• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Estructura repetitiva
 

Estructura repetitiva

on

  • 3,510 views

Repetiti

Repetiti

Statistics

Views

Total Views
3,510
Views on SlideShare
3,510
Embed Views
0

Actions

Likes
2
Downloads
0
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Estructura repetitiva Estructura repetitiva Presentation Transcript

    • UNIVERSIDAD MILITAR NUEVA GRANADA CENTRO DE SISTEMAS Programación 1 centro.sistemas@unimilitar.edu.co
    • CENTRO DE SISTEMASEstructuras de Control Repetitivas alcira.ordonez@unimilitar.edu.co
    • CiclosAl grupo de instrucciones que se repiten en un programa seles llama bucle o ciclo.Cada repetición de las instrucciones del bucle se ledenomina una iteración.En repeticiones controladas por contador, se usa unavariable de control que permite contar el número deiteraciones la cual aumenta en un número fijo. Cuando lavariable indica que se han ejecutado todas las iteraciones, setermina el bucle. El programa continúa en la instrucciónsiguiente a la del fin de la estructura de repetición.
    • Instrucciones RepetitivasEn la elaboración de programas es importante queexistan instrucciones que permiten que el computadorejecute un grupo de instrucciones varias veces sintener que volverlas a escribir, estas son: la instrucciónmientras que y la instrucción para.
    • BuclesUn bucle o ciclo es un trozo de algoritmo, cuyasinstrucciones se repiten un número determinado de vecesmientras se cumple una determinada condición.Una iteración es la ejecución de todas las instrucciones delciclo.
    • BuclesUn bucle consta de tres partes fundamentales: – Decisión (simple o compuesta) – Cuerpo – SalidaLos bucles pueden ser sencillos o anidados (ciclos dentro deotros ciclos).
    • Bucles
    • ContadorLos procesos repetitivos son la base del uso delcomputador. Una forma de controlar un bucle esmediante un contador.Un contador es una variable cuyo valor se incrementao decrementa en una cantidad constante por cadaiteración.
    • ContadorEl formato general es: Contador  Contador + Cantidad ConstanteEjemplo: ZZ+2donde Z se incrementa en 2 en cada iteración.
    • AcumuladorEs una variable cuya misión es almacenar por cada iteración,cantidades variables resultantes de sumas o productossucesivos.El formato general es: Acumulador  Acumulador + Cantidad Variable, ó Acumulador  Acumulador * Cantidad VariableEjemplo: S  S+N,donde N es una variable y no una constante
    • CentinelaLas repeticiones controladas por centinela, se utilizancuando el número de iteraciones no es conocido o el bucleincluye enunciados para obtener datos cada vez que seejecute.El valor del centinela es proporcionado al programa paraterminar el bucle, una vez suministrado todos los datos querequiere el programa. A este tipo de repetición porcentinela, se le denomina repetición indefinida, por que nose sabe con anticipación cuántas veces se necesitaráejecutar el bucle. Si no se ingresa el centinela el programa seejecutaría infinitas veces y no podría terminar.
    • Instrucción mientras queLa instrucción mientras, permite ejecutar una instrucción oun grupo de instrucciones un número determinado de veces,mientras se cumple una condición. Esta instrucción esutilizada, cuando no se sabe el número de veces que va aocurrir el ciclo.Se representa en pseudocódigo así: mientras (condición) hacer instrucciones fin_mientras
    • Sentencia FORLos operadores incrementales o decrementales son: a++ cuando se desea incrementar en uno el contador a-- cuando se desea restar en uno el contador a+=2 cuando se desea incrementar en dos el contadorLos punto y coma son indispensables para separar lainicialización del contador, con la expresión lógica y elincremento o decremento.
    • Sintaxis Sentencia ForCuando el bucle contiene solo una sentencia, no sonindispensables las llaves { } en la sintaxis, así: for (condición) sentencia;Ejemplo: int K; for (k=1; k<=20; k+=2) cout<< k;Imprime los números 1, 3, …, 17 y 19. La variable k es elcontador e inicia en 1 y finaliza al llegar a 20. La variable sepuede declarar al inicializarla así: for (int k=1; k <= 20; k=k+2)
    • EjemploEjemplo: Sumar 10 números enteros introducidos por teclado #include<iostream> using namespace std; int main() { int SU=0,NU; cout<<"Ingrese 10 numeros "<<endl; for(int i=1 ;i<=10 ;i++) { cin>>NU; SU=SU+NU; } cout<<SU<<endl; }
    • Sentencia while (mientras que)La estructura de control while, genera bucles controladospor centinela en los cuales se conoce la condición determinación del bucle, pero no se conoce de antemanocuantas son las iteraciones del bucle. Aunque con laestructura while podríamos hacer bucles for, por facilidad enel control del contador, es más utilizado el for paraimplementar los bucles controlados por contador.
    • Sintaxis Sentencia WhileSintaxis de la instrucción: while (condición) { sentencia-1; sentencia-2; sentencia-3; : : sentencia-n; }
    • Sintaxis Sentencia ForEn este caso las sentencias se repiten, mientras la expresiónlógica o condición del bucle sea verdadera.La condición del bucle se evalúa antes de que se ejecuten lassentencias. Si la condición es falsa, no se ingresará al bucle.No se requiere el punto y coma (;) en la línea del while, dehacerse no ejecutará el bucle.Cuando se debe ejecutar solo una sentencia varias veces, noson indispensables las llaves { }.
    • EjemploEjemplo: int y=z=0; while(y!=10) { cin>>y z=z+y; } cout<<z<<endl;El ciclo while, suma los números que se ingresan por tecladoen la variable z, hasta que se digite el valor del centinela queen este caso es 10 y que permite la terminación del ciclo.
    • EjemploEjemplo: Contar los números positivos que se ingresan porteclado hasta que se ingrese un número negativo.Variables: X (centinela) P (contador)
    • Ejemplo#include<iostream>using namespace std;int main(){ int X=0,P=-1; cout<<"Ingrese positivos, para terminar ingrese un negativo"<<endl; while(X>=0) { P++; cin>>X; }cout<<"Ingreso "<<P<<" numeros"<<endl;system("pause");}
    • Sentencia do while (haga mientras que)Esta sentencia funciona de modo análogo a la instrucciónwhile, con la diferencia de que la condición se evalúadespués de ejecutar las primeras sentencias, esto significaque el bucle se ejecuta por lo menos una vez.Sintaxis de la instrucción:do { sentencia-1; sentencia-2; sentencia-3; : sentencia-n; } while (condición);
    • Sintaxis Sentencia do WhileComienza ejecutando las sentencias y se evalúa acontinuación el ciclo. Si la condición es verdadera, entoncesse repite la ejecución de las sentencias. Este procesocontinúa hasta que la condición sea falsa. Se debe escribir unpunto y coma (;), luego de la condición del while. El siguienteejemplo imprime los números del 1 al 9. Se ha utilizado unavariable contador x: int x=1; do { cout<<x<<endl; x++; } while(x<10);.
    • EjemploHacer un programa que imprima la tabla de multiplicar de unnúmero dado por tecladoTabla de multiplicar de un número dado por teclado#include<iostream>using namespace std;int main(){ int y,n; cout<<"Cual tabla desea imprimir? "<<endl; cin>>n; Do { cout<<y<<" * "<<n<<" = "<<y*n<<endl; y++; } while(y<=10);}
    • Bucles Anidados
    • EjemploEjemplo: Escribir las tablas de multiplicar de la 1 a la 5, con 10multiplicandos cada una. #include<iostream> using namespace std; int main() { for(int i=1 ;i<=5 ;i++) { cout<<"n tabla del "<<i<<endl; for(int j=1 ;j<=10 ;j++) cout<<i<<" * "<<j<<"="<<i*j<<endl; } system("pause"); }
    • Instrucciones Break ContinueAlgunas veces es necesario interrumpir un bucle o no tomar encuenta una iteración, la instrucción break, obliga a unaterminación inmediata de la instrucción switch, while, for o do-while y la instrucción continue, transfiere el control al inicio delbucle.La instrucción break, se utiliza por lo general, cuando se detectaque va a suceder algo fuera de lo normal en un programa,como por ejemplo cuando se introduce un dato que puedeocasionar una división por cero.
    • Sintaxis Instrucción BreakSe desea calcular la ecuación:para 10 números introducidos por teclado.
    • Ejemplo{ int x; float y; for (int contador=1;contador<=10;contador++) {cout<<"Introduzca un numero "<<endl; cin>>x; if(x==7) { cout<<"No es posible dividir por cero, se interrumpe el bucle "<<endl; break; } y=(3*x+2)/(x-7); cout<<"Solucion de la ecuacion "<<y<<endl; } system("pause"); }
    • Sintaxis Instrucción ContinueLa instrucción continue, se aplica en los ciclos while, do-while ofor. Cuando continue aparece en una instrucción while, significaque la ejecución se transferirá automáticamente a la partesuperior del ciclo y empezará a evaluar nuevamente lacondición.Es útil la instrucción continue para no contabilizar datosinválidos. Por ejemplo las notas erradas de un grupo deestudiantes cuando se desea el promedio y se ingresan datospor fuera del rango 1 a 5
    • Ejemplo{const int TOPE=100;float cuenta=0, calificacion, suma=0;cout<<"Inserte las calificaciones, para terminar digite 100 "<<endl;while(calificacion!=TOPE) { cin>>calificacion; if(calificacion<0 || calificacion>5) continue; suma=suma+calificacion; cuenta++; } cout<<" El promedio de las calificaciones es "<<suma/cuenta<<endl; system("pause"); }