Macros en C. MIS. Lizbeth Alejandra Hernández González Programación de Sistemas

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

Download "Macros en C. MIS. Lizbeth Alejandra Hernández González Programación de Sistemas"

Transcripción

1 Macros en C MIS. Lizbeth Alejandra Hernández González Programación de Sistemas

2 Macros en C Usa un preprocesador de macros Remueve todos los comentarios del código fuente Efectúa una serie de sustituciones conceptuales basadas en el código pasando el resultado al compilador.

3 1. # include <stdio.h> # define INICIO 0 /* Punto de inicio del bucle */ 4. # define FINAL 9 /* Fin del bucle */ 5. # define MAX(A,B) ((A)>(B)?(A):(B)) /* Definición macro de Max */ 6. # define MIN(A,B) ((A)>(B)?(B):(A)) /* Definición macro de Min */ int main( ) 9. { 10. int indice, mn, mx ; 11. int contador = 5 ; for (indice = INICIO ; indice <= FINAL ; indice++) 14. { 15. mx = MAX(indice, contador) ; 16. mn = MIN(indice, contador) ; 17. printf ( "Max es %d y min es %d\n", mx, mn) ; 18. } 19. return 0 ; 20. }

4 Resultado de la ejecución: Max es 5 y min es 0 Max es 5 y min es 1 Max es 5 y min es 2 Max es 5 y min es 3 Max es 5 y min es 4 Max es 5 y min es 5 Max es 6 y min es 5 Max es 7 y min es 5 Max es 8 y min es 5 Max es 9 y min es 5

5 #define es la manera para declarar todas las macros y definiciones. el compilador va a la etapa del preprocesador para resolver todas las definiciones, P.e. se buscará cada lugar en el programa donde se encuentre la palabra INICIO y será reemplazada con un cero El compilador en sí jamás verá la palabra INICIO. Es una práctica común en C utilizar mayúsculas para constantes simbólicas y minúsculas para variables.

6 cada vez que el preprocesador encuentra la palabra MAX (termino1, termino2) espera encontrar dos términos el primer término reemplazará cada A en la segunda parte de la definición, y el segundo término reemplazará cada B en la segunda parte de la definición. línea 15, indice será sustituída por cada A, y contador será sustituida por cada B.

7 antes de que la línea 15 sea entregada al compilador, será modificada: Definición: # define MAX(A,B) ((A)>(B)?(A):(B)) 15 mx = MAX(indice, contador) ; 15 mx = ((index)>(count)? (index) : (count))

8 Una macro equivocada #define EQUIVOCADA(A) A*A*A /* Macro EQUIVOCADA para el cubo */ #define CUBO(A) (A)*(A)*(A) /*Macro correcta para el cubo */ #define CUADRADO(A) (A)*(A) /* Macro correcta para el cuadrado */ #define SUMA_EQUIVOCADA(A) (A)+(A) // Macro equivocada para la suma #define SUMA_CORRECTA(A) ((A)+(A)) /* Macro correcta para la suma */ #define INICIO 1 #define FINAL 7

9 int main( ) { int i, offset ; offset = 5 ; for (i = INICIO ; i <= FINAL ; i++) { printf ("El cuadrado de %3d es %4d, y su cubo es %6d\n", i+offset, CUADRADO(i+offset), CUBO(i+offset)) ; printf ("El cubo equivocado de %3d es %6d\n", i+offset, EQUIVOCADA(i+offset)) ; } printf ("\nprobamos la macro de suma\n") ; for (i = INICIO ; i <= FINAL ; i++) { printf ("La macro de suma EQUIVOCADA = %6d, y la correcta = %6d\n", 5*SUMA_EQUIVOCADA(i), 5*SUMA_CORRECTA(i)) ; } return 0 ; }

10

11 Necesidad de paréntesis Los paréntesis son necesarios para agrupar adecuadamente las variables. Si i es 1 esperamos el cubo de (1+5=6) = 216 Cuando se usa CUBO(A) (A)*(A)*(A) (1+5)*(1+5)*(1+5) = 6*6*6 = 216. Cuando se usa EQUIVOCADA(A) A*A*A 1+5*1+5*1+5 = = 16 resultado erróneo.

12 Suma equivocada #define SUMA_EQUIVOCADA(A) (A)+(A) #define SUMA_CORRECTA(A) ((A)+(A)) 5*SUMA_EQUIVOCADA(i) con i=1, resultado 5* = 6, el resultado esperado era 5*(1+1) = 5*2 = 10 usando SUMA_CORRECTA, esto se debe a los paréntesis extra NOTA: Agregar paréntesis a cada término y a cada expresión (corregir CUBO)

13 Compilación condicional 1. #include <stdio.h> 2. #include <stdlib.h> 3. # define OPCION_1 /* Esto define el control del preprocesador */ 4. //# undef OPCION_1 5. # ifdef OPCION_1 6. int contador_1 = 17; /* Esto existe solo si OPCION_1 es definido */ 7. # endif 8. int main( ) 9. { 10. int indice ; 11. for (indice = 0 ; indice < 6 ; indice++) 12. { 13. printf ("En el bucle, indice = %d", indice) ; 14. # ifdef OPCION_1 15. printf (" contador_1 = %d", contador_1) ; /* puede desplegarse */ 16. # endif 17. printf ("\n") ; 18. } 19. system("pause"); 20. return 0 ; 21. } 22. # undef OPCION_1

14 Pruebe el programa Cuál es la salida? Comente la línea 3 Cuál es la salida? Descomente la línea 3 y descomente la línea 4 Cuál es la salida?

