Programación Avanzada

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

Download "Programación Avanzada"

Transcripción

1 Programación Avanzada Hernández Programa Contenido del curso Bibliografía Criterios de Evaluación 1

2 Unidad I. INTRODUCCIÓN Introducción a la programación orientada a objetos. El concepto de objeto. Características de los objetos. Aplicación de los objetos a la solución de problemas. Unidad II. MODELADO DE PROGRAMAS USANDO OBJETOS Desarrollo de programas. Clases. Encapsulación Clases amigas. Sobrecarga. Constructores y destructores. Herencia. Polimorfismo. 2

3 Unidad III. PROGRAMACIÓN EN AMBIENTES VISUALES Introducción a la programación en ambientes visuales. Desarrollo de programas en un ambiente visual. MFC Controles Comunes Clases de la MFC Aplicaciones utilizando MFC Unidad IV. GRAFICACIÓN El modo gráfico. Manejo de Archivos (CFile) Animación. 3

4 Bibliografía Programación Orientada a Objetos Ceballos, Fco. Javier Alfaomega Visual C++ 6, Aplicaciones para Win32 Ceballos, Fco. Javier Alfaomega Edición Especial Visual C++ 6 Kate Gregory Prentice Hall Cómo programar en C/C++. Deitel Prentice Hall. Enciclopedia del Lenguaje C Ceballos Fco. Javier Addison-Wesley Iberoamericana Programación en C++, Algoritmos, estructurad de datos y objetos. Joyanes Aguilar McGraw Hill C++ Programación Orienta a objetos Smith J A Paraninfo Visual C++ 5 para desarrolladores Bennet D. Sams Thinking in C++ Bruce Eckel Bibliografía Reciente Ivor Horton s Beginning Visual C Ivor Horton Wiley Publishing, Inc. Ivor Horton s Beginning Visual C Ivor Horton Wiley Publishing, Inc. Extending MFC Applications with the.net Framework Tom Archer, Nishant Sivakumar Addison Wesley Programming with Microsoft Visual C++.NET, Sixth Edition Shepherd, George Microsoft Press Microsoft Visual C Express Edition Programming for the Absolute Beginner Aaron Miller with Jerry Lee Ford, Jr. Thomson Course Technology C++/CLI: The Visual C++ Language for.net Gordon Hogenson Springer 4

5 Criterios de acreditación Aprobar un examen por lo menos, para aprobar el curso en ordinario. Acreditar al menos el 80% de las Programas y tareas. Asistir al menos a un 80% de las clases. Entregar proyecto final (obligatorio). Nota: No hay extraordinario Evaluación Primavera - otoño 20% Examen Departamental 10% Examen parcial 40% Tareas y Programas 20% Proyecto 10% Presentación del proyecto 5

6 30% Exámenes 50% Programas 20% Proyecto Evaluación Verano Propuesta Programming with Visual C Nicolás Quiroz Hernádez 6

7 Evolución Microsoft Visual Studio 5 Microsoft Visual Studio 6 Microsoft Visual Studio.NET (2002) Microsoft Visual Studio.NET 2003 Microsoft Visual Studio 2005 Microsoft Visual Studio 2008 Lenguajes de programación Visual Basic Express Edition Visual C# Express Edition Visual C++ Express Edition Visual J# Express Edition (Desapareció en Visual Studio 2008) Visual Web Developer Express Edition (para programar en ASP.NET) 7

8 Visual Studio 5.0 Microsoft presentó la primera versión de Visual Studio en 1997 Visual Studio 5.0 Ediciones: Professional y Enterprise. Visual Basic 5.0 Visual C Visual J para programación en Java y Windows Visual FoxPro 5.0 Visual Interdev para la creación dinámica de sitios web mediante ASP (Active Server Pages) La librería Microsoft Developer Network a modo de documentación. Visual Studio 5.0 varios lenguajes utilizaran el mismo entorno de desarrollo. Visual C++, Visual J++, Interdev y MSDN Library, denominado Developer Studio. Por otro lado, Visual Basic y Visual FoxPro usaban diferentes entornos. Visual Studio 6.0 Se lanzó en 1998 y fue la última versión en ejecutarse en la plataforma Win9x. Esta versión fue la base para el sistema de desarrollo de Microsoft para los siguientes 4 años, en los que Microsoft migró su estrategia de desarrollo al Framework.NET. 8

9 Visual Studio.NET (2002) En esta versión se produjo un cambio sustancial, la introducción de la plataforma.net de Microsoft..NET es una plataforma de ejecución intermedia multilenguaje, de forma que los programas desarrollados en.net no se compilan en lenguaje máquina, sino en un lenguaje intermedio denominado Microsoft Intermediate Language (MSIL). Introducción del lenguaje C#, un lenguaje nuevo diseñado específicamente para la plataforma.net, basado en C++ y Java. C++ añadió extensiones al lenguaje llamadas Managed Extensions for C++ con el fin de que los programadores pudieran crear programas en.net. Esta versión requiere un sistema operativo basado en NT. La versión interna de Visual Studio.NET es la 7.0. Visual Studio.NET 2003 Visual Studio.NET 2003 supone una actualización menor de Visual Studio.NET. Se actualiza el.net Framework a la version 1.1. También se añade soporte con el fin de escribir aplicaciones para determinados dispositivos móviles, con ASP.NET o con el.net Compact Framework. Además el compilador de Visual C++ se mejora para cumplir con más estándares, el Visual C++ Toolkit Visual Studio 2003 se lanza en 4 ediciones: Academic, Professional, Enterprise Developer, y Enterprise Architect. La versión interna de Visual Studio.NET 2003 es la 7.1 aunque el formato del archivo es 8.0. Studio 2003 no funciona, ni será soportado en su sistema operativo Windows Vista. 9

10 Visual Studio 2005 Lanzado en Octubre de 2005 en inglés. En castellano Febrero de Microsoft.NET versión 2.0. A partir de la versión 2005 Microsoft ofrece gratuitamente las Express Editions. Visual Studio 2005 también añade soporte de 64-bit, soporta compilación para x86-64 (AMD64 e Intel 64) e IA- 64 (Itanium). Se lanzó el service Pack 1 para Visual Studio 2005 el 14 de Diciembre de La versión interna de Visual Studio 2005 es la 8.0, mientras que el formato del archivo es la 9.0. Visual Studio 2008 Lanzado en Noviembre de 2007 en inglés, la versión en castellano en Febrero de El nuevo framework (.Net 3.5) está diseñado para aprovechar las ventajas que ofrece el sistema operativo Windows Vista. Subsistemas: Windows Communication Foundation (WCF) construcción de aplicaciones orientadas a servicios Windows Presentation Foundation (WPF) creación de interfaces de usuario más dinámicas Mejoras en Microsoft Foundation Class Library (MFC) y Visual C++. 10

11 Visual Studio 2008 LINQ (Language Integrated Query) es un nuevo conjunto de herramientas diseñado para reducir la complejidad del acceso a Base de Datos, a través de extensiones para C++ y Visual Basic así como para Microsoft.NET Framework. Permite filtrar, enumerar, y crear proyecciones de muchos tipos y colecciones de datos utilizando todos la misma sintaxis, prescindiendo del uso de lenguajes especializados como SQL o XPath..NET 3.5 incluye biblioteca ASP.NET AJAX para desarrollar aplicaciones web más eficientes, interactivas y altamente personalizadas que funcionen para todos los navegadores más populares y utilicen las últimas tecnologías y herramientas Web, incluyendo Silverlight y Popfly. Developing C++ applications Windows Form 11

