Glosario de informática - Glossary of computer science

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 informática .

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 sobre 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 en lugar de un usuario.
método abstracto
Uno con solo una firma y sin cuerpo 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.
abstracción
1. En ingeniería de software e informática , el proceso de eliminar detalles o atributos físicos, espaciales o temporales en el estudio de objetos o sistemas para atender más de cerca otros detalles de interés; 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.
arquitectura del agente
Un plano para agentes de software y sistemas de control inteligente que representan la disposición de los componentes. Las arquitecturas implementadas por agentes inteligentes se denominan arquitecturas cognitivas .
modelo basado en agentes (ABM)
Una clase de modelos computacionales para simular las acciones e interacciones de agentes autónomos (tanto entidades individuales como colectivas como organizaciones o grupos) con el fin de evaluar sus efectos sobre el sistema en su conjunto. Combina elementos de teoría de juegos , sistemas complejos , emergencia , sociología computacional , sistemas multiagente y programación evolutiva . 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 único valor de significado o medida 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 . Aboga por la planificación adaptativa, el desarrollo evolutivo, la entrega temprana y la mejora continua , y fomenta una respuesta rápida y flexible al cambio.
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 algoritmos de ingeniería . El diseño de algoritmos es parte de muchas teorías de solución de la investigación de operaciones , como la programación dinámica y el 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, como el patrón de método de plantilla y el patrón de decorador.
eficiencia algorítmica
Propiedad de un algoritmo que se relaciona con el número 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 se puede considerar análoga a la productividad de la ingeniería para un proceso continuo o repetido.
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 aplicación .

Software informático diseñado para realizar un grupo de funciones, tareas o actividades coordinadas en beneficio del usuario . Los ejemplos comunes de aplicaciones incluyen procesadores de texto , hojas de cálculo , aplicaciones de contabilidad , navegadores web , reproductores multimedia , simuladores de vuelo aeronáutico, juegos de consola y editores de 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 software de aplicación de nombre colectivo serefiere a todas las aplicaciones de forma colectiva.
estructura de datos de matriz

También simplemente array .

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. 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 están relacionados con el proceso de desarrollo en sí, como planes de proyectos, casos de negocios y evaluaciones de riesgos.
inteligencia artificial (IA)

También inteligencia artificial .

