Complejidad Computacional

La complidad computacional es un area de las Ciencias de la Computacion
que estudia el usos de los recursos para resolver un problema durante el calculo de los algoritmos respectivos.

Los 2 recursos principalmente analizados son:Publicar entrada
  1. Tiempo
  2. Espacio (memoria9
En la actualidad las computadoras resuelven a lo sumo problemas que tienen complejidad Polinomica (Ver Ciencias de la Computacion - Complejidad)
Los problemas que no se resuelven con nuestras computadoras actuales ( no se podrian resolver en un tiempo adecuado), poseen una complejidad del Tipo Factorial o Exponencial

Computacion, automatas, complejidad y computabilidad

El campo de la Teoría de la computación en Ciencias de la computacion involucra las subareas de

  1. Teoría de la computación
  2. Teoría de autómatas: estudia matemáticamente máquinas abstractas y problemas que éstas son capaces de resolver
  3. Teoria de la computabilidad: estudia los problemas de decisión que pueden ser resueltos con un algoritmo o equivalentemente con una máquina de Turing.
  4. Teoría de la complejidad computacional: Estudia teoricamente los recursos requeridos durante el cálculo para resolver un problema (tiempo y espacio)

Criptografia, grafos, logica y tipos

El campo de los Fundamentos matemáticos de las Ciencias de la Computacion involucra la criptografia, teoria de grafos, logica y teoria de tipos

  1. Criptografía: Algoritmos de proteccion de datos privados y cifrado de informacion
  2. Teoria de grafos: Estructuras de almacenamiento de datos y algoritmos de busqeda (problemas como del viajante, o la mejor ruta son clasicos en la tematica)
  3. Logica matemática: Se divide en cuatro subcampos: teoría de modelos, teoría de la demostración, teoría de conjuntos y teoría de la recursión.
  4. Teoria de tipos: Estudio y analisis sobre los tipos de datos y u aplicacion en las propiedades de los programas y su seguridad

Campos de Estudio de las Ciencias de la Computacion

Campos de Estudio de las Ciencias de la Computacion

  • Fundamentos matemáticos
  • Teoría de la computación
  • Algoritmos y estructuras de datos
  • Lenguajes de programación y compiladores
  • Bases de datos
  • Sistemas concurrentes, paralelos y distribuidos
  • Inteligencia artificial
  • Gráficos por computador
  • Computación científica

Logros de las Ciencias de la Computacion

Logros de las Ciencias de la Computacion:
Contribuciones fundamentales a la ciencia y la sociedad.

  • Definición formal de computación y de computabilidad
  • Demostración de que existen problemas a los que no hay una solución computacional y problemas intratables.
  • Concepto de lenguaje de programación, una herramienta para la expresión precisa de información metodológica con diferentes niveles de abstracción
  • Tecnologías revolucionarias: computadoras de uso general, Internet, firmas digitales, comercio electrónico y los motores de búsqueda
  • Nuevas formas de investigación científica: Física computacional Química computacional

Ciencias de la Computacion Historia

Ciencias de la Computacion:
La historia es anterio a que se inventara la computadora
Antes de 1920 , el término computador habalaba de un ser humano que realizaba cálculos

Los primeros investigadores en la cuestión de la computabilidad querian saber
  • Qué cosas pueden ser computadas por un ser humano (siguiendo una lista de instrucciones por escrito)l, sin conocer el problema con anterioridad durante el tiempo que fuesea necesario
La motivación para este trabajo era realiza máquinas que computaran, y que pudieran automatizar labores y tareas largas y tediosas para una persona (que ademas podias tener errores)
En década de 1940 mientras se realizaban computadoras, el término computador se comenzó a utilizar para las máquinas en lugar de las personas.
El campo de las ciencias de la computación se fue ampliando mientras se veia que se podan realizar mas cosas que calculos matematicos para estudiar a la informática) en general.

