Programación Concurrente y distribuida

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

Download "Programación Concurrente y distribuida"

Transcripción

1 Working Hypothesis Programación Concurrente y distribuida Camilo Rueda 1 1 Universidad Javeriana-Cali 1 de febrero de 2010

2 Motivación Working Hypothesis Premisa El contexto de aplicación de la Ingeniería de Software está cambiando

3 Motivación Working Hypothesis Premisa El contexto de aplicación de la Ingeniería de Software está cambiando CPU multi-núcleo

4 Motivación Working Hypothesis Premisa El contexto de aplicación de la Ingeniería de Software está cambiando CPU multi-núcleo Programas en la web

5 Motivación Working Hypothesis Premisa El contexto de aplicación de la Ingeniería de Software está cambiando CPU multi-núcleo Programas en la web Dispositivos móviles programables

6 Motivación Working Hypothesis Premisa El contexto de aplicación de la Ingeniería de Software está cambiando CPU multi-núcleo Programas en la web Dispositivos móviles programables Programas interactuan con el mundo físico

7 Motivación (cont) Working Hypothesis Conceptos, modelos, técnicas y metodologías deben adaptarse

8 Motivación (cont) Working Hypothesis En software tradicional: Conceptos, modelos, técnicas y metodologías deben adaptarse Concepto Modelo Técnica Modularidad Tipo abstracto de datos Clase

9 Motivación (cont) Working Hypothesis En el nuevo contexto: Conceptos, modelos, técnicas y metodologías deben adaptarse Concepto Modelo Técnica Proceso objeto activo Puerto+cola de mensajes Localidad Exclusión mutua Imparcialidad ( fairness )

10 Working Hypothesis Por qué nuevas metodologías? Ejemplo: Exclusión mutua P 1 l 0 : loop forever do l 1 : sección no crítica l 2 : s := 1; l 3 : y 1 := 1; l 4 : wait (y 2 = 0) (s 1); l 5 : sección crítica l 6 : y 1 := 0 od P 2 m 0 : loop forever do m 1 : sección no crítica m 2 : s := 2; m 3 : y 2 := 1; m 4 : wait (y 1 = 0) (s 2); m 5 : sección crítica m 6 : y 2 := 0 od ejecutar : s := 1; y 1, y 2 := 0, 0; [P 1 P 2 ] funciona?

11 Working Hypothesis Por qué nuevas metodologías? Ejemplo: Exclusión mutua P 1 l 0 : loop forever do l 1 : sección no crítica l 2 : s := 1; l 3 : y 1 := 1; l 4 : wait (y 2 = 0) (s 1); l 5 : sección crítica l 6 : y 1 := 0 od P 2 m 0 : loop forever do m 1 : sección no crítica m 2 : s := 2; m 3 : y 2 := 1; m 4 : wait (y 1 = 0) (s 2); m 5 : sección crítica m 6 : y 2 := 0 od funciona? Exactamente por qué? ejecutar : s := 1; y 1, y 2 := 0, 0; [P 1 P 2 ]

12 Working Hypothesis Por qué nuevas metodologías? Ejemplo: Exclusión mutua P 1 l 0 : loop forever do l 1 : sección no crítica l 2 : y 1 := 1; l 3 : s := 1; l 4 : wait (y 2 = 0) (s 1); l 5 : sección crítica l 6 : y 1 := 0 od P 2 m 0 : loop forever do m 1 : sección no crítica m 2 : y 2 := 1; m 3 : s := 2; m 4 : wait (y 1 = 0) (s 2); m 5 : sección crítica m 6 : y 2 := 0 od ejecutar : s := 1; y 1, y 2 := 0, 0; [P 1 P 2 ] funciona?

13 Working Hypothesis Por qué nuevas metodologías? Ejemplo: Exclusión mutua P 1 l 0 : loop forever do l 1 : sección no crítica l 2 : y 1 := 1; l 3 : s := 1; l 4 : wait (y 2 = 0) (s 1); l 5 : sección crítica l 6 : y 1 := 0 od P 2 m 0 : loop forever do m 1 : sección no crítica m 2 : y 2 := 1; m 3 : s := 2; m 4 : wait (y 1 = 0) (s 2); m 5 : sección crítica m 6 : y 2 := 0 od funciona? Exactamente por qué? ejecutar : s := 1; y 1, y 2 := 0, 0; [P 1 P 2 ]

14 Estrategia del curso Working Hypothesis Presentar con cada concepto de programación concurrente y distribuida, sus modelos y tecnologías

15 Estrategia del curso Working Hypothesis Para los modelos Presentar con cada concepto de programación concurrente y distribuida, sus modelos y tecnologías Formalizarlos en un lenguaje de núcleo extendible, el Kernel Oz

16 Estrategia del curso Working Hypothesis Para los modelos Presentar con cada concepto de programación concurrente y distribuida, sus modelos y tecnologías Formalizarlos en un lenguaje de núcleo extendible, el Kernel Oz Para las técnicas Programarlas en el lenguaje de núcleo, construir aplicaciones

17 El Lenguaje de núcleo Working Hypothesis Lenguaje de programación minimal: con el mínimo de construcciones necesarias para representar un concepto

18 El Lenguaje de núcleo Working Hypothesis Lenguaje de programación minimal: con el mínimo de construcciones necesarias para representar un concepto Expresivo

19 El Lenguaje de núcleo Working Hypothesis Lenguaje de programación minimal: con el mínimo de construcciones necesarias para representar un concepto Expresivo Implementable e implementado

20 El Lenguaje de núcleo Working Hypothesis Lenguaje de programación minimal: con el mínimo de construcciones necesarias para representar un concepto Expresivo Implementable e implementado Simple

21 El Lenguaje de núcleo Working Hypothesis Lenguaje de programación minimal: con el mínimo de construcciones necesarias para representar un concepto Expresivo Implementable e implementado Simple Modular (o incrementable )

22 El Lenguaje de núcleo Working Hypothesis Lenguaje de programación minimal: con el mínimo de construcciones necesarias para representar un concepto Expresivo Implementable e implementado Simple Modular (o incrementable ) Reaĺısticamente cercano a lenguajes existentes

23 El Lenguaje de núcleo Working Hypothesis Lenguaje de programación minimal: con el mínimo de construcciones necesarias para representar un concepto Expresivo Implementable e implementado Simple Modular (o incrementable ) Reaĺısticamente cercano a lenguajes existentes Semántica precisa Nombre de moda: framework