Inteligencia demostrada por máquinas , en contraste con la inteligencia natural mostrada por 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 realizar acciones que maximicen las posibilidades de lograr con éxito sus objetivos. Coloquialmente, el término "inteligencia artificial" se aplica cuando una máquina imita funciones "cognitivas" que los humanos asocian con otras mentes humanas , como "aprender" y "resolver problemas".
ASCII
Consulte el Código estándar estadounidense para el intercambio de información .
afirmación
En programación de computadoras , una declaración de que un predicado ( función con valor booleano , es decir, una expresión de verdadero o 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 afirmaciones evaluando realmente el predicado a medida que se ejecutan y, si de hecho no es cierto (un error de afirmación), el programa se considera roto y, por lo general, se bloquea deliberadamente o lanza una excepción de error de afirmación .
matriz asociativa
Una matriz asociativa, mapa, tabla de símbolos o diccionario es un tipo de datos abstracto compuesto por una colección de pares (clave, valor) , de modo que cada clave posible aparece como máximo una vez en la colección. Las operaciones asociadas a este tipo de datos permiten:
  • la adición de un par a la colección
  • la eliminación de un par de la colección
  • la modificación de un par existente
  • la búsqueda de un valor asociado con una clave en particular
teoría de los autómatas
El estudio de máquinas abstractas y autómatas , así como los problemas computacionales que pueden resolverse con ellos. Es una teoría en ciencias de la computación teóricas y matemáticas discretas (un tema de estudio tanto en matemáticas como en ciencias de la computación ).
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 tasa máxima de transferencia de datos a través de una ruta determinada. El ancho de banda se puede caracterizar como ancho de banda de red , ancho de banda de datos o ancho de banda digital .
Programación bayesiana
Un formalismo y una metodología para tener una técnica para especificar modelos probabilísticos y resolver problemas cuando se dispone de menos información de la necesaria.
punto de referencia
El acto de ejecutar un programa de computadora , un conjunto de programas u otras operaciones, con el fin de evaluar el rendimiento relativo de un objeto, normalmente mediante la ejecución de una serie de pruebas estándar y ensayos con él. El término punto de referencia también se utiliza comúnmente a los efectos de los propios programas de evaluación comparativa elaboradamente diseñados.
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 dado . Por lo general, 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 los datos de entrada de n elementos; el peor de los casos es la función que realiza el número máximo de pasos en datos de entrada de tamaño n ; caso promedio es la función que realiza un número promedio de pasos en los datos de entrada de n elementos.
big data
Término que se utiliza para referirse a conjuntos de datos que son demasiado grandes o complejos para que el software de aplicación de procesamiento de datos tradicional los maneje 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 conducir a una mayor tasa de falsos descubrimientos .
notación O grande
Una notación matemática que describe el comportamiento limitante 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 , Edmund Landau y otros, llamadas colectivamente notación de Bachmann-Landau o notación asintótica .
número binario
En matemáticas y electrónica digital , un número expresado en el sistema numérico de base 2 o en el sistema numérico binario, que usa solo dos símbolos: típicamente 0 (cero) y 1 (uno) .
algoritmo de búsqueda binaria

También simplemente búsqueda binaria , búsqueda de medio intervalo , búsqueda logarítmica o corte binario .

Un algoritmo de búsqueda que encuentra la posición de un valor objetivo dentro de una matriz ordenada .
árbol binario
Una estructura de datos de árbol en la que cada nodo tiene como máximo dos hijos , que se denominan hijo dejado y elniño correcto . Unadefinición recursiva queusa solonociones deteoría de conjuntoses que un árbol binario (no vacío) es unatupla(L,S,R), dondeLyRson árboles binarios o elconjunto vacíoySes unconjunto singleton. Algunos autores permiten que el árbol binario también sea el conjunto vacío.
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
Una unidad básica de información utilizado en la computación y las comunicaciones digitales; un acrónimo de dígitos binarios . 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 .
tasa de bits ( R )

También bitrate .

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

También lista de bloqueo .

En informática , un mecanismo de control de acceso básico que permite atravesar todos los elementos (direcciones de correo electrónico, usuarios, contraseñas, URL , direcciones IP , nombres de dominio , hashes de archivos , etc.), excepto los 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 realiza un paso adicional.
Formato de archivo BMP

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

Un formato de archivo de imagen de gráficos de trama que se utiliza para almacenar imágenes digitales de mapa de bits independientemente del dispositivo de visualización (como un adaptador de gráficos ), que se utiliza especialmente en los sistemas operativos Microsoft Windows y OS / 2 .
Tipo de datos booleanos
Un tipo de datos que tiene uno de dos valores posibles (generalmente denotados como verdadero y falso ), destinado a representar los dos valores de verdad de la lógica y el álgebra 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 necesita ser booleana.
Expresión booleana
Una expresión utilizada en un lenguaje de programación que devuelve un valor booleano cuando se evalúa, que es verdadero o falso . Una expresión booleana puede estar compuesta por una combinación de las constantes booleanas verdadero o falso , variables de tipo booleano, operadores con valores booleanos y funciones con valores booleanos .
á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 , generalmente denotados 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 booleana son la conjunción y (denotado como ∧), la disyunción o (denotado 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
Una unidad de la información digital que más comúnmente se compone de ocho bits de , lo que representa un número binario . Históricamente, el byte era la cantidad de bits utilizados para codificar un solo carácter de texto en una computadora 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 dispositivo informático hasta que se pueda utilizar. Puede ser iniciado por hardware como presionar un botón o por 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 que es 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 .

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)
Circuito electrónico dentro de una computadora que lleva a cabo las instrucciones de un programa de computadora al realizar las operaciones básicas de aritmética, lógica, control y entrada / salida (E / S) especificadas por las instrucciones. La industria de la computación ha utilizado el término "unidad central de procesamiento" al menos desde principios de la década de 1960. 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.
personaje
Una unidad de información que corresponde aproximadamente a un grafema , grafema-como unidad, o símbolo, tal como en un alfabeto o silabario en forma escrita de una lengua natural .
cifrar

También cifrado .

En criptografía , un algoritmo para realizar el cifrado o descifrado, una serie de pasos bien definidos que se pueden seguir como procedimiento .
clase
En la programación orientada a objetos , una plantilla de código de programa extensible para crear objetos , proporcionando valores iniciales para el estado ( variables miembro ) e implementaciones de comportamiento (funciones miembro o métodos ). En muchos lenguajes, el nombre de la clase se usa como el nombre de la clase (la plantilla en sí), el nombre del constructor predeterminado de la clase (una subrutina que crea objetos) y como el tipo de objetos generados al instanciar la clase; estos conceptos distintos se combinan fácilmente.
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 a través de los objetos únicamente (compare la programación basada en prototipos ).
cliente
Una pieza de hardware o software de computadora que accede a un servicio puesto a disposición por un servidor . El servidor se encuentra a menudo (pero no siempre) en otro sistema informático , en cuyo caso el cliente accede al servicio a través de una red . El término se aplica al papel que juegan los programas o dispositivos en el modelo cliente-servidor .
ingeniería de software de sala limpia
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 en IBM . El enfoque del proceso de sala limpia está en la prevención de defectos, más que en la eliminación de defectos.
cierre

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

Una técnica para implementar el enlace de nombres de ámbito léxico en un lenguaje con funciones de primera clase . Desde el punto de vista operativo , un cierre es un registro que almacena una función junto con un entorno.
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 esfuerzo de administración mínimo, 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 una utilidad pública .
biblioteca de código
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 preescrito y subrutinas , clases , valores o especificaciones de tipo . En el 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 el análisis, la generación de algoritmos , la elaboración de perfiles de la precisión y el consumo de recursos de los algoritmos, y la implementación de algoritmos en un lenguaje de programación elegido (comúnmente denominado codificación ). 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 automatizarán el desempeño de una tarea para resolver un problema dado. 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 la 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 de datos 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 la redundancia y la corrección o detección de errores en los datos transmitidos.
Ciencia cognitiva
El estudio científico interdisciplinario de la mente y sus procesos. 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 la emoción; Para comprender estas facultades, los científicos cognitivos toman prestado de campos como la lingüística, la psicología, la inteligencia artificial , la filosofía , la neurociencia y la antropología.
colección
Una colección o contenedor es una agrupación de un número variable de elementos de datos (posiblemente cero) que tienen algún significado compartido para el problema que se está resolviendo y necesitan ser operados juntos de alguna manera controlada. Generalmente, los elementos de datos serán del mismo tipo o, en los lenguajes que admiten la herencia, se derivarán de algún tipo de ancestro común. Una colección es un concepto aplicable a los 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 (ver Contenedor para la discusión de la teoría de tipos ).
valores separados por comas (CSV)
Un archivo de texto delimitado que usa 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 campo es la fuente del nombre de este formato de archivo .
compilador
Un programa de computadora que transforma el 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 admite dispositivos digitales, principalmente computadoras. El compilador de nombres 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 .
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 expandido para incluir el estudio de la computabilidad generalizada y la definibilidad. 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 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 fundamental para la disciplina de la informática .
Biología Computacional
Implica el desarrollo y aplicación de métodos teóricos y analíticos de datos, modelado matemático y técnicas de simulación computacional para el estudio de sistemas biológicos, ecológicos, conductuales y sociales. 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 . 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 .
quimica 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 en 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 los problemas computacionales de acuerdo con 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 .
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 habilidades cognitivas del sistema nervioso .
física computacional
Es el estudio e implementación del análisis numérico para resolver problemas de física para los que ya existe una teoría cuantitativa . 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 su 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 con un proceso computacional autónomo , para cambiar su resultado.
computadora
Dispositivo que puede recibir instrucciones para realizar secuencias de operaciones aritméticas o lógicas de forma automática mediante programación informática . Las computadoras modernas tienen la capacidad de seguir conjuntos de operaciones generalizados, llamados programas . Estos programas permiten a las computadoras realizar una amplia gama 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 la descripción de las capacidades y el modelo de programación de una computadora, pero no como una implementación en particular. En otras definiciones, la arquitectura de la computadora implica el diseño de la arquitectura del conjunto de instrucciones , el diseño de la microarquitectura , el diseño lógico y la implementación .
almacenamiento de datos informáticos

También simplemente almacenamiento o memoria .

Tecnología que consta de componentes de computadora 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.
ética informática
Una parte de la filosofía práctica que se ocupa de cómo los profesionales de la computación deben tomar decisiones con respecto a la conducta profesional y social.
gráficos de computadora
Imágenes y películas creadas con computadoras. 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 recientemente desarrollada 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 que puede ejecutar una computadora para realizar una tarea específica.
programación de computadoras
El proceso de diseñar y construir un programa de computadora ejecutable para realizar una tarea de computación específica . La programación implica tareas como el análisis, la generación de algoritmos , la elaboración de perfiles de la precisión y el consumo de recursos de los algoritmos, y la implementación de algoritmos en un lenguaje de programación elegido (comúnmente denominado codificación ). 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 automatizarán el desempeño de una tarea para resolver un problema dado. 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 computadoras . Implica el estudio de algoritmos que procesan, almacenan y comunican información digital . Un científico de la computación se especializa en la teoría de la computación y el diseño de sistemas computacionales.
científico de la computación
Persona que ha adquirido los conocimientos de informática , el estudio de los fundamentos teóricos de la información y la computación y su aplicación.
la seguridad informática

También ciberseguridad o seguridad informática ( seguridad informática ).

La protección de los sistemas informáticos contra el robo o daño a su hardware , software o datos electrónicos , así como contra la interrupción o la mala dirección de los servicios que brindan.
visión por computador
Un campo científico interdisciplinario que se ocupa de cómo se pueden hacer las computadoras para obtener una comprensión de alto nivel a partir de imágenes o videos digitales . Desde la perspectiva de la ingeniería, busca automatizar tareas que el sistema visual humano puede realizar.
informática
Es cualquier actividad orientada a objetivos que requiera, se beneficie o cree 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 , informática , ciberseguridad , ciencia de datos , sistemas de información , tecnología de la información e ingeniería de software .
concatenación
En la teoría del lenguaje formal y la programación de computadoras , 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 para ejecutarse fuera de orden 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.
condicional

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

Una 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 la 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 o un tipo de datos abstracto (ADT) cuyas instancias son colecciones de otros objetos. En otras palabras, almacenan objetos de una manera organizada que sigue reglas de acceso específicas. El tamaño del contenedor depende de la cantidad de objetos (elementos) que contiene. Las implementaciones subyacentes (heredadas) de varios tipos de contenedores pueden variar en tamaño y complejidad, y brindan flexibilidad para elegir la implementación correcta para cualquier escenario dado.
estilo de continuación-pase (CPS)
Un estilo de programación funcional en el que el control se pasa explícitamente en forma de continuación . Esto contrasta con el estilo directo , que es el estilo habitual de programación. Gerald Jay Sussman y Guy L. Steele, Jr. acuñaron la frase en AI Memo 349 (1975), que establece la primera versión del lenguaje de programación Scheme .
flujo de control

También flujo de control .

El orden en el que se ejecutan o evalúan declaraciones , instrucciones o llamadas de función individuales de un programa imperativo . El énfasis en el flujo de control explícito distingue a una programación imperativa la lengua de una programación declarativa idioma.
Creative Commons (CC)
Una organización estadounidense sin fines de lucro dedicada a ampliar la gama de trabajos creativos disponibles para que otros puedan desarrollarlos legalmente y compartirlos. La organización ha lanzado varios derechos de autor - licencias , conocidas como las licencias Creative Commons , de forma gratuita al público.
criptografía
O criptología, es la práctica y estudio de técnicas de comunicación segura en presencia de terceros llamados adversarios . De manera más general, la criptografía se trata de construir y analizar protocolos que eviten que terceros o el público lean mensajes privados; 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, son fundamentales para la criptografía moderna. La criptografía moderna existe en la intersección de las disciplinas de las matemáticas , la informática , la ingeniería eléctrica , las ciencias de la comunicación y la física . Las aplicaciones de la criptografía incluyen comercio electrónico , tarjetas de pago con chip , monedas digitales , contraseñas de computadora y comunicaciones militares .
CSV
Consulte los valores separados por comas .
acoso cibernético

También el acoso cibernético o el acoso en línea .

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

D

demonio
En la multitarea ordenador sistemas operativos , un demonio ( / d i m ən / o / d m ən / ) es un programa de ordenador que se ejecuta como un proceso en segundo plano , en vez de estar bajo el control directo de un usuario interactivo. Tradicionalmente, los nombres de proceso 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 informático 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 .
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 almacenamiento de datos y telecomunicaciones . Por lo general, 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 varios dispositivos de seguridad.
base de datos
Una colección organizada de datos , generalmente almacenados y a los 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 involucran métodos en la intersección del aprendizaje automático , las estadísticas y los sistemas de bases de datos . 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. La minería de datos es el paso de análisis del proceso de "descubrimiento de conocimiento en bases de datos" o KDD. 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 , postprocesamiento de estructuras descubiertas, visualización y actualización en línea .
Ciencia de los datos
Un campo interdisciplinario que utiliza métodos, procesos, algoritmos y sistemas científicos para extraer conocimiento e información de los datos en diversas formas, tanto estructuradas como no estructuradas, 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. Emplea técnicas y teorías extraídas de muchos campos dentro del contexto de las matemáticas, la estadística, la ciencia de la información y la informática .
estructura de datos
Un formato de organización, gestión y almacenamiento de datos que permite un acceso y una modificación eficientes . 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.
tipo de datos

También simplemente escriba .

Un atributo de datos que le dice al compilador o intérprete cómo el programador pretende usar los datos. La mayoría de los lenguajes de programación admiten tipos de datos comunes de real , entero y booleano . Un tipo de datos restringe los valores que 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 que una expresión puede tomar su valor.
depuración
El proceso de encontrar y resolver defectos o problemas dentro de un programa informático que impiden el funcionamiento correcto del software informático o del sistema en su conjunto. Tácticas de depuración pueden implicar la depuración interactiva, el flujo de control de análisis, pruebas unitarias , pruebas de integración , análisis de archivo de registro , seguimiento a la aplicación o sistema de nivel, volcados de memoria y perfiles .
declaración
En programación de computadoras , una construcción del lenguaje que especifica las propiedades de un identificador : declara lo que una palabra (identificador) "significa". 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. Más allá del nombre (el identificador en sí) y el tipo de entidad (función, variable, etc.), las declaraciones suelen especificar el tipo de datos (para variables y constantes) o la firma de tipo (para funciones); los tipos también pueden incluir dimensiones, como para matrices. Se utiliza una declaración para anunciar la existencia de la entidad al compilador ; esto es importante en aquellos lenguajes fuertemente tipados que requieren funciones, variables y constantes, y sus tipos, que se especifiquen con una declaración antes de su uso, y se usa en la declaración directa . El término "declaración" se contrasta con frecuencia con el término "definición", pero el significado y el uso varían significativamente entre los 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ñal digital ( DSP )
El uso de procesamiento digital , como 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. 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 disco) es una categoría general de mecanismos de almacenamiento donde los datos se registran mediante varios 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 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í. 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 componentes. 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 dividir y conquistar
Un paradigma de diseño de algoritmos basado en la recursividad de múltiples ramificaciones . Un algoritmo de divide y vencerás funciona dividiendo de forma recursiva un problema en dos o más subproblemas del mismo tipo o de un tipo relacionado, hasta que estos se vuelven lo suficientemente simples como para ser resueltos directamente. Las soluciones a los subproblemas se combinan luego 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 usarlo, y puede significar diferentes cosas para las personas en diferentes roles.
dominio
Es el área temática 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.
Sistema de nombres de dominio (DNS)
Un sistema de nombres jerárquico y descentralizado para computadoras, servicios u otros recursos conectados a Internet oa una red privada. Asocia diversa información con los nombres de dominio asignados a cada una de las entidades participantes. De manera más prominente, traduce los nombres de dominio que se memorizan más fácilmente a las direcciones IP numéricas necesarias para ubicar e identificar los servicios y dispositivos informáticos con los protocolos de red subyacentes . Al proporcionar un servicio de directorio distribuido en todo el mundo, el sistema de nombres de dominio ha sido un componente esencial de la funcionalidad de Internet desde 1985.
formato de coma 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 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 recibir dicho archivo.