La ciencia de la computación se estableciocomo una disciplina académica en la década del 60, con los primeros departamentos de ciencias de la computación en las universidad y las licenciatura respectivas.

Ciencias de la Computacion

Las ciencias de la computación es el estudio de las bases teóricas de la información y la computación ademas de su aplicación practica en sistemas computacionales.(Wikipedia)

Diferenctes campos de estudio:
  • Resultados específicos del cómputo (ej gráficos por computadora),
  • Teoría de la complejidad computacional)
  • Problemas que requieren la implementación de cómputos.

Programas y Algoritmos

Definicion de Algoritmo
Un algoritmo es una secuencia no ambigua, finita y ordenada de instrucciones que han de seguirse para resolver un problema. Un programa normalmente implementa (traduce a un lenguaje de programación concreto) un algoritmo. Nótese que es la secuencia de instrucciones en sí la que debe ser finita, no el número de pasos realizados como la ejecución de ellas.
Programas
Los programas suelen subdividirse en partes menores (módulos), de modo que la complejidad algorítmica de cada una de las partes sea menor que la del programa completo, lo cual ayuda al desarrollo del programa.

Según Niklaus Wirth un programa está formado por algoritmos y estructura de datos.

Se han propuesto diversas técnicas de programación, cuyo objetivo es mejorar tanto el proceso de creación de software como su mantenimiento. Entre ellas se pueden mencionar las programaciones lineal, estructurada, modular y orientada a objetos.

Cursos y Tutoriales de Programacion en Oferta

Cursos y Tutoriales de Programacion (JAVA, Linux, ASP, PHP, Visual Basic)

Sap Programacion(cd)consultoria T\los Modulos Mm-Sd-Fico...
Precio: $50.00
Curso De Programacion Java En Video / * Curso Java Dvd * /
Precio: $64.99
200 Manuales De Programaci�n Php Asp Linux Java Env�o Gratis
Precio: $20.00


Curso A Distancia - Programacion Con Visual Basic 6 - Utn
Precio: $169.00
Java - Todo Lo Que Necesita Saber
Precio: $9.99









Curso Php Y Mysql - 61 Videos De 43 Horas! En Dvd! El Mejor

Precio: $15.00



Lenguaje "C" libros y tutoriales

Fuente: Lenguaje "C" libros y tutoriales

http://www1.ceit.es/Asignaturas/Informat2/C/Prog_c.htm http://mundolinux.iespana.es/progr/manc/ http://www.programaenc.8m.com/ http://sopa.dis.ulpgc.es/so/cpp/intro_c/ http://programandoenc.webcindario.com/ http://www.ulpgc.es/otros/tutoriales/mtutor/indice.html http://www.tutoriales.com/ http://www.elrincondelc.com/nuevorincon/index.php?pag=codigos http://www.infomanuales.com/Manuales/C/C.asp

Fuente: Lenguaje "C" libros y tutoriales

Estudiar Informatica en la UNNOBA

Dentro del área de Informática, la UNNOBA ofrece carreras cortas que permiten atender necesidades propias de la región y carreras de grado para satisfacer requerimientos de Pymes, en especial para la explotación industrial, agrícola y ganadera. La coordinadora de las carreras de Informática, Luciana Balbi, reseñó las cinco variantes que ofrece la UNNOBA, así como el campo profesional de cada una de ellas.
La carrera más corta que se dicta en el área de Informática de la UNNOBA es la de Programador Universitario, de 2 años de duración. Según Balbi, en este pregrado el alumno recibe una amplia formación práctica que le permite la aplicación inmediata de sus conocimientos en al área laboral. «Esto implica la posibilidad de desarrollar sitios de Internet, como así también aplicaciones multimedias», señaló la coordinadora.
En el caso de la carrera Analista de Sistemas, de 3 años, el egresado está capacitado para relevar y analizar los procesos funcionales de distintas organizaciones, teniendo en cuenta las nuevas tecnologías y herramientas para el desarrollo de software.
La carrera Licenciatura en Sistemas es una carrera de grado de 4 ½ años de duración que le permite al egresado diseñar y gerenciar proyectos en sistemas de información computarizada.

