Tema: Sobrecarga de Operadores.

Save this PDF as:
 WORD  PNG  TXT  JPG

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

Download "Tema: Sobrecarga de Operadores."

Transcripción

1 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 con nuevos tipos de datos. Diferenciar sobrecarga de operadores binarios y unarios. Identificar cuando sobrecargar operadores. Implementar programas en C++ que sobrecarguen operadores unarios. Materiales y Equipo Computadora con el software DevC++ Guía Número 7 Introducción Recordemos que los operadores son un tipo de tokens que indican al compilador la realización de determinadas operaciones sobre variables u otros objetos (los operandos). Por ejemplo, cuando encontramos una expresión del tipo: z = x + y; // suponemos que x, y, z son de tipo int (1) Sabemos que la sentencia contiene dos operadores; el de suma (+) y el de asignación (=); que estos operadores actúan (operan) sobre objetos de tipo int, y que sus reglas de uso y su significado (que resultados se obtienen) están perfectamente definidos en el lenguaje. Los operadores aceptan uno o varios operandos de tipo específico (alguno de los tipos básicos preconstruidos en el lenguaje), produciendo y/o modificando un valor de acuerdo con ciertas reglas. Sin embargo, C++ permite redefinir la mayor parte de ellos. Es decir, permite que puedan aceptar otro tipo de operandos (distintos de los tipos básicos) y seguir otro comportamiento, al

2 2 Programación II, Guía 7 tiempo que conservan el sentido y comportamiento originales cuando se usan con los operandos normales. Esta posibilidad, que recibe el nombre de sobrecarga del operador, es una consecuencia del polimorfismo y hace posible que en la expresión: c = d + e; // suponemos que c, d, e son de tipo UnaClase (2) el sentido de la suma y el de asignación sean totalmente específicos y distintos que el de la expresión 1 anterior cuando se utilizaron los mismos operadores con operandos tipo int. NOTA: La primera e importantísima advertencia es que la sobrecarga se refiere y tiene aplicación solo cuando los operandos son instancias de clases. Es decir, no es posible modificar el sentido de la suma y asignación de la expresión 2 si c, d y e fuesen enteros o de cualquiera de los tipos básicos preconstruidos en el lenguaje. La sobrecarga de los operadores es una de las características más interesantes de C++ y, naturalmente, de la programación orientada a objetos. La sobrecarga hace posible manipular objetos de clases con operadores estándar tales como +, *, [ ] y <<. Esta propiedad de los operadores permite redefinir el lenguaje C++, que puede crear nuevas definiciones de operadores, La sobrecarga es una característica que ofrece el lenguaje C++ para aplicar una misma operación, a través de operadores o funciones, a diferentes tipos de datos. Se pueden sobrecargar los operadores predefinidos y funciones definidas por el usuario. La sobrecarga permite generalizar el uso de operadores y funciones. Sobrecarga de Operadores. Es el proceso de asignar dos ó más operaciones al mismo operador. En otras palabras, permite asignar una o más funciones adicionales a un operador estándar, con el fin de que ésta sea llamada según el contexto en el cual se utilice el operador. Un operador sobrecargado no puede tener parámetros predeterminados. Para sobrecargar un operador, y aplicarlo en operaciones entre clases, se usa la función especial operador. Una función operador es una función cuyo nombre consta de la palabra reservada operator seguida de un operador unitario o binario que se sobrecargará.

3 Programación II. Guía 7 3 La sintaxis para sobrecargar un operador es la siguiente: <tipo de dato> <Nombre de clase> operator <#> (lista de parámetros) { //instrucciones que forman el cuerpo del operador Donde: tipo de dato: indica el tipo de dato que produce el operador sobrecargado, por lo general es la referencia del objeto. Nombre de clase: es el nombre de clase en la que estamos aplicando sobrecarga. operator: es una palabra reservada utilizada para realizar la sobrecarga #: operador que estamos sobrecargando. Lista de parámetros: es la lista de objetos (en referencia) o variables que se procesarán en la sobrecarga, si la operación es unaria no tendrá parámetros, si la operación es binaria tendrá un parámetro. Operadores sobrecargables. El lenguaje C++ permite redefinir la funcionalidad de los siguientes operadores: + - * / % ^ & ~! = < > += -= *= /= %= ^= &= = << >> >>= <<= ==!= <= >= && >*, -> [] () new new[] delete delete[] Los operadores +, -, * y & son sobrecargables en sus dos versiones, unaria y binaria. Es decir: suma binaria +; más unitario +; multiplicación *; indirección *; referencia & y manejo de bits &. Es notable que C++ ofrezca casos de operadores sobrecargados incluso en su Librería Estándar. Por ejemplo, los operadores == y!= para la clase type_info. Sin embargo, la posibilidad de sobrecarga no se extiende a todos los operadores. Excepciones: En la lista anterior, puede verificarse que todos los operadores pueden ser sobrecargados, incluyendo new, new [ ], delete y delete [ ], excepto los siguientes: Selector directo de componente. Operador de indirección de puntero a miembro.* Operador de acceso a ámbito :: Condicional ternario?:

4 4 Programación II, Guía 7 Directivas de preprocesado # y # # sizeof: informa del tamaño de almacenamiento utilizado por cualquier objeto, sea un tipo básico o derivado. typeid: identifica un operador con el que puede obtenerse el tipo de objetos y expresiones en tiempo de ejecución. Permite comprobar si un objeto es de un tipo particular, y si dos objetos son del mismo tipo. Sobrecarga de Operadores Binarios. Un operador binario tiene dos operandos o argumentos, uno a cada lado del operador. El operador /, por ejemplo, es binario. Algunos operadores tales como + son unitarios y binarios, dependiendo de su uso. Los operadores binarios pueden ser sobrecargados de dos formas: a. Declarando una función miembro no estática que acepte un argumento b. Declarando una función no miembro (generalmente friend) que acepte dos argumentos. Según lo anterior, y dependiendo de la declaración, representa el operador binario, la expresión y entre miembros de una clase C puede ser interpretada como cualquiera de las dos formas: a. (y) b. (x, y) Nota: recuerde la versión a parece recibir solo un argumento, pero en realidad recibe dos si se considera el argumento implícito this, de forma que podría considerarse: (C * this, y) siendo: C * this = &x En otras palabras, un operador binario se puede sobrecargar pasando a la función dos argumentos si no es función miembro. El primer argumento es el operando izquierdo del operador sobrecargado y el segundo argumento es el operando derecho, si la función no es miembro de la clase. Consideremos un tipo de clase T y dos objetos x1 y x2 de tipo T Definamos un operador binario + sobrecargado, entonces: x1 + x2 se interpreta como: operator + (x1, x2)

