Reparando tu compu!

Contáctanos

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

martes, 9 de diciembre de 2014

Resistencia, Capacitor o Condensador, Electrodo, Diodo, Triodo, Pilas o Stack, la máquina de Turing

Sobre el Binary DigiT o Bit

Con 4 bites se obtiene un nibble o una letra en hexádecimal.
con 8 bites se obtiene 1 byte.



Hexadecimal

Utiliza la base 16. Las posiciones de los dígitos se ponderan o consideran como potencias de 16. 
286310  -> 1011 0010 1111 -> B2F16  
15 con 4 bits en 1. 

16 con 5 bits.
32 con 6 bits.
64 con 7 bits.
128 con 8 bits.
256 con 9 bits.
512 con 10 bits.
1024 con 11 bits.
2048 con 12 bits.
4096 con 13 bits.
8192 con 14 bits.
16,384 con 15 bits.
32,768 con 16 bits.
65,536 con 17 bits.
131,072 con 18 bits...

2048 o 1 
1024 o 0
512 en 1    2048+512+256= 2816 - 2863 = -47


2048 + 512 = 2560 la cantidad que busco es 2863, me faltan como 300 en bit.
Pero se empieza a hacer la cuenta en binario, en cuanto a los primeros números o bits de mayor tamaño.
Si se hace una división en base binaria o 2. Sería el siguiente método: 
2863 / 2 = 1431.5    1
1431/2 = 715.5        1
715/2 = 357.5          1
357/2 = 178.5          1
178/2 = 89
89/2= 44.5    1
44/2 = 22
22/2 = 11
11/2 = 5.5     1
5/2 = 2.5       1
2/2=1
1/2 = 0.5       1

Recordando primer semestre de la universidad en la UAQ, y con intromisiones de viajeros en el tiempo.
---------------------------------

An exercise with the houghards!:
12/2  = 6      0 Less Significative Bit.
6/2= 3          0

3/2 = 1.5      1
1/2 = 0.5      1  More significative Bit.

1100
------------------------------    


Resistencia

Se resiste a el flujo electrico o voltaíco.





En serie se cálcula por medio de la suma.

RT= R1 +R2 ... Rn

RT= 100Ω+ 200Ω... Rn = 300 Ω

En paralelo, se cálcula por medio de la divisiión.

RT=        1                 
        1   +  1  ... + 1
        R1    R2       Rn

RT = 7.2 Ω || 8.5 Ω = 1/(0.138 + 0.117) = 1/(.255) = 3.92 Ω






El capacitor o condensador



Tienen un par de superficies conductoras, en forma de láminas o placas.
Condensan o capacitan la energía.
La misma energía que obtienen, la misma energía que cedén.
Matemáticamente, se puede obtener que la energía "E" almacenada en un condensador con capacidad "C" que es conectado a una diferencia de potencial "V1-V2", viene dada por la siguiente fórmula:



Las siguientes formulas también corresponden a el uso de capacitores.
La capacitancia indica la capacidad de almacenamiento de carga y su unidad es el Faradio. 
La constante de Faraday se define como la cantidad de carga eléctrica en un mol de electrones. Se representa por F= Número de Avogadro(apróximadamente 6,022×1023mol-1, y es la carga eléctrica elemental o la magnitud de la carga eléctrica de un electrón (apróximadamente 1.602×10−19 Coulombs por electrón; esto fué calculado con una solución electrolítica y el uso de plata). 




Sobre las Pilas o el Stack, y el Almacenamiento de Información

 
Pila o Stack

- Es un método de estructuración de datos, como a modo "last in in, first in out" o LIFO, último en entrar, primero en salir. Sus operaciones básicas son "push" o "apilar" y "desapilar" o "pop". En todo momento únicamente se puede acceder al último elemento apilado, lo cual se comenta como TOS.




 
Máquina de Turing (MT)

-Es un dispositivo de reconocimiento del lenguaje. Tiene un control finito, una cabeza lectora y una cinta donde puede haber caracteres, y eventualmente viene la palabra de entrada. Es infinita hacía la derecha, pero finita hacía la izquierda.

-Transforma un INPUT en un OUTPUT.







Bajo nível


TIPOS DE VARIABLES

Tipo de variables
Palabra
clave
Bytes
requeridos
Rango
Carácter
char
1
-128 a 127
Entero
int
2
-32768 a 32767
Entero Corto
short
2
-32768 a 32767
Entero Largo 
long
4
-2,147,483,648 a 2,147,483,647
Carácter sin signo
unsigned char
1
0 a 255
Entero  sin signo
unsigned int
2
0 a 65535
Entero corto sin signo
unsigned short
2
0 a 65535
 Entero largo sin signo
unsigned long
4
0 a 4,294,967,295
Punto flotante de precisión sencilla
float
4
1.2E-38 a 3.4E38
Punto flotante de doble precisión
double
8
2.2E-308  a 1.8E308
Rango aproximado; precisión = 7 dígitos
Rango aproximado; precisión =19 dígitos


 


Sobre binario

1 + 2 + 4 + 8 + 16 + 32 + 64 + 128 = 255


Imagen de: http://www.atariarchives.org/mmm/bits_and_bytes.php 

Led o Light Emitting Diode



Electrodo, diodo, triodo





domingo, 23 de noviembre de 2014

Lenguaje de programación en “C”, Lenguaje Java y el Applet

Lenguaje C

Para programar, siempre se escribe la librería de la cual se extraera el lenguaje para hacer un programa.


Las librerías, siempre se hacen en “C”, mediante:
# include <>
La más estándar, es  “stdio.h”.
Se escribe:
#include <stdio.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/socket.h>
#include <bluetooth/bluetooth.h>
#include <bluetooth/hci.h>
#include <bluetooth/hci_lib.h>

Programando en “C”, siempre se utiliza la función principal o “ main ()  “.

Después de la librería que se escribe como parte del código.

Se utilizan funciones, variables, entre otras definiciones para hacer código y datos. 

Para las variables
Se define, el “tipo_dato nombre; “ o bien:
Para los nombres o texto
Char nombre;
Para los números enteros
Int edad;
Para los números con punto, decimales,  o “de punto flotante”
Float costo;
Se pueden usar “ , “ para definir variables de diferente nombre, en una misma o sola línea.



Es bueno recordar, que si se llegan a definir “variables”, con el nombre “variable”, se suele hablar sobre la elaboración de un “programa para hacer un cálculo matemático” En el cual se ocupan "variables matemáticas".

El ejemplo, del programa más sencillo para elaborar, en “C”.
“hola mundo”. Es este:

#include <stdio.h>

int main()
{
    printf("Hola, ¡Mundo!\n");
    getchar();  /*variable de texto.*/
    return 0;  /*numéro entero.*/
}

“ La función ”main”, siempre da como resultado un “número entero”, y una variable de “texto”, por ello siempre aplica “return” como resultado de “retorno”, seguido de un “número”.” ”Esto lo explicó, el profesor Olmos”, en una clase.


Se ocupa “scanf” para “escánear datos de entrada”.
Ejemplo:
#include <stdio.h>
int main()
{
  int x;
  printf( "Escribe un número: " );
  scanf( "%d", &x );
  printf( "Escribiste %d", x );
  getchar();
  return 0;
}

“ %d” índica buscar una “cadena de caracteres, correspondientes a “&x” o a “enteros”.  El “&” índica donde encontrar el resultado. Después índica, que el resultado va ser “agarrado”, llevado e “impreso”.

Para las constantes
Las constantes en lenguaje “C”, se definen con  “#define”.  Las constantes siempre tienen un valor constante. Nunca cambia el valor de una constante. De hecho en una gráfica, se representa con una línea recta.


“Siempre se definen las constantes, después de “la cabecera”, y las variables “después de la función principal”.
En la programación en “C”. Siempre se definen las “Constantes, Variables y librerías, de esta manera:
# include <stdio.h>
# define Constante01 50
#

Cuando se define “int main()”, se espera como resultado un “return numérico”.
Cuando se aplica “void main()”, se espera como resultado void.
Se ocupan “ /*” y “*/” para comentar, en el caso de programación en C.

Sobre los Operadores 



Sobre las condicionales

If
Évalua si la proposición es falsa o verdadera.
Else
Se usa de manera anidada con “if”.
 En algunos otros lenguajes o códigos de programación se ocupa elseif, else if, “elsif” en vhdl.
#include <stdio.h>
#include <stdlib.h>
Int main(){
Int opcion
Switch (opción){
                case 1: {
                                               break; }
                                               case 2: {
                                               break; }
                                               default :{
printf ("\nSu opción no está disponible");
printf ("\nCorra de nuevo e intente con
otra.\n");
}
}}
Bucles
Nos permiten hacer tareas repetitivas o iterativas.
                While (mientras)
                Do While
                For
                Break
Continue(en lugar de “break”, o terminar omite el código que sigue desde el punto en que es llamado y pasa a evaluar la condición directamente).

Se declaran de la siguiente manera:


  1. While:  
While (/*condición*\){
/*Código*\
Switch
Se usa para realizar o hacer acciones o escoger parámetros diferentes.
Se usa con “break”, “case”, y “default”. 

En matemáticas, se dice que una magnitud o cantidad es función de otra si el valor de la primera depende exclusivamente del valor de la segunda. En la Secundaria o tal vez, en la primaria, se aprendé lo que es una función y una relación.

Una función siempre está "en función" de una variable independiente. 
"aRb = { <a,b>ÎR"

Ref: http://matematicasdiscretascun.blogspot.mx/2010/09/funciones-y-relaciones.html




Bibliografía
http://es.wikihow.com/aprender-a-programar-en-C

Lenguaje C aplicado a programación de circuitos integrados

Programación de tarjeta NoMada




/*
 * USART_Basic_Config_good.c
 *
 * Created: 30/11/2014 07:48:21 p.m.  Comentarios.  
 *  Author: aelsotaku. rairamemizuhi Equipo 1.  
 */ 




#include <avr/io.h>
#include <avr/interrupt.h>   Mención de librerías.

void Ports_Setup();
void USART_Setup();  Declaración de variables de   bluetooth y puertos o pines   serial para la NoMada.


char messg[11] = {'H','o','l','a',' ','M','u','n','d','o'};  Se ocupa char para   declaración de
unsigned char i;  variable a modo de texto   char, seguido por el mensaje   y corchetes, a modo de un   arreglo de 11 caracteres, lo   cual es un mensaje que se   escribe de manera inmediata.
  Un char no firmado o en modo   unsigned, o bien “i” para ciclo   for.


void USART_Setup()  Programación de puertos USART.
{
UCSR0A = (0<<TXC0)|(0<<U2X0)|(0<<MPCM0);
UCSR0B = (1<<RXCIE0)|(0<<TXCIE0)|(0<<UDRIE0)|(1<<RXEN0)|(1<<TXEN0)|(0<<UCSZ02)|(0<<TXB80);
UCSR0C = (0<<UMSEL01)|(0<<UMSEL00)|(0<<UPM01)|(0<<UPM00)|(0<<USBS0)|(1<<UCSZ01)|(1<<UCSZ00)|(0<<UCPOL0);
UBRR0 = 51;
}



ISR(USART_RX_vect,ISR_NAKED)  Corresponde a una Interrupción de   Servicio; corresponde a una petición   “al sistema computacional o CPU”.
  Universal Asynchronous   Receiver/Transmitter a modo RX o   como vector de Recepción y en   modo Interrupción de Servicio   Naked o que espera no recibir   ningún código a modo de función   de entrada o salida o “exit”.



ISR(USART_RX_vect,ISR_NAKED)  El atributo “naked” se ocupa   para que el compilador no genere   código de más como a modo  “alguna función de entrada” o “entry”,   o a modo de un exit.
ISR(USART_RX_vect,ISR_NAKED) 
{ 
char data;  
data = UDR0;  El char data se declara con valor igual
  switch(data)  a UDR0. Posteriormente se aplica un
  {  switch con cases, que reciben el valor   de UDR0 igual a data a modo de un   carácter o “character”.
  case 0x61: PORTC = 0x01; break;
  
  switch(data) 
  { 
   case 0x61: PORTC = 0x01; break;  Se ocupa 0x61
  para comentar el   caso 1. PORTC   para comentar que   se ubica en el caso   0x61 y va al puerto   o Port C…
  case 0x62…  0x62 para comentar   el caso 2….
  case 0x61: PORTC = 0x01; break;  0x01 es 1 o como si   se mandara un dato o bien   para que encienda al recibir   un dato.   La instrucción deja   de recibir datos con “break”. 
  case 0x62: PORTC = 0x02; break;  0x02 es 1 o para recibir dato.
  default: PORTC = 0x00;break;  0x00 es 0 o como si se   mandara ningún dato o bien   para que se apague.
  }  Se cierra el paréntesis. Se   inicia el ciclo for..
  
for(i=0;i<11;i++)  Ciclo “for”. En lenguaje C, se   menciona en el paréntesis:   (Inicialización, Condición,   incremento)
  {
  while((UCSR0A & (1<<UDRE0))==0);  Código a ejecutar“mientras()”
  UDR0=messg[i];  del ciclo for. UCSR0A casi
  }  siempre o por lo general   tiene datos de status. UDRE   implica que USART a registrado   datos vacios(User Data Register Empty).
for(i=0;i<11;i++) 
   {
  while((UCSR0A & (1<<UDRE0))==0);  Código a ejecutar“mientras()”
  UDR0=messg[i];  del ciclo for. UCSR0A y   UDRE si es igual a cero. Se   da un registro de datos “igual   a” o “con” el arreglo del   mensaje, mencionado arriba,   en USART Data Register 0.
  }

Øreti()  Mencionamos el valor de retorno de las
}  llamadas o bien reti().
int main(void)
  {  Declaramos una clase main con recepción
  Ports_Setup();  de lo declarado como void.
  USART_Setup();
  sei();  Se implica el setup de los puertos y la       while(1)  Universal Asynchronous Receiver/Transmitter.
      { 
        //PORTC = 0x01;   Sei() activa las interrupciones o ISR.
      }  En el ciclo while 1, se menciona como
  }  comentario el envío de datos en 1 en el puerto C.



Ejemplo de creación de un Printed Board Circuit (PBC), para el relevador
1.- Se utilizo un programa en este caso, ocupamos el programa Proteus.
2.- Después imprimimos la placa en papel transfer(o papel de revista o parecido a el papel ilustración que generalmente es de un solo color o bien de esta manera se
encuentra en las papelerías).
3.- Se coloca el papel transfer sobre la placa y se ajusta con diurex o masking tape.
4.- Colocamos la plancha caliente sobre el papel transfer y la placa de cobre que de un lado tiene cobre y del otro lado tiene aislante. El calor de la pintura sobre el
cobre, hace o da lugar a la "impresión". 
5.- Se retira el papel, después de dejar 5 minutos la plancha sobre el papel y la placa.
6.- Se limpió la placa de cobre con thinner y agua.
7.- Después de haber planchado el papel transfer sobre la placa metálica y ocupamos Cloruro Férrico (Ferric Chloride, FeCl3).
8.- Cuando se remueve el papel se remueve con thinner.
9.- Se acaba de limpiar con agua(el thinner y el agua son solubles).
10.- Se ocupa el taladro para hacer los orificios  

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 trabajo

                Netbeans
                Eclipse
                Sun One Studio
    Microsoft Visual J++, Visual J#.
                Visual café.
                Jbuilder de Delphi.
                JDeveloper de Oracle.
                Visual Age.
                IntelliJ Idea.
                JCreator Pro.
    Kawa Pro.

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

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.


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 funciones sin paraametros no llevan nada entre el pareentesis.


Las funciones con paraametros llevan algo entre pareentesis.