sábado, 26 de marzo de 2016

Fecha: 07/03/2016

Imagine Cup es una planta anual concurso patrocinado y auspiciado por Microsoft Corp. , que reúne a jóvenes tecnólogos de todo el mundo para ayudar a resolver algunos de los retos más difíciles del mundo. La Imagine Cup comprende cinco grandes competiciones de tecnología, incluyendo diseño de software, y cuatro desafíos (aunque el número desafío se actualiza anualmente).
Todo Imagínese competidores de la Copa crean proyectos que abordan el tema de Imagine Cup: ". Imagine un mundo donde la tecnología ayude a resolver los problemas más difíciles" Imagine Cup 2011 se compone de cinco competiciones, incluyendo: Diseño de software, diseño de juegos, Desarrollo Integrado, Digital Media y Windows Phone 7. Además, los participantes también pueden competir en cuatro desafíos, incluyendo: huerta, TI, e interoperabilidad y Windows 7 Touch.
concursos:
  • Diseño de Software: El concurso de Diseño de Software desafía a los estudiantes a utilizar la tecnología para resolver lo que consideran ser los problemas más difíciles que enfrenta el mundo hoy en día. El uso de herramientas y la tecnología de Microsoft, los competidores crean aplicaciones de software. Los estudiantes desarrollan, prueban y construyen sus ideas en aplicaciones que pueden cambiar el mundo. [3]
  • Desarrollo Integrado:. La competición Embedded Development permite a los estudiantes ir más allá del escritorio para construir una solución de hardware y software que se ocupa de los problemas sociales globales [4]
  • Diseño del juego: El concurso de diseño de juego desafía a los estudiantes para crear un nuevo juego que ilustra el tema de Imagine Cup. [5]
  • Medios Digitales: En el concurso de medios digitales, los equipos crean presentaciones de vídeo web que abordan el tema de Imagine Cup.

25/02/2016

Programa que imprime el area de diferentes figuras geometricas ingresadas por el usuario
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <iostream>

using namespace std;

class area{

public:

int ladocuadrado;
int basetriangulo;
int alturatriangulo;
int radiocirculo;


public:
area(int _ladocuadrado, int _basetriangulo, int _alturatriangulo, int _radiocirculo){

ladocuadrado= _ladocuadrado;
basetriangulo= _basetriangulo;
alturatriangulo= _alturatriangulo;
radiocirculo= _radiocirculo;

}

void imprimir(){
float areacuadrado;
areacuadrado=ladocuadrado*ladocuadrado;
float areatriangulo;
areatriangulo=basetriangulo*alturatriangulo;
areatriangulo=areatriangulo/2;
float areacirculo;
areacirculo=radiocirculo*radiocirculo;
areacirculo=areacirculo*3,1416;

printf("El area del triangulo es: %f\n", areatriangulo);
printf("El area del cuadrado es: %f\n", areacuadrado);
printf("El area del circulo es: %f\n", areacirculo);
}

};



main()
{
area figuras(2,4,5,7);
figuras.imprimir();

getch();
}



22/02/2016

Programa que imprimir 2 series, una ascendente y una desendente con datos ingresados por el usuario
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <iostream>

using namespace std;

class jugador{

public:

int ident;
string nombre;
int limi;
public:
jugador(string _nombre, int _ident, int _limi){

nombre= _nombre;
ident= _ident;
limi= _limi;

}





void imprimir()
{
    
     if(ident==1){
   
   
    cout<<nombre;
printf("\n");
    for(int i=limi;i<=100;i++){
   
    printf("%i\n",i);
    }
   
   
}

if(ident==2){
   
cout<<nombre;
printf("\n");   
   
    for(int i=limi;i>=1;i--){
   
    printf("%i\n",i);
    }
}



}


void ingresar(){
         
          printf("Ingrese su nombre\n");
           cin  >> nombre;
          printf("Ingrese el numero\n");
           cin  >> limi;
          
       
}


};



main()
{


jugador jugador1("0",1,0);

jugador1.ingresar();
jugador1.imprimir();
printf("\n");

jugador jugador2("0",2,0);

jugador2.ingresar();
jugador2.imprimir();
getch();
}



22/02/2016

Programa que imprimir 2 series, una ascendente y una desendente con datos ingresados por el usuario
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <iostream>

using namespace std;

