stringtranslate.com

Glosario de informática

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

A

tipo de datos abstractos (ADT)
Un 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 con datos de este tipo y el comportamiento de estas operaciones. Esto contrasta con las estructuras de datos, que son representaciones concretas de datos desde el punto de vista de un implementador más que de un usuario.
método abstracto
Uno con sólo una firma y sin organismo de implementación . A menudo se utiliza 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 e informática, el proceso de eliminar detalles o atributos físicos, espaciales o temporales [2] en el estudio de objetos o sistemas para atender más de cerca otros detalles de interés; [3] también es de naturaleza muy similar al proceso de generalización .
2. El resultado de este proceso: un concepto abstracto : objeto creado manteniendo características o atributos comunes a varios objetos o sistemas de estudio concretos. [3]
arquitectura del agente
Un modelo para agentes de software y sistemas de control inteligentes que describe 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 o colectivas como organizaciones o grupos) con miras a evaluar sus efectos en el sistema en su conjunto. Combina elementos de teoría de juegos , sistemas complejos , emergencia , sociología computacional , sistemas multiagente y programación evolutiva . Los métodos de Monte Carlo se utilizan para introducir la aleatoriedad.
función agregada
En la gestión de bases de datos , una función en la que los valores de varias filas se agrupan para formar un valor único de significado o medición más significativo, como una suma, un recuento o un máximo.
Desarrollo Ágil de Software
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] Promueve 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 algoritmos
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 operativa , como la programación dinámica y divide y vencerás . 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 utilizados por el algoritmo. Se debe analizar un algoritmo para determinar su uso de recursos y la eficiencia de un algoritmo se puede medir en función del uso de diferentes recursos. La eficiencia algorítmica puede considerarse análoga a la productividad de la 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)
Un 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 componentes básicos, que luego el programador ensambla .
Software de la aplicacion

También simplemente aplicación o app .

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

También simplemente matriz .

Una estructura de datos que consta de 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 manera que la posición de cada elemento se pueda 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 producen durante el desarrollo de software. Algunos artefactos (por ejemplo , casos de uso , diagramas de clases y otros modelos, requisitos y documentos de diseño del lenguaje de modelado unificado (UML)) ayudan a describir la función, la arquitectura y el diseño del software. Otros artefactos tienen que ver con el proceso de desarrollo en sí, como planes de proyecto, casos de negocios y evaluaciones de riesgos.
inteligencia artificial (IA)

También inteligencia artificial .

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 las posibilidades de alcanzar 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 "aprendizaje" y "resolución de problemas". [13]
ASCII
Véase Código estándar americano para el intercambio de información .
afirmación
En programación de computadoras, una afirmación de que un predicado ( función con valores booleanos , es decir, una expresión verdadero-falso) 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 este último, algunos programas verifican las aserciones evaluando realmente el predicado a medida que se ejecutan y, si en realidad no es cierto (un error de aserción), el programa se considera a sí mismo como roto y normalmente falla deliberadamente o lanza una excepción de error de aserción .
matriz asociativa
Una matriz, mapa, tabla de símbolos o diccionario asociativo 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 a este tipo de datos permiten: [14] [15]
  • la incorporació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 los autómatas
El estudio de máquinas abstractas y autómatas , así como de los problemas computacionales que pueden resolverse utilizándolos. Es una teoría en informática teórica y matemáticas discretas (un tema de estudio tanto en matemáticas como en informática).
razonamiento automatizado
Un área de informática y 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 completa o casi completa de forma 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

