3. Indicar la salida por pantalla (2 puntos-10 minutos)

Tamaño: px
Comenzar la demostración a partir de la página:

Download "3. Indicar la salida por pantalla (2 puntos-10 minutos)"

Transcripción

1 APELLIDOS NOMBRE Nº Mat. UNIVERSIDAD POLITÉCNICA DE MADRID ESCUELA UNIVERSITARIA DE INGENIERÍA TÉCNICA INDUSTRIAL Departamento El.A.I. ASIGNATURA INFORMÁTICA INDUSTRIAL Calificación CURSO 2º GRUPO Junio Indicar la salida por pantalla (2 puntos-10 minutos) #include <iostream.h> class ClaseA protected: int a; ClaseA(int n):a(n) void mostrar()cout<<a<<endl; class ClaseB:public ClaseA int b; ClaseB(int n, int m):b(n),clasea(m) void mostrar()cout<<a<<, <<b<<endl; ; void main() ClaseA ca(2); ClaseB cb(8,4); ca.mostrar(); cb.mostrar(); ca=cb; ca.mostrar(); cb.mostrar(); ClaseA *c1=new ClaseA(1); ClaseB *c2=new ClaseB(2,3); ClaseA *c3=c1,*c4=c2; c3->mostrar(); c4->mostrar(); ClaseB *c5; c5 = static_cast<claseb *>(c4); c5->mostrar(); delete c1; delete c2; Impresión por pantalla

2

3 APELLIDOS NOMBRE Nº Mat. UNIVERSIDAD POLITÉCNICA DE MADRID ESCUELA UNIVERSITARIA DE INGENIERÍA TÉCNICA INDUSTRIAL Departamento El.A.I. ASIGNATURA INFORMÁTICA INDUSTRIAL Calificación CURSO 2º GRUPO Junio Ejercicio de programación (2,5 puntos-50 minutos) Se desea realizar un programa que permita trabajar con polinomios de una variable. Un polinomio de una variable se define como una e suma de términos, cada uno de los cuales tiene la forma Cx, donde C es un coeficiente real, x es la incógnita y e un exponente entero. Tras el análisis del problema se ha determinado que el modelo de clases estará formado por una clase Término y una clase Polinomio cuya declaración es la siguiente: Polinomio.h #pragma once #define MAX_TERMINOS 10 #include "Termino.h" #include <iostream> #include <math.h> using namespace std; class Polinomio private: Termino terminos[max_terminos]; Polinomio(void); virtual ~Polinomio(void); void add (Termino &t); void mostrar (void); Termino &operator[](int); Polinomio operator+(polinomio &p); float operator() (float x); #pragma once Termino.h class Termino private: float coeficiente; int exponente; Termino(float c=0.0,int e=0); virtual ~Termino(void); int getexponente(void); float getcoeficiente (void); float operator+(termino t); Teniendo en cuenta que un polinomio se crea inicialmente sin términos y luego se van añadiendo con el método add. Por ejemplo, el polinomio (2.5x 2 + 6) se creará mediante esta secuencia de instrucciones: Polinomio p; p.add(termino(2.5,2)); p.add(termino(6,0)); El método mostrar imprime el polinomio, comenzando por el término de mayor exponente: A n x n + A n-1 x n-1 + A 1 x + A 0 El operador paréntesis evalua el polinomio para un valor dado de la incógnita. Se pide: (a) Proponga el código correspondiente al constructor de la clase Termino. (b) Defina los métodos get de la clase Termino. (c) Sobrecargue el operador suma para que devuelva la suma de dos términos (si tienen exponente distinto devuelve cero). (d) Implemento el método add para establecer los términos del polinomio. Para simplificar ubique cada término en la posición que indique su exponente. (e) Sobrecargue el operador [] para que devuelva el término que ocupa la posición del índice. (f) Sobrecargue el operador + para implementar la suma de polinomios. (g) Sobrecargue el operador () para que evalue el polinomio para un valor (h) Implemente el método mostrar de la clase Polinomio La puntuación del ejercicio irá no sólo en funcion del resultado, sino de la correcta programación usando las herramientas propias de la POO.

4 a) b) c) d) e) f) g) h) Termino::Termino(float c,int e) coeficiente = c; exponente = e; int Termino::getExponente (void) return exponente; float Termino::getCoeficiente(void) return coeficiente; float Termino::operator +(Termino t) if (exponente==t.exponente) return coeficiente+t.coeficiente; else return 0.0; void Polinomio::add(Termino &t) terminos[t.getexponente()]=t; Termino & Polinomio::operator [] (int n) return terminos [n]; Polinomio Polinomio::operator +(Polinomio &q) Polinomio s; for (int i=max_terminos-1;i>=0;i--) s[i]=terminos[i]+q[i]; return s; float Polinomio::operator() (float x) float resultado=0.0; for (int i=max_terminos-1;i>=0;i--) if (terminos[i].getcoeficiente()!=0.0) resultado+=(terminos[i].getcoeficiente()*pow(x,i)); return resultado; void Polinomio::mostrar(void) int i; cout <<endl; for (i=max_terminos-1;i>=0;i--)

5 APELLIDOS NOMBRE Nº Mat. UNIVERSIDAD POLITÉCNICA DE MADRID ESCUELA UNIVERSITARIA DE INGENIERÍA TÉCNICA INDUSTRIAL Departamento El.A.I. ASIGNATURA INFORMÁTICA INDUSTRIAL Calificación CURSO 2º GRUPO Junio 2013 if (terminos[i].getcoeficiente()!=0.0) cout <<terminos[i].getcoeficiente(); if (i!=0) cout <<"X"<< i<<"+"; cout<<endl; Programa principal de ejemplo (no se pide en el examen) #include "stdafx.h" #include "Polinomio.h" #include <iostream> using namespace std; int _tmain(int argc, _TCHAR* argv[]) int i; Polinomio p,q,s; p.add(termino(2.5,2)); p.add(termino(6,0)); p.mostrar(); q.add(termino(1.5,2)); q.add(termino(5,1)); q.add(termino(3,0)); q.mostrar(); s=p+q; s.mostrar(); cout<< "s(2)="<<s(2)<<endl; cin>>i; return 0;

6