24 Working Hypothesis El KL Oz: modelo declarativo < st > ::= < st 1 > < st 2 > secuencia de comandos local < var > in < st > end variable local if < var > then < st 1 > condicional else < st 2 > end case < var > of casos < patron > then < st 1 > [ ] < patron k > then < st k > else < st > end {< var > < arg 1 >... < arg n > } llamado a procedimiento Por qué no hay declaración de procedimientos?

25 Working Hypothesis El KL Oz: modelo declarativo < st > ::= < st 1 > < st 2 > secuencia de comandos local < var > in < st > end variable local if < var > then < st 1 > condicional else < st 2 > end case < var > of casos < patron > then < st 1 > [ ] < patron k > then < st k > else < st > end {< var > < arg 1 >... < arg n > } llamado a procedimiento Por qué no hay declaración de procedimientos? son valores: < valor >::=< numero > < registro > < proced > < proced >::= proc { $ < arg 1 >... < arg n >} < st > end

26 Working Hypothesis Por qué KL en el curso Por ser dispositivo de cómputo: refuerza conceptos teóricos viendo su realización práctica es a la vez riguroso, simple y práctico. Puede cubrir varios paradigmas de programación Puede aumentarse para distintos modelos de computación: Programación concurrente Programación distribuida

27 Working Hypothesis Modelos de computación (versión PVR&SH) Declarativo ((, un poco) Abstracción procedimental y recursión Evaluación perezosa Programación de alto orden Lenguajes: ML ( caml) Estado expĺıcito (imperativo) Funciones con memoria Tipos abstractos de datos Lenguajes: C Concurrente declarativo o dirigido por datos ( ) Programación multi-hilos ( ) Flujos (streams) ( ) Sincronización de procesos ( )

28 Modelos (2) Working Hypothesis Concurrencia por paso de mensaje ( ) Asincronía ( ) Puertos ( ) Agentes ( ) Lenguajes: Earlang ( ) Orientado-objetos Herencia Clase, objeto Lenguajes: Java, Eiffel, C++, et al. Concurrencia de estado compartido ( ) Candados ( ) Monitores ( ) Transacciones ( ) Lenguajes: Java concurrente ( )

29 Modelos (3) Working Hypothesis Programación distribuida ( ) Distribucón de datos ( ) istribución de estado ( ) Patrones de programación distribuida ( ) Protocolos distribuidos ( ) Manejo de fallas ( ) aspectos de seguridad ( ) Movilidad (?)

30 Objetivos generales Working Hypothesis Saber diseñar programas concurrentes y distribuidos Poder razonar formalmente sobre un programa concurrente o distribuido Conocer cómo verificarlos Poder implementar un programa concurrente o distribuido usando el lenguaje de núcleo

31 Working Hypothesis Programa concurrente vs secuencial Secuencial: Observables: Parejas de estados iniciales y finales i.e. Valores de las variables de entrada/salida El cómo se llega al estado final no importa Hay un solo camino posible al estado final Concurrente: Estados intermedios son tan importantes como los finales (sincronización) Observables: Conjunto de variables que ocurren en un componente Conjunto de variables con las que se comunica

32 Working Hypothesis Semántica de la concurrencia traza: una secuencia particular de transiciones atómicas de estado σ 0 α 1 σ 1 α 2... α i σ i α i+1 σ i+1 σ i : Estados α i : acciones atómicas α 1 α 2... es un intercalamiento (interleaving). Corresponde a una historia del proceso Semántica de un programa: conjunto de todas sus historias posibles

33 Working Hypothesis Cómo razonar sobre prog. concurrentes? Inspeccionar cada historia?

34 Working Hypothesis Cómo razonar sobre prog. concurrentes? Inspeccionar cada historia? son demasiadas!!

35 Working Hypothesis Cómo razonar sobre prog. concurrentes? Inspeccionar cada historia? son demasiadas!! Mejor: Representar conjuntos enteros de trazas por sus propiedades un predicado representa un conjunto de estados Un programa es una relación entre predicados

36 Working Hypothesis Cómo involucrar sincronización? La comunicación permite a un proceso influir sobre otro Posibilidades: Variables compartidas Paso de mensajes (canales compartidos) Esquemas de sincronización: Exclusión mutua Sincronización condicional Comunicación síncrona

37 Ejemplo Working Hypothesis ENVIA BUFFER RECIBE Exclusión mutua entre envío y recepción Sincronización condicional: Evitar que el mismo mensaje se envíe dos veces. Protocolo de comunicación: sincronía.

38 Working Hypothesis Semántica operacional del KL Las variables son de asignación única La asociación de variables con valores se mantiene en el almacén ( store ) El store está compuesto de entidades: variables con sus valores.

39 Working Hypothesis Identificadores y variables Los identificadores son las variables del usuario en un programa Un identificador referencia una entidad del store

40 Working Hypothesis Tipos en el modelo declarativo

41 Working Hypothesis Máquina abstracta de KL Un store de asignación única σ: conjunto de variables x 1,..., x k Un Ambiente E: función de identificadores a variables del store { x 1 x 1,... x n x n, } Una Instrucción Semántica: pareja ( s, E) s: instrucción E: ambiente Un estado de ejecución: pareja (ST, σ) ST : pila de instrucciones semánticas Una computación: secuencia de estados de ejecución, a partir de un estado inicial (ST 0, σ 0 ) (ST 1, σ 1 ) (ST 2, σ 2 )...

42 Working Hypothesis Ejecución de un programa El estado de ejecución inicial es [( s, )], ). La instrucción semántica inicial es ( s, ) con un ambiente vacío, y el store inicial es vacío En cada paso de ejecución, el primer elemento de ST se saca de la pila y la ejecución prosigue según la forma del elemento El estado final (si existe) es en el que la pila semántica está vacía. Una pila semántica puede estar en uno de los estados: corriendo: ST puede hacer un paso de ejecución terminado: ST es vacío suspendido: ST no es vacío, pero no puede ejecutar un paso

43 Working Hypothesis Ejemplo: instrucción local Instrucción semántica: (local x in s end, E) La ejecución consiste de las acciones siguientes: Crear una variable x nueva en el store Agregar a la pila ( s, E + { x x})

44 Ejemplo: instrucción if Working Hypothesis Instrucción semántica: (if x then s 1 else s 2 end, E) Esta instrucción tiene una condición de activación: E( x ) debe estar determinado, i.e. ligado a número, registro o procedimiento La ejecución consiste de las acciones siguientes: Si la condición de activación se cumple, entonces si E( x ) no es un booleano, levante condición de error si E( x ) es verdadero, agregar a la pila ( s 1, E) si E( x ) es falso, agregar a la pila ( s 2, E) Si la condición de activación no se cumple, se suspende la ejecución Si otra actividad hace la condición de activación cierta, la ejecución puede continuar. Esto permite programación de flujo de datos (concurrencia declarativa)

