viernes, 19 de noviembre de 2010

Reporte # 3 (pendiente) - Lenguajes Script

Aqui subo un reporte que me faltaba...

Bueno a continuacion les dejo mis programas en Perl y en Python

Perl

Perl es un lenguaje de programación diseñado por Larry Wall en 1987. Perl toma características del lenguaje C, del lenguaje interpretado shell (sh), AWK, sed, Lisp y, en un grado inferior, de muchos otros lenguajes de programación.

La estructura completa de Perl deriva ampliamente del lenguaje C. Perl es un lenguaje imperativo, con variables, expresiones, asignaciones, bloques de código delimitados por llaves, estructuras de control y subrutinas

Codigo

.Ejecucion














Python

Python es un lenguaje de programación de alto nivel cuya filosofía hace hincapié en una sintaxis muy limpia y que favorezca un código legible.
Se trata de un lenguaje de programación multiparadigma ya que soporta orientación a objetos, programación imperativa y, en menor medida, programación funcional. Es un lenguaje interpretado, usa tipado dinámico, es fuertemente tipado y es multiplataforma.

Python es un lenguaje de programación multiparadigma. Esto significa que más que forzar a los programadores a adoptar un estilo particular de programación, permite varios estilos: programación orientada a objetos, programación imperativa y programación funcional. Otros paradigmas están soportados mediante el uso de extensiones.Una característica importante de Python es la resolución dinámica de nombres; es decir, lo que enlaza un método y un nombre de variable durante la ejecución del programa (también llamado ligadura dinámica de métodos).
Codigo

jueves, 18 de noviembre de 2010

Reporte # 8 - Lenguaje Multiparadigma

Bueno aqui les dejo un pequeño programa en Oz...

Oz

Oz contiene una forma simple y bien hecha de la mayoría de los conceptos de los principales paradigmas de programación, incluyendo programación lógica, funcional, imperativa, orientada a objetos, con restricciones, distribuida, concurrente. Oz tiene una semántica formal simple y una implementación eficiente, el Sistema de Programación Mozart. Oz es un lenguaje orientado a la concurrencia, término introducido por Joe Armstrong, el principal diseñador del lenguaje Erlang. Un lenguaje orientado a la concurrencia hace a la concurrencia fácil de usar y eficiente.

Como complemento a la programación multiparadigma, las principales ventajas de Oz radican en la programación con restricciones y la programación distribuida. Debido a su diseño, Oz implementa un modelo de programación distribuido que hace a la red transparente. Este modelo hace fácil programar aplicaciones abiertas y tolerantes a fallas en el lenguaje. Para Programación con restricciones, Oz introduce la idea de espacios de computación, los cuales permiten búsquedas definidas por el usuario y estrategias de distribución que son ortogonales al dominio de restricciones.

Y aqui esta mi codigoo.. que es la tan conocida serie de Fibonacci =)

functor
import System Application
define
fun {Fib N}
case N
of 0 then 1
[] 1 then 1
else {Fib N-2} + {Fib N-1} end
end
in
local A in
[A] = {Application.getArgs plain}
{System.printInfo {Fib {String.toInt A}}}
end
{Application.exit 0}
end

Reporte # 7 - Lenguajes Orientados a Objetos

La programación orientada a objetos o POO (OOP según sus siglas en inglés) es un paradigma de programación que usa objetos y sus interacciones, para diseñar aplicaciones y programas informáticos. Está basado en varias técnicas, incluyendo herencia, abstracción, polimorfismo y encapsulamiento. Su uso se popularizó a principios de la década de los años 1990. En la actualidad, existe variedad de lenguajes de programación que soportan la orientación a objetos.

Caracteristicas de la POO

Abstraccion
Encapsulamiento
Modularidad
Principio de ocultación
Polimorfismo
Herencia
Recolección de Basura

Y a continuación les dejo unos programas que hize en C++ y en JAVA

C++

Bueno este programa en c++, es una tipo calculadora que ingresas dos numeros y eliges la operacion que quieres hacer :)

#include<iostream>
using namespace std;

