Glosario de informática

Este glosario de informática es una lista de definiciones de términos y conceptos utilizados en la informática , sus subdisciplinas y campos relacionados, incluidos términos relevantes para el software , la ciencia de datos y la programación informática.

A

tipo de datos abstracto (ADT)
Modelo matemático para tipos de datos en el que un tipo de datos se define por su comportamiento (semántica) desde el punto de vista de un usuario de los datos, específicamente en términos de posibles valores, posibles operaciones sobre datos de este tipo y el comportamiento de estas operaciones. Esto contrasta con las estructuras de datos, que son representaciones concretas de los datos desde el punto de vista de un implementador en lugar de un usuario.
método abstracto
Aquel que solo tiene una firma y no tiene un cuerpo de implementación . Se utiliza a menudo para especificar que una subclase debe proporcionar una implementación del método. Los métodos abstractos se utilizan para especificar interfaces en algunos lenguajes informáticos. [1]
abstracción
1. En ingeniería de software y ciencias de la computación, el proceso de eliminar detalles físicos, espaciales o temporales [2] o atributos en el estudio de objetos o sistemas para prestar más atención a otros detalles de interés; [3] también es muy similar en naturaleza al proceso de generalización .
2. El resultado de este proceso: un concepto - objeto abstracto creado al mantener características o atributos comunes a varios objetos concretos o sistemas de estudio. [3]
arquitectura del agente
Un modelo para agentes de software y sistemas de control inteligentes que muestra la disposición de los componentes. Las arquitecturas implementadas por agentes inteligentes se denominan arquitecturas cognitivas . [4]
modelo basado en agentes (ABM)
Una clase de modelos computacionales para simular las acciones e interacciones de agentes autónomos (tanto entidades individuales como colectivas, como organizaciones o grupos) con el objetivo de evaluar sus efectos sobre el sistema en su conjunto. Combina elementos de teoría de juegos , sistemas complejos , emergencia , sociología computacional , sistemas multiagente y programación evolutiva . Se utilizan métodos de Monte Carlo para introducir aleatoriedad.
función agregada
En la gestión de bases de datos , función en la que los valores de varias filas se agrupan para formar un único valor de mayor significado o medida, como una suma, un recuento o un máximo.
desarrollo de software ágil
Un enfoque para el desarrollo de software bajo el cual los requisitos y las soluciones evolucionan a través del esfuerzo colaborativo de equipos autoorganizados y multifuncionales y sus clientes / usuarios finales . [5] Aboga por la planificación adaptativa, el desarrollo evolutivo, la entrega temprana y la mejora continua , y fomenta una respuesta rápida y flexible al cambio. [6]
algoritmo
Una especificación inequívoca de cómo resolver una clase de problemas. Los algoritmos pueden realizar tareas de cálculo , procesamiento de datos y razonamiento automatizado . Son omnipresentes en las tecnologías informáticas.
diseño de algoritmo
Un método o proceso matemático para la resolución de problemas y para la ingeniería de algoritmos. El diseño de algoritmos forma parte de muchas teorías de solución de la investigación de operaciones , como la programación dinámica y la teoría de dividir y vencer . Las técnicas para diseñar e implementar diseños de algoritmos también se denominan patrones de diseño de algoritmos, [7] como el patrón de método de plantilla y el patrón decorador.
eficiencia algorítmica
Propiedad de un algoritmo que se relaciona con la cantidad de recursos computacionales que utiliza. Un algoritmo debe analizarse para determinar el uso de sus recursos, y la eficiencia de un algoritmo puede medirse en función del uso de diferentes recursos. La eficiencia algorítmica puede considerarse análoga a la productividad de ingeniería para un proceso repetitivo o continuo.
Código estándar americano para el intercambio de información (ASCII)
Un estándar de codificación de caracteres para comunicaciones electrónicas. Los códigos ASCII representan texto en computadoras, equipos de telecomunicaciones y otros dispositivos. La mayoría de los esquemas de codificación de caracteres modernos se basan en ASCII, aunque admiten muchos caracteres adicionales.
Interfaz de programación de aplicaciones (API)
Conjunto de definiciones de subrutinas, protocolos de comunicación y herramientas para crear software. En términos generales, es un conjunto de métodos de comunicación claramente definidos entre varios componentes. Una buena API facilita el desarrollo de un programa informático al proporcionar todos los bloques de construcción, que luego son ensamblados por el programador .
software de aplicación

También simplemente aplicación o app .

Software de computadora diseñado para realizar un grupo de funciones, tareas o actividades coordinadas para el beneficio del usuario. Ejemplos comunes de aplicaciones incluyen procesadores de texto , hojas de cálculo , aplicaciones de contabilidad , navegadores web , reproductores multimedia , simuladores de vuelo aeronáutico , juegos de consola y editores de fotos . Esto contrasta con el software de sistema, que se ocupa principalmente de administrar las operaciones de ejecución más básicas de la computadora, a menudo sin la intervención directa del usuario. El sustantivo colectivo software de aplicación se refiere a todas las aplicaciones colectivamente. [8]
estructura de datos de matriz

También simplemente array .

Una estructura de datos que consiste en una colección de elementos (valores o variables), cada uno identificado por al menos un índice o clave de matriz . Una matriz se almacena de tal manera que la posición de cada elemento se puede calcular a partir de su tupla de índice mediante una fórmula matemática. [9] [10] [11] El tipo más simple de estructura de datos es una matriz lineal, también llamada matriz unidimensional.
artefacto
Uno de los muchos tipos de subproductos tangibles que se generan durante el desarrollo de software. Algunos artefactos (por ejemplo, casos de uso , diagramas de clases y otros modelos de lenguaje de modelado unificado (UML), requisitos y documentos de diseño) ayudan a describir la función, la arquitectura y el diseño del software. Otros artefactos se relacionan con el proceso de desarrollo en sí, como planes de proyectos, casos de negocios y evaluaciones de riesgos.
Inteligencia artificial (IA)

También inteligencia de máquina .

Inteligencia demostrada por las máquinas , en contraste con la inteligencia natural que muestran los humanos y otros animales. En informática, la investigación en IA se define como el estudio de " agentes inteligentes ": dispositivos capaces de percibir su entorno y tomar acciones que maximicen la posibilidad de lograr con éxito sus objetivos. [12] Coloquialmente, el término "inteligencia artificial" se aplica cuando una máquina imita funciones "cognitivas" que los humanos asocian con otras mentes humanas , como "aprender" y "resolver problemas". [13]
ASCII
Consulte el Código estándar americano para el intercambio de información .
afirmación
En programación informática, una afirmación de que un predicado ( función con valor booleano , es decir, una expresión verdadera-falsa) siempre es verdadera en ese punto de la ejecución del código. Puede ayudar a un programador a leer el código, ayudar a un compilador a compilarlo o ayudar al programa a detectar sus propios defectos. Para esto último, algunos programas comprueban las afirmaciones evaluando realmente el predicado mientras se ejecutan y, si de hecho no es verdadero (un error de afirmación), el programa se considera a sí mismo roto y, por lo general, se bloquea deliberadamente o lanza una excepción de error de afirmación .
matriz asociativa
Una matriz asociativa, un mapa, una tabla de símbolos o un diccionario es un tipo de datos abstracto compuesto por una colección de pares (clave, valor) , de modo que cada clave posible aparece como máximo una vez en la colección. Las operaciones asociadas con este tipo de datos permiten: [14] [15]
  • La adición de un par a la colección.
  • la eliminación de un par de la colección
  • la modificación de un par existente
  • la búsqueda de un valor asociado con una clave particular
teoría de autómatas
El estudio de las máquinas abstractas y los autómatas , así como de los problemas computacionales que pueden resolverse mediante su uso. Es una teoría de la informática teórica y de las matemáticas discretas (un tema de estudio tanto en matemáticas como en informática).
razonamiento automatizado
Área de la informática y la lógica matemática dedicada a comprender diferentes aspectos del razonamiento . El estudio del razonamiento automatizado ayuda a producir programas informáticos que permiten a las computadoras razonar de forma completamente, o casi completamente, automática. Aunque el razonamiento automatizado se considera un subcampo de la inteligencia artificial, también tiene conexiones con la informática teórica e incluso con la filosofía .

B

ancho de banda
La velocidad máxima de transferencia de datos a través de una ruta determinada. El ancho de banda puede caracterizarse como ancho de banda de red , [16] ancho de banda de datos , [17] o ancho de banda digital . [18] [19]
Programación bayesiana
Un formalismo y una metodología para tener una técnica para especificar modelos probabilísticos y resolver problemas cuando se dispone de menos información de la necesaria.
punto de referencia
El acto de ejecutar un programa informático, un conjunto de programas u otras operaciones, con el fin de evaluar el rendimiento relativo de un objeto, normalmente ejecutando una serie de pruebas y ensayos estándar contra él. [20] El término benchmark también se utiliza comúnmente para los fines de los propios programas de evaluación comparativa cuidadosamente diseñados.
mejor, peor y promedio caso
Expresiones de cuál es el uso de recursos al menos , como máximo y en promedio , respectivamente, para un algoritmo dado. Por lo general, el recurso que se considera es el tiempo de ejecución, es decir, la complejidad temporal , pero también podría ser la memoria o algún otro recurso. El mejor caso es la función que realiza el número mínimo de pasos en datos de entrada de n elementos; el peor caso es la función que realiza el número máximo de pasos en datos de entrada de tamaño n ; el caso promedio es la función que realiza un número promedio de pasos en datos de entrada de n elementos.
grandes datos
Término utilizado para referirse a conjuntos de datos que son demasiado grandes o complejos para que los programas de procesamiento de datos tradicionales puedan manejarlos adecuadamente. Los datos con muchos casos (filas) ofrecen mayor poder estadístico , mientras que los datos con mayor complejidad (más atributos o columnas) pueden generar una mayor tasa de descubrimientos falsos . [21]
notación O grande
Notación matemática que describe el comportamiento límite de una función cuando el argumento tiende hacia un valor particular o hacia el infinito. Es miembro de una familia de notaciones inventadas por Paul Bachmann , [22] Edmund Landau , [23] y otros, llamadas colectivamente notación de Bachmann-Landau o notación asintótica .
número binario
En matemáticas y electrónica digital , número expresado en el sistema de numeración de base 2 o sistema de numeración binario, que utiliza solo dos símbolos: normalmente 0 (cero) y 1 (uno) .
algoritmo de búsqueda binaria

También simplemente búsqueda binaria , búsqueda de medio intervalo , [24] búsqueda logarítmica , [25] o búsqueda binaria . [26]

Un algoritmo de búsqueda que encuentra la posición de un valor objetivo dentro de una matriz ordenada . [27]
árbol binario
Una estructura de datos de árbol en la que cada nodo tiene como máximo dos hijos , a los que se hace referencia comoniño izquierdo y elhijo correcto . Unadefinición recursivaque utiliza sólode teoría de conjuntoses que un árbol binario (no vacío) es unatupla(L,S,R), dondeLyRson árboles binarios o elconjunto vacíoySes unconjunto singleton.[28]Algunos autores permiten que el árbol binario sea también el conjunto vacío.[29]
bioinformática
Campo interdisciplinario que combina biología , informática, ingeniería de la información , matemáticas y estadística para desarrollar métodos y herramientas de software para analizar e interpretar datos biológicos. La bioinformática se utiliza ampliamente para análisis in silico de consultas biológicas mediante técnicas matemáticas y estadísticas.
poco
Unidad básica de información utilizada en informática y comunicaciones digitales; un acrónimo de dígito binario . Un dígito binario puede tener uno de dos valores posibles y puede representarse físicamente con un dispositivo de dos estados. Estos valores de estado se representan más comúnmente como 0 o 1. [30 ]
tasa de bits ( R )

También tasa de bits .

En telecomunicaciones e informática, el número de bits que se transmiten o procesan por unidad de tiempo. [31]
lista negra

También lista de bloqueos .

En informática, un mecanismo básico de control de acceso que permite el paso de todos los elementos (direcciones de correo electrónico, usuarios, contraseñas, URL , direcciones IP , nombres de dominio , hashes de archivos , etc.), excepto aquellos mencionados explícitamente en una lista de elementos prohibidos. A los elementos de la lista se les niega el acceso. Lo opuesto es una lista blanca, lo que significa que solo los elementos de la lista pueden pasar por cualquier puerta que se esté utilizando, mientras que todos los demás elementos están bloqueados. Una lista gris contiene elementos que están bloqueados temporalmente (o permitidos temporalmente) hasta que se realiza un paso adicional.
Formato de archivo BMP

También archivo de imagen de mapa de bits , formato de archivo de mapa de bits independiente del dispositivo (DIB) o simplemente mapa de bits .

Un formato de archivo de imagen de gráficos rasterizados utilizado para almacenar imágenes digitales de mapa de bits independientemente del dispositivo de visualización (como un adaptador de gráficos ), utilizado especialmente en los sistemas operativos Microsoft Windows [32] y OS/2 [33] .
Tipo de datos booleano
Un tipo de datos que tiene uno de dos valores posibles (generalmente denotados como verdadero y falso ), destinado a representar los dos valores de verdad de la lógica y el álgebra de Boole . Recibe su nombre en honor a George Boole , quien definió por primera vez un sistema algebraico de lógica a mediados del siglo XIX. El tipo de datos booleano se asocia principalmente con declaraciones condicionales , que permiten diferentes acciones al cambiar el flujo de control dependiendo de si una condición booleana especificada por el programador se evalúa como verdadera o falsa. Es un caso especial de un tipo de datos lógicos más general (consulte lógica probabilística ), es decir, la lógica no siempre necesita ser booleana.
Expresión booleana
Expresión utilizada en un lenguaje de programación que devuelve un valor booleano cuando se evalúa, que puede ser verdadero o falso . Una expresión booleana puede estar compuesta por una combinación de las constantes booleanas verdadero o falso , variables de tipo booleano , operadores de valor booleano y funciones de valor booleano . [34]
Álgebra de Boole
En matemáticas y lógica matemática , la rama del álgebra en la que los valores de las variables son los valores de verdad verdadero y falso , usualmente denotados 1 y 0, respectivamente. A diferencia del álgebra elemental , donde los valores de las variables son números y las operaciones primos son la suma y la multiplicación, las principales operaciones del álgebra de Boole son la conjunción y (denotada como ∧), la disyunción o (denotada como ∨), y la negación no (denotada como ¬). Es por lo tanto un formalismo para describir relaciones lógicas de la misma manera que el álgebra elemental describe relaciones numéricas.
byte
Unidad de información digital que, por lo general, consta de ocho bits, que representan un número binario. Históricamente, el byte era el número de bits que se utilizaba para codificar un solo carácter de texto en una computadora [35] [36] y, por esta razón, es la unidad de memoria direccionable más pequeña en muchas arquitecturas de computadoras.
Arranque
Los procedimientos que se implementan al iniciar una computadora o un dispositivo informático hasta que se puede utilizar. Puede iniciarse mediante hardware, como presionar un botón, o mediante un comando de software. Después de encender la computadora, es relativamente tonta y solo puede leer una parte de su almacenamiento llamada memoria de solo lectura. Allí, se almacena un pequeño programa llamado firmware . Realiza pruebas automáticas de encendido y, lo más importante, permite el acceso a otros tipos de memoria, como un disco duro y la memoria principal . El firmware carga programas más grandes en la memoria principal de la computadora y los ejecuta.

do

llamar de vuelta
Cualquier código ejecutable que se pasa como argumento a otro código que se espera que "devuelva la llamada" (ejecute) el argumento en un momento determinado. Esta ejecución puede ser inmediata, como en una devolución de llamada sincrónica , o puede ocurrir en un momento posterior, como en una devolución de llamada asincrónica .
unidad central de procesamiento (CPU)
El circuito electrónico dentro de una computadora que lleva a cabo las instrucciones de un programa informático al realizar las operaciones básicas aritméticas, lógicas, de control y de entrada/salida (E/S) especificadas por las instrucciones. La industria informática ha utilizado el término "unidad central de procesamiento" al menos desde principios de la década de 1960. [37] Tradicionalmente, el término "CPU" se refiere a un procesador , más específicamente a su unidad de procesamiento y unidad de control (UC), distinguiendo estos elementos centrales de una computadora de los componentes externos como la memoria principal y los circuitos de E/S. [38]
personaje
Una unidad de información que corresponde aproximadamente a un grafema , una unidad similar a un grafema o un símbolo, como en un alfabeto o silabario en la forma escrita de un lenguaje natural . [39]
cifrar

También cifrar .

En criptografía, un algoritmo para realizar cifrado o descifrado : una serie de pasos bien definidos que pueden seguirse como procedimiento.
clase
En programación orientada a objetos, una plantilla de código de programa extensible para crear objetos , proporcionando valores iniciales para el estado ( variables miembro ) e implementaciones de comportamiento (funciones miembro o métodos ). [40] [41] En muchos lenguajes, el nombre de la clase se utiliza como el nombre de la clase (la plantilla en sí), el nombre del constructor predeterminado de la clase (una subrutina que crea objetos) y como el tipo de objetos generados al instanciar la clase; estos conceptos distintos se combinan fácilmente. [41]
programación basada en clases

También orientación a clases .

Un estilo de programación orientada a objetos (POO) en el que la herencia se produce a través de la definición de "clases" de objetos, en lugar de a través de los objetos únicamente (compárese con la programación basada en prototipos ).
cliente
Pieza de hardware o software de computadora que accede a un servicio puesto a disposición por un servidor . El servidor a menudo (pero no siempre) se encuentra en otro sistema informático , en cuyo caso el cliente accede al servicio a través de una red . [42] El término se aplica al papel que desempeñan los programas o dispositivos en el modelo cliente-servidor .
Ingeniería de software para salas limpias
Proceso de desarrollo de software cuyo objetivo es producir software con un nivel de fiabilidad certificable . El proceso de sala limpia fue desarrollado originalmente por Harlan Mills y varios de sus colegas, incluido Alan Hevner en IBM . [43] El proceso de sala limpia se centra en la prevención de defectos, en lugar de en su eliminación.
cierre

También cierre léxico o cierre de función .

Una técnica para implementar la vinculación de nombres con alcance léxico en un lenguaje con funciones de primera clase . Operativamente , un cierre es un registro que almacena una función [a] junto con un entorno. [44]
Computación en la nube
Conjuntos compartidos de recursos de sistemas informáticos configurables y servicios de nivel superior que pueden aprovisionarse rápidamente con un mínimo esfuerzo de gestión, a menudo a través de Internet . La computación en la nube se basa en el uso compartido de recursos para lograr coherencia y economías de escala , de forma similar a un servicio público .
biblioteca de códigos
Conjunto de recursos no volátiles utilizados por programas informáticos, a menudo para el desarrollo de software . Estos pueden incluir datos de configuración, documentación, datos de ayuda, plantillas de mensajes, código preescrito y subrutinas, clases, valores o especificaciones de tipos. En el sistema operativo IBM OS/360 y sus sucesores se los denomina conjuntos de datos particionados .
codificación
La programación informática es el proceso de diseñar y construir un programa informático ejecutable para llevar a cabo una tarea informática específica. La programación implica tareas como el análisis, la generación de algoritmos, la determinación de la precisión y el consumo de recursos de los algoritmos y la implementación de algoritmos en un lenguaje de programación elegido (comúnmente denominado codificación [45] [46] ). El código fuente de un programa está escrito en uno o más lenguajes de programación. El propósito de la programación es encontrar una secuencia de instrucciones que automatice el desempeño de una tarea para resolver un problema determinado. Por lo tanto, el proceso de programación a menudo requiere experiencia en varias materias diferentes, incluido el conocimiento del dominio de la aplicación, algoritmos especializados y lógica formal .
teoría de codificación
El estudio de las propiedades de los códigos y su respectiva idoneidad para aplicaciones específicas. Los códigos se utilizan para la compresión de datos, la criptografía, la detección y corrección de errores , la transmisión de datos y el almacenamiento de datos . Los códigos son estudiados por diversas disciplinas científicas, como la teoría de la información , la ingeniería eléctrica , las matemáticas , la lingüística y la informática, con el fin de diseñar métodos de transmisión de datos eficientes y fiables. Esto normalmente implica la eliminación de la redundancia y la corrección o detección de errores en los datos transmitidos.
ciencia cognitiva
El estudio científico interdisciplinario de la mente y sus procesos. [47] Examina la naturaleza, las tareas y las funciones de la cognición (en un sentido amplio). Los científicos cognitivos estudian la inteligencia y el comportamiento, con un enfoque en cómo los sistemas nerviosos representan, procesan y transforman la información . Las facultades mentales de interés para los científicos cognitivos incluyen el lenguaje, la percepción, la memoria, la atención, el razonamiento y la emoción; para comprender estas facultades, los científicos cognitivos toman prestado de campos como la lingüística, la psicología, la inteligencia artificial , la filosofía , la neurociencia y la antropología. [48]
recopilación
Una colección o contenedor es una agrupación de un número variable de elementos de datos (posiblemente cero) que tienen algún significado compartido para el problema que se está resolviendo y necesitan ser operados juntos de alguna manera controlada. Generalmente, los elementos de datos serán del mismo tipo o, en lenguajes que admiten herencia, derivados de algún tipo ancestro común. Una colección es un concepto aplicable a tipos de datos abstractos y no prescribe una implementación específica como una estructura de datos concreta , aunque a menudo hay una opción convencional (ver Contenedor para una discusión de la teoría de tipos ).
valores separados por comas (CSV)
Un archivo de texto delimitado que utiliza una coma para separar valores. Un archivo CSV almacena datos tabulares (números y texto) en texto sin formato . Cada línea del archivo es un registro de datos. Cada registro consta de uno o más campos, separados por comas . El uso de la coma como separador de campos es el origen del nombre de este formato de archivo .
compilador
Un programa informático que transforma el código informático escrito en un lenguaje de programación (el lenguaje fuente) en otro lenguaje de programación (el lenguaje destino). Los compiladores son un tipo de traductor que dan soporte a dispositivos digitales, principalmente ordenadores. El nombre compilador se utiliza principalmente para programas que traducen el código fuente de un lenguaje de programación de alto nivel a un lenguaje de nivel inferior (por ejemplo , lenguaje ensamblador , código objeto o código máquina ) para crear un programa ejecutable. [49]
teoría de computabilidad
La teoría de la recursión , también conocida como teoría de la recursión , es una rama de la lógica matemática , de la informática y de la teoría de la computación que se originó en la década de 1930 con el estudio de las funciones computables y los grados de Turing . Desde entonces, el campo se ha expandido para incluir el estudio de la computabilidad y la definibilidad generalizadas. En estas áreas, la teoría de la recursión se superpone con la teoría de la prueba y la teoría de conjuntos descriptivos efectivos .
cálculo
Cualquier tipo de cálculo [50] [51] que incluya pasos aritméticos y no aritméticos y que siga un modelo bien definido , por ejemplo, un algoritmo. El estudio de la computación es fundamental para la disciplina de la informática.
Biología computacional
Implica el desarrollo y la aplicación de métodos teóricos y analíticos de datos, modelos matemáticos y técnicas de simulación computacional para el estudio de sistemas biológicos, ecológicos, conductuales y sociales. [52] El campo está ampliamente definido e incluye fundamentos en biología , matemáticas aplicadas , estadística , bioquímica , química , biofísica , biología molecular , genética , genómica , informática y evolución . [53] La biología computacional es diferente de la computación biológica , que es un subcampo de la informática y la ingeniería informática que utiliza la bioingeniería y la biología para construir computadoras .
química computacional
Rama de la química que utiliza la simulación por ordenador para ayudar a resolver problemas químicos. Utiliza métodos de química teórica , incorporados en programas informáticos eficientes, para calcular las estructuras y propiedades de las moléculas y los sólidos.
teoría de la complejidad computacional
Subcampo de la ciencia computacional que se centra en clasificar los problemas computacionales según su dificultad inherente y relacionar estas clases entre sí. Un problema computacional es una tarea resuelta por una computadora. Un problema computacional se puede resolver mediante la aplicación mecánica de pasos matemáticos, como un algoritmo.
modelo computacional
Un modelo matemático en la ciencia computacional que requiere amplios recursos computacionales para estudiar el comportamiento de un sistema complejo mediante simulación por computadora . [54]
neurociencia computacional

