Programación Paralela: Memoria Distribuida

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

Download "Programación Paralela: Memoria Distribuida"

Transcripción

1 Programación Paralela: Memoria Distriuida MPI: Un caso de estudio Introducción Estas máquinas surgen de forma natural al conectar distintas máquinas en red y ponerlas a cooperar. La red será clave. Arquitectura El esquema general se asa en varios nodos, monoprocesador o multiprocesador, conectados por una red de alto rendimiento. Suele haer una estación de control. Se programan con PVM, MPI, RPC,... Modelos de Programación Paralela Los modelos de programación que se usan actualmente son: Paralelismo de datos: las operaciones son ejecutadas en paralelo sore colecciones de datos estructurados Paso de mensajes: procesos se comunican con otros procesos enviando y reciiendo mensajes Memoria compartida: cada procesador tiene acceso a un conjunto de memoria compartida

2 Modelos de Programación Paralela La mayoría de los esfuerzos en paralelización están dentro de las siguientes categorías: Códigos pueden ser paralelizados usando iliotecas de paso de mensaje tal como MPI. Códigos pueden ser paralelizados usando directivas de compilación tal como OpenMP. Códigos pueden ser escritos en nuevos lenguajes paralelos MPI Es un estándar para paso de mensajes. Pretende que las aplicaciones que se hagan sean portales. No es un nuevo lenguaje, sino una ilioteca que se añaden a lenguajes ya existentes (C, F90). Se puede cominar con threads, MPI multithread, o con otras iliotecas, si están preparadas. Grid: MPICH-G2 MPI Hace más hincapié en el rendimiento, y no en la heterogeneidad o la tolerancia a fallos (MPP). PVM se apoya en la máquina virtual para permitir heterogeneidad y dinámicamente compruea la red. Han añadido aspectos de E/S: MPI-IO (MPI 2) Permite heterogeneidad, como PVM. Aunque está más orientado a un entorno homogéneo. En MPI-2: Estandariza el arranque de las aplicaciones. Quitaa portailidad. Añade aspectos dinámicos, permite arrancar procesos durante la ejecución. Procesos MPI La unidad ásica en MPI son los procesos. Tienen espacios de memoria independientes. Intercamio de información por paso de mensajes. Se introduce el concepto de comunicadores (grupo de procesos más contexto). Cada proceso se le asigna un identificador interno propio de MPI (rank).

3 Comunicadores MPI Comunicador: es una colección de procesos, los cuales se comunican a través del envío y recepción de mensajes. Comunicadores MPI Un comunicador (ásico) está formado por Un grupo de procesos MPI_COMM_WORLD Colección ordenada de procesos Un contexto Ojeto único definido por el sistema Dos comunicadores con el mismo grupo de procesos tienen 5 4 distintos contextos El mensaje reciido por un proceso perteneciente al comunicador dee enviarlo un proceso del mismo comunicador Funciones Básicas Arranque y Parada Arranque y Parada. Envio y Recepción Bloqueantes. Envio y Recepción no Bloqueantes Barrera de sincronización Envio y Recepción múltiple int MPI_Init(int *argc, char **argv); IN argc IN argv int MPI_Finalize(void); int MPI_Comm_size(MPI_Comm comm, int *size); IN comm communicator OUT size numer of tasks in "comm" int MPI_Comm_rank(MPI_Comm comm,int *rank); IN comm communicator OUT rank rank of the calling task

4 Envio y Recepción Bloqueantes int MPI_Send(void* uf, int count, MPI_Datatype datatype,int dest, int tag, MPI_Comm comm) ; IN uf initial address of send uffer IN count numer of entries to send IN datatype datatype of each entry IN dest rank of destination IN tag message tag Envio y Recepción Bloqueantes int MPI_Recv(void* uf, int count, MPI_Datatype datatype, int source, int tag, MPI_Comm comm, MPI_Status *status); OUT uf initial address of receive uff IN count max # of entries to receive IN datatype datatype of each entry IN source rank of source IN tag message tag OUT status return status OBS: MPI_ANY_TAG OBS: MPI_ANY_SOURCE Tipos de datos MPI Tipos de datos MPI ásicos MPI proporciona sus propios tipos de datos que corresponden a los tipos de datos elementales de C. MPI proporciona traducción automática entre diferentes representaciones en un entorno heterogéneo. Como regla general, el tipo de datos MPI de un receive dee coincidir con el tipo de datos MPI del send correspondiente. Adicionalmente, MPI te permite definir tipos de datos aritrarios construidos a partir de tipos de datos ásicos. MPI Datatype MPI_CHAR MPI_SHORT MPI_INT MPI_LONG MPI_UNSIGNED_CHAR C Type signed char signed short int signed int signed long int unsigned char MPI_UNSIGNED_SHORT unsigned short int

5 Basic MPI Data Types MPI Datatype C Type MPI_UNSIGNED unsigned int MPI_UNSIGNED_LONG unsigned long int MPI_FLOAT float MPI_DOUBLE doule MPI_LONG_DOUBLE long doule MPI_BYTE (none) Comodines Te permiten no especificar necesariamente una etiqueta o una fuente Ejemplo: error = MPI_Recv(&uffer, 5, MPI_INTEGER, MPI_ANY_SOURCE, MPI_ANY_TAG, MPI_COMM_WORLD, &status); MPI_ANY_SOURCE and MPI_ANY_TAG son comodines MPI_PACKED (none) Envio y Recepción No Bloqueantes int MPI_Isend(void* uf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm, MPI_Request *request); IN uf initial address of send uffer IN count numer of entries to send IN datatype datatype of each entry IN dest rank of destination IN tag message tag OUT request request handle Envio y Recepción No Bloqueantes int MPI_Irecv(void* uf, int count, MPI_Datatype datatype, int source, int tag, MPI_Comm comm, MPI_Request*request) OUT uf initial address of receive uff IN count max # of entries to receive IN datatype datatype of each entry IN source rank of source IN tag message tag OUT request request handle

