Glossário de ciência da computação - Glossary of computer science

Este glossário de ciência da computação é uma lista de definições de termos e conceitos usados ​​em ciência da computação , suas subdisciplinas e campos relacionados, incluindo termos relevantes para software , ciência de dados e programação de computadores .

UMA

tipo abstrato de dados (ADT)
Um modelo matemático para tipos de dados em que um tipo de dados é definido por seu comportamento ( semântica ) do ponto de vista de um usuário dos dados, especificamente em termos de valores possíveis, operações possíveis em dados desse tipo e o comportamento de essas operações. Isso contrasta com as estruturas de dados , que são representações concretas de dados do ponto de vista de um implementador em vez de um usuário.
método abstrato
Um com apenas uma assinatura e sem corpo de implementação . Geralmente é usado para especificar que uma subclasse deve fornecer uma implementação do método. Métodos abstratos são usados ​​para especificar interfaces em algumas linguagens de computador.
abstração
1. Em engenharia de software e ciência da computação , o processo de remoção de detalhes ou atributos físicos, espaciais ou temporais no estudo de objetos ou sistemas, a fim de atender mais de perto a outros detalhes de interesse; também é muito semelhante em natureza ao processo de generalização .
2. O resultado deste processo: um conceito abstrato - objeto criado mantendo características ou atributos comuns a vários objetos concretos ou sistemas de estudo.
arquitetura do agente
Um projeto para agentes de software e sistemas de controle inteligentes descrevendo a disposição dos componentes. As arquiteturas implementadas por agentes inteligentes são chamadas de arquiteturas cognitivas .
modelo baseado em agente (ABM)
Uma classe de modelos computacionais para simular as ações e interações de agentes autônomos (tanto entidades individuais ou coletivas como organizações ou grupos) com o objetivo de avaliar seus efeitos no sistema como um todo. Ele combina elementos da teoria dos jogos , sistemas complexos , emergência , sociologia computacional , sistemas multiagentes e programação evolutiva . Métodos de Monte Carlo são usados ​​para introduzir aleatoriedade.
função agregada
No gerenciamento de banco de dados , uma função na qual os valores de várias linhas são agrupados para formar um único valor de significado ou medição mais significativo, como soma, contagem ou máx.
desenvolvimento ágil de software
Uma abordagem ao desenvolvimento de software sob a qual requisitos e soluções evoluem por meio do esforço colaborativo de equipes auto-organizadas e multifuncionais e de seus clientes / usuários finais . Ele defende o planejamento adaptativo, o desenvolvimento evolutivo, a entrega antecipada e a melhoria contínua e incentiva uma resposta rápida e flexível às mudanças.
algoritmo
Uma especificação inequívoca de como resolver uma classe de problemas. Os algoritmos podem realizar cálculos , processamento de dados e tarefas de raciocínio automatizadas . Eles são onipresentes em tecnologias de computação.
projeto de algoritmo
Um método ou processo matemático para solução de problemas e para algoritmos de engenharia . O projeto de algoritmos é parte de muitas teorias de solução de pesquisa operacional , como programação dinâmica e divisão para conquistar . As técnicas para projetar e implementar projetos de algoritmo também são chamadas de padrões de projeto de algoritmo, como o padrão de método de modelo e o padrão de decorador.
eficiência algorítmica
Uma propriedade de um algoritmo que se relaciona ao número de recursos computacionais usados ​​pelo algoritmo. Um algoritmo deve ser analisado para determinar seu uso de recursos e a eficiência de um algoritmo pode ser medida com base no uso de diferentes recursos. A eficiência do algoritmo pode ser considerada análoga à produtividade da engenharia para um processo repetitivo ou contínuo.
Código Padrão Americano para Intercâmbio de Informações (ASCII)
Um padrão de codificação de caracteres para comunicações eletrônicas. Os códigos ASCII representam texto em computadores, equipamentos de telecomunicações e outros dispositivos. A maioria dos esquemas de codificação de caracteres modernos é baseada em ASCII, embora eles suportem muitos caracteres adicionais.
interface de programação de aplicativo (API)
Um conjunto de definições de sub-rotina , protocolos de comunicação e ferramentas para a construção de software . Em termos gerais, é um conjunto de métodos de comunicação claramente definidos entre vários componentes. Uma boa API torna mais fácil desenvolver um programa de computador, fornecendo todos os blocos de construção, que são então reunidos pelo programador .
software de aplicação

Também simplesmente aplicativo ou aplicativo .

Software de computador projetado para executar um grupo de funções, tarefas ou atividades coordenadas para o benefício do usuário . Exemplos comuns de aplicativos incluem processadores de texto , planilhas , aplicativos de contabilidade , navegadores da web , reprodutores de mídia , simuladores de vôo aeronáutico, jogos de console e editores de fotos . Isso contrasta com o software do sistema , que está principalmente envolvido no gerenciamento das operações de execução mais básicas do computador, muitas vezes sem entrada direta do usuário. O software de aplicação de substantivo coletivorefere-se a todas as aplicações coletivamente.
estrutura de dados array

Também simplesmente array .

Uma estrutura de dados que consiste em uma coleção de elementos ( valores ou variáveis ), cada um identificado por pelo menos um índice ou chave de array . Uma matriz é armazenada de forma que a posição de cada elemento possa ser calculada a partir de sua tupla de índice por uma fórmula matemática. O tipo mais simples de estrutura de dados é uma matriz linear, também chamada de matriz unidimensional.
artefato
Um dos muitos tipos de subprodutos tangíveis produzidos durante o desenvolvimento de software . Alguns artefatos (por exemplo , casos de uso , diagramas de classe e outros modelos, requisitos e documentos de design da Unified Modeling Language (UML)) ajudam a descrever a função, a arquitetura e o design do software. Outros artefatos estão relacionados ao próprio processo de desenvolvimento - como planos de projeto, casos de negócios e avaliações de risco.
inteligência artificial (IA)

Também inteligência de máquina .

Inteligência demonstrada por máquinas , em contraste com a inteligência natural exibida por humanos e outros animais. Em ciência da computação , a pesquisa em IA é definida como o estudo de " agentes inteligentes ": dispositivos capazes de perceber seu ambiente e realizar ações que maximizam a chance de atingir seus objetivos com sucesso. Coloquialmente, o termo "inteligência artificial" é aplicado quando uma máquina imita funções "cognitivas" que os humanos associam a outras mentes humanas , como "aprendizado" e "solução de problemas".
ASCII
Consulte o Código Padrão Americano para Intercâmbio de Informações .
afirmação
Em programação de computador , uma declaração de que um predicado ( função com valor booleano , ou seja, uma expressão verdadeiro-falso ) é sempre verdadeiro naquele ponto da execução do código. Pode ajudar um programador a ler o código, ajudar um compilador a compilá-lo ou ajudar o programa a detectar seus próprios defeitos. Para o último, alguns programas verificam as asserções avaliando realmente o predicado à medida que são executados e, se não for de fato verdadeiro - uma falha de asserção - o programa se considera quebrado e normalmente falha deliberadamente ou lança uma exceção de falha de asserção .
matriz associativa
Uma matriz associativa, mapa, tabela de símbolos ou dicionário é um tipo de dado abstrato composto de uma coleção de pares (chave, valor) , de modo que cada chave possível apareça no máximo uma vez na coleção. As operações associadas a este tipo de dados permitem:
  • a adição de um par à coleção
  • a remoção de um par da coleção
  • a modificação de um par existente
  • a pesquisa de um valor associado a uma chave particular
teoria dos autômatos
O estudo de máquinas abstratas e autômatos , bem como dos problemas computacionais que podem ser resolvidos com eles. É uma teoria em ciência da computação teórica e matemática discreta (um assunto de estudo em matemática e ciência da computação ).
raciocínio automatizado
Uma área da ciência da computação e lógica matemática dedicada a compreender diferentes aspectos do raciocínio . O estudo do raciocínio automatizado ajuda a produzir programas de computador que permitem aos computadores raciocinar completamente, ou quase completamente, automaticamente. Embora o raciocínio automatizado seja considerado um subcampo da inteligência artificial , ele também tem conexões com a ciência da computação teórica e até mesmo com a filosofia .

B

largura de banda
A taxa máxima de transferência de dados em um determinado caminho. A largura de banda pode ser caracterizada como largura de banda de rede , largura de banda de dados ou largura de banda digital .
Programação bayesiana
Um formalismo e uma metodologia para ter uma técnica para especificar modelos probabilísticos e resolver problemas quando menos do que as informações necessárias estão disponíveis.
benchmark
O ato de executar um programa de computador , um conjunto de programas ou outras operações, a fim de avaliar o desempenho relativo de um objeto, normalmente executando uma série de testes e tentativas padrão contra ele. O termo benchmark também é comumente utilizado para os próprios programas de benchmarking elaborados.
melhor, pior e médio caso
Expressões de qual é o uso de recursos , no mínimo , no máximo e em média , respectivamente, para um determinado algoritmo . Normalmente, o recurso considerado é o tempo de execução, ou seja , a complexidade do tempo , mas também pode ser a memória ou algum outro recurso. O melhor caso é a função que executa o número mínimo de etapas nos dados de entrada de n elementos; o pior caso é a função que executa o número máximo de etapas nos dados de entrada de tamanho n ; caso médio é a função que executa um número médio de etapas nos dados de entrada de n elementos.
big data
Um termo usado para se referir a conjuntos de dados que são muito grandes ou complexos para o software de aplicativo de processamento de dados tradicional lidar adequadamente. Dados com muitos casos (linhas) oferecem maior poder estatístico , enquanto dados com maior complexidade (mais atributos ou colunas) podem levar a uma taxa de descoberta falsa maior .
grande notação O
Uma notação matemática que descreve o comportamento limitante de uma função quando o argumento tende para um determinado valor ou infinito. É um membro de uma família de notações inventadas por Paul Bachmann , Edmund Landau e outros, coletivamente chamadas de notação Bachmann-Landau ou notação assintótica .
número binário
Em matemática e eletrônica digital , um número expresso no sistema numérico de base 2 ou sistema numérico binário, que usa apenas dois símbolos: normalmente 0 (zero) e 1 (um) .
algoritmo de busca binária

Também pesquisa simplesmente binária , pesquisa de meio intervalo , pesquisa logarítmica ou corte binário .

Um algoritmo de pesquisa que encontra a posição de um valor de destino em uma matriz classificada .
árvore binária
Uma estrutura de árvore de dados em que cada nó tem no máximo dois filhos , que são chamados de criança esquerda e ocriança certa . Umadefinição recursivausando apenasnoções dateoria de conjuntosé que uma árvore binária (não vazia) é umatupla(L,S,R), ondeLeRsão árvores binárias ou oconjunto vazioeSé umconjunto singleton. Alguns autores permitem que a árvore binária também seja o conjunto vazio.
bioinformática
Um campo interdisciplinar que combina biologia , ciência da computação , engenharia da informação , matemática e estatística para desenvolver métodos e ferramentas de software para analisar e interpretar dados biológicos. A bioinformática é amplamente utilizada para análises in silico de consultas biológicas usando técnicas matemáticas e estatísticas.
pedaço
Uma unidade básica de informação usada em computação e comunicações digitais; uma mala de viagem de dígitos binários . Um dígito binário pode ter um de dois valores possíveis e pode ser fisicamente representado com um dispositivo de dois estados. Esses valores de estado são mais comumente representados como 0 ou 1 .
taxa de bits ( R )

Também taxa de bits .

Em telecomunicações e computação , o número de bits que são transmitidos ou processados ​​por unidade de tempo.
lista negra

Também lista de bloqueios .

Na informática , um mecanismo básico de controle de acesso que permite passar por todos os elementos (endereços de e-mail, usuários, senhas, URLs , endereços IP , nomes de domínio , hashes de arquivo , etc.), exceto aqueles explicitamente mencionados em uma lista de elementos proibidos. Esses itens na lista têm acesso negado. O oposto é uma lista de permissões , o que significa que apenas os itens da lista são permitidos por meio de qualquer portão que esteja sendo usado, enquanto todos os outros elementos são bloqueados. Uma lista cinza contém itens que estão temporariamente bloqueados (ou permitidos temporariamente) até que uma etapa adicional seja executada.
Formato de arquivo BMP

Também arquivo de imagem bitmap , formato de arquivo bitmap independente de dispositivo (DIB) ou simplesmente bitmap .

Um formato de arquivo de imagem de gráfico raster usado para armazenar imagens digitais de bitmap independentemente do dispositivo de exibição (como um adaptador gráfico ), usado especialmente nos sistemas operacionais Microsoft Windows e OS / 2 .
Tipo de dados booleano
Um tipo de dados que possui um de dois valores possíveis (geralmente denotados como verdadeiro e falso ), destinado a representar os dois valores verdade da lógica e da álgebra booleana . Tem o nome de George Boole , que primeiro definiu um sistema algébrico de lógica em meados do século XIX. O tipo de dados booleano está principalmente associado a declarações condicionais , que permitem diferentes ações alterando o fluxo de controle, dependendo se uma condição booleana especificada pelo programador for avaliada como verdadeira ou falsa. É um caso especial de um tipo de dados lógico mais geral (consulte a lógica probabilística ) - ou seja, a lógica nem sempre precisa ser booleana.
Expressão booleana
Uma expressão usada em uma linguagem de programação que retorna um valor booleano quando avaliada, que é uma das verdadeiras ou falsas . A expressão booleana pode ser composta por uma combinação das constantes booleanas verdadeiras ou falsas , booleano tipados variáveis, operadores booleano-valorizadas, e funções booleanas-valorizados .
álgebra booleana
Em matemática e lógica matemática , o ramo da álgebra em que os valores das variáveis ​​são os valores verdadeiros e falsos , geralmente denotados 1 e 0, respectivamente. Ao contrário da álgebra elementar , onde os valores das variáveis ​​são números e as operações principais são adição e multiplicação, as principais operações da álgebra booleana são a conjunção e (denotada como ∧), a disjunção ou (denotada como ∨), e a negação não (denotado como ¬). É, portanto, um formalismo para descrever relações lógicas da mesma maneira que a álgebra elementar descreve relações numéricas.
byte
Uma unidade de informação digital que mais comumente consiste em oito bits , representando um número binário . Historicamente, o byte era o número de bits usados ​​para codificar um único caractere de texto em um computador e, por esse motivo, é a menor unidade de memória endereçável em muitas arquiteturas de computador .
inicializando
Os procedimentos implementados na inicialização de um computador ou dispositivo de computador até que ele possa ser usado. Ele pode ser iniciado por hardware, como um pressionamento de botão ou por um comando de software. Depois que a energia é ligada, o computador fica relativamente burro e pode ler apenas parte de seu armazenamento, chamada memória somente leitura . Lá, um pequeno programa é armazenado chamado firmware . Ele faz autotestes de inicialização e, o mais importante, permite acesso a outros tipos de memória, como disco rígido e memória principal . O firmware carrega programas maiores na memória principal do computador e os executa.