12 The.NET Framework The.NET Framework is a central concept in Visual C The.NET Framework consists of two elements: The Common Language Runtime (CLR) in which your application executes. A set of libraries called the.net Framework class libraries. You can write applications two kind: Applications that natively execute on your computer. Native C++ programs. Write applications to run under the control of the CLR in an extended version of C++ called C++/CLI. CLR programs, or C++/CLI programs. The.NET Framework is a component of the Windows operating system that makes it easier to build software applications and Web services. Unidad 0 Repaso 12

13 Tipos de datos simples o no estructurados Un tipo de dato define un conjunto de valores que puede tener una variable junto con un conjunto de operaciones que se pueden realizar sobre la variable. Enteros Flotantes (Reales) Carácter Lógico o Booleano (verdadero y falso) without issues. Notepad.exe creates ASCII text, or in MS Word you can save a file as 'text only' 13

14 Código extendido ASCII Tipos de datos fundamentales (datos simples o no estructurados) C C C C Enteros: C char, short, int, long, enum Flotantes: C float, double, long double Caracteres: C char Otros: C void C++ int8 entero 8-bit char int16 entero 16-bit short int32 entero 32-bit int, long int64 entero 64-bit bool entero de 8 bit (true, false) string cadenas 14

15 Tamaño en bytes Tipo char int long float double long double bool Byte 1 2/ bits 8 16/ void 0 0 Tipo signed char unsigned signed short unsigned signed int unsigned signed int unsigned signed long unsigned Intervalo Mínimo , , ,147,483, ,147,483,648 0 Máximo ,767 65,535 32,767 65,535 2,147,483,647 4,294,967,295 2,147,483,647 4,294,967,295 15

16 Flotantes Tipo Negativo Positivo float x x10-38 a x10-38 a x double x x a x a x long double x x a x a x Palabras Reservadas en ANSI C U 4 asm declspec far int32 return thread _asm default _fastcall int64 rtti throw asm delete finally _loadds _saveregs true auto do float long _seg try break double for mutable short typedef bool _ds friend namespace signed typename case dynamic_cast goto near sizeof typeid catch else huge new _ss union cdecl enum if operator static using char _es _import pascal static_cast unsigned class except inline private _stdcall virtual const explicit interrupt protected struct void const_cast _export int public switch volatile continue extern int8 register template wchar_t _cs false int16 reinterpret_cast this while 16

17 Palabras Reservadas en C++ and and_eq asm bitand bitor bool catch class compl const_cast delete dynamic_cast explicit export false friend inline mutable namespace new not not_eq operator or or_eq private protected public reinterpret_cast static_cast template this throw true try typeid typename using virtual w_char xor xor_eq Secuencias de escape \b \f \n \r \t \ \ \0 \\ \v \a \o \x Espacio atrás Salto de página Salto de línea Retorno de carro Tabulación horizontal Comillas dobles Comilla simple Nulo Barra invertida Tabulación vertical Alerta Constante octal Constante hexadecimal 17

18 Operadores aritméticos Operador - + * / % Acción Resta, menos Suma Multiplicación División División módulo (Residuo) Decremento Incremento Operadores relacionales Operador > >= < <= ==!= Acción Mayor Mayor o igual Menor Menor o igual Igual que Distinto que Los operadores pueden ser de tipo entero, flotante o apuntador. El resultado es un valor booleano (cierto o falso). 18

19 Lógicos (varables) Operador Acción && AND (Y) ** OR (O)! Negación (NO) Operadores a nivel de bits Operador Acción & * ^ - >> << And Or Or exclusiva Complemento a uno Desplazamiento a la derecha Desplazamiento a la izquierda 19

20 Precedencia :: * / % + - << >> < <= > >= ==!= & ^ &&? = += -= *= /= Símbolo ( ) [ ]. -> ++ --???_cast typeid - + ~! * & ++v --v sizeof new delete (tipo) ámbito postinc descripción índice, preinc, apuntadores operadores aritméticos corrimientos relacionales Tipos de datos estructurados Arreglos. Estructuras, uniones, Enumerativos y campo de bits. Archivos. 20

21 Arreglos Un arreglo es una colección de variables del mismo tipo que se referencian por un nombre común. Declaración: tipo Nombre_Arreglo [tam]; char p[10]; int vector[50]; float A[10], B[32]; Todos los arreglos tienen el 0 como índice de su primer elemento. Arreglos Multidimensionales Arreglo de dos dimensiones: int Matriz[10][10]; Arreglo de tres dimensiones: int Matriz3D[10][10][10]; 21

22 Asignación int X[10], Y[10]; X[0] = 7; X[1] = 23; X[2] = 1; X[3]= -12 i X Y[i] = X[0]; Cadenas Arreglo de caracteres de cualquier longitud que termina con un nulo ( \0 ). ejemplo: char cad[11]= Hola Mundo ; i cad H o l a M u n d o \0 22

23 Leer una cadena Leer una cadena de caracteres con la función scanf Por ejemplo: nombre y apellidos char cad[50]; printf( Escribir Nombre Completo: ); scanf( %s, cad); printf ( cadena: %s, cad); gets U 4 Obtiene una cadena de la entrada estándar (teclado) char *gets(char *s); Retorna la cadena en el argumentos, o NULL sino tuvo éxito. Puede leer espacios en blanco. char cad[50]; printf( Escribir Nombre Completo: ); gets(cad); printf ( cadena: %s, cad); 23

24 Estructuras, uniones, etc. Una Estructura es una agrupación de variables bajo un mismo nombre. La Unión es una variable que puede contener miembros de diferentes tipos, en una misma zona de memoria. Un Campo de bits es un conjunto de bits adyacentes dentro de una unidad direccionable. La Enumeración es una lista de símbolos. La palabra clave typedef simplemente crea un nuevo nombre para un tipo ya existente. Declaración de Estructura struct nombre_struct declaración de miembros; ; variables: struct nombre_struct info1, *info2; 24

25 Estructura struct dir char nombre[30]; double adeudo; long matricula; ; variables: asignación: struct dir info1, *info2; double x; gets(info1.nombre) info1.matricula = ; info2 ->matricula = ; strcpy(info1.nombre, Nicolas Quiroz ); x= info1.adeudo; //obtiene un valor Declaración de Unión union nombre_union declaración de los miembros; ; variables: union nombre_union x, y; 25

26 Unión union datos char var1; int var2; float var3; ; union datos x, y; Tipo enumerativo (enum) Para C un tipo enumerado es un tipo int. Para C++ un tipo enumerado es un nuevo tipo. enum colores azul, verde, rojo; colores color1 = azul; //correcto int color2 = verde; //correcto colores color3 = 2; //error: asignación de un entero colores color4 = colores(2); //correcto (conversión explicita) 26

27 Campo de bits Declaración: tipo [identificador] : expresión constante; expresión constante especifica el número de bits en el campo. El tipo tiene que ser entero con signo o sin signo. Se pueden definir como miembros de una estructura. Entrada/salida Estándar (Teclado/Monitor) operadores de inserción o de extracción Ejemplos: C scanf("%d", &n); printf( n = %d, n); C++ cin >> n; (extracción) cout << n; (inserción) 27

28 Números Primos Cómo? Ningún número par es primo, solamente algunos impares, probar los impares. Los primeros 100 Números primos #include <iostream> #include <iomanip> using namespace std; int main( ) const int MAX = 100; // Numero de primos requerido long primos[max] = 2,3,5 ; // Primeros 3 primos long probar = 5; // Candidato a primo int conteo = 3; // Conteo de los primos encontrados int encontrado = 0; // Indica si un primo es encontrado doprobar += 2; // Valor siguiente para checar encontrado = 0; // coloca indicador de encontrao for(int i = 0; i < conteo; i++) // División para probar si es primo encontrado= (probar % *(primos + i)) == 0; // Verdadero si división es if(encontrado) // Si división es exacta //exacta break; // Es no un primo if (encontrado == 0) // Se obtuvo un primo *(primos + conteo++) = probar; // se guarda en el arreglo primos while(conteo < MAX); 28