banda ancha
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 no se dispone de la información necesaria.
punto de referencia
El acto de ejecutar un programa de computadora, un conjunto de programas u otras operaciones, para evaluar el desempeño relativo de un objeto, normalmente ejecutando una serie de pruebas y ensayos estándar en su contra. [20] El término punto de referencia también se utiliza comúnmente para los fines de los propios programas de evaluación comparativa elaborados.
mejor, peor y promedio de los casos
Expresiones de cuál es el uso de recursos al menos , como máximo y en promedio , respectivamente, para un algoritmo determinado. Normalmente el recurso que se considera es el tiempo de ejecución, es decir, la complejidad del tiempo , 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 el software de aplicación de procesamiento de datos tradicional pueda manejarlos adecuadamente. Los datos con muchos casos (filas) ofrecen un mayor poder estadístico , mientras que los datos con mayor complejidad (más atributos o columnas) pueden generar una mayor tasa de descubrimiento falso . [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 infinito. Es miembro de una familia de notaciones inventadas por Paul Bachmann , [22] Edmund Landau , [23] y otros, denominadas 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 numérico de base 2 o sistema numérico binario, que utiliza sólo 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 corte binario . [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 abandonado y elniño correcto . Unadefinición recursivaque utiliza simplementede 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 también sea el conjunto vacío.[29]
bioinformática
Un 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 utilizando 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, número de bits que se transmiten o procesan por unidad de tiempo. [31]
lista negra

También lista de bloqueo .

En informática, mecanismo básico de control de acceso que permite pasar por 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 esos 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 realice 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 booleanos
Un tipo de datos que tiene uno de dos valores posibles (normalmente denominados verdadero y falso ), destinado a representar los dos valores de verdad de la lógica y el álgebra booleana . Lleva el nombre de 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 cambiando 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ógico más general (ver lógica probabilística ), es decir, la lógica no siempre tiene que ser booleana.
expresión booleana
Una expresión utilizada en un lenguaje de programación que devuelve un valor booleano cuando se evalúa, es decir, verdadero o falso . Una expresión booleana puede estar compuesta por una combinación de constantes booleanas verdaderas o falsas , variables de tipo booleano , operadores con valores booleanos y funciones con valores booleanos . [34]
álgebra de Boole
En matemáticas y lógica matemática , rama del álgebra en la que los valores de las variables son los valores de verdad verdadero y falso , normalmente denotados como 1 y 0, respectivamente. A diferencia del álgebra elemental , donde los valores de las variables son números y las operaciones primas 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 (denotado como ¬). Por tanto, es 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 normalmente consta de ocho bits, que representan un número binario. Históricamente, el byte era el número de bits utilizados 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 computadora.
arrancando
Los procedimientos implementados en la puesta en marcha de una computadora o aparato informático hasta que pueda ser utilizado. Puede iniciarse mediante hardware, como presionar un botón o mediante un comando de software. Una vez que se enciende, la computadora es relativamente tonta y solo puede leer una parte de su almacenamiento llamado memoria de solo lectura. Allí se almacena un pequeño programa llamado firmware . Realiza autopruebas de encendido y, lo más importante, permite el acceso a otros tipos de memoria como el disco duro y la memoria principal . El firmware carga programas más grandes en la memoria principal de la computadora y los ejecuta.

C

llamar de vuelta

También una función de llamada posterior . [37]

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 dado. 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 de computadora realizando 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 los años sesenta. [38] Tradicionalmente, el término "CPU" se refiere a un procesador , más específicamente a su unidad de procesamiento y unidad de control (CU), distinguiendo estos elementos centrales de una computadora de los componentes externos como la memoria principal y los circuitos de E/S. [39]
personaje
Unidad de información que corresponde aproximadamente a un grafema , unidad similar a un grafema o símbolo, como en un alfabeto o silabario en la forma escrita de un lenguaje natural . [40]
cifrar

También cifrar .

En criptografía, algoritmo para realizar cifrado o descifrado : una serie de pasos bien definidos que se pueden seguir como procedimiento.
clase
En programación orientada a objetos, una plantilla de código de programa extensible para crear objetos , que proporciona valores iniciales para el estado ( variables miembro ) e implementaciones de comportamiento (funciones o métodos miembro ). [41] [42] En muchos idiomas, el nombre de la clase se usa como el nombre de la clase (la plantilla misma), el nombre del constructor predeterminado de la clase (una subrutina que crea objetos) y como el tipo de objetos. generado al crear una instancia de la clase; Estos conceptos distintos se combinan fácilmente. [42]
programación basada en clases

También orientación de clase .

Un estilo de programación orientada a objetos (POO) en el que la herencia se produce mediante la definición de "clases" de objetos, en lugar de hacerlo únicamente a través de los objetos (compárese con la programación basada en prototipos ).
cliente
Una pieza de hardware o software que accede a un servicio puesto a disposición por un servidor . El servidor suele estar (pero no siempre) en otro sistema informático , en cuyo caso el cliente accede al servicio a través de una red . [43] 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
Un proceso de desarrollo de software destinado a producir software con un nivel certificable de confiabilidad . El proceso de sala limpia fue desarrollado originalmente por Harlan Mills y varios de sus colegas, incluido Alan Hevner de IBM . [44] El objetivo del proceso de sala limpia es la prevención de defectos, en lugar de 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 ámbito léxico en un lenguaje con funciones de primera clase . Operacionalmente , un cierre es un registro que almacena una función [a] junto con un entorno. [45]
computación en la nube
Grupos compartidos de recursos de sistemas informáticos configurables y servicios de nivel superior que se pueden aprovisionar 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 compartir recursos para lograr coherencia y economías de escala , similar a un servicio público .
biblioteca de códigos
Colección 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 y subrutinas escritos previamente , clases, valores o especificaciones de tipo. En OS/360 de IBM y sus sucesores se les conoce como 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 realizar una tarea informática específica. La programación implica tareas como análisis, generación de algoritmos, elaboración de perfiles de precisión y consumo de recursos de los algoritmos, y la implementación de algoritmos en un lenguaje de programación elegido (comúnmente conocido como codificación [46] [47] ). 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 automaticen la realización de una tarea para resolver un problema determinado. Por lo tanto, el proceso de programación a menudo requiere experiencia en varios temas 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, criptografía, detección y corrección de errores , transmisión y 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 confiables. Normalmente, esto implica la eliminación de 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. [48] ​​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, centrándose en cómo los sistemas nerviosos representan, procesan y transforman la información . Las facultades mentales que interesan a los científicos cognitivos incluyen el lenguaje, la percepción, la memoria, la atención, el razonamiento y las emociones; 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. [49]
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 deben operarse juntos de alguna manera controlada. Generalmente, los elementos de datos serán del mismo tipo o, en los idiomas que soportan la herencia, se derivarán de algún tipo de 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 existe una opción convencional (consulte Contenedor para una discusión sobre 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 la fuente del nombre de este formato de archivo .
compilador
Un programa de computadora que transforma código de computadora escrito en un lenguaje de programación (el lenguaje de origen) en otro lenguaje de programación (el lenguaje de destino). Los compiladores son un tipo de traductor que soporta dispositivos digitales, principalmente computadoras. El nombre compilador se utiliza principalmente para programas que traducen 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 de máquina ) para crear un programa ejecutable. [50]
teoría de la computabilidad
También conocida como teoría de la recursividad , 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 ampliado para incluir el estudio de la computabilidad y definibilidad generalizadas. En estas áreas, la teoría de la recursividad se superpone con la teoría de la prueba y la teoría descriptiva de conjuntos efectiva .
cálculo
Cualquier tipo de cálculo [51] [52] que incluya pasos aritméticos y no aritméticos y siga un modelo bien definido , por ejemplo, un algoritmo. El estudio de la computación es primordial 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. [53] 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 . [54] 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 computadora para ayudar a resolver problemas químicos. Utiliza métodos de química teórica , incorporados a programas informáticos eficientes, para calcular las estructuras y propiedades de moléculas y sólidos.
teoría de la complejidad computacional
Un subcampo de la ciencia computacional que se enfoca en clasificar 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 de cálculo se puede resolver mediante la aplicación mecánica de pasos matemáticos, como un algoritmo.
modelo computacional
Un modelo matemático en ciencia computacional que requiere amplios recursos computacionales para estudiar el comportamiento de un sistema complejo mediante simulación por computadora . [55]
Neurociencia Computacional

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

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 . [56] [57] [58] [59]
física computacional
Es el estudio e implementación del análisis numérico para resolver problemas de física para los cuales ya existe una teoría cuantitativa . [60] 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 ( SC ).

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 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 autónomo para cambiar su resultado.
computadora
Dispositivo al que se le puede ordenar que realice secuencias de operaciones aritméticas o lógicas automáticamente mediante programación informática. Las computadoras modernas tienen la capacidad de seguir conjuntos generalizados de operaciones, llamados programas. Estos programas permiten a las computadoras realizar una gama extremadamente amplia de tareas.
arquitectura de Computadores
Conjunto de reglas y métodos que describen la funcionalidad, organización e implementación de sistemas informáticos. Algunas definiciones de arquitectura la definen como una descripción de las capacidades y el modelo de programación de una computadora, pero no de una implementación particular. [61] En otras definiciones, la arquitectura de computadora implica el diseño de la arquitectura del conjunto de instrucciones , el diseño de la microarquitectura , el diseño lógico y la implementación . [62]
almacenamiento de datos informáticos

También simplemente almacenamiento o memoria .

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. [63] : 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 con respecto a la conducta profesional y social. [64]
gráficos de computadora
Imágenes y películas creadas con ordenadores. Por lo general, el término se refiere a datos de imágenes generados por computadora creados con la ayuda de hardware y software gráficos especializados. Es un área vasta y de reciente desarrollo de la informática.
Red de computadoras

También red de datos .

Una red de telecomunicaciones digitales 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 cable como alambres o cables ópticos, o medios inalámbricos como Wi-Fi.
programa de computadora
Es una colección de instrucciones [65] que puede ejecutar 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 realizar una tarea informática específica. La programación implica tareas como análisis, generación de algoritmos, elaboración de perfiles de precisión y consumo de recursos de los algoritmos, y la implementación de algoritmos en un lenguaje de programación elegido (comúnmente conocido como codificación [46] [47] ). 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 automaticen la realización de una tarea para resolver un problema determinado. Por lo tanto, el proceso de programación a menudo requiere experiencia en varios temas 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 uso de las computadoras. Implica el estudio de algoritmos que procesan, almacenan y comunican información digital . Un informático se especializa en la teoría de la computación y el diseño de sistemas computacionales. [66]
científico de la computación
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. [67]
la seguridad informática

También ciberseguridad [68] o seguridad de las tecnologías de la información ( IT security ).

La protección de los sistemas informáticos contra robo o daño a su hardware , software o datos electrónicos , así como contra la interrupción o mala dirección de los servicios que prestan.
visión por computador
Un campo científico interdisciplinario que se ocupa de cómo se pueden fabricar computadoras para obtener una comprensión de alto nivel a partir de imágenes o videos digitales . Desde la perspectiva de la ingeniería, se busca automatizar tareas que el sistema visual humano puede realizar. [69] [70] [71]
informática
Es cualquier actividad orientada a objetivos que requiere, se beneficia o crea maquinaria informática. Incluye estudio de procesos algorítmicos y 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 ingeniería informática , ciencias de la computación , ciberseguridad , ciencia de datos , sistemas de información , tecnología de la información e ingeniería de software . [72]
concatenación
En la teoría del lenguaje formal y la programación informática , la concatenación de cadenas es la operación de unir cadenas de caracteres de un extremo a otro. Por ejemplo, la concatenación de "nieve" y "bola" 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 cuerdas es una noción primitiva .
concurrencia
La capacidad de diferentes partes o unidades de un programa, algoritmo o problema de ejecutarse desordenadamente o en orden parcial, sin afectar el resultado final. Esto permite la ejecución paralela de las 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. [73]
condicional

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

Característica de un lenguaje de programación que realiza diferentes cálculos o acciones dependiendo de si una condición booleana especificada por el programador se evalúa como verdadera o falsa. Aparte del caso de predicación de rama , esto siempre se logra alterando selectivamente el flujo de control en función de alguna condición.
envase
Es una clase , una estructura de datos , [74] [75] o un tipo de datos abstracto (ADT) cuyas instancias son colecciones de otros objetos. En otras palabras, almacenan objetos de forma 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 adecuada para cualquier escenario determinado.
estilo de paso de continuación (CPS)
Un estilo de programación funcional en el que el control se pasa explícitamente en forma de continuación . Esto se 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 . [76] [77]
flujo de control

También flujo de control .

El orden en el que se ejecutan o evalúan declaraciones individuales , instrucciones o llamadas a funciones de un programa imperativo . El énfasis en el flujo de control explícito distingue un lenguaje de programación imperativo de un lenguaje de programación declarativo .
Creative Commons (CC)
Una organización estadounidense sin fines de lucro dedicada a ampliar la gama de obras creativas disponibles para que otros puedan desarrollarlas legalmente y compartirlas. [78] 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 estudio de técnicas para la comunicación segura ante la presencia de terceros llamados adversarios . [79] En términos más generales, la criptografía consiste en construir y analizar protocolos que impidan que terceros o el público lean mensajes privados; [80] 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 [81], son fundamentales para la criptografía moderna. La criptografía moderna existe en la intersección de las disciplinas de matemáticas , informática , ingeniería eléctrica , ciencias de la comunicación y física . Las aplicaciones de la criptografía incluyen el comercio electrónico , las tarjetas de pago con chip , las monedas digitales , las contraseñas informáticas y las comunicaciones militares .
CSV
Consulte valores separados por comas .
acoso cibernético

También el ciberacoso o bullying online .

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

D

demonio
En los sistemas operativos informáticos multitarea , un demonio ( / ˈ d m ən / o / ˈ d m ən / ) [82] 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 los procesos de un demonio terminan con la letra d , para aclarar que el proceso es de hecho un demonio y para diferenciar entre un demonio y un programa de computadora normal. Por ejemplo, syslogd es un demonio que implementa la función de registro del sistema y sshd es un demonio que sirve conexiones SSH entrantes .
Datos
centro de datos

También centro de datos .

Un espacio dedicado que se utiliza para albergar sistemas informáticos y componentes asociados, como sistemas de telecomunicaciones y almacenamiento de datos . Generalmente incluye componentes e infraestructura redundantes o de respaldo para el suministro de energía , conexiones de comunicaciones de datos, controles ambientales (por ejemplo, aire acondicionado y extinción de incendios) y diversos dispositivos de seguridad. [83]
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, a menudo se desarrollan utilizando técnicas formales de diseño y modelado.
procesamiento 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 . [84] 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. [84] [85] [86] [87] La ​​minería de datos es el paso de análisis del proceso de "descubrimiento de conocimiento en bases de datos", o KDD. [88] Además del paso de análisis sin procesar, también involucra aspectos de gestión de datos y bases de datos, preprocesamiento de datos , consideraciones de modelo e inferencia , métricas de interés, consideraciones de complejidad , posprocesamiento de estructuras descubiertas, visualización y actualización en línea . [84]
Ciencia de los datos
Un campo interdisciplinario que utiliza métodos, procesos, algoritmos y sistemas científicos para extraer conocimientos e ideas de datos en diversas formas, tanto estructuradas como no estructuradas, [89] [90] similar a la minería de datos. La ciencia de datos es un "concepto para unificar estadísticas, análisis de datos, aprendizaje automático y sus métodos relacionados" con el fin de "comprender y analizar fenómenos reales" con datos. [91] Emplea técnicas y teorías extraídas de muchos campos dentro del contexto de las matemáticas, la estadística, las ciencias 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 modificación eficientes . [92] [93] [94] 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. [95]
tipo de datos

También simplemente escriba .

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: real , entero y booleano . Un tipo de datos restringe los valores que puede tomar una expresión, como una variable o una función. Este tipo de datos define las operaciones que se pueden realizar con 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 cual una expresión puede tomar su valor. [96] [97]
depuración
El proceso de encontrar y resolver defectos o problemas dentro de un programa de computadora que impiden el funcionamiento correcto del software de computadora o del sistema en su conjunto. Las tácticas de depuración pueden incluir depuración interactiva, análisis de 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 de computadoras, construcción de lenguaje que especifica las propiedades de un identificador: declara lo que "significa" una palabra (identificador). [98] Las declaraciones se usan más comúnmente para funciones , variables , constantes y clases , pero también se pueden usar para otras entidades como enumeraciones y definiciones de tipos. [98] 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 del tipo (para funciones); Los tipos también pueden incluir dimensiones, como las de matrices. Se utiliza una declaración para anunciar la existencia de la entidad al compilador; Esto es importante en aquellos lenguajes fuertemente tipados que requieren que funciones, variables y constantes, y sus tipos, se especifiquen con una declaración antes de su uso, y se usa en la declaración directa . [99] El término "declaración" se contrasta con frecuencia con el término "definición", [98] pero el significado y el uso varían significativamente entre idiomas.
Información digital
En teoría de la información y sistemas de información , la representación discreta y discontinua de información u 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 por 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 )
Un 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. [100] Entre eventos consecutivos, no se supone que ocurra ningún cambio en el sistema; por lo tanto, la simulación puede saltar directamente en el tiempo de un evento al siguiente.
almacenamiento de disco
(También llamado a veces almacenamiento en unidad) es una categoría general de mecanismos de almacenamiento donde los datos se registran 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 distribuída
Un campo de la informática que estudia los sistemas distribuidos. Un sistema distribuido es un sistema cuyos componentes están ubicados en diferentes computadoras en red , que se comunican y coordinan sus acciones pasándose mensajes entre sí. [101] Los componentes interactúan entre sí para lograr un objetivo común. Tres características importantes de los sistemas distribuidos son: concurrencia de componentes, falta de un reloj global y falla independiente de los componentes. [101] Los ejemplos de sistemas distribuidos varían desde sistemas basados ​​en SOA hasta juegos en línea multijugador masivo y aplicaciones peer-to-peer .
algoritmo divide y vencerás
Un paradigma de diseño de algoritmos basado en recursividad multiramificada. Un algoritmo de divide y vencerás funciona dividiendo recursivamente un problema en dos o más subproblemas del mismo tipo o relacionados, hasta que se vuelven lo suficientemente simples como para resolverlos directamente. Luego se combinan las soluciones a los subproblemas para dar una solución al problema original.
DNS
Consulte Sistema de nombres de dominio .
documentación
Texto escrito o ilustración que acompaña al software de computadora o está incrustado en el código fuente. Explica cómo funciona o cómo utilizarlo, y puede significar cosas diferentes para personas que desempeñan diferentes roles.
dominio
Es el área temática objetivo de 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. [102]
Sistema de nombres de dominio (DNS)
Un sistema de nombres jerárquico y descentralizado para computadoras, servicios u otros recursos conectados a Internet o a una red privada. Asocia diversa información con nombres de dominio asignados a cada una de las entidades participantes. Lo más destacado es que traduce 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
Un formato de número de computadora . Representa un amplio rango dinámico de valores numéricos mediante el uso de un punto de base flotante.
descargar
En redes informáticas , para recibir datos de un sistema remoto, normalmente un servidor [103] como un servidor web , un servidor FTP , un servidor de correo electrónico u otros sistemas similares. Esto contrasta con la carga, donde 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 recepción de dicho archivo.

mi

dispositivo de borde
Un dispositivo que proporciona un punto de entrada a las redes centrales de la empresa o del proveedor de servicios. Los ejemplos incluyen enrutadores , conmutadores de enrutamiento , dispositivos de acceso integrado (IAD), multiplexores y una variedad de dispositivos de acceso a redes de área metropolitana (MAN) y redes de área amplia (WAN). Los dispositivos perimetrales 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 de cajero automático) puede denominarse concentrador de borde.
cifrado
En criptografía , el cifrado es el proceso de codificar información. Este proceso convierte la representación original de la información, conocida como texto sin formato , en una forma alternativa conocida como texto cifrado . Idealmente, sólo las partes autorizadas pueden descifrar un texto cifrado a texto sin formato y acceder a la información original. El cifrado en sí no previene la interferencia, pero niega el contenido inteligible a un posible interceptor. Por razones técnicas, un esquema de cifrado suele utilizar 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 autor a los destinatarios, pero no a los usuarios no autorizados. Históricamente, se han utilizado diversas 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 que se han vuelto comunes en todas las áreas de la informática moderna. [104] Los esquemas de cifrado modernos utilizan los conceptos de clave pública y clave simétrica . [104] 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 forma 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 desencadenan la acción, el mnemotécnico acróstico " E xecution V ariable Encapsulating Named Trigger " se utiliza a menudo 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 se aplica a la programación de controladores de dispositivos (por ejemplo, P en pilas de controladores de dispositivos USB [105] ).
computación evolutiva
Una familia de algoritmos para la 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 prueba 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 de acuerdo con instrucciones codificadas ", [106] 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: mientras que "instrucciones" se entiende tradicionalmente como instrucciones de código de máquina para una CPU física , en algunos contextos un archivo que contiene código de bytes o instrucciones de lenguaje de secuencias de comandos también puede considerarse ejecutable.
módulo ejecutable
ejecución
En ingeniería informática y de software es el proceso mediante el cual una computadora 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 se llevará a cabo para resolver un problema específico; Como las instrucciones de un programa y por tanto las acciones que describen están siendo realizadas por una máquina ejecutora, se producen efectos específicos de acuerdo con la semántica de las instrucciones que se ejecutan.
manejo de excepciones
El proceso de responder a la aparición, durante el cálculo, de excepciones (condiciones anómalas o excepcionales que requieren un procesamiento especial) que a menudo interrumpen el flujo normal de ejecución del programa. Lo proporcionan construcciones de lenguajes de programación especializados, mecanismos de hardware informático como interrupciones o instalaciones 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 (de acuerdo con sus reglas particulares de precedencia y asociación) y calcula para producir ("retornar", en un entorno con estado). ) otro valor. Este proceso, al igual que ocurre con las expresiones matemáticas , se llama evaluación.
biblioteca externa

F