mi

dispositivo de borde
Dispositivo que proporciona un punto de entrada a las redes centrales de empresas o proveedores 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 de borde también proporcionan conexiones a redes de proveedores de servicios y operadores. Un dispositivo de borde que conecta una red de área local a un conmutador o red troncal de alta velocidad (como un conmutador ATM) puede denominarse concentrador de borde.
cifrado
En criptografía , el cifrado es el proceso de codificación de información. Este proceso convierte la representación original de la información, conocida como texto sin formato , en una forma alternativa conocida como texto cifrado . Idealmente, solo las partes autorizadas pueden descifrar un texto cifrado a texto sin formato y acceder a la información original. El cifrado no evita en sí mismo la interferencia, sino que 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 varias formas de cifrado para ayudar en la criptografía. Las primeras técnicas de cifrado se utilizaban a menudo en la mensajería militar. Desde entonces, han surgido nuevas técnicas y se han convertido en algo común en todas las áreas de la informática moderna. Esquemas de cifrado modernos utilizan los conceptos de clave pública y de clave simétrica . Las técnicas de cifrado modernas garantizan la seguridad porque las computadoras modernas son ineficientes para descifrar el cifrado.
evento
Una acción u ocurrencia reconocida por el software, que a menudo se origina de forma asincrónica desde el entorno externo, que puede ser manejada 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 nemotécnico acróstico " E xecution V ariable E ncapsulating N amed T rigger" se usa a menudo para aclarar el concepto.
programación impulsada por 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 impulsada por eventos es el paradigma dominante utilizado en las interfaces gráficas de usuario y otras aplicaciones (por ejemplo, aplicaciones web JavaScript ) que se centran en realizar determinadas acciones en respuesta a la entrada del usuario . Esto también es válido para la programación de controladores de dispositivos (por ejemplo, P en pilas de controladores de dispositivos USB).
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 estudian estos algoritmos. En términos técnicos, son una familia de solucionadores de problemas de ensayo y error basados ​​en la población con un carácter de optimización metaheurística o estocástica .
ejecutable

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