29 Los primeros 100 Números primos Continuación // Se imprimen 5 primos en una renglon for(int i = 0; i < MAX; i++) if(i % 5 == 0) cout << endl; cout << setw(15) << *(primos + i); cout << endl; return 0; Hacer un programa que utilice apuntadores para escribe una cadena al revés (InvCadena.cpp) void main() char cad[20], *p; int i, j; p = cad; cout<<"dar cadena:"<<endl; cin.getline( cad, 20); for ( i = 0; i < 20; i++) //tamaño de la cadena if (cad[ i ] == '\0') p = p + i - 1; break; for ( j = 0; j < i; j++) //inversión de la cadena cout<<*p; p --; cout<<endl; 29

30 Ejemplo de estructuras (estpersona.cpp) #include<iostream.h> void main() Persona P1; struct Persona char Nombre[50]; int Edad; float Peso; ; cout<<"datos de una persona"<<endl <<"Nombre: "; cin.getline(p1.nombre, 50); cout<<"edad: "; cin>>p1.edad; cout<<"peso: "; cin>>p1.peso; cout<<"resultados"<<endl <<P1.Nombre<<endl <<P1.Edad<<endl <<P1.Peso<<endl; Apuntadores a estructuras void main() Persona P1, *P3; Apuntador a estructura P3=&P1; cout<<"datos de una persona"<<endl <<"Nombre: "; cin.getline(p1.nombre,50); cout<<"edad: "; cin>>p3->edad; cout<<"peso: "; cin>>p1.peso; cout<<"resultados"<<endl <<P1.Nombre<<endl <<P1.Edad<<endl <<P3->Peso<<endl; Dato asignado por apuntador Dato obtenido por apuntador Inicialización del apuntador 30

31 C++ Programación Orientada a Objetos (POO) Hernández POO La Programación Orientada a Objetos toma las mejores ideas de la programación estructurada la combina con nuevos y poderosos conceptos: objetos, polimorfismo y herencia. La Programación Orientada a Objetos permite descomponer fácilmente un problema en subgrupos de partes relacionadas. Entonces, puede traducir estos subgrupos en unidades autocontenidas llamadas Objetos. 31

32 Objeto POO Entidad lógica que contiene datos y código que manipula esos datos. Parte del código y datos pueden ser privados del objeto (encapsulación). POO Polimorfismo: Permite usar un nombre para varios propósitos relacionados pero ligeramente diferentes. El polimorfismo permite que las instancias de diferentes clases respondan a la misma función en forma adecuada para cada clase. Herencia: La herencia es propiedad que permite a los objetos construirse a partir de otros objetos. El concepto de herencia está presente en nuestras vidas diarias donde las clases se dividen en subclases. 32

33 Los objetos soportan una serie de características Se agrupan en grupos denominados clases Contienen datos internos que definen su estado actual. Soportan ocultamiento de datos. Pueden heredar propiedades de otros objetos. Pueden comunicarse con otros objetos enviando o pasando mensajes. Tienen métodos que definen su comportamiento Clase Una clase es un tipo especial de datos, y esta orientado a la creación de objetos y que consta de unos miembros que pueden ser datos o métodos (funciones) privadas o públicas. Una clase es un tipo de dato que contiene elementos llamados datos miembro, y funciones que manipulan esos datos (llamados función miembro o método). Una clase se puede definir con una estructura (struct), una unión (unión) o una clase (class). 33

34 MENSAJES: Activación de Objetos La comunicación con el objeto se realiza a través del paso de mensajes. El envío de un mensaje a una ejemplar (Instancia) de una clase produce la ejecución de un método ( función miembro en C++). El paso de mensajes es el termino utilizado para referirnos a la invocación o llamada de una función miembro de un objeto. La noción de paso de mensajes es fundamental en todos los lenguajes de programación Orientada a Objetos. Comunicación entre Objetos Objeto a Privados Objeto b atributos métodos Mensajes atributos métodos Públicos 34

35 Declaración de una clase class Nombre_Clase public: //miembros públicos; private: //miembros privados; protected: // miembros protegidos; ; class Circulo private: double x, y; double radio; void AsignarValorX( double x ); Acceso a los miembros NombreObjeto.NombreMiembro void main( ) Circulo c; c.asignarvalorx( 3); 35

36 Datos (atributos): Largo Ancho Rectángulo Perímetro y Área Métodos (funciones) Area() Perimetro() AsignarAncho() ObtenerAncho() AsignarLargo() ObtenerLargo() ancho largo Clase Rectángulo Area() Perimetro() Privados Públicos Largo Ancho AsignarAncho() ObtenerAncho() 36

37 Clase Rectangulo class Rectangulo private: //atributos float ancho, largo; public: //métodos float Area() return largo*ancho; void AsignarAncho(float an) ancho = an; float ObtenerAncho() return ancho; ; Definición de métodos fuera de la clase ValorRetorna NombreClase::NombreMetodo(parametros) //codigo Ejemplo: float Rectangulo::ObtenerAncho( ) return ancho; 37

38 Triángulo Perímetro y Área b h A = 2 ( a + b + c) s = 2 A = s( s a)( s b)( s c) a b c P = a + b + c Atributos: lado1 lado2 lado3 color Métodos AsignarLados( ) AsignarColor() ObtenerLados() ObtenerColor() Area(arg) Perimetro(arg) Clase Triángulo Miembros 38

39 Constructores 1. El nombre del constructor debe ser idéntico al nombre de su clase. 2. No debe incluir ningún tipo de retorno, ni siquiera void. 3. Una clase puede tener cualquier cantidad de constructores, incluso ninguno. En este último caso, el compilador automáticamente crea uno para esta clase. 4. El constructor predeterminado es aquel que no tiene parámetros o posee una lista de parámetros, donde todos usan argumentos predeterminados. 5. Se utilizan para inicializar los objetos. 6. Un constructor de copia le permite crear instancias de clase copiando los datos de instancia existentes. La sintaxis general, constructores class nombreclase public: nombreclase( ); //Constructor predeterminado nombreclase(const nomclase& c); //Constructor de copia nombreclase(<lista de parametros>); //otro constructor ; 39

40 Destructores 1.- El nombre del destructor debe comenzar con una tilde (~). El resto del nombre del destructor debe ser idéntico al nombre de su clase. 2.- No debe incluir ningún tipo de retorno, ni siquiera void. 3.- Una clase no puede tener mas de un destructor. Además, si omites el destructor, el compilador lo crea automáticamente. 4.- El destructor no puede tener ningún parámetro. 5.- El sistema en tiempo de ejecución llama automáticamente a un destructor de la clase cuando la instancia de esa clase cae fuera de alcance o cuando la instancia se borra explícitamente. Destructores Las clases de C++ pueden contener destructores que eliminan automáticamente las instancias de la clase. La sintaxis general para los destructores es: class nombreclase // datos miembros public: nombreclase( ); //Constructor predeterminado //otros constructores ~nombreclase( ); //destructor //Otros métodos miembro ; 40

41 Ejemplo de constructores y destructores Crea un arreglo dinámico (el objeto) Asigna valores a los elementos del arreglo dinámico. Despliega los valores del arreglo dinámico. Elimina el arreglo dinámico. # include <iostream.h> const unsigned MIN_SIZE = 4; class Array protected: double *dataptr; unsigned sz; public: Array(unsigned size = MIN_SIZE); Array(const Array& a); ~Array(); delete[ ] dataptr; Constructores y destructores unsigned Size() const return sz; void store(double x, unsigned index) if (index < sz) dataptr[ index ] = x; double recall(unsigned index) if (index < sz ) return dataptr [ index ]; return -1; ; 41