sistema informático tolerante a fallos
Un sistema diseñado en torno al concepto de tolerancia a fallos . En esencia, deben poder seguir trabajando a un nivel de satisfacción ante la presencia de errores o averías.
estudio de factibilidad
Una investigación que tiene como objetivo descubrir objetiva y racionalmente las fortalezas y debilidades de un negocio existente o proyecto propuesto, las oportunidades y amenazas presentes en el entorno natural , los recursos necesarios para llevarlo a cabo y, en última instancia, las perspectivas de éxito. [107] [108] En sus términos más simples, los dos criterios para juzgar la viabilidad son el costo requerido y el valor a alcanzar. [109]
campo
Los datos que tienen varias partes, conocidos como registro , se pueden dividir en campos. Las bases de datos relacionales organizan los datos como conjuntos de registros de la base de datos , llamados filas . Cada registro consta de varios campos; los campos de todos los registros forman las columnas . Ejemplos de campos: nombre, sexo, color de cabello.
extensión de nombre de archivo
Un identificador especificado como sufijo del nombre de un archivo de computadora . La extensión indica una característica del contenido del archivo o su uso previsto.
filtro (software)
Un programa de computadora o subrutina para procesar una secuencia y producir otra secuencia. Si bien un solo filtro se puede usar individualmente, con frecuencia se unen para formar una tubería .
aritmética de punto flotante
En informática , la aritmética de punto flotante (FP) es una aritmética que utiliza una representación formulada de números reales como una aproximación para respaldar un equilibrio entre rango y precisión. Por esta razón, el cálculo de punto flotante se encuentra a menudo en sistemas que incluyen números reales muy pequeños y muy grandes, lo que requiere tiempos de procesamiento rápidos. En general, un número se representa aproximadamente con un número fijo de dígitos significativos (el significado ) y se escala utilizando un exponente en alguna base fija; la base para la escala es normalmente dos, diez o dieciséis. Un número que se puede representar exactamente es de la siguiente forma:
donde el significado es un número entero , la base es un número entero mayor o igual a dos y el exponente también es un número entero. Por ejemplo:
en bucle

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 afirmación: los descendientes de ALGOL usan "para", mientras que los descendientes de Fortran usan "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 . [110] 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, la realización de un análisis matemático apropiado puede contribuir a la confiabilidad y solidez de un diseño. [111]
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. [112]
programación funcional
Un paradigma de programación (un estilo de construcción de la estructura y los elementos de los programas de computadora) que trata la computación como la evaluación de funciones matemáticas y evita los cambios de estado y los datos mutables . Es un paradigma de programación declarativa en el sentido de que la programación se realiza con expresiones o declaraciones [113] en lugar de declaraciones.

GRAMO

teoría de juego
El estudio de modelos matemáticos de interacción estratégica entre tomadores de decisiones racionales. [114] Tiene aplicaciones en todos los campos de las ciencias sociales , así como en la lógica y la informática. Originalmente, se refería a 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 conductuales y es un término general para la ciencia de la toma de decisiones lógicas en humanos, animales y computadoras.
basura adentro, basura afuera (GIGO)
Término utilizado para describir el concepto de que 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 gráficos intercambeable
gigabyte
Un múltiplo del byte unitario para información digital. El prefijo giga significa 10 9 en el Sistema Internacional de Unidades (SI). Por lo tanto , un gigabyte son 1.000.000.000 de bytes . El símbolo de unidad del gigabyte es GB.
variable global
En programación de computadoras, una 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. con anticipación.
Teoría de grafos
En matemáticas, el estudio de gráficos , que son estructuras matemáticas utilizadas para modelar relaciones por pares entre objetos. Un gráfico 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 gráficos no dirigidos, donde las aristas unen dos vértices simétricamente, y gráficos dirigidos, donde las aristas unen dos vértices asimétricamente.

h

manejar
En programación de computadoras , 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 de cálculo se puede resolver mediante la aplicación mecánica de pasos matemáticos, como un algoritmo.
función hash
Cualquier función que pueda usarse 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 una búsqueda rápida de datos. Las funciones hash aceleran la búsqueda de tablas o bases de datos al detectar registros duplicados en un archivo grande.
tabla de picadillo
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 depósitos o ranuras , a partir de los cuales se puede encontrar el valor deseado.
montón
Una estructura de datos especializada basada en árbol que es esencialmente un árbol [115] casi completo 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. [116] El nodo en la "parte superior" del montón (sin padres) se llama nodo raíz .
ordenar en montón
Un algoritmo de clasificación basado en comparaciones . Se puede considerar Heapsort como una clasificación de selección mejorada : al igual que ese algoritmo, divide su entrada en una región ordenada y otra sin clasificar, y reduce iterativamente la región sin clasificar 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. [117]
interacción persona-computadora (HCI)
Investiga el diseño y uso de la tecnología informática, enfocado en las interfaces entre personas ( usuarios ) y computadoras. Los investigadores en el campo de 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 maneras novedosas. Como campo de investigación, la interacción persona-computadora 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 indicar 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 declaraciones que cambian el estado de un programa. De la misma manera que el modo imperativo en los lenguajes naturales expresa órdenes, un programa imperativo consta de órdenes que debe ejecutar la computadora. La programación imperativa se centra en describir cómo funciona un programa.
modelo de construcción incremental
Un método de desarrollo de software donde el producto se diseña , implementa y prueba de forma incremental (se agrega 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 de la creación de prototipos .
análisis del espacio de información
Un método determinista, mejorado por inteligencia artificial, para localizar y evaluar recursos para esfuerzos centrados en el equipo.
visualización de información
herencia
En programación orientada a objetos, el mecanismo de basar un objeto o clase en otro objeto ( herencia basada en prototipos ) o clase ( herencia basada en clases ), conservando una implementación similar. También se define como derivar nuevas clases (subclases) de las existentes (superclase o clase base ) y formarlas 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 enviados desde él. El término también puede utilizarse como parte de una acción; "realizar E/S" es realizar una operación de entrada o salida .
tipo de 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 recuperación-decodificación-ejecución o simplemente ciclo de recuperación-ejecución .

El ciclo que sigue la unidad central de procesamiento (CPU) desde el arranque hasta que la computadora se apaga para procesar instrucciones. Se compone de 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 integral, un tipo de datos que representa algún rango de números enteros matemáticos . Los tipos de datos integrales pueden ser de diferentes tamaños y se les puede permitir o no contener 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 enteros disponibles varía entre los diferentes tipos de computadoras. El hardware informático, 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 instalaciones integrales a los programadores informáticos 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 .
pruebas de integración
(a veces llamada integración y prueba, abreviado I&T) es la fase de prueba de software en la que los módulos de software individuales se combinan y prueban como grupo. Las pruebas de integración se llevan a cabo para evaluar el cumplimiento de un sistema o componente con requisitos funcionales específicos . [118] Ocurre después de las pruebas unitarias y antes de las pruebas de validación . Las pruebas de integración toman como entrada módulos que han sido probados unitariamente, los agrupan en agregados más grandes, aplican pruebas definidas en un plan de pruebas de integración a esos agregados y entregan como salida el sistema integrado listo para las pruebas del sistema . [119]
propiedad intelectual (PI)
Una categoría de propiedad legal que incluye creaciones intangibles del intelecto humano. [120] [121] Hay muchos tipos de propiedad intelectual y algunos países reconocen más que otros. [122] [123] [124] [125] [126] 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 la consecución de objetivos (es decir, es un agente ), sobre un entorno utilizando la observación a través de sensores y consecuentes actuadores (es decir, es inteligente). [127] Los agentes inteligentes también pueden aprender o utilizar conocimientos 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. [128]
interfaz
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 de computadora , dispositivos periféricos , humanos y combinaciones de estos. [129] Algunos dispositivos de hardware de computadora, 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, solo pueden proporcionar una interfaz para enviar datos a un sistema determinado. [130]
documentación interna
Se dice que el software tiene documentación interna si las notas sobre cómo y por qué funcionan varias 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
El sistema global de redes informáticas interconectadas que utilizan el conjunto de protocolos de Internet (TCP/IP) para vincular dispositivos en todo el mundo. Es una red de redes que consta de redes privadas, públicas, académicas, comerciales y gubernamentales de alcance local a global, unidas por 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 . [131] Por lo general, los robots realizan tareas que son simples y estructuralmente repetitivas, a un ritmo mucho mayor de lo que sería posible para un humano solo. El mayor uso de los bots es en el rastreo web ( rastreador web ), en el que un script automatizado busca, analiza y archiva información de servidores web a una velocidad muchas veces superior a la de un humano .
intérprete
Un programa informático que ejecuta directamente instrucciones escritas en un lenguaje de programación o scripting , sin requerir que hayan sido compiladas previamente en un programa en lenguaje de máquina .
invariante
Uno puede encontrar invariantes que se puede confiar en que son verdaderas durante la ejecución de un programa, o durante alguna parte del mismo. Es una afirmación lógica que siempre se considera cierta durante una determinada fase de ejecución. Por ejemplo, una 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 algún punto final o valor final. Cada repetición del proceso es una única iteración, y el resultado de cada iteración es el punto de partida de la siguiente iteración. En matemáticas e informática , la iteración (junto con la técnica relacionada de recursividad ) es un elemento estándar de los algoritmos .

j

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

k

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

l

biblioteca (informática)
Colección 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 y subrutinas escritos previamente , clases, valores o especificaciones de tipo.

También búsqueda secuencial .

Un método para encontrar un elemento dentro de una lista. Comprueba secuencialmente cada elemento de la lista hasta que se encuentra una coincidencia o se ha buscado en toda la lista. [136]
lista enlazada
Una colección lineal de elementos de datos, cuyo orden no está dado por su ubicación física en la memoria. En cambio, cada elemento apunta al siguiente. Es una estructura de datos que consta de una colección 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 objeto generados por un compilador o 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 generalmente se considera un proceso separado. [137]
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 lista es una representación informática del concepto matemático de una secuencia finita ; el análogo (potencialmente) infinito de una lista es una secuencia. [138] : §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
La 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. Cargar 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 lógico
En programación de computadoras, un error en un programa que hace que funcione incorrectamente, pero que no finalice de manera anormal (o falle ). Un error lógico produce resultados no deseados o no deseados u otro comportamiento, aunque es posible que no se reconozca inmediatamente como tal.
programación lógica
Un tipo de paradigma de programación que se basa en gran medida en la lógica formal . Cualquier programa escrito en un lenguaje de programación lógico 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 poder hacer predicciones o decisiones sin estar programados explícitamente para realizar la tarea. [139] [140]
visión artificial (VM)
La tecnología y los métodos utilizados para proporcionar inspección y análisis automáticos basados ​​en imágenes para aplicaciones tales como inspección automática, control de procesos y 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 las tecnologías existentes de nuevas maneras 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
Un subcampo de las matemáticas que explora las aplicaciones de la lógica formal a las matemáticas. Tiene estrechas conexiones con las metamatemáticas , los fundamentos de las matemáticas y la informática teórica . [141] Los temas unificadores en 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 (matrices en plural), es una matriz rectangular [142] (ver matriz irregular ) de números , símbolos o expresiones , dispuestos en filas y columnas . [143] [144]
memoria
El almacenamiento de datos informáticos, a menudo llamado 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 componente fundamental de las computadoras. [63] : 15-16 
fusionar ordenar

También fusionar .

Un algoritmo de clasificación eficiente, de propósito general y basado en comparaciones . La mayoría de las implementaciones producen una clasificación estable , lo que significa que el orden de los elementos iguales es el mismo en la entrada y la salida. La ordenación por fusión es un algoritmo de divide y vencerás inventado por John von Neumann en 1945. [145] Una descripción y un análisis detallados de la ordenación por fusión ascendente aparecieron en un informe de Goldstine y von Neumann ya en 1948. [146]
método
En programación orientada a objetos (POO), 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 el objeto puede ser utilizado por cualquiera de los diversos consumidores [147] 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 distintas fases 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. [148]
módem

Acrónimo de modulador-demodulador .

Dispositivo de hardware que convierte datos a un formato adecuado para un medio de transmisión para que pueda 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 onda portadora 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 para transmitir señales analógicas, desde diodos emisores de luz a radio . Un tipo común de módem es aquel 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 (PNL)
Un subcampo de la lingüística , la informática, la ingeniería de la información y la inteligencia artificial que se ocupa de las interacciones entre las computadoras y los lenguajes humanos (naturales), en particular cómo programar computadoras para procesar y analizar grandes cantidades de datos del lenguaje natural . Los desafíos en el procesamiento del lenguaje natural frecuentemente implican el reconocimiento del habla , 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 vinculada o una estructura de datos de árbol . Los nodos contienen datos y también pueden vincularse a otros nodos. Los enlaces entre nodos suelen implementarse mediante punteros .
teoría de los números
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 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 verificació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 al que hace referencia 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). [149]
código de objeto

También módulo de objeto .