45 Working Hypothesis Ejemplo: procedimientos Un valor procedimental es una pareja: (proc {$ y 1... y n } s end, CE) donde CE (el ambiente contextual) es el ambiente en el que se definió el procedimiento En un llamado a procedimiento ({ x x 1... x n }, E): Si E( x ) es de la forma (proc { y 1... y n } s end, CE), entonces agregue a la pila ( s, CE + { y 1 E( x 1 ),..., y n E( x n )}) Esto permite programación de alto orden como en lenguajes funcionales

46 Working Hypothesis Importancia del modelo declarativo Un programa declarativo puede particionarse en componentes que pueden escribirse, chequearse y probar su corrección independientemente de los otros Hay técnicas simples de razonamiento para construir programas

47 tarea Working Hypothesis Asegurar conocimientos básicos de Mozat: leer libro PVR, cap 2 (hasta 2.7 ) Escriba la ejecución formal del programa local Op W in proc {Op X Y F R} if X > Y then R = {F X Y }else R = {F Y X } end end {Op 7 5 fun {$ X Y } X Y end W } end

48 Working Hypothesis Primeros programas en Oz (archivo primeros.oz)

Evaluación de los aprendizajes Elabora un cuadro comparativo con las principales características del lenguaje de programación Java.

Evaluación de los aprendizajes Elabora un cuadro comparativo con las principales características del lenguaje de programación Java. NÚCLEO: Núcleo Sector Comercio y Servicios. SUBSECTOR: Informática y comunicación. Nombre del Módulo: Programación para Ambiente WEB total: 120 horas Objetivo General: Aplicar los conocimientos teóricos

Más detalles

ESCUELA DE INGENIERIA Informática Y Sistemas

ESCUELA DE INGENIERIA Informática Y Sistemas ESCUELA DE INGENIERIA Informática Y Sistemas ASIGNATURA SISTEMAS OPERATIVOS CODIGO ST0257 SEMESTRE 2013-2 INTENSIDAD HORARIA 64 horas semestral CARACTERÍSTICAS Suficientable CRÉDITOS 4 1. JUSTIFICACIÓN

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

INDICE 1. Introducción 2. Entrada / Salida: Principios y Programación 3. Procesos

INDICE 1. Introducción 2. Entrada / Salida: Principios y Programación 3. Procesos INDICE Prólogo XV 1. Introducción 1 1.1. Evolución de los sistemas operativos 2 Procesamiento en serie 3 Procesamiento por lotes 4 Multiprogramación 7 1.2. Tipos de Sistemas Operativos 9 Sistemas operativos

Más detalles

Grado en Ingeniería de Computadores Universidad de Alcalá 2015/2016 3º Curso 2º Cuatrimestre

Grado en Ingeniería de Computadores Universidad de Alcalá 2015/2016 3º Curso 2º Cuatrimestre Sistemas de Tiempo Real Grado en Ingeniería de Computadores Universidad de Alcalá 2015/2016 3º Curso 2º Cuatrimestre GUÍA DOCENTE Nombre de la asignatura: Código: 590008 Titulación en la que se imparte:

Más detalles

ANEXO XVII DE LA RESOLUCION N

ANEXO XVII DE LA RESOLUCION N Hoja 1 de 7 UNIVERSIDAD NACIONAL DE CÓRDOBA Facultad de Ciencias Exactas Físicas y Naturales República Argentina Programa de: Código: Informática Carrera: Materia común Res. Nº Plan: Puntos:3.5 Escuela:

Más detalles

PROGRAMACION CONCURRENTE

PROGRAMACION CONCURRENTE PROGRAMACION CONCURRENTE II.3 Sincronización basada en memoria compartida: Semáforos J.M. Drake 1 Procesos concurrentes y memoria compartida. Si los diferentes procesos de un programa concurrente tienen

Más detalles

UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS

UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS PROGRAMA DEL CURSO INTRODUCCION A LA PROGRAMACION Y COMPUTADORAS 1 CODIGO: 770 CREDITOS: 4 ESCUELA: Ciencias

Más detalles

Desarrollador de Aplicaciones Web con Java

Desarrollador de Aplicaciones Web con Java Desarrollador de Aplicaciones Web con Java El presente programa integral tiene como finalidad el uso de la tecnología Java para el desarrollo de aplicaciones Web empresariales. En los tres módulos se utilizan

Más detalles

Threads, SMP y Microkernels. Proceso

Threads, SMP y Microkernels. Proceso Threads, SMP y Microkernels Proceso Propiedad de los recursos a un proceso se le asigna un espacio de dirección virtual para guardar su imagen Calendarización/ejecución sigue una ruta de ejecución la cual

Más detalles

Programa Oficial de Asignatura. Ficha Técnica. Presentación. Competencias y/o resultados del aprendizaje. Contenidos Didácticos

Programa Oficial de Asignatura. Ficha Técnica. Presentación. Competencias y/o resultados del aprendizaje. Contenidos Didácticos Ficha Técnica Titulación: Grado en Ingeniería Informática Plan BOE: BOE número 108 de 6 de mayo de 2015 Asignatura: Módulo: Programación y Estructura de Datos Curso: 1º Créditos ECTS: 6 Tipo de asignatura:

Más detalles

1. Computadores y programación

1. Computadores y programación 1. Computadores y programación Informática y computadora (RAE) Informática (Ciencia de la computación) Conjunto de conocimientos científicos y técnicos que hacen posible el tratamiento automático de la

Más detalles

PROGRAMA DE CURSO. Escuela de Ingeniería de Sistemas y Computación Universidad del Valle Santiago de Cali, Colombia. Febrero 2007

PROGRAMA DE CURSO. Escuela de Ingeniería de Sistemas y Computación Universidad del Valle Santiago de Cali, Colombia. Febrero 2007 PROGRAMA DE CURSO Escuela de Ingeniería de Sistemas y Computación Universidad del Valle Santiago de Cali, Colombia Febrero 2007 Curso: ALGORITMIA Y PROGRAMACIÓN Código: 750001M Modalidad: Presencial Teórico

Más detalles

POST REQUISITO: CATEGORIA: Obligatorio SEMESTRE: Primer Semestre 2015 HORAS POR SEMANA DEL LABORATORIO: DIAS QUE SE IMPARTE EL LABORATORIO:

POST REQUISITO: CATEGORIA: Obligatorio SEMESTRE: Primer Semestre 2015 HORAS POR SEMANA DEL LABORATORIO: DIAS QUE SE IMPARTE EL LABORATORIO: UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS NOMBRE DEL CURSO: Introducción a la Programación Y Computación 1 CODIGO: 770 CREDITOS: 4 ESCUELA: Ciencias y Sistemas AREA

Más detalles

UNIDAD ACADÉMICA PROFESIONAL TIANGUISTENCO

UNIDAD ACADÉMICA PROFESIONAL TIANGUISTENCO UNIDAD ACADÉMICA PROFESIONAL TIANGUISTENCO LICENCIATURA EN PRODUCCIÓN INDUSTRIAL. UNIDAD DE APRENDIZAJE: PROGRAMACIÓN Créditos institucionales de la UA: 6 Material visual: Diapositivas Unidad de competencia

Más detalles

Introducción a PL/SQL

Introducción a PL/SQL Introducción a PL/SQL Grupo de Ingeniería del Software y Bases de Datos Departamento de Lenguajes y Sistemas Informáticos Universidad de Sevilla noviembre 2011 Objetivos de este tema Conocer PL/SQL. PL/SQL

Más detalles

Concurrencia: Exclusión mutua y Sincronización

Concurrencia: Exclusión mutua y Sincronización Concurrencia: Exclusión mutua y Sincronización Prof. Carlos Figueira Basado en materiales de Yudith Cardinale (USB) Williams Stallings, Eugene Styer Concurrencia Múltiples aplicaciones Aplicaciones estructuradas

Más detalles

GRADO EN INGENIERÍA INFORMÁTICA

GRADO EN INGENIERÍA INFORMÁTICA Facultad de Informática Universidad Complutense de Madrid GRADO EN INGENIERÍA INFORMÁTICA El Grado en Ingeniería Informática incluye dos itinerarios. Itinerario de computación Itinerario de tecnología

Más detalles

AREA A LA QUE PERTENECE: 103 Matemática Básica 2 34 créditos POST REQUISITO: CATEGORIA: Obligatorio SEMESTRE: Primer Semestre 2015

AREA A LA QUE PERTENECE: 103 Matemática Básica 2 34 créditos POST REQUISITO: CATEGORIA: Obligatorio SEMESTRE: Primer Semestre 2015 UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS NOMBRE DEL CURSO: Introducción a la Programación Y Computación 1 CODIGO: 770 CREDITOS: 4 ESCUELA: Ciencias y Sistemas AREA

Más detalles

Cada enfoque tiene sus ventajas y desventajas Cada uno es más apropiado para ciertas cosas

