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

Nuestros post en Proginternet.com.ar

El blog aprender Progrmacion integro sus post a Programacion Internet en www.proginternet.com.ar
de esta manera todos los post publicados en este Blog (o un resumen de ellos) se publicaran tambien en Programacion Internet en lo que es llamado un Planet (O Blog de Blogs) donde muchos blogueros como nosotros publicamos, saliendo ganando ambas partes. Este blog por los enlaces de un Sitio de PR 4 y con amplia repercusion y Proginternet al integrar contenido de los mejores Blog tematicos de programacion
www.proginternet.com.ar

Delphi para PHP

Anuncion publicitario del nuevo Delphi para PHP
" Delphi® para PHP revoluciona el desarrollo PHP Web con el entorno de visual de desarrollo rápido de aplicaciones (RAD) acelerando el desarrollo Web PHP. Delphi para PHP es el camino más rápido y fácil de construir aplicaciones Web PHP."
"Delphi® para PHP

* El entorno visual de desarrollo RAD para PHP
* Acelera el desarrollo con el framework visual (RAD) de Delphi para PHP
* Simplifica la programación PHP con las librerías, fáciles de entender, de Delphi.
* La sofisticada depuración acelera el proceso de seguimiento y solución de errores
* El entorno integrado de desarrollo optimiza la gestión y la navegación del código PHP de forma que nunca antes había sido tan sencilla.

Revolucione su desarrollo Web PHP
Delphi® para PHP revoluciona el desarrollo PHP Web con el entorno de visual de desarrollo rápido de aplicaciones (RAD) acelerando el desarrollo Web PHP. Delphi para PHP es el camino más rápido y fácil de construir aplicaciones Web PHP.

Muchos programadores Web de hoy en día usan PHP para desarrollar portales, forums y aplicaciones Web debido a que PHP les permite la creación dinámica de estas aplicaciones con una sólida conectividad a bases de datos. Sin embargo, el desarrollo Web PHPsiempre ha estado bloqueado por la ausencia de un entorno de desarrollo de aplicaciones poderoso. La existencia de un ecosistema “open source” PHPactivo y vital con una miríada de componentes y opciones hacen que la necesidad de un entorno integrado de desarrollo sea realmente crítica.

Delphi 2007 para PHP
Delphi® paraPHP es el primer entorno visual integrado de desarrollo rápido (RAD) para PHP. El entorno de Delphi, probado y familiar, le permite rápidamente ser productivo sin los habituales dolores de cabeza asociados al conocimiento de un nuevo entorno de trabajo. El poderoso editor y depurador PHP incrementan la velocidad de codificación y la eficiencia, mientras la VCL integrada para PHP 5 le permite rápida y visualmente la creación de aplicaciones Web PHPy componentes “open source”.

Delphi para PHP tiene integrada una librería visual de componentes llamada VCL para PHP. Dispone de una paleta de componentes personalizable con más de 50 componentes que incluyen botones, etiquetas, “check boxes”, imágenes, menús DHTML, objetos flash, “grids”, “tree views”, listas y mucho más. También contiene componentes para el acceso a base de datos, tablas, “querys” y procedimientos almacenados así como “grids” y elementos de navegación. La VCL para PHP se puede extender en cualquier momento con sus propios componentes o usar componentes “open source” ofrecidos a través de la plataforma PHP.

Delphi para PHP le facilita la creación de sus propios componentes y la instalación de los paquetes personalizados. La VCL para PHP le simplifica el desarrollo de nuevas clases debido a que todos los componentes están codificados con puro PHP. Simplemente sitúe los componentes en los formularios y utilícelos en sus aplicaciones. Los componentes de la VCL para PHP contienen propiedades, métodos y eventos que convierten el desarrollo del interfaz Web en algo inmediato. Delphi para PHP es la manera más fácil y sencilla de desarrollar aplicaciones Web sobre PHP sólidas y poderosas."
Habra que probarlo

Donde aprender informatica

Una de las preguntas habituales de los que recien se inician es: Donde Aprendo a Programar.
En un instituto, en una Universidad, hago cursos, leo manuales... que hago?

La respuesta depende de lo que quieramos hacer con nuestra vida

Si nos gusta la informatica y nuestra intencion es dedicarnos seriamente a ella en la vida, la recomendacion es Estudia en la UNIVERSIDAD, ya que no solo obtendras los conocimientos sino tendras la base para cualquier actividad posterior.

