Programación funcional: tipos de datos
Un tipo de datos define el tipo de valor que puede tener un objeto y qué operaciones se pueden realizar en él. Un tipo de datos debe declararse primero antes de usarse. Los diferentes lenguajes de programación admiten diferentes tipos de datos. Por ejemplo,
- C admite char, int, float, long, etc.
- Python admite cadenas, listas, tuplas, etc.
En un sentido amplio, hay tres tipos de tipos de datos:
Fundamental data types- Estos son los tipos de datos predefinidos que el programador utiliza directamente para almacenar solo un valor según el requisito, es decir, tipo entero, tipo de carácter o tipo flotante. Por ejemplo: int, char, float, etc.
Derived data types- Estos tipos de datos se derivan del uso de tipos de datos integrados que están diseñados por el programador para almacenar múltiples valores del mismo tipo según sus requisitos. Por ejemplo: matriz, puntero, función, lista, etc.
User-defined data types- Estos tipos de datos se derivan del uso de tipos de datos integrados que se envuelven en un solo tipo de datos para almacenar múltiples valores del mismo tipo o de diferente tipo o ambos según el requisito. Por ejemplo: clase, estructura, etc.
Tipos de datos admitidos por C ++
La siguiente tabla enumera los tipos de datos admitidos por C ++:
Tipo de datos | Talla | Rango |
---|---|---|
carbonizarse | 1 byte | -128 a 127 o 0 a 255 |
char sin firmar | 1 byte | 0 hasta 255 |
char firmado | 1 byte | -128 hasta 127 |
En t | 4 bytes | -2147483648 al 2147483647 |
int sin firmar | 4 bytes | 0 hasta 4294967295 |
firmado int | 4 bytes | -2147483648 al 2147483647 |
int corto | 2 bytes | -32768 al 32767 |
int corto sin firmar | 2 bytes | 0 hasta 65.535 |
int corto firmado | 2 bytes | -32768 al 32767 |
int largo | 4 bytes | -2,147,483,648 a 2,147,483,647 |
firmado largo int | 4 bytes | -2,147,483,648 a 2,147,483,647 |
unsigned long int | 4 bytes | 0 a 4.294.967.295 |
flotador | 4 bytes | +/- 3.4e +/- 38 (~ 7 dígitos) |
doble | 8 bytes | +/- 1.7e +/- 308 (~ 15 dígitos) |
doble largo | 8 bytes | +/- 1.7e +/- 308 (~ 15 dígitos) |
Tipos de datos admitidos por Java
Los siguientes tipos de datos son compatibles con Java:
Tipo de datos | Talla | Rango |
---|---|---|
byte | 1 byte | -128 hasta 127 |
carbonizarse | 2 bytes | 0 hasta 65.536 |
corto | 2 bytes | -32.7688 a 32.767 |
En t | 4 bytes | -2,147,483,648 a 2,147,483,647 |
largo | 8 bytes | -9,223,372,036,854,775,808 a 9,223,372,036,854,775,807 |
flotador | 4 bytes | -2147483648 al 2147483647 |
doble | 8 bytes | + 9.223 * 1018 |
Booleano | 1 bit | Verdadero o falso |
Tipos de datos admitidos por Erlang
En esta sección, analizaremos los tipos de datos admitidos por Erlang, que es un lenguaje de programación funcional.
Número
Erlang admite dos tipos de literales numéricos, es decir integer y float. Eche un vistazo al siguiente ejemplo que muestra cómo sumar dos valores enteros:
-module(helloworld).
-export([start/0]).
start() ->
io:fwrite("~w",[5+4]).
Producirá la siguiente salida:
9
Átomo
Un atomes una cadena cuyo valor no se puede cambiar. Debe comenzar con una letra minúscula y puede contener cualquier carácter alfanumérico y caracteres especiales. Cuando un átomo contiene caracteres especiales, debe incluirse entre comillas simples ('). Eche un vistazo al siguiente ejemplo para comprenderlo mejor.
-module(helloworld).
-export([start/0]).
start()->
io:fwrite(monday).
Producirá la siguiente salida:
monday
Note- Intente cambiar el átomo a "Lunes" con "M" mayúscula. El programa producirá un error.
Booleano
Este tipo de datos se utiliza para mostrar el resultado como true o false. Eche un vistazo al siguiente ejemplo. Muestra cómo comparar dos números enteros.
-module(helloworld).
-export([start/0]).
start() ->
io:fwrite(5 =< 9).
Producirá la siguiente salida:
true
Cadena de bits
Se utiliza una cadena de bits para almacenar un área de memoria sin escribir. Eche un vistazo al siguiente ejemplo. Muestra cómo convertir 2 bits de una cadena de bits en una lista.
-module(helloworld).
-export([start/0]).
start() ->
Bin2 = <<15,25>>,
P = binary_to_list(Bin2),
io:fwrite("~w",[P]).
Producirá la siguiente salida:
[15,25]
Tupla
Una tupla es un tipo de datos compuestos que tiene un número fijo de términos. Cada término de una tupla se conoce comoelement. El número de elementos es el tamaño de la tupla. El siguiente ejemplo muestra cómo definir una tupla de 5 términos e imprime su tamaño.
-module(helloworld).
-export([start/0]).
start() ->
K = {abc,50,pqr,60,{xyz,75}} ,
io:fwrite("~w",[tuple_size(K)]).
Producirá la siguiente salida:
5
Mapa
Un mapa es un tipo de datos compuesto con un número variable de asociaciones clave-valor. Cada asociación clave-valor en el mapa se conoce comoassociation-pair. loskey y value partes del par se llaman elements. Se dice que el número de pares de asociación es el tamaño del mapa. El siguiente ejemplo muestra cómo definir un mapa de 3 asignaciones e imprimir su tamaño.
-module(helloworld).
-export([start/0]).
start() ->
Map1 = #{name => 'abc',age => 40, gender => 'M'},
io:fwrite("~w",[map_size(Map1)]).
Producirá la siguiente salida:
3
Lista
Una lista es un tipo de datos compuestos que tiene un número variable de términos. Cada término de la lista se denomina elemento. Se dice que el número de elementos es la longitud de la lista. El siguiente ejemplo muestra cómo definir una lista de 5 elementos e imprimir su tamaño.
-module(helloworld).
-export([start/0]).
start() ->
List1 = [10,15,20,25,30] ,
io:fwrite("~w",[length(List1)]).
Producirá la siguiente salida:
5
Note - El tipo de datos 'String' no está definido en Erlang.