Impresión por pantalla



Documentos relacionados
Se ha desarrollado el siguiente programa principal. Se pide: arquitectura que permita una fácil extensión

CURSO 2º GRUPO Junio 2011

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

Tema: Arreglos de Objetos en C++.

Prof. Dr. Paul Bustamante

República Bolivariana de Venezuela Aldea Universitaria Liceo Fray Pedro de Agreda. Lenguaje C++ Contadores y Acumuladores

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

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

Tema: Clases y Objetos en C++.

Vectores y matrices. Fundamentos de Programación Fundamentos de Programación I

Tema: Herencia Simple y Múltiple en C++.

ELO329: Diseño y Programación Orientados a Objetos 20 de Junio de Certamen Final

CONTENIDO. Programación orientada a objetos - POO. Clases. Constructores y destructores. Definiciones. Entrada y salida

Tema: Sobrecarga de Operadores.

Programación Orientada a Objetos: Arreglos en Java

Tema: Plantillas en C++.

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

Estructura de datos tipo vector.

Capítulo 6. Introducción a la POO

Plantillas (Templates)

EXAMEN PARCIAL 23 de Octubre de 2015 Programación I. Grado en Matemáticas e Informática ETSIINF UPM

Prof. Dr. Paul Bustamante

Contenidos. Gestión dinámica de memoria. Gestión dinámica de memoria. Introducción. 1. Introducción 2. El operador NEW 3. El operador DELETE

1. Juego del Ahorcado

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

Informática FACULTAD DE FÍSICAS

MANUAL DE REFERENCIA DE C++

ESCUELA DE INGENIERÍA DE SISTEMAS DEPARTAMENTO DE COMPUTACIÓN PROGRAMACIÓN 2 PRÁCTICA DE LABORATORIO 7 Herencia y Composición en POO

El lenguaje de programación Java

Prof. Dr. Paul Bustamante

CONTENIDOS. 1. Completar el ejemplo de Herencia: Superclase Persona-Subclase Alumno

Tema: FUNCIONES, PROCEDIMIENTOS Y RECURSIVIDAD.

Examen escrito de Programación 1

Introducción al laboratorio de Programación I

INTELIGENCIA EN REDES DE COMUNICACIONES PRÁCTICA FINAL. Ignacio Ribas Ramos Miguel Flecha Lozano Ingeniería de Telecomunicaciones

LISTAS ENLAZADAS DOBLES C++

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

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

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

Tema: Patrones de Diseño.

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

Tema 4: Estructuras de Control Estructura y Contenidos

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

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

Problema - Votación. Entrada. Salida. Primera Olimpiada de Informática 1

Contenidos. Funciones (suplemento) Funciones. Justificación del uso de Funciones

1. Introducción. 1.1 Ejercicio 1: Estación Meteorológica (4.0 pts.) Ejercicio 2: Gestión Académica: Alumnos (5.0 pts.)...

Curso 0 de Informática

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

Aquí se declaran los. Aquí se declaran los métodos de la clase. *Atributos de la clase

Introducción al tipo de dato ARRAY

RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA

Templates. template <class T> T max(const T &t1, const T &t2) { return ((t2 > t1)? t2 : t1); }

1. Cuestiones. Ejercicios resueltos de C. Diego Rodríguez-Losada 1. //a) #include <stdio.h> main( ) { int x = 0, y = 0; //b) #include <stdio.

Ejercicio 1 (2 puntos. Tiempo: 25 minutos)

Tema: Funciones Virtuales y Polimorfismo.

Tema: Funciones Virtuales y Polimorfismo.

Plantillas: un mecanismo de polimorfismo

Apuntes de Clases (continuación)

Examen Septiembre Curso Programación en C++ Pág. 1

Prof. Dr. Paul Bustamante

Clases y Objetos. Informática II Ingeniería Electrónica

Prof. Dr. Paul Bustamante

TEMA 5. CONTROL DE FLUJO DEL PROGRAMA. Sentencia Instrucción Expresión Operadores + Operandos Sintaxis: Sentencia ;

Programación 1 Problemas del Composición condicional

Prof. Dr. Paul Bustamante

Tema 5: Diseño modular. Índice. Notas. Programación 2. Curso Notas. Ejemplo. La herramienta make. 1 Diseño modular.

Examen Principios de Programación Febrero 2012

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

INTRODUCCIÓN A LA POO EN C++

La Herencia. La primera línea de cada declaración debe incluir la sintaxis siguiente:

Métodos de Ordenamiento

Prof. Dr. Paul Bustamante

Tema 2. Memoria Dinámica. 2.1 Datos estáticos y dinámicos

Prof. Dr. Paul Bustamante

Conexión SQL Server y C# (Consola)

1. Ejemplo de clase : La clase Cuenta 2. Uso de la clase Cuenta. 3. Métodos y objetos receptores de mensajes (Importante)

Programación Avanzada para Sistemas de Telecomunicación Arrays

El lenguaje C. #define MAX LINEA 1000 /* maximo tamanio de linea de entrada */

Vectores. 27/05/05 Programación Digital I 1

Programación 1 Tema 5. Instrucciones simples y estructuradas

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

15. Parámetros o argumentos

Índice ÍNDICE EJERCICIO 1: CÁLCULO FINANCIERO (5 PTOS.) EJERCICIO 2: AGENCIA DE COLOCACIONES (5 PTOS.)...4

Java: Clases Abstractas e Interfaces

Elabore el diagrama de clases en UML y la codificación de un programa para resolver los siguientes problemas:

APUNTES JAVA ARRAYS (ARREGLOS) Un arreglo es un grupo de posiciones de memoria contiguas. Todas las cuales tienen el mismo nombre y el mismo tipo.

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