5 Programación II. Guía 7 5 Un operador binario puede, por consiguiente, ser definido así: Como una función de dos argumentos Como una función miembro de un argumento (el caso más frecuente) Nunca las dos a la vez. Sobrecarga de los operadores de manejo de flujos de entrada >> y de flujos de salida << Binarios. Un caso especial es la sobrecarga de los operadores << y >> utilizados en la salida u entrada de datos respectivamente. Estos operadores se encuentran definidos en la biblioteca iostream de C++. En el caso de la entrada de datos del teclado a la aplicación, se establece una relación entre una referencia a un objeto de la clase istream y una referencia a un objeto de la clase en la cual se está incluyendo la sobrecarga. La sintaxis es la siguiente: friend istream & operator >> (istream &, <Nombre de clase> &); En el caso de la salida de datos de la aplicación a la pantalla, se establece una relación entre una referencia a un objeto de la clase ostream y una referencia a un objeto de la clase en la cual se está incluyendo la sobrecarga. La sintaxis es la siguiente: friend ostream & operator << (ostream &, <Nombre de clase> &); Observe que las funciones que se obtienen al sobrecargar los operadores se declaran como amigas (friend) de la clase en la cual se insertaron. Esto es para que dichas funciones, externas a la clase, puedan tener acceso a los miembros privados de la misma. Procedimiento Ejemplo 1: En C++, el operador + no puede utilizarse para concatenar cadenas. Sin embargo, si utilizamos una clase propia llamada Cadena, podríamos sobrecargar el operador + para realizar la concatenación de cadenas, como se muestra en el siguiente ejemplo:

6 6 Programación II, Guía 7 #include <iostream> #include <string.h> // Para las funciones de manejo de cadenas: strcpy, strlen y strcat using namespace std; class Cadena { private: int longitud; char *ptrcadena; public: Cadena (char [ ]= ""); Cadena (Cadena &); ~Cadena(); int long_cadena (); // longitud de la cadena // Puntero a la cadena de caracteres //constructor predeterminado //constructor por copia //destructor //devuelve longitud de la cadena // Funciones para sobrecarga de operadores Cadena & operator + (Cadena &); //concatenación ; /* Sobrecarga de los operadores de manejo de flujos de entrada ">>" y de flujos de salida "<<" */ friend ostream & operator << (ostream &, Cadena &); friend istream & operator >> (istream &, Cadena &); Cadena :: Cadena (char * cadena) //Constructor por defecto { longitud = strlen(cadena); ptrcadena = new char[longitud + 1]; // Creación dinámica if(ptrcadena == NULL) { cout<<"no hay memoria"; exit(0); strcpy(ptrcadena, cadena); // Se verifica si hay memoria disponible // Se copia el contenido de cadena en el objeto creado Cadena :: Cadena (Cadena & copia) { longitud = strlen(copia.ptrcadena); ptrcadena = new char[longitud + 1]; //Constructor copia if(ptrcadena == NULL) // Se verifica si hay memoria disponible { cout<<"no hay memoria"; exit(0); strcpy(ptrcadena, copia.ptrcadena); /* Se copia el contenido de copia en el objeto creado*/

7 Programación II. Guía 7 7 Cadena :: ~Cadena() { delete [ ] ptrcadena; // Sobrecarga del operador "+" para que permita concatenar cadenas Cadena & Cadena :: operator + (Cadena & s) { char *temps = ptrcadena; longitud += s.longitud; ptrcadena = new char[longitud+1]; if(ptrcadena == NULL) { cout<<"no hay memoria"; exit(0); // Se verifica si hay memoria disponible strcpy(ptrcadena, temps); // Se copia el contenido de temps en el objeto creado strcat(ptrcadena, s.ptrcadena); /* Se realiza la concatenación del contenido de s con el objeto creado*/ delete [ ] temps; // Se libera memoria reservada con new return *this; int Cadena :: long_cadena () { return longitud; // Sobrecarga del operador de entrada ">>" ostream & operator<< (ostream & salida, Cadena & s) { salida<< s.ptrcadena; return salida; // Sobrecarga del operador de salida "<<" istream & operator>> (istream & entrada, Cadena & s) { entrada>> s.ptrcadena; return entrada; int main() { char cad1[20], cad2[20]; system("cls"); cout << "Introducir primer cadena: "; gets(cad1); cout << "Introducir segunda cadena: "; gets(cad2); Cadena s1(cad1), s2(cad2), s3; //Creamos los objetos de tipo cadena

8 8 Programación II, Guía 7 //probando operador sobrecargado de concatenación cout << endl << endl << "Resultado de concatenar Cadenas s1 y s2: " << endl; s3 = s1 + s2; cout << "s3: " << s3; //prueba el constructor de copiado Cadena *s4= new Cadena(s2); cout << endl << endl << "Constructor copia para *s4: " << *s4; //prueba del operador de asignación = cout << endl << endl << "Asignando s3 a *s4, *s4: "; *s4 = s3; cout << *s4 << endl << endl << "Longitud de s4: " << s4 -> long_cadena() << " caracteres."; system("pause>nul"); return 0; Ejemplo 2: En este ejemplo se sobrecargan los operadores aritméticos de la suma y la resta, de tal manera que puedan operar datos de tipo Vector. #include <iostream> using namespace std; class Vector { private: float CoordX; float CoordY; // Coordenada en eje x del vector // Coordenada en eje y del vector public: Vector (float Va1 = 0, float Val2 =0); //constructor predeterminado ~Vector(){ ; //destructor void ImprimeVector (); //Muestra el vector ; // Funciones para sobrecarga de operadores Vector operator + (Vector Vec); //Sobrecarga del operador "+" para realizar la //suma de vectores Vector operator - (Vector Vec); //Sobrecarga del operador "-" para realizar la //resta de vectores /* Método constructor con parámetros predeterminados; a los cuales, si no se les especifican otros valores, se les asignará 0 */

9 Programación II. Guía 7 9 Vector :: Vector(float Val1, float Val2) { CoordX = Val1; CoordY = Val2; // Método que imprime los valores de los atributos del vector void Vector :: ImprimeVector( ) { cout << "La componente en X del vector es: " << CoordX << endl; cout << "La componente en Y del vector es: " << CoordY << endl; /* Método en el cual se sobrecarga el operador "+"; por lo tanto se podrá utilizar para la suma aritmética, como para suma de vectores. Lo anterior da como resultado un objeto de tipo Vector */ Vector Vector :: operator + (Vector Vec) { return Vector(CoordX + Vec.CoordX, CoordY + Vec.CoordY); /* Método en el cual se sobrecarga el operador "-"; por lo tanto se podrá utilizar para la resta aritmética, como para resta de vectores. Lo anterior da como resultado un objeto de tipo Vector */ Vector Vector :: operator - (Vector Vec) { return Vector(CoordX - Vec.CoordX, CoordY - Vec.CoordY); int main() { system("cls"); Vector Vec1(3,1), Vec2(1,2), Vec3; //Creamos los objetos de tipo Vector // Se invoca al operador "+" sobrecargado, es decir, se realiza la suma de vectores Vec3 = Vec1 + Vec2; // Mostramos el vector resultante cout << endl << endl << "Los datos del vector resultante de la suma de vectores son: " << endl; Vec3.ImprimeVector(); // Se invoca al operador "-" sobrecargado, es decir, se realiza la resta de vectores Vec3 = Vec1 - Vec2; // Mostramos el vector resultante cout << endl << endl << "Los datos del vector resultante de la resta de vectores son: " << endl; Vec3.ImprimeVector(); system("pause>nul"); return 0;

10 10 Programación II, Guía 7 Análisis de Resultados Ejercicio 1: Modifique el código del ejemplo No. 2, de tal manera que la solución se maneje a través de un menú que contenga las siguientes opciones: a) Crear los objetos de tipo vector, solicitando los datos al usuario. b) Realizar la suma de vectores. c) Realizar la resta de vectores. d) Realizar el producto escalar de vectores. e) Salir de la aplicación. El programa debe estar debidamente comentado. Ejercicio 2: Tomar el código del ejemplo No. 1 como referencia y realizar los cambios que sean necesarios para crear un programa que provea la funcionalidad necesaria para trabajar con cadenas de caracteres. La funcionalidad debe implementarse con un menú con las siguientes opciones: Opción de menú 1: Ingresar las cadenas de caracteres (como mínimo dos). Opción de menú 2: Concatenar cadenas. Opción de menú 3: Comparación de cadenas de caracteres. Considerar la sobrecarga de los operadores ==, <, >,!= Opción de menú 4: Determinar si una cadena está vacía. Considerar la sobrecarga del operador! Opción de menú 5: Acceder a un carácter individual en una cadena, es decir, realizar una Opción de menú 6: Determinar la longitud de una cadena. Opción de menú 7: Salir del programa. El menú deberá estar siempre activo, en la misma posición en pantalla, hasta que el usuario seleccione la opción salir. El programa debe estar debidamente comentado. Se sugiere utilizar la declaración de la clase Cadena mostrada a continuación:

11 Programación II. Guía 7 11 class Cadena { private: int longitud; char *ptr; // longitud de la cadena // Puntero a la cadena de caracteres public: Cadena (char []= ""); Cadena (Cadena &); ~Cadena(); int long_cadena (void); //constructor predeterminado //constructor por copia //destructor //devuelve longitud de la cadena // Funciones para sobrecarga de operadores bool operator == (Cadena &); //prueba si s1 = s2 bool operator!= (Cadena &); //prueba si s1!= s2 bool operator! ( ); //prueba si Cadena esta vacía bool operator < (Cadena &); //prueba si s1 < s2 bool operator > (Cadena &); //prueba si s1 > s2 Cadena & operator + (Cadena &); //concatenación char operator[] (int); //operador de subíndice /* Sobrecarga de los operadores de manejo de flujos de entrada ">>" y de flujos de salida "<<" */ friend ostream & operator<< (ostream &, Cadena &); friend istream & operator>> (istream &, Cadena &); ;

12 12 Programación II, Guía 7 Guía 7: Sobrecarga de Operadores. Hoja de cotejo: 7 Alumno: Máquina No: Docente: GL: Fecha: EVALUACIÓN % Nota CONOCIMIENTO Del 20 al 30% Conocimiento deficiente de los fundamentos teóricos Conocimiento y explicación incompleta de los fundamentos teóricos Conocimiento completo y explicación clara de los fundamentos teóricos APLICACIÓN DEL CONOCIMIENTO Del 40% al 60% ACTITUD Del 15% al 30% No tiene actitud proactiva. Actitud propositiva y con propuestas no aplicables al contenido de la guía. Tiene actitud proactiva y sus propuestas son concretas. TOTAL 100%

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

Capítulo 6. Introducción a la POO

Capítulo 6. Introducción a la POO Capítulo 6. Introducción a la POO 6. 1. Clases, Objetos y Métodos Definición La Programación Orientada a Objetos (POO) es una forma especial de programar, más cercana a cómo expresaríamos las cosas en

Más detalles

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

Tema: Herencia Simple y Múltiple en C++. Programación II. Guía 9 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Herencia Simple y Múltiple en C++. Objetivos Específicos Crear clases a través de la herencia de clases

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

Tema: Patrones de Diseño.

Tema: Patrones de Diseño. Programación II. Guía 13 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Patrones de Diseño. Objetivos Específicos Implementar la aplicación de patrones de diseño como herramientas

Más detalles

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

Tema 2. Memoria Dinámica. 2.1 Datos estáticos y dinámicos Tema 2 Memoria Dinámica 2.1 Datos estáticos y dinámicos Datos estáticos: su tamaño y forma es constante durante la ejecución de un programa y por tanto se determinan en tiempo de compilación. El ejemplo

Más detalles

Curso 0 de Informática

Curso 0 de Informática Curso 0 de Informática 2015-2016 Tema 1: Introducción a la Informática y Conceptos básicos 1 Motivación (I): En los procesos industriales, cada vez es mayor el uso de sistemas informáticos para: Monitorización,

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

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

INSTITUTO TECNOLOGICO de la laguna Programación Orientada a Objetos en C++ 5.- Herencia Múltiple. Un hecho natural es que una persona tenga más de un pariente mayor, esta situación también se puede dar en la herencia de clases, naturalmente este tipo de herencia involucra un

Más detalles

INTRODUCCIÓN AL TIPO COMPUESTO CADENA CONTENIDOS

INTRODUCCIÓN AL TIPO COMPUESTO CADENA CONTENIDOS CONTENIDOS 1. Introducción a las cadenas 2. Definición 3. Declaración de cadenas 4. Inicialización de cadenas 5. Escritura y Lectura de datos tipo cadena 6. Funciones de manipulación de cadenas 7. Arrays

Más detalles

Java Inicial (20 horas)

Java Inicial (20 horas) Java Inicial (20 horas) 1 Temario 1. Programación Orientada a Objetos 2. Introducción y Sintaxis Java 3. Sentencias Control Flujo 4. POO en Java 5. Relaciones entre Objetos 6. Polimorfismo, abstracción

Más detalles

9. Objetos y clases. 9.1. Clases

9. Objetos y clases. 9.1. Clases Programación orientada a objetos con Java 103 9. Objetos y clases Objetivos: a) Presentar el concepto de objeto, clase, atributo, método e instancia b) Interpretar el código fuente de una aplicación Java

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

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

