hcm_u4_ea_edos

Upload: edgardo-olmedo-sotomayor

Post on 04-Jun-2018

213 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/13/2019 HCM_U4_EA_EDOS

    1/16

    Universidad Abierta y aDistancia de Mxico

    UnAD de Mxico

    EVIDENCIA DE APRENDIZAJE.PRORAMACI!N DE UN A"ORI#MO$

    Ed%ardo O&'edoCarrera( "ic. En Mate')ticas

    Materia( *erra'ientas Co'+,taciona&es+ara &as Mate')ticas

  • 8/13/2019 HCM_U4_EA_EDOS

    2/16

    1. Escribe y ejecuta los siguientes programas en C.

    a. El programa ms corto posible (no hace nada).

    Cuntos caracteres contiene?

    AL!"#$%!

    1. Inicio

    2. Fin

    C&'#! E A*A

    ublicclassProgramaNada {ublicstaticvoidmain(String args[]){

    }

    }

  • 8/13/2019 HCM_U4_EA_EDOS

    3/16

    b. +n programa ,ue despliegue el mensaje -ola/mundo.0 (incluyendo la diagonal inertida y lascomillas).

    AL!"#$%!

    1. Inicio

    2. Imprimir mensaje

    3. Fin

    C&'#! E A*A

    ublicclassImprimirMensaje {ublicstaticvoidmain(String args[]){

    Systemoutprintln(!""#ola$ mundo!)%

    }

    }

  • 8/13/2019 HCM_U4_EA_EDOS

    4/16

    c. +n programa ,ue despliegue el mensaje -ola/mundo.0 (incluyendo la diagonal inertida y lascomillas) 23 eces.

    AL!"#$%!

    1. Inicio

    2. Iniciar variable contadorcon valor a 0

    3. Se inicia el ciclo forverificando que contador sea menor

    a 30, de lo contrario salta al paso 6.

    4. Imprimir mensaje

    . !e"resamos al paso 3.

    6. Fin

    C&'#! E A*A

    ublicclassImprimirMensaje {ublicstaticvoidmain(String args[]){

    &or(intcontador'%contador*%contador++){Systemoutprintln(!""#ola$ mundo!)%

    }

    }

    }

    #os desple"ar$ en pantalla lo si"uiente%

    \Hola, mundo."

    23 *ECE455

  • 8/13/2019 HCM_U4_EA_EDOS

    5/16

    2. 'ise6a el algoritmo/ y luego desarrolla y ejecuta elprograma en C para calcular el 7actorial de un n8mero n9

    AL!"#$%!

    1. Inicio

    2. &stablecer la variable numero, con valor de 0

    3. &stablecer la variable factorial, con valor de 1

    4. Se solicita datos al 'suario

    . Se "uarda el dato introducido por el usuario en la variable numero

    6. Se inicia el ciclo forverificando que el contadorsea menor o i"ual que el

    numero in"resado, de lo contrario salta al paso (

    ). Se reali*a la multiplicaci+n de la variable factorial por contador el

    resultado se le asi"na a factorial

    -. a variable contadorse incrementa en uno re"resa al paso 6

    (. Imprime la variable factorial, que es el resultado al problema propuesto

    10. Fin

    C&'#! E A*A

    im ortjavaio,%

    ublicclass-actorial { ublicstaticvoidmain(String args[]){ intnumero'$ &actorial'.%

    InputStream/eader isr ' ne0InputStream/eader(Systemin)% 1u&&ered/eader br ' ne01u&&ered/eader(isr)%

  • 8/13/2019 HCM_U4_EA_EDOS

    6/16

  • 8/13/2019 HCM_U4_EA_EDOS

    7/16

    3. 'ise6a el algoritmo/ y luego desarrolla y ejecuta elprograma en C para calcular la siguiente suma dado un

    n8mero n9

    AL!"#$%!

    1. Inicio

    2. &stablecer la variable cont_factorial, con valor de 1

    3. &stablecer la variable cont_sumatoria, con valor de 1

    4. &stablecer la variable numero, con valor de 1

    . &stablecer la variable factorial, con valor de 1

    6. &stablecer la variable sumatoria, con valor de 1.0

    ). Se solicita datos al 'suario

    -. Se "uarda el dato introducido por el usuario en la variable numero

    (. Se inicia el ciclo forverificando que el contador_sumatoriasea menor

    que el numero in"resado, de lo contrario salta al paso 1

    10. Se inicia el ciclo forverificando que el contador_factorialsea menor que

    el contador_sumatoria in"resado, de lo contrario salta al paso 13

    11. Se reali*a la multiplicaci+n de la variable factorialporcontador_factorial

    el resultado se le asi"na a factorial

    12. a variable contador_factorialse incrementa en uno re"resa al paso

    10

    13. Se reali*a la suma de la variable sumatoriaconsumatoria el resultado

    del cociente de 1entre factorial, se le asi"na a sumatoria

    14. a variable contador_sumatoriase incrementa en uno re"resa al paso

    (

    1. Imprime la variable sumatoria, que es el resultado al problema propuesto

    16. Fin

  • 8/13/2019 HCM_U4_EA_EDOS

    8/16

    C&'#! E A*A

    im ortjavaio,%

    ublicclassSumatoria { ublicstaticvoidmain(String args[]){ intnumero'$ &actorial'.% doublesumatoria'.%

    InputStream/eader isr ' ne0InputStream/eader(Systemin)% 1u&&ered/eader br ' ne01u&&ered/eader(isr)%

    booleanbandera%

    do{ try{ Systemoutprint(!Introdu2ca un n3mero entero para calcularla

    sumatoria4 !)%

    numero'IntegerparseInt(brread5ine())% bandera'true% }catc6(78ception e){ Systemoutprintln(!,,,7rror4 7l dato introducido no es unn3mero

    entero$ intente nuevamente!)%

    bandera'&alse% } }06ile(bandera''&alse)%

  • 8/13/2019 HCM_U4_EA_EDOS

    9/16

    &or(int cont9sumatoria'.%cont9sumatoria'numero%cont9sumatoria++){

    &or(intcont9&actorial'.%cont9&actorial'cont9sumatoria%cont9&actorial++ ){

    &actorial'&actorial,cont9&actorial% }

    Systemoutprintln(!7l &actorial de !+cont9sumatoria+! '!+&actorial)%

    sumatoria'sumatoria+.:&actorial% Systemoutprintln(!5a sumatoria de !+cont9sumatoria+! '!+sumatoria)%

    &actorial'.% }

    Systemoutprintln(!S;M/I< =>=

  • 8/13/2019 HCM_U4_EA_EDOS

    10/16

    :. 'ise6a el algoritmo/ y luego desarrolla y ejecuta elprograma en C para 7actori;ar un n8mero entero/ a partirde la siguiente secuencia de acciones9

    a. Establece d/ el diisor de prueba/ a

  • 8/13/2019 HCM_U4_EA_EDOS

    11/16

  • 8/13/2019 HCM_U4_EA_EDOS

    12/16

    im ortjavaio,%

    ublicclass-actori2acion { ublicstaticvoidmain(String args[]){ intn'$r'$d'?%

    InputStream/eader isr ' ne0InputStream/eader(Systemin)% 1u&&ered/eader br ' ne01u&&ered/eader(isr)%

    booleanbandera%

    do{ try{ Systemoutprint(!Introdu2ca un n3mero entero a

    descomponer

    di&erente de .4 !)%

    n'IntegerparseInt(brread5ine())%

    bandera'true% }catc6(78ception e){ Systemoutprintln(!,,,7rror4 7l dato introducido no es

    un n3mero

    entero$ intente nuevamente!)%

    bandera'&alse% }

    }06ile(bandera''&alse)%

    do{ r ' n @ d%

    i&(r''){ Systemoutprintln(!d' !+d)%

  • 8/13/2019 HCM_U4_EA_EDOS

    13/16

    n'n:d%

    }else{ d'd+.%

    }

    }06ile(nA'.)% }

    }

  • 8/13/2019 HCM_U4_EA_EDOS

    14/16

    g. Cambia la codi7icaci=n del programa anterior y estae; utili;a long para los enteros. *e si se producealguna di7erencia cuando se 7actori;an n8merosgrandes. Comenta por ,uD o por ,uD no hubodi7erencias. ota ,ue a medida ,ue aumenta eltama6o de los n8meros a 7actori;ar el programare,uiere ms tiempo de ejecuci=n.

    AL!"#$%!

    1. Inicio

    2. &stablecer la variable d5que representa divisor, con valor de 2

    3. &stablecer la variable r5que representa residuo, con valor de 0

    4. &stablecer la variable n5representa el nmero a descomponer, con valor

    de 0

    . Se solicita datos al 'suario

    6. Se "uarda el dato introducido por el usuario en la variable n

    ). Se inicia el ciclo dopor lo tanto reali*amos los si"uientes pasos

    -. alculamos el residuo utili*ando la funci+n m+dulo entre n5nmero

    d5divisor, el resultado se almacenar$ en la variable r5residuo

    (. Se inicia un condicional ifdonde se verifica si la variable r es i"ual a

    cero. 7e ser verdad la sentencia continuamos al paso 10, de lo contrario

    vamos al paso 12

    10. Imprime en pantalla el valor de la variable d, cuo objeto es mostrarnos

    uno de sus componentes

    11. 7ividimos n entre d el resultado lo almacenamos en n, con esteprocedimiento reducimos npara calcular sus factores. 8rincamos al paso

    13.

    12. 9 la variable dle a"re"amos un 1 el resultado se lo asi"namos a d, con

    esta acci+n incrementamos la variable divisor en 1

    13. :erificamos que la variable n sea diferente de uno, si es verdad nos

    diri"imos al paso - de lo contrario pasamos al paso 13

    14. Fin

  • 8/13/2019 HCM_U4_EA_EDOS

    15/16

    C&'#! E A*A

    im ortjavaio,%

    ublicclass-actori2acion { ublicstaticvoidmain(String args[]){ longn'$r'$d'?%

    InputStream/eader isr ' ne0InputStream/eader(Systemin)% 1u&&ered/eaderbr ' ne01u&&ered/eader(isr)%

    booleanbandera%

    do{ try{ Systemoutprint(!Introdu2ca un n3mero entero a

    descomponer

    di&erente de .4 !)%

    n'IntegerparseInt(brread5ine())%

    bandera'true% }catc6(78ception e){ Systemoutprintln(!,,,7rror4 7l dato introducido no es

    un n3mero

    entero$ intente nuevamente!)%

    bandera'&alse% }

    }06ile(bandera''&alse)%

    do{

  • 8/13/2019 HCM_U4_EA_EDOS

    16/16

    r ' n @ d%

    i&(r''){ Systemoutprintln(!d' !+d)%

    n'n:d%

    }else{ d'd+.%

    }

    }06ile(nA'.)% }

    }

    Gracias maestro espero su retroalimentacin.

    ATTE

    Edgardo Olmedo