7 APELLIDOS NOMBRE Nº Mat. UNIVERSIDAD POLITÉCNICA DE MADRID ESCUELA UNIVERSITARIA DE INGENIERÍA TÉCNICA INDUSTRIAL Departamento El.A.I. ASIGNATURA INFORMÁTICA INDUSTRIAL Calificación CURSO 2º GRUPO Junio Problema de Análisis y Diseño Orientado a Objetos (2.5 puntos - 50 minutos) Se desea hacer una aplicación que simule la interacción entre un número indefinido de esferas dentro de una caja cerrada y que tiene barreras. Para su implementación se hace uso de las GLUT y de la filosofía empleada en las prácticas de la asignatura. Se pide: 1. Principales características: jerarquía a dos niveles. 2. Lista de conceptos y asociaciones. Represente el modelo del dominio. 3. Diagrama de Clases de Diseño indicando los patrones empleados. 4. Diagrama de secuencia del servicio Mueve(t: float) : void. 5. Vista de gestión 6. Implementación de los ficheros de cabecera, en C++, de la solución. SOLUCION: 1. El sistema debe de simular la interacción entre una lista de esferas contra las paredes y las barreras Las esferas tienen velocidades y aceleraciones aleatorias. 1.1 El sistema debe determinar la colisión entre cualquier esfera y las paredes o barreras, cambiando la velocidad de las esferas que chocan. 1.2 El sistema debe determinar el choque entre las esferas

8

9 APELLIDOS NOMBRE Nº Mat. UNIVERSIDAD POLITÉCNICA DE MADRID ESCUELA UNIVERSITARIA DE INGENIERÍA TÉCNICA INDUSTRIAL Departamento El.A.I. ASIGNATURA INFORMÁTICA INDUSTRIAL Calificación CURSO 2º GRUPO Junio 2013 #ifndef _VECTOR2D_ #define _VECTOR2D_ class Vector2D float x; float y; Vector2D(float xv=0.0f,float yv=0.0f); virtual ~Vector2D(); float modulo(); float argumento(); Vector2D Unitario(); Vector2D operator - (Vector2D &); Vector2D operator + (Vector2D &); float operator *(Vector2D &) Vector2D operator *(float); ///////////////////////////////////////////// // #ifndef _OBJETOMOVIL_ #define _OBJETOMOVIL_ #include "comun/vector2d.h" class ObjetoMovil ObjetoMovil(); virtual ~ObjetoMovil(); virtual void Mueve(float t); Vector2D GetPos(); void SetVel(float vx, float vy); void SetVel(Vector2D vel); virtual void SetPos(float x,float y); void SetPos(Vector2D pos); protected: Vector2D posicion; Vector2D velocidad; Vector2D aceleracion; ///////////////////////////////////////////// #ifndef _ESFERA_ #define _ESFERA_ #include "ObjetoMovil.h" class Esfera :public ObjetoMovil friend class Interaccion; Esfera(); Esfera(float rad, float x=0.0f, float y=0.0f, float vx=0.0f, float vy=0.0f); virtual ~Esfera(); void Dibuja(); void SetColor( unsigned char r,unsigned char v, unsigned char a); void SetRadio(float r); protected: unsigned char rojo; unsigned char verde; unsigned char azul; float radio; /////////////////////////////////////////

10 #ifndef _LISTAESFERA_ #define _LISTAESFERA_ #define MAX_ESFERAS 100 #include "Esfera.h" class ListaEsferas ListaEsferas(); virtual ~ListaEsferas(); void Mueve(float t); void Dibuja(); bool Agregar(Esfera* e); void Eliminar(Esfera* e); private: Esfera * lista[max_esferas]; int numero; //////////////////////////////////////////////// #ifndef _PARED_ #define _PARED_ #include "comun/vector2d.h" class Pared friend class Interaccion; Pared(); virtual ~Pared(); void Dibuja(); void SetColor( unsigned char r,unsigned char v, unsigned char a); void SetPos(float x1,float y1,float x2, float y2); float Distancia(Vector2D punto, Vector2D *direccion=0); private: Vector2D limite1; Vector2D limite2; unsigned char rojo; unsigned char verde; unsigned char azul; //////////////////////////////////////////// #ifndef _BARRERA_ #define _BARRERA_ #include "Pared.h" class Barrera: public Pared //////////////////////////////////////////// #ifndef _LISTABARRERA_ #define _LISTABARRERA_ #include "Barrera.h" #include <vector> using namespace std; class ListaBarreras friend class Interaccion; vector<barrera *> listabarreras; void Dibuja(); void anyadirbarrera(barrera *); virtual ~ListaBarreras(); void ListaBarreras();

11 APELLIDOS NOMBRE Nº Mat. UNIVERSIDAD POLITÉCNICA DE MADRID ESCUELA UNIVERSITARIA DE INGENIERÍA TÉCNICA INDUSTRIAL Departamento El.A.I. ASIGNATURA INFORMÁTICA INDUSTRIAL Calificación CURSO 2º GRUPO Junio 2013

12 /////////////////////////////////////////////////// #ifndef _CAJA_ #define _CAJA_ #include "Pared.h" class Caja friend class Interaccion; float Ancho(); float Alto(); Caja(); virtual ~Caja(); void Dibuja(); private: Pared suelo; Pared techo; Pared pared_izq; Pared pared_dcha; /////////////////////////////////////////////////// #ifndef _INTERACCION_ #define _INTERACCION_ #include "Caja.h" #include "Esfera.h" class Interaccion Interaccion(); virtual ~Interaccion(); static bool Rebote(Esfera&, ListaBarreras &); static void Rebote(Esfera&, Caja &); static bool Rebote(Esfera&, Esfera& ); /////////////////////////////////////////////////// #ifndef _COORDINADOR_ #define _COORDINADOR_ #include "dominio/caja.h" #include "dominio/listaesferas.h" #include "dominio/listabarreras.h" class CoordinadorDominio ListaBarrera barreras; ListaEsferas barreras; Caja caja; CoordinadorDominio(); virtual ~CoordinadorDominio(); void Mueve(); void Dibuja();

, , , Indicar la salida por pantalla (2 puntos-20 minutos) Indicar la impresión por pantalla del siguiente programa:

, , , Indicar la salida por pantalla (2 puntos-20 minutos) Indicar la impresión por pantalla del siguiente programa: 3. Indicar la salida por pantalla (2 puntos-20 minutos) Indicar la impresión por pantalla del siguiente programa: #include class ClaseA int a; ClaseA(int n):a(n) void mostrar()cout

Más detalles

Impresión por pantalla. 3. Indicar la salida por pantalla (2 puntos-20 minutos)

Impresión por pantalla. 3. Indicar la salida por pantalla (2 puntos-20 minutos) 3. Indicar la salida por pantalla (2 puntos-20 minutos) #include class EUITIelemento; class EUITIpila int num; EUITIelemento *pila[10]; EUITIpila():num(0); bool push(euitielemento *in) if(num>=10)return

Más detalles

Impresión por pantalla

Impresión por pantalla 3. Indicar la salida por pantalla (2 puntos-20 minutos) #include template void Funcion_B(S& a, S& b); template void Funcion_A (T *vector, int num); void main(void) float

Más detalles

2. Problema de Algoritmia (5 puntos - 15 minutos)

2. Problema de Algoritmia (5 puntos - 15 minutos) APELLIDOS NOMBRE Nº Mat. UNIVERSIDAD POLITÉCNICA DE MADRID ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y DISEÑO INDSUTRIAL Departamento de Ingeniería Eléctrica, Electrónica, Automática y Física Aplicada 2.

Más detalles

3.- Desarrollar las clases Pluma, Agenda y Movil escribiendo la menor cantidad de código posible sin por ello perder claridad.

3.- Desarrollar las clases Pluma, Agenda y Movil escribiendo la menor cantidad de código posible sin por ello perder claridad. 4. Ejercicio de programación Dado el siguiente programa principal: void main() Maletin mimaletin; mimaletin+=new Pluma(azul); mimaletin+=new Agenda(rojo); mimaletin+=new Movil(negro); mimaletin.mostrarcontenido();

Más detalles

3.- Resolución a) Salida por pantalla A B B says Ladra! C C says Ladra! D

3.- Resolución a) Salida por pantalla A B B says Ladra! C C says Ladra! D 3. Indicar la salida por pantalla (2 puntos-20 minutos) NOTA: La clase string es un tipo especial de contenedor diseñado para manipular secuencias de caracteres. a) #include #include

Más detalles

ASIGNATURA: SISTEMAS INFORMÁTICOS INDUSTRIALES. CURSO 4º GRUPO Octubre 2015

ASIGNATURA: SISTEMAS INFORMÁTICOS INDUSTRIALES. CURSO 4º GRUPO Octubre 2015 2. Problema de Análisis y Diseño Orientado a Objetos (10 puntos - 20 minutos) Para el código de test adjunto, se pide. 1. Diagrama de clases de diseño (2.5 puntos). 2. Implementación en C++ de la solución

Más detalles

Programación 1 Tema 2. Lenguaje de programación y ejecución de un programa

Programación 1 Tema 2. Lenguaje de programación y ejecución de un programa Programación 1 Tema 2 Lenguaje de programación y ejecución de un programa Índice Lenguaje de programación Símbolos Sintaxis Semántica Computador Ejecución de un programa Sistema operativo, entorno de programación

Más detalles

PROGRAMACIÓN ORIENTADA A OBJETOS

PROGRAMACIÓN ORIENTADA A OBJETOS PROGRAMACIÓN ORIENTADA A OBJETOS GRADO EN INGENIERÍA INFORMÁTICA SEGUNDO CURSO DEPARTAMENTO DE INFORMÁTICA Y ANÁLISIS NUMÉRICO ESCUELA POLITÉCNICA SUPERIOR UNIVERSIDAD DE CÓRDOBA CURSO ACADÉMICO: 2011

Más detalles

Guía de la asignatura de Sistemas Informáticos Industriales (ADOO)

Guía de la asignatura de Sistemas Informáticos Industriales (ADOO) Guía de la asignatura de Sistemas Informáticos Industriales (ADOO) Carlos Platero Dueñas (C-305) carlos.platero@upm.es Contenidos generales Dos partes Herramientas y Sistemas operativos (SO) (7-12) Ángel

Más detalles

Lista de Cotejo. Práctica # 21 Calculo de Volumen de Figuras Geométricas

Lista de Cotejo. Práctica # 21 Calculo de Volumen de Figuras Geométricas Lista de Cotejo Práctica # 21 Calculo de Volumen de Figuras Geométricas Nombre de la Materia: Programación Orientada a Objetos Instructor: Ing. Sergio González Pérez Plantel: Conalep Juárez I Grupo: 402

Más detalles

Algoritmos y Estructuras de Datos Ingeniería en Informática, Curso 2º SEMINARIO DE C++ Sesión 2

Algoritmos y Estructuras de Datos Ingeniería en Informática, Curso 2º SEMINARIO DE C++ Sesión 2 Algoritmos y Estructuras de Datos Ingeniería en Informática, Curso 2º SEMINARIO DE C++ Sesión 2 Contenidos: 1. Definición de clases 2. Implementación de los métodos 3. Constructores y destructores 4. Objetos

Más detalles

INFORMÁTICA INDUSTRIAL

INFORMÁTICA INDUSTRIAL INFORMÁTICA INDUSTRIAL Herencia en C++. M. Abderrahim, A. Castro, J. C. Cas3llo Departamento de Ingeniería de Sistemas y Automá3ca AGENDA Herencia Constructores de las Clases Derivadas Destructores de

Más detalles

CURSO 2º GRUPO Junio 2011

CURSO 2º GRUPO Junio 2011 APELLIDOS NOMBRE Nº Mat. UNIVERSIDAD POLITÉCNICA DE MADRID ESCUELA UNIVERSITARIA DE INGENIERÍA TÉCNICA INDUSTRIAL Departamento El.A.I. ASIGNATURA INFORMÁTICA INDUSTRIAL Calificación CURSO 2º GRUPO Junio

Más detalles

Nº Mat. Calificación APELLIDOS NOMBRE. CURSO 4º GRUPO Julio 2014 ASIGNATURA: SISTEMAS INFORMÁTICOS INDUSTRIALES

