Tipos de Datos Básicos y Expresiones en Programación

Objetivos

Conocer el concepto de tipo de dato y su clasificación.

Conocer los tipos de datos elementales, sus posibles valores y operaciones.

Conocer los elementos de un programa desde el punto de vista de los datos.

Saber componer la plantilla de un programa.

Fundamentos de Programación – Tema 2. Tipos de datos básicos y expresiones

Índice

  1. Concepto de tipo de dato. Clasificación
  2. Tipo de dato entero
  3. Tipo de dato real
  4. Tipo de dato lógico o booleano
  5. Tipo de dato carácter
  6. Elementos de un programa
  7. Expresiones
  8. Plantilla de un programa
  9. Resumen

Concepto tipo de dato

Datos reales Representación Representación nivel del traductor interna (nivel de máquina)

Tipos de datos permiten manejar la información de forma sencilla ignorando los detalles de su representación interna.

El tipo de dato determina:

  • Conjunto de valores posibles
  • Conjunto de operadores posibles

Ejemplos: real, entero, carácter,…

Clasificación de los tipos de datos

  • Elementales o básicos: indivisibles
  • Predefinidos: Existen ya definidos en los lenguajes de programación: entero, real, lógico, carácter.
  • Definidos por el usuario: se ha de determinar el conjunto de valores y nombre de dicho tipo.
  • Estructurados (estructuras de datos): agrupaciones lógicas de elementos:
    • Según el tipo de los elementos: Homogéneas / Heterogéneas
    • Según su gestión en memoria: Estáticas / Dinámicas
    • Según el acceso a los elementos individuales: por Nombre / por Posición / por Clave

Tipo de dato entero (int)

Conjunto de valores: subconjunto de los números enteros centrado en 0.

Operaciones:

  • Aritméticas:
    • Suma, Resta, Multiplicación (+, -, *)
    • División entera (devuelve cociente de la división entera) (/)
    • Módulo (devuelve el resto de la división entera) (%)
  • Relacionales: <, >, ==, <=, >=, !=

Con n bits se pueden representar desde el -2n-1 hasta el 2n-1-1.

Problemas: desbordamiento (overflow).

Tipo de dato real (float, double)

Conjunto de valores: subconjunto de los números reales centrado en 0.

Operaciones:

  • Aritméticas:
    • Suma, Resta, Multiplicación, División (+, -, *, /)
  • Relacionales: <, >, ==, <=, >=, !=

Representación: N = M * Be (1 bit signo, p1 bits para M y p2 para e).

Problemas:

  • Desbordamiento (overflow)
  • Imposibilidad de representar valores muy cercanos a 0 (underflow)
  • Errores de redondeo (aplicación no es biyectiva)

Tipo de dato carácter (char)

Conjunto de valores: conjunto ordenado y finito de caracteres. Normalmente se utiliza el conjunto de caracteres ASCII: ({a, .., z, A, .., Z, 0,.., 9, !, @, …}).

Operaciones:

  • Operaciones de conversión a enteros y viceversa
  • Relacionales: <, >, ==, <=, >=, !=

Los valores se escriben entre comillas simples.

Tipo de dato lógico (bool)

Conjunto de valores: dos valores posibles {true, false} (en algunos lenguajes no se implementan, valor <> 0 y 0).

Operaciones:

  • Relacionales: ==, !=
  • Operadores lógicos más importantes: && (Y), || (O) , ! (NO)

Elementos de un programa

Estructuras de control.

Variables, constantes, valores constantes, expresiones.

Variable:

  • Identificador (nombre)
  • Valor (puede ser cambiado)

Constante:

  • Identificador (nombre)
  • Valor (no puede ser cambiado)

Valor constante o literal:

  • Valor (no puede ser cambiado)

Expresión:

  • Valor (resultado de evaluarla)

Todos los elementos tienen un tipo de dato asociado (o pertenecen a un determinado tipo). Existen lenguajes tipificados y no tipificados.

Declaración: proceso mediante el cual se define cuál va a ser el tipo de los elementos con identificador.

Inicialización: proceso mediante el cual se le asigna a los elementos con identificador un valor inicial.

Elementos de un programa: Identificadores

Un identificador es una secuencia de caracteres que permite identificar de forma única a cada elemento/objeto de un algoritmo.

No todos los caracteres son válidos por lo que normalmente se usan letras, dígitos y subrayado (_).

El primer carácter debe ser una letra o subrayado.

Pueden tener cualquier longitud dentro del límite que imponga el traductor.

Las palabras reservadas del lenguaje no pueden utilizarse como identificadores.

Hay lenguajes que distinguen entre mayúsculas y minúsculas y otros no.

Reglas para crear identificadores

  • Usar solo letras, dígitos y subrayado.
  • Usar minúsculas para identificadores de variables.
  • Usar mayúsculas para identificadores de constantes.
  • Para identificadores de funciones con más de una palabra usar subrayado para separar las palabras o mayúsculas para la primera letra de cada palabra (Ej. CalcularFechaNacimiento).