C

ligar de volta

Também uma função call-after .

Qualquer código executável que é passado como um argumento para outro código que deve "chamar de volta" (executar) o argumento em um determinado momento. Essa execução pode ser imediata, como em um retorno de chamada síncrono , ou pode acontecer posteriormente, como em um retorno de chamada assíncrono .
unidade de processamento central (CPU)
O circuito eletrônico dentro de um computador que executa as instruções de um programa de computador executando as operações aritméticas, lógicas, de controle e de entrada / saída (E / S) básicas especificadas pelas instruções. A indústria de computadores tem usado o termo "unidade de processamento central" pelo menos desde o início dos anos 1960. Tradicionalmente, o termo "CPU" se refere a um processador , mais especificamente à sua unidade de processamento e unidade de controle (CU), distinguindo esses elementos centrais de um computador de componentes externos, como memória principal e circuitos de E / S.
personagem
Uma unidade de informação que corresponde aproximadamente a um grafema , unidade semelhante a um grafema ou símbolo, como em um alfabeto ou silabário na forma escrita de uma linguagem natural .
cifra

Também criptografado .

Na criptografia , um algoritmo para realizar a criptografia ou descriptografia - uma série de etapas bem definidas que podem ser seguidas como um procedimento .
classe
Na programação orientada a objetos , um modelo de código de programa extensível para criar objetos , fornecendo valores iniciais para o estado ( variáveis ​​de membro ) e implementações de comportamento (funções ou métodos de membro ). Em muitas linguagens, o nome da classe é usado como o nome da classe (o próprio modelo), o nome do construtor padrão da classe (uma sub - rotina que cria objetos) e como o tipo de objeto gerado pela instanciação da classe; esses conceitos distintos são facilmente confundidos.
programação baseada em classe

Também orientação de classe .

Um estilo de programação orientada a objetos (OOP) em que a herança ocorre por meio da definição de " classes " de objetos , em vez de apenas por meio dos objetos (compare a programação baseada em protótipo ).
cliente
Um pedaço de hardware ou software de computador que acessa um serviço disponibilizado por um servidor . O servidor está frequentemente (mas nem sempre) em outro sistema de computador e , nesse caso, o cliente acessa o serviço por meio de uma rede . O termo se aplica à função que os programas ou dispositivos desempenham no modelo cliente-servidor .
engenharia de software de sala limpa
Um processo de desenvolvimento de software destinado a produzir software com um nível de confiabilidade certificável . O processo de sala limpa foi originalmente desenvolvido por Harlan Mills e vários de seus colegas, incluindo Alan Hevner da IBM . O foco do processo de sala limpa é a prevenção de defeitos, ao invés da remoção de defeitos.
fecho

Também fechamento lexical ou fechamento de função .

Uma técnica para implementar a vinculação de nomes com escopo léxico em uma linguagem com funções de primeira classe . Operacionalmente , um fechamento é um registro que armazena uma função junto com um ambiente.
computação em nuvem
Conjuntos compartilhados de recursos de sistema de computador configuráveis e serviços de nível superior que podem ser provisionados rapidamente com esforço mínimo de gerenciamento, geralmente pela Internet . A computação em nuvem depende do compartilhamento de recursos para alcançar coerência e economias de escala , semelhantes a um serviço público .
biblioteca de código
Uma coleção de recursos não voláteis usados ​​por programas de computador , geralmente para desenvolvimento de software . Isso pode incluir dados de configuração, documentação, dados de ajuda, modelos de mensagem, código pré-escrito e sub - rotinas , classes , valores ou especificações de tipo . No OS / 360 da IBM e seus sucessores, eles são chamados de conjuntos de dados particionados .
codificação
Programação de computador é o processo de projetar e construir um programa de computador executável para realizar uma tarefa de computação específica . A programação envolve tarefas como análise, geração de algoritmos , precisão dos algoritmos de criação de perfil e consumo de recursos, e a implementação de algoritmos em uma linguagem de programação escolhida (comumente chamada de codificação ). O código-fonte de um programa é escrito em uma ou mais linguagens de programação. O objetivo da programação é encontrar uma sequência de instruções que automatizará o desempenho de uma tarefa para resolver um determinado problema. O processo de programação, portanto, muitas vezes requer experiência em vários assuntos diferentes, incluindo conhecimento do domínio do aplicativo , algoritmos especializados e lógica formal .
teoria da codificação
O estudo das propriedades dos códigos e respetiva adequação a aplicações específicas. Os códigos são usados ​​para compressão de dados , criptografia , detecção e correção de erros , transmissão e armazenamento de dados . Os códigos são estudados por várias disciplinas científicas - como teoria da informação , engenharia elétrica , matemática , linguística e ciência da computação - com o propósito de projetar métodos de transmissão de dados eficientes e confiáveis. Isso normalmente envolve a remoção da redundância e a correção ou detecção de erros nos dados transmitidos.
Ciência cognitiva
O estudo científico interdisciplinar da mente e seus processos. Ele examina a natureza, as tarefas e as funções da cognição (em um sentido amplo). Cientistas cognitivos estudam inteligência e comportamento, com foco em como os sistemas nervosos representam, processam e transformam informações . As faculdades mentais que preocupam os cientistas cognitivos incluem linguagem, percepção, memória, atenção, raciocínio e emoção; para compreender essas faculdades, os cientistas cognitivos usam campos como lingüística, psicologia, inteligência artificial , filosofia , neurociência e antropologia.
coleção
Uma coleção ou contêiner é um agrupamento de algum número variável de itens de dados (possivelmente zero) que têm algum significado compartilhado para o problema que está sendo resolvido e precisam ser operados juntos de alguma forma controlada. Geralmente, os itens de dados serão do mesmo tipo ou, em linguagens que suportam herança, derivados de algum tipo ancestral comum. Uma coleção é um conceito aplicável a tipos de dados abstratos e não prescreve uma implementação específica como uma estrutura de dados concreta , embora frequentemente haja uma escolha convencional (consulte Container para discussão da teoria de tipo ).
valores separados por vírgula (CSV)
Um arquivo de texto delimitado que usa uma vírgula para separar os valores. Um arquivo CSV armazena dados tabulares (números e texto) em texto simples . Cada linha do arquivo é um registro de dados . Cada registro consiste em um ou mais campos , separados por vírgulas . O uso da vírgula como separador de campo é a origem do nome para este formato de arquivo .
compilador
Um programa de computador que transforma o código de computador escrito em uma linguagem de programação (a linguagem de origem) em outra linguagem de programação (a linguagem de destino). Compiladores são um tipo de tradutor que oferece suporte a dispositivos digitais, principalmente computadores. O nome compilador é usado principalmente para programas que traduzem o código-fonte de uma linguagem de programação de alto nível para uma linguagem de nível inferior (por exemplo , linguagem assembly , código-objeto ou código de máquina ) para criar um programa executável .
teoria da computabilidade
também conhecida como teoria da recursão , é um ramo da lógica matemática , da ciência da computação e da teoria da computação que se originou na década de 1930 com o estudo de funções computáveis e graus de Turing . O campo desde então se expandiu para incluir o estudo de computabilidade generalizada e definibilidade. Nessas áreas, a teoria da recursão se sobrepõe à teoria da prova e à teoria dos conjuntos descritivos eficazes .
computação
Qualquer tipo de cálculo que inclua etapas aritméticas e não aritméticas e siga um modelo bem definido , por exemplo, um algoritmo . O estudo da computação é fundamental para a disciplina da ciência da computação .
biologia Computacional
Envolve o desenvolvimento e a aplicação de métodos analíticos e teóricos de dados, modelagem matemática e técnicas de simulação computacional para o estudo de sistemas biológicos, ecológicos, comportamentais e sociais. O campo é amplamente definido e inclui fundamentos em biologia , matemática aplicada , estatística , bioquímica , química , biofísica , biologia molecular , genética , genômica , ciência da computação e evolução . A biologia computacional é diferente da computação biológica , que é um subcampo da ciência da computação e da engenharia da computação que usa a bioengenharia e a biologia para construir computadores .
química computacional
Um ramo da química que usa simulação de computador para auxiliar na solução de problemas químicos. Ele usa métodos de química teórica , incorporados em programas de computador eficientes , para calcular as estruturas e propriedades de moléculas e sólidos.
teoria da complexidade computacional
Um subcampo da ciência computacional que se concentra em classificar problemas computacionais de acordo com sua dificuldade inerente e relacionar essas classes entre si. Um problema computacional é uma tarefa resolvida por um computador. Um problema de computação pode ser resolvido pela aplicação mecânica de etapas matemáticas, como um algoritmo .
modelo computacional
Um modelo matemático em ciência da computação que requer extensos recursos computacionais para estudar o comportamento de um sistema complexo por simulação de computador .
neurociência computacional

Também neurociência teórica ou neurociência matemática .

Um ramo da neurociência que emprega modelos matemáticos, análises teóricas e abstrações do cérebro para compreender os princípios que governam o desenvolvimento , a estrutura , a fisiologia e as habilidades cognitivas do sistema nervoso .
física computacional
É o estudo e implementação de análise numérica para resolver problemas em física para os quais já existe uma teoria quantitativa . Historicamente, a física computacional foi a primeira aplicação dos computadores modernos na ciência e agora é um subconjunto da ciência computacional .
ciência computacional

Também computação científica e computação científica ( SC ).

Um campo interdisciplinar que usa recursos de computação avançados para entender e resolver problemas complexos. É uma área da ciência que abrange muitas disciplinas, mas em seu núcleo envolve o desenvolvimento de modelos de computador e simulações para compreender sistemas naturais complexos.
direção computacional
É a prática de intervir manualmente em um processo computacional autônomo para alterar seu resultado.
computador
Um dispositivo que pode ser instruído a realizar sequências de operações aritméticas ou lógicas automaticamente por meio de programação de computador . Os computadores modernos têm a capacidade de seguir conjuntos generalizados de operações, chamados programas . Esses programas permitem que os computadores executem uma gama extremamente ampla de tarefas.
arquitetura de computador
Um conjunto de regras e métodos que descrevem a funcionalidade, organização e implementação de sistemas de computador . Algumas definições de arquitetura a definem como a descrição dos recursos e do modelo de programação de um computador, mas não de uma implementação específica. Em outras definições, a arquitetura do computador envolve o projeto da arquitetura do conjunto de instruções , o projeto da microarquitetura , o projeto lógico e a implementação .
armazenamento de dados de computador

Também simplesmente armazenamento ou memória .

Tecnologia que consiste em componentes de computador e mídia de gravação usada para reter dados digitais . O armazenamento de dados é uma função central e um componente fundamental de todos os sistemas de computador modernos.
ética do computador
Uma parte da filosofia prática preocupada com como os profissionais de computação devem tomar decisões com relação à conduta profissional e social.
gráficos de computador
Imagens e filmes criados em computadores. Normalmente, o termo se refere a dados de imagem gerados por computador criados com a ajuda de hardware e software gráfico especializado. É uma área vasta e recentemente desenvolvida da ciência da computação.
rede de computadores

Também rede de dados .

Uma rede de telecomunicações digitais que permite aos nós compartilhar recursos. Em redes de computadores, dispositivos de computação trocam dados entre si usando conexões ( links de dados ) entre nós. Esses links de dados são estabelecidos por meio de mídia de cabo , como fios ou cabos ópticos, ou mídia sem fio , como Wi-Fi .
programa de computador
É uma coleção de instruções que podem ser executadas por um computador para realizar uma tarefa específica.
programação de computador
O processo de projetar e construir um programa de computador executável para realizar uma tarefa de computação específica . A programação envolve tarefas como análise, geração de algoritmos , precisão dos algoritmos de criação de perfil e consumo de recursos, e a implementação de algoritmos em uma linguagem de programação escolhida (comumente chamada de codificação ). O código-fonte de um programa é escrito em uma ou mais linguagens de programação. O objetivo da programação é encontrar uma sequência de instruções que automatizará o desempenho de uma tarefa para resolver um determinado problema. O processo de programação, portanto, muitas vezes requer experiência em vários assuntos diferentes, incluindo conhecimento do domínio do aplicativo , algoritmos especializados e lógica formal .
Ciência da Computação
A teoria, experimentação e engenharia que formam a base para o design e uso de computadores . Envolve o estudo de algoritmos que processam, armazenam e comunicam informações digitais . Um cientista da computação se especializou em teoria da computação e projeto de sistemas computacionais.
cientista da computação
Uma pessoa que adquiriu o conhecimento da ciência da computação , o estudo dos fundamentos teóricos da informação e computação e sua aplicação.
segurança do computador

Também cibersegurança ou segurança de tecnologia da informação ( segurança de TI ).

