Introducción a la Programación
Trimestre 2011 Invierno --- Tarea 8 versión A

Identificadores en C

Una de las primeras cosas que aprendimos en el curso de C fue la definición de lo que es un identificador: Una palabra es una cadena de caracteres formada exclusivamente por letras mayúsculas, minúsculas, dígitos y el caracter de subrayado (guión bajo). Para simplificar las cosas, puede suponer que las palabras están separadas por cualquier caracter que no esté en el conjunto anterior. Un identificador es una palabra que no comienza con un dígito. Como ejemplo, abc123, 1__a, a__1 y Dic2004 son todas palabras, pero la segunda no es un identificador. Escriba un programa que dado un archivo de texto encuentre cuántas palabras y cuántos identificadores contiene.

Especificación

La entrada consiste del archivo de texto programa.txt que consiste únicamente de caracteres ASCII. La salida estará en el archivo de texto analisis.txt y consiste de dos enteros p y n separados por un espacio, donde p es el número de palabras y n es el número de identificadores. El nombre de tu programa deberá ser identcNN.c, donde NN es el número de lista que les fue asignado.

Notas: (a) Su programa no deberá leer ni escribir nada además de los datos mencionados, particularmente no deberá leer nada del teclado ni escribir nada en la pantalla. (b) Su programa no deberá usar nada que no hayamos visto en clase. (c) Para compilar su programa en UNIX usen la instrucción gcc identcNN.c -o identc y para probarlo usen la instrucción ./identc sin olvidar que antes deben crear un archivo de texto de nombre programa.txt que contenga algunos caracteres.

Ejemplo

Entrada en programa.txt    Salida en analisis.txt
Est0 e5 1 PrUeBa+de 1      15 11
progRAMA en C hecho el
7de diciembre de=2004