08.09.2017 Views

Diseno de algoritmos y su codificacion en lenguaje C

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

10 Capítulo 2 Los datos y las operaciones básicas<br />

2.2.3 Caracteres<br />

El almac<strong>en</strong>ami<strong>en</strong>to <strong>de</strong> caracteres <strong>en</strong> el interior <strong>de</strong> la computadora se hace <strong>en</strong> “palabras” <strong>de</strong> 8 bits (1 byte). Este<br />

tipo repres<strong>en</strong>ta valores <strong>en</strong>teros <strong>en</strong> el rango 2128 a 1127. El l<strong>en</strong>guaje C proporciona el tipo unsigned char<br />

para repres<strong>en</strong>tar valores <strong>de</strong> 0 a 255 y así repres<strong>en</strong>tar todos los caracteres ASCII.<br />

Una característica <strong>de</strong> la parte estándar <strong>de</strong>l conjunto <strong>de</strong> caracteres (los 128 primeros) es que conti<strong>en</strong>e las<br />

letras mayúsculas, las minúsculas y los dígitos, y que cada uno <strong>de</strong> estos tres <strong>su</strong>bconjuntos está or<strong>de</strong>nado <strong>en</strong> <strong>su</strong><br />

forma natural, por lo que po<strong>de</strong>mos manejar rangos <strong>de</strong> caracteres bi<strong>en</strong> <strong>de</strong>finidos. Así, la sigui<strong>en</strong>te expresión<br />

booleana <strong>de</strong>ci<strong>de</strong> si el carácter cont<strong>en</strong>ido <strong>en</strong> la variable c es una letra minúscula (‘a’,5c && c,5‘z’). Los caracteres<br />

se almac<strong>en</strong>an internam<strong>en</strong>te como números y por lo tanto se pue<strong>de</strong>n realizar operaciones aritméticas<br />

con datos tipo char.<br />

Existe también el dato tipo ca<strong>de</strong>na (compuesto), que es una <strong>su</strong>cesión <strong>de</strong> caracteres que se <strong>en</strong>cu<strong>en</strong>tran<br />

<strong>de</strong>limitados por comillas; la longitud <strong>de</strong> una ca<strong>de</strong>na es el número <strong>de</strong> caracteres compr<strong>en</strong>didos <strong>en</strong>tre los <strong>de</strong>limitadores<br />

“[long_cad]”.<br />

Ejemplo<br />

Pseudocódigo<br />

L<strong>en</strong>guaje C<br />

caracter letra ← ‘b’, ca<strong>de</strong>na [25] char letra 5 ‘b’, ca<strong>de</strong>na [25];<br />

caracter car ← letra 2 32 char car 5 letra 2 32;<br />

El valor <strong>de</strong> la variable car es B, ya que el código ASCII <strong>de</strong> b es 98 y al restarle 32 es igual a 66 (código<br />

ASCII <strong>de</strong> B).<br />

2.2.4 Tipo void<br />

Son datos vacíos o sin valor. Por ejemplo la función main no regresa valor alguno (nada): void main() o void<br />

main(void) porque tampoco ti<strong>en</strong>e parámetros. Debemos t<strong>en</strong>er cuidado, ya que esta característica es propia<br />

<strong>de</strong> algunos compiladores, pero por ejemplo <strong>en</strong> DEV-C11 el main ti<strong>en</strong>e que regresar un <strong>en</strong>tero (int), por el<br />

return 0, es <strong>de</strong>cir int main(void) o int main(); pero las <strong>de</strong>más funciones pre<strong>de</strong>finidas sí pue<strong>de</strong>n utilizar el tipo<br />

void; esto lo analizaremos <strong>en</strong> <strong>de</strong>talle <strong>en</strong> el capítulo <strong>de</strong> funciones.<br />

2.3 Variables<br />

Una variable es un dato cuyo valor pue<strong>de</strong> cambiar durante el <strong>de</strong>sarrollo <strong>de</strong>l algoritmo o ejecución <strong>de</strong>l programa.<br />

Es <strong>de</strong>cir, repres<strong>en</strong>tará un valor almac<strong>en</strong>ado <strong>en</strong> memoria que se pue<strong>de</strong> modificar <strong>en</strong> cualquier mom<strong>en</strong>to<br />

o conservar para ser usado tantas veces como se <strong>de</strong>see.<br />

Hay difer<strong>en</strong>tes tipos <strong>de</strong> variables: <strong>en</strong>teras, reales, caracteres y ca<strong>de</strong>nas. Una variable que es <strong>de</strong> cierto<br />

tipo sólo pue<strong>de</strong> tomar valores que correspondan a ese tipo. Si se int<strong>en</strong>ta asignar un valor <strong>de</strong> tipo difer<strong>en</strong>te se<br />

producirá un error.<br />

El programador <strong>de</strong> l<strong>en</strong>guaje C es libre <strong>de</strong> <strong>de</strong>nominar a <strong>su</strong>s variables con el nombre que consi<strong>de</strong>re más<br />

a<strong>de</strong>cuado, siempre que se respet<strong>en</strong> las normas que m<strong>en</strong>cionamos <strong>en</strong> la sección respectiva para nombrar un<br />

i<strong>de</strong>ntificador. El l<strong>en</strong>guaje C acepta letras mayúsculas y minúsculas, sin embargo, son distintos los nombres <strong>en</strong><br />

mayúsculas y minúsculas, es <strong>de</strong>cir los nombres lado y Lado se refier<strong>en</strong> a variables difer<strong>en</strong>tes.<br />

Como se m<strong>en</strong>cionó anteriorm<strong>en</strong>te, el uso <strong>de</strong> nombres largos no es recom<strong>en</strong>dable ya que re<strong>su</strong>ltan más<br />

difíciles <strong>de</strong> teclear y a<strong>de</strong>más se utiliza más memoria para almac<strong>en</strong>ar el nombre.<br />

Los nombres <strong>de</strong> las variables nos <strong>de</strong>b<strong>en</strong> indicar qué dato almac<strong>en</strong>an, <strong>de</strong> manera que re<strong>su</strong>lte más fácil leer<br />

el programa. Así, la variable nomAlumno indica que almac<strong>en</strong>a el nombre <strong>de</strong> un alumno.<br />

2.3.1 Declaración <strong>de</strong> variables<br />

Todas las variables <strong>de</strong>b<strong>en</strong> ser <strong>de</strong>claradas antes <strong>de</strong> ser usadas. Cada variable por lo tanto ti<strong>en</strong>e asociado un tipo,<br />

un nombre (i<strong>de</strong>ntificador) y un valor. No se admit<strong>en</strong> como i<strong>de</strong>ntificadores palabras reservadas <strong>de</strong>l l<strong>en</strong>guaje<br />

<strong>de</strong> programación que se esté utilizando. Los nombres <strong>de</strong> variables que se elijan para el algoritmo o programa

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!