A proteção de sistemas de computador contra roubo ou danos a seu hardware , software ou dados eletrônicos , bem como contra interrupção ou direcionamento incorreto dos serviços que prestam.
visão de computador
Um campo científico interdisciplinar que trata de como os computadores podem ser feitos para obter um entendimento de alto nível de imagens ou vídeos digitais . Do ponto de vista da engenharia, busca automatizar tarefas que o sistema visual humano pode realizar.
Informática
É qualquer atividade orientada a objetivos que exige, se beneficia ou cria máquinas de computação. Inclui estudo de processos algorítmicos e desenvolvimento de hardware e software . Possui aspectos científicos, de engenharia, matemáticos, tecnológicos e sociais. Principais campos de computação incluem engenharia da computação , ciência da computação , segurança cibernética , ciência de dados , sistemas de informação , tecnologia da informação e engenharia de software .
concatenação
Na teoria da linguagem formal e na programação de computadores , a concatenação de strings é a operação de juntar strings de caracteres ponta a ponta . Por exemplo, a concatenação de "neve" e "bola" é "bola de neve". Em certas formalizações da teoria da concatenação , também chamada de teoria das cordas, a concatenação de cordas é uma noção primitiva .
Simultaneidade
A capacidade de diferentes partes ou unidades de um programa, algoritmo ou problema serem executados fora de ordem ou em ordem parcial, sem afetar o resultado final. Isso permite a execução paralela das unidades simultâneas, o que pode melhorar significativamente a velocidade geral da execução em sistemas com vários processadores e vários núcleos. Em termos mais técnicos, a simultaneidade se refere à propriedade de decomposição de um programa, algoritmo ou problema em componentes ou unidades independentes ou parcialmente ordenadas.
condicional

Também declaração condicional , expressão condicional e construção condicional .

Um recurso de uma linguagem de programação que realiza diferentes cálculos ou ações dependendo se uma condição booleana especificada pelo programador é avaliada como verdadeira ou falsa. Exceto no caso de predicação de ramo , isso sempre é obtido alterando seletivamente o fluxo de controle com base em alguma condição.
recipiente
É uma classe , uma estrutura de dados ou um tipo abstrato de dados (ADT) cujas instâncias são coleções de outros objetos. Em outras palavras, eles armazenam objetos de forma organizada que segue regras de acesso específicas. O tamanho do contêiner depende do número de objetos (elementos) que ele contém. Implementações subjacentes (herdadas) de vários tipos de contêiner podem variar em tamanho e complexidade e fornecem flexibilidade na escolha da implementação certa para qualquer cenário.
estilo de passagem de continuação (CPS)
Um estilo de programação funcional em que o controle é passado explicitamente na forma de uma continuação . Isso é contrastado com o estilo direto , que é o estilo usual de programação. Gerald Jay Sussman e Guy L. Steele, Jr. cunharam a frase em AI Memo 349 (1975), que apresenta a primeira versão da linguagem de programação Scheme .
controle de fluxo

Também fluxo de controle .

A ordem na qual as declarações individuais , instruções ou chamadas de função de um programa imperativo são executadas ou avaliadas. A ênfase no fluxo de controle explícito distingue uma linguagem de programação imperativa de uma linguagem de programação declarativa .
Creative Commons (CC)
Uma organização americana sem fins lucrativos que se dedica a expandir a gama de trabalhos criativos disponíveis para outros construir legalmente e compartilhar. A organização lançou vários direitos de autor - licenças , conhecidos como licenças Creative Commons , de forma gratuita para o público.
criptografia
Ou criptologia, é a prática e estudo de técnicas para comunicação segura na presença de terceiros chamados adversários . De maneira mais geral, a criptografia trata da construção e análise de protocolos que evitam que terceiros ou o público leiam mensagens privadas; vários aspectos da segurança da informação , como confidencialidade de dados , integridade de dados , autenticação e não repúdio, são fundamentais para a criptografia moderna. A criptografia moderna existe na interseção das disciplinas de matemática , ciência da computação , engenharia elétrica , ciência da comunicação e física . As aplicações de criptografia incluem comércio eletrônico , cartões de pagamento baseados em chip , moedas digitais , senhas de computador e comunicações militares .
CSV
Veja os valores separados por vírgula .
cyberbullying

Também ciberassédio ou bullying online .

Uma forma de intimidação ou assédio por meio eletrônico.
ciberespaço
Tecnologia digital ampla e interconectada .

D

demônio
Em multitarefa computador sistemas operativos , um daemon ( / d i m ən / ou / d m ən / ) é um programa de computador que é executado como um processo de fundo , em vez de estar sob o controlo directo de um utilizador interactivo. Tradicionalmente, os nomes de processo de um daemon terminam com a letra d , para esclarecimento de que o processo é na verdade um daemon e para a diferenciação entre um daemon e um programa de computador normal. Por exemplo, syslogd é um daemon que implementa o recurso de registro do sistema e sshd é um daemon que serve conexões SSH de entrada .
Centro de dados

Também data center .

Um espaço dedicado usado para hospedar sistemas de computador e componentes associados, como telecomunicações e sistemas de armazenamento de dados . Geralmente inclui componentes redundantes ou de backup e infraestrutura para fornecimento de energia , conexões de comunicação de dados, controles ambientais (por exemplo, ar condicionado e supressão de incêndio) e vários dispositivos de segurança.
base de dados
Uma coleção organizada de dados , geralmente armazenados e acessados ​​eletronicamente a partir de um sistema de computador. Onde os bancos de dados são mais complexos, eles geralmente são desenvolvidos usando técnicas formais de design e modelagem.
mineração de dados
É um processo de descoberta de padrões em grandes conjuntos de dados envolvendo métodos na interseção de aprendizado de máquina , estatísticas e sistemas de banco de dados . A mineração de dados é um subcampo interdisciplinar da ciência da computação e estatística com o objetivo geral de extrair informações (com métodos inteligentes) de um conjunto de dados e transformar as informações em uma estrutura compreensível para uso posterior. A mineração de dados é a etapa de análise do processo de "descoberta de conhecimento em bancos de dados", ou KDD. Além da etapa de análise bruta, também envolve aspectos de gerenciamento de banco de dados e dados , pré-processamento de dados , modelo e considerações de inferência , métricas de interesse, considerações de complexidade , pós-processamento de estruturas descobertas, visualização e atualização online .
ciência de dados
Um campo interdisciplinar que usa métodos científicos, processos, algoritmos e sistemas para extrair conhecimento e percepções de dados em várias formas, estruturadas e não estruturadas, semelhantes à mineração de dados . Ciência de dados é um "conceito para unificar estatísticas, análise de dados, aprendizado de máquina e seus métodos relacionados" para "compreender e analisar fenômenos reais" com dados. Ele emprega técnicas e teorias extraídas de muitos campos dentro do contexto da matemática, estatística, ciência da informação e ciência da computação .
estrutura de dados
Um formato de organização, gerenciamento e armazenamento de dados que permite acesso e modificação eficientes . Mais precisamente, uma estrutura de dados é uma coleção de valores de dados, os relacionamentos entre eles e as funções ou operações que podem ser aplicadas aos dados.
tipo de dados

Simplesmente digite .

Um atributo de dados que informa ao compilador ou intérprete como o programador pretende usar os dados. A maioria das linguagens de programação oferece suporte a tipos de dados comuns reais , inteiros e booleanos . Um tipo de dados restringe os valores que uma expressão , como uma variável ou uma função , pode assumir. Este tipo de dados define as operações que podem ser feitas nos dados, o significado dos dados e a maneira como os valores desse tipo podem ser armazenados. Um tipo de valor do qual uma expressão pode obter seu valor.
depuração
O processo de localização e resolução de defeitos ou problemas em um programa de computador que impedem a operação correta do software ou do sistema como um todo. Depuração táticas podem envolver depuração interativa, fluxo de controle de análise, testes unitários , testes de integração , análise do arquivo de log , monitoramento na aplicação ou sistema nível, despejos de memória , e profiling .
declaração
Na programação de computadores , uma construção de linguagem que especifica as propriedades de um identificador : declara o que uma palavra (identificador) "significa". As declarações são mais comumente usadas para funções , variáveis , constantes e classes , mas também podem ser usadas para outras entidades, como enumerações e definições de tipo. Além do nome (o próprio identificador) e o tipo de entidade (função, variável, etc.), as declarações normalmente especificam o tipo de dados (para variáveis ​​e constantes) ou a assinatura do tipo (para funções); os tipos também podem incluir dimensões, como para matrizes. Uma declaração é usada para anunciar a existência da entidade ao compilador ; isso é importante naquelas linguagens fortemente tipadas que requerem funções, variáveis ​​e constantes, e seus tipos, a serem especificados com uma declaração antes do uso, e é usado na declaração de encaminhamento . O termo "declaração" é frequentemente contrastado com o termo "definição", mas o significado e o uso variam significativamente entre os idiomas.
dados digitais
Na teoria da informação e nos sistemas de informação , a representação discreta e descontínua de informações ou obras. Números e letras são representações comumente usadas.
processamento de sinal digital ( DSP )
O uso de processamento digital , como por computadores ou processadores de sinais digitais mais especializados , para realizar uma ampla variedade de operações de processamento de sinais . Os sinais processados ​​dessa maneira são uma sequência de números que representam amostras de uma variável contínua em um domínio como tempo, espaço ou frequência.
simulação de eventos discretos ( DES )
Um modelo da operação de um sistema como uma sequência discreta de eventos no tempo. Cada evento ocorre em um determinado instante no tempo e marca uma mudança de estado no sistema. Entre eventos consecutivos, não se presume que ocorra nenhuma mudança no sistema; assim, a simulação pode pular diretamente no tempo de um evento para o próximo.
armazenamento em disco
(Às vezes também chamado de armazenamento de unidade) é uma categoria geral de mecanismos de armazenamento em que os dados são registrados por várias alterações eletrônicas, magnéticas, ópticas ou mecânicas em uma camada de superfície de um ou mais discos rotativos. Uma unidade de disco é um dispositivo que implementa esse mecanismo de armazenamento. Os tipos notáveis ​​são a unidade de disco rígido (HDD) contendo um disco não removível, a unidade de disquete (FDD) e seu disquete removível e várias unidades de disco óptico (ODD) e mídia de disco óptico associada .
computação distribuída
Um campo da ciência da computação que estuda sistemas distribuídos. Um sistema distribuído é um sistema cujos componentes estão localizados em diferentes computadores em rede , que se comunicam e coordenam suas ações passando mensagens uns para os outros. Os componentes interagem entre si para atingir um objetivo comum. Três características significativas de sistemas distribuídos são: simultaneidade de componentes, falta de um relógio global e falha independente de componentes. Exemplos de sistemas distribuídos variar de sistemas baseados em SOA para jogos multiplayer on-line para aplicações peer-to-peer .
algoritmo de divisão e conquista
Um paradigma de projeto de algoritmo baseado em recursão multi-ramificada . Um algoritmo de divisão e conquista funciona dividindo recursivamente um problema em dois ou mais subproblemas do mesmo tipo ou de tipo relacionado, até que se tornem simples o suficiente para serem resolvidos diretamente. As soluções para os subproblemas são então combinadas para fornecer uma solução para o problema original.
DNS
Consulte Sistema de nomes de domínio .
documentação
Texto escrito ou ilustração que acompanha o software de computador ou está incorporado no código-fonte . Ele explica como funciona ou como usá-lo e pode significar coisas diferentes para pessoas em funções diferentes.
domínio
É a área de interesse de um programa de computador . É um termo usado na engenharia de software . Formalmente, ele representa o assunto alvo de um projeto de programação específico, seja definido de forma restrita ou ampla.
Sistema de Nome de Domínio (DNS)
Um sistema de nomenclatura hierárquico e descentralizado para computadores, serviços ou outros recursos conectados à Internet ou a uma rede privada. Ele associa várias informações a nomes de domínio atribuídos a cada uma das entidades participantes. Mais proeminentemente, ele traduz nomes de domínio memorizados mais facilmente em endereços IP numéricos necessários para localizar e identificar serviços e dispositivos de computador com os protocolos de rede subjacentes . Ao fornecer um serviço de diretório distribuído em todo o mundo, o Sistema de Nomes de Domínio tem sido um componente essencial da funcionalidade da Internet desde 1985.
formato de ponto flutuante de precisão dupla
Um formato de número de computador . Ele representa uma ampla faixa dinâmica de valores numéricos usando um ponto base flutuante .
download
Em redes de computadores , para receber dados de um sistema remoto, normalmente um servidor como um servidor web , um servidor FTP , um servidor de e - mail ou outros sistemas semelhantes. Isso contrasta com o upload , onde os dados são enviados para um servidor remoto. Um download é um arquivo oferecido para download ou que foi baixado, ou o processo de recebimento de tal arquivo.

E

dispositivo de ponta
Um dispositivo que fornece um ponto de entrada nas redes centrais da empresa ou do provedor de serviços. Os exemplos incluem roteadores , switches de roteamento , dispositivos de acesso integrado (IADs), multiplexadores e uma variedade de dispositivos de acesso de rede metropolitana (MAN) e rede de longa distância (WAN). Dispositivos de borda também fornecem conexões em redes de operadoras e provedores de serviços. Um dispositivo de borda que conecta uma rede local a um switch ou backbone de alta velocidade (como um switch ATM) pode ser chamado de concentrador de borda.
criptografia
Na criptografia , a criptografia é o processo de codificação de informações. Esse processo converte a representação original da informação, conhecida como texto simples , em uma forma alternativa conhecida como texto cifrado . Idealmente, apenas partes autorizadas podem decifrar um texto cifrado em texto simples e acessar as informações originais. A criptografia não evita a interferência, mas nega o conteúdo inteligível a um suposto interceptador. Por razões técnicas, um esquema de criptografia geralmente usa uma chave de criptografia pseudo-aleatória gerada por um algoritmo . É possível descriptografar a mensagem sem possuir a chave, mas, para um esquema de criptografia bem projetado, recursos computacionais consideráveis ​​e habilidades são necessários. Um destinatário autorizado pode descriptografar facilmente a mensagem com a chave fornecida pelo originador aos destinatários, mas não a usuários não autorizados. Historicamente, várias formas de criptografia têm sido usadas para auxiliar na criptografia. As primeiras técnicas de criptografia eram frequentemente utilizadas em mensagens militares. Desde então, novas técnicas surgiram e se tornaram comuns em todas as áreas da computação moderna. Esquemas de criptografia modernos utilizam os conceitos de chave pública e de chave simétrica . As técnicas de criptografia modernas garantem a segurança porque os computadores modernos são ineficientes para quebrar a criptografia.
evento
Uma ação ou ocorrência reconhecida pelo software, geralmente originada de forma assíncrona do ambiente externo, que pode ser tratada pelo software. Uma vez que um evento é uma entidade que encapsula a acção e as variáveis contextuais provocando a acção, o acelerador acróstica " E XECUÇÃO V ariável E ncapsulating N amed T montador" é frequentemente usado para clarificar o conceito.
programação orientada a eventos
Um paradigma de programação no qual o fluxo do programa é determinado por eventos como ações do usuário ( cliques do mouse , pressionamentos de teclas), saídas de sensor ou mensagens de outros programas ou threads . A programação orientada a eventos é o paradigma dominante usado em interfaces gráficas com o usuário e outros aplicativos (por exemplo, aplicativos da Web em JavaScript ) que são centrados na execução de certas ações em resposta à entrada do usuário . Isso também é verdadeiro para a programação de drivers de dispositivos (por exemplo, P em pilhas de drivers de dispositivos USB).
computação evolucionária
Uma família de algoritmos para otimização global inspirada na evolução biológica e o subcampo de inteligência artificial e computação suave que estuda esses algoritmos. Em termos técnicos, eles são uma família de solucionadores de problemas de tentativa e erro baseados em população com um caráter de otimização estocástica ou metaheurística .
executável