Hace que una computadora "realice las tareas indicadas de acuerdo con instrucciones codificadas ", en contraposición a un archivo de datos que debe ser analizado por un programa para que sea significativo. La interpretación exacta depende del uso, mientras que "instrucciones" se considera tradicionalmente como instrucciones de código de máquina para una CPU física , en algunos contextos un archivo que contiene instrucciones de código de bytes o lenguaje de secuencias de comandos también puede considerarse ejecutable.
módulo ejecutable
ejecución
En la 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 debe llevarse 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 están ejecutando.
manejo de excepciones
El proceso de responder a la ocurrencia, durante el cálculo , de excepciones (condiciones anómalas o excepcionales que requieren un procesamiento especial) que a menudo interrumpe el flujo normal de ejecución del programa . Se proporciona mediante construcciones de lenguaje de programación especializado , mecanismos de hardware informático como interrupciones o instalaciones de IPC del sistema operativo como señales .
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 ("volver", en un entorno con estado ) otro valor. Este proceso, al igual que para 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 en presencia de errores o averías.
estudio de factibilidad
Una investigación que tiene como objetivo descubrir de manera objetiva y racional las fortalezas y debilidades de un negocio existente o empresa propuesta, las oportunidades y amenazas presentes en el entorno natural , los recursos necesarios para llevarlo a cabo y, en última instancia, las perspectivas de éxito. En sus términos más simples, los dos criterios para juzgar la viabilidad son el costo requerido y el valor que se debe alcanzar.
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, género, 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 un flujo , produciendo otro flujo. Si bien un solo filtro se puede usar individualmente, con frecuencia se unen para formar una tubería .
aritmética de coma flotante
En computación , la aritmética de punto flotante (FP) es aritmética que usa la representación de fórmulas de números reales como una aproximación para respaldar un compromiso 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, que requieren tiempos de procesamiento rápidos. Un número, en general, se representa aproximadamente a un número fijo de dígitos significativos (el significando ) y se escala usando 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 tiene la siguiente forma:
donde significand es un número entero , base es un número entero mayor o igual a dos y exponente también es un número entero. Por ejemplo:
en bucle

También for-loop .

Una declaración de flujo de control para especificar la iteración , que permite que el código se ejecute repetidamente. Se utilizan varias palabras clave para especificar esta declaración: los descendientes de ALGOL utilizan "para", mientras que los descendientes de Fortran utilizan "hacer". También hay 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 . 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 la ingeniería, la realización de un análisis matemático apropiado puede contribuir a la confiabilidad y solidez de un diseño.
verificación formal
El acto de probar o refutar la corrección de los algoritmos previstos que subyacen a un sistema con respecto a una determinada especificación o propiedad formal , utilizando métodos formales de las matemáticas.
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 el estado cambiante y los datos mutables . Es un paradigma de programación declarativa en el que la programación se realiza con expresiones o declaraciones 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. Tiene aplicaciones en todos los campos de las ciencias sociales , así como en lógica e 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 otros participantes. Hoy en día, la teoría de juegos se aplica a una amplia gama de relaciones de comportamiento y ahora es un término general para la ciencia de la toma de decisiones lógicas en humanos, animales y computadoras.
basura adentro, basura afuera (GIGO)
Término utilizado para describir el concepto de que los datos de entrada defectuosos o sin sentido producen resultados sin sentido o "basura". También puede referirse a la naturaleza implacable de la programación , en la que un programa mal escrito puede producir un comportamiento sin sentido.
formato de gráficos intercambeable
gigabyte
Múltiplo del byte unitario para información digital. El prefijo giga significa 10 9 en el Sistema Internacional de Unidades (SI). Por tanto, un gigabyte equivale a 1 000 000 000 de bytes . El símbolo de la unidad para el gigabyte es GB.
variable global
En la programación de computadoras , una variable con alcance global , lo que significa que es visible (por lo tanto, accesible) en todo el programa, a menos que esté sombreado . 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 (duración) 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. antes de tiempo.
Teoría de grafos
En matemáticas, el estudio de gráficos , que son estructuras matemáticas que se utilizan 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 bordes (también llamados enlaces o líneas ). Se hace una distinción entre los gráficos no dirigidos, donde los bordes enlazan dos vértices simétricamente, y los gráficos dirigidos, donde los bordes enlazan dos vértices asimétricamente.

H

resolver
En la programación de computadoras , un identificador es una referencia abstracta a un recurso que se usa cuando el software de aplicación hace referencia a bloques de memoria u objetos que son administrados por otro sistema como una base de datos o un sistema operativo .
problema difícil
La teoría de la complejidad computacional se enfoca en clasificar los problemas computacionales de acuerdo con 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 se pueda utilizar para asignar datos de tamaño arbitrario a datos de tamaño fijo. Los valores devueltos por una función hash se llaman valores hash , códigos hash , digiere , o simplemente hash . Las funciones hash se utilizan a menudo en combinación con una tabla hash , una estructura de datos común utilizada en software de computadora 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 usa una función hash para calcular un índice en una matriz de cubos o ranuras , a partir de los cuales se puede encontrar el valor deseado.
montón
Una estructura de datos especializada basada en árboles que es esencialmente un árbol 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 a (en un montón máximo ) o menor o igual que (en un montón mínimo ) la clave de C. El nodo en la "parte superior" del montón (sin padres) se llama nodo raíz .
montón
Un algoritmo de clasificación basado en comparaciones . Heapsort se puede considerar como una clasificación de selección mejorada : al igual que ese algoritmo, divide su entrada en una región ordenada y una no ordenada, y reduce iterativamente la región no ordenada extrayendo el elemento más grande y moviéndolo a la región ordenada. La mejora consiste en el uso de una estructura de datos de pila en lugar de una búsqueda de tiempo lineal para encontrar el máximo.
interacción humano-computadora (HCI)
Investiga el diseño y uso de tecnología informática, enfocado en las interfaces entre personas ( usuarios ) y computadoras. Los investigadores en el campo de la HCI observan las formas en que los humanos interactúan con las computadoras y diseñan tecnologías que permiten a los humanos interactuar con las computadoras de formas novedosas. Como campo de investigación, la interacción humano-computadora se sitúa en la intersección de las ciencias de la computación , 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 puede indicar un identificador 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 comandos, un programa imperativo consiste en comandos 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 en el que 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 el desarrollo como el 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 creación de prototipos .
análisis del espacio de información
Un método determinista, mejorado por la inteligencia de la máquina , para localizar y evaluar recursos para esfuerzos centrados en el equipo.
visualización de información
herencia
En la 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 los datos recibidos por el sistema y las salidas son las señales o los datos enviados desde él. El término también se puede utilizar como parte de una acción; "realizar E / S" es realizar una operación de entrada o salida .
tipo de inserción
Un algoritmo de clasificación simple que crea la matriz (o lista) ordenada final, un elemento a la vez.
ciclo de instrucción

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

