miércoles, julio 22, 2009

Tarjeta de referencia de ANSI C

Encontré un buen machete de funciones y complementos para ANSI C.

Laboratorio II - Archivos

En esta entrada voy a explicar una forma posible de resolver parte de la evaluación, que en general fué similar para todos los grupos.

En principio, se trataba de leer datos desde un archivo de texto plano, donde cada línea representa los datos de un cliente, indicado por:

NOMBRE; DOMICILIO; TELÉFONO; LOCALIDAD


Para poder realizar esta operación es necesario abrir el archivo para lectura, y utilizar una función para la adquisición de los datos que me asegure leer la línea completa, dado que me voy a encontrar con muchos elementos que actúan de separador o limitador de campo. Entonces lo que más práctico me parece utilizar es la función FGETS(), que me permite leer de un archivo la cantidad de caracteres que le indique.

...

FILE *pfTxt;
char *linea;

pfTxt = fopen("demo.txt", "r");
linea = malloc(sizeof(char) * 100);


while(!feof(pfTxt)) {

memset(linea, '\0', 100);
fgets(linea, 100, pfTxt);


...
}


Estas líneas de código nos permite ir leyendo línea a línea el archivo hasta el final.

Luego que tenemos en una variable, la cadena de caracteres que corresponde a los datos de un cliente, se nos pide separar los mismos en un registro. Para este ejemplo, solo voy a separarlos por las datos principales, Nombre, Domicilio, Teléfono y Localidad.

Se debe entonces crear un nuevo tipo de datos al que voy a llamar ABONADO

typedef struct {
char ayn[30];
char dom[30];
char tel[20];
char loc[30];
} ABONADO;

Y la rutina que va a separar los datos es la siguiente:


Donde "lin" es una variable puntero a caracter que contiene la línea de datos leída del archivo.

Ahora solo resta almacenar el contenido de nuestra variable de registro "cliente" en un archivo binario...

fseek(pfBin, 0L, SEEK_END);
fwrite(&cliente, sizeof(ABONADO), 1, pfBin);

... donde "pfBin" es una variable puntero a FILE, que debió asignarse de la siguiente forma:

FILE *pfBin = fopen("demo.dat","wb");


Uniendo todo esto en dos funciones "void pasaTxtBin()", encargada de leer el archivo de texto y generar el archivo binario y la función "ABONADO separaLineaEnCampos(char *)" que recibe una cadena de caracteres que contiene la línea leída del archivo de texto y devuelve un registro...


En este link dejo el código con el ejemplo completo.

domingo, junio 14, 2009

Bolsa de Trabajo - Junio 2009

Técnico de Mantenimiento

Empresa joven y dinámica dedicada al desarrollo y mantenimiento de Hardware y Software de gestión, seleccionará un Técnico recibido en electrónica/informática/redes de comunicación y/o estudiante de Ing./Lic. en Sistemas o afín, de sexo masculino (excluyente), de entre 18 y 25 años, para desarrollarse como Técnico de Mantenimiento.

Sus principales responsabilidades serán brindar soporte y mantenimiento de:

- Equipos a nivel de Hardware, Firmware y Sistemas Operativos.
- Configuración de enlaces como ser VPN, VPN inalámbrico, equipos XDSL, ADSL, DSLAM , servers, redes, routers, smitchs, switches

Requisitos:

- Manejo avanzado de Microsoft, Windows, Outlook, DOS, Server / Server Enterprise, NTFS, FAT, Básico Linux, SME, Ruteo, Capas OSI, Smitching, FTP, TTY, HTTP, PPTP, Terminal.
- Manejo de Inglés técnico
- Conocimiento de cableado estructurado y técnicas de tecnología convergente (no excluyente)

Se valorará la responsabilidad, buen trato personal y predisposición para el trabajo en equipo.

Se ofrece capacitación, certificaciones y posibilidades de desarrollo en el marco de un excelente clima laboral.
Zona de trabajo: Olivos.
Horario de trabajo: lunes a viernes de 9 a 18 hs.

Los interesados deberán enviar CV por mail a
busquedasbl@gmail.com sin omitir disponibilidad y remuneración pretendida, indicando Ref: TM

martes, junio 02, 2009

Laboratorio II - Trabajos Prácticos del 1er. Trimestre

Los trabajos prácticos que se van a corregir, son los siguientes:

  • TP01
  • TP02
  • TP03
  • TP04
  • TP05
  • TP08
Los prácticos 6 y 7 no serán requeridos dado que no dí la teoría de Backtracking a todas las rotaciones. Esos trabajos prácticos pasan al próximo trimestre.

martes, mayo 19, 2009

Mitos y Leyendas de las Carreras Informáticas

Este es el video de la charla que se dió en 2008 en la Facultad de Ciencias Exáctas y Naturales de la Universidad de Buenos Aires.

martes, febrero 24, 2009

Sun is shining...



La popularidad de NetBeans

Hace unos días, en uno de los alias de ambassadors, alguien citó un estudio bastante interesante (realizado en el sitio Java By Example) sobre la eterna rivalidad entre Eclipse y NetBeans. De hecho, me pareció un enfoque suficientemente interesante como para repetirlo y compartirlo.

El experimento en cuestión fue utilizar Google Trends para medir la popularidad de ambos IDEs en los últimos años. Trends es una herramienta de Google Labs que permite comparar el nivel de interés alrededor del mundo de los tópicos indicados (en base a la cantidad de búsquedas realizadas en Google y a la frecuencia en la que los términos han aparecido en las historias de Google News).

Nota completa - Sun is shining...

viernes, febrero 06, 2009

Richard Stallman en Argentina (conferencia)

Conferencia realizada en la Cámara de Diputados de la Nación, Buenos Aires, Argentina, el 3/11/2008.

Parte I
Parte II
Parte III

jueves, febrero 05, 2009

Richard Stallman en Argentina

Richard Stallman es uno de los fundadores del Software Libre, y en 2008 estuvo de  visita en argentina y entre otras actividades, la periodista Rosario Lufrano realizó una entrevista para canal 7.


Parte I



Parte II

Algunas Fotitos