SlideShare una empresa de Scribd logo
1 de 8
Utilización de la clase Math
Se puede usar la clase java.lang.Math para ejecutar muchas operaciones Matemáticas.
Las constantes y métodos de la clase son:
double E: El número 'e' (2.7 1828 18284590452354)
double PI: La constante pi (3.14159265358979323846)
double sin(doub1e a): Seno
doublecos(doub1e a): Coseno
double tan(doub1e a): Tangente
doubleasin(doub1e a): Arcoseno
doubleacos(doub1e a): Arcocoseno
double atan(doub1e a): Arcotangente
doubleatan2(double a): Arcotangente (versión 2 del operando)
doubleexp(doub1e a): Eleva el número 'e' a la potencia 'a'
double log(doub1e a): Logaritmo del valor 'a'
doublesqrt(doub1e a): Raíz cuadrada del valor 'a'
doublepow(doub1e a, double b): Elevar el valor 'a' a la potencia 'b'
doublecell(doub1e a): Método ceiling:Devuelve el número entero más pequeño mayor o igual que el número especificado
doublefloor(doub1e a): Métodofloores el entero mayor o igual al mismo numero
doublerint(doub1e a): Enteroaleatorio
int round(doub1e a): Redondea un double
long round(float a): Redondeaunfloat
doublerandom( ): Número aleatorio
intabs(int a): Valor absoluto de un entero
longabs(1ong a): Valor absoluto de un long
floatabs(float a): Valor absoluto de unfloat
doubleabs(doub1e a): Valor absoluto de un double
int min(int a, int b): Mínimo de los dos enteros
long min(1ong a, long b): Mínimo de dos long
float min(floata,floatb): Mínimo de dosfloat
double min(doub1e a, double b): Mínimo de dos double
intmax(int a, int b): Máximo de dos enteros
longmax(1ong a, long b): Máximo de dos long
floatmax(floata,float b): Máximo de dosfloat
doublemax(doub1e a, double b): Máximo de dos doublé
int a=9.55;
S.O.P(Math.round(a));
::::::::::::::::::::::
double base =5;
double exponente=3;
double potencia =0;
potencia = Math.pow(base, exponente);
System.out.println("potencia =" +potencia);
Math.___(variable)

C. Entrada/Salida por archivo
a.) Tipos de archivos
En Java es posible utilizar dos tipos de archivos (de texto o binarios) y dos tipos de acceso a los archivos (secuencial o
aleatorio).
Los archivos de texto están compuestos de caracteres legibles, mientras que los binarios pueden almacenar cualquier
tipo de datos (int, float, boolean,...).
Una lectura secuencial implica tener que acceder a un elemento antes de acceder al siguiente, es decir, de una
manera lineal (sin saltos). Sin embargo los archivos de acceso aleatorio permiten acceder a sus datos de una forma
aleatoria, esto es indicando una determinada posición desde la que leer/escribir.
b.) Clases a estudiar
En el paquete java.io existen varias clases de las cuales podemos crear instancias de clases para tratar todo tipo de
archivos.
En este tutorial sólo vamos a trata las tres principales:
FileOutputStream: Archivo de salida de texto. Representa archivos de texto para escritura a los que se accede de
forma secuencial.
FileInputStream: Archivo de entrada de texto. Representa archivos de texto de sólo lectura a los que se accede de
forma secuencial.
RandomAccessFile: Archivo de entrada o salida binario con acceso aleatorio. Es la base para crear los objetos de tipo
archivo de acceso aleatorio. Estos archivos permiten multitud de operaciones; saltar hacia delante y hacia atrás para
leer la información que necesitemos en cada momento, e incluso leer o escribir partes del archivo sin necesidad de
cerrarlo y volverlo a abrir en un modo distinto.
c.) Generalidades
Para tratar con un archivo siempre hay que actuar de la misma manera:
1. Se abre el archivo.
Para ello hay que crear un objeto de la clase correspondiente al tipo de archivo que vamos a manejar, y el tipo de
acceso que vamos a utilizar:
TipoDeArchivoobj = new TipoDeArchivo( ruta );
Donde ruta es la ruta de disco en que se encuentra el archivo o un descriptor de archivo válido.
Este formato es válido, excepto para los objetos de la clase RandomAccessFile (acceso aleatorio), para los que se ha
de instanciar de la siguiente forma:
RandomAccessFileobj = new RandomAccessFile(ruta, modo );
Donde modo es una cadena de texto que indica el modo en que se desea abrir el archivo; "r" para sólo lectura o "rw"
para lectura y escritura.
2. Se utiliza el archivo.
Para ello cada clase presenta diferentes métodos de acceso para escribir o leer en el archivo.
3. Gestión de excepciones (opcional, pero recomendada)
Se puede observar que todos los métodos que utilicen clases de este paquete deben tener en su definición una
cláusula throwsIOException. Los métodos de estas clases pueden lanzar excepciones de esta clase (o sus hijas) en el
transcurso de su ejecución, y dichas excepciones deben de ser capturadas y debidamente gestionadas para evitar
problemas.
4. Se cierra el archivo y se destruye el objeto.
Para cerrar un archivo lo que hay que hacer es destruir el objeto. Esto se puede realizar de dos formas, dejando que
sea el recolector de basura de Java el que lo destruya cuando no lo necesite (no se recomienda) o destruyendo el
objeto explícitamente mediante el uso del procedimiento close() del objeto:
obj.close()
d.) La clase FileOutputStream
Mediante los objetos de esta clase escribimos en archivos de texto de forma secuencial.
Presenta el método write() para la escritura en el archivo. Presenta varios formatos:
intwrite( int c ): Escribe el carácter en el archivo.
intwrite( byte a[] ): Escribe el contenido del vector en el archivo.
intwrite( byte a[], int off, intlen ): Escribe len caracteres del vector a en el archivo, comenzando desde la posición off.
El siguiente ejemplo crea el archivo de texto "/carta.txt" a partir de un texto que se le introduce por teclado:
importjava.io.*;