42 Constructores Array::Array(unsigned Size) sz = (size < MIN_SIZE)? MIN_SIZE : size; dataptr = new double[sz]; Array::Array(const Array& a) sz = a.sz; dataptr = new double[sz]; for (int i = 0; i < sz; i++) dataptr[i] = a.dataptr [ i ]; Función principal (main) int main() Array Arr(10); double x; //asigna datos a los elementos del arreglo for (unsigned i = 0; i < Arr.Size( ); i++) Arr.store((double) (i*i), i); //despliega los datos del elemento arreglo cout<<"arr tiene los siguientes valores:"<<endl; for(int i = 0; i < Arr.Size(); i++) cout<<"arr[" <<i<<"] = " << Arr.recall(i) << endl; return 0; 42

43 Tarea POO Directorio Diseñar un programa OO para llevar el control de datos sobre los empleados de una empresa. Nombre, dirección, teléfono, salario, fecha de nacimiento, CURP, etc. Objeto? Persona Clase Persona Miembros Datos: Métodos: Nombre Apellidos Dirección Teléfono Salario ID AsignarNombre, ObtenerNombre AsignarApellido, ObtenerApellido AsignarDirección, ObtenerDirección AsignarTeléfono, ObtenerTeléfono AsignarSalario, ObtenerSalario 43

44 Formato de E/S Dos formas Usando las funciones miembro de la clase ios Manipuladores Ejemplo: activar y desactivar Flujo.setf(ios::showbase); Flujo.unsetf(ios::showbase); E/S con formato miembros de ios boolalpha, to insert or extract objects of type bool as names (such as true and false) rather than as numeric values. dec, to insert or extract integer values in decimal format. fixed, to insert floating-point values in fixed-point format (with no exponent field). hex, to insert or extract integer values in hexadecimal format. internal, to pad to a field width as needed by inserting fill characters at a point internal to a generated numeric field. left, to pad to a field width as needed by inserting fill characters at the end of a generated field (left justification). oct, to insert or extract integer values in octal format. 44

45 E/S con formato miembros de la clase ios right, topadtoa field width as needed by inserting fill characters at the beginning of a generated field (right justification). scientific, to insert floating-point values in scientific format (with an exponent field). showbase, to insert a prefix that reveals the base of a generated integer field. showpoint, to insert a decimal point unconditionally in a generated floating-point field. showpos, to insert a plus sign in a non-negative generated numeric field. skipws, to skip leading white space before certain extractions. unitbuf, to flush output after each insertion. uppercase, to insert uppercase equivalents of lowercase letters in certain insertions. width streamsize width() const; streamsize width(streamsize wide); 45

46 iostream Class Hierarchy Diagram: ostream class The three most important output stream classes are ostream, ofstream, andostrstream. ostream class: cout standard output cerr standard error with limited buffering clog similar to cerr but with full buffering 46

47 fstream class open Opens a file and attaches it to the filebuf object and thus to the stream. close Flushes any waiting output and closes the stream s file. setbuf Attaches the specified reserve area to the stream s filebuf object. setmode Sets the stream s mode to binary or text. attach Attaches the stream (through the filebuf object) to an open file. Status/Information Public Members rdbuf Gets the stream s filebuf object. fd Returns the file descriptor associated with the stream. is_open Tests whether the stream s file is open. ifstream::open void open( const char* szname, int nmode = ios::in, int nprot = filebuf::openprot ); Parameters szname The name of the file to be opened during construction. nmode An integer containing bits defined as ios enumerators that can be combined with the OR ( ) operator. See the ifstream constructor for a list of the enumerators. The ios::in mode is implied. nprot The file protection specification; defaults to the static integer filebuf::openprot. See the ifstream constructor for a list of the other allowed values. 47

48 ifstream::open nmode nmode An integer that contains mode bits defined as ios enumerators that can be combined with the bitwise OR ( ) operator. The nmode parameter must have one of the following values: ios::in The file is opened for input (default). ios::nocreate If the file does not already exist, the function fails. ios::binary Opens the file in binary mode (the default is text mode). Note that the ios::nocreate flag is necessary if you intend to test for the file s existence (the usual case). ifstream::open nprot The file protection specification; defaults to the static integer filebuf::openprot that is equivalent to filebuf::sh_compat. The possible nprot values are: filebuf::sh_compat Compatibility share mode. filebuf::sh_none Exclusivemode no sharing. filebuf::sh_read Read sharing allowed. filebuf::sh_write Write sharing allowed. To combine the filebuf::sh_read and filebuf::sh_write modes, use the logical OR ( ) operator. 48

49 ifstream::setmode int setmode( int nmode = filebuf::text ); Return Value The previous mode; 1 if the parameter is invalid, the file is not open, or the mode cannot be changed. Parameters nmode filebuf::text Text mode (newline characters translated to and from carriage return linefeed pairs). filebuf::binary Binary mode (no translation). ifstream::close void close(); Remarks Calls the close member function for the associated filebuf object. This function, in turn, closes the file and disconnects the file from the filebuf object. The filebuf object is not destroyed. The stream s error state is cleared unless the call to filebuf::close fails. 49

50 Referencias Una referencia es un nombre alternativo (un sinónimo) para un objeto o variable. Utilización de ambos lados del operador de asignación. tipo& NombreReferencia = objeto; Ejemplo: int y = 10; int& x = y; //x es una referencia de y Siempre que se declare una referencia debe ser inicializada, o al menos que se un parámetro de una función no se inicializa. Utilización a ambos lados del operador de asignación, con referencias class CReferencia private: int x; public: int& Valor() return x; ; void main() CReferencia obj; int y; obj.valor()=10; y=obj.valor(); cout<<y<<endl; 50

51 Paso de parámetros por Referencia Dos formas: 1. Pasar la dirección del parámetro actual a su correspondiente parámetro formal, el cual tiene que ser un apuntador. 2. Declarar el parámetro formal, como una referencia al parámetro actual que se quiere pasar como referencia. Clase CFecha fechas correctas Objetivos: Parámetros por omisión Sobre carga de funciones funcion(parámetros) const, la función no puede modificar al objeto Referencias Manejo de fechas y tiempo (time.h) Apuntador this Funciones amigas (friend) 51

52 Clase CFecha Diseñar una clase que almacene una fecha, verificando que es correcta: dia <1 y días del mes> mes <1 y 12> año 1900 Atributos: dia, mes, anyo Métodos Públicos: AsignarFecha, permite asignar la fecha ObtenerFecha, obtiene la fecha de un objeto existente FechaCorrecta, verifica si la fecha es correcta (true o false) Métodos Privados: Bisiesto, verifica si el año es bisiesto Funciones globales: leerfecha, permite leer la fecha ingresado por el usuario visualizarfecha, muestra en pantalla la fecha de un objeto (CFecha) Clase CFecha (fecha.h) class CFecha // Atributos private: int m_dia, m_mes, m_anyo; // Métodos protected: bool bisiesto() const; public: void AsignarFecha(int dd, int mm, int aaaa); void ObtenerFecha(int *dd, int *mm, int *aaaa) const; bool FechaCorrecta() const; ; 52

