domingo, 31 de octubre de 2010

Lenguajes Logicos (Reporte 5)

¿Que son los Lenguajes Logicos ?

Los lenguajes lógicos son declarativos, como opuestos a los lenguajes procedimentales. En un lenguaje de programación lógica típico, de los que Prolog es sin duda el mejor representante, cada aserción o sentencia expresa una proposición que puede ser representada por una fórmula lógica, las proposiciones son hechos o reglas.

Problema 1

Cuatro perros


Tenemos cuatro perros: un galgo, un dogo, un alano y un podenco. Éste último come más que el galgo; el alano come más que el galgo y menos que el dogo, pero éste come más que el podenco. ¿Cuál de los cuatro será más barato de mantener?

Perros
  1. Galgo
  2. Dogo
  3. Alano
  4. Podenco
Los que comen mas que el Galgo

  • Podenco
  • Alano
  • Dogo 
Los que comen mas que el galgo

  • No hay nadie mas que el Galgo


Justificacion de respuesta

Bueno, en este problema, se llego a que el galgo era el que comia menos ¿Porque? hay va la explicacion:

Por que el Podenco y el Alano comen mas que el Galgo, claro el Alano menos que el Dogo, pero el Dogo come mas que el Podenco, y pues el Podenco comes mas que galgo.

Entonces esto quere decir que todos los perros comen mas que el Galgo.


Problema 2

Seis amigos desean pasar sus vacaciones juntos y deciden, cada dos, utilizar diferentes medios de transporte; sabemos que Alejandro no utiliza el coche ya que éste acompaña a Benito que no va en avión. Andrés viaja en avión. Si Carlos no va acompañado de Darío ni hace uso del avión, podría Vd. decirnos en qué medio de transporte llega a su destino Tomás.


 
Amigos
  • Alejandro
  • Benito
  • Andres
  • Carlos
  • Dario
  • Tomas
 
Pareja 1
 
  • Alejandro
  • Benito
 
Pareja 2
 
  • Andres
  • Dario
 
Pareja 3
 
  • Carlos
  • Tomas
Justificacion de respuesta
  
Tomas va acompañado de Carlos ¿Porque?

Por que Alejandro y Benito van juntos, esa es la primera pareja, entonces si Carlos no van con Dario y ademas Carlos no va en avion, entonces Dario no va con Carlos y Carlos no puede ir con Andres, por que el no va en avion, enconsecuencia Carlos no puede ir con Andres ni con Dario, Dario va con Andres pareja 2 y la pareja que sobra es Carlos y Tomas pareja 3



Bueno estos son mis problemas, la verdad no supe implementarlos en un lenguage, por eso la razon de hacer dos problemas, pero estaba leyendo y muchas paguinas dicen que el lenguaje Prolog, es muy util y muy dado a estos tipos de problemas,

Ojala hayan entendido mis problemas, estaba demaciadio faciles pero te hacen pensar un buen rato, muchas gracias por leer mi entrada.



Alfonso Manuel Aguilar Leyva

sábado, 30 de octubre de 2010

Lenguajes Imperativos (puntos extra)

Lenguajes Imperativos

Los lenguajes imperativos son los tipos de lenguajes que describen un conjunto de acciones consecutivas que un equipo debe ejecutar, de una tras otra, de una manera secuencial, salvo cuando se encuentran con algun tipo de bucle o algo por el estilo.

En ciencias de la computacionales se llama lenguajes imperativos a aquellos lenguajes en los cuales se le ordena a la computadora cómo realizar una tarea siguiendo una serie de pasos o instrucciones, por ejemplo:
  • Paso 1, solicitar número.
  • Paso 2, multiplicar número por dos.
  • Paso 3, imprimir resultado de la operación.

En lo que respecta a la implementación de hardware la mayoría de las computadoras son imperativas, prácticamente todo el hardware de las computadoras están diseñados para ejecutar código de máquina, que es nativo de la computadora, escrito en una forma imperativa. Esto se debe a que el hardware de las computadoras implementa el paradigma de las Máquinas de Turing.


Ejemplos
 
Algunos ejemplos de lenguajes imperativos son: 
  • C
  • C++
  • C#
  • Pascal
  • Visual Basic
  • Java
  • PHP
  • Fortran
  • Pearl
Programa  
 
En cuanto al ejemplo de una programa, podria ser el de Facorial, hagamos uno en C:
 
#include
main()
{
int i,num;
long fac;
printf("Dame el numero ");
scanf("%d", &num);
if(num >= 0)
{
fac=1;
for(i=1; i<=num; i+)
{
fac*=i;
printf("El factorial de %d es: %ld",num, fac);
}else{
printf("Error en el dato ingresado");
      }
}
return 0;
 
Alfonso Manuel Aguilar Leyva

jueves, 28 de octubre de 2010

Backus naurs (Puntos Extra)

Backus-Naur también conocida como Backus-Naur form, Backus-Naur formalism, etc. es una meta sintaxis usada para expresar una manera formal de describir lenguajes formales.
 
El Backus Naurs se utiliza extensamente como notación para las gramáticas de los lenguajes de programación de la computadora, de los sistemas de comando y de los protocolos de comunicación, así como una notación para representar partes de las gramáticas de la lengua natural (por ejemplo, el metro en la poesía de Venpa). La mayoría de los libros de textos para la teoría o la semántica del lenguaje de programación documentan el lenguaje de programación en BNF.
 
Ejemplo
 
::=
::=
"."
::= []
::= []
::= ","

Esto se traduce a español como:
  •  Un dirección postal consiste de un nombre, seguido por una dirección, seguida por un apartado postal.
  •  Una parte "personal" consiste en un nombre o una inicial seguido(a) por un punto.
  •  Un nombre consiste de: una parte personal seguida por un apellido seguido opcionalmente por una jerarquía o el trato que se la da a la persona (Jr., Sr., o número dinástico) y un salto de línea (end-of-line), o bien una parte personal seguida por un nombre (esta regla ilustra el uso de la repetición en BNFs, cubriendo el caso de la gente que utiliza múltiples nombres y los nombres medios o las iniciales).
  •  Una dirección consiste de una especificación opcional del departamento, seguido de un número de casa, seguido por el nombre de la calle, seguido por un salto de línea (end-of-line).
  •  Un apartado postal consiste de una ciudad, seguida por una coma, seguida por un código del estado (recuerden que es un ejemplo que ocurre en EU), seguido por un código postal y este seguido por un salto de línea (end-of-line).