classCreaCarta {

public static void main(String args[]) throws IOException{

int c;

FileOutputStream f=new FileOutputStream("/carta.txt");

while( ( c=System.in.read() ) != -1 )

f.write( (char)c );

f.close();

}
}

e.) La clase FileInputStream
Mediante los objetos de esta clase leemos de archivos de texto de forma secuencial.
Presenta el método read() para la lectura del archivo. Este método se puede invocar de varias formas.
intread(): Devuelve el siguiente carácter del archivo.
intread( byte a[] ): Llena el vector a con los caracteres leídos del archivo. Devuelve la longitud del vector que se ha
llenado si se realizó con éxito o –1 si no había suficientes caracteres en el archivo para llenar el vector.
intread( byte a[], int off, intlen ): Lee len caracteres del archivo, insertándolos en el vector a.
Todos ellos devuelven -1 si se ha llegado al final del archivo (momento de cerrarle).
El siguiente ejemplo muestra el archivo de texto "/carta.txt" en pantalla:
importjava.io.*;

classMuestraCarta {

public static void main(String args[]) throws IOException {

int c;

FileInputStream f=new FileInputStream("/carta.txt");

while( ( c=f.read() ) != -1 )

System.out.print( (char)c );

f.close();

}

}

f.) La clase RandomAccessFile
Mediante los objetos de esta clase utilizamos archivos binarios mediante un acceso aleatorio, tanto para lectura como
para escritura. En estos archivos hay un índice que nos dice en qué posición del archivo nos encontramos, y con el que
se puede trabajar para posicionarse en el archivo.
Métodos de desplazamiento
Cuenta con una serie de funciones para realizar el desplazamiento del puntero del archivo. Hay que tener en cuenta
que cualquier lectura o escritura de datos se realizará a partir de la posición actual del puntero del archivo.
longgetFilePointer();Devuelve la posición actual del puntero del archivo.
voidseek( long l ); Coloca el puntero del archivo en la posición indicada por l. Un archivo siempre empieza en la
posición 0.
intskipBytes( int n ); Intenta saltar n bytes desde la posición actual.
longlength(); Devuelve la longitud del archivo.
voidsetLength( long l); Establece a l el tamaño de este archivo.
FileDescriptorgetFD(); Devuelve el descriptor de este archivo.
Métodos de escritura
La escritura del archivo se realiza con una función que depende el tipo de datos que se desee escribir.
voidwrite( byte b[], intini, intlen ); Escribe len caracteres del vector b.
voidwrite( int i ); Escribe la parte baja de i (un byte) en el flujo.
voidwriteBoolean( boolean b ); Escribe el boolean b como un byte.
voidwriteByte( int i ); Escribe i como un byte.
voidwriteBytes( String s ); Escribe la cadena s tratada como bytes, no caracteres.
voidwriteChar( int i ); Escribe i como 1 byte.
voidwriteChars( String s ); Escribe la cadena s.
voidwriteDouble( double d ); Convierte d a long y le escribe como 8 bytes.
voidwriteFloat( float f ); Convierte f a entero y le escribe como 4 bytes.
voidwriteInt( int i ); Escribe i como 4 bytes.
voidwriteLong( long v ); Escribe v como 8 bytes.
voidwriteShort( int i ); Escribe i como 2 bytes.
voidwriteUTF( String s ); Escribe la cadena s utilizando la codificación UTF-8.
Los métodos que escriben números de más de un byte escriben el primero su parte alta.
Métodos de lectura
La lectura del archivo se realiza con una función que depende del tipo de datos que queremos leer.
booleanreadBoolean(); Lee un byte y devuelve false si vale 0 o true sino.
bytereadByte(); Lee y devuelve un byte.
charreadChar(); Lee y devuelve un caracter.
doublereadDouble(); Lee 8 bytes, y devuelve un double.
floatreadFloat(); Lee 4 bytes, y devuelve un float.
voidreadFully( byte b[] ); Lee bytes del archivo y los almacena en un vector b.
voidreadFully( byte b[], intini, intlen ); Lee len bytes del archivo y los almacena en un vector b.
intreadInt(); Lee 4 bytes, y devuelve un int.
longreadLong(); Lee 8 bytes, y devuelve un long.
shortreadShort(); Lee 2 bytes, y devuelve un short.
intreadUnsignedByte(); Lee 1 byte, y devuelve un valor de 0 a 255.
intreadUnsignedShort(); Lee 2 bytes, y devuelve un valor de 0 a 65535.
StringreadUTF(); Lee una cadena codificada con el formato UTF-8.
intskipBytes(int n); Salta n bytes del archivo.
Si no es posible la lectura devuelven –1.
Ejemplo
Vamos a crear un pequeño programa que cree y acceda a un archivo binario, mediante acceso aleatorio.
El siguiente ejemplo crear un archivo binario que contiene los 100 primeros números (en orden):
// Crea un archivo binario con los 100 primeros numeros

