Reparando tu compu!

Contáctanos

Telefónos: 4421193047-4423239841 Mailito: Mafic e-mail Guillo e-mail

miércoles, 8 de marzo de 2017

Repasando Java 4

Superclase

Vehiiculo

Clase

Taxii    Autobus


Objeto

Matricula1   Matricula2    Matricula 3


Convirtieendo un array en una lista

asList

ArrayList

Redondear decimales

8.3143424

(numero,2)

Variable de tipo Estaatico

Cuando apunta a un objeto.

Variable de tipo dinaaamico

Cuando apunta de manera declarada o en base a un subtipo declarado.

Herencia

Extends o hacia clases cooncretas, forma de herencia simple.

Implements  o forma de herencia muultiple.

Extends a partir de clases abstractas, forma de herencia variante de herencia simple.



Referencia: http://www.aprenderaprogramar.com/

Repasando Java 3

Tipos de datos 

Tipo Primitivo es "elemental", "careece de meetodos", tambieen se consideran objeto "si es maas complejo" o "si se llegan a usar necesitando una invocaciooon para ser creados", tambieen pueden ser "tipo objeto" los "tipo primitivo" o bien si se mencionan como tipo primitivo no es necesario una invocacioon, tambieen se comentan como Envoltorio o Wrapper si son objetos: Byte, short, integeer, long, float, double, character, boolean. Puede ir con minuusculas por ejemplo "boolean, double".

Tipo objeto o requiriendo una invocacioon, tambieen es "una entidad compleja" y "dispone de meetodos": Pueden ser de la biblioteca standar de java, como "string", "scanner", etc. Tipos definidos por el usuario o programador "programa01". Array o serie de elementos de formaciooon o tipo vector o matriiiz, son objetos especiales, y carecen de meetodos.

Los envoltorio "envuelven" con un tipo.


En cuanto al software, se debe de modularizar y abstraer

Modularizaciooon 

Bajar de nivel o despiezar.

Abstracciooon

Subir de niivel o ensamblar.

Aplication Programming Interface o API

API + JVM

El API y la Java Virtual Machine forman la "plataforma java" que da la transiciooon entre el programa en lenguaje java y el ordenador en el que se ejecuta.




Referencia de imaagen: http://images4.hiboox.com/images/1412/bc5159d0c02515b4115faab4524a25a2.jpg






Repasando Java 2



Imprimiendo

System.out.println ("los signos de + concatenan el paraametro en la impresion de consola" + precio + " euros");

La notaciooon de punto

Costo.getPrecio() 

System.out.println ("Es una forma de invocar un meetodo, en una impresiooon, uuna invocaciooon a un meetodo que devuelve una cadena es "Costo.getPrecio() ; tambieen comenta atributos, sino hay pareentesis" en esta impresion se menciona como parte de la concatenaciooon" + Costo.getPrecio() + " euros");


Operadores en java

+ suma, - resta, * multiplicaciooon, / divisioon,  %  divisiooon o modulo "operador "mod"".... resto de una divisiooon Ej: 7 %3 devuelve 1.

Para hacer exponenciales se recomienda usar un bucle, o "^".
Para ordenar  la prelacioon o precedencia se recomienda organizar con pareentesis.

!= distinto o diferente.

== igual.

< menor, > mayor que, <= menor que o igual, >=  mayor o igual.

Los operadores de corto circuito

Si no se cumple una condicioon de un teermino, no se evaluua el resto de la operacioon.

 AND &&

OR ||

NOT !


El orden de prioridad de los operadores looogicos

  1.   ()
  2. ^
  3. *  , /
  4. +, - 
  5. Mod, \ (div)
  6. =, < >, > , <, >=, <= 
  7. Not
  8. And
  9. Or
Operadores de asignaciooon compuesta

Se suma una cantidad al valor de una variable con +=.

Se resta una cantidad al valor de una variable con -=.


Condicionales

If, else if.

Utilizan llaves para  terminar un contenido condicional.

Switch

Es una forma de anidamiento de "If"; utiliza "cases"; pero en caso de Java solo se puede usar para evaluar "ordinales" o "valores numeericos enteros".

/*Ref: aprenderaprogramar.com */

                  case valor1:
        instrucciones;
        break;
 
        case valor2:
        instrucciones;
        break;
        .
        .
        .
        default:
        sentencias;
        break;
 
 }

switch (expresión) {
 
        case valor1:
        case valor2:
        case valor3:
        instrucciones;
        break;
 
        case valor4:
        instrucciones;
        break;
        .
        .
        .
        default:
        sentencias;
        break;
 
 }


La variable local

