Paradigmas de Programación 1

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

Download "Paradigmas de Programación 1"

Transcripción

1 Paradigmas de Programación PLG docweb/pp/ Paradigmas de Programación Paradigmas de Programación 1

2 Indice 1 Presentación 2 Introducción Modelos de computación Paradigmas de programación Otras cuestiones 3 COMMONLISP 4 Programación funcional 5 Programación lógica. PROLOG Paradigmas de Programación 2

3 Indice 1 Presentación 2 Introducción Modelos de computación Paradigmas de programación Otras cuestiones 3 COMMONLISP 4 Programación funcional 5 Programación lógica. PROLOG Paradigmas de Programación 3

4 Indice 1 Presentación 2 Introducción Modelos de computación Paradigmas de programación Otras cuestiones 3 COMMONLISP 4 Programación funcional 5 Programación lógica. PROLOG Paradigmas de Programación 4

5 Indice 1 Presentación 2 Introducción Modelos de computación Paradigmas de programación Otras cuestiones 3 COMMONLISP 4 Programación funcional 5 Programación lógica. PROLOG Paradigmas de Programación 5

6 Indice 1 Presentación 2 Introducción Modelos de computación Paradigmas de programación Otras cuestiones 3 COMMONLISP 4 Programación funcional 5 Programación lógica. PROLOG Paradigmas de Programación 6

7 Indice 1 Presentación 2 Introducción Modelos de computación Paradigmas de programación Otras cuestiones 3 COMMONLISP 4 Programación funcional 5 Programación lógica. PROLOG Paradigmas de Programación 7

8 Indice 1 Presentación 2 Introducción Modelos de computación Paradigmas de programación Otras cuestiones 3 COMMONLISP 4 Programación funcional 5 Programación lógica. PROLOG Paradigmas de Programación 8

9 Modelos de computación Lenguajes de programación Modelo computacional: colección de valores y operaciones Tipos de modelos computacionales: imperativo, funcional y lógico Computación: aplicación de una secuencia de operaciones a un valor para obtener otro valor Programa: especificación de una computación Lenguaje de programación: notación para escribir programas Sintaxis de un lenguaje de programación: estructura o forma de los programas Semántica de un lenguaje de programación: relaciones entre un programa y un modelo de computación Pragmática de un lenguaje de programación: grado de éxito con el que un programa cumple sus objetivos tanto en su fidelidad con el modelo de computación subyacente como su utilidad para los programadores Paradigmas de Programación 9

10 Modelos de computación Modelo de computación imperativo También denominado procedural Conjunto de valores que definen un estado y la operación de asignación de la modificación de estado Un estado es un conjunto de pares nombre-valor de las constantes y variables Un programa es una secuencia de asignaciones Una computación es una secuencia de estados Ejemplo: Programa Estado 0 Modificación Estado 1 Modificación Estado 2 a:=b+c b:=b+1 a=2 b=3 c=4 a:=b+c a=7 b=3 c=4 b:=b+1 a=7 b=4 c=4 Paradigmas de Programación 10

11 Modelos de computación Modelo de computación imperativo También denominado procedural Conjunto de valores que definen un estado y la operación de asignación de la modificación de estado Un estado es un conjunto de pares nombre-valor de las constantes y variables Un programa es una secuencia de asignaciones Una computación es una secuencia de estados Ejemplo: Programa Estado 0 Modificación Estado 1 Modificación Estado 2 a:=b+c b:=b+1 a=2 b=3 c=4 a:=b+c a=7 b=3 c=4 b:=b+1 a=7 b=4 c=4 Paradigmas de Programación 11

12 Modelos de computación Modelo de computación funcional Conjunto de valores, funciones y las operaciones de aplicación de función y composición de función Las funciones pueden tomar como argumentos otras funciones y devolverlas como resultados Un programa es una colección de definiciones de funciones Una computación es una evaluación (aplicación) de una expresión (función con sus argumentos) Ejemplo Programa Computación Resultado (defun member (elemento lista) (cond ((null lista) nil) ((eq elemento (car lista)) lista) (t (member elemento (cdr lista))))) (member a (b a c)) (a c) Paradigmas de Programación 12

13 Modelos de computación Modelo de computación funcional Conjunto de valores, funciones y las operaciones de aplicación de función y composición de función Las funciones pueden tomar como argumentos otras funciones y devolverlas como resultados Un programa es una colección de definiciones de funciones Una computación es una evaluación (aplicación) de una expresión (función con sus argumentos) Ejemplo Programa Computación Resultado (defun member (elemento lista) (cond ((null lista) nil) ((eq elemento (car lista)) lista) (t (member elemento (cdr lista))))) (member a (b a c)) (a c) Paradigmas de Programación 13

14 Modelos de computación Modelo de computación lógico Conjunto de valores, definiciones de relaciones e inferencias lógicas Un programa es una definición de relaciones Una computación es una prueba (secuencia de inferencias lógicas) Ejemplo: Programa Computación member(a,[a X],[A X]) :-!. member(a,[b X],Y) :- member(a,x,y). Prueba member(a,[b,a,c],[a,c]) 3. A=a, B=b, X=[a,c], Y=[a,c] member(a,[a,c],[a,c]) 2. A=a, X=[c]?- member(a,[b,a,c],x) X=[a,c] Paradigmas de Programación 14

15 Modelos de computación Modelo de computación lógico Conjunto de valores, definiciones de relaciones e inferencias lógicas Un programa es una definición de relaciones Una computación es una prueba (secuencia de inferencias lógicas) Ejemplo: Programa Computación member(a,[a X],[A X]) :-!. member(a,[b X],Y) :- member(a,x,y). Prueba member(a,[b,a,c],[a,c]) 3. A=a, B=b, X=[a,c], Y=[a,c] member(a,[a,c],[a,c]) 2. A=a, X=[c]?- member(a,[b,a,c],x) X=[a,c] Paradigmas de Programación 15

16 Modelos de computación Computabilidad Los tres modelos son equivalentes cualquier problema que tenga una solución en un modelo es resoluble en cada uno de los otros dos Se denominan modelos universales de computación Otros modelos también son equivalentes Están mezclados en los lenguajes de programación Java es imperativo, pero incorpora elementos funcionales y lógicos CommonLisp es funcional, pero permite realizar programación imperativa y lógica Prolog es lógico, pero admite determinadas secuencias imperativas Paradigmas de Programación 16

17 Paradigmas de programación Paradigmas de programación Programación imperativa Programación declarativa Programación orientada a objetos Programación basada en módulos Otros paradigmas Paradigmas de Programación 17

