Tema 7 de Fundamentos de la Programación

download Tema 7 de Fundamentos de la Programación

of 99

Transcript of Tema 7 de Fundamentos de la Programación

  • 8/18/2019 Tema 7 de Fundamentos de la Programación

    1/99

    G IG I I IG IG I S S

    G IG I C C

    L HL H R HR H B B

    F IF IU CU C

  • 8/18/2019 Tema 7 de Fundamentos de la Programación

    2/99

       

     

     

     

     

     

     

       

     

     

     

  • 8/18/2019 Tema 7 de Fundamentos de la Programación

    3/99

     

  • 8/18/2019 Tema 7 de Fundamentos de la Programación

    4/99

    M , M , , ..., ...

    V ()V ()

     

    A ( )

    A A ( )( )

  • 8/18/2019 Tema 7 de Fundamentos de la Programación

    5/99

    L L

    S S ::

    A ( )A ( )

    D ( )D ( )

    A A ::

    OO

    OO

    OO

      

    L L

    H H

     

  • 8/18/2019 Tema 7 de Fundamentos de la Programación

    6/99 

  • 8/18/2019 Tema 7 de Fundamentos de la Programación

    7/99

        P P

    V V

    B 1 9B 1 9

    L  L  

    O ()O ()

     

  • 8/18/2019 Tema 7 de Fundamentos de la Programación

    8/99

       

     

      L :L :L :

    C C C

  • 8/18/2019 Tema 7 de Fundamentos de la Programación

    9/99

       

     

     

    E 7 E 7 L L

    L :L :L :

  • 8/18/2019 Tema 7 de Fundamentos de la Programación

    10/99

       

     

    P (5) (4):P (5) (4):D D

    I I

       

         

    L :L :L :

  • 8/18/2019 Tema 7 de Fundamentos de la Programación

    11/99

       

       

     

    9 9 L L

    L :L :L :

  • 8/18/2019 Tema 7 de Fundamentos de la Programación

    12/99

       

     

           

    P (4) (2):P (4) (2):D D

    I I

    L :L :L :

  • 8/18/2019 Tema 7 de Fundamentos de la Programación

    13/99

       

     

       

    E 9 (8):E 9 (8):D D

    I 9I 9

    L :L :L :

  • 8/18/2019 Tema 7 de Fundamentos de la Programación

    14/99

       

     

         

    L :L :L :

    S (4) (3):S (4) (3):D D

    I 4I 4

  • 8/18/2019 Tema 7 de Fundamentos de la Programación

    15/99

     

       

     

           

    L :L :L :

    P (2) (1):P (2) (1):D D

    I I

  • 8/18/2019 Tema 7 de Fundamentos de la Programación

    16/99

       

     

                 

    LISTA ORDENADA !!! LISTA ORDENADA !!!LISTA ORDENADA !!!

    L :L :L :

    E 7 (6):E 7 (6):D D

    I 7I 7

  • 8/18/2019 Tema 7 de Fundamentos de la Programación

    17/99

         

      ??

     

  • 8/18/2019 Tema 7 de Fundamentos de la Programación

    18/99

    E :E :

    A : A :

    P P

     

    P P P   E E E

    S S S

  • 8/18/2019 Tema 7 de Fundamentos de la Programación

    19/99

    SS : L () : L ()

    ::

     

    P : 0P :P : 0 0777

  • 8/18/2019 Tema 7 de Fundamentos de la Programación

    20/99

    . . .. . .

       

     

    777

    777

  • 8/18/2019 Tema 7 de Fundamentos de la Programación

    21/99

    ...... , ;, ;// D // D ......

    ((  = = 11; < N; ++) ; < N; ++) = ; = ; = = 00;;//B //B

    (( < ) && !( > )) (( < ) && !( > )) ++;++;// :// : ; ; //D //D ((  = ; > ; = ; > ; ) )

    = =  11;; = ; = ;

     

    N =N = 1515;; L LN;N;LL ;;

  • 8/18/2019 Tema 7 de Fundamentos de la Programación

    22/99

     

    777000111

  • 8/18/2019 Tema 7 de Fundamentos de la Programación

    23/99

     

    555000444

  • 8/18/2019 Tema 7 de Fundamentos de la Programación

    24/99

     

    141414333555

  • 8/18/2019 Tema 7 de Fundamentos de la Programación

    25/99

     

  • 8/18/2019 Tema 7 de Fundamentos de la Programación

    26/99

    L L

    ::

    : :    , ,   

     

  • 8/18/2019 Tema 7 de Fundamentos de la Programación

    27/99

     

  • 8/18/2019 Tema 7 de Fundamentos de la Programación

    28/99

    ...... , ;, ;

    // D // D ...... ((  = = 11; < N; ++) ; < N; ++) = ; = ;// M ...// M ...

    (( >(( > 00) && () && (  11 > )) > )) // I...// I... = ; = ; = =  11;;

     11 = ; = ;;; // P// P

     

    N = 15; LN;L ;

  • 8/18/2019 Tema 7 de Fundamentos de la Programación

    29/99

    # # ;;# #

      N =N = 100100;;

      A AN;N;  // L // L

    AA ;; ;;

    LL;;

     () () LL ;; ;; , , ;, , ;. =. = 00;;......

     

    ...

  • 8/18/2019 Tema 7 de Fundamentos de la Programación

    30/99

    .(.("."".");); (!.()) (!.()) > ; >> ;

    .();.();

    // S // S N N

  • 8/18/2019 Tema 7 de Fundamentos de la Programación

    31/99

     ((

      = =

    11; < .; ++) ; < .; ++)

    = ; = ; (( >(( > 00))&& (.&& (.11 > .)) > .))

    = .; = .;. = .. = .  11;;..  11 = ; = ;;;

  • 8/18/2019 Tema 7 de Fundamentos de la Programación

    32/99

    O ?O ?

     11  >>  >=>= ??  

    CC >=>=  ::

     

    I !I I !!

  • 8/18/2019 Tema 7 de Fundamentos de la Programación

    33/99

     

  • 8/18/2019 Tema 7 de Fundamentos de la Programación

    34/99

    E :E :

    N =N = 1515;;

      ;; ;; ;;

     DD;; D LD LN;N;LL ;;

    C C ::C C

     

  • 8/18/2019 Tema 7 de Fundamentos de la Programación

    35/99

    DD ;; (( >(( > 00))

    && (&& (

     11. > .)) . > .))

    = ; = ; = =  11;;  11 = ; = ;

    ;;

    CC: :

    I: I:

     

  • 8/18/2019 Tema 7 de Fundamentos de la Programación

    36/99

    FF ::

     >(>(DD I,I, DD D) D)

     (I. > D.);(I. > D.);

    DD ;; (( >(( > 00) && () && (  11 > )) > )) = ; = ; = =  11;;

     11 = ; = ;;;

     

  • 8/18/2019 Tema 7 de Fundamentos de la Programación

    37/99

       

    + +

    S S

    L :L :

     

        

    ((  

      

    ))

    S S  

    S S  

    EE     ( ): ( ):++,, ,, **,, //,, ,,

  • 8/18/2019 Tema 7 de Fundamentos de la Programación

    38/99

    MM ((MM ,, MM ););

    MM , , ;, , ;

    = (, ); = (, );

    MM +(+(MM ,, MM ););

    MM , , ;, , ;

    = + ; = + ;

    L L   ! !

    M M

     

    ..

  • 8/18/2019 Tema 7 de Fundamentos de la Programación

    39/99

    # # # # # #

    # # ;;

     N =N = 1515;;  

     ;; ;; ;;

    DD;;

     D AD AN;N;  AA ;; ;;

    LL;;

    ......

     

    ...

  • 8/18/2019 Tema 7 de Fundamentos de la Programación

    40/99

     (( LL &);&); >(>(DD I,I, DD D);D);

     () () LL ;; ;;

    . =. = 00;;.(.("."".");); (!.()) (!.())

    > . >> .; >> . >> .;.. = ;.. = ;.++;.++; >> .; >> .;

    .(); ....(); ...

     

  • 8/18/2019 Tema 7 de Fundamentos de la Programación

    41/99

  • 8/18/2019 Tema 7 de Fundamentos de la Programación

    42/99

     (( LL &) &)  ((  = = 00; < .; ++) ; < .; ++)

  • 8/18/2019 Tema 7 de Fundamentos de la Programación

    43/99

     

  • 8/18/2019 Tema 7 de Fundamentos de la Programación

    44/99

        A ,A ,

    DD: : () ()CCNN

    SS

    L L NN

     

    12345 12000011111 B 10000021112 D 9000011111 D 12000022222 F 12000012345 G 10000010000 H 15000021112 J 100000

    11111 P 9000012345 S 9000010000 S 10000033333 T 12000012345 T 10000011111 U 90000

    12345 12000011111 B 10000021112 D 90000

    11111 D 12000022222 F 12000012345 G 10000010000 H 15000021112 J 100000

    11111 P 9000012345 S 9000010000 S 10000033333 T 12000012345 T 10000011111 U 90000

  • 8/18/2019 Tema 7 de Fundamentos de la Programación

    45/99

    O O CC::

     

    10000 S 10000010000 H 15000011111 U 90000

    11111 B 10000011111 P 9000011111 D 12000012345 S 9000012345 12000012345 T 100000

    12345 G 10000021112 D 9000021112 J 10000022222 F 12000033333 T 120000

    10000 S 10000010000 H 15000011111 U   90000

    11111 B   10000011111 P   9000011111 D   12000012345 S 9000012345 12000012345 T 100000

    12345 G 10000021112 D 9000021112 J 10000022222 F 12000033333 T 120000

    10000 H 15000010000 S 10000011111 B 100000

    11111 D 12000011111 P 9000011111 U 9000012345 12000012345 G 10000012345 S 90000

    12345 T 10000021112 D 9000021112 J 10000022222 F 12000033333 T 120000

    10000 H 15000010000 S 10000011111 B   100000

    11111 D   12000011111 P   9000011111 U   9000012345 12000012345 G 10000012345 S 90000

    12345 T 10000021112 D 9000021112 J 10000022222 F 12000033333 T 120000

    N :L

    N :N :L L

    E:L

    E:E:L L

  • 8/18/2019 Tema 7 de Fundamentos de la Programación

    46/99

    E E   CC = 

    O :O :A , A , , ,

     

    10000 H 15000010000 S 10000011111 B 10000011111 D 12000011111 P 9000011111 U 9000012345 12000012345 G 100000

    12345 S 9000012345 T 10000021112 D 9000021112 J 10000022222 F 12000033333 T 120000

    10000 H 15000010000 S 10000011111 B 100000

    11111 D 12000011111 P 9000011111 U 9000012345 12000012345 G 100000

    12345 S 9000012345 T 10000021112 D 9000021112 J 10000022222 F 12000033333 T 120000

    11111 P 9000011111 U 9000012345 S 9000021112 D 9000010000 S 10000011111 B 10000012345 G 10000012345 T 100000

    21112 J 10000011111 D 12000012345 12000022222 F 12000033333 T 12000010000 H 150000

    11111 P 9000011111 U 9000012345 S 90000

    21112 D 9000010000   S 10000011111   B 10000012345 G   10000012345 T   100000

    21112   J 10000011111 D 12000012345 12000022222 F 12000033333 T 12000010000 H 150000

  • 8/18/2019 Tema 7 de Fundamentos de la Programación

    47/99

     

  • 8/18/2019 Tema 7 de Fundamentos de la Programación

    48/99

      ? ?   P , 1, P , 1,

    2, 2,

     N =N = 1515;;  

    1;1;

     2;2;

    ;; AA;;

     A AAA AAN;N;

      

    AAAA ;;

     ;; LALA;;

    ......

     

    S L, J

    J D, B

    S G, D

    S L, A

    SS L L, J, J

    JJ D D, B, B

    SS G, D G, D

    SS L L, A, A

    J D, B

    S G, D

    S L, A

    S L, J

    JJ D D, B, B

    SS G, D G, D

    SS L L, A, A

    SS L L, J, J

  • 8/18/2019 Tema 7 de Fundamentos de la Programación

    49/99

     >(>(AA I,I, AA D) D)

     Q =Q = ;;

     (I.1 < D.1) (I.1 < D.1) Q =Q = ;;

      (I.1 == D.1)(I.1 == D.1)

     (I.2 < D.2) (I.2 < D.2) Q =Q = ;;

      (I.2 == D.2)(I.2 == D.2)

     (I.

  • 8/18/2019 Tema 7 de Fundamentos de la Programación

    50/99

     

  • 8/18/2019 Tema 7 de Fundamentos de la Programación

    51/99

     L L

      L L

     L L

    T , T , ? ?

     

  • 8/18/2019 Tema 7 de Fundamentos de la Programación

    52/99

    S S     , ,   

    OO : :

    ooVV : :N ; N ;

    C C ooVV : :T ; T ;

    C C

     

  • 8/18/2019 Tema 7 de Fundamentos de la Programación

    53/99

    CC ? ?

    CC ? ?

    A A : : T T

    C :C :

    E E : :   

    O O ::

    CCII

    A A

     

  • 8/18/2019 Tema 7 de Fundamentos de la Programación

    54/99

          OO ( ): ( ):...... ((  = = 11; < N; ++) ; < N; ++)

      = ; = ; (( >(( > 00) && () && (  11 > )) > ))  ;; = ; = ;

    = =  11;;  11 = ; = ;;;

    I :I :T T

     

    CCC

    III

  • 8/18/2019 Tema 7 de Fundamentos de la Programación

    55/99

          

    ...... ((  = = 11; < N; ++) ; < N; ++)

      = ; = ; (( >(( > 00) && () && (  11 > )) > ))  ;; = ; = ;

    = =  11;;  11 = ; = ;;;

    C C   ::    C :C :    

     

    N 1 NN  1 1

    N NN 

  • 8/18/2019 Tema 7 de Fundamentos de la Programación

    56/99

             C : C :

    L L : :

    (N(N  1) * (1 1) * (1 + 0 ) = N + 0 ) = N  11

    ()()   C : C :

    P P , ,   1: 1 1: 1 1 1 1 + 2 + 3 + 4 + ... + (N1 + 2 + 3 + 4 + ... + (N  1)1)

    ((N((N  1) + 1)1) + 1)  (N(N  1) / 21) / 2N * (NN * (N  1) / 21) / 2(N(N22  N) / 2N) / 2 ( (  2 2 ) )

    NN : N: NE  E   N N N NE , NE , N22 N N ( (    2 2 ) )

    (I , 2)(I , 2)

     

  • 8/18/2019 Tema 7 de Fundamentos de la Programación

    57/99

    ( ) ( )  C :C : ()()

     C :C : ( (    2 2 ) )

    C (C ( ): ): ( (    2 2 ) )

    H H

     

  • 8/18/2019 Tema 7 de Fundamentos de la Programación

    58/99

       ( (      ) ) 

  • 8/18/2019 Tema 7 de Fundamentos de la Programación

    59/99

     

  • 8/18/2019 Tema 7 de Fundamentos de la Programación

    60/99

       

     

    S S S

    L :L :L :

    L :L :L :

  • 8/18/2019 Tema 7 de Fundamentos de la Programación

    61/99

       

     

    L :L :L :

    L :L :L :

    S S S

  • 8/18/2019 Tema 7 de Fundamentos de la Programación

    62/99

     

    L :L :L :

    L :L :L :

    S S S

       

  • 8/18/2019 Tema 7 de Fundamentos de la Programación

    63/99

       

     

     

    L :L :L :

    L :L :L :

    S S S

  • 8/18/2019 Tema 7 de Fundamentos de la Programación

    64/99

       

     

     

    L :L :L :

    L :L :L :

    S S S

  • 8/18/2019 Tema 7 de Fundamentos de la Programación

    65/99

       

     

     

    L :L :L :

    L :L :L :

    S S S

  • 8/18/2019 Tema 7 de Fundamentos de la Programación

    66/99

       

     

     

    L :L :L :

    L :L :L :

    S S S

  • 8/18/2019 Tema 7 de Fundamentos de la Programación

    67/99

       

     

     

      L :L :L :

    L :L :L :

    S S S

  • 8/18/2019 Tema 7 de Fundamentos de la Programación

    68/99

       

     

       

      L :L :L :

    L :L :L :

    S S S

  • 8/18/2019 Tema 7 de Fundamentos de la Programación

    69/99

       

     

            L :L :L :

    L :L :L :

    LISTA ORDENADA !!! LISTA ORDENADA !!!LISTA ORDENADA !!!

    S S S

  • 8/18/2019 Tema 7 de Fundamentos de la Programación

    70/99

    (  (  = 0) = 0) (  (  2): 2):

    ( (    )  )     (  ( 1)1)

          

     

    S SS

  • 8/18/2019 Tema 7 de Fundamentos de la Programación

    71/99

     

    .

    ..

    N = 15;

  • 8/18/2019 Tema 7 de Fundamentos de la Programación

    72/99

    // D // D ...... ((  = = 00; < N; < N  11; ++) ; ++)

      = ; = ;// D + 1 ...// D + 1 ... ((  = + = + 11; < N; ++) ; < N; ++)

     ( < ) ( < )

    = ; = ; ( > ) ( > )

     ;; = ; = ; = ; = ; = ; = ;

     

    N 15;

    LN;L ;

  • 8/18/2019 Tema 7 de Fundamentos de la Programación

    73/99

       ?  ? 

    B : NB : N  1 1

    T :T :(N(N  1) + (N1) + (N  2) + (N2) + (N  3) + ... + 3 + 2 + 1 =3) + ... + 3 + 2 + 1 =NN  (N(N  1) / 2 = (N1) / 2 = (N22  N) / 2N) / 2 ( (  2 2 ) )

    M M

    C:C: ( (  2 2 ) )   I I

    A ( ; )A ( ; )

    E?E?N : N : N N

    C ( )C ( )

     

  • 8/18/2019 Tema 7 de Fundamentos de la Programación

    74/99

     

  • 8/18/2019 Tema 7 de Fundamentos de la Programación

    75/99

           E E  

     

  • 8/18/2019 Tema 7 de Fundamentos de la Programación

    76/99

     

    .

    ..

  • 8/18/2019 Tema 7 de Fundamentos de la Programación

    77/99

       (  (  = 0), = 0), ( (  2): 2): ( (    = =  1),1),  + 1+ 1::    < <     1, 1,

    ...... ;;// D // D ......

    ((  = = 00; < N; < N  11; ++) ; ++) // D // D ... ... ((  = N = N  11; > ; ; > ; ) )

     ( < ( <  11) ) = ; = ;

    = =  11;;  11 = ; = ;

     

    N = 10; LN;

    L ;

  • 8/18/2019 Tema 7 de Fundamentos de la Programación

    78/99

           C:C: ( (  2 2 ) )

    C C

    E ( )E ( )M:M:

    S :S :

    L  L    ( ) ( )

    14 14 14 1214 14 14 12

    16 16 12 1416 16 12 14

    35 12 16 1635 12 16 16

    12 35 35 3512 35 35 35

    50 50 50 5050 50 50 50

     

    L  L   N N

      == ;;

    2.

    2.2.

  • 8/18/2019 Tema 7 de Fundamentos de la Programación

    79/99

      = = 00;;// D 1// D 1  ... ... (( < N(( < N  11) && ) ) && )

    = = ;;// D // D ... ... ((  = N = N  11; > ; ; > ; ) )

     ( < ( <  11) )  ;; = ; = ;

    = =  11;;  11 = ; = ; = = ;;

     () ()

    ++;++;

     

    E E  

  • 8/18/2019 Tema 7 de Fundamentos de la Programación

    80/99

     

  • 8/18/2019 Tema 7 de Fundamentos de la Programación

    81/99

    C C

    O :O :

      II : :   BB

    ? ?

      S : S :   S  S   : :

     

    D: I D: I

    .

    ..

  • 8/18/2019 Tema 7 de Fundamentos de la Programación

    82/99

     N =N = 2020;;

       ;;

     ;; ;;

    RR;;

     R AR AN;N;

      AA ;; ;;

    LL;;

     

    S: M S: M

  • 8/18/2019 Tema 7 de Fundamentos de la Programación

    83/99

    (( LL &);&);

    >(>(RR I,I, RR D);D);

  • 8/18/2019 Tema 7 de Fundamentos de la Programación

    84/99

    O O

    II ( ) ( )

    BB ( ( ) )

    S , S , ()() 

    >(>(RR I,I, RR D) D)

     I. > D.;I. > D.;

  • 8/18/2019 Tema 7 de Fundamentos de la Programación

    85/99

      = = ;; (. == N) (. == N) = = ;; // //

     

      = = 00;; (( < .) && (. ; = .; > ; ) ) // D // D

    . = .. = .

     11;;

    . = ;. = ;.++;.++;

     ;;    

  • 8/18/2019 Tema 7 de Fundamentos de la Programación

    86/99

     

  • 8/18/2019 Tema 7 de Fundamentos de la Programación

    87/99

    N : N :

    O: O:  / /

    B 36:  B 36:  

    B 17: 20  B 17: 20  

    C C ::

    S S

    S S

    S S M M

     

     ;; N = 10;

  • 8/18/2019 Tema 7 de Fundamentos de la Programación

    88/99

    > ;  = = 00;; (( < N) && ( < )) (( < N) && ( < ))

    ++;++;// A, >= // A, >= ( == N) ( == N) // A : // A :

  • 8/18/2019 Tema 7 de Fundamentos de la Programación

    89/99

     

    BB

  • 8/18/2019 Tema 7 de Fundamentos de la Programación

    90/99

           : : ,   ,   , , , ,

    , , , ,    

     

    B 12

    E E E

    V V () ()

    D D

  • 8/18/2019 Tema 7 de Fundamentos de la Programación

    91/99

    D D

    I :I :

    : : = ( + ) / = ( + ) / 22

    S ,S , ? ?

    B < :B < : = =  11

    B > :B > : = + = + 11

    SS  >> , ,

     

     

     

    B 12

  • 8/18/2019 Tema 7 de Fundamentos de la Programación

    92/99

    1212 < <   = =  11

    1212 > >   = + = + 11

     

     

     

      ! 

    S  S  , :, : > >

  • 8/18/2019 Tema 7 de Fundamentos de la Programación

    93/99

    1313 > >   = + = + 11

    1313 < <   = =  11    22

      > >  !!!!!! N N N  N  

     

     

    P 13:

    ;;

    N = 10;

  • 8/18/2019 Tema 7 de Fundamentos de la Programación

    94/99

     ;; > ;  = = 00, = N, = N  11, ;, ;

      = = ;; ((

  • 8/18/2019 Tema 7 de Fundamentos de la Programación

    95/99

    ;;# #

     N =N = 100100;;  AAN;N;

      AA ;; ;;

    LL;;

     (( LL &,&,  ););

     () () LL ;;

     ;;

     ;;. =. = 00;;.(.("."".");); // E // E >> ; >> ;

    ...... 

     ((. < N) && ( !=((. < N) && ( != 11)) )) .. = ;.. = ;

    ++; ++;

  • 8/18/2019 Tema 7 de Fundamentos de la Programación

    96/99

    .++;.++; >> ; >> ;

    .();.(); ((  = = 00; < .; ++) ; < .; ++)

  • 8/18/2019 Tema 7 de Fundamentos de la Programación

    97/99

      = = 11, =, = 00, = ., = .  11, ;, ;  = = ;; ((

  • 8/18/2019 Tema 7 de Fundamentos de la Programación

    98/99

          ?  ? 

    C :C :

    N  N    1 1 NN  = N = N  2 1 2 1

    N / 2, N / 4, N / 8, N / 16, ..., 8, 4, 2, 1N / 2, N / 4, N / 8, N / 16, ..., 8, 4, 2, 1

    ≡≡

     1, 2, 4, 8, ..., N / 16, N / 8, N / 4, N / 21, 2, 4, 8, ..., N / 16, N / 8, N / 4, N / 2S N 2:S N 2:

    2200, 2, 211, 2, 222, 2, 233, ..., 2, ..., 244, 2, 233, 2, 222, 2, 211

    NN  : : NN  = =   N = 2N = 2 = = 22 NN

    C:C: ( (  2 2    ) )   M M ()()

     

    (  (   ) )E E

  • 8/18/2019 Tema 7 de Fundamentos de la Programación

    99/99

    E E . .

    E :E :

    P P ..

       

    R ( ):E .

    N (  ):L .

    C ( ):L

    .