Também código executável , arquivo executável , programa executável , ou simplesmente executável .

Faz com que um computador "execute as tarefas indicadas de acordo com instruções codificadas ", em oposição a um arquivo de dados que deve ser analisado por um programa para ser significativo. A interpretação exata depende do uso - enquanto "instruções" é tradicionalmente entendido como instruções de código de máquina para uma CPU física , em alguns contextos um arquivo contendo bytecode ou instruções de linguagem de script também pode ser considerado executável.
módulo executável
execução
Em engenharia de computador e software é o processo pelo qual um computador ou máquina virtual executa as instruções de um programa de computador . Cada instrução de um programa é uma descrição de uma ação particular que deve ser realizada para que um problema específico seja resolvido; como instruções de um programa e, portanto, as ações que descrevem estão sendo realizadas por uma máquina em execução, efeitos específicos são produzidos de acordo com a semântica das instruções que estão sendo executadas.
manipulação de exceção
O processo de resposta à ocorrência, durante o cálculo , de exceções - condições anômalas ou excepcionais que requerem processamento especial - freqüentemente interrompendo o fluxo normal de execução do programa . É fornecido por construções de linguagem de programação especializada , mecanismos de hardware de computador como interrupções ou recursos IPC do sistema operacional como sinais .
expressão
Em uma linguagem de programação , uma combinação de uma ou mais constantes , variáveis , operadores e funções que a linguagem de programação interpreta (de acordo com suas regras particulares de precedência e de associação) e calcula para produzir ("retornar", em um ambiente com estado ) outro valor. Este processo, assim como para as expressões matemáticas , é denominado avaliação.
biblioteca externa

F

sistema de computador tolerante a falhas
Um sistema projetado em torno do conceito de tolerância a falhas . Em essência, eles devem ser capazes de continuar trabalhando com um nível de satisfação na presença de erros ou falhas.
estudo de viabilidade
Uma investigação que visa descobrir objetiva e racionalmente os pontos fortes e fracos de um negócio existente ou empreendimento proposto, oportunidades e ameaças presentes no ambiente natural , os recursos necessários para realizar e, em última análise, as perspectivas de sucesso. Em seus termos mais simples, os dois critérios para julgar a viabilidade são o custo exigido e o valor a ser alcançado.
campo
Dados que possuem várias partes, conhecidos como registro , podem ser divididos em campos. Os bancos de dados relacionais organizam os dados como conjuntos de registros do banco de dados , chamados de linhas . Cada registro consiste em vários campos; os campos de todos os registros formam as colunas . Exemplos de campos: nome, gênero, cor do cabelo.
extensão de nome de arquivo
Um identificador especificado como sufixo para o nome de um arquivo de computador . A extensão indica uma característica do conteúdo do arquivo ou seu uso pretendido.
filtro (software)
Um programa de computador ou sub - rotina para processar um fluxo , produzindo outro fluxo. Embora um único filtro possa ser usado individualmente, eles são frequentemente ligados para formar um pipeline .
aritmética de ponto flutuante
Na computação , a aritmética de ponto flutuante (FP) é aritmética usando a representação de fórmulas de números reais como uma aproximação para oferecer suporte a uma compensação entre intervalo e precisão. Por esta razão, a computação de ponto flutuante é freqüentemente encontrada em sistemas que incluem números reais muito pequenos e muito grandes, que requerem tempos de processamento rápidos. Um número é, em geral, representado aproximadamente por um número fixo de dígitos significativos (o significando ) e escalado usando um expoente em alguma base fixa; a base para a escala é normalmente dois, dez ou dezesseis. Um número que pode ser representado exatamente tem o seguinte formato:
onde significando é um inteiro , a base é um inteiro maior ou igual a dois e o expoente também é um inteiro. Por exemplo:
para loop

Também for-loop .

Uma instrução de fluxo de controle para especificar a iteração , que permite que o código seja executado repetidamente. Várias palavras-chave são usadas para especificar esta declaração: descendentes de ALGOL usam "for", enquanto descendentes de Fortran usam "do". Existem também outras possibilidades, por exemplo, o COBOL usa "PERFORM VARYING".
métodos formais
Um conjunto de técnicas baseadas em matemática para a especificação , desenvolvimento e verificação de sistemas de software e hardware . O uso de métodos formais para projetos de software e hardware é motivado pela expectativa de que, como em outras disciplinas da engenharia, a realização de análises matemáticas adequadas pode contribuir para a confiabilidade e robustez de um projeto.
verificação formal
O ato de provar ou refutar a correção dos algoritmos pretendidos subjacentes a um sistema com relação a uma determinada especificação formal ou propriedade, usando métodos formais de matemática.
programação funcional
Um paradigma de programação - um estilo de construir a estrutura e os elementos de programas de computador - que trata a computação como a avaliação de funções matemáticas e evita dados mutáveis e de estado mutável . É um paradigma de programação declarativo em que a programação é feita com expressões ou declarações em vez de instruções .

G

teoria do jogo
O estudo de modelos matemáticos de interação estratégica entre tomadores de decisão racionais. Tem aplicações em todos os campos das ciências sociais , bem como na lógica e na ciência da computação . Originalmente, tratava de jogos de soma zero , nos quais os ganhos ou perdas de cada participante eram exatamente equilibrados pelos dos outros participantes. Hoje, a teoria dos jogos se aplica a uma ampla gama de relações comportamentais e agora é um termo abrangente para a ciência da tomada de decisão lógica em humanos, animais e computadores.
entra lixo, sai lixo (GIGO)
Um termo usado para descrever o conceito de que dados de entrada falhos ou sem sentido produzem saída sem sentido ou "lixo". Também pode se referir à natureza implacável da programação , na qual um programa mal escrito pode produzir um comportamento sem sentido.
Formato de intercâmbio de gráficos
gigabyte
Um múltiplo do byte da unidade para informações digitais. O prefixo giga significa 10 9 no Sistema Internacional de Unidades (SI). Portanto, um gigabytes é 1 000 000 000 bytes . O símbolo da unidade para o gigabyte é GB.
variável global
Na programação de computadores , uma variável com escopo global , o que significa que é visível (portanto, acessível) em todo o programa, a menos que esteja sombreada . O conjunto de todas as variáveis ​​globais é conhecido como ambiente global ou estado global . Em linguagens compiladas, as variáveis ​​globais são geralmente variáveis ​​estáticas , cuja extensão (tempo de vida) é todo o tempo de execução do programa, embora em linguagens interpretadas (incluindo interpretadores de linha de comando ), as variáveis ​​globais são geralmente alocadas dinamicamente quando declaradas, uma vez que não são conhecidas antes do tempo.
teoria dos grafos
Em matemática, o estudo de gráficos , que são estruturas matemáticas usadas para modelar relações de pares entre objetos. Um gráfico, neste contexto, é composto de vértices (também chamados de nós ou pontos ) que são conectados por arestas (também chamados de links ou linhas ). Uma distinção é feita entre grafos não direcionados, onde as arestas ligam dois vértices simetricamente, e grafos direcionados, onde as arestas ligam dois vértices assimetricamente.

H

lidar
Na programação de computadores , um identificador é uma referência abstrata a um recurso que é usado quando o software aplicativo faz referência a blocos de memória ou objetos que são gerenciados por outro sistema, como um banco de dados ou um sistema operacional .
problema difícil
A teoria da complexidade computacional se concentra em classificar problemas computacionais de acordo com sua dificuldade inerente e relacionar essas classes entre si. Um problema computacional é uma tarefa resolvida por um computador. Um problema de computação pode ser resolvido pela aplicação mecânica de etapas matemáticas, como um algoritmo.
função hash
Qualquer função que pode ser usada para mapear dados de tamanho arbitrário para dados de tamanho fixo. Os valores devolvidos por uma função hash são chamados valores de hash , códigos de hash , digere , ou simplesmente hash . As funções de hash são frequentemente usadas em combinação com uma tabela de hash , uma estrutura de dados comum usada em software de computador para pesquisa rápida de dados. As funções de hash aceleram a consulta de tabela ou banco de dados, detectando registros duplicados em um arquivo grande.
mesa de hash
Na computação , uma tabela hash ( mapa hash ) é uma estrutura de dados que implementa um tipo de dados abstratos de matriz associativa , uma estrutura que pode mapear chaves para valores . Uma tabela hash usa uma função hash para calcular um índice em uma matriz de buckets ou slots , a partir dos quais o valor desejado pode ser encontrado.
amontoar
Uma estrutura de dados baseada em árvore especializada que é essencialmente uma árvore quase completa que satisfaz a propriedade heap: se P é um pai de C, então a chave (o valor ) de P é maior ou igual a (em um heap máximo ) ou menor ou igual a (em uma pilha mínima ) a chave de C. O nó no "topo" da pilha (sem pais) é chamado de nó raiz .
heapsort
Um algoritmo de classificação baseado em comparação . O Heapsort pode ser considerado uma classificação de seleção aprimorada : como aquele algoritmo, ele divide sua entrada em uma região classificada e uma não classificada e encolhe iterativamente a região não classificada, extraindo o maior elemento e movendo-o para a região classificada. A melhoria consiste no uso de uma estrutura de dados heap em vez de uma pesquisa linear para encontrar o máximo.
interação humano-computador (HCI)
Pesquisa o design e o uso da tecnologia computacional, com foco nas interfaces entre pessoas ( usuários ) e computadores. Os pesquisadores da área de IHC observam as maneiras como os humanos interagem com os computadores e projetam tecnologias que permitem aos humanos interagir com os computadores de novas maneiras. Como um campo de pesquisa, a interação humano-computador está situada na interseção da ciência da computação , ciências comportamentais , design , estudos de mídia e vários outros campos de estudo .

eu

identificador
Em linguagens de computador , identificadores são tokens (também chamados de símbolos ) que nomeiam entidades de linguagem. Alguns dos tipos de entidades que um identificador pode denotar incluem variáveis , tipos , rótulos , sub-rotinas e pacotes .
IDE
Ambiente de desenvolvimento integrado.
processamento de imagem
programação imperativa
Um paradigma de programação que usa instruções que alteram o estado de um programa . Da mesma forma que o modo imperativo em linguagens naturais expressa comandos, um programa imperativo consiste em comandos para serem executados pelo computador. A programação imperativa se concentra em descrever como um programa opera.
modelo de construção incremental
Um método de desenvolvimento de software onde o produto é projetado , implementado e testado de forma incremental (um pouco mais é adicionado a cada vez) até que o produto seja concluído. Envolve desenvolvimento e manutenção. O produto é definido como acabado quando satisfaz todos os seus requisitos. Este modelo combina os elementos do modelo em cascata com a filosofia iterativa de prototipagem .
análise do espaço de informação
Um método determinístico, aprimorado pela inteligência da máquina , para localizar e avaliar recursos para esforços centrados na equipe.
visualização de informação
herança
Na programação orientada a objetos , o mecanismo de basear um objeto ou classe em outro objeto ( herança baseada em protótipo ) ou classe ( herança baseada em classe ), mantendo uma implementação semelhante. Também definido como derivando novas classes ( subclasses ) de outras existentes (superclasse ou classe base ) e formando-as em uma hierarquia de classes.
entrada / saída (I / O)

Também informalmente io ou IO .

A comunicação entre um sistema de processamento de informações , como um computador , e o mundo externo, possivelmente um ser humano ou outro sistema de processamento de informações . As entradas são os sinais ou dados recebidos pelo sistema e as saídas são os sinais ou dados enviados por ele. O termo também pode ser usado como parte de uma ação; "realizar E / S" é realizar uma operação de entrada ou saída .
classificação de inserção
Um algoritmo de classificação simples que constrói a matriz final classificada (ou lista), um item de cada vez.
ciclo de instrução

Também ciclo de busca-decodificação-execução ou simplesmente ciclo de busca-execução .