53 asignarfecha, obtenerfecha (fecha.cpp) void CFecha::AsignarFecha(int dd, int mm, int aaaa) m_dia = dd; m_mes = mm; m_anyo = aaaa; void CFecha::ObtenerFecha(int *dd, int *mm, int *aaaa) const *dd = m_dia; *mm = m_mes; *aaaa = m_anyo; bool CFecha::Bisiesto() const return ((m_anyo % 4 == 0) && (m_anyo % 100!= 0) (m_anyo % 400 == 0)); fechacorrecta (fecha.cpp) bool CFecha::FechaCorrecta( ) const bool diacorrecto, mescorrecto, anyocorrecto; anyocorrecto = (m_anyo >= 1900); // año correcto? mescorrecto = (m_mes >= 1) && (m_mes <= 12); // mes correcto? switch (m_mes) // día correcto? case 2: if (bisiesto()) //Febrero bisiesto diacorrecto = (m_dia >= 1 && m_dia <= 29); else //Febrero 28 dias diacorrecto = (m_dia >= 1 && m_dia <= 28); break; case 4: case 6: case 9: case 11: //meses de 30 días diacorrecto = (m_dia >= 1 && m_dia <= 30); break; default: //meses de 31 días diacorrecto = (m_dia >= 1 && m_dia <= 31); return diacorrecto && mescorrecto && anyocorrecto; 53

www.aprendoencasa.com Curso Introducción JAVA Pág.: 1

www.aprendoencasa.com Curso Introducción JAVA Pág.: 1 www.aprendoencasa.com Curso Introducción JAVA Pág.: 1 Introducción Java es un lenguaje basado en la programación orientada a objetos (POO), este tipo de programación va más allá del tipo de programación

Más detalles

Tema 2. El lenguaje de programación Java (Parte 1)

Tema 2. El lenguaje de programación Java (Parte 1) Programación en Java Tema 2. El lenguaje de programación Java (Parte 1) Luis Rodríguez Baena Facultad de Informática Elementos del lenguaje (I) El juego de caracteres. No utiliza ASCII, sino Unicode de

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

CONCEPTOS BASICOS DEL LENGUAJE JAVA

CONCEPTOS BASICOS DEL LENGUAJE JAVA CONCEPTOS BASICOS DEL LENGUAJE JAVA NOMENCLATURA GENERAL En Java se distinguen las letras mayúsculas y minúsculas. Las reglas del lenguaje respecto a los nombres de variables son muy amplias y permiten

Más detalles

Universidad de Pamplona Materia: Programación 1 Docente: Ing. Lusbin Raúl Vargas LENGUAJE C ESTRUCTURA DE UN PROGRAMA EN C

Universidad de Pamplona Materia: Programación 1 Docente: Ing. Lusbin Raúl Vargas LENGUAJE C ESTRUCTURA DE UN PROGRAMA EN C Universidad de Pamplona Materia: Programación 1 Docente: Ing. Lusbin Raúl Vargas LENGUAJE C ESTRUCTURA DE UN PROGRAMA EN C Directivas del procesador Main() { Declaraciones Definiciones proposiciones }

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

TEMA 4. ELEMENTOS BÁSICOS DE PROGRAMACIÓN

TEMA 4. ELEMENTOS BÁSICOS DE PROGRAMACIÓN TEMA 4. ELEMENTOS BÁSICOS DE PROGRAMACIÓN 4.1 Definiciones y palabras reservadas básicas del C El lenguaje C++ está compuesto por: 32 palabras clave (estándar ANSI), comunes a todos los compiladores de

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

Fundamentos del Lenguaje de Programación Java

Fundamentos del Lenguaje de Programación Java Fundamentos del Lenguaje de Programación Java M.C. Jorge Eduardo Ibarra Esquer jorgeeie@uabc.mx El lenguaje Java Estándares de codificación Comentarios Programas con Java Identificadores Palabras clave

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

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

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

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

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

Lo que necesitaremos para programar en Java, será un editor de texto o IDE y la JDK.

Lo que necesitaremos para programar en Java, será un editor de texto o IDE y la JDK. Introducción Java surgió en 1991 dentro de la empresa Sun Microsystems como un lenguaje de programación sencillo y universal destinado a electrodomésticos. La reducida potencia de cálculo y memoria de

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

JavaScript. Contenidos. Introducción El lenguaje Validación de formularios. Programación en Internet 2005-2006. DLSI - Universidad de Alicante 1

JavaScript. Contenidos. Introducción El lenguaje Validación de formularios. Programación en Internet 2005-2006. DLSI - Universidad de Alicante 1 Departamento de Lenguajes y Sistemas Informáticos JavaScript Programación en Internet Curso 2005-2006 Contenidos Introducción El lenguaje Validación de formularios DLSI - Universidad de Alicante 1 Introducción

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

Curso de programación en C++ Apuntes de clase EUI (UPV) Valencia, 17 al 28 de Julio de 1995. Sergio Talens Oliag

Curso de programación en C++ Apuntes de clase EUI (UPV) Valencia, 17 al 28 de Julio de 1995. Sergio Talens Oliag Curso de programación en C++ EUI (UPV) Valencia, 17 al 28 de Julio de 1995 Apuntes de clase Sergio Talens Oliag Contenidos BASES TEÓRICAS. INTRODUCCIÓN A LA POO 1 INTRODUCCIÓN.1 PARADIGMAS DE PROGRAMACIÓN..1

Más detalles

RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA

RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA UNED Centro Asociado de Cádiz RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA 1. OBJETOS Cualquier elemento del programa es un objeto. Un programa es un conjunto de objetos que se comunican entre sí

Más detalles

El lenguaje C: Elementos básicos del lenguaje

El lenguaje C: Elementos básicos del lenguaje Facultad de Ciencias Exactas, Ingeniería y Agrimensura Departamento de Sistemas e Informática Escuela de Electrónica Informática II El lenguaje C: Elementos básicos del lenguaje Este material debe utilizarse

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

Programación básica C++

Programación básica C++ Programación en Lenguaje C++ Programación básica C++ 6.3.1 Declaración de variables Introducción 6 Las variables sirven para identificar un determinado valor. Es importante tener en cuenta, que una variable

Más detalles

Introducción al desarrollo de RIA's con Adobe Flex 3.0 Dia 4

Introducción al desarrollo de RIA's con Adobe Flex 3.0 Dia 4 Introducción al desarrollo de RIA's con Adobe Flex 3.0 Dia 4 by S. Muñoz-Gutiérrez stalinmunoz@yahoo.com, informes@grupolinda.org Grupo LINDA Facultad de Ingeniería UNAM México Octubre-Diciembre 2009 Identificando

Más detalles

TEMA 2. Agenda. Fundamentos de JAVA

TEMA 2. Agenda. Fundamentos de JAVA TEMA 2 Fundamentos de JAVA V1.3 Manuel Pereira González Agenda Introducción Historia de Java Características Principales Hello World Tipos Operadores Control de Flujo E/S básica Atributos y Métodos Resumen

Más detalles

Temario detallado. Conceptos generales de lenguajes y compiladores. Proceso de compilación de un programa en C++ bajo Code::Blocks

Temario detallado. Conceptos generales de lenguajes y compiladores. Proceso de compilación de un programa en C++ bajo Code::Blocks Temario detallado Programación básica en C++ Conceptos generales de lenguajes y compiladores Proceso de compilación de un programa en C++ bajo Code::Blocks Estructura básica de un programa en C++ Análisis

Más detalles

Informática I. Código 2547100 Semestre 2014-2. Para Ingeniería Electrónica e Ingeniería de Telecomunicaciones Profesor: Sebastián Isaza

Informática I. Código 2547100 Semestre 2014-2. Para Ingeniería Electrónica e Ingeniería de Telecomunicaciones Profesor: Sebastián Isaza Informática I Código 2547100 Semestre 2014-2 Para Ingeniería Electrónica e Ingeniería de Telecomunicaciones Profesor: Sebastián Isaza Programming tools Editor de texto (gedit, kate, vim, wordpad, etc):

Más detalles

UNIVERSIDAD NACIONAL AUTONOMA DE MÉXICO FACULTAD DE INGENIERIA VISUAL STUDIO Y OPENGL LABORATORIO COMPUTACIÓN GRAFICA