También neurociencia teórica o neurociencia matemática .

Una rama de la neurociencia que emplea modelos matemáticos, análisis teóricos y abstracciones del cerebro para comprender los principios que gobiernan el desarrollo , la estructura , la fisiología y las capacidades cognitivas del sistema nervioso . [55] [56] [57] [58]
Física computacional
Es el estudio y la implementación del análisis numérico para resolver problemas de física para los cuales ya existe una teoría cuantitativa . [59] Históricamente, la física computacional fue la primera aplicación de las computadoras modernas en la ciencia, y ahora es un subconjunto de la ciencia computacional .
ciencia computacional

También computación científica y computación científica ( CS ).

Un campo interdisciplinario que utiliza capacidades informáticas avanzadas para comprender y resolver problemas complejos. Es un área de la ciencia que abarca muchas disciplinas, pero que en esencia implica el desarrollo de modelos informáticos y simulaciones para comprender sistemas naturales complejos.
dirección computacional
Es la práctica de intervenir manualmente en un proceso computacional que de otro modo sería autónomo , para cambiar su resultado.
computadora
Dispositivo al que se le puede ordenar que realice secuencias de operaciones aritméticas o lógicas de forma automática mediante programación informática. Las computadoras modernas tienen la capacidad de seguir conjuntos generalizados de operaciones, denominados programas. Estos programas permiten a las computadoras realizar una gama extremadamente amplia de tareas.
arquitectura de computadora
Conjunto de reglas y métodos que describen la funcionalidad, la organización y la implementación de los sistemas informáticos. Algunas definiciones de arquitectura la definen como la descripción de las capacidades y el modelo de programación de una computadora, pero no de una implementación en particular. [60] En otras definiciones, la arquitectura de la computadora implica el diseño de la arquitectura del conjunto de instrucciones , el diseño de la microarquitectura , el diseño de la lógica y la implementación . [61]
almacenamiento de datos informáticos

También simplemente almacenamiento o memoria .

Una tecnología que consta de componentes informáticos y medios de grabación que se utilizan para retener datos digitales . El almacenamiento de datos es una función central y un componente fundamental de todos los sistemas informáticos modernos. [62] : 15–16 
ética informática
Una parte de la filosofía práctica que se ocupa de cómo los profesionales de la informática deben tomar decisiones respecto de la conducta profesional y social. [63]
gráficos de computadora
Imágenes y películas creadas mediante ordenadores. Por lo general, el término se refiere a datos de imágenes generados por ordenador con la ayuda de hardware y software gráficos especializados. Se trata de un área amplia y de reciente desarrollo de la informática.
red de computadoras

También red de datos .

Red de telecomunicaciones digital que permite a los nodos compartir recursos. En las redes informáticas, los dispositivos informáticos intercambian datos entre sí mediante conexiones ( enlaces de datos ) entre nodos. Estos enlaces de datos se establecen a través de medios de comunicación por cable, como cables de fibra óptica o de fibra óptica, o de medios inalámbricos , como Wi-Fi.
Programa de computadora
Es una colección de instrucciones [64] que pueden ser ejecutadas por una computadora para realizar una tarea específica.
Programación de computadoras
El proceso de diseñar y construir un programa informático ejecutable para llevar a cabo una tarea informática específica. La programación implica tareas como el análisis, la generación de algoritmos, la determinación de la precisión y el consumo de recursos de los algoritmos y la implementación de algoritmos en un lenguaje de programación elegido (comúnmente denominado codificación [45] [46] ). El código fuente de un programa está escrito en uno o más lenguajes de programación. El propósito de la programación es encontrar una secuencia de instrucciones que automatice el desempeño de una tarea para resolver un problema determinado. Por lo tanto, el proceso de programación a menudo requiere experiencia en varias materias diferentes, incluido el conocimiento del dominio de la aplicación, algoritmos especializados y lógica formal .
Ciencias de la Computación
La teoría, la experimentación y la ingeniería que forman la base para el diseño y el uso de las computadoras. Implica el estudio de algoritmos que procesan, almacenan y comunican información digital . Un científico informático se especializa en la teoría de la computación y el diseño de sistemas computacionales. [65]
científico informático
Persona que ha adquirido los conocimientos de la informática, el estudio de los fundamentos teóricos de la información y la computación y su aplicación. [66]
seguridad informática

También ciberseguridad [67] o seguridad de las tecnologías de la información ( seguridad informática ).

La protección de los sistemas informáticos contra el robo o daños a su hardware , software o datos electrónicos , así como contra la interrupción o mal funcionamiento de los servicios que prestan.
visión por computadora
Campo científico interdisciplinario que estudia cómo se puede lograr que las computadoras adquieran un conocimiento de alto nivel a partir de imágenes o videos digitales . Desde la perspectiva de la ingeniería, busca automatizar tareas que el sistema visual humano puede realizar. [68] [69] [70]
computación
Es cualquier actividad orientada a objetivos que requiera, se beneficie o cree maquinaria informática. Incluye el estudio de procesos algorítmicos y el desarrollo tanto de hardware como de software . Tiene aspectos científicos, de ingeniería, matemáticos, tecnológicos y sociales. Los principales campos de la informática incluyen la ingeniería informática , la ciencia informática , la ciberseguridad , la ciencia de datos , los sistemas de información , la tecnología de la información y la ingeniería de software . [71]
concatenación
En la teoría de lenguajes formales y programación informática , la concatenación de cadenas es la operación de unir cadenas de caracteres de extremo a extremo. Por ejemplo, la concatenación de "nieve" y "pelota" es "bola de nieve". En ciertas formalizaciones de la teoría de la concatenación , también llamada teoría de cuerdas, la concatenación de cadenas es una noción primitiva .
Concurrencia
Capacidad de ejecutar distintas partes o unidades de un programa, algoritmo o problema sin que ello afecte al resultado final. Esto permite la ejecución paralela de unidades concurrentes, lo que puede mejorar significativamente la velocidad general de ejecución en sistemas multiprocesador y multinúcleo. En términos más técnicos, la concurrencia se refiere a la propiedad de descomponibilidad de un programa, algoritmo o problema en componentes o unidades independientes del orden o parcialmente ordenados. [72]
condicional

También declaración condicional , expresión condicional y construcción condicional .

Característica de un lenguaje de programación que realiza distintos cálculos o acciones según si una condición booleana especificada por el programador se evalúa como verdadera o falsa. Aparte del caso de la predicción de bifurcación , esto siempre se logra alterando selectivamente el flujo de control en función de alguna condición.
recipiente
Es una clase , una estructura de datos , [73] [74] o un tipo de datos abstracto (ADT) cuyas instancias son colecciones de otros objetos. En otras palabras, almacenan objetos de una manera organizada que sigue reglas de acceso específicas. El tamaño del contenedor depende de la cantidad de objetos (elementos) que contiene. Las implementaciones subyacentes (heredadas) de varios tipos de contenedores pueden variar en tamaño y complejidad, y brindan flexibilidad para elegir la implementación correcta para cualquier escenario determinado.
estilo de pase continuo (CPS)
Un estilo de programación funcional en el que el control se transmite explícitamente en forma de continuación . Esto contrasta con el estilo directo , que es el estilo habitual de programación. Gerald Jay Sussman y Guy L. Steele, Jr. acuñaron la frase en AI Memo 349 (1975), que establece la primera versión del lenguaje de programación Scheme . [75] [76]
flujo de control

También flujo de control .

El orden en el que se ejecutan o evalúan las instrucciones , declaraciones o llamadas a funciones de un programa imperativo . El énfasis en el flujo de control explícito distingue a un lenguaje de programación imperativo de un lenguaje de programación declarativo .
Licencia Creative Commons (CC)
Una organización estadounidense sin fines de lucro dedicada a expandir la gama de obras creativas disponibles para que otros puedan desarrollarlas legalmente y compartirlas. [77] La ​​organización ha publicado varias licencias de derechos de autor , conocidas como licencias Creative Commons , de forma gratuita para el público.
criptografía
O criptología, es la práctica y el estudio de técnicas para la comunicación segura en presencia de terceros llamados adversarios . [78] De manera más general, la criptografía trata sobre la construcción y análisis de protocolos que evitan que terceros o el público lean mensajes privados; [79] varios aspectos de la seguridad de la información como la confidencialidad de los datos , la integridad de los datos , la autenticación y el no repudio [80] son ​​fundamentales para la criptografía moderna. La criptografía moderna existe en la intersección de las disciplinas de las matemáticas , la informática , la ingeniería eléctrica , la ciencia de la comunicación y la física . Las aplicaciones de la criptografía incluyen el comercio electrónico , las tarjetas de pago basadas en chip , las monedas digitales , las contraseñas de computadora y las comunicaciones militares .
CSV
Ver valores separados por comas .
acoso cibernético

También acoso cibernético o bullying online .

Una forma de intimidación o acoso mediante medios electrónicos.
ciberespacio
Tecnología digital generalizada e interconectada .

D

demonio
En los sistemas operativos de ordenadores multitarea , un daemon ( /ˈd iː m ən/ o / ˈd m ən / ) [ 81 ] es un programa informático que se ejecuta como un proceso en segundo plano , en lugar de estar bajo el control directo de un usuario interactivo. Tradicionalmente, los nombres de proceso de un daemon terminan con la letra d , para aclarar que el proceso es de hecho un daemon, y para diferenciar entre un daemon y un programa informático normal. Por ejemplo, syslogd es un daemon que implementa la facilidad de registro del sistema, y ​​sshd es un daemon que atiende conexiones SSH entrantes .
Datos
centro de datos

También centro de datos .

Espacio dedicado a alojar sistemas informáticos y componentes asociados, como sistemas de telecomunicaciones y almacenamiento de datos . Generalmente incluye componentes redundantes o de respaldo e infraestructura para suministro de energía , conexiones de comunicaciones de datos, controles ambientales (por ejemplo, aire acondicionado y extinción de incendios) y varios dispositivos de seguridad. [82]
base de datos
Una colección organizada de datos , generalmente almacenada y a la que se accede electrónicamente desde un sistema informático. Cuando las bases de datos son más complejas, suelen desarrollarse utilizando técnicas formales de diseño y modelado.
Minería de datos
Es un proceso de descubrimiento de patrones en grandes conjuntos de datos que involucra métodos en la intersección del aprendizaje automático , las estadísticas y los sistemas de bases de datos . [83] La minería de datos es un subcampo interdisciplinario de la informática y la estadística con el objetivo general de extraer información (con métodos inteligentes) de un conjunto de datos y transformar la información en una estructura comprensible para su uso posterior. [83] [84] [85] [86] La minería de datos es el paso de análisis del proceso de "descubrimiento de conocimiento en bases de datos", o KDD. [87] Además del paso de análisis en bruto, también involucra aspectos de gestión de datos y bases de datos , preprocesamiento de datos , consideraciones de modelos e inferencias , métricas de interés, consideraciones de complejidad , posprocesamiento de estructuras descubiertas, visualización y actualización en línea . [83]
ciencia de datos
Un campo interdisciplinario que utiliza métodos científicos, procesos, algoritmos y sistemas para extraer conocimiento y perspectivas de datos en diversas formas, tanto estructurados como no estructurados, [88] [89] similar a la minería de datos. La ciencia de datos es un "concepto para unificar las estadísticas, el análisis de datos, el aprendizaje automático y sus métodos relacionados" con el fin de "comprender y analizar fenómenos reales" con datos. [90] Emplea técnicas y teorías extraídas de muchos campos dentro del contexto de las matemáticas, la estadística, la ciencia de la información y la informática.
Estructura de datos
Un formato de organización, gestión y almacenamiento de datos que permite un acceso y una modificación eficientes . [91] [92] [93] Más precisamente, una estructura de datos es una colección de valores de datos, las relaciones entre ellos y las funciones u operaciones que se pueden aplicar a los datos. [94]
tipo de datos

También simplemente escribe .

Un atributo de datos que le dice al compilador o intérprete cómo el programador pretende utilizar los datos. La mayoría de los lenguajes de programación admiten tipos de datos comunes de real , entero y booleano . Un tipo de datos restringe los valores que una expresión, como una variable o una función, puede tomar. Este tipo de datos define las operaciones que se pueden realizar en los datos, el significado de los datos y la forma en que se pueden almacenar los valores de ese tipo. Un tipo de valor del que una expresión puede tomar su valor. [95] [96]
depuración
El proceso de encontrar y resolver defectos o problemas dentro de un programa informático que impiden el funcionamiento correcto del software informático o del sistema en su conjunto. Las tácticas de depuración pueden incluir depuración interactiva, análisis del flujo de control, pruebas unitarias , pruebas de integración , análisis de archivos de registro , monitoreo a nivel de aplicación o sistema , volcados de memoria y creación de perfiles .
declaración
En programación informática, una construcción del lenguaje que especifica las propiedades de un identificador: declara lo que una palabra (identificador) "significa". [97] Las declaraciones se utilizan más comúnmente para funciones , variables , constantes y clases , pero también se pueden utilizar para otras entidades como enumeraciones y definiciones de tipos. [97] Más allá del nombre (el identificador en sí) y el tipo de entidad (función, variable, etc.), las declaraciones suelen especificar el tipo de datos (para variables y constantes), o la firma de tipo (para funciones); los tipos también pueden incluir dimensiones, como para matrices. Una declaración se utiliza para anunciar la existencia de la entidad al compilador; esto es importante en aquellos lenguajes fuertemente tipados que requieren que las funciones, variables y constantes, y sus tipos, se especifiquen con una declaración antes de su uso, y se utiliza en la declaración adelantada . [98] El término "declaración" se contrasta con frecuencia con el término "definición", [97] pero el significado y el uso varían significativamente entre lenguajes.
datos digitales
En teoría de la información y sistemas de información , representación discreta y discontinua de información o de obras. Los números y las letras son representaciones de uso común.
Procesamiento de señales digitales ( DSP )
El uso de procesamiento digital , como el que se realiza mediante computadoras o procesadores de señales digitales más especializados , para realizar una amplia variedad de operaciones de procesamiento de señales . Las señales procesadas de esta manera son una secuencia de números que representan muestras de una variable continua en un dominio como el tiempo, el espacio o la frecuencia.
Simulación de eventos discretos ( DES )
Modelo del funcionamiento de un sistema como una secuencia discreta de eventos en el tiempo. Cada evento ocurre en un instante particular en el tiempo y marca un cambio de estado en el sistema. [99] Entre eventos consecutivos, se supone que no ocurre ningún cambio en el sistema; por lo tanto, la simulación puede saltar directamente en el tiempo de un evento al siguiente.
almacenamiento en disco
(También llamado a veces almacenamiento en unidad) es una categoría general de mecanismos de almacenamiento donde los datos se graban mediante diversos cambios electrónicos, magnéticos, ópticos o mecánicos en una capa superficial de uno o más discos giratorios. Una unidad de disco es un dispositivo que implementa dicho mecanismo de almacenamiento. Los tipos notables son la unidad de disco duro (HDD) que contiene un disco no extraíble, la unidad de disquete (FDD) y su disquete extraíble , y varias unidades de disco óptico (ODD) y medios de disco óptico asociados .
computación distribuida
Un campo de la informática que estudia los sistemas distribuidos. Un sistema distribuido es un sistema cuyos componentes se encuentran en diferentes computadoras en red , que se comunican y coordinan sus acciones pasándose mensajes entre sí. [100] Los componentes interactúan entre sí para lograr un objetivo común. Tres características significativas de los sistemas distribuidos son: concurrencia de componentes, falta de un reloj global y falla independiente de los componentes. [100] Los ejemplos de sistemas distribuidos varían desde sistemas basados ​​en SOA hasta juegos en línea multijugador masivos y aplicaciones peer to peer .
algoritmo divide y vencerás
Un paradigma de diseño de algoritmos basado en la recursión de múltiples ramificaciones. Un algoritmo de divide y vencerás funciona descomponiendo recursivamente un problema en dos o más subproblemas del mismo tipo o de tipos relacionados, hasta que estos se vuelven lo suficientemente simples como para resolverlos directamente. Las soluciones a los subproblemas se combinan entonces para dar una solución al problema original.
Sistema de nombres de dominio
Véase Sistema de nombres de dominio .
documentación
Texto escrito o ilustración que acompaña al software informático o que está integrado en el código fuente. Explica cómo funciona o cómo usarlo y puede tener distintos significados para personas que desempeñan distintas funciones.
dominio
Es el área temática a la que se dirige un programa informático . Es un término utilizado en ingeniería de software . Formalmente representa el tema objetivo de un proyecto de programación específico, ya sea definido de manera estricta o amplia. [101]
Sistema de nombres de dominio (DNS)
Sistema de nombres de dominio jerárquico y descentralizado para ordenadores, servicios u otros recursos conectados a Internet o a una red privada. Asocia información diversa con nombres de dominio asignados a cada una de las entidades participantes. Lo más destacado es que traduce los nombres de dominio más fáciles de memorizar a las direcciones IP numéricas necesarias para localizar e identificar servicios y dispositivos informáticos con los protocolos de red subyacentes . Al proporcionar un servicio de directorio distribuido a nivel mundial , el Sistema de nombres de dominio ha sido un componente esencial de la funcionalidad de Internet desde 1985.
formato de punto flotante de doble precisión
Formato de número informático . Representa un amplio rango dinámico de valores numéricos mediante el uso de un punto de base flotante.
descargar
En redes informáticas , recibir datos de un sistema remoto, normalmente un servidor [102] como un servidor web , un servidor FTP , un servidor de correo electrónico u otros sistemas similares. Esto contrasta con la carga, en la que los datos se envían a un servidor remoto. Una descarga es un archivo que se ofrece para descargar o que se ha descargado, o el proceso de recibir dicho archivo.

mi

