lunes, 31 de mayo de 2010

INSTALACION DE LINUX UBUNTU 10.04

Para poder instalar Linux Ubuntu 10.04 primero se verifica que al menos tenga 4 GB de espacio libre en mi disco. Al ver las propiedades de disco.


Al insertar el Cd previamente grabado, te aparecerá estas opciones y elegiremos la opción Demostración e Instalación completa.


El equipo se reiniciará (con la opción Reiniciar ahora o Reboot Now) y aparecerán estas opciones de idioma, elegiremos español y luego la opción de Probar Ubuntu sin alterar el equipo.


Hay que esperar unos momentos mientras carga el escritorio de Ubuntu 10.04, después estaremos empezando a usar Ubuntu sin haberlo instalado, de una manera virtual. Una vez cargado el escritorio encontraremos 2 iconos: una carpeta examples, en la cual encontramos varios archivos de ejemplo, los cuales podemos abrir y ver su contenido, y el otro ícono corresponde al instalador, se ejecuta éste último seleccionando el idioma español y aparecerá lo siguiente:

Seleccionar el icono de instalar ubuntu 10.04, despues de seleccionarlo aparecera una ventana como la siguiente. En esta ventana elegimos el idioma que queramos.


Elegimos la zona horaria en donde nos encontremos.




Después aparecerá la configuración de teclado, se puede probar como funcionará el teclado con la configuración seleccionada, o se puede probar con la que uno desee.


El siguiente paso es particionar la memoria entre los dos sistemas operativos (si Linux se va a usar de manera continua se recomienda usar mas de 10Gb de memoria).


Ahora el instalador pregunta datos personales para el equipo. En la opción entrar automáticamente quiere decir que a la hora de entrar a Ubuntu no me pedirá el nombre de Usuario y contraseña para ingresar a mi entorno de escritorio.



Después preguntará si desea migrar documentos y configuraciones de Windows, en caso de no desear migrar nada de eso no se selecciona la opción.


Ahora aparece un resumen de todos los cambios que se harán.


En este momento solo hay que esperar a que se instale.


Ahora al momento de encender la maquina pedirá en que Sistema Operativo entrar.


miércoles, 12 de mayo de 2010

HISTORIA DE LINUX


El nombre Linux surgió de la mezcla de Linus + Unix. Linus es el nombre del creador del Linux, Linus Torvalds. Y Unix, es el nombre de un sistema operativo de gran porte. Linux fue el primer sistema operativo gratuito. El sistema lo forman el núcleo del sistema (kernel) más un gran número de programas / librerías que hacen posible su utilización.
LINUX hace su aparición a principios de la década de los noventa, era el año 1991.
Los comienzos de Linux estuvieron inspirados en MINIX, un pequeño sistema Unix desarrollado por Andy Tanenbaum. Linux nunca anuncio la versión 0.01 de Linux (agosto 1991), esta versión no era ni siquiera ejecutable, solamente incluía los principios del núcleo del sistema, estaba escrita en lenguaje ensamblador y asumía que uno tenía acceso a un sistema Minix para su compilación.
El 5 de octubre de 1991, Linus anuncio la primera versión "Oficial" de Linux, -versión 0.02. En este estado de desarrollo ni se pensaba en los términos soporte, documentación, distribución, etc.
Después de la versión 0.03, Linus salto en la numeración hasta la 0.10, más y mas programadores a lo largo y ancho de internet empezaron a trabajar en el proyecto y después de sucesivas revisiones, Linus incremento el número de versión hasta la 0.95 (Marzo 1992). Más de un año después (diciembre 1993) el núcleo del sistema estaba en la versión 0.99 y la versión 1.0 no llego hasta el 14 de marzo de 1994.

lunes, 10 de mayo de 2010

EJERCICIOS PROGRAMACION ORIENTADA A OBJETOS

Un programa de simulación de robot humanoide; el objeto robot recibe un mensaje para que el robot se sienta; el robot pide la trayectoria y la secuencia de comandos a un objeto planificador; luego envía mensajes a los objetos actuadores (motores brazos, piernas. . .) que a su vez envían su estado corriente (para eventualmente corregirlos); objetos sensores envían sus datos a un objeto calculador de posición que también puede corregir las trayectorias/comandos.
Una clase para los robots con ruedas y con brazo manipulador.





Se utilizaría este tipo de programación porque el robot hace su trabajo o movimientos en un determinado orden y en base a una rutina establecida. Además que es un tipo de programación mas avanzada.

EJERCICIO PROGRAMACION ESTRUCTURADA

Supongamos que queremos desarrollar una aplicación para que dos usuarios jueguen al ajedrez. En primer lugar, necesitamos una serie de funciones asociadas al tablero: una que coloque todas las piezas de ambos jugadores en las posiciones iniciales, otra que determine si se ha producido el final de la partida, otra que confirme la presencia de una pieza del jugador en juego en una determinada casilla, otra que confirme que el movimiento no se sale del tablero, o que ese tipo de pieza puede realizarlo, y una última que lleve a efecto el movimiento de una pieza del jugador en juego (eliminando del tablero a otra pieza del jugador contrario si procede). Para estas últimas puede ser preciso utilizar a su vez otro módulo que represente las funciones de movimiento asociadas a cada tipo de pieza.



Se utiliza esta programación porque separa el pensamiento y funcionamiento por módulos... con combinaciones de sentencias simples y complejas.

AMBIENTE DE DESARROLLO DE VISUAL C#

Visual Studio es un entorno de desarrollo integrado (IDE, por sus siglas en inglés) para sistemas operativos Windows. Soporta varios lenguajes de programación tales como Visual C++, Visual C#, Visual J#, ASP.NET y Visual Basic .NET, aunque actualmente se han desarrollado las extensiones necesarias para muchos otros.
Visual Studio permite a los desarrolladores crear aplicaciones, sitios y aplicaciones web, así como servicios web en cualquier entorno que soporte la plataforma .NET (a partir de la versión net 2002). Así se pueden crear aplicaciones que se intercomuniquen entre estaciones de trabajo, páginas web y dispositivos móviles.


PAGINA DE INICIO


Al instalar el programa, y arrancarlo por primera vez, lo primero que aparece es la “Página de inicio”. Si la página se ha cerrado, es posible volver a visualizarla seleccionando “Página de inicio” de la opción “Otras ventanas” del menú “Ver”. También es posible restaurar el entorno de desarrollo a la situación inicial mediante la opción “Importar y exportar configuraciones…” del menú herramientas. En esta opción habría que elegir “Restablecer todas las configuraciones”, seleccionar si se quiere guardar la configuración actual y elegir algunas de las configuraciones predeterminadas (para este tutorial, se supone que se ha elegido la configuración predeterminada de “Configuración de desarrollo de Visual Basic”).



EL PROYECTO


Una aplicación de Visual Studio se desarrolla alrededor de una solución. Una solución puede agrupar a varios proyectos, información acerca de los mismos, y una gran variedad de archivos (páginas HTML, documentos y esquemas XML, plantillas XSLT, mapas de bits, cursores, iconos, archivos de recursos y de texto, etc.).
Carpeta de los proyectos de Visual C# Para crear un nuevo proyecto hay que seleccionar el vínculo “Crear: Proyecto…” de la página de inicio o seleccionar la opción “Nuevo proyecto…” del menú archivo (CTRL.+N).

EL ENTORNO DE DESARROLLO


Una vez seleccionada la plantilla de la solución, se abre el diseñador de formularios del entorno de desarrollo integrado (IDE) de Visual Studio.


BARRA DE MENU Y DE HERRAMIENTAS




EXPLORADOR DE SOLUCIONES



CUADRO DE HERRAMIENTAS



VENTANA DE PROPIEDADES

PARADIGMAS DE PROGRAMACION

Un paradigma de programación representa un enfoque particular o filosofía para la construcción del software. No es mejor uno que otro sino que cada uno tiene ventajas y desventajas. También hay situaciones donde un paradigma resulta más apropiado que otro

PROGRAMACION ORIENTADA A OBJETOS

La programación orientada a objetos aporta un nuevo enfoque a los retos que se plantean en la programación estructurada cuando los problemas a resolver son complejos. Al contrario que la programación procedimental que enfatiza en los algoritmos, la POO enfatiza en los datos. En lugar de intentar ajustar un problema al enfoque procedimental de un lenguaje, POO intenta ajustar el lenguaje al problema.
La OOP son un conjunto de técnicas que nos permiten incrementar enormemente nuestro proceso de producción de software.
Aumenta drásticamente nuestra productividad por un lado y permitiéndonos abordar proyectos de mucha mayor envergadura.
Usando estas técnicas, nos aseguramos la reusabilidad de nuestro código, es decir, los objetos que hoy escribimos, si están bien escritos, nos servirán para "siempre".
En la OOP podemos re-usar ciertos comportamientos de un objeto, ocultando aquellos otros que no nos sirven, o redefinirlos para que los objetos se comporten de acuerdo a las nuevas necesidades.
Se intenta hacer abstracción de la implementación física del programa (memoria. . .) para representarlo a través de entidades, los objetos, que interactúan a través de demandas (mensajes) transmitidas para efectuar operaciones.





Objetos comunican entre ellos por mensajes y actúan según su “nivel de responsabilidad”; aceptan la responsabilidad de una tarea al recibir mensajes; pueden delegar trabajo a otras clases.


FUNDAMENTOS DE LA PROGRAMACION ORIENTADA A OBJETOS


CLASE: Abstracción que hacemos de nuestra experiencia sensible. (Agrupación, generalización, tipificación). Cada clase posee cualidades que la diferencian de las otras.


OBJETO: Un objeto podría ser real o abstracto, por ejemplo una organización, una factura, una figura en un graficador, una pantalla de usuario, un avión, un vuelo de avión, una reservación áerea. Es un conjunto de datos y métodos.


CARACTERISTICAS DE LA PROGRAMACION ORIENTADA A OBJETOS


ABSTRACCION: Corresponde a la determinación de las características de los objetos que sirven para identificarlos y hacerlos diferentes a los demás.
Propiedades de una descomposición útil:
· Todas las partes deben estar al mismo nivel
· Cada parte debe poder ser abordada por separado.
· La solución de cada parte debe poder unirse al resto para obtener la solución final


HERENCIA: Es la capacidad que poseen los objetos de “transmitir” los datos y métodos a sus hijos.
Esta es la cualidad más importante de la programación OOP. Al implementarla nos dará mayor potencia y productividad. Permite ahorrar horas y horas de codificación y de depuración de errores.


ENCAPSULACION: El encapsulado es el resultado de ocultar los detalles de implementación (estado interno) de un objeto respecto de su usuario. El empaque conjunto de datos y métodos se llama encapsulación.
El objeto esconde (protege) sus datos de los demás objetos y permite el acceso a los datos mediante sus propios métodos. Esto recibe el nombre de ocultamiento de información y evita la corrupción de los datos de un objeto.
Esto facilita el cambio (de implementación), mejora la modularidad.


POLIMORFISMO: Por polimorfismo entendemos aquella cualidad que poseen los objetos para responder de distinto modo ante el mismo mensaje. El polimorfismo nos facilita el trabajo ya que el nombre de los métodos que tenemos que recordar disminuye ostensiblemente.

PROGRAMACION ESTRUCTURADA

La programación estructurada consiste en escribir un programa de acuerdo con unas reglas y un conjunto de técnicas. Las reglas son: el programa tiene un diseño modular, los módulos son diseñados descendentemente, cada módulo de programa se codifica usando tres estructuras de control (secuencia, selección e iteración); es el conjunto de técnicas que han de incorporar: recursos abstractos; diseño descendente y estructuras básicas de control.
· Secuencia: Sucesión simple de dos o más operaciones.
· Selección: Bifurcación condicional de una o más operaciones.
· Interacción: Repetición de una operación mientras se cumple una condición.
Estos tres tipos de estructuras lógicas de control pueden ser combinados para producir programas que manejen cualquier tarea de procesamiento de información.
Descomponer un programa en términos de recursos abstractos consiste en descomponer acciones complejas en términos de acciones más simples capaces de ser ejecutadas en una computadora.
El diseño descendente se encarga de resolver un problema realizando una descomposición en otros más sencillos mediante módulos jerárquicos. El resultado de esta jerarquía de módulos es que cada módulo se refina por los de nivel más bajo que resuelven problemas más pequeños y contienen más detalles sobre los mismos.
Las estructuras básicas de control sirven para especificar el orden en que se ejecutarán las distintas instrucciones de un algoritmo. Este orden de ejecución determina el flujo de control del programa.