Prof. Dr. Paul Bustamante

Prof. Dr. Paul Bustamante Prácticas de C++ Practica Nº 8 Informática II Fundamentos de Programación Prof. Dr. Paul Bustamante ÍNDICE ÍNDICE... 1 1. INTRODUCCIÓN... 1 1.1 EJERCICIO 1: HERENCIA Y POLIMORFISMO I... 1 1.2 EJERCICIO

Más detalles

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

ESCUELA DE INGENIERÍA DE SISTEMAS DEPARTAMENTO DE COMPUTACIÓN PROGRAMACIÓN 2 PRÁCTICA DE LABORATORIO 7 Herencia y Composición en POO ESCUELA DE INGENIERÍA DE SISTEMAS DEPARTAMENTO DE COMPUTACIÓN PROGRAMACIÓN 2 PRÁCTICA DE LABORATORIO 7 Herencia y Composición en POO Contenido Introducción... 1 Concepto de la Herencia... 2 Relación de

Más detalles

Conceptos. ELO329: Diseño y Programación Orientados a Objetos. ELO 329: Diseño y Programación Orientados a Objetos

Conceptos. ELO329: Diseño y Programación Orientados a Objetos. ELO 329: Diseño y Programación Orientados a Objetos Conceptos ELO329: Diseño y Programación Orientados a Objetos 1 Paradigmas de Programación Historia: Los computadores parten cableados por hardware, Luego se introduce la programación en binario, Se desarrolla

Más detalles

Arreglos. // Incluir E/S y Librerías Standard #include <stdlib.h> #include <stdio.h>

Arreglos. // Incluir E/S y Librerías Standard #include <stdlib.h> #include <stdio.h> Arreglos Introducción. En los temas anteriores se han estudiado los diferentes tipos de datos simples de C++, usados para representar valores simples como enteros, reales o caracteres. Sin embargo, en

Más detalles

Tema: FUNCIONES, PROCEDIMIENTOS Y RECURSIVIDAD.

Tema: FUNCIONES, PROCEDIMIENTOS Y RECURSIVIDAD. Programación I, Guía 6 1 Facultad : Ingeniería Escuela : Computación Asignatura: Programación I Tema: FUNCIONES, PROCEDIMIENTOS Y RECURSIVIDAD. Objetivos Utilizar la sintaxis de las funciones definidas

Más detalles

Tema 4: Estructuras de Control Estructura y Contenidos

Tema 4: Estructuras de Control Estructura y Contenidos Tema 4: Estructuras de Control Estructura y Contenidos 4.1. ESTRUCTURA SECUENCIAL. 4.2. ESTRUCTURAS DE SELECCIÓN. 4.2.1. Selección simple ( if ). 4.2.2. Selección binaria ( if... ). 4.2.3. Selección múltiple

Más detalles

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

ELO329: Diseño y Programación Orientados a Objetos 20 de Junio de 2005. Certamen Final Certamen Final 1. Se tiene una aplicación Java que muestra dos botones. Cuando presionamos el botón de la izquierda, incrementa el número mostrado en el botón de la derecha. Cuando presionamos el botón

Más detalles

Informática FACULTAD DE FÍSICAS

Informática FACULTAD DE FÍSICAS EJERCICIOS RESUELTOS EN CLASE DE TEORÍA 1. Realizar un programa que pida 10 números enteros y calcule la media de dichos valores. Realizar una función/procedimiento para rellenar los valores en un vector

Más detalles

11. Algunas clases estándar de Java (II)

11. Algunas clases estándar de Java (II) 122 A. García-Beltrán y J.M. Arranz 11. Algunas clases estándar de Java (II) Objetivos: a) Presentar la clase predefinida en Java para trabajar con arrays b) Interpretar el código fuente de una aplicación

Más detalles

En cualquier caso, tampoco es demasiado importante el significado de la "B", si es que lo tiene, lo interesante realmente es el algoritmo.

En cualquier caso, tampoco es demasiado importante el significado de la B, si es que lo tiene, lo interesante realmente es el algoritmo. Arboles-B Características Los árboles-b son árboles de búsqueda. La "B" probablemente se debe a que el algoritmo fue desarrollado por "Rudolf Bayer" y "Eduard M. McCreight", que trabajan para la empresa

Más detalles

Un puntero no es más que una variable estática cuyo contenido es una dirección de memoria.

Un puntero no es más que una variable estática cuyo contenido es una dirección de memoria. Los punteros en C 1 Introducción Cómo se organiza la memoria asociada a un programa? Como una colección de posiciones de memoria consecutivas. En ellas se almacenan los distintos tipos de datos, que ocupan,

Más detalles

Tema: INTÉRPRETE ENSAMPOCO/3

Tema: INTÉRPRETE ENSAMPOCO/3 Compiladores. Guía 11 1 Facultad: Ingeniería Escuela: Computación Asignatura: Compiladores Tema: INTÉRPRETE ENSAMPOCO/3 Contenido En esta práctica se desarrollará un intérprete de lenguaje ENSAMPOCO/3

Más detalles

OPERADORES LÓGICOS Y DE COMPARACIÓN EN PHP. PRIORIDADES. EJEMPLOS. EJERCICIOS RESUELTOS. (CU00818B)

OPERADORES LÓGICOS Y DE COMPARACIÓN EN PHP. PRIORIDADES. EJEMPLOS. EJERCICIOS RESUELTOS. (CU00818B) APRENDERAPROGRAMAR.COM OPERADORES LÓGICOS Y DE COMPARACIÓN EN PHP. PRIORIDADES. EJEMPLOS. EJERCICIOS RESUELTOS. (CU00818B) Sección: Cursos Categoría: Tutorial básico del programador web: PHP desde cero