class jugador{

public:

int ident;
string nombre;
int limi;
public:
jugador(string _nombre, int _ident, int _limi){

nombre= _nombre;
ident= _ident;
limi= _limi;

}





void imprimir()
{
    
     if(ident==1){
   
   
    cout<<nombre;
printf("\n");
    for(int i=limi;i<=100;i++){
   
    printf("%i\n",i);
    }
   
   
}

if(ident==2){
   
cout<<nombre;
printf("\n");   
   
    for(int i=limi;i>=1;i--){
   
    printf("%i\n",i);
    }
}



}


void ingresar(){
         
          printf("Ingrese su nombre\n");
           cin  >> nombre;
          printf("Ingrese el numero\n");
           cin  >> limi;
          
       
}


};



main()
{


jugador jugador1("0",1,0);

jugador1.ingresar();
jugador1.imprimir();
printf("\n");

jugador jugador2("0",2,0);

jugador2.ingresar();
jugador2.imprimir();
getch();
}



Programa que imprime los datos de 2 objetos creados a partir de una misma clase
 #include <conio.h>
 #include <stdlib.h>
 #include <string.h>
 #include <stdio.h>

typedef struct{
 char nom[20];
 char ap[20];
 int edad;
 long int cedula;
 char sexo[20];
 char estado[20];
 char nacionalidad[20];
 } estructura1;
 main()
 {
 char nom[20], sexo[20], ap[20], estado[20], nacionalidad[20];
 int edad;
 long int cedula;
 fflush(stdin);
 printf("Ingrese el nombre:\n");
 gets(nom);
 fflush(stdin);
 printf("Ingrese el apellido:\n");
 gets(ap);
 fflush(stdin);

printf("Ingrese la edad:\n");
 scanf("%i",&edad);

fflush(stdin);
 printf("Ingrese el sexo:\n");
 gets(sexo);

fflush(stdin);
 printf("Ingrese el estado:\n");
 gets(estado);

fflush(stdin);
 printf("Ingrese la nacionalidad:\n");
 gets(nacionalidad);

printf("Ingrese la cedula:\n");
 scanf("%ld",&cedula);

printf("El nombre es: %s \n",nom);
 printf("El apellido es: %s \n",ap);
 printf("La edad es: %i \n",edad);
 printf("El sexo es: %s \n",sexo);
 printf("El estado civil es: %s \n",estado);
 printf("La nacionalidad es: %s \n",nacionalidad);
 printf("La cedula a es: %ld \n",cedula);
 getch();
 }

domingo, 20 de marzo de 2016

GET Y SET EN C++
Cuando tienes una clase, ya sea en java, c++... las clases tienen atributos, para poder asignarles valores o modificar esos atributos se usa el metodo set (establecer), y cuando quieres ver el contenido de estos mismos, se utiliza el metodo get (obtener) 

te voy a hacer un ejemplo para que te quede claro: 

//primero creamos una clase 

class persona{ 
private: 
int edad; //atributo entero para la edad 

public: 
//ahora creamos el set para establecer la edad 
//siempre debera ser tipo void, pues no devuelve nada 
void setedad(int edad); 

//ahora el get para obtener la edad, debe ser del tipo del atributo 
int getedad(); 

void mostraredad(); //metodo que usaremos para explicar 
}; 


//ahora escribimos el codigo de cada metodo 

//creamos el metodo set, para modificar atributo 
void persona::setedad(int edad); 
this->edad=edad;} 

//metodo get para que devuelva el atributo 
int persona::getedad(){ 
return this->edad;} 

void persona::mostraredad(){ 
int x; 
cout<<"ingrese la edad: "; 
cin>>x; 
this->setedad(x); //le asigna al atributo edad, el valor que //acabamos de ingresar 
cout<<"la edad de la persona es: "; 
cout<<this->getedad();//imprime el valor del atributo edad 
} 

//luego creas un objeto en el main y llamas al metodo, 

void main(){ 
persona*p=new persona(); 
p->mostraredad(); 
} 