dispositivo de borde
Dispositivo que proporciona un punto de entrada a las redes centrales de empresas o proveedores de servicios. Algunos ejemplos son los enrutadores , los conmutadores de enrutamiento , los dispositivos de acceso integrado (IAD), los multiplexores y una variedad de dispositivos de acceso a redes de área metropolitana (MAN) y redes de área amplia (WAN). Los dispositivos de borde también proporcionan conexiones a redes de operadores y proveedores de servicios. Un dispositivo de borde que conecta una red de área local a un conmutador o red troncal de alta velocidad (como un conmutador ATM) puede denominarse concentrador de borde.
emulador
Hardware o software que permite que un sistema informático (llamado host) se comporte como otro sistema informático.
cifrado
En criptografía , el cifrado es el proceso de codificación de información. Este proceso convierte la representación original de la información, conocida como texto simple , en una forma alternativa conocida como texto cifrado . Idealmente, solo las partes autorizadas pueden descifrar un texto cifrado a texto simple y acceder a la información original. El cifrado en sí no evita la interferencia, pero niega el contenido inteligible a un posible interceptor. Por razones técnicas, un esquema de cifrado generalmente utiliza una clave de cifrado pseudoaleatoria generada por un algoritmo . Es posible descifrar el mensaje sin poseer la clave, pero, para un esquema de cifrado bien diseñado, se requieren considerables recursos y habilidades computacionales. Un destinatario autorizado puede descifrar fácilmente el mensaje con la clave proporcionada por el originador a los destinatarios pero no a los usuarios no autorizados. Históricamente, se han utilizado varias formas de cifrado para ayudar en la criptografía. Las primeras técnicas de cifrado se utilizaban a menudo en la mensajería militar. Desde entonces, han surgido nuevas técnicas y se han vuelto comunes en todas las áreas de la informática moderna. [103] Los esquemas de cifrado modernos utilizan los conceptos de clave pública y clave simétrica . [103] Las técnicas de cifrado modernas garantizan la seguridad porque las computadoras modernas son ineficientes para descifrar el cifrado.
evento
Una acción o suceso reconocido por el software, que a menudo se origina de manera asincrónica desde el entorno externo y que puede ser manejado por el software . Debido a que un evento es una entidad que encapsula la acción y las variables contextuales que la desencadenan, a menudo se utiliza el acrónimo " Ejecución variable que encapsula el desencadenador nombrado " para aclarar el concepto.
programación basada en eventos
Un paradigma de programación en el que el flujo del programa está determinado por eventos como acciones del usuario ( clics del mouse , pulsaciones de teclas), salidas de sensores o mensajes de otros programas o subprocesos. La programación basada en eventos es el paradigma dominante utilizado en interfaces gráficas de usuario y otras aplicaciones (por ejemplo, aplicaciones web JavaScript ) que se centran en realizar ciertas acciones en respuesta a la entrada del usuario. Esto también es cierto para la programación de controladores de dispositivos (por ejemplo, P en pilas de controladores de dispositivos USB [104] ).
computación evolutiva
Familia de algoritmos de optimización global inspirados en la evolución biológica y el subcampo de la inteligencia artificial y la computación blanda que estudia estos algoritmos. En términos técnicos, son una familia de solucionadores de problemas de ensayo y error basados ​​en la población con un carácter de optimización metaheurística o estocástica .
ejecutable

También código ejecutable , archivo ejecutable , programa ejecutable o simplemente ejecutable .

Hace que una computadora "realice tareas indicadas según instrucciones codificadas ", [105] a diferencia de un archivo de datos que debe ser analizado por un programa para que tenga significado. La interpretación exacta depende del uso: si bien "instrucciones" se entiende tradicionalmente como instrucciones de código de máquina para una CPU física , en algunos contextos un archivo que contiene instrucciones de código de bytes o de lenguaje de script también puede considerarse ejecutable.
ejecución
En ingeniería informática y de software es el proceso mediante el cual un ordenador o máquina virtual ejecuta las instrucciones de un programa informático . Cada instrucción de un programa es una descripción de una acción particular que debe llevarse a cabo para resolver un problema específico; como las instrucciones de un programa y, por lo tanto, las acciones que describen son llevadas a cabo por una máquina ejecutora, se producen efectos específicos de acuerdo con la semántica de las instrucciones que se están ejecutando.
manejo de excepciones
El proceso de respuesta a la aparición, durante el cómputo, de excepciones (condiciones anómalas o excepcionales que requieren un procesamiento especial) que a menudo interrumpen el flujo normal de ejecución del programa. Se proporciona mediante construcciones de lenguajes de programación especializados, mecanismos de hardware de computadora como interrupciones o facilidades de IPC del sistema operativo como señales .
Detección de existencia
Una verificación de existencia antes de leer un archivo puede detectar y/o prevenir un error fatal.
expresión
En un lenguaje de programación, una combinación de una o más constantes, variables, operadores y funciones que el lenguaje de programación interpreta (según sus reglas particulares de precedencia y asociación) y calcula para producir ("devolver", en un entorno con estado) otro valor. Este proceso, al igual que en el caso de las expresiones matemáticas , se denomina evaluación.

F

sistema informático tolerante a fallos
Un sistema diseñado en torno al concepto de tolerancia a fallos . En esencia, deben ser capaces de seguir funcionando a un nivel de satisfacción en presencia de errores o averías.
estudio de factibilidad
Una investigación que tiene como objetivo descubrir de manera objetiva y racional las fortalezas y debilidades de un negocio existente o una empresa propuesta, las oportunidades y amenazas presentes en el entorno natural , los recursos necesarios para llevarlo a cabo y, en última instancia, las perspectivas de éxito. [106] [107] En sus términos más simples, los dos criterios para juzgar la viabilidad son el costo requerido y el valor que se desea obtener. [108]
campo
Los datos que tienen varias partes, conocidas como registro , se pueden dividir en campos. Las bases de datos relacionales organizan los datos como conjuntos de registros de base de datos , llamados filas . Cada registro consta de varios campos; los campos de todos los registros forman las columnas . Ejemplos de campos: nombre, género, color de pelo.
extensión de nombre de archivo
Identificador especificado como sufijo del nombre de un archivo informático . La extensión indica una característica del contenido del archivo o su uso previsto.
filtro (software)
Un programa informático o una subrutina que procesa un flujo y produce otro flujo. Si bien se puede utilizar un solo filtro de forma individual, con frecuencia se los combina para formar una cadena de procesamiento .
aritmética de punto flotante
En informática , la aritmética de punto flotante (FP) es una aritmética que utiliza la representación de números reales mediante fórmulas como aproximación para lograr un equilibrio entre rango y precisión. Por este motivo, el cálculo de punto flotante se encuentra a menudo en sistemas que incluyen números reales muy pequeños y muy grandes, que requieren tiempos de procesamiento rápidos. En general, un número se representa aproximadamente con una cantidad fija de dígitos significativos (la mantisa ) y se escala utilizando un exponente en una base fija; la base para la escala normalmente es dos, diez o dieciséis. Un número que se puede representar exactamente tiene la siguiente forma:
significativo × base exponente , {\displaystyle {\text{significante}}\times {\text{base}}^{\text{exponente}},}
donde significando es un entero , base es un entero mayor o igual a dos y exponente también es un entero. Por ejemplo:
1.2345 = 12345 significativo × 10 base 4 exponente . {\displaystyle 1.2345=\underbrace {12345} _{\text{significado}}\times \underbrace {10} _{\text{base}}\!\!\!\!\!\!^{\overbrace {-4} ^{\text{exponente}}}.}
bucle for

También bucle for .

Una declaración de flujo de control para especificar la iteración , que permite que el código se ejecute repetidamente. Se utilizan varias palabras clave para especificar esta declaración: los descendientes de ALGOL utilizan "for", mientras que los descendientes de Fortran utilizan "do". También existen otras posibilidades, por ejemplo, COBOL utiliza "PERFORM VARYING".
métodos formales
Un conjunto de técnicas basadas en matemáticas para la especificación , desarrollo y verificación de sistemas de software y hardware . [109] El uso de métodos formales para el diseño de software y hardware está motivado por la expectativa de que, como en otras disciplinas de ingeniería, realizar un análisis matemático apropiado puede contribuir a la confiabilidad y robustez de un diseño. [110]
verificación formal
El acto de probar o refutar la exactitud de los algoritmos previstos que subyacen a un sistema con respecto a una determinada especificación o propiedad formal, utilizando métodos formales de matemáticas. [111]
programación funcional
Paradigma de programación (un estilo de construcción de la estructura y los elementos de los programas informáticos) que trata el cálculo como la evaluación de funciones matemáticas y evita el cambio de estado y los datos mutables . Es un paradigma de programación declarativo en el que la programación se realiza con expresiones o declaraciones [112] en lugar de enunciados.

GRAMO

teoría de juegos
El estudio de modelos matemáticos de interacción estratégica entre tomadores de decisiones racionales. [113] Tiene aplicaciones en todos los campos de las ciencias sociales , así como en la lógica y la informática. Originalmente, abordaba los juegos de suma cero , en los que las ganancias o pérdidas de cada participante se equilibran exactamente con las de los demás participantes. Hoy en día, la teoría de juegos se aplica a una amplia gama de relaciones de comportamiento y ahora es un término general para la ciencia de la toma de decisiones lógicas en humanos, animales y computadoras.
basura que entra, basura que sale (GIGO)
Término utilizado para describir el concepto de que los datos de entrada defectuosos o sin sentido producen resultados sin sentido o "basura". También puede referirse a la naturaleza implacable de la programación, en la que un programa mal escrito puede producir un comportamiento sin sentido.
Formato de intercambio de gráficos
gigabyte
Múltiplo de la unidad byte para información digital. El prefijo giga significa 10 9 en el Sistema Internacional de Unidades (SI). Por lo tanto, un gigabyte equivale a 1 000 000 000 bytes . El símbolo de la unidad del gigabyte es GB.
variable global
En programación informática, variable con alcance global, lo que significa que es visible (y, por lo tanto, accesible) en todo el programa, a menos que esté oculta . El conjunto de todas las variables globales se conoce como entorno global o estado global . En los lenguajes compilados, las variables globales son generalmente variables estáticas , cuya extensión (vida útil) es todo el tiempo de ejecución del programa, aunque en los lenguajes interpretados (incluidos los intérpretes de línea de comandos ), las variables globales generalmente se asignan dinámicamente cuando se declaran, ya que no se conocen de antemano.
teoría de grafos
En matemáticas, el estudio de los grafos , que son estructuras matemáticas que se utilizan para modelar relaciones de pares entre objetos. Un grafo en este contexto está formado por vértices (también llamados nodos o puntos ) que están conectados por aristas (también llamadas enlaces o líneas ). Se hace una distinción entre grafos no dirigidos, donde las aristas unen dos vértices simétricamente, y grafos dirigidos, donde las aristas unen dos vértices asimétricamente.

yo

manejar
En programación informática , un identificador es una referencia abstracta a un recurso que se utiliza cuando el software de aplicación hace referencia a bloques de memoria u objetos administrados por otro sistema, como una base de datos o un sistema operativo .
Problema difícil
La teoría de la complejidad computacional se centra en clasificar los problemas computacionales según su dificultad inherente y relacionar estas clases entre sí. Un problema computacional es una tarea resuelta por una computadora. Un problema computacional se puede resolver mediante la aplicación mecánica de pasos matemáticos, como un algoritmo.
función hash
Cualquier función que se pueda utilizar para asignar datos de tamaño arbitrario a datos de un tamaño fijo. Los valores devueltos por una función hash se denominan valores hash , códigos hash , resúmenes o simplemente hashes . Las funciones hash se utilizan a menudo en combinación con una tabla hash , una estructura de datos común utilizada en software informático para la búsqueda rápida de datos. Las funciones hash aceleran la búsqueda en tablas o bases de datos al detectar registros duplicados en un archivo grande.
tabla hash
En informática, una tabla hash ( mapa hash ) es una estructura de datos que implementa un tipo de datos abstracto de matriz asociativa , una estructura que puede asignar claves a valores. Una tabla hash utiliza una función hash para calcular un índice en una matriz de contenedores o ranuras , desde donde se puede encontrar el valor deseado.
montón
Una estructura de datos especializada basada en árboles que es esencialmente un árbol casi completo [114] que satisface la propiedad del montón: si P es un nodo padre de C, entonces la clave (el valor ) de P es mayor o igual que (en un montón máximo ) o menor o igual que (en un montón mínimo ) la clave de C. [115] El nodo en la "parte superior" del montón (sin padres) se llama nodo raíz .
ordenación por montículos
Un algoritmo de ordenamiento basado en comparación . Heapsort puede considerarse como un ordenamiento por selección mejorado : al igual que ese algoritmo, divide su entrada en una región ordenada y otra no ordenada, y reduce iterativamente la región no ordenada extrayendo el elemento más grande y moviéndolo a la región ordenada. La mejora consiste en el uso de una estructura de datos de montón en lugar de una búsqueda en tiempo lineal para encontrar el máximo. [116]
interacción hombre-computadora (HCI)
Investiga el diseño y el uso de la tecnología informática, centrándose en las interfaces entre las personas ( usuarios ) y las computadoras. Los investigadores en el campo de la HCI observan las formas en que los humanos interactúan con las computadoras y diseñan tecnologías que permiten a los humanos interactuar con las computadoras de formas novedosas. Como campo de investigación, la interacción entre humanos y computadoras se sitúa en la intersección de la informática, las ciencias del comportamiento , el diseño , los estudios de medios y varios otros campos de estudio .

I

identificador
En los lenguajes informáticos , los identificadores son tokens (también llamados símbolos ) que nombran entidades del lenguaje. Algunos de los tipos de entidades que un identificador puede denotar incluyen variables , tipos , etiquetas , subrutinas y paquetes .
IDE
Entorno de desarrollo integrado.
procesamiento de imágenes
programación imperativa
Un paradigma de programación que utiliza instrucciones que modifican el estado de un programa. De forma muy similar a cómo el modo imperativo en los lenguajes naturales expresa comandos, un programa imperativo consiste en comandos que la computadora debe ejecutar. La programación imperativa se centra en describir cómo funciona un programa.
modelo de construcción incremental
Método de desarrollo de software en el que el producto se diseña , se implementa y se prueba de forma incremental (se añade un poco más cada vez) hasta que el producto está terminado. Implica tanto desarrollo como mantenimiento. El producto se define como terminado cuando satisface todos sus requisitos. Este modelo combina los elementos del modelo en cascada con la filosofía iterativa del prototipado .
análisis del espacio de información
Un método determinista, mejorado por la inteligencia de las máquinas, para localizar y evaluar recursos para esfuerzos centrados en el equipo.
visualización de información
herencia
En programación orientada a objetos, mecanismo que consiste en basar un objeto o una clase en otro objeto ( herencia basada en prototipos ) o clase ( herencia basada en clases ), manteniendo una implementación similar. También se define como la derivación de nuevas clases (subclases) a partir de las existentes (superclase o clase base ) y su formación en una jerarquía de clases.
Entrada/salida (E/S)

También informalmente io o IO .

La comunicación entre un sistema de procesamiento de información, como una computadora, y el mundo exterior, posiblemente un ser humano u otro sistema de procesamiento de información. Las entradas son las señales o datos que recibe el sistema y las salidas son las señales o datos que envía. El término también se puede utilizar como parte de una acción; "realizar E/S" es realizar una operación de entrada o salida .
ordenación por inserción
Un algoritmo de clasificación simple que construye la matriz (o lista) ordenada final un elemento a la vez.
ciclo de instrucción

También ciclo de búsqueda-decodificación-ejecución o simplemente ciclo de búsqueda-ejecución .

Ciclo que sigue la unidad central de procesamiento (CPU) desde que se enciende hasta que se apaga el ordenador para procesar instrucciones. Está compuesto por tres etapas principales: la etapa de búsqueda, la etapa de decodificación y la etapa de ejecución.
entero
Un dato de tipo de datos integrales, un tipo de datos que representa un rango de números enteros matemáticos . Los tipos de datos integrales pueden tener diferentes tamaños y pueden o no permitirse que contengan valores negativos. Los números enteros se representan comúnmente en una computadora como un grupo de dígitos binarios (bits). El tamaño de la agrupación varía, por lo que el conjunto de tamaños de números enteros disponibles varía entre los diferentes tipos de computadoras. El hardware de la computadora, incluidas las máquinas virtuales , casi siempre proporciona una forma de representar un registro de procesador o una dirección de memoria como un número entero.
entorno de desarrollo integrado (IDE)
Una aplicación de software que proporciona a los programadores informáticos herramientas completas para el desarrollo de software . Un IDE normalmente consta de al menos un editor de código fuente , herramientas de automatización de compilación y un depurador .
Prueba de integración
(a veces llamada integración y prueba, abreviada como I&T) es la fase en la prueba de software en la que los módulos de software individuales se combinan y prueban como un grupo. La prueba de integración se lleva a cabo para evaluar el cumplimiento de un sistema o componente con los requisitos funcionales especificados . [117] Ocurre después de la prueba unitaria y antes de la prueba de validación . La prueba de integración toma como entrada módulos que han sido probados unitariamente, los agrupa en agregados más grandes, aplica pruebas definidas en un plan de prueba de integración a esos agregados y entrega como salida el sistema integrado listo para la prueba del sistema . [118]
propiedad intelectual (PI)
Una categoría de propiedad legal que incluye creaciones intangibles del intelecto humano. [119] [120] Hay muchos tipos de propiedad intelectual y algunos países reconocen más que otros. [121] [122] [123] [124] [125] Los tipos más conocidos son los derechos de autor , las patentes , las marcas comerciales y los secretos comerciales .
agente inteligente
En inteligencia artificial , un agente inteligente ( IA ) se refiere a una entidad autónoma que actúa, dirigiendo su actividad hacia el logro de objetivos (es decir, es un agente ), sobre un entorno utilizando la observación a través de sensores y actuadores consecuentes (es decir, es inteligente). [126] Los agentes inteligentes también pueden aprender o usar el conocimiento para lograr sus objetivos. Pueden ser muy simples o muy complejos . Una máquina refleja, como un termostato , se considera un ejemplo de agente inteligente. [127]
interfaz
Un límite compartido a través del cual dos o más componentes separados de un sistema informático intercambian información. El intercambio puede ser entre software, hardware informático , dispositivos periféricos , humanos y combinaciones de estos. [128] Algunos dispositivos de hardware informático, como una pantalla táctil , pueden enviar y recibir datos a través de la interfaz, mientras que otros, como un mouse o un micrófono, pueden proporcionar solo una interfaz para enviar datos a un sistema determinado. [129]
documentación interna
Se dice que un software informático tiene documentación interna si las notas sobre cómo y por qué funcionan las distintas partes del código se incluyen dentro del código fuente como comentarios. A menudo se combina con nombres de variables significativos con la intención de proporcionar a los futuros programadores potenciales un medio para comprender el funcionamiento del código. Esto contrasta con la documentación externa , donde los programadores guardan sus notas y explicaciones en un documento separado.
Internet
Sistema global de redes informáticas interconectadas que utilizan el conjunto de protocolos de Internet (TCP/IP) para conectar dispositivos de todo el mundo. Es una red de redes que consta de redes privadas, públicas, académicas, empresariales y gubernamentales de alcance local a global, conectadas entre sí mediante una amplia gama de tecnologías de redes electrónicas, inalámbricas y ópticas.
robot de internet

También robot web , robot , o simplemente bot .

Una aplicación de software que ejecuta tareas automatizadas (scripts) a través de Internet . [130] Por lo general, los bots realizan tareas que son simples y estructuralmente repetitivas, a una velocidad mucho mayor de la que sería posible para un humano solo. El uso más grande de los bots es en el rastreo web ( web crawler ), en el que un script automatizado obtiene, analiza y archiva información de servidores web a muchas veces la velocidad de un humano .
intérprete
Un programa de computadora que ejecuta directamente instrucciones escritas en un lenguaje de programación o script , sin necesidad de que hayan sido compiladas previamente en un programa en lenguaje máquina .
invariante
Se pueden encontrar invariantes que se puede considerar verdaderos durante la ejecución de un programa o durante alguna parte de él. Se trata de una afirmación lógica que siempre se considera verdadera durante una determinada fase de la ejecución. Por ejemplo, un invariante de bucle es una condición que es verdadera al principio y al final de cada ejecución de un bucle.
iteración
Es la repetición de un proceso con el fin de generar un resultado. La secuencia se acercará a un punto final o valor final. Cada repetición del proceso es una única iteración, y el resultado de cada iteración es entonces el punto de partida de la siguiente iteración. En matemáticas y ciencias de la computación , la iteración (junto con la técnica relacionada de recursión ) es un elemento estándar de los algoritmos .

Yo

Java
Un lenguaje de programación de propósito general que está basado en clases , orientado a objetos [131] (aunque no es un lenguaje OO puro [132] ), y diseñado para tener la menor cantidad posible de dependencias de implementación. Su objetivo es permitir a los desarrolladores de aplicaciones " escribir una vez, ejecutar en cualquier lugar " (WORA), [133] lo que significa que el código Java compilado puede ejecutarse en todas las plataformas que admiten Java sin necesidad de recompilación. [134]

K

núcleo
La primera sección de un sistema operativo que se carga en la memoria. Como centro del sistema operativo, el núcleo debe ser pequeño, eficiente y cargarse en un área protegida de la memoria para que no se pueda sobrescribir. Puede ser responsable de tareas esenciales como la gestión de unidades de disco, la gestión de archivos, la gestión de memoria, la gestión de procesos, etc.

yo

biblioteca (informática)
Conjunto de recursos no volátiles utilizados por programas informáticos, a menudo para el desarrollo de software . Estos pueden incluir datos de configuración, documentación, datos de ayuda, plantillas de mensajes, código preescrito y subrutinas, clases, valores o especificaciones de tipos.

También búsqueda secuencial .