Más detalles

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

Contenidos. Funciones (suplemento) Funciones. Justificación del uso de Funciones Contenidos 1. Justificación del uso de funciones. 2. Declaración de funciones: prototipos. 3. Prototipos y ficheros de cabecera. 4. Polimorfismo (sobrecarga de funciones). 5. Argumentos formales y actuales.

Más detalles

Objetivo de aprendizaje del tema

Objetivo de aprendizaje del tema Computación II Tema 3. Identificadores, palabras clave y tipos de datos Objetivo de aprendizaje del tema Al finalizar el tema serás capaz de: Distinguir i entre modificadores d válidos y no válidos. Enumerar

Más detalles

Entrada y salida de datos en C y C++

Entrada y salida de datos en C y C++ Universidad Nacional de Rosario Facultad de Ciencias Exactas, Ingeniería y Agrimensura Escuela de Ingeniería Electrónica Cátedra de Informática II Entrada y salida de datos en C y C++ Informática II Entrada/Salida

Más detalles

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

Clases y Objetos. Informática II Ingeniería Electrónica Clases y Objetos Informática II Ingeniería Electrónica Los Tipos de Datos Hasta ahora, en un programa podemos usar para representar variables a: Tipos fundamentales : enteros (int), caracteres (char),

Más detalles

Introduccion al Lenguaje C. Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia

Introduccion al Lenguaje C. Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia Introduccion al Lenguaje C Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia Introducción C es un lenguaje de programación creado en 1972 por

Más detalles

LEER Y ESCRIBIR ARCHIVOS O FICHEROS EN C. FOPEN, FCLOSE, MODOS DE ACCESO READ, WRITE Y APPEND (CU00536F)

LEER Y ESCRIBIR ARCHIVOS O FICHEROS EN C. FOPEN, FCLOSE, MODOS DE ACCESO READ, WRITE Y APPEND (CU00536F) APRENDERAPROGRAMAR.COM LEER Y ESCRIBIR ARCHIVOS O FICHEROS EN C. FOPEN, FCLOSE, MODOS DE ACCESO READ, WRITE Y APPEND (CU00536F) Sección: Cursos Categoría: Curso básico de programación en lenguaje C desde

Más detalles

Ejercicio 1 (2 puntos. Tiempo: 25 minutos)

Ejercicio 1 (2 puntos. Tiempo: 25 minutos) Fecha de publicación de notas: jueves 18 de Julio. Fecha de revisión: viernes 19 de Julio a las 10:00h. Despacho C-209. Ejercicio 1 (2 puntos. Tiempo: 25 minutos) Se desea desarrollar un programa en C

Más detalles

CURSO de C++ Ignacio López

CURSO de C++ Ignacio López CURSO de C++ Ignacio López Introducción al lenguaje C++ Visión General Objetivos del Curso C++ Conceptos básicos de la programación orientada a objetos (OOP) Visión General I Curso de C++ Introducción

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 : Aprender qué es un diseño modular de un programa Aprender a diseñar

Más detalles

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

TEMA 5. CONTROL DE FLUJO DEL PROGRAMA. Sentencia Instrucción Expresión Operadores + Operandos Sintaxis: Sentencia ; TEMA 5. CONTROL DE FLUJO DEL PROGRAMA 5.1 Sentencias Una sentencia es una expresión seguida de un punto y coma. Sentencia Instrucción Expresión Operadores + Operandos Sintaxis: Sentencia ; El ; es obligatorio

Más detalles

Unidad III El lenguaje de programación C 1. 2. 3. 4. 5. 6. 7. 8.

Unidad III El lenguaje de programación C 1. 2. 3. 4. 5. 6. 7. 8. Unidad III 1. Introducción. 2. Breve historia del C. 3. Lenguajes de programación de alto nivel, bajo nivel y nivel medio. 4. Compiladores e intérpretes. 5. Compilación, enlace y generación de un programa

Más detalles

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

CONTENIDO. Programación orientada a objetos - POO. Clases. Constructores y destructores. Definiciones. Entrada y salida INFORMÁTICA II 1 CONTENIDO 2 1 Programación orientada a objetos - POO 2 Clases 3 Constructores y destructores 4 Definiciones 5 Entrada y salida PROGRAMACIÓN ORIENTADA A OBJETOS Los lenguajes de programación

Más detalles

Fundamentos de la Programación

Fundamentos de la Programación Fundamentos de la Programación El Software Las operaciones que debe realizar el hardware son especificadas con una lista de instrucciones, llamadas programas o software. Dos grandes grupos de software

Más detalles

Objetivos. El alumno conocerá los elementos indispensables de un ambiente de programación y será capaz de realizar programas básicos en lenguaje C.

Objetivos. El alumno conocerá los elementos indispensables de un ambiente de programación y será capaz de realizar programas básicos en lenguaje C. Objetivos El alumno conocerá los elementos indispensables de un ambiente de programación y será capaz de realizar programas básicos en lenguaje C. Al final de esta práctica el alumno podrá: 1. Decir cuáles

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

3.2 Operaciones aritmético-lógicas en Pascal

3.2 Operaciones aritmético-lógicas en Pascal 3.2 Operaciones aritmético-lógicas en Pascal Operadores Los operadores sirven para combinar los términos de las expresiones. En Pascal, se manejan tres grupos de operadores : 1. ARITMÉTICOS 2. RELACIONALES

Más detalles