6 Envio y Recepción No Bloqueantes int MPI_Wait(MPI_Request *request, MPI_Status * status); INOUT request request handle OUT status status oject int MPI_Test(MPI_Request *request, int *flag, MPI_Status *status); INOUT request request handle OUT flag true if operation completed OUT status status oject int MPI_Request_free(MPI_Request *request) ; INOUT request request handle MPI_Barrier(MPI_Comm comm) Envio y Recepción Múltiples Broadcast: Envio de datos a todos los nodos. MPI_Bcast(void* uffer, int count, MPI_Datatype datatype, int root, MPI_Comm comm ) Recolección de resultados: Todos los nodos mandan resultado al root. MPI_Gather(void* senduf, int sendcount, MPI_Datatype sendtype, void* recvuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm) MPI_Gatherv(void* senduf, int sendcount, MPI_Datatype sendtype, void* recvuf, int *recvcounts, int *displs, MPI_Datatype recvtype, int root, MPI_Comm comm) Envio y Recepción Múltiples Envio y Recepción Múltiples Envio múltiple: Cada nodo recie parte de los datos MPI_Scatter(void* senduf, int sendcount, MPI_Datatype sendtype, void* recvuf, int recvcount, MPI_Datatype recvtype,int root, MPI_Comm comm) MPI_Scatterv(void* senduf, int *sendcounts, int *displs, MPI_Datatype sendtype, void* recvuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm) Recolección de resultados. Todos los nodos recien todos los datos. MPI_Allgather(void* senduf, int sendcount, MPI_Datatype sendtype, void* recvuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm) MPI_Allgatherv(void* senduf, int sendcount, MPI_Datatype sendtype, void* recvuf, int *recvcounts, int *displs, MPI_Datatype recvtype, MPI_Comm comm)

7 Comunicaciones Colectivas Comunicaciones Colectivas 0 1* 2 3 Function Used 0 1* 2 3 a c d MPI_Gathe r a,,c,d a c d MPI_Allgat her a,,c,d a,,c,d a,,c,d a,,c,d a,,c,d MPI_Scatte r a c d a,,c,d e,f,g,h i,j,k,l m,n,o,p MPI_Alltoa ll a,e, i,m,f, j,n c,g, k,o d,h, l,p MPI_Bcast Send Send Send Send Receive Receive Receive Receive Esquema de un proceso MPI #include mpi.h /* Definición de funciones MPI */ main(int argc, char,**argv) { int nproc, rank; MPI_Init(&argc,&argv); /* MPI_COMM_WORLD: Comunicador */ MPI_Comm_size(MPI_COMM_WORLD, &nproc); MPI_Comm_Rank(MPI_COMM_WORLD, &rank); /* cuerpo de programa */ MPI_Finalize(); } Ejemplo: Hello World! #include <stdio.h> #include "mpi.h" int main(int argc, char **argv) { int rank; char msg[20]; MPI_Status status;... MPI_Init(&argc, &argv); MPI_Comm_rank(MPI_COMM_WORLD, &rank);

8 Ejemplo: Hello World! Compilación de MPI if (rank==0) { printf ("I am master. Sending the message.\n\n"); strcpy(msg,"hello World!"); MPI_Send(msg, 13, MPI_CHAR, 1, 100, MPI_COMM_WORLD); } else { printf ("I am slave. Receiving the message.\n"); MPI_Recv(msg, 13, MPI_CHAR, 0, 100, MPI_COMM_WORLD, &status); printf ("The message is: %s\n", msg); } mpicc <fichero fuente mpi> <flags> -o <nomre ejecutale> Ejemplo: >mpicc holamundo.c o holamundo } MPI_Finalize(); Ejecución de MPI Esquema maestro/esclavo lamoot v <fichero nodos> mpirun -np <numero de procesos> <nomre programa y argumentos> Ejemplo: > lamoot v hostfile >mpirun np 4 holamundo #include mpi.h main(int argc, char,**argv) { int nproc, rank; MPI_Init(&argc,&argv); MPI_Comm_size(MPI_COMM_WORLD, &nproc); MPI_Comm_Rank(MPI_COMM_WORLD, &rank); if (rank ==0) master( ); else slave( ); MPI_Finalize(); }

9 Ejemplo Todos los nodos envían un mensaje al siguiente y esperan que le vuelva. Reenvían los mensajes que le llegan a su vecino. Recursos MPI Implementaciones Open source MPICH LAM Liros Using MPI William Gropp, Ewing Lusk, Anthony Skjellum Using MPI-2 William Gropp, Ewing Lusk, Rajeev Thakur

MPI es un estándar de programación en paralelo mediante paso de mensajes que permite crear programas portables y eficientes.

MPI es un estándar de programación en paralelo mediante paso de mensajes que permite crear programas portables y eficientes. Programación paralela en MPI MPI es un estándar de programación en paralelo mediante paso de mensajes que permite crear programas portables y eficientes. Introducción a MPI MPI fue creado en 1993 como

Más detalles

Índice. Índice. Máquinas de memoria distribuida. Arquitectura de un cluster. Arquitectura

Índice. Índice. Máquinas de memoria distribuida. Arquitectura de un cluster. Arquitectura Índice Programación en MPI 1. Máquinas de memoria distribuida 2. MPI 3. Arquitectura 4. Funciones básicas a. Arranque y parada b. Envío y recepción bloqueantes c. Envío y recepción NO bloqueantes d. Barreras

Más detalles

Programación de aplicaciones paralelas con MPI (Message Passing Interface)

Programación de aplicaciones paralelas con MPI (Message Passing Interface) Programación de aplicaciones paralelas con MPI (Message Passing Interface) José Miguel Alonso Facultad de Informática UPV/EHU miguel@si.ehu.es 13/1/97 1. Introducción a MPI MPI (Message Passing Interface)

Más detalles

Brevísimo tutorial de MPI (Message Passing Interface) Miguel Vargas

Brevísimo tutorial de MPI (Message Passing Interface) Miguel Vargas Brevísimo tutorial de MPI (Message Passing Interface) Miguel Vargas 19/10/10 1/33 Contenido Contenido Clusters Beowulf MPI (Message Passing Interface) Comunicación entre procesos Un programa simple con