Ademas la Universidad te enfrentara a otro punto y te dara diferente svisiones del asunto, ayudandote a descubrir la Ingenieria de Software, que en tu casa estudiando o en un instituto te parecera sin importancia

Cambio de Version de Blogger - Enlaces

Hemos realizado un Cambio de Version de Blogger y hemos perdido algunos de los NElaces de la seccion sobre Webs y Blogs que enlazaban a nuestro sitio.

SI algun Bloguero o webmasters nos quiere enviar el enlace para que enlacemos este sitio con solo comentar este POST y mandarlos la ubicacion agregaremos el enlace en la SECCION RECOMENDADOS de la derecha

Curso de AJAX


AJAX és una técnica de desarrollo web para crear aplicaciones interactivas usando diferentes tecnologías web que colaboran entre ellas.
http://www.programacionweb.net/cursos/curso.php?num=2

Nacido en 2005 cómo una técnica para la sustitución del iframe como método de comunicación sin refresco se ha convertido en pocos años en una tecnología imprescindible en la mayoría de aplicaciones web.

En este curso aprenderemos a utilizar AJAX para crear nuestras própias aplicaciones así como también encontraremos una referéncia completa y con ejemplos de los metodos y atributos que utilizaremos con esta tecnología:

Capítulos:
1. Que es ajax
Según wikipedia AJAX (Asynchronous JavaScript And XML) és una técnica de desarrollo web para crear aplicaciones interactivas...
2. El objeto XMLHttpRequest
Un objeto XMLHttpRequest es una instancia de una API que nos permite la transferéncia de datos en formato XML desde los script...
2.1. onreadystatechange (atributo)
El atributo onreadystatechange asigna la función que se ejecutará cada vez que readyState cambie de valor. Utilización...
2.2. readyState (atributo)
El atributo readyState devuelve el estadoactual del objeto XMLHttpRequest, cada vez que cambia el valor de readyState se lanza...
2.3. responseText (atributo)
El atributo responseText devuelve el texto del documento descargado del servidor en una petición con XMLHttpRequest. ...
2.4. responseXML (atributo)
El atributo responseXML devuelve una referéncia al cuerpo del documento descargado del servidor en una petición con...
2.5. status (atributo)
El atributo statusText devuelve el código del estado HTTP de la transmisión devuelto por el servidor web. Utilización...
2.6. statusText (atributo)
El atributo statusText devuelve el texto del estado HTTP de la transmisión devuelto por el servidor web. Utilización...
2.7. abort (metodo)
El método abort detiene todas las conexiones asíncronas abiertas por el objeto XMLHttpRequest lo y reinicializa poniendo a...
2.8. getAllResponseHeaders (metodo)
El método getAllResponseHeaders devuelve en una sola cadena de caracteres los encabezados HTTP que se han recibido del...
2.9. getResponseHeader (metodo)
El método getResponseHeader devuelve en una sola cadena de caracteres uno de los encabezados HTTP que se han recibido del...
2.10. open (metodo)
El método open prepara una conexión HTTP a través del objeto XMLHttpRequest ( con un método y una URL especificados ) y ...
2.11. send (metodo)
El método send envía la petición con los datos pasados por parámetro como cuerpo de la petición a través del objeto...
2.12. setRequestHeader (metodo)
El método setRequestHeader añade un encabezado HTTP a la petición HTTP a través del objeto XMLHttpRequest. Utilización...
3. Creación del objeto XMLHttpRequest
El secreto de AJAX es la comunicación sin refresco entre el cliente y el servidor, esto es posible gracias a JavaScript y al...
4. Realizar una petición con AJAX
El primer paso para establecer la comunicación con el servidor usando AJAX, es hacer la petición, posteriormente, el servidor nos...
4.1. escape (metodo)
El método escape devuelve la cadena pasada por parámetro con las transformaciones nescesárias para ser enviada en una...
5. Recibir la petición AJAX
Vamos a ver como recibir la petición realizada en el capítulo anterior de este curso de AJAX, recordamos que habíamos hecho una...
6. La respuesta AJAX
Por definición, AXAJ utiliza XML para organizar los datos transmitidos entre el servidor y el navegador, para que el navegador...
7. Tratamiento de la respuesta AJAX
Una vez recibida la petición AJAX debemos saber interpretar los datos XML recibidos usando JavaScript, para ello, utilizaremos...
7.1. getElementsByTagName (metodo)
El método getElementsByTagName devuelve una lista de todos los subelementos del elemnto actual que tienen un nombre...
8. Mostrar los datos al usuario
Una vez hemos recibido y conocemos los datos que necesitamos del servidor, deberemos mostrarlos al usuario de alguna...