El ciclo que sigue la unidad central de procesamiento (CPU) desde el arranque hasta que la computadora se apaga para procesar las instrucciones. Se compone de tres etapas principales: la etapa de recuperación, 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 pueden contener o no 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 enteros disponibles varía entre los diferentes tipos de computadoras. El hardware de la computadora, incluidas las máquinas virtuales , casi siempre proporciona una forma de representar un registro de procesador o una dirección de memoria como un número entero.
entorno de desarrollo integrado (IDE)
Una aplicación de software que proporciona a los programadores de computadoras instalaciones completas para el desarrollo de software . Un IDE normalmente consta de al menos un editor de código fuente , herramientas de automatización de compilación y un depurador .
pruebas de integración
(a veces llamado integración y prueba, abreviado I&T) es la fase en la prueba de software en la que los módulos de software individuales se combinan y prueban como un grupo. Las pruebas de integración se llevan a cabo para evaluar el cumplimiento de un sistema o componente con los requisitos funcionales especificados . Ocurre después de las pruebas unitarias y antes de las pruebas de validación . La prueba de integración toma como entrada los módulos que han sido probados por unidad, los agrupa en agregados más grandes, aplica las pruebas definidas en un plan de prueba de integración a esos agregados y entrega como salida el sistema integrado listo para la prueba del sistema .
propiedad intelectual (PI)
Una categoría de propiedad legal que incluye creaciones intangibles del intelecto humano. Hay muchos tipos de propiedad intelectual y algunos países reconocen más que otros. Los tipos más conocidos son derechos de autor , patentes , marcas comerciales y 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 mediante la observación a través de sensores y consecuentes actuadores (es decir, es inteligente). Los agentes inteligentes también pueden aprender o utilizar el conocimiento para lograr sus objetivos. Pueden ser muy simples o muy complejas . Una máquina réflex, como un termostato , se considera un ejemplo de agente inteligente.
interfaz
Un límite compartido a través del cual dos o más componentes separados de un sistema informático intercambian información. El intercambio puede ser entre software , hardware de computadora , dispositivos periféricos , humanos y combinaciones de estos. 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.
documentación interna
Se dice que el software de computadora tiene documentación interna si las notas sobre cómo y por qué operan 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 de computadoras 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.
bot 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 . Por lo general, los bots realizan tareas que son simples y estructuralmente repetitivas, a un ritmo mucho más alto de lo que sería posible para un humano solo. El uso más grande de los bots es el web spidering ( rastreador web ), en el que un script automatizado busca, analiza y archiva información de los servidores web a muchas veces la velocidad de un humano .
Interprete
Un programa de computadora que ejecuta directamente instrucciones escritas en un lenguaje de programación o scripting , sin requerir que hayan sido previamente compiladas en un programa de lenguaje de máquina .
invariante
Uno puede encontrar invariantes en los que se puede confiar como verdaderos durante la ejecución de un programa, o durante una parte del mismo. Es una afirmación lógica que siempre se considera verdadera durante una determinada fase de ejecución. Por ejemplo, un ciclo invariante es una condición que se cumple al principio y al final de cada ejecución de un ciclo.
iteración
Es la repetición de un proceso para 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. 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 que está basado en clases , orientado a objetos (aunque no es un lenguaje OO puro ) y diseñado para tener la menor cantidad posible de dependencias de implementación . Su objetivo es permitir a los desarrolladores de aplicaciones " escribir una vez, ejecutar en cualquier lugar " (WORA), lo que significa que el código Java compilado puede ejecutarse en todas las plataformas que admiten Java sin necesidad de volver a compilarlo.

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 se pueda sobrescribir. Puede ser responsable de tareas esenciales como la administración de unidades de disco, administración de archivos, administración de memoria, administració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 preescrito y subrutinas , clases , valores o especificaciones de tipo .

También búsqueda secuencial .

Un método para buscar 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.
lista enlazada
Una colección lineal de elementos de datos, cuyo orden no viene 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 de computadora que toma uno o más archivos objeto generados por un compilador o un ensamblador y los combina en un solo 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.
lista
Un tipo de datos abstracto que representa un número contable de valores ordenados , donde el mismo valor puede aparecer más de una vez. Una instancia de una lista es una representación por computadora del concepto matemático de una secuencia finita ; el análogo (potencialmente) infinito de una lista es un flujo . Las listas son un ejemplo básico de contenedores , ya que contienen otros valores. Si el mismo valor ocurre varias veces, cada ocurrencia 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. La carga de un programa implica leer el contenido del archivo ejecutable que contiene las instrucciones del programa en la memoria y luego realizar otras tareas preparatorias necesarias para preparar el ejecutable para su ejecución. Una vez que se completa la carga, el sistema operativo inicia el programa pasando el control al código del programa cargado.
error de lógica
En la programación de computadoras , un error en un programa que hace que funcione incorrectamente, pero que no termine de manera anormal (o se bloquee ). Un error lógico produce una salida no intencionada o no deseada 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ógica es un conjunto de oraciones en forma lógica, que expresan hechos y reglas sobre algún dominio de problemas. 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 los sistemas informáticos utilizan 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 ", con el fin de hacer predicciones o decisiones sin estar programados explícitamente para realizar la tarea.
visión artificial (MV)
La tecnología y los métodos utilizados para proporcionar inspección y análisis automáticos basados ​​en imágenes para aplicaciones 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 la ingeniería de sistemas puede considerarse distinta de la visión artificial , una forma de informática . Intenta integrar tecnologías existentes de nuevas formas y aplicarlas para resolver problemas del mundo real. El término es el que prevalece para estas funciones en entornos de automatización industrial, pero también se utiliza para estas funciones en otros entornos, como la seguridad y la guía de vehículos.
lógica matemática
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 . Los temas unificadores en lógica matemática incluyen el estudio del poder expresivo de los sistemas formales y el poder deductivo de los sistemas formales de prueba .
matriz
En matemáticas , una matriz, (matrices plurales), es una matriz rectangular (ver matriz irregular ) de números , símbolos o expresiones , dispuestos en filas y columnas .
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 un componente fundamental de las computadoras.
fusionar ordenación

También mergesort .

Un algoritmo de clasificación eficiente, de uso general y basado en comparación . 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. Merge sort es un algoritmo de divide y vencerás que fue inventado por John von Neumann en 1945. Una descripción detallada y un análisis del mergesort ascendente apareció en un informe de Goldstine y von Neumann ya en 1948.
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 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 pre-definición de entregables y artefactos específicos que son creados y completados por un equipo de proyecto para desarrollar o mantener una aplicación.
módem

Portmanteau de modulador-demodulador .

Un hardware dispositivo que convierte los datos en un formato adecuado para un medio de transmisión de manera que se pueden transmitir desde un ordenador a otro (históricamente a lo largo de los cables de teléfono). 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 se pueda transmitir fácilmente y decodificar de manera confiable para reproducir los datos digitales originales. Los módems se pueden utilizar con casi cualquier medio de transmisión de señales analógicas, desde diodos emisores de luz a radio . Un tipo común de módem es el 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 (NLP)
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 las computadoras para procesar y analizar grandes cantidades de datos del lenguaje natural . Los desafíos en el procesamiento del lenguaje natural con frecuencia involucran 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 enlazada o una estructura de datos de árbol . Los nodos contienen datos y también pueden vincularse a otros nodos. Los enlaces entre nodos a menudo se implementan 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 (en oposición a 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.

O

objeto
Un objeto puede ser una variable , una estructura de datos , una función o un método y, como tal, es un valor en la memoria referenciado por un identificador . En el paradigma de programación orientado 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).
código de objeto

También módulo de objeto .

El producto de un compilador . En un sentido general, el código objeto es una secuencia de declaraciones o instrucciones en un lenguaje de computadora, 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 el resultado del proceso de compilación, y algunas fuentes tempranas 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 modelos visuales en todo el proceso de desarrollo de software para guiar la comunicación con las partes interesadas y la calidad del producto.
programación orientada a objetos (OOP)
Un paradigma de programación basado en el concepto de " objetos ", que puede 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 "uno mismo"). En OOP, los programas de computadora se diseñan haciéndolos a partir de objetos que interactúan entre sí. Los lenguajes de programación orientada a objetos son diversos, pero los más populares se basan en clases , lo que significa que los objetos son instancias de clases , que también determinan sus tipos .
software de código abierto (OSS)
Un tipo de software informático en el que el código fuente se publica bajo una licencia en la que el titular de los derechos de autor otorga a los usuarios los derechos para estudiar, cambiar y distribuir el software a cualquier persona y para cualquier propósito. El software de código abierto se puede desarrollar de manera pública colaborativa . El software de código abierto es un ejemplo destacado de colaboración abierta .
sistema operativo (SO)
Software del sistema que administra el hardware de la computadora , los recursos de software y proporciona servicios comunes para programas de computadora .
fibra óptica
Una solución flexible, transparente fibra hecha por el dibujo de vidrio ( sílice ) o de plástico a un diámetro ligeramente más grueso que el de un cabello humano . Las fibras ópticas se utilizan con mayor frecuencia como un medio para transmitir luz entre los dos extremos de la fibra y encuentran un amplio uso en las comunicaciones de fibra óptica , donde permiten la transmisión a distancias más largas y a anchos de banda más altos (velocidades de datos) que los cables eléctricos. Se utilizan fibras en lugar de cables metálicos porque las señales viajan a lo largo de ellas con menor pérdida ; Además, las fibras son inmunes a las interferencias electromagnéticas , un problema que sufren los cables metálicos.

PAG

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

También argumento formal .

