Unidad 3.476 informatica

download Unidad 3.476 informatica

of 19

Transcript of Unidad 3.476 informatica

  • 7/24/2019 Unidad 3.476 informatica

    1/19

    Unidad 3

    Estructura repetitiva

    Hasta el momento se han estudiado dos tipos de estructuras que slose ejecutan una sola vez (estructura secuencial, estructura dedecisin lgica), en una gran cantidad de algoritmos, se necesita queun conjunto de instrucciones sea ejecutado un nmero de vecesdeterminado o que se ejecuten hasta que cumplan una condicindeterminada, la estructura algortmica que responde a este tipo denecesidades, es la estructura repetitiva (mientras).

    Estructura

    mientras (condicin lgica)conjunto de instrucciones si la condicin lgica es verdadera

    fin mientras

    Funcionamiento

    uando la condicin lgica es verdadera se ejecutan las instruccionesque se encuentren entre mientras ! fin mientras, el ciclo terminacuando la condicin lgica a partir de la cual se esta controlando elciclo se vuelve falsa. " se contina ejecutando las instrucciones que

    se encuentren despu#s del fin mientras.

    Observacin

    uando se emplea la estructura mientras, se crea un ciclo que seejecuta un nmero determinado de veces, se de$e garantizar que lavaria$le o las varia$les con las que se este evaluando la condicinlgica, en algn momento se vuelvan falsas. %sto asegura que el ciclono se vuelve infinito ! de esta forma se evita violar una de lascondiciones necesarias, para que un determinado conjunto de

    instrucciones sea considerado algoritmo.

    %lementos empleados cuando se emplea la estructura mientras

    Contador

    %n ocasiones es importante llevar un conteo del nmero de veces queun determinado suceso se presenta, el conteo se realiza con unavaria$le que se va incrementando a medida que el ciclo se repite, elcontador es una varia$le que aumenta o disminu!e en un valorconstante, cada vez que el ciclo se ejecuta.contador & contador ' incrementocontador & contador incremento

    Mdulo Jorge Hernn lvarez

  • 7/24/2019 Unidad 3.476 informatica

    2/19

    %l incremento es un valor constante

    $servacin

    %s importante inicializar el contador o los contadores cada vez que serequiera utilizar varia$les contador, esto con el fin de $orrar el valoren memoria con el que aparece el contador al iniciar el ciclo.

    %jemploi&*

    Acumulador

    +a funcin principal del acumulador, es la de almacenar valores

    varia$les en ciclos repetitivos.

    acumulador & acumulador ' epresinacumulador & acumulador - epresin

    Ejemplo 1

    %la$orar un algoritmo que sume los primeros tres nmeros naturales

    atos de entrada / ninguno, porque los tres primeros nmeros

    naturales los conoce el programador ! son/ * 0 1

    atos de salida/ la suma de los tres primeros nmeros naturales.

    2aria$le

    suma/ nmero, la suma de los nmeros * ' 0 '1 se almacenaran enla varia$les suma.%strategia

    %n #ste algoritmo slo ha! que sumar los nmeros *'0'1 ! elresultado mostrarlo en pantalla

    3nicioefinicin de varia$lessuma/ nmero4lgoritmosuma & *'0'1muestre/ 5el resultado de la suma es/ 5, sumafin63nicio

    Mdulo Jorge Hernn lvarez

  • 7/24/2019 Unidad 3.476 informatica

    3/19

    Ejemplo 2

    %la$orar un algoritmo que sume los primeros cinco nmerosnaturales.

    3nicioefinicin de varia$lessuma/ nmero4lgoritmosuma & *'0'1'7'8muestre/ 5el resultado de la suma es/ 5, sumafin63nicio

    si se necesitara sumar los *99 primeros nmeros naturales, se

    necesitara realizar el siguiente c:lculo, * ' 0 '1 ' ;. '*99, esevidente que realizarlo de la forma que se ha venido tra$ajando esmu! complicado, !a que si se necesita sumar los *9999 primerosnmeros naturales, el c:lculo seria el siguiente* ' 0 '1 ' 7 ' 8 ' < '; ' *9999, otra dificultad, parte del hechoque la persona que realiza el algoritmo, tiene que estar realizando lasdiferentes modificaciones cuando sean solicitadas. =na forma m:sadecuada de realizar el algoritmo, es replantearlo de la siguienteforma/

    Ejemplo 3

    %la$orar algoritmo que sume los primeros n nmeros naturales,donde n es un nmero que se ingresa por teclado. +os nmerosnaturales son/ * 0 1 7 8 < > ? @ *9;;;. n

    atos de entrada/ n, el nmero de valores que se desean sumar

    atos de salida/ la suma de los n primeros nmeros naturales

    2aria$les

    n/ nmero , se almacena la cantidad de nmeros que se deseansumar.suma/ nmero, se almacena la suma de los n primeros nmerosnaturalesi/ nmero, contador

    %strategia

    Mdulo Jorge Hernn lvarez

  • 7/24/2019 Unidad 3.476 informatica

    4/19

    %s importante tener en cuenta, que en este caso no se sa$e lacantidad de nmeros que se desean sumar, por esta razn, ha! queemplear un tipo de varia$le que cuente los nmeros hasta que sellegu# a n, esta varia$le ser: un contador que se definir: de lasiguiente forma.

    +os nmeros naturales inician en *, se puede inicializar la varia$lecontador en *.

    i & *

    +os nmeros naturales se incrementan de * en * ejemplo * 0 1 7 8

  • 7/24/2019 Unidad 3.476 informatica

    5/19

    4l terminar el ciclo se de$e imprimir la suma de los n primerosnmeros, una instruccin que da respuesta a la necesidad es/muestre/ 5la suma de los 5, n, 5 primeros nmeros es/ 5, suma

    4lgoritmo completo

    3nicioefinicin de varia$lesi, suma/ nmero4lgoritmolea/ ni & *suma & 9mientras (iB& n)suma & suma ' i

    i & i ' *

    fin mientrasmuestre / 5la suma de los 5, n, 5 primeros nmeros es/ 5, sumafin63nicio

    Crue$a de escritorio

    Ae ingresa por teclado el nmero 8, quedando la varia$le n con elnmero 8, las varia$les i ! suma con los valores * ! 9respectivamente, tal ! como se muestra en memoria.

    n i suma8 * 9

    4hora se estudiara lo que ocurre en memoria cuando se ejecuta elciclo mientras, al evaluar la condicin es i menor o igual que n, sepuede verificar que es verdadera con lo que se ejecutan lasinstrucciones que se encuentran dentro del ciclo mientras, quedandola memoria de la siguiente forma

    n i suma

    8 * 90 *

    4l ejecutar la instruccin fin mientras, autom:ticamente se vuelve aevaluar la condicin es i menor o igual que n, como el valor de i es 0! el de n es 8, la condicin es verdadera ! se vuelven a ejecutar lasinstrucciones que se encuentran dentro del mientras. %l cam$io devalores que se ha realizado en las varia$les, se presenta acontinuacin.

    n i suma8 * 9

    Mdulo Jorge Hernn lvarez

  • 7/24/2019 Unidad 3.476 informatica

    6/19

    0 *1 1

    4l ejecutar la instruccin fin mientras, autom:ticamente se vuelve aevaluar la condicin es i menor o igual que n, como el valor de i ahora

    es 1 ! el de n es 8, la condicin es verdadera ! se vuelven a ejecutarlas instrucciones que se encuentran dentro del mientras. %l cam$io devalores que se ha realizado en las varia$les, se presenta acontinuacin.

    n i suma8 * 9

    0 *1 17 9798 ?*9

    .

    .

    .

    .

    .

    .

    .

    .

    3nfinito infinito

    Ae puede o$servar, que en cada una de las iteraciones la varia$le i nocam$ia ! siempre la condicin (iB& n), se hace verdadera, dandoorigen a un ciclo infinito, como el algoritmo nunca termina, no sepuede sa$er cual es el resultado final de la varia$le j ! la varia$le ,como es importante que el algoritmo termine en algn momento, sede$e adicionar una nueva instruccin, que permita ir incrementandoel valor de la varia$le i hasta que #sta varia$le se haga ma!or que lavaria$le n, de esta forma, se puede garantizar que el ciclo termine enalgn momento.

    +os algoritmos que se han resuelto hasta el momento de estructuramientras, se ha conocido el nmero de datos que se desean operar,en ocasiones no se conoce el nmero de datos que se deseanmanejar. Cara garantizar que el ciclo en algn momento termine, sede$e emplear alguna cualidad que tengan los datos, de esta formacrear una condicin que permita finalizar el ciclo, cuando seintroduzca algn valor que no cumpla la cualidad.

    Mdulo Jorge Hernn lvarez

  • 7/24/2019 Unidad 3.476 informatica

    11/19

    Ejemplo 5

    %la$orar un algoritmo que calcule el promedio de una serie denmeros ma!ores que cero.

    atos de entrada/ la serie de nmeros

    atos de salida/ el promedio de la serie de nmeros

    2aria$les

    valor/ nmero, en la varia$le valor, se almacenaran cada uno de losnmeros a los cuales se desea calcular el promedio.con/ nmero, cuenta la cantidad de nmeros que se desean sumar

    suma/ nmero, almacena la suma de la serie de nmerospro/ nmero, almacena el valor del promedio de la serie de nmeros

    %strategia

    %n este algoritmo no se conoce la cantidad de datos que se de$eningresar, por tal motivo ha! que definir una condicin que garantice,que al ingresar un nmero que no sea ma!or que cero, el ciclotermine, la condicin es, mientras (valor G 9).

    %l promedio de una serie de nmeros se define, como la suma de laserie de nmeros dividido la cantidad de nmeros.

    pro & suma con

    3nicioefinicin de varia$lesvalor, con, suma, pro4lgoritmolea/ valor

    con & 9suma & 9mientras (valor G 9)

    con & con ' * suma & suma ' valor lea/ valorfin mientraspro & suma conmuestre/ 5el promedio de la serie de nmeros es/ 5, pro

    Mdulo Jorge Hernn lvarez

  • 7/24/2019 Unidad 3.476 informatica

    12/19

    Crue$a de escritorio

    4l ejecutar el programa el usuario ingresar: por teclado los siguientesvalores/ * 7 < > ? @ *, se realizara el seguimiento de lo que ocurre

    cada vez que se ingresa cada uno de los valores.

    4ntes de comenzar el ciclo mientras, la memoria se encuentra de lasiguiente manera.

    valor suma con pro* 9 9 Iasura

    4l ingresar al ciclo mientras

    valor suma con Pro* 9 9 Iasura7 * *< 8 0> ** 1? *? 7@ 0< 8* 18