Cómo nombrar variables ( 2&

Cómo nombrar variables ( 2& &'()*+,, *)-.&'*/0+!" #$ # http://www.escet.urjc.es/~aiiq/ Introducción a Visual Studio.NET Aprendiendo el IDE de Visual Basic.NET Elementos del lenguaje. Variables y estructuras de datos Introducción

Más detalles

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

Introducción. Herencia y Polimorfismo. Ejemplos (I) Ejemplos (II) Control de Acceso. Herencia Introducción Herencia y Polimorfismo Se pueden definir jerarquías de clases, con clases generales que definen el comportamiento común a unos objetos y clases específicas que sólo añaden o redefinen el

Más detalles

Introducción a la programación orientada a objetos

Introducción a la programación orientada a objetos Introducción a la programación orientada a objetos 1. Introducción a la programación orientada a objetos 2. Las clases 3. El tipo Struct 4. Diferencias entre Class y Struct 5. Pilares de la Programación

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

ISTP CIDET COMPUTACION E INFORMATICA ARREGLOS EN JAVA

ISTP CIDET COMPUTACION E INFORMATICA ARREGLOS EN JAVA ARREGLOS EN JAVA I I N T R O D U C C I Ó N En las sesiones anteriores, los datos manejados en los programas han sido datos simples (carácter, entero, reales) En un gran número de problemas es necesario

Más detalles

Prof. Dr. Paul Bustamante

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

Más detalles

Introducción al tipo de dato ARRAY

Introducción al tipo de dato ARRAY CONTENIDOS. Introducción al tipo de dato ARRAY. Definición, Características, Declaración, Acceso e Inicialización.. Arrays multidimensionales Definición, Declaración, Acceso e Inicialización. Introducción

Más detalles

Introducción a la Programación Orientada a Objetos

Introducción a la Programación Orientada a Objetos Introducción a la Programación Orientada a Objetos El paradigma imperativo. En un programa se tienen una serie de variables con las cuales operamos y modificamos mediante sentencias y funciones para producir

Más detalles

Un elemento de cualquier clase llamada Info; Un puntero a un nuevo nodo llamado sig; De tal forma una unión de nodos hace que tengamos una lista:

Un elemento de cualquier clase llamada Info; Un puntero a un nuevo nodo llamado sig; De tal forma una unión de nodos hace que tengamos una lista: Tipos Abstractos de Datos: TAD Lista en educación Profesional 1.- Introducción Los tipos abstractos de datos son fundamentales para la informática puesto que de ellos se sirven todos los programas para

Más detalles

Modulo 1 El lenguaje Java

Modulo 1 El lenguaje Java Modulo 1 El lenguaje Java 13 - Codificación en Java Una de las grandes diferencias entre Java y Pascal en cuando a la codificación es que Java se trata de un lenguaje de los llamados case sensitive Esto

Más detalles

Capítulo 6. Asociaciones y Declaraciones.

Capítulo 6. Asociaciones y Declaraciones. Capítulo 6. Asociaciones y Declaraciones. Lenguajes de Programación Carlos Ureña Almagro Curso 2011-12 Contents 1 Asociaciones, entornos y ámbitos 2 2 Declaraciones y definiciones 6 3 Definiciones de valores,

Más detalles

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

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 Contenidos 1. Introducción 2. El operador NEW 3. El operador DELETE 1 Introducción Hasta ahora hemos visto que cada vez que queremos usar una variable debemos reservarle un lugar de la memoria al comenzar

Más detalles

Fundamentos de Programción (I)

Fundamentos de Programción (I) Fundamentos de Programción (I) Algoritmos Entrada y Salida en C++ Fundamentos de programación Objetivo: Traducir nuestras ideas a un nuevo lenguaje de programación para resolver un problema. Problema Método

Más detalles

Ejercicios de evaluación de fundamentos de programación en Java

Ejercicios de evaluación de fundamentos de programación en Java Ejercicios de evaluación de fundamentos de programación en Java Jorge Martínez Ladrón de Guevara Editorial EME ISBN 978-84-96285-40-8 Contenido 1. Introducción a Java... 1 Test de evaluación...1 Ejercicios...4

Más detalles

1 Estructura básica de un programa C++

1 Estructura básica de un programa C++ Elementos básicos de un lenguaje de alto nivel: C++ CONTENIDOS 1. Estructura básica de un programa C++. 2. Tipos de datos simples. 3. Constantes y variables en C++. Declaración. 4. Operadores y expresiones.

Más detalles

Apuntadores en C y C++

Apuntadores en C y C++ Apuntadores en C y C++ Universidad de Carabobo Facultad Experimental de Ciencias y Tecnología Prof. Marcos A. Gil T. 8 de diciembre de 2004 1. Introducción Los apuntadores en C y C++ son una herramienta

Más detalles

LABORATORIO Nº 2 GUÍA PARA REALIZAR FORMULAS EN EXCEL

LABORATORIO Nº 2 GUÍA PARA REALIZAR FORMULAS EN EXCEL OBJETIVO Mejorar el nivel de comprensión y el manejo de las destrezas del estudiante para utilizar formulas en Microsoft Excel 2010. 1) DEFINICIÓN Una fórmula de Excel es un código especial que introducimos

Más detalles

Estructuras de repetición

Estructuras de repetición Estructuras de repetición Fundamentos de Programación Fundamentos de Programación I FP-PFI Curso 2005-2006 1 Estructuras iterativos Sentencia for for(inic; cond; increm) sentencia1; sentencia2; Sentencia

Más detalles

Práctica 3 mtp. metodoloxía e tecnoloxía da programación. Presentar detalles básicos sobre la sintaxis del lenguaje de programación Java.

Práctica 3 mtp. metodoloxía e tecnoloxía da programación. Presentar detalles básicos sobre la sintaxis del lenguaje de programación Java. Práctica 3 mtp metodoloxía e tecnoloxía da programación Objetivos: Duración: Presentar detalles básicos sobre la sintaxis del lenguaje de programación Java. 1 semana 1.- Identificadores Los identificadores

Más detalles

TEMA 3: EL LENGUAJE C: PRESENTACIÓN

TEMA 3: EL LENGUAJE C: PRESENTACIÓN TEMA 3: EL LENGUAJE C: PRESENTACIÓN Historia del lenguaje C Características del lenguaje C Estructura de un programa en C El editor de textos: elementos Funciones: de usuario y de librería Librerías de

Más detalles

Programa Java. El lenguaje de programación Java. Comentarios. Programa Java. Palabras reservadas. Identificadores

Programa Java. El lenguaje de programación Java. Comentarios. Programa Java. Palabras reservadas. Identificadores El lenguaje de programación Java Programa Java Un programa Java está formado por un conjunto de clases que interactúan entre sí La clase es la unidad básica de programación La ejecución depende de la clase

Más detalles

Entorno de trabajo y funciones matemáticas en Excel

Entorno de trabajo y funciones matemáticas en Excel Libro 7 Entorno de trabajo y funciones matemáticas en Excel NTICx / Informática para Adultos Profesor: Carlos A. Sardá 2012 1. Entorno de trabajo de Excel Excel es un programa de computadora desarrollado

Más detalles

Tema 3: Herencia en C++ Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle

Tema 3: Herencia en C++ Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle Tema 3: Herencia en C++ Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle Contenido Tipos de herencia Herencia y niveles de visibilidad Herencia y creación Redefinición de métodos Conversión

Más detalles

Programación Avanzada para Sistemas de Telecomunicación. Objetos y clases. J.C. Cruellas. Objetos y clases

Programación Avanzada para Sistemas de Telecomunicación. Objetos y clases. J.C. Cruellas. Objetos y clases Programación Avanzada para Sistemas de Telecomunicación Objetos y clases Juan Carlos Cruellas cruellas@ac.upc.es Objetos y clases Concepto de objeto. Concepto de clase. Clases, objetos y programas. Clases

Más detalles

Universidad Católica del Maule. Fundamentos de Computación Especificación de tipos de datos ESPECIFICACIÓN ALGEBRAICA DE TIPOS DE DATOS

Universidad Católica del Maule. Fundamentos de Computación Especificación de tipos de datos ESPECIFICACIÓN ALGEBRAICA DE TIPOS DE DATOS Especificación algebraica ESPECIFICACIÓN ALGEBRAICA DE TIPOS DE DATOS Un tipo abstracto de datos se determina por las operaciones asociadas, incluyendo constantes que se consideran como operaciones sin

Más detalles

Curso de Doctorado: Tecnologías de Objetos

Curso de Doctorado: Tecnologías de Objetos Curso de Doctorado: Tecnologías de Objetos Grupo IMO Área de Lenguajes y Sistemas Informáticos Departamento de Informática J. Baltasar García Perez-Schofield http://webs.uvigo.es/jbgarcia/ Implementación

Más detalles

LABORATORIO 1 OPERACIONES DE ENTRADA Y SALIDA

LABORATORIO 1 OPERACIONES DE ENTRADA Y SALIDA LABORATORIO 1 OPERACIONES DE ENTRADA Y SALIDA 1 OBJETIVOS Al finalizar esta actividad, serás capaz de: Entender el funcionamiento del compilador. Definir variables y efectuar asignaciones de valores con

Más detalles

Elementos léxicos del lenguaje de programación Java

Elementos léxicos del lenguaje de programación Java Elementos léxicos del lenguaje de programación Java Elementos léxicos del lenguaje de programación Java Palabras reservadas Identificadores Literales Operadores Delimitadores Comentarios Apéndices Operadores

Más detalles

CONCEPTOS FUNDAMENTALES DE LA ORIENTACION A OBJETOS

CONCEPTOS FUNDAMENTALES DE LA ORIENTACION A OBJETOS CAPITULO 3 CONCEPTOS FUNDAMENTALES DE LA ORIENTACION A OBJETOS 3.1. QUE ES LA PROGRAMACIÓN ORIENTADA A OBJETOS? La POO no es un lenguaje de programación. La POO es una nueva manera de "atacar" los problemas

Más detalles

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

Examen Junio- Grupo A Lunes 17 de Junio - Programación en C++ Pág. 1 Examen Junio- Grupo A Lunes 17 de Junio - Programación en C++ Pág. 1 ÍNDICE ÍNDICE... 1 1.1 Ejercicio 1: Máquina Expendedora (3.5 ptos.)... 1 1.2 Ejercicio 2: Clase Circulo (1.0 pto.)... 3 1.3 Ejercicio

Más detalles

Programación III. 1. Facultad: Ingeniería Escuela: Computación Asignatura:Programación III I. OBJETIVOS II. INTRODUCCIÓN TEÓRICA

Programación III. 1. Facultad: Ingeniería Escuela: Computación Asignatura:Programación III I. OBJETIVOS II. INTRODUCCIÓN TEÓRICA Programación III. 1 Facultad: Ingeniería Escuela: Computación Asignatura:Programación III GUIA1: Uso de C# modo consola. I. OBJETIVOS Qué el estudiante: Conozca el lenguaje de programación Visual C#.Net

Más detalles

Una variable de clase escalar tiene un nivel de indirección igual a 1. Por ejemplo, las variables i, b y x definidas como se muestra a continuación.

Una variable de clase escalar tiene un nivel de indirección igual a 1. Por ejemplo, las variables i, b y x definidas como se muestra a continuación. Descripción de la semántica de ALFA En esta descripción sólo se mencionarán los aspectos en los que el lenguaje de programación ALFA pueda diferir de otros lenguajes de programación de alto nivel. Se sobreentienden

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 2 de septiembre de 2015 Se debe disponer sobre la mesa en lugar visible un documento

Más detalles

Sistemas Operativos I Manual de prácticas

Sistemas Operativos I Manual de prácticas Sistemas Operativos I Manual de prácticas Grupo de Sistemas Operativos (DSIC/DISCA) Práctica 3: Procesos POSIX ANTES DE EMPEZAR...... 2 PRÁCTICA 3: PROCESOS POSIX... 2 CREACIÓN DE PROCESOS MEDIANTE FORK...

Más detalles

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

CONTENIDOS. 1. Completar el ejemplo de Herencia: Superclase Persona-Subclase Alumno CONTENIDOS 1. Completar el ejemplo de Herencia: Superclase Persona-Subclase Alumno 2. Redefinición de métodos. 3. Jerarquía de clases. 4. Ejecución de los pasos de mensajes con Herencia. 5. Problemas con

Más detalles

Programación en C++/Funciones

Programación en C++/Funciones Programación en C++/Funciones 1 Programación en C++/Funciones Estructuras Streams Funciones Definiendo una función Una función es un conjunto de líneas de código que realizan una tarea específica y puede

Más detalles

Prof. Dr. Paul Bustamante

Prof. Dr. Paul Bustamante Carnet Nombre: Examen C++ Grupo A Informática II Fundamentos de Programación Prof. Dr. Paul Bustamante Pág.1 Índice 1. INTRODUCCIÓN... 1 2. EJERCICIO 1: AGENDA TELEFÓNICA (4.0 PTOS.)...1 3. EJERCICIO 2:

Más detalles

Operaciones en el Modelo Relacional. Relacional. Relacional. Índice. Lenguajes de Consulta

Operaciones en el Modelo Relacional. Relacional. Relacional. Índice. Lenguajes de Consulta Operaciones en el Modelo Relacional Bases de Datos Ingeniería a Técnica T en Informática de Sistemas El interés de los usuarios de las bases de datos se suele centrar en realizar consultas (contestar a

Más detalles

Programación en Java. Hola Jesus. Primera clase del curso de Java

Programación en Java. Hola Jesus. Primera clase del curso de Java Programación en Java Un programa o aplicación Java se compone de un conjunto de clases que contienen variables de diversos tipos utilizadas para almacenar datos, y métodos que implementan código capaz

Más detalles

Se guardan en archivos con extencion c y los cabezales con extension h

Se guardan en archivos con extencion c y los cabezales con extension h Se guardan en archivos con extencion c y los cabezales con extension h Tipos de Variables: Tipo Tamaño(bytes) Limite inferior Limite superior char 1 -- -- unsigned char 1 0 255 short int 2-32768 +32767

Más detalles

Plantillas de clases ( Templates )

Plantillas de clases ( Templates ) 1. Plantilla de funciones o funciones genéricas 2. Métodos genéricos 3. Plantillas de clases o clases genéricas 4. Sintaxis 5. Creación de objetos 6. Representación en UML 7. Miembros de las clases genéricas

Más detalles

Organización de Computadoras

Organización de Computadoras Organización de Computadoras Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Segundo Cuatrimestre de 2015 Proyecto N 1 Programación en Lenguaje C El objetivo principal

Más detalles

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

Vectores. 27/05/05 Programación Digital I 1 Vectores Material Original: Prof. Flor Narciso Modificaciones: Prof. Andrés Arcia Departamento de Computación Escuela de Ingeniería de Sistemas Facultad de Ingeniería Universidad de Los Andes Programación

Más detalles

PRACTICA #1. Aprender a programar una interrupción software empleando C y/o Ensamblador.

PRACTICA #1. Aprender a programar una interrupción software empleando C y/o Ensamblador. PRACTICA #1 Aprender a programar una interrupción software empleando C y/o Ensamblador. Aprender a manipular dispositivos externos (8253, 8255) desde C y/o ensamblador. PROCEDIMIENTO: Vamos a programar

Más detalles

Práctica 2: Simón dice

Práctica 2: Simón dice Práctica 2: Simón dice Fecha de entrega: 31 de enero de 2016 0.- Descripción del juego (Wikipedia.org) Simon dice es un juego electrónico, creado por Ralph Baer, que consiste en reproducir una secuencia

Más detalles

Repaso de las características más importantes de la programación Java y su adaptación a Android

Repaso de las características más importantes de la programación Java y su adaptación a Android Repaso de las características más importantes de la programación Java y su adaptación a Android 1. Entorno de programación en java 2. Variables y tipos de datos 3. Operaciones y operadores 4. Clases y

Más detalles

LECCION 2 FORMULAS Y FUNCIONES

LECCION 2 FORMULAS Y FUNCIONES LECCION 2 FORMULAS Y FUNCIONES FÓRMULAS Esta es una de las características más importantes de una planilla de cálculos. Permite establecer relaciones entre constantes, funciones y referencias a celdas

Más detalles

15. Parámetros o argumentos

15. Parámetros o argumentos Programación orientada a objetos con Java 161 15. Parámetros o argumentos Objetivos: a) Profundizar en el concepto de parámetro de una clase e indicar su mecanismo de funcionamiento. b) Interpretar el