Método para buscar un elemento dentro de una lista. Comprueba secuencialmente cada elemento de la lista hasta encontrar una coincidencia o hasta que se haya buscado en toda la lista. [135]
lista enlazada
Conjunto lineal de elementos de datos cuyo orden no está determinado por su ubicación física en la memoria, sino que cada elemento apunta al siguiente. Es una estructura de datos que consta de un conjunto de nodos que juntos representan una secuencia .
enlazador
o editor de enlaces, es un programa de utilidad informática que toma uno o más archivos de objetos generados por un compilador o un ensamblador y los combina en un único archivo ejecutable , archivo de biblioteca u otro archivo 'objeto'. Una versión más simple que escribe su salida directamente en la memoria se llama cargador , aunque la carga se considera típicamente un proceso separado. [136]
lista
Un tipo de datos abstracto que representa un número contable de valores ordenados, donde el mismo valor puede aparecer más de una vez. Una instancia de una lista es una representación informática del concepto matemático de una secuencia finita ; el análogo (potencialmente) infinito de una lista es un flujo. [137] : §3.5  Las listas son un ejemplo básico de contenedores, ya que contienen otros valores. Si el mismo valor aparece varias veces, cada aparición se considera un elemento distinto.
cargador
Parte de un sistema operativo que se encarga de cargar programas y bibliotecas . Es una de las etapas esenciales en el proceso de inicio de un programa, ya que coloca los programas en la memoria y los prepara para su ejecución. La carga de un programa implica leer el contenido del archivo ejecutable que contiene las instrucciones del programa en la memoria y luego realizar otras tareas preparatorias necesarias para preparar el ejecutable para su ejecución. Una vez que se completa la carga, el sistema operativo inicia el programa pasando el control al código del programa cargado.
error de lógica
En programación informática, un error en un programa que hace que funcione incorrectamente, pero no que finalice de forma anormal (o se bloquee ). Un error lógico produce un resultado no deseado o no previsto, u otro comportamiento, aunque puede que no se reconozca inmediatamente como tal.
programación lógica
Un tipo de paradigma de programación que se basa principalmente en la lógica formal . Cualquier programa escrito en un lenguaje de programación lógica es un conjunto de oraciones en forma lógica, que expresan hechos y reglas sobre algún dominio de problema. Las principales familias de lenguajes de programación lógica incluyen Prolog , programación de conjuntos de respuestas (ASP) y Datalog .

METRO

aprendizaje automático (ML)
El estudio científico de algoritmos y modelos estadísticos que utilizan los sistemas informáticos para realizar una tarea específica sin utilizar instrucciones explícitas, basándose en patrones e inferencias . Se considera un subconjunto de la inteligencia artificial . Los algoritmos de aprendizaje automático construyen un modelo matemático basado en datos de muestra, conocidos como " datos de entrenamiento ", para hacer predicciones o tomar decisiones sin estar programados explícitamente para realizar la tarea. [138] [139]
Visión artificial (MV)
La tecnología y los métodos utilizados para proporcionar inspección y análisis automáticos basados ​​en imágenes para aplicaciones como la inspección automática, el control de procesos y la guía de robots, generalmente en la industria. La visión artificial se refiere a muchas tecnologías, productos de software y hardware, sistemas integrados, acciones, métodos y experiencia. La visión artificial como disciplina de ingeniería de sistemas puede considerarse distinta de la visión por computadora , una forma de ciencia informática. Intenta integrar tecnologías existentes de nuevas formas y aplicarlas para resolver problemas del mundo real. El término es el que prevalece para estas funciones en entornos de automatización industrial, pero también se utiliza para estas funciones en otros entornos, como la seguridad y la guía de vehículos.
lógica matemática
Subcampo de las matemáticas que explora las aplicaciones de la lógica formal a las matemáticas. Tiene estrechas conexiones con la metamatemática , los fundamentos de las matemáticas y la informática teórica . [140] Los temas unificadores de la lógica matemática incluyen el estudio del poder expresivo de los sistemas formales y el poder deductivo de los sistemas de prueba formales .
matriz
En matemáticas , una matriz (en plural: matrices) es una matriz rectangular [141] (ver matriz irregular ) de números , símbolos o expresiones , dispuestas en filas y columnas . [142] [143]
memoria
El almacenamiento de datos informáticos, a menudo denominado almacenamiento, es una tecnología que consta de componentes informáticos y medios de grabación que se utilizan para retener datos digitales . Es una función central y un componente fundamental de las computadoras. [62] : 15–16 
ordenación por fusión

También mergesort .

Un algoritmo de ordenamiento basado en comparación, de propósito general y eficiente . La mayoría de las implementaciones producen un ordenamiento estable , lo que significa que el orden de los elementos iguales es el mismo en la entrada y la salida. El ordenamiento por combinación es un algoritmo de división y conquista que fue inventado por John von Neumann en 1945. [144] Una descripción y un análisis detallados del ordenamiento por combinación de abajo a arriba aparecieron en un informe de Goldstine y von Neumann ya en 1948. [145]
método
En programación orientada a objetos (POO), un procedimiento asociado con un mensaje y un objeto. Un objeto consta de datos y comportamiento. Los datos y el comportamiento comprenden una interfaz, que especifica cómo puede ser utilizado el objeto por cualquiera de los diversos consumidores [146] del objeto.
metodología
En ingeniería de software , un proceso de desarrollo de software es el proceso de dividir el trabajo de desarrollo de software en fases distintas para mejorar el diseño , la gestión de productos y la gestión de proyectos . También se lo conoce como ciclo de vida de desarrollo de software (SDLC). La metodología puede incluir la predefinición de entregables y artefactos específicos que son creados y completados por un equipo de proyecto para desarrollar o mantener una aplicación. [147]
módem

Acrónimo de modulador-demodulador .

Dispositivo de hardware que convierte datos a un formato adecuado para un medio de transmisión de modo que puedan transmitirse de una computadora a otra (históricamente a través de cables telefónicos). Un módem modula una o más señales de ondas portadoras para codificar información digital para su transmisión y demodula señales para decodificar la información transmitida. El objetivo es producir una señal que pueda transmitirse fácilmente y decodificarse de manera confiable para reproducir los datos digitales originales. Los módems se pueden utilizar con casi cualquier medio de transmisión de señales analógicas, desde diodos emisores de luz hasta radio . Un tipo común de módem es uno que convierte los datos digitales de una computadora en una señal eléctrica modulada para su transmisión a través de líneas telefónicas y demodulada por otro módem en el lado del receptor para recuperar los datos digitales.

norte

Procesamiento del lenguaje natural (PLN)
Subcampo de la lingüística , la informática, la ingeniería de la información y la inteligencia artificial que estudia las interacciones entre las computadoras y los lenguajes humanos (naturales), en particular cómo programar las computadoras para procesar y analizar grandes cantidades de datos en lenguaje natural . Los desafíos en el procesamiento del lenguaje natural con frecuencia involucran el reconocimiento de voz , la comprensión del lenguaje natural y la generación del lenguaje natural .
nodo
Es una unidad básica de una estructura de datos , como una lista enlazada o una estructura de datos en forma de árbol . Los nodos contienen datos y también pueden vincularse con otros nodos. Los vínculos entre nodos suelen implementarse mediante punteros .
teoría de números
Una rama de las matemáticas puras dedicada principalmente al estudio de los números enteros y las funciones con valores enteros .
análisis numérico
El estudio de algoritmos que utilizan aproximación numérica (a diferencia de manipulaciones simbólicas ) para los problemas de análisis matemático (a diferencia de las matemáticas discretas ).
método numérico
En el análisis numérico , un método numérico es una herramienta matemática diseñada para resolver problemas numéricos. La implementación de un método numérico con una comprobación de convergencia adecuada en un lenguaje de programación se denomina algoritmo numérico.

Oh

objeto
Un objeto puede ser una variable , una estructura de datos , una función o un método y, como tal, es un valor en la memoria referenciado por un identificador . En el paradigma de programación orientada a objetos basado en clases , objeto se refiere a una instancia particular de una clase , donde el objeto puede ser una combinación de variables, funciones y estructuras de datos. En la gestión de bases de datos relacionales , un objeto puede ser una tabla o columna, o una asociación entre datos y una entidad de base de datos (como relacionar la edad de una persona con una persona específica). [148]
código objeto

También módulo de objeto .

El producto de un compilador. [149] En un sentido general, el código objeto es una secuencia de instrucciones o sentencias en un lenguaje informático, [150] normalmente un lenguaje de código de máquina (es decir, binario ) o un lenguaje intermedio como el lenguaje de transferencia de registros (RTL). El término indica que el código es el objetivo o el resultado del proceso de compilación, y algunas fuentes tempranas se refieren al código fuente como un "programa objeto".
Análisis y diseño orientado a objetos (OOAD)
Un enfoque técnico para analizar y diseñar una aplicación, un sistema o un negocio mediante la aplicación de programación orientada a objetos, además de utilizar modelado visual durante todo el proceso de desarrollo de software para guiar la comunicación con las partes interesadas y la calidad del producto.
Programación orientada a objetos (POO)
Un paradigma de programación basado en el concepto de " objetos ", que pueden contener datos , en forma de campos (a menudo conocidos como atributos o propiedades ), y código, en forma de procedimientos (a menudo conocidos como métodos ). Una característica de los objetos es que los procedimientos de un objeto pueden acceder y, a menudo, modificar los campos de datos del objeto con el que están asociados (los objetos tienen una noción de " esto " o "yo"). En OOP, los programas de computadora se diseñan haciéndolos a partir de objetos que interactúan entre sí. [151] [152] Los lenguajes OOP son diversos, pero los más populares están basados ​​en clases , lo que significa que los objetos son instancias de clases, que también determinan sus tipos .
software de código abierto (OSS)
Un tipo de software informático en el que el código fuente se publica bajo una licencia en la que el titular de los derechos de autor otorga a los usuarios los derechos para estudiar, modificar y distribuir el software a cualquier persona y para cualquier propósito. [153] El software de código abierto puede desarrollarse de manera pública y colaborativa . El software de código abierto es un ejemplo destacado de colaboración abierta . [154]
sistema operativo (OS)
Software de sistema que administra el hardware y los recursos de software de la computadora y proporciona servicios comunes para los programas de la computadora.
fibra óptica
Una fibra flexible y transparente hecha al estirar vidrio ( sílice ) o plástico hasta un diámetro ligeramente más grueso que el de un cabello humano . [155] Las fibras ópticas se utilizan con mayor frecuencia como un medio para transmitir luz entre los dos extremos de la fibra y encuentran un amplio uso en las comunicaciones por fibra óptica , donde permiten la transmisión a distancias más largas y a mayores anchos de banda (velocidades de datos) que los cables eléctricos. Se utilizan fibras en lugar de cables metálicos porque las señales viajan a través de ellas con menos pérdida ; además, las fibras son inmunes a la interferencia electromagnética , un problema del que sufren los cables metálicos. [156]

PAG

Programación en pareja
Una técnica de desarrollo de software ágil en la que dos programadores trabajan juntos en una estación de trabajo. Uno, el conductor , escribe el código mientras que el otro, el observador o navegador , [157] revisa cada línea de código a medida que se escribe. Los dos programadores intercambian roles con frecuencia.
computación paralela
Un tipo de computación en el que se llevan a cabo muchos cálculos o la ejecución de procesos simultáneamente. [158] Los problemas grandes a menudo se pueden dividir en problemas más pequeños, que luego se pueden resolver al mismo tiempo. Existen varias formas diferentes de computación paralela: a nivel de bits , a nivel de instrucciones , de datos y de tareas .
parámetro

También argumento formal .

En programación informática, un tipo especial de variable , utilizada en una subrutina para referirse a uno de los datos proporcionados como entrada a la subrutina. [b] Estos datos son los valores [159] [160] [161] de los argumentos (a menudo llamados argumentos reales o parámetros reales ) con los que se llamará/invocará la subrutina. Por lo general, se incluye una lista ordenada de parámetros en la definición de una subrutina , de modo que, cada vez que se llama a la subrutina, se evalúan sus argumentos para esa llamada y los valores resultantes se pueden asignar a los parámetros correspondientes.
periférico
Cualquier dispositivo auxiliar o complementario conectado o integrado a un sistema informático y utilizado para enviar información a la computadora o recuperar información de ella. Un dispositivo de entrada envía datos o instrucciones a la computadora; un dispositivo de salida proporciona información de la computadora al usuario; y un dispositivo de entrada/salida realiza ambas funciones.
puntero
Es un objeto en muchos lenguajes de programación que almacena una dirección de memoria . Esta puede ser la de otro valor ubicado en la memoria de la computadora o, en algunos casos, la de un hardware de computadora mapeado en memoria . Un puntero hace referencia a una ubicación en la memoria, y obtener el valor almacenado en esa ubicación se conoce como desreferenciar el puntero. Como analogía, un número de página en el índice de un libro podría considerarse un puntero a la página correspondiente; la desreferenciación de dicho puntero se haría pasando a la página con el número de página dado y leyendo el texto que se encuentra en esa página. El formato y el contenido reales de una variable de puntero dependen de la arquitectura de la computadora subyacente .
postcondición
En programación informática, condición o predicado que siempre debe ser verdadero justo después de la ejecución de alguna sección de código o después de una operación en una especificación formal . Las poscondiciones a veces se prueban utilizando afirmaciones dentro del propio código. A menudo, las poscondiciones simplemente se incluyen en la documentación de la sección de código afectada.
condición previa
En programación informática, condición o predicado que siempre debe ser verdadero justo antes de la ejecución de alguna sección de código o antes de una operación en una especificación formal . Si se viola una condición previa, el efecto de la sección de código se vuelve indefinido y, por lo tanto, puede o no llevar a cabo su función prevista. Pueden surgir problemas de seguridad debido a condiciones previas incorrectas.
almacenamiento primario
(También conocida como memoria principal , memoria interna o memoria principal ), a menudo denominada simplemente memoria , es la única a la que la CPU tiene acceso directo. La CPU lee continuamente las instrucciones almacenadas allí y las ejecuta según sea necesario. Todos los datos sobre los que se opera activamente también se almacenan allí de manera uniforme.
tipo de datos primitivo
cola de prioridad
Un tipo de datos abstracto que es como una estructura de datos de cola o pila normal, pero donde además cada elemento tiene una "prioridad" asociada. En una cola de prioridad, un elemento con alta prioridad se sirve antes que un elemento con baja prioridad. En algunas implementaciones, si dos elementos tienen la misma prioridad, se sirven según el orden en el que se pusieron en cola, mientras que en otras implementaciones, el orden de los elementos con la misma prioridad no está definido.
programación procedimental
Generación procedimental
procedimiento
En programación informática , una subrutina es una secuencia de instrucciones de programa que realiza una tarea específica, empaquetada como una unidad. Esta unidad puede luego usarse en programas donde sea que se deba realizar esa tarea en particular.Las subrutinas pueden definirse dentro de los programas o por separado en bibliotecas que pueden ser utilizadas por muchos programas. En diferentes lenguajes de programación, una subrutina puede denominarse rutina, subprograma, función, método o procedimiento. Técnicamente, todos estos términos tienen definiciones diferentes. A veces se utiliza el término genérico de unidad invocable. [162]
fase del ciclo de vida del programa
Las fases del ciclo de vida del programa son las etapas por las que pasa un programa informático, desde su creación inicial hasta su implementación y ejecución . Las fases son el tiempo de edición, el tiempo de compilación, el tiempo de enlace, el tiempo de distribución, el tiempo de instalación, el tiempo de carga y el tiempo de ejecución.
lenguaje de programación
Un lenguaje formal , que comprende un conjunto de instrucciones que producen varios tipos de resultados . Los lenguajes de programación se utilizan en la programación informática para implementar algoritmos.
Implementación del lenguaje de programación
Es un sistema para ejecutar programas informáticos . Existen dos enfoques generales para la implementación de lenguajes de programación: interpretación y compilación . [163]
Teoría del lenguaje de programación
(PLT) es una rama de la informática que se ocupa del diseño, implementación, análisis, caracterización y clasificación de los lenguajes de programación y de sus características individuales . Se enmarca dentro de la disciplina de la informática, tanto dependiendo como afectando a las matemáticas , la ingeniería de software , la lingüística e incluso la ciencia cognitiva . Se ha convertido en una rama muy reconocida de la informática, y un área de investigación activa, con resultados publicados en numerosas revistas dedicadas a PLT, así como en publicaciones generales de informática e ingeniería.
Prólogo
Es un lenguaje de programación lógica asociado con la inteligencia artificial y la lingüística computacional . [164] [165] [166] Prolog tiene sus raíces en la lógica de primer orden , una lógica formal , y a diferencia de muchos otros lenguajes de programación , Prolog está pensado principalmente como un lenguaje de programación declarativo : la lógica del programa se expresa en términos de relaciones , representadas como hechos y reglas . Un cálculo se inicia ejecutando una consulta sobre estas relaciones. [167]
Pitón
Es un lenguaje de programación interpretado , de alto nivel y de propósito general . Creado por Guido van Rossum y lanzado por primera vez en 1991, la filosofía de diseño de Python enfatiza la legibilidad del código con su notable uso de espacios en blanco significativos . Sus construcciones de lenguaje y su enfoque orientado a objetos tienen como objetivo ayudar a los programadores a escribir código claro y lógico para proyectos pequeños y de gran escala. [168]

Q

computación cuántica
El uso de fenómenos mecánico-cuánticos como la superposición y el entrelazamiento para realizar cálculos. Para realizar dichos cálculos se utiliza una computadora cuántica, que puede implementarse de manera teórica o física. [169] : I-5 
cola
Una colección en la que las entidades de la colección se mantienen en orden y las operaciones principales (o únicas) en la colección son la adición de entidades a la posición terminal trasera, conocida como enqueue , y la eliminación de entidades de la posición terminal delantera, conocida como dequeue .
ordenación rápida

También ordenación por intercambio de particiones .

Un algoritmo de clasificación eficiente que sirve como método sistemático para colocar los elementos de un archivo de acceso aleatorio o una matriz en orden.

R

Lenguaje de programación R
R es un lenguaje de programación y un entorno de software libre para computación estadística y gráficos respaldado por la Fundación R para Computación Estadística. [170] El lenguaje R es ampliamente utilizado entre estadísticos y mineros de datos para desarrollar software estadístico [171] y análisis de datos . [172]
base

También base .

En los sistemas de numeración digital , el número de dígitos únicos , incluido el dígito cero, que se utilizan para representar números en un sistema de numeración posicional . Por ejemplo, en el sistema decimal (el sistema más común en uso hoy en día) el radix (número base) es diez, porque utiliza los diez dígitos del 0 al 9, y todos los demás números se especifican de forma única mediante combinaciones posicionales de estos diez dígitos base; en el sistema binario que es el estándar en informática, el radix es dos, porque utiliza solo dos dígitos, 0 y 1, para especificar de forma única cada número.
registro
Un registro (también llamado estructura, struct o datos compuestos) es una estructura de datos básica . Los registros de una base de datos o una hoja de cálculo suelen denominarse " filas ". [173] [174] [175] [176]
recursión
Se produce cuando una cosa se define en términos de sí misma o de su tipo. La recursión se utiliza en una variedad de disciplinas que van desde la lingüística hasta la lógica . La aplicación más común de la recursión es en matemáticas y ciencias de la computación, donde una función que se define se aplica dentro de su propia definición. Si bien esto aparentemente define un número infinito de instancias (valores de función), a menudo se hace de tal manera que no puede ocurrir un bucle infinito o una cadena infinita de referencias.
referencia
Es un valor que permite a un programa acceder indirectamente a un dato particular , como el valor de una variable o un registro , en la memoria de la computadora o en algún otro dispositivo de almacenamiento . Se dice que la referencia hace referencia al dato, y el acceso al dato se denomina desreferenciación de la referencia.
recuento de referencias
Una técnica de programación que permite almacenar la cantidad de referencias, punteros o identificadores de un recurso, como un objeto, un bloque de memoria, espacio en disco y otros. En los algoritmos de recolección de basura , los recuentos de referencias se pueden utilizar para desasignar objetos que ya no son necesarios.
prueba de regresión
(raramente pruebas de no regresión [177] ) es volver a ejecutar pruebas funcionales y no funcionales para garantizar que el software previamente desarrollado y probado aún funcione después de un cambio. [178] Si no, eso se llamaría regresión . Los cambios que pueden requerir pruebas de regresión incluyen correcciones de errores , mejoras de software, cambios de configuración e incluso sustitución de componentes electrónicos . [179] Como las suites de pruebas de regresión tienden a crecer con cada defecto encontrado, la automatización de pruebas está involucrada con frecuencia. A veces se realiza un análisis de impacto del cambio para determinar un subconjunto apropiado de pruebas ( análisis de no regresión [180] ).
base de datos relacional
Es una base de datos digital basada en el modelo relacional de datos, tal como lo propuso EF Codd en 1970. [181] Un sistema de software utilizado para mantener bases de datos relacionales es un sistema de gestión de bases de datos relacionales (RDBMS). Muchos sistemas de bases de datos relacionales tienen una opción de usar SQL (lenguaje de consulta estructurado) para consultar y mantener la base de datos. [182] [ se necesita una mejor fuente ]
Ingeniería de confiabilidad
Subdisciplina de la ingeniería de sistemas que enfatiza la confiabilidad en la gestión del ciclo de vida de un producto. La confiabilidad describe la capacidad de un sistema o componente para funcionar bajo condiciones establecidas durante un período de tiempo específico. [183] ​​La confiabilidad está estrechamente relacionada con la disponibilidad , que generalmente se describe como la capacidad de un componente o sistema para funcionar en un momento o intervalo de tiempo específico.
Análisis de requisitos
En ingeniería de sistemas e ingeniería de software , el análisis de requisitos se centra en las tareas que determinan las necesidades o condiciones para satisfacer el producto o proyecto nuevo o modificado, teniendo en cuenta los requisitos posiblemente conflictivos de las distintas partes interesadas , analizando, documentando, validando y gestionando los requisitos del software o sistema. [184]
Robótica
Una rama interdisciplinaria de la ingeniería y la ciencia que incluye la ingeniería mecánica , la ingeniería electrónica , la ingeniería de la información , la informática y otras. La robótica implica el diseño, la construcción, el funcionamiento y el uso de robots , así como de sistemas informáticos para su percepción, control, retroalimentación sensorial y procesamiento de información . El objetivo de la robótica es diseñar máquinas inteligentes que puedan ayudar y asistir a los humanos en su vida cotidiana y mantener a todos a salvo.
error de redondeo

