Variables, constantes y cadenas, que son y cómo se emplean 5/11/18


Variables, constantes y cadenas, que son y cómo se emplean
Tipos de datos
Objetivo: Reconocer la importancia del uso de variables y constantes en la generación de programas informáticos y las diferencias entre caracteres y cadenas de caracter.
Desarrollo: En programación, las variables son espacios reservados en la memoria que, como su nombre indica, pueden cambiar de contenido a lo largo de la ejecución de un programa. Una variable corresponde a un área reservada en la memoria principal de la computadora. Cada una de ellas tiene un único nombre el cual no puede ser cambiado. Dos o más variables pueden tener el mismo contenido, pero no el mismo nombre. El nombre de una variable comenzará siempre por una letra, pudiendo contener a continuación tanto letras como números. Las variables deben ser mnemotécnico, es decir que debe reflejar el uso dentro del programa de la misma. Las variables están relacionadas con los tipos de datos. El tipo de dato informático es un atributo de una parte de los datos que indica a la computadora algo sobre la clase de datos sobre los que se va a procesar. Esto incluye imponer restricciones en los datos, como qué valores pueden tomar y qué operaciones se pueden realizar.
Tipos de datos comunes son: enteros, cadenas alfanuméricas, fechas, horas, colores, coches o cualquier cosa que se nos ocurra. Por ejemplo, el tipo "int" representa un conjunto de enteros. Éste es un concepto propio de la informática, más específicamente de los lenguajes de programación, aunque también se encuentra relacionado con nociones similares de las matemáticas y la lógica. Algunos tipos de datos usados:
Tipo de dato lógico: O booleano. En computación es aquel que puede representar valores de lógica binaria, normalmente representan falso o verdadero. Una vez que se dispone de uno o varios datos de tipo booleano, estos se pueden combinar en expresiones lógicas mediante los operadores lógicos (and, or, not)
Tipo de dato entero: Se usa para representar un subconjunto finito de los números enteros. El mayor número que se puede representar depende del tamaño del espacio usado por el dato y la posibilidad (o no) de representar números negativos.
Tipo de dato carácter: Un carácter es un símbolo que representa cada carácter de un lenguaje natural. Un ejemplo de carácter es una letra, un número o un signo de puntuación.
Cadena de caracteres: En programación, una cadena de caracteres o frase (string en inglés) es una secuencia ordenada de longitud arbitraria (aunque finita) de elementos que pertenecen a un cierto alfabeto. En general, una cadena de caracteres es una sucesión de caracteres (letras, números u otros signos o símbolos).
Cierre: Género un ejercicio donde pongo ciertos valores y pasan al pizarrón para determinar el tipo de datos que se trata.


Introducción
Arrays de estructuras
Inicialización
Punteros a estructuras
Punteros a arrays de estructuras
Paso de estructuras a funciones
Estructuras anidadas

Introducción

Supongamos que queremos hacer una agenda con los números de teléfono de nuestros amigos. Necesitaríamos un array de cadenas para almacenar sus nombres, otro para sus apellidos y otro para sus números de teléfono. Esto puede hacer que el programa quede desordenado y difícil de seguir. Y aquí es donde presenta ventajas el uso de las estructuras.

Para definir una estructura usamos el siguiente formato:

struct nombre_de_la_estructura { campos de estructura;
};

NOTA: Es importante no olvidar el ';' del final. En caso contrario se obtienen, a veces, errores extraños.

Para nuestro ejemplo podemos crear una estructura en la que almacenaremos los datos de cada persona. Vamos a crear una declaración de estructura llamada amigo:

struct estructura_amigo { char nombre[30]; char apellido[40]; char telefono[10]; int edad; };

A cada elemento de esta estructura (nombre, apellido, teléfono, edad) se le denomina campo o miembro, y al conjunto de los datos se le denomina registro.

Aunque tenemos definida la estructura, todavía no podemos usarla. Necesitamos declarar una variable con esa estructura:

struct estructura_amigo amigo;

Ahora la variable amigo es de tipo estructura_amigo. Para acceder al nombre de amigo usamos: amigo.nombre (al operador '.' le denominamos selector directo de miembro) Vamos a ver un ejemplo de aplicación de esta estructura.

#include <stdio.h> struct estructura_amigo { /* Definimos la estructura estructura_amigo */ char nombre[30]; char apellido[40]; char telefono[10]; int edad; }; struct estructura_amigo amigo; /* Declaramos la variable amigo con esa estructura */ main() { printf( "Escribe el nombre del amigo: " ); scanf( "%s", &amigo.nombre ); printf( "Escribe el apellido del amigo: " ); scanf( "%s", &amigo.apellido ); printf( "Escribe el número de teléfono del amigo: " ); scanf( "%s", &amigo.telefono ); printf( "Mi amigo %s %s tiene el número: %s.\n", amigo.nombre, amigo.apellido, amigo.telefono ); }

Este ejemplo sería más correcto usando gets que scanf, ya que puede haber nombres compuestos que scanf no cogería por los espacios.

Se podría haber declarado directamente la variable amigo:

struct estructura_amigo { char nombre[30]; char apellido[40]; char telefono[10]; int edad; } amigo;

Comentarios