O ciclo que a unidade central de processamento (CPU) segue desde a inicialização até o computador ser desligado para processar as instruções. É composto de três estágios principais: o estágio de busca, o estágio de decodificação e o estágio de execução.
inteiro
Um dado do tipo de dados integral, um tipo de dados que representa algum intervalo de inteiros matemáticos . Os tipos de dados integrais podem ter tamanhos diferentes e podem ou não conter valores negativos. Os inteiros são comumente representados em um computador como um grupo de dígitos binários (bits). O tamanho do agrupamento varia, portanto, o conjunto de tamanhos inteiros disponíveis varia entre os diferentes tipos de computadores. Hardware de computador, incluindo máquinas virtuais , quase sempre fornece uma maneira de representar um registro de processador ou endereço de memória como um número inteiro.
ambiente de desenvolvimento integrado (IDE)
Um aplicativo de software que fornece recursos abrangentes aos programadores de computador para o desenvolvimento de software . Um IDE normalmente consiste em pelo menos um editor de código-fonte , ferramentas de automação de compilação e um depurador .
teste de integração
(às vezes chamado de integração e teste, abreviado I&T) é a fase de teste de software em que módulos de software individuais são combinados e testados como um grupo. O teste de integração é conduzido para avaliar a conformidade de um sistema ou componente com os requisitos funcionais especificados . Ocorre após o teste de unidade e antes do teste de validação . O teste de integração toma como seus módulos de entrada que foram testados por unidade, agrupa-os em agregados maiores, aplica testes definidos em um plano de teste de integração a esses agregados e entrega como sua saída o sistema integrado pronto para o teste do sistema .
propriedade intelectual (IP)
Uma categoria de propriedade legal que inclui criações intangíveis do intelecto humano. Existem muitos tipos de propriedade intelectual e alguns países reconhecem mais do que outros. Os tipos mais conhecidos são direitos autorais , patentes , marcas registradas e segredos comerciais .
agente inteligente
Na inteligência artificial , um agente inteligente ( IA ) refere-se a uma entidade autônoma que atua, direcionando sua atividade para o alcance de objetivos (ou seja, é um agente ), sobre um ambiente utilizando a observação por meio de sensores e consequentes atuadores (ou seja, é inteligente). Os agentes inteligentes também podem aprender ou usar o conhecimento para atingir seus objetivos. Eles podem ser muito simples ou muito complexos . Uma máquina reflexiva, como um termostato , é considerada um exemplo de agente inteligente.
interface
Uma fronteira compartilhada através da qual dois ou mais componentes separados de um sistema de computador trocam informações. A troca pode ser entre software , hardware de computador , dispositivos periféricos , humanos e combinações destes. Alguns dispositivos de hardware de computador, como uma tela sensível ao toque , podem enviar e receber dados por meio da interface, enquanto outros, como um mouse ou microfone, podem fornecer apenas uma interface para enviar dados a um determinado sistema.
documentação interna
Diz-se que o software de computador tem documentação interna se as notas sobre como e por que várias partes do código operam forem incluídas no código-fonte como comentários. Freqüentemente, é combinado com nomes de variáveis significativos com a intenção de fornecer a programadores futuros em potencial um meio de entender o funcionamento do código. Isso contrasta com a documentação externa , onde os programadores mantêm suas notas e explicações em um documento separado.
Internet
O sistema global de redes de computadores interconectadas que usam o conjunto de protocolos da Internet (TCP / IP) para conectar dispositivos em todo o mundo. É uma rede de redes que consiste em redes privadas, públicas, acadêmicas, empresariais e governamentais de âmbito local a global, conectadas por uma ampla gama de tecnologias de redes eletrônicas, sem fio e ópticas.
bot da internet

Também robô da web , robô ou simplesmente bot .

Um aplicativo de software que executa tarefas automatizadas (scripts) na Internet . Normalmente, os bots realizam tarefas que são simples e estruturalmente repetitivas, em uma taxa muito mais alta do que seria possível para um ser humano sozinho. O maior uso de bots é em web spidering ( web crawler ), no qual um script automatizado busca, analisa e arquiva informações de servidores da web em muitas vezes a velocidade de um ser humano .
intérprete
Um programa de computador que executa diretamente instruções escritas em uma linguagem de programação ou script , sem exigir que elas tenham sido previamente compiladas em um programa de linguagem de máquina .
invariante
Pode-se encontrar invariantes que podem ser considerados verdadeiros durante a execução de um programa, ou durante alguma parte dele. É uma afirmação lógica que sempre é considerada verdadeira durante uma certa fase de execução. Por exemplo, uma invariante de loop é uma condição verdadeira no início e no final de cada execução de um loop.
iteração
É a repetição de um processo para gerar um resultado. A sequência se aproximará de algum ponto final ou valor final. Cada repetição do processo é uma iteração única e o resultado de cada iteração é então o ponto de partida da próxima iteração. Em matemática e ciência da computação , a iteração (junto com a técnica relacionada de recursão ) é um elemento padrão dos algoritmos .

J

Java
Uma linguagem de programação de propósito geral que é baseada em classes , orientada a objetos (embora não seja uma linguagem OO pura ) e projetada para ter o mínimo possível de dependências de implementação . O objetivo é permitir que os desenvolvedores de aplicativos " escrevam uma vez, executem em qualquer lugar " (WORA), o que significa que o código Java compilado pode ser executado em todas as plataformas que suportam Java sem a necessidade de recompilação.

K

núcleo
A primeira seção de um sistema operacional a ser carregada na memória . Como o centro do sistema operacional, o kernel precisa ser pequeno, eficiente e carregado em uma área protegida na memória para que não possa ser sobrescrito. Ele pode ser responsável por tarefas essenciais como gerenciamento de unidade de disco, gerenciamento de arquivos, gerenciamento de memória, gerenciamento de processos, etc.

eu

biblioteca (computação)
Uma coleção de recursos não voláteis usados ​​por programas de computador , geralmente para desenvolvimento de software . Isso pode incluir dados de configuração, documentação, dados de ajuda, modelos de mensagem, código pré-escrito e sub - rotinas , classes , valores ou especificações de tipo .

Também pesquisa sequencial .

Um método para localizar um elemento em uma lista . Ele verifica sequencialmente cada elemento da lista até que uma correspondência seja encontrada ou toda a lista tenha sido pesquisada.
lista ligada
Uma coleção linear de elementos de dados, cuja ordem não é dada por sua colocação física na memória. Em vez disso, cada elemento aponta para o próximo. É uma estrutura de dados que consiste em uma coleção de nós que juntos representam uma sequência .
vinculador
ou editor de link, é um programa utilitário de computador que pega um ou mais arquivos-objeto gerados por um compilador ou montador e os combina em um único arquivo executável , arquivo de biblioteca ou outro arquivo 'objeto'. Uma versão mais simples que grava sua saída diretamente na memória é chamada de carregador , embora o carregamento seja normalmente considerado um processo separado.
Lista
Um tipo de dado abstrato que representa um número contável de valores ordenados , onde o mesmo valor pode ocorrer mais de uma vez. Uma instância de uma lista é uma representação de computador do conceito matemático de uma sequência finita ; o análogo (potencialmente) infinito de uma lista é um fluxo . As listas são um exemplo básico de contêineres , pois contêm outros valores. Se o mesmo valor ocorrer várias vezes, cada ocorrência será considerada um item distinto.
carregador
A parte de um sistema operacional responsável por carregar programas e bibliotecas . É uma das etapas essenciais no processo de inicialização de um programa, pois os coloca na memória e os prepara para execução. O carregamento de um programa envolve a leitura do conteúdo do arquivo executável que contém as instruções do programa na memória e, em seguida, a execução de outras tarefas preparatórias necessárias para preparar o executável para execução. Quando o carregamento estiver concluído, o sistema operacional inicia o programa passando o controle para o código do programa carregado.
erro lógico
Na programação de computadores , um bug em um programa que faz com que ele funcione incorretamente, mas não seja encerrado de forma anormal (ou travado ). Um erro lógico produz uma saída não intencional ou indesejada ou outro comportamento, embora possa não ser imediatamente reconhecido como tal.
programação lógica
Um tipo de paradigma de programação amplamente baseado na lógica formal . Qualquer programa escrito em uma linguagem de programação lógica é um conjunto de sentenças na forma lógica, expressando fatos e regras sobre algum domínio do problema. As principais famílias de linguagens de programação lógica incluem Prolog , answer set programming (ASP) e Datalog .

M

aprendizado de máquina (ML)
O estudo científico de algoritmos e modelos estatísticos que os sistemas de computador usam para realizar uma tarefa específica sem usar instruções explícitas, baseando-se em padrões e inferência . É visto como um subconjunto da inteligência artificial . Algoritmos de aprendizado de máquina constroem um modelo matemático baseado em dados amostrais, conhecidos como “ dados de treinamento ”, a fim de fazer previsões ou decisões sem serem explicitamente programados para realizar a tarefa.
visão de máquina (MV)
A tecnologia e os métodos usados ​​para fornecer inspeção e análise automáticas baseadas em imagem para aplicações como inspeção automática, controle de processo e orientação de robô, geralmente na indústria. Visão de máquina refere-se a muitas tecnologias, produtos de software e hardware, sistemas integrados, ações, métodos e conhecimentos. A visão de máquina como uma disciplina da engenharia de sistemas pode ser considerada distinta da visão por computador , uma forma de ciência da computação . Ele tenta integrar tecnologias existentes de novas maneiras e aplicá-las para resolver problemas do mundo real. O termo é o predominante para essas funções em ambientes de automação industrial, mas também é usado para essas funções em outros ambientes, como segurança e orientação de veículos.
lógica matemática
Um subcampo da matemática que explora as aplicações da lógica formal à matemática. Ele tem conexões estreitas com a metamatemática , os fundamentos da matemática e a ciência da computação teórica . Os temas unificadores em lógica matemática incluem o estudo do poder expressivo dos sistemas formais e o poder dedutivo dos sistemas de prova formal .
matriz
Em matemática , uma matriz (matrizes plurais) é uma matriz retangular (consulte a matriz irregular ) de números , símbolos ou expressões , organizados em linhas e colunas .
memória
O armazenamento de dados de computador, freqüentemente chamado de armazenamento, é uma tecnologia que consiste em componentes de computador e mídia de gravação que são usados ​​para reter dados digitais . É uma função central e um componente fundamental dos computadores.
mesclar classificação

Também mergesort .

Um algoritmo de classificação eficiente, de uso geral e baseado em comparação . A maioria das implementações produz uma classificação estável , o que significa que a ordem dos elementos iguais é a mesma na entrada e na saída. A classificação de mesclagem é um algoritmo de divisão e conquista que foi inventado por John von Neumann em 1945. Uma descrição e análise detalhadas de mergesort de baixo para cima apareceu em um relatório de Goldstine e von Neumann já em 1948.
método
Na programação orientada a objetos (OOP), um procedimento associado a uma mensagem e a um objeto . Um objeto consiste em dados e comportamento. Os dados e o comportamento compreendem uma interface, que especifica como o objeto pode ser utilizado por qualquer um dos vários consumidores do objeto.
metodologia
Na engenharia de software , um processo de desenvolvimento de software é o processo de dividir o trabalho de desenvolvimento de software em fases distintas para melhorar o design , o gerenciamento de produtos e o gerenciamento de projetos . É também conhecido como ciclo de vida de desenvolvimento de software (SDLC). A metodologia pode incluir a pré-definição de entregas e artefatos específicos que são criados e concluídos por uma equipe de projeto para desenvolver ou manter um aplicativo.
modem

Portmanteau do modulador-demodulador .

Um dispositivo de hardware que converte dados em um formato adequado para um meio de transmissão para que possam ser transmitidos de um computador para outro (historicamente ao longo de fios telefônicos). Um modem modula um ou mais sinais de onda portadora para codificar informações digitais para transmissão e demodula sinais para decodificar as informações transmitidas. O objetivo é produzir um sinal que possa ser transmitido facilmente e decodificado de forma confiável para reproduzir os dados digitais originais. Os modems podem ser usados ​​com quase todos os meios de transmissão de sinais analógicos de diodos emissores de luz para o rádio . Um tipo comum de modem é aquele que transforma os dados digitais de um computador em sinal elétrico modulado para transmissão por linhas telefônicas e demodulado por outro modem no lado do receptor para recuperar os dados digitais.

N

processamento de linguagem natural (PNL)
Um subcampo da linguística , ciência da computação , engenharia da informação e inteligência artificial preocupado com as interações entre computadores e linguagens humanas (naturais), em particular como programar computadores para processar e analisar grandes quantidades de dados de linguagem natural . Os desafios no processamento de linguagem natural frequentemente envolvem reconhecimento de fala , compreensão de linguagem natural e geração de linguagem natural .
É uma unidade básica de uma estrutura de dados , como uma lista vinculada ou estrutura de dados em árvore . Os nós contêm dados e também podem se conectar a outros nós. Links entre nós são frequentemente implementados por ponteiros .
Teoria dos Números
Um ramo da matemática pura dedicado principalmente ao estudo dos inteiros e das funções com valores inteiros .
análise numérica
O estudo de algoritmos que utilizam numérica aproximação (em oposição a manipulações simbólicos ) para os problemas da análise matemática (distinguindo-se de matemática discreta ).
método numérico
Em análise numérica , um método numérico é uma ferramenta matemática projetada para resolver problemas numéricos. A implementação de um método numérico com uma verificação de convergência apropriada em uma linguagem de programação é chamada de algoritmo numérico.

O

objeto
Um objeto pode ser uma variável , uma estrutura de dados , uma função ou um método e, como tal, é um valor na memória referenciado por um identificador . No paradigma de programação orientada a objeto baseado em classe , objeto refere-se a uma instância particular de uma classe , onde o objeto pode ser uma combinação de variáveis, funções e estruturas de dados. No gerenciamento de banco de dados relacional , um objeto pode ser uma tabela ou coluna, ou uma associação entre dados e uma entidade de banco de dados (como relacionar a idade de uma pessoa a uma pessoa específica).
código do objeto

Também módulo de objeto .

