miércoles, 31 de enero de 2018

EJERCICIO

#include <stdio.h>
#include <conio.h>
#include <iostream>

using namespace std;

//Realizar un programa que imprima los datos de un coche, tren y avión utilizando herencia.

class vehiculo{
 protected:
  int dep, vel;
 public:
  void acelerar(){
   cout<<endl<<"Acelerar";}
  void frenar(){
   cout<<endl<<"Frenar"<<endl<<endl;}
};

class coche : public vehiculo {
 private:
  int puertas;
 public:
  coche (int dep1, int vel1, int puertas1){
   dep=dep1;
   vel=vel1;
   puertas=puertas1;
  }
  void imprimir()

  {
   cout<<"Deposito ="<<dep<<endl;
   cout<<"Velocidad ="<<vel<<endl;
   cout<<"Puertas ="<<puertas<<endl;
  }
};

class tren : public vehiculo {
 private:
  int vagones;
 public:
  tren (int dep1, int vel1, int vagones1){
   dep=dep1;
   vel=vel1;
   vagones=vagones1;
  }
  void imprimir()
  {
   cout<<"Deposito ="<<dep<<endl;
   cout<<"Velocidad ="<<vel<<endl;
   cout<<"Vagones ="<<vagones<<endl;
  }
};
 

class avion : public vehiculo {
 private:
  int puertas;
 public:
  void despegar(){
  cout<<"Despegar"<<endl;
  }
  void aterrizar(){
  cout<<"Aterrizar"<<endl;
  }
  avion(int dep1, int vel1, int puertas1){
   dep=dep1;
   vel=vel1;
   puertas=puertas1;
  }
  void imprimir(){
   cout<<"Deposito ="<<dep<<endl;
   cout<<"Velocidad ="<<vel<<endl;
   cout<<"Puertas ="<<puertas<<endl;
  }
};

main ()
{
coche a1(80,180,2);
tren a2(100,90,7);
avion a3(100,190,1);


cout << "Coche" << endl;
a1.imprimir();
a1.acelerar();
a1.frenar();

cout << "Tren" << endl;
a2.imprimir();
a2.acelerar();
a2.frenar();

cout << "Avion" << endl;
a3.imprimir();
a3.acelerar();
a3.frenar();
a3.despegar();
a3.aterrizar();
}




EJERCICIO

- DATOS DE UN COCHE



#include <iostream>
#include <stdlib.h>
#include <conio.h>
using namespace std;

//Realizar un programa, que solicite al usuario los datos del coche (adaptar método), si el modelo del //auto es menor a "2000", la velocidad sera 20 asteriscos presentados en pantalla , su velocidad //máxima sera 120 km/h, y su aceleración será desconocida. Si el modelo del auto es mayor del 2000, //su velocidad sera 50 asteriscos,  velocidad máxima 300 km/h y su aceleración 10 km/s.
//Realice un programa que ingrese los datos salga especificación y salga del programa pulsando la //tecla 0 - otro numero para seguir.


class coche{
 public:
string matricula, marca;
int modelo, numerop;
    public:
     coche(){
  }
coche(string matricula1, string marca1, int modelo1, int numerop1){
 matricula=matricula1;
 marca=marca1;
 modelo=modelo1;
 numerop=numerop1;
}

void Velocidad(){
if(modelo<2000){
    for(int i=0;i<=20;i++){
      cout<<"*";
 }
}
else {
 for(int i=0;i<=50;i++){
    cout<<"*";
 }
}

}
void Velocidadmax(){
  if(modelo<2000)
    cout<<endl<<"Su velocidad maxima es: 120 km/h"<<endl;
  else
  cout<<endl<<"su velocidad maxima es: 300 km/h"<<endl;
}
void Aceleracion(){
  if(modelo<2000)
    cout<<"Velocidad desconocida"<<endl;
    else
     cout<<"Velocidad de aceleracion es:10 km/s"<<endl;
}

 void imprimir(){
  cout<<"Ingrese matricula"<<endl;
  cin>>matricula;
  cout<<"Ingrese marca"<<endl;
  cin>>marca;
  cout<<"Ingrese modelo"<<endl;
  cin>>modelo;
  cout<<"Ingrese numero de puertas"<<endl;
  cin>>numerop;
 }

};