Además de esta licenciatura, la UNNOBA ofrece otras dos carreras de grado que tienen 5 años de duración: ingeniería en informática con orientación procesamiento de señales e ingeniería en informática con orientación software.
«Los profesionales de la orientación procesamiento de señales son los que se encargarán de diseñar, desarrollar e implantar sistemas de apoyo al diagnóstico por imágenes, además de sistemas de procesamiento de imágenes satelitales y de sonido», informó Balbi.
En tanto, los que elijan la orientación software estarán capacitados para dirigir y conducir la configuración de los proyectos de software. «También establece y planifica las prácticas de desarrollo, mantenimiento y migración de sistemas informáticos», agregó la coordinadora.

Otra de las ventajas de estudiar Informática en la UNNOBA está relacionada con la flexibilidad de sus planes de estudio. «La cantidad de asignaturas comunes entre las diferentes carreras de Informática le permiten al alumno no tener que tomar una decisión definitiva inicial en la elección de la carrera», explicó Balbi y añadió que el estudiante, en el caso de que opte por seguir una carrera corta, podrá decidir si continúa sus estudios en una carrera de grado «al mismo tiempo que se inserta en el mercado de trabajo». Los ingresantes de las carreras de Informática en 2008 deberán transitar por el curso de ingreso nivelatorio, con dos asignaturas: matemática e introducción a los sistemas de información.
Trabajarán sobre las siguientes temáticas: resolución de problemas (teoría y técnicas), ciclo de vida del desarrollo de sistemas, algoritmos, conceptos básicos de programación y sistemas de información, entre otras.

Las expectativas laborales

“Las expectativas laborales para cualquiera de las cinco variantes de informática son inmejorables, en virtud de que la demanda de profesionales triplica la oferta del mercado, tanto en Junín y la región como en el resto del país”, señaló Balbi. En este marco, el Ministerio de Educación de la Nación inició en 2006 una campaña de difusión de carreras informáticas y las declara «prioritarias» para el desarrollo del país.
El secretario de Políticas Universitarias de la Nación, Alberto Dibbern, dijo que un relevamiento hecho por la Cámara Empresaria de Software y Servicios Informáticos marca que la demanda de técnicos y profesionales del sector no está cubierta actualmente.




Servidores Dedicados

Uno de los problemas mayores al crecer nuestro sitio web es obtener un buen hosting, ya sea que necesitemos un Plan Grande, un VPS o un Servidor Dedicado.
Hay buenas opciones en el mercado, algunas mas seguras que otras.

Liquid Web
Es una empresa que brinda buenos dedicados administrados y es una de nuestras recomendaciones.


Si otras empresas de Hosting nos quieren mandar servicios para evaluqr con todo gusta las publciaremos

TAD Pilas Implementacion en Pascal

Unidad Pila Implementacion del TADA para PASCAL
Codigo:
unit upila ;

INTERFACE
CONST MAX_PILA = 10;
type
tpila = Record
Cima : Integer;
Elementos : Array[1..MAX_PILA] of Integer;
End;



IMPLEMENTATION

Procedure crear(Var pila : tpila);
begin
pila.cima := 0
end;


Function vacia(Var pila : tpila) : Boolean;
begin
vacia := pila.cima = 0
end;



Function llena(Var pila : tpila) : Boolean;
begin
llena := pila.cima = MAX_PILA
end;



Procedure apilar(Var pila : tpila; elem : integer);
begin
Inc(pila.cima);
pila.elementos[pila.cima] := elem
end;



Procedure desapilar(Var pila : tpila; Var elem : integer);
begin
elem := pila.elementos[pila.cima];
dec(pila.cima)
end;
end.

Assembler El lenguaje ensamblador