15 Ifndef 1. #include <stdio.h> 2. #include <stdlib.h> "si no definido". 3. # define OPCION_1 /* Esto define el control al preprocesador */ 4. # define MUESTRA_DATO /* Si es definido, se muestra*/ 5. # ifndef OPCION_1 6. int contador_1 = 17; /* Esto existe si OPCION_1 no es definido */ 7. # endif 8. int main( ) 9. { 10. int indice ; 11. # ifndef MUESTRA_DATO 12. printf ("MUESTRA_DATO no está definido en el codigo\n") ; 13. # endif 14. for (indice = 0 ; indice < 6 ; indice++) 15. { 16. # ifdef MUESTRA_DATO 17. printf ("En el bucle, indice = %d", indice) ; 18. # ifndef OPCION_1 19. printf (" contador_1 = %d", contador_1); /* Esto puede mostrarse*/ 20. # endif 21. printf ("\n") ; 22. # endif 23. } 24. system("pause"); 25. return 0 ; 26. }

16 Correr el programa Verificar la salida original Verificar la salida comentando la línea 3

17 Procesador de macros M4

18 Procesador de macros M4 Funciona como el procesador de macros de C. Utiliza un lenguaje de macros diferente y de propósito general; lo cual resulta más potente. Ejecutar m4 sin argumentos: el comando espera texto por la entrada estándar, tras cada línea introducida, ésta se procesa y se imprime el resultado por la salida estándar. También puede recibir archivos

19 La mayor utilidad que se le ha dado a M4 ha sido en las famosas autotools de GNU (autoconf, automake, etc.) Otro ejemplo es utilizar M4 para escribir páginas web (creando una abstracción por encima del HTML).

20 Utilización de macros Llamada a macros: 1. CANTINFLAS 2. Hola señor CANTINFLAS 3. Hola señor CANTINFLAS()puntoycoma. 4. Hola señor CANTINFLAS(punto, y, coma). 5. Hola señor CANTINFLAS(punto y coma).

21 La macro que nos permite definir nuevas macros: define admite dos argumentos: el nombre de la nueva macro y el texto por el que será reemplazada cada aparición de dicha macro: define(`cantinflas', 'Bigote') define(`bold', `<b>$1</b>') Ej. BOLD(hola) será substituido por <b>hola</b> define(hola, Hola mundo cruel) $0 que se expande como el nombre de la macro

22 Otros modificadores $* expande todos los argumentos separados por comas. hace lo mismo pero además quotea el resultado para evitar expansiones del mismo. $# se expande como el número de argumentos pasados a la macro.

23 Comentarios dnl Comentario que no aparecerá en el resultado. # Comentario que sí aparecerá en el resultado

