domingo, 20 de marzo de 2016


UNIDAD EDUCATIVA FISCOMISIONAL DON BOSCO



NOMBRE DEL/LA ESTUDIANTE:

ASIGNATURA:

EVALUACION PRIMER QUIMESTRE


ACTIVIDAD

RESULTADO

BRYAN NARVAEZ

Lenguaje de programación

Unidad de competencia
:

GRADO / CURSO:

2do INF

TEMA:

FECHA:

EXAMEN QUIMESTRAL

2016-02-18
 ·        Realizar el análisis y diseño detallado de aplicaciones informáticas de gestión 
 
INDICARES DE EVALUACIÓN.
 
·        Se han resuelto y presentado los ejercicios propuestos valorando la correcta elección y utilización de las estructuras; la calidad del resultado; la eficiencia del resultado; 
·        Se ha justificado la importancia de las estructuras dinámicas.
·        Se ha justificado la importancia de los punteros en la gestión de la memoria. 

1.- Determinar el valor que tendrán las variables después de cada operación de asignación (cada respuesta 0.5 puntos)       
 
struct nodo{
int dia;
int mes;
int anio;
 
}def:
 
class Foo{
    private:
       int bar;
    public:
void imp();
 };

int a=3;
int b=4;
int suma(int a, int b)
{
         int c;
         c = a + b;
         return c;
}
 
 
def.dia= Basura
Basura 
c= 7
 
 
int A;
int B;
B=12;
A=B-4;
A=B-7;
B=A+2;
         A=A*A;
 
int X;
int Y;
X=2;
Y=X+6;
X=X+X;
Y=X-5;
 
 
int HOLA;
int NO_SE;
int OTRA;
HOLA=-7;
NO_SE=12;
OTRA=HOLA + NO_SE;
NO_SE=HOLA + NO_SE;
         HOLA=NO_SE + OTRA;
 
A= 25
 
Y= -1
 
NO_SE= Error
2.- Identifique los errores del programa y corríjalos al frente de cada línea de código (2 puntos);    
  
 
#include <iostream>
#include <conio.h>
using namespace std;

   
   
  
   
  class empleado{                                 class Empleado
                                           Public:
        int edad,numdep;
        char nomb[10];
public:
        void iniciar(void);
        void entradaDatos(void);
        void salidaDatos(void);
} emp1;
int main(void){          
 Empleado emp2;
 emp1.iniciar();
 emp2.iniciar();
 emp1.entradaDatos();
 emp2.entradaDatos();
 emp1.salidaDatos();
 emp2.salidaDatos();
 getch();
 return 0;
}

   
  int Empleado::iniciar(void) {                               void Empleado::iniciar(void)
         cout >>"PROGRAMA QUE INGRESA DATOS DE EMPLEADO"<<"\n\n";
         cout<<”programa que ingresa datos de Empleado"<<"\n\n";
}
void Empleado::entradaDatos(void) {
         cout<<"INTRODUZCA los datos del empleado"<<"\n";
         cout<<"INTRODUZCA nombre:"<<"\n";
         cin>>nomb;
         cout<<"INTRODUZCA edad"<<"\n";
         cin>>edad;
         cout<<"numero de departamento"<<"\n";
         cin>>numde; 
         cin>>numdep;
}
void Empleado::salidaDatos(void) {
         cout<<nomb <<"\n";
         cout<<edad<<"\n";
         cout<<numdep<<"\n";      
 
 
} 
 
3.- definir cuál sería la estructura correcta de los siguientes enunciados (0.2 cada ítem)       
 
Crear una clase llamada juguete con dos atributos y un método imprimir () el cual imprime los atributos.
Class Juguete  {
Public:
Int precio;
Int código;
Public:
Void imprimir();
(cout <<”precio “”código”);
}
 
Enumero dos principios de P.O.O
Herencia
Polimorfismo
Encapsulamiento
 
Escriba la sintaxis de la función principal de c++
 
//Librerias
Main(){
Getch();
}
 
Represente gráficamente que es polimorfismo

   
  
   
  
   
  
   
   
    
    

hijo

hijo

hijo

Padre
 
 
 
 
 
 
 
 

Realice una clase con el principio de encapsulamiento.
Class
 Public: {
Private:
Int precio;
Int código;
Public:
Void imprimir ()
}
4.- Encierre la letra de la respuesta correcta de cada pregunta (0,2 cada una)
 
1-      ¿Cuál es la descripción que crees que define mejor el concepto 'clase' en la programación orientada a objetos?
a)      Es un concepto similar al de 'array'
b)      Es un tipo particular de variable
c)      Es un modelo o plantilla a partir de la cual creamos objetos
d)      Es una categoria de datos ordenada secuencialmente

2.      ¿Qué es una pila? (0.3pts)
a)      Una lista en la que sólo se pueden insertar y eliminar nodos en uno de sus extremos.
b)      Un puntero en la que sólo se pueden insertar y eliminar nodos en uno de los extremos.
c)      Un dato int que sólo se pueden insertar y eliminar nodos en uno de los extremos de la lista.
d)      Ninguno de los anteriores.

3.      ¿Qué es una cola? (0.3pts)
a)      Es un puntero, caracterizada por ser una secuencia de elementos FIFO.
b)      es una variable, caracterizada por ser una secuencia de elementos FIFO.
c)      es una estructura, caracterizada por ser una secuencia de elementos FIFO.
d)      Ninguna de las anteriores.

4.      ¿Defina que es una variable? (0.3pts)
a)      Puede ser un puntero.
b)      Puede ser un valor entero.
c)      Es una porción de memoria.
d)      Todas las anteriores