Cada enfoque tiene sus ventajas y desventajas Cada uno es más apropiado para ciertas cosas ADyA Hay para todos los gustos Estructurados (C, Pascal, Basic, etc.) Funcionales (CAML) Declarativos (Prolog) Orientados a Objetos (C#, VB.NET, Smalltalk, Java) Orientados a Aspectos Híbridos (Lisp, Visual

Más detalles

Estructuras de Control

Estructuras de Control Algorítmica y Lenguajes de Programación Estructuras de Control Estructuras de Control. Introducción Hasta ahora algoritmos han consistido en simples secuencias de instrucciones Existen tareas más complejas

Más detalles

ALGORÍTMICA. Dpto. Ingeniería de Sistemas y Automática Facultad de Ciencias Universidad de Valladolid.

ALGORÍTMICA. Dpto. Ingeniería de Sistemas y Automática Facultad de Ciencias Universidad de Valladolid. ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática Facultad de Ciencias Universidad de Valladolid. Indíce Algoritmo Elementos de un algoritmo: Variables, Constantes, Expresiones Datos: Definición y

Más detalles

Bases Formales de la Computación

Bases Formales de la Computación Modal Bases Formales de la Computación Pontificia Universidad Javeriana 3 de abril de 2009 Modal LÓGICAS MODALES Contenido Modal 1 Modal 2 3 Qué es la lógica Modal? Modal Variedad de diferentes sistemas

Más detalles

MANUAL DE PRÁCTICAS DEL TALLER DE PROGRAMACIÒN PRACTICA NO.6

MANUAL DE PRÁCTICAS DEL TALLER DE PROGRAMACIÒN PRACTICA NO.6 MANUAL DE PRÁCTICAS DEL TALLER DE PROGRAMACIÒN PRACTICA NO.6 NOMBRE DE LA PRÁCTICA. Estructuras secuénciales 6.1 OBJETIVO GENERAL El alumno desarrollará la habilidad para diseñar algoritmos secuenciales,

Más detalles

Lenguaje de programación con JAVA

Lenguaje de programación con JAVA Pág. N. 1 Lenguaje de programación con JAVA Familia: Editorial: Autor: Tecnología de la información y computación Macro Eric Gustavo Coronel Castillo ISBN: 978-612-304-288-2 N. de páginas: 360 Edición:

Más detalles

Principios de Programación en Java

Principios de Programación en Java Programa: Curso - Taller Principios de Programación en Java Fechas: 20, 21, 22, 23 y 24 de junio, 2016 de 16:00 a 19:00 hrs Lugar: Preparatoria Vespertina No 1. Centro de Cómputo Instructor del Curso:

Más detalles

UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS

UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS PROGRAMA DEL CURSO DE INTRODUCCION A LA PROGRAMACION DE COMPUTACION 2 CODIGO: 771 CREDITOS: 5 ESCUELA: Ciencias

Más detalles

DIAGRAMAS DE ACTIVIDAD SESION 9. Cap. 9 Kendall & Kendall Cap 5 Jacobson

DIAGRAMAS DE ACTIVIDAD SESION 9. Cap. 9 Kendall & Kendall Cap 5 Jacobson DIAGRAMAS DE ACTIVIDAD Cap. 9 Kendall & Kendall Cap 5 Jacobson SESION 9 Ana Mercedes Cáceres mercycaceres@gmail.com Instructora: Carmen Morales Año 2006. OBJETIVOS Representar gráficamente los problemas

Más detalles

Diferentes Perspectivas de un Ordenador

Diferentes Perspectivas de un Ordenador Arquitectura de Ordenadores Programación en ensamblador Abelardo Pardo abel@it.uc3m.es Universidad Carlos III de Madrid Departamento de Ingeniería Telemática Diferentes Perspectivas de un Ordenador INT-1

Más detalles

POSGRADO EN DESARROLLO DE APLICACIONES PARA ANDROID CON JAVA

POSGRADO EN DESARROLLO DE APLICACIONES PARA ANDROID CON JAVA DESCRIPCIÓN POSGRADO EN DESARROLLO DE APLICACIONES PARA ANDROID CON JAVA El desarrollo de aplicaciones de Android es la solución para cubrir las necesidades emergentes para empresas nuevas y existentes,

Más detalles

Diplomado Programación orientada a objetos con C++ 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

Tema 7. Generación de código

Tema 7. Generación de código Departamento de Tecnologías de la Información Tema 7 Generación de código Ciencias de la Computación e Inteligencia Artificial Índice 7.1 Visión general 7.2 Código de tres direcciones 2 Índice 7.1 Visión

Más detalles

UNIVERSIDAD DE GUADALAJARA

UNIVERSIDAD DE GUADALAJARA UNIVERSIDAD DE GUADALAJARA CENTRO UNIVERSITARIO DE LOS ALTOS DIVISIÓN DE ESTUDIOS EN FORMACIONES SOCIALES LICENCIATURA: INGENIERÍA EN COMPUTACIÓN UNIDAD DE APRENDIZAJE POR OBJETIVOS TALLER DE SISTEMAS

Más detalles

2. Codificar de forma sistemática la secuencia de instrucciones en un lenguaje.

2. Codificar de forma sistemática la secuencia de instrucciones en un lenguaje. Modulo 1. Introducción a los lenguajes de programación La solución de problemas mediante en uso de un computador nos lleva a desarrollar programas o aplicaciones, la construcción de estos programas debe

Más detalles

SISTEMAS OPERATIVOS I (Sistemas) / SISTEMAS OPERATIVOS (Gestión) septiembre 2009

SISTEMAS OPERATIVOS I (Sistemas) / SISTEMAS OPERATIVOS (Gestión) septiembre 2009 SISTEMAS OPERATIVOS I (Sistemas) / SISTEMAS OPERATIVOS (Gestión) septiembre 2009 4. (2 p) Dos procesos A y B se ejecutan concurrentemente en un determinado sistema. El proceso A ejecuta unas tareas ( Tareas

Más detalles

Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones

Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones Unidad Didáctica 2 Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 1.0.3 Índice

Más detalles

UNIVERSIDAD AUTÓNOMA DE CHIHUAHUA Clave: 08MSU0017H. Clave: 08USU4053W FACULTAD DE INGENIERÍA. Programa del curso: SISTEMAS OPERATIVOS

UNIVERSIDAD AUTÓNOMA DE CHIHUAHUA Clave: 08MSU0017H. Clave: 08USU4053W FACULTAD DE INGENIERÍA. Programa del curso: SISTEMAS OPERATIVOS UNIVERSIDAD AUTÓNOMA DE CHIHUAHUA Clave: 08MSU0017H Clave: 08USU4053W FACULTAD DE INGENIERÍA Programa del curso: SISTEMAS OPERATIVOS DES: Ingeniería Programa(s) Educativo(s): Ingeniería de Software Tipo

Más detalles

Evolución del software y su situación actual

Evolución del software y su situación actual Evolución del software y su situación actual El software es el conjunto de programas que permite emplear la PC, es decir, es el medio de comunicación con la computadora, el control de sus funciones y su

Más detalles

Programación Orientada a Objetos Profr. Pedro Pablo Mayorga

Programación Orientada a Objetos Profr. Pedro Pablo Mayorga Actividad 3 Historia de los paradigmas de programación Unidad 1 Paradigma de programación Un paradigma de programación representa un enfoque particular o filosofía para la construcción del software. No

Más detalles

INTRODUCCION A LA PROGRAMACIÓN ORIENTADA A OBJETOS

INTRODUCCION A LA PROGRAMACIÓN ORIENTADA A OBJETOS INTRODUCCION A LA PROGRAMACIÓN ORIENTADA A OBJETOS Introducción La programación orientada a objetos es un enfoque de programación de los más populares y viene teniendo gran aceptación en el desarrollo

Más detalles

de Gran Canaria Centro de Tecnología Médica Programación Concurrente

de Gran Canaria Centro de Tecnología Médica  Programación Concurrente Universidad de Las Palmas de Gran Canaria Centro de Tecnología Médica http://www.ctm.ulpgc.es Tema 1: Introducción a la Escuela Técnica Superior de Ingenieros de Telecomunicación Conceptos Fundamentales

Más detalles

Universidad Centroccidental Lisandro Alvarado. Decanato de Ciencias y Tecnología Departamento de Sistemas

Universidad Centroccidental Lisandro Alvarado. Decanato de Ciencias y Tecnología Departamento de Sistemas Universidad Centroccidental Lisandro Alvarado Decanato de Ciencias y Tecnología Departamento de Sistemas PROGRAMA INSTRUCCIONAL PROGRAMA: ANALISIS DE SISTEMAS DEPARTAMENTO: SISTEMAS ASIGNATURA: INTRODUCCIÓN

Más detalles

Generación de Código Intermedio

Generación de Código Intermedio Generación de Código Intermedio Programación II Margarita Álvarez Generación de código intermedio Con la generación de código intermedio se inicia la tarea de síntesis. Aunque un programa fuente se puede

Más detalles

ALGORITMOS, ESTRUCTURAS Y PROGRAMACION

ALGORITMOS, ESTRUCTURAS Y PROGRAMACION VICERRECTORADO ACADÉMICO DIRECCIÓN DE GESTIÓN, DESARROLLO E INNOVACIÓN CURRICULAR FACULTAD: INGENIERIA ESCUELAS: COMPUTACION - SISTEMA UNIDAD CURRICULAR: ALGORITMOS, ESTRUCTURAS Y PROGRAMACION FECHA DE

Más detalles

Estructuras de control

Estructuras de control Estructuras de control Introducción Los algoritmos vistos hasta el momento han consistido en simples secuencias de instrucciones; sin embargo, existen tareas más complejas que no pueden ser resueltas empleando

Más detalles

Resultado de Aprendizaje:

Resultado de Aprendizaje: 10. Matriz de Valoración o Rúbrica MATRIZ DE VALORACIÓN O RÚBRICA Siglema: PROO-02 Nombre del Módulo: Nombre del Alumno: Docente evaluador: Grupo: Fecha: Resultado de Aprendizaje: 1.1 Diseña modelos bajo

Más detalles

UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE INGENIERÍA PROGRAMA DE ESTUDIO

UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE INGENIERÍA PROGRAMA DE ESTUDIO UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE INGENIERÍA PROGRAMA DE ESTUDIO SISTEMAS OPERATIVOS 1554 5º 09 Asignatura Clave Semestre Créditos Ingeniería Eléctrica Ingeniería en Computación Ingeniería

Más detalles

Programación Funcional Lisp-DrScheme Primera Parte. Dr. Oldemar Rodríguez Rojas Escuela de Informática Universidad de Nacional

Programación Funcional Lisp-DrScheme Primera Parte. Dr. Oldemar Rodríguez Rojas Escuela de Informática Universidad de Nacional Programación Funcional Lisp-DrScheme Primera Parte Dr. Oldemar Rodríguez Rojas Escuela de Informática Universidad de Nacional Programación Funcional! La programación funcional es un paradigma de programación

Más detalles

Curso Programación Java JSE 7

Curso Programación Java JSE 7 Curso Programación Java JSE 7 Descripción: Nuestro curso Programación Java JSE 7 ofrece el curso de este nivel más completo, sin duda, en donde aprenderás la versión actual de Java, JSE 7, desde cero.

Más detalles

Universidad Autónoma de Baja California Facultad de Ciencias Administrativas Unidad Mexicali

Universidad Autónoma de Baja California Facultad de Ciencias Administrativas Unidad Mexicali SISTEMAS OPERATIVOS I Clave: 4595 HC: 3 HL: 2 HT: HPC: HCL: HE: CR: 8 Etapa de formación a la que pertenece: Básica Carácter de la Asignatura: Obligatoria PROPÓSITO GENERAL DEL CURSO Proporcionar al estudiante

Más detalles

5. Sentencias selectivas o condicionales

5. Sentencias selectivas o condicionales 60 A. García-Beltrán y J.M. Arranz 5. Sentencias selectivas o condicionales Objetivos: a) Describir el funcionamiento de las sentencias selectivas o condicionales (if-else y switch) b) Interpretar el resultado