En programación de computadoras , un tipo especial de variable , que se usa en una subrutina para referirse a uno de los datos proporcionados como entrada a la subrutina. Estos datos son los valores de los argumentos (a menudo llamados argumentos reales o parámetros reales ) con los que se llamará / invocará la subrutina. Una lista ordenada de parámetros generalmente se incluye 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 del hardware de la computadora con asignación de memoria . Un puntero hace referencia a una ubicación en la memoria, y obtener el valor almacenado en esa ubicación se conoce como desreferenciar el puntero. Como analogía, un número de página en el índice de un libro podría considerarse un puntero a la página correspondiente; desreferenciar 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 . En ocasiones, 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 , 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 del código se vuelve indefinido y, por lo tanto, puede o no llevar a cabo su 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 directamente accesible a la CPU. La CPU lee continuamente las instrucciones almacenadas allí y las ejecuta según sea necesario. Todos los datos sobre los que se opera activamente también se almacenan allí de manera uniforme.
tipo de datos primitivo
cola de prioridad
Un tipo de datos abstracto que es como una 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 prioridad alta se sirve antes que un elemento con prioridad baja. En algunas implementaciones, si dos elementos tienen la misma prioridad, se sirven según el orden en que se pusieron en cola, mientras que en otras implementaciones, el orden de los elementos con la misma prioridad no está definido.
programación procedimental
procedimiento
En programación de computadoras , una subrutina es una secuencia de instrucciones de programa que realiza una tarea específica, empaquetada como una unidad. Esta unidad se puede utilizar en programas donde sea 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 denominativo unidad invocable.
fase del ciclo de vida del programa
Las fases del ciclo de vida del programa son las etapas que atraviesa un programa informático , desde la creación inicial hasta la implementación y 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 del lenguaje de programación: interpretación y compilación .
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 enmarca dentro de la disciplina de las ciencias de la computación, 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 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 . Prolog tiene sus raíces en la lógica de primer orden , una lógica formal y, a diferencia de muchos otros lenguajes de programación , Prolog está pensado principalmente como un lenguaje de programación declarativo : la lógica del programa se expresa en términos de relaciones , representadas como hechos y reglas . Se inicia un cálculo ejecutando una consulta sobre estas relaciones.
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.

Q

computación cuántica
El uso de fenómenos mecánicos cuánticos como la superposición y el entrelazamiento para realizar cálculos . Se utiliza una computadora cuántica para realizar dicho cálculo, que se puede implementar teórica o físicamente.
cola
Una colección en la que las entidades de la colección se mantienen en orden y las operaciones principales (o únicas) de la colección son la adición de entidades a la posición de la terminal trasera, conocida como enqueue , y la eliminación de entidades de la posición de la terminal delantera, conocida como dequeue .
ordenación rápida

También tipo de intercambio de particiones .

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

R

Lenguaje de programación R
R es un lenguaje de programación y un entorno de software libre para la computación estadística y gráficos respaldados por la Fundación R para Computación Estadística. El lenguaje R se usa ampliamente entre estadísticos y mineros de datos para desarrollar software estadístico y análisis de datos .
base

También base .

En los sistemas numéricos digitales , el número de dígitos únicos , incluido el dígito cero, que se utiliza para representar números en un sistema numérico posicional . Por ejemplo, en el sistema decimal / denario (el sistema más común en uso en la actualidad) la base (número base) es diez, porque usa los diez dígitos del 0 al 9, y todos los demás números se especifican de forma única mediante combinaciones posicionales de estos. diez dígitos base; en el sistema binario que es el estándar en computación , la base es dos, porque usa solo dos dígitos, 0 y 1, para especificar de forma única cada número.
registro
Un registro (también llamado estructura, estructura o datos compuestos) es una estructura de datos básica . Los registros de una base de datos o de una hoja de cálculo suelen denominarse " filas ".
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 puede ocurrir un bucle infinito o una cadena infinita de referencias.
referencia
Es un valor que permite a un programa para acceder indirectamente a un determinado punto de referencia , tales como la variable 's valor o un registro , en el equipo ' s de memoria o en algún otro dispositivo de almacenamiento . Se dice que la referencia se refiere al dato, y acceder al dato se denomina desreferenciar la referencia.
recuento de referencias
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 , los recuentos de referencias pueden usarse 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. 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.
ingeniería de confiabilidad
Subdisciplina de la ingeniería de sistemas que enfatiza la confiabilidad en la gestión del ciclo de vida de un producto. La confiabilidad describe la capacidad de un sistema o componente para funcionar en las condiciones establecidas durante un período de tiempo específico. 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 de no regresión ) es volver a ejecutar pruebas funcionales y no funcionales para garantizar que el software desarrollado y probado anteriormente todavía funcione después de un cambio. De lo contrario, eso se llamaría regresión . Los cambios que pueden requerir pruebas de regresión incluyen correcciones de errores, mejoras de software, cambios de configuración e incluso sustitución de componentes electrónicos . Dado que los conjuntos de pruebas de regresión tienden a crecer con cada defecto encontrado, la automatización de pruebas suele estar involucrada. A veces, se realiza un análisis de impacto de cambio para determinar un subconjunto apropiado de pruebas (análisis de no regresión ).
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 cumplir con el producto o proyecto nuevo o alterado, teniendo en cuenta los requisitos posiblemente conflictivos de las distintas partes interesadas , analizando, documentando, validando y gestionando software o Requisitos del sistema.
robótica
Una rama interdisciplinaria de ingeniería y 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 involucra el diseño, construcción, operación y uso de robots , así como 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 ayudar a los humanos en su vida cotidiana y mantener a todos a salvo.
error de redondeo

También error de redondeo .

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. Los errores de redondeo se deben a la inexactitud en la representación de los números reales y las operaciones aritméticas que se realizan con ellos. Ésta es una forma de error de cuantificación . Cuando se utilizan ecuaciones de aproximación o algoritmos, 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. Los errores de cálculo, también llamados errores numéricos , incluyen errores de truncamiento y errores de redondeo.
enrutador
Un dispositivo de red que reenvía paquetes de datos entre redes de computadoras . 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. Por lo general, un paquete se reenvía de un enrutador a otro enrutador a través de las redes que constituyen una internetwork (por ejemplo, Internet) hasta que llega a su nodo de destino .
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, 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
Tiempo de ejecución, tiempo de ejecución, o el tiempo de ejecución es la fase final de un programa de ordenador ' s ciclo de vida , en la que está siendo el código ejecutado en el ordenador de la unidad central de procesamiento (CPU) 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 en 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 en 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 se realizan normalmente en tiempo de compilación, pero pueden realizarse en tiempo de ejecución dependiendo del lenguaje y el compilador en particular. Existen muchos otros errores de tiempo de ejecución y se manejan de manera diferente por diferentes lenguajes de programación , como división por cero errores, errores de dominio, errores de subíndice de matriz fuera de límites , errores de subíndice 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 cualquier lenguaje informático en particular.

S

