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

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

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

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

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

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

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

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

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

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

Programación Orientada a Objetos con Java

Programación Orientada a Objetos con Java Programación Orientada a Objetos con Java M.C. Jorge Eduardo Ibarra Esquer jorgeeie@uabc.mx Sobrecarga de métodos Java permite la definición de dos o más métodos que tengan el mismo nombre, dentro de la

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

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

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

Preliminares. Tipos de variables y Expresiones

Preliminares. Tipos de variables y Expresiones Preliminares. Tipos de variables y Expresiones Felipe Osorio Instituto de Estadística Pontificia Universidad Católica de Valparaíso Marzo 5, 2015 1 / 20 Preliminares Computadoras desarrollan tareas a un

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

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

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

Más detalles

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

PART II: Moviendo al jugador

PART II: Moviendo al jugador UNITY PART II: Moviendo al jugador El movimiento se lo vamos a dar a través de un programa Definición de programa: Un programa es una secuencia de instrucciones, escritas para realizar una tarea específica

Más detalles

Curso de Java POO: Programación orientada a objetos

Curso de Java POO: Programación orientada a objetos Curso de Java POO: Programación orientada a objetos Luis Guerra Velasco Curso INEM 02830. Programación en Java Marzo 2010 Índice 1 Introducción a la POO 2 Herencia y polimorfismo 3 Empaquetado de proyectos

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

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

Instituto Tecnológico de Celaya

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

Más detalles

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

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

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

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

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

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

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

Consultas con combinaciones

Consultas con combinaciones UNIDAD 1.- PARTE 2 MANIPULACIÓN AVANZADA DE DATOS CON SQL. BASES DE DATOS PARA APLICACIONES Xochitl Clemente Parra Armando Méndez Morales Consultas con combinaciones Usando combinaciones (joins), se pueden

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

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

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 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

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

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

CAPÍTULO IV BREVE DESCRIPCIÓN DE LA INFRAESTRUCTURA DE CÓMPUTO VISUAL BASIC 6.0 PARA WINDOWS

