Diagrama de transiciones del autómata. Tabla de transiciones
|
|
- Ramón Aguilera Palma
- hace 6 años
- Vistas:
Transcripción
1 Universidad Nacional Autónoma de México Facultad de Ingeniería Compiladores Grupo 4, Semestre Analizador Léxico en C Diagrama de transiciones del autómata letra letra e e 2 espacio Tabla de transiciones edo letra e espacio
2 Código para el afd 1. Archivo afd.h 1 /* 2 * File : afd.h 3 * Author : Ulises Mercado Martinez 4 * 5 * Created on 19 de septiembre de 2015, 09:05 PM 6 */ 8 # ifndef AFD_H 9 # define AFD_H # include " linkedlist. h" # ifdef cplusplus 14 extern "C" { 15 # endif 16 1 struct Token { 18 int clase ; 19 char * lexema ; 20 int pos ; 21 }; typedef struct Token TOKEN ; // Variable que mantiene los valores del token actual 26 TOKEN yylval ; 2 28 // Archivo de entrada 29 FILE * yyin ; List * tabla_simbolos ; // Funcion que devuleve los tokens 36 int yylex (); 3 38 // Funcion para abrir un archivo 39 int openfile ( char * nombre ); // Funcion para leer el siguiente caracter de la entrada 42 char next_char (); // Funcion que mapea los caracteres de la entrada a las columnas del 45 // tabla de transiciones 46 int chartoint ( char c); 4 48 // Funcion para ejecutar las acciones de los estados de aceptacion 49 int ejecutar ( int edo, char * buff ); // Funcion que reporta errores 52 void yyerror ( char * s); # ifdef cplusplus 58 } 59 # endif # endif /* AFD_H */ 2
3 2. Arachivo afd.c 1 # include <stdio.h> 2 # include < string.h> 3 # include <ctype.h> 4 # include " afd.h" // Variable contadora de lineas 11 int yylineno =1; // Tabla de transiciones del automata 14 int transiciones [8][5] ={ 15 { 1, 2, 3, 1, }, 16 { 1, 1, -1, 1, -1}, 1 {-1, 2, 3, 5, -1}, 18 {-1, 4, -1, -1, -1}, 19 {-1, 4, -1, 5, -1}, 20 {-1, 6, -1, -1, -1}, 21 {-1, 6, -1, -1, -1}, 22 {-1, -1, -1, -1, -1} 23 }; int final [] = {-1, 1,1, -1, 1, -1, 1,1}; 26 2 int yylex (){ 28 // printf (" entrando a yylex \n ") ; 29 int estado = 0; 30 char * buffer ; 31 int ultimo_final = -1; 32 char * ultimo_lexema ; 33 char c; 34 c = next_char (); // Asignando una longitud inicial al buffer 3 buffer = ( char *) malloc (2* sizeof ( char )); while (c!= EOF ){ 41 int cc = chartoint ( c); 42 if( transiciones [ estado ][ cc ]!= -1){ 43 estado = transiciones [ estado ][ cc ]; 44 char tmp2 [2] = {c, \0 }; 45 strcat ( buffer, tmp2 ); 46 4 // printf ("% s\n", buffer ); 48 c = next_char (); 49 if( final [ estado ]!= -1) { 50 ultimo_final = estado ; 51 } 52 } else { 53 if( ultimo_final!= -1) { 54 int t = ejecutar ( estado, buffer ); 55 if( t == -1){ 56 estado = 0; 5 free ( buffer ); 58 ultimo_final = -1; 59 } else { 60 free ( buffer ); 61 return t; 62 } } else { 65 free ( buffer ); 66 yyerror ( buffer ); 6 return -1; 68 } 69 } 0 } 3
4 1 printf (" Se encontro el fin de archivo \ n"); 2 return 0; 3 } 4 5 int openfile ( char * nombre ){ 6 yyin = fopen ( nombre, "r"); } 8 9 char next_char (){ 80 return getc ( yyin ); 81 } int chartoint ( char c){ 84 // para separar las letras de la e 85 if(c== e ){ 86 return 3; 8 } else if( isalpha (c)){ 88 return 0; 89 } else if( isdigit (c)){ 90 return 1; 91 } else if(c ==. ){ 92 return 2; 93 } else if(c== c== \t c== \r ){ 94 return 4; 95 } else if(c== \n ){ 96 yylineno ++; 9 return 4; 98 } 99 } int ejecutar ( int edo, char * buff ){ 102 int tok ; 103 int len ; 104 switch ( edo ){ 105 case 1: 106 yylval. clase = 1; 10 len = strlen ( buff ); 108 yylval. lexema = ( char *) realloc ( yylval. lexema, len * sizeof ( char ) ); 109 strcpy ( yylval. lexema, buff ); 110 yylval. pos = insert_end ( yylval. lexema, yylval. clase, tabla_simbolos ); 111 tok = 1; 112 break ; 113 case 2: 114 yylval. clase = 2; 115 len = strlen ( buff ); 116 yylval. lexema = ( char *) realloc ( yylval. lexema, len * sizeof ( char ) ); 11 strcpy ( yylval. lexema, buff ); 118 tok = 2; 119 break ; 120 case 4: 121 case 6: 122 yylval. clase = 3; 123 len = strlen ( buff ); 124 yylval. lexema = ( char *) realloc ( yylval. lexema, len * sizeof ( char ) ); 125 strcpy ( yylval. lexema, buff ); 126 tok = 3; 12 break ; case : 130 tok = 4; 131 break ; 132 default : 133 tok = -1; 134 break ; 135 } 136 if( tok == 5 tok == -1) return tok ; 13 printf (" Se encontro un token : clase = %d, lexema = % s\ n", 4
5 138 return tok ; 139 } void yyerror ( char * s){ yylval. clase, yylval. lexema ); 142 printf (" ocurrio un error en la linea %d, con el lexema : % s\ n", yylineno, s); 143 } 3. Archivo linkedlist.h para manejar la tabla de símbolos como lista ligada 1 /* 2 * File : Nodo.h 3 * Author : Ulises Mercado Martinez > 4 * 5 * Created on 13 de abril de 2015, 20:26 6 */ 8 # ifndef LINKED_LIST_H 9 # define LINKED_LIST_H # ifdef cplusplus 12 extern "C" { 13 # endif struct Data { 16 char * val ; 1 int clase ; 18 }; typedef struct Data Data ; 21 typedef struct Nodo Nodo ; struct Nodo { 24 Data data ; 25 Nodo * next ; 26 }; struct LinkedList { 31 Nodo * root ; 32 int num ; 33 }; typedef struct LinkedList List ; Nodo * crea_nodo ( char * val, int clase ); 39 void init_list ( List * list ); 40 int insert_empty ( char * val, int clase, List * list ); 41 int insert_head ( char * val, int clase, List * list ); 42 int insert_end ( char * val, int clase, List * list ); 43 int search ( char * str, List * list ); 44 void empty_list ( List * list ); 45 void delete_nodo ( Nodo * next ); 46 void print ( List * list ); 4 48 # ifdef cplusplus 49 } 50 # endif # endif 5
6 4. Aquí se implementan todas las funciones para la lista ligada 1 # include " linkedlist. h" 2 # include < string.h> 3 # include <stdio.h> Nodo * crea_nodo ( char * val, int clase ){ Nodo * newnod =( Nodo *) malloc ( sizeof ( Nodo )); 8 int len = strlen ( val ); 9 newnod -> data. val = malloc ( len * sizeof ( char )); 10 strcpy ( newnod -> data.val, val ); 11 newnod -> data. clase = clase ; 12 newnod -> next = NULL ; 13 return newnod ; 14 } void init_list ( List * list ){ 1 list -> root = NULL ; 18 list -> num = 0; 19 } int insert_empty ( char * val, int clase, List * list ) 22 { 23 Nodo * newnod = crea_nodo ( val, clase ); 24 list -> root = newnod ; 25 list -> num ++; 26 return list - > num -1; 2 } int insert_begin ( char * val, int clase, List * list ) 30 { 31 int pos = search (val, list ); 32 if(pos!= -1) { 33 return pos ; 34 } Nodo * newtmp = crea_nodo (val, clase ); 3 Nodo * tmp = list -> root ; if(list -> root == NULL ){ 40 list -> root = newtmp ; 41 } else { 42 newtmp -> next = list -> root ; 43 list -> root = newtmp ; } 46 list -> num ++; 4 return list - >num -1; 48 } int insert_end ( char * val, int clase, List * list ) 51 { 52 int pos = search (val, list ); 53 if(pos!= -1) { 54 return pos ; 55 } Nodo * newtmp = crea_nodo ( val, clase ); 59 Nodo * tmp = list -> root ; if (! list -> root ){ 62 list -> root = newtmp ; 63 } else { 64 while (tmp -> next!= NULL ){ 65 tmp = tmp -> next ; 66 } 6 tmp -> next = newtmp ; 68 } 69 list -> num ++; 0 return list - >num -1; 6
7 1 } 2 3 int search ( char * str, List * list ) 4 { 5 Nodo * tmp = list -> root ; 6 int pos = 0; 8 while ( tmp ){ 9 if( strcmp (tmp -> data.val, str ) ==0) { 80 return pos ; 81 } 82 tmp = tmp -> next ; 83 pos ++; 84 } 85 return -1; 86 } void empty_list ( List * list ) 90 { 91 delete_nodo (list -> root ); 92 list -> num = 0; 93 } void delete_nodo ( Nodo * next ) 96 { 9 if(next -> next!= NULL ){ 98 delete_nodo (next -> next ); 99 } 100 free ( next ); 101 } void print ( List * list ){ 105 Nodo * tmp = list - > root ; while ( tmp!= NULL ){ 108 printf (" Clase : %d, valor :%s\n",tmp -> data. clase,tmp -> data. val ); 109 tmp = tmp -> next ; 110 } 111 } 5. Finalmente el código para main. 1 /* 2 * File : main.c 3 * Author : Ulises Mercado Martinez 4 * 5 * Created on 19 de septiembre de 2015, 09:04 PM 6 */ 8 # include <stdio.h> 9 # include < stdlib.h> 10 # include " linkedlist. h" 11 # include " afd.h" /* 16 * 1 */ 18 int main ( int argc, char ** argv ) { 19 printf (" entrando a main \n"); if( argc > 1) { // printf (" abriendo el archivo \n ") ; 24 openfile ( argv [1]) ; if (! yyin ) {
8 2 fprintf ( stderr, " No se puede abrir el archivo % s \ n", argv [1]) ; 28 exit (1) ; 29 } 30 tabla_simbolos = ( List *) malloc ( sizeof ( List )); while ( yylex ()!=0) {} printf (" La tabla de simbolos es: \ n"); 35 print ( tabla_simbolos ); 36 3 empty_list ( tabla_simbolos ); free ( yylval. lexema ); } return ( EXIT_SUCCESS ); 44 } 8
EDITRAN/TR. Windows/Unix. Manual de referencia
EDITRAN/TR Windows/Unix Manual de referencia INDRA 30 de octubre de 2014 ÍNDICE 1. INTRODUCCIÓN.... 1-1 2. INTERFAZ DE PROGRAMACIÓN.... 2-1 2.1. DESCRIPCION... 2-1 2.2. FUNCIONES DE ENVIO Y RECEPCION...
Más detallesGenerador 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 detallesInstituto Politécnico Nacional
Instituto Politécnico Nacional Secretaria Académica Dirección de Estudios Profesionales Escuela Superior de Ingeniería Mecánica y Eléctrica Unidad Culhuacan Ingeniería en Comunicaciones y Electrónica Academia
Más detallesEl 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 detallesLENGUAJE. 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 detallesPunteros. 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 detallesExamen Principios de Programación Febrero 2012
Por favor siga las siguientes indicaciones: Escriba con lápiz. Escriba su nombre y número de documento en todas las hojas que entregue. Numere las hojas e indique el total de hojas en la primera de ellas.
Más detallesUna Herramienta para el Análisis Léxico: Lex
Una Herramienta para el Análisis Léxico: Lex Alejandro Viloria Lanero (aviloria@infor.uva.es) Teoría de Autómatas y Lenguajes Formales Universidad de Valladolid Como hemos ido viendo, el shell de los sistemas
Más detallesARCHIVOS. 1. Introducción. 2. Definición de archivo. 3. Archivos de acceso secuencial. 4. Gestión de un archivo secuencial de estructuras
ARCHIVOS 1. Introducción 2. Definición de archivo 3. Archivos de acceso secuencial 3.1. fopen 3.2. fclose 3.3. fcloseall 3.4. putc 3.5. getc 3.6. fscanf 3.7. fprintf 4. Gestión de un archivo secuencial
Más detallesTaller de Sistemas Operativos Introducción
Taller de Sistemas Operativos Introducción Escuela de Ingeniería Civil en Informática Universidad de Valparaíso, Chile http:// Conceptos generales 2 Proceso stdin Descriptor Flujo (FILE*) 0 stdout 1 Proceso
Más detallesAho, A.V., Sethi, R., Ullman, J.D. (1990), Compiladores: principios, técnicas y herramientas, Tema 3, páginas: 85-158.
Tema 2 Análisis Léxico Bibliografía: Aho, A.V., Sethi, R., Ullman, J.D. (1990), Compiladores: principios, técnicas y herramientas, Tema 3, páginas: 85-158. Louden, K.C. (1997), Compiler Construction: Principles
Más detallesPrueba de Laboratorio Modelo B01 Semáforos y Memoria Compartida
Prueba de Laboratorio APELLIDOS: NOMBRE: GRUPO DE LABORATORIO: Indicaciones: No se permiten libros, apuntes ni teléfonos móviles. Cuando tenga una solución al ejercicio muéstrela al profesor (compilación
Más detallesEsquema 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 detallesINTRODUCCIÓN AL TIPO COMPUESTO CADENA CONTENIDOS
CONTENIDOS 1. Introducción a las cadenas 2. Definición 3. Declaración de cadenas 4. Inicialización de cadenas 5. Escritura y Lectura de datos tipo cadena 6. Funciones de manipulación de cadenas 7. Arrays
Más detallesUniversidad de Pamplona Materia: Programación 1 Docente: Ing. Lusbin Raúl Vargas LENGUAJE C ESTRUCTURA DE UN PROGRAMA EN C
Universidad de Pamplona Materia: Programación 1 Docente: Ing. Lusbin Raúl Vargas LENGUAJE C ESTRUCTURA DE UN PROGRAMA EN C Directivas del procesador Main() { Declaraciones Definiciones proposiciones }
Más detallesProgramación Estructurada
Programación Estructurada PROGRAMACIÓN ESTRUCTURADA 1 Sesión No. 11 Nombre: Manejo de archivos Contextualización En los lenguajes de programación estructurada como C, que carecían de una conexión a base
Más detallesModelos de Computación I. Ingeniería Informática
Prácticas Pag. 1 Modelos de Computación I Ingeniería Informática Práctica 1 Lex como localizador de expresiones regulares con acciones asociadas Curso 2008-2009 Profesores: Carlos J. Mantas Ruiz Aida Jiménez
Más detallesReglas básicas de la programación en lenguaje C
0. Introducción Reglas básicas de la programación en lenguaje C ISO - SO Departament d'arquitectura de Computadors Universitat Politècnica de Catalunya C es un lenguaje de programación de propósito general.
Más detallesUniversidad Simón Bolívar Departamento de Computación y Tecnología de la Información Curso de Redes I CI-4815 Trimestre Septiembre Diciembre 2013
Universidad Simón Bolívar Departamento de Computación y Tecnología de la Información Curso de Redes I CI-4815 Trimestre Septiembre Diciembre 2013 Proyecto I Autores: Lairon Acosta. Carnet: 09-10927 Jueves
Más detallesFundamentos 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 detallesLenguajes de programación LPSI EUI UPM CADENAS DE CARACTERES
CADENAS DE CARACTERES Arrays unidimensionales de caracteres \0 es el carácter nulo Toda cadena debe acabar en \0 Lo que hay después de \0 en el array no se considera parte de la cadena Las cadenas constantes
Más detallesElementos 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 detallesHoja técnica sobre yacc 1 y lex 2. Introducción. lex PL, 2014/2015 1
PL, 2014/2015 1 Introducción Hoja técnica sobre yacc 1 y lex 2 Los programas yacc y lex son herramientas de gran utilidad para un diseñador de compiladores. Muchos compiladores se han construido utilizando
Más detallesEl lenguaje C: Elementos básicos del lenguaje
Facultad de Ciencias Exactas, Ingeniería y Agrimensura Departamento de Sistemas e Informática Escuela de Electrónica Informática II El lenguaje C: Elementos básicos del lenguaje Este material debe utilizarse
Más detallesFILE *nombre_puntero_fichero; fopen(char_nombre_archivo,char_modo_apertura ); MODOS DE APERTURA. Abre un archivo de texto para lectura.
FICHEROS El sistema de archivos de C está diseñado para secuencias que son independientes del dispositivo. Existen dos tipos se secuencias: de texto que es una ristra de caracteres organizados en líneas
Más detallesLenguaje 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 detallessockets Flujo (SOCK_STREAM) Comunicación bidireccional Confiable (entrega garantizada) Información ordenada en el destino Datagrama (SOCK_DGRAM)
s s Comunicación punto-a-punto entre procesos Los s son los extremos de la comunicación Diferentes dominios UNIX: Entre procesos de un mismo equipo Internet: Entre procesos de diferentes equipos (TCP/IP)
Más detallesCadena de caracteres. 1. Fundamentos de cadenas y caracteres
1. Fundamentos de cadenas y caracteres Cadena de caracteres Los caracteres son bloques de construcción fundamentales para los programas fuente. Un programa puede contener constantes de carácter. Una constante
Más detallesSe guardan en archivos con extencion c y los cabezales con extension h
Se guardan en archivos con extencion c y los cabezales con extension h Tipos de Variables: Tipo Tamaño(bytes) Limite inferior Limite superior char 1 -- -- unsigned char 1 0 255 short int 2-32768 +32767
Más detalles//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 detallesTema: INTÉRPRETE ENSAMPOCO/3
Compiladores. Guía 11 1 Facultad: Ingeniería Escuela: Computación Asignatura: Compiladores Tema: INTÉRPRETE ENSAMPOCO/3 Contenido En esta práctica se desarrollará un intérprete de lenguaje ENSAMPOCO/3
Más detallesPROGRAMACIÓ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 detallesTema 7 Vectores y cadenas de caracteres. Fundamentos de Informática
Tema 7 Fundamentos de Informática Índice 1. Qué es un vector? 2. Vectores unidimensionales 3. Cadenas de caracteres 4. Paso de vectores unidimensionales a funciones. 5. Vectores multidimensionales: matrices
Más detallesUso 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 detallesTEMA 4. ELEMENTOS BÁSICOS DE PROGRAMACIÓN
TEMA 4. ELEMENTOS BÁSICOS DE PROGRAMACIÓN 4.1 Definiciones y palabras reservadas básicas del C El lenguaje C++ está compuesto por: 32 palabras clave (estándar ANSI), comunes a todos los compiladores de
Más detallesEstructuras de Datos Declaraciones Tipos de Datos
Departamento de Informática Universidad Técnica Federico Santa María Estructuras de Datos Declaraciones Tipos de Datos Temas: 2-3-4 IWI-131, paralelo 01 Profesor: Teddy Alfaro O. Lenguaje de Programación
Más detallesFUNDAMENTOS DE PROGRAMACIÓN
FUNDAMENTOS DE PROGRAMACIÓN Sabino Miranda Jiménez Universidad Autónoma del Estado de México (UAEM) Apuntadores (1) Un apuntador es una variable que contiene la dirección de una ora variable Generan código
Más detallesEl Lenguaje de Programación C (Pt. 2) Organización de Computadoras Depto. Cs. e Ing. de la Comp. Universidad Nacional del Sur
El Lenguaje de Programación C (Pt. 2) Organización de Computadoras Depto. Cs. e Ing. de la Comp. Universidad Nacional del Sur Organización de Computadoras 2 Copyright Copyright 2011-2015 A. G. Stankevicius
Más detallesLENGUAJE ANSI C Guía de referencia
Apéndice W2 LENGUAJE ANSI C Guía de referencia C.1. Elementos básicos de un programa El lenguaje C fue desarrollado en Bell laboratories para su uso en investigación y se caracteriza por un gran número
Más detallesProgramació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 detallesVariables. Una variable no es más que un nombre simbólico que identifica una dirección de memoria: vs.
Variables Una variable no es más que un nombre simbólico que identifica una dirección de memoria: Suma el contenido de la posición 3001 y la 3002 y lo almacenas en la posición 3003 vs. total = cantidad1
Más detallesEl 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 detalles1. Cuestiones. Ejercicios resueltos de C. Diego Rodríguez-Losada 1. //a) #include <stdio.h> main( ) { int x = 0, y = 0; //b) #include <stdio.
1. Cuestiones Enunciado Febrero 04. Ejercicio Tercero. (2 puntos 30 minutos) Resolver los siguientes problemas indicando, en la parte inferior, cual es el resultado de cada programa. En caso de que el
Más detallesProgramación en lenguaje C
1 Introducción UNIVERSIDAD NACIONAL ANDRÉS BELLO Programación en lenguaje C Lenguaje de programación creado en 1972 por Dennis Ritchie, es la evolución del lenguaje de programación B. Linux, kernel del
Más detallesTema 13: Apuntadores en C
Tema 13: Apuntadores 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 Contenido Introducción
Más detallesTema 2: La clase string
: string Programación 2 Curso 2013-2014 Índice 1 Cadenas de caracteres en C 2 Entrada / salida 3 entre vectores de caracteres y string 4 5 Cadenas de caracteres en C En C, las cadenas de caracteres tienen
Más detallesMemoria Dinámica. Jornadas de Marzo 2010 Grupo de Usuarios de Linux Tania Pérez
Jornadas de Marzo 2010 Grupo de Usuarios de Linux Tania Pérez 1. PUNTEROS 2. MEMORIA DINÁMICA 2 1. PUNTEROS 3 Qué es un puntero? Un tipo de variable cuyo valor es la dirección de memoria de otra variable.
Más detallesTEMA 3: EL LENGUAJE C: PRESENTACIÓN
TEMA 3: EL LENGUAJE C: PRESENTACIÓN Historia del lenguaje C Características del lenguaje C Estructura de un programa en C El editor de textos: elementos Funciones: de usuario y de librería Librerías de
Más detallesProgramació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 detallesUn puntero no es más que una variable estática cuyo contenido es una dirección de memoria.
Los punteros en C 1 Introducción Cómo se organiza la memoria asociada a un programa? Como una colección de posiciones de memoria consecutivas. En ellas se almacenan los distintos tipos de datos, que ocupan,
Más detallesIntroducció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 detallesSistemas Operativos Práctica 3
Sistemas Operativos Práctica 3 Ing. Andrés Bustamante afbustamanteg@unal.edu.co Ingeniería de Sistemas Facultad de Ingeniería Universidad de la Amazonia 2009 1. Objetivo El objetivo de la práctica es que
Más detalles1 Estructura básica de un programa C++
Elementos básicos de un lenguaje de alto nivel: C++ CONTENIDOS 1. Estructura básica de un programa C++. 2. Tipos de datos simples. 3. Constantes y variables en C++. Declaración. 4. Operadores y expresiones.
Más detallesOBJETIVOS. Explicar el manejo de archivos de texto. Explicar el manejo de archivos binarios. Desarrollar programas que usen archivos.
/ OBJETIVOS Explicar el manejo de archivos de texto. Explicar el manejo de archivos binarios. Desarrollar programas que usen archivos. LABORATORIO 6 MANEJO DE ARCHIVOS DE TEXTO Y BINARIOS Msc. Walter Fernandez
Más detallesEjemplos de programas en C
Ejemplos de programas en C Sistemas Operativos (prácticas) E. U. Informática en Segovia Universidad de Valladolid El lenguaje de Programación C Lenguaje de alto nivel de propósito general. Sintaxis sumamente
Más detallesEXAMEN PARCIAL TRABAJO INTEGRADOR (TI) EVALUACIÓN CONTINUA PESO PORCENTUAL PESO PORCENTUAL 1 30% 06-MAY-14 30% 03-MAY-14 20% 20%
UNIVERSIDAD DEL VALLE DE MEXICO CAMPUS ROMA PLANEACIÓN DIDÁCTICA LICENCIATURA EJECUTIVA CICLO 201425 Nombre de la asignatura: Lenguajes Operativos Horas por semana: 6 Nombre del docente: Olvera Jiménez
Más detallesÍNDICE DEL LIBRO Y DEL EBOOK APRENDE A PROGRAMAR CON PSEUDOCÓDIGO, DIAGRAMAS DE FLUJO Y EJERCICIOS DE EJEMPLO RESUELTOS EN C
ÍNDICE DEL LIBRO Y DEL EBOOK APRENDE A PROGRAMAR CON PSEUDOCÓDIGO, DIAGRAMAS DE FLUJO Y EJERCICIOS DE EJEMPLO RESUELTOS EN C 1 INDICE MÓDULO 1. INTRODUCCIÓN 1. INTRODUCCIÓN... 19 2. A QUIÉN VA DIRIGIDO
Más detallesInformática I. Código 2547100 Semestre 2014-2. Para Ingeniería Electrónica e Ingeniería de Telecomunicaciones Profesor: Sebastián Isaza
Informática I Código 2547100 Semestre 2014-2 Para Ingeniería Electrónica e Ingeniería de Telecomunicaciones Profesor: Sebastián Isaza Programming tools Editor de texto (gedit, kate, vim, wordpad, etc):
Más detallesUnidad 7: Procesamiento de archivos en el lenguaje C
Unidad 7: Procesamiento de archivos en el lenguaje C 1º de ASI Esta obra está bajo una licencia de Creative Commons. Autor: Jorge Sánchez Asenjo (año 2005) http://www.jorgesanchez.net email:info@jorgesanchez.net
Más detallesFormatos para prácticas de laboratorio
Fecha de efectividad: CARRERA PLAN DE ESTUDIO CLAVE ASIGNATURA NOMBRE DE LA ASIGNATURA LSC 2003-1 5221 Lenguaje de Programación Estructurada PRÁCTICA No. 8 LABORATORIO DE NOMBRE DE LA PRÁCTICA Licenciado
Más detallesPseudolenguaje. (1 byte) 0.. 255 (valores códigos ASCII) [CHAR_MIN.. CHAR_MAX] (Definida en <limits.h>) No hay. Dominio 0.. 2 n 1 [MIN(C)..
Tipo C Dominio 0.. 2 n -1 [MIN(C).. MAX(C)] Operadores Aritméticos Otras funciones No hay CHR(...) CAP(...) ORD(...) E/S No Formateada: Leer (...) Escribir (...) char (1 byte) 0.. 255 (valores códigos
Más detallesContenido. Capítulo 1. Introducción a lenguaje C 1
Contenido Capítulo 1. Introducción a lenguaje C 1 Introducción... 2 Qué es un lenguaje de programación?... 2 Tipos de lenguajes de programación... 2 Introducción a lenguaje C... 2 Historia de lenguaje
Más detallesManual básico de Programación en C++
UNIVERSIDAD CENTRAL DE VENEZUELA FACULTAD DE CIENCIAS ESCUELA DE COMPUTACIÓN Materia: ESTRUCTURA DEL COMPUTADOR Manual básico de Programación en C++ Selección: DZ Índice (RECOPILACION I) Diferencias entre
Más detallesCURSO BASICO DE PROGRAMACION EN C. Apoyo a Investigación C. P. D. Servicios Informáticos U. C. M.
CURSO BASICO DE PROGRAMACION EN C Apoyo a Investigación C. P. D. Servicios Informáticos U. C. M. CURSO BASICO DE PROGRAMACION EN C. Servicios Informáticos U. C. M.-1-1 INDICE 1 INDICE 1 2 INTRODUCCION
Más detallesPor ejemplo, para declarar un arreglo de enteros llamado a con diez elementos se hace de la siguiente forma:
Arreglos unidimensionales y multidimensionales Los arreglos son una colección de variables del mismo tipo que se referencian utilizando un nombre común. Un arreglo consta de posiciones de memoria contigua.
Más detallesSistemas Operativos (prácticas) E.U. Informática en Segovia Universidad de Valladolid
Manejo de Señales Sistemas Operativos (prácticas) E.U. Informática en Segovia Universidad de Valladolid Señales Concepto Evento que interrumpe la ejecución normal de un proceso La acción por defecto suele
Más detallesVentajas : La programación en C tiene una gran facilidad para escribir código compacto y sencillo a su misma vez.
Introducción : Hola mi nombre es Federico y los voy a conducir en la introducción a la programación en el Lenguaje C o también conocido como Lenguaje de programación de sistemas desarrollado en el año
Más detallesESTRUCTURAS CONDICIONALES SIMPLES: ESTRUCTURAS CONDICIONALES DOBLES: ESTRUCTURAS CONDICIONALES ANIDADAS:
ESTRUCTURAS CONDICIONALES SIMPLES: Si (Condición) entonces if (Condición) { ESTRUCTURAS CONDICIONALES DOBLES: Si (Condición) entonces if (Condición) { { ESTRUCTURAS CONDICIONALES ANIDADAS: Si (Condición1)
Más detallesLEX. Las definiciones y subrutinas son opcionales. El segundo %% es opcional pero el primer %% indica el comienzo de las reglas.
LEX Estructura de un programa en LEX { definiciones { reglas { subrutinas del usuario Las definiciones y subrutinas son opcionales. El segundo es opcional pero el primer indica el comienzo de las reglas.
Más detallesCadenas de Caracteres
Cadenas de Caracteres Modificaciones: Andrés Arcia Prof. Flor Narciso Departamento de Computación Escuela de Ingeniería de Sistemas Facultad de Ingeniería Universidad de Los Andes Cadena de Caracteres
Más detallesProf. 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 detallesProf. Dr. Paul Bustamante
Prácticas de C++ Practica Nº 2 Informática II Fundamentos de Programación Prof. Dr. Paul Bustamante Practica Nº 2 Programación en C++ Pág. 1 ÍNDICE ÍNDICE... 1 1. Introducción... 1 1.1 Ejercicio 1: Reserva
Más detallesLENGUAJES DE PROGRAMACIÓN I Lenguaje C
Programación en lenguaje C 1 L E N G U A J E C */>>/******* ESTRUCTURA DEL LENGUAJE C ******** LENGUAJES DE PROGRAMACIÓN I Lenguaje C Forma general de un programa en C Declaraciones globales main( ) {
Más detallesTema ADQUISICIÓN Y TRATAMIENTO DE DATOS. Departamento de Ciencias de la Computación e IA. Subprogramas en C
Tema ADQUISICIÓN Y TRATAMIENTO DE DATOS Departamento de Ciencias de la Computación e IA Subprogramas en C Objetivo Una vez que tengamos un programa que resuelva un problema concreto, ser capaces de usarlo
Más detallesHoja de problemas Estructuras de Control
Departamento de Estadística, I.O. y Computación Ingeniería Técnica Industrial - Electrónica Industrial Fundamentos de Informática Hoja de problemas Estructuras de Control 1. Cuál es el efecto de las siguientes
Más detalles4. Memoria, Stack, Strings
8/4/2010 UNIVERSIDAD TECNICA FEDERICO SANTA MARIA DEPARTAMENTO DE ELECTRONICA ELO320 Estructuras de Datos y Algoritmos 1.Areas de Memoria 4. Memoria, Stack, Strings Tomás Arredondo Vidal Los datos de los
Más detallesProgramació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 detallesCompiladores e Intérpretes Proyecto N 1 Sintaxis de MiniJava Segundo Cuatrimestre de 2015
Departamento de Cs. e Ingeniería de la Computación Universidad Nacional del Sur Compiladores e Intérpretes Proyecto N 1 Sintaxis de MiniJava Segundo Cuatrimestre de 2015 1. Introducción Este documento
Más detallesSockets: funcionamiento y programación. Sockets tipo UNIX. MSc. Ivan A. Escobar
Sockets tipo UNIX MSc. Ivan A. Escobar Creación socket: socket() int socket(familia, tipo, protocolo) Regresa un valor entero Parecido descriptor de archivos: descriptor socket sockfd int familia familia
Más detallesEntrada y Salida de Datos. Lectura de archivos.
1 Entrada y Salida de Datos. Lectura de archivos. Son innumerables los casos en los que son necesarios guardar datos entre ejecuciones de un programa para poder ser recuperados en futuras sesiones. Los
Más detallesProf. Dr. Paul Bustamante
Prácticas de C++ Practica Nº 5 Informática II Fundamentos de Programación Prof. Dr. Paul Bustamante Practica Nº 5 Programación en C++ Pág. 1 ÍNDICE ÍNDICE... 1 1. Introducción... 1 1.1 Ejercicio 1: Mi
Más detallesPaso de Borland Turbo C (bajo DOS) a Anjuta (Linux) 1.
Paso de Borland Turbo C (bajo DOS) a Anjuta (Linux) 1. Anjuta es un entorno de desarrollo de C que podemos encontrar en cualquier distribución de GNU/Linux. Si nuestra distribución no dispone de ella,
Más detallesGUÍA BÁSICA DE FLEX Y BISON
GUÍA BÁSICA DE FLEX Y BISON PRÁCTICAS COMPILADORES 4º INGENIERÍA INFORMÁTICA / 1º MÁSTER EN INFORMÁTICA Curso 2011/2012 LEX/FLEX: GENERADOR DE ANALIZADORES LÉXICOS 1. Introducción Lex es una de las herramientas
Más detallesTema 5: Diseño modular. Índice. Notas. Programación 2. Curso 2014-2015. Notas. Ejemplo. La herramienta make. 1 Diseño modular.
: Programación 2 Curso 2014-2015 Índice 1 2 3 (1/2) Cuando el programa crece es necesario dividirlo en módulos Cada módulo agrupa una serie de funciones con algo en común El módulo puede reutilizarse en
Más detallesSistemas 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 detallesINDICE Parte I. El Entorno Integrado Microsoft Visual C++ 1. Instalación y Funcionamiento de Microsoft Visual C++
INDICE Prólogo XIX Parte I. El Entorno Integrado Microsoft Visual C++ 1 1. Instalación y Funcionamiento de Microsoft Visual C++ 3 1.1. Requisitos que debe cumplir su sistema visual C++ 1.5 3 Visual C++
Más detallesAnalista Universitario en Sistemas. Taller de Programación II. Instituto Politécnico Superior. Trabajo Final
Trabajo Final 1 Objetivo Comprender (en gran parte) un programa desarrollado en: C++ (Core ) Generador de código / Ejecución de comandos Flex (Lex) Lexer Genera un Analizador Léxico en C http://en.wikipedia.org/wiki/lex_(software)
Más detallesLenguaje de programación C
Lenguaje de programación C 1 Objetivos General: Programar un computador utilizando un lenguaje de programación estructurada, lenguaje C. Específicos: Utilizar las instrucciones básicas de un lenguaje de
Más detallesProblemas de Redes de Computadores. Conjunto de problemas 1
Problemas de Redes de Computadores. Ingeniería Técnica en Informática de Gestión Conjunto de problemas 1 Pregunta 1.1: Si configuro mi servidor Web para que no acepte conexiones desde la dirección IP 130.206.1.1,
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?
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 detallesCURSO de C++ Ignacio López
CURSO de C++ Ignacio López Introducción al lenguaje C++ Visión General Objetivos del Curso C++ Conceptos básicos de la programación orientada a objetos (OOP) Visión General I Curso de C++ Introducción
Más detallesProgramació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 detallesUnidad II Fundamentos de C++ M.C. Juan Carlos Olivares Rojas
Unidad II Fundamentos de C++ M.C. Juan Carlos Olivares Rojas Agenda 2.1 Familiarización con el ambiente de programación 2.2 Análisis de la estructura de un programa 2.3 Envío de mensajes a la salida estándar
Más detallesProf. Dr. Paul Bustamante
Carnet Nombre: Examen C++ Grupo A Informática II Fundamentos de Programación Prof. Dr. Paul Bustamante Pág.1 Índice 1. INTRODUCCIÓN... 1 2. EJERCICIO 1: AGENDA TELEFÓNICA (4.0 PTOS.)...1 3. EJERCICIO 2:
Más detallesSeminario 1. Conexión a Oracle
Seminario 1. Conexión a Oracle Laboratorio de Programación Curso 2007/2008 Fran J. Ruiz Emilio Sobreviela Diseño E/R usuario contrasena Usuarios 1:1 es id_cliente nombre 1:1 Clientes apellidos edad 1 Creación
Más detallesTIPOS 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 detallesEl lenguaje C. if (a>3) { printf("hola"); // bloque printf("%d",a); // de getch(); //código } Partes de un programa en C.
El lenguaje C El lenguaje C es uno de los lenguajes de programación estructurada más utilizados en nuestros días. El principal componente estructural de C es la función. En C, las funciones son bloques
Más detallesProf. Dr. Paul Bustamante
Prácticas de C++ Practica Nº 1 Informática II Fundamentos de Programación Prof. Dr. Paul Bustamante Prácticas de Programación en C++ Pág. 1 ÍNDICE ÍNDICE... 1 1. Introducción... 1 1.1 Ejercicio 1: Cálculo
Más detallesBibliografía [COM00] Internetworking with TCP/IP, vol. 3, Cap. 2 y del 7 al 15.
Tema 5: El Modelo Cliente-Servidor Conceptos básicos. Características y estructura de un cliente. Obtención de información. Algoritmos del cliente TCP y UDP. Ejemplos. Características y estructura de un
Más detalles