algoritmo de búsqueda
Cualquier algoritmo que resuelva el problema de búsqueda , es decir, para recuperar información almacenada dentro de alguna estructura de datos, o calculada en el espacio de búsqueda de un dominio de problema , ya sea con valores discretos o continuos .
almacenamiento secundario
También conocido como memoria externa o almacenamiento auxiliar , se diferencia del almacenamiento primario en que la CPU no puede acceder directamente a él. 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 (conserva 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.
orden de selección
Es un algoritmo de clasificación por comparación in situ . Tiene una complejidad de tiempo O ( n 2 ) , lo que lo hace ineficaz en listas grandes y, en general, funciona peor que el tipo de inserción similar . El ordenamiento por selección se destaca por su simplicidad y tiene ventajas de rendimiento sobre algoritmos más complicados en ciertas situaciones, particularmente 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 inválidas, el resultado sería no computación. 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 plataforma determinada , creando así un modelo de cálculo .
secuencia
En matemáticas , una secuencia es una colección enumerada de objetos en los 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 denomina longitud de la secuencia. A diferencia de un conjunto, los mismos elementos pueden aparecer varias veces en diferentes posiciones en una secuencia, y el orden sí importa. Formalmente, una secuencia se puede definir como una función cuyo dominio es el conjunto de los números naturales (para secuencias infinitas) o el conjunto de los primeros n números naturales (para una secuencia de longitud finita n ). La posición de un elemento en una secuencia es su rango o índice ; es el número natural para el que 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 usa un símbolo para denotar una secuencia, el n- ésimo elemento de la secuencia se indica mediante este símbolo con n como subíndice; por ejemplo, el n- ésimo elemento de la secuencia de Fibonacci F generalmente se denota F n . Por ejemplo, (M, A, R, Y) es una secuencia de letras con la letra 'M' primero y la '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 secuencias pueden ser finitas , como en estos ejemplos, o infinitas , como la secuencia de todos los 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 () se incluye 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 , procesamiento de transacciones (gestión de transacciones) y varias aplicaciones transaccionales (p. Ej., Memoria transaccional y memoria transaccional de software ), tanto centralizadas como distribuidas , un programa de transacciones es serializable si su resultado (p. Ej., 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. Se considera el nivel más alto de aislamiento entre transacciones y juega un papel esencial en el control de concurrencia . Como tal, es compatible con todos los sistemas de bases de datos de propósito general. El bloqueo fuerte y estricto 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 las estructuras de datos o el estado del objeto a un formato que se puede almacenar (por ejemplo, en un archivo o búfer de memoria ) o transmitir (por ejemplo, a través de un enlace de conexión de red ) y reconstruir más tarde (posiblemente en un entorno informático diferente ). 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 anteriormente. Este proceso de serialización de un objeto también se denomina ordenación de un objeto en algunas situaciones. [2] [3] La operación opuesta, extraer una estructura de datos de una serie de bytes, es la deserialización (también llamada unserialización o unmarshalling ).
acuerdo de nivel de servicio
(SLA), es un compromiso entre un proveedor de servicios y un cliente. Los aspectos particulares del servicio (calidad, disponibilidad, responsabilidades) se acuerdan entre el proveedor y el usuario del servicio. El componente más común de un SLA es que los servicios deben proporcionarse al cliente según lo acordado en el contrato. Como ejemplo, los proveedores de servicios de Internet y las empresas de telecomunicaciones incluirán comúnmente acuerdos de nivel de servicio dentro de los términos de sus contratos con los clientes para definir los niveles de servicio que se venden en términos de lenguaje sencillo. En este caso, el SLA normalmente tendrá una definición técnica en tiempo medio entre fallas (MTBF), tiempo medio de reparación o tiempo medio de recuperación (MTTR); identificar qué parte es responsable de reportar fallas o pagar tarifas; responsabilidad por varias velocidades de datos; rendimiento ; jitter ; o detalles mensurables similares.
colocar
Es un tipo de datos abstracto que puede almacenar valores únicos, sin ningún orden en particular . Es una implementación informática del concepto matemático de un conjunto finito . A diferencia de la mayoría de los otros tipos de colecciones , en lugar de recuperar un elemento específico de un conjunto, normalmente se prueba un valor para la pertenencia a un conjunto.
computación blanda
software
El software de computadora, o simplemente software, es una colección de datos o instrucciones de computadora que le dicen 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 ciencias de la computación e ingeniería de software , el software de computación es toda la información procesada por sistemas , programas y datos de computación . El software de computadora incluye programas de computadora , bibliotecas y datos no ejecutables relacionados , como documentación en línea o medios digitales . El hardware y el software de las computadoras se requieren mutuamente y ninguno de los dos se puede usar de manera realista por sí solo.
agente de software
Es un programa de computadora que actúa para un usuario u otro programa en una relación de agencia, que deriva del latín agere (hacer): un acuerdo para actuar en nombre de uno. Tal "acción en nombre de" implica la autoridad para decidir qué acción, si la hay, es apropiada. Los agentes se conocen coloquialmente como bots , de robot . Pueden incorporarse, como cuando la ejecución se empareja con un cuerpo de robot, o como software, como un chatbot que se ejecuta en un teléfono (por ejemplo, Siri ) u otro dispositivo informático. Los agentes de software pueden ser autónomos o trabajar junto con otros agentes o personas. Los agentes de software que interactúan con las personas (por ejemplo , chatbots , entornos de interacción humano-robot ) pueden poseer cualidades similares a las de los humanos, como la comprensión del lenguaje natural y el habla, personalidad o encarnar una forma humanoide (ver Asimo ).
construcción de software
Es una disciplina de ingeniería de software . Es la creación detallada de un software significativo que funcione 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 , principalmente al diseño de software y las pruebas de software .
implementación de software
Son todas las actividades que hacen que un sistema de software esté disponible para su uso.
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 . El diseño de software puede referirse a "toda la actividad involucrada en la conceptualización, estructuración, implementación, puesta en servicio y, en última instancia, modificación de sistemas complejos" o "la actividad que sigue a la especificación de requisitos y antes de la programación , como ... [en] un proceso de ingeniería de software estilizado. "
desarrollo de software
Es el proceso de concebir, especificar, diseñar, programar , documentar , probar y corregir errores involucrados 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 está involucrado desde la concepción del software deseado hasta la manifestación final del software, a veces en un proceso planificado y estructurado . Por lo tanto, el desarrollo de software puede incluir investigación, nuevo desarrollo, creación de prototipos, modificación, reutilización, reingeniería, mantenimiento o cualquier otra actividad que dé como resultado productos de software.
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 pre-definición de entregables y artefactos específicos que son creados y completados por un equipo de proyecto para desarrollar o mantener una aplicación. La mayoría de los procesos de desarrollo modernos se pueden describir 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 . La ingeniería de software es una disciplina informática .
mantenimiento del software
En ingeniería de software es la modificación de un producto de software después de la entrega para corregir fallas, mejorar el rendimiento u otros atributos.
creación de prototipos de software
Es la actividad de crear prototipos de aplicaciones de software, es decir, versiones incompletas del programa de software que se está desarrollando. Es una actividad que puede ocurrir en el desarrollo de software y es comparable a la creación de prototipos como se conoce en otros campos, como la ingeniería mecánica o la fabricación . Por lo general, un prototipo simula solo 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 que se 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 proporcionar 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 que se está probando. Las pruebas de software también pueden proporcionar una vista objetiva e independiente del software para permitir que la empresa aprecie y comprenda los riesgos de la implementación del software. Las técnicas de prueba incluyen el proceso de ejecutar un programa o aplicación con la intención de encontrar errores de software (errores u otros defectos) y verificar que el producto de software sea apto para su uso.
algoritmo de 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 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, la salida 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 (un reordenamiento, pero conservando todos los elementos originales) de la entrada.
Además, los datos de entrada a menudo se almacenan en una matriz , lo que permite el acceso aleatorio , en lugar de una lista, que solo 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 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 de computadoras , quienes especifican las acciones que debe realizar una computadora principalmente escribiendo el 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 la máquina podría almacenarse para su ejecución en un momento posterior. Alternativamente, el código fuente puede interpretarse y, por tanto, ejecutarse inmediatamente.
modelo en espiral
Es un modelo de proceso de desarrollo de software basado en riesgos . Basado en los patrones de riesgo únicos de un proyecto dado, el modelo en espiral guía a un equipo para que adopte elementos de uno o más modelos de proceso, como prototipos incrementales , en cascada o evolutivos .
apilar
Es un tipo de datos abstracto que sirve como una colección de elementos, con dos operaciones principales 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 el que los elementos salen de una pila da lugar a su nombre alternativo, LIFO (último en entrar, primero en salir). Además, una operación de inspección puede dar acceso a la parte superior sin modificar la pila. 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 quitar un elemento de la parte superior de la pila, mientras que para llegar a un elemento más profundo en la pila puede ser necesario quitar varios otros elementos primero.
estado
En tecnología de la información y ciencias de la computación, un sistema se describe como con estado si está diseñado para recordar eventos anteriores o interacciones del usuario; la información recordada se llama estado del sistema.
declaración
En programación informática , un enunciado es una unidad sintáctica de un lenguaje de programación imperativo que expresa alguna acción a realizar. 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 un componente fundamental de las computadoras.
Arroyo
Es una secuencia de elementos de datos disponibles a lo largo del tiempo. Se puede pensar en una corriente como artículos en una cinta transportadora que se procesan uno a la vez en lugar de en lotes grandes.
cuerda
En programación de computadoras , 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 la longitud cambiada, o puede ser fijo (después de la creación). Una cadena se considera generalmente como un tipo de datos y, a menudo, se implementa como una estructura de datos de matriz de bytes (o palabras ) que almacena una secuencia de elementos, generalmente caracteres, utilizando alguna codificación de caracteres . Cadena también puede denotar matrices más generales u otros tipos y estructuras de datos de secuencia (o lista ).
almacenamiento estructurado
A NoSQL (originalmente en referencia a "no SQL " o "no relacional") de base de datos proporciona un mecanismo para el almacenamiento y recuperación de datos que se modela en medios distintos de las relaciones tabulares utilizados en 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, provocado por las necesidades de las empresas Web 2.0 . Las bases de datos NoSQL se utilizan cada vez más en big data y aplicaciones web en tiempo real . Los sistemas NoSQL a veces también se denominan "No solo SQL" para enfatizar que pueden admitir lenguajes de consulta similares a SQL o sentarse junto a bases de datos SQL en arquitecturas persistentes políglotas .
subrutina
En programación de computadoras , una subrutina es una secuencia de instrucciones de programa que realiza una tarea específica, empaquetada como una unidad. Esta unidad se puede utilizar en programas donde sea 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 denominativo unidad invocable.
computación simbólica
En matemáticas y ciencias de la computación , el álgebra computacional, también llamada computación simbólica o computación algebraica, es un área científica que se refiere al estudio y desarrollo de algoritmos y software para manipular expresiones matemáticas y otros objetos matemáticos . Aunque el álgebra computacional podría considerarse un subcampo de la computación científica , generalmente se consideran campos distintos porque la computación científica generalmente se basa en el cálculo numérico con números de punto flotante aproximados , mientras que el cálculo simbólico enfatiza el cálculo exacto con expresiones que contienen variables que no tienen un valor dado y se manipulan como símbolos.
sintaxis
La sintaxis de un lenguaje informático es el conjunto de reglas que define las combinaciones de símbolos que se consideran declaraciones 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, para los lenguajes interpretados , se puede detectar un error de sintaxis durante la ejecución del programa y los mensajes de error de un intérprete pueden no diferenciar los errores de sintaxis de los errores de otro tipo. Existe cierto desacuerdo en cuanto a qué errores son "errores de sintaxis". Por ejemplo, algunos dirían que el uso del valor de una variable no inicializada en el código Java es un error de sintaxis, pero muchos otros no estarían de acuerdo y lo clasificarían 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 para los mensajes de administración del sistema, particularmente los del BIOS o del cargador de arranque , el kernel , del sistema de inicio y del sistema. registrador . Es un dispositivo físico que consta de un teclado y una pantalla, y tradicionalmente es un terminal de texto , pero también puede ser un terminal gráfico . Las consolas del sistema se generalizan a terminales de computadora , que se abstraen respectivamente mediante consolas virtuales y emuladores de terminal . Hoy en día, la comunicación con las consolas del sistema se realiza generalmente de forma abstracta, a través de los flujos estándar ( stdin , stdout y stderr ), pero puede haber interfaces específicas del sistema, por ejemplo, las utilizadas por el kernel 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 un producto en desarrollo o uso. El destinatario previsto de la documentación técnica del producto es tanto el usuario final (competente) como el administrador / técnico de servicio o mantenimiento. En contraste con un simple manual de "libro de cocina" , 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 de computadoras de alto nivel que tiende a ser más independiente de la máquina y más fácil de programar que el código de máquina de la primera generación y los lenguajes ensambladores de la segunda generación , mientras que tiene un enfoque menos específico para la cuarta y quinta generación. 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 principal , representado 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 a la teoría de conjuntos como base para todas las matemáticas . En la teoría de tipos, cada "término" tiene un "tipo" y las operaciones están restringidas a términos de cierto tipo.

U

subir
En redes informáticas , enviar datos a un sistema remoto como un servidor u otro cliente para que el sistema remoto pueda almacenar una copia. Descarga de contraste .
Localizador uniforme de recursos (URL)

Coloquialmente dirección web .

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), aunque muchas personas usan los dos términos indistintamente. Las URL ocurren con mayor frecuencia para hacer referencia a páginas web ( http ), pero también se utilizan para transferencia de archivos ( ftp ), correo electrónico ( mailto ), acceso a bases de datos ( JDBC ) y muchas otras aplicaciones.
usuario
Es una persona que utiliza una computadora o un servicio de red . Los usuarios de sistemas informáticos y productos de software generalmente carecen de la experiencia técnica necesaria para comprender completamente cómo funcionan. Los usuarios avanzados utilizan funciones avanzadas de los programas, aunque no necesariamente son capaces de programar 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, procesa y facilita la interacción del usuario final con el contenido web". 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 extremo humano, mientras que la máquina retroalimenta simultáneamente información que ayuda en el proceso de toma de decisiones de los operadores . Ejemplos de este amplio concepto de interfaces de usuario incluyen los aspectos interactivos de los sistemas operativos de computadora , herramientas manuales , controles de operador de maquinaria pesada y controles de proceso . 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 objetivo de maximizar la usabilidad y la experiencia del usuario . El objetivo del diseño de la interfaz de usuario es hacer que la interacción del usuario sea lo más simple y eficiente posible, en términos de lograr los objetivos del usuario ( diseño centrado en el usuario ).