O produto de um compilador . Em um sentido geral, o código-objeto é uma sequência de declarações ou instruções em uma linguagem de computador, geralmente uma linguagem de código de máquina (ou seja, binária ) ou uma linguagem intermediária, como a linguagem de transferência de registro (RTL). O termo indica que o código é o objetivo ou resultado do processo de compilação, com algumas fontes iniciais referindo-se ao código-fonte como um "programa sujeito".
análise e design orientado a objetos (OOAD)
Uma abordagem técnica para analisar e projetar um aplicativo, sistema ou negócio aplicando programação orientada a objetos , bem como usando modelagem visual em todo o processo de desenvolvimento de software para orientar a comunicação das partes interessadas e a qualidade do produto.
programação orientada a objetos (OOP)
Um paradigma de programação baseado no conceito de " objetos ", que podem conter dados , na forma de campos (muitas vezes conhecidos como atributos ou propriedades ), e código, na forma de procedimentos (muitas vezes conhecidos como métodos ). Uma característica dos objetos são os procedimentos de um objeto que podem acessar e frequentemente modificar os campos de dados do objeto ao qual estão associados (os objetos têm uma noção de " este " ou "eu"). Na OOP, os programas de computador são projetados a partir de objetos que interagem uns com os outros. As linguagens OOP são diversas, mas as mais populares são baseadas em classes , o que significa que os objetos são instâncias de classes , que também determinam seus tipos .
software de código aberto (OSS)
Um tipo de software de computador em que o código-fonte é lançado sob uma licença na qual o detentor dos direitos autorais concede aos usuários os direitos de estudar, alterar e distribuir o software a qualquer pessoa e para qualquer propósito. O software de código aberto pode ser desenvolvido de forma pública colaborativa . O software de código aberto é um exemplo proeminente de colaboração aberta .
sistema operacional (SO)
Software de sistema que gerencia hardware de computador , recursos de software e fornece serviços comuns para programas de computador .
fibra ótica
Uma fibra flexível e transparente feita de vidro ( sílica ) ou plástico trefilado em um diâmetro ligeiramente mais espesso do que o de um fio de cabelo humano . As fibras ópticas são usadas com mais frequência como um meio de transmitir luz entre as duas extremidades da fibra e têm amplo uso em comunicações de fibra óptica , onde permitem a transmissão em distâncias mais longas e em larguras de banda (taxas de dados) maiores do que os cabos elétricos. Fibras são usadas em vez de fios de metal porque os sinais viajam ao longo deles com menos perda ; além disso, as fibras são imunes à interferência eletromagnética , um problema que afeta os fios de metal.

P

programação em par
Uma técnica ágil de desenvolvimento de software em que dois programadores trabalham juntos em uma estação de trabalho. Um, o driver , escreve o código enquanto o outro, o observador ou navegador , revisa cada linha do código à medida que é digitada. Os dois programadores trocam de função com frequência.
computação paralela
Um tipo de cálculo em que muitos cálculos ou a execução de processos são realizados simultaneamente. Muitas vezes, problemas grandes podem ser divididos em problemas menores, que podem ser resolvidos ao mesmo tempo. Existem várias formas diferentes de computação paralela: nível bit , em nível de instrução , dados e paralelismo de tarefas .
parâmetro

Também argumento formal .

Em programação de computador , um tipo especial de variável , usado em uma sub - rotina para se referir a um dos dados fornecidos como entrada para a sub-rotina. Essas partes de dados são os valores dos argumentos (freqüentemente chamados de argumentos reais ou parâmetros reais ) com os quais a sub-rotina será chamada / invocada. Uma lista ordenada de parâmetros é geralmente incluída na definição de uma sub-rotina , de modo que, cada vez que a sub-rotina é chamada, seus argumentos para essa chamada são avaliados e os valores resultantes podem ser atribuídos aos parâmetros correspondentes.
periférico
Qualquer dispositivo auxiliar ou auxiliar conectado ou integrado em um sistema de computador e usado para enviar ou recuperar informações do computador. Um dispositivo de entrada envia dados ou instruções ao computador; um dispositivo de saída fornece saída do computador para o usuário; e um dispositivo de entrada / saída executa ambas as funções.
ponteiro
É um objeto em muitas linguagens de programação que armazena um endereço de memória . Isso pode ser aquele de outro valor localizado na memória do computador ou, em alguns casos, aquele de hardware de computador mapeado na memória . Um ponteiro faz referência a um local na memória e obter o valor armazenado naquele local é conhecido como desreferenciamento do ponteiro. Como analogia, um número de página no índice de um livro pode ser considerado um ponteiro para a página correspondente; a desreferenciação de tal ponteiro seria feita virando-se para a página com o número de página fornecido e lendo o texto encontrado nessa página. O formato e o conteúdo reais de uma variável de ponteiro dependem da arquitetura do computador subjacente .
pós-condição
Na programação de computadores , uma condição ou predicado que deve sempre ser verdadeiro logo após a execução de alguma seção do código ou após uma operação em uma especificação formal . As pós-condições às vezes são testadas usando asserções dentro do próprio código. Freqüentemente, as pós-condições são simplesmente incluídas na documentação da seção de código afetada.
condição prévia
Na programação de computadores , uma condição ou predicado que deve sempre ser verdadeiro imediatamente antes da execução de alguma seção do código ou antes de uma operação em uma especificação formal . Se uma pré-condição for violada, o efeito da seção do código torna - se indefinido e, portanto, pode ou não realizar o trabalho pretendido. Podem surgir problemas de segurança devido a pré-condições incorretas.
armazenamento primario
(Também conhecida como memória principal , memória interna ou memória primária ), muitas vezes referida simplesmente como memória , é a única diretamente acessível à CPU. A CPU lê continuamente as instruções armazenadas e as executa conforme necessário. Quaisquer dados operados ativamente também são armazenados lá de maneira uniforme.
tipo de dados primitivo
Fila de prioridade
Um tipo de dado abstrato que é como uma fila regular ou estrutura de pilha de dados, mas onde adicionalmente cada elemento tem uma "prioridade" associada a ele. Em uma fila de prioridade, um elemento com alta prioridade é servido antes de um elemento com baixa prioridade. Em algumas implementações, se dois elementos têm a mesma prioridade, eles são servidos de acordo com a ordem em que foram enfileirados, enquanto em outras implementações, a ordem dos elementos com a mesma prioridade é indefinida.
programação procedural
procedimento
Na programação de computadores , uma sub-rotina é uma sequência de instruções do programa que executa uma tarefa específica, empacotada como uma unidade. Esta unidade pode então ser usada em programas onde quer que uma tarefa particular deva ser executada. As sub-rotinas podem ser definidas em programas ou separadamente em bibliotecas que podem ser usadas por muitos programas. Em diferentes linguagens de programação, uma sub-rotina pode ser chamada de rotina, subprograma, função, método ou procedimento. Tecnicamente, todos esses termos têm definições diferentes. O termo genérico e abrangente unidade chamável é algumas vezes usado.
fase do ciclo de vida do programa
As fases do ciclo de vida do programa são os estágios pelos quais um programa de computador passa, desde a criação inicial até a implantação e execução . As fases são tempo de edição, tempo de compilação, tempo de link, tempo de distribuição, tempo de instalação, tempo de carregamento e tempo de execução.
linguagem de programação
Uma linguagem formal , que compreende um conjunto de instruções que produzem vários tipos de saída . Linguagens de programação são usadas na programação de computadores para implementar algoritmos .
implementação de linguagem de programação
É um sistema para execução de programas de computador . Existem duas abordagens gerais para a implementação da linguagem de programação: interpretação e compilação .
teoria da linguagem de programação
(PLT) é um ramo da ciência da computação que lida com o design, implementação, análise, caracterização e classificação de linguagens de programação e de seus recursos individuais . Ela se enquadra na disciplina de ciência da computação, dependendo e afetando matemática , engenharia de software , linguística e até mesmo ciências cognitivas . Tornou-se um ramo bem conhecido da ciência da computação e uma área de pesquisa ativa, com resultados publicados em várias revistas dedicadas à PLT, bem como em publicações de ciência da computação e engenharia em geral.
Prolog
É uma linguagem de programação lógica associada à inteligência artificial e linguística computacional . Prolog tem suas raízes na lógica de primeira ordem , uma lógica formal , e ao contrário de muitas outras linguagens de programação , Prolog é planejado principalmente como uma linguagem de programação declarativa : a lógica do programa é expressa em termos de relações , representadas como fatos e regras . Um cálculo é iniciado executando uma consulta sobre essas relações.
Pitão
É uma interpretado , de alto nível e de propósito geral linguagem de programação . Criado por Guido van Rossum e lançado pela primeira vez em 1991, a filosofia de design do Python enfatiza a legibilidade do código com seu uso notável de espaços em branco significativos . Suas construções de linguagem e abordagem orientada a objetos visam ajudar os programadores a escrever código claro e lógico para projetos de pequena e grande escala.

Q

Computação quântica
O uso de fenômenos da mecânica quântica , como superposição e emaranhamento, para realizar cálculos . Um computador quântico é usado para realizar tal computação, que pode ser implementada teoricamente ou fisicamente.
fila
Uma coleção na qual as entidades na coleção são mantidas em ordem e as principais (ou únicas) operações na coleção são a adição de entidades à posição terminal traseira, conhecida como enfileiramento , e a remoção de entidades da posição terminal frontal, conhecida como desenfileirar .
ordenação rápida

Também classificação de troca de partição .

Um algoritmo de classificação eficiente que serve como um método sistemático para colocar os elementos de um arquivo de acesso aleatório ou uma matriz em ordem.

R

Linguagem de programação R
R é uma linguagem de programação e ambiente de software livre para computação estatística e gráficos com suporte da R Foundation for Statistical Computing. A linguagem R é amplamente usada entre estatísticos e mineradores de dados para o desenvolvimento de software estatístico e análise de dados .
raiz

Também base .

Em sistemas de numeração digital , o número de dígitos únicos , incluindo o dígito zero, usado para representar números em um sistema de numeração posicional . Por exemplo, no sistema decimal / denário (o sistema mais comum em uso hoje) a raiz (número de base) é dez, porque usa os dez dígitos de 0 a 9, e todos os outros números são especificados exclusivamente por combinações posicionais destes dez dígitos básicos; no sistema binário que é o padrão em computação , a raiz é dois, porque usa apenas dois dígitos, 0 e 1, para especificar cada número de maneira única.
registro
Um registro (também chamado de estrutura, estrutura ou dados compostos) é uma estrutura de dados básica . Os registros em um banco de dados ou planilha são geralmente chamados de " linhas ".
recursão
Ocorre quando uma coisa é definida em termos de si mesma ou de seu tipo. A recursão é usada em uma variedade de disciplinas, desde linguística até lógica . A aplicação mais comum de recursão é em matemática e ciência da computação , onde uma função sendo definida é aplicada dentro de sua própria definição. Embora isso aparentemente defina um número infinito de instâncias (valores de função), geralmente é feito de forma que nenhum loop infinito ou cadeia infinita de referências possa ocorrer.
referência
É um valor que permite que um programa para acessar indiretamente um determinado dado , como uma variável de valor ou um registro , no computador de memória ou em algum outro dispositivo de armazenamento . Diz-se que a referência se refere ao datum e o acesso ao datum é denominado desreferenciamento da referência.
contagem de referência
Uma técnica de programação para armazenar o número de referências , ponteiros ou identificadores para um recurso, como um objeto, um bloco de memória, espaço em disco e outros. Em algoritmos de coleta de lixo , as contagens de referência podem ser usadas para desalocar objetos que não são mais necessários.
banco de dados relacional
É um banco de dados digital baseado no modelo relacional de dados, proposto por EF Codd em 1970. Um sistema de software utilizado para manter bancos de dados relacionais é um sistema de gerenciamento de banco de dados relacional (RDBMS). Muitos sistemas de banco de dados relacionais têm a opção de usar o SQL (Structured Query Language) para consultar e manter o banco de dados.
engenharia de confiabilidade
Uma subdisciplina da engenharia de sistemas que enfatiza a confiabilidade no gerenciamento do ciclo de vida de um produto. A confiabilidade descreve a capacidade de um sistema ou componente funcionar sob condições estabelecidas por um período de tempo especificado. A confiabilidade está intimamente relacionada à disponibilidade , que normalmente é descrita como a capacidade de um componente ou sistema funcionar em um determinado momento ou intervalo de tempo.
teste de regressão
(raramente o teste de não regressão ) é uma nova execução de testes funcionais e não funcionais para garantir que o software desenvolvido e testado anteriormente ainda seja executado após uma alteração. Do contrário, isso seria chamado de regressão . Alterações que podem exigir testes de regressão incluem bugs correções, melhorias de software, configuração alterações e substituição mesmo de componentes eletrônicos . Como os suítes de teste de regressão tendem a crescer com cada defeito encontrado, a automação de teste está frequentemente envolvida. Às vezes, uma análise de impacto da mudança é realizada para determinar um subconjunto apropriado de testes ( análise de não regressão ).
análise de requisitos
Em engenharia de sistemas e engenharia de software , a análise de requisitos se concentra nas tarefas que determinam as necessidades ou condições para atender o produto ou projeto novo ou alterado, levando em consideração os requisitos possivelmente conflitantes das várias partes interessadas , analisando, documentando, validando e gerenciando software ou requisitos de sistema.
robótica
Um ramo interdisciplinar de engenharia e ciência que inclui engenharia mecânica , engenharia eletrônica , engenharia da informação , ciência da computação e outros. A robótica envolve projeto, construção, operação e uso de robôs , bem como sistemas de computador para sua percepção, controle, feedback sensorial e processamento de informações . O objetivo da robótica é projetar máquinas inteligentes que possam ajudar e auxiliar os humanos em seu dia-a-dia e manter a segurança de todos.
erro de arredondamento

Também erro de arredondamento .