int main()
{    float a, b;
    char oper;

    cout << "Ingresa dos numeros: ";
    cin >> a >> b;
   
    do
    {    cout << "Operacion ( +, -, *, / ): ";
        cin >> oper;
        if(oper!='+' && oper!='-' && oper!='*' && oper !='/')
            cout << "Operacion Incorrecta\n";
    }while(oper!='+' && oper!='-' && oper!='*' && oper !='/');
   
    if( oper == '/' )
        for( ; !b; )
        {    cout << "No es posible la division entre 0\n";
            cout << "Otro nunero: ";
            cin >> b;
        }

    cout << a << " " << oper << " " << b << " = ";
    switch( oper )
    {    case '+': cout << a + b << "\n";
                  break;
        case '-': cout << a - b << "\n";
                  break;
        case '*': cout << a * b << "\n";
                  break;
        case '/': cout << a / b << "\n";
    }
   
    cin.ignore();
    cin.get();
    return 0;
}
 

Ejecución



JAVA

Este programa en Java te da el volumen de una esfera, aqui les dejo el codigo y la ejecucion



class Esfera
{
    double radio;
    public Esfera (double radio)
    {
        this.radio=radio;
    }
    public Esfera ()
    {
        this(1.0);
    }
    public double volumen ()
    {
        return (4.0/3.0)*Math.pow(radio,3.0);
    }
    public double superficie ()
    {
        return 4.0*Math.PI*Math.pow(radio,2.0);//libreria mate (potencia,pi)
    }
    public void imprimir ()
    {
        System.out.println ("radio : " + radio);
        System.out.println ("volumen : " + volumen ());
        System.out.println ("superficie : " + superficie());
    }
    public static void main (String[] args)
    {
        Esfera e=new Esfera ();
        e.imprimir();
        System.out.println ("\n");
        e=new Esfera (Math.PI);
        e.imprimir ();
    }
}

Ejecución

jueves, 11 de noviembre de 2010

REPORTE # 6 - LENGUAJES IMPERATIVOS

Bueno compañeros; aqui les dejo mis programas que hice en lenguajes imperativos y una pequeña informacion de cada programa, espero que les sirva:

C














CARACTERISTICAS

  • Un núcleo del lenguaje simple, con funcionalidades añadidas importantes, como funciones matemáticas y de manejo de archivos, proporcionadas por bibliotecas.
  • Es un lenguaje muy flexible que permite programar con múltiples estilos. Uno de los más empleados es el estructurado "no llevado al extremo" (permitiendo ciertas licencias de ruptura).
  • Un sistema de tipos que impide operaciones sin sentido.
  • Usa un lenguaje de preprocesado, el preprocesador de C, para tareas como definir macros e incluir múltiples archivos de código fuente.
  • Acceso a memoria de bajo nivel mediante el uso de punteros.
  • Interrupciones al procesador con uniones.
  • Un conjunto reducido de palabras clave.
  • Por defecto, el paso de parámetros a una función se realiza por valor. El paso por referencia se consigue pasando explícitamente a las funciones las direcciones de memoria de dichos parámetros.
  • Punteros a funciones y variables estáticas, que permiten una forma rudimentaria de encapsulado y polimorfismo.
  • Tipos de datos agregados (struct) que permiten que datos relacionados (como un empleado, que tiene un id, un nombre y un salario) se combinen y se manipulen como un todo (en una única variable "empleado").
Y aqui les dejo mi programa, que consiste en un switch, que te permite elegir que operacion quieres que haga con los numeros que ingresas:
#include<stdio.h>
#include<conio.h>
#include<math.h>
main()
{
      int n;
      float a,b,c,d;
      printf("1.-LA POTENCIA DE UN NUMERO ENTERO \n2.-EL AREA DE UN TRAPECIO \n3.-EL AREA DE UN TRIANGULO \n4.-LA SUMA DE 2 NUMEROS \n5.-EL PRODUCTO DE 2 NUMEROS");
      scanf("%d",&n);
     
      switch(n)
      {
               case 1: printf("Ingrese el numero: ");
               scanf("%f",&a);
               printf("Ingrese el numero al que lo quiere elevar: ");
               scanf("%f",&b);
               c=pow(a,b);
               printf("%f",c);
              
               break;
              
               case 2: printf("Cuanto mide la base mayor: ");
               scanf("%f",&a);
               printf("Cuanto mide la base menor: ");
               scanf("%f",&b);
               printf("Cuanto mide la altura: ");
               scanf("%f",&c);
               d=((a+b)*c)/2;
               printf("%f",d);
              
               break;
              
               case 3: printf("Cuanto mide la base: ");
               scanf("%f",&a);
               printf("Cuanto mide la altura: ");
               scanf("%f",&b);
               c=(a*b)/2;
               printf("%f",c);
              
               break;
              
               case 4: printf("Ingrese el primer numero: ");
               scanf("%f",&a);
               printf("Ingrese el segundo numero: ");
               scanf("%f",&b);
               c=a+b;
               printf("%f",c);
              
               break;
              
               case 5: printf("Ingrese el primer numero: ");
               scanf("%f",&a);
               printf("Ingrese el segundo numero: ");
               scanf("%f",&b);
               c=a*b;
               printf("%f",c);
              
               break;
               }
               getche();
               return 0;
               }









