miércoles, 22 de septiembre de 2010

STRING con la fecha en formaincremento, con un parámetroSon años bisiestos los múltiplos de cuatro que no lo son de cien, salvo que lo sean de cuatrocientos,Para la solución de este problema puede ser útil definir un método incrementa_un_dia.El ejercicio es mucho más divertido si no se utiliza la clase TIME de la biblioteca estandar deARRAY. Elaborar una segunda implementación del mismo estilo, pero utilizando para el almacenamientoLINKED_LIST.EMPLEADO{ANY}{ANY}is; ���� makeis; ���� muestra���� class EMPLEADO
Ejercicio 1

Elaborar una clase Eiffel que modele una fecha. La clase deberá disponer de características que devuelvan
el día, el mes y el año, además de métodos que que devuelvan un
abreviada (16/02/2000) y extendida (16 de febrero de 2000) y de una función
entero, que fabrique una nueva fecha, resultado de incrementar la original en ese número de días.

Nota 1:
en cuyo caso si son bisiestos.

Nota 2:

Nota 3:
SmallEiffel

Ejercicio 2

Elaborar una clase Eiffel que implemente de forma sencilla una pila genérica, utilizando para el almacenamiento
un
una

Ejercicio 3

Dentro de una biblioteca Eiffel en funcionamiento disponemos de una clase empleado definida del siguiente
modo:

class

creation
make

feature
nombre: STRING;
edad: INTEGER;
nif: STRING;
make(elnombre: STRING; laedad: INTEGER; elnif: STRING)
do

nombre := clone(elnombre);
edad := laedad;
nif := clone(elnif);

end

muestra
do

io.put_string("Nombre: ");io.put_string(nombre);io.put_string(" %N");
io.put_string("edad: ");io.put_integer(edad);io.put_string(" %N");
io.put_string("rut: ");io.put_string(nif);io.put_string(" %N");

end

end
Al añadir nuevas capacidades a la biblioteca descubrimos que necesitamos modelar nuevos tipos de
empleados:
Empleado temporal, del que nos interesa saber la fecha de alta y de baja en la empresa.
Empleado por horas. Nos interesa el precio de la hora trabajada, y el número de horas que ha trabajado
este mes. El primero es un dato fijo, mientras el segundo varía todos los meses.
Empleado fijo. Debemos añadir a la información que almacenamos sobre él el año de alta en la empresa.

viernes, 27 de agosto de 2010

Bienvenida !!

Estimados: Les doy la Bienvenida a este Blog que será de ayuda como metodologia y material complementario a la asignatura de Programación .NET

Desde ya les deseo mucho exito.

Atte.
Andres utreras

¿Que es la Plataforma .NET?

Simplificando mucho las cosas para poder dar una definición corta y comprensible, se podría decir que la plataforma .NET es un amplio conjunto de bibliotecas de desarrollo que pueden ser utilizadas por otras aplicaciones para acelerar enormemente el desarrollo y obtener de manera automática características avanzadas de seguridad, rendimiento, etc...
En realidad .NET es mucho más que eso ya que ofrece un entorno gestionado de ejecución de aplicaciones, nuevos lenguajes de programación y compiladores, y permite el desarrollo de todo tipo de funcionalidades: desde programas de consola o servicios Windows hasta aplicaciones para dispositivos móviles, pasando por desarrollos de escritorio o para Internet. Son estos últimos de los que nos ocuparemos en este curso. Pero antes conviene conocer los fundamentos en los que se basa cualquier aplicación creada con .NET, incluyendo las que nos interesan.

El entorno de ejecución CLR

.NET ofrece un entorno de ejecución para sus aplicaciones conocido como Common Language Runtime o CLR. La CLR es la implementación de Microsoft de un estándar llamado Common Language Infrastructure o CLI. Éste fue creado y promovido por la propia Microsoft pero desde hace años es un estándar reconocido mundialmente por el ECMA.
El CLR/CLI esencialmente define un entorno de ejecución virtual independiente en el que trabajan las aplicaciones escritas con cualquier lenguaje .NET. Este entorno virtual se ocupa de multitud de cosas importantes para una aplicación: desde la gestión de la memoria y la vida de los objetos hasta la seguridad y la gestión de subprocesos.
Todos estos servicios unidos a su independencia respecto a arquitecturas computacionales convierten la CLR en una herramienta extraordinariamente útil puesto que, en teoría, cualquier aplicación escrita para funcionar según la CLI puede ejecutarse en cualquier tipo de arquitectura de hardware. Por ejemplo Microsoft dispone de implementación de .NET para Windows de 32 bits, Windows de 64 bits e incluso para Windows Mobile, cuyo hardware no tiene nada que ver con la arquitectura de un ordenador común.

