miércoles, 17 de noviembre de 2010

Tarea #8 - Lenguajes Multiparadigma

No pude, descargar los compiladores de ninguno de los dos lenguajes de programacion de oz ni go, y tampoco no pude encontrar ejemplos mas compliados, busque unos tutoriales pero aun asi no venia muchoo.

Oz
Es un lenguaje de programacion multi-paradigma y lenguaje de programacion esoterico.

Oz fue desarrollado en el laboratorio de programacion de sistemas en la universidad de Saarland por Gert Smolka y sus estudiantes a comienzos de 1990.

Oz tiene una implementacion de gran calidad, el sistema de Programacion Mozart, el cual fue liberado con una locencia de codigo abierto por el consorcio Mozart, ha sido portado a diferentes plataformas como unix, Microsoft Windows y Mac OS X.

Contiene una forma simple y bien hecha de la mayoria de los conceptos de los principales, paradigmas de programacion, incluyendo programacion logica, funcional, imperativa, orientada a objetos. Tiene una semantica formal simple y una implementacion eficiente, y con concurrencia que hace facil su uso y eficiente.

Codigo: {Show 'Hello World'}


Referencias:
http://www.docstoc.com/docs/25177415/Lenguajes-Bases-de-Datos-y-Aplicaciones-en-ambientes-distribuidos

http://www.mozart-oz.org/documentation/tutorial/node2.html#label8
---------------------------------------------------------------------------------------------

Go
Es un lenguaje de programacion concurrente y compilado inspirado en la sintaxis de C. Ha sido desarrollado por google y sus diseñadores iniciales son Robert Grisemer, Rob Pike, y Ken Thompson.

Esta disponible para sistemas operativos como GUN/Linux y Mac OS X

Codigo 

package main

import "fmt"

func main()
{
  fmt.Printf("Hola, mundo\n")
}

http://es.wikipedia.org/wiki/Go_%28lenguaje_de_programaci%C3%B3n%29
http://www.kriptus.com/lenguaje-de-programacion-de-google-go/

Como ven son los programas sencillos que puede haber en la programacion, no consegui mucho, de estos, como ya habia mencionado, y tambien como no sabia mucho de ellos, no consegui la informacion necesaria.

Tarea #7 - Lenguaje Orientado a Objetos

La orientacion a objetos, promete un amplio alcanse, desarrollo y mantenimiento del software ofreciendo una solucion a los pronlemas y preocupaciones que han existido desde el comiezo en el desarrollo del software: como falta de portabilidad de codigo, codigos difiles de modificar, ciclos largos, y tecnicas de codificacion.

Todo esto puede ser solucionado por un lenguaje oriendato a objetos, tiene 3 caracteristicas: debe esstar basado a objetos, basado en clases y capaz de tener herencia de clases. Muchos lenguajes cumplen con uno o dos de estos, pero es  menos que cumplan con los 3.

Alguna definicion como su nombre lo dice, objeto, que es como un conjunto complejo de datos y programas que poseen estructuras y forman parte de una organizacion.

Sus caracteristicas son no es dato simple, si no que contiene en su interior cierto numero de componentes bien estructurados, y en segundo lugar, cada objeto no es un ente aislado, sino que forma parte de una organizacion jerarquica o de otro tipo.

--------------------------------------------------------------------------------------------



El primer programa en C++ lo que hace es pedirme dos datos, y al ingresarlos, me aparece un pequeño menu, de que es lo que quiero hacer, como las operaciones basicas que sabemos, y si ingresamos otra opciones nos aparece error, y que ingresemos otro
Codigo:


Y asi es como se ve ya ejecutandolo

El segundo programa en Java que es un programa facil, es la serie de binonacci, que me pregunte por la cantidad de numero, hasta cual quiero llegar, y luego ya me los imprime, el compilador que utilice es el eclipse.

Codigo:
 Y las imagenes en ejecucion, batalle un poco para poderlo ejecutar, ya que me salian error pero al final me funciono.
Primeramente pregunto, el numero de datos, hasta donde quiero que lleguen.
Y la imagen ya en la ejecucion


Ojala puedan entenderle, y al padecer, asi era este reporte, si tienen una duda, me comentan

miércoles, 10 de noviembre de 2010

Tarea #6 - Lenguajes Imperativos

Mis 4 programas seran en Pascal, C, Fortran y Algol
--------------------------------------------------------------
Pascal