PASCAL


Pascal se caracteriza por ser un lenguaje de programación estructurado fuertemente tipificado. Esto implica que:
  1. El código está dividido en porciones fácilmente legibles llamadas funciones o procedimientos. De esta forma Pascal facilita la utilización de la programación estructurada en oposición al antiguo estilo de programación monolítica.
  2. El tipo de dato de todas las variables debe ser declarado previamente para que su uso quede habilitado.
El nombre de Pascal fue escogido en honor al matemático Blaise Pascal.

A continuacion les dejo mi programa, que basicamente es una calculadora, con un switch eliges la operacion que deseas hacer con los numeros



FORTRAN

Principales características

El lenguaje fue diseñado teniendo en cuenta que los programas serían escritos en tarjetas perforadas de 80 columnas. Así por ejemplo, las líneas debían ser numeradas y la única alteración posible en el orden de ejecución era producida con la instrucción goto. Estas características han evolucionado de versión en versión. Las actuales contienen subprogramas, recursión y una variada gama de estructuras de control

Y aqui les dejo mi codigo, esta muy sencillo, espero que le entiendan, solo calcula el area de un rectangulo =)

PROGRAM AREAS

IMPLICIT NONE
REAL  a , b , area
PRINT *, 'DAME EL LADO a'
READ *, a
PRINT *, 'DAME EL LADO b'
READ *, b
area = a * b
PRINT *; 'AREA = ' , area
END.

miércoles, 10 de noviembre de 2010

REOPRTE # 5 - Problema Logico

Bueno, aqui les dejo mi problema logico y una explicacion de como lo pude resolver:


Cuatro personas están viajando a diversos lugares en diversos tipos de transporte.


Sus nombres son: Raquel, Juan, Mr.Jones y Cindy.

Ellos viajaron en el tren, el coche, el avión o la barco. 


Mr.Jones odia volar 

Cindy tiene que alquilar su vehículo 
Juan se marea

¿En que viajo cada persona?


PROCEDIMIENTO:


1.- Mr. Jones odia volar, asi que se descarta el avion para el.

Raquel                                             tren      carro      avion      barco
Juan                                                tren      carro      avion      barco
Mr. Jones                                         tren      carro      avion      barco
Cindy                                               tren      carro      avion      barco

2.- Cindy tiene que alquilar su vehiculo, y lo unico que se puede rentar es un carro, asi que Cindy viajara en carro

Raquel                                             tren      carro      avion      barco
Juan                                                tren      carro      avion      barco
Mr. Jones                                         tren      carro      avion      barco
Cindy                                               tren      carro      avion      barco

3.- Juan se marea, asi que no puede viajar ni en avion ni en barco, entonces Juan viajara en tren

Raquel                                             tren      carro      avion      barco
Juan                                                tren      carro      avion      barco
Mr. Jones                                         tren      carro      avion      barco
Cindy                                               tren      carro      avion      barco

4.- Y ya por logica te queda que, Mr. Jones viajara en barco y Raquel viajara en avion 

Raquel                                             tren      carro      avion      barco
Juan                                                tren      carro      avion      barco
Mr. Jones                                         tren      carro      avion      barco
Cindy                                               tren      carro      avion      barco




SOLUCION:


Raquel viajo en avion
Juan viajo en tren
Mr . Jones viajo en barco
Cindy viajo en carro

Espero que si le puedan entender al procedimiento, y que les sirva de algo =)
Saludos