Más detalles

Identificadores, palabras reservadas, tipos de datos, operadores aritméticos y el sistema estándar de salida en Java

Identificadores, palabras reservadas, tipos de datos, operadores aritméticos y el sistema estándar de salida en Java Identificadores, palabras reservadas, tipos de datos, operadores aritméticos y el sistema estándar de salida en Java Identificadores Las variables se utilizan en programación para almacenar temporalmente

Más detalles

8.1 Un primer bucle FOR... 5 8.2 Varias formas de utilizar el bucle FOR... 5 8.3 Calcular el factorial de un número mediante un bucle FOR...

8.1 Un primer bucle FOR... 5 8.2 Varias formas de utilizar el bucle FOR... 5 8.3 Calcular el factorial de un número mediante un bucle FOR... PROGRAMACIÓN EN C++ PRÁCTICA 08 INTRODUCCIÓN A C++ SENTENCIAS DE CONTROL DEL FLUJO DE UN PROGRAMA: Ejercicio 1. Un primer programa en C++....1 Ejercicio 2. Una conversación en C++....2 Ejercicio 3. Una

Más detalles

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

Índice ÍNDICE...1 1. EJERCICIO 1: CÁLCULO FINANCIERO (5 PTOS.)...1 2. EJERCICIO 2: AGENCIA DE COLOCACIONES (5 PTOS.)...4 Pág.1 Índice ÍNDICE...1 1. EJERCICIO 1: CÁLCULO FINANCIERO (5 PTOS.)...1 2. EJERCICIO 2: AGENCIA DE COLOCACIONES (5 PTOS.)...4 1. Ejercicio 1: Cálculo Financiero (5 ptos.) Desde un banco se le ha encargado

Más detalles

Ejercicios propuestos de. Programación orientada a objetos. con C++ Cristina Cachero Pedro J. Ponce de León

Ejercicios propuestos de. Programación orientada a objetos. con C++ Cristina Cachero Pedro J. Ponce de León de Programación orientada a objetos con C++ Cristina Cachero Pedro J. Ponce de León Departamento de Lenguajes y Sistemas Informáticos Universidad de Alicante Esta obra está bajo licencia Creative Commons

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

void main(void) { string lname; list <string> lnamelist; cout << "Please enter your list of last names finishing with `.`"<<endl;

void main(void) { string lname; list <string> lnamelist; cout << Please enter your list of last names finishing with `.`<<endl; Segundo Certamen 1.- Haga uso de la información adjunta y desarrolle un programa en C++ que lea apellidos de teclado y los almacene en una lista. Luego se pide listar los apellidos en orden alfabético

Más detalles

Clases abstractas no polimórficas para C++

Clases abstractas no polimórficas para C++ Clases abstractas no polimórficas para C++ Adolfo Di Mare Universidad de Costa Rica Escuela de Ciencias de la Computación e Informática adolfo.dimare@ecci.ucr.ac.cr RESUMEN Se describe cómo lograr que

Más detalles

2. Estructura de un programa en Java

2. Estructura de un programa en Java 24 A. García-Beltrán y J.M. Arranz 2. Estructura de un programa en Java Objetivos: a) Describir la estructura del código fuente de una aplicación Java b) Presentar los conceptos de comentario y de identificador

Más detalles

Práctica 8: Barreras

Práctica 8: Barreras Arquitectura y Tecnología de Computadores 14 de febrero de 2014 Objetivos Aprender a utilizar las variables condición y las barreras de la biblioteca Pthreads. Diseñar e implementar una barrera: Barrera

Más detalles