EJERCICIOS. Algo de C CADENAS

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

Download "EJERCICIOS. Algo de C CADENAS"

Transcripción

1 EJERCICIOS (1) Sea el lenguaje Todos los números binarios que contienen el grupo 00 por lo menos una vez. Dibuje el DT de un AFN que lo reconozca. (2) Escriba la descripción formal del AFN diseñado en el ejercicio anterior. (3) Sea el lenguaje Todas las palabras sobre el alfabeto {a, b, c que terminan con b. Dibuje el DT de un AFN que lo reconozca. (4) Escriba la descripción formal del AFN diseñado en el ejercicio anterior. (5) Dibuje el diagrama de transiciones de un AFN que acepte el lenguaje 101* + 1*00. (6) Escriba la descripción formal del AFN diseñado en el ejercicio anterior. (7) Describa formalmente a los AFDs de un solo estado sobre el alfabeto {a, b, completos y no completos. (8) Describa formalmente a los AFDs de un solo estado sobre el alfabeto {a, b, c, completos y no completos. (9) Describa formalmente a los AFDs de dos estados sobre el alfabeto {a, b, completos y no completos. (10) Elija tres AFNs de dos estados de cada uno, sobre el alfabeto {a, b, y descríbalos formalmente. (11) Encuentre un Lenguaje Regular que no contenga la palabra vacía, que no pueda ser aceptado por un AFD con un solo estado final. Escriba la Expresión Regular del lenguaje hallado. Algo de C CADENAS unsigned strlen (const char*); Cuenta los caracteres que forman la cadena dada hasta el 1er carácter '\0', excluido. Retorna (longitud de la cadena). char* strcat (char* s, const char* t); Concatena la cadena t a la cadena s sobre s. Retorna (s). char* strcpy (char* s, const char* t); Copia la cadena t en s (es la asignación entre cadenas). Retorna (s). char* strstr (const char* s, const char* t); Ubica la 1ra. ocurrencia de la cadena t (excluyendo al '\0') en la cadena s. Retorna (ok? puntero a la subcadena localizada : NULL). int strcmp (const char*, const char*); Compara "lexicográficamente" ambas cadenas. Retorna (0 si las cadenas son iguales; < 0 si la 1ra. es "menor" que la 2da.; > 0 si la 1ra. es "mayor" que la 2da.) char* strtok (char*, const char*); Separa en "tokens" a la cadena dada como 1er. argumento; altera la cadena original 1

2 Macros Acceso NULL Ver Definiciones Comunes. EOF SEEK_CUR SEEK_END SEEK_SET Argumentos para la función fseek. stderr stdin stdout Expresiones del tipo FILE* que apuntan a objetos asociados con los flujos estándar de error, entrada y salida respectivamente. FILE* fopen ( const char* nombrearchivo, const char* modo ); Abre el archivo cuyo nombre es la cadena apuntada por nombrearchivo asociando un flujo con este según el modo de apertura. Retorna (ok? puntero al objeto que controla el flujo : NULL). int fclose (FILE* flujo); Vacía el buffer del flujo apuntado por flujo y cierra el archivo asociado. Retorna (ok? 0 : EOF) Entrada / Salida Formateada Flujos en General int fprintf (FILE* f, const char* s,...); Escritura formateada en un archivo ASCII. Retorna (ok? cantidad de caracteres escritos : < 0). int fscanf (FILE* f, const char*,...); Lectura formateada desde un archivo ASCII. Retorna (cantidad de campos almacenados) o retorna (EOF si detecta fin de archivo). Entrada / Salida de a Caracteres int fgetc (FILE*); ó int getc (FILE*); Lee un carácter (de un archivo ASCII) o un byte (de un archivo binario). Retorna (ok? carácter/byte leído : EOF). int getchar (void); Lectura por carácter desde stdin. Retorna (ok? próximo carácter del buffer : EOF). 2

3 int fputc (int c, FILE* f); ó int putc (int c, FILE* f); Escribe un carácter (en un archivo ASCII) o un byte (en un archivo binario). Retorna (ok? c : EOF). int putchar (int); Eescritura por carácter sobre stdout. Retorna (ok? carácter transmitido : EOF). int ungetc (int c, FILE* f); "Devuelve" el carácter o byte c para una próxima lectura. Retorna (ok? c : EOF). Entrada / Salida de a Cadenas char* fgets (char* s, int n, FILE* f); Lee, desde el flujo apuntado f, una secuencia de a lo sumo n-1 caracteres y la almacena en el objeto apuntado por s. No se leen más caracteres luego del carácter nueva línea o del fin del archivo. Un carácter nulo es escrito inmediatamente después del último carácter almacenado; de esta forma, s queda apuntando a una cadena. Importante su uso con stdin. Si leyó correctamente, s apunta a los caracteres leídos y retorna s. Sí leyó sólo el fin del archivo, el objeto apuntado por s no es modificado y retorna NULL. Si hubo un error, contenido del objeto es indeterminado y retorna NULL. Retorna ( ok? s : NULL). int fputs (const char* s, FILE* f); Escribe la cadena apuntada por s en el flujo f. Retorna (ok? último carácter escrito : EOF). Entrada / Salida de a Bloques unsigned fread (void* p, unsigned t, unsigned n, FILE* f); Lee hasta n bloques contiguos de t bytes cada uno desde el flujo f y los almacena en el objeto apuntado por p. Retorna (ok? n : < n). unsigned fwrite (void* p, unsigned t, unsigned n, FILE* f); Escribe n bloques de t bytes cada uno, siendo el primero el apuntado por p y los siguientes, sus contiguos, en el flujo apuntado por f. Retorna (ok? n : < n). Posicionamiento int fseek ( FILE* flujo, long desplazamiento, int desde ); Retorna (ok? 0 : 0). long ftell (FILE* flujo); Obtiene el valor actual del indicador de posición de archivo para el flujo apuntado por flujo. Para flujos binarios es el número de caracteres (bytes ó posición) desde el comienzo del archivo. Para flujos de texto la valor retornado es sólo útil como argumento de fseek para reubicar el indicador al momento del llamado a ftell. Retorna (ok? indicador de posición de archivo : 1L). 3

4 1.1. Gramática Léxica Elementos Léxicos <token> -> <palabra reservada> <identificador> <constante> <literal de cadena> <punctuator> <token de preprocesamiento> -> <nombre de encabezado> <identificador> <número de preprocesador> <constante carácter> <literal de cadena> <punctuator> cada uno de los caracteres no-espacio-blanco que no sea uno de los anteriores Palabras Reservadas <palabra reservada> -> una de auto break case char const continue default do double enum extern float for goto if int long register return short signed sizeof static struct switch typedef union unsigned void volatile while Identificadores <identificador> -> <no dígito> <identificador> <no dígito> <identificador> <dígito> <no dígito> -> uno de _ a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z <dígito> -> uno de Dado que los identificadores constituyen un Lenguaje Regular, podemos describirlos mediante la definición regular. <letra> = [a-za-z] (cualquier letra minúscula o mayúscula del alfabeto reducido) <dígito> = [0-9] <subrayado> = _ <primer carácter> = <letra> <subrayado> <otro carácter> = <letra> <dígito> <subrayado> GRAMATICA <identificador> = <primer carácter> <otro carácter>* EXPRESION REGULAR (letra + subrayado)(letra + subrayado + digito) AUTOMATA FINITO

5 Letra Subrayado Digito Letra subrayado 0-1+ E L _ D O int Columna (int); int Automata (const char *cadena) { static tablat [3][4] = {{1,1,2,2, {1,1,1,2, {2,2,2,2, /* rechazo */ ; int estactual = 0; /* estado inicial */ unsigned int i = 0; /* recorre la cadena */ int caracter = cadena[0]; /* primer caracter */ while (caracter!= \0 && estactual!= 3) { estactual=tablat[estactual][columna(caracter)]; caracter = cadena[++i]; if (estactual == 1) return 1; /* estado final */ return 0; int Columna (int c){ if (c >= 0 && c <= 9 ) return 2; if (c == _ ) return 1; if (isalpha(c) )return 0; return 3; Constantes <constante> -> <constante entera> <constante real> <constante carácter> <constante enumeración> En general, en computación las constantes enteras no son un subconjunto de las constantes reales. Constante Entera 5 <constante entera> -> <constante decimal> <sufijo entero>? <constante octal> <sufijo entero>? <constante hexadecimal> <sufijo entero>? <constante decimal> -> <dígito no cero> <constante decimal> <dígito> <dígito no cero> -> uno de

6 <dígito> -> uno de <constante octal> -> 0 <constante octal> <dígito octal> <dígito octal> -> uno de <constante hexadecimal> -> 0x <dígito hexadecimal> 0X <dígito hexadecimal> <constante hexadecimal> <dígito hexadecimal> <dígito hexadecimal> -> uno de a b c d e f A B C D E F <sufijo entero> -> <sufijo "unsigned"> <sufijo "long">? <sufijo "long"> <sufijo "unsigned">? <sufijo "unsigned"> -> uno de u U <sufijo "long"> -> uno de l L 6

7 Automata finito como reconocedos Algoritmo 1 - Carácter a analizar: primer carácter de la cadena - Estado actual del autómata: estado inicial - Mientras haya caracteres en la cadena, repetir: (1) Determinar el nuevo estado actual (estado de llegada de la transición) (2) Actualizar el carácter a analizar - Si el último estado actual es un estado final, entonces la cadena procesada es reconocida y, por lo tanto, es una palabra del lenguaje; caso contrario, la cadena no pertenece al lenguaje. El segundo algoritmo termina el proceso, antes de recorrer la cadena completa, si detecta un error; es decir: que el estado actual es el estado de rechazo. Algoritmo 2 - Carácter a analizar: primer carácter de la cadena - Estado actual del autómata: estado inicial - Mientras haya caracteres en la cadena y el estado actual no sea el de rechazo, repetir: (1) Determinar el nuevo estado actual (estado de llegada de la transición) (2) Actualizar el carácter a analizar - Si el último estado actual es un estado final, entonces la cadena procesada es una palabra del lenguaje; caso contrario, la cadena no pertenece al lenguaje. Consideremos el lenguaje Todos los números enteros en base 10, que pueden estar precedidos por un signo. Siendo D = , el lenguaje tiene la ER: ( ) D + (no confundir el operador + con el carácter + ) Cuyo AFD mínimo es: M = (Q,, T, q 0, F) con: - Q = {0, 1, 2 - = {+,, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 - q 0 = 0 - F = {2 - T, la función de transiciones, representada por la TT: estado D Tener en cuenta: (1) cuál es el alfabeto sobre el que se define el lenguaje; (Reducido o amplio c/espureos) (2) que el AFD debe estar completo. estado D (estado de rechazo) 7

8 La TT del AFD sobre el alfabeto amplio, es: estado D + - otro (otro: cualquier carácter que no es dígito decimal, + o ) A continuación se implementa el Algoritmo 1 para que trabaje sobre la TT con alfabeto reducido, descripta en el ejemplo anterior. Esta implementación se lleva a cabo mediante una función escrita en ANSI C. Algorit,mo 1 El AFD que realiza el proceso se construye mediante su TT con caracteres del alfabeto reducido. Se asume también que existe una función con prototipo int Columna(int); que determina el número de columna en la TT que le corresponde a cada carácter de la cadena. La función EsPalabra retorna 1 si la cadena pertenece al lenguaje y 0 en caso contrario, y puede tener la siguiente codificación: int EsPalabra (const char *cadena) { /* Automata 1 */ static int tt [4][3] = {{2,1,1, /* Tabla de Transiciones */ {2,3,3, {2,3,3, {3,3,3; int e = 0; /* estado inicial */ unsigned int i = 0; /* recorre la cadena */ int c = cadena[0]; /* primer caracter */ while (c!= \0 ) { e = tt[e][columna(c)]; /* nuevo estado */ c = cadena[++i]; /* proximo caracter */ if (e == 2) /* estado final */ return 1; return 0; /* fin EsPalabra */ 8

9 /* Ejemplo a - PruebaEsPalabra.C Prueba la función EsPalabra. */ #include <stdio.h> /* printf */ #include <ctype.h> /* isdigit */ void Titulo (void); /* funcion auxiliar */ int Verifica (char *); /* que los caracteres pertenezcan al alfabeto */ int Columna (int); /* dado un caracter, determina la columna que le corresponde */ int EsPalabra (const char *); int main () { char s1[] = ; char s2[] = ; char s3[] = -123 ; char s4[] = 123a4 ; Titulo(); if (! Verifica(s1)) printf("la cadena s1 tiene caracteres invalidos\n"); if (EsPalabra(s1)) printf("la cadena s1 pertenece al lenguaje\n"); printf("la cadena s1 no pertenece al lenguaje\n"); if (! Verifica(s2)) printf("la cadena s2 tiene caracteres invalidos\n"); if (EsPalabra(s2)) printf("la cadena s2 pertenece al lenguaje\n"); printf("la cadena s2 no pertenece al lenguaje\n"); if (! Verifica(s3)) printf("la cadena s3 tiene caracteres invalidos\n"); if (EsPalabra(s3)) printf("la cadena s3 pertenece al lenguaje\n"); printf("la cadena s3 no pertenece al lenguaje\n"); if (! Verifica(s4)) printf("la cadena s4 tiene caracteres invalidos\n"); if (EsPalabra(s4)) printf("la cadena s4 pertenece al lenguaje\n"); printf("la cadena s4 no pertenece al lenguaje\n"); return 0; /* fin main */ void Titulo (void) { printf("este programa prueba un AFD que determina\n"); printf("si una cadena dada corresponde a un numero entero\n\n"); /* fin Titulo */ int Verifica (char *s) { unsigned i; 9

10 for (i=0; s[i]!= \0 ; i++) if (! (isdigit(s[i]) s[i] == '+' s[i] == '-')) return 0; return 1; /* fin Verifica */ int Columna (int c) { switch (c) { case '+': return 1; case '-': return 2; default /* es digito */: return 0; /* fin Columna */ int EsPalabra (const char *cadena) { /* código de esta función tal como está descripto en el ejemplo anterior */ Ejercicio 1: Simplifique el programa PruebaEsPalabra.C, utilizando un vector de strings en lugar de 4 strings independientes. /* Ejemplo b - UsaEsPalabra.C Usa la función EsPalabra. */ #include <stdio.h> /* fgets, printf */ #include <ctype.h> /* isdigit */ #include <string.h> /* strlen */ #define LONGITUD_MAXIMA 30 void Titulo (void); int Verifica (char *); int Columna (int); int EsPalabra (const char *); int main () { char entrada [LONGITUD_MAXIMA+2]; Titulo(); printf("ingrese una cadena: "); fgets(entrada, LONGITUD_MAXIMA+2, stdin); if (! Verifica(entrada)) { printf("la cadena a procesar tiene caracteres invalidos\n"); return 0; if (EsPalabra(entrada)) printf("la cadena ingresada pertenece al lenguaje\n"); printf("la cadena ingresada no pertenece al lenguaje\n"); return 0; /* fin main */ void Titulo (void) { printf("\n Este programa utiliza un AFD para determinar\n"); printf("si la cadena ingresada corresponde a un numero entero\n\n"); /* fin Titulo */ int Verifica (char *s) { 10

11 unsigned n = strlen(s); unsigned i; if (s[n-1] == '\n') s[n-1] = '\0'; for (i=0; s[i]!= \0 ; i++) if (! (isdigit(s[i]) s[i] == '+' s[i] == '-')) return 0; return 1; /* fin Verifica */ int Columna (int c) { switch (c) { case '+': return 1; case '-': return 2; default /* es digito */: return 0; /* fin Columna */ int EsPalabra (const char *cadena) { /* código de esta función tal como está descripto en el ejemplo anterior */ Ejercicio 2: Modifique el programa UsaEsPalabra.C para que la lectura la realice desde un archivo de texto. En el próximo ejemplo se implementa el Algoritmo sobre el mismo autómata, a través de una función en ANSI C llamada EsPalabra2. Las condiciones de la implementación son las mismas detalladas para la función anterior. int EsPalabra2 (const char *s) { /* Automata 2 */ static int tt [4][3] = {{2,1,1, /* Tabla de Transiciones */ {2,3,3, /* 2 es el estado final */ {2,3,3, /* 3 es el estado de rechazo */ {3,3,3; int e; /* estado actual del automata */ unsigned int i; /* recorre la cadena */ for (e=0,i=0; s[i]!= \0 && e!=3; i++) e = tt [e][columna(s[i])]; return e==2; /* estado final? retorna 1 */ /* fin EsPalabra2 */ Ejercicio 3: Construya un programa que verifique la función EsPalabra2. EL AUTÓMATA FINITO COMO RECONOCEDOR Y ACCIONADOR Otra aplicación interesante de los AFs es la que consiste en reconocer una cadena, como se ha procedido en la sección anterior, y, además, posibilitar que el autómata produzca acciones cuando llega a ciertos estados. Todos los números enteros en base 10, que pueden estar precedidos por un signo. Diseñar un AF que, además de verificar si la cadena es correcta es decir, si pertenece al lenguaje, también obtenga el valor numérico asociado a esa cadena. 11

12 Algoritmo 3 - Carácter a analizar: primer carácter de la cadena - Estado actual del autómata: estado inicial - Mientras haya caracteres en la cadena, repetir: (1) Determinar el nuevo estado actual (estado de llegada de la transición) (2) Llevar a cabo la acción correspondiente (3) Actualizar el carácter a analizar - Si el último estado actual es un estado final, entonces la cadena procesada es una palabra del lenguaje; caso contrario, la cadena no pertenece al lenguaje. El AFD sobre el que trabaja ObtieneValor es el mismo que ha sido empleado en la función EsPalabra. - El estado 0, estado inicial, no tiene asociada ninguna acción; - El estado 3, estado de rechazo, tampoco lleva a cabo acción alguna; - Quienes sí tienen asociadas acciones son el estado 1, en el que se detecta el signo, y el estado 2, que debe procesar cada dígito de la cadena. int ObtieneValor (const char *cadena, long *p_numero) { static tt [4][3] = {{2,1,1, {2,3,3, {2,3,3, {3,3,3; int e = 0; /* estado inicial */ unsigned i = 0; /* recorre la cadena */ int c = cadena[0]; /* primer caracter */ long a = 0; /* contiene valor numerico absoluto de la cadena */ int s = 1; /* signo del número: 1 = positivo; -1 = negativo */ while (c!= '\0') { e = tt [e][columna(c)]; switch (e) { case 1: if (c=='-') s = -1; break; case 2: a = 10 * a + Valor(c); break; default /* error */: break; c = cadena[++i]; if (e == 2) { /* estado final */ *p_numero = s * a; return 1; return 0; /* fin ObtieneValor */ La función auxiliar Valor se implementa fácilmente de esta manera: int Valor (int c) { return (c - '0'); /* fin Valor */ Ejercicio 4: Modifique esta función, utilizando for en lugar de while. Ejercicio 5: Construya un programa que la pruebe. 12

Sintaxis de C Ing. Jose Maria Sola Dr. Oscar Ricardo Bruno

Sintaxis de C Ing. Jose Maria Sola Dr. Oscar Ricardo Bruno 1.1. Gramática Léxica 1.1.1. Elementos Léxicos Sintaxis de C Ing. Jose Maria Sola Dr. Oscar Ricardo Bruno ->

Más detalles

OPERACIONES SOBRE LENGUAJES REGULARES LA UNIÓN DE LENGUAJES REGULARES

OPERACIONES SOBRE LENGUAJES REGULARES LA UNIÓN DE LENGUAJES REGULARES OPERACIONES SOBRE LENGUAJES REGULARES LA UNIÓN DE LENGUAJES REGULARES Sean L1 y L2 dos LRs. Entonces L1 L2, es un LR Si L1 es representado por una ER R1 y L2 es representado por cierta expresión R2, la

Más detalles

1.1. Entrada / Salida <stdio.h>

1.1. Entrada / Salida <stdio.h> 1 1.1. Entrada / Salida 1.1.1. Tipos FILE Registra toda la información necesitada para controlar un flujo, incluyendo su indicador de posición en el archivo, puntero asociado a un buffer (si

Más detalles

1.1. Gramática Léxica

1.1. Gramática Léxica SINTAXIS Y FUNCIONNES DE C 1.1. Gramática Léxica 1.1.1. Elementos Léxicos -> ->

Más detalles

Caracter a caracter los datos pueden ser escritos o leidos carácter a carácter, con las funciones fputc() y fgetc().

Caracter a caracter los datos pueden ser escritos o leidos carácter a carácter, con las funciones fputc() y fgetc(). Notas auxiliares sobre manejo de archivos Las funciones de entrada salida (E/S) de las librerías estandar de C, permiten leer y escribir datos a, y desde, archivos y dispositivos. La caracteristica fundamental

Más detalles

Tipos de Datos en C. Palabras reservadas en C

Tipos de Datos en C. Palabras reservadas en C Tipos de Datos en C Tipo Tamaño de bits Rango char 8-128 a 127 unsigned char 8 0 a 255 signed char 8-128 a 127 int 16 32768 a 32767 unsigned int 16 0 a 65535 signed int 16 Igual que int short int 16 Igual

Más detalles

Lección 2 Introducción al lenguaje C

Lección 2 Introducción al lenguaje C Lección Introducción al lenguaje C Decimal Binario Hexadecimal A B C D E F Octal Equivalencia entre decimal, binario, hexadecimal y octal. Código ASCII (American Standard Code for Information Interchange)

Más detalles

Prof. Dr. Oscar Bruno SSL CLASE 2

Prof. Dr. Oscar Bruno SSL CLASE 2 SSL CLASE 2 Repaso de los temas de la clase anterior Introducción a la materia: Los LP contienen un conjunto LF algunos son finitos (ej. los operadores, otros infinitos, ej. constantes o identificadores)

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

6. Archivos. Programación II, FCFM, BUAP

6. Archivos. Programación II, FCFM, BUAP 6. Archivos Programación II, FCFM, BUAP Definición Un archivo o fichero desde el punto de vista informático es una colección de información almacenada en memoria secundaria (un medio externo) y no en memoria

Más detalles

Para C un chero no es más que una porción de almacenamiento

Para C un chero no es más que una porción de almacenamiento Ficheros en C Para C un chero no es más que una porción de almacenamiento de memoria. C representa un chero como una estructura, de hecho el chero stdio.h contiene la dención de un chero como si fuese

Más detalles

SSL Guia de Ejercicios

SSL Guia de Ejercicios 1 SSL Guia de Ejercicios INTRODUCCIÓN A LENGUAJES FORMALES 1. Dado el alfabeto = {a, b, c}, escriba las palabras del lenguaje L = {x / x }. 2. Cuál es la cardinalidad del lenguaje L = {, a, aa, aaa}? 3.

Más detalles

LENGUAJE. Tema 8 Ficheros

LENGUAJE. Tema 8 Ficheros LENGUAJE Tema 8 Ficheros FICHEROS EN C Los ficheros, en contraposición con las estructuras de datos vistas hasta ahora (variables simples, vectores, registros, etc.), son estructuras de datos almacenadas

Más detalles

Tema 6. Gestión de ficheros en C. Programación en Lenguajes Estructurados

Tema 6. Gestión de ficheros en C. Programación en Lenguajes Estructurados Tema 6. Gestión de ficheros en C Programación en Lenguajes Estructurados Tema 6. Gestión de ficheros en C 6.1. Introducción a los ficheros En la mayor parte de los programas se quiere almacenar información

Más detalles

Archivos. Conceptos SESION 13

Archivos. Conceptos SESION 13 Archivos SESION 13 Conceptos Definición Un archivo es una secuencia de bits almacenados en algún dispositivo externo tal como un disco o una cinta magnética. En C un archivo es simplemente un flujo(stream)

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

Tema 13: Manejo de archivos en lenguaje C

Tema 13: Manejo de archivos en lenguaje C Tema 13: Manejo de archivos en lenguaje 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)

Más detalles

Concepto Concept s Los L nom res re d e e los h c eros: exter te n r os o o fí s fí ico nom re ú nico i del del ar chiv chiv o o o ficher ficher en

Concepto Concept s Los L nom res re d e e los h c eros: exter te n r os o o fí s fí ico nom re ú nico i del del ar chiv chiv o o o ficher ficher en Conceptos Los nombres de los ficheros: externos o físico (nombre único del archivo o fichero en el sistema de archivos) e interno o lógico (identificador del fichero dentro de un programa). Las operaciones

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

Variables. 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: 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 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 Programación en Entornos Multitarea Curso 2006/2007 Introducción C: lenguaje de medio nivel 32 palabras clave Eficiencia de ejecución del código generado Portabilidad

Más detalles

Tema 5. Entrada y Salida

Tema 5. Entrada y Salida Tema 5 Entrada y Salida Contenidos 1. Conceptos Previos de Entrada y Salida de Datos. 2. Funciones de Salida de Datos. putchar puts printf 3. Funciones de Entrada de Datos. getchar gets scanf 4. Ficheros

Más detalles

Estructuras de Datos Declaraciones Tipos de Datos

Estructuras 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 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

Programación I Teoría : Entrada/Salida - Archivos.

Programación I Teoría : Entrada/Salida - Archivos. Programación I Teoría : Entrada/Salida - Archivos http://proguno.unsl.edu.ar proguno@unsl.edu.ar Entrada/Salida Interacción del programa con su ambiente para leer (entrada) y escribir (salida) datos. 2

Más detalles

Entrada/Salida. Entrada/Salida. Flujos de texto. Flujos de datos. Flujos binarios. Flujos estándares ANSI

Entrada/Salida. Entrada/Salida. Flujos de texto. Flujos de datos. Flujos binarios. Flujos estándares ANSI Entrada/Salida Entrada/Salida Mario Medina C. mariomedina@udec.cl Funciones de entrada/salida no son parte del lenguaje propiamente tal Bibliotecas son parte del estándar ANSI C Biblioteca estándar:

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

Repaso Lenguaje C Área de Servicios Programación (Ing. Elect. y Prof. Tec.), Programación I (TUG y TUR) y Electrónica programable (TUE)

Repaso Lenguaje C Área de Servicios Programación (Ing. Elect. y Prof. Tec.), Programación I (TUG y TUR) y Electrónica programable (TUE) Repaso Lenguaje C OBJETOS Variables Constantes Variable: objeto del ambiente cuyo contenido puede cambiar. Constante: objeto cuyo contenido no puede cambiar. Variables: - un nombre que la identifica. Deben

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

Programación Estructurada. Sesión 2:El lenguaje de programación C

Programación Estructurada. Sesión 2:El lenguaje de programación C Programación Estructurada Sesión 2:El lenguaje de programación C Contextualización Una parte importante del lenguaje C son las palabras reservadas, son identificadores con un significado predefinido. Estas

Más detalles

UNIDAD 1. Algoritmo se define como un conjunto de instrucciones que la computadora debe seguir para resolver un problema.

UNIDAD 1. Algoritmo se define como un conjunto de instrucciones que la computadora debe seguir para resolver un problema. UNIDAD 1 1.1 Definición de Algoritmo La palabra algoritmo se deriva de la traducción al latín del nombre Muhammad Musa Al-khawarizmi, un matemático y astrónomo árabe que en el siglo IX escribió un tratado

Más detalles

DEFINICIÓN FORMAL DE UN AFP

DEFINICIÓN FORMAL DE UN AFP Los AUTÓMATAS FINITOS CON PILA además de reconocer a los Lenguajes Regulares, tienen la capacidad de reconocer a los LICs, como las expresiones aritméticas y las sentencias de un Lenguaje de Programación.

Más detalles

Unidad II Fundamentos de C++ M.C. Juan Carlos Olivares Rojas

Unidad 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 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

Diagrama de transiciones del autómata. Tabla de transiciones

Diagrama de transiciones del autómata. Tabla de transiciones Universidad Nacional Autónoma de México Facultad de Ingeniería Compiladores Grupo 4, Semestre 2016-1 Analizador Léxico en C Diagrama de transiciones del autómata letra letra 1 0 3 e 4 5 6 e 2 espacio Tabla

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

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

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

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

1 Introducción a los algoritmos y a la programación de computadoras... 1

1 Introducción a los algoritmos y a la programación de computadoras... 1 Contenido - IX Contenido 1 Introducción a los algoritmos y a la programación de computadoras... 1 1.1 Introducción... 2 1.2 Concepto de algoritmo... 2 1.2.1 Definición de algoritmo y problema... 2 1.2.2

Más detalles

Tema 07: Tipos de datos en C & entrada y salida estándar

Tema 07: Tipos de datos en C & entrada y salida estándar Tema 07: Tipos de datos en C & entrada y salida estándar M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx @edfrancom edgardoadrianfrancom Estructuras de datos (Prof. Edgardo

Más detalles

UNIDAD ACADÉMICA PROFESIONAL TIANGUISTENCO

UNIDAD ACADÉMICA PROFESIONAL TIANGUISTENCO UNIDAD ACADÉMICA PROFESIONAL TIANGUISTENCO LICENCIATURA EN INGENIERÍA DE SOFTWARE UNIDAD DE APRENDIZAJE: PROGRAMACIÓN Créditos institucionales de la UA: 8 Material visual: Diapositivas Unidad de competencia

Más detalles

Operaciones de E/S en ANSI C

Operaciones de E/S en ANSI C Operaciones de E/S en ANSI C Las operaciones de entrada/salida estándar (realizadas habitualmente con printf y scanf) se realizan en realidad sobre ficheros que representan los dispositivos mediante los

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 por ficheros en Entrada y salida por ficheros ficheros y secuencias en Apertura y cierre de un fichero Fin de fichero Entrada

Más detalles

Sintaxis de los aspectos generales de un lenguaje de programación

Sintaxis de los aspectos generales de un lenguaje de programación Sintaxis de los aspectos generales de un lenguaje de programación por Iván Cruz Un lenguaje de programación cuenta con una estructura y sintaxis que debe ser utilizada exactamente como se indique para

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

FILE *nombre_puntero_fichero; fopen(char_nombre_archivo,char_modo_apertura ); MODOS DE APERTURA. Abre un archivo de texto para lectura.

FILE *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 detalles

Fundamentos de Informática 7. Introducción al manejo de archivos

Fundamentos de Informática 7. Introducción al manejo de archivos Fundamentos de Informática 7. Introducción al manejo de archivos Fundamentos de Informática Grado en Ingeniería Química 2 Contenidos Introducción Apertura y cierre de archivos Lectura/escritura de datos

Más detalles

Ficheros. Archivo, o fichero: Características:

Ficheros. Archivo, o fichero: Características: Ficheros Archivo, o fichero: Es una estructura de datos en memoria externa, cuyo tiempo de vida no está ligado a la ejecución del programa que lo crea o lo maneja. Un fichero existe desde que un programa

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

Lenguaje C. 1. Introducción Un programa en C Tipo de datos int Tipos enteros short, long y unsigned... 4

Lenguaje C. 1. Introducción Un programa en C Tipo de datos int Tipos enteros short, long y unsigned... 4 Lenguaje C Índice 1. Introducción 2 2. Un programa en C 3 2.1. Ejemplo de un programa en C.................................... 3 2.2. Comentarios en un programa..................................... 3 3.

Más detalles

LENGUAJE. Tema 2 Elementos de un programa

LENGUAJE. Tema 2 Elementos de un programa LENGUAJE Tema 2 Elementos de un programa ELEMENTOS DE UN PROGRAMA Comentarios. Identificadores. Constantes. Variables. Operadores. Sentencias o instrucciones. COMENTARIOS Los comentarios en C pueden ocupar

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

Tema 3: Entrada/Salida de Ficheros

Tema 3: Entrada/Salida de Ficheros Tema 3: Objetivo: Almacenar datos en un dispositivo de almacenamiento secundario (p.e. disco duro). Pasos a seguir: 1 Abrir fichero 2 Escribir/leer del fichero 3 Cerrar fichero 1 Tema 3: Abrir el fichero:

Más detalles

LEER RECUPERAR EXTRAER DATOS DE FICHEROS O ARCHIVOS EN C. FGETC, GETC, FGETS, FSCANF. EJERCICIOS (CU00538F)

LEER RECUPERAR EXTRAER DATOS DE FICHEROS O ARCHIVOS EN C. FGETC, GETC, FGETS, FSCANF. EJERCICIOS (CU00538F) APRENDERAPROGRAMAR.COM LEER RECUPERAR EXTRAER DATOS DE FICHEROS O ARCHIVOS EN C. FGETC, GETC, FGETS, FSCANF. EJERCICIOS (CU00538F) Sección: Cursos Categoría: Curso básico de programación en lenguaje C

Más detalles

PROGRAMACIÓN EN C. Introducción a C. Estructura de un Programa C

PROGRAMACIÓN EN C. Introducción a C. Estructura de un Programa C PROGRAMACIÓN EN C Ser capaz de desarrollar programas estructurados utilizando la sintaxis y librerías del lenguaje C. 110 horas Introducción a C. C es un lenguaje de programación de propósito general.

Más detalles

Cadenas de caracteres. 1. Definición 2. Funciones para manejo de cadenas

Cadenas de caracteres. 1. Definición 2. Funciones para manejo de cadenas Cadenas de caracteres 1. Definición 2. Funciones para manejo de cadenas Cadenas de Caracteres Una cadena en C es un conjunto de caracteres, o valores de tipo "char", terminados con el carácter nulo (\0).

Más detalles

Cadena de caracteres. 1. Fundamentos de cadenas y caracteres

Cadena 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 detalles

Algoritmos y estructuras de datos

Algoritmos y estructuras de datos Algoritmos y estructuras de datos Aritmética de direcciones y cadenas Francisco Javier Zaragoza Martínez Universidad Autónoma Metropolitana Unidad Azcapotzalco Departamento de Sistemas 8 de mayo de 2015

Más detalles

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

U.A.B.C. Facultad de Ingeniería Programación Estructurada UNIDAD VI. UNIDAD VI Archivos. 6.1 INTRODUCCION UNIDAD VI Archivos. Los datos que hemos tratado hasta el momento han residido en la memoria principal. Sin embargo, las grandes cantidades de datos se almacenan normalmente en un dispositivo

Más detalles

ENTRADA/SALIDA. Relación Programa - Sistema Operativo - Hardware

ENTRADA/SALIDA. Relación Programa - Sistema Operativo - Hardware ENTRADA/SALIDA UPCO ICAI Departamento de Electrónica y Automática 1 Relación Programa - Sistema Operativo - Hardware Mi programa no maneja directamente el hardware El sistema operativo es el que maneja

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

08 Análisis léxico IV

08 Análisis léxico IV 2 Contenido Expresiones regulares Lenguaje generado por una expresión regular Precedencia de las operaciones con las expresiones regulares Ejemplos Definiciones regulares Extensiones de las expresiones

Más detalles

Tipos de datos y Operadores Básicos

Tipos de datos y Operadores Básicos Módulo I: Conceptos Básicos Tema 1. Qué es un ordenador? Tema 2. Cómo se representan los datos en un ordenador? Tema 3. Qué es un lenguaje de programación? Tema 4. Cómo se hace un programa informático?

Más detalles

8- LEX-Expresiones regulares

8- LEX-Expresiones regulares 8- LEX-Expresiones regulares Objetivos: Utilizar la herramienta KEX para trabajar con expresiones regulares Recursos: Maquina virtual Linux distribución Bodhi LXterminal y FLEX Introducción Flex le permite

Más detalles

Archivos de números. Tema 10c. Archivos de números. Archivos de números. Archivos mixtos. Archivos mixtos. Manejo de archivos de datos en C

Archivos de números. Tema 10c. Archivos de números. Archivos de números. Archivos mixtos. Archivos mixtos. Manejo de archivos de datos en C Archivos de números Tema 10c Manejo de archivos de datos en C Para leer datos desde un archivo de texto como enteros (o números en general) se puede utilizar fscanf. Para escribir datos numéricos en archivos

Más detalles

Por ejemplo, para declarar un arreglo de enteros llamado a con diez elementos se hace de la siguiente forma:

Por 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 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

Elementos léxicos del lenguaje de programación C

Elementos léxicos del lenguaje de programación C Elementos léxicos del lenguaje de programación C Elementos léxicos de los lenguajes de programación (tokens) Palabras reservadas Identificadores Literales Operadores Delimitadores Comentarios Apéndices

Más detalles

Ficheros conceptos. Manejo de ficheros en C. Apertura del fichero Función fopen: nombre del fichero. Apertura del fichero Función fopen

Ficheros conceptos. Manejo de ficheros en C. Apertura del fichero Función fopen: nombre del fichero. Apertura del fichero Función fopen Fundamentos de Informática. Dpto. de ATC - Página 1 de 8 conceptos Manejo de ficheros en C Contienen los datos que se almacenan en dispositivos de almacenamiento masivo: disquetes, discos duros, DROM,

Más detalles

Bloque 9. Ficheros de texto

Bloque 9. Ficheros de texto Bloque 9 Ficheros de texto Ficheros Necesitamos un tipo de datos que nos permita guardar datos de forma permanente en el disco: ficheros El SO se encarga de gestionar físicamente el fichero A nosotros

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

Capítulo 9. Lectura y escritura de ficheros

Capítulo 9. Lectura y escritura de ficheros Capítulo 9. Universidad del País Vasco / Euskal Herriko Unibertsitatea 235 Índice del capítulo 1. Introdución......................................... 237 2. Objetivos...........................................

Más detalles

o Archivos secuenciales: imitan el modo de acceso de los antiguos ficheros secuenciales almacenados en cintas magnéticas y

o Archivos secuenciales: imitan el modo de acceso de los antiguos ficheros secuenciales almacenados en cintas magnéticas y CAPITULO IX ARCHIVOS Introducción El almacenamiento de datos en las estructuras de datos, vistas anteriormente, sólo es temporal, es decir, cuando termina el programa los datos se pierden. Para la conservación

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

Entrada y Salida de Datos. Lectura de archivos.

Entrada 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 detalles

UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO DIRECCIÓN GENERAL DE LA ESCUELA NACIONAL COLEGIO DE CIENCIAS Y HUMANIDADES SECRETARÍA ACADÉMICA

UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO DIRECCIÓN GENERAL DE LA ESCUELA NACIONAL COLEGIO DE CIENCIAS Y HUMANIDADES SECRETARÍA ACADÉMICA UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO DIRECCIÓN GENERAL DE LA ESCUELA NACIONAL COLEGIO DE CIENCIAS Y HUMANIDADES SECRETARÍA ACADÉMICA DEPARTAMENTO DE OPCIONES TÉCNICAS TEMARIO ESTUDIO TÉCNICO ESPECIALIZADO

Más detalles

Tema 2: Análisis léxico

Tema 2: Análisis léxico Tema 2: Análisis léxico Procesamiento de Lenguajes Dept. de Lenguajes y Sistemas Informáticos Universidad de Alicante Procesamiento de Lenguajes Tema 2: Análisis léxico 1 / 21 Fundamentos del análisis

Más detalles

Analista Universitario en Sistemas. Taller de Programación II. Instituto Politécnico Superior ARCHIVOS. (File Management)

Analista Universitario en Sistemas. Taller de Programación II. Instituto Politécnico Superior ARCHIVOS. (File Management) ARCHIVOS (File Management) 1 Archivos Un archivo es una colección de bytes almacenados en un dispositivo. Un archivo contiene datos, el sistema que lo alberga contiene metadatos del mismo En un programa

Más detalles

Introducción al lenguaje C

Introducción al lenguaje C Introducción al lenguaje C Ampliación de Informática Belarmino Pulido Junquera Índice 1. Presentación del lenguaje C 2. Estructura de un programa en C 3. Tipos de datos escalares 4. Operadores básicos

Más detalles

Programación I Ficheros de texto

Programación I Ficheros de texto 1 Ficheros de texto Iván Cantador 2 Ficheros (I) 3 Un ficheroo archivoes un conjunto de bits que es tratado por el sistema operativo como única unidad lógica Un fichero está identificado por su nombre

Más detalles

Una clave Definición informal La clave debe contener una secuencia de una o más letras seguidas por uno o más dígitos

Una clave Definición informal La clave debe contener una secuencia de una o más letras seguidas por uno o más dígitos Una clave Definición informal La clave debe contener una secuencia de una o más letras seguidas por uno o más dígitos Definición formal del lenguaje por comprensión L = {C n D m \ n,m >0 Donde C representa

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 V1.1 Informática Ingeniería en Electrónica y Automática Industrial Datos en lenguaje C Datos en lenguaje C Introducción Tipos de datos básicos y modificadores Tipos de datos enteros Tipos de datos reales

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 Datos en lenguaje C V1.1 Datos en lenguaje C Introducción Tipos de datos básicos y modificadores Tipos de datos enteros Tipos de datos reales

Más detalles

Laboratorio de Arquitectura de Redes. Datos en lenguaje C

Laboratorio de Arquitectura de Redes. Datos en lenguaje C Laboratorio de Arquitectura de Redes Datos en lenguaje C Datos en lenguaje C Introducción Tipos de datos básicos y modificadores Tipos de datos enteros Tipos de datos reales Tamaño y rango de los datos

Más detalles

MIS. Lizbeth Alejandra Hernández González

MIS. Lizbeth Alejandra Hernández González MIS. Lizbeth Alejandra Hernández González Función en Pascal Descripción VariableArch:Text VariableArch:File of Integer Assign(VariableArch,Nombre) FileMode=valor; Reset(VariableArch); Append(VariableArch);

Más detalles

Descripción de un Programa

Descripción de un Programa Unidad 2 Descripción de un Programa 1 El Lenguaje C (1) El lenguaje C fue creado en 1972 por Ken L. Thompson y Dennis M. Ritchie en los Laboratorios Bell. Es evolución de un lenguaje más antiguo: B (a

Más detalles

Archivos & Cadenas CURSO DE PROGRAMACIÓN EN C. Centro de Investigación y de Estudios Avanzados del IPN. CINVESTAV - Tamaulipas.

Archivos & Cadenas CURSO DE PROGRAMACIÓN EN C. Centro de Investigación y de Estudios Avanzados del IPN. CINVESTAV - Tamaulipas. Archivos & Cadenas CURSO DE PROGRAMACIÓN EN C Centro de Investigación y de Estudios Avanzados del IPN. CINVESTAV - Tamaulipas. Febrero 2016 [Curso de programación en C] - Archivos & Cadenas 1/17 Archivos

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

/* Compilador del Lenguaje Micro (Fischer) */ #include <stdio.h> #include <string.h> #include <ctype.h>

/* Compilador del Lenguaje Micro (Fischer) */ #include <stdio.h> #include <string.h> #include <ctype.h> 1 /* Compilador del Lenguaje Micro (Fischer) */ #include #include #include #define NUMESTADOS 15 #define NUMCOLS 13 #define TAMLEX 32+1 #define TAMNOM 20+1 /******************Declaraciones

Más detalles

Informática PRÀCTICA 9 Curs Práctica Nº 9: Rango y precisión de representación de números en el ordenador.

Informática PRÀCTICA 9 Curs Práctica Nº 9: Rango y precisión de representación de números en el ordenador. Departamento de Práctica Nº 9: Rango y precisión de representación de números en el ordenador. Uso de punteros Objetivos de la práctica: - Entender la representación de números (enteros y reales) en el

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

Tema 2: Análisis léxico

Tema 2: Análisis léxico Tema 2: Análisis léxico Procesamiento de Lenguajes Dept. de Lenguajes y Sistemas Informáticos Universidad de Alicante Procesamiento de Lenguajes Tema 2: Análisis léxico 1 / 22 Fundamentos del análisis

Más detalles

Lenguajes de programación LPSI EUI UPM CADENAS DE CARACTERES

Lenguajes 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 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

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

Algoritmos y Estructuras de Datos Ingeniería en Informática, Curso 2º SEMINARIO DE C Sesión 3 Algoritmos y Estructuras de Datos Ingeniería en Informática, Curso 2º SEMINARIO DE C Sesión 3 Contenidos: 1. Funciones de entrada/salida 2. Manejo de ficheros 3. Gestión dinámica de memoria 4. Otras funciones

Más detalles

Estructuras de datos: vectores en C. Clase 7 y 8 Introducción a la Computación Patricia Borensztejn

Estructuras de datos: vectores en C. Clase 7 y 8 Introducción a la Computación Patricia Borensztejn Estructuras de datos: vectores en C Clase 7 y 8 Introducción a la Computación Patricia Borensztejn Estructuras de Datos Son agrupaciones de datos si el tamaño de la estructura es conocido en tiempo de

Más detalles

Analizador De léxico. V A R i : I N T E G E R ; \n...

Analizador De léxico. V A R i : I N T E G E R ; \n... UNIDAD III Analisis de Lexico 3.1 Analizador de Lexico La tarea del análisis de léxico es reconocer símbolos en un flujo de caracteres y presentarlos en una representación mas util para el análisis sintáctico.

Más detalles