V

variable
En la 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 una cantidad conocida o desconocida de información denominada valor . El nombre de la variable es la forma habitual de hacer referencia al valor almacenado, además de referirse 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 .
máquina virtual (VM)
Una emulación de un sistema informático. Las máquinas virtuales se basan en arquitecturas de computadora e intentan proporcionar la misma funcionalidad que una computadora física. Sus implementaciones pueden involucrar hardware, 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 moverse hacia abajo de forma lineal, los pasos del proceso se doblan 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 del desarrollo y su fase de prueba asociada . Los ejes horizontal y vertical representan el tiempo o la integridad del proyecto (de izquierda a derecha) y el nivel de abstracción (la abstracción de grano más grueso hacia arriba), respectivamente.

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 para 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 parte en una dirección ("hacia abajo" como una cascada ) a través de las fases de concepción, iniciación, análisis , diseño , construcción , prueba , implementación y mantenimiento. .
Formato de archivo de audio 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 del formato de archivo de intercambio de recursos (RIFF) para almacenar datos en "fragmentos" y, por lo tanto, también se acerca al formato 8SVX y AIFF utilizado en computadoras Amiga y Macintosh , respectivamente. Es el formato principal utilizado en los sistemas Microsoft Windows para audio en bruto y normalmente sin comprimir. La codificación de flujo de bits habitual es el formato de modulación de código de impulsos lineal (LPCM).
rastreador web

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

Un bot de Internet que navega sistemáticamente por la World Wide Web , generalmente con el propósito 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 la organización sin fines de lucro Wi-Fi Alliance , que restringe el uso del término Wi-Fi Certified a productos que completan con éxito las pruebas de certificación de interoperabilidad .

X

XHTML

Abreviatura de eXtensible HyperText Markup Language .

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

Ver también

Referencias

Notas