Lo que hace es pedirnos un rango, y nos dara la seria de fibonnaci hasta tal numero que tecleamos.
Codigo
uses crt;
var i,j,c,x,r: byte;

begin clrscr;
 i:=0;  
 j:=1;
 x:=0;
write<´Rango:   ´>; read<r>;
writeln;
writeln<´La secuencia de Fibonacci de 0 - ´,r, ´es:  ´>;
writeln;
for c:=1 to r do
begin
 write <x, ´ ´>;
x:=i+j;
j:=i;
i:=x;
end;
readkel;
end.

http://sourceforge.net/projects/freepascal/files/


-------------------------------------------------------------------------------------------------------
C
Lo que hace es sacar el factorial de un numero.
Codigo
#include <stdio.h>
int factorial(int n){
  if(n <= 0) return 1;
  else return n * factorial(n-1);
}main()
{
  int n;
  int factoial(int);
  scanf("%d", &n);
  printf("Factorial de %d es %d.\n", n, factorial(n));}



-------------------------------------------------------------------------------------------------------
Fortran
Lo que hace es calcular el seno de teta 

Codigo
implicit none                                                       Declarar Variables
integer i
real x,s,pi
pi = acos(-1.0)                                                   Calcular pi.
open(10,file=’seno.dat’)                                     Abre el archivo
do i=0,100
x = 2.0*pi*real(i)/100.0                                    Calcula X de 0 a 2/pi y su seno
s = sin(x)
write(10,’(2f10.4)’) x,s
end do                                                               Se cierra el archivo
close(10)
end program seno                                            


----------------------------------------------------------------------------------------------------
Algol
Este progrma hace la conversion de grados Farenheit a grados Celsius