static void creaFichBin( String ruta ) throws IOException {

RandomAccessFile f=new RandomAccessFile(ruta,"rw"); // E/S

for ( int i=1; i <= 100 ; i++ )

{

try{

f.writeByte( i );

} catch(IOException e){

// Gestion de excepcion de ejemplo

break; // No se puede seguir escribiendo

}

f.close();

}

}

El siguiente método accede al elemento cual de un archivo binario, imprimiendo la longitud del archivo, el elemento
cual y su 10 veces siguiente elemento:
static void imprimeEltoN(String ruta, long cual)

throwsIOException{
RandomAccessFile f=new RandomAccessFile(ruta,"r"); // E/

System.out.print( "El archivo " + ruta );

System.out.println( " ocupa " + f.length() + " bytes." );

f.seek( cual-1 ); // Me posiciono (-1 porque empieza en 0)

System.out.print(" En la posicion " + f.getFilePointer() );

System.out.println(" esta el numero " + f.readByte() );

f.skipBytes( 9 ); // Salto 9 => Elemento 10 masalla

System.out.print(" 10 elementos más allá, esta el ");

System.out.println(f.readByte() );

f.close();

}

Si incluimos ambos métodos en una clase, y les llamamos con el siguiente programa principal (main()):
public static void main(String args[]) throws IOException {

String ruta="numeros.dat"; // Archivo

creaFichBin( ruta ); // Se crea

imprimeEltoN( ruta, 14 ); // Accedo al elemento 14.

}

Obtendremos la siguiente salida:
El archivonumeros.dat ocupa 100 bytes.
En la posicion 13 esta el numero 14
10 elementos más allá, esta el 24

Más contenido relacionado

La actualidad más candente

Manejo de archivos en java
Manejo de archivos en javaManejo de archivos en java
Manejo de archivos en java
MaiirOn Gaitan
 
Trabajo sobre archivos en java.. programacion no numerica ii
Trabajo sobre archivos en java.. programacion no numerica iiTrabajo sobre archivos en java.. programacion no numerica ii
Trabajo sobre archivos en java.. programacion no numerica ii
rafaelrojas91
 
Flujos de bytes y cadenas
Flujos de bytes y cadenasFlujos de bytes y cadenas
Flujos de bytes y cadenas
Juan Durango
 
Archivos aleatorios en java
Archivos aleatorios en javaArchivos aleatorios en java
Archivos aleatorios en java
jent46
 
Tema 8 entrada y salida por gio
Tema 8   entrada y salida por gioTema 8   entrada y salida por gio
Tema 8 entrada y salida por gio
Robert Wolf
 
11. lectura y escritura de información
11. lectura y escritura de información11. lectura y escritura de información
11. lectura y escritura de información
Anuska González
 

La actualidad más candente (20)

Tipos de datos entrada y salida
Tipos de datos entrada y salidaTipos de datos entrada y salida
Tipos de datos entrada y salida
 
Java
JavaJava
Java
 
Manejo de archivos en java
Manejo de archivos en javaManejo de archivos en java
Manejo de archivos en java
 
Trabajo sobre archivos en java.. programacion no numerica ii
Trabajo sobre archivos en java.. programacion no numerica iiTrabajo sobre archivos en java.. programacion no numerica ii
Trabajo sobre archivos en java.. programacion no numerica ii
 
Tipos de datos Java
Tipos de datos JavaTipos de datos Java
Tipos de datos Java
 
Jyoc java-cap17 persistencia. nio
Jyoc java-cap17 persistencia. nioJyoc java-cap17 persistencia. nio
Jyoc java-cap17 persistencia. nio
 
Biblioteca
BibliotecaBiblioteca
Biblioteca
 
Tipo de datos JAVA
Tipo de datos JAVATipo de datos JAVA
Tipo de datos JAVA
 
Flujos de bytes y cadenas
Flujos de bytes y cadenasFlujos de bytes y cadenas
Flujos de bytes y cadenas
 
Java
JavaJava
Java
 
Archivos aleatorios en java
Archivos aleatorios en javaArchivos aleatorios en java
Archivos aleatorios en java
 
Flujos y archivo en java
Flujos y archivo en javaFlujos y archivo en java
Flujos y archivo en java
 
Tipos de datos.java
Tipos de datos.javaTipos de datos.java
Tipos de datos.java
 