main(){
int c;
coche a1;
do{
a1.imprimir();
a1.Velocidad();
a1.Velocidadmax();
a1.Aceleracion();
cout<<"Ingrese 1 para volver a introducir datos, otro numero para cerrar"<<endl;
cin>>c;
}while(c==1);
getch();
}





domingo, 14 de enero de 2018

QUÉ ES LA HERENCIA? (SIMPLE Y MÚLTIPLE)


HERENCIA SIMPLE Y MÚLTIPLE





La Herencia. Es la capacidad de compartir atributos y métodos entre clases. Es la propiedad que permite definir nuevas clases usando como base clases ya existentes. La nueva clase (clase derivada) hereda los atributos y comportamiento que son específicos de ella.


HERENCIA MÚLTIPLE

En el tipo de herencia múltiple se van a usar dos o más clases base para derivar una clase. Osea, la clase derivada comparte los atributos y los métodos de más de una clase 



Resultado de imagen para herencia multiple



MIRA ESTE VIDEO, TE AYUDARÁ A COMPRENDER MEJOR EL TEMA ----CLIC AQUÍ-----


HERENCIA SIMPLE

Mientras sólo se tenga una clase base de la cual hereda la clase derivada, se dice que hay herencia simple. Sin embargo, la herencia simple no excluye la posibilidad de que de una misma clase base se pueda derivar más de una subclase o clase derivada.


Resultado de imagen para herencia simple




EJERCICIO

EJERCICIO DATOS PERSONALES  

#include <iostream>
#include <conio.h>
#include <stdio.h>
using namespace std;

/*
Realice una clase llamada datos personales, que contenga 3 datos: nombre, edad y estado civil.
Realice un programa que contenga un constructor por defecto que incialice los valores "xxx" para nombre, "- 1" para edad y "desconocido" para estado civil.  
*/

class DatosPersonales{
 private:
  string nombre, estadocivil;
  int edad;
 public:
 
  DatosPersonales(){
  edad = -1;
  nombre = "x x x";
  estadocivil = "Desconocido";
  }
 
  void GetDatos()
  {
  cout << nombre << endl;
  cout << edad << endl;
  cout << estadocivil;
  }
};
main()
{
 
DatosPersonales p1;
p1.GetDatos();

getch();
}






Método Constructor

QUÉ ES LA SINTAXIS?

Un programa en C++ es una secuencia de caracteres que se agrupan en componentes léxicos (tokens)que comprenden el vocabulario básico del lenguaje.Estos componentes de léxico son: palabras reservadas, identificadores, constantes, operadores y signos de puntuación.


QUÉ ES UN MÉTODO CONSTRUCTOR?

Los constructores son funciones miembro especiales que sirven para inicializar un objeto de una determinada clase al mismo tiempo que se declara. ... Tienen el mismo nombre que la clase a la que pertenecen. No tienen tipo de retorno, y por lo tanto no retornan ningún valor. No pueden ser heredados.


EJERCICIO



MIRA ESTE VIDEO PARA MAYOR ENTENDIMIENTO -----CLIC AQUÍ---- 

#include <iostream>
#include <cstdlib>
using namespace std;
class aplicacion{
//Metodo constructor

public:
    aplicacion();


};

aplicacion::aplicacion(){

cout << " ************* " << endl;
cout << " *           * " << endl;
cout << " *           * " << endl;
cout << " ************* " << endl;
cout << " *   9 8 7   * " << endl;
cout << " *   6 5 4   * " << endl;
cout << " *   3 2 1   * " << endl;
cout << " *     0     * " << endl;
cout << " ************* " << endl;


}

main(){


aplicacion calculara;






system("pause");


}

El Encapsulamiento


¿Qué es encapsulamiento? Se denomina encapsulamiento a la protección que se da sobre los atributos a modificaciones del exterior.





En este caso nos damos cuenta como el programa se vuelve seguro, ya que al declarar a los  atributos “edad” y “nombre” como privado no podrán ser modificado por un valor inválido o negativo.

sábado, 6 de enero de 2018

EJERCICIO VEHÍCULOS

Vamos a realizar un ejercicio con la utilización de clases el cual nos dice que:


Realizar una clase llamada vehículo que contenga los atributos (nombre, velocidad en km/h, numero de pasajeros), la clase debe contener los siguiente métodos: acelerar, frenar y datos; en acelerar se debe realizar un contador del 1 al 1000, en frenar, un mensaje que diga frenar, y en datos se debe solicitar los datos del vehiculo al usuario.En el método acelerar o frenar, para acelerar se debe pulsar 1 y para frenar 0. Para salir se debe pulsar cualquier tecla, el programa debe solicitar los datos y que quiere hacer, si acelerar, frenar o salir.