18 Paradigmas de programación Programación imperativa Modela la arquitectura de la máquina de von Neumann La computación consiste en la ejecución paso a paso de algoritmos (secuencias condicionales o repetitivas de instrucciones) que modifican los contenidos de variables (espacios de memoria) Tipos: Lenguajes procedurales (Pascal, C): utilizan subprogramas como unidades de modularización para definir pasos de computación Lenguajes orientados a objetos (Smalltalk, C++, Java): encapsulan en objetos tanto los datos como las operaciones sobre los mismos Paradigmas de Programación 18

19 Paradigmas de programación Ejemplo de programación imperativa Function member (e: real; a: lista-reales): lista-reales; begin if (a = nil) then member := nil else while ((aˆ.siguiente <> nil) and (e <> aˆ.elemento)) do a := aˆ.siguiente; if e = aˆ.elemento then member := a else member := nil end; Paradigmas de Programación 19

20 Paradigmas de programación Programación declarativa Utiliza bloques de construcción como las funciones, la recursión o la equiparación de patrones, para especificar más la solución que su cálculo de bajo nivel Tipos: Lenguajes funcionales (Common Lisp, Scheme, Haskell): utilizan funciones libres de efectos secundarios como bloques primitivos de construcción de programas. Estas funciones pueden aplicarse, construirse y pasarse como argumentos a otras funciones Lenguajes lógicos (Prolog): calculan resultados utilizando reglas e inferencia lógicas Paradigmas de Programación 20

21 Paradigmas de programación Ejemplo de programación declarativa Programación lógica (Prolog) member(a,[a X],[A X]) :-!. member(a,[b X],Y) :- member(a,x,y). Programación funcional (CommonLisp y Haskell) (defun member (elemento lista) (cond ((null lista) nil) ((eq elemento (car lista)) lista) (t (member elemento (cdr lista))))) fact 0 = 1 fact n = n * fact (n - 1) Paradigmas de Programación 21

22 Paradigmas de programación Programación orientada a objetos Define la computación como la interacción entre objetos autónomos Mediante la utilización de objetos, la programación se convierte en simulación Los objetos son instancias de clases que se organizan en jerarquías de herencia Los objetos se comportan independientemente Utilizan la selección de las operaciones en tiempo de ejecución cuando interpretan los mensajes provenientes de otros objetos Ejemplos: Smalltalk, Eiffel, y Java son lenguajes orientados a objetos Muchos lenguajes actuales, como C++, Ada-95, o Common Lisp también dan soporte a este tipo de programación Paradigmas de Programación 22

23 Paradigmas de programación Ejemplo de programación orientada a objetos Clase: lista Atributos: elemento, siguiente Métodos: primero, siguiente, member,... Ejecución de member: mandar un mensaje member a una instancia de la clase lista con el argumento elemento a buscar Paradigmas de Programación 23

24 Paradigmas de programación Programación basada en módulos Reconoce agrupaciones de variables, procedimientos y tipos como unidades estáticas de modularidad de programa El interface a un módulo (o paquete) especifica y exporta una serie de servicios generales Los detalles de implementación se ocultan en una unidad de programa compilada separadamente Ejemplos: Modula-2, Ada y C++ soportan este estilo de programación que puede ser combinada con cualquier otro tipo de paradigma Paradigmas de Programación 24

25 Paradigmas de programación Otros paradigmas de programación Programación visual Programación basada en restricciones Programación basada en tipos abstractos de datos Programación genérica Programación concurrente Programación basada en componentes distribuidos Programación basada en agentes Programación literaria Programación basada en patrones de diseño Programación basada en guiones Programación automática: aprendizaje automático Paradigmas de Programación 25

26 de los lenguajes de programación Charles Babbage Charles Babbage Máquina de diferencias programas con tarjetas perforadas para su Máquina Analítica Lady Ada Lovelace fue la primera programadora 1 1 Hija de Lord Byron Paradigmas de Programación 26

27 de los lenguajes de programación Zuse, Plankalkül (1945) Z1 Konrad Zuse tipos de datos: bit, escalares (con bits), matrices, registros recursivos no se descubrió hasta los 70 Paradigmas de Programación 27

28 de los lenguajes de programación : código máquina, direcciones absolutas, muy poca memoria John Mauchly (1949): creo un lenguaje, SHORT CODE para el ordenador BINAC (luego UNIVAC), interpretado, sobre operaciones matemáticas Mauchly y Eckert (creadores del ENIAC) ENIAC Paradigmas de Programación 28

29 de los lenguajes de programación John Backus (1954): extendió el lenguaje máquina para operaciones en coma flotante para el IBM 701, creando FORTRAN (IBM FORmula TRANslation system). Se introdujo en el IBM 704 en 1954 John Backus IBM 701 Paradigmas de Programación 29

30 de los lenguajes de programación John McCarthy: definió Lisp (1958), Inteligencia Artificial y tiempo compartido Lisp pionero en: estructuras de datos dinámicas tipado dinámico programación orientada a objetos self-hosting : compilador escrito en el propio lenguaje Paradigmas de Programación 30

31 de algunos lenguajes Lenguaje Años Orígenes Lenguaje Propósito y predecesor características FORTRAN J. Backus (IBM) Computación numérica, 1er lenguaje alto nivel, compilación independiente LISP J. McCarthy FLPL (FORTRAN) Computación simbólica, 1er lenguaje funcional, procesamiento de listas, garbage collection Algol Comité (USA Europa) FORTRAN Computación numérica, estructura de bloque, estructuras de control, recursión COBOL Comité Procedimientos de negocio, registros y E/S APL K. Iverson Procesamiento de vectores SNOBOL R. Griswold (Bell Labs) Procesamiento de cadenas PL/ Comité (IBM) FORTRAN, Algol 60 Propósito general, tipo de datos puntero, COBOL concurrencia, gestión de excepciones BASIC J. Kemeny, T. Kurtz FORTRAN Educativo Simula 1967 O.J. Dahl, K. Nygaard Algol 60 1er lenguaje OO y de simulación, corutinas, clases, herencia Algol Comité Algol 60 Propósito general, ortogonalidad, tipos definidos por usuario, matrices flexibles Pascal 1971 N. Wirth Algol 60 Educativo, propósito general, pequeño y simple Prolog 1972 A. Colmerauer Inferencia lógica (IA) Paradigmas de Programación 31