CAPÍTULO IV BREVE DESCRIPCIÓN DE LA INFRAESTRUCTURA DE CÓMPUTO VISUAL BASIC 6.0 PARA WINDOWS CAPÍTULO IV BREVE DESCRIPCIÓN DE LA INFRAESTRUCTURA DE CÓMPUTO VISUAL BASIC 6.0 PARA WINDOWS 4.1 Antecedentes históricos El lenguaje de programación BASIC (Beginner's All purpose Symbolic Instruction Code)

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

Objetivos de la práctica: - Practicar uso de ficheros: abrir, cerrar y tratamiento de información contenida en el fichero.

Objetivos de la práctica: - Practicar uso de ficheros: abrir, cerrar y tratamiento de información contenida en el fichero. Objetivos de la práctica: - Practicar uso de ficheros: abrir, cerrar y tratamiento de información contenida en el fichero. Uso de Ficheros Todas las estructuras de datos vistas hasta ahora utilizan la

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

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

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

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: 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

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

ENTORNO DE DESARROLLO MICROSOFT.NET 2010

ENTORNO DE DESARROLLO MICROSOFT.NET 2010 ENTORNO DE DESARROLLO MICROSOFT.NET 2010 UNIDAD 2 Estructura de contenidos: 1. Conociendo ASP 2. Sitio Web y Proyecto Web 3. WebForm 4. Características de los webforms 5. Entorno del.net 6. Controles básicos

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

Objetivo: Introducción conceptual y aplicación básica de los lenguajes del lado del servidor.

Objetivo: Introducción conceptual y aplicación básica de los lenguajes del lado del servidor. Sesión 03: Lenguajes web del servidor Competencias a Conseguir: - Conocer el entorno de trabajo a nivel de servidores web. - Instalación del localhost (Servidor Local). - Repaso general de PHP y ejercicios

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

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

Apuntes de Microcontroladores (Repaso de temas previos)

Apuntes de Microcontroladores (Repaso de temas previos) Apuntes de Microcontroladores (Repaso de temas previos) Por M. C. Miguelangel Fraga Aguilar Enero 2015 Representaciones numéricas En estos apuntes se usara el posfijo b para denotar un número escrito en

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

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

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

República Bolivariana de Venezuela Aldea Universitaria Liceo Fray Pedro de Agreda. Lenguaje C++ Contadores y Acumuladores República Bolivariana de Venezuela Aldea Universitaria Liceo Fray Pedro de Agreda Prof. Elías Cisneros. Lenguaje C++ Contadores y Acumuladores Usted es libre de: * Copiar, distribuir y comunicar públicamente

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

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

EXAMEN FINAL Metodología y Programación Orientada a Objetos. Curso 2010 2011. Cuatrimestre de otoño. 17 de Enero de 2011

EXAMEN FINAL Metodología y Programación Orientada a Objetos. Curso 2010 2011. Cuatrimestre de otoño. 17 de Enero de 2011 EXAMEN FINAL Metodología y Programación Orientada a Objetos. Curso 2010 2011. Cuatrimestre de otoño. 17 de Enero de 2011 1. (0,75 PUNTOS) Identificad a continuación las sentencias que son ciertas, descartando

Más detalles

7. Manejo de Archivos en C.

7. Manejo de Archivos en C. 7. Manejo de Archivos en C. Los datos que hemos tratado hasta el momento han residido en la memoria principal. Sin embargo, las grandes cantidades de datos se almacenan normalmente en un dispositivo de

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

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

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

Visual Basic 1. Empleo de módulos y Procedimientos. Procedimientos definidos por el usuario

Visual Basic 1. Empleo de módulos y Procedimientos. Procedimientos definidos por el usuario Empleo de módulos y Procedimientos Procedimientos definidos por el usuario Según lo que hemos visto hasta ahora, Visual Basic, almacena el código en módulos. Hay tres clases de módulos: formularios (.frm),

Más detalles

UNIDADES DE ALMACENAMIENTO DE DATOS

UNIDADES DE ALMACENAMIENTO DE DATOS 1.2 MATÉMATICAS DE REDES 1.2.1 REPRESENTACIÓN BINARIA DE DATOS Los computadores manipulan y almacenan los datos usando interruptores electrónicos que están ENCENDIDOS o APAGADOS. Los computadores sólo

Más detalles

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación II MODELOS y HERRAMIENTAS UML 1 1 Modelado de casos de uso (I) Un caso de uso es una técnica de modelado usada para describir lo que debería hacer

Más detalles

Computación III. Objetivo de aprendizaje del tema

Computación III. Objetivo de aprendizaje del tema Computación III Tema 5 Declaración, inicialización y uso de variables 1 Objetivo de aprendizaje del tema Al finalizar el tema serás capaz de: Identificar la sintaxis de las variables en el lenguaje Java.

Más detalles

Curso de Python Inicial

Curso de Python Inicial Logo IAA-CSIC Curso organizado por el Gabinete de Formación del CSIC Curso de Python Inicial Clases Contenidos 1. Paradigmas de la Programación 2. Programación Orientada a objetos 3. Clases 4. Objetos

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

INTELIGENCIA ARTIFICIAL 2015 TALLER RÁPIDO DE PROGRAMACIÓN EN JAVA

INTELIGENCIA ARTIFICIAL 2015 TALLER RÁPIDO DE PROGRAMACIÓN EN JAVA INTELIGENCIA ARTIFICIAL 2015 TALLER RÁPIDO DE PROGRAMACIÓN EN JAVA Fuente: http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html Por qué Java? TIOBE Index for March 2015 Fuente: http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

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

Introducción a la Programación 11 O. Humberto Cervantes Maceda

Introducción a la Programación 11 O. Humberto Cervantes Maceda Introducción a la Programación 11 O Humberto Cervantes Maceda Recordando En la sesión anterior vimos que la información almacenada en la memoria, y por lo tanto aquella que procesa la unidad central de

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

Tema 1. Introducción a JAVA

Tema 1. Introducción a JAVA Tema 1. Introducción a JAVA Historia Características Plataforma Java Entorno de desarrollo Ejemplo: Hola mundo Estructura general de un programa Java 1 Historia de Java (i) Surge en 1991: Sun Microsystems

Más detalles

Sintaxis y Convenciones de Java. M. en C. Erika Vilches

Sintaxis y Convenciones de Java. M. en C. Erika Vilches Sintaxis y Convenciones de Java M. en C. Erika Vilches Estructura del Código en Java Hay una clase en un archivo fuente Hay métodos en una clase Hay enunciados en un método Anatomía de una Clase Cuando

Más detalles

Contenidos. Archivos en C++ Archivos en C++ Introducción

Contenidos. Archivos en C++ Archivos en C++ Introducción Contenidos 1. Introducción. 2. Manipulación de ficheros. 3. Organización de archivos. 4. Tipo de almacenamiento. 5. Biblioteca de flujos. 6. Operaciones asociadas a archivos: Abrir fichero, Cerrar fichero,

Más detalles

Unidad I. 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal)