También error de redondeo . [185]

La diferencia entre el resultado producido por un algoritmo dado usando aritmética exacta y el resultado producido por el mismo algoritmo usando aritmética redondeada de precisión finita. [186] Los errores de redondeo se deben a la inexactitud en la representación de números reales y las operaciones aritméticas realizadas con ellos. Esta es una forma de error de cuantificación . [187] Cuando se utilizan ecuaciones o algoritmos de aproximación, especialmente cuando se utilizan un número finito de dígitos para representar números reales (que en teoría tienen un número infinito de dígitos), uno de los objetivos del análisis numérico es estimar errores de cálculo. [188] Los errores de cálculo, también llamados errores numéricos , incluyen tanto errores de truncamiento como errores de redondeo. [189]
enrutador
Dispositivo de red que reenvía paquetes de datos entre redes de computadoras . Los enrutadores realizan las funciones de dirección de tráfico en Internet . Los datos enviados a través de Internet, como una página web o un correo electrónico , se presentan en forma de paquetes de datos. Un paquete se reenvía típicamente de un enrutador a otro a través de las redes que constituyen una interconexión de redes (por ejemplo, Internet) hasta que llega a su nodo de destino . [190]
tabla de enrutamiento
En las redes informáticas, una tabla de enrutamiento, o base de información de enrutamiento (RIB), es una tabla de datos almacenada en un enrutador o en un host de red que enumera las rutas a destinos de red específicos y, en algunos casos, las métricas (distancias) asociadas con esas rutas. La tabla de enrutamiento contiene información sobre la topología de la red que la rodea.
tiempo de ejecución
El tiempo de ejecución, runtime o tiempo de ejecución es la fase final del ciclo de vida de un programa informático , en la que el código se ejecuta en la unidad central de procesamiento (CPU) del ordenador como código de máquina . En otras palabras, el "tiempo de ejecución" es la fase de ejecución de un programa.
error de tiempo de ejecución
Un error de tiempo de ejecución se detecta después o durante la ejecución (estado de ejecución) de un programa, mientras que un error de tiempo de compilación es detectado por el compilador antes de que el programa se ejecute. La comprobación de tipos , la asignación de registros , la generación de código y la optimización de código se realizan normalmente en tiempo de compilación, pero pueden realizarse en tiempo de ejecución según el lenguaje y el compilador en particular. Existen muchos otros errores de tiempo de ejecución y se manejan de manera diferente por diferentes lenguajes de programación , como errores de división por cero , errores de dominio, errores de subíndice de matriz fuera de límites , errores de desbordamiento aritmético , varios tipos de errores de desbordamiento y subdesbordamiento , y muchos otros errores de tiempo de ejecución generalmente considerados como errores de software que pueden o no ser detectados y manejados por cualquier lenguaje de computadora en particular.

S

algoritmo de búsqueda
Cualquier algoritmo que resuelva el problema de búsqueda , es decir, recuperar información almacenada dentro de alguna estructura de datos, o calculada en el espacio de búsqueda de un dominio de problema, ya sea con valores discretos o continuos .
almacenamiento secundario
También conocida como memoria externa o almacenamiento auxiliar , se diferencia del almacenamiento primario en que la CPU no puede acceder a ella directamente. La computadora normalmente utiliza sus canales de entrada/salida para acceder al almacenamiento secundario y transferir los datos deseados al almacenamiento primario. El almacenamiento secundario no es volátil (retiene los datos cuando se corta la energía). Los sistemas informáticos modernos suelen tener dos órdenes de magnitud más de almacenamiento secundario que almacenamiento primario porque el almacenamiento secundario es menos costoso.
Ordenación por selección
Es un algoritmo de ordenación por comparación in situ . Tiene una complejidad temporal de O ( n2 ) , lo que lo hace ineficiente en listas grandes y, en general, tiene un peor rendimiento que la ordenación por inserción similar . La ordenación por selección se destaca por su simplicidad y tiene ventajas de rendimiento sobre algoritmos más complicados en ciertas situaciones, en particular cuando la memoria auxiliar es limitada.
semántica
En la teoría de lenguajes de programación , la semántica es el campo que se ocupa del estudio matemático riguroso del significado de los lenguajes de programación . Lo hace evaluando el significado de cadenas sintácticamente válidas definidas por un lenguaje de programación específico, mostrando el cálculo involucrado. En tal caso, si la evaluación fuera de cadenas sintácticamente inválidas, el resultado sería no computacional. La semántica describe los procesos que sigue una computadora al ejecutar un programa en ese lenguaje específico. Esto se puede mostrar describiendo la relación entre la entrada y la salida de un programa, o una explicación de cómo se ejecutará el programa en una determinada plataforma , creando así un modelo de computación .
secuencia
En matemáticas , una secuencia es una colección enumerada de objetos en la que se permiten repeticiones y el orden sí importa. Al igual que un conjunto , contiene miembros (también llamados elementos o términos ). El número de elementos (posiblemente infinito) se denomina longitud de la secuencia. A diferencia de un conjunto, los mismos elementos pueden aparecer varias veces en diferentes posiciones de una secuencia, y el orden sí importa. Formalmente, una secuencia se puede definir como una función cuyo dominio es el conjunto de los números naturales (para secuencias infinitas) o el conjunto de los primeros n números naturales (para una secuencia de longitud finita n ). La posición de un elemento en una secuencia es su rango o índice ; es el número natural para el cual el elemento es la imagen. El primer elemento tiene índice 0 o 1, dependiendo del contexto o de una convención específica. Cuando se utiliza un símbolo para denotar una secuencia, el n º elemento de la secuencia se denota por este símbolo con n como subíndice; por ejemplo, el n º elemento de la secuencia de Fibonacci F se denota generalmente F n . Por ejemplo, (M, A, R, Y) es una secuencia de letras con la letra 'M' primero y 'Y' último. Esta secuencia difiere de (A, R, M, Y). Además, la secuencia (1, 1, 2, 3, 5, 8), que contiene el número 1 en dos posiciones diferentes, es una secuencia válida. Las secuencias pueden ser finitas , como en estos ejemplos, o infinitas , como la secuencia de todos los números enteros positivos pares (2, 4, 6, ...). En informática y ciencias de la computación , las secuencias finitas a veces se denominan cadenas , palabras o listas , los diferentes nombres corresponden comúnmente a diferentes formas de representarlas en la memoria de la computadora ; las secuencias infinitas se denominan secuencias . La secuencia vacía ( ) está incluida en la mayoría de las nociones de secuencia, pero puede excluirse dependiendo del contexto.
serializabilidad
En el control de concurrencia de bases de datos , [191] [192] procesamiento de transacciones (gestión de transacciones) y varias aplicaciones transaccionales (por ejemplo, memoria transaccional [193] y memoria transaccional de software ), tanto centralizadas como distribuidas , un programa de transacciones es serializable si su resultado (por ejemplo, el estado de la base de datos resultante) es igual al resultado de sus transacciones ejecutadas en serie, es decir, sin superposición en el tiempo. Las transacciones normalmente se ejecutan de forma concurrente (se superponen), ya que esta es la forma más eficiente. La serializabilidad es el principal criterio de corrección para las ejecuciones de transacciones concurrentes [ cita requerida ] . Se considera el nivel más alto de aislamiento entre transacciones y juega un papel esencial en el control de concurrencia . Como tal, se admite en todos los sistemas de bases de datos de propósito general. El bloqueo estricto fuerte de dos fases (SS2PL) es un mecanismo de serializabilidad popular utilizado en la mayoría de los sistemas de bases de datos (en varias variantes) desde sus inicios en la década de 1970.
publicación por entregas
Es el proceso de traducir estructuras de datos o estados de objetos a un formato que se pueda almacenar (por ejemplo, en un archivo o búfer de memoria ) o transmitir (por ejemplo, a través de un enlace de conexión de red ) y reconstruir más tarde (posiblemente en un entorno informático diferente). [194] Cuando la serie de bits resultante se vuelve a leer de acuerdo con el formato de serialización, se puede utilizar para crear un clon semánticamente idéntico del objeto original. Para muchos objetos complejos, como los que hacen un uso extensivo de referencias , este proceso no es sencillo. La serialización de objetos orientados a objetos no incluye ninguno de sus métodos asociados con los que estaban vinculados previamente. Este proceso de serialización de un objeto también se denomina marshalling de un objeto en algunas situaciones.[1][2] La operación opuesta, extraer una estructura de datos de una serie de bytes, es la deserialización , (también llamada unserialization o unmarshalling ).
acuerdo de nivel de servicio
(SLA), es un compromiso entre un proveedor de servicios y un cliente. Los aspectos particulares del servicio (calidad, disponibilidad, responsabilidades) se acuerdan entre el proveedor de servicios y el usuario del servicio. [195] El componente más común de un SLA es que los servicios deben proporcionarse al cliente según lo acordado en el contrato. A modo de ejemplo, los proveedores de servicios de Internet y las empresas de telecomunicaciones incluirán comúnmente acuerdos de nivel de servicio dentro de los términos de sus contratos con los clientes para definir el nivel o los niveles de servicio que se venden en términos de lenguaje sencillo. En este caso, el SLA normalmente tendrá una definición técnica en tiempo medio entre fallos (MTBF), tiempo medio de reparación o tiempo medio de recuperación (MTTR); identificación de qué parte es responsable de informar sobre fallos o pagar tarifas; responsabilidad por varias velocidades de datos; rendimiento ; fluctuación ; o detalles mensurables similares.
colocar
Es un tipo de datos abstracto que puede almacenar valores únicos, sin ningún orden particular . Es una implementación informática del concepto matemático de un conjunto finito . A diferencia de la mayoría de los otros tipos de colección , en lugar de recuperar un elemento específico de un conjunto, normalmente se prueba la pertenencia de un valor a un conjunto.
variable singleton
Variable a la que se hace referencia solo una vez. Puede utilizarse como argumento ficticio en una llamada de función o cuando su dirección se asigna a otra variable que posteriormente accede a su almacenamiento asignado. Las variables singleton a veces aparecen porque se ha cometido un error, como asignar un valor a una variable y olvidarse de usarlo más tarde, o escribir mal una instancia del nombre de la variable. Algunos compiladores y herramientas similares a lint señalan las apariciones de variables singleton.
software
El software de computadora, o simplemente software, es una colección de datos o instrucciones de computadora que le indican a la computadora cómo trabajar. Esto contrasta con el hardware físico , a partir del cual se construye el sistema y que realmente realiza el trabajo. En informática e ingeniería de software , el software de computadora es toda la información procesada por los sistemas informáticos , los programas y los datos . El software de computadora incluye programas de computadora , bibliotecas y datos no ejecutables relacionados , como documentación en línea o medios digitales . El hardware y el software de computadora se requieren mutuamente y ninguno puede usarse de manera realista por sí solo.
agente de software
Es un programa informático que actúa para un usuario u otro programa en una relación de agencia, que deriva del latín agere (hacer): un acuerdo para actuar en nombre de uno. Tal "acción en nombre de" implica la autoridad para decidir qué acción, si alguna, es apropiada. [196] [197] Los agentes se conocen coloquialmente como bots , de robot . Pueden estar encarnados, como cuando la ejecución se empareja con un cuerpo de robot, o como software como un chatbot que se ejecuta en un teléfono (por ejemplo, Siri ) u otro dispositivo informático. Los agentes de software pueden ser autónomos o trabajar junto con otros agentes o personas. Los agentes de software que interactúan con personas (por ejemplo, chatbots , entornos de interacción humano-robot ) pueden poseer cualidades similares a las humanas, como comprensión del lenguaje natural y el habla, personalidad o encarnar una forma humanoide (ver Asimo ).
Construcción de software
Es una disciplina de ingeniería de software . Es la creación detallada de software funcional y significativo mediante una combinación de codificación, verificación , pruebas unitarias , pruebas de integración y depuración . Está vinculada a todas las demás disciplinas de ingeniería de software , más fuertemente al diseño de software y las pruebas de software . [198]
Implementación de software
Es el conjunto de actividades que hacen que un sistema de software esté disponible para su uso. [199]
Diseño de software
Es el proceso mediante el cual un agente crea una especificación de un artefacto de software , destinado a lograr objetivos , utilizando un conjunto de componentes primitivos y sujeto a restricciones . [200] El diseño de software puede referirse a "toda la actividad involucrada en la conceptualización, el encuadre, la implementación, la puesta en servicio y, en última instancia, la modificación de sistemas complejos" o "la actividad posterior a la especificación de requisitos y anterior a la programación , como... [en] un proceso de ingeniería de software estilizado". [201]
Desarrollo de software
Es el proceso de concebir, especificar, diseñar, programar , documentar , probar y corregir errores que implica la creación y el mantenimiento de aplicaciones , marcos u otros componentes de software. El desarrollo de software es un proceso de escritura y mantenimiento del código fuente , pero en un sentido más amplio, incluye todo lo que está involucrado entre la concepción del software deseado hasta la manifestación final del software, a veces en un proceso planificado y estructurado . [202] Por lo tanto, el desarrollo de software puede incluir investigación, nuevos desarrollos, creación de prototipos, modificación, reutilización, reingeniería, mantenimiento o cualquier otra actividad que dé como resultado productos de software. [203]
proceso de desarrollo de software
En ingeniería de software , un proceso de desarrollo de software es el proceso de dividir el trabajo de desarrollo de software en fases distintas para mejorar el diseño , la gestión de productos y la gestión de proyectos . También se conoce como ciclo de vida de desarrollo de software (SDLC). La metodología puede incluir la predefinición de entregables y artefactos específicos que son creados y completados por un equipo de proyecto para desarrollar o mantener una aplicación. [147] La ​​mayoría de los procesos de desarrollo modernos pueden describirse vagamente como ágiles . Otras metodologías incluyen cascada , creación de prototipos , desarrollo iterativo e incremental , desarrollo en espiral , desarrollo rápido de aplicaciones y programación extrema .
ingeniería de software
Es la aplicación sistemática de enfoques de ingeniería al desarrollo de software . [204] [205] [206] La ingeniería de software es una disciplina informática . [207]
mantenimiento de software
En ingeniería de software es la modificación de un producto de software después de su entrega para corregir fallas, mejorar el rendimiento u otros atributos. [208]
Prototipado de software
Es la actividad de crear prototipos de aplicaciones de software, es decir, versiones incompletas del programa de software que se está desarrollando. Es una actividad que puede ocurrir en el desarrollo de software y es comparable a la creación de prototipos tal como se conoce en otros campos, como la ingeniería mecánica o la fabricación . Un prototipo generalmente simula solo algunos aspectos del producto final y puede ser completamente diferente de este.
Especificación de requisitos de software
(SRS), es una descripción de un sistema de software que se va a desarrollar . La especificación de requisitos de software establece los requisitos funcionales y no funcionales , y puede incluir un conjunto de casos de uso que describen las interacciones del usuario que el software debe proporcionar al usuario para una interacción perfecta.
Prueba de software
Es una investigación que se lleva a cabo para proporcionar a las partes interesadas información sobre la calidad del producto o servicio de software que se está probando. [209] Las pruebas de software también pueden proporcionar una visión objetiva e independiente del software para permitir que la empresa aprecie y comprenda los riesgos de la implementación del software. Las técnicas de prueba incluyen el proceso de ejecutar un programa o aplicación con la intención de encontrar errores de software (errores u otros defectos) y verificar que el producto de software sea apto para su uso.
algoritmo de ordenamiento
Es un algoritmo que coloca los elementos de una lista en un orden determinado . Los órdenes más utilizados son el orden numérico y el orden lexicográfico . La ordenación eficiente es importante para optimizar la eficiencia de otros algoritmos (como los algoritmos de búsqueda y fusión ) que requieren que los datos de entrada estén en listas ordenadas. La ordenación también suele ser útil para canonizar datos y para producir una salida legible para humanos. Más formalmente, la salida de cualquier algoritmo de ordenación debe satisfacer dos condiciones:
  1. La salida está en orden no decreciente (cada elemento no es más pequeño que el elemento anterior según el orden total deseado );
  2. La salida es una permutación (un reordenamiento, pero conservando todos los elementos originales) de la entrada.
Además, los datos de entrada a menudo se almacenan en una matriz , que permite el acceso aleatorio , en lugar de una lista, que solo permite el acceso secuencial ; aunque se pueden aplicar muchos algoritmos a cualquiera de los dos tipos de datos después de una modificación adecuada.
Código fuente
En informática , el código fuente es cualquier colección de código, con o sin comentarios , escrito usando [210] un lenguaje de programación legible por humanos , generalmente como texto simple . El código fuente de un programa está especialmente diseñado para facilitar el trabajo de los programadores de computadoras , quienes especifican las acciones que debe realizar una computadora principalmente escribiendo el código fuente. El código fuente a menudo se transforma mediante un ensamblador o compilador en código de máquina binario que puede ser ejecutado por la computadora. El código de máquina puede luego almacenarse para su ejecución en un momento posterior. Alternativamente, el código fuente puede interpretarse y, por lo tanto, ejecutarse inmediatamente.
modelo espiral
Es un modelo de proceso de desarrollo de software basado en riesgos . Basado en los patrones de riesgo únicos de un proyecto determinado, el modelo en espiral guía a un equipo para adoptar elementos de uno o más modelos de proceso, como el prototipado incremental , en cascada o evolutivo .
pila
Es un tipo de datos abstracto que sirve como una colección de elementos, con dos operaciones principales:
  • push , que agrega un elemento a la colección, y
  • pop , que elimina el elemento agregado más recientemente que aún no se haya eliminado.