5.      ¿Qué elementos crees que definen a un objeto?
a)      Sus cardinalidades y su tipo
b)      Sus atributos y sus métodos
c)      La forma en que establece comunicación e intercambia mensajes 
d)      Su interfaz y los eventos asociados.

6.      ¿Qué significa instanciar una clase?
a)      Duplicar una clase
b)      Eliminar una clase
c)      Crear un objeto a partir de la clase
d)      Conectar dos clases entre sí


7.      ¿Qué es un puntero? (0.3pts)
a)      Es una matriz que hace referencia a una región de memoria.
b)      Es un valor entero que da referencia a una región de memoria
c)      Ninguna de las anteriores.
d)      Es una variable independiente de memoria que sirve para apuntar a un puntero.


8.      ¿Qué es una estructura dinámica? (0.3pts)
a)      son estructuras que cuya dimensión puede crecer o disminuir durante la creación del programa.
b)      son estructuras que cuya dimensión puede crecer o disminuir durante el diseño del programa
c)      son estructuras que cuya dimensión puede crecer o disminuir durante la ejecución del programa
d)      ninguna de las anteriores.

9.      ¿Por qué dos objetos instanciados de una clase son diferentes?
a)      Porque tienen sus propios atributos y métodos.
b)      Porque los atributos y métodos son iguales en su contenido
c)      No son diferentes son iguales.
d)      Ninguna de las anteriores

10.  ¿Cuál es la diferencia entre objeto y clase?
Ninguna porque son iguales
El objeto se declara en el main y la clase no.
La clase se utiliza para definir qué aspecto tendrán los objetos
El objeto se utiliza para definir qué aspecto tendrán la clase

5.-Realizar el siguiente ejercicio en c++ en el computador (2 Puntos resuelto completamente). El profesor designa el ejercicio a realizar.

Implementar una clase  Jugador que solicite el nombre, edad en un método solidat(), y contenga otro método impdat(), que imprima los datos solicitados con la diferencia que la edad la debe imprimir en días. Declarar un objeto llamado jug1.

Realizar una clase llamada Vehículo que contenga como atributos color, marca, modelo y que contenga un método llamado imprimir() que imprima los datos que no deben ser ingresados por teclado sino puestos dentro del código.

domingo, 24 de enero de 2016

CONSTRUCTORES
Un constructor es un método que pertenece a una clase y el cual debe tener el mismo nombre de la clase a la que pertenece.
 A diferencia de los otros métodos de la clase, un constructor deberá ser del tipo void, es decir, el mismo no regresará valor alguno.
Como característica especial a la hora de implementar un constructor, justo después de la declaración de los parámetros, se encuentra lo que se llama "lista de inicializadores". Su objetivo es llamar a los constructores de los atributos que conforman el objeto a construir.
El objetivo principal del constructor es establecer las condiciones necesarias dentro de la memoria y crear una copia del objeto mismo dentro de la memoria.
Los constructores suelen usarse para la inicialización de los atributos de los objetos instanciados. Por ejemplo, con las instrucciones:

    Suma s
    s.setA(80);
    s.setB(100);

Existen varios tipos de constructores en C++:

  • Constructor predeterminado.Es el constructor que no recibe ningún parámetro en la función. Si no se definiera ningún constructor, el sistema proporcionaría uno predeterminado. Es necesario para la construcción de estructuras y contenedores de la STL.

  • Constructor de copia. Es un constructor que recibe un objeto de la misma clase, y realiza una copia de los atributos del mismo. Al igual que el predeterminado, si no se define, el sistema proporciona uno.

  •  Constructor de conversión.Este constructor, recibe como único parámetro, un objeto o variable de otro tipo distinto al suyo propio. Es decir, convierte un objeto de un tipo determinado a otro objeto del tipo que estamos generando.




DESTRUCTORES
Un destructor es un método que pertenece a una clase y el cual debe tener el mismo nombre de la clase a la que pertenece.
A diferencia de los otros métodos de la clase, un destructor deberá ser del tipo void, es decir, el mismo no regresará valor alguno.
Para diferenciar a un método destructor de un método constructor, al nombre del destructor se le debe anteponer el caracter ~
El objetivo principal del destructor es el de retirar de la memoria al objeto, o sea, el destructor hace todo lo contrario que el constructor.
Los destructores suelen usarse para liberar memoria que haya sido solicitada por el objeto a través de las ordenes malloc(), new, etc.
En tales casos se deberá incluir dentro del método destructor la orden free, delete, etc., según sea el caso.
Los destructores son funciones miembro especiales llamadas automáticamente en la ejecución del programa, y por tanto no tienen por qué ser llamadas explícitamente por el programador. Sus principales cometidos son:
·         Liberar los recursos computacionales que el objeto de dicha clase haya adquirido en tiempo de ejecución al expirar éste.
·         Quitar los vínculos que pudiesen tener otros recursos u objetos con éste.
Los destructores son invocados automáticamente al alcanzar el flujo del programa el fin del ámbito en el que está declarado el objeto. El único caso en el que se debe invocar explícitamente al destructor de un objeto, es cuando éste fue creado mediante el operador new, es decir, que éste vive en memoria heap, y no en la pila de ejecución del programa. La invocación del destructor de un objeto que vive en heap se realiza a través del operador delete o delete [] para arrays.
Existen dos tipos de destructores pueden ser públicos o privados, según si se declaran:
  • Si es público se llama desde cualquier parte del programa para destruir el objeto.
  • Si es privado no se permite la destrucción del objeto por el usuario.



El uso de destructores es clave en el concepto de Adquirir Recursos es Inicializar.

HERENCIA