Tipos de datos_en_java
Tipos de datos_en_javaTipos de datos_en_java
Tipos de datos_en_java
 
Jyoc java-cap14 persistencia. ficheros corrientes
Jyoc java-cap14 persistencia. ficheros corrientesJyoc java-cap14 persistencia. ficheros corrientes
Jyoc java-cap14 persistencia. ficheros corrientes
 
Tema 8 entrada y salida por gio
Tema 8   entrada y salida por gioTema 8   entrada y salida por gio
Tema 8 entrada y salida por gio
 
PREGUNTAS
PREGUNTAS PREGUNTAS
PREGUNTAS
 
S2-EDD-1.2 Paso de estructuras y punteros a funciones, recursividad
S2-EDD-1.2 Paso de estructuras y punteros a funciones, recursividadS2-EDD-1.2 Paso de estructuras y punteros a funciones, recursividad
S2-EDD-1.2 Paso de estructuras y punteros a funciones, recursividad
 
Aplicaciones en java_genesis_duran (3)
Aplicaciones en java_genesis_duran (3)Aplicaciones en java_genesis_duran (3)
Aplicaciones en java_genesis_duran (3)
 
11. lectura y escritura de información
11. lectura y escritura de información11. lectura y escritura de información
11. lectura y escritura de información
 

Destacado

Práctica de laboratorio n°3. estructuras secuenciales simples selectivas
Práctica de laboratorio n°3. estructuras secuenciales simples selectivasPráctica de laboratorio n°3. estructuras secuenciales simples selectivas
Práctica de laboratorio n°3. estructuras secuenciales simples selectivas
Jaime amambal
 
Guia de actividades del profesor e-blocks math
Guia de actividades del profesor   e-blocks mathGuia de actividades del profesor   e-blocks math
Guia de actividades del profesor e-blocks math
ricardo_ariel05
 

Destacado (20)

Clase math.java
Clase math.javaClase math.java
Clase math.java
 
Librería String, Math de Java (NetBeans)
Librería String, Math de Java (NetBeans)Librería String, Math de Java (NetBeans)
Librería String, Math de Java (NetBeans)
 
Semana03 prog ii
Semana03 prog iiSemana03 prog ii
Semana03 prog ii
 
Simulacion
SimulacionSimulacion
Simulacion
 
Aleatorios
AleatoriosAleatorios
Aleatorios
 
Práctica de laboratorio n°3. estructuras secuenciales simples selectivas
Práctica de laboratorio n°3. estructuras secuenciales simples selectivasPráctica de laboratorio n°3. estructuras secuenciales simples selectivas
Práctica de laboratorio n°3. estructuras secuenciales simples selectivas
 
Java util
Java utilJava util
Java util
 
Guia de actividades del profesor e-blocks math
Guia de actividades del profesor   e-blocks mathGuia de actividades del profesor   e-blocks math
Guia de actividades del profesor e-blocks math
 
UTPL-SEMINARIO DE COMPUTACION II-I-BIMESTRE-(OCTUBRE 2011-FEBRERO 2012)
UTPL-SEMINARIO DE COMPUTACION II-I-BIMESTRE-(OCTUBRE 2011-FEBRERO 2012)UTPL-SEMINARIO DE COMPUTACION II-I-BIMESTRE-(OCTUBRE 2011-FEBRERO 2012)
UTPL-SEMINARIO DE COMPUTACION II-I-BIMESTRE-(OCTUBRE 2011-FEBRERO 2012)
 
Base de Datos Orientada a Objetos
Base de Datos Orientada a ObjetosBase de Datos Orientada a Objetos
Base de Datos Orientada a Objetos
 
Java y Bases de Datos
Java y Bases de DatosJava y Bases de Datos
Java y Bases de Datos
 
6 Curso de POO en Java - clases y objetos
6  Curso de POO en Java - clases y objetos6  Curso de POO en Java - clases y objetos
6 Curso de POO en Java - clases y objetos
 
Taller 1 3
Taller 1 3Taller 1 3
Taller 1 3
 
7 Curso de POO en java - diagrama de clases
7 Curso de POO en java - diagrama de clases7 Curso de POO en java - diagrama de clases
7 Curso de POO en java - diagrama de clases
 
BASE DE DATOS ORIENTADO A OBJETOS
BASE DE DATOS ORIENTADO A OBJETOSBASE DE DATOS ORIENTADO A OBJETOS
BASE DE DATOS ORIENTADO A OBJETOS
 
Base de Datos Orientada a Objetos
Base de Datos Orientada a ObjetosBase de Datos Orientada a Objetos
Base de Datos Orientada a Objetos
 
Modelo de base de datos orientados a objetos
Modelo de base de datos orientados a objetosModelo de base de datos orientados a objetos
Modelo de base de datos orientados a objetos
 
8b Curso de POO en java - paso de diagrama clases a java 1
8b Curso de POO en java - paso de diagrama clases a java 18b Curso de POO en java - paso de diagrama clases a java 1
8b Curso de POO en java - paso de diagrama clases a java 1
 
Motivación
MotivaciónMotivación
Motivación
 
Motivación laboral
Motivación laboralMotivación laboral
Motivación laboral
 

