sábado, 24 de marzo de 2012

Informática y programación para novatos (en actualización)


[001]Informáticos  famosos que contribuyeron al mundo

Si estudiaste carreras como .informática, ciencias de la computación e ingeniería en sistemas computacionales debes saber de estas personas.   Si falta alguien de favor comentalo.

John Von Neumann 


Se le atribuye la arquitectura de computadoras  que lleva su nombre (arquitectura Von Neumann) a demás del concepto de programa almacenado. Creador principal del EDVAC.

http://es.wikipedia.org/wiki/John_von_Neumann


Dennis Ritchie



Uno de los creadores del lenguaje C, sin este lenguaje no existiría Linux, Java, entre otras cosas más. Es una pena que no hicieran tanta "alarma" por su muerte que con la de Steve Job.


#include < stdio.h >
/*C,el papá de Java y demás lenguajes*/
int main() {
   printf("¡Hola, Mundo!");
   return 0;
}



http://es.wikipedia.org/wiki/Dennis_Ritchie


Niklaus Wirth



Creador de lenguajes de programación como Pascal y Modula.  Escritor del libro "Algoritmos + Estructuras de Datos= Programas".  Ha recibido varios premios y galardones.

var hola:string;
begin
{este es un comentario}
hola:="¡Hola, mundo!";
    writeln(hola);
end.

http://es.wikipedia.org/wiki/Niklaus_Wirth


Alan Turing


Pionero de la IA (Inteligencia Artificial), creador del primer ordenador electrónico el Mark I , propuso un test para determinar si las máquinas podrían tener la capacidad de pensar (test de Turing).

http://es.wikipedia.org/wiki/Alan_Turing


Richard Stallman


Fundador del proyecto GNU, presidente de la FSF(Free Software Foundation) , defensor del software libre, y muy extraño (dicen jajaja).

http://es.wikipedia.org/wiki/Richard_Stallman


Brian Kernighan


Junto con Dennis Ritchie  creo el lenguaje C (aunque otorga la autoría total a Ritchie)  en 1978  junto con el libro "The C Programming Language".  Creo otro lenguaje de programación llamado AWK.

http://es.wikipedia.org/wiki/Brian_Kernighan


Ken Thompson



Co-creador de Unix junto con su colega Dennis Ritchie, además creó el código de caracteres UTF-8. Recibió varios premios por sus aportaciones a diversos sistemas operativos y plataformas.

http://es.wikipedia.org/wiki/Ken_Thompson


James Gosling





Se el considera el padre de Java, sin este lenguaje no existirían   las plataformas ni frameworks que muchos usamosCon la venta de Sun MicroSystems a Oracle abandonó la empresa. Actualmente trabaja para Liquid Robotics. Sigue escribiendo en su blog personal.



http://es.wikipedia.org/wiki/James_Gosling



Estos son solo algunos de las personas famosas que han contribuido realmente al mundo de la informática, faltan muchos por nombrar así que seguiré actualizando la lista. Sin embargo, cabe aclarar que hay muchas personas que también contribuyen y no son conocidas.


[000 ]La diferencia entre datos e información




dato: puede ser un número, un carácter, una palabra, etc.  Puede ser recopilado.

información: es lo que le da significado a un conjunto de datos.

Ejemplo.
Andrea, 25, 1.65, La Villita, 7221212786, andrea.calamaro@latin.com

Estos datos por si solos no tienen ningún valor ni significado aparente, pero por ejemplo si se tiene una estructura como esta:

struct Persona{
char[30] nombre;
int edad;
float estatura;
char[45] direccion;
char[12]  telefono;
char[34] email;
};

Entonces se puede obtener un "significado" útil de esos datos
nombre: Andrea
edad: 25
estatura: 1.65
dirección: La Villita
teléfono: 7221212786
email: andrea.calamaro@latin.com


O también se puede hacer una consulta sencilla en SQL.

select *from sistema.usuarios where nombre='Anrea' and edad>=25;


En Python:

class Persona:
 
    def __init__(self,nombre,edad,estatura,direccion,telefono,email):
            self.nombre=nombre
            self.edad=edad
            self.estatura=estatura
            self.direccion=direccion
            self.telefono=telefono
            self.email=email

     def getNombre(self):
           return self.nombre

     ...
     ...
objeto= Persona("Andrea",25,1.65,"La Villita", "7221212786", "andrea.calamaro@latin.com")

print objeto.getNombre()
...
...


Conclusión

No se debe confundir a los datos con información, los datos por si solos no nos ayudan, pero si se organizan detalladamente entonces se convierten en información útil.






domingo, 18 de marzo de 2012

Python, ejemplos prácticos no. 3





Programa que calcula las operaciones básicas de ingeniería económica

ingeEconomica.py


'''
----------------------------------------------------------------
            [Operaciones de Ingenier�Econ󭩣a]
----------------------------------------------------------------
'''

from series import *

def menu():
    print "\t[Men del programa]"
    print "\t1. Valor presente dado un valor futuro"
    print "\t2. Valor futuro dado un valor presente"
    print "\t3. Valor presente dada una anualidad"
    print "\t4. Valor futuro dada una anualidad"
    print "\t5. Anualidad dado un valor presente"
    print "\t6. Anualidad dado un valor futuro"
    print "\t7. Salir del programa"
    opc=int(raw_input('Tu opci󮠥s:'))
    return opc

def inicio():
    salir="s"
    while salir=="s":
        print "================================================"
        print "  <<<<<<<<    [Ingenierecon󭩣a]  >>>>>>>>>>"
        print "================================================"
        valor=float(raw_input('Valor:'))
        tasa=float(raw_input('Tasa:'))
        periodo=int(raw_input('Periodo:'))
        datos(valor,tasa,periodo)

        opcion=menu()
        if opcion==1:
            print "[Valor presente]"
            print "Resultado: ",valorp(valor,tasa,periodo)

        if opcion==2:
            print "[Valor futuro]"
            print "Resultado: ",valorf(valor,tasa,periodo)

        if opcion==3:
            print "[Valor presente dada una anualidad]"
            print "Resultado: ",valorpA(valor,tasa,periodo)

        if opcion==4:
            print "[Valor futuro dada una anualidad]"
            print "Resultado: ",valorfA(valor,tasa,periodo)

        if opcion==5:
            print "[Anualidad dado un valor presente]"
            print "Resultado: ",anualidadVp(valor,tasa,periodo)

        if opcion==6:
            print "[Anualidad dado un valor futuro]"
            print "Resultado: ",anualidadVf(valor,tasa,periodo)

        if opcion==7:
            print "[Fin del programa]"
            break


       
        salir=raw_input('Desea realizar otra operaci󮿠Si->s No->n :')
    if salir=="n":
        print "adios"



#inicio
inicio()




series.py


'''
------------------------------------------------
            [Series uniformes]
------------------------------------------------
'''
def valorp(v,i,n):
  return v/pow(1+i/100,n)
 
def valorf(v,i,n):
  return v*pow(1+i/100,n)
 
def valorpA(v,i,n):
  return v*((pow(1+i/100,n)-1)/(pow(1+i/100,n)*(i/100)))
 
def valorfA(v,i,n):
  return v*((pow(1+i/100,n)-1)/(i/100))
 
def  anualidadVp(v,i,n):
  return v*((pow(1+i/100,n)*(i/100))/(pow(1+i/100,n)-1))
 
def anualidadVf(v,i,n):
  return v*((i/100)/(pow(1+i/100,n)-1))
 
def datos(v,i,n):
  print "Valor: %f   Tasa: %f   Periodo: %d"%(v,i,n)