Más detalles

Concurrencia y paralelismo

Concurrencia y paralelismo Introducción a los Sistemas Operativos Concurrencia y paralelismo 1. Ejecución de programas. Procesos. 2. Multiprogramación Bibliografía Silberschatz and Galvin Sistemas Operativos. Conceptos fundamentales.

Más detalles

Agradecimientos. Nota de los autores. 1 Problemas, algoritmos y programas 1

Agradecimientos. Nota de los autores. 1 Problemas, algoritmos y programas 1 Prologo Agradecimientos Nota de los autores Índice general I III V VII 1 Problemas, algoritmos y programas 1 1.1 Programas y la actividad de la programación.................... 4 1.2 Lenguajes y modelos

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

Tema: Autómata de Pila

Tema: Autómata de Pila Facultad: Ingeniería Escuela: Computación Asignatura: Compiladores 1 Tema: Autómata de Pila Contenido La presente guía aborda los autómatas de pila, y se enfoca en la aplicación que se le puede dar a estas

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

PREGUNTAS INFORMÁTICA MONITOR UPB EXAMEN 1

PREGUNTAS INFORMÁTICA MONITOR UPB EXAMEN 1 PREGUNTAS INFORMÁTICA MONITOR UPB EXAMEN 1 1. Cuál de los siguientes componentes no forma parte del esquema general de un ordenador? A Memoria Principal B Disco Duro C Unidad de Control D Unidad Aritmético

Más detalles

Programación concurrente

Programación concurrente Programación concurrente Master de Computación I Conceptos y recursos para la programación concurrente: I.1 Motivación de la programación concurrente. J.M. Drake M. Aldea Motivación de la programación

Más detalles

Java para no Programadores

Java para no Programadores Java para no Programadores Programa de Estudio Java para no Programadores Aprende a programar con una de las tecnologías más utilizadas en el mercado de IT. Este curso está orientado a quienes no tienen

Más detalles

T5-multithreading. Indice

T5-multithreading. Indice T5-multithreading 1.1 Indice Proceso vs. Flujos Librerías de flujos Comunicación mediante memoria compartida Condición de carrera Sección Crítica Acceso en exclusión mutua Problemas Abrazos mortales 1.2

Más detalles

Fundamentos de Sistemas Operativos

Fundamentos de Sistemas Operativos Fundamentos de Sistemas Operativos Sistemas Informáticos Fede Pérez Índice TEMA Fundamentos de Sistemas Operativos 1. - Introducción 2. - El Sistema Operativo como parte de un Sistema de Computación 2.1

Más detalles

Ingeniería del Software I

Ingeniería del Software I - 1 - Ingeniería del Software I 2do. Cuatrimestre 2005 INTRODUCCIÓN... 2 SEMÁNTICA... 2 NOTACIÓN... 3 ESTADO ACCIÓN... 3 Transiciones Simples... 3 Estados Acción Compuestos... 3 Estados Acción Iniciales

Más detalles

Usando el Sistema Operativo

Usando el Sistema Operativo Sistemas Operativos Pontificia Universidad Javeriana Enero de 2010 Los sistemas operativos Los sistemas operativos Perspectivas del Computador Concepto general El sistema operativo es parte del software

Más detalles

Es un conjunto de palabras y símbolos que permiten al usuario generar comandos e instrucciones para que la computadora los ejecute.

Es un conjunto de palabras y símbolos que permiten al usuario generar comandos e instrucciones para que la computadora los ejecute. Los problemas que se plantean en la vida diaria suelen ser resueltos mediante el uso de la capacidad intelectual y la habilidad manual del ser humano. La utilización de la computadora en la resolución

Más detalles

ANX-PR/CL/ GUÍA DE APRENDIZAJE. ASIGNATURA Concurrencia. CURSO ACADÉMICO - SEMESTRE Segundo semestre

ANX-PR/CL/ GUÍA DE APRENDIZAJE. ASIGNATURA Concurrencia. CURSO ACADÉMICO - SEMESTRE Segundo semestre ANX-PR/CL/001-02 GUÍA DE APRENDIZAJE ASIGNATURA Concurrencia CURSO ACADÉMICO - SEMESTRE 2015-16 - Segundo semestre GA_10II_105000018_2S_2015-16 Datos Descriptivos Nombre de la Asignatura Titulación Centro

Más detalles

PROGRAMA DE ASIGNATURA DE

PROGRAMA DE ASIGNATURA DE Table of contents 1 INFORMACIÓN GENERAL... INTRODUCCIÓN... 3 OBJETIVOS GENERALES DE LA ASIGNATURA... 3 OBJETIVOS, TEMAS Y SUBTEMAS... 3 5 PLAN TEMÁTICO...7 6 ORIENTACIONES METODOLÓGICAS... 7 7 SISTEMA

Más detalles