Similar a Utilización de la clase math

PERSISTENCIA BASADA EN ARCHIVOS
PERSISTENCIA BASADA EN ARCHIVOSPERSISTENCIA BASADA EN ARCHIVOS
PERSISTENCIA BASADA EN ARCHIVOS
Darwin Durand
 
Trabajo sobre archivos en java.. programación no numérica II
Trabajo sobre archivos en java.. programación no numérica IITrabajo sobre archivos en java.. programación no numérica II
Trabajo sobre archivos en java.. programación no numérica II
rafaelrojas91
 
Fichero c y c++
Fichero c y c++Fichero c y c++
Fichero c y c++
mauro0210
 
Curso scjp 30 navegacion de archivos e io
Curso scjp 30   navegacion de archivos e ioCurso scjp 30   navegacion de archivos e io
Curso scjp 30 navegacion de archivos e io
programadorjavablog
 
Arreglos Turbo C
Arreglos Turbo CArreglos Turbo C
Arreglos Turbo C
tacubomx
 
Manejo de archivos en java
Manejo de archivos en javaManejo de archivos en java
Manejo de archivos en java
Whaleejaa Wha
 
Manejo+de+archivos+en+java
Manejo+de+archivos+en+javaManejo+de+archivos+en+java
Manejo+de+archivos+en+java
Whaleejaa Wha
 

Similar a Utilización de la clase math (20)

Presentacion metodos de lectura
Presentacion metodos de lecturaPresentacion metodos de lectura
Presentacion metodos de lectura
 
Serializacion
SerializacionSerializacion
Serializacion
 
Archivos en c clase unsam
Archivos en c clase unsamArchivos en c clase unsam
Archivos en c clase unsam
 
PERSISTENCIA BASADA EN ARCHIVOS
PERSISTENCIA BASADA EN ARCHIVOSPERSISTENCIA BASADA EN ARCHIVOS
PERSISTENCIA BASADA EN ARCHIVOS
 
Objetivo 01 Archivos de Texto
Objetivo 01 Archivos de TextoObjetivo 01 Archivos de Texto
Objetivo 01 Archivos de Texto
 
Trabajo sobre archivos en java.. programación no numérica II
Trabajo sobre archivos en java.. programación no numérica IITrabajo sobre archivos en java.. programación no numérica II
Trabajo sobre archivos en java.. programación no numérica II
 
Fichero c y c++
Fichero c y c++Fichero c y c++
Fichero c y c++
 
Lab archivos
Lab archivosLab archivos
Lab archivos
 
Archivos
ArchivosArchivos
Archivos
 
Archivos
ArchivosArchivos
Archivos
 
Programacion no numerica2
Programacion no numerica2Programacion no numerica2
Programacion no numerica2
 
Gestion de archivos
Gestion de archivosGestion de archivos
Gestion de archivos
 
Curso scjp 30 navegacion de archivos e io
Curso scjp 30   navegacion de archivos e ioCurso scjp 30   navegacion de archivos e io
Curso scjp 30 navegacion de archivos e io
 
Presentacion java
Presentacion javaPresentacion java
Presentacion java
 
randomFiles en www.fiec.espol.edu.ec
randomFiles en www.fiec.espol.edu.ecrandomFiles en www.fiec.espol.edu.ec
randomFiles en www.fiec.espol.edu.ec
 
Arreglos Turbo C
Arreglos Turbo CArreglos Turbo C
Arreglos Turbo C
 
03. Archivos Completo Obliogatorio Para Imprimir.pdf
03. Archivos Completo Obliogatorio Para Imprimir.pdf03. Archivos Completo Obliogatorio Para Imprimir.pdf
03. Archivos Completo Obliogatorio Para Imprimir.pdf
 
Archivos
ArchivosArchivos
Archivos
 
Manejo de archivos en java
Manejo de archivos en javaManejo de archivos en java
Manejo de archivos en java
 
Manejo+de+archivos+en+java
Manejo+de+archivos+en+javaManejo+de+archivos+en+java
Manejo+de+archivos+en+java
 

Más de Fernando Omar Arciniega Martinez

Más de Fernando Omar Arciniega Martinez (20)

Estructuras de control
Estructuras de controlEstructuras de control
Estructuras de control
 
La pantalla de excel y sus elementos
La pantalla de excel y sus elementosLa pantalla de excel y sus elementos
La pantalla de excel y sus elementos
 
Guia informática 2 contestada
Guia informática 2   contestadaGuia informática 2   contestada
Guia informática 2 contestada
 
Que son los sistemas de información
Que son los sistemas de informaciónQue son los sistemas de información
Que son los sistemas de información
 
Sistemas formales e informales
Sistemas formales e informalesSistemas formales e informales
Sistemas formales e informales
 
Excel practica
Excel practicaExcel practica
Excel practica
 
Ejercicios practicos y ejemplos de Excel
Ejercicios practicos y ejemplos de ExcelEjercicios practicos y ejemplos de Excel
Ejercicios practicos y ejemplos de Excel
 
Conceptos informatica
Conceptos informaticaConceptos informatica
Conceptos informatica
 