#include <stdio.h>
#include <conio.h>
#include <iostream>
using namespace std;
  /*
     Realizar una clase llamada vehículo que contenga los atributos
     (nombre, velocidad en km/h, numero de pasajeros), la clase debe
     contener los siguiente métodos: acelerar, frenar y datos; en 
     acelerar se debe realizar un contador del 1 al 1000, en frenar, 
     un mensaje que diga frenar, y en datos se debe solicitar los 
     datos del vehiculo al usuario.En el método acelerar o frenar, 
     para acelerar se debe pulsar 1 y para frenar 0. Para salir se 
     debe pulsar cualquier tecla, el programa debe solicitar los datos 
      y que quiere hacer, si acelerar, frenar o salir.
*/

class vehiculo
{
   public:
        int vel, pas, num, i;
   public:
        void acelerar()
             {
                  for(int a=1; a<=1000; a++)
                    {
                          cout<<endl<<a;
                    }
             }
  public:
      void frenar()
            {
                   cout<<endl<<"FRENAR";
  
            }
 public:
       void datos()
         {
                cout<<"Ingrese el numero correspondiente: 1. Moto o 2. Avion"<<endl;
                cin>>num;
                cout<<"Ingrese la velocidad en km/h"<<endl;
                cin>>vel;
                cout<<"Ingrese el numero de pasajeros"<<endl>
                cin>>pas;
                cout<<"Ingrese 1 si quiere acelerar, 0 si quiere frenar, y cualquier tecla para salir"<<endl;
                cin>>i;
                           
               if(i==1)
                  acelerar();
              else
              if(i==0)
                  frenar();
              else
                  cout<<"A escogido salir"; 
         }
};

main()
  {
        vehiculo transporte;
        transporte.datos();
         getch();
  } 




EJERCICIO ANIMALES

Vamos a realizar un ejercicio con la utilización de clases el cual nos dice que:

/*
Realizar una clase que se llame "mamiferos", la cual
de tener 1 atributo que va a contener un numero.
Además debe tener un metodo que se llame "sonido".
Realizar un programa que solicite un número del 1 al 3
(1 sera gato, 2 sera vaca y 3 sera perro).
El programa debe decir el nombre del animal y el sonido que hace por medio
del metodo y atributo indicado anteriormente.
*/

PROGRAMA REALIZADO :



#include <iostream>
#include <conio.h>
using namespace std;

/*
Realizar una clase que se llame "mamiferos", la cual
de tener 1 atributo que va a contener el nombre de un
animal. Además debe tener un metodo que se llame "sonido".
Realizar un programa que solicite un número del 1 al 3
(1 sera gato, 2 sera vaca y 3 sera perro.
El programa debe decir el nombre del animal y el sonido que hace por medio
del metodo y atributo indicado anteriormente.

*/

   class Mamiferos{
       public:
          int nom;
       public:
          void sonido()
          {
                   if (nom==1)
                       {
                           cout<<endl<<"Animal: Gato";
                           cout<<endl<<"Sonido: Miau";
                       }
                  else
                  if(nom==2)
                      {
                         cout<<endl<<"Animal: Vaca";
                         cout<<endl<<"Sonido: Muuu";
                      }
                  else
                     {
                         cout<<endl<<"Animal: Perro";
                         cout<<endl<<"Sonido: Guau";
                      }
         }
               
                            };

main()

{
   Mamiferos a1;
   cout<<"Ingrese un numero 1 , 2 o 3"<<endl;
   cin>>a1.nom;
   a1.sonido();
   getch( );
}




Términos principales - Programación orientada a objetos





Términos principales -  Programación orientada a objetos

Resultado de imagen para atributos en c


- Instanciar = crear  "objeto".    --- VIDEO PARA MEJOR COMPRENSIÓN  CLIC AQUÍ ---



- Atributos = "declaración de variable". -- VIDEO PARA MEJOR COMPRENSIÓN  CLIC AQUÍ --



- Métodos = "funciones" que hacen posible
 el correcto                                               -- VIDEO PARA MEJOR COMPRENSIÓN  CLIC AQUÍ --
funcionamiento del programa.