Segundo Taller Final de PROGRAMACIÓN ORIENTADO A OBJETOS. INGENIERÍA DE SISTEMAS. Docente y Administrativo: Luz Esperanza Espitia Preciado

INSTITUTO TECNOLOGICO de la laguna Programación Orientada a Objetos en C++

Librerías estándar en C++ STL: Standard Template Library. Álvaro Sánchez Miralles José Porras (Fidel Fernández)

Programación Avanzada SOLUCIÓN EXAMEN FEBRERO 2011

Introducción a C++ Índice

PRECISO, DETERMINÍSTICOS Y FINITOS.

Programación 1 Problemas 3. Composición condicional

Tema 5 Sentencias de control de flujo. Fundamentos de Informática

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

Introducción. Herencia y Polimorfismo. Ejemplos (I) Ejemplos (II) Control de Acceso. Herencia

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

Funciones: Pasos por Referencia Recursividad

Transcripción:

3. Indicar la salida por pantalla (2 puntos-20 minutos) #include <iostream.h> template <class S> void Funcion_B(S& a, S& b); template <class T> void Funcion_A (T *vector, int num); void main(void) float mivector[10]=2,12,3,8,1,3,15,6,4,1; Funcion_A(mivector,5); Funcion_A(mivector+5,5); for(int i=0;i<10;i++)cout<<mivector[i]<<endl; template <class S> void Funcion_B(S &a, S &b) S temp; temp = a; a = b; b = temp; template <class T> void Funcion_A (T *vector, int num) int i,j; for(i=0;i<num-1;i++) for(j=i+1;j<num;j++) if(vector[i]>vector[j]) Funcion_B(vector[i],vector[j]); Impresión por pantalla

4. Ejercicio de programación (2,5 puntos-50 minutos) #include <iostream> using namespace std; void copiacadena(char *destino, char *origen, int max) int i=0,n; n=strlen(origen); if(max<1)return; if(n>max-1) n=max-2; destino[max-1]=0; for(i=0;i<n+1;i++)destino[i]=origen[i]; class ObraDeArte virtual void imprimetipo()=0; virtual void imprimedatosadicionales() char titulo[100]; char autor[100]; ObraDeArte(char *_titulo, char *_autor); void imprime(); ; void ObraDeArte::imprime() cout<<""<<endl; imprimetipo(); cout<<"titulo: "<<titulo<<endl; cout<<"autor: "<<autor<<endl; imprimedatosadicionales(); //////////////////////////////////////// //////CODIGO A DESARROLLAR POR EL ALUMNO //////////////////////////////////////// void main() ObraDeArte *lista[4]; lista[0]=new Cuadro("Las Meninas","Velazquez"); lista[1]=new Libro("El Quijote","Cervantes",978); lista[2]=new Estatua("La Piedad","Miguel Angel","Italia"); lista[3]=new Cuadro("Arlequin","Picasso"); for(int i=0;i<4;i++) lista[i]->imprime(); delete lista[i]; Dado el estracto de código mostrado, se pide: 1.-Definir el constructor de la clase ObraDeArte. 2.-Declarar y definir la clase Cuadro. 3.-Declarar y definir la clase Libro. 4.-Declarar y definir la clase Estatua. PINTURA Titulo: Las Meninas Autor: Velázquez LIBRO Titulo: El Quijote Autor: Cervantes número de Páginas: 978 ESTATUA Titulo: La Piedad Autor: Miguel Ángel Pais: Italia PINTURA Titulo: Arlequín Autor: Picasso De tal forma que la impresión obtenida por el main sea la que aparece en el recuadro. 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.

5. Problema de Análisis y Diseño Orientado a Objetos (2.5 puntos - 50 minutos) Se desea hacer una aplicación que sirva para calcular las nominas de una compañía. Al salario base de cada empleado hay que quitarle un 20% de retención del IRPF para calcular su salario neto. Como existen diferentes políticas salariales en la empresa, se desea hacer un programa fácilmente extensible a nuevas políticas. De momento se pretende abordar dos de ellas: - El sueldo ordinario - El sueldo con bonus, consistente en aumentar el salario base (antes de la retención) un 35%. De momento se ha desarrollado el siguiente programa: main() Nomina* nomina; cout<<"1. Nomina ordinaria"<<endl; cout<<"2. Nomina con bonus"<<endl; cin>>opcion; //Completar codigo aqui cout<<"salario base: "; cin>>salario; nomina->setsalariobase(salario); float total=nomina->getsueldoneto(); cout<<"el salario neto es: "<<total<<endl; Se pide: 1. Diagrama de Clases de Diseño de una arquitectura que permita una fácil extensión a nuevas políticas. Indicar los patrones utilizados. (5 puntos) 2. Implementación en C++ de la solución, completando el main(). (5 puntos) SOLUCION:

class Nomina virtual float GetSueldoNeto()=0; void SetSalarioBase(float s) salario=s; protected: ; class NominaBonus : public Nomina float GetSueldoNeto() return (salario*1.35f)*0.80f; ; class NominaOrdinaria : public Nomina float GetSueldoNeto() return salario*0.80f; ;

class Factoria static Nomina* CrearNomina(int tipo) if(tipo==1) return new NominaOrdinaria(); if(tipo==2) return new NominaBonus(); return 0; ; #include "Factoria.h" int main() Nomina* nomina; cout<<"1. Nomina ordinaria"<<endl; cout<<"2. Nomina con bonus"<<endl; int opcion; cin>>opcion; //Completar codigo aqui nomina=factoria::crearnomina(opcion); if(nomina==0) cout<<"error tipo nomina"<<endl; return -1; cout<<"salario base: "; cin>>salario; nomina->setsalariobase(salario); float total=nomina->getsueldoneto(); cout<<"el salario neto es: "<<total<<endl; return 0;