Es temporal y corresponde a  su uso dentro de un meetodo. Se creean cuando empieza a ejecutarse un meetodo, se destruyen cuando termina de ejecutarse.


Los paraametros establecen inicializaciones.

Si se usa un meetodo settler se puede dar un contenido a un atributo "despuuees o posteriormente o a posteriori".

Constructor sobrecargado

Cuando maas de un constructor o meetodo tienen el mismo nombre.










martes, 7 de marzo de 2017

Repasando Java I Re-studing java to get a formal job :D

Sobre Java



Java (1995)                                                        

POO (Programación Orientada a Objetos).
Permite fabricar programas con una forma más parecida al pensamiento humano. 
No es tan complejo, simplifica objetos de manera autónoma. 
C++ a diferencia de C, añade característica POO. Añade soporte para objetos. 
Javascript esta inmerso en código para páginas web.
Se compilan y se utilizan con la JVM o máquina virtual de java. No son archivos compilados  ejecutables, siempre traen la JVM. A este código ya compilado se le llama bytecode o j-code.

Just-in-time(tecnología). 
El código ejecutable delimita las operaciones peligrosas. 
La primera línea de seguridad de java es un verificador del bytecode. El segundo paso es el verificador de clase.Java tiene un administrador de seguridad. En java se permite añadir firmas digitales al código para verificar al autor del mismo. 
Tipo de aplicaciones en Java
                Applet .- Para páginas web.
                Aplicaciones de consola.- Programas independientes.
                Aplicaciones gráficas.- Clases con capacidades gráficas, como awt.
                Servlets.- Se ejecutan en un servidor de aplicaciones web.

JDK (Kit de desarrollo java)

Entornos de trabaj: Netbeans, eclipse, sun one studio, visual j++, visual j#, visual cafe, jbuilder by delphi, jdeveloper de oracle, visual age, intelliJ Idea, Jcreator Pro, Kawa Pro.

Es necesario configurar "Java home" o en donde esta instalado el "programa para Java".
Despuees el "path", o la ruta en la que se encontrara la carpeta de ejecutable y archivos. 


Un proyecto Java

Tiene "coodigo fuente" en .java o "lenguaje java".

"Javac.exe" lo compila.

El código fuente se escribe en documentos con extensión .java. Es compatible con la codificación Unicode que usa 16 bits o 2 bytes por carácter e incluye la mayoría de los códigos del mundo. Java es case sensityve o como en C, hay diferencia entre mayúsculas y minúsculas. Cada línea de código debe terminar con ";" . Los comentarios, si son de una línea debe comenzar con “//” y si ocupan más de una línea deben comenzar con “/*” y terminar con “*/” 
/* Comentario
de varias líneas */
//Comentario de una línea.
Se pueden incluir comentarios javadoc.
{
..código dentro del bloque
}
Código fuera del bloque

Tiene "coodigo maaquina" o "bytecode" para la "maaquina virtuaal java".

"Java.exe" se encarga de compilar archivos ".class" o "coodigo maaquina" o "bytecode".  


Compilación
Se compilan clases del código en java.
Se ocupa “javac”:javac archivo.java

Javadoc se refiere a la "documentacioon java". 
El código precompilado crea extensiones “.class”.

Si la clase es ejecutable o contiene el método “main” se puede interpretar usando el programa java del kit de desarrollo, “java archivoClass”. Para ejecutar desde cualquier carpeta del sistema los programas, hay que modificar el entorno path. Desde la línea de comandos podemos ubicar si nos comenta que tenemos la carpeta del kit de desarrollo. Hay que añadir la ruta de la carpeta a path. Por ejemplo: Path= C:\Archivos de programa\Microsoft Visual Studio\VC98\bin; C:\j2sdk_nb\j2sdkl.4.2\bin

Los comentarios son utilizados por javadoc.