32 Lenguaje Años Orígenes Lenguaje Propósito y predecesor características C 1972 D. Ritchie (Bell Labs) B, Algol 68 Programación de sistemas Scheme 1975 G. Steele G. Sussman LISP Educativo, simple, funcional Modula N. Wirth Pascal Programación de sistemas, módulos, corutinas Smalltalk A. Kay A. Goldberg Simula (LISP) Computación personal, OO puro, pionero en GUI Ada J. Ichbiah Pascal... Sistemas embebidos, paquetes, concurrencia C B. Stroustrup (Bell Labs) C, Simula Programación de sistemas, multi-paradigma, grande, complejo Haskell 1989 Comité(?) ML, Scheme... Programación simbólica, funcional síntesis de programas Tcl/Tk 1988 J.K. Ousterhout shell scripts Lenguaje de scripting Perl 1990 L. Wall shell scripts Lenguaje de scripting Python 1991 G. vanrossum shell scripts Lenguaje de scripting Delphi 1994 BORLAND Pascal Propósito general, modular & OO Java SUN Microsystems C++, Smalltalk Computación basada en red, Educativo, OO simplificada Paradigmas de Programación 32

33 . Primeros lenguajes FORTRAN Backus en IBM, 1957, 18 personas-año para desarrollar el primer compilador Metas y contribuciones: problemas numéricos, compilador muy eficiente, compilación separada Muchas revisiones: FORTRAN II, IV, 66, 77, 90,... LISP McCarthy en MIT, 1958 Metas y contribuciones: programación funcional, procesamiento de listas, manipulación de símbolos Padre de Scheme y CommonLisp ALGOL Comité, 1960 Metas y contribuciones: numérico, estructura de bloque, recursión, elegante, muy influyente Padre del ALGOL W, ALGOL 68, Pascal, Modula, Ada, etc. Paradigmas de Programación COBOL 33

34 Primeras escisiones APL Iverson en Harvard, IBM, 1960 (para la notación) Metas y contribuciones: lenguaje de cálculo de matrices SNOBOL 4 Griswold en Bell Labs, 1966 Metas y contribuciones: procesamiento de cadenas de caracteres a través de equiparación de patrones Padre de ICON Paradigmas de Programación 34

35 . Consolidación PL/I Comité en IBM, 1967 Combinación de FORTRAN, COBOL, ALGOL 60, pero no integrados Multi-propósito, incluye punteros, registros, excepciones Se considera un fallo ALGOL 68 Comité Elementos ortogonales Elegante, pero difícil de entender Simula 67 Precursor de los lenguajes orientados a objetos Diseñado para la simulación Incluye corutinas Paradigmas de Programación 35

36 . Consolidación (I) Pascal Wirth, ETH, 1971 Diseñado como lenguaje docente Permite programación estructurada y es elegante Tuvo más éxito que el esperado Paradigmas de Programación 36

37 FORTRAN Primer lenguaje ampliamente aceptado Introdujo la facilidad de programación, eficiencia de los programas hechos a mano, y la reducción de errores de codificación Énfasis en el cálculo numérico en máquinas con poca memoria y procesadores lentos Primitivas del lenguaje subrutinas (no se hacía compilación separada) formato de E/S condicionales de tipo IF (sin operadores relacionales en el juego de caracteres) repeticiones con el DO Paradigmas de Programación 37

38 del FORTRAN FORTRAN II (1958): compilación independiente de las subrutinas FORTRAN IV ( ) declaraciones explícitas de tipos IF lógico subprogramas como parámetros de otros subprogramas FORTRAN 77 cadenas de caracteres control lógico de bucles (while) la cláusula ELSE para el IF Paradigmas de Programación 38

39 FORTRAN 90 Operaciones con matrices pre-definidas Matrices dinámicas Registros (llamados tipos derivados) Instrucción CASE Salidas de bucles prematuras Recursión en subprogramas Módulos FORTRAN 95, 2003, 2008,... A good FORTRAN programmer can write FORTRAN code in any language Paradigmas de Programación 39

40 LISP. John McCarthy (1958) List Processing Language Énfasis en cálculo simbólico Gestión dinámica de memoria para listas Primitivas del lenguaje expresiones condicionales recursión gestión dinámica de memoria los programas pueden ser también datos Otros lenguajes relacionados: Scheme, Common Lisp, ML Lisp has jokingly been called the most intelligent way to misuse a computer. I think that description is a great compliment because it transmits the full flavor of liberation: it has assisted a number of our most gifted fellow humans in thinking previously impossible thoughts. Edsger Dijkstra, CACM, 15:10 Paradigmas de Programación 40

41 Scheme. Guy L. Steele & Gerard J. Sussman (1984) Desarrollado en MIT a partir del Lisp Conjunto básico de primitivas Utilizado incluso para cursos introductorios de programación Paradigmas de Programación 41

42 ALGOL A mediados de los 50 hubo una proliferación de lenguajes y ACM formó un comité en 1957 Objetivos: sintaxis cercana a la notación matemática debía ser usable en publicaciones debía ser compilable ALGOL 58 tipos de datos: coma flotante implícita y el resto debían declararse explícitamente identificadores de cualquier longitud matrices con número arbitrario de dimensiones se podían declarar explícitamente los límites inferiores de las matrices ALGOL 60 parámetros se podían pasar por valor y por nombre procedimientos recursivos Paradigmas de Programación 42

43 Otras cuestiones Requisitos de un lenguaje de programación Universal Natural (expresivo) Implementable Eficiente (escribir, compilar, ejecutar) Robusto Mantenible Paradigmas de Programación 43

44 Otras cuestiones Abstracciones Abstracciones de datos tipos básicos de datos: enteros, reales, booleanos, caracteres, punteros estructurados: matrices, registros unidades: soporte a tipos abstractos de datos, módulos, paquetes, clases Abstracciones de control básicas: asignación, ir-a, secuencia estructuradas: if-then-else, bucles, procedimientos (funciones) unidades: unidades de compilación separada, módulos, paquetes, tareas concurrentes Paradigmas de Programación 44

45 Otras cuestiones En cualquier caso, Hay alguno que sea superior a otros lenguajes de programación? Paradigmas de Programación 45

46 Otras cuestiones La solución: los propios programadores Paradigmas de Programación 46

47 Otras cuestiones La solución: los propios programadores Paradigmas de Programación 47

48 Otras cuestiones Algunos ejemplos. Hello world En Lisp (print "Hello World!") En Prolog hello :- display( Hello World! ), nl. En Java import java.io.*; class HelloWorld { static public void main( String args[] ) { System.out.println( "Hello World!" ); } } Paradigmas de Programación 48