Más detalles

utilizar libros ni un ejemplo tráfico

utilizar libros ni un ejemplo tráfico UNIVERSIDAD CARLOS III DE MADRID INGENIERÍA EN INFORMÁTICA. ARQUITECTURA DE COMPUTADORES II 14 de junio de 2010 Para la realización del presente examen se dispondrá de 2 1/2 horas. NO se podrán utilizar

Más detalles

Cómputo en paralelo con MPI

Cómputo en paralelo con MPI Cómputo en paralelo con MPI Miguel Vargas-Félix miguelvargas@cimat.mx CIMAT, October 9, 2015 1/35 Clusters Beowulf Master node External network Slave nodes Network switch Características: Tecnología estandar

Más detalles

UNIVERSIDAD CARLOS III DE MADRID DEPARTAMENTO DE INFORMÁTICA INGENIERÍA EN INFORMÁTICA. ARQUITECTURA DE COMPUTADORES II 19 de junio de 2007

UNIVERSIDAD CARLOS III DE MADRID DEPARTAMENTO DE INFORMÁTICA INGENIERÍA EN INFORMÁTICA. ARQUITECTURA DE COMPUTADORES II 19 de junio de 2007 UNIVERSIDAD CARLOS III DE MADRID DEPARTAMENTO DE INFORMÁTICA INGENIERÍA EN INFORMÁTICA. ARQUITECTURA DE COMPUTADORES II 19 de junio de 2007 Para la realización del presente examen se dispondrá de 2 1/2

Más detalles

Computación Matricial y Paralela

Computación Matricial y Paralela Computación Matricial y Paralela Programación con Paso de Mensajes. MPI Javier Cuenca Dpto. de Ingeniería y Tecnología de Computadores Domingo Giménez Dpto. de Informática y Sistemas Universidad de Murcia

Más detalles

Introducción a MPI (Message Passing Interface)

Introducción a MPI (Message Passing Interface) Centro Nacional de Cálculo Científico Universidad de Los Andes CeCalCULA Mérida - Venezuela Introducción a MPI (Message Passing Interface) Francisco Hidrobo hidrobo@ciens.ula.ve Herbert Hoeger hhoeger@ing.ula.ve

Más detalles

Computacion de Alto Performance

Computacion de Alto Performance Computacion de Alto Performance Abraham Zamudio Abraham Zamudio Computacion de Alto Performance 1/47 Indice 1 Algunos Aspectos Teoricos 2 Paralelismo Computacional 3 Linux Cluster Hardware Software 4 MPICH

Más detalles

Qué es y qué no es un sistema distribuido? M.C. Juan Carlos Olivares Rojas

Qué es y qué no es un sistema distribuido? M.C. Juan Carlos Olivares Rojas Qué es y qué no es un sistema distribuido? M.C. Juan Carlos Olivares Rojas Distribuir Según el diccionario: dividir una cosa entre varios designando lo que a cada uno corresponde Problemática: muchas tecnologías

Más detalles

JUAN CARLOS TORRES JOSE ALBEIRO CUESTA MENA GERMAN VARGAS FUNDACION UNIVERSITARIA KONRAD LORENZ

JUAN CARLOS TORRES JOSE ALBEIRO CUESTA MENA GERMAN VARGAS FUNDACION UNIVERSITARIA KONRAD LORENZ ANALISIS DE UNA ESTRATEGIA OPTIMA DE PARTICION DE ARCHIVOS PARA PROCESAMIENTO EN UN CLUSTER BASADO EN COMPUTACION PARALELA- CASO ARCHIVO DE RESPUESTAS DE UN EXAMEN JUAN CARLOS TORRES JOSE ALBEIRO CUESTA

Más detalles

Manuel Martín Salvador

Manuel Martín Salvador MPI 2 Introducción a Message-Passing Interface 2 Manuel Martín Salvador draxus@gmail.com http://draxus.org Licencia CC Índice Introducción E/S Paralela Acceso remoto a memoria Gestión dinámica de procesos

Más detalles

Curso-Taller Programación Paralela con lenguaje C bajo Linux. MCC. Salazar Martínez Hilario

Curso-Taller Programación Paralela con lenguaje C bajo Linux. MCC. Salazar Martínez Hilario Curso-Taller Programación Paralela con lenguaje C bajo Linux MCC. Salazar Martínez Hilario Mayo 2011 Programación Paralela La que se realiza usando procesos separados. Interactúan intercambiando información.

Más detalles

FARMER en C y C++ bajo MPICH Antonio Carrillo Ledesma

FARMER en C y C++ bajo MPICH Antonio Carrillo Ledesma FARMER en C y C++ bajo MPICH Antonio Carrillo Ledesma http://www.mmc.igeofcu.unam.mx/acl Objetivo El presente proyecto es sobre la implementación de un Maestro-Esclavo (farmer) en el lenguaje de programación

Más detalles

Programación en Paralelo con MPI en Clusters Linux

Programación en Paralelo con MPI en Clusters Linux Programación en Paralelo con MPI en Clusters Linux Francisco Javier Rodríguez Arias 13 de marzo de 2006 Problema y Motivación En física se requiere hacer muchos cálculos. Para eso se hacen programas de

Más detalles

Sistemas de ficheros paralelos

Sistemas de ficheros paralelos Índice Sistemas Operativos Distribuidos Sistemas de ficheros paralelos Necesidad de E/S paralela Conexión de dispositivos Sistemas de ficheros distribuidos versus paralelos Técnicas de optimización de

Más detalles

Implementación de un Cluster de Computadoras con software libre para Computación Científica en Jicamarca

Implementación de un Cluster de Computadoras con software libre para Computación Científica en Jicamarca Implementación de un Cluster de Computadoras con software libre para Computación Científica en Jicamarca A.Zamudio M. Milla Contenido de la Presentación 1 Radio Observatorio de Jicamarca 2 3 4 5 6 Índice

Más detalles

Laboratorio de Paralelismo MPI: ejemplos y ejercicios