Utiliza /*, @author, @see, @since, @deprecated, @throws, etcétera. Se ubican al principio del código de la clase, delante de cada método, delante de cada atributo.

Variables

Pueden contener un identificador que puede tener letras, el carácter de subrayado y números. También el símbolo $. El nombre puede contener cualquier carácter Unicode. Ejemplo: int días=365, anio=23, semanas; Tienen el alcance o ámbito del bloque en el que se creo, salvo que sea  una propiedad de un objeto.

Tabla tipo de datos primitivos

 Tipo de variable                                                                  Bytes que ocupa     Rango de valores

boolean: Variable de verdadero o falso.                                           2                        true, false.

byte: Variable que define un byte u 8-bit o de 0-255. Unsigned.     1                     -128 a 127    

 short: Variable que define un entero de 16 bit con signo. Signed.  2                    -32.768 a 32.767

int: Variable que define un entero.                                                   4                  -2.147.483.648 a    

                                                                                                                                    2.147.483.649 

  long: Variable que define 64 bit.                                                     8                      -9 -1,79 a 9

 double: Puede designar variables de punto flotante. 
Los valores son 17 y hasta 307 ceros.                                               8                 -1.79 a 1.79  

 float: Pueden designar números con punto.                                      4            -3,4  a 3,4 

 char; Variable que designa letras, o characters.                                2             

Caracteres en Unicode(estándar de codificación de carácteres 
diseñado para facilitar el tratamiento informático. Existen los UTF 
o Unicode Transdormation Format, de 8, 16 y 32 bit.) 

Enteros

Byte, short, int, long.

Cast
Permite convertir valores de un tipo a otro. Ejemplo:
int i=12;
Byte b=(byte) i;

Double y float son de coma flotante o del estándar IEEE 754, se usa para representar números en notación científica.

Si a un valor booleano no se le da un valor inicial, se toma como valor inicial el valor false. 
En java no se le pueden asignar números a una variable booleana, en C, el valor false se asocia al número “0”, y cualquier valor distinto a cero se asocia a “true”.  En C se puede utilizar cualquier valor lógico como si fuera un número, por ejemplo verdadero es -1 y falso el 0. Esto no es posible en java. 
Los valores de tipo carácter sirven para almacenar símbolos de escritura.

Los caracteres especiales que van precedidos por el símbolo \, son:


\b
Retroceso
 \t 
Tabulador
\n
Nueva línea.
\f
Alimentación de página. 
\r
Retorno de carro.

\”
Dobles comillas.

\'
Comillas simples. 

\udddd


 Las cuatro letras d, son en realidad números en hexadecimal. Representa el carácter Unicode cuyo código es representado por las dddd.


Los meetodos o constructores


Las Invocaciones al meetodo en Java usan procedimientos y funciones que son llamadas al meetodo

Los procedimientos 

Ocupan siempre variables:

Void.

Las funciones

Return . Regresa un valor. 

Siempre devuelven algo las funciones. 
Siempre comentan un "tipo". 

Meeetodos que consultan u observan son "Get", se comentan como "Getters".

Meetodos que modifican son con "Set", tambieen "establecen valores en los atributos". 

El "estado" de un objeto se da en un momento dado en cuanto a sus "atributos".


Las variables siempre tienen que tener un valor de inicio. En cuanto a estar en una secuencia; no pueden comenzar con un numeero ni siimbolos que se utiliceen como operadores. 

Una funcioon que llama a otra en su interioor es una "funcioon anidada".


viernes, 3 de marzo de 2017

Homography(homografiia), Set redundancy compression (SRC)

En programacioon se ocupa para analizar por medio de una matriiiz de 3x3, que hace un mapeoo de una imaagen, con respecto a la otra.


H =  H0    H1    H2
        H10  H11  H12
        H20  H21  H22

Se tienen que saber por lo menos 4 puntos correspondientes de entre las dos imaagenes.

Ejemplo de mapeo de  imaagenes usando "H"  o la homografiia.

x1              x2      H0    H1    H2       x2
y1    =  H   y2      H10  H11  H12     y2
1                 1       H20  H21  H22      1



Set redundancy compression (SRC)
 
1.Diferencial mín-máx:
MMD
2.Predictivo mín-máx:
PDD 

La diferencia es que se representa la "posiciooon de un pixel dentro de un nivel".
Li= N (   valor(Pi)-min i   )
               max i - min i


3.El método centroide.
  Utiliza puntos y calcula un centro...




Cuando se programa, se usan cuatro puntos dentro de una imaagen, para hacer la comparacioon entre
las dos imaagenes. 
C++

Mat h = findHomography(pts_src, pts_dst);

warpPerspective(im_src, im_dst, h, size); 



Python 

h, status = cv2.findHomography(pts_src, pts_dst)

im_dst = cv2.warpPerspective(im_src, h, size)


CV

Mat im_src = imread("book2.jpg");
vector<Point2f> pts_src;    pts_src.push_back(Point2f(..........
Mat im_dst = imread("book1.jpg");
vector<Point2f> pts_dst;
    pts_dst.push_back(Point2f(..................
Mat h = findHomography(pts_src, pts_dst);

Mat im_out;
warpPerspective(im_src, im_out, h, im_dst.size());

 imshow("Source Image", im_src);
    imshow("Destination Image", im_dst);
    imshow("Warped Source Image", im_out);
Ref: www.learnopencv.com/homography-examples-using-opencv-python-c/