49 Otras cuestiones Algunos ejemplos. Hello world En Pascal program HelloWorld(output); begin WriteLn( Hello World! ); end. En Fortran PROGRAM HELLO WRITE (*,100) STOP 100 FORMAT ( Hello World! /) END Paradigmas de Programación 49

50 Otras cuestiones Algunos ejemplos. Hello world En Cobol ***************************** IDENTIFICATION DIVISION. PROGRAM-ID. HELLO. ENVIRONMENT DIVISION. DATA DIVISION. PROCEDURE DIVISION. MAIN SECTION. DISPLAY "Hello World!" STOP RUN. **************************** Paradigmas de Programación 50

51 Otras cuestiones Algunas direcciones interesantes HelloWorld: Formatos de ficheros: de los lenguajes de programación: Directorio de algoritmos de programación: Algoritmos de la ACM: cssavc/math.libraries/ Diccionario de algoritmos y estructuras de datos: Paradigmas de Programación 51

52 Indice 1 Presentación 2 Introducción Modelos de computación Paradigmas de programación Otras cuestiones 3 COMMONLISP 4 Programación funcional 5 Programación lógica. PROLOG Paradigmas de Programación 52

53 Indice 1 Presentación 2 Introducción Modelos de computación Paradigmas de programación Otras cuestiones 3 COMMONLISP 4 Programación funcional 5 Programación lógica. PROLOG Paradigmas de Programación 53

54 Indice 1 Presentación 2 Introducción Modelos de computación Paradigmas de programación Otras cuestiones 3 COMMONLISP 4 Programación funcional 5 Programación lógica. PROLOG Paradigmas de Programación 54

Algoritmos y programas

Algoritmos y programas Algoritmo Algoritmos y programas Secuencia ordenada de pasos que resuelve un problema concreto. Características - Corrección (sin errores). - Precisión (ausencia de ambigüedades). - Repetitividad (solución

Más detalles

Desarrollo del software imposible si las tareas tuviesen que expresarse en código máquina. Lenguajes de más alto nivel: comprensibles, manejables y

Desarrollo del software imposible si las tareas tuviesen que expresarse en código máquina. Lenguajes de más alto nivel: comprensibles, manejables y 1. Paradigmas de programación Desarrollo del software imposible si las tareas tuviesen que expresarse en código máquina. Lenguajes de más alto nivel: comprensibles, manejables y automáticamente convertibles

Más detalles

INDICE Parte I. Conceptos 1. El estudio de los lenguajes de programación 2. Cuestiones de diseño de lenguajes

INDICE Parte I. Conceptos 1. El estudio de los lenguajes de programación 2. Cuestiones de diseño de lenguajes INDICE Parte I. Conceptos 1 1. El estudio de los lenguajes de programación 1.1. Por qué estudiar lenguajes de programación? 2 1.2. Breve historia de los lenguajes de programación 1.2.1. Desarrollo de los

Más detalles

METODOS NUMERICOS CATEDRA 0 2. Ingeniería Civil ING.CRISTIANCASTROP. Facultad de Ingeniería de Minas, Geología y Civil

METODOS NUMERICOS CATEDRA 0 2. Ingeniería Civil ING.CRISTIANCASTROP. Facultad de Ingeniería de Minas, Geología y Civil CATEDRA 0 2 Facultad de Ingeniería de Minas, Geología y Civil Departamento académico de ingeniería de minas y civil METODOS NUMERICOS Ingeniería Civil ING.CRISTIANCASTROP. Capitulo II Herramientas de Cálculo

Más detalles

2.1. Introducción al lenguaje Java

2.1. Introducción al lenguaje Java Bloque II. Elementos del lenguaje de programación Java 1.Introducción a los lenguajes de programación 2. Estructura de un programa 3. Datos y expresiones simples 4. Instrucciones de control 5. Entrada/salida

Más detalles

1. Manejo de memoria estática 2. Manejo de memoria dinámica

1. Manejo de memoria estática 2. Manejo de memoria dinámica 1. Manejo de memoria estática 2. Manejo de memoria dinámica *La administración de memoria de una computadora es una tarea fundamental debido a que la cantidad de memoria es limitada. *El sistema operativo

Más detalles

de! texto: Francisco Javier Carreras Riudavets Antonio Carlos González Cabrera Zenón Hernández Figueroa Juan Carlos Rodríguez del Pino

de! texto: Francisco Javier Carreras Riudavets Antonio Carlos González Cabrera Zenón Hernández Figueroa Juan Carlos Rodríguez del Pino COLECCIÓN: MANUALES DOCENTES UNIVERSITARIOS, N 13 de! texto: Francisco Javier Carreras Riudavets Antonio Carlos González Cabrera Zenón Hernández Figueroa Juan Carlos Rodríguez del Pino de la edición: VICERRECTORADO

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

INDICE Programación Introducción Capitulo 21 BASIC Capitulo 22. COBOL Capitulo 23 DELPHI Capitulo 24. FORTRAN Capitulo 25.

INDICE Programación Introducción Capitulo 21 BASIC Capitulo 22. COBOL Capitulo 23 DELPHI Capitulo 24. FORTRAN Capitulo 25. INDICE Programación Introducción 706 Capitulo 21 BASIC 711 Introducción 711 Sintaxis 713 Procedimientos y control de flujo 713 Tipos de datos 714 Disponibilidad y variantes del dialecto 714 Capitulo 22.

Más detalles

PASCAL. Repaso de Pascal Introducción a Python. Pascal. Pascal - introducción. Pascal Declaraciones: Variables. Pascal Declaraciones: Tipos 07/04/2015

PASCAL. Repaso de Pascal Introducción a Python. Pascal. Pascal - introducción. Pascal Declaraciones: Variables. Pascal Declaraciones: Tipos 07/04/2015 Repaso de Pascal Introducción a Python Lenguajes de Programación 2015 PASCAL Pascal - introducción Pascal es un Lenguaje basado en el paradigma imperativo clasico Estructura la programación mediante Funciones

Más detalles

Introducción a los Tipos Abstractos de Datos

Introducción a los Tipos Abstractos de Datos Página 1 de 8 Introducción a los Tipos Abstractos de Datos Introducción: Concepto de abstracción Abstracción funcional y abstracción de datos Construcción de tipos abstractos de datos Especificación 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

Tema 1: y el lenguaje Java 1.Programación orientada a objetos 2.El lenguaje Java 3.Compilación, bytecode y JVMs 4.Entornos de desarrollo Java 5.Java vs otros lenguajes OO Programación orientada a objetos

Más detalles

Sesión 6.3: Historia de los Lenguajes de Programación. Dr. Alberto A. Del Barrio García

Sesión 6.3: Historia de los Lenguajes de Programación. Dr. Alberto A. Del Barrio García Sesión 6.3: Historia de los Lenguajes de Programación Dr. Alberto A. Del Barrio García Curso Evolución de la Informática CTIF Madrid Sur Índice Definición Prehistoria II GM y Posguerra Década de los 50:

Más detalles

Procesadores de lenguaje Tema 5 Comprobación de tipos

Procesadores de lenguaje Tema 5 Comprobación de tipos Procesadores de lenguaje Tema 5 Comprobación de tipos Departamento de Ciencias de la Computación Universidad de Alcalá Resumen Sistemas de tipos. Expresiones de tipo. Equivalencia de tipos. Sobrecarga,

Más detalles

Instituto Tecnológico de Celaya

Instituto Tecnológico de Celaya LENGUAJES Lenguaje es el empleo de notaciones, señales y vocales (voz, palabras) para expresar ideas, comunicarse, y establecer relaciones entre los seres humanos. Un lenguaje no sólo consta de palabras,

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

.NET y J2EE VALORACIÓN Y COMPARACIÓN DE LOS ELEMENTOS DE LAS DOS PLATAFORMAS. Definiciones...2 C# y Java...3 Similitudes...4 Ventajas...

.NET y J2EE VALORACIÓN Y COMPARACIÓN DE LOS ELEMENTOS DE LAS DOS PLATAFORMAS. Definiciones...2 C# y Java...3 Similitudes...4 Ventajas... .NET y J2EE VALORACIÓN Y COMPARACIÓN DE LOS ELEMENTOS DE LAS DOS PLATAFORMAS Definiciones...2 C# y Java.....3 Similitudes...4 Ventajas...4 Definiciones Sobre J2EE J2EE (Java 2 Platform Enterprise Edition)

Más detalles

Programación Orientada a Objetos

Programación Orientada a Objetos Programación Orientada a Objetos E.T.S.I. Telecomunicación Universidad de Málaga http://www.lcc.uma.es/ Contenido Introducción histórica Conceptos básicos de la Programación O. O. Conceptos avanzados de

Más detalles

Tipos Abstractos de Datos

Tipos Abstractos de Datos Objetivos Repasar los conceptos de abstracción de datos y (TAD) Diferenciar adecuadamente los conceptos de especificación e implementación de TAD Presentar la especificación algebraica como método formal

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

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

APLICACIONES MÓVILES NATIVAS

APLICACIONES MÓVILES NATIVAS APLICACIONES MÓVILES NATIVAS 1 Sesión No. 3 Nombre: Introducción al paradigma de programación orientada a objetos Objetivo: Al finalizar la clase el alumno conocerá los diferentes tipos de paradigmas existentes

Más detalles

LENGUAJES DE PROGRAMACIÓN POR QUÉ HAY TANTOS Y APARECEN NUEVOS? Por: Hanna Oktaba

LENGUAJES DE PROGRAMACIÓN POR QUÉ HAY TANTOS Y APARECEN NUEVOS? Por: Hanna Oktaba LENGUAJES DE PROGRAMACIÓN POR QUÉ HAY TANTOS Y APARECEN NUEVOS? Por: Hanna Oktaba La computadora, a diferencia de otras herramientas que en general apoyan el esfuerzo físico de los humanos, fue inventada

Más detalles

IIC1102 - Introducción a la Programación -

IIC1102 - Introducción a la Programación - IIC1102 - Introducción a la Programación - Sección 4 Introducción Programa y Carla Vairetti cvairetti@gmail.com Pontifícia Universidad Católica 5 de Marzo de 2009 Esquema 1 Programa del curso 2 3 Esquema

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

Estructura general de un programa

Estructura general de un programa Estructura general de un programa INTRODUCCION Un programa puede considerarse como una secuencia de acciones (instrucciones) que manipulan un conjunto de objetos (datos). Contendrá por tanto dos bloques

Más detalles

8. Sentencia return y métodos

8. Sentencia return y métodos 92 A. García-Beltrán y J.M. Arranz 8. Sentencia return y métodos Objetivos: a) Describir el funcionamiento de la sentencia return b) Interpretar el resultado de una sentencia return en el código fuente