El orden en el que los elementos salen de una pila da lugar a su nombre alternativo, LIFO (last in, first out). Además, una operación de peek puede dar acceso a la parte superior sin modificar la pila. [211] El nombre "pila" para este tipo de estructura proviene de la analogía con un conjunto de elementos físicos apilados uno sobre otro. Esta estructura facilita la extracción de un elemento de la parte superior de la pila, mientras que para llegar a un elemento más profundo de la pila puede ser necesario quitar primero varios otros elementos. [212]
estado
En tecnología de la información y la ciencia informática, un sistema se describe como con estado si está diseñado para recordar eventos anteriores o interacciones del usuario; [213] la información recordada se denomina estado del sistema.
declaración
En programación informática , una declaración es una unidad sintáctica de un lenguaje de programación imperativo que expresa alguna acción a realizar. [214] Un programa escrito en un lenguaje de este tipo está formado por una secuencia de una o más declaraciones. Una declaración puede tener componentes internos (por ejemplo, expresiones ).
almacenamiento
El almacenamiento de datos informáticos es una tecnología que consta de componentes informáticos y medios de grabación que se utilizan para retener datos digitales . Es una función central y un componente fundamental de las computadoras. [62] : 15–16 
arroyo
Es una secuencia de elementos de datos que se ponen a disposición a lo largo del tiempo. Se puede pensar en un flujo como si fueran elementos en una cinta transportadora que se procesan de a uno por vez en lugar de en grandes lotes.
cadena
En programación informática , una cadena es tradicionalmente una secuencia de caracteres , ya sea como una constante literal o como algún tipo de variable. Esta última puede permitir que sus elementos se modifiquen y se cambie la longitud, o puede ser fija (después de la creación). Una cadena se considera generalmente como un tipo de datos y a menudo se implementa como una estructura de datos de matriz de bytes (o palabras ) que almacena una secuencia de elementos, normalmente caracteres, utilizando alguna codificación de caracteres . Cadena también puede denotar matrices más generales u otros tipos y estructuras de datos de secuencia (o lista ).
almacenamiento estructurado
Una base de datos NoSQL (que originalmente se refería a "no SQL " o "no relacional") [215] proporciona un mecanismo para el almacenamiento y la recuperación de datos que se modela en medios distintos a las relaciones tabulares utilizadas en las bases de datos relacionales . Estas bases de datos existen desde fines de la década de 1960, pero el nombre "NoSQL" recién se acuñó a principios del siglo XXI, [216] impulsado por las necesidades de las empresas de la Web 2.0 . [217] [218] Las bases de datos NoSQL se utilizan cada vez más en big data y aplicaciones web en tiempo real . [219] A los sistemas NoSQL también se les llama a veces "No solo SQL" para enfatizar que pueden admitir lenguajes de consulta similares a SQL o ubicarse junto con bases de datos SQL en arquitecturas persistentes políglotas . [220] [221]
subrutina
En programación informática , una subrutina es una secuencia de instrucciones de programa que realiza una tarea específica, empaquetada como una unidad. Esta unidad puede luego usarse en programas donde sea que se deba realizar esa tarea en particular.Las subrutinas pueden definirse dentro de los programas o por separado en bibliotecas que pueden ser utilizadas por muchos programas. En diferentes lenguajes de programación, una subrutina puede denominarse rutina, subprograma, función, método o procedimiento. Técnicamente, todos estos términos tienen definiciones diferentes. A veces se utiliza el término genérico de unidad invocable. [162]
cálculo simbólico
En matemáticas e informática , [222] el álgebra computacional, también llamada computación simbólica o computación algebraica, es un área científica que se refiere al estudio y desarrollo de algoritmos y software para manipular expresiones matemáticas y otros objetos matemáticos . Aunque el álgebra computacional podría considerarse un subcampo de la computación científica , generalmente se consideran como campos distintos porque la computación científica generalmente se basa en el cálculo numérico con números de punto flotante aproximados , mientras que la computación simbólica enfatiza el cálculo exacto con expresiones que contienen variables que no tienen un valor dado y se manipulan como símbolos.
sintaxis
La sintaxis de un lenguaje informático es el conjunto de reglas que definen las combinaciones de símbolos que se consideran enunciados o expresiones correctamente estructurados en ese lenguaje. Esto se aplica tanto a los lenguajes de programación , donde el documento representa el código fuente , como a los lenguajes de marcado , donde el documento representa los datos.
error de sintaxis
Es un error en la sintaxis de una secuencia de caracteres o tokens que se pretende escribir en tiempo de compilación . Un programa no se compilará hasta que se corrijan todos los errores de sintaxis. Sin embargo, para los lenguajes interpretados , un error de sintaxis puede detectarse durante la ejecución del programa y los mensajes de error de un intérprete pueden no diferenciar los errores de sintaxis de los errores de otros tipos. Existe cierto desacuerdo en cuanto a qué errores son exactamente "errores de sintaxis". Por ejemplo, algunos dirían que el uso del valor de una variable no inicializada en el código Java es un error de sintaxis, pero muchos otros no estarían de acuerdo [223] [224] y lo clasificarían como un error semántico (estático) .
consola del sistema
La consola del sistema, consola de ordenador, consola raíz, consola del operador o simplemente consola es el dispositivo de entrada de texto y visualización de mensajes de administración del sistema, en particular los procedentes de la BIOS o del gestor de arranque , del núcleo , del sistema de inicio y del registrador del sistema . Es un dispositivo físico formado por un teclado y una pantalla, y tradicionalmente es un terminal de texto , aunque también puede ser un terminal gráfico . Las consolas del sistema se generalizan a los terminales de ordenador , que se abstraen respectivamente mediante consolas virtuales y emuladores de terminal . Hoy en día la comunicación con las consolas del sistema se realiza generalmente de forma abstracta, a través de los flujos estándar ( stdin , stdout y stderr ), pero puede haber interfaces específicas del sistema, por ejemplo las utilizadas por el núcleo del sistema.

yo

documentación técnica
En ingeniería, cualquier tipo de documentación que describe el manejo, la funcionalidad y la arquitectura de un producto técnico o de un producto en desarrollo o uso. [225] [226] [227] El destinatario previsto de la documentación técnica del producto es tanto el usuario final (competente) como el administrador/técnico de servicio o mantenimiento. A diferencia de un simple manual de "recetas" , la documentación técnica tiene como objetivo proporcionar suficiente información para que un usuario comprenda las dependencias internas y externas del producto en cuestión.
lenguaje de programación de tercera generación
Un lenguaje de programación de tercera generación (3GL) es un lenguaje de programación informática de alto nivel que tiende a ser más independiente de la máquina y más amigable para el programador que el código de máquina de la primera generación y los lenguajes ensambladores de la segunda generación , mientras que tiene un enfoque menos específico en la cuarta y quinta generaciones. [228] Ejemplos de lenguajes de programación de tercera generación comunes e históricos son ALGOL , BASIC , C , COBOL , Fortran , Java y Pascal .
Diseño de arriba hacia abajo y de abajo hacia arriba
árbol
Un tipo de datos abstracto (ADT) ampliamente utilizado que simula una estructura de árbol jerárquico , con un valor raíz y subárboles de hijos con un nodo padre, representado como un conjunto de nodos vinculados.
teoría de tipos
En matemáticas, lógica y ciencias de la computación, una teoría de tipos es cualquiera de una clase de sistemas formales , algunos de los cuales pueden servir como alternativas a la teoría de conjuntos como base para todas las matemáticas . En la teoría de tipos, cada "término" tiene un "tipo" y las operaciones están restringidas a términos de un tipo determinado.

subir
En redes de computadoras , enviar datos a un sistema remoto, como un servidor u otro cliente, para que el sistema remoto pueda almacenar una copia. [229] Contraste descargar .
Localizador uniforme de recursos (URL)

Coloquialmente, dirección web . [230]

Una referencia a un recurso web que especifica su ubicación en una red informática y un mecanismo para recuperarlo. Una URL es un tipo específico de Identificador uniforme de recursos (URI), [231] [232] aunque muchas personas usan los dos términos indistintamente. [233] [c] Las URL se utilizan con mayor frecuencia para hacer referencia a páginas web ( http ), pero también se utilizan para transferencia de archivos ( ftp ), correo electrónico ( mailto ), acceso a bases de datos ( JDBC ) y muchas otras aplicaciones.
usuario
Es una persona que utiliza una computadora o un servicio de red . Los usuarios de sistemas informáticos y productos de software generalmente carecen de la experiencia técnica necesaria para comprender completamente cómo funcionan. [236] Los usuarios avanzados utilizan funciones avanzadas de los programas, aunque no necesariamente sean capaces de programar computadoras y administrar sistemas .
agente de usuario
Software (un agente de software) que actúa en nombre de un usuario, como un navegador web que "recupera, representa y facilita la interacción del usuario final con el contenido web". [237] Un lector de correo electrónico es un agente de usuario de correo .
Interfaz de usuario (UI)
El espacio donde se producen las interacciones entre humanos y máquinas. El objetivo de esta interacción es permitir la operación y el control efectivos de la máquina desde el extremo humano, mientras que la máquina simultáneamente envía información que ayuda al proceso de toma de decisiones de los operadores . Algunos ejemplos de este amplio concepto de interfaces de usuario incluyen los aspectos interactivos de los sistemas operativos de computadoras, las herramientas manuales , los controles de operador de maquinaria pesada y los controles de procesos . Las consideraciones de diseño aplicables al crear interfaces de usuario están relacionadas con disciplinas como la ergonomía y la psicología o las involucran .
Diseño de interfaz de usuario

También ingeniería de interfaz de usuario .

Diseño de interfaces de usuario para máquinas y software, como computadoras, electrodomésticos, dispositivos móviles y otros dispositivos electrónicos, con el objetivo de maximizar la usabilidad y la experiencia del usuario . El objetivo del diseño de la interfaz de usuario es hacer que la interacción del usuario sea lo más simple y eficiente posible, en términos de lograr los objetivos del usuario ( diseño centrado en el usuario ).

V

variable
En programación informática, una variable, o escalar, es una ubicación de almacenamiento (identificada por una dirección de memoria ) emparejada con un nombre simbólico asociado (un identificador ), que contiene una cantidad conocida o desconocida de información denominada valor . El nombre de la variable es la forma habitual de hacer referencia al valor almacenado, además de hacer referencia a la variable en sí, dependiendo del contexto. Esta separación de nombre y contenido permite que el nombre se utilice independientemente de la información exacta que representa. El identificador en el código fuente de la computadora se puede vincular a un valor durante el tiempo de ejecución , y, por lo tanto, el valor de la variable puede cambiar durante el curso de la ejecución del programa. [238] [239]
máquina virtual (VM)
Una emulación de un sistema informático. Las máquinas virtuales se basan en arquitecturas informáticas e intentan proporcionar la misma funcionalidad que una computadora física. Sus implementaciones pueden implicar hardware o software especializados, o una combinación de ambos.
Modelo V
Un proceso de desarrollo de software que puede considerarse una extensión del modelo en cascada y es un ejemplo del modelo en V más general . En lugar de moverse hacia abajo de manera lineal, los pasos del proceso se curvan hacia arriba después de la fase de codificación, para formar la típica forma de V. El modelo en V demuestra las relaciones entre cada fase del ciclo de vida del desarrollo y su fase asociada de prueba . Los ejes horizontal y vertical representan el tiempo o la completitud del proyecto (de izquierda a derecha) y el nivel de abstracción (abstracción de grano más grueso en la parte superior), respectivamente. [240]

Yo

modelo de cascada
Desglose de las actividades del proyecto en fases secuenciales lineales , donde cada fase depende de los resultados de la anterior y corresponde a una especialización de tareas. El enfoque es típico de ciertas áreas del diseño de ingeniería . En el desarrollo de software , tiende a estar entre los enfoques menos iterativos y flexibles, ya que el progreso fluye principalmente en una dirección ("hacia abajo" como una cascada ) a través de las fases de concepción, iniciación, análisis , diseño , construcción , prueba , implementación y mantenimiento .
Formato de archivo de audio en forma de onda

También WAVE o WAV debido a su extensión de nombre de archivo .

Formato de archivo de audio estándar, desarrollado por Microsoft e IBM , para almacenar un flujo de bits de audio en PC . Es una aplicación del método de formato de flujo de bits RIFF ( Resource Interchange File Format ) para almacenar datos en "fragmentos" y, por lo tanto, también es similar al formato 8SVX y al AIFF utilizados en las computadoras Amiga y Macintosh , respectivamente. Es el formato principal utilizado en los sistemas Microsoft Windows para audio sin procesar y, por lo general, sin comprimir. La codificación de flujo de bits habitual es el formato de modulación de código de pulso lineal (LPCM).
Rastreador web

También araña , robot araña o simplemente rastreador .

Un robot de Internet que navega sistemáticamente por la World Wide Web , generalmente con el propósito de indexar la web ( arañas web ).
Wifi
Una familia de tecnologías de redes inalámbricas, basadas en la familia de estándares IEEE 802.11 , que se utilizan comúnmente para redes de área local de dispositivos y acceso a Internet . Wi‑Fi es una marca registrada de la organización sin fines de lucro Wi‑Fi Alliance , que restringe el uso del término Wi‑Fi Certified a los productos que superan con éxito las pruebas de certificación de interoperabilidad . [241] [242] [243]

incógnita

XHTML

Abreviatura de Lenguaje de marcado de hipertexto extensible .

Parte de la familia de lenguajes de marcado XML . Refleja o amplía versiones del ampliamente utilizado lenguaje de marcado de hipertexto (HTML), el lenguaje en el que se formulan las páginas web .

Véase también