A diferença entre o resultado produzido por um determinado algoritmo usando aritmética exata e o resultado produzido pelo mesmo algoritmo usando aritmética arredondada de precisão finita. Os erros de arredondamento são devidos à inexatidão na representação dos números reais e nas operações aritméticas feitas com eles. Esta é uma forma de erro de quantização . Ao usar equações ou algoritmos de aproximação , especialmente ao usar finitos dígitos para representar números reais (que, em teoria, possuem infinitos dígitos), um dos objetivos da análise numérica é estimar erros de computação. Os erros de computação, também chamados de erros numéricos , incluem erros de truncamento e erros de arredondamento.
roteador
Um dispositivo de rede que encaminha pacotes de dados entre redes de computadores . Os roteadores executam as funções de direcionamento de tráfego na Internet . Os dados enviados pela Internet, como uma página da Web ou e - mail , estão na forma de pacotes de dados. Um pacote é normalmente encaminhado de um roteador para outro roteador através das redes que constituem uma internetwork (por exemplo, a Internet) até atingir seu nó de destino .
tabela de roteamento
Na rede de computadores, uma tabela de roteamento, ou base de informações de roteamento (RIB), é uma tabela de dados armazenada em um roteador ou host de rede que lista as rotas para destinos de rede específicos e, em alguns casos, métricas (distâncias) associadas a essas rotas. A tabela de roteamento contém informações sobre a topologia da rede imediatamente ao seu redor.
tempo de execução
Runtime, tempo de execução, ou o tempo de execução é a fase final de um programa de computador ' s ciclo de vida , no qual o código está sendo executado no computador unidade de processamento central (CPU) como código de máquina . Em outras palavras, "tempo de execução" é a fase de execução de um programa.
erro de tempo de execução
Um erro de tempo de execução é detectado após ou durante a execução (estado de execução) de um programa, enquanto um erro de tempo de compilação é detectado pelo compilador antes que o programa seja executado. A verificação de tipo , alocação de registro , geração de código e otimização de código são normalmente feitas em tempo de compilação, mas podem ser feitas em tempo de execução, dependendo da linguagem e do compilador específicos. Muitos outros erros de tempo de execução existem e são tratados de forma diferente por diferentes linguagens de programação , como erros de divisão por zero , erros de domínio, subscrito de matriz fora dos limites , erros aritméticos de underflow , vários tipos de erros de underflow e overflow e muitos outros erros de tempo de execução geralmente considerados como bugs de software que podem ou não ser detectados e tratados por qualquer linguagem de computador específica.

S

algoritmo de busca
Qualquer algoritmo que resolva o problema de pesquisa , nomeadamente, para recuperar informação armazenada dentro de alguma estrutura de dados, ou calculada no espaço de pesquisa de um domínio de problema , quer com valores discretos quer contínuos .
armazenamento secundário
Também conhecido como memória externa ou armazenamento auxiliar , difere do armazenamento primário por não ser diretamente acessível pela CPU. O computador geralmente usa seus canais de entrada / saída para acessar o armazenamento secundário e transferir os dados desejados para o armazenamento primário. O armazenamento secundário é não volátil (retendo dados quando a energia é desligada). Os sistemas de computador modernos geralmente têm duas ordens de magnitude a mais de armazenamento secundário do que o armazenamento primário, porque o armazenamento secundário é menos caro.
tipo de seleção
É um algoritmo de classificação de comparação no local . Ele tem uma complexidade de tempo O ( n 2 ) , o que o torna ineficiente em listas grandes e geralmente tem um desempenho pior do que a classificação de inserção semelhante . A classificação de seleção é conhecida por sua simplicidade e tem vantagens de desempenho sobre algoritmos mais complicados em certas situações, particularmente onde a memória auxiliar é limitada.
semântica
Na teoria das linguagens de programação , a semântica é o campo que se preocupa com o estudo matemático rigoroso do significado das linguagens de programação . Ele faz isso avaliando o significado de strings sintaticamente válidas definidas por uma linguagem de programação específica, mostrando a computação envolvida. Em tal caso, a avaliação seria de strings sintaticamente inválidas, o resultado seria não-cálculo. A semântica descreve os processos que um computador segue ao executar um programa naquele idioma específico. Isso pode ser mostrado descrevendo a relação entre a entrada e a saída de um programa, ou uma explicação de como o programa será executado em uma determinada plataforma , criando assim um modelo de computação .
seqüência
Em matemática , uma sequência é uma coleção enumerada de objetos em que as repetições são permitidas e a ordem importa. Como um conjunto , ele contém membros (também chamados de elementos ou termos ). O número de elementos (possivelmente infinitos) é chamado de comprimento da sequência. Ao contrário de um conjunto, os mesmos elementos podem aparecer várias vezes em diferentes posições em uma sequência, e a ordem é importante. Formalmente, uma sequência pode ser definida como uma função cujo domínio é o conjunto dos números naturais (para sequências infinitas) ou o conjunto dos primeiros n números naturais (para uma sequência de comprimento finito n ). A posição de um elemento em uma sequência é sua classificação ou índice ; é o número natural para o qual o elemento é a imagem. O primeiro elemento possui índice 0 ou 1, dependendo do contexto ou de uma convenção específica. Quando for utilizado um símbolo para indicar uma sequência, o n ésimo elemento da sequência é representado por este símbolo com n como subscrito; por exemplo, o N -ésimo elemento do Fibonacci sequência F está geralmente indicado F n . Por exemplo, (M, A, R, Y) é uma sequência de letras com a letra 'M' primeiro e 'Y' por último. Esta sequência difere de (A, R, M, Y). Além disso, a sequência (1, 1, 2, 3, 5, 8), que contém o número 1 em duas posições diferentes, é uma sequência válida. As sequências podem ser finitas , como nestes exemplos, ou infinitas , como a sequência de todos os inteiros positivos pares (2, 4, 6, ...). Na computação e na ciência da computação , as sequências finitas às vezes são chamadas de strings , palavras ou listas , os diferentes nomes comumente correspondendo a diferentes maneiras de representá-los na memória do computador ; sequências infinitas são chamadas de streams . A sequência vazia () está incluída na maioria das noções de sequência, mas pode ser excluída dependendo do contexto.
serializabilidade
No controle de simultaneidade de bancos de dados , processamento de transações (gerenciamento de transações) e vários aplicativos transacionais (por exemplo, memória transacional e memória transacional de software ), tanto centralizada quanto distribuída , uma programação de transação é serializável se seu resultado (por exemplo, o estado do banco de dados resultante) for igual ao resultado de suas transações executadas em série, ou seja, sem sobreposição no tempo. As transações normalmente são executadas simultaneamente (elas se sobrepõem), pois esta é a forma mais eficiente. Serializabilidade é o principal critério de correção para execuções de transações simultâneas. É considerado o nível mais alto de isolamento entre transações e desempenha um papel essencial no controle de simultaneidade . Como tal, é compatível com todos os sistemas de banco de dados de uso geral. O bloqueio estrito de duas fases forte (SS2PL) é um mecanismo de serializabilidade popular utilizado na maioria dos sistemas de banco de dados (em várias variantes) desde seus primeiros dias na década de 1970.
serialização
É o processo de tradução de estruturas de dados ou estado de objeto em um formato que pode ser armazenado (por exemplo, em um arquivo ou buffer de memória ) ou transmitido (por exemplo, através de um link de conexão de rede ) e reconstruído posteriormente (possivelmente em um ambiente de computador diferente ) Quando a série de bits resultante é relida de acordo com o formato de serialização, ela pode ser usada para criar um clone semanticamente idêntico do objeto original. Para muitos objetos complexos, como aqueles que fazem uso extensivo de referências , esse processo não é simples. A serialização de objetos orientados a objetos não inclui nenhum de seus métodos associados aos quais estavam vinculados anteriormente. Esse processo de serializar um objeto também é chamado de empacotamento de um objeto em algumas situações. [2] [3] A operação oposta, extrair uma estrutura de dados de uma série de bytes, é a desserialização (também chamada de desserialização ou desempacotamento ).
acordo de nível de serviço
(SLA), é um compromisso entre um provedor de serviços e um cliente. Aspectos particulares do serviço - qualidade, disponibilidade, responsabilidades - são acordados entre o provedor de serviço e o usuário do serviço. O componente mais comum de um SLA é que os serviços devem ser fornecidos ao cliente conforme acordado no contrato. Como exemplo, os provedores de serviços de Internet e as empresas de telecomunicações geralmente incluem acordos de nível de serviço dentro dos termos de seus contratos com clientes para definir o (s) nível (is) de serviço vendido em termos de linguagem simples. Nesse caso, o SLA normalmente terá uma definição técnica de tempo médio entre falhas (MTBF), tempo médio de reparo ou tempo médio de recuperação (MTTR); identificar qual parte é responsável por relatar falhas ou pagar taxas; responsabilidade por várias taxas de dados; rendimento ; jitter ; ou detalhes mensuráveis ​​semelhantes.
definir
É um tipo de dado abstrato que pode armazenar valores únicos, sem qualquer ordem particular . É uma implementação computacional do conceito matemático de um conjunto finito . Ao contrário da maioria dos outros tipos de coleção , em vez de recuperar um elemento específico de um conjunto, normalmente se testa um valor para associação em um conjunto.
computação suave
Programas
O software de computador, ou simplesmente software, é uma coleção de dados ou instruções de computador que dizem ao computador como trabalhar. Isso contrasta com o hardware físico , a partir do qual o sistema é construído e realmente executa o trabalho. Em ciência da computação e engenharia de software , software de computador é todas as informações processadas por sistemas de computador , programas e dados . O software de computador inclui programas de computador , bibliotecas e dados não executáveis ​​relacionados , como documentação online ou mídia digital . O hardware e o software do computador exigem um do outro e nenhum deles pode ser usado sozinho de forma realista.
agente de software
É um programa de computador que atua para um usuário ou outro programa em uma relação de agência, que deriva do latim agere (fazer): um acordo para agir em seu nome. Tal "ação em nome de" implica na autoridade para decidir qual ação, se houver, é apropriada. Os agentes são coloquialmente conhecidos como bots , de robô . Eles podem ser incorporados, como quando a execução é emparelhada com um corpo de robô, ou como um software como um chatbot executando em um telefone (por exemplo, Siri ) ou outro dispositivo de computação. Os agentes de software podem ser autônomos ou trabalhar em conjunto com outros agentes ou pessoas. Os agentes de software que interagem com as pessoas (por exemplo , chatbots , ambientes de interação humano-robô ) podem possuir qualidades semelhantes às humanas, como compreensão da linguagem natural e fala, personalidade ou incorporar a forma humanóide (ver Asimo ).
construção de software
É uma disciplina de engenharia de software . É a criação detalhada de software funcional significativo por meio de uma combinação de codificação , verificação , teste de unidade , teste de integração e depuração . Ele está vinculado a todas as outras disciplinas da engenharia de software , mais fortemente ao projeto e teste de software .
implantação de software
São todas as atividades que tornam um sistema de software disponível para uso.
Design de software
É o processo pelo qual um agente cria uma especificação de um artefato de software , destinada a cumprir objetivos , utilizando um conjunto de componentes primitivos e sujeitos a restrições . O projeto de software pode se referir a "todas as atividades envolvidas na conceituação, enquadramento, implementação, comissionamento e, em última instância, modificação de sistemas complexos" ou "a atividade após a especificação de requisitos e antes da programação , como ... [em] um processo de engenharia de software estilizado. "
desenvolvimento de software
É o processo de concepção, especificação, design, programação , documentação , teste e correção de bugs envolvidos na criação e manutenção de aplicativos , estruturas ou outros componentes de software. O desenvolvimento de software é um processo de escrita e manutenção do código-fonte , mas em um sentido mais amplo, inclui tudo o que está envolvido desde a concepção do software desejado até a manifestação final do software, às vezes em um processo planejado e estruturado . Portanto, o desenvolvimento de software pode incluir pesquisa, novo desenvolvimento, prototipagem, modificação, reutilização, reengenharia, manutenção ou quaisquer outras atividades que resultem em produtos de software.
processo de desenvolvimento de software
Na engenharia de software , um processo de desenvolvimento de software é o processo de dividir o trabalho de desenvolvimento de software em fases distintas para melhorar o design , o gerenciamento de produtos e o gerenciamento de projetos . É também conhecido como ciclo de vida de desenvolvimento de software (SDLC). A metodologia pode incluir a pré-definição de entregas e artefatos específicos que são criados e concluídos por uma equipe de projeto para desenvolver ou manter um aplicativo. A maioria dos processos de desenvolvimento modernos pode ser vagamente descrita como ágil . Outras metodologias incluem cascata , prototipagem , desenvolvimento iterativo e incremental , desenvolvimento em espiral , desenvolvimento rápido de aplicativos e programação extrema .
Engenharia de software
É a aplicação sistemática de abordagens de engenharia ao desenvolvimento de software . Engenharia de software é uma disciplina de computação .
manutenção de software
Em engenharia de software é a modificação de um produto de software após a entrega para corrigir falhas, melhorar o desempenho ou outros atributos.
prototipagem de software
É a atividade de criação de protótipos de aplicativos de software, ou seja, versões incompletas do programa de software em desenvolvimento. É uma atividade que pode ocorrer no desenvolvimento de software e é comparável à prototipagem conhecida em outros campos, como engenharia mecânica ou manufatura . Um protótipo normalmente simula apenas alguns aspectos do produto final e pode ser completamente diferente.
Especificação de Requisitos de Software
(SRS), é a descrição de um sistema de software a ser desenvolvido . A especificação de requisitos de software estabelece requisitos funcionais e não funcionais e pode incluir um conjunto de casos de uso que descrevem as interações do usuário que o software deve fornecer ao usuário para uma interação perfeita.
teste de software
É uma investigação conduzida para fornecer às partes interessadas informações sobre a qualidade do produto ou serviço de software em teste. O teste de software também pode fornecer uma visão objetiva e independente do software para permitir que a empresa avalie e entenda os riscos da implementação do software. As técnicas de teste incluem o processo de execução de um programa ou aplicativo com a intenção de encontrar bugs de software (erros ou outros defeitos) e verificar se o produto de software é adequado para uso.
algoritmo de classificação
É um algoritmo que coloca os elementos de uma lista em uma determinada ordem . As ordens usadas com mais frequência são a ordem numérica e a ordem lexicográfica . A classificação eficiente é importante para otimizar a eficiência de outros algoritmos (como algoritmos de pesquisa e mesclagem ) que exigem que os dados de entrada estejam em listas classificadas. A classificação também é frequentemente útil para canonizar dados e para produzir saída legível. Mais formalmente, a saída de qualquer algoritmo de classificação deve satisfazer duas condições:
  1. A saída está em ordem não decrescente (cada elemento não é menor que o elemento anterior de acordo com a ordem total desejada );
  2. A saída é uma permutação (uma reordenação, mas mantendo todos os elementos originais) da entrada.