UNIVERSIDAD DEL VALLE DE MÉXICO PROGRAMA DE ESTUDIO DE LICENCIATURA PRAXIS MES XXI

UNIVERSIDAD DEL VALLE DE MÉXICO PROGRAMA DE ESTUDIO DE LICENCIATURA PRAXIS MES XXI UNIVERSIDAD DEL VALLE DE MÉXICO PROGRAMA DE ESTUDIO DE LICENCIATURA PRAXIS MES XXI NOMBRE DE LA ASIGNATURA: PROGRAMACIÓN ORIENTADA A OBJETOS FECHA DE ELABORACIÓN: ENERO 2005 ÁREA DEL PLAN DE ESTUDIOS:

Más detalles

JAVA 7 Los fundamentos del lenguaje Java

JAVA 7 Los fundamentos del lenguaje Java Presentación 1. Historia 9 1.1 Por qué Java? 9 1.2 Objetivos del diseño de Java 10 1.3 Auge de Java 11 2. Características de Java 12 2.1 El lenguaje de programación Java 12 2.1.1 Sencillo 13 2.1.2 Orientado

Más detalles

Diseño arquitectónico 1ª edición (2002)

Diseño arquitectónico 1ª edición (2002) Unidades temáticas de Ingeniería del Software Diseño arquitectónico 1ª edición (2002) Facultad de Informática objetivo Los sistemas grandes se descomponen en subsistemas que suministran un conjunto relacionado

Más detalles

Desarrollo de aplicaciones con JAVA, JCreator, JDeveloper NetBeans

Desarrollo de aplicaciones con JAVA, JCreator, JDeveloper NetBeans Pág. N. 1 Desarrollo de aplicaciones con JAVA, JCreator, JDeveloper NetBeans Familia: Editorial: Autor: Tecnología de la Información y Computación Macro Manuel Torres Remon ISBN: 978-612-304-101-4 N. de

Más detalles

Esta asignatura apoyará al alumno en la consecución de las siguientes competencias:

Esta asignatura apoyará al alumno en la consecución de las siguientes competencias: Nombre de la asignatura: Sistemas Operativos II Créditos: 3-2-5 Aportación al perfil Esta asignatura apoyará al alumno en la consecución de las siguientes competencias: Aplicar conocimientos científicos

Más detalles

DESCRIPCIÓN ESPECÍFICA NÚCLEO: COMERCIO Y SERVICIOS SUBSECTOR: INFORMÁTICA

DESCRIPCIÓN ESPECÍFICA NÚCLEO: COMERCIO Y SERVICIOS SUBSECTOR: INFORMÁTICA DESCRIPCIÓN ESPECÍFICA NÚCLEO: COMERCIO Y SERVICIOS SUBSECTOR: INFORMÁTICA Nombre del Módulo: PROGRAMACIÓN EN JAVASCRIPT Código: CSTI0087 total: 51 Horas Objetivo General: Crear contenido web basado en

Más detalles

Programa de actualización profesional ACTI.NET Desarrollo de aplicaciones locales y web con tecnología VB.NET

Programa de actualización profesional ACTI.NET Desarrollo de aplicaciones locales y web con tecnología VB.NET Programa de actualización profesional ACTI.NET Desarrollo de aplicaciones locales y web con tecnología VB.NET OBJETIVOS: Conocer de las bondades del paradigma de orientación a objetos en.net y su lenguaje

Más detalles

Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria

Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria 1.2. Jerarquía de niveles de un computador Qué es un computador? Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria Es un sistema tan complejo

Más detalles

Introducción Sistemas Operativos Avanzados

Introducción Sistemas Operativos Avanzados Introducción Sistemas Operativos Avanzados Utilizar una máquina al desnudo (sólo interactuando con el hardware) resulta engorroso e ineficiente debido a la gran cantidad de tareas que deben ser realizadas

Más detalles

Configuración Y Programación de Autómata MOELLER XC201 para Maqueta Industrial

Configuración Y Programación de Autómata MOELLER XC201 para Maqueta Industrial Universidad de León Escuela de Ingenierías Industrial e Informática Titulación de Ingeniero Técnico Industrial (Especialidad en Electrónica, Regulación y Automatismos) Configuración Y Programación de Autómata

Más detalles

23/09/2009. Introducción Hello word La familia Buendía Recursión Listas

23/09/2009. Introducción Hello word La familia Buendía Recursión Listas Prolog Contenido Introducción Hello word La familia Buendía Recursión Listas Qué es Prolog? Lenguaje de programación Declarativo Programación lógica Está compuesto de: Hechos Reglas Declarativo vs Imperativo

Más detalles

PROGRAMACIÓN CONCURRENTE. Tema 5 Monitores

PROGRAMACIÓN CONCURRENTE. Tema 5 Monitores PROGRAMACIÓN CONCURRENTE Tema 5 Monitores 1 Indice Definición de los monitores Sincronización condicional usando monitores Algunos problemas con monitores 2 Problemas de las regiones críticas condicionales

Más detalles

Compiladores: Generación de Código. Pontificia Universidad Javeriana Cali Ingeniería de Sistemas y Computación Prof. María Constanza Pabón

Compiladores: Generación de Código. Pontificia Universidad Javeriana Cali Ingeniería de Sistemas y Computación Prof. María Constanza Pabón Compiladores: Generación de Código Pontificia Universidad Javeriana Cali Ingeniería de Sistemas y Computación Prof. María Constanza Pabón Generación de Código Representación Intermedia Tabla de Símbolos

Más detalles

Universidad Autónoma del Estado de México Facultad de Medicina

Universidad Autónoma del Estado de México Facultad de Medicina Universidad Autónoma del Estado de México Facultad de Medicina Licenciatura en Bioingeniería Médica Unidad de Aprendizaje: Algoritmos y programación básica Unidad 3: Estructuras de control de flujo en

Más detalles

Programa de actualización profesional ACTI.NET Desarrollo de aplicaciones locales y web con tecnología VB.NET 2010

Programa de actualización profesional ACTI.NET Desarrollo de aplicaciones locales y web con tecnología VB.NET 2010 Programa de actualización profesional ACTI.NET Desarrollo de aplicaciones locales y web con tecnología VB.NET 2010 OBJETIVOS: Conocer de las bondades del paradigma de orientación a objetos en.net y su

Más detalles

La Máquina de Acceso Aleatorio (Random Access Machine)

La Máquina de Acceso Aleatorio (Random Access Machine) La Máquina de Acceso Aleatorio (Random Access Machine) Nuestro modelo de cómputo secuencial es la máquina de acceso aleatorio (RAM, Random Access Machine) mostrada en la Figura 2.1, y que consiste de:

Más detalles

ESTRUCTURAS DE CONTROL

ESTRUCTURAS DE CONTROL ESTRUCTURAS DE CONTROL En lenguajes de programación, las estructuras de control permiten modificar el flujo de ejecución de las instrucciones de un programa. Con las estructuras de control se puede: De

Más detalles

INGENIERÍA DEL SOFTWARE I Práctica 5 Modelado de Diseño

INGENIERÍA DEL SOFTWARE I Práctica 5 Modelado de Diseño INGENIERÍA DEL SOFTWARE I Práctica 5 Modelado de Diseño Univ. Cantabria Fac. de Ciencias Patricia López Introducción al Diseño Modelamos la estructura software del sistema (incluida la arquitectura) para

Más detalles

Tema 3. Monitores Programación Concurrente

Tema 3. Monitores Programación Concurrente Tema 3. Monitores Programación Concurrente Depto. de Lenguajes y Sistemas Informáticos Universidad de Granada Contenidos 1. Concepto de Monitor 1.1. Fundamento teórico de los monitores 1.2. Sintaxis de

Más detalles

un programa concurrente

un programa concurrente Introducción un programa concurrente asumimos que tengamos un programa concurrente que quiere realizar acciones con recursos: si los recursos de los diferentes procesos son diferentes no hay problema,

Más detalles

la solución a una ecuación cuadrática solicitando al usuario los términos de dicha ecuación.

la solución a una ecuación cuadrática solicitando al usuario los términos de dicha ecuación. ALGORITMOS SECUENCIALES: La estructura secuencial es aquella en la que una acción (instrucción) sigue a otra en secuencia. Las tareas se suceden de tal modo que la salida de una es la entrada de la siguiente

Más detalles

Modelos de Programación Paralela Prof. Gilberto Díaz

Modelos de Programación Paralela Prof. Gilberto Díaz Universisdad de Los Andes Facultad de Ingeniería Escuela de Sistemas Modelos de Programación Paralela Prof. Gilberto Díaz gilberto@ula.ve Departamento de Computación, Escuela de Sistemas, Facultad de Ingeniería

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: Estructuras de decisión PRÁCTICA NÚM. [ 5 ] LABORATORIO: MATERIA: UNIDAD: TIEMPO: Centro de Ingeniería Computacional Lenguaje

Más detalles

1. Preparar al estudiante para desarrollar aplicaciones de software utilizando un enfoque orientado a objetos.

1. Preparar al estudiante para desarrollar aplicaciones de software utilizando un enfoque orientado a objetos. UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS NOMBRE DEL CURSO: Computación y Programación 2 CODIGO: 771 CREDITOS: 5 ESCUELA: Ciencias y Sistemas AREA A LA QUE PERTENECE:

Más detalles

Evolución de la Programación Orientada a Objetos

Evolución de la Programación Orientada a Objetos Evolución de la Programación Orientada a Objetos Dr. Luis Gerardo de la Fraga Departamento de Computación Cinvestav Correo-e: fraga@cs.cinvestav.mx 7 de diciembre de 2006 Dr. Luis Gerardo de la Fraga Cinvestav

Más detalles

2.2 Nombres, Ligado y Ámbito

2.2 Nombres, Ligado y Ámbito 2.2 Nombres, Ligado y Ámbito Ligado estático y dinámico, reglas de ámbito y prueba de tipos. Conceptos Nombres e Identificadores Variables Tipos Ámbito Constantes Nombres Identificador que designa en el

Más detalles

Maestría en Ingeniería Énfasis en Sistemas y Computación

Maestría en Ingeniería Énfasis en Sistemas y Computación Maestría en Ingeniería Énfasis en Sistemas y Computación Facultad de Ingeniería Pontificia Universidad Javeriana Cali Abril de 2008 Contenido 1 Objetivos 2 3 4 Objetivos (1) Formar investigadores con habilidades

Más detalles

Examen. Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación. Segundo Semestre, 2003.

Examen. Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación. Segundo Semestre, 2003. Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación Examen IIC 2222 Teoría de Autómatas y Lenguajes Formales Segundo Semestre, 2003 Este examen tiene

Más detalles

Computación I Curso 2016 Facultad de Ingeniería Universidad de la República

Computación I Curso 2016 Facultad de Ingeniería Universidad de la República Computación I Curso 2016 Facultad de Ingeniería Universidad de la República Octave Funciones Sucesión de comandos o instrucciones guardados en un archivo.m Posee características propias de las funciones

Más detalles

Introducción a PL/SQL

Introducción a PL/SQL 22/11/2016 Grupo de Ingeniería del Software y Bases de Datos Departamento de Lenguajes y Sistemas Informáticos Universidad de Sevilla Noviembre 2014 Objetivos de este tema Conocer el lenguaje procedimental

Más detalles

Algoritmos y programas. Algoritmos y Estructuras de Datos I

Algoritmos y programas. Algoritmos y Estructuras de Datos I Algoritmos y programas Algoritmos y Estructuras de Datos I Primer cuatrimestre de 2012 Departamento de Computación - FCEyN - UBA Programación funcional - clase 1 Funciones Simples - Recursión - Tipos de

Más detalles

TEMA 3. CONCEPTOS FUNDAMENTALES DEL NIVEL DEL SISTEMA OPERATIVO. Definición y objetivos de un S.O

TEMA 3. CONCEPTOS FUNDAMENTALES DEL NIVEL DEL SISTEMA OPERATIVO. Definición y objetivos de un S.O TEMA 3. CONCEPTOS FUNDAMENTALES DEL NIVEL DEL SISTEMA OPERATIVO Definición y objetivos de un S.O Definición y objetivos del sistema operativo Estructura, componentes y servicios de un S.O Llamadas al sistema

Más detalles

AUTOMATIZACIÓN INDUSTRIAL

AUTOMATIZACIÓN INDUSTRIAL Departamento de Ingenieria de Sistemas y Automática AUTOMATIZACIÓN INDUSTRIAL 1 AUTOMATIZACION INDUSTRIAL 2 AUTOMATIZACION INDUSTRIAL 3 AUTOMATAS PROGRAMABLES Surgen de la necesidad de controlar automáticamente

Más detalles

Programación con C Intermedio

Programación con C Intermedio Programa de Capacitación en Cómputo Semestre 2016-2 Programación con C Intermedio Instructor: P. I. Gutiérrez Chávez Cristóbal INFORMACIÓN GENERAL El lenguaje C es un lenguaje de programación estructurada

Más detalles