Referencias

  1. ^ "Métodos y clases abstractos". oracle.com . Documentación de Oracle Java . Consultado el 11 de diciembre de 2014 .
  2. ^ Colburn, Timothy; Shute, Gary (5 de junio de 2007). "Abstracción en informática". Mentes y máquinas . 17 (2): 169–184. doi :10.1007/s11023-007-9061-7. ISSN  0924-6495. S2CID  5927969.
  3. ^ ab Kramer, Jeff (1 de abril de 2007). "¿Es la abstracción la clave de la informática?". Comunicaciones de la ACM . 50 (4): 36–42. CiteSeerX 10.1.1.120.6776 . doi :10.1145/1232743.1232745. ISSN  0001-0782. S2CID  12481509. 
  4. ^ Comparación de arquitecturas de agentes Archivado el 27 de agosto de 2008 en Wayback Machine .
  5. ^ Collier, Ken W. (2011). Analítica ágil: un enfoque basado en el valor para la inteligencia empresarial y el almacenamiento de datos . Pearson Education. pp. 121 y siguientes. ISBN 9780321669544¿ Qué es un equipo autoorganizado?
  6. ^ "¿Qué es el desarrollo de software ágil?". Agile Alliance. 8 de junio de 2013. Consultado el 4 de abril de 2015 .
  7. ^ Goodrich, Michael T .; Tamassia, Roberto (2002), Diseño de algoritmos: fundamentos, análisis y ejemplos de Internet, John Wiley & Sons, Inc., ISBN 978-0-471-38365-9
  8. ^ "Software de aplicación". Revista PC . Ziff Davis .
  9. ^ Black, Paul E. (13 de noviembre de 2008). "array". Diccionario de algoritmos y estructuras de datos . Instituto Nacional de Estándares y Tecnología . Consultado el 22 de agosto de 2010 .
  10. ^ Bjoern Andres; Ullrich Koethe; Thorben Kroeger; Hamprecht (2010). "Matrices y vistas multidimensionales flexibles en tiempo de ejecución para C++98 y C++0x". arXiv : 1008.2909 [cs.DS].
  11. ^ Garcia, Ronald; Lumsdaine, Andrew (2005). "MultiArray: una biblioteca C++ para programación genérica con arreglos". Software: Práctica y Experiencia . 35 (2): 159–188. doi :10.1002/spe.630. ISSN  0038-0644. S2CID  10890293.
  12. ^ Definición de IA como el estudio de agentes inteligentes :
    • Poole, Mackworth y Goebel 1998, p. 1, que ofrece la versión que se utiliza en este artículo. Nótese que utilizan el término "inteligencia computacional" como sinónimo de inteligencia artificial.
    • Russell y Norvig (2003) (quienes prefieren el término "agente racional") y escriben: "La visión del agente completo es ahora ampliamente aceptada en el campo" (Russell y Norvig 2003, p. 55).
    • Nilsson 1998
    • Legg y Hutter 2007.
  13. ^ Russell y Norvig 2009, pág. 2.
  14. ^ Goodrich, Michael T .; Tamassia, Roberto (2006), "9.1 El tipo de datos abstractos Map", Estructuras de datos y algoritmos en Java (4.ª ed.), Wiley, págs. 368-371
  15. ^ Mehlhorn, Kurt ; Sanders, Peter (2008), "4 Tablas hash y matrices asociativas", Algoritmos y estructuras de datos: la caja de herramientas básica (PDF) , Springer, págs. 81–98
  16. ^ Douglas Comer , Redes informáticas e Internet, página 99 y siguientes, Prentice Hall 2008.
  17. ^ Fred Halsall, Datos+comunicaciones y redes de computadoras, página 108, Addison-Wesley, 1985.
  18. ^ Programa de la Academia de redes de Cisco: guía complementaria de CCNA 1 y 2, Volym 1–2, Cisco Academy 2003
  19. ^ Behrouz A. Forouzan, Comunicaciones de datos y redes , McGraw-Hill, 2007
  20. ^ Fleming, Philip J.; Wallace, John J. (1 de marzo de 1986). "Cómo no mentir con las estadísticas: la forma correcta de resumir los resultados de los estudios comparativos". Comunicaciones de la ACM . 29 (3): 218–221. doi : 10.1145/5666.5673 . ISSN  0001-0782. S2CID  1047380.
  21. ^ Breur, Tom (julio de 2016). «Análisis de poder estadístico y la «crisis» contemporánea en las ciencias sociales». Journal of Marketing Analytics . 4 (2–3): 61–65. doi : 10.1057/s41270-016-0001-3 . ISSN  2050-3318.
  22. ^ Bachmann, Paul (1894). Analytische Zahlentheorie [ Teoría analítica de números ] (en alemán). vol. 2. Leipzig: Teubner.
  23. ^ Landau, Edmund (1909). Handbuch der Lehre von der Verteilung der Primzahlen [ Manual sobre la teoría de la distribución de los números primos ] (en alemán). Leipzig: BG Teubner. pag. 883.
  24. ^ Williams, Jr., Louis F. (22 de abril de 1976). Una modificación del método de búsqueda de medio intervalo (búsqueda binaria). Actas de la 14.ª Conferencia del Sudeste de la ACM. ACM. págs. 95–101. doi : 10.1145/503561.503582 . Archivado desde el original el 12 de marzo de 2017. Consultado el 29 de junio de 2018 .
  25. ^ Knuth 1998, §6.2.1 ("Búsqueda en una tabla ordenada"), subsección "Búsqueda binaria".
  26. ^ Butterfield y Ngondi 2016, pág. 46.
  27. ^ Cormen, Thomas H .; Leiserson, Charles E .; Rivest, Ronald L .; Stein, Clifford (2009) [1990]. Introducción a los algoritmos (3ª ed.). MIT Press y McGraw-Hill. pag. 39.ISBN 0-262-03384-4.
  28. ^ Rowan Garnier; John Taylor (2009). Matemática discreta: pruebas, estructuras y aplicaciones, tercera edición. CRC Press. pág. 620. ISBN 978-1-4398-1280-8.
  29. ^ Steven S Skiena (2009). Manual de diseño de algoritmos. Springer Science & Business Media. pág. 77. ISBN 978-1-84800-070-4.
  30. ^ Mackenzie, Charles E. (1980). Conjuntos de caracteres codificados, historia y desarrollo (PDF) . Serie de programación de sistemas (1.ª edición). Addison-Wesley Publishing Company, Inc. p. x. ISBN 978-0-201-14460-4. LCCN  77-90165. Archivado (PDF) del original el 26 de mayo de 2016. Consultado el 25 de agosto de 2019 .
  31. ^ Gupta, Prakash C (2006). Comunicaciones de datos y redes informáticas. PHI Learning. ISBN 9788120328464. Recuperado el 10 de julio de 2011 .
  32. ^ James D. Murray; William vanRyper (abril de 1996). Enciclopedia de formatos de archivos gráficos (segunda edición). O'Reilly . bmp. ISBN 978-1-56592-161-0. Recuperado el 7 de marzo de 2014 .
  33. ^ James D. Murray; William vanRyper (abril de 1996). Enciclopedia de formatos de archivos gráficos (segunda edición). O'Reilly . os2bmp. ISBN 978-1-56592-161-0. Recuperado el 7 de marzo de 2014 .
  34. ^ Gries, David ; Schneider, Fred B. (1993), "Capítulo 2. Expresiones booleanas", Un enfoque lógico para las matemáticas discretas, Monografías en informática, Springer, pág. 25 y siguientes, ISBN 9780387941158
  35. ^ Blaauw, Gerrit Anne ; Brooks, Jr., Frederick Phillips ; Buchholz, Werner (1962), "4: Natural Data Units" (PDF) , en Buchholz, Werner (ed.), Planning a Computer System – Project Stretch , McGraw-Hill Book Company, Inc. / The Maple Press Company, York, PA., pp. 39–40, LCCN  61-10466, archivado (PDF) del original el 2017-04-03 , recuperado 2017-04-03 , […] Los términos utilizados aquí para describir la estructura impuesta por el diseño de la máquina, además de bit , se enumeran a continuación.
    Byte denota un grupo de bits utilizados para codificar un carácter, o el número de bits transmitidos en paralelo hacia y desde unidades de entrada-salida. Aquí se utiliza un término distinto de carácter porque un carácter determinado puede representarse en diferentes aplicaciones mediante más de un código, y los diferentes códigos pueden utilizar diferentes cantidades de bits (es decir, diferentes tamaños de byte). En la transmisión de entrada-salida, la agrupación de bits puede ser completamente arbitraria y no tener relación con los caracteres reales. (El término se acuñó de bite , pero se volvió a escribir para evitar una mutación accidental a bit ).
    Una palabra consiste en la cantidad de bits de datos transmitidos en paralelo desde o hacia la memoria en un ciclo de memoria. Por lo tanto, el tamaño de palabra se define como una propiedad estructural de la memoria. (El término catena fue acuñado para este propósito por los diseñadores de la computadora Bull GAMMA 60  [fr] ).
    Bloque se refiere a la cantidad de palabras transmitidas hacia o desde una unidad de entrada-salida en respuesta a una sola instrucción de entrada-salida. El tamaño de bloque es una propiedad estructural de una unidad de entrada-salida; puede haber sido fijado por el diseño o dejarse que varíe por el programa. […]
  36. ^ Bemer, Robert William (1959), "Una propuesta para un código de tarjeta generalizado de 256 caracteres", Communications of the ACM , 2 (9): 19–23, doi : 10.1145/368424.368435 , S2CID  36115735
  37. ^ Weik, Martin H. (1961). Un tercer estudio de los sistemas informáticos digitales electrónicos domésticos (informe). Laboratorio de investigación balística .
  38. ^ Kuck, David (1978). Computadoras y Computaciones, Vol 1 . John Wiley & Sons, Inc. pág. 12.ISBN 978-0471027164.
  39. ^ "Definición de CHARACTER" (en inglés). www.merriam-webster.com . Consultado el 1 de abril de 2018 .
  40. ^ Gamma y otros. 1995, pág. 14.
  41. ^ ab Bruce 2002, 2.1 Objetos, clases y tipos de objetos, https://books.google.com/books?id=9NGWq3K1RwUC&pg=PA18.
  42. ^ Sadoski, Darleen. Arquitecturas de software cliente/servidor: una descripción general , Hoja de ruta de tecnología de software, 2 de agosto de 1997. Recuperado el 16 de septiembre de 2008.
  43. ^ Mills, H. ; M. Dyer; R. Linger (septiembre de 1987). "Ingeniería de software de sala limpia". IEEE Software . 4 (5): 19–25. CiteSeerX 10.1.1.467.2435 . doi :10.1109/MS.1987.231413. S2CID  383170. 
  44. ^ Sussman y Steele. "Scheme: Un intérprete para el cálculo lambda extendido". "... una estructura de datos que contiene una expresión lambda y un entorno que se utilizará cuando esa expresión lambda se aplique a los argumentos". (Wikisource)
  45. ^ de Shaun Bebbington (2014). "Qué es la codificación" . Consultado el 3 de marzo de 2014 .
  46. ^ de Shaun Bebbington (2014). «¿Qué es la programación?» . Consultado el 3 de marzo de 2014 .
  47. ^ La ciencia cognitiva es un campo interdisciplinario de investigadores de la lingüística, la psicología, la neurociencia, la filosofía, la informática y la antropología que buscan comprender la mente. Cómo aprendemos: Pregúntele al científico cognitivo
  48. ^ Thagard, Paul , Ciencia cognitiva, La enciclopedia de filosofía de Stanford (edición de otoño de 2008), Edward N. Zalta (ed.).
  49. ^ Personal de PC Mag (28 de febrero de 2017). «Enciclopedia: Definición de compilador». PCMag.com . Consultado el 28 de febrero de 2017 .[ enlace muerto permanente ]
  50. ^ Cálculo del Diccionario gratuito Merriam-Webster
  51. ^ "Computación: Definición y sinónimos de Answers.com". Answers.com . Archivado desde el original el 22 de febrero de 2009 . Consultado el 26 de abril de 2017 .
  52. ^ "Definición de trabajo de los NIH de bioinformática y biología computacional" (PDF). Iniciativa de Tecnología y Ciencia de la Información Biomédica. 17 de julio de 2000. Archivado desde el original (PDF) el 5 de septiembre de 2012. Consultado el 18 de agosto de 2012.
  53. ^ "Acerca del CCMB". Centro de Biología Molecular Computacional. Consultado el 18 de agosto de 2012.
  54. ^ Melnik, Roderick, ed. (2015). Modelado matemático y computacional: con aplicaciones en ciencias naturales y sociales, ingeniería y artes . Wiley. ISBN 978-1-118-85398-6.
  55. ^ Trappenberg, Thomas P. (2002). Fundamentos de la neurociencia computacional . Estados Unidos: Oxford University Press Inc. p. 1. ISBN 978-0-19-851582-1.
  56. ^ ¿Qué es la neurociencia computacional? Patricia S. Churchland, Christof Koch, Terrence J. Sejnowski. en Computational Neuroscience pp.46-55. Editado por Eric L. Schwartz. 1993. MIT Press "Computational Neuroscience - the MIT Press". Archivado desde el original el 2011-06-04 . Consultado el 2009-06-11 .
  57. ^ "Neurociencia teórica". The MIT Press . Archivado desde el original el 2018-05-31 . Consultado el 2018-05-24 .
  58. ^ Gerstner, W.; Kistler, W.; Naud, R.; Paninski, L. (2014). Dinámica neuronal . Cambridge, Reino Unido: Cambridge University Press . ISBN. 9781107447615.
  59. ^ Thijssen, Jos (2007). Física computacional. Cambridge University Press. ISBN 978-0521833462 . 
  60. ^ Clements, Alan. Principles of Computer Hardware (Cuarta edición). pág. 1. La arquitectura describe la organización interna de una computadora de manera abstracta; es decir, define las capacidades de la computadora y su modelo de programación. Se pueden tener dos computadoras que se hayan construido de diferentes maneras con diferentes tecnologías pero con la misma arquitectura.
  61. ^ Hennessy, John; Patterson, David. Arquitectura informática: un enfoque cuantitativo (Quinta edición). pág. 11. Esta tarea tiene muchos aspectos, incluidos el diseño del conjunto de instrucciones, la organización funcional, el diseño lógico y la implementación.
  62. ^ abc Patterson, David A.; Hennessy, John L. (2005). Organización y diseño de computadoras: la interfaz hardware/software (3.ª ed.). Ámsterdam : Morgan Kaufmann Publishers . ISBN 1-55860-604-1.OCLC 56213091  .
  63. ^ Bynum, Terrell Ward. "Una historia muy breve de la ética informática". Universidad Wein del Sur de Connecticut. Archivado desde el original el 18 de abril de 2008. Consultado el 5 de enero de 2011 .
  64. ^ Rochkind, Marc J. (2004). Programación avanzada en Unix, segunda edición . Addison-Wesley. pág. 1.1.2.
  65. ^ "Búsqueda en WordNet—3.1". Wordnetweb.princeton.edu . Consultado el 14 de mayo de 2012 .
  66. ^ Orsucci, Franco F.; Sala, Nicoletta (2008). Interfaces reflexivas: la compleja coevolución de los ecosistemas de tecnología de la información, Information Science Reference . pág. 335.
  67. ^ Schatz, Daniel; Bashroush, Rabih; Wall, Julie (2017). "Hacia una definición más representativa de la ciberseguridad". Revista de informática forense, seguridad y derecho . 12 (2). ISSN  1558-7215.
  68. ^ Dana H. Ballard; Christopher M. Brown (1982). Visión por computadora. Prentice Hall. ISBN 0-13-165316-4 . 
  69. ^ Huang, T. (19 de noviembre de 1996). Vandoni, Carlo, E, ed. Visión artificial: evolución y promesa (PDF). 19.ª Escuela de Informática del CERN. Ginebra: CERN. págs. 21-25. doi:10.5170/CERN-1996-008.21. ISBN 978-9290830955 . 
  70. ^ Milan Sonka; Vaclav Hlavac; Roger Boyle (2008). Procesamiento de imágenes, análisis y visión artificial. Thomson. ISBN 0-495-08252-X . 
  71. ^ "Plan de estudios de informática 2020" (PDF) .[ enlace muerto permanente ]
  72. ^ Lamport, Leslie (julio de 1978). "Tiempo, relojes y ordenación de eventos en un sistema distribuido" (PDF) . Comunicaciones de la ACM . 21 (7): 558–565. CiteSeerX 10.1.1.142.3682 . doi :10.1145/359545.359563. S2CID  215822405. Consultado el 4 de febrero de 2016 . 
  73. ^ Paul E. Black (ed.), entrada para estructura de datos en Dictionary of Algorithms and Data Structures . Instituto Nacional de Estándares y Tecnología de EE. UU . . 15 de diciembre de 2004. Consultado el 4 de octubre de 2011.
  74. ^ Estructura de datos de entrada en la Encyclopædia Britannica (2009) Entrada en línea Consultado el 4 de octubre de 2011.
  75. ^ Sussman, Gerald Jay ; Steele, Guy L. Jr. (diciembre de 1975). "Scheme: An interpreter for extended lambda calculus"  . AI Memo . 349 : 19. Es decir, en este estilo de programación de paso de continuación , una función siempre "devuelve" su resultado "enviándolo" a otra función . Esta es la idea clave.
  76. ^ Sussman, Gerald Jay ; Steele, Guy L. Jr. (diciembre de 1998). "Scheme: A Interpreter for Extended Lambda Calculus" (reimpresión) . Higher-Order and Symbolic Computation . 11 (4): 405–439. doi :10.1023/A:1010035624696. S2CID  18040106. Creemos que esta fue la primera aparición del término " estilo de paso de continuación " en la literatura. Ha resultado ser un concepto importante en el análisis y transformación de código fuente para compiladores y otras herramientas de metaprogramación. También ha inspirado un conjunto de otros "estilos" de expresión de programas.
  77. ^ "Preguntas frecuentes". Creative Commons. 4 de agosto de 2016. Consultado el 20 de diciembre de 2011 .
  78. ^ Rivest, Ronald L. (1990). "Criptografía". En J. Van Leeuwen (ed.). Manual de informática teórica . Vol. 1. Elsevier.
  79. ^ Bellare, Mihir; Rogaway, Phillip (21 de septiembre de 2005). "Introducción". Introducción a la criptografía moderna . pag. 10.
  80. ^ Menezes, AJ; van Oorschot, PC; Vanstone, SA (1997). Manual de criptografía aplicada. Taylor & Francis. ISBN 978-0-8493-8523-0.
  81. ^ Eric S. Raymond . "demonio". The Jargon File . Consultado el 22 de octubre de 2008 .
  82. ^ James Glanz (22 de septiembre de 2012). «Energía, contaminación e Internet». The New York Times . Consultado el 25 de septiembre de 2012 .
  83. ^ abc "Plan de estudios de minería de datos". ACM SIGKDD . 2006-04-30 . Consultado el 2014-01-27 .
  84. ^ Clifton, Christopher (2010). «Encyclopædia Britannica: Definición de minería de datos» . Consultado el 9 de diciembre de 2010 .
  85. ^ Hastie, Trevor ; Tibshirani, Robert ; Friedman, Jerome (2009). "Los elementos del aprendizaje estadístico: minería de datos, inferencia y predicción". Archivado desde el original el 10 de noviembre de 2009. Consultado el 7 de agosto de 2012 .
  86. ^ Han, Jaiwei; Kamber, Micheline; Pei, Jian (2011). Minería de datos: conceptos y técnicas (3.ª ed.). Morgan Kaufmann. ISBN 978-0-12-381479-1.
  87. ^ Fayyad, Usama; Piatetsky-Shapiro, Gregory; Smyth, Padhraic (1996). "De la minería de datos al descubrimiento de conocimientos en bases de datos" (PDF). Consultado el 17 de diciembre de 2008.
  88. ^ Dhar, V. (2013). "Ciencia de datos y predicción". Comunicaciones de la ACM . 56 (12): 64–73. doi :10.1145/2500499. S2CID  6107147.
  89. ^ Jeff Leek (12 de diciembre de 2013). «La palabra clave en «ciencia de datos» no es «datos», sino «ciencia». Simply Statistics. Archivado desde el original el 2 de enero de 2014. Consultado el 5 de diciembre de 2018 .
  90. ^ Hayashi, Chikio (1 de enero de 1998). "¿Qué es la ciencia de datos? Conceptos fundamentales y un ejemplo heurístico". En Hayashi, Chikio; Yajima, Keiji; Bock, Hans-Hermann; Ohsumi, Noboru; Tanaka, Yutaka; Baba, Yasumasa (eds.). Ciencia de datos, clasificación y métodos relacionados . Estudios en clasificación, análisis de datos y organización del conocimiento. Springer Japón. págs. 40–51. doi :10.1007/978-4-431-65950-1_3. ISBN . 9784431702085.
  91. ^ Cormen, Thomas H .; Leiserson, Charles E .; Rivest, Ronald L .; Stein, Clifford (2009) [1990]. Introducción a los algoritmos (3ª ed.). MIT Press y McGraw-Hill. ISBN 0-262-03384-4.
  92. ^ Black, Paul E. (15 de diciembre de 2004). «data structure». En Pieterse, Vreda; Black, Paul E. (eds.). Dictionary of Algorithms and Data Structures [en línea] . Instituto Nacional de Estándares y Tecnología . Consultado el 6 de noviembre de 2018 .
  93. ^ "Estructura de datos". Enciclopedia Británica . 17 de abril de 2017. Consultado el 6 de noviembre de 2018 .
  94. ^ Wegner, Peter; Reilly, Edwin D. (29 de agosto de 2003). Enciclopedia de informática. Chichester, Reino Unido: John Wiley and Sons. págs. 507–512. ISBN 978-0470864128.
  95. ^ tipo en el Diccionario gratuito en línea de informática
  96. ^ Shaffer, CA (2011). Estructuras de datos y análisis de algoritmos en C++ (3.ª ed.). Mineola, NY: Dover. 1.2. ISBN 978-0-486-48582-9.
  97. ^ abc "Una declaración especifica la interpretación y los atributos de un conjunto de identificadores. Una definición de un identificador es una declaración para ese identificador que:
    • para un objeto [variable o constante], hace que se reserve almacenamiento para ese objeto;
    • para una función, incluye el cuerpo de la función;
    • para una constante de enumeración, es la (única) declaración del identificador;
    • para un nombre de tipo definido, es la primera (o única) declaración del identificador".
    Especificación C11, 6.7: Declaraciones, párrafo 5.
  98. ^ Mike Banahan. "2.5. Declaración de variables". GBdirect . Consultado el 8 de junio de 2011. [Una] declaración [...] introduce sólo el nombre y el tipo de algo, pero no asigna espacio de almacenamiento [...].
  99. ^ Stewart Robinson (2004). Simulación: la práctica del desarrollo y uso de modelos . Wiley.
  100. ^ ab Coulouris, George; Jean Dollimore ; Tim Kindberg; Gordon Blair (2011). Sistemas distribuidos: conceptos y diseño (5.ª ed.). Boston: Addison-Wesley. ISBN 978-0-132-14301-1.
  101. ^ Bjørner, Dines (2006). "El tríptico de la ingeniería de software". Ingeniería de software 3: dominios, requisitos y diseño de software (libro). Vol. I. Springer Verlag. pág. 9. ISBN 978-3-540-33653-2. Recuperado el 19 de diciembre de 2016 .
  102. ^ "¿Qué es la descarga? - Definición de WhatIs.com". SearchNetworkNexting . Archivado desde el original el 2019-09-05 . Consultado el 2019-03-04 .
  103. ^ ab Kessler, Gary (17 de noviembre de 2006). "Una descripción general de la criptografía". Universidad de Princeton .
  104. ^ Vivek Gupta; Ethan Jackson; Shaz Qadeer; Sriram Rajamani (noviembre de 2012). "P: Programación asincrónica segura basada en eventos". Microsoft . Consultado el 20 de febrero de 2017 .
  105. ^ "ejecutable". Diccionario en línea Merriam-Webster . Merriam-Webster . Consultado el 19 de julio de 2008 .
  106. ^ Justis, RT y Kreigsmann, B. (1979). El estudio de viabilidad como herramienta para el análisis de empresas. Revista Empresarial de Gestión de Pequeñas Empresas 17 (1) 35-42.
  107. ^ Georgakellos, DA y Marcis, AM (2009). Aplicación del enfoque de aprendizaje semántico en el proceso de formación para la preparación de estudios de viabilidad. Information Systems Management 26 (3) 231–240.
  108. ^ Young, GIM (1970). Estudios de viabilidad. Appraisal Journal 38 (3) 376-383.
  109. ^ RW Butler (6 de agosto de 2001). "¿Qué son los métodos formales?" . Consultado el 16 de noviembre de 2006 .
  110. ^ C. Michael Holloway. Por qué los ingenieros deberían considerar los métodos formales (PDF) . 16.ª Conferencia sobre sistemas de aviónica digital (27-30 de octubre de 1997). Archivado desde el original (PDF) el 16 de noviembre de 2006. Consultado el 16 de noviembre de 2006 .
  111. ^ Sanghavi, Alok (21 de mayo de 2010). "¿Qué es la verificación formal?". EE Times Asia .
  112. ^ "Estilo de declaración vs. estilo de expresión - HaskellWiki".
  113. ^ Myerson, Roger B. (1991). Game Theory: Analysis of Conflict, Harvard University Press , pág. 1. Vínculos de vista previa del capítulo, págs. vii–xi.
  114. ^ Cormen, Thomas H .; Leiserson, Charles E .; Rivest, Ronald L .; Stein, Clifford (2009) [1990]. Introducción a los algoritmos (3ª ed.). MIT Press y McGraw-Hill. págs. 151-152. ISBN 0-262-03384-4.
  115. ^ Black (ed.), Paul E. (14 de diciembre de 2004). Entrada para heap en Dictionary of Algorithms and Data Structures . Versión en línea. Instituto Nacional de Estándares y Tecnología de EE. UU ., 14 de diciembre de 2004. Recuperado el 8 de octubre de 2017 de https://xlinux.nist.gov/dads/HTML/heap.html.
  116. ^ Skiena, Steven (2012). "Ordenamiento y búsqueda". Manual de diseño de algoritmos . Springer. pág. 109. doi :10.1007/978-1-84800-070-4_4. ISBN 978-1-84800-069-8. [H]eapsort no es más que una implementación del método de selección utilizando la estructura de datos correcta.
  117. ^ Norma internacional ISO/IEC/IEEE: Ingeniería de sistemas y software . ISO/IEC/IEEE 24765:2010(E). 2010. pp. vol., no., pp.1–418, 15 dic. 2010.
  118. ^ Martyn A Ould y Charles Unwin (ed.), Testing in Software Development, BCS (1986), pág. 71. Consultado el 31 de octubre de 2014.
  119. ^ Organización Mundial de la Propiedad Intelectual (OMPI) (2016). Entender la propiedad industrial. Organización Mundial de la Propiedad Intelectual. doi :10.34667/tind.28945. ISBN 9789280525885. Recuperado el 6 de diciembre de 2018 .
  120. ^ "Propiedad intelectual, industrial y comercial | Fichas técnicas sobre la Unión Europea". Parlamento Europeo . Consultado el 6 de diciembre de 2018 .
  121. ^ "¿Qué son los derechos de propiedad intelectual?". Organización Mundial del Comercio . Consultado el 23 de mayo de 2016 .
  122. ^ "Propiedad intelectual", Black's Law Dictionary , 10.ª ed. (2014).
  123. ^ "Comprensión del derecho de autor y los derechos conexos" (PDF) . Organización Mundial de la Propiedad Intelectual. pág. 4 . Consultado el 6 de diciembre de 2018 .
  124. ^ "¿Qué es la propiedad intelectual?" (PDF) . Organización Mundial de la Propiedad Intelectual (OMPI). Archivado desde el original (PDF) el 2020-02-06 . Consultado el 2018-12-07 .
  125. ^ "Entender la propiedad industrial" (PDF) . Organización Mundial de la Propiedad Intelectual (OMPI) . Consultado el 7 de diciembre de 2018 .
  126. ^ Anderson, Michael; Anderson, Susan Leigh (15 de diciembre de 2007). "Ética de las máquinas: creación de un agente inteligente ético". AI Magazine . 28 (4): 15. doi :10.1609/aimag.v28i4.2065. ISSN  2371-9621. S2CID  17033332.
  127. ^ Según la definición dada por Russell & Norvig (2003, cap. 2)
  128. ^ Hookway, B. (2014). "Capítulo 1: El sujeto de la interfaz". Interface. MIT Press. págs. 1–58. ISBN 9780262525503.
  129. ^ IEEE 100 - Diccionario autorizado de términos de estándares IEEE . Nueva York, NY, EE. UU.: IEEE Press. 2000. págs. 574–575. ISBN 9780738126012.
  130. ^ Dunham, Ken; Melnick, Jim (2008). Bots maliciosos: una mirada al interior de la clandestinidad cibernética de Internet . CRC Press. ISBN 9781420069068.
  131. ^ Gosling y otros, 2014, pág. 1.
  132. ^ "¿Java es puramente orientado a objetos o no?". Stack Overflow . Consultado el 24 de mayo de 2019 .
  133. ^ "¿Escribes una vez y ejecutas en cualquier lugar?". Computer Weekly . 2 de mayo de 2002. Consultado el 27 de julio de 2009 .
  134. ^ "1.2 Objetivos de diseño del lenguaje de programación Java™". Oracle. 1 de enero de 1999. Archivado desde el original el 23 de enero de 2013 . Consultado el 14 de enero de 2013 .
  135. ^ Knuth 1998, §6.1 ("Búsqueda secuencial").
  136. ^ IBM Corporation (1972). Editor y cargador de enlaces de IBM OS (PDF) .
  137. ^ Abelson, Harold; Sussman, Gerald Jay (1996). Estructura e interpretación de programas informáticos . MIT Press.
  138. ^ La definición "sin ser programado explícitamente" se atribuye a menudo a Arthur Samuel , quien acuñó el término "aprendizaje automático" en 1959, pero la frase no se encuentra textualmente en esta publicación y puede ser una paráfrasis que apareció más tarde. Véase "Parafraseando a Arthur Samuel (1959), la pregunta es: ¿Cómo pueden las computadoras aprender a resolver problemas sin ser programadas explícitamente?" en Koza, John R.; Bennett, Forrest H.; Andre, David; Keane, Martin A. (1996). Diseño automatizado de la topología y el dimensionamiento de circuitos eléctricos analógicos mediante programación genética . Inteligencia artificial en diseño '96. Springer, Dordrecht. págs. 151–170. doi :10.1007/978-94-009-0279-4_9.
  139. ^ < Bishop, CM (2006), Reconocimiento de patrones y aprendizaje automático, Springer, ISBN 978-0-387-31073-2 
  140. ^ Entre los textos de pregrado se incluyen Boolos, Burgess y Jeffrey (2002), Enderton (2001) y Mendelson (1997). Un texto clásico de posgrado de Shoenfield (2001) apareció por primera vez en 1967.
  141. ^ De manera equivalente, la tabla .
  142. ^ Antón (1987, pág. 23)
  143. ^ Beauregard y Fraleigh (1973, pág.56)
  144. ^ Knuth (1998, pág. 158)
  145. ^ Katajainen, Jyrki; Träff, Jesper Larsson (marzo de 1997). "Un análisis meticuloso de los programas mergesort" (PDF) . Actas de la 3.ª Conferencia italiana sobre algoritmos y complejidad . Conferencia italiana sobre algoritmos y complejidad. Roma. págs. 217–228. CiteSeerX 10.1.1.86.3154 . doi :10.1007/3-540-62592-5_74. 
  146. ^ Los consumidores de un objeto pueden consistir en varios tipos de elementos, como otros programas, sistemas informáticos remotos o programadores informáticos que desean utilizar el objeto como parte de sus propios programas.
  147. ^ ab Centros de Servicios de Medicare y Medicaid (CMS) Oficina de Servicios de Información (2008). Selección de un enfoque de desarrollo. Artículo web. Departamento de Salud y Servicios Humanos de los Estados Unidos (HHS). Revalidado: 27 de marzo de 2008. Consultado el 27 de octubre de 2008.
  148. ^ Oppel, Andy (2005). SQL desmitificado . McGraw Hill. pág. 7. ISBN. 0-07-226224-9.
  149. ^ "Compilador". TechTarget . Consultado el 1 de septiembre de 2011 . Tradicionalmente, el resultado de la compilación se ha denominado código objeto o, en ocasiones, módulo objeto.
  150. ^ Aho, Alfred V. ; Sethi, Ravi ; Ullman, Jeffrey D. (1986). "10 Optimización de código". Compiladores: principios, técnicas y herramientas . Ciencias de la computación. Mark S. Dalton. p. 704. ISBN 0-201-10194-7.
  151. ^ Kindler, E.; Krivy, I. (2011). "Simulación orientada a objetos de sistemas con control sofisticado". Revista internacional de sistemas generales . 40 (3): 313–343. doi :10.1080/03081079.2010.539975. S2CID  205549734.
  152. ^ Lewis, John; Loftus, William (2008). Fundamentos del diseño de programación de soluciones de software Java, sexta edición . Pearson Education Inc. ISBN 978-0-321-53205-3., sección 1.6 "Programación Orientada a Objetos"
  153. ^ St. Laurent, Andrew M. (2008). Entender el código abierto y las licencias de software libre. O'Reilly Media. pág. 4. ISBN 9780596553951.
  154. ^ Levine, Sheen S.; Prietula, Michael J. (30 de diciembre de 2013). "Colaboración abierta para la innovación: principios y desempeño". Ciencias de la organización . 25 (5): 1414–1433. arXiv : 1406.7541 . doi :10.1287/orsc.2013.0872. ISSN  1047-7039. S2CID  6583883.
  155. ^ "Fibra óptica". www.thefoa.org . The Fiber Optic Association . Consultado el 17 de abril de 2015 .
  156. ^ Senior, John M.; Jamro, M. Yousif (2009). Comunicaciones por fibra óptica: principios y práctica . Pearson Education. págs. 7–9. ISBN 978-0130326812.
  157. ^ Williams, Laurie (19-20 de febrero de 2001). Integración de la programación en parejas en un proceso de desarrollo de software . 14.ª Conferencia sobre educación y formación en ingeniería de software. Charlotte. pp. 27-36. doi :10.1109/CSEE.2001.913816. ISBN 0-7695-1059-0Uno de los programadores, el conductor, controla el teclado y el ratón y ejecuta activamente el programa. El otro programador, el observador, observa continuamente el trabajo del conductor para identificar errores tácticos (sintácticos, ortográficos, etc.) y también piensa estratégicamente en la dirección del trabajo.
  158. ^ Gottlieb, Allan; Almasi, George S. (1989). Computación altamente paralela. Redwood City, California: Benjamin/Cummings. ISBN 978-0-8053-0177-9.
  159. ^ Prata, Stephen (2004). C primer plus (5ª ed.). Sams. págs. 276-277. ISBN 978-0-672-32696-7.
  160. ^ "Borrador de trabajo, estándar para el lenguaje de programación C++" (PDF) . www.open-std.org . Consultado el 1 de enero de 2018 .
  161. ^ Gordon, Aaron. "Subprogramas y paso de parámetros". rowdysites.msudenver.edu/~gordona . Archivado desde el original el 1 de enero de 2018 . Consultado el 1 de enero de 2018 .
  162. ^ Comisión de Asistencia Electoral de Estados Unidos (2007). «Definiciones de palabras con significados especiales». Directrices para el sistema de votación voluntaria . Archivado desde el original el 8 de diciembre de 2012. Consultado el 14 de enero de 2013 .
  163. ^ Ranta, Aarne (9 de mayo de 2012). Implementación de lenguajes de programación (PDF) . Publicaciones universitarias. Págs. 16-18. ISBN 9781848900646. Recuperado el 22 de marzo de 2020 .
  164. ^ Relojes sin, William F.; Mellish, Christopher S. (2003). Programación en Prolog . Berlín; Nueva York: Springer-Verlag. ISBN 978-3-540-00678-7.
  165. ^ Bratko, Ivan (2012). Programación Prolog para inteligencia artificial (4.ª ed.). Harlow, Inglaterra; Nueva York: Addison Wesley. ISBN 978-0-321-41746-6.
  166. ^ Covington, Michael A. (1994). Procesamiento de lenguaje natural para programadores de Prolog . Englewood Cliffs, NJ: Prentice Hall. ISBN 978-0-13-629213-5.
  167. ^ Lloyd, JW (1984). Fundamentos de programación lógica. Berlín: Springer-Verlag. ISBN 978-3-540-13299-8 . 
  168. ^ Kuhlman, Dave. "Un libro sobre Python: Python para principiantes, Python avanzado y ejercicios de Python". Sección 1.1. Archivado desde el original (PDF) el 23 de junio de 2012.
  169. ^ Academias Nacionales de Ciencias, Ingeniería y Medicina (2019). Grumbling, Emily; Horowitz, Mark (eds.). Computación cuántica: progreso y perspectivas (2018) . Washington, DC: National Academies Press. pág. I-5. doi :10.17226/25196. ISBN 978-0-309-47969-1. OCLC  1081001288. S2CID  125635007.
  170. ^ Lenguaje y entorno R
    • Hornik, Kurt (4 de octubre de 2017). "Preguntas frecuentes sobre R". The Comprehensive R Archive Network . 2.1 ¿Qué es R? . Consultado el 6 de agosto de 2018 .
    Fundación R
    • Hornik, Kurt (4 de octubre de 2017). "Preguntas frecuentes sobre R". The Comprehensive R Archive Network . 2.13 ¿Qué es la Fundación R? . Consultado el 6 de agosto de 2018 .
    El equipo central de R solicita a los autores que utilizan R en sus análisis de datos que citen el software utilizando:
    • Equipo central de R (2016). R: Un lenguaje y entorno para el cálculo estadístico. Fundación R para el cálculo estadístico, Viena, Austria. URL http://www.R-project.org/.
  171. ^ ampliamente utilizado
    • Fox, John y Andersen, Robert (enero de 2005). "Uso del entorno de cálculo estadístico R para impartir cursos de estadística social" (PDF) . Departamento de Sociología, Universidad McMaster . Consultado el 6 de agosto de 2018 .
    • Vance, Ashlee (6 de enero de 2009). "Los analistas de datos cautivados por el poder de R". New York Times . Consultado el 6 de agosto de 2018 . R es también el nombre de un lenguaje de programación popular utilizado por un número cada vez mayor de analistas de datos dentro de corporaciones y el mundo académico. Se está convirtiendo en su lengua franca...
  172. ^ Vance, Ashlee (6 de enero de 2009). "Los analistas de datos cautivados por el poder de R". New York Times . Consultado el 6 de agosto de 2018 . R es también el nombre de un lenguaje de programación popular utilizado por un número cada vez mayor de analistas de datos dentro de corporaciones y el mundo académico. Se está convirtiendo en su lengua franca...
  173. ^ "Definiciones del diccionario de informática". Estudiantes de informática . Consultado el 22 de enero de 2018 .
  174. ^ Radványi, Tibor (2014). Sistemas de gestión de bases de datos. Colegio Eszterházy Károly. pag. 19 . Consultado el 23 de septiembre de 2018 .
  175. ^ Kahate, Atul (2006). Introducción a los sistemas de gestión de bases de datos. Pearson. p. 3. ISBN 978-81-317-0078-5. Recuperado el 23 de septiembre de 2018 .
  176. ^ Connolly, Thomas (2004). Soluciones de bases de datos: una guía paso a paso para crear bases de datos (2.ª ed.). Pearson. pág. 7. ISBN 978-0-321-17350-8.
  177. ^ Pezzè, Mauro; Young, Michal (2008). Pruebas y análisis de software: proceso, principios y técnicas. Wiley. Las actividades de prueba que se centran en problemas de regresión se denominan pruebas de (no) regresión. Por lo general, se omite la palabra "no"
  178. ^ Basu, Anirban (2015). Garantía de calidad de software, pruebas y métricas. PHI Learning. ISBN 978-81-203-5068-7.
  179. ^ Comité del Consejo Nacional de Investigación sobre el Envejecimiento de la Aviónica en Aeronaves Militares: Envejecimiento de la Aviónica en Aeronaves Militares. The National Academies Press, 2001, página 2: ″Cada ciclo de actualización tecnológica requiere pruebas de regresión″
  180. ^ Boulanger, Jean-Louis (2015). Normas CENELEC 50128 e IEC 62279. Wiley. ISBN 978-1119122487.
  181. ^ Codd, EF (1970). "Un modelo relacional de datos para grandes bancos de datos compartidos". Comunicaciones de la ACM. 13 (6): 377–387. doi:10.1145/362384.362685.
  182. ^ Ambler, Scott (21 de marzo de 2023). "Bases de datos relacionales 101: una mirada al panorama general".
  183. ^ Instituto de Ingenieros Eléctricos y Electrónicos (1990) Diccionario informático estándar IEEE: una recopilación de glosarios informáticos estándar IEEE. Nueva York, NY ISBN 1-55937-079-3 
  184. ^ Kotonya, Gerald; Sommerville, Ian (1998). Ingeniería de requisitos: procesos y técnicas . Chichester, Reino Unido: John Wiley and Sons. ISBN 9780471972082.
  185. ^ Ueberhuber, Christoph W. (1997), Computación numérica 1: métodos, software y análisis, Springer, págs. 139-146, ISBN 978-3-54062058-7
  186. ^ Forrester, Dick (2018). Métodos numéricos de Matemáticas/Comp241 (apuntes de clase) . Dickinson College .
  187. ^ Aksoy, Pelin; DeNardis, Laura (2007), Tecnología de la información en teoría, Cengage Learning, pág. 134, ISBN 978-1-42390140-2
  188. ^ Ralston, Anthony; Rabinowitz, Philip (2012), Un primer curso de análisis numérico, Dover Books on Mathematics (2.ª ed.), Courier Dover Publications, págs. 2-4, ISBN 978-0-48614029-2
  189. ^ Butt, Rizwan (2009), Introducción al análisis numérico con MATLAB, Jones & Bartlett Learning, págs. 11-18, ISBN 978-0-76377376-2
  190. ^ "Descripción general de los conceptos clave de los protocolos de enrutamiento: arquitecturas, tipos de protocolos, algoritmos y métricas". Tcpipguide.com. Archivado desde el original el 20 de diciembre de 2010. Consultado el 15 de enero de 2011 .
  191. ^ Philip A. Bernstein , Vassos Hadzilacos, Nathan Goodman (1987): Control de concurrencia y recuperación en sistemas de bases de datos (descarga gratuita en PDF), Addison Wesley Publishing Company, ISBN 0-201-10715-5 
  192. ^ Gerhard Weikum , Gottfried Vossen (2001): Sistemas de información transaccional, Elsevier, ISBN 1-55860-508-8 
  193. ^ Maurice Herlihy y J. Eliot B. Moss. Memoria transaccional: soporte arquitectónico para estructuras de datos sin bloqueos. Actas del 20.º simposio internacional anual sobre arquitectura informática (ISCA '93). Volumen 21, número 2, mayo de 1993.
  194. ^ Marshall Cline. "Preguntas frecuentes sobre C++: "¿De qué se trata esta "serialización"?"". Archivado desde el original el 5 de abril de 2015. Permite tomar un objeto o un grupo de objetos, colocarlos en un disco o enviarlos a través de un mecanismo de transporte inalámbrico o por cable y, luego, quizás en otra computadora, revertir el proceso y resucitar el objeto o los objetos originales. Los mecanismos básicos son aplanar el objeto o los objetos en una secuencia unidimensional de bits y convertir esa secuencia de bits nuevamente en el objeto o los objetos originales.
  195. ^ Kearney, KT; Torelli, F. (2011). "El modelo SLA". En Wieder, P.; Butler, JM; Theilmann, W.; Yahyapour, R. (eds.). Acuerdos de nivel de servicio para computación en la nube. Springer Science+Business Media, LLC. págs. 43–68. ISBN 9781461416142.
  196. ^ Nwana, H. S. (1996). "Agentes de software: una descripción general". Knowledge Engineering Review . 21 (3): 205–244. CiteSeerX 10.1.1.50.660 . doi :10.1017/s026988890000789x. S2CID  7839197. 
  197. ^ Schermer, B. W. (2007). Agentes de software, vigilancia y el derecho a la privacidad: un marco legislativo para la vigilancia habilitada por agentes (libro de bolsillo) . Vol. 21. Leiden University Press . Págs. 140, 205–244. hdl :1887/11951. ISBN . 978-0-596-00712-6. Recuperado el 30 de octubre de 2012 .
  198. ^ SWEBOK Pierre Bourque; Robert Dupuis; Alain Abran; James W. Moore, eds. (2004). "Capítulo 4: Construcción de software". Guía del conjunto de conocimientos de ingeniería de software. IEEE Computer Society . págs. 4–1–4–5. ISBN 0-7695-2330-7Archivado desde el original el 14 de julio de 2014. Consultado el 21 de junio de 2020 .
  199. ^ Roger S. Pressman Ingeniería de software: un enfoque práctico (octava edición)
  200. ^ Ralph, P. y Wand, Y. (2009). Una propuesta para una definición formal del concepto de diseño. En Lyytinen, K., Loucopoulos, P., Mylopoulos, J. y Robinson, W., editores, Design Requirements Workshop (LNBIP 14), págs. 103-136. Springer-Verlag, pág. 109 doi :10.1007/978-3-540-92966-6_6.
  201. ^ Freeman, Peter; David Hart (2004). "Una ciencia del diseño para sistemas intensivos en software". Comunicaciones de la ACM . 47 (8): 19–21 [20]. doi :10.1145/1012037.1012054. S2CID  14331332.
  202. ^ "Definición y explicación del desarrollo de aplicaciones (AppDev)". Bestpricecomputers.co.uk. 2007-08-13 . Consultado el 2012-08-05 .
  203. ^ DRM Associates (2002). "Glosario de desarrollo de nuevos productos" . Consultado el 29 de octubre de 2006 .
  204. ^ Abran y col. 2004, págs. 1-1
  205. ^ ACM (2007). "Carreras y titulaciones en informática". ACM. Archivado desde el original el 17 de junio de 2011. Consultado el 23 de noviembre de 2010 .
  206. ^ Laplante, Phillip (2007). Lo que todo ingeniero debería saber sobre ingeniería de software. Boca Raton: CRC. ISBN 978-0-8493-7228-5. Recuperado el 21 de enero de 2011 .
  207. ^ "El Grupo de Trabajo Conjunto para los Planes de Estudio de Informática 2005" (PDF) . 2014-10-21. Archivado (PDF) desde el original el 2014-10-21 . Consultado el 2020-04-16 .
  208. ^ "ISO/IEC 14764:2006 Ingeniería de software — Procesos del ciclo de vida del software — Mantenimiento". Iso.org. 17 de diciembre de 2011. Consultado el 2 de diciembre de 2013 .
  209. ^ Kaner, Cem (17 de noviembre de 2006). Pruebas exploratorias (PDF) . Conferencia anual mundial sobre pruebas de software del Quality Assurance Institute. Orlando, FL . Consultado el 22 de noviembre de 2014 .
  210. ^ "Programación en C: un tutorial" (PDF). Archivado desde el original (PDF) el 23 de febrero de 2015.
  211. ^ Por el contrario, una COLA simple opera según el sistema FIFO ( primero en entrar, primero en salir ).
  212. ^ Cormen, Thomas H .; Leiserson, Charles E .; Rivest, Ronald L .; Stein, Clifford (2009) [1990]. Introducción a los algoritmos (3ª ed.). MIT Press y McGraw-Hill. págs. 232-233. ISBN 0-262-03384-4.
  213. ^ "¿Qué es sin estado? - Definición de WhatIs.com". techtarget.com .
  214. ^ "declaración". Webopedia. Septiembre de 1996. Consultado el 3 de marzo de 2015 .
  215. ^ "Bases de datos NOSQL". Archivado desde el original el 26 de diciembre de 2018. DEFINICIÓN NoSQL: Bases de datos de próxima generación que abordan principalmente algunos de los puntos: ser no relacionales, distribuidas, de código abierto y escalables horizontalmente.
  216. ^ Leavitt, Neal (2010). "¿Las bases de datos NoSQL cumplirán con su promesa?" (PDF). IEEE Computer. 43 (2): 12–14. doi:10.1109/MC.2010.58. S2CID 26876882.
  217. ^ Mohan, C. (2013). La historia se repite: aspectos sensatos y no sensatos de la agitación de NoSQL (PDF) . Actas de la 16.ª Conferencia Internacional sobre la Extensión de la Tecnología de Bases de Datos.
  218. ^ "Amazon regresa al futuro con una base de datos 'NoSQL'". WIRED. 19 de enero de 2012. Consultado el 6 de marzo de 2017 .
  219. ^ "Los RDBMS dominan el mercado de bases de datos, pero los sistemas NoSQL se están poniendo al día". DB-Engines.com. 21 de noviembre de 2013. Consultado el 24 de noviembre de 2013 .
  220. ^ "NoSQL (Not Only SQL)". Base de datos NoSQL, también llamada Not Only SQL
  221. ^ Fowler, Martin . "NosqlDefinition". Muchos defensores de NoSQL dicen que no significa un "no" a SQL, sino que significa No sólo SQL.
  222. ^ "Asociación ACM en álgebra computacional".
  223. ^¿ Cuestión de sintaxis o de semántica?
  224. ^ John Paul Mueller, Errores semánticos en Java
  225. ^ ¿ Qué es la "documentación técnica"? en Transcom.de. Consultado el 25 de febrero de 2013.
  226. ^ ¿ Qué es la documentación técnica? Archivado el 18 de abril de 2013 en archive.today en Tetras Translations. Consultado el 25 de febrero de 2013.
  227. ^ Documentación del nuevo sistema en IGCSE ICT. Consultado el 25 de febrero de 2013.
  228. ^ "La esperanza informática, la generación de lenguajes"
  229. ^ "Cargar definición". techterms.com . Consultado el 30 de marzo de 2017 .
  230. ^ Congreso Internacional de las Naciones Unidas (2009).
  231. ^ "Barras diagonales y barras diagonales inversas en las URL". zzz.buzz . Consultado el 19 de septiembre de 2018 .
  232. ^ RFC 3986 (2005).
  233. ^ ab Grupo de interés conjunto de planificación de URI W3C/IETF (2002).
  234. ^ RFC 2396 (1998).
  235. ^ Miessler, Daniel (17 de abril de 2024). "La diferencia entre URL y URI".
  236. ^ Entrada de archivo de jerga para "Usuario" . Consultado el 7 de noviembre de 2010 .
  237. ^ "Definición de agente de usuario del W3C". www.w3.org. 16 de junio de 2011. Consultado el 20 de octubre de 2018 .
  238. ^ Aho, Alfred V.; Sethi, Ravi; Ullman, Jeffrey D. (1986), Compiladores: principios, técnicas y herramientas , págs. 26-28, Bibcode :1986cptt.book.....A
  239. ^ Knuth, Donald (1997). El arte de la programación informática . Vol. 1 (3.ª ed.). Reading, Massachusetts: Addison-Wesley. Págs. 3-4. ISBN 0-201-89683-4.
  240. ^ Kevin Forsberg y Harold Mooz , "La relación de la ingeniería de sistemas con el ciclo del proyecto", en Actas del primer simposio anual del Consejo Nacional de Ingeniería de Sistemas, octubre de 1991: 57–65.
  241. ^ Beal, Vangie (2 de mayo de 2001). "¿Qué es Wi-Fi (IEEE 802.11x)? Una definición de biblioteca web". Biblioteca web . Archivado desde el original el 8 de marzo de 2012.
  242. ^ Schofield, Jack (21 de mayo de 2007). "Los peligros de la radiación Wi-Fi (actualizado)". The Guardian – vía www.theguardian.com.
  243. ^ "Certificación | Wi-Fi Alliance". www.wi-fi.org .

Obras citadas

Notas

  1. ^ La función puede almacenarse como una referencia a una función, como un puntero de función .
  2. ^ En este artículo, el término "subrutina" se refiere a cualquier construcción similar a una subrutina, que tiene diferentes nombres y significados ligeramente diferentes según el lenguaje de programación que se esté analizando.
  3. ^ Una URL implica el medio para acceder a un recurso indicado y se denota por un protocolo o un mecanismo de acceso, lo que no es cierto para cada URI. [234] [233] Por lo tanto http://www.example.com, es una URL, mientras que www.example.comno lo es. [235]
Obtenido de "https://es.wikipedia.org/w/index.php?title=Glosario_de_informática&oldid=1246934724"