Laboratorio de Paralelismo MPI: ejemplos y ejercicios Laboratorio de Paralelismo MPI: ejemplos y ejercicios > Máquinas y directorios Vamos a trabajar con un cluster sencillo de 35 nodos: 32 nodos uniprocesador (Pentium IV, 3 GHz, 1,5 GB RAM, 2 MB cache) y

Más detalles

Computación Matricial y Paralela

Computación Matricial y Paralela Computación Matricial y Paralela Programación híbrida Javier Cuenca Dpto. de Ingeniería y Tecnología de Computadores Domingo Giménez Dpto. de Informática y Sistemas Universidad de Murcia http://dis.um.es/~domingo

Más detalles

Lusitania. Pensando en Paralelo. César Gómez Martín

Lusitania. Pensando en Paralelo. César Gómez Martín Lusitania Pensando en Paralelo César Gómez Martín cesar.gomez@cenits.es www.cenits.es Esquema Introducción a la programación paralela Por qué paralelizar? Tipos de computadoras paralelas Paradigmas de

Más detalles

Manuel Arenaz. arenaz@udc.es

Manuel Arenaz. arenaz@udc.es Manuel Arenaz arenaz@udc.es Introducción a la programación paralela Qué es la Programación Paralela? Computador estándar secuencial: Ejecuta las instrucciones de un programa en orden para producir un resultado

Más detalles

Instalación de un Super-Servidor de procesamiento paralelo basado en MPI

Instalación de un Super-Servidor de procesamiento paralelo basado en MPI LABORATORIO: Simulación y Mecánica Computacional TRABAJO: Instalación de un Super-Servidor de procesamiento paralelo basado en MPI Idioma: Español Plataforma de Hardware: AMD64 Sistema Operativo: Debian

Más detalles

Laboratorio de Paralelismo Prácticas MPI

Laboratorio de Paralelismo Prácticas MPI Laboratorio de Paralelismo Prácticas MPI Tras los ejemplos MPI que hemos ido haciendo en el laboratorio, hay que realizar estos cuatro ejercicios. Los programas de partida los tienes en el directorio de

Más detalles

Programación Híbrida e Introducción a la Programación de GPUs

Programación Híbrida e Introducción a la Programación de GPUs Programación Híbrida e Introducción a la Programación de GPUs Fernando Robles Morales Instituto Nacional de Medicina Genómica Enrique Cruz Martínez Universidad Autónoma de la ciudad de México CONTENIDO

Más detalles

Taller Computación Altas Prestaciones. Pedro Antonio Varo Herrero

Taller Computación Altas Prestaciones. Pedro Antonio Varo Herrero Taller Computación Altas Prestaciones Pedro Antonio Varo Herrero Antes de nada!! Cosas a instalar: OpenMPI: http://www.open-mpi.org/software/ompi/v1.8/downloads/openmpi-1.8.3.tar.gz Mpi4py: pip install

Más detalles

Paralelismo en Máquinas de Búsqueda

Paralelismo en Máquinas de Búsqueda Paralelismo en Máquinas de Búsqueda Mauricio Marin Yahoo! Research, Santiago Julio 2007 Yahoo! Confidential Clusters de Computadores Clusters de Computadores mensajes Yahoo! Confidential Yahoo! Confidential

Más detalles

E/S Paralela. Discos duros: Capacidad. Índice. Discos duros: Capacidad vs Rendimiento. MPI-IO: Un caso de estudio

E/S Paralela. Discos duros: Capacidad. Índice. Discos duros: Capacidad vs Rendimiento. MPI-IO: Un caso de estudio Discos duros: Capacidad vs Rendimiento E/S Paralela MPI-IO: Un caso de estudio María S. Pérez () Dep. Arquit. y Tecnol. de Sist. Informáticos Facultad de Informática, UPM, Madrid 2 Índice Discos duros:

Más detalles

Programación Estructurada

Programación Estructurada Programación Estructurada PROGRAMACIÓN ESTRUCTURADA 1 Sesión No. 2 Nombre: El lenguaje de programación C Contextualización Una constante en todos los lenguajes de programación (viejos y nuevos) es la implementación

Más detalles

Introducción a Java LSUB. 30 de enero de 2013 GSYC

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

Más detalles

Introducción a C++ y Code::Blocks