Nº Mat. Calificación APELLIDOS NOMBRE. CURSO 4º GRUPO Julio 2014 ASIGNATURA: SISTEMAS INFORMÁTICOS INDUSTRIALES APELLIDOS NOMBRE Nº Mat. UNIVERSIDAD POLITÉCNICA DE MADRID ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y DISEÑO INDSUTRIAL Departamento Electrónica, Automática e Informática Industrial 2. Problema de ADOO (10

Más detalles

Examen de prácticas de Programación 1

Examen de prácticas de Programación 1 Examen de prácticas de Programación 1 Escuela de Ingeniería y Arquitectura Departamento de Informática e Ingeniería de Sistemas 2 de septiembre de 2015 Tiempo para realizar el trabajo de programación propuesto:

Más detalles

Ejercicios De Programación De C++ Algoritmos. Lenguaje De Programación C++:

Ejercicios De Programación De C++ Algoritmos. Lenguaje De Programación C++: Ejercicios De Programación De C++ 1. Muestre en pantalla el mensaje Bienvenido. Algoritmos 1. Inicio 2. muestrer en pantalla el mensaje Bienvenido 3. Fin Lenguaje De Programación C++: #include

Más detalles

Seminario C++ Introducción a la programación orientada a objetos. Parte IV v Cristina Cachero Pedro J. Ponce de León

Seminario C++ Introducción a la programación orientada a objetos. Parte IV v Cristina Cachero Pedro J. Ponce de León Seminario C++ Introducción a la programación orientada a objetos Parte IV v. 20070918 Cristina Cachero Pedro J. Ponce de León Departamento de Lenguajes y Sistemas Informáticos Universidad de Alicante Indice

Más detalles

Taller #1 (versión del 18 de septiembre de 2009) Programación básica y aproximación al paradigma orientado a objetos

Taller #1 (versión del 18 de septiembre de 2009) Programación básica y aproximación al paradigma orientado a objetos Universidad del Valle Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación Introducción a la Programación Orientada a Objetos (750081M) Taller #1 (versión del 18 de septiembre de 2009)

Más detalles

Tema: Plantillas en C++.

Tema: Plantillas en C++. Programación II. Guía 11 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Plantillas en C++. Objetivos Específicos Conocer los tipos de plantillas Utilizar las plantillas de

Más detalles

Examen escrito de Programación 1

Examen escrito de Programación 1 Examen escrito de Programación 1 Escuela de Ingeniería y Arquitectura Departamento de Informática e Ingeniería de Sistemas 6 de septiembre de 2016 Se debe disponer sobre la mesa en lugar visible un documento

Más detalles

Programación 1 Tema 7. Desarrollo modular y descendente de programas

Programación 1 Tema 7. Desarrollo modular y descendente de programas Programación 1 Tema 7 Desarrollo modular y descendente de programas Índice Programas dirigidos por menú Diseño modular Módulos de biblioteca en C++ Programa dirigido por menú MENÚ DE OPERACIONES ===================

Más detalles

ASIGNATURA: SISTEMAS INFORMÁTICOS INDUSTRIALES. CURSO 4º GRUPO Diciembre 2013

ASIGNATURA: SISTEMAS INFORMÁTICOS INDUSTRIALES. CURSO 4º GRUPO Diciembre 2013 APELLIDOS NOMBRE Nº Mat. UNIVERSIDAD POLITÉCNICA DE MADRID ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y DISEÑO INDSUTRIAL Departamento Electrónica, Automática e Informática Industrial 2. Problema de ADOO (10

Más detalles

Programación 1 Tema 3. Información, datos, operaciones y expresiones

Programación 1 Tema 3. Información, datos, operaciones y expresiones Programación 1 Tema 3 Información, datos, operaciones y expresiones Índice Datos y tipos de datos Datos primitivos en C++ Expresiones e instrucción de asignación Datos y tipos de datos Problema información

Más detalles

Programación 1 Problemas del Composición condicional

Programación 1 Problemas del Composición condicional Programación 1 Problemas del 6-10-2016 Composición condicional Un problema Programa que indique si un año es o no bisiesto Escriba un año: 2016 El año 2016 es bisiesto Escriba un año: 2017 El año 2017

Más detalles

Programación 1. Tema I. Conceptos y elementos básicos de Programación. Lección 2. Lenguaje de programación y ejecución de un programa

Programación 1. Tema I. Conceptos y elementos básicos de Programación. Lección 2. Lenguaje de programación y ejecución de un programa Programación 1 Tema I. Conceptos y elementos básicos de Programación Lección 2. Lenguaje de programación y ejecución de un programa 1 Léxico, sintaxis y semántica de un lenguaje #include #include

Más detalles

Programación 1 Problemas 3. Composición condicional

Programación 1 Problemas 3. Composición condicional Programación 1 Problemas 3 Composición condicional Un problema Programa que indique si un año es o no bisiesto Escriba un año: 2016 El año 2016 es bisiesto Escriba un año: 2017 El año 2017 no es bisiesto

Más detalles

Introducción a C++ y Code::Blocks

Introducción a C++ y Code::Blocks Introducción a C++ y Práctica Imperativo Clase 1 Luis Agustín Nieto Departamento de Computación, FCEyN,Universidad de Buenos Aires. 28 de mayo de 2010 Menu de esta Tarde Funcional Vs. Imperativo (Intérprete

Más detalles

Programación 1 Tema 5. Instrucciones simples y estructuradas

Programación 1 Tema 5. Instrucciones simples y estructuradas Programación 1 Tema 5 Instrucciones simples y estructuradas Índice Instrucciones simples Instrucciones estructuradas Instrucción ::= Instrucciones.

Más detalles

Tema: Funciones Virtuales y Polimorfismo.

Tema: Funciones Virtuales y Polimorfismo. Programación II. Guía No. 10 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Funciones Virtuales y Polimorfismo. Objetivos Comprender que es ligadura e identificar sus tipos.

Más detalles

Tema: Funciones Virtuales y Polimorfismo.

Tema: Funciones Virtuales y Polimorfismo. Programación II. Guía 10 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Funciones Virtuales y Polimorfismo. Objetivos Específicos Comprender que es ligadura e identificar

Más detalles

Examen escrito de Programación 1

Examen escrito de Programación 1 Examen escrito de Programación 1 Escuela de Ingeniería y Arquitectura Departamento de Informática e Ingeniería de Sistemas 7 de septiembre de 2017 Se debe disponer sobre la mesa en lugar visible un documento

Más detalles

2. Problema de Algoritmia (5 puntos - 15 minutos)

2. Problema de Algoritmia (5 puntos - 15 minutos) 2. Problema de Algoritmia (5 puntos - 15 minutos). long long int sucesion(int n){ if(n==0) return 1; if(n==1) return 2; long long int r1=sucesion(n-1); long long int r2=sucesion(n-2); return 2*r1-3*r2;

Más detalles

ELO329: Diseño y Programación Orientados a Objetos Segundo Certamen

ELO329: Diseño y Programación Orientados a Objetos Segundo Certamen Segundo Certamen Primera Parte (Sin Apuntes, 30 minutos, 1/3 puntaje): (5 pts cada una, el total se multiplica por 34/40) 1. Cuál es la relación entre clases protegidas, privadas y el calificador Friend?

Más detalles

Funciones: Pasos por Referencia Recursividad

Funciones: Pasos por Referencia Recursividad Funciones: Pasos por Referencia Recursividad Fundamentos de Programación Fundamentos de Programación I Parámetros por referencia Con la instrucción return sólo se puede devolver un valor calculado. A veces

Más detalles

2. Problema de Análisis y Diseño Orientado a Objetos (4 puntos - 25 minutos)

2. Problema de Análisis y Diseño Orientado a Objetos (4 puntos - 25 minutos) APELLIDOS NOMBRE Nº Mat. UNIVERSIDAD POLITÉCNICA DE MADRID ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y DISEÑO INDSUTRIAL Departamento Electrónica, Automática e Informática Industrial ASIGNATURA: SISTEMAS

Más detalles

Tema: Sobrecarga de Operadores Unarios. Sobrecarga de Funciones.

Tema: Sobrecarga de Operadores Unarios. Sobrecarga de Funciones. Programación II. Guía 8 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Sobrecarga de Operadores Unarios. Sobrecarga de Funciones. Objetivos Diferenciar sobrecarga de operadores

Más detalles

Tipos de datos y operadores en C++

Tipos de datos y operadores en C++ Tipos de datos y operadores en C++ El tipo de dato determina la naturaleza del valor que puede tomar una variable. Un tipo de dato define un dominio de valores y las operaciones que se pueden realizar

Más detalles

Fundamentos de la programación

Fundamentos de la programación Fundamentos de la programación 4A Grado en Ingeniería Informática Grado en Ingeniería del Software Grado en Ingeniería de Computadores Facultad de Informática Universidad Complutense Archivos como parámetros

Más detalles

Programación 1. Tema II. Diseño de los primeros programas. Lección 4. Diseño de algunos programas elementales

Programación 1. Tema II. Diseño de los primeros programas. Lección 4. Diseño de algunos programas elementales Programación 1 Tema II. Diseño de los primeros programas Lección 4. Diseño de algunos programas elementales 1 Objetivos de la lección: Aprender, paso a paso, una metodología de programación descendente

Más detalles

Examen Junio- Grupo B Lunes 17 de Junio - Programación en C++ Pág. 1

Examen Junio- Grupo B Lunes 17 de Junio - Programación en C++ Pág. 1 Examen Junio- Grupo B Lunes 17 de Junio - Programación en C++ Pág. 1 ÍNDICE ÍNDICE... 1 1.1 Ejercicio 1: Empresa Videojuegos (3.5 ptos.)... 1 1.2 Ejercicio 2: Clase Rectangulo (1.0 pto.)... 3 1.3 Ejercicio

Más detalles

POO PROGRAMACIÓN ORIENTADA A OBJETOS

POO PROGRAMACIÓN ORIENTADA A OBJETOS POO PROGRAMACIÓN ORIENTADA A OBJETOS 1 Programación estructurada, consiste en descomponer el problema objeto de resolución en subproblemas y más subproblemas hasta llegar a acciones muy simples y fáciles

Más detalles

UML dinámico y de implementación. (C-305)

UML dinámico y de implementación. (C-305) UML dinámico y de implementación carlos.platero@upm.es (C-305) UML dinámico Vistas de UML Estructural, Dinámico, Implementación Dinámico o de evolución temporal Diagramas de Interacción (Secuencia, Colaboración),

Más detalles

Programación orientada a objetos I

Programación orientada a objetos I Introducción Programación orientada a objetos I Curso INEM. Programación en C++ Santiago Muelas Pascual smuelas@fi.upm.es Qué es la POO? Un paradigma de programación Un paradigma es una forma de afrontar

Más detalles

Programación 1. Tema II. Diseño de programas elementales. Lección 7. Diseño modular y descendente de programas

Programación 1. Tema II. Diseño de programas elementales. Lección 7. Diseño modular y descendente de programas Programación 1 Tema II. Diseño de programas elementales Lección 7. Diseño modular y descendente de programas 1 Objetivos de la lección : En esta lección se aprende: a dotar a un programa C++ de una estructura

Más detalles

Informática Industrial I

Informática Industrial I Informática Industrial I Grado en Ingeniería en Electrónica Industrial y Automática Álvaro Castro González Nicolas Burus Mohamed Abderrahim José Carlos Castillo Montoya Práctica 6 Plantillas A lo largo

Más detalles

Programación 1 Tema 5. Instrucciones simples y estructuradas

Programación 1 Tema 5. Instrucciones simples y estructuradas Programación 1 Tema 5 Instrucciones simples y estructuradas Índice Instrucciones simples Instrucciones estructuradas 2 Instrucción ::= 3 Instrucciones.

Más detalles

ASIGNATURA: SISTEMAS INFORMÁTICOS INDUSTRIALES. CURSO 4º GRUPO Julio 2015

ASIGNATURA: SISTEMAS INFORMÁTICOS INDUSTRIALES. CURSO 4º GRUPO Julio 2015 2. Problema de Algoritmia (5 puntos - 20 minutos) En una planificación de un proyecto se dispone de la secuencia de 10 tareas T i ordenadas parcialmente que aparece a continuación, y se necesita encontrar

Más detalles

3. Indicar la salida por pantalla del último for de la función main dado el siguiente código c++: (2 puntos-20 minutos)

3. Indicar la salida por pantalla del último for de la función main dado el siguiente código c++: (2 puntos-20 minutos) 3. Indicar la salida por pantalla del último for de la función main dado el siguiente código c++: (2 puntos-20 minutos) #define MAX 10 class ListaD int num; int lista[max]; ListaD(void):num(0)lista[0]=1;

Más detalles

Clases, Objetos y Métodos (II)

Clases, Objetos y Métodos (II) Clases, Objetos y Métodos (II) Pablo San Segundo (C-206) pablo.sansegundo@upm.es Índice Introducción al concepto de clase Elementos de una clase Implementación: declaración y definición Permisos y encapsulamiento

Más detalles

3. Indicar la salida por pantalla (2 puntos-15 minutos)

3. Indicar la salida por pantalla (2 puntos-15 minutos) 3. Indicar la salida por pantalla (2 puntos-15 minutos) #include class Tiempo Tiempo ():hora(0), minuto(0) cout

Más detalles

INTRODUCCIÓN A LA POO EN C++

INTRODUCCIÓN A LA POO EN C++ INTRODUCCIÓN A LA POO EN C++ ÍNDICE DEL TEMA 1.- Introducción 2.- Diferencias C/C++ 3.- Programación orientada a objetos 4.- Aspectos avanzados C++ 1 1. Introducción Lenguaje C Lenguaje de propósito general

Más detalles

Macros LENGUAJE DE PROGRAMACIÓN ESTRUCTURADO

Macros LENGUAJE DE PROGRAMACIÓN ESTRUCTURADO Macros LENGUAJE DE PROGRAMACIÓN ESTRUCTURADO Macros tipo objeto #define IDENTIFICADOR VALOR Permiten definir identificadores que son automáticamente reemplazados por un fragmento de código. Son especialmente

Más detalles

Algoritmos y Estructuras de Datos Ingeniería en Informática, Curso 2º SEMINARIO DE C++ Sesión 1

Algoritmos y Estructuras de Datos Ingeniería en Informática, Curso 2º SEMINARIO DE C++ Sesión 1 Algoritmos y Estructuras de Datos Ingeniería en Informática, Curso 2º SEMINARIO DE C++ Sesión 1 Contenidos: 1. Características generales de C++ 2. Entrada/salida estándar 3. Variables y tipos de datos

Más detalles

Tema: Arreglos de Objetos en C++.

Tema: Arreglos de Objetos en C++. Programación II. Guía 5 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Arreglos de Objetos en C++. Objetivos Específicos Describir la implementación de arreglos de Objetos.

Más detalles

Métodos de Ordenamiento

Métodos de Ordenamiento Métodos de Ordenamiento Muchas veces es necesario además de buscar elementos dentro de en un vector, ordenarlos. El ordenamiento puede ser de mayor a menor si se están manejando números y en orden alfabético

Más detalles

Tema: Punteros a Objetos. Puntero this.

Tema: Punteros a Objetos. Puntero this. Programación II. Guía 6 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Punteros a Objetos. Puntero this. Objetivos Manejar objetos por medio de punteros. Utilizar el puntero

Más detalles

Sobrecarga de Operadores II

Sobrecarga de Operadores II D é c i m o q u i n t a S e s i ó n Metodologías y Técnicas de Programación II Programación Orientada a Objeto (POO) C++ Sobrecarga de Operadores II 1 Sobrecarga de operadores unitarios (o unarios) Son

Más detalles

Plantillas (Templates)

Plantillas (Templates) Programación Orientada o Objetos Plantillas (Templates) Univesidad de Los Andes - Facultad de Ingeniería Escuela de Sistemas Programación Digital II Profesor: Gilberto Diaz gilberto@ula.ve Plantillas Los

Más detalles

Fundamentos de la programación

Fundamentos de la programación Fundamentos de la programación 3E Grado en Ingeniería Informática Grado en Ingeniería del Software Grado en Ingeniería de Computadores Facultad de Informática Universidad Complutense Recorridos 404 Un

Más detalles

Fundamentos de la programación

Fundamentos de la programación Fundamentos de la programación 2 Grado en Ingeniería Electrónica y Comunicaciones Pilar Sancho Thomas Luis Hernández Yáñez Facultad de Informática Universidad Complutense Fundamentos de la programación:

Más detalles

Introducción 1. Fundamentos C++ //programa para imprimir texto #include <iostream>

Introducción 1. Fundamentos C++ //programa para imprimir texto #include <iostream> 1 Introducción 1 Objetivos de aprendizaje Dominando los temas del presente capitulo Usted podrá. 1. Acceder a las características importantes de C++ 2. La estructura general de un programa 3. Utilización

Más detalles

Sobre Carga de Operadores

Sobre Carga de Operadores Programación Orientada o Objetos Univesidad de Los Andes - Facultad de Ingeniería Escuela de Sistemas Programación Digital II Profesor: Gilberto Diaz gilberto@ula.ve Las operaciones tradicionales que se

Más detalles

Introducción a la Programación orientada a objetos con C++

Introducción a la Programación orientada a objetos con C++ Introducción a la Programación orientada a objetos con C++ Informática Industrial Ing. en automática y electrónica Industrial Isidro Calvo Informática Industrial 2006/07 2 Objetivos principales Exponer

Más detalles

Cátedra I Informática Autor I Carlos Bartó

Cátedra I Informática Autor I Carlos Bartó FCEFyN Departamento de Computación Informática Examen - 07-07-2008 Apellido y Nombres: Matrícula: Carrera: PROBLEMAS: 1) Especifique en el lenguaje C++ una función denominada calc_fecha() que tenga como

Más detalles

PRUEBA DE FUNDAMENTOS DE INFORMÁTICA. 1.- Qué se mostrará por pantalla tras ejecutar el código correspondiente a la función main?

PRUEBA DE FUNDAMENTOS DE INFORMÁTICA. 1.- Qué se mostrará por pantalla tras ejecutar el código correspondiente a la función main? UNIVERSIDD PONTIFICI COMILLS ESCUEL TECNIC SUPERIOR DE INGENIERI (I.C..I.) DEPRTMENTO DE SISTEMS INFORMÁTICOS TITULCIÓN: INGENIERO TÉCNICO INDUSTRIL PRUEB DE FUNDMENTOS DE INFORMÁTIC Nombre Grupo Preguntas

Más detalles

Fundamentos de programación

Fundamentos de programación Fundamentos de programación 4 Grado en Ingeniería Informática Grado en Ingeniería del Software Grado en Ingeniería de Computadores Material de la Prof.ª Versión revisada y ampliada del material del Prof.

Más detalles

DII. 1. (5 Puntos) Dada la clase Punto con la siguiente interfaz ya implementada

DII. 1. (5 Puntos) Dada la clase Punto con la siguiente interfaz ya implementada DII Asignatura: LS1158 Metodología y Técnicas de la Programación II Cuatrimestre: 2º Examen: Final Convocatoria: Ordinaria Grupo: 1T2-1T3 Curso: 2004/05 Fecha: 31/V/05 1. (5 Puntos) Dada la clase Punto

Más detalles

6. CREACIÓN Y DESTRUCCIÓN DE OBJETOS

6. CREACIÓN Y DESTRUCCIÓN DE OBJETOS Diseño y programación Orientados a Objetos. Una Visión Aplicada 111 6. CREACIÓN Y DESTRUCCIÓN DE OBJETOS Con el tema anterior se completó el marco básico de los elementos que constituyen el armazón del

Más detalles

Instituto Tecnológico de Celaya

Instituto Tecnológico de Celaya ELEMENTOS BÁSICOS DE C++: DECLARACIÓN DE VARIABLES A través de operaciones aritméticas (suma, resta, etc.) y lógicas (por ejemplo, comparaciones) los programas manipulan datos tales como números y caracteres.

Más detalles

Programación 1 Tema 4. Diseño de programas elementales

Programación 1 Tema 4. Diseño de programas elementales Programación 1 Tema 4 Diseño de programas elementales Índice Estructuración de programas Metodología de programación descendente Ámbito y vida Comunicación entre funciones Índice Estructuración de programas

Más detalles

Programación C++(3 Parte) Dr. Oldemar Rodríguez Rojas Maestría en Computación Universidad de Costa Rica

Programación C++(3 Parte) Dr. Oldemar Rodríguez Rojas Maestría en Computación Universidad de Costa Rica Programación C++(3 Parte) Dr. Oldemar Rodríguez Rojas Maestría en Computación Universidad de Costa Rica Ejemplo 2.2: Noción de "Encapsulación" en C++ La implementación ESTRUCTURADA de una pila mediante

Más detalles

Tipos de Datos Simples Contenido del Tema

Tipos de Datos Simples Contenido del Tema T E M A 3 Tipos de Datos Simples Contenido del Tema 3.1. Concepto de Tipo 3.1.1. Elementos básicos: atributos y operaciones 3.1.2. Tipos. Concepto y necesidad 3.1.3. Operadores básicos 3.2. Tipos de Datos

Más detalles

Algoritmos y Estructuras de Datos Ingeniería en Informática, Curso 2º SEMINARIO DE C++ Sesión 3

Algoritmos y Estructuras de Datos Ingeniería en Informática, Curso 2º SEMINARIO DE C++ Sesión 3 Algoritmos y Estructuras de Datos Ingeniería en Informática, Curso 2º SEMINARIO DE C++ Sesión 3 Contenidos: 1. Funciones y clases genéricas 2. Excepciones 3. Asertos 4. El puntero this 5. Redefinición

Más detalles

Examen de Fundamentos de Computadores y Lenguajes

Examen de Fundamentos de Computadores y Lenguajes Examen de Fundamentos de Computadores y Lenguajes Cuestiones (5 cuestiones, 5 puntos en total) Examen Parcial. Junio 2004 1) Se desea crear una clase para hacer cálculos sobre el movimiento de un cuerpo

Más detalles

Tema: Clases y Objetos en C++.

Tema: Clases y Objetos en C++. 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Clases y Objetos en C++. Objetivos Específicos Aplicar clases, objetos, propiedades, métodos y mensajes. Poner en práctica

Más detalles

Soluciones al Examen de Fundamentos de Computadores y Lenguajes

Soluciones al Examen de Fundamentos de Computadores y Lenguajes Soluciones al Examen de Fundamentos de Computadores y Lenguajes Cuestiones (5 cuestiones, 5 puntos en total) Examen Parcial. Junio 2004 1) Se desea crear una clase para hacer cálculos sobre el movimiento

Más detalles

INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS

INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS UNIVERSIDAD DE MÁLAGA Dpto. Lenguajes y CC. Computación E.T.S.I. Telecomunicación INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Tema 4 Programación II Programación II 0 Tema 4: INTRODUCCIÓN A LA PROGRAMACIÓN

Más detalles

Programación C++ (1 Parte) Dr. Oldemar Rodríguez Rojas Escuela De Informática Universidad Nacional

Programación C++ (1 Parte) Dr. Oldemar Rodríguez Rojas Escuela De Informática Universidad Nacional Programación C++ (1 Parte) Dr. Oldemar Rodríguez Rojas Escuela De Informática Universidad Nacional Programming Language Popularity: The TCP Index for December, 2012 La noción de clase en C++ C++ fue

Más detalles

Programación Avanzada CONCEPTOS BÁSICOS DE IMPLEMENTACIÓN EN C++

Programación Avanzada CONCEPTOS BÁSICOS DE IMPLEMENTACIÓN EN C++ Programación Avanzada CONCEPTOS BÁSICOS DE IMPLEMENTACIÓN EN C++ OBJETIVO En este documento se presentan las construcciones básicas de orientación a objetos del lenguaje de programación C++, y recomendaciones

Más detalles

Una lista de operadores que pueden o no sobrecargarse es la siguiente: Operadores que pueden sobrecargarse

Una lista de operadores que pueden o no sobrecargarse es la siguiente: Operadores que pueden sobrecargarse La sobrecarga de operadores, aunque puede ser una capacidad exótica, la mayoría de personas las usa implícita y regularmente se valen de los operadores sobrecargados. Por ejemplo, el operador de suma (+)

Más detalles

APUNTES PROII 2º PARCIAL.

APUNTES PROII 2º PARCIAL. APUNTES PROII 2º PARCIAL. MEMORIA DINÁMICA. Hay que distinguir entre: Estática: memoria que se reserva en tiempo de compilación. Dinámica: memoria que se reserva en tiempo de ejecución. 5 pasos: 1. Declaración

Más detalles

Tema: Sobrecarga de Operadores.

Tema: Sobrecarga de Operadores. Programación II. Guía 7 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Sobrecarga de Operadores. Objetivos Describir como redefinir (sobrecargar) operadores para que funcionen

Más detalles

Tema 7. Colas. José M. Badía, Begoña Martínez, Antonio Morales y José M. Badía. {badia, bmartine,

Tema 7. Colas.   José M. Badía, Begoña Martínez, Antonio Morales y José M. Badía. {badia, bmartine, Tema 7. Colas http://aulavirtual.uji.es José M. Badía, Begoña Martínez, Antonio Morales y José M. Badía {badia, bmartine, morales}@icc.uji.es Estructuras de datos y de la información Universitat Jaume

Más detalles

Prof. Dr. Paul Bustamante

Prof. Dr. Paul Bustamante Nombre: Carné: Examen C++ - Junio Informática II Fundamentos de Programación Prof. Dr. Paul Bustamante Examen Junio Grupo A Programación en C++ Pág. 2 Examen Grupo A Programación en C++ Pág. 1 ÍNDICE ÍNDICE...

Más detalles

Clases y Objetos en C++

Clases y Objetos en C++ Informática II Clases y Objetos en C++ Introducción Las variables de los tipos fundamentales de datos no son suficientes para modelar adecuadamente objetos del mundo real. alto, ancho y longitud para representar

Más detalles

Programación Orientada o Objetos

Programación Orientada o Objetos Programación Orientada o Objetos Programación digital II Escuela de Sistemas Facultad de Ingeniería Profesor: Gilberto Diaz Programación Orientada a Objetos En 1970 Dennis Ritchie y Brian Kernigan crearon

Más detalles

Prof. Dr. Paul Bustamante

Prof. Dr. Paul Bustamante Prácticas de C++ Practica Nº 6 Informática II Fundamentos de Programación Prof. Dr. Paul Bustamante Practica Nº 6 Programación en C++ Pág. 1 ÍNDICE ÍNDICE... 1 1. Introducción... 1 1.1 Ejercicio 1: Clase

Más detalles

Conceptos básicos sobre C++

Conceptos básicos sobre C++ Objetivos Generales Conceptos básicos sobre C++ El lenguaje C++ Clases Sobrecarga de funciones Sobrecarga de operadores Plantillas (templates) 1 2 El lenguaje C++ El lenguaje C++ (II) C++ es un lenguaje

Más detalles

Programación 1 Tema 3. Información, datos, operaciones y expresiones

Programación 1 Tema 3. Información, datos, operaciones y expresiones Programación 1 Tema 3 Información, datos, operaciones y expresiones Índice Datos y tipos de datos Datos primitivos en C++ Expresiones e instrucción de asignación Datos y tipos de datos Problema información

Más detalles

Escuela Politécnica Superior de Elche

Escuela Politécnica Superior de Elche EXAMEN DE SISTEMAS INFORMÁTICOS INDUSTRIALES ((SOLUCIÓN) (TEORÍA)jUJ jhshshs JUNIO 2015 1. Indicar si las siguientes afirmaciones son verdaderas o falsas: (a) En C++, cuando se destruye un objeto de una

Más detalles

Apuntes de Clases (continuación)

Apuntes de Clases (continuación) Apuntes de Clases (continuación) Plantillas: Según va aumentando la complejidad de nuestros programas y sobre todo, de los problemas a los que nos enfrentamos, descubrimos que tenemos que repetir una y

Más detalles

Estructura de datos y Programación

Estructura de datos y Programación Estructura de datos y Programación Tema: Conceptos Básicos- Estructuras de control - Arreglos Ing. Analia Méndez Ing. Raquel Zarco Año: 2012 ELEMENTOS DE UN PROGRAMA EN JAVA El programa Java consta de

Más detalles

Introducción a c++ Introducción a la programación EIS Informática III

Introducción a c++ Introducción a la programación EIS Informática III Introducción a c++ Un lenguaje de programación es un lenguaje formal diseñado para realizar procesos que pueden ser llevados a cabo por máquinas como las computadoras. Pueden usarse para crear programas

Más detalles

Programación Orientada a Objetos en C++

Programación Orientada a Objetos en C++ Programación Orientada a Objetos en C++ Jorge M. Finochietto UNC-CONICET 2010 Jorge M. Finochietto (UNC-CONICET) Programación Orientada a Objetos en C++ 2010 1 / 68 1 Introducción 2 Declaración 3 Constructores

Más detalles

Estructuras y clases. Dept. Ciencias de la Computación e I.A. Universidad de Granada

Estructuras y clases. Dept. Ciencias de la Computación e I.A. Universidad de Granada TEMA Estructuras y clases Dept. Ciencias de la Computación e I.A. Universidad de Granada ÍNDICE El tipo de datos string Operaciones usuales con strings Funciones para manipulación de strings Introducción

Más detalles

Introducción rápida a la programación (estructurada ) con C++

Introducción rápida a la programación (estructurada ) con C++ Introducción rápida a la programación (estructurada ) con C++ A B No A? Si B A Los Bloques pueden ser una línea de código o un modulo (función o subrutina) que pueden estar contenido en otro archivo de

Más detalles

Introducción a C++ Algoritmos y Estructuras de datos II Dra. Carmen Mezura Godoy. Febrero 2009

Introducción a C++ Algoritmos y Estructuras de datos II Dra. Carmen Mezura Godoy. Febrero 2009 Introducción a C++ Algoritmos y Estructuras de datos II Dra. Carmen Mezura Godoy Febrero 2009 Índice Elementos básicos Ejecución de un programa Estructuras de control Ciclos Ejercicios 2 Elementos Básicos

Más detalles

LISTAS ENLAZADAS DOBLES C++

LISTAS ENLAZADAS DOBLES C++ LISTAS ENLAZADAS DOBLES C++ fichero nodo.h #ifndef NODO_H #define NODO_H #include using namespace std; class Nodo private: int codigo; string nombre; float nota1; float nota2; float nota3; Nodo*

Más detalles