El término ensamblador (del inglés assembler) se refiere a un tipo de programa informatico que se encarga de traducir un fichero fuente escrito en un lenguaj ensamblador, a un fichero objeto que contiene codigo máquina, ejecutable directamente por la máquina para la que se ha generado. El propósito para el que se crearon este tipo de aplicaciones es la de facilitar la escritura de programas, ya que escribir directamente en codigo binario, que es el único código entendible por la computadora, es en la práctica imposible. La evolución de los lenguajes de programación a partir del lenguaje ensamblador originó también la evolución de este programa ensamblador hacia lo que se conoce como programa compilador.

Todo procesador, grande o pequeño, desde el de una calculadora hasta el de un supercomputador, ya sea de propósito general o específico, posee un lenguaje único que es capaz de reconocer y ejecutar. Por razones que resultan obvias, este lenguaje ha sido denominado Lenguaje de Máquina y más que ser propio de un computador pertenece a su microprocesador. El lenguaje de máquina está compuesto por una serie de instrucciones, que son las únicas que pueden ser reconocidas y ejecutadas por el microprocesador. Este lenguaje es un conjunto de números que representan las operaciones que realiza el microprocesador a través de su circuitería interna. Estas instrucciones, por decirlo así, están grabadas o "alambradas" en el hardware y no pueden ser cambiadas. El nivel más bajo al que podemos aspirar a llegar en el control de un microprocesador es precisamente el del lenguaje de máquina.


Los traductores se dividen en dos grupos dependiendo de la relación entre lenguaje fuente y lenguaje objeto. Cuando una instrucción de un lenguaje fuente nos genera una única instrucción numérica máquina decimos que ese lenguaje fuente es Ensamblador.

La transformación del lenguaje ensamblador en código máquina la realiza un programa ensamblador, y la traducción inversa la puede efectuar un desensamblador. A diferencia de los lenguajes de alto nivel, aquí hay usualmente una correspondencia 1 a 1 entre las instrucciones simples del ensamblador y el lenguaje máquina. Sin embargo, en algunos casos, un ensamblador puede proveer "pseudo instrucciones" que se expanden en un código de máquina más extenso a fin de proveer la funcionalidad necesaria. Por ejemplo, para un código máquina condicional como "si X mayor o igual que" , un ensamblador puede utilizar una pseudoinstrucción al grupo "haga si menor que" , y "si = 0" sobre el resultado de la condición anterior. Los ensambladores más completos también proveen un rico lenguaje de macros que se utiliza para generar código más complejo y secuencias de datos.

articulo.org

Pascal

Free pascal


Open source compiler for Pascal and Object Pascal

Si queres aprender programacion Pascal es el lenguaje indicado.
Un compilador Libre es FreePascal
www.freepascal.org

Hechos en Programacion Logica PROLOG

Para representar los hechos basta elegir los símbolos de los átomos.
Por ejemplo
Hecho : El animal tiene rayas negras.
se representa en Prolog por tiene_rayas_negras.

Es decir, el símbolo del átomo terminado en un punto.
Los hechos pueden verse como cláusulas con el cuerpo vacío.
Para representar la base de conocimiento en Prolog, se escribe en un fichero (por ejemplo,
animales.pl) cada una de las reglas y los hechos

es_cebra :- es_ungulado, tiene_rayas_negras. % Regla 1
es_ungulado :- rumia, es_mamífero. % Regla 2
es_ungulado :- es_mamífero, tiene_pezuñas. % Regla 3
es_mamífero. % Hecho 1
tiene_pezuñas. % Hecho 2
tiene_rayas_negras. % Hecho 3

Al lado de cada regla y de cada hecho se ha escrito un comentario (desde % hasta el final de la
línea).



Basado en Introducción a la programación lógica con Prolog de José A. Alonso Jiménez

La obra está bajo una licencia Reconocimiento–NoComercial–CompartirIgual 2.5 Spain de Creative Commons.








Programacion Logica PROLOG Reglas Primeros Paso