Unidad I. 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal) Unidad I Sistemas numéricos 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal) Los computadores manipulan y almacenan los datos usando interruptores electrónicos que están ENCENDIDOS o APAGADOS.

Más detalles

UNIDAD 2 Configuración y operación de un sistema de cómputo Representación de datos Conceptos El concepto de bit (abreviatura de binary digit) es fundamental para el almacenamiento de datos Puede representarse

Más detalles

GUÍA DE TRABAJO N 3 C# Ing. Néstor Raúl Suarez Perpiñan Página 1 de 10. Tema: APLICACIONES WINDOWS FORMS LENGUAJE C#

GUÍA DE TRABAJO N 3 C# Ing. Néstor Raúl Suarez Perpiñan Página 1 de 10. Tema: APLICACIONES WINDOWS FORMS LENGUAJE C# Página 1 de 10 Tema: APLICACIONES WINDOWS FORMS LENGUAJE C# Objetivo: Conocer y aplicar correctamente las diferentes estructuras de programación que hacen parte del lenguaje de Programación C# en una Aplicación

Más detalles

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

Tema 5 Sentencias de control de flujo. Fundamentos de Informática Tema 5 Fundamentos de Informática Sentencias de Control Tipos de sentencias de control: Comprobación lógica para bifurcar el flujo de un programa. Sentencias de control condicional o alternativo Comprobación

Más detalles