El producto de un compilador. [150] En un sentido general, el código objeto es una secuencia de declaraciones o instrucciones en un lenguaje informático, [151] generalmente 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 resultado del proceso de compilación, y algunas de las primeras fuentes se refieren al código fuente como un "programa sujeto".
Análisis y diseño orientado a objetos (OOAD)
Un enfoque técnico para analizar y diseñar una aplicación, sistema o negocio mediante la aplicación de programación orientada a objetos, así como el uso de modelado visual durante todo el proceso de desarrollo de software para guiar la comunicación de 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 son los procedimientos de un objeto que 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í. [152] [153] 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 de estudiar, cambiar y distribuir el software a cualquier persona y para cualquier propósito. [154] El software de código abierto puede desarrollarse de manera pública colaborativa . El software de código abierto es un ejemplo destacado de colaboración abierta . [155]
sistema operativo (SO)
Software de sistema que gestiona hardware y recursos de software y proporciona servicios comunes para programas informáticos.
fibra óptica
Fibra flexible y transparente hecha estirando vidrio ( sílice ) o plástico hasta un diámetro ligeramente más grueso que el de un cabello humano . [156] Las fibras ópticas se utilizan con mayor frecuencia como medio para transmitir luz entre los dos extremos de la fibra y encuentran un amplio uso en las comunicaciones de fibra óptica , donde permiten la transmisión a distancias más largas y en anchos de banda (velocidades de datos) más altos 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érdidas ; Además, las fibras son inmunes a las interferencias electromagnéticas , problema que padecen los cables metálicos. [157]

PAG

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

También argumento formal .

En programación de computadoras, 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 [160] [161] [162] de los argumentos (a menudo llamados argumentos reales o parámetros reales ) con los que se llamará/invocará la subrutina. Generalmente 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 auxiliar conectado o integrado dentro de un sistema informático y utilizado para enviar información o recuperar información de la computadora. Un dispositivo de entrada envía datos o instrucciones a la computadora; un dispositivo de salida proporciona salida desde 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 . Este puede ser el de otro valor ubicado en la memoria de la computadora , o en algunos casos, el 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, el número de página del índice de un libro podría considerarse un indicador de 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 .
poscondición
En programación de computadoras, 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 . A veces, las poscondiciones se prueban mediante afirmaciones dentro del propio código. A menudo, las condiciones posteriores simplemente se incluyen en la documentación de la sección de código afectada.
condición previa
En programación de computadoras, una 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 queda indefinido y, por lo tanto, puede o no llevar a cabo el trabajo previsto. 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 puede acceder directamente. La CPU lee continuamente las instrucciones almacenadas allí y las ejecuta según sea necesario. Los datos que se utilicen activamente también se almacenarán allí de forma uniforme.
tipo de datos primitivo
cola de prioridad
Un tipo de datos abstracto que es como una cola normal o una estructura de datos de pila, 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 que fueron puestos en cola, mientras que en otras implementaciones, el orden de los elementos con la misma prioridad no está definido.
programación procesal
procedimiento
En programación de computadoras , una subrutina es una secuencia de instrucciones de un programa que realiza una tarea específica, empaquetadas como una unidad. Esta unidad se puede utilizar en programas dondequiera que se deba realizar esa tarea en particular.Las subrutinas se pueden definir 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 unidad exigible. [163]
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 la creación inicial hasta el despliegue y la ejecución . Las fases son tiempo de edición, tiempo de compilación, tiempo de enlace, tiempo de distribución, tiempo de instalación, tiempo de carga y 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 de computadoras para implementar algoritmos.
implementación del lenguaje de programación
Es un sistema para ejecutar programas informáticos . Hay dos enfoques generales para la implementación de lenguajes de programación: interpretación y compilación . [164]
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 lenguajes de programación y de sus características individuales . Se incluye dentro de la disciplina de la informática, dependiendo y afectando a las matemáticas , la ingeniería de software , la lingüística e incluso las ciencias cognitivas . Se ha convertido en una rama muy reconocida de la informática y en 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 a la inteligencia artificial y la lingüística computacional . [165] [166] [167] 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 . representados como hechos y reglas . Un cálculo se inicia ejecutando una consulta sobre estas relaciones. [168]
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 de pequeña y gran escala. [169]

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 teórica o físicamente. [170] : 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 cola , y la eliminación de entidades de la posición terminal frontal, conocida como quitar la cola .
ordenación rápida

También clasificación por intercambio de particiones .

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

R

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

También base .

En los sistemas de numeración digital , el número de dígitos únicos , incluido el dígito cero, se utiliza para representar números en un sistema de numeración posicional . Por ejemplo, en el sistema decimal/denario (el sistema más común en uso hoy en día), la base (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 básicos; en el sistema binario que es el estándar en informática, la base es dos, porque utiliza sólo 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 u hoja de cálculo suelen denominarse " filas ". [174] [175] [176] [177]
recursividad
Ocurre cuando una cosa se define en términos de sí misma o de su tipo. La recursividad 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 recursividad es en matemáticas e informática, 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 pueda ocurrir ningún bucle infinito o 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 se refiere al dato y acceder al dato se llama desreferenciar la referencia.
conteo de referencia
Una técnica de programación para almacenar el número 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 , se pueden usar recuentos de referencias para desasignar objetos que ya no son necesarios.
base de datos relacional
Es una base de datos digital basada en el modelo relacional de datos, propuesto por EF Codd en 1970. [178] 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 la opción de utilizar SQL (lenguaje de consulta estructurado) para consultar y mantener la base de datos. [179] [ se necesita una mejor fuente ]
ingeniería de confiabilidad
Una 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 en condiciones establecidas durante un período de tiempo específico. [180] 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.
pruebas de regresión
(rara vez pruebas que no son de regresión [181] ) consiste en volver a ejecutar pruebas funcionales y no funcionales para garantizar que el software previamente desarrollado y probado siga funcionando después de un cambio. [182] Si no, eso se llamaría una 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 . [183] ​​Dado que los conjuntos de pruebas de regresión tienden a crecer con cada defecto encontrado, la automatización de las pruebas suele estar involucrada. A veces se realiza un análisis del impacto del cambio para determinar un subconjunto apropiado de pruebas ( análisis de no regresión [184] ).
análisis de requerimientos
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 software o Requisitos del sistema. [185]
robótica
Una rama interdisciplinaria de la ingeniería y la ciencia que incluye ingeniería mecánica , ingeniería electrónica , ingeniería de la información , ciencias de la computación y otras. La robótica implica el diseño, construcción, operación y 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 seguros.
error de redondeo

También error de redondeo . [186]

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. [187] Los errores de redondeo se deben a la inexactitud en la representación de los números reales y las operaciones aritméticas realizadas con ellos. Esta es una forma de error de cuantificación . [188] 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 los errores de cálculo. [189] Los errores de cálculo, también llamados errores numéricos , incluyen tanto errores de truncamiento como errores de redondeo. [190]
enrutador
Dispositivo de red que reenvía paquetes de datos entre redes informáticas . Los enrutadores realizan las funciones de dirección del tráfico en Internet . Los datos enviados a través de Internet, como una página web o un correo electrónico , se encuentran en forma de paquetes de datos. Normalmente, un paquete se reenvía de un enrutador a otro a través de las redes que constituyen una red (por ejemplo, Internet) hasta que llega a su nodo de destino . [191]
tabla de ruteo
En las redes de computadoras, una tabla de enrutamiento, o base de información de enrutamiento (RIB), es una tabla de datos almacenada en un enrutador o un host de red que enumera las rutas a destinos de red particulares 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, tiempo de ejecución o tiempo de ejecución es la fase final del ciclo de vida de un programa de computadora , en la que el código se ejecuta en la unidad central de procesamiento (CPU) de la computadora como código de máquina . En otras palabras, "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 el compilador detecta un error de tiempo de compilación antes de que se ejecute el programa. La verificación de tipos , la asignación de registros , la generación de código y la optimización del código generalmente se realizan en tiempo de compilación, pero se pueden realizar en tiempo de ejecución según el lenguaje y el compilador en particular. Muchos otros errores de tiempo de ejecución existen y son manejados 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 subdesbordamiento aritmético , varios tipos de errores de subdesbordamiento y desbordamiento , y muchos otros errores de tiempo de ejecución generalmente considerados. como errores de software que pueden o no ser detectados y manejados por un lenguaje informático 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 del 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 no es accesible directamente por la CPU. La computadora generalmente usa 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 el almacenamiento primario porque el almacenamiento secundario es menos costoso.
clasificación de selección
Es un algoritmo de clasificación por comparación in situ . Tiene una complejidad temporal O ( n 2 ) , lo que lo hace ineficiente en listas grandes y, en general, funciona peor que el tipo de inserción similar . La clasificación por selección destaca por su simplicidad y tiene ventajas de rendimiento sobre algoritmos más complicados en determinadas situaciones, especialmente cuando la memoria auxiliar es limitada.
semántica
En la teoría de los 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 el caso de que la evaluación fuera de cadenas sintácticamente no válidas, el resultado no sería un cálculo. 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 cálculo .
secuencia
En matemáticas , una secuencia es una colección enumerada de objetos en la que se permiten repeticiones y el orden sí importa. Como un conjunto , contiene miembros (también llamados elementos o términos ). El número de elementos (posiblemente infinito) se llama 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 del cual el elemento es la imagen. El primer elemento tiene índice 0 o 1, según el contexto o una convención específica. Cuando se utiliza un símbolo para indicar una secuencia, el enésimo elemento de la secuencia se indica mediante este símbolo con n como subíndice; por ejemplo, el enésimo elemento de la secuencia de Fibonacci F generalmente se denota como F n . Por ejemplo, (M, A, R, Y) es una secuencia de letras con la letra 'M' primero y 'Y' al final. 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 sucesiones pueden ser finitas , como en estos ejemplos, o infinitas , como la secuencia de todos los números enteros pares positivos (2, 4, 6,...). En informática y ciencias de la computación , las secuencias finitas a veces se denominan cadenas , palabras o listas , y los diferentes nombres comúnmente corresponden a diferentes formas de representarlas en la memoria de la computadora ; Las secuencias infinitas se llaman corrientes . La secuencia vacía ( ) está incluida en la mayoría de las nociones de secuencia, pero puede excluirse según el contexto.
serializabilidad
En el control de concurrencia de bases de datos , [192] [193] procesamiento de transacciones (gestión de transacciones) y diversas aplicaciones transaccionales (por ejemplo, memoria transaccional [194] 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 al mismo tiempo (se superponen), ya que esta es la forma más eficiente. La serialización es el principal criterio de corrección para las ejecuciones de transacciones concurrentes [ cita necesaria ] . Se considera el nivel más alto de aislamiento entre transacciones y desempeña un papel esencial en el control de la concurrencia . Como tal, es compatible con todos los sistemas de bases de datos de propósito general. El bloqueo estricto y fuerte de dos fases (SS2PL) es un mecanismo de serialización 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 el estado de un objeto a un formato que pueda almacenarse (por ejemplo, en un archivo o memoria intermedia ) o transmitirse (por ejemplo, a través de un enlace de conexión de red ) y reconstruirse más tarde (posiblemente en un entorno informático diferente). ). [195] 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 aquellos 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 serializar un objeto también se denomina ordenar 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 deserialización o desclasificación ).
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 del servicio y el usuario del servicio. [196] El componente más común de un SLA es que los servicios deben proporcionarse al cliente según lo acordado en el contrato. Por ejemplo, los proveedores de servicios de Internet y las empresas de telecomunicaciones suelen incluir acuerdos de nivel de servicio dentro de los términos de sus contratos con los clientes para definir los niveles de servicio que se venden en términos sencillos. En este caso, el SLA normalmente tendrá una definición técnica de tiempo medio entre fallas (MTBF), tiempo medio de reparación o tiempo medio de recuperación (MTTR); identificar quién es responsable de informar fallas o pagar tarifas; responsabilidad por diversas tarifas de datos; rendimiento ; nerviosismo ; o detalles medibles 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 conjunto finito . A diferencia de la mayoría de los otros tipos de colecciones , en lugar de recuperar un elemento específico de un conjunto, normalmente se prueba la pertenencia de un valor a un conjunto.
variable singleton
Una variable a la que se hace referencia solo una vez. Puede usarse 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 ocurren 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 tipo pelusa señalan la aparición de variables singleton.
informática suave
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 realmente realiza el trabajo. En informática e ingeniería de software , el software informático es toda la información procesada por sistemas , programas y datos informáticos . El software informático incluye programas informáticos , bibliotecas y datos no ejecutables relacionados , como documentación en línea o medios digitales . El hardware y el software informático se necesitan mutuamente y, de manera realista, ninguno de ellos puede utilizarse por sí solo.
agente de software
Es un programa informático que actúa por cuenta de 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. Esa "acción en nombre de" implica la autoridad para decidir qué acción, en su caso, es apropiada. [197] [198] Los agentes se conocen coloquialmente como bots , de robot . Pueden estar incorporados, como cuando la ejecución se combina 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 entre humanos y robots ) pueden poseer cualidades humanas, como la comprensión del lenguaje y el habla naturales , 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 a través de una combinación de codificación, verificación , pruebas unitarias , pruebas de integración y depuración . Está vinculado a todas las demás disciplinas de la ingeniería de software , más fuertemente al diseño y las pruebas de software . [199]
implementación de software
Son todas las actividades que hacen que un sistema de software esté disponible para su uso. [200]
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 . [201] El diseño de software puede referirse a "toda la actividad involucrada en la conceptualización, formulación, implementación, puesta en servicio y, en última instancia, modificación de sistemas complejos" o "la actividad que sigue la especificación de requisitos y antes de programar , como... [en] un software estilizado proceso de ingeniería." [202]
desarrollo de software
Es el proceso de concebir, especificar, diseñar, programar , documentar , probar y corregir errores involucrado en la creación y 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 implica desde la concepción del software deseado hasta la manifestación final del software, a veces en un proceso planificado y estructurado . [203] 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. [204]
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 distintas fases 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. [148] 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 . [205] [206] [207] La ​​ingeniería de software es una disciplina informática . [208]
mantenimiento del 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. [209]
creación de prototipos de software
Es la actividad de creación de 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 como se conoce en otros campos, como la ingeniería mecánica o la fabricación . Por lo general, un prototipo simula sólo algunos aspectos del producto final y puede ser completamente diferente del mismo.
Especificación de Requerimientos de Software
(SRS), es una descripción de un sistema de software a desarrollar . La especificación de requisitos de software establece requisitos funcionales y no funcionales , y puede incluir un conjunto de casos de uso que describen las interacciones del usuario que el software debe proporcionarle al usuario para una interacción perfecta.
pruebas de software
Es una investigación realizada para proporcionar a las partes interesadas información sobre la calidad del producto o servicio de software bajo prueba. [210] Las pruebas de software también pueden proporcionar una visión objetiva e independiente del software para permitir a la empresa apreciar y comprender 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 clasificación
Es un algoritmo que pone 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 clasificación eficiente es importante para optimizar la eficiencia de otros algoritmos (como los algoritmos de búsqueda y combinación ) que requieren que los datos de entrada estén en listas ordenadas. La clasificación también suele ser útil para canonicalizar datos y producir resultados legibles por humanos. Más formalmente, el resultado de cualquier algoritmo de clasificació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 (una reordenación, pero conservando todos los elementos originales) de la entrada.
Además, los datos de entrada suelen almacenarse en una matriz , que permite el acceso aleatorio , en lugar de una lista, que sólo permite el acceso secuencial ; aunque se pueden aplicar muchos algoritmos a cualquier tipo 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 utilizando [211] un lenguaje de programación legible por humanos , generalmente como texto sin formato . El código fuente de un programa está especialmente diseñado para facilitar el trabajo de los programadores informáticos , quienes especifican las acciones que debe realizar una computadora mayoritariamente escribiendo código fuente. El código fuente a menudo es transformado por un ensamblador o compilador en código de máquina binario que puede ser ejecutado por la computadora. El código de máquina podría entonces almacenarse para su ejecución posterior. Alternativamente, el código fuente puede interpretarse y, por 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 procesos, como la creación de prototipos incrementales , en cascada o evolutivos .
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 eliminó.
El orden en que los elementos salen de una pila da origen a su nombre alternativo, LIFO (último en entrar, primero en salir). Además, una operación de vistazo puede dar acceso a la parte superior sin modificar la pila. [212] El nombre "pila" para este tipo de estructura proviene de la analogía con un conjunto de elementos físicos apilados uno encima del otro. Esta estructura hace que sea fácil sacar un elemento de la parte superior de la pila, mientras que llegar a un elemento más profundo de la pila puede requerir quitar varios otros elementos primero. [213]
estado
En tecnología de la información e informática, un sistema se describe como con estado si está diseñado para recordar eventos anteriores o interacciones del usuario; [214] la información recordada se llama estado del sistema.
declaración
En programación de computadoras , un enunciado es una unidad sintáctica de un lenguaje de programación imperativo que expresa alguna acción a realizar. [215] Un programa escrito en dicho lenguaje 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 componente fundamental de las computadoras. [63] : 15-16 
arroyo
Es una secuencia de elementos de datos disponibles a lo largo del tiempo. Se puede pensar en un flujo como elementos en una cinta transportadora que se procesan uno a la 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. Este último puede permitir que sus elementos sean mutados y cambiar la longitud, o puede ser fijo (después de la creación). Una cadena generalmente se considera 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, generalmente caracteres, utilizando alguna codificación de caracteres . Cadena también puede denotar matrices más generales u otras estructuras y tipos de datos de secuencia (o lista ).
almacenamiento estructurado
Una base de datos NoSQL (originalmente refiriéndose a "no SQL " o "no relacional") [216] proporciona un mecanismo para el almacenamiento y 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 finales de la década de 1960, pero el nombre "NoSQL" no se acuñó hasta principios del siglo XXI, [217] impulsado por las necesidades de las empresas Web 2.0 . [218] [219] Las bases de datos NoSQL se utilizan cada vez más en big data y aplicaciones web en tiempo real . [220] Los sistemas NoSQL a veces también se denominan "No sólo SQL" para enfatizar que pueden soportar lenguajes de consulta similares a SQL o sentarse junto a bases de datos SQL en arquitecturas persistentes políglotas . [221] [222]
subrutina
En programación de computadoras , una subrutina es una secuencia de instrucciones de un programa que realiza una tarea específica, empaquetadas como una unidad. Esta unidad se puede utilizar en programas dondequiera que se deba realizar esa tarea en particular.Las subrutinas se pueden definir 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 unidad exigible. [163]
cálculo simbólico
En matemáticas e informática , [223] el álgebra informática, 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 informática podría considerarse un subcampo de la informática científica , generalmente se consideran campos distintos porque la informática científica suele basarse en cálculos numéricos con números aproximados de punto flotante , mientras que el cálculo simbólico enfatiza el cálculo exacto con expresiones que contienen variables que no tienen un valor determinado y son manipulados como símbolos.
sintaxis
La sintaxis de un lenguaje informático es el conjunto de reglas que define las combinaciones de símbolos que se consideran enunciados o expresiones correctamente estructuradas 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 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, en el caso de los lenguajes interpretados , se puede detectar un error de sintaxis durante la ejecución del programa y es posible que los mensajes de error de un intérprete no diferencien los errores de sintaxis de los errores de otros tipos. Existe cierto desacuerdo sobre qué errores son "errores de sintaxis". Por ejemplo, algunos dirían que el uso de un valor de variable no inicializado en código Java es un error de sintaxis, pero muchos otros no estarían de acuerdo [224] [225] y clasificarían esto como un error semántico (estático) .
consola del sistema
La consola del sistema, la consola de la computadora, la consola raíz, la consola del operador o simplemente la consola es el dispositivo de entrada de texto y visualización de mensajes de administración del sistema, particularmente aquellos provenientes del BIOS o del cargador de arranque , del kernel , del sistema de inicio y del sistema. registrador . 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 computadora , que se abstraen respectivamente mediante consolas virtuales y emuladores de terminales . Hoy en día, la comunicación con las consolas del sistema generalmente se realiza de manera abstracta, a través de 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.