- Ahora en vez de utilizar "printf" y "scanf", ahora, se utilizara "cout" y "cin" que son los comandos utilizados en POO.


Aquí tienes un programa que realizamos con el fin de  aplicar los conocimientos adquiridos:

#include <iostream>
#include <conio.h>

/*
REALIZAR UN PROGRAMA CON LA UTILIZACION DE CLASES,
QUE INGRESE LA EDAD DEL USUARIO
E IMPRIMA LA MISMA EN PANTALLA.

*/
using namespace std;

class Persona {
    public: 
            int edad;
            char nom[10];
    public:
            void imprimir( ){
            cout<<edad;
                                      }
                        };

main( )  {

   Persona alumno;
   cout<<" Ingresa la edad:";
   cin>>alumno.edad;
   alumno.imprimir( );
   getch( );
            
               }










POO TÉRMINOS NUEVOS

PROGRAMACIÓN ORIENTADA A OBJETOS



Para empezar en Programación Orientada a objetos  investigamos sobre los nuevos términos que se usarán en programación orientada a objetos, con el fin de implementar nuevos conceptos en nuestra mente y entender fácilmente los nuevos temas a tratar.



1.- ¿Qué es una clase?  Cada clase es un modelo que define un conjunto de variables “el estado”, y métodos apropiados para operar con dichos datos “el comportamiento”. Cada objeto creado a partir de la clase se denomina instancia de la clase. Se asemeja a una “plantilla”, la cual se usará luego para crear más objetos.

2.- ¿Qué es un atributo? Los atributos son las características individuales que diferencian un objeto de otro y determinan su apariencia, estado u otras cualidades. Los atributos se guardan en variables denominadas de instancia, y cada objeto particular puede tener valores distintos para estas variables.

3.- ¿Qué es método? El comportamiento de los objetos de una clase se implementa mediante funciones miembro o métodos. Un método es un conjunto de instrucciones que realizan una determinada tarea y son similares a las funciones de los lenguajes estructurados.

4.- ¿Qué es abstracción? Una clase abstracta es aquella sobre la que no podemos crear especímenes concretos, en la jerga de POO es aquella sobre la que no podemos instanciar objetos.

5.- ¿Qué es instanciar? Consiste en usar en el main, la clase o plantilla del tipo de hayamos creado, la cual la utilizamos, por medio de una variable objeto, para darle características y funciones propias al mismo.

6.- ¿Qué es public? Se refiere a la palabra reservada “public” de los miembros de una clase, los cuales, si son públicos, son accesibles desde cualquier parte donde sea accesible el propio objeto.

7.- ¿Qué es private? Se refiere a la palabra reservada “private” de los miembros de una clase, los cuales, si son privados, son accesibles por los propios miembros de la clase y en genral por objetos de la misma clase, pero no desde funciones externas o desde funciones de clases derivadas.

8.- ¿Qué es polimorfismo? El polimorfismo se refiere a la propiedad por la que es posible enviar mensajes sintácticamente iguales a objetos de tipos distintos. El único requisito que deben cumplir los objetos que se utilizan de manera polimórfica es saber responder al mensaje que se les envía.

9.- ¿Qué es encapsulamiento? Se denomina encapsulamiento al ocultamiento del estado, es decir, de los datos miembro de un objeto de manera que solo se pueda cambiar mediante las operaciones definidas para ese objeto.

10.- ¿Qué es herencia? Herencia es la habilidad de extender una funcionalidad existente definiendo una nueva clase que hereda funcionalidad de una clase existente.

- NETGRAFÍA:



Trabajo grupal

TRABAJO GRUPAL FUNCIÓN STRUCT

Junto a mi grupo realizamos la exposición del trabajo con la ayuda de cartulinas explicando el tema de la "Función Struct"

1. Struct: Es la palabra reservada y contiene los tipos de datos.

2. Nombre_estructura: Se puede poner cualquier nombre.

3.  {  }  Las llaves : Son los signos que abren y cierran la estructura.




4.  Miembros: Se coloca cualquier tipo de dato: int, float, double, char, etc.


Resultado de imagen para tipos de datos en c



5. Main(): En la exposición se aclaró que toda estructura debe ir antes del main, en caso contrario no funcionaría.


Resultado de imagen para main en c


EJERCICIO

#include <stdio.h> #include <conio.h> #include <iostream> using namespace std; //Realizar un programa que imprima lo...