Introducción a C++ y Code::Blocks Introducción a C++ y Práctica Imperativo Clase 1 Luis Agustín Nieto Departamento de Computación, FCEyN,Universidad de Buenos Aires. 28 de mayo de 2010 Menu de esta Tarde Funcional Vs. Imperativo (Intérprete

Más detalles

Computación de Alta Performance Curso 2009. PVM Avanzado

Computación de Alta Performance Curso 2009. PVM Avanzado Computación de Alta Performance Curso 2009 Avanzado QUÉ ES? Una BIBLIOTECA, NO un Lenguaje Un estandar de facto, no de comité Soporte para: Administracion dinamica de maquinas heterogeneas Identificacion

Más detalles

Elementos de un programa en C

Elementos de un programa en C Elementos de un programa en C Un programa en C consta de uno o más archivos. Un archivo es traducido en diferentes fases. La primera fase es el preprocesado, que realiza la inclusión de archivos y la sustitución

Más detalles

Uso avanzado de punteros

Uso avanzado de punteros Uso avanzado de punteros Mario Medina C. mariomedina@udec.cl Punteros Contienen direcciones de memoria Punteros a tipos de datos simples int, char, float, double Punteros a estructuras Punteros a vectores

Más detalles

Programación estructurada (Introducción a lenguaje C)

Programación estructurada (Introducción a lenguaje C) Programación estructurada (Introducción a lenguaje C) M. en C. Sergio Luis Pérez Pérez UAM CUAJIMALPA, MÉXICO, D. F. Trimestre 15-I Sergio Luis Pérez (UAM CUAJIMALPA) Curso de programación estructurada

Más detalles

Middlewar Middlew es par ar a es par Sistemas de Alto Re R ndimiento José M. Peña

Middlewar Middlew es par ar a es par Sistemas de Alto Re R ndimiento José M. Peña Middlewares para Sistemas de Alto Rendimiento José M. Peña Contenidos Middlewares: Ejemplo lenguajes/entornos de programación: Lenguaje de programación paralela: OpenMP Ejemplos de servicios HPC: Sistemas

Más detalles

Práctica 0 Introducción a la programación en C

Práctica 0 Introducción a la programación en C DEPARTAMENTO DE AUTOMÁTICA ARQUITECTURA Y TECNOLOGÍA DE COMPUTADORES OBJETIVO Grado en Ingeniería de Computadores COMPUTACIÓN DE ALTAS PRESTACIONES Práctica 0 Introducción a la programación en C Se pretende

Más detalles

//Esta función es llamada cuando se produce un evento //de teclado void keycallback (void *userdata, SoEventCallback *eventoteclado) {

//Esta función es llamada cuando se produce un evento //de teclado void keycallback (void *userdata, SoEventCallback *eventoteclado) { Solución 4: /******************************************************** * * Este programa permite visualizar ficheros iv (vrml) * ********************************************************/ //Según el sistema

Más detalles

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

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

Más detalles

Arquitectura de Computadores: Exámenes y Controles

Arquitectura de Computadores: Exámenes y Controles 2º curso / 2º cuatr. Grado en Ing. Informática Doble Grado en Ing. Informática y Matemáticas Arquitectura de Computadores: Exámenes y Controles Examen de Prácticas AC 05/07/2013 resuelto Material elaborado

Más detalles

Heterogénea y Jerárquica

Heterogénea y Jerárquica Metodología de la Programación Paralela 2015-2016 Facultad Informática, Universidad de Murcia Computación Híbrida, Heterogénea y Jerárquica Contenidos 1 Sistemas 2 Paralelismo anidado 3 Programación híbrida

Más detalles

; hcomment.rc HTTP://AA.ES/INFO.HTML http://www.bb.com http://www.cc.org/a.html aa.es www.bb.com www.cc.org ;

; hcomment.rc HTTP://AA.ES/INFO.HTML http://www.bb.com http://www.cc.org/a.html aa.es www.bb.com www.cc.org ; Examen de Sistemas Operativos ITIS Fuenlabrada Mayo 2011 Problema: Llamadas al sistema (3 puntos) Implemente en C para Plan 9 un programa hlines que a partir de una URL que se le pasa como argumento, escriba

Más detalles

Concurrencia: deberes. Concurrencia: Exclusión Mutua y Sincronización. Concurrencia. Dificultades con la Concurrencia

Concurrencia: deberes. Concurrencia: Exclusión Mutua y Sincronización. Concurrencia. Dificultades con la Concurrencia Concurrencia: deberes Concurrencia: Exclusión Mutua y Sincronización Capítulo 5 Comunicación entre procesos Compartir recursos Sincronización de múltiples procesos Asignación del tiempo de procesador Concurrencia

Más detalles

Sistemas Operativos: Programación de Sistemas. Curso 2006-07. Oscar Déniz Suárez Alexis Quesada Arencibia Francisco J.

Sistemas Operativos: Programación de Sistemas. Curso 2006-07. Oscar Déniz Suárez Alexis Quesada Arencibia Francisco J. Tema 2 : entorno programación linux Sistemas Operativos: Programación de Sistemas Oscar Déniz Suárez Alexis Quesada Arencibia Francisco J. Santana Pérez Curso 2006-07 Francisco J. Santana 1 Programación

Más detalles

Consideraciones en el diseño de redes Topología de redes Mecanismos de rutado

Consideraciones en el diseño de redes Topología de redes Mecanismos de rutado Redes básicas de interconexión Consideraciones en el diseño de redes Topología de redes Mecanismos de rutado Consideraciones en el diseño de redes Prestaciones de la red Múltiples procesadores Múltiples

Más detalles

Supercomputación CSIC.

Supercomputación CSIC. Supercomputación Jaime Perea: Instituto de Astrofísica de Andalucía, CSIC. El término supercomputación no está bien definido, ya que tiene una naturaleza de índole periodística y comercial: Lo vamos a

Más detalles

Caracteres y Cadenas Conversión de Datos Funciones y procedimientos Archivos cabecera. Fundamentos de programación

Caracteres y Cadenas Conversión de Datos Funciones y procedimientos Archivos cabecera. Fundamentos de programación 1 Caracteres y Cadenas Conversión de Datos Funciones y procedimientos Archivos cabecera Fundamentos de programación Agenda Caracteres y Cadenas Conversión de Datos Introducción a las funciones y procedimientos

Más detalles

Lenguaje C Elementos de un Programa. Ing. Hugo Fdo. Velasco Peña Universidad Nacional 2006

Lenguaje C Elementos de un Programa. Ing. Hugo Fdo. Velasco Peña Universidad Nacional 2006 Lenguaje C Elementos de un Programa Ing. Hugo Fdo. Velasco Peña Universidad Nacional 2006 Objetivos Conocer los elementos que conforman un programa en C 1. Elementos léxicos de un Programa Cuando el programa

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

Una introducción al compilador C de GNU

Una introducción al compilador C de GNU Una introducción al compilador C de GNU Héctor Adrián Valdecantos Departamento de Ciencias de Computación Facultad de Ciencias Exactas y Tecnología - UNT Materia: Programación Carrera: Programador Universitario

Más detalles

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

Lenguaje C Funciones. Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia Lenguaje C Funciones Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia Qué es una función o rutina/subrutina? Se presenta como un subalgoritmo

Más detalles

4. Clusters. Arquitectura de Clusters. Arquitectura de un cluster. Tipos de clusters. Redes para clusters. Ejemplo de Cluster: Google

4. Clusters. Arquitectura de Clusters. Arquitectura de un cluster. Tipos de clusters. Redes para clusters. Ejemplo de Cluster: Google 4. Clusters Arquitectura de un cluster Introducción Componentes de un cluster Ventajas e inconvenientes Tipos de clusters Clusters de alto rendimiento Clusters de balanceo de carga Clusters de alta disponibilidad

Más detalles

LENGUAJE. Tema 1 - Introducción

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

Más detalles

Proyecto. Estudio Experimental del Efecto del Paso de Mensajes en Ambiente GRID para el Desarrollo de Sistemas que Tratan con Problemas NP-Completos

Proyecto. Estudio Experimental del Efecto del Paso de Mensajes en Ambiente GRID para el Desarrollo de Sistemas que Tratan con Problemas NP-Completos Proyecto Estudio Experimental del Efecto del Paso de Mensajes en Ambiente GRID para el Desarrollo de Sistemas que Tratan con Problemas NP-Completos REPORTE FINAL Colaboradores en el proyecto Universidad

Más detalles

Sistemas Distribuidos

Sistemas Distribuidos Índice Segunda parte: Paso de mensajes Introducción Arquitecturas de comunicación Cliente-servidor Peer-to-peer Paso de mensajes Comunicación punto a punto Comunicación de grupo Llamadas a procedimientos

Más detalles

Examen de Fundamentos de sistemas distribuidos

Examen de Fundamentos de sistemas distribuidos Examen de Fundamentos de sistemas distribuidos Tiempo total: 2 horas Problema: Programa: Rendezvous con semáforos(5 puntos) Utilizando como único mecanismo de sincronización los semáforos descritos en

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

Computación Híbrida, Heterogénea y Jerárquica

Computación Híbrida, Heterogénea y Jerárquica Computación Híbrida, Heterogénea y Jerárquica http://www.ditec.um.es/ javiercm/curso psba/ Curso de Programación en el Supercomputador Ben-Arabí, febrero-marzo 2012 Organización aproximada de la sesión,

Más detalles

Cálculos en paralelo con FreeFem++

Cálculos en paralelo con FreeFem++ Cálculos en paralelo con FreeFem++ J. Rafael Rodríguez Galván 4 al 8 de julio de 2011 J. Rafael Rodríguez Galván (UCA) Cálculos en paralelo con FreeFem++ 4 al 8 de julio de 2011 1 / 18 Outline 1 Cálculos

Más detalles

Programación en C. Algoritmo y Estructura de Datos. Ing. M. Laura López. Programación en C

Programación en C. Algoritmo y Estructura de Datos. Ing. M. Laura López. Programación en C Algoritmo y Estructura de Datos Ing. M. Laura López 1 Estructura de un programa en C 2 Estructura de un programa en C #include Archivos de cabecera # define Definición de constantes Declaraciones Globales

Más detalles

Curso de usuarios del cluster de la Universidad de Cádiz

Curso de usuarios del cluster de la Universidad de Cádiz Curso de usuarios del cluster de la Universidad de Cádiz Guión descripción del sistema disponibilidad y uso de recursos uso del sistema de colas compiladores principios de la paralelización de problemas

Más detalles

Esquema de un programa en C: bloques básicos

Esquema de un programa en C: bloques básicos Esquema de un programa en C: bloques básicos // Incluimos los ficheros de cabecera que necesitemos. // Esto es un comentario #include #include // Si queremos definir alguna constante,

Más detalles

Computación de Alta Performance Curso 2009 PVM (PARALLEL VIRTUAL MACHINE)

Computación de Alta Performance Curso 2009 PVM (PARALLEL VIRTUAL MACHINE) Computación de Alta Performance Curso 2009 (PARALLEL VIRTUAL MACHINE) QUÉ ES? Una BIBLIOTECA para el desarrollo de aplicaciones paralelas y distribuidas. Cualidades Potencia. Simplicidad. Portabilidad

Más detalles

Programación Paralela y Distribuida

Programación Paralela y Distribuida Programación Paralela y Distribuida Cores, Threads and Nodes Pedro Antonio Varo Herrero pevahe@gmail.com Pedro Antonio Varo Herrero Estudiante 4º Curso - Universidad de Sevilla Grado Ing. Informática Tecnologías

Más detalles

ÍNDICE. 1. Requisitos de Hardware Arranque del front-end Arranque de los nodos Utilización de lam, OpenMPI y Ganglia...

ÍNDICE. 1. Requisitos de Hardware Arranque del front-end Arranque de los nodos Utilización de lam, OpenMPI y Ganglia... ÍNDICE 1. Requisitos de Hardware...2 2. Arranque del front-end 2 3. Arranque de los nodos.4 4. Utilización de lam, OpenMPI y Ganglia....5 5. Cambio de configuración de red..7 1. REQUISITOS DE HARDWARE

Más detalles

Introducción al lenguaje C

Introducción al lenguaje C Programación 2 Profesorado de Informática CeRP del Suroeste, Uruguay 29 de marzo de 2016 Estructuras de control IV Iteración Sentencia for: for (inicio; condicion; paso) cuerpo for (int i = 0; i < 10;

Más detalles

Programación En Lenguaje C

Programación En Lenguaje C Programación En Lenguaje C Introducción Básica para Primero de Bachillerato TECNOLOGÍA DE LA INFORMACIÓN IES PALAS ATENEA Lenguaje C Estructurado Secuencial De alto Nivel Altamente portable Necesita un

Más detalles

TIPO DE DATO ABSTRACTO (TDA)

TIPO DE DATO ABSTRACTO (TDA) TIPO DE DATO ABSTRACTO (TDA) Ing. Eduard Antonio Lozano Córdoba Nota: Toda la información fue copiada de: Libros físicos e Internet Actividad Extra Clases #include #include int binario(int

Más detalles

El lenguaje C. #define MAX LINEA 1000 /* maximo tamanio de linea de entrada */

El lenguaje C. #define MAX LINEA 1000 /* maximo tamanio de linea de entrada */ Principios de Programación El lenguaje C 1. Variables locales y globales 1.1. Variables locales Las funciones permiten al programador modularizar un programa. Todas las variables declaradas en las definiciones

Más detalles

Prof. Dr. Paul Bustamante

Prof. Dr. Paul Bustamante Prácticas de C++ Practica Nº 10 Informática II Fundamentos de Programación Prof. Dr. Paul Bustamante INDICE 1.1 EJERCICIO 1: MI PRIMER FICHERO EN BINARIO... 1 1.2 EJERCICIO 2: LEYENDO MI PRIMER FICHERO

Más detalles

Punteros. Definición Un puntero es un dato que contiene una dirección de memoria.

Punteros. Definición Un puntero es un dato que contiene una dirección de memoria. Punteros Definición Un puntero es un dato que contiene una dirección de memoria. NOTA: Existe una dirección especial que se representa por medio de la constante NULL (definida en ) y se emplea

Más detalles

Treball Fi de Carrera ENGINYERIA TÈCNICA EN INFORMÀTICA DE SISTEMES Facultat de Matemàtiques Universitat de Barcelona. Clustering en Linux

Treball Fi de Carrera ENGINYERIA TÈCNICA EN INFORMÀTICA DE SISTEMES Facultat de Matemàtiques Universitat de Barcelona. Clustering en Linux Treball Fi de Carrera ENGINYERIA TÈCNICA EN INFORMÀTICA DE SISTEMES Facultat de Matemàtiques Universitat de Barcelona Clustering en Linux José Manuel Rodríguez Del Amo Director: Jaume Timoneda Salat Realitzat

Más detalles

Fundamentos de Programación 2017-I

Fundamentos de Programación 2017-I Fundamentos de Programación 2017-I Fundamentos para la construcción de código a partir del algoritmo Objetivo: El alumno construirá programas utilizando el lenguaje de programación C a través de un análisis

Más detalles

Lenguajes de programación

Lenguajes de programación Lenguajes de programación Un computador solo entiende lenguaje binario Un procesador tiene un conjunto finito de operaciones binarias Un programa de computador es una secuencia de estas instrucciones Etapas

Más detalles

Sistemas Operativos. Pedro Cabalar TEMA III. PROCESOS. Depto. de Computación Universidade da Coruña

Sistemas Operativos. Pedro Cabalar TEMA III. PROCESOS. Depto. de Computación Universidade da Coruña Sistemas Operativos Pedro Cabalar Depto. de Computación Universidade da Coruña TEMA III. PROCESOS. P. Cabalar Sistemas( Operativos Depto. de Computación Universidade Tema da Coruña III. Procesos ) 1 /

Más detalles

Programación. Test Autoevaluación Tema 3

Programación. Test Autoevaluación Tema 3 Programación Test Autoevaluación Tema 3 Autores: M. Paz Sesmero Lorente Paula de Toledo Heras Fco. Javier Ordoñez Morales Juan Gómez Romero José A. Iglesias Martínez José Luis Mira Peidro SOLUCIONES 1.

Más detalles

TIPOS DE DATOS BASICOS EN LENGUAJE C

TIPOS DE DATOS BASICOS EN LENGUAJE C TIPOS DE DATOS BASICOS EN LENGUAJE C TIPO char int float double void ANCHO EN BIT 64 0 TIPOS DE DATOS RANGO EN PC -12 a 127 3.4E-3 a 3.4E+3 1.7E-30 a 1.7E+30 sin valores TIPO ANCHO EN BIT RANGO EN PC char

Más detalles

Objective C (Desarrollo con Apple)

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

Más detalles

Curso de Programación Avanzada en C

Curso de Programación Avanzada en C Curso de Programación Avanzada en C Copyright, 1996 Universidad Sim on Bol ivar 1 Prof. Mariela J. Curiel Contenido del Curso Conceptos BásicosB Estructuras de Control Arreglos Otros tipos de datos derivados

Más detalles

Procesadores de lenguaje Tema 6 La tabla de símbolos

Procesadores de lenguaje Tema 6 La tabla de símbolos Procesadores de lenguaje Tema 6 La tabla de símbolos Departamento de Ciencias de la Computación Universidad de Alcalá Resumen La tabla de símbolos. Requerimientos de información. Diseño de la tabla de

Más detalles

1. Ejemplo de clase : La clase Cuenta 2. Uso de la clase Cuenta. 3. Métodos y objetos receptores de mensajes (Importante)

1. Ejemplo de clase : La clase Cuenta 2. Uso de la clase Cuenta. 3. Métodos y objetos receptores de mensajes (Importante) 1. : La clase Cuenta. Uso de la clase Cuenta 3. Métodos y objetos receptores de mensajes (Importante) 1 Una clase para cuentas de un banco Vamos a modelar con una clase, un nuevo tipo de datos, donde los

Más detalles

Práctica de gsoap. int ns enviar (unsigned nodo, std::string cadena, std::string &resultado); int ns recibir(unsigned nodo, std::string &resultado);

Práctica de gsoap. int ns enviar (unsigned nodo, std::string cadena, std::string &resultado); int ns recibir(unsigned nodo, std::string &resultado); Práctica de gsoap Para desarrollar programas que utilicen gsoap para llevar a cabo las comunicaciones, debemos bajar el paquete gsoap linux 2.7.tgz disponible en: http://atc.ugr.es/pedro/docencia/irhc/irhc.html

Más detalles

SOR -::- Prácticas -::- Curso 05/06. RCP es un estándar desarrollado por Sun Microsystems y usado por muchos distribuidores de sistemas UNIX.

SOR -::- Prácticas -::- Curso 05/06. RCP es un estándar desarrollado por Sun Microsystems y usado por muchos distribuidores de sistemas UNIX. RPC RCP es un estándar desarrollado por Sun Microsystems y usado por muchos distribuidores de sistemas UNIX. El RPC es una interfaz de programación de aplicación (API) disponible para el desarrollo de

Más detalles

- Bajo que condiciones el algoritmo de planifiación de procesos FIFO (FCFS) resultaría en el tiempo de respuesta promedio más pequeño?

- Bajo que condiciones el algoritmo de planifiación de procesos FIFO (FCFS) resultaría en el tiempo de respuesta promedio más pequeño? Sistemas Operativos. Grado Ingeniería Informática. TGR-2.1 Procesos. Noviembre 2014 Problemas para hacer en clase FIFO cpu C A 1. Dos procesos A y B tienen una ráfaga de CPU de 50 ms y un proceso C tiene

Más detalles

Clusters. High Performance Cluster Computing. de Rajkumar Buyya. Sergio Romero, Febrero 2009 Arquitecturas Distribuidas

Clusters. High Performance Cluster Computing. de Rajkumar Buyya. Sergio Romero, Febrero 2009 Arquitecturas Distribuidas Clusters High Performance Cluster Computing de Rajkumar Buyya Sergio Romero, Febrero 2009 Arquitecturas Distribuidas Índice Introducción Arquitectura del cluster Clasificación de los cluster Cluster Middleware

Más detalles

Generador de analizadores sintácticos BISON

Generador de analizadores sintácticos BISON Generador de analizadores sintácticos BISON PROCESADORES DE LENGUAJES 4 o Informática http://ccia.ei.uvigo.es/docencia/pl noviembre-2008 2008 ccia PL 1. Introducción Traduce la especificación de una gramática

Más detalles

Sistemas Operativos: Programación de Sistemas. Curso Oscar Déniz Suárez Alexis Quesada Arencibia Francisco J.

Sistemas Operativos: Programación de Sistemas. Curso Oscar Déniz Suárez Alexis Quesada Arencibia Francisco J. Tema 5 : Comunicación entre Procesos mediante Tuberías Sistemas Operativos: Programación de Sistemas Oscar Déniz Suárez Alexis Quesada Arencibia Francisco J. Santana Pérez Curso 2006-07 Introducción Algunas

Más detalles

Capacitación adquirida por el alumno al finalizar este modulo

Capacitación adquirida por el alumno al finalizar este modulo Curso de UML y UP Analiza, modela y diseña sistemas orientado a objetos con UML. Aprende cuándo y cómo utilizar todos los diagramas que forman parte de UML en forma práctica utilizando el Enterprise Architect

Más detalles

PicController. Manual de usuario. Raquel Sánchez Díaz

PicController. Manual de usuario. Raquel Sánchez Díaz PicController Manual de usuario Raquel Sánchez Díaz Tabla de Contenidos 1. INTRODUCCIÓN...1 2. DESCRIPCIÓN DE LA VENTANA PRINCIPAL...1 2.1. MENÚ CONFIGURACIÓN...2 2.2. MENÚ PUERTO SERIE...2 2.3. MENÚ

Más detalles

Adaptación de la arquitectura linux lib de MaRTE OS a multiprocesadores

Adaptación de la arquitectura linux lib de MaRTE OS a multiprocesadores Adaptación de la arquitectura linux lib de MaRTE OS a multiprocesadores Daniel Medina Ortega, Mario Aldea Rivas, Michael González Harbour {medinad,aldeam,mgh}@unican.es Grupo de Computadores y Tiempo Real.

Más detalles

PROGRAMACION ORIENTADA A OBJETOS EN C++

PROGRAMACION ORIENTADA A OBJETOS EN C++ PROGRAMACION ORIENTADA A OBJETOS EN C++ 1- INTRODUCCIÓN El lenguaje C++ representa el resultado de los esfuerzos realizados para proporcionar las ventajas de la programación Orientada a Objetos a un lenguaje

Más detalles

Introducción al Lenguaje de Programación C

Introducción al Lenguaje de Programación C Introducción al Lenguaje de Programación C Andrés Arcia Departamento de Computación Escuela de Ingeniería de Sistemas Facultad de Ingeniería Universidad de Los Andes Lenguaje de Programación C Fue diseñado

Más detalles

Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial.

Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial. Tipos de Datos Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial. Entrada de datos Procesamientos de datos Salida de resultados Los

Más detalles

Sistemas Distribuidos: Migración de Procesos

Sistemas Distribuidos: Migración de Procesos Sistemas Distribuidos: Migración de Procesos Yudith Cardinale Universidad Central de Venezuela Facultad de Ciencias Postgrado en Computación Octubre 2013 Febrero 2014 Objetivos Entender la importancia

Más detalles

Laboratorio de Arquitectura de Redes. Entrada y salida estándar

Laboratorio de Arquitectura de Redes. Entrada y salida estándar Laboratorio de Arquitectura de Redes Entrada y salida estándar Entrada y salida estándar Entradas y salidas Salida con formato: printf() Entrada de datos con formato: scanf() El buffer de teclado Entrada

Más detalles

Selección de caminos en 802.11s con HWMP (Hybrid Wireless Mesh Protocol)

Selección de caminos en 802.11s con HWMP (Hybrid Wireless Mesh Protocol) MUITIC Servicios Avanzados de Apoyo a Aplicaciones Telemáticas Curso 2009/2010 Selección de caminos en 802.11s con HWMP (Hybrid Wireless Mesh Protocol) Juan I. Asensio Pérez Contenido Contexto HWMP Descripción

Más detalles

Preliminares. Tipos de variables y Expresiones

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

Más detalles

Guía rápida para gestionar el puerto paralelo del PC

Guía rápida para gestionar el puerto paralelo del PC Guía rápida para gestionar el puerto paralelo del PC Descarga desde: http://eii.unex.es/profesores/jisuarez/descargas/ip/guia_rapida_pp.pdf José Ignacio Suárez Marcelo Universidad de Extremadura Escuela

Más detalles

Informática Ingeniería en Electrónica y Automática Industrial

Informática Ingeniería en Electrónica y Automática Industrial Informática Ingeniería en Electrónica y Automática Industrial Entrada y salida estándar V1.3 Autores Entrada y salida estándar Entradas y salidas Salida con formato: printf() Entrada de datos con formato:

Más detalles

Todo programa en 'C' consta de una o más funciones, una de las cuales se llama main.

Todo programa en 'C' consta de una o más funciones, una de las cuales se llama main. LENGUAJE C CARACTERISTICAS DEL LENGUAJE 'C' El lenguaje 'C' se conoce como un lenguaje compilado. Existen dos tipos de lenguaje: interpretados y compilados. Los interpretados son aquellos que necesitan

Más detalles