Autoformas
AutoformasAutoformas
Autoformas
 
Auditoria de formulas
Auditoria de formulasAuditoria de formulas
Auditoria de formulas
 
Arquitectura de integración
Arquitectura de integraciónArquitectura de integración
Arquitectura de integración
 
Arquitectura de computadoras
Arquitectura de computadorasArquitectura de computadoras
Arquitectura de computadoras
 
Desafíos de la administración de Recursos Humanos
Desafíos de la administración de Recursos HumanosDesafíos de la administración de Recursos Humanos
Desafíos de la administración de Recursos Humanos
 
guión gráfico y mapa de sitio
guión gráfico y mapa de sitioguión gráfico y mapa de sitio
guión gráfico y mapa de sitio
 
Informática formato de entrega
Informática  formato de entregaInformática  formato de entrega
Informática formato de entrega
 
Ficha archivo excel 2010
Ficha archivo excel 2010Ficha archivo excel 2010
Ficha archivo excel 2010
 
Espacio de trabajo pantalla - dreamweaver cs5
Espacio de trabajo   pantalla - dreamweaver cs5Espacio de trabajo   pantalla - dreamweaver cs5
Espacio de trabajo pantalla - dreamweaver cs5
 
Hipervinculos en office
Hipervinculos en officeHipervinculos en office
Hipervinculos en office
 
Pantalla con el espacio de trabajo de Adobe Flash
Pantalla con el espacio de trabajo de Adobe FlashPantalla con el espacio de trabajo de Adobe Flash
Pantalla con el espacio de trabajo de Adobe Flash
 
Pantalla de power point 2010
Pantalla de power point 2010Pantalla de power point 2010
Pantalla de power point 2010
 

Último

La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...
JonathanCovena1
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
zulyvero07
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Francisco158360
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docx
lupitavic
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
El Fortí
 

Último (20)

GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfGUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativa
 
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfEjercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
 
Fe contra todo pronóstico. La fe es confianza.
Fe contra todo pronóstico. La fe es confianza.Fe contra todo pronóstico. La fe es confianza.
Fe contra todo pronóstico. La fe es confianza.
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
 
actividades comprensión lectora para 3° grado
actividades comprensión lectora para 3° gradoactividades comprensión lectora para 3° grado
actividades comprensión lectora para 3° grado
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docx
 
Presentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza MultigradoPresentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza Multigrado
 
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptx
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptxORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptx
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptx
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes d
 
Power Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptxPower Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptx
 
Programacion Anual Matemática5 MPG 2024 Ccesa007.pdf
Programacion Anual Matemática5    MPG 2024  Ccesa007.pdfProgramacion Anual Matemática5    MPG 2024  Ccesa007.pdf
Programacion Anual Matemática5 MPG 2024 Ccesa007.pdf
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
 
PIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesPIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonables
 
Imperialismo informal en Europa y el imperio
Imperialismo informal en Europa y el imperioImperialismo informal en Europa y el imperio
Imperialismo informal en Europa y el imperio
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grande
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñoproyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
 