Más detalles

Comunicación con la Computadora

Comunicación con la Computadora Comunicación con la Computadora Programación Básica Copyright CARIMOBITS Comunicación con la computadora Se logra a través de lenguajes de computadoras o lenguajes de programación. Tipos de lenguajes de

Más detalles

Bloque II. Elementos del lenguaje de programación Java

Bloque II. Elementos del lenguaje de programación Java Bloque II. Elementos del lenguaje de programación Java 1.Introducción a los lenguajes de programación 2. Estructura de un programa 3. Datos y expresiones simples 4. Instrucciones de control 5. Entrada/salida

Más detalles

GUIA PROGRAMACIÓN ORIENTADA A OBJETOS

GUIA PROGRAMACIÓN ORIENTADA A OBJETOS GUIA PROGRAMACIÓN ORIENTADA A OBJETOS 1. Por qué la P.O.O? R= A medida que se van desarrollando los lenguajes, se va desarrollando también la posibilidad de resolver problemas más complejos. En la evolución

Más detalles

Typeset by GMNI & FoilTEX

Typeset by GMNI & FoilTEX Typeset by GMNI & FoilTEX LENGUAJE FORTRAN: ORIGEN Y EVOLUCIÓN F. Navarrina, I. Colominas, H. Gómez, J. París, M. Casteleiro GMNI GRUPO DE MÉTODOS NUMÉRICOS EN INGENIERÍA Departamento de Métodos Matemáticos

Más detalles

Resolución de Problemas

Resolución de Problemas Resolución de Problemas con algoritmos Colaboratorio de Computación Avanzada (CNCA) 2015 1 / 27 Contenidos 1 Introducción 2 Elementos de algoritmos Elementos Variables Estructuras de Control Condicionales

Más detalles

Agenda (continuación)

Agenda (continuación) Agenda Plankalkul de Zuse Minimal Hardware Programming: Pseudocódigos La IBM 704 y Fortran Programación Funcional: LISP El primer paso hacia la sofisticación: ALGOL 60 Computando registros de negocios:

Más detalles

Estructura de Bases de datos. Leonardo Víquez Acuña

Estructura de Bases de datos. Leonardo Víquez Acuña Estructura de Bases de datos Leonardo Víquez Acuña Lenguajes de Bases de Datos Un sistema de bases de datos proporciona Un lenguaje de definición de datos para especificar el esquema de la base de datos

