miércoles, 19 de agosto de 2009
19 agosto
EJE DE FORMACIÓN: PROGRAMACION DE SOFTWARE
UNIDAD DE APRENDIZAJE No. 1: FUNDAMENTOS DE PROGRAMACION ORIEBTADA A OBJETOS
ACTIVIDAD DE ENSEÑANZA – APRENDIZAJE – EVALUACIÓN 2 TALLER INVESTIGATIVO
TIEMPO DE LA ACTIVIDAD DE E-A-E: 3 HORAS
TIEMPO DE LA GUIA DE APRENDIZAJE: 1 HORAS
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.
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. Define los siguientes conceptos: abstracción y encapsulamiento y de un ejemplo de su aplicación en el mundo real.
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:
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. Defina que significa POO y complejidad del software y diga en que casos se aplica cada una de estas.
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. Defina que es el ciclo de vida del software y como se lleva a cabo, de un ejemplo de su aplicación.
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. Dentro de un problema que se desea resolver por computadora, que se entiende por “especificaciones de requerimientos”.
“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. Explique ampliamente en que consiste el Análisis Orientado a Objetos y de un ejemplo de su aplicación.
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. Explique ampliamente en que consiste el Diseño Orientado a Objetos y de un ejemplo de su aplicación.
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. Explique ampliamente en que consiste la Programación Orientada a Objetos, conceptos y mencione 10 características de esta.
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. Enliste cuales son los Elementos primordiales en el modelo de objetos.
*Abstracción
*Encapsulamiento
*Modularidad
*Jerarquía y Herencia
*Polimorfismo
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.
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. Explique ampliamente cual ha sido el desarrollo histórico de los paradigmas en el desarrollo del software.
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. Explique ampliamente cuales son los Beneficios del modelo de objetos y de la POO sobre otros paradigmas.
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 de los ya existentes.
Simplifica los datos complejos.
Reduce la complejidad de la transacción.
Confiabilidad.
Robustez.
Capacidad de ampliación.
martes, 14 de julio de 2009
paradigmas de programacion
Un paradigma está constituido por los supuestos teóricos generales, las leyes y las técnicas para su aplicación que adoptan los miembros de una determinada comunidad científica.
-Las leyes explícitamente establecidas y los supuestos teóricos. Por ejemplo, las leyes de movimiento de Newton forman parte del paradigma newtoniano y las ecuaciones de Maxwell forman parte del paradigma que constituye la teoría electromagnética clásica.
-El instrumental y las técnicas instrumentales necesarios para hacer que las leyes del paradigma se refieran al mundo real. La aplicación en astronomía del paradigma newtoniano requiere el uso de diversos telescopios, junto con técnicas para su utilización y diversas técnicas para corregir los datos recopilados.
-Un componente adicional de los paradigmas lo constituyen algunos principios metafísicos muy generales que guían el trabajo dentro del paradigma. Todos los paradigmas, además, contienen prescripciones metodológicas muy generales tales como: "Hay que intentar seriamente compaginar el paradigma con la naturaleza".
Podemos decir que, los paradigmas son marcos de referencia que imponen reglas sobre cómo se deben hacer las cosas, indican qué es válido dentro del paradigma y qué está fuera de sus límites. Un paradigma distinto implica nuevas reglas, elementos, límites y maneras de pensar, o sea implica un cambio. Los paradigmas pueden ser considerados como patrones de pensamiento para la resolución de problemas. Desde luego siempre teniendo en cuenta los lenguajes de programación, según nuestro interés de estudio.
Paradigmas de Programación: Representan 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.
Ejemplos de paradigmas de programación:
- El paradigma imperativo es considerado el más común y está representado, por ejemplo, por el C o por BASIC.
- El paradigma funcional está representado por la familia de lenguajes LISP, en particular Scheme o Haskell.
Tipos de Paradigmas de Programación
Hoy, mediados del año 2004, después de leer bibliografías donde autores clasifican los paradigmas de modos similares, siempre destacan el imperativo, el orientado a objetos, el funcional y el lógico. Algunos autores o profesores, mencionan paradigmas heurísticos, concurrentes, procedimentales, declarativos y demostrativos. Por ejemplo dicen:
1. Paradigmas Imperativo: Modelo abstracto que consiste en un gran almacenamiento de memoria donde la computadora almacena una representación codificada de un cálculo y ejecuta una secuencia de comandos que modifican el contenido de ese almacenamiento. Algoritmos + Estructura de Datos = Programa.
2. Paradigmas Procedimentales - Modelos de Desarrollo: Orientado a Objetos, a Eventos, y a Agentes. Secuencia computacional realizada etapa a etapa para resolver el problema. Su mayor dificultad reside en determinar si el valor computado es una solución correcta del problema.
3. Paradigmas Declarativos. - Modelos de Desarrollo: Funcional, Lógico y de Flujo de Datos. Se construye señalando hechos, reglas, restricciones, ecuaciones, transformaciones y otras propiedades derivadas del conjunto de valores que configuran la solución.
4. Paradigmas Demostrativos.- Modelos de Desarrollo: Genético. Cuando se programa bajo un paradigma demostrativo (también llamada programación por ejemplos), el programador no especifica procedimentalmente cómo construir una solución sino que presentan soluciones de problemas similares.
5. Paradigmas Funcional: Modelo matemático de composición funcional donde el resultado de un cálculo es la entrada del siguiente, y así sucesivamente hasta que una composición produce el valor deseado.
6. Paradigma Orientado a Objeto: disciplina de ingeniería de desarrollo y modelado de software que permite construir más fácilmente sistemas complejos a partir de componentes individuales. Objetos + Mensajes = Programa.
Una Clasificación de Paradigmas de Programación
Paradigma imperativo: Son aquellos que facilitan los cálculos por medio de cambios de estado, entendiendo como estado la condición de una memoria de almacenamiento. Los lenguajes estructurados en bloques, se refieren a los ámbitos anidados, es decir los bloques pueden estar anidados dentro de otros bloques y contener sus propias variables. La RAM representa una pila con una referencia al bloque que está actualmente activo en la parte superior.
Paradigma heurístico: Define un modelo de resolución de problemas en el que se incorpora algún componente heurístico, sobre la base de una representación más apropiada de la estructura del problema, para su resolución con técnicas heurísticas.
Paradigma concurrente: La programación distribuida ha sido dividida en dos amplias categorías, sistemas acoplados en forma débil o fuerte. El término distribuido se refiere por lo general a lenguajes para sistemas acoplados débilmente que soportan un grupo de programadores trabajando en un programa particular de manera simultánea y comunicándose a través de paso de mensajes mediante un canal de comunicación. Un sistema acoplado fuertemente permite que más de un proceso en ejecución tenga acceso a la misma ubicación de memoria. Un lenguaje acoplado con el sistema debe sincronizar el uso compartido de la memoria, de modo que solo un proceso escriba una variable compartida a la vez, y de modo que un proceso pueda esperar hasta que ciertas condiciones se satisfagan por completo antes de continuar la ejecución. La memoria compartida tiene la ventaja de la velocidad, por que no se necesita pasar mensajes.
Paradigma funcional: Como su nombre lo dice operan solamente a través de funciones. Cada función devuelve un solo valor, dada una lista de parámetros. No se permiten asignaciones globales, llamados efectos colaterales. La programación funcional proporciona la capacidad para que un programa se modifique así mismo, es decir que pueda aprender.
Paradigma lógico: Esta programación se basada en un subconjunto del cálculo de predicados, incluyendo instrucciones escritas en formas conocidas como cláusulas de Horn. Este paradigma puede deducir nuevos hechos a partir de otros hechos conocidos. Un sistema de cláusulas de Horn permite un método particularmente mecánico de demostración llamado resolución.
c++
C++
#include
using namespace std;
int main()
{
long double vd,cp,eq;
cout<<"ingrese el valor actual del dolar"<
cin>>vd;
cout<
cout<<"ingrese la cantidad de pesos"<
cin>>cp;
eq=cp/vd;
cout<<"********************************************************************************"<
cout<
cout<<"la equivalencia de pesos en dolares es de: $"<
cout<
system ("pause");
return 0;
}
2).leer un numero y escribir el valor absoluto del mismo
#include
using namespace std;
int main()
{
long double num,vala;
cout<<"ingrese el numero"<
cin>>num;
cout<
cout<<"*****************************************************************************"<
cout<
if (num>0)
{
cout<<"el valor absoluto del numero es: "<
cout<
}
else
{
vala=(num*(-1));
cout<<"el valor absoluto del numero es: "<
cout<
}
system ("pause");
return 0;
}
3).la presion,el volumen y la temperatura de una masa de aire relacionan por la formula:
Masa=(presion*volumen)/(0.37*(temperatura+460))
#include
using namespace std;
int main()
{
double p,v,t,m;
cout<<"ingrese el peso del objeto"<
cin>>p;
cout<
cout<<"ingrese el volumen del objeto"<
cin>>v;
cout<
cout<<"ingrese la temperatura del objeto"<
cin>>t;
cout<
m=(p*v)/(0.37*(t+460));
cout<<"******************************************************************************"<
cout<
cout<<"la masa del objeto es de: "<
cout<
system ("pause");
return 0;
}
Num.pulsaciones=(220 -edad)/10
using namespace std;
int main()
{
long double e,p;
cout<<"ingrese la edad de la persona"<
cin>>e;
cout<
p=(220-e)/10;
cout<<"********************************************************************************"<
cout<
cout<<"las pulsaciones de la persona son: "<
<
cout<
system ("pause");
return 0;
}
#include
using namespace std;
int main()
{
long double sa,inc,sf;
cout<<"ingrese el valor del salario actual del obrero"<
cin>>sa;
cout<
inc=sa*0.25;
sf=sa+inc;
cout<<"********************************************************************************"<
cout<
cout<<"el incremento del salario es de: "<
cout<
cout<<"el nuevo salario a pagar al obrero es de: "<
cout<
system ("pause");
return 0;
}
área
porcentaje
ginecología
40%
traumatología
30%
pediatría
30%
Obtener la cantidad de dinero que recibira cada area,para cualqier monto presupuestal.
using namespace std;
int main()
{
long double prto,prgi,prpe,prtr;
cout<<"ingrese el valor del presupuesto del hospital"<
cin>>prto;
cout<
prgi=prto*0.4;
prtr=prto*0.3;
prpe=prto*0.3;
cout<<"*******************************************************************************"<
cout<
cout<<"el presupuesto de ginecologia es de: $"<
cout<
cout<<"el presupuesto de traumatologia es de: $"<
cout<
cout<<"el presupuesto de pediatria es de: $"<
cout<
system ("pause");
return 0;
}
#include
using namespace std;
int main()
{
long double vca,g,vva;
cout<<"ingrese el valor inicial"<
cin>>vca;
g=vca*0.3;
vva=vca+g;
cout<
cout<<"************************************************************************"<
cout<
cout<<"la ganancia es de : $"<
cout<
cout<<"el valor total a pagar es de : $"<
cout<
system ("pause");
return 0;
}
#include
using namespace std;
int main()
{
float tl,tm,tv,tp;
cout<<"ingrese el tiempo del lunes "<
cin>>tl;
cout<<"ingrese el tiempo del miercoles "<
cin>>tm;
cout<<"ingrese el tiempo del viernes "<
cin>>tv;
tp=(tl+tm+tv)/3;
cout<<"el tiempo promedio es "<
system ("pause");
return 0;
}
#include
using namespace std;
int main()
{
float c1,c2,c3,ct,pc1,pc2,pc3;
cout<<"ingrese el valor de la inversion total " ;cin>>ct;
pc1=c1*100/ct;
pc2=c2*100/ct;
pc3=c3*100/ct;
cin>>pc1;
cin>>pc2;
cin>>pc3;
system("pause");
return 0;
}
La calificacion de matematicas:
Examen 90%
Promedio de tareas 10%
En esta materia se pidio un total de tre materias
La calificacion de fisica:
Examen 80%
Promedio de tareas 20%
En esta materia se pidio un total de dos tareas
La calificacion de quimica es de:
Examen 85%
Promedio de tareas 15%
En esta materia se pidio un total de trea materias
#include
using namespace std;
int main()
{
float em,tm1,tm2,tm3,ef,tf1,tf2,eq,tq1,tq2,tq3,promat,profis,proqui,promtot;
cout<<"ingrese nota de examen de matematicas"<
cin>>em;
cout<<"ingrese nota de la primera tarea de matematicas"<
cin>>tm1;
cout<<"ingrese nota de la segunda tarea de matematicas"<
cin>>tm2;
cout<<"ingrese nota de la tercera tarea de matematicas"<
cin>>tm3;
cout<<"ingrese nota de examen de fisica"<
cin>>ef;
cout<<"ingrese nota de la primera tarea de fisica"<
cin>>tf1;
cout<<"ingrese nota de la segunda tarea de fisica"<
cin>>tf2;
cout<<"ingrese nota de examen de quimica"<
cin>>eq;
cout<<"ingrese nota de la primera tarea de quimica"<
cin>>tq1;
cout<<"ingrese nota de la segunda tarea de quimica"<
cin>>tq2;
cout<<"ingrese nota de la tercera tarea de quimica"<
cin>>tq3;
promat=em*0.9+(tm1+tm2+tm3)/3*0.1;
profis=ef*0.8+(tf1+tf2)/2*0.2;
proqui=eq*0.85+(tq1+tq2+tq3)/3*0.15;
promtot=(promat+profis+proqui)/3;
cout<<"el promedio de matematicas es "<
cout<<"el promedio de fisica es "<
cout<<"el promedio de quimica es "<
cout<<"el promedio total es "<
system ("pause");
return 0;
}
CICLOS EN C++
using namespace std;
int main()
{
int num,cont,cont1,cont2;
cont=0;
cont1=0;
cont2=0;
cout<<"ingrese numeros"<
for (int i=1;i<=20;i++) {cin>>num;
if (num<0) cont2="cont2+1;}">0)
{cont1=cont1+1;}
if (num==0)
{cont=cont+1;}
}
cout<<"la cantidad de numeros negativos es: "<
cout<<"la cantidad de numeros positivos es: "<
cout<<"la cantidad de numeros neutros es: "<
system ("pause");
return 0;
}
using namespace std;
int main()
{
int nota,prom,cont;
cont=0;
cout<<"ingrese notas "<
for(int i=0;i<=40;i++) {cin>>nota;
cont=cont+nota;
prom=cont/40;}
cout<<"el promedio es igual "<
cout<<"la calificacion mas baja es: "<
system ("pause");
return 0;
}
3-Simular el comportamiento de un reloj digital en c++
#include
using namespace std;
int main()
{
int h,m,s;
for(h=1;h<=23;h++) { for(m=1;m<=59;m++) { for(s=1;s<=59;s++) { cout<<><<":"<<
system ("pause");
}
}
}
return 0;
}
<
using namespace std;
int main()
{
long double cp,sex,canth,cantm;
canth=0;
cantm=0;
cout<<"indique la caantidad de persoans del grupo"<
cout<
{
cin>>sex;
cout<
using namespace std;
int main()
{
int cant,num,may;
may=0;
cout<<"ingrese la cantidad de numeros: "<
cin>>cant;
while (cant>0)
{cout<<"ingrese los numeros "<
cin>>num;
if (num>may)
{may=num;}
cant=cant-1;}
cout<<"el numero mayor es: "<
system ("pause");
return 0;
}
#include
using namespace std;
int main()
{
int cant,num,men;
men=100000;
cout<<"ingrese la cantidad de numeros: "<
cin>>cant;
while (cant>0)
{cout<<"ingrese los numeros "<
cin>>num;
if (num
{men=num;}
cant=cant-1;}
cout<<"el numero menor es: "<
system ("pause");
return 0;
}
3-leer una cierta cantidad de numeros y determinar cual es el mayor y cual es el menor
#include
using namespace std;
int main()
{
int cant,num,men,may;
men=100000;
may=0;
cout<<"ingrese la cantidad de numeros: "<
cin>>cant;
while (cant>0)
{cout<<"ingrese los numeros "<
cin>>num;
if (num
{men=num;}
cant=cant-1;}
cout<<"el numero menor es: "<
if (num>may)
{may=num;}
cant=cant-1;
cout<<"el numero mayor es: "<
system("pause");
return 0;
}
4-hallar el salario mensual de n empleados,el valor de la hora es de 2.500 y si trabaja mas de 160 horas , las horas extras se pagaran a 3.500
#include
using namespace std;
int main ()
{
long ht,he,sal,nemp,vhe;
cout<<"ingrese cantidad de empleados"<
cin>>nemp;
while (nemp>0)
{cout<<"ingrese nomnbre del empleado"<
cin>>ne
cout<<"ingrese horas totales"<
cin>>ht;
if(ht<=160) {sal=ht*2500;} else {he=ht-160; sal=he*3500+160*2500;} cout<<"el salario es: "<
nemp-=1;
}
system("pause");
return 0;
}
5- determinar si un numero es primo
#include
using namespace std;
int main()
{
int num,diu,aux;
cout<<"ingrese numero "<
cin>>num;
aux=num;
diu=0;
while(num>0)
{if(aux%num==0)
{diu=diu+1;}
num-=1;
}
if (diu>2){
cout<<"no es primo"<
else{
cout<<"es primo "<
system ("pause");
return 0;
}
--Mostrar los números pares decrecientes desde determinado punto
#include
using namespace std;
int main()
{
int num;
cout<
cout<<"ingrese el numero deseado"<
cout<
cin>>num;
cout<
while (num>0)
{
if(num%2==0)
{
cout<
cout<
cout<
}
else
{
num=num-1;
cout<
cout<
cout<
}
num-=2;
}
system ("pause");
return 0;
}
--Indicar cuantas mujeres y hombres hay en un salón de clases
#include
using namespace std;
int main()
{
long double cp,sex,canth,cantm;
canth=0;
cantm=0;
cout<<"indique la caantidad de persoans del grupo"<
cout<
cin>>cp;
cout<
cout<<"si es hombre escriba 1 si es muejer escriba 2"<
cout<
while (cp>0)
{
cin>>sex;
cout<
if (sex==1)
{
canth=canth+1;
}
else
{
cantm=cantm+1;
}
cp=cp-1;
}
cout<<"le numero de hombres es"<
cout<
cout<<"el numero de muejeres es"<
cout<
system ("pause");
return 0;
}
--En un almacen se hace un descuento del 20% a los clientes cuya compra supere los $100.000 .¿Cual sera la cantidad que pagara una persona por su compra?
-#include
using namespace std;
int main()
{
double vc,des,vt;
cout<<"ingresar valor de la compra"<
cin>>vc;
if (vc>100.000)
{
des=vc*0.2;
vt=vc-des;
cout<<"el total de la compra es"<
}
else
{
des=0;
vt=vc;
cout<<"no se hara descuemto"<
}
system ("pause");
return 0;
}
--Un obrero necesita calcular su salario semanal, el cual se obtiene de la siguiente manera:
si trabaja 40 horas o menos se le paga 16000 por hora,
si trabaja mas de 40 horas se le paga 16000 por cada una de las primeras 40 horas y 20000 por cada hora extra.
#include
using namespace std;
int main()
{
long double ht,sm,he;
cout<<"ingrese horas trabajadas"<
cin>>ht;
if (ht<=40)
{
sm=ht*16.000;
cout<<"el salario mensual es"<
}
else
{
ht=ht*16.000;
he=ht*20.000;
sm=ht+he;
cout<<" el salario mensual es"<
}
system ("pause");
return 0;
}
<<":"<<
taller 18 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;
#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 "<
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 n,co,vec[100];
n=2;
co=2;
for(int i=1;i<=100;i++) { vec[i]=co; co=co+2; } for (int i=1;i<=100;i++) { cout<<"el valor en "<
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 a[5],n[5];
cout<<"ingrese el nombre de la persona"<
cout<
cout<
4. Escribir un programa que lea una línea te texto, la almacene en un vector y la imprima al revés.
#include
using namespace std;
int main()
{
int cant;
char linea[10];
cant=10;
cout<<"introduzca el texto"<
{
cin>>linea[i];
cout<
cout<<"la frase al revez es: "<
{
cout<
}
system ("pause");
return 0;
}
5. Realizar un programa para ordenar por selección el siguiente vector a={52,63,7,15,26,68,12,2}.
#include
using namespace std;
int main()
{
int i,j,k,n,x,a[10];
n=10;
for (int e=1;e<=n;e++)
{
cin>>a[e];
}
for(int i=1;i<=n-1;i++)
{
k=i;
for(int j=i+1;j<=n;j++)
{
if(a[j] {
k=j;
}
}
x=a[i];
a[i]=a[k];
a[k]=x;
}
for(int i=1;i<=n;i++)
{
cout<<" "< }
cout<
return 0;
}
6. Genere y llene dos vectores A y B de tamaño M; luego genere un tercer vector C con la unión de la primera mitad del vector A y la segunda mitad del vector B. (Asuma que M es par). Ejemplo gráfico:
#include
using namespace std;
int main()
{
int t;
int a[60],b[60],c[60];
cout<<"ingrese el tamaño de los vectores"<
cout<
{
cin>>a[i];
}
cout<
{
cin>>b[e];
}
for(int o=1;o<=t/2;o++)
{
c[o]=a[o];
}
for(int a=t/2+1;a<=t;a++)
{
c[a]=b[a];
}
cout<
{
cout<
cout<
return 0;
}
#include
using namespace std;
int main()
{
int fib[10000],cont,cont1,t,sec;
cont=1;
cont1=2;
fib[1]=0;
fib[2]=1;
fib[3]=1;
fib[4]=2;
cout<<"cuantos numeros de la secuencia fibonacci quiere calcular?"<
cout<
DFD



MUESTRA UN VECTOR EN EL QUE ESTE LA POTENCIA DE LOS NUMEROS INGRESADOS EN EL PRIMER VECTOR (VECTORES)

MUESTRA LOS VALORES DEL VECTOR EN ORDEN INVERSO AL QUE SE INGRESO (VECTORES)

MUESTRA EL NUMERO MENOR, NUMERO MAYOR, PROMEDIO Y LA POSICION EN LA QUE SE ENCUENTRAN ESTOS VALORES (VECTORES)

MUESTRA EL NUMERO MAYOR, NUMERO MENOR Y EL PROMEDIO (VECTORES)

MUESTRA EL NUMERO MAYOR Y NUMERO MENOR (VECTORES)

CALCULAR EL PROMEDIO DE 3 NOTAS, LA PRIMERA CON 30%, SEGUNDA CON 30%,Y LA TERCERA CON 40%, SEÑALANDO ESPECIFICAMENTE SI EL ALUMNO APROBO O POR EL CONTRARIO REPROBO.
ALGORITMO QUE PERMITE CALCULAR EL MÁXIMO COMÚN DIVISOR DE DOS NÚMEROS.

ALGORITMO DEL PROGRAMA QUE SUME Y MUESTRA EN PANTALLA LOS MÚLTIPLOS DE 3 ENTRE 3 Y 99.
Pseudocódigo
Inicio
-leer= n mult=0 -mientras= n<=99 hacer -si n mod 3=0 entonces -mult=n+1 Fin si imprimir=mult -n=n+1 Fin mientras Fin
ALGORITMOS QUE SUMA TODOS LOS NUMEROS NATURALES ANTERIORES A UN NUMERO N DADO.
Pseudocodigo
Inicio
-leer: num
-sum=0
- i=0
-mientras i<=num hacer sum=sum+i -i=i+1 Fin mientras Imprimir: sum Fin
ALGORITMO QUE ESCRIBE LOS NUMEROS DE UNO EN UNO HASTA 20.
Inicio
-numero=0
-mientras n <20>hacer
-n=n+1
-imprimir n
Fin mientras
Fin
CALCULAR EL PROMEDIO DE LA NOTA DE UNA MATERIA DE UN GRUPO DE N ESTUDIANTES.
DETERMINAR CUANTOS HOMBRES Y CUANTAS MUJERES SE ENCUENTRAN EN UN GRUPO DE N PERSONAS, SUPONIENDO QUE LOS DATOS SON EXTRAIDOS ALUMNO POR ALUMNO.
TEMPORIZADOR
RELOJ DIGITAL
TABLAS DE MULTIPLICAR
UNA PERSONA DEBE REALIZAR UN MUESTREO CON 10 PERSONAS PARA DETERMINAR EL PROMEDIO DE PESO DE LOS NIÑOS, JOVENES, ADULTOS Y VIEJOS SE DETERMINAN LAS CATEGORIAS CON BASE EN LA SIGUIENTE TABLA.
CATEGORIA EDAD
NIÑO 0-12
JOVEN 13-29
ADULTO 30-59
VIEJO 60 EN ADELANTE
ALGORITMO PARA DETERMINAR EL PROMEDIO DE C/U DE TRES MATERIAS TENIENDO EN CUENTA EL PORCENTAJE QUE VALE CADA NOTA COMO EXAMENES Y PROMEDIOS DE LAS TAREAS ASIGNADAS EN CADA MATERIA. Y ASI DETERMINAR TAMBIEN LA NOTA GENERAL DEL ALUMNO.
ALGORITMO PARA DETERMINAR EL PORCENTAJE QUE C/U DE TRES PERSONAS INVIERTE EN UNA EMPRESA, TENIENDO EN CUENTA QUE LAS INVERCIONES SON DIFERENTES ENTRE SI.
ALGORITMO PARA DETERMINAR EL TIEMPO PROMEDIO QUE UNA PERSONA TARDA EN RECORRER UNA RUTA EN DIFERENTES DIAS DE LA SEMANA.
ALGORITMO PARA OBTENER EL PRECIO DE VENTA DE UN ARTÍCULO, AUMENTANDO A SU VALOR ORIGINAL UN 30%.
ALGORITMO PARA CALCULAR LA REPARTICION DEL PRESUPUESTO ANUAL EN UN HOSPITAL.
ALGORITMO PARA CALCULAR UN INCREMENTO DE 25% EN EL SALARIO DE UN OBRERO.
ALGORITMO PARA CALCULAR EL NUM. DE PULSACIONES QUE UNA PESONA DEBE TENER POR CADA 10 SEGUNDOS DE EJERCICIO.
ALGORITMO PARA CALCULAR LA PRESION, EL VOLUMEN Y LA TEMPERATURA DE UNA MASA DE AIRE.
ALGORITMO PARA CALCULAR UNA CANTIDAD DE PESOS...... A DOLARES.
martes, 7 de julio de 2009
INTRO
proyecto es esencialmente un conjunto de actividades interrelacionadas, con un inicio y una finalización definida, que utiliza recursos limitados para lograr un objetivo deseado.
Los dos elementos básicos que incluye esta definición son: las actividades y los recursos.
LAS ACTIVIDADES son las tareas que deben ejecutarse para llegar en conjunto a un fin preestablecido (objetivo deseado); por ejemplo: recopilar información; realizar diagnósticos; confeccionar un diseño global de un procedimiento, programar, escribir manuales de procedimiento, etc. (ver 6.1. metodología para el desarrollo de sistemas)
Un aspecto fundamental en todo proyecto es el orden en el cual se realizan las actividades. Y para determinar la secuencia lógica de las actividades se debe establecer el método, el tiempo y el costo de cada operación.
LOS RECURSOS son los elementos utilizados para poder realizar la ejecución de cada una de las tareas; como por ejemplo: hardware, programas de base (sistemas operativos), programas de aplicación, discos de almacenamiento, energía, servicios, inversiones de capital, personal, información, dinero y tiempo (ver 2.3 consideraciones en un plan estratégico informático).
Entonces: El fin primario de desarrollar un proyecto debe ser producir un programa calendario en el cual los recursos, siempre limitados, se asignen a cada una de las actividades en forma económicamente óptima.
Estas limitaciones en cuyo contexto se resuelve planear un proyecto pueden ser internas, por ejemplo: computadoras disponibles, capacidad del personal, disposiciones presupuestarias, o bien externas, como ser: fechas de entrega de cualquier tipo de recursos, factores climáticos, aprobaciones de organismos oficiales. En ambos casos las limitaciones deben tenerse particularmente en cuenta al estimar los tiempos de cada actividad.
En cuanto al objetivo del proyecto, este puede ser sencillo y no demandar ni muchas tareas ni demasiados recursos; o por el contrario, puede ser complejo y exigir múltiples actividades y una gran cantidad de recursos para poder alcanzarlo.
Pero independientemente de su complejidad, característicamente todo proyecto reúne la mayoría de los siguientes criterios:
- 1. Tener un principio y un fin
- 2. Tener un calendario definido de ejecución
- 3. Plantearse de una sola vez
- 4. Constar de una sucesión de actividades o de fases
- 5. Agrupar personas en función de las necesidades específicas de cada actividad
- 6. Contar con los recursos necesarios para desenvolver las actividades
REDES SOCIALES EN INTERNET
Las redes sociales son formas de conexiones entre personas o grupos de diversos sitos del mundo, estos se han vuelto bastante populares ya que permiten interactuar con otras personas de diferentes maneras, sin necesidad de tener un contacto directo o hasta afectivo con esta. También nos proporciona herramientas como los perfiles, actualizaciones de la libreta de direcciones y diferentes maneras de conexión social en línea por lo general se hallan allí a personas con los mismos intereses y modos de pensar, logrando así discusiones o un intercambio de ideas y hasta vínculos afectivos entre los miembros de este. Estos sitios surgieron alrededor del 2001 y 2002, hacia el 2003 se van haciendo populares, entre las más reconocidas están facebook, myspace, friendster, del.icio.us etc....el más popular myspace ha alcanzado a tener más de cien millones de usuarios en parte gracias a la inversión publicitaria de parte de Microsoft
SPACE
Un space es una página web que agrupa un conjunto de servicios, blog, álbum de fotos, Messenger, e-mail, una colección de vídeos, chat, foros, etc., personalizados sin dificultad por cualquier usuario sin el menor conocimiento de informática. De modo que crea un portal personal, desde donde mostrar su particular visión del mundo y estilo de vida a su circulo de amigos y conocidos, o si ese es tu deseo, se abre a todo el mundo.
BUSQUEDAS AVANZADAS EN INTERNET
Tipo de búsqueda que posee características adicionales soportadas por motor de búsqueda. Suele ser una opción de elección libre en los buscadores, programas, herramientas, servicios online, etc. En algunos servicios online, la búsqueda avanzada sólo está permitida cuando el usuario paga.Una búsqueda simple generalmente consta de un cuadro de texto para una simple cadena de caracteres, en cambio, las búsquedas avanzadas suelen contar con múltiples cuadros de texto, casilleros de verificación y otros elementos de formularios. Por lo general, estos elementos permiten aplicar filtros a la búsqueda básica, para obtener resultados más exactos. Por ejemplo, una búsqueda avanzada en un buscador de internet podría contener la elección de filtros por documento (imagen, texto, video, etc.), por el idioma del documento, por los derechos de uso, etc. Otro ejemplo son las búsquedas en los servicios online para conocer parejas, la búsqueda básica suele ser el sexo, edad y ubicación de la persona que se busca. En cambio, la búsqueda avanzada suele tener otras características para hacer más exacta la búsqueda, como por ejemplo, signo del zodíaco, preferencias, apariencias físicas, etc. Las búsquedas más avanzadas y especializadas pueden lograrse en los buscadores verticales, pues este tipo de buscadores se concentran en áreas, campos o nichos específicos.
CHAT
El chat (español: charla), que también se conoce como cibercharla, es un anglicismo que usualmente se refiere a una comunicación escrita realizada de manera instantánea a través de Internet entre dos o más personas, desde y hasta cualquier parte del mundo.Son muchas las acepciones de la palabra chat, y por lo general agrupa a todos los protocolos que cumplen la función de comunicar a dos o más personas, dentro de éstos los clientes de chat (como, por ejemplo, X-Chat, ChatZilla (el cliente de Mozilla/SeaMonkey o el mIRC); éstos usan el protocolo IRC, cuyas siglas significan Internet Relay Chat. Otros son protocolos distintos pero agrupados en la mensajería instantánea, tales como MSN Messenger, Yahoo! Messenger, Jabber o ICQ, entre los más conocidos, o también el servicio SMS de telefonía móvil. También se puede incluir aquí el peer-to-peer. Es muy usado, además, el método webchat, que no es otra cosa que enviar y recibir mensajes a través de una página dinámica de Internet, o usando el protocolo "IRC" si se trata de un applet de Java.
FORO
Foro en Internet es también conocido como foro de mensajes, de opinión o foro de discusión y es una aplicación web que le da soporte a discusiones u opiniones en línea.Por lo general los foros en Internet existen como un complemento a un sitio web invitando a los usuarios a discutir o compartir información relevante a la temática del sitio, en discusión libre e informal, con lo cual se llega a formar una comunidad en torno a un interés común. Las discusiones suelen ser moderadas por un coordinador o dinamizador quien generalmente introduce el tema, formula la primera pregunta, estimula y guía, sin presionar, otorga la palabra, pide fundamentaciones y explicaciones y sintetiza lo expuesto antes de cerrar la discusión
WIKI
Un wiki, o una wiki, es un sitio web cuyas páginas web pueden ser editadas por múltiples voluntarios a través del navegador web. Los usuarios pueden crear, modificar o borrar un mismo texto que comparten. Los textos o "páginas wiki" tienen títulos únicos. Si se escribe el título de una "página-wiki" en algún lugar del wiki, esta palabra se convierte en un "enlace web" (o "link") a la página web.En una página sobre "alpinismo" puede haber una palabra como "piolet" o "brújula" que esté marcada como palabra perteneciente a un título de página wiki. La mayor parte de las implementaciones de wikis indican en el URL de la página el propio título de la página wiki (en Wikipedia ocurre así: http://es.wikipedia.org/wiki/Alpinismo), facilitando el uso y comprensibilidad del link fuera del propio sitio web. Además, esto permite formar en muchas ocasiones una coherencia terminológica, generando una ordenación natural del contenido.La aplicación de mayor peso y a la que le debe su mayor fama hasta el momento ha sido la creación de enciclopedias colaborativas, género al que pertenece la Wikipedia. Existen muchas otras aplicaciones más cercanas a la coordinación de informaciones y acciones, o la puesta en común de conocimientos o textos dentro de grupos.La mayor parte de los wikis actuales conservan un historial de cambios que permite recuperar fácilmente cualquier estado anterior y ver 'quién' hizo cada cambio, lo cual facilita enormemente el mantenimiento conjunto y el control de usuarios destructivos. Habitualmente, sin necesidad de una revisión previa, se actualiza el contenido que muestra la página wiki editada.
HOJA DE VIDA
HOJA DE VIDA
NOMBRES Y APELLIDOS:DIEGO ALEXANDER BAQUERO ROJAS
ID:93081707926
DIRECCION: CRA:99 Nº139 C16
TELEFONO:6851054
E-MAIL:DIEGOX666ARRIBA@HOTMAIL.COM
CIUDAD:BOGOTA
PERFIL PERSONAL:BACHILLER COMPROMETIDO CON TODO LO QUE TIENE QUE VER CON PROGRAMACION.
EXPERIENCIA LABORAL:NINGUNA
FORMACION ACADEMICA:MEDIA VOCACIONAL
GIMNACIO CIENCIA Y SABIDURIA:PARBULOS HASTA PRIMERO DESDE 1995-1999
COLEGIO PEDAGOGICO DULCE MARIA:SEGUNDO HASTA DECIMO DEL 2000 -ACUTUALMENTE ME ENCUENTRO ESTUDIANDO EN ESTA INSTITUCION
REFERENCIAS LABORALES:NINGUNA
REFERENCIAS PERSONALES:
WILLIAM PATIÑO TEL:6885467
JHON RODRIGUEZ TEL:4567890
NATLY GUTIERREZ TEL:6785437
FIRMA:__________________________________
D.I:93081707926