espero que te haya quedado claro, cualquier consulta me contactas!! 
POLIMORFISMO
En lenguajes basados en clases y con un sistema de tipos de datos fuerte (independientemente de si la verificación se realiza en tiempo de compilación o de ejecución), es posible que el único modo de poder utilizar objetos de manera polimórfica sea que compartan una raíz común, es decir, una jerarquía de clases, ya que esto proporciona la compatibilidad de tipos de datos necesaria para que sea posible utilizar una misma variable de referencia (que podrá apuntar a objetos de diversas subclases de dicha jerarquía) para enviar el mismo mensaje (o un grupo de mensajes) al grupo de objetos que se tratan de manera polimórfica.
No obstante, algunos lenguajes de programación (Java, C++) permiten que dos objetos de distintas jerarquías de clases respondan a los mismos mensajes, a través de las denominadas interfaces (esta técnica se conoce como composición de objetos). Dos objetos que implementen la misma interfaz podrán ser tratados de forma idéntica, como un mismo tipo de objeto, el tipo definido por la interfaz. Así, distintos objetos podrán intercambiarse en tiempo de ejecución –siempre que sean del mismo tipo–, y además con dependencias mínimas entre ellos. Por estos motivos se considera un buen principio de diseño en programación orientada a objetos el favorecer la composición de objetos frente a la herencia de clases.1
En Java las interfaces se declaran mediante la palabra clave Interface. Estas se utilizan para lograr la necesaria concordancia de tipos que hace posible el polimorfismo, también como un contrato que debe cumplir cualquier clase que implemente una cierta interfaz, y como una forma de documentación para los desarrolladores. A veces, en la literatura específica sobre Java se habla de "herencia y polimorfismo de interfaces", lo que no concuerda con los conceptos de la programación orientada a objetos porque una clase que implementa una interfaz sólo obtiene su tipo de datos y la obligación de implementar sus métodos, no copia comportamiento ni atributos. Esta terminología puede llevar a confusión, puesto que en Java a menudo se utiliza la mal llamada "herencia de interfaces" para dotar a una clase de uno o varios tipos adicionales, lo que unido a la composición, evite la necesidad de la herencia múltiple y favorezca una utilización más amplia del polimorfismo.
No obstante, el uso de una jerarquía de clases como paso previo, es muy habitual incluso en aquellos lenguajes en los que es posible prescindir de tal jerarquía, ya que, desde una perspectiva conceptual, se puede decir que al pertenecer los "objetos polimórficos" a subclases de una misma jerarquía, se asegura la equivalencia semántica de los mensajes que se invocarán de modo polimórfico. Por esto, en programación orientada a objetos a veces se denomina al polimorfismo como "polimorfismo de subclase (o de subtipo)".
En resumen, en la programación orientada a objetos, la esencia del polimorfismo no atañe a la clase o prototipo de la que provienen los objetos. Aun así, en los lenguajes basados en clases, es habitual (y en algunos tal vez sea el único modo) que dichos objetos pertenezcan a subclases pertenecientes a una misma jerarquía. Entonces, el polimorfismo debe verse como una forma flexible de usar un grupo de objetos (como si fueran sólo uno). Podría decirse que el polimorfismo en esencia refiere al comportamiento de los objetos, no a su pertenencia a una jerarquía de clases (o a sus tipos de datos).
Lo anterior se hace aún más evidente en lenguajes de programación orientada a objetos basados en prototipos, como Self, en los que las clases no existen.
Además, es importante remarcar que si un cierto grupo de objetos pueden utilizarse de manera polimórfica es porque, en última instancia, todos ellos saben responder a un cierto mensaje (o a varios), pero dado que esos mismos objetos generalmente contendrán otros métodos (que otros objetos en dicho grupo no contienen), difícilmente se pueda decir lisa y llanamente que los objetos son polimórficos; lo correcto es decir que esos objetos se pueden utilizar de modo polimórfico para un cierto conjunto de mensajes.
Un ejemplo. Podemos crear dos clases distintas: Pez y Ave que heredan de la superclaseAnimal. La clase Animal tiene el método abstracto mover que se implementa de forma distinta en cada una de las subclases (peces y aves se mueven de forma distinta). Entonces, un tercer objeto puede enviar el mensaje mover a un grupo de objetos Pezy Avepor medio de una variable de referencia de clase Animal, haciendo así un uso polimórfico de dichos objetos respecto del mensaje mover.
El concepto de polimorfismo, desde una perspectiva más general, se puede aplicar tanto a funciones como a tipos de datos. Así nacen los conceptos de funciones polimórficas ytipos polimórficos. Las primeras son aquellas funciones que pueden evaluarse o ser aplicadas a diferentes tipos de datos de forma indistinta; los tipos polimórficos, por su parte, son aquellos tipos de datos que contienen al menos un elemento cuyo tipo no está especificado.