El Lenguaje Intermedio y el CLS
Al contrario que otros entornos, la plataforma .NET no está atada a un determinado lenguaje de programación ni favorece a uno determinado frente a otros. En la actualidad existen implementaciones para varias decenas de lenguajes que permiten escribir aplicaciones para la plataforma .NET. Los más conocidos son Visual Basic .NET, C# o J#, pero existen implementaciones de todo tipo, incluso de ¡COBOL!.

Lo mejor de todo es que cualquier componente creado con uno de estos lenguajes puede ser utilizado de forma transparente desde cualquier otro lenguaje .NET. Además, como ya se ha comentado, es posible ejecutar el código .NET en diferentes plataformas y sistemas operativos.

¿Cómo se consigue esta potente capacidad?

Dentro de la CLI, existe un lenguaje llamado IL (Intermediate Language o Lenguaje Intermedio) que está pensado de forma independiente al procesador en el que se vaya a ejecutar. Es algo parecido al código ensamblador pero de más alto nivel y creado para un hipotético procesador virtual que no está atado a una arquitectura determinada.

Cuando se compila una aplicación escrita en un lenguaje .NET cualquiera (da igual que sea VB, C# u otro de los soportados), el compilador lo que genera en realidad es un nuevo código escrito en este lenguaje intermedio. Así, todos los lenguajes .NET se usan como capa de más alto nivel para producir código IL.

Un elemento fundamental de la CLR es el compilador JIT (just-in-time). Su cometido es el de compilar bajo demanda y de manera transparente el código escrito en lenguaje intermedio a lenguaje nativo del procesador físico que va a ejecutar el código.

Al final, lo que se ejecuta es código nativo que ofrece un elevado rendimiento. Esto es cierto también para las aplicaciones Web escritas con ASP.NET y contrasta con las aplicaciones basadas en ASP clásico que eran interpretadas, no compiladas, y que jamás podrían llegar al nivel de desempeño que ofrece ASP.NET.

La especificación común de los lenguajes y el sistema de tipos comunes
Para conseguir la interoperabilidad entre lenguajes no sólo llega con el lenguaje intermedio, sino que es necesario disponer de unas "reglas del juego" que definan un conjunto de características que todos los lenguajes deben incorporar. A este conjunto regulador se le denomina Common Language Specification (CLS) o, en castellano, especificación común de los lenguajes.

Entre las cuestiones que regula la CLS se encuentran la nomenclatura, la forma de definir los miembros de los objetos, los metadatos de las aplicaciones, etc... Una de las partes más importantes de la CLS es la que se refiere a los tipos de datos.

Si alguna vez ha programado la API de Windows o ha tratado de llamar a una DLL escrita en C++ desde Visual Basic 6 habrá comprobado lo diferentes que son los tipos de datos de VB6 y de C++. Para evitar este tipo de problemas y poder gestionar de forma eficiente y segura el acceso a la memoria, la CLS define un conjunto de tipos de datos comunes (Common Type System o CTS) que indica qué tipos de datos se pueden manejar, cómo se declaran y se utilizan éstos y de qué manera se deben gestionar durante la ejecución.

Si nuestras bibliotecas de código utilizan en sus interfaces hacia el exterior datos definidos dentro de la CTS no existirán problemas a la hora de utilizarlos desde cualquier otro código escrito en la plataforma .NET.

Cada lenguaje .NET utiliza una sintaxis diferente para cada tipo de datos. Así, por ejemplo, el tipo común correspondiente a un número entero de 32 bits (System.Int32) se denomina Integer en Visual Basic .NET, pero se llama int en C#. En ambos casos representan el mismo tipo de datos que es lo que cuenta.

De acuerdo al Texto citado anteriormente responda las siguientes Preguntas:
¿Que es el Common Language Runtime?

¿Que Funcion Cumple el CLR?

¿Que es el CLS?
¿A que se denomina Codigo Administrado?

Saludos a todos.