Elementos de un programa: Variables

Objeto de datos que posee un valor conocido a través de un identificador.

El valor que almacena es único pero se puede modificar por medio de las instrucciones del programa.

Para su utilización es necesario declararlas en el programa.

En C++ separadas por comas y precedidas del tipo:

<tipo> <identificador> {, <identificador>}*;

Ejemplos:

float area, perimetro;
int edad;
bool respuesta;
char letra;

Se puede realizar la inicialización a la vez que se declara:

float area=0, perimetro;
int edad=18;
char letra='l'; bool respuesta=true;

Elementos de un programa: Constantes

Objeto de datos que posee un valor invariable conocido a través de un identificador.

En algunos lenguajes la declaración de una constante está implícita en su inicialización.

En C++ se declara una constante igual que una variable pero precedida por la palabra reservada const y con una asignación del valor:

const <tipo> <identificador> = <valor>;

Ejemplos:

const double PI = 3.1416; // constante de tipo real
const int MAXIMO = 100; // constante de tipo entero
const char LETRA='J'; // constante de tipo carácter

Elementos de un programa: Valores Constantes

Valores que aparecen explícitamente en el programa sin identificador.

Ejemplos:

  • 3.14 (valor de tipo real)
  • ‘j’ (valor de tipo carácter)
  • 100 (valor de tipo entero)

Expresiones

Combinaciones de variables, constantes, valores constantes, operadores, paréntesis y llamadas a funciones.

Su valor es el resultado de evaluarla de izquierda a derecha, teniendo en cuenta precedencia de operadores y paréntesis.

El tipo de una expresión es el tipo de su valor asociado.

Ejemplos:

  • 14 – 5 * 2
  • (18 – 2) * 2
  • ((A < 9) && (C < 5)) || (!h)

Precedencia

Los paréntesis tienen precedencia sobre los operadores. Se evalúan de dentro hacia fuera.

Operadores Aritméticos

  • Operadores de signo (+, -)
  • Multiplicación, división y módulo (*, /, %)
  • Suma y resta (+, -)

Operadores Relacionales: <, >, ==, <=, >=, !=

Operadores Lógicos:

  • !
  • &&
  • ||

Ejemplos de expresiones

5 + 4 * 6(3 – 4) * 5 % 2 + 5 * 4
       24           -1
5 + 24 –                     -1       +     20
50

! 16 < 8 && (5 * 4 + 3 < 10 || (5 + 2) * 4 >= 5)
      V                 23                    28            
                            F                       V           
                                        V                        
                                   V

Conversiones de tipos

Implícita: ocurre cuando los operandos son de distinto tipo. El operando con rango de representación menor se convierte al tipo del operando con rango de representación mayor. El resultado es del tipo del operando de mayor rango de representación.

Ejemplo:

int a = 9, b = 2;
double c = 2.0;
a / b (vale 4) a / c (vale 4.5)

Explícita: Aplicamos un operador que convierte el operando de un tipo a otro.

Ejemplo: a / (double) b (vale 4.5)

Plantilla programa

// Programa Nombre
// Entradas: descripción, restricciones
// Salidas: descripción

Definición del problema

// Bibliotecas
#include <iostream>
using namespace std;

// Declaración de Constantes
// Declaración de Tipos
// Declaración de Variables

Sección Declarativas

int main()
{
// Declaración de Constantes
// Declaración de Variables del Programa principal
// Instrucciones del Programa Principal
return 0;
}

Instrucciones

Resumen sintaxis C++

Tipos

  • int                                                 Tipo entero
  • float, double                               Tipo real
  • char                                              Tipo carácter
  • bool                                              Tipo lógico
  • void                                               Indica ausencia información
  • int*, float*, double*, char*     Tipos puntero
  • int[], float[], double[], char[]   Tipos arrays
  • int&, float&, double&, char& Tipos referencias
  • enum                                           Tipo enumerado (definido por el usuario)

Resumen sintaxis C++

Operadores C++

Aritméticos
  • +, – (signo)                                                    +, –
  • + – * (suma resta producto)                     + – *
  • div (división entera)                                      /
  • mod (resto división entera)                       % (2 enteros)
  • / (división real)                                            / (alguno real)
Relacionales
  • <, >, <=, >=                                                      <, >, <=, >=
  • = (igualdad)                                                  ==
  • <> (desigualdad)                                         !=
Lógicos
  • NO                                                                 !
  • Y                                                                     &&
  • O                                                                    ||

Resumen

  • Concepto y clasificación de tipo de dato.
  • Tipos de datos elementales: valores y operadores.
  • Elementos de un programa: variables, constantes, valores constantes y expresiones.
  • Precedencia de los operadores.
  • Plantilla de un programa.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.