t

documentación técnica
En ingeniería, cualquier tipo de documentación que describa el manejo, la funcionalidad y la arquitectura de un producto técnico o de un producto en desarrollo o uso. [226] [227] [228] El destinatario previsto de la documentación técnica del producto es tanto el usuario final (competente) como el administrador/servicio o técnico de mantenimiento. A diferencia de un simple manual de "libro de recetas" , la documentación técnica tiene como objetivo proporcionar suficiente información para que el 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 fácil de usar para el programador que el código de máquina de la primera generación y los lenguajes ensambladores de la segunda generación , aunque tiene una atención menos específica a la cuarta y quinta generación. [229] 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 abstractos (ADT) ampliamente utilizado que simula una estructura de árbol jerárquica , con un valor raíz y subárboles de hijos con un nodo padre, representados como un conjunto de nodos vinculados.
teoría de tipos
En matemáticas, lógica e informática, una teoría de tipos es cualquiera de una clase de sistemas formales , algunos de los cuales pueden servir como alternativas para establecer la teoría como base de 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 determinado tipo.

Ud.

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. [230] Descarga de contraste .
Localizador uniforme de recursos (URL)

Coloquialmente dirección web . [231]

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), [232] [233] aunque mucha gente usa los dos términos indistintamente. [234] [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 un servicio informático o 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. [237] Los usuarios avanzados utilizan funciones avanzadas de los programas, aunque no necesariamente son 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, presenta y facilita la interacción del usuario final con el contenido web". [238] Un lector de correo electrónico es un agente de usuario de correo .
interfaz de usuario (UI)
El espacio donde ocurren 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 lado humano, mientras que la máquina simultáneamente retroalimenta información que ayuda al proceso de toma de decisiones de los operadores. Ejemplos de este concepto amplio de interfaces de usuario incluyen los aspectos interactivos de los sistemas operativos de las computadoras , las herramientas manuales , los controles del operador de maquinaria pesada y los controles de procesos . Las consideraciones de diseño aplicables al crear interfaces de usuario están relacionadas o involucran disciplinas como la ergonomía y la psicología .
diseño de interfaz de usuario

También ingeniería de interfaz de usuario .

El 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 enfoque en 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 de computadoras, 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 alguna 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 propia variable, según el 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. [239] [240]
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 especializado, software 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 V más general . En lugar de descender de forma 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 V-Model demuestra las relaciones entre cada fase del ciclo de vida de desarrollo y su fase de prueba asociada . Los ejes horizontal y vertical representan el tiempo o la finalización del proyecto (de izquierda a derecha) y el nivel de abstracción (abstracción de grano más grueso en la parte superior), respectivamente. [241]

W.

modelo de cascada
Un desglose de las actividades del proyecto en fases secuenciales lineales , donde cada fase depende de los entregables 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 en gran medida en una dirección ("hacia abajo" como una cascada ) a través de las fases de concepción, inicio, análisis , diseño , construcción , prueba , implementación y mantenimiento. .
Formato de archivo de audio de forma de onda

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

Un estándar de formato de archivo de audio , 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 Resource Interchange File Format (RIFF) para almacenar datos en "fragmentos" y, por lo tanto, también está cerca del formato 8SVX y AIFF utilizados en las computadoras Amiga y Macintosh , respectivamente. Es el formato principal utilizado en los sistemas Microsoft Windows para audio sin formato y normalmente 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 , spiderbot o simplemente rastreador .

Un robot de Internet que navega sistemáticamente por la World Wide Web , normalmente con el fin de indexar la Web ( web spidering ).
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 comercial de Wi-Fi Alliance , una organización sin fines de lucro , que restringe el uso del término Wi-Fi Certified a productos que completan con éxito las pruebas de certificación de interoperabilidad . [242] [243] [244]

X

HTML

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 .

Ver también

Referencias

  1. ^ "Clases y métodos abstractos". oracle.com . Documentación de Oracle Java . Consultado el 11 de diciembre de 2014 .
  2. ^ Colburn, Timoteo; 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). Análisis ágil: un enfoque basado en el valor para la inteligencia empresarial y el almacenamiento de datos . Educación Pearson. págs. 121 y siguientes. ISBN 9780321669544. ¿Qué es un equipo autoorganizado?
  6. ^ "¿Qué es el desarrollo de software ágil?". Alianza ágil. 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. ^ Negro, Paul E. (13 de noviembre de 2008). "formación". Diccionario de Algoritmos y Estructuras de Datos . Instituto Nacional de Estándares y Tecnología . Consultado el 22 de agosto de 2010 .
  10. ^ Bjoern Andrés; Ullrich Koethe; Thorben Kröger; Hamprecht (2010). "Vistas y matrices multidimensionales flexibles en tiempo de ejecución para C++98 y C++0x". arXiv : 1008.2909 [cs.DS].
  11. ^ García, Ronald; Lumsdaine, Andrés (2005). "MultiArray: una biblioteca C++ para programación genérica con matrices". 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ág. 1, que proporciona la versión que se utiliza en este artículo. Tenga en cuenta que utilizan el término "inteligencia computacional" como sinónimo de inteligencia artificial.
    • Russell y Norvig (2003) (que prefieren el término "agente racional") y escriben "La visión del agente total ahora es ampliamente aceptada en el campo" (Russell y Norvig 2003, p. 55).
    • Nilson 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 del mapa", 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, a datos + comunicaciones y redes informáticas, página 108, Addison-Wesley, 1985.
  18. ^ Programa Cisco Networking Academy: guía complementaria CCNA 1 y 2, Volym 1–2, Cisco Academy 2003
  19. ^ Behrouz A. Forouzan, Redes y comunicaciones de datos , 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 benchmarks". 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 de las ciencias sociales". Revista de análisis de marketing . 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 ACM Sureste. 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áticas discretas: pruebas, estructuras y aplicaciones, tercera edición. Prensa CRC. pag. 620.ISBN 978-1-4398-1280-8.
  29. ^ Steven S. Skiena (2009). El manual de diseño de algoritmos. Medios de ciencia y negocios de Springer. pag. 77.ISBN 978-1-84800-070-4.
  30. ^ Mackenzie, Charles E. (1980). Conjuntos de caracteres codificados, historia y desarrollo (PDF) . La serie de programación de sistemas (1 ed.). Addison-Wesley Publishing Company, Inc. pág. X. ISBN 978-0-201-14460-4. LCCN  77-90165. Archivado (PDF) desde el 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. Aprendizaje de PHI. ISBN 9788120328464. Consultado el 10 de julio de 2011 .
  32. ^ James D. Murray; William vanRyper (abril de 1996). Enciclopedia de formatos de archivos gráficos (Segunda ed.). O'Reilly . bmp. ISBN 978-1-56592-161-0. Consultado el 7 de marzo de 2014 .
  33. ^ James D. Murray; William vanRyper (abril de 1996). Enciclopedia de formatos de archivos gráficos (Segunda ed.). O'Reilly . os2bmp. ISBN 978-1-56592-161-0. Consultado el 7 de marzo de 2014 .
  34. ^ Gries, David ; Schneider, Fred B. (1993), "Capítulo 2. Expresiones booleanas", Un enfoque lógico de las matemáticas discretas, Monografías en informática, Springer, pág. 25 y siguientes, ISBN 9780387941158
  35. ^ Blaauw, Gerrit Anne ; Brooks, Jr., Federico Phillips ; Buchholz, Werner (1962), "4: Natural Data Units" (PDF) , en Buchholz, Werner (ed.), Planificación de un sistema informático: extensión del proyecto , McGraw-Hill Book Company, Inc. / The Maple Press Company, York , PA., págs. 39–40, LCCN  61-10466, archivado (PDF) desde el original el 3 de abril de 2017 , consultado el 3 de abril de 2017 , […] Términos utilizados aquí para describir la estructura impuesta por la máquina El diseño, además de la broca , 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 y 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 diferentes códigos pueden utilizar diferentes números de bits (es decir, diferentes tamaños de bytes). 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ñó a partir de bit , pero se repelió para evitar una mutación accidental a bit ).
    Una palabra consta del número de bits de datos transmitidos en paralelo desde o hacia la memoria en un ciclo de memoria. El tamaño de las palabras se define así 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 al número de palabras transmitidas hacia o desde una unidad de entrada-salida en respuesta a una única instrucción de entrada-salida. El tamaño del bloque es una propiedad estructural de una unidad de entrada-salida; Es posible que haya sido arreglado por el diseño o dejado que el programa lo modifique. […]
  36. ^ Bemer, Robert William (1959), "Una propuesta para un código de tarjeta generalizado de 256 caracteres", Comunicaciones de la ACM , 2 (9): 19–23, doi : 10.1145/368424.368435 , S2CID  36115735
  37. ^ "¿Qué es una función de devolución de llamada?". Desbordamiento de pila . Consultado el 16 de mayo de 2018 .
  38. ^ Weik, Martín H. (1961). Una tercera encuesta sobre los sistemas informáticos digitales electrónicos nacionales (Informe). Laboratorio de Investigaciones Balísticas .
  39. ^ Kuck, David (1978). Computadoras y Computaciones, Vol 1 . John Wiley & Sons, Inc. pág. 12.ISBN 978-0471027164.
  40. ^ "Definición de PERSONAJE". www.merriam-webster.com . Consultado el 1 de abril de 2018 .
  41. ^ Gamma y col. 1995, pág. 14.
  42. ^ ab Bruce 2002, 2.1 Objetos, clases y tipos de objetos, https://books.google.com/books?id=9NGWq3K1RwUC&pg=PA18.
  43. ^ Sadoski, Darleen. Arquitecturas de software cliente/servidor: descripción general , Hoja de ruta de tecnología de software, 1997-08-02. Recuperado el 16 de septiembre de 2008.
  44. ^ Molinos, H .; M. Dyer; R. Linger (septiembre de 1987). "Ingeniería de software para salas blancas". Software IEEE . 4 (5): 19–25. CiteSeerX 10.1.1.467.2435 . doi :10.1109/MS.1987.231413. S2CID  383170. 
  45. ^ Sussman y Steele. "Esquema: 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)
  46. ^ ab Shaun Bebbington (2014). "Qué es codificar" . Consultado el 3 de marzo de 2014 .
  47. ^ ab Shaun Bebbington (2014). "Qué es la programación" . Consultado el 3 de marzo de 2014 .
  48. ^ La ciencia cognitiva es un campo interdisciplinario de investigadores de lingüística, psicología, neurociencia, filosofía, informática y antropología que buscan comprender la mente. Cómo aprendemos: pregúntele al científico cognitivo
  49. ^ Thagard, Paul , Ciencia cognitiva, The Stanford Encyclopedia of Philosophy (edición de otoño de 2008), Edward N. Zalta (ed.).
  50. ^ 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 ]
  51. ^ Cálculo del diccionario gratuito Merriam-Webster
  52. ^ "Computación: definición y sinónimos de Answers.com". Respuestas.com . Archivado desde el original el 22 de febrero de 2009 . Consultado el 26 de abril de 2017 .
  53. ^ "Definición funcional de los NIH de bioinformática y biología computacional" (PDF). Iniciativa de ciencia y tecnología 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.
  54. ^ "Acerca del CCMB". Centro de Biología Molecular Computacional. Consultado el 18 de agosto de 2012.
  55. ^ 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.
  56. ^ Trappenberg, Thomas P. (2002). Fundamentos de la Neurociencia Computacional . Estados Unidos: Oxford University Press Inc. p. 1.ISBN 978-0-19-851582-1.
  57. ^ ¿Qué es la neurociencia computacional? Patricia S. Churchland, Christof Koch, Terrence J. Sejnowski. en Neurociencia Computacional págs.46-55. Editado por Eric L. Schwartz. 1993. MIT Press "Neurociencia computacional - MIT Press". Archivado desde el original el 4 de junio de 2011 . Consultado el 11 de junio de 2009 .
  58. ^ "Neurociencia teórica". La prensa del MIT . Archivado desde el original el 31 de mayo de 2018 . Consultado el 24 de mayo de 2018 .
  59. ^ Gerstner, W.; Kistler, W.; Naud, R.; Paninski, L. (2014). Dinámica Neuronal . Cambridge, Reino Unido: Cambridge University Press . ISBN 9781107447615.
  60. ^ Thijssen, Jos (2007). Física Computacional. Prensa de la Universidad de Cambridge. ISBN 978-0521833462
  61. ^ Clementes, Alan. Principios del hardware informático (Cuarta ed.). pag. 1. La arquitectura describe la organización interna de una computadora de forma abstracta; es decir, define las capacidades de la computadora y su modelo de programación. Puedes tener dos computadoras que hayan sido construidas de diferentes maneras con diferentes tecnologías pero con la misma arquitectura.
  62. ^ Hennessy, John; Patterson, David. Arquitectura informática: un enfoque cuantitativo (Quinta ed.). pag. 11. Esta tarea tiene muchos aspectos, incluido el diseño del conjunto de instrucciones, la organización funcional, el diseño lógico y la implementación.
  63. ^ a b C Patterson, David A.; Hennessy, John L. (2005). Organización y diseño de computadoras: la interfaz hardware/software (3ª ed.). Ámsterdam : Editores Morgan Kaufmann . ISBN 1-55860-604-1. OCLC  56213091.
  64. ^ Bynum, Barrio Terrell. "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 .
  65. ^ Rochkind, Marc J. (2004). Programación avanzada de Unix, segunda edición . Addison-Wesley. pag. 1.1.2.
  66. ^ "Búsqueda en WordNet: 3.1". Wordnetweb.princeton.edu . Consultado el 14 de mayo de 2012 .
  67. ^ Orsucci, Franco F.; Sala, Nicoletta (2008). Interfaces reflectantes: la compleja coevolución de los ecosistemas de tecnología de la información, referencia de las ciencias de la información . pag. 335.
  68. ^ Schatz, Daniel; Basrush, Rabih; Muro, Julie (2017). "Hacia una definición más representativa de ciberseguridad". Revista de Forense Digital, Seguridad y Derecho . 12 (2). ISSN  1558-7215.
  69. ^ Dana H. Ballard; Christopher M. Brown (1982). Visión por computador. Prentice Hall. ISBN 0-13-165316-4
  70. ^ Huang, T. (19 de noviembre de 1996). Vandoni, Carlo, E, ed. Visión por computadora: evolución y promesa (PDF). XIX Escuela de Computación del CERN. Ginebra: CERN. págs. 21-25. doi:10.5170/CERN-1996-008.21. ISBN 978-9290830955
  71. ^ Milán Sonka; Václav Hlavac; Roger Boyle (2008). Procesamiento, análisis y visión artificial de imágenes. Thompson. ISBN 0-495-08252-X
  72. ^ "Plan de estudios de informática 2020" (PDF) .[ enlace muerto permanente ]
  73. ^ 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 . 
  74. ^ Paul E. Black (ed.), entrada para estructura de datos en Diccionario de algoritmos y estructuras de datos . Instituto Nacional de Estándares y Tecnología de EE. UU. 15 de diciembre de 2004. Consultado el 4 de octubre de 2011.
  75. ^ Estructura de datos de entrada en la Encyclopædia Britannica (2009) Entrada en línea Consultado el 4 de octubre de 2011.
  76. ^ Sussman, Gerald Jay ; Steele, Guy L. Jr. (diciembre de 1975). "Esquema: un intérprete para el cálculo lambda extendido"  . Nota de IA . 349 : 19. Es decir, en este estilo de programación de paso continuo , una función siempre "devuelve" su resultado "enviándolo" a otra función . Ésta es la idea clave.
  77. ^ Sussman, Gerald Jay ; Steele, Guy L. Jr. (diciembre de 1998). "Esquema: un intérprete para el cálculo Lambda extendido" (reimpresión) . Computación simbólica y de orden superior . 11 (4): 405–439. doi :10.1023/A:1010035624696. S2CID  18040106. Creemos que esta fue la primera vez que apareció el término " estilo de paso continuo " en la literatura. Ha resultado ser un concepto importante en el análisis y transformación del código fuente para compiladores y otras herramientas de metaprogramación. También ha inspirado una serie de otros "estilos" de expresión de programas.
  78. ^ "Preguntas frecuentes". Comunes creativos. 4 de agosto de 2016 . Consultado el 20 de diciembre de 2011 .
  79. ^ Rivest, Ronald L. (1990). "Criptografía". En J. Van Leeuwen (ed.). Manual de informática teórica . vol. 1. Elsevier.
  80. ^ Bellare, Mihir; Rogaway, Phillip (21 de septiembre de 2005). "Introducción". Introducción a la criptografía moderna . pag. 10.
  81. ^ Menezes, AJ; van Oorschot, PC; Vanstone, SA (1997). Manual de criptografía aplicada. Taylor y Francisco. ISBN 978-0-8493-8523-0.
  82. ^ Eric S. Raymond . "demonio". El archivo de jerga . Consultado el 22 de octubre de 2008 .
  83. ^ James Glanz (22 de septiembre de 2012). "Energía, contaminación e Internet". Los New York Times . Consultado el 25 de septiembre de 2012 .
  84. ^ abc "Plan de estudios de minería de datos". ACM SIGKDD . 30 de abril de 2006 . Consultado el 27 de enero de 2014 .
  85. ^ Clifton, Christopher (2010). "Encyclopædia Britannica: definición de minería de datos" . Consultado el 9 de diciembre de 2010 .
  86. ^ 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 .
  87. ^ Han, Jaiwei; Kamber, Micheline; Pei, Jian (2011). Minería de datos: conceptos y técnicas (3ª ed.). Morgan Kaufman. ISBN 978-0-12-381479-1.
  88. ^ Fayyad, Usamá; 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.
  89. ^ Dhar, V. (2013). "Ciencia de datos y predicción". Comunicaciones de la ACM . 56 (12): 64–73. doi :10.1145/2500499. S2CID  6107147.
  90. ^ Jeff Leek (12 de diciembre de 2013). "La palabra clave en" Ciencia de datos "no es datos, es ciencia". Simplemente Estadísticas. Archivado desde el original el 2 de enero de 2014 . Consultado el 5 de diciembre de 2018 .
  91. ^ 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.
  92. ^ 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.
  93. ^ Negro, Paul E. (15 de diciembre de 2004). "estructura de datos". En Pieterse, Vreda; Negro, Paul E. (eds.). Diccionario de algoritmos y estructuras de datos [en línea] . Instituto Nacional de Estándares y Tecnología . Consultado el 6 de noviembre de 2018 .
  94. ^ "Estructura de datos". Enciclopedia Británica . 17 de abril de 2017 . Consultado el 6 de noviembre de 2018 .
  95. ^ Wegner, Pedro; Reilly, Edwin D. (29 de agosto de 2003). Enciclopedia de Ciencias de la Computación. Chichester, Reino Unido: John Wiley and Sons. págs. 507–512. ISBN 978-0470864128.
  96. ^ escriba en el Diccionario de informática gratuito en línea
  97. ^ Shaffer, California (2011). Estructuras de datos y análisis de algoritmos en C++ (3ª ed.). Mineola, Nueva York: Dover. 1.2. ISBN 978-0-486-48582-9.
  98. ^ 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 typedef, es la primera (o única) declaración del identificador."
    Especificación C11, 6.7: Declaraciones, apartado 5.
  99. ^ Mike Banahan. "2.5. Declaración de variables". GBdirecto . Consultado el 8 de junio de 2011 . [Una] declaración [...] introduce solo el nombre y el tipo de algo pero no asigna almacenamiento[...].
  100. ^ Stewart Robinson (2004). Simulación: la práctica del desarrollo y uso de modelos . Wiley.
  101. ^ 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.
  102. ^ Bjørner, Cena (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. pag. 9.ISBN 978-3-540-33653-2. Consultado el 19 de diciembre de 2016 .
  103. ^ "¿Qué es la descarga? - Definición de WhatIs.com". BuscarRedSiguiente . Archivado desde el original el 5 de septiembre de 2019 . Consultado el 4 de marzo de 2019 .
  104. ^ ab Kessler, Gary (17 de noviembre de 2006). "Una descripción general de la criptografía". Universidad de Princeton .
  105. ^ 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 .
  106. ^ "ejecutable". Diccionario en línea Merriam-Webster . Merriam Webster . Consultado el 19 de julio de 2008 .
  107. ^ Justis, RT y Kreigsmann, B. (1979). El estudio de viabilidad como herramienta de análisis de emprendimiento. Revista empresarial de gestión de pequeñas empresas 17 (1) 35-42.
  108. ^ Georgakellos, DA y Marcis, AM (2009). Aplicación del enfoque de aprendizaje semántico en el proceso formativo de preparación de estudios de viabilidad. Gestión de sistemas de información 26 (3) 231–240.
  109. ^ Joven, GIM (1970). Estudios de viabilidad. Diario de Tasación 38 (3) 376-383.
  110. ^ Mayordomo de RW (6 de agosto de 2001). "¿Qué son los métodos formales?" . Consultado el 16 de noviembre de 2006 .
  111. ^ C.Michael Holloway. Por qué los ingenieros deberían considerar métodos formales (PDF) . 16ª Conferencia sobre sistemas de aviónica digital (27 a 30 de octubre de 1997). Archivado desde el original (PDF) el 16 de noviembre de 2006 . Consultado el 16 de noviembre de 2006 .
  112. ^ Sanghavi, Alok (21 de mayo de 2010). "¿Qué es la verificación formal?". EE Times Asia .
  113. ^ "Estilo de declaración versus expresión - HaskellWiki".
  114. ^ Myerson, Roger B. (1991). Teoría de juegos: análisis de conflictos, Harvard University Press , p. 1. Enlaces de vista previa del capítulo, págs. vii-xi.
  115. ^ 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.
  116. ^ Negro (ed.), Paul E. (14 de diciembre de 2004). Entrada para montón en Diccionario de algoritmos y estructuras de datos . Versión en línea. Instituto Nacional de Estándares y Tecnología de EE. UU. , 14 de diciembre de 2004. Consultado el 8 de octubre de 2017 en https://xlinux.nist.gov/dads/HTML/heap.html.
  117. ^ Skiena, Steven (2012). "Clasificación y búsqueda". El manual de diseño de algoritmos . Saltador. pag. 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 de clasificación por selección utilizando la estructura de datos correcta.
  118. ^ Norma internacional ISO/IEC/IEEE: ingeniería de software y sistemas . ISO/IEC/IEEE 24765:2010(E). 2010. págs. vol., núm., págs. 1–418, 15 de diciembre de 2010.
  119. ^ Martyn A Ould y Charles Unwin (ed), Pruebas en el desarrollo de software, BCS (1986), p71. Consultado el 31 de octubre de 2014.
  120. ^ Organización Mundial de la Propiedad Intelectual (OMPI) (2016). Comprensión de la propiedad industrial. Organización Mundial de la Propiedad Intelectual. doi :10.34667/tind.28945. ISBN 9789280525885. Consultado el 6 de diciembre de 2018 .
  121. ^ "Propiedad intelectual, industrial y comercial | Fichas técnicas sobre la Unión Europea". Parlamento Europeo . Consultado el 6 de diciembre de 2018 .
  122. ^ "¿Qué son los derechos de propiedad intelectual?". Organización de Comercio Mundial . Consultado el 23 de mayo de 2016 .
  123. ^ "Propiedad intelectual", Diccionario de derecho Black , 10ª ed. (2014).
  124. ^ "Comprensión de los derechos de autor y derechos conexos" (PDF) . Organización Mundial de la Propiedad Intelectual. pag. 4 . Consultado el 6 de diciembre de 2018 .
  125. ^ "¿Qué es la propiedad intelectual?" (PDF) . Organización Mundial de la Propiedad Intelectual (OMPI). Archivado desde el original (PDF) el 6 de febrero de 2020 . Consultado el 7 de diciembre de 2018 .
  126. ^ "Comprensión de la propiedad industrial" (PDF) . Organización Mundial de la Propiedad Intelectual (OMPI) . Consultado el 7 de diciembre de 2018 .
  127. ^ Anderson, Michael; Anderson, Susan Leigh (15 de diciembre de 2007). "Ética de las máquinas: creación de un agente ético inteligente". Revista AI . 28 (4): 15. doi :10.1609/aimag.v28i4.2065. ISSN  2371-9621. S2CID  17033332.
  128. ^ Según la definición dada por Russell & Norvig (2003, capítulo 2)
  129. ^ Hookway, B. (2014). "Capítulo 1: El tema de la interfaz". Interfaz. Prensa del MIT. págs. 1–58. ISBN 9780262525503.
  130. ^ IEEE 100: el diccionario autorizado de términos de estándares IEEE . Nueva York, Nueva York, Estados Unidos: IEEE Press. 2000, págs. 574–575. ISBN 9780738126012.
  131. ^ Dunham, Ken; Melnick, Jim (2008). Bots maliciosos: una mirada al interior del mundo cibercriminal clandestino de Internet . Prensa CRC. ISBN 9781420069068.
  132. ^ Gosling y col. 2014, pág. 1.
  133. ^ "¿Java está puramente orientado a objetos o no?". Desbordamiento de pila . Consultado el 24 de mayo de 2019 .
  134. ^ "¿Escribe una vez y corre a cualquier lugar?". Computadora Semanal . 2 de mayo de 2002 . Consultado el 27 de julio de 2009 .
  135. ^ "1.2 Objetivos de diseño del lenguaje de programación Java ™". Oráculo. 1 de enero de 1999. Archivado desde el original el 23 de enero de 2013 . Consultado el 14 de enero de 2013 .
  136. ^ Knuth 1998, §6.1 ("Búsqueda secuencial").
  137. ^ Corporación IBM (1972). Editor y cargador de vínculos con el sistema operativo IBM (PDF) .
  138. ^ Abelson, Harold; Sussman, Gerald Jay (1996). Estructura e Interpretación de Programas Informáticos . Prensa del MIT.
  139. ^ La definición "sin estar programado explícitamente" a menudo se atribuye a Arthur Samuel , quien acuñó el término "aprendizaje automático" en 1959, pero la frase no se encuentra palabra por palabra en esta publicación y puede ser una paráfrasis que apareció más tarde. Conferir "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.; André, David; Keane, Martín A. (1996). Diseño automatizado de topología y dimensionamiento de circuitos eléctricos analógicos mediante programación genética . Inteligencia artificial en el diseño '96. Springer, Dordrecht. págs. 151-170. doi :10.1007/978-94-009-0279-4_9.
  140. ^ < Bishop, CM (2006), Reconocimiento de patrones y aprendizaje automático, Springer, ISBN 978-0-387-31073-2 
  141. ^ Los textos de pregrado 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.
  142. ^ De manera equivalente, tabla .
  143. ^ Antón (1987, pág.23)
  144. ^ Beauregard y Fraleigh (1973, pág.56)
  145. ^ Knuth (1998, pág.158)
  146. ^ 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 . Congreso Italiano sobre Algoritmos y Complejidad. Roma. págs. 217-228. CiteSeerX 10.1.1.86.3154 . doi :10.1007/3-540-62592-5_74. 
  147. ^ Los consumidores de un objeto pueden consistir en varios tipos de elementos, como otros programas, sistemas informáticos remotos o programadores informáticos que deseen utilizar el objeto como parte de sus propios programas.
  148. ^ ab Oficina de Servicio de Información de los Centros de Servicios de Medicare y Medicaid (CMS) (2008). Seleccionar 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.
  149. ^ Oppel, Andy (2005). SQL desmitificado . McGraw-Hill. pag. 7.ISBN 0-07-226224-9.
  150. ^ "Compilador". Objetivo tecnológico . Consultado el 1 de septiembre de 2011 . Tradicionalmente, el resultado de la compilación se ha denominado código objeto o, a veces, módulo objeto.
  151. ^ Ah, Alfred V .; Sethi, Ravi ; Ullman, Jeffrey D. (1986). "Diez optimización de código". Compiladores: principios, técnicas y herramientas . Ciencias de la Computación. Mark S. Dalton. pag. 704.ISBN 0-201-10194-7.
  152. ^ 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.
  153. ^ Lewis, Juan; Loftus, William (2008). Soluciones de software Java Fundamentos del diseño de programación 6ª ed . Pearson Education Inc. ISBN 978-0-321-53205-3., sección 1.6 "Programación orientada a objetos"
  154. ^ St. Laurent, Andrew M. (2008). Comprensión de las licencias de software libre y de código abierto. Medios O'Reilly. pag. 4.ISBN 9780596553951.
  155. ^ Levine, brillo S.; Prietula, Michael J. (30 de diciembre de 2013). "Colaboración abierta para la innovación: principios y desempeño". Ciencia de la organización . 25 (5): 1414-1433. arXiv : 1406.7541 . doi :10.1287/orsc.2013.0872. ISSN  1047-7039. S2CID  6583883.
  156. ^ "Fibra óptica". www.thefoa.org . La Asociación de Fibra Óptica . Consultado el 17 de abril de 2015 .
  157. ^ Mayor, John M.; Jamro, M. Yousif (2009). Comunicaciones por fibra óptica: principios y práctica . Educación Pearson. págs. 7–9. ISBN 978-0130326812.
  158. ^ Williams, Laurie (19 al 20 de febrero de 2001). Integrar la programación en pares en un proceso de desarrollo de software . 14ª Conferencia sobre Educación y Formación en Ingeniería de Software. Carlota. págs. 27–36. doi :10.1109/CSEE.2001.913816. ISBN 0-7695-1059-0. Uno de los programadores, el conductor, tiene el control del teclado/ratón e implementa activamente el programa. El otro programador, el observador, observa continuamente el trabajo del conductor para identificar defectos tácticos (sintácticos, ortográficos, etc.), y también piensa estratégicamente en la dirección del trabajo.
  159. ^ Gottlieb, Allan; Almasi, George S. (1989). Computación altamente paralela. Redwood City, California: Benjamin/Cummings. ISBN 978-0-8053-0177-9.
  160. ^ Prata, Stephen (2004). C primer plus (5ª ed.). Sam. págs. 276-277. ISBN 978-0-672-32696-7.
  161. ^ "Borrador de trabajo, estándar para el lenguaje de programación C++" (PDF) . www.open-std.org . Consultado el 1 de enero de 2018 .
  162. ^ Gordon, Aarón. "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 .
  163. ^ ab Comisión de Asistencia Electoral de EE. UU. (2007). "Definiciones de palabras con significados especiales". Lineamientos del Sistema de Voto Voluntario . Archivado desde el original el 8 de diciembre de 2012 . Consultado el 14 de enero de 2013 .
  164. ^ Ranta, Aarne (9 de mayo de 2012). Implementación de lenguajes de programación (PDF) . Publicaciones universitarias. págs. 16-18. ISBN 9781848900646. Consultado el 22 de marzo de 2020 .
  165. ^ Relojes sin, William F.; Mellish, Christopher S. (2003). Programación en Prolog . Berlín; Nueva York: Springer-Verlag. ISBN 978-3-540-00678-7.
  166. ^ Bratko, Iván (2012). Programación de prólogo para inteligencia artificial (4ª ed.). Harlow, Inglaterra; Nueva York: Addison Wesley. ISBN 978-0-321-41746-6.
  167. ^ Covington, Michael A. (1994). Procesamiento del lenguaje natural para programadores de Prolog . Englewood Cliffs, Nueva Jersey: Prentice Hall. ISBN 978-0-13-629213-5.
  168. ^ Lloyd, JW (1984). Fundamentos de la programación lógica. Berlín: Springer-Verlag. ISBN 978-3-540-13299-8
  169. ^ Kuhlman, Dave. "Un libro de Python: ejercicios básicos de Python, Python avanzado y Python". Sección 1.1. Archivado desde el original (PDF) el 23 de junio de 2012.
  170. ^ Las Academias Nacionales de Ciencias, Ingeniería y Medicina (2019). Quejándose, Emily; Horowitz, Mark (eds.). Computación cuántica: avances y perspectivas (2018) . Washington, DC: Prensa de Academias Nacionales. pag. I-5. doi :10.17226/25196. ISBN 978-0-309-47969-1. OCLC  1081001288. S2CID  125635007.
  171. ^ Lenguaje R y entorno
    • Hornik, Kurt (4 de octubre de 2017). "Preguntas frecuentes sobre R". La red integral de archivos de R. 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". La red integral de archivos de R. 2.13 ¿Qué es la Fundación R? . Consultado el 6 de agosto de 2018 .
    El R Core Team pide a los autores que utilizan R en su análisis de datos que citen el software utilizando:
    • Equipo central R (2016). R: Un lenguaje y entorno para la informática estadística. Fundación R para Computación Estadística, Viena, Austria. URL http://www.R-project.org/.
  172. ^ ampliamente utilizado
    • Fox, John y Andersen, Robert (enero de 2005). "Uso del entorno informático 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). "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 creciente de analistas de datos dentro de corporaciones y academias. Se está convirtiendo en su lengua franca...
  173. ^ Vance, Ashlee (6 de enero de 2009). "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 creciente de analistas de datos dentro de corporaciones y academias. Se está convirtiendo en su lengua franca...
  174. ^ "Definiciones del Diccionario de Ciencias de la Computación". Estudiantes de Computación . Consultado el 22 de enero de 2018 .
  175. ^ 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 .
  176. ^ Kahate, Atul (2006). Introducción a los Sistemas Gestores de Bases de Datos. Pearson. pag. 3.ISBN 978-81-317-0078-5. Consultado el 23 de septiembre de 2018 .
  177. ^ Connolly, Thomas (2004). Soluciones de bases de datos: una guía paso a paso para crear bases de datos (2ª ed.). Pearson. pag. 7.ISBN 978-0-321-17350-8.
  178. ^ Bacalao, 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.
  179. ^ Ambler, Scott (21 de marzo de 2023). "Bases de datos relacionales 101: una mirada completa".
  180. ^ 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, Nueva York ISBN 1-55937-079-3 
  181. ^ Pezzè, Mauro; Joven, 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 (no) de regresión. Generalmente se omite "non"
  182. ^ Basu, Anirban (2015). Aseguramiento de la calidad, pruebas y métricas del software. Aprendizaje de PHI. ISBN 978-81-203-5068-7.
  183. ^ 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 de tecnología requiere pruebas de regresión".
  184. ^ Boulanger, Jean-Louis (2015). Normas CENELEC 50128 e IEC 62279. Wiley. ISBN 978-1119122487.
  185. ^ Kotonya, Gerald; Sommerville, Ian (1998). Ingeniería de Requisitos: Procesos y Técnicas . Chichester, Reino Unido: John Wiley and Sons. ISBN 9780471972082.
  186. ^ 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
  187. ^ Forrester, Dick (2018). Métodos numéricos Math/Comp241 (notas de clase) . Universidad Dickinson .
  188. ^ Aksoy, Pelin; DeNardis, Laura (2007), Tecnología de la información en teoría, Cengage Learning, p. 134, ISBN 978-1-42390140-2
  189. ^ Ralston, Antonio; 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
  190. ^ Butt, Rizwan (2009), Introducción al análisis numérico mediante MATLAB, Jones & Bartlett Learning, págs. 11-18, ISBN 978-0-76377376-2
  191. ^ "Descripción general de conceptos clave de 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 .
  192. ^ Philip A. Bernstein , Vassos Hadzilacos, Nathan Goodman (1987): Recuperación y control de concurrencia en sistemas de bases de datos (descarga gratuita en PDF), Addison Wesley Publishing Company, ISBN 0-201-10715-5 
  193. ^ Gerhard Weikum , Gottfried Vossen (2001): Sistemas de información transaccional, Elsevier, ISBN 1-55860-508-8 
  194. ^ Maurice Herlihy y J. Eliot B. Moss. Memoria transaccional: soporte arquitectónico para estructuras de datos sin bloqueos. Actas del vigésimo simposio internacional anual sobre arquitectura informática (ISCA '93). Volumen 21, Número 2, mayo de 1993.
  195. ^ Marshall Cline. "Preguntas frecuentes sobre C++:" ¿De qué se trata todo esto de la "serialización"? Archivado desde el original el 5 de abril de 2015. Le permite tomar un objeto o grupo de objetos, ponerlos en un disco o enviarlos a través de un mecanismo de transporte inalámbrico o por cable, y luego, tal vez en otra computadora, revertir el proceso, resucitando los objetos originales. Los mecanismos básicos son aplanar los objetos en un flujo unidimensional de bits y convertir ese flujo de bits nuevamente en los objetos originales.
  196. ^ Kearney, KT; Torelli, F. (2011). "El modelo SLA". En Wieder, P.; Mayordomo, JM; Theilmann, W.; Yahyapour, R. (eds.). Acuerdos de Nivel de Servicio para Computación en la Nube. Springer Ciencia+Business Media, LLC. págs. 43–68. ISBN 9781461416142.
  197. ^ Nwana, HS (1996). "Agentes de software: descripción general". Revisión de ingeniería del conocimiento . 21 (3): 205–244. CiteSeerX 10.1.1.50.660 . doi :10.1017/s026988890000789x. S2CID  7839197. 
  198. ^ Schermer, BW (2007). Agentes de software, vigilancia y derecho a la privacidad: un marco legislativo para la vigilancia habilitada por agentes (libro de bolsillo) . vol. 21. Prensa de la Universidad de Leiden . págs. 140, 205-244. hdl : 1887/11951. ISBN 978-0-596-00712-6. Consultado el 30 de octubre de 2012 .
  199. ^ SWEBOK Pierre Bourque; Robert Dupuis; Alain Abran; James W. Moore, eds. (2004). "Capítulo 4: Construcción de software". Guía del cuerpo de conocimientos de ingeniería de software. Sociedad de Computación IEEE . págs. 4–1–4–5. ISBN 0-7695-2330-7. Archivado desde el original el 14 de julio de 2014 . Consultado el 21 de junio de 2020 .
  200. ^ Roger S. Pressman Ingeniería de software: el enfoque de un profesional (octava edición)
  201. ^ 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, Taller de requisitos de diseño (LNBIP 14), págs. Springer-Verlag, pág. 109 doi :10.1007/978-3-540-92966-6_6.
  202. ^ Hombre libre, Peter; David Hart (2004). "Una ciencia del diseño de sistemas intensivos en software". Comunicaciones de la ACM . 47 (8): 19-21 [20]. doi :10.1145/1012037.1012054. S2CID  14331332.
  203. ^ "Desarrollo de aplicaciones (AppDev) definido y explicado". Bestpricecomputers.co.uk. 2007-08-13 . Consultado el 5 de agosto de 2012 .
  204. ^ Asociados de DRM (2002). "Glosario de desarrollo de nuevos productos" . Consultado el 29 de octubre de 2006 .
  205. ^ Abran y col. 2004, págs. 1-1
  206. ^ ACM (2007). "Grados y carreras en informática". ACM. Archivado desde el original el 17 de junio de 2011 . Consultado el 23 de noviembre de 2010 .
  207. ^ Laplante, Phillip (2007). Lo que todo ingeniero debe saber sobre ingeniería de software. Boca Ratón: CRC. ISBN 978-0-8493-7228-5. Consultado el 21 de enero de 2011 .
  208. ^ "El grupo de trabajo conjunto para planes de estudios de informática 2005" (PDF) . 2014-10-21. Archivado (PDF) desde el original el 21 de octubre de 2014 . Consultado el 16 de abril de 2020 .
  209. ^ "ISO/IEC 14764:2006 Ingeniería de software - Procesos del ciclo de vida del software - Mantenimiento". Iso.org. 2011-12-17 . Consultado el 2 de diciembre de 2013 .
  210. ^ Kaner, Cem (17 de noviembre de 2006). Pruebas exploratorias (PDF) . Conferencia anual mundial sobre pruebas de software del Quality Assurance Institute. Orlando, Florida . Consultado el 22 de noviembre de 2014 .
  211. ^ "Programación en C: un tutorial" (PDF). Archivado desde el original (PDF) el 23 de febrero de 2015.
  212. ^ Por el contrario, una COLA simple opera FIFO ( primero en entrar, primero en salir ).
  213. ^ 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.
  214. ^ "¿Qué es apátrida? - Definición de WhatIs.com". techtarget.com .
  215. ^ "declaración". webpedia. Septiembre de 1996 . Consultado el 3 de marzo de 2015 .
  216. ^ "Bases de datos NOSQL". Archivado desde el original el 26 de diciembre de 2018. DEFINICIÓN de 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.
  217. ^ Leavitt, Neal (2010). "¿Las bases de datos NoSQL cumplirán su promesa?" (PDF). Computadora IEEE. 43 (2): 12-14. doi:10.1109/MC.2010.58. S2CID 26876882.
  218. ^ Mohan, C. (2013). La historia se repite: aspectos sensibles y no sensibles del alboroto de NoSQL (PDF) . Proc. 16ª Conferencia Internacional. sobre la ampliación de la tecnología de bases de datos.
  219. ^ "Amazon regresa al futuro con la base de datos 'NoSQL'". CABLEADO. 2012-01-19 . Consultado el 6 de marzo de 2017 .
  220. ^ "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 .
  221. ^ "NoSQL (no sólo SQL)". Base de datos NoSQL, también llamada Not Only SQL
  222. ^ Fowler, Martín . "Definición Nosql". Muchos defensores de NoSQL dicen que no significa un "no" a SQL, sino que significa No sólo SQL.
  223. ^ "Asociación ACM en álgebra informática".
  224. ^ ¿ Cuestión de sintaxis o semántica?
  225. ^ John Paul Mueller,Errores semánticos en Java
  226. ^ ¿Qué es la "documentación técnica"? en Transcom.de. Consultado el 25 de febrero de 2013.
  227. ^ ¿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.
  228. ^ Documentando el nuevo sistema en IGCSE ICT. Consultado el 25 de febrero de 2013.
  229. ^ "Esperanza informática, lenguajes de generación"
  230. ^ "Cargar definición". techterms.com . Consultado el 30 de marzo de 2017 .
  231. ^ W3C (2009).
  232. ^ "Barras diagonales y inversas en las URL". zzz.buzz . Consultado el 19 de septiembre de 2018 .
  233. ^ RFC 3986 (2005).
  234. ^ ab Grupo de interés de planificación conjunto W3C/IETF URI (2002).
  235. ^ RFC 2396 (1998).
  236. ^ Miessler, Daniel (17 de abril de 2024). "La diferencia entre URL y URI".
  237. ^ Entrada de archivo de jerga para "Usuario" . Consultado el 7 de noviembre de 2010 .
  238. ^ "Definición W3C de agente de usuario". www.w3.org. 16 de junio de 2011 . Consultado el 20 de octubre de 2018 .
  239. ^ Ah, Alfred V.; Sethi, Ravi; Ullman, Jeffrey D. (1986), Compiladores: principios, técnicas y herramientas , págs. 26–28, Bibcode :1986cptt.book.....A
  240. ^ 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.
  241. ^ 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.
  242. ^ Beal, Vangie (2 de mayo de 2001). "¿Qué es Wi-Fi (IEEE 802.11x)? Una definición de Webopedia". Webopedia . Archivado desde el original el 8 de marzo de 2012.
  243. ^ Schofield, Jack (21 de mayo de 2007). "Los peligros de la radiación Wi-Fi (actualizado)". The Guardian : a través de www.theguardian.com.
  244. ^ "Certificación | Alianza Wi-Fi". www.wi-fi.org .

Trabajos citados

Notas

  1. ^ La función se puede almacenar como 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 nombres diferentes 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 indica mediante un protocolo o mecanismo de acceso, lo que no ocurre con todos los URI. [235] [234] Por lo tanto, http://www.example.comes una URL, mientras que www.example.comno lo es. [236]