Mostrando las entradas con la etiqueta Python. Mostrar todas las entradas
Mostrando las entradas con la etiqueta Python. Mostrar todas las entradas

lunes, 19 de agosto de 2013

Lógica de programación

Leave a Comment
Hola que tal amigos yo soy Edwar y hoy quiero hablarles de lógica, bueno muchos se preguntaran que es la lógica pues piensen en ella como la forma en la que nuestro cerebro actúa inconscientemente y la forma mas fácil que encuentro para explicarlo es así; la mayoría por no decir todos tenemos una cocina en nuestra casa y en alguna ocasión nos hemos visto en la tarea de hacer algún plato de comida ya sea desde lo mas complicado y sofisticado hasta la comida rápida mas mundana, como decimos en mi país "pan con salchichón" y no se alarmen si no entienden el termino, bien no nos desviemos del tema y sigamos, la lógica se puede resumir en la receta de un plato ya que para programas al igual que en la comida hay que seguir ciertos pasos.

Bien tratare de explicarlo un poco mas simple, todo lo que hacemos tiene un fin pero para llegar a él se deben cumplir algunas condiciones que de no ser así todo saldría mal, lo mismo pasa con nuestra lógica o se imaginan comerse la cena primero y luego cocerla; obviamente ademas de imposible seria muy problemático así que con esta analogía o comparación podemos empezar a crear algo funcional espero no haberlos aburrido con ese prologo tan largo pero creí necesario empezar así para que me entendieran lo que voy a hacer.

Bien a codear un poco y el lenguaje escogido para que todos entendamos es PYTHON.

tiempo=0;
listo=False;
lo_que_se_demora=15;
while listo==False:
if(tiempo==lo_que_se_demora):
print "Ok ya esta listo"
listo=True
else:
print "Aun no..."
tiempo+=1
Ok empecemos a explicar este pequeño código primero declaramos tres variables que son tiempo=0, lo_que_se_demora=15 y listo=False, hasta aquí todo bien luego hacemos un ciclo mientras="while" que se detendrá cuando listo pase de False="falso" a True="verdadero" luego hacemos una estructura de control, el if="presunta SI se cumple la condición" si la condición se cumple imprime "Ok ya esta listo" y cambia listo de "False" a "True", de lo contrario="else" imprime "A un no..." y aumenta el tiempo en uno mas.

Cando ejecutamos el código no deberá salir esto:

Python 2.7.5 (default, May 15 2013, 22:44:16) [MSC v.1500 64 bit (AMD64)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> ========================= RESTART ================================
>>> 
aun no...
aun no...
aun no...
aun no...
aun no...
aun no...
aun no...
aun no...
aun no...
aun no...
aun no...
aun no...
aun no...
aun no...
aun no...
ok ya esta losto
>>> 

Les dejare un vídeo explicativo para que entiendan mejor:

Read More...

sábado, 17 de agosto de 2013

Suma Resta Multiplicacion Y Division de Binarios

Leave a Comment
Hola yo soy Edwar y hoy les quiero enseñar con un fácil código de python como sumar, restar, multiplicar y dividir números binarios, bueno sin mas preámbulo manos a la obra.

Primero debemos hacer que el numero binario se convierta en entero o base 10:

def convertir_binario( binario ):
     l = len(binario) - 1
     entero = 0
     for i in binario:
          potencia = 2 ** l
          entero = entero + ( int(i) * potencia)
          l = l - 1
     return entero

Luego de convertir el binario a base 10 podemos realizar las operaciones que necesitamos suma, resta, multiplicación y división y lo hacemos de esta manera

def sumar(pnumero, snumero):
     resultado=pnumero+snumero
     return resultado

def restar(pnumero, snumero):
     resultado=pnumero-snumero
     return resultado

def dividir(pnumero, snumero):
     resultado=pnumero/snumero
     return resultado

def multiplicar(pnumero, snumero):
     resultado=pnumero*snumero
     return resultado
Ahora que ya hemos realizado las operaciones terminaremos convirtiendo nuevamente los resultados en base 2 o binario, y lo hacemos de esta manera:

def convertir_entero(numero_entero):
     binario = ""
     while (True):
          aux = str( numero_entero % 2 )
          numero_entero = int( numero_entero / 2 )
          binario = aux + binario
          if (numero_entero <= 1):
               binario = ( str( numero_entero ) if numero_entero > 0 else "" ) + binario
               break
     return binario

Listo ya solo basta ponerle la lógica a nuestro programa y esto lo podemos hacer a nuestro gusto yo en lo personal lo realice de esta manera pero es totalmente configurable:

def main():
     primer_binario=raw_input('Primer binario')
     segundo_binario=raw_input('Segundo binario')
     pcbin=convertir_binario(primer_binario);
     scbin=convertir_binario(segundo_binario);
     suma=sumar(pcbin, scbin);
     resta=restar(pcbin, scbin);
     divicion=dividir(pcbin, scbin);
     multiplicacion=multiplicar(pcbin, scbin);
     print "El resultado de la suma de "+primer_binario+" + "+segundo_binario+" = "+convertir_entero(suma);
     print "El resultado de la resta de "+primer_binario+" - "+segundo_binario+" = "+convertir_entero(resta);
     print "El resultado de la multiplicación de "+primer_binario+" * "+segundo_binario+" = "+convertir_entero(multiplicacion);
     print "El resultado de la divición de "+primer_binario+" / "+segundo_binario+" = "+convertir_entero(divicion);


main()

Para terminar y como lo prometí desde un comienzo mis POST serán lo mas cortos y explicativos posible abajo des dejo el link de descarga del archivo para que lo prueben, cualquier duda, inquietud y/o sugerencia por favor déjalo en los comentarios estaré pendiente de cualquier sugerencia.

Link de la Calculadora binaria



def convertir_binario( binario ):
     l = len(binario) - 1
     entero = 0
     for i in binario:
          potencia = 2 ** l
          entero = entero + ( int(i) * potencia)
          l = l - 1
     return entero

     binario = ""
     while (True):
          aux = str( numero_entero % 2 )
          numero_entero = int( numero_entero / 2 )
          binario = aux + binario
          if (numero_entero <= 1):
               binario = ( str( numero_entero ) if numero_entero > 0 else "" ) + binario
               break
     return binario

def sumar(pnumero, snumero):
     resultado=pnumero+snumero
     return resultado

def restar(pnumero, snumero):
     resultado=pnumero-snumero
     return resultado

def dividir(pnumero, snumero):
     resultado=pnumero/snumero
     return resultado

def multiplicar(pnumero, snumero):
     resultado=pnumero*snumero
     return resultado

def main():
     primer_binario=raw_input('Primer binario')
     segundo_binario=raw_input('Segundo binario')
     pcbin=convertir_binario(primer_binario);
     scbin=convertir_binario(segundo_binario);
     suma=sumar(pcbin, scbin);
     resta=restar(pcbin, scbin);
     divicion=dividir(pcbin, scbin);
     multiplicacion=multiplicar(pcbin, scbin);
     print "El resultado de la suma de "+primer_binario+" + "+segundo_binario+" = "+convertir_entero(suma);
     print "El resultado de la resta de "+primer_binario+" - "+segundo_binario+" = "+convertir_entero(resta);
     print "El resultado de la multiplicación de "+primer_binario+" * "+segundo_binario+" = "+convertir_entero(multiplicacion);
     print "El resultado de la divición de "+primer_binario+" / "+segundo_binario+" = "+convertir_entero(divicion);


main()
Read More...