http://www.programacionweb.net/cursos/curso.php?num=2

PROGRAMACIÓN ORIENTADA A ASPECTOS

"Programación Orientada a Aspectos: Una Introducción"
Pablo Montes, M.Sc.
La programación orientada a aspectos es un paradigma de programación relativamente nuevo que ha logrado un nivel de desarrollo interesante y está generando grandes expectativas a nivel mundial con respecto al futuro del desarrollo de software. Este paradigma presenta una nueva forma de modularizar las aplicaciones junto con nuevas formas de relacionar dichos módulos buscando, en últimas, construir aplicaciones más fáciles de construir, mantener y extender.

Crear una lista de carpetas con PHP

Tienes una carpeta llena de fotos... quieres linkearlas todas.
Una opción seria dejar el index predeterminado que hace apache (O el server que uses) de tu carpeta. una de las otras opciones, es la que les voy a mostrar ahora:

<?php
echo "<h3>Index</h3>\n";
echo "<table>\n";
$directorio = opendir(".");
while ($archivo = readdir($directorio))
{
$nombreArch = ucwords($archivo);
$nombreArch = str_replace("..", "Atras", $nombreArch);
echo "<tr>\n<td>\n<a href='$archivo'>\n";
echo "<img src='./imagenes/carpeta.png' alt='Ver $nombreArch'";
echo " border=0>\n";
echo "<b> $nombreArch</b></a></td>\n";
echo "\n</tr>\n";
}
closedir($directorio);
echo "</table>\n";
?>

Explico brevemente:

$directorio = opendir("."); Abrimos el directorio raíz
while ($archivo = readdir($directorio)) La var archivo es igual a lo leido en el direcorio
echo "<tr>\n<td>\n<a href='$archivo'>\n";


Fuente: Cristalab

Curso de HTML

Un curso HTML dictado por un destacdo profesional Universitario comenzo en CURSO-HTML.BLOGSPOT.COM

Sin duda un curso para aprovechat todos aquellos que se inician en la programacion Web

Tutorial de Ruby on the Rails

Leido de: Aprendamas

"

Ruby on Rails es la nueva generación en desarrollo de aplicaciones Web, y junto con AJAX está creando una revolución en la industria del desarrollo de software de web.

Ruby es un lenguaje de programación interpretado y orientado a objetos. La filosofía de Ruby es don't repeat yourself (DRY) - no te repitas. La idea de ruby es que usted no necesita repetir lo que ya ha definido en otro lugar. Esto hace a ruby muy compacto.

Rails es un armazón de librerías diseñado específicamente para crear aplicaciones de web. Como está hecho en ruby, es compatible con la filosofía de DRY. En vez de configuración, Rails prefiere convención y anotaciones. Esto proviene principalmente de las frustraciones con plataformas que obligan a uno a repetir en archivos de configuración XML una historia que ya se ha dicho en código.

Por alli he visto algunos comentarios en donde hablan que este lenguajes podría ser en un futuro el sustituto de PHP!!!.

Les dejo un enlace en donde puede leer un tutorial de esta plataforma de programación y en uno de sus apartados un videotutorial sobre este lenguaje.

"

Que es una variable?

Que es una variable?

Una variable ( es algo que un valor "que varia" )es un espacio de memoria que se reserva para guardar un valor alfanumérico, que se reconoce por la etiqueta asignada bajo ciertas reglas según el lenguaje de programación en el que se está trabajando. Aunque la forma en que se almacena la información es siempre la misma, (binario), una variable puede adoptar diferentes tipos en función de como se interpretan los datos.

ALgunos tipos comunes

* boolean (booleano)
* integer (entero) . En algunos lenguajes int, small
* real (decimal de coma flotante) en otros lenguajes double, float....
* char (carácter)
* string (cadena de texto)

Fuente: wikipedia y material propio del blog