Más detalles

Concurrencia. Primitivas IPC con bloqueo

Concurrencia. Primitivas IPC con bloqueo Concurrencia Primitivas IPC con bloqueo Primitivas de IPC con bloqueo La solución de Peterson es correcta, pero tiene el defecto de requerir espera ocupada: Cuando un proceso quiere entrar en su región

Más detalles

Modelo de Objetos Distribuidos

Modelo de Objetos Distribuidos Remote Method Invocation Modelo de Objetos Distribuidos Un objeto remoto es un objeto cuyos métodos pueden ser invocados desde otra máquina virtual de java, potencialmente en un host diferente. Modelo

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

A continuación resolveremos parte de estas dudas, las no resueltas las trataremos adelante

A continuación resolveremos parte de estas dudas, las no resueltas las trataremos adelante Modulo 2. Inicio con Java Muchas veces encontramos en nuestro entorno referencias sobre Java, bien sea como lenguaje de programación o como plataforma, pero, que es en realidad Java?, cual es su historia?,

Más detalles

Compiladores y Lenguajes de Programación. Maria de Guadalupe Cota Ortiz

Compiladores y Lenguajes de Programación. Maria de Guadalupe Cota Ortiz Compiladores y Lenguajes de Programación Maria de Guadalupe Cota Ortiz Organizaciones que rigen las normas para estandarización de Lenguajes de Programación IEEE (Instituto de Ingenieros Eléctricos y Electrónicos)

Más detalles

Tema 2 Conceptos básicos de programación. Fundamentos de Informática

Tema 2 Conceptos básicos de programación. Fundamentos de Informática Tema 2 Conceptos básicos de programación Fundamentos de Informática Índice Metodología de la programación Programación estructurada 2 Pasos a seguir para el desarrollo de un programa (fases): Análisis

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

02 Lenguajes de programación y compiladores

02 Lenguajes de programación y compiladores 2 Contenido Introducción Lenguaje de programación Traductor Compilador Interprete Lenguaje compilado Lenguaje interpretado Compiladores (just in time) Lenguaje ensamblador Programa objeto Lenguajes de

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

Análisis de Lenguajes de Programación II El Inicio

Análisis de Lenguajes de Programación II El Inicio Análisis de II El Inicio 08/08/2011 Docentes de la Materia Cecilia Manzino Pablo Buiras Lucio Nardelli Adscripto: Martín Ceresa (mauro@fceia.unr.edu.ar) (ceciliam@fceia.unr.edu.ar) (pablobuiras@gmail.com)

Más detalles

Tema 6. Reutilización de código. Programación 2015-2016. Programación - Tema 6: Reutilización de código

Tema 6. Reutilización de código. Programación 2015-2016. Programación - Tema 6: Reutilización de código Tema 6 Reutilización de código Programación 2015-2016 Programación - Tema 6: Reutilización de código 1 Tema 6. Reutilización de código Modularidad. Implementación de métodos. Uso de métodos. Programación

Más detalles

DEPARTAMENTO: Informática. MATERIA: Programación. NIVEL: 1º Desarrollo de Aplicaciones Multiplataforma

DEPARTAMENTO: Informática. MATERIA: Programación. NIVEL: 1º Desarrollo de Aplicaciones Multiplataforma DEPARTAMENTO: Informática MATERIA: Programación NIVEL: 1º Desarrollo de Aplicaciones Multiplataforma 1. Objetivos. Competencias Profesionales, Personales y Sociales 1.1 Objetivos del ciclo formativo La

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

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

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

Más detalles

Tema 1. Conceptos fundamentales de los Sistemas Operativos

Tema 1. Conceptos fundamentales de los Sistemas Operativos Tema 1. Conceptos fundamentales de los Sistemas Operativos 1. Introducción a los Sistemas Operativos. 1. Concepto de Sistema Operativo. Niveles del software. 2. Funciones principales de un Sistema Operativo.

Más detalles

Primera Escuela de la Red Temática SVO. Madrid, 27-28 Noviembre, 2006 JAVA BÁSICO. Raúl Gutiérrez Sánchez LAEFF - INTA raul@laeff.inta.

Primera Escuela de la Red Temática SVO. Madrid, 27-28 Noviembre, 2006 JAVA BÁSICO. Raúl Gutiérrez Sánchez LAEFF - INTA raul@laeff.inta. Primera Escuela de la Red Temática SVO. Madrid, 27-28 Noviembre, 2006 JAVA BÁSICO LAEFF - INTA raul@laeff.inta.es Qué es Java? Java es un lenguaje de programación orientado a objetos desarrollado por Sun

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

Ingeniería del Software. Diseño. Diseño en el PUD. Diseño de software. Patrones arquitectónicos. Diseño Orientado a Objetos en UML

Ingeniería del Software. Diseño. Diseño en el PUD. Diseño de software. Patrones arquitectónicos. Diseño Orientado a Objetos en UML Diseño Diseño en el PUD Diseño de software Patrones arquitectónicos Diseño Orientado a Objetos en UML 1 Iteración en PUD Planificación de la Iteración Captura de requisitos: Modelo de casos de uso, Modelo

Más detalles

RESUMEN INFORMATIVO PROGRAMACIÓN DIDÁCTICA CURSO 2013/2014

RESUMEN INFORMATIVO PROGRAMACIÓN DIDÁCTICA CURSO 2013/2014 RESUMEN INFORMATIVO PROGRAMACIÓN DIDÁCTICA CURSO 2013/2014 FAMILIA PROFESIONAL: INFORMATICA Y COMUNICACIONES MATERIA: 28. DESARROLLO WEB EN ENTORNO SERVIDOR CURSO: 2º DE CFGS DESARROLLO DE APLICACIONES

Más detalles

Tiempo de Compilación. Programa fuente. Secuencia. de caracteres. Scanner. Secuencia. de símbolos Parser. Compilador.

Tiempo de Compilación. Programa fuente. Secuencia. de caracteres. Scanner. Secuencia. de símbolos Parser. Compilador. ORGANIZACIÓN DE LA MEMORIA EN TIEMPO DE EJECUCIÓN Compilador Tiempo de Compilación Programa fuente Secuencia de caracteres Scanner Secuencia de símbolos Parser Árbol sintáctico Analizador semántico Generador

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