Utilización de la clase math

  • 1. Utilización de la clase Math Se puede usar la clase java.lang.Math para ejecutar muchas operaciones Matemáticas. Las constantes y métodos de la clase son: double E: El número 'e' (2.7 1828 18284590452354) double PI: La constante pi (3.14159265358979323846) double sin(doub1e a): Seno doublecos(doub1e a): Coseno double tan(doub1e a): Tangente doubleasin(doub1e a): Arcoseno doubleacos(doub1e a): Arcocoseno double atan(doub1e a): Arcotangente doubleatan2(double a): Arcotangente (versión 2 del operando) doubleexp(doub1e a): Eleva el número 'e' a la potencia 'a' double log(doub1e a): Logaritmo del valor 'a' doublesqrt(doub1e a): Raíz cuadrada del valor 'a' doublepow(doub1e a, double b): Elevar el valor 'a' a la potencia 'b' doublecell(doub1e a): Método ceiling:Devuelve el número entero más pequeño mayor o igual que el número especificado doublefloor(doub1e a): Métodofloores el entero mayor o igual al mismo numero doublerint(doub1e a): Enteroaleatorio int round(doub1e a): Redondea un double long round(float a): Redondeaunfloat doublerandom( ): Número aleatorio intabs(int a): Valor absoluto de un entero longabs(1ong a): Valor absoluto de un long floatabs(float a): Valor absoluto de unfloat doubleabs(doub1e a): Valor absoluto de un double int min(int a, int b): Mínimo de los dos enteros long min(1ong a, long b): Mínimo de dos long float min(floata,floatb): Mínimo de dosfloat double min(doub1e a, double b): Mínimo de dos double intmax(int a, int b): Máximo de dos enteros longmax(1ong a, long b): Máximo de dos long floatmax(floata,float b): Máximo de dosfloat doublemax(doub1e a, double b): Máximo de dos doublé int a=9.55; S.O.P(Math.round(a)); :::::::::::::::::::::: double base =5; double exponente=3; double potencia =0; potencia = Math.pow(base, exponente); System.out.println("potencia =" +potencia); Math.___(variable) C. Entrada/Salida por archivo
  • 2. a.) Tipos de archivos En Java es posible utilizar dos tipos de archivos (de texto o binarios) y dos tipos de acceso a los archivos (secuencial o aleatorio). Los archivos de texto están compuestos de caracteres legibles, mientras que los binarios pueden almacenar cualquier tipo de datos (int, float, boolean,...). Una lectura secuencial implica tener que acceder a un elemento antes de acceder al siguiente, es decir, de una manera lineal (sin saltos). Sin embargo los archivos de acceso aleatorio permiten acceder a sus datos de una forma aleatoria, esto es indicando una determinada posición desde la que leer/escribir. b.) Clases a estudiar En el paquete java.io existen varias clases de las cuales podemos crear instancias de clases para tratar todo tipo de archivos. En este tutorial sólo vamos a trata las tres principales: FileOutputStream: Archivo de salida de texto. Representa archivos de texto para escritura a los que se accede de forma secuencial. FileInputStream: Archivo de entrada de texto. Representa archivos de texto de sólo lectura a los que se accede de forma secuencial. RandomAccessFile: Archivo de entrada o salida binario con acceso aleatorio. Es la base para crear los objetos de tipo archivo de acceso aleatorio. Estos archivos permiten multitud de operaciones; saltar hacia delante y hacia atrás para leer la información que necesitemos en cada momento, e incluso leer o escribir partes del archivo sin necesidad de cerrarlo y volverlo a abrir en un modo distinto. c.) Generalidades Para tratar con un archivo siempre hay que actuar de la misma manera: 1. Se abre el archivo. Para ello hay que crear un objeto de la clase correspondiente al tipo de archivo que vamos a manejar, y el tipo de acceso que vamos a utilizar: TipoDeArchivoobj = new TipoDeArchivo( ruta ); Donde ruta es la ruta de disco en que se encuentra el archivo o un descriptor de archivo válido. Este formato es válido, excepto para los objetos de la clase RandomAccessFile (acceso aleatorio), para los que se ha de instanciar de la siguiente forma: RandomAccessFileobj = new RandomAccessFile(ruta, modo ); Donde modo es una cadena de texto que indica el modo en que se desea abrir el archivo; "r" para sólo lectura o "rw" para lectura y escritura. 2. Se utiliza el archivo. Para ello cada clase presenta diferentes métodos de acceso para escribir o leer en el archivo.
  • 3. 3. Gestión de excepciones (opcional, pero recomendada) Se puede observar que todos los métodos que utilicen clases de este paquete deben tener en su definición una cláusula throwsIOException. Los métodos de estas clases pueden lanzar excepciones de esta clase (o sus hijas) en el transcurso de su ejecución, y dichas excepciones deben de ser capturadas y debidamente gestionadas para evitar problemas. 4. Se cierra el archivo y se destruye el objeto. Para cerrar un archivo lo que hay que hacer es destruir el objeto. Esto se puede realizar de dos formas, dejando que sea el recolector de basura de Java el que lo destruya cuando no lo necesite (no se recomienda) o destruyendo el objeto explícitamente mediante el uso del procedimiento close() del objeto: obj.close() d.) La clase FileOutputStream Mediante los objetos de esta clase escribimos en archivos de texto de forma secuencial. Presenta el método write() para la escritura en el archivo. Presenta varios formatos: intwrite( int c ): Escribe el carácter en el archivo. intwrite( byte a[] ): Escribe el contenido del vector en el archivo. intwrite( byte a[], int off, intlen ): Escribe len caracteres del vector a en el archivo, comenzando desde la posición off. El siguiente ejemplo crea el archivo de texto "/carta.txt" a partir de un texto que se le introduce por teclado: importjava.io.*; classCreaCarta { public static void main(String args[]) throws IOException{ int c; FileOutputStream f=new FileOutputStream("/carta.txt"); while( ( c=System.in.read() ) != -1 ) f.write( (char)c ); f.close(); }
  • 4. } e.) La clase FileInputStream Mediante los objetos de esta clase leemos de archivos de texto de forma secuencial. Presenta el método read() para la lectura del archivo. Este método se puede invocar de varias formas. intread(): Devuelve el siguiente carácter del archivo. intread( byte a[] ): Llena el vector a con los caracteres leídos del archivo. Devuelve la longitud del vector que se ha llenado si se realizó con éxito o –1 si no había suficientes caracteres en el archivo para llenar el vector. intread( byte a[], int off, intlen ): Lee len caracteres del archivo, insertándolos en el vector a. Todos ellos devuelven -1 si se ha llegado al final del archivo (momento de cerrarle). El siguiente ejemplo muestra el archivo de texto "/carta.txt" en pantalla: importjava.io.*; classMuestraCarta { public static void main(String args[]) throws IOException { int c; FileInputStream f=new FileInputStream("/carta.txt"); while( ( c=f.read() ) != -1 ) System.out.print( (char)c ); f.close(); } } f.) La clase RandomAccessFile Mediante los objetos de esta clase utilizamos archivos binarios mediante un acceso aleatorio, tanto para lectura como para escritura. En estos archivos hay un índice que nos dice en qué posición del archivo nos encontramos, y con el que se puede trabajar para posicionarse en el archivo.
  • 5. Métodos de desplazamiento Cuenta con una serie de funciones para realizar el desplazamiento del puntero del archivo. Hay que tener en cuenta que cualquier lectura o escritura de datos se realizará a partir de la posición actual del puntero del archivo. longgetFilePointer();Devuelve la posición actual del puntero del archivo. voidseek( long l ); Coloca el puntero del archivo en la posición indicada por l. Un archivo siempre empieza en la posición 0. intskipBytes( int n ); Intenta saltar n bytes desde la posición actual. longlength(); Devuelve la longitud del archivo. voidsetLength( long l); Establece a l el tamaño de este archivo. FileDescriptorgetFD(); Devuelve el descriptor de este archivo. Métodos de escritura La escritura del archivo se realiza con una función que depende el tipo de datos que se desee escribir. voidwrite( byte b[], intini, intlen ); Escribe len caracteres del vector b. voidwrite( int i ); Escribe la parte baja de i (un byte) en el flujo. voidwriteBoolean( boolean b ); Escribe el boolean b como un byte. voidwriteByte( int i ); Escribe i como un byte. voidwriteBytes( String s ); Escribe la cadena s tratada como bytes, no caracteres. voidwriteChar( int i ); Escribe i como 1 byte. voidwriteChars( String s ); Escribe la cadena s. voidwriteDouble( double d ); Convierte d a long y le escribe como 8 bytes. voidwriteFloat( float f ); Convierte f a entero y le escribe como 4 bytes. voidwriteInt( int i ); Escribe i como 4 bytes. voidwriteLong( long v ); Escribe v como 8 bytes. voidwriteShort( int i ); Escribe i como 2 bytes. voidwriteUTF( String s ); Escribe la cadena s utilizando la codificación UTF-8. Los métodos que escriben números de más de un byte escriben el primero su parte alta. Métodos de lectura La lectura del archivo se realiza con una función que depende del tipo de datos que queremos leer. booleanreadBoolean(); Lee un byte y devuelve false si vale 0 o true sino. bytereadByte(); Lee y devuelve un byte. charreadChar(); Lee y devuelve un caracter. doublereadDouble(); Lee 8 bytes, y devuelve un double. floatreadFloat(); Lee 4 bytes, y devuelve un float. voidreadFully( byte b[] ); Lee bytes del archivo y los almacena en un vector b. voidreadFully( byte b[], intini, intlen ); Lee len bytes del archivo y los almacena en un vector b. intreadInt(); Lee 4 bytes, y devuelve un int. longreadLong(); Lee 8 bytes, y devuelve un long. shortreadShort(); Lee 2 bytes, y devuelve un short. intreadUnsignedByte(); Lee 1 byte, y devuelve un valor de 0 a 255. intreadUnsignedShort(); Lee 2 bytes, y devuelve un valor de 0 a 65535. StringreadUTF(); Lee una cadena codificada con el formato UTF-8. intskipBytes(int n); Salta n bytes del archivo. Si no es posible la lectura devuelven –1. Ejemplo
  • 6. Vamos a crear un pequeño programa que cree y acceda a un archivo binario, mediante acceso aleatorio. El siguiente ejemplo crear un archivo binario que contiene los 100 primeros números (en orden): // Crea un archivo binario con los 100 primeros numeros static void creaFichBin( String ruta ) throws IOException { RandomAccessFile f=new RandomAccessFile(ruta,"rw"); // E/S for ( int i=1; i <= 100 ; i++ ) { try{ f.writeByte( i ); } catch(IOException e){ // Gestion de excepcion de ejemplo break; // No se puede seguir escribiendo } f.close(); } } El siguiente método accede al elemento cual de un archivo binario, imprimiendo la longitud del archivo, el elemento cual y su 10 veces siguiente elemento: static void imprimeEltoN(String ruta, long cual) throwsIOException{
  • 7. RandomAccessFile f=new RandomAccessFile(ruta,"r"); // E/ System.out.print( "El archivo " + ruta ); System.out.println( " ocupa " + f.length() + " bytes." ); f.seek( cual-1 ); // Me posiciono (-1 porque empieza en 0) System.out.print(" En la posicion " + f.getFilePointer() ); System.out.println(" esta el numero " + f.readByte() ); f.skipBytes( 9 ); // Salto 9 => Elemento 10 masalla System.out.print(" 10 elementos más allá, esta el "); System.out.println(f.readByte() ); f.close(); } Si incluimos ambos métodos en una clase, y les llamamos con el siguiente programa principal (main()): public static void main(String args[]) throws IOException { String ruta="numeros.dat"; // Archivo creaFichBin( ruta ); // Se crea imprimeEltoN( ruta, 14 ); // Accedo al elemento 14. } Obtendremos la siguiente salida:
  • 8. El archivonumeros.dat ocupa 100 bytes. En la posicion 13 esta el numero 14 10 elementos más allá, esta el 24