hcm_u4_ea_edos
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