UNIVERSIDAD NACIONAL AUTONOMA DE MÉXICO FACULTAD DE INGENIERIA VISUAL STUDIO Y OPENGL LABORATORIO COMPUTACIÓN GRAFICA UNIVERSIDAD NACIONAL AUTONOMA DE MÉXICO FACULTAD DE INGENIERIA PRACTICA 1. INSTALACIÓN Y CONFIGURACIÓN DE VISUAL STUDIO Y OPENGL LABORATORIO COMPUTACIÓN GRAFICA PROFESORA: M.I. ELIZABETH FONSECA CHAVEZ

Más detalles

Algunas características de los lenguajes de programación orientados a objetos son:

Algunas características de los lenguajes de programación orientados a objetos son: Programación Orientada a Objetos (POO) La programación orientada a objetos es un paradigma de programación que, como su nombre lo indica, se basa en el uso de objetos estructuras de datos que consisten

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

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

Resumen Lenguaje Java

Resumen Lenguaje Java Resumen Lenguaje Java Comentarios Elementos del Lenguaje De una sola línea // comentario De varias líneas /* Este es un comentario de varias líneas */ Comentarios para Javadoc /** * The Example class */

Más detalles

Los caracteres de Java pueden agruparse en letras, dígitos, espacios en blanco, caracteres especiales, signos de puntuación y secuencias de escape.

Los caracteres de Java pueden agruparse en letras, dígitos, espacios en blanco, caracteres especiales, signos de puntuación y secuencias de escape. CARACTERES EN JAVA Los caracteres de Java pueden agruparse en letras, dígitos, espacios en blanco, caracteres especiales, signos de puntuación y secuencias de escape. Letra, Dígitos y Otros Estos caracteres

Más detalles

Práctica 4: Herencia. Objetivos:

Práctica 4: Herencia. Objetivos: Práctica 4: Herencia Objetivos: Como se implementa la herencia en Java (superclase - clase descendiente). Utilizar super. Redefinición de métodos Clase Object Clase System Clases abstractas 1. Herencia.

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

Estructura de Datos [Tipos de datos concretos y tipos de datos abstractos]

Estructura de Datos [Tipos de datos concretos y tipos de datos abstractos] Estructura de Datos [Tipos de datos concretos y tipos de datos abstractos] M. en C. Sergio Luis Pérez Pérez UAM CUAJIMALPA, MÉXICO, D. F. Trimestre 14-O Sergio Luis Pérez (UAM CUAJIMALPA) Curso de Estructura

Más detalles

Qué ofrece la programación en AutoCAD? Qué necesito para empezar a programar? Qué es C# y.net? Autor: Jorge A. Díez Pomares Laboratorio de C.A.D.

Qué ofrece la programación en AutoCAD? Qué necesito para empezar a programar? Qué es C# y.net? Autor: Jorge A. Díez Pomares Laboratorio de C.A.D. Qué ofrece la programación en AutoCAD? Qué necesito para empezar a programar? Qué es C# y.net? Laboratorio de C.A.D. UMH 1 1.1. INTRODUCCIÓN 1.2. SOFTWARE NECESARIO 1.3. CONFIGURACIÓN DEL PROYECTO EN VS2010

Más detalles