24 Cadenas protegidas Cuando hablamos de una expansión nos referimos a dos cosas: Expandir una macro o Si se trata de un texto rodeado por ` ' simplemente se eliminan las comillas. el proceso de expansión de una macro es recursivo: 1. Expansión de los argumentos. 2. Se procede a la substitución del texto. 3. Se vuelve a procesar el resultado de esta expansión.

25 Saber proteger el texto quoteándolo. Para la inclusión de cadenas literales en el argumento de una macro basta con rodearla de comillas dobles, p.e.: define(`cantinflas', `$1') Hola señor CANTINFLAS(``Y esto aparece tal cual, metamos lo que metamos' )

26 Si necesitamos que una macro se expanda entre texto que no está separado por espacios podemos usar la cadena vacía `'. Por ejemplo: esecantinflaspoderoso (no válido) ese`'cantinflas`'poderoso anti`'cantinflas() M4 tiene macros para implementar condicionales, como ifdef e ifelse

APÈNDIX: PREPROCESSADOR C

APÈNDIX: PREPROCESSADOR C APÈNDIX: PREPROCESSADOR C 1. El preprocessador de C La programació en C, especialment la de sistemes operatius, utilitza bastant les facilitats que dona els preprocessadors de C. Encara que se suposa que

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 El preprocesador de lenguaje C V1.2 Autores El preprocesador de lenguaje C Definición Directivas de preprocesado Constantes simbólicas y macros

Más detalles

Lenguaje de Programación: C++ Directivas al preprocesador

Lenguaje de Programación: C++ Directivas al preprocesador UG Lenguaje de Programación: C++ Directivas al preprocesador Universidad de Guanajuato Septiembre 2010 Un preprocesador es un programa separado que es invocado por el compilador antes de que comience la

Más detalles

El lenguaje de programación C - El primer programa -

El lenguaje de programación C - El primer programa - El lenguaje de programación C - El primer programa - Isidro González Caballero ( gonzalezisidro@uniovi.es ) 2 Introducción a la Física Computacional Curso 2010-2011 2 Editar, compilar, montar, ejecutar

Más detalles

Algoritmos y Estructuras de Datos Ingeniería en Informática, Curso 2º SEMINARIO DE C Sesión 4

Algoritmos y Estructuras de Datos Ingeniería en Informática, Curso 2º SEMINARIO DE C Sesión 4 Algoritmos y Estructuras de Datos Ingeniería en Informática, Curso 2º SEMINARIO DE C Sesión 4 Contenidos: 1. El preprocesador de C 2. Programación modular 3. El programa make Ejercicios Algoritmos y Estructuras

Más detalles

Programación Básica Estructuras de Datos y Funciones en C

Programación Básica Estructuras de Datos y Funciones en C Arturo Vega González a.vega@ugto.mx Division de Ciencias e Ingenierías Universidad de Guanajuato Campus León Sesión 8 Universidad de Guanajuato, DCI, Campus León 1 / 33 Contenido 1 Estructuras de Datos

Más detalles

Introducción a la. Programación con

Introducción a la. Programación con Introducción a la Programación con C Objetivo El alumno comprendera los conceptos sobre cuales se rige la programación estructurada mediante una base teórica y un conjunto de prácticas, enfocando dichos

Más detalles

Conceptos Básicos. Programación

Conceptos Básicos. Programación Conceptos Básicos Programación Introducción Lenguaje. Código Máquina. Lenguajes de alto nivel. Criterios clasificación Nivel de abstracción. Propósito. Evolución histórica. Manera de ejecutarse. Paradigma

Más detalles

Es un lenguaje estructurado, tiene una abundante cantidad de operadores y tipos de datos.

Es un lenguaje estructurado, tiene una abundante cantidad de operadores y tipos de datos. Lenguaje C Un poco de historia C es un lenguaje de propósito general, es decir, se pueden desarrollar aplicaciones de diversas áreas. Dentro de sus principales características podemos mencionar que: Es

Más detalles

WHILE Y DO WHILE BREAK EN LENGUAJE C. BUCLES MIENTRAS. FORZAR SALIDA O TERMINACIÓN. EJEMPLO (CU00534F)

WHILE Y DO WHILE BREAK EN LENGUAJE C. BUCLES MIENTRAS. FORZAR SALIDA O TERMINACIÓN. EJEMPLO (CU00534F) Bucles en lenguaje C Bucle while y forzar detención con break APRENDERAPROGRAMARCOM WHILE Y DO WHILE BREAK EN LENGUAJE C BUCLES MIENTRAS FORZAR SALIDA O TERMINACIÓN EJEMPLO (CU00534F) Sección: Cursos Categoría:

Más detalles

Fundamentos de Informática 4. Primeros Programas, Primeros Diseños

Fundamentos de Informática 4. Primeros Programas, Primeros Diseños Fundamentos de Informática 4. Primeros Programas, Primeros Diseños Fundamentos de Informática Grado en Ingeniería Química 2 Contenidos 1 Empezando con C 2 Variables 3 Entrada de datos 4 Operadores 5 Condiciones

Más detalles

Programación : C (6)

Programación : C (6) Programación : C (6) Dr. J.B. Hayet CENTRO DE INVESTIGACIÓN EN MATEMÁTICAS Septiembre 2013 J.B. Hayet Programación Septiembre 2013 1 / 40 Outline 1 Directivas al preprocesador 2 Input/Output J.B. Hayet

Más detalles

ESTRUCTURA DE UN PROGRAMA C++

ESTRUCTURA DE UN PROGRAMA C++ Actividad No. 1 Instrucciones: Con la información que se muestra a continuación deberás de crear un mapa mental, en tu cuaderno. ESTRUCTURA DE UN PROGRAMA C++ Tenemos ya algunos ingredientes básicos para

Más detalles

Lenguaje de Programación: C++ ARCHIVOS I/O

Lenguaje de Programación: C++ ARCHIVOS I/O UG C++ Lenguaje de Programación: C++ ARCHIVOS I/O Universidad de Guanajuato Octubre 2010 Como abrir un archivo Antes de poder escribir datos en un archivo, debemos abrirlo, esto significa que debemos decirle

Más detalles

Archivos. Programación en C 1

Archivos. Programación en C 1 Archivos Programación en C 1 Índice Tipos de archivos. Apertura de archivos. Cierre de archivos. Lectura de archivos. Escritura de archivos. Acceso directo en archivos binarios. Programación en C 2 Introducción

Más detalles

Lenguaje C. República Bolivariana de Venezuela Fundación Misión Sucre Aldea Fray Pedro de Agreda Introducción a la Programación III

Lenguaje C. República Bolivariana de Venezuela Fundación Misión Sucre Aldea Fray Pedro de Agreda Introducción a la Programación III República Bolivariana de Venezuela Fundación Misión Sucre Aldea Fray Pedro de Agreda Introducción a la Programación III Lenguaje C 1 Puntos previos Los códigos fuentes generados en C requieren ser compilados

Más detalles

roducción a la programación con el lenguaje C usando el entorno de trabajo Dev-C. Nociones básicas de programación

roducción a la programación con el lenguaje C usando el entorno de trabajo Dev-C. Nociones básicas de programación There are no translations available. Introducción a la programación con el lenguaje C usando el entorno de trabajo Dev-C. roducción a la programación con el lenguaje C usando el entorno de trabajo Dev-C.

Más detalles

Algoritmo, Estructuras y Programación I Ing. Marglorie Colina

Algoritmo, Estructuras y Programación I Ing. Marglorie Colina Unidad II: Fundamentos de la Programación Estructurada Algoritmo, Estructuras y Programación I Ing. Marglorie Colina Estructura General de un Programa Zona de ficheros de cabecera de las librerías Zona

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

Departamento de Electrónica

Departamento de Electrónica Introducción al Departamento de Electrónica Fundación San Valero Introducción al 1 Introducción al Introducción al 2 Introducción al Introducción al 3 Características del Características del Departamento

Más detalles

Tema 2: Lenguajes de Programación de Sistemas: C

Tema 2: Lenguajes de Programación de Sistemas: C Tema 2: Lenguajes de Programación de Sistemas: C SSOO - Curso 2005/06 E. Domínguez C. Villarrubia Departamento de Tecnologías y Sistemas de Información Escuela Superior de Informática Universidad de Castilla

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

Objetivo N 2. Conocer la Estructura General de un Programa en C++ Estructura de Datos Prof. Egilde Márquez

Objetivo N 2. Conocer la Estructura General de un Programa en C++ Estructura de Datos Prof. Egilde Márquez Objetivo N 2 Conocer la Estructura General de un Programa en C++ Estructura de Datos Prof. Egilde Márquez * Un programa en C++ está definido por funciones (grupo de instrucciones que pueden o no hacer

Más detalles

PROGRAMACIÓN EN LENGUAJE C VARIABLES Y CONSTANTES

PROGRAMACIÓN EN LENGUAJE C VARIABLES Y CONSTANTES VARIABLES Y CONSTANTES Variables: Es un espacio reservado en la memoria donde podemos almacenar un valor durante la ejecución de un programa, a dicho espacio se le asocia un nombre (identificador). El

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

Autor: Ing. Nahuel González INTRODUCCIÓN A C. Clase 1

Autor: Ing. Nahuel González INTRODUCCIÓN A C. Clase 1 INTRODUCCIÓN A C Clase 1 Introducción al lenguaje C 1967 1970 1971 1972 1989 BCPL Lenguaje B Pascal 1era versión de C ANSI C Introducción al lenguaje C Librería estandar de C: contiene módulos o funciones

Más detalles

Contenido. P á g i n a 1

Contenido. P á g i n a 1 P á g i n a 1 Contenido Bibliotecas en ANSI C 2 Bibliotecas 2 Archivos Header 2 Funciones Públicas 2 Funciones Privadas 2 Directivas al Preprocesador 2 Caso de Estudio Saludos 4 Biblioteca saludar 4 Biblioteca

Más detalles

1. Presentación del lenguaje C Creado en 1972 por D. Ritchie Lenguaje de propósito general Portátil o transportable (generalmente) Inicialmente de niv

1. Presentación del lenguaje C Creado en 1972 por D. Ritchie Lenguaje de propósito general Portátil o transportable (generalmente) Inicialmente de niv Introducción al lenguaje C Informática Belarmino Pulido Junquera Índice 1. Presentación del lenguaje C 2. Estructura de un programa en C 3. Instrucciones del pre-procesador procesador 4. Tipos de datos

Más detalles

Lic. Diego A. Bottallo Plan de la materia

Lic. Diego A. Bottallo Plan de la materia Lic. Diego A. Bottallo Plan de la materia http://www.fceia.unr.edu.ar/~diegob/plan_sistop.html MAIL diego.bottallo@gmail.com WEB http://www.fceia.unr.edu.ar/~diegob/ Bibliografía Tanenbaum, Andrew - Modernos

Más detalles

Tema 3. Estructuras de control

Tema 3. Estructuras de control Tema 3. Estructuras de control 3.1. Secuencial 3.2. Selección 3.3. Repetición 2 Objetivos Objetivos del tema: Conocer y saber la utilidad de las tres estructuras de control (secuencial, alternativa y repetitiva)

Más detalles

Tema 05: Elementos de un programa en C

Tema 05: Elementos de un programa en C Tema 05: Elementos de un programa en C M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx @edfrancom edgardoadrianfrancom Estructuras de datos (Prof. Edgardo A. Franco) 1

Más detalles

Informática I para Bachillerato

Informática I para Bachillerato CIMAT C/C++ Cadenas de caracteres, I/O. CIMAT Sesión 14 Recordatorio de Cadenas A diferencia de otros lenguajes de programación que emplean un tipo denominado cadena string para manipular un conjunto de

Más detalles

INTRODUCCION AL LENGUAJE C PARA SISTEMAS EMBEBIDOS

INTRODUCCION AL LENGUAJE C PARA SISTEMAS EMBEBIDOS INTRODUCCION AL LENGUAJE C PARA SISTEMAS EMBEBIDOS QUE ES UN SISTEMA EMBEBIDO? Es un sistema electrónico que está contenido dentro de un dispositivo electromecánico y es diseñado para realizar una aplicación

Más detalles

Actividad Algoritmos, Estructura y Programación I. FOR, DO-WHILE

Actividad Algoritmos, Estructura y Programación I. FOR, DO-WHILE Actividad Algoritmos, Estructura y Programación I. FOR, DO-WHILE 1. Qué es un bucle? 2. A que se denomina cuerpo de un bucle? 3. Define iteración de un bucle. 4. Cuál es el cuerpo de un bucle? 5. Qué es

Más detalles

SEMINARIO C++ Introducción a la Programación Orientada a Objetos. Herramientas de programación y Práctica 0 v

SEMINARIO C++ Introducción a la Programación Orientada a Objetos. Herramientas de programación y Práctica 0 v SEMINARIO C++ Introducción a la Programación Orientada a Objetos Herramientas de programación y Práctica 0 v. 20070918 Cristina Cachero Pedro J. Ponce de León Depto. Lenguajes y Sistemas Informáticos -

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

Programación I Teoría I.

Programación I Teoría I. Programación I Teoría I http://proguno.unsl.edu.ar Horarios Teorías: Jueves 8:00 10:00; aula 58 (Bloque 2) Prácticas: Comisión 1: Licenciatura Martes de 10 a 13 en sala 7, bloque 2 jueves de 10 a 13 en

Más detalles

UNIDAD 2 Descripción de un programa

UNIDAD 2 Descripción de un programa Descripción de un programa Estructura general de un programa. Elementos básicos. Tipos de datos simples: enteros, reales y carácter. Representación de datos en memoria. Operaciones sobre tipos de datos

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

Una función es un miniprograma dentro de un programa. Las funciones contienen varias

Una función es un miniprograma dentro de un programa. Las funciones contienen varias TEMA 6. FUNCIONES. Una función es un miniprograma dentro de un programa. Las funciones contienen varias sentencias bajo un solo nombre, que un programa puede utilizar una o más veces para ejecutar dichas

Más detalles

Introducción al lenguaje C

Introducción al lenguaje C Introducción al lenguaje C Programación 2 Profesorado de Informática CeRP del Suroeste, Colonia, Uruguay 15 de marzo de 2016 Programación 2 Introducción al lenguaje C 15 de marzo de 2016 1 / 34 Objetivos

Más detalles

Examen Teórico (1/3 de la nota final)

Examen Teórico (1/3 de la nota final) Examen Teórico (1/3 de la nota final) 105000016 - Programación para Sistemas Grado en Ingeniería Informática (2009) Lenguajes y Sistemas Informáticos e Ingeniería de Software Facultad de Informática Universidad

Más detalles

HISTORIA DE C Creado entre 1972 por Brian Kernighan y Dennis Ritchie para escribir el código del sistema operativo UNIX. A mediados de los ochenta se

HISTORIA DE C Creado entre 1972 por Brian Kernighan y Dennis Ritchie para escribir el código del sistema operativo UNIX. A mediados de los ochenta se LENGUAJE DE PROGRAMACION C Introducción al Lenguaje HISTORIA DE C Creado entre 1972 por Brian Kernighan y Dennis Ritchie para escribir el código del sistema operativo UNIX. A mediados de los ochenta se

Más detalles

Taller de Lenguajes I

Taller de Lenguajes I Taller de Lenguajes I Carrera: Ingeniería en Computación Profesor Responsable: Lanzarini, Laura Año: 2º Duración: Semestral Carga Horaria Semanal: 6hs Carga Horaria Total: 96hs Objetivos Generales Profundizar

Más detalles

1.1 Tipos de Datos Primitivos. 1.2 Tipos de datos estructurados. 1.3 Definición de estructura de datos

1.1 Tipos de Datos Primitivos. 1.2 Tipos de datos estructurados. 1.3 Definición de estructura de datos 1.1 Tipos de Datos Primitivos 1.2 Tipos de datos estructurados 1.2.1 Arreglos unidimensionales, bidimensionales y cadenas de caracteres 1.2.2 Registros o Estructuras (unión y estructura) 1.3 Definición

Más detalles

Introducción a la Programación

Introducción a la Programación Introducción a la Programación Fundamentos de Programación Ingeniería Informática en Sistemas de Información Alicia Troncoso 1 Contenido l Introducción l Mi primer programa l Etapas a seguir en la programación

Más detalles

Apellidos: Nombre: Matrícula: Examen Programación para Sistemas Grado en Ingeniería Informática

Apellidos: Nombre: Matrícula: Examen Programación para Sistemas Grado en Ingeniería Informática Apellidos: Nombre: Matrícula: Examen 105000016 - Programación para Sistemas Grado en Ingeniería Informática Lenguajes y Sistemas Informáticos e Ingeniería de Software Facultad de Informática Universidad

Más detalles

PARTES DE UN PROGRAMA EN C/C++

PARTES DE UN PROGRAMA EN C/C++ 1 PARTES DE UN PROGRAMA EN C/C++ 2 Un Programa Sencillo Considérese el programa transcrito a continuación: 1: #include 2: void main () 3: { 4: cout

Más detalles

INTRODUCCIÓN AL LENGUAJE C

INTRODUCCIÓN AL LENGUAJE C INTRODUCCIÓN AL LENGUAJE C Fundamentos de Informática EUP ULPGC Jose Torres 1 de 36 Historia de C Precursores: muchas ideas provienen de BCPL (Martin Richards, 1967) y de B (Ken Thompson, 1970) C fue diseñado

Más detalles

ARREGLOS UNIDAD 2 PROGRAMACIÓN. Primavera 2009

ARREGLOS UNIDAD 2 PROGRAMACIÓN. Primavera 2009 1 ARREGLOS UNIDAD 2 PROGRAMACIÓN Primavera 2009 Contenido 2 Definición Procesamiento de Arreglos Paso de Parámetro a funciones Cadenas y caracteres Arreglos multidimensionales Introducción 3 Una variable

Más detalles

TP N 14 Compilando C/C++ bajo GNU/Linux

TP N 14 Compilando C/C++ bajo GNU/Linux Taller de GNU/Linux 2003- TP14 - hoja 1/5 Universidad Nacional de La Matanza Ingeniería en Informática-Taller de GNU/Linux 2003 TP N 14 Compilando C/C++ bajo GNU/Linux Objetivos: Utilizar en forma básica

Más detalles

Fundamentos de programación

Fundamentos de programación Fundamentos de programación Estructuras de Control Estructuras de control Estructuras de control Estructura secuencial Estructura alternativa Sentencias if, if else Sentencias if else anidadas El operador

Más detalles

Características. Recordando C. Generación de un programa ejecutable cabeceras. Estructura general de un programa. Elementos de programación.

Características. Recordando C. Generación de un programa ejecutable cabeceras. Estructura general de un programa. Elementos de programación. 2 Características Recordando C Lenguaje de programación estructurada Extremadamente simple Permite generar código pequeño y eficiente Poca comprobación de errores en el compilador (ej. tipado débil, punteros)

Más detalles

7.3. Estructura de un programa

7.3. Estructura de un programa TEMA 7 ALGORITMOS Y PROGRAMAS. ESTRUCTURA DE UN PROGRAMA 7.1. Algoritmos 7.2. Compilación 7.3. Estructura de un programa 7.1. Algoritmos Objetivo: Resolver problemas mediante computadoras (usando el lenguaje

Más detalles

Objetivos. 1. Realizar exitosamente programas que involucren procesos que requieran iteraciones. Antecedentes

Objetivos. 1. Realizar exitosamente programas que involucren procesos que requieran iteraciones. Antecedentes Objetivos a) El alumno conocerá las tres formas básicas existentes en C para realizar iteraciones y aprenderá a manejar las sentencias while, do-while y for. b) El alumno comprenderá la importancia que

Más detalles

REPRESENTACIÓN DE DATOS

REPRESENTACIÓN DE DATOS REPRESENTACIÓN DE DATOS Tipos de datos primitivos Tipos de Datos Estructurados TIPOS DE DATOS SIMPLES O PRIMITIVOS Dato Longitud Rango 2 TIPOS DE DATOS SIMPLES O PRIMITIVOS Surgen de la necesidad de tener

Más detalles

Programación Orientada a Objetos en C++

Programación Orientada a Objetos en C++ Unidad I Programación Orientada a Objetos en C++ Programación Orientada a Objetos en C++ Programación I - 0416202 Contenido Esta lección abarca los siguientes temas: Estructura y declaración de una clase

Más detalles

Lenguaje C Preprocesador, Compilación y Enlazado.

Lenguaje C Preprocesador, Compilación y Enlazado. Lenguaje C Preprocesador, Compilación y Enlazado. Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia Directivas de Compilación Las directivas

Más detalles

TEMA 2. LENGUAJE C. CONCEPTOS BÁSICOS Y PROGRAMACIÓN ELEMENTAL.

TEMA 2. LENGUAJE C. CONCEPTOS BÁSICOS Y PROGRAMACIÓN ELEMENTAL. Tema 2. TEMA 2. LENGUAJE C. CONCEPTOS BÁSICOS Y PROGRAMACIÓN ELEMENTAL. PARTE : VARIABLES, OPERADORES Y CONSTANTES.. INTRODUCCIÓN AL LENGUAJE C 2. PROGRAMAS BÁSICOS EN LENGUAJE C 3. DATOS EN LENGUAJE C

Más detalles

Informática PRÀCTICA 2 Curs

Informática PRÀCTICA 2 Curs Práctica Nº 2: Estructura general de un programa en C/C++. Introducción a las funciones de Entrada y salida en C++ (cin y cout) sin formato. Objetivos de la práctica: - Presentar la estructura general

Más detalles

Práctica No. 4 Programas en Lex

Práctica No. 4 Programas en Lex Práctica No. 4 Programas en Lex Objetivo El objetivo de esta práctica es conocer el programa flex y utilizarlo para crear y compilar algunos ejemplos de programas Lex autónomos. Introducción Podemos definir

Más detalles

CAPITULO 2: VARIABLES Y CONSTANTES

CAPITULO 2: VARIABLES Y CONSTANTES CAPITULO 2: VARIABLES Y CONSTANTES 1. TIPOS DE DATOS. Existen cinco tipos de datos atómicos en C; char: carácter, int: entero, float: real coma flotante, double: real de doble precisión y void: sin valor.

Más detalles

PROGRAMACIÓN N C++ CONSTRUCTORES PROG.C++ L11 CONSTRUCTORES DEL LENGUAJE

PROGRAMACIÓN N C++ CONSTRUCTORES PROG.C++ L11 CONSTRUCTORES DEL LENGUAJE L11 CONSTRUCTORES DEL LENGUAJE CLASES class { } PLANTILLAS template { } ESPACIOS DE NOMBRES namespace { } EXCEPCIONES try catch.. SOBRECARGA DE OPERADORES operator (parametros) BIBLIOTECA

Más detalles

FUNDAMENTOS PARA LA CONSTRUCCIÓN DEL CÓDIGO A PARTIR DEL ALGORITMO

FUNDAMENTOS PARA LA CONSTRUCCIÓN DEL CÓDIGO A PARTIR DEL ALGORITMO FUNDAMENTOS PARA LA CONSTRUCCIÓN DEL CÓDIGO A PARTIR DEL ALGORITMO 3.2 Variables, tipos, expresiones y asignación 3.3 Estructuras de control condicional e iterativo. MODIFICADORES DE ALCANCE CONST Y STATIC

Más detalles

TEMA 2. EL LENGUAJE C. ELEMENTOS BÁSICOS

TEMA 2. EL LENGUAJE C. ELEMENTOS BÁSICOS TEMA 2. EL LENGUAJE C. ELEMENTOS BÁSICOS Una vez que ya sabes crear tus propios programas, vamos a analizar los fundamentos del lenguaje de programación C. Este capítulo incluye además los siguientes temas:

Más detalles

Guía básica de programación en C++ estructurado. Manejo básico de la parte estructurada de C++

Guía básica de programación en C++ estructurado. Manejo básico de la parte estructurada de C++ Guía básica de programación en C++ estructurado Manejo básico de la parte estructurada de C++ 1 Introducción Durante el curso, se empleará el lenguaje de programación C++. Este lenguaje de programación

Más detalles

Capitulo 2. Programación Modular

Capitulo 2. Programación Modular Capitulo 2. Programación Modular Consiste en dividir un programa en módulos o subprogramas con el fin de hacerlo más legible y manejable. Se presenta históricamente como una evolución de la programación

Más detalles

abril de 2017 Desarrollo de aplicaciones en Java Tipos de datos primitivos Tipos de datos Elementos de aplicaciones simples

abril de 2017 Desarrollo de aplicaciones en Java Tipos de datos primitivos Tipos de datos Elementos de aplicaciones simples Desarrollo de aplicaciones en Java Generación de código fuente Compilación Ejecución Elementos de aplicaciones simples EII147-01-02 Introducción a las tecnologías de información Escuela de Ingeniería Industrial

Más detalles

Sentencias iterativas

Sentencias iterativas Sentencias iterativas 1. Objetivos Al finalizar esta actividad, serás capaz de: 1. Utilizar adecuadamente la sentencia while para generar la repetición en la ejecución de grupos de sentencias 2. Motivación

Más detalles

Procesadores de lenguaje Tema 8 Generación de código y optimización

Procesadores de lenguaje Tema 8 Generación de código y optimización Procesadores de lenguaje Tema 8 Generación de código y optimización Departamento de Ciencias de la Computación Universidad de Alcalá Resumen Tipos de código objeto Operaciones básicas en la generación

Más detalles

Estructuración del programa en partes más pequeñas y sencillas

Estructuración del programa en partes más pequeñas y sencillas Introducción Estructuración del programa en partes más pequeñas y sencillas Modularización Propósito único Identificable Reusable Mayor claridad: programación, depuración, etc. Construcción de librerías

Más detalles

Tutorial Configuración del entorno de compilación de lenguage C en ambientes Windows Utilizando Visual Studio

Tutorial Configuración del entorno de compilación de lenguage C en ambientes Windows Utilizando Visual Studio Tutorial Configuración del entorno de compilación de lenguage C en ambientes Windows Utilizando Visual Studio 1 Configuración del entorno Inserte un disco con Microsoft Visual Studio 2008 Express Edition

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

Funciones en lenguaje C

Funciones en lenguaje C Funciones en lenguaje C Funciones Definición: Las funciones son los bloques de construcción básicos de C. Dentro de ellas se da toda la actividad del programa. Criterios para crearlas: Se usa la estrategia

Más detalles

05 Funciones en lenguaje C. Diego Andrés Alvarez Marín Profesor Asociado Universidad Nacional de Colombia Sede Manizales

05 Funciones en lenguaje C. Diego Andrés Alvarez Marín Profesor Asociado Universidad Nacional de Colombia Sede Manizales 05 Funciones en lenguaje C Diego Andrés Alvarez Marín Profesor Asociado Universidad Nacional de Colombia Sede Manizales 1 Temario Programación funcional Declaración (prototipos) y definición de funciones

Más detalles

1. Repaso del Lenguaje C M.C. Luis A. Zarza López

1. Repaso del Lenguaje C M.C. Luis A. Zarza López 1. Repaso del Lenguaje C M.C. Luis A. Zarza López Graficación por Computadora Universidad Tecnológica de la Mixteca Julio de 2016 Introducción El lenguaje C fue desarrollado en la década de 1970 en el

Más detalles

Funciones como Subprogramas en C++

Funciones como Subprogramas en C++ FUNCIONES Cuando es necesario escribir programas complicados para resolver problemas complejos, una práctica común entre los programadores es descomponer el algoritmo (el diagrama de flujo) en varias partes.

Más detalles

Introducción general al Lenguaje C (2010/2011)

Introducción general al Lenguaje C (2010/2011) Luis Valencia Cabrera lvalencia@us.es (http://www.cs.us.es/~lvalencia) Ciencias de la Computacion e IA (http://www.cs.us.es/) Introducción general al Lenguaje C (2010/2011) Universidad de Sevilla Índice

Más detalles

Lenguaje de programación C. Introducción

Lenguaje de programación C. Introducción Lenguaje de programación C Introducción 1 Elementos del lenguaje C Colección de funciones Estas funciones contienen declaraciones, sentencias, expresiones y otros elementos que en conjunto indican a la

Más detalles

Objetivo 2.. ESTRUCTURAS DE DATOS. Docente. Yesika Medina

Objetivo 2.. ESTRUCTURAS DE DATOS.    Docente. Yesika Medina Objetivo 2.. ESTRUCTURAS DE DATOS. E-mail: ing.yesikamedina@hotmail.com http://yesikamedina.wordpress.com Docente. Yesika Medina Lenguaje C. C es un lenguaje de programación que contiene excelentes características

Más detalles

Interfaces & Make. Esp. Ing. José María Sola, profesor. Revisión Abr 2017

Interfaces & Make. Esp. Ing. José María Sola, profesor. Revisión Abr 2017 Interfaces & Make Esp. Ing. José María Sola, profesor. Revisión 2.1.0 Abr 2017 Tabla de contenidos 1. Introducción... 1 2. Abstracciones e Interfaces... 3 3. Interfaces en el Lenguaje C y Derivados...

Más detalles

Formatos para prácticas de laboratorio

Formatos para prácticas de laboratorio CARRERA TRONCO COMÚN PLAN DE ESTUDIO CLAVE ASIGNATURA NOMBRE DE LA ASIGNATURA 2003-1 5320 PROGRAMACIÓN PRÁCTICA No. PRAC-08 LABORATORIO DE NOMBRE DE LA PRÁCTICA Ciencias Básicas (Programación) DURACIÓN

Más detalles

Laboratorio de Arquitectura de Redes. Introducción al lenguaje C

Laboratorio de Arquitectura de Redes. Introducción al lenguaje C Laboratorio de Arquitectura de Redes Introducción al lenguaje C Introducción al lenguaje C Introducción Características del lenguaje C Funciones en C Identificadores o etiquetas Las librerías y el linkado

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

Lenguaje de Programación: C++ Funciones

Lenguaje de Programación: C++ Funciones UG C++ Lenguaje de Programación: C++ Universidad de Guanajuato Septiembre 2010 Lenguaje de Programación: C++ sobrecargadas C++, a diferencia del C estándar, permite declarar funciones con el mismo nombre

Más detalles

Estructura de un programa. Algoritmos - Universidad Francisco de Vitoria 2

Estructura de un programa. Algoritmos - Universidad Francisco de Vitoria 2 Algoritmos TEMA 2 Estructura de un programa Algoritmos - Universidad Francisco de Vitoria 2 Hola Mundo! #include main() { /* mi primer programa en C */ printf( "Hola Mundo!" ); } Algoritmos -

Más detalles

U.A.B.C. Facultad de Ingeniería Programación Estructurada UNIDAD III

U.A.B.C. Facultad de Ingeniería Programación Estructurada UNIDAD III UNIDAD III Funciones 3.1 Forma general de una función. C fué diseñado como un lenguaje de programación estructurado, también llamado programación modular. Por esta razón, para escribir un programa se divide

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 Introducción al lenguaje C V1.2 Introducción al lenguaje C Introducción Características del lenguaje C Funciones en C Identificadores o etiquetas

Más detalles

Introducción al lenguaje C

Introducción al lenguaje C Introducción al lenguaje C Programación 2 Instituto de Computación, Facultad de Ingeniería, Universidad de la República, Uruguay 2 de marzo de 2016 Programación 2 Introducción al lenguaje C 2 de marzo

Más detalles

Formatos para prácticas de laboratorio

Formatos para prácticas de laboratorio Fecha de efectividad: CARRERA PLAN DE ESTUDIO CLAVE ASIGNATURA NOMBRE DE LA ASIGNATURA TRONCO COMÚN 2009-2 11214 PROGRAMACIÓN PRÁCTICA No. LABORATORIO DE PROGRAMACIÓN DURACIÓN (HORA) 9 NOMBRE DE LA PRÁCTICA

Más detalles

Introducción a c++ Introducción a la programación EIS Informática III

Introducción a c++ Introducción a la programación EIS Informática III Introducción a c++ Un lenguaje de programación es un lenguaje formal diseñado para realizar procesos que pueden ser llevados a cabo por máquinas como las computadoras. Pueden usarse para crear programas

Más detalles

CONDICIONALES SWITCH CASE DEFAULT BREAK EN C. ELEGIR ENTRE VARIAS OPCIONES. EJEMPLO. (CU00532F)

CONDICIONALES SWITCH CASE DEFAULT BREAK EN C. ELEGIR ENTRE VARIAS OPCIONES. EJEMPLO. (CU00532F) APRENDERAPROGRAMAR.COM CONDICIONALES SWITCH CASE DEFAULT BREAK EN C. ELEGIR ENTRE VARIAS OPCIONES. EJEMPLO. (CU00532F) Sección: Cursos Categoría: Curso básico de programación en lenguaje C desde cero Fecha

Más detalles

Cuales son los tipos de instrucciones que se utilizan en la programación?

Cuales son los tipos de instrucciones que se utilizan en la programación? EXAMEN NIVEL PREUNI/UNI Cuales son los tipos de instrucciones que se utilizan en la programación? a) Instrucciones afirmativas e instrucciones negativas b) Instrucciones entrada, instrucciones afirmativas

Más detalles

09/02/2016 ET1032 ET1032. Informática Industrial. Informática Industrial. Hacer programas 1. Hacer programas 2

09/02/2016 ET1032 ET1032. Informática Industrial. Informática Industrial. Hacer programas 1. Hacer programas 2 Hacer programas 1 Hacer programas 2 1 Hacer programas 3 Hacer programas 4 2 Hacer programas 5 Hacer programas 6 3 Hacer programas 7 Hacer programas 8 4 Hacer programas 9 Hacer programas 10 5 Hacer programas

Más detalles

ET1032. Informática Industrial. Hacer programas 1

ET1032. Informática Industrial. Hacer programas 1 Hacer programas 1 Hacer programas 2 Hacer programas 3 Hacer programas 4 Hacer programas 5 Hacer programas 6 Hacer programas 7 Hacer programas 8 Hacer programas 9 Hacer programas 10 Hacer programas 11 Hacer

Más detalles

PUNTEROS (APUNTADORES)

PUNTEROS (APUNTADORES) 2010 UNAN LEON Departamento de Computación Ing. En Sistemas Sabatino Autor: Ing: Karina Esquivel Alvarado. Asignatura: Algoritmo y Estructura de Datos. PUNTEROS (APUNTADORES) TEMA 4: PUNTEROS (APUNTADORES)

Más detalles

Formatos para prácticas de laboratorio

Formatos para prácticas de laboratorio CARRERA PLAN DE ESTUDIO CLAVE ASIGNATURA NOMBRE DE LA ASIGNATURA Tronco Común 2009-2 11214 Programación PRÁCTICA No. 3 LABORATORIO DE NOMBRE DE LA PRÁCTICA Programación DURACIÓN (HORAS) Salida de Datos

Más detalles

Tema 2 Elementos básicos en C

Tema 2 Elementos básicos en C Tema 2 Elementos básicos en C Tema 2.- Elementos básicos 2.1. Estructura general de un programa 2.2. Tipos de datos simples 2.3. Funciones de entrada / salida 2.1 Estructura de un programa 2.1 Estructura

Más detalles