Além disso, os dados de entrada são frequentemente armazenados em uma matriz , que permite acesso aleatório , em vez de uma lista, que permite apenas acesso sequencial ; embora muitos algoritmos possam ser aplicados a qualquer tipo de dado após uma modificação adequada.
Código fonte
Na computação , o código-fonte é qualquer coleção de código, com ou sem comentários , escrito usando uma linguagem de programação legível , geralmente como texto simples . O código-fonte de um programa é especialmente projetado para facilitar o trabalho dos programadores de computador , que especificam as ações a serem executadas por um computador principalmente escrevendo o código-fonte. O código-fonte é frequentemente transformado por um montador ou compilador em código de máquina binário que pode ser executado pelo computador. O código de máquina pode então ser armazenado para execução posterior. Alternativamente, o código-fonte pode ser interpretado e, portanto, executado imediatamente.
modelo espiral
É um modelo de processo de desenvolvimento de software orientado a riscos . Com base nos padrões de risco exclusivos de um determinado projeto, o modelo em espiral orienta uma equipe a adotar elementos de um ou mais modelos de processo, como prototipagem incremental , em cascata ou evolucionária .
pilha
É um tipo de dado abstrato que serve como uma coleção de elementos, com duas operações principais principais:
  • push , que adiciona um elemento à coleção, e
  • pop , que remove o elemento adicionado mais recentemente que ainda não foi removido.
A ordem em que os elementos saem de uma pilha dá origem ao seu nome alternativo, LIFO (último a entrar, primeiro a sair). Além disso, uma operação de espiada pode dar acesso ao topo sem modificar a pilha. O nome "pilha" para esse tipo de estrutura vem da analogia com um conjunto de itens físicos empilhados uns sobre os outros. Essa estrutura torna mais fácil retirar um item do topo da pilha, enquanto chegar a um item mais profundo na pilha pode exigir a retirada de vários outros itens primeiro.
Estado
Em tecnologia da informação e ciência da computação, um sistema é descrito como stateful se for projetado para lembrar eventos anteriores ou interações do usuário; a informação lembrada é chamada de estado do sistema.
demonstração
Na programação de computadores , uma instrução é uma unidade sintática de uma linguagem de programação imperativa que expressa alguma ação a ser executada. Um programa escrito em tal linguagem é formado por uma sequência de uma ou mais declarações. Uma instrução pode ter componentes internos (por exemplo, expressões ).
armazenar
O armazenamento de dados de computador é uma tecnologia que consiste em componentes de computador e mídia de gravação que são usados ​​para reter dados digitais . É uma função central e um componente fundamental dos computadores.
Stream
É uma sequência de elementos de dados disponibilizados ao longo do tempo. Um fluxo pode ser considerado como itens em uma correia transportadora sendo processados ​​um de cada vez, em vez de grandes lotes.
fragmento
Na programação de computadores , uma string é tradicionalmente uma sequência de caracteres , seja como uma constante literal ou como algum tipo de variável. Este último pode permitir que seus elementos sejam mutados e o comprimento alterado, ou pode ser corrigido (após a criação). Uma string é geralmente considerada como um tipo de dados e frequentemente implementada como uma estrutura de dados de matriz de bytes (ou palavras ) que armazena uma sequência de elementos, normalmente caracteres, usando alguma codificação de caracteres . String também pode denotar matrizes mais gerais ou outros tipos e estruturas de dados de sequência (ou lista ).
armazenamento estruturado
Um noSQL (originalmente referindo-se "não SQL " ou "não-relacional") do banco de dados fornece um mecanismo de armazenamento e recuperação de dados, que é modelado em outras do que as relações tabulares utilizados em meios de bases de dados relacionais . Esses bancos de dados existem desde o final dos anos 1960, mas o nome "NoSQL" foi cunhado apenas no início do século 21, devido às necessidades das empresas da Web 2.0 . Os bancos de dados NoSQL são cada vez mais usados ​​em big data e aplicativos da web em tempo real . Os sistemas NoSQL às vezes também são chamados de "Não apenas SQL" para enfatizar que eles podem suportar linguagens de consulta semelhantes a SQL ou ficar ao lado de bancos de dados SQL em arquiteturas persistentes poliglotas .
sub-rotina
Na programação de computadores , uma sub-rotina é uma sequência de instruções do programa que executa uma tarefa específica, empacotada como uma unidade. Esta unidade pode então ser usada em programas onde quer que uma tarefa particular deva ser executada. As sub-rotinas podem ser definidas em programas ou separadamente em bibliotecas que podem ser usadas por muitos programas. Em diferentes linguagens de programação, uma sub-rotina pode ser chamada de rotina, subprograma, função, método ou procedimento. Tecnicamente, todos esses termos têm definições diferentes. O termo genérico e abrangente unidade chamável é algumas vezes usado.
computação simbólica
Em matemática e ciência da computação , álgebra computacional, também chamada de computação simbólica ou computação algébrica, é uma área científica que se refere ao estudo e desenvolvimento de algoritmos e software para manipular expressões matemáticas e outros objetos matemáticos . Embora a álgebra de computador possa ser considerada um subcampo da computação científica , eles são geralmente considerados como campos distintos porque a computação científica é geralmente baseada em computação numérica com números de ponto flutuante aproximados , enquanto a computação simbólica enfatiza a computação exata com expressões contendo variáveis que não têm valor dado e são manipulados como símbolos.
sintaxe
A sintaxe de uma linguagem de computador é o conjunto de regras que define as combinações de símbolos que são consideradas declarações ou expressões estruturadas corretamente nessa linguagem. Isso se aplica tanto às linguagens de programação , onde o documento representa o código-fonte , quanto às linguagens de marcação , nas quais o documento representa os dados.
erro de sintaxe
É um erro na sintaxe de uma sequência de caracteres ou tokens que se destina a ser escrito em tempo de compilação . Um programa não será compilado até que todos os erros de sintaxe sejam corrigidos. Para linguagens interpretadas , no entanto, um erro de sintaxe pode ser detectado durante a execução do programa e as mensagens de erro de um interpretador podem não diferenciar os erros de sintaxe de erros de outros tipos. Há alguma discordância sobre quais erros são "erros de sintaxe". Por exemplo, alguns diriam que o uso do valor de uma variável não inicializada no código Java é um erro de sintaxe, mas muitos outros discordariam e classificariam isso como um erro semântico (estático) .
console do sistema
O console do sistema, console do computador, console raiz, console do operador ou simplesmente console é o dispositivo de entrada de texto e exibição para mensagens de administração do sistema, particularmente aquelas do BIOS ou carregador de boot , kernel , do sistema init e do sistema logger . É um dispositivo físico que consiste em um teclado e uma tela e, tradicionalmente, é um terminal de texto , mas também pode ser um terminal gráfico . Os consoles do sistema são generalizados para terminais de computador , que são abstraídos respectivamente por consoles virtuais e emuladores de terminal . Hoje, a comunicação com os consoles do sistema geralmente é feita de forma abstrata, por meio dos fluxos padrão ( stdin , stdout e stderr ), mas pode haver interfaces específicas do sistema, por exemplo, aquelas usadas pelo kernel do sistema.

T

documentação técnica
Em engenharia, qualquer tipo de documentação que descreve o manuseio, a funcionalidade e a arquitetura de um produto técnico ou em desenvolvimento ou uso. O destinatário pretendido para a documentação técnica do produto é o usuário final (competente) , bem como o administrador / técnico de serviço ou manutenção. Em contraste com um mero manual de "livro de receitas" , a documentação técnica visa fornecer informações suficientes para que o usuário entenda as dependências internas e externas do produto em questão.
linguagem de programação de terceira geração
Uma linguagem de programação de terceira geração (3GL) é uma linguagem de programação de computador de alto nível que tende a ser mais independente da máquina e amigável ao programador do que o código de máquina da primeira geração e as linguagens assembly da segunda geração , embora tenha um foco menos específico para a quarta e quinta gerações. Exemplos de linguagens de programação de terceira geração comuns e históricas são ALGOL , BASIC , C , COBOL , Fortran , Java e Pascal .
design de cima para baixo e de baixo para cima
árvore
Um tipo de dados abstratos (ADT) amplamente usado que simula uma estrutura de árvore hierárquica , com um valor raiz e subárvores de filhos com um nó pai , representados como um conjunto de nós vinculados .
teoria dos tipos
Em matemática, lógica e ciência da computação, uma teoria de tipos é qualquer uma de uma classe de sistemas formais , alguns dos quais podem servir como alternativas para a teoria de conjuntos como base para toda a matemática . Na teoria dos tipos, todo "termo" tem um "tipo" e as operações são restritas a termos de um determinado tipo.

você

Envio
Em redes de computadores , para enviar dados a um sistema remoto, como um servidor ou outro cliente, para que o sistema remoto possa armazenar uma cópia. Download de contraste .
Localizador Uniforme de Recursos (URL)

Endereço da web coloquialmente .

Uma referência a um recurso da web que especifica sua localização em uma rede de computadores e um mecanismo para recuperá-lo. Um URL é um tipo específico de URI ( Uniform Resource Identifier ), embora muitas pessoas usem os dois termos de maneira intercambiável. Os URLs ocorrem mais comumente para fazer referência a páginas da web ( http ), mas também são usados ​​para transferência de arquivos ( ftp ), e-mail ( mailto ), acesso ao banco de dados ( JDBC ) e muitos outros aplicativos.
do utilizador
É uma pessoa que utiliza um computador ou serviço de rede . Os usuários de sistemas de computador e produtos de software geralmente não possuem os conhecimentos técnicos necessários para compreender totalmente como eles funcionam. Usuários avançados usam recursos avançados de programas, embora não sejam necessariamente capazes de programação de computador e administração de sistema .
agente de usuário
Software (um agente de software ) que atua em nome de um usuário , como um navegador da Web que "recupera, processa e facilita a interação do usuário final com o conteúdo da Web". Um leitor de email é um agente de usuário de email .
interface do usuário (UI)
O espaço onde ocorrem as interações entre humanos e máquinas. O objetivo dessa interação é permitir a operação e controle eficazes da máquina pelo lado humano, enquanto a máquina simultaneamente realimenta as informações que auxiliam no processo de tomada de decisão dos operadores . Exemplos desse amplo conceito de interfaces de usuário incluem os aspectos interativos de sistemas operacionais de computador , ferramentas manuais , controles de operador de máquinas pesadas e controles de processo . As considerações de design aplicáveis ​​ao criar interfaces de usuário estão relacionadas ou envolvem disciplinas como ergonomia e psicologia .
Design da interface do usuário

Também engenharia de interface do usuário .

O projeto de interfaces de usuário para máquinas e softwares , como computadores, eletrodomésticos, dispositivos móveis e outros dispositivos eletrônicos, com foco na maximização da usabilidade e da experiência do usuário . O objetivo do design da interface do usuário é tornar a interação do usuário o mais simples e eficiente possível, em termos de cumprimento dos objetivos do usuário ( design centrado no usuário ).

V

variável
Em programação de computador , uma variável, ou escalar, é um local de armazenamento (identificado por um endereço de memória ) emparelhado com um nome simbólico associado (um identificador ), que contém alguma quantidade conhecida ou desconhecida de informação referida como um valor . O nome da variável é a forma usual de referenciar o valor armazenado, além de se referir à própria variável, dependendo do contexto. Essa separação de nome e conteúdo permite que o nome seja usado independentemente das informações exatas que representa. O identificador no código-fonte do computador pode ser vinculado a um valor durante o tempo de execução , e o valor da variável pode, portanto, mudar durante o curso da execução do programa .
máquina virtual (VM)
Uma emulação de um sistema de computador. As máquinas virtuais são baseadas em arquiteturas de computador e tentam fornecer a mesma funcionalidade de um computador físico. Suas implementações podem envolver hardware especializado, software ou uma combinação de ambos.
V-Model
Um processo de desenvolvimento de software que pode ser considerado uma extensão do modelo em cascata e é um exemplo do modelo V mais geral . Em vez de se mover para baixo de forma linear, as etapas do processo são dobradas para cima após a fase de codificação , para formar a forma típica de V. O V-Model demonstra os relacionamentos entre cada fase do ciclo de vida de desenvolvimento e sua fase de teste associada . Os eixos horizontal e vertical representam o tempo ou a integridade do projeto (da esquerda para a direita) e o nível de abstração (abstração de grão mais grosso para cima), respectivamente.

C

modelo de cachoeira
Uma divisão das atividades do projeto em fases sequenciais lineares , onde cada fase depende das entregas da anterior e corresponde a uma especialização de tarefas. A abordagem é típica para certas áreas do projeto de engenharia . No desenvolvimento de software , tende a estar entre as abordagens menos iterativas e flexíveis, à medida que o progresso flui em grande parte em uma direção ("para baixo" como uma cachoeira ) através das fases de concepção, iniciação, análise , design , construção , teste , implantação e manutenção .
Formato de arquivo de áudio em forma de onda

Também WAVE ou WAV devido à sua extensão de nome de arquivo .

Um padrão de formato de arquivo de áudio , desenvolvido pela Microsoft e IBM , para armazenar um fluxo de bits de áudio em PCs . É uma aplicação do método de formato bitstream Resource Interchange File Format (RIFF) para armazenar dados em "blocos" e, portanto, também se aproxima do formato 8SVX e AIFF usado em computadores Amiga e Macintosh , respectivamente. É o principal formato usado em sistemas Microsoft Windows para áudio bruto e normalmente não compactado. A codificação de fluxo de bits usual é o formato de modulação por código de pulso linear (LPCM).
rastreador da web

Também spider , spiderbot ou simplesmente crawler .

Um bot da Internet que navega sistematicamente na World Wide Web , normalmente para fins de indexação da Web ( web spidering ).
Wi-fi
Uma família de tecnologias de rede sem fio, com base na família de padrões IEEE 802.11 , que são comumente usados ​​para redes de área local de dispositivos e acesso à Internet . Wi-Fi é uma marca comercial da organização sem fins lucrativos Wi-Fi Alliance , que restringe o uso do termo Wi-Fi Certified a produtos que concluem com êxito os testes de certificação de interoperabilidade .

X

XHTML

Abreviatura de eXtensible HyperText Markup Language .

Parte da família de linguagens de marcação XML . Ele espelha ou estende versões da amplamente usada HyperText Markup Language (HTML), a linguagem na qual as páginas da web são formuladas.

Veja também

Referências

Notas