Partes de un programa en Java. A. Ejemplo de un Programa en Java /* Programa Ejemplo de Java: Muestra una Ventana Archivo: Ejemplo1.

Partes de un programa en Java. A. Ejemplo de un Programa en Java /* Programa Ejemplo de Java: Muestra una Ventana Archivo: Ejemplo1. Partes de un programa en Java A. Ejemplo de un Programa en Java /* class Ejemplo1 { //comienza la clase Ejemplo1. public static void main(string[] args) { // comienza el método main. JFrame miventana;

Más detalles

Introducción al lenguaje de programación java

Introducción al lenguaje de programación java Introducción al lenguaje de programación java Algoritmia y Programación Slide 1 LENGUAJES DE PROGRAMACION Un lenguaje de programación es un idioma artificial diseñado y creado para expresar algoritmos

Más detalles

Introducción al lenguaje Java

Introducción al lenguaje Java Tipo de entrega: Fecha límite: Lugar: Introducción al lenguaje Java por grupos de prácticas sesión de laboratorio Atenea Objetivos de la práctica: Escribir aplicaciones simples en Java Utilizar el entorno

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

DISEÑO DE COMPONENTES DE SOFTWARE *

DISEÑO DE COMPONENTES DE SOFTWARE * DISEÑO DE COMPONENTES DE SOFTWARE * NOTAS DEL CURSO Ingeniería de Software I DRA. MARIA DEL PILAR GÓMEZ GIL INAOEP * Resumen del capítulo 10 de libro de [Pressman 2010] V:18-11-2008 (c) P. Gomez-Gil, INAOE.

Más detalles

Tema 1: Computadores y Programas

Tema 1: Computadores y Programas Tema 1: Computadores y Programas Ingeniería Informática Ingeniería Técnica en Informática de Sistemas Ingeniería Técnica en Informática de Gestión Departamento de Ciencia de la Computación e I.A. Universidad

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

CICLO SUPERIOR DESARROLLO DE APLICACIONES MULTIPLATAFORMA

CICLO SUPERIOR DESARROLLO DE APLICACIONES MULTIPLATAFORMA CICLO SUPERIOR DESARROLLO DE APLICACIONES MULTIPLATAFORMA PROGRAMACIÓN DIDACTICA ANUAL Parte específica del módulo: 0485. Programación Departamento de Familia Profesional de Informática Curso: 2014-15

Más detalles

Estructuras de Control - Diagrama de Flujo

Estructuras de Control - Diagrama de Flujo RESOLUCIÓN DE PROBLEMAS Y ALGORITMOS Ingeniería en Computación Ingeniería en Informática UNIVERSIDAD NACIONAL DE SAN LUIS DEPARTAMENTO DE INFORMÁTICA AÑO 2015 Índice 1. Programación estructurada 2 1.1.

Más detalles

Sistemas de archivos distribuidos. Alvaro Ospina Sanjuan alvaro.ospina@correo.upb.edu.co

Sistemas de archivos distribuidos. Alvaro Ospina Sanjuan alvaro.ospina@correo.upb.edu.co Sistemas de archivos distribuidos Alvaro Ospina Sanjuan alvaro.ospina@correo.upb.edu.co >Abstracción del sistema operativo para representar y organizar los recursos de almacenamiento >Se debe hacer la

Más detalles

Lenguajes de Programación

Lenguajes de Programación Lenguajes de Programación Mediante los programas se indica a la computadora que tarea debe realizar y cómo efectuarla, pero para ello es preciso introducir estas órdenes en un lenguaje que el sistema pueda

Más detalles

Informática I para Bachillerato

Informática I para Bachillerato CIMAT Introducción a la programación en C/C++ CIMAT Sesión 1 Temario Evaluación Noticias y Material del Curso Sobre la clase: Tareas Objetivo del Curso Inicio de curso Temario: 1 Introducción a la Programación

Más detalles

SEGURIDAD Y PROTECCION DE FICHEROS

SEGURIDAD Y PROTECCION DE FICHEROS SEGURIDAD Y PROTECCION DE FICHEROS INTEGRIDAD DEL SISTEMA DE ARCHIVOS ATAQUES AL SISTEMA PRINCIPIOS DE DISEÑO DE SISTEMAS SEGUROS IDENTIFICACIÓN DE USUARIOS MECANISMOS DE PROTECCIÓN Y CONTROL INTEGRIDAD

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

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

UNIVERSIDAD DE SEVILLA PRÁCTICAS DE LABORATORIO ANÁLISIS SINTÁCTICO (1) LENGUAJES FORMALES Y AUTÓMATAS CURSO 2006/2007

UNIVERSIDAD DE SEVILLA PRÁCTICAS DE LABORATORIO ANÁLISIS SINTÁCTICO (1) LENGUAJES FORMALES Y AUTÓMATAS CURSO 2006/2007 UNIVERSIDAD DE SEVILLA E. T. S. INGENIERÍA INFORMÁTICA LENGUAJES Y SISTEMAS INFORMÁTICOS PRÁCTICAS DE LABORATORIO ANÁLISIS SINTÁCTICO (1) LENGUAJES FORMALES Y AUTÓMATAS CURSO 2006/2007 Qué es el análisis

Más detalles

Capítulo 4. Vectores y matrices. 4.1 Declaración de tablas. 4.2 Declaración estática de tablas

Capítulo 4. Vectores y matrices. 4.1 Declaración de tablas. 4.2 Declaración estática de tablas Capítulo 4 Vectores y matrices En FORTRAN se puede utilizar un tipo especial de variable que sirve, en particular, para almacenar vectores y matrices. De esta forma, se utiliza un sólo nombre para referirse

Más detalles

2.2.- Paradigmas de la POO

2.2.- Paradigmas de la POO 2.2.- Paradigmas de la POO Los principios propios de la orientación a objetos son: 2.2.1.- Abstracción de Datos 2.2.2.- Encapsulamiento 2.2.3.- Ocultamiento 2.2.4.- Herencia 2.2.5.- Polimorfismo Cualquier

Más detalles

http://www.cem.itesm.mx/extension/ms

http://www.cem.itesm.mx/extension/ms Diplomado Programación orientada a objetos con Java y UML Las empresas necesitan contar con sistemas de información modernos, ágiles y de calidad para alcanzar sus objetivos y ser cada vez más competitivos

Más detalles

UNIVERSIDAD DR. JOSE MATIAS DELGADO

UNIVERSIDAD DR. JOSE MATIAS DELGADO NOMBRE DE LA ASIGNATURA: PROGRAMACION DE COMPUTADORAS 1 a. Generalidades. Duración del Ciclo en Semanas: Número de Orden: 16 Código: PRC1 16 Ciclo Académico: Duración/Hora Clase: 50 III minutos Prerrequisito

Más detalles

U.T.4.EL ENTORNO DE DESARROLLO

U.T.4.EL ENTORNO DE DESARROLLO U.T.4.EL ENTORNO DE DESARROLLO Lenguaje Java Estamos en unos días en los que cada vez más la informática invade más campos de nuestra vida, estando el ciudadano medio cada vez más familiarizado con términos

Más detalles

Fundamentos del diseño 3ª edición (2002)

Fundamentos del diseño 3ª edición (2002) Unidades temáticas de Ingeniería del Software Fundamentos del diseño 3ª edición (2002) Facultad de Informática necesidad del diseño Las actividades de diseño afectan al éxito de la realización del software

Más detalles

Arquitectura de Aplicaciones

Arquitectura de Aplicaciones 1 Capítulo 13: Arquitectura de aplicaciones. - Sommerville Contenidos del capítulo 13.1 Sistemas de procesamiento de datos 13.2 Sistemas de procesamiento de transacciones 13.3 Sistemas de procesamiento

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

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

4. Programación Paralela

4. Programación Paralela 4. Programación Paralela La necesidad que surge para resolver problemas que requieren tiempo elevado de cómputo origina lo que hoy se conoce como computación paralela. Mediante el uso concurrente de varios

Más detalles

EL PROCESO DE DISEÑO DEL SOFTWARE

EL PROCESO DE DISEÑO DEL SOFTWARE UNIDAD VI EL PROCESO DE DISEÑO DEL SOFWARE Contenido: 6.1 El diseño en la Ingeniería de Software 6.2 El proceso de Diseño 6.3 Fundamentos de Diseño 6.4 Diseño de Datos 6.5 Diseño Arquitectónico 6.6 Diseño

Más detalles

Entidad Formadora: Plan Local De Formación Convocatoria 2010

Entidad Formadora: Plan Local De Formación Convocatoria 2010 Entidad Formadora: Enterprise Architect Comenzando Puede iniciar Enterprise Architect desde el ícono que se creó en su escritorio de Windows durante la instalación, o alternativamente: 1. Abrir el menú

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

1.1.- Objetivos de los sistemas de bases de datos 1.2.- Administración de los datos y administración de bases de datos 1.3.- Niveles de Arquitectura

1.1.- Objetivos de los sistemas de bases de datos 1.2.- Administración de los datos y administración de bases de datos 1.3.- Niveles de Arquitectura 1. Conceptos Generales 2. Modelo Entidad / Relación 3. Modelo Relacional 4. Integridad de datos relacional 5. Diseño de bases de datos relacionales 6. Lenguaje de consulta estructurado (SQL) 1.1.- Objetivos

Más detalles

Una base de datos es una colección de información ordenada e interrelacionada que es de importancia para una empresa.

Una base de datos es una colección de información ordenada e interrelacionada que es de importancia para una empresa. BASES DE DATOS Una base de datos es una colección de información ordenada e interrelacionada que es de importancia para una empresa. La creación de una base de datos debe ser realizada cuidadosamente procurando

Más detalles

TEMA 1: INTRODUCCIÓN

TEMA 1: INTRODUCCIÓN 1 DISEÑO Y DESARROLLO DE COMPILADORES TEMA 1: INTRODUCCIÓN Qué es un Compilador? Un compilador no es más que un traductor, es decir, un programa que nos permite pasar información de un lenguaje a otro.

Más detalles

TEMA 1. INTRODUCCIÓN. 1. Diferentes niveles en la arquitectura de un computador

TEMA 1. INTRODUCCIÓN. 1. Diferentes niveles en la arquitectura de un computador TEMA 1. INTRODUCCIÓN 1. Diferentes niveles en la arquitectura de un computador.» Máquinas virtuales 2. Máquinas multinivel actuales. 3. Evolución histórica de las máquinas multinivel. 1 1. Diferentes niveles

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

Proceso de desarrollo del software modelo en cascada

Proceso de desarrollo del software modelo en cascada Proceso de desarrollo del software modelo en cascada Análisis: Necesidades del usuario especificaciones Diseño: Descomposición en elementos que puedan desarrollarse por separado especificaciones de cada

Más detalles

PROGRAMACIÓN CON LENGUAJE JAVA Y ORIENTACIÓN A OBJETOS

PROGRAMACIÓN CON LENGUAJE JAVA Y ORIENTACIÓN A OBJETOS PROGRAMACIÓN CON LENGUAJE JAVA Y ORIENTACIÓN A OBJETOS Por qué es importante el Lenguaje Java? Java es un lenguaje de programación de alto nivel que tiene las siguientes características: Orientado a objetos

Más detalles

Fundamentos de la Programación

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

Más detalles

RBAC4WFSYS: Modelo de Acceso para Sistemas Workflow basado en RBAC

RBAC4WFSYS: Modelo de Acceso para Sistemas Workflow basado en RBAC RBAC4WFSYS: Modelo de Acceso para Sistemas Workflow basado en RBAC Proyecto Integrador de Tecnologías Computacionales Autor: Roberto García :: A00888485 Director: Jorge A. Torres Jiménez Contenido Introducción

Más detalles

Asignaturas antecedentes y subsecuentes

Asignaturas antecedentes y subsecuentes PROGRAMA DE ESTUDIOS Programación de Sistemas Área a la que pertenece: Área Sustantiva Profesional Horas teóricas: 3 Horas prácticas: 2 Créditos: 8 Clave: F0165 Asignaturas antecedentes y subsecuentes

Más detalles

UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos

UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos 2.1. Principios básicos del Modelado de Objetos UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos Hoy en día muchos de los procesos que intervienen en un negocio o empresa y que resuelven

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

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

3.1 INGENIERIA DE SOFTWARE ORIENTADO A OBJETOS OOSE (IVAR JACOBSON)

3.1 INGENIERIA DE SOFTWARE ORIENTADO A OBJETOS OOSE (IVAR JACOBSON) 3.1 INGENIERIA DE SOFTWARE ORIENTADO A OBJETOS OOSE (IVAR JACOBSON) 3.1.1 Introducción Este método proporciona un soporte para el diseño creativo de productos de software, inclusive a escala industrial.

Más detalles

Escuela Provincial de Educación Técnica N 1 UNESCO. Planificación Anual 2015 Ciclo Superior Secundario

Escuela Provincial de Educación Técnica N 1 UNESCO. Planificación Anual 2015 Ciclo Superior Secundario Escuela Provincial de Educación Técnica N 1 UNESCO Planificación Anual 2015 Ciclo Superior Secundario Especialidad: Técnico en Informática Personal y Profesional - Espacio Curricular: Programación Web

Más detalles