A parir de este POST y en sucesivos comentarios publicaremos sobre Programcion LOGICA y PROLOG.
Combinaremos comentarios nuestras con apuntes del libro
Introducción a la programación lógica con Prolog de José A. Alonso Jiménez

La obra está bajo una licencia Reconocimiento–NoComercial–CompartirIgual 2.5 Spain de Creative Commons.
Para resolver unp roblema con Prolog vamos a considerar las siguientes cuestiones:
1. cómo se representan en Prolog las reglas,
2. cómo se representan en Prolog los hechos,
3. cómo se representan en Prolog las bases de conocimientos,
4. cómo se inicia una sesión Prolog,
5. cómo se carga en Prolog la base de conocimiento,
6. cómo se representa en Prolog el objetivo a demostrar,
7. cómo se interpreta la respuesta de Prolog,
8. cómo ha realizado Prolog la búsqueda de la demostración,
9. cuál es la demostración obtenida y
10. cómo se corresponde dicha demostración con la anteriormente presentada.

PASO A PASO
Regla 1: Si un animal es ungulado y tiene rayas negras, entonces es una cebra.

Para representar una regla, se empieza por elegir los símbolos para los átomos que aparecen
en la regla.
Podemos elegir los símbolos es_ungulado, tiene_rayas_negras y es_cebra.
La regla 1 puede representarse como
Si es_ungulado y tiene_rayas_negras entonces es_cebra

se representa en Prolog, mediante la cláusula
es_cebra :- es_ungulado , tiene_rayas_negras.
Se cambia el sentido de la escritura y sustituir las conectivas por :- (condicional inversa) y , (conjunción).
El átomo a la izquierda de :- se llama la cabeza y los átomos a la derecha se llama el cuerpo de la regla.

Los mejores programadores

"Los mejores programadores pueden ser 20 veces más productivos que los medios"

"El 50% de los programadores se consideran a si mismos que están en la categoría de los mejores, pero en realidad sólo está el 1%"

Lawrence Bernstein

Multan a un profesor ruso por tener copias piratas de Windows

El director de una escuela rusa dijo el lunes que un tribunal lo multó con la mitad de su salario mensual por utilizar en el centro de estudios copias pirateadas de un programa de Microsoft, un caso que el presidente Vladimir Putin ha calificado de "completo disparate".

Los fiscales dijeron que Alexander Ponosov violó los derechos de propiedad de la compañía estadounidense al permitir a sus alumnos que utilizaran 12 ordenadores con copias sin licencia de Microsoft Windows y Office.

En los mercadillos de Moscú se pueden encontrar copias ilegales del sistema operativo Windows XP de Microsoft por unos seis dólares.

La televisión estatal rusa se ha referido a Ponosov como un héroe en una batalla de David contra Goliat, representado por el sistema legal y las corporaciones internacionales.

"Hoy el tribunal ha dado una sentencia de culpabilidad, me han ordenado que pague una multa de 5.000 rublos," declaró Ponosov a Reuters por teléfono desde la región de Perm.

"Pero me considero inocente, y voy a apelar," aseguró, y añadió que no ha pagado la multa. El director de la escuela dijo que gana unos 10.000 rublos al mes.

Putin ha dicho que el caso es un "completo disparate," e incluso el ex presidente soviético Mijaíl Gorbachov pidió al cofundador de Microsoft Bill Gates que interceda por el profesor.

Agencia Reuters Via 20minutos

Forgot password PHPAdsnew

PHPAdsnew es un conocido sistema de administracion de publicidad Online pero cuando uno pierde el password de administrador es imposible recuperarlo, no existe ninguna funcion "Forgot password" en PHPAdsnew

Despues de mucho buscar descubri que la unica manera es

Entrar al phpmyadmin y reemplazar la clave comprimida con md5 por 5ebe2294ecd0e0f08eab7690d2a6ee69
Esa clave es la encriptacion de la palabra
"secret"
Luego una vez que ingresamos podremos cambiar el pass a eleccion