INFORMÁTICA. Práctica 5. Programación en C. Grado en Ingeniería en Electrónica y Automática Industrial. Curso 2013-2014. v1.0 (05.03.

INFORMÁTICA. Práctica 5. Programación en C. Grado en Ingeniería en Electrónica y Automática Industrial. Curso 2013-2014. v1.0 (05.03. INFORMÁTICA Práctica 5. Programación en C. Grado en Ingeniería en Electrónica y Automática Industrial Curso 2013-2014 v1.0 (05.03.14) A continuación figuran una serie de ejercicios propuestos, agrupados

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

Sensor de Temperatura utilizando el Starter Kit Javelin Stamp. Realizado por: Bertha Palomeque A. Rodrigo Barzola J.

Sensor de Temperatura utilizando el Starter Kit Javelin Stamp. Realizado por: Bertha Palomeque A. Rodrigo Barzola J. Sensor de Temperatura utilizando el Starter Kit Javelin Stamp Realizado por: Bertha Palomeque A. Rodrigo Barzola J. INTRODUCCION DIFERENCIAS EJEMPLOS JAVA Orientado a Objetos Multiplataforma Programar

Más detalles

PHP y MySQL. Inicio: - Herencia - Palabra clave Final - Polimorfismo - Type Hinting - Abstracción de clases

PHP y MySQL. Inicio: - Herencia - Palabra clave Final - Polimorfismo - Type Hinting - Abstracción de clases PHP y MySQL Inicio: - Herencia - Palabra clave Final - Polimorfismo - Type Hinting - Abstracción de clases Herencia de Objetos La herencia permite crear muchas clases que son similares entre si, sin tener

Más detalles

El lenguaje de Programación C. Fernando J. Pereda <ferdy@gentoo.org>

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

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

TUTORIAL DE PHP. M. en C. Erika Vilches. Parte 2. http://www.erikavilches.com

TUTORIAL DE PHP. M. en C. Erika Vilches. Parte 2. http://www.erikavilches.com TUTORIAL DE PHP M. en C. Erika Vilches Parte 2 http://www.erikavilches.com Enunciados Condicionales Inicia con la palabra clave if seguida de una condición entre paréntesis $number = 5; if ($number < 10)

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

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

Sistemas de numeración, operaciones y códigos.

Sistemas de numeración, operaciones y códigos. Tema : Sistemas de numeración, operaciones y códigos. Para representar ideas, los seres humanos (al menos los occidentales) utilizamos cadenas de símbolos alfanuméricos de un alfabeto definido. En el mundo

Más detalles

ACTIONSCRIPT (AS) Proyectos II. Audiovisuales. Dpto. Escultura. UPV. [sintaxis elemental]

ACTIONSCRIPT (AS) Proyectos II. Audiovisuales. Dpto. Escultura. UPV. [sintaxis elemental] ACTIONSCRIPT (AS) Proyectos II. Audiovisuales. Dpto. Escultura. UPV. [sintaxis elemental] Action script es el lenguaje de programación que lleva incorporado el software de creación multimedia Macromedia

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

Solución al Examen de Prácticas de Programación (Ingeniería Informática)

Solución al Examen de Prácticas de Programación (Ingeniería Informática) Solución al Examen de Prácticas de Programación (Ingeniería Informática) Junio 2006 Parte I. Cuestiones (3 puntos=50% nota del examen) 1) Se desea crear un conjunto de clases para representar en un programa

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

PL/SQL. Con PL/SQL vamos a poder programar las unidades de programa de la base de datos Oracle:

PL/SQL. Con PL/SQL vamos a poder programar las unidades de programa de la base de datos Oracle: PL/SQL (Procedural Language/Structured Query Language) PL/SQL es el lenguaje de programación que proporciona Oracle para extender el SQL estándar con otro tipo de instrucciones y elementos propios de los

Más detalles

Prof. Dr. Paul Bustamante

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

Más detalles

Programación en Java. Programación en OO

Programación en Java. Programación en OO Programación en OO Lección 4:Programación en OO 1. Herencia 2. Modificadores de Acceso 3. Interfaces Herencia Es la acción en la que una clase obtiene los métodos y propiedades definidos en otra clase,

Más detalles

1. Informática e información. 2. Sistemas de numeración. 3. Sistema binario, operaciones aritméticas en binario, 4. Sistemas octal y hexadecimal. 5.

1. Informática e información. 2. Sistemas de numeración. 3. Sistema binario, operaciones aritméticas en binario, 4. Sistemas octal y hexadecimal. 5. Representación de la información Contenidos 1. Informática e información. 2. Sistemas de numeración. 3. Sistema binario, operaciones aritméticas en binario, 4. Sistemas octal y hexadecimal. 5. Conversiones

Más detalles

UNIVERSIDAD CATOLICA DE COLOMBIA FACULTAD DE INGENIERIA DE SISTEMAS

UNIVERSIDAD CATOLICA DE COLOMBIA FACULTAD DE INGENIERIA DE SISTEMAS UNIVERSIDAD CATOLICA DE COLOMBIA FACULTAD DE INGENIERIA DE SISTEMAS CURSO: JAVA BASICO PROFESOR: EMERSON CASTAÑEDA SANABRIA TEMA: Programación Orientada a Objetos OBJETIVOS: Familiarizarse con la Programación

Más detalles

!!!!!!!! !!!!! Práctica!4.! Programación!básica!en!C.! ! Grado!en!Ingeniería!!en!Electrónica!y!Automática!Industrial! ! Curso!2015H2016!

!!!!!!!! !!!!! Práctica!4.! Programación!básica!en!C.! ! Grado!en!Ingeniería!!en!Electrónica!y!Automática!Industrial! ! Curso!2015H2016! INFORMÁTICA Práctica4. ProgramaciónbásicaenC. GradoenIngenieríaenElectrónicayAutomáticaIndustrial Curso2015H2016 v2.1(18.09.2015) A continuación figuran una serie de ejercicios propuestos, agrupados por

Más detalles

Laboratorio 7 Motor de búsqueda web basado en el TAD Árbol Binario de Búsqueda GUIÓN DEL LABORATORIO

Laboratorio 7 Motor de búsqueda web basado en el TAD Árbol Binario de Búsqueda GUIÓN DEL LABORATORIO Laboratorio 7 Motor de búsqueda web basado en el TAD Árbol Binario de Búsqueda GUIÓN DEL LABORATORIO 1.- Objetivos del laboratorio Diseño de clases en C++ Comprensión y uso del TAD Árbol Binario de Búsqueda

Más detalles