Procesos_Repetitivos

26
INGENIERIA UTP Alberto Moreno C Procesos Repetitivos Se utilizan cuando en el desarrollo de la solución de un problema se hace necesario ejecutar una serie de instrucciones un número repetido de veces. El conjunto de instrucciones que se ejecuta repetidamente se llama ciclo o bucle Cada vez que se ejecuta el bucle se dice que se ha producido una iteración Características de los ciclos Deben incluir una condición de parada. Deben finalizar luego de un número finito de veces. C++ ofrece 3 procesos Repetitivos - while - do … while - for 1) while (mientras): En este proceso las instrucciones se ejecutan mientras la condición sea verdadera, y automáticamente se vuelve de nuevo a verificar la condición y termina cuando la condición llegue a ser falsa. En general, nos interesará usar “while” cuando primero tenemos que verificar una condición y de acuerdo a eso se realizan o no un conjunto de Instrucciones. En este proceso puede que nunca se ejecuten las Instrucciones del bucle si la primera vez la condición es falsa. Ejemplo: Reportar los números desde el 1 al 10 1 #include<iostream>

Transcript of Procesos_Repetitivos

  • INGENIERIA UTP Alberto Moreno C

    Procesos Repetitivos

    Se utilizan cuando en el desarrollo de la solucin de un problema se hace

    necesario ejecutar una serie de instrucciones un nmero repetido de veces.

    El conjunto de instrucciones que se ejecuta repetidamente se llama ciclo o bucle

    Cada vez que se ejecuta el bucle se dice que se ha producido una iteracin

    Caractersticas de los ciclos

    Deben incluir una condicin de parada.

    Deben finalizar luego de un nmero finito de veces.

    C++ ofrece 3 procesos Repetitivos

    - while

    - do while

    - for

    1) while (mientras):

    En este proceso las instrucciones se ejecutan mientras la condicin sea

    verdadera, y automticamente se vuelve de nuevo a verificar la condicin y

    termina cuando la condicin llegue a ser falsa.

    En general, nos interesar usar while cuando primero tenemos que verificar

    una condicin y de acuerdo a eso se realizan o no un conjunto de Instrucciones.

    En este proceso puede que nunca se ejecuten las Instrucciones del bucle si la

    primera vez la condicin es falsa.

    Ejemplo: Reportar los nmeros desde el 1 al 10

    1 #include

  • INGENIERIA UTP Alberto Moreno C

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    using namespace std; int main()

    {

    int i=0; while(i

  • INGENIERIA UTP Alberto Moreno C

    9

    10

    11

    12

    13

    }while(i

  • INGENIERIA UTP Alberto Moreno C

    exp3: Instrucciones de incremento de variables. Se ejecutan y luego se va a

    exp2.

    for, es equivalente a un while, pero la sintaxis habitual de la orden for

    hace que sea especialmente til cuando sabemos exactamente cuntas veces

    queremos que se repita (por ejemplo: 10 veces sera for (i=1; i

  • INGENIERIA UTP Alberto Moreno C

    20 25 30 35 70 75 80

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    #include

    using namespace std; int main()

    {

    int i; for(i=20;i

  • INGENIERIA UTP Alberto Moreno C

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    #include using namespace std;

    int main()

    { int i,n,x,cp=0,ci=0;

    do{ coutn;

    }while(n

  • INGENIERIA UTP Alberto Moreno C

    25

    26

    27

    28

    cout

  • INGENIERIA UTP Alberto Moreno C

    acumulador = acumulador variable

    acumulador = acumulador * variable

    El valor de inicializacin del contador depender si se quiere sumar o multiplicar

    - Cuando el acumulador se usa para sumar se inicializa en 0.

    - Cuando el acumulador se usa para multiplicar se inicializa en 1.

    6) Calcular la sumatoria de los nmeros enteros del 1 al 100.

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    #include

    using namespace std;

    int main() {

    int i,s=0;

    for(i=1;i

  • INGENIERIA UTP Alberto Moreno C

    5

    6

    7

    8

    9

    10

    11

    12

    13

    int main()

    { int i,sc=0;

    for(i=1;i

  • INGENIERIA UTP Alberto Moreno C

    16

    17

    18

    19

    cout

  • INGENIERIA UTP Alberto Moreno C

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    double x,s=0,p;

    do{ coutn;

    }while(n

  • INGENIERIA UTP Alberto Moreno C

    28

    29

    30

    31

    32

    33

    34

    35

    36

    37

    38

    39

    40

    41

    42

    43

    44

    45

    if(cp>0)

    { cout

  • INGENIERIA UTP Alberto Moreno C

    25

    26

    27

    28

    29

    30

    31

    32

    33

    34

    35

    36

    37

    38

    39

    40

    41

    42

    43

    44

    }

    } if(cp>0)

    {

    pp=(float)sp/cp; cout

  • INGENIERIA UTP Alberto Moreno C

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    #include

    using namespace std;

    int main()

    { int n,i;

    double s=0,signo=1;

    do{ coutn;

    }while(n

  • INGENIERIA UTP Alberto Moreno C

    25

    26

    return 0;

    }

    18) Realizar un programa que escriba los ntrminos de la serie de Fibonacci

    1, 1, 2, 3, 5, 8, 13, 21,

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    #include

    using namespace std;

    int main() {

    int n,i; double p=1,s=0,t;

    do{

    coutn;

    }while(n

  • INGENIERIA UTP Alberto Moreno C

    17

    18

    19

    20

    21

    22

    23

    if(i>0)

    cout

  • INGENIERIA UTP Alberto Moreno C

    10

    11

    12

    13

    14

    15

    16

    17

    18

    for(i=1;i

  • INGENIERIA UTP Alberto Moreno C

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    {

    if(num%i==0) sd = sd+ i;

    }

    if(sd==num) cout

  • INGENIERIA UTP Alberto Moreno C

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    cin>>num1;

    }while(num1

  • INGENIERIA UTP Alberto Moreno C

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    #include

    using namespace std;

    int main() {

    int num,dig,x,inv=0;

    do{

    coutnum; }while(num

  • INGENIERIA UTP Alberto Moreno C

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30

    31

    32

    x=num;

    while(x!=0) {

    r = x % b; nuevo = nuevo + r*p;

    p = p * 10;

    x = x /b; }

    cout

  • INGENIERIA UTP Alberto Moreno C

    23

    24

    25

    26

    27

    28

    29

    30

    31

    32

    33

    34

    35

    36

    37

    38

    39

    40

    41

    42

    43

    44

    45

    46

    47

    48

    49

    50

    51

    52

    53

    54

    55

    56

    57

    58

    59

    60

    61

    62

    63

    64

    65

    66

    67

    68

    do{

    coutnum;

    }while(num

  • INGENIERIA UTP Alberto Moreno C

    }while(op!=4);

    return 0; }

    30) Generar un nmero aleatorio entre 1 y 100 y trate de adivinarlo. El

    resultado debe orientar segn el resultado con los mensajes, alto y bajo. Al

    final debe mostrar el nmero de intentos en los que adivino el nmero.

    El programa se debe repetir mientras se desee continuar

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30

    31

    32

    33

    #include

    using namespace std; int main()

    { int ci,x,n;

    char resp;

    srand ((unsigned)time(NULL));

    do{

    system("cls"); n=rand()%100+1;

    ci=0;

    do{ ci++;

    coutx; if(x==n)

    cout

  • INGENIERIA UTP Alberto Moreno C

    El programa se debe repetir mientras se desee continuar.

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30

    31

    32

    33

    34

    35

    36

    37

    #include

    using namespace std;

    int main() {

    int num,den,d=2; char resp;

    do{

    system("cls"); do{

    coutnum; }while(num

  • INGENIERIA UTP Alberto Moreno C

    1, 4, 7, 10, 13..

    4) Hacer un programa para calcular el valor de XN. X real y N entero. (No usar

    la funcin matemtica pow).

    5) Determinar la suma de los N trminos de la serie:

    X + X2 + X3 + X4 + .

    6) Hacer un programa que dado un valor de x, calcule el valor de la funcin:

    f(x) = 1 x + x2/2! x3/3! + x4/4! x5/5! +

    Tenga en cuenta solo los trminos de la serie que en valor absoluto son mayores

    o iguales a 0.001

    7) Reportar los N trminos de la serie:

    17, 15, 18, 16, 19, 17, 20, 18, 21,

    8) Hacer un programa que reporte los trminos de la sucesin:

    2, 5, 7, 10, 12, 15, 17. 1800

    Adems debe imprimir la suma de los trminos.

    9) Sea n un entero positivo. Si n es par, divdalo entre 2, sino lo es,

    multiplquelo por 3 y smele 1. Realice este proceso hasta que el nmero que

    alcance sea 1. Realice un programa en C que implemente dicho proceso. Imprima

    los nmeros que van obteniendo. Por Ejemplo:

    Para n = 10 la sucesin generada es: 10 5 16 8 4 2 1

    10) Como parte de un experimento un bilogo requiere tomar la temperatura

    exterior de un lugar cada hora por un periodo de 6 horas. Realice un programa

    que reciba como datos las temperaturas tomadas y determine la mayor y la

    menor.

    11) Generar un nmero aleatorio entre 1 y 100 y trate de adivinarlo. El

    resultado debe orientar segn el resultado con los mensajes, alto y bajo. Al

    final debe mostrar el nmero de intentos en los que adivino el nmero.

    12) Generar n notas aleatoriamente y reportar el promedio, la nota mayor y la

    nota menor.

  • INGENIERIA UTP Alberto Moreno C

    13) Hacer un programa que simule varios lanzamientos de un dado hasta

    obtener un seis. Muestre los puntajes del dado mientras se vayan generando y

    muestre al final cuantos lanzamientos fueron necesarios efectuar.

    14) Hacer un programa que genere nmeros aleatorios entre 300 y 1000 hasta

    obtener un nmero mltiplo de 7. Se debe mostrar los nmeros generados, su

    suma, el mayor y el menor.

    15) Hacer un programa que genera la nota de n alumnos y que imprima cada

    nota y al costado tantos asteriscos como indique la nota.