Pseudolenguaje. (1 byte) 0.. 255 (valores códigos ASCII) [CHAR_MIN.. CHAR_MAX] (Definida en ) No hay. Dominio 0.. 2 n 1 [MIN(C)..

Pseudolenguaje. (1 byte) 0.. 255 (valores códigos ASCII) [CHAR_MIN.. CHAR_MAX] (Definida en <limits.h>) No hay. Dominio 0.. 2 n 1 [MIN(C).. Tipo C Dominio 0.. 2 n -1 [MIN(C).. MAX(C)] Operadores Aritméticos Otras funciones No hay CHR(...) CAP(...) ORD(...) E/S No Formateada: Leer (...) Escribir (...) char (1 byte) 0.. 255 (valores códigos

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

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

Arquitectura y Lenguaje Java

Arquitectura y Lenguaje Java Arquitectura y Lenguaje Java 1 Introducción El lenguaje de programación Java así como su arquitectura se diseñaron para resolver problemas que se presentan en la programación moderna. Se inició como parte

Más detalles

Lenguaje C. Tipos de Datos Simples y Estructuras de Control

Lenguaje C. Tipos de Datos Simples y Estructuras de Control Lenguaje C Tipos de Datos Simples y Estructuras de Control Lenguaje C C es un lenguaje de programación creado en 1972 por Dennis M. Ritchie en los Laboratorios Bell como evolución del anterior lenguaje

Más detalles

INICIACIÓN A LA PROGRAMACIÓN LENGUAJE JAVA

INICIACIÓN A LA PROGRAMACIÓN LENGUAJE JAVA INICIACIÓN A LA PROGRAMACIÓN LENGUAJE JAVA Introducción Qué es programar? Idear y ordenar las acciones necesarias para realizar un proyecto (R.A.E) En nuestro contexto: Resolver problemas, Automatizar

Más detalles

James Gosling, creador de Java

James Gosling, creador de Java Lo que Java intenta hacer y lo hace con bastante éxito, es abarcar dominios diferentes. De esa forma le permite efectuar trabajos para de aplicaciones del lado del servidor, del lado del cliente, para

Más detalles

Prácticas: Introducción a la programación en Java. Informática (1º Ingeniería Civil) Curso 2011/2012

Prácticas: Introducción a la programación en Java. Informática (1º Ingeniería Civil) Curso 2011/2012 Prácticas: Introducción a la programación en Java Informática (1º Ingeniería Civil) Índice Introducción a Java y al entorno de desarrollo NetBeans Estructura de un programa Tipos de datos Operadores Sentencias

Más detalles

Prácticas de Programación

Prácticas de Programación Prácticas de Programación Tema 1. Introducción al análisis y diseño de programas Tema 2. Clases y objetos Tema 4. Tratamiento de errores Tema 5. Aspectos avanzados de los tipos de datos Tema 6. Modularidad

Más detalles

Herencia e Interfaces

Herencia e Interfaces Herencia Introducción En C# cualquier dato es un objeto porque todos los tipos derivan implícitamente de este tipo, y heredan los métodos y campos definidos en dicha clase. Cada nuevo tipo tiene todo lo

Más detalles

FUNDAMENTOS DE JAVA PARA LA CONCURRENCIA

FUNDAMENTOS DE JAVA PARA LA CONCURRENCIA FUNDAMENTOS DE JAVA PARA LA CONCURRENCIA CONTENIDO: La Plataforma J2SE Elementos Básicos de Programación Nociones de Orientación a Objetos E/S y Manejo Básico de Excepciones Otros Conceptos sobre POO:

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

PROGRAMACIÓ DIDÁCTICA: Secuanciación, Temporalización y Unidades Didácticas

PROGRAMACIÓ DIDÁCTICA: Secuanciación, Temporalización y Unidades Didácticas Departamento de Informática PROGRAMACIÓN DIDÁCTICA Curso 11-12 1 CONSEJERÍA DE EDUCACIÓN I.E.S. NERVIÓN Departamento de Informática CICLO FORMATIVO: TÉCNICO SUPERIOR EN DESARROLLO DE APLICACIONES MULTIPLATAFORMA.

Más detalles

Contenido. Capítulo 1. Introducción a lenguaje C 1

Contenido. Capítulo 1. Introducción a lenguaje C 1 Contenido Capítulo 1. Introducción a lenguaje C 1 Introducción... 2 Qué es un lenguaje de programación?... 2 Tipos de lenguajes de programación... 2 Introducción a lenguaje C... 2 Historia de lenguaje

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

Creación y destrucción de objetos

Creación y destrucción de objetos Creación y destrucción de objetos Contenido Descripción general 1 Uso de constructores 2 Objetos y memoria 13 Creación y destrucción de objetos i Notas para el instructor Este módulo proporciona a los

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

La Plataforma J2SE (Java 7) PROGRAMA HOLA MUNDO

La Plataforma J2SE (Java 7) PROGRAMA HOLA MUNDO FUNDAMENTOS DE JAVA PARA LA CONCURRENCIA CONTENIDO: La Plataforma J2SE Elementos Básicos de Programación Nociones de Orientación a Objetos E/S y Manejo Básico de Excepciones Otros Conceptos sobre POO:

Más detalles

Tema 3 Elementos básicos de programación

Tema 3 Elementos básicos de programación Representación de Datos y Aplicaciones Tema 3 Elementos básicos de programación Natividad Martínez Madrid nati@it.uc3m.es Objetivos del tema 3 Conocer la estructura básica de un programa Java Comprender

Más detalles

Gestor de aplicaciones Java. Esta herramienta es el intérprete de los archivos de clase generados por el javac (compilador).

Gestor de aplicaciones Java. Esta herramienta es el intérprete de los archivos de clase generados por el javac (compilador). CAPÍTULO 4 Requerimientos de software Este capítulo presenta las herramientas necesarias para la construcción y ejecución de programas en el lenguaje de programación JAVA, los requerimientos mínimos de

Más detalles

Ubicación e historia

Ubicación e historia Introducción a Java Ubicación e historia http:// ://java.sun.com/ JDK (Java Development Kit) JDK 1.0, 1995 JDK 1.1, 1996. Modificación en manejo de eventos; nuevas bibliotecas (reflexión, métodos remotos,...)

Más detalles

Curso: Programación con Microsoft Visual Basic 2010.

Curso: Programación con Microsoft Visual Basic 2010. Curso: Programación con Microsoft Visual Basic 2010. Código: 1386 Familia Profesional: Programación Acreditación: Formación reconocida a través de vías no formales Modalidad: Distancia Duración: 100 horas

Más detalles

mari_clau_18@hotmail.com Java es el lenguaje de programación que

mari_clau_18@hotmail.com Java es el lenguaje de programación que PROGRAMACIÓN ORIENTADA A OBJETOS CON JAVA Dra. Maricela Bravo mari_clau_18@hotmail.com JUSTIFICACIÓN Java es el lenguaje de programación que más impacto ha tenido en los últimos años, especialmente en

Más detalles

TEMA 8: ESTRUCTURAS DE DATOS COMPLEJAS 1 VECTORES ESTÁTICOS 2 2 CADENAS O VECTORES DE CARACTERES 6 3 PASO DE CADENAS Y ARRAYS A FUNCIONES 8

TEMA 8: ESTRUCTURAS DE DATOS COMPLEJAS 1 VECTORES ESTÁTICOS 2 2 CADENAS O VECTORES DE CARACTERES 6 3 PASO DE CADENAS Y ARRAYS A FUNCIONES 8 TEMA 8: ESTRUCTURAS DE DATOS COMPLEJAS 1 VECTORES ESTÁTICOS 2 1.1 VECTORES O ARRAYS UNIDIMENSIONALES 2 1.2 ARRAYS MULTIDIMENSIONALES 3 1.3 INICIALIZACIÓN DE ARRAYS 4 1.3.1 INICIALIZACIÓN DE ARRAYS SIN

Más detalles

Estudio comparativo de distintos lenguajes de programación n orientados a objeto

Estudio comparativo de distintos lenguajes de programación n orientados a objeto Estudio comparativo de distintos lenguajes de programación n orientados a objeto Cristo Manuel Amezcua Martínez Felipe Molina de la Torre Marta Moreno Mata David Rivas Ortega Orientación n a Objetos Herencia

Más detalles

VARIABLES, CONSTANTES Y EXPRESIONES ASIGNACIÓN. TIPOS ELEMENTALES. PRECEDENCIA DE LOS ESTRUCTURAS DE CONTROL. CONDICIONAL E

VARIABLES, CONSTANTES Y EXPRESIONES ASIGNACIÓN. TIPOS ELEMENTALES. PRECEDENCIA DE LOS ESTRUCTURAS DE CONTROL. CONDICIONAL E Java Java es un lenguaje de programación presentado en 1995 enfocado a: soportar los fundamentos de la programación orientada a objetos. generar código independiente de la arquitectura de la computadora

Más detalles

Aprendiendo a programar Microcontroladores PIC en Lenguaje C con CCS

Aprendiendo a programar Microcontroladores PIC en Lenguaje C con CCS Aprendiendo a programar Microcontroladores PIC en Lenguaje C con CCS Por Andrés Raúl Bruno Saravia Entrega Nº 5. Cómo declaramos una variable en Lenguaje C? En C siempre se deben declarar las variables.

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

1 ELEMENTOS BASICOS DEL LENGUAJE

1 ELEMENTOS BASICOS DEL LENGUAJE 1 ELEMENTOS SICOS DEL LENGUJE Contenido: Variables su declaracion y asignacion Caracteres en java Secuencias de escape y comentarios Tipos de datos Operadores aritméticos, relacionales y lógicos Entrada

Más detalles

LINEAMIENTO PARA DESARROLLO DE APLICATIVOS EN C#

LINEAMIENTO PARA DESARROLLO DE APLICATIVOS EN C# Bogotá D.C., Julio 2014 TABLA DE CONTENIDO 1. OBJETIVO -------------------------------------------------------------------------------------------- 3 2. ALCANCE --------------------------------------------------------------------------------------------

Más detalles

Para leer la entrada de consola, lo primero que se hace es construir un Scanner que este asociado al flujo de entrada estándar System.

Para leer la entrada de consola, lo primero que se hace es construir un Scanner que este asociado al flujo de entrada estándar System. CICLO: 01/2010 Universidad Don Bosco Materia: Lenguaje de Programación III Contenido: 1-Lectura de Datos de entrada. 2-Introduccion a JOPTIONPANE. 3-Estructuras de Control. ->LECTURA DE DATOS DE ENTRADA

Más detalles

Curso: Programación con Microsoft Visual C SHARP 2010.

Curso: Programación con Microsoft Visual C SHARP 2010. Curso: Programación con Microsoft Visual C SHARP 2010. Código: 1387 Familia Profesional: Programación. Acreditación: Formación reconocida a través de vías no formales Modalidad: Distancia Duración: 100

Más detalles

Introducción a Java LSUB. 15 de enero de 2015 GSYC

Introducción a Java LSUB. 15 de enero de 2015 GSYC Introducción a LSUB GSYC 15 de enero de 2015 (cc) 2014 Laboratorio de Sistemas, Algunos derechos reservados. Este trabajo se entrega bajo la licencia Creative Commons Reconocimiento - NoComercial - SinObraDerivada

Más detalles

El lenguaje de Programación C. Fernando J. Pereda

El lenguaje de Programación C. Fernando J. Pereda <ferdy@gentoo.org> El lenguaje de Programación C Fernando J. Pereda Por qué aprender C? Portable y muy extendido Estándar (C89, C99) El lenguaje de los sistemas Un lenguaje fácil (no, no es broma) Por

Más detalles

Aprenda C++ como si estuviera en primero

Aprenda C++ como si estuviera en primero Escuela Superior de Ingenieros Industriales de San Sebastián UNIVERSIDAD DE NAVARRA Aprenda C++ como si estuviera en primero San Sebastián, abril 1998 Javier García de Jalón José Ignacio Rodríguez José

Más detalles

Estructura de Datos. Unidad I Tipos de Datos

Estructura de Datos. Unidad I Tipos de Datos Estructura de Datos Unidad I Tipos de Datos Conceptos Básicos Algoritmo: es una secuencia finita de pasos o instrucciones ordenadas crono-lógicamente que describen un método para resolver un problema específico.

Más detalles

LENGUAJE. Tema 1 - Introducción

LENGUAJE. Tema 1 - Introducción LENGUAJE Tema 1 - Introducción HISTORIA DEL LENGUAJE C El lenguaje de programación C fue creado por Dennis Ritchie cuando trabajaba en Bell Laboratories de AT&T junto con Ken Thompson en el diseño del

Más detalles

Tema 9. Vectores y Matrices

Tema 9. Vectores y Matrices Tema 9. Vectores y Matrices OBJETIVO En temas anteriores hemos declarado variables simples de tipo int, float, o de cualquier otro tipo simple. A menudo necesitaremos declarar una colección de variables,

Más detalles

Objective C (Desarrollo con Apple)

Objective C (Desarrollo con Apple) 1 Objective C (Desarrollo con Apple) para programación en Iphone SDK: Similitudes y Diferencias entre Objective C con C/C++ y Java Dr. Moisés Alencastre Miranda, malencastre@itesm.mx 2 Introducción al

Más detalles

INDICE DEL CURSO APRENDER PROGRAMACIÓN JAVA DESDE CERO. PROGRAMACIÓN ORIENTADA A OBJETOS (CU00601B)

INDICE DEL CURSO APRENDER PROGRAMACIÓN JAVA DESDE CERO. PROGRAMACIÓN ORIENTADA A OBJETOS (CU00601B) APRENDERAPROGRAMAR.COM INDICE DEL CURSO APRENDER PROGRAMACIÓN JAVA DESDE CERO. PROGRAMACIÓN ORIENTADA A OBJETOS (CU00601B) Sección: Cursos Categoría: Curso Aprender programación Java desde cero Fecha revisión:

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

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

INTRODUCCIÓN. Estructura de Datos Tipos Abstractos de Datos (TAD S) Profs. Lorna Figueroa M. Mauricio Solar F. UTFSM 1 / 2008

INTRODUCCIÓN. Estructura de Datos Tipos Abstractos de Datos (TAD S) Profs. Lorna Figueroa M. Mauricio Solar F. UTFSM 1 / 2008 INTRODUCCIÓN Estructura de Datos Tipos Abstractos de Datos (TAD S) Para poder obtener un programa que resuelva un problema dado, son necesarios varios pasos : La formulación y especificación del problema

Más detalles

Clases. Java: Clases y Objetos. Clases. Clases. Modificadores de clase. Definición de una clase. Cada objeto es un ejemplar de una clase

Clases. Java: Clases y Objetos. Clases. Clases. Modificadores de clase. Definición de una clase. Cada objeto es un ejemplar de una clase Java: Clases y Objetos Clases La unidad fundamental de programación en Java es la clase Un programa Java está formado por un conjunto de clases Una clase es una plantilla que describe un conjunto de objetos

Más detalles

Tema 5: Programación Orientada a Objetos en C++ Programación Orientada a Objetos Curso 2009/2010 Begoña Moros Valle

Tema 5: Programación Orientada a Objetos en C++ Programación Orientada a Objetos Curso 2009/2010 Begoña Moros Valle Tema 5: Programación Orientada a Objetos en C++ Programación Orientada a Objetos Curso 2009/2010 Begoña Moros Valle Contenido Introducción Clases y Objetos en C++: Módulos: Clases, estructuras y espacios

Más detalles

PALABRAS RESERVADAS ISO/ANSI C++

PALABRAS RESERVADAS ISO/ANSI C++ apd.qxd 26/11/99 14:09 Página 597 APÉNDICE D PALABRAS RESERVADAS ISO/ANSI C++ asm Se utiliza para incluir directamente código ensamblador en su programa C++. El uso correcto de asm depende de la implementación.

Más detalles

DOCUMENTACIÓN PARA EL TRABAJO CON LA PLATAFORMA GUADALBOT

DOCUMENTACIÓN PARA EL TRABAJO CON LA PLATAFORMA GUADALBOT DOCUMENTACIÓN PARA EL TRABAJO CON LA PLATAFORMA GUADALBOT I.E.S VIRGEN DE LAS NIEVES Programación C para microcontroladores Tema 2. Tipos de datos, variables y operadores Índice de contenidos Tipos de

Más detalles

Técnico Superior en Programación con Microsoft Visual Basic 2010

Técnico Superior en Programación con Microsoft Visual Basic 2010 Técnico Superior en Programación con Microsoft Visual Basic 2010 Duración: 150 horas Coste Bonificable: 825 Objetivos del curso - Aprender a desarrollar aplicaciones utilizando la tecnología de programación

Más detalles

INDICE Parte I. El Entorno Integrado Microsoft Visual C++ 1. Instalación y Funcionamiento de Microsoft Visual C++

INDICE Parte I. El Entorno Integrado Microsoft Visual C++ 1. Instalación y Funcionamiento de Microsoft Visual C++ INDICE Prólogo XIX Parte I. El Entorno Integrado Microsoft Visual C++ 1 1. Instalación y Funcionamiento de Microsoft Visual C++ 3 1.1. Requisitos que debe cumplir su sistema visual C++ 1.5 3 Visual C++

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

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

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

LENGUAJE ANSI C Guía de referencia

LENGUAJE ANSI C Guía de referencia Apéndice W2 LENGUAJE ANSI C Guía de referencia C.1. Elementos básicos de un programa El lenguaje C fue desarrollado en Bell laboratories para su uso en investigación y se caracteriza por un gran número

Más detalles

FUNDAMENTOS BÁSICOS DE PROGRAMACIÓN EN C++

FUNDAMENTOS BÁSICOS DE PROGRAMACIÓN EN C++ UNIVERSIDAD DE JAÉN Departamento de Informática FUNDAMENTOS BÁSICOS DE PROGRAMACIÓN EN C++ Francisco Martínez del Río 2 Copyright c 2015 Francisco Martínez del Río Licensed under the Creative Commons Attribution-NonCommercial

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

FACULTAD DE INGENIERÍA

FACULTAD DE INGENIERÍA NOMBRE DEL PROFESOR: Ing. Héctor Manuel Quej Cosgaya NOMBRE DE LA PRÁCTICA: Operadores y Expresiones PRÁCTICA NÚM. [ 3 ] LABORATORIO: MATERIA: UNIDAD: TIEMPO: Centro de Ingeniería Computacional Lenguaje

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

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

Lenguajes de Programación Curso 04-05. Práctica 4. Herencia. Utilización de interfaces y clases abstractas. 1. Interfaces 1. 2. Clases abstractas 2

Lenguajes de Programación Curso 04-05. Práctica 4. Herencia. Utilización de interfaces y clases abstractas. 1. Interfaces 1. 2. Clases abstractas 2 Objetivos Herencia. Utilización de interfaces y clases abstractas. Índice 1. Interfaces 1 2. Clases abstractas 2 3. Collections Framework 3 3.1. Collection........................................... 3

Más detalles

Taller de Programación Estructurada en Java Tema 2. Fundamentos de la programación orientada a objetos

Taller de Programación Estructurada en Java Tema 2. Fundamentos de la programación orientada a objetos Taller de Programación Estructurada en Java Tema 2. Fundamentos de la programación orientada a objetos Ingeniero en Computación José Alfredo Cobián Campos josealfredocobian@gmail.com Facultad de Ciencias

Más detalles

Tecnologías de Programación Web Dr. Diego C. Martínez. Depto de Cs e Ing. de la Computación Universidad Nacional del Sur.

Tecnologías de Programación Web Dr. Diego C. Martínez. Depto de Cs e Ing. de la Computación Universidad Nacional del Sur. Historia de Java 1991 Comienza el proyecto Green. 1992 Se presenta el lenguaje Oak. Java, 10 años - JavaOne Conference 26 al 30 de junio de 2005 1995 Nace oficialmente la tecnología Java. Cambia el nombre

Más detalles