hcm_u4_ea_mapl.codigos
DESCRIPTION
HERRAMIENTAS COMPUTACIONALESCÓDIGOSEVIDENCIA DE APRENDIZAJE 4.TRANSCRIPT
ASIGNATURA: HERRAMIENTAS Y LENGUAJES COMPUTACIONALES
Escribe y ejecuta los siguientes programas en JAVA: El programa más corto posible (no hace nada). ¿Cuántos caracteres contiene?
CÓDIGO:public class Nada{ public static void main (String arg[]){ }}
Este programa tiene 52 caracteres.
Un programa que despliegue el mensaje: “\Hola, mundo.” (Incluyendo la diagonal invertida y las comillas).
CÓDIGO:import javax.swing.*;public class HolaMundo{ public static void main (String arg[]){ JOptionPane.showMessageDialog(null,"\" \\ Hola Mundo \""); }}
Un programa que despliegue el mensaje “\Hola, mundo.” (Incluyendo la diagonal invertida y las comillas) 30 veces.
CÓDIGO:public class HolaMundo{ public static void main (String arg[]){ int i; for(i=0; i<30; i++){ System.out.println("\" \\ Hola Mundo \""); } } }
Diseña el algoritmo, y luego desarrolla y ejecuta el programa en JAVA para calcular el factorial de un número n.
ALGORITMO EN PSEUDOCÓDIGO:Inicio
Variables: n, fact=1, i.Imprimir: “Ingresa un número”Leer n
DESDE i=1 HASTA i<=n CON INCREMENTO +1fact=fact*i
FIN_DESDE_HASTA
Imprimir: n,“!= ”, factFin
CÓDIGO:import javax.swing.*;public class Factorial{ public static void main(String args[]){ int n; long fact=1; n=Integer.parseInt(JOptionPane.showInputDialog("Ingresa un numero: ")); for(int i=1; i<=n; i++){ fact=fact*i; } JOptionPane.showMessageDialog(null,n+"!= "+fact); }}
Diseña el algoritmo, y luego desarrolla y ejecuta el programa en JAVA para calcular la siguiente suma, dado un número n.
PSEUDOCÓDIGO:
InicioVariables: numero, j, fact=1, suma=1.Imprimir: “Ingresa un número”Leer n
DESDE j=1 HASTA j<=numero CON INCREMENTO +1fact=fact*jsuma=suma+(1/fact)
FIN_DESDE_HASTA
Imprimir: “1+(1/1!)+…+(1/”,numero+“!)= ”, suma
Fin
CÓDIGO:
import javax.swing.*;public class FactorialSumatoria{ public static void main(String args[]){ float numero, j; float fact=1, suma=1; numero=Integer.parseInt(JOptionPane.showInputDialog("Ingresa un numero: ")); for(j=1; j<=numero; j++){ fact=fact*j; suma=suma+(1/fact); } JOptionPane.showMessageDialog(null,"1+(1/1!)+...+(1/"+numero+"!)="+suma); }}
Diseña el algoritmo, y luego desarrolla y ejecuta el programa en JAVA para factorizar un número entero.
PSEUDOCÓDIGO:Inicio
Variables: d=2, r, n.Leer n
MIENTRAS n>1 HACERr=n%dSI r==0 ENTONCES
Imprimir dn=n/d
FIN_SISI r!=0 ENTONCES
d=d+1FIN_SI
FIN_MIENTRASFin
CÓDIGO:import javax.swing.*;public class FactorDeUnNumero{ public static void main(String args[]){ int n, d=2, r, m, contador; String Resultado=""; n=Integer.parseInt(JOptionPane.showInputDialog("Ingresa un numero entero
positivo: ")); m=n; while(n>1){ contador=0; while((n%d)==0){ ++contador; n/=d; } if(contador>0){ Resultado=Resultado+""+("("+d+"^"+contador+")"); } d++; } JOptionPane.showMessageDialog(null,"Los factores de "+m+" son:\n"+Resultado); }}
Cambia la codificación en JAVA del programa anterior y esta vez utiliza long para los enteros. Ve si se produce alguna diferencia cuando se factorizan números grandes. Comenta por qué hubo o por qué no hubo diferencias. CÓDIGO:import javax.swing.*;public class FactorDeUnNumero{ public static void main(String args[]){ long n, d=2, r, m, contador; String Resultado=""; n=Integer.parseInt(JOptionPane.showInputDialog("Ingresa un numero entero positivo: ")); m=n; while(n>1){ contador=0; while((n%d)==0){ ++contador; n/=d; } if(contador>0){ Resultado=Resultado+""+("("+d+"^"+contador+")"); } d++; } JOptionPane.showMessageDialog(null,"Los factores de "+m+" son:\n"+Resultado); }}
Al cambiar las variables de tipo int a long en este programa, no afecta en nada la ejecución cuando se utilizan números grandes, o sea que la diferencia en nula pues tanto int como long usan 32 bits, así que son equivalentes y no hay diferencia.