Codigo
fahrenheit
begin
    real fahrenheit;
    print ("Diga los grados Fahrenheit:  ");
    read (fahrenheit);
    print("Celsius ", (fahrenheit-32-0 * 5.0/9.0);
end
finish



Ojala pueden entenderle a los 4 programas y ya no pude conseguir un compilador para algol ni fortran, y que las otras dos imagenes se visualicen bien, ya que me comentaron mucho que no se veian bien las demas
me dicen para modificarlas

Tarea #5 - Problema Logico

Caballeros y Bribones 2

*Hay 3 personas (Alex, Arroyo y Cody), uno de ellos es un caballero, otro un bribon, y un espia.
     El caballero siempre dice la verdad,
     El bribon siempre miente,
     Y el espia puede mentir o decir la verdad.

Ellos son llevados antes un juez, que quiere identificar el espia.
     Alex dice: Yo no soy un espia
     Arroyo dice: yo soy un espia
     Cody dice yo soy el espia.

El juez pregunta: ¿Es arroyo realmente un espia?
¿Cody puede dar una respuesta de modo que él no se condene como un espía?

Solucion
Si Arroyo contesta NO, arroyo seria bribon o espia,
                     -Si es espia, entonces, alex sera el caballero, y cody el bribon.
                     -Si es el bribon, entonces, alex seguiria siendo caballero, y cody el espia

Si Cody contesta NO, cody seria bribon o caballero,
                     -No se podra sacar conclucion ya que no concuerda nada.
Si cody contesta SI entonces
                    -seria por que el es el espia

Asi es como se resolveria, preguntandole a el si es el espia o no, y como explique arriba si contesta no, no concuerda nada, y si contesta si, se afirmaria que el es el espia.

Alex es Caballero, Arroyo el Bribon y Cody el espia 






miércoles, 13 de octubre de 2010

Tarea #4 - Lenguajes Funcionales

Los 2 lenguajes son el: *Haskell
                                        *Erlang

Haskell
Es un programa que me pide n numeros cualquiera, si escribimos divisible, los digitos nos dice falso o verdadero si se puede dividir esos dos numeros, o tambien escribimos primo junto con el digito y nos aparece los nimeros primos menores a este.

  Codigo
divisible :: int -> int -> bool 
divisible x y = (mod x y) ==0

divisibles::Int->[Int]
divisibles x = [y | y <-[1..x],divisible x y]

esPrimo::Int->Bool
esPrimo n = length (divisibles n) ==2

primo::Int->[Int]
primo n = [x | x <-[1..n],esPrimo x]
http://cvs.haskell.org/Hugs/pages/downloading.htm
http://es.wikipedia.org/wiki/Haskell
http://www.haskell.org/

Erlang
Codigo que me dice el factorial de un numero.

    Codigo:

-module (factorial).
-export ([ factorial/1]).

factorial (0) ->
1;
factorial (x) ->
n * factorial (x-1).

http://en.wikipedia.org/wiki/Erlang_%28programming_language%29
http://www.erlang.org/download.html

miércoles, 1 de septiembre de 2010

Tarea #3 (Modificado)

Los 3 Lenguajes Script que escogi para esta tarea son: * Python
                                                                             * Perl
                                                                                      * JavaScript

Python
Este programa que identifica entre dos valores cual es el mayor o si son iguales.

Codigo:
numero1 = int (raw_input('Ingrese el primer numero:   '))
numero2 = int (raw_input('Ingrese el segundo numero:  '))

if(numero1>numero2):
   print ' %d Es mayor que %d ' % (numero1,numero2)
elif (numero1<numero2):
  print ' %d es menos que %d ' % (numero 1, numero2)
else:
  print ' Los dos valores son iguales '


Las dos primeras dos lineas es para el ingreso de los dos numeros y de que tipo de dato debe ser
Las demas lineas es comparar estos dos numeros si se cumple uno de los if este se imprime el resultado

Como se puede ver en este codigo, tiene muy pocas instrucciones y es muy simple para programar.

--------------------------------------------------------------------------------------

Perl
Programa que es para saber los numeros primos menores a n numeros.

Codigo:
#!/usr/bin/perl
#Codigo para hallar los numeros menores a n
$n = 50;                                                     #Es el valor de n
for ($i=1; $i<=n; $i=i+i) {
$p  [ $i] = $1;
$# ARGV == 1

Primeramente se da el valor de n que es 50
si no se dan argumentos se pregunta por cada numero
al final imprime los numeros

Java Script
En este codigo calcula el cuadrado de un numero y que me imprime el resultado.

<HEAD>
...
<SCRIPT Laguaje = "JavaScript">
<! - -
         function cuadrado (numero) {
              return numero * numero;
   }
</SCRIPT>
...
</HEAD>
<BODY>
...
<CENTER><FORM>
         El cuadrado de 9 es:
         <INPUT Type="button" value = " Resultado " onClick =" alert (cuadrado (9))!>
</FORM></CENTER>


Donde guarde el codigo fue en el bloc de notas y ya cambiandle la extension
asi es como se veria cuando se imprime al ejecutar el codigo

miércoles, 18 de agosto de 2010

Primera Presentacion

Tarea 2

Lenguaje de programacion Clean

- Paradigma: Funcional
- Aparecio en 1987
- Diseñado por Grupo de Investigacion de Tecnologia de Software de la Universidad Radbound Nijmegen.
- Fue liberado en la Version 2.2 el 18 de Diciembre del 2006
- Mecanografia de disciplina: Fuerte y dinamico
- Extensiones:  .icl, .dcl, .abc, .obj

El computo esta basado en el volver a escribir de grafico y la reduccion. Constantes  como numeros y graficos, asi como sus funciones que vuelven a escribir las formulas. Esta combinado como la compilacion al codigo natal, hace programas limpios relativamente rapido, aun con la alta abstraccion.

Se puede encontrar licencias para Windows, Linux y Mac.

Compilacion.-
1.-Los archivos de origen (.icl) y archivos de proyecto (.dcl) son convertidos en codigos independientes de plataforma de Clean (.abc).

2.- El codigo de objeto es unido con otros archivos en el modulo y el sistema de tiempo en ejecucion y convertido en un normal ejecutable.

Las versiones del sistema Clean fueron escritas completamente en C, asi evitando publicaciones de autoarranque.

Licencia.-
Clean es dual autorizado, esta disponible segun los terminos LGPL, y tambien para bajar una licencia propietaria.
Compilador o interprete de distribucion legar para ello  http://wiki.clean.cs.ru.nl/Clean
Manual en (PDF, Word, Postscript)  http://wiki.clean.cs.ru.nl/Documentation
y por Ultimo los unicos ejemplos que encontre para Clean son.- http://en.wikipedia.org/wiki/Clean_%28programming_language%29

ya como conclusion, no pude encontrar mucho de este lenguaje de programacion, pero de lo poco que lei parace ser muy bueno, se puede tener algunos problemas con el, ya que como no tiene mucho tiempo, ademas de que su compilador y manual, viene todo en ingles.