jueves, 11 de marzo de 2010

miércoles, 16 de septiembre de 2009

visual basic

1. Hacer un programa que muestre la calificación final de una materia que se obtiene de la siguiente manera:
55% del promedio de las tres calificaciones parciales
30% de la calificación del examen final
15% de la calificación del trabajo final



2. Hacer un programa que calcule el salario mensual de un trabajador que tiene un sueldo base y recibe un 10% extra por la comisión de sus tres ventas mensuales.





3. Hacer una calculadora sencilla en Visual Basic.





calculadora:

miércoles, 19 de agosto de 2009

taller poo 19 de agosto

http://www.megaupload.com/?d=T7Z1IJXL

taller guia de POO-19 de agosto

Cuestionario 1 Conceptos básicos del modelo orientado a objetos.


1. Como se reconocen los objetos y clases en el mundo real y cual es la interacción que existe entre ellos.

2. Define los siguientes conceptos: abstracción y encapsulamiento y de un ejemplo de su aplicación en el mundo real.


3. Defina que significa POO y complejidad del software y diga en que casos se aplica cada una de estas.


4. Defina que es el ciclo de vida del software y como se lleva a cabo, de un ejemplo de su aplicación.

5. Dentro de un problema que se desea resolver por computadora, que se entiende por “especificaciones de requerimientos”.

6. Explique ampliamente en que consiste el Análisis Orientado a Objetos y de un ejemplo de su aplicación.

7. Explique ampliamente en que consiste el Diseño Orientado a Objetos y de un ejemplo de su aplicación.


8. Explique ampliamente en que consiste la Programación Orientada a Objetos, conceptos y mencione 10 características de esta.





9. Enliste cuales son los elementos primordiales en el modelo de objetos.

10. Defina los siguientes conceptos y de un ejemplo de la aplicación de cada uno de ellos: Abstracción, Encapsulamiento, Modularidad, Jerarquía y herencia, Polimorfismo.

11. Explique ampliamente cual ha sido el desarrollo histórico de los paradigmas en el desarrollo del software.


12. Explique ampliamente cuales son los Beneficios del modelo de objetos y de la POO sobre otros paradigmas.



SOLUCION

1. Todo objeto del mundo real tiene 2 componentes: características y comportamiento.
Por ejemplo, los automóviles tienen características (marca, modelo, color, velocidad máxima, etc.) y comportamiento (frenar, acelerar, retroceder, llenar combustible, cambiar llantas, etc.).
Entonces Una clase representa la esencia de un grupo de objetos por ejemplo: lápiz, borrador, sacapuntas etc. son objetos que pertenecen a una misma clase por que son del mismo tipo.


2. ABSTRACCION:

La abstracción, una de las herramientas que más nos ayuda a la hora de solucionar un problema, es un mecanismo fundamental para la comprensión de problemas y fenómenos que poseen una gran cantidad de detalles, su idea principal consiste en manejar un problema, fenómeno, objeto, tema o idea como un concepto general, sin considerar la gran cantidad de detalles que estos puedan tener. El proceso de abstracción presenta dos aspectos complementarios. La abstracción no es única:

Un coche puede ser...

Una cosa con ruedas, motor, volante y pedales (conductor)
Algo capaz de transportar personas (taxista)
Una caja que se mueve (simulador de tráfico)
Conjunto de piezas (fabricante)
ENCAPSULAMIENTO:
En programación modula, y más específicamente en programación orientada a objetos, se denomina encapsulamiento al ocultamiento del estado, es decir, de los datos miembro, de un objeto de manera que sólo se puede cambiar mediante las operaciones definidas para ese objeto.
Ninguna parte de un sistema complejo debe depender de los detalles internos de otra.
Complementa a la abstracción
Se consigue:
Separando la interfaz de su implementación
Ocultando la información interna de un objeto
Escondiendo la estructura e implementación de los métodos (algoritmos).
Exponiendo solo la forma de interactuar con el objeto

3. La Programación Orientada a Objetos

Es un paradigma de programación, que se basa en organizar el software como una colección de objetos discretos que incorporan tanto estructuras de datos como comportamiento. Esto contrasta con la programación convencional, en la que las estructuras de datos y el comportamiento estaban escasamente relacionadas.
Un Modelo Objeto es un marco de referencia conceptual, en el que se establece el conjunto básico de los conceptos, la terminología asociada y el modelo de computación de los Sistemas Software soportados por la tecnología orientada a los objetos. Este conjunto básico de conceptos deberá incluir, como mínimo, los de abstracción, encapsulación, jerarquía y modularidad y deberá considerar el sistema de información como un conjunto de entidades conceptuales modeladas como objetos e interactuando entre ellas.

La Complejidad Del Software

Introducimos para los más profanos las bases sobre las que se asienta la Programación Orientada a Objetos. La programación Orientada a objetos (POO) es una forma especial de programar, más cercana a como expresaríamos las cosas en la vida real que otros tipos de programación.
Con la POO tenemos que aprender a pensar las cosas de una manera distinta, para escribir nuestros programas en términos de objetos, propiedades, métodos y otras cosas que veremos rápidamente para aclarar conceptos y dar una pequeña base que permita soltarnos un poco con este tipo de programación.

4. El ciclo de vida del software en el Proceso Unificado
Las fases del ciclo de vida del software son: concepción, elaboración, construcción y transición. La concepción es definir el alcance del proyecto y definir el caso de uso. La elaboración es proyectar un plan, definir las características y cimentar la arquitectura. La construcción es crear el producto y la transición es transferir el producto a sus usuarios [Booch 1998].
Un ingeniero de software necesita de herramientas, entre ellas las herramientas de Rational son las más avanzadas, pero son muy costosas. También puede utilizar las herramientas de oficina como un editor de textos, un modelador de datos, etc., muchas de ellas son de código abierto y aún están de desarrollo. Utiliza las que más te sean de utilidad.



5. “La parte más dura en la construcción de un sistema software es decidir cómo construirlo…Ninguna parte del trabajo mutila el resultado del sistema si está hecho mal. Ninguna parte es más dificultosa para rectificarlo después”
La ingeniería de requisitos facilita el mecanismo apropiado para comprender lo que quiere el cliente, analizando necesidades, confirmando su viabilidad, negociando una solución razonable, especificando la solución sin ambigüedad, validando la especificación y gestionando los requisitos para que se transformen en un sistema operacional.
Los requerimientos para un sistema de software determinan lo que hará el sistema y definen las restricciones de su operación e implementación.
El proceso de ingeniería de requisitos puede ser descrito en 5 pasos distintos: identificación de requisitos, Análisis de requisitos y negociación, Especificación de requisitos, Modelizado del sistema, Validación y gestión de requisitos
6.
Se considera como un análisis de actividades y consiste en la solución de negocios para el usuario y se expresa con los casos de uso. El diseño lógico es la solución del equipo de proyecto del negocio y consiste de las siguientes tareas: Identificar los usuarios y sus roles Obtener datos de los usuarios Evaluar la información Documentar los escenarios de uso Validar con los usuarios Validar contra la arquitectura de la empresa
7.
Elaborar una especificación completa y validada de la arquitectura global hardware-software, de la estructura de control y de la estructura de datos del producto, así como un esquema de los manuales de usuarios y planes de test; de las interfaces de relación, dimensionamiento y algoritmos claves de cada componente de programa.
8.
La Programación Orientada a Objetos (POO) es una forma de enfocar la tarea de programación. Los enfoques de la programación han cambiado drásticamente desde la invención de las computadoras, la creciente complejidad de los programas, antes se realizaban mediante una consola las instrucciones máquinas en binario. Esto funcionaba porque los programas sólo tenían unos pocos cientos de instrucciones. Cuando crecieron los programas, se invento el lenguaje ensamblador para que el programador pudiera manejar programas más largos y complejos usando una representación simbólica de las instrucciones máquina.
• Herencia múltiple
• Sobrecarga de operadores y funciones
• Derivación
• Funciones virtuales
• Plantillas
• Gestión de excepciones Estado interno:
• Principio de ocultación:
• Representación de un objeto
• Encapsulamiento
9. *Abstracción
*Encapsulamiento
*Modularidad
*Jerarquía y Herencia
*Polimorfismo
10. Abstracción: Cada objeto en el sistema sirve como modelo de un "agente" abstracto que puede realizar trabajo, informar y cambiar su estado, y "comunicarse" con otros objetos en el sistema sin revelar cómo se implementan estas características. Los procesos, las funciones o los métodos pueden también ser abstraídos y cuando lo están, una variedad de técnicas son requeridas para ampliar una abstracción.
Encapsulamiento: Significa reunir a todos los elementos que pueden considerarse pertenecientes a una misma entidad, al mismo nivel de abstracción. Esto permite aumentar la cohesión de los componentes del sistema. Algunos autores confunden este concepto con el principio de ocultación, principalmente porque se suelen emplear conjuntamente.
Modularidad: Es la propiedad que permite subdividir una aplicación en partes más pequeñas (llamadas módulos), cada una de las cuales debe ser tan independiente como sea posible de la aplicación en sí y de las restantes partes.
La modularización consiste en dividir un programa en módulos que se puedan compilar por separado, pero que tienen conexiones con otros módulos. Al igual que la encapsulación, los lenguajes soportan la Modularidad de diversas formas.
La Modularidad es la propiedad de un sistema que permite su descomposición en un conjunto de módulos cohesivos y débilmente acoplados. Por supuesto no todos los módulos son iguales: tomar un programa monolítico y separarlo de forma aleatoria en archivos no es óptimo. Se debe tener en cuenta los conceptos asociados de dependencia, acoplamiento, cohesión, interfaz, encapsulación y abstracción. Una vez identificado lo que es un buen módulo, se puede contemplar la reutilización de un buen módulo como componente.
Herencia: las clases no están aisladas, sino que se relacionan entre sí, formando una jerarquía de clasificación. Los objetos heredan las propiedades y el comportamiento de todas las clases a las que pertenecen. La herencia organiza y facilita el polimorfismo y el encapsulamiento permitiendo a los objetos ser definidos y creados como tipos especializados de objetos preexistentes. Estos pueden compartir (y extender) su comportamiento sin tener que reimplementar su comportamiento. Esto suele hacerse habitualmente agrupando los objetos en clases y estas en árboles o enrejados que reflejan un comportamiento común. Cuando un objeto hereda de más de una clase se dice que hay herencia múltiple; esta característica no está soportada por algunos lenguajes (como Java).
Polimorfismo: comportamientos diferentes, asociados a objetos distintos, pueden compartir el mismo nombre, al llamarlos por ese nombre se utilizará el comportamiento correspondiente al objeto que se esté usando. O dicho de otro modo, las referencias y las colecciones de objetos pueden contener objetos de diferentes tipos, y la invocación de un comportamiento en una referencia producirá el comportamiento correcto para el tipo real del objeto referenciado. Cuando esto ocurre en "tiempo de ejecución", esta última característica se llama asignación tardía o asignación dinámica. Algunos lenguajes proporcionan medios más estáticos (en "tiempo de compilación") de polimorfismo, tales como las plantillas y la sobrecarga de operadores de C++.
11.
En Ingeniería de software el desarrollo en cascada es el enfoque metodológico que ordena rigurosamente las etapas del ciclo de vida del software, de forma tal que el inicio de cada etapa debe esperar a la finalización de la inmediatamente anterior. Un ejemplo de una metodología de  Programación  Diseño  Análisis de requisitos desarrollo en cascada es: Mantenimiento De esta forma, cualquier error de diseño Implantación Prueba detectado en la etapa de prueba conduce necesariamente al rediseño y nueva programación del código afectado, aumentando los costes del desarrollo. La palabra cascada sugiere, mediante la metáfora de la fuerza de la gravedad, el esfuerzo necesario para introducir un cambio en las fases más avanzadas de un proyecto. Si bien ha sido ampliamente criticado desde el ámbito académico y la industria, sigue siendo el paradigma más seguido al día de hoy Para cada actividad habrá cuatro tareas. Imagen: Modelo Espiral.JPG Determinar o fijar objetivos Fijar también los productos definidos a obtener: requerimientos, especificación, manual de usuario. Fijar las restricciones. Identificación de riesgos del proyecto y estrategias alternativas para evitarlos. Hay una cosa que solo se hace una vez: Planificación inicial o previa.
Análisis del riesgo Se estudian todos los riesgos potenciales y se seleccionan una o varias alternativas propuestas para reducir o eliminar los riesgos. Desarrollar, verificar y validar (probar) Tareas de la actividad propia y se prueba. Planificar Revisamos todo lo hecho, evaluándolo, y con ello decidimos si continuamos con las fases siguientes y planificamos la próxima actividad. Ventajas El análisis del riesgo se hace de forma explícita y clara. Une los mejores elementos de los restantes modelos. Inconvenientes Genera mucho trabajo adicional. Exige una cierta habilidad en los analistas (es bastante difícil).
12. En resumen, la programación orientada a objetos beneficia a los desarrolladores debido a que: Los programas son fáciles de diseñar debido a que los objetos reflejan elementos del mundo real.
Las aplicaciones son más sencillas para los usuarios debido a que los datos innecesarios están ocultos.
Los objetos son unidades autocontenida.
La productividad se incrementa debido a que puede reutilizar el código.
Los sistemas son fáciles de mantener y se adaptan a las cambiantes necesidades de negocios.
Es más fácil crear nuevos tipos de objetos a partir delos ya existentes.
Simplifica los datos complejos.
Reduce la complejidad de la transacción.
Confiabilidad.
Robustez.
Capacidad de ampliación.

viernes, 17 de julio de 2009

guia 15 de julio

1.Leer 5 números y crear un vector con ellos. Luego imprimir la posición y el valor.
#include
using namespace std;
int main()
{
int valor,vec[5];

for (int i=1;i<=5;i++)
{
cin>>valor;
vec[i]=valor;
}
for (int i=1;i<=5;i++)
{
cout<<"el valor en "< }

system("pause");
return 0;

}


2.Realizar un programa que genere los números pares de 2 a 200 y llenar un vector con ellos Luego imprimir el vector.

#include
using namespace std;
int main ()
{
int vec[100];
int cont;
cont=2;
for (int i=1;i<=100;i++)
{
vec[i]=cont;
cont=cont+2;
}
for (int i=1;i<=100;i++)
{

cout<}
system ("pause");
return 0;
}

3.Crear dos vectores uno llamado nombre y el segundo apellido cada vector será de 5 posiciones que almacenaran dichos datos pedidos al usuario, al final debe imprimir el nombre completo de cada posición.

# include
using namespace std;
int main()
{
char nombre[5],apellido[5];
cout<<"ingrese el primer nombre"< cin>>nombre;
cout<<"ingrese el primer aplellido"< cin>>apellido;
cout<<"el nombre completo de la persona es"< system ("pause");
return 0;
}

4.Escribir un programa que lea una línea te texto, la almacene en un vector y la imprima al revés.



miércoles, 15 de julio de 2009

paradigmas de programacion

Componentes Básicos:

Objetos: Entidad de la vida real que tiene atributos (datos) y métodos (operaciones) que operan sobre esos atributos. A los datos que forman parte del objeto se les conoce como datos miembros y a las funciones como funciones miembros. Los datos quedan ocultos al programador y únicamente dispondrá de las funciones para acceder a ellos. Es una abstracción que se usa para representar una entidad real.
Todo objeto tiene estado, exhibe un comportamiento bien definido y posee identidad única.

Para crear objetos es necesario contar con otro objeto que pueda crear objetos. El objeto creador de objetos se llama clase y los objetos creados se llaman instancias. Los objetos en Java se crean en forma dinámica. No es necesario destruir un objeto ya que java lo hace solo.

Clase: Modelo que se usa para describir objetos similares. Es un tipo de dato definido por el usuario que determina las estructuras de datos que lo forman y las funciones asociadas con él, es decir es un modelo con el que se construyen los objetos.
[public][final][abstract] class nombreClase [extends clase base][implements interface]

{ lista de atributos y métodos }

Public: Clase publica que puede ser usada por cualquier otra clase de otro paquete.
Final: Clase que no puede tener clases derivadas.
Abstract: Clase que no puede ser instanciada, si derivada.
Extends: Indica de que clase hereda la nuestra (en herencia)
Implements: Implementa interfaces (en herencia)

Mensaje: Es una petición de un objeto a otro para que este se comporte de una determinada manera, ejecutando uno de sus métodos.
Características fundamentales de la POO:

Encapsulamiento: Es la ocultación de información. Significa mantener la información dentro del objeto y mantenerlo como una caja negra. Puede ser accedida por métodos.
Abstracción: Es la capacidad de aislar y encapsular la información del diseño y la ejecución. Es la capacidad para identificar atributos y métodos.
Herencia: Es la propiedad que permite a los objetos crearse a partir de otros objetos. Cada subclase comparte características comunes con la clase de la que deriva. La clase original la llamamos clase base y las nuevas clases creadas a partir de ella clases derivadas. Una clase derivada puede ser también clase base dando lugar a una jerarquía de clases.
Los miembros de la clase base deben ser protected o private protected.

La clase derivada hereda todos los datos y funciones miembro, pero solo puede acceder a los miembros que le sean permitidos desde la clase base. Puede añadir a los miembros heredados, sus propios atributos y métodos. Para acceder a los métodos de la clase base se usa super().

La ventaja de la herencia es que permite la reutilización de código, ahorrando tiempo y dinero.

Polimorfismo: Es la capacidad de que diferentes objetos reaccionen de distinta forma a un mismo mensaje. Es la capacidad de referirse a objetos de clases distintas en una jerarquía utilizando el mismo elemento de programa (método) para realizar la misma operación, pero de manera diferente.

miércoles, 24 de junio de 2009

dfd- ejjercicios de vectores 24-06-09

1..almacenar 15 valores en un vector y colocarlos en orden inverso en otro vector




2...leer un vectores de 20 pocisiones y determinar cual es el mayor, cual es el menor,calcular el promedio de los valores y en que pocision esta







3...leer dos vectores de 10 pocisiones y sumar los valores de cada posicion y almacenarlos en otro vector










4...llenar una matriz de 6 filas y 5 columnas y hallar la suma de los vectores de la matriz