Apontamentos, resumos, trabalhos, exames e problemas de Computação

Ordenar por
Matéria
Nível

Operadores e Entrada/Saída em Prolog

Enviado por Anônimo e classificado em Computação

Escrito em em português com um tamanho de 3,17 KB

Operadores em Prolog

Podemos utilizar operadores para construir regras ainda mais específicas em Prolog. Existem tanto os operadores relacionais quanto os aritméticos.

Operadores Relacionais

Entre os operadores relacionais, temos:

  • Igualdade: =
  • Diferença: \= (em alguns compiladores, o operador de diferença é <>)
  • Menor que: <
  • Maior que: >
  • Menor ou igual: =< (alguns compiladores seguem a versão >=)
  • Maior ou igual: >=

Exemplo com Operadores Relacionais

Vamos construir um pequeno exemplo com operadores relacionais para verificar se o número passado é positivo ou negativo.

Para isso, construiremos a seguinte regra:

positivo(numero) :- numero > 0.

Em seguida, realizaremos uma consulta:

?- positivo(2).

Que retornará "Yes".

Operadores

... Continue a ler "Operadores e Entrada/Saída em Prolog" »

Análise Léxica e Sintática: Conceitos Fundamentais

Classificado em Computação

Escrito em em português com um tamanho de 3,6 KB

- O programa é uma sequência de instruções que descrevem como executar uma determinada tarefa.
- O analisador léxico reconhece, a partir de uma sequência de caracteres, os símbolos terminais de uma linguagem.
- O scanner tem por objetivo reconhecer os itens léxicos e atribuir a cada um deles uma classe/identificação.
- O conjunto finito de todos os símbolos de uma linguagem é denominado alfabeto.
- Podemos entender a tarefa de reconhecer um token como a atividade de identificação de uma palavra em uma sentença/linguagem, tarefa esta realizada por um analisador léxico.
- Os símbolos terminais podem ser considerados as palavras de uma linguagem de programação.
- O alfabeto de uma linguagem é um conjunto finito de símbolos que são
... Continue a ler "Análise Léxica e Sintática: Conceitos Fundamentais" »

História da Computação: Do Ábaco à Máquina de Pascal

Classificado em Computação

Escrito em em português com um tamanho de 24,49 KB

História da Computação

Hoje em dia, os computadores estão presentes em nossa vida de uma forma nunca vista anteriormente. Sejam em casa, na escola, na faculdade, na empresa ou em qualquer outro lugar, eles estão sempre entre nós. Ao contrário do que parece, a computação não surgiu nos últimos anos ou décadas, mas sim há mais de 7 mil anos atrás.

Por este motivo, desenvolvemos este artigo, que conta a história e a evolução da computação e dos computadores em geral, desde a antiguidade até os dias de hoje. Desta maneira, você poderá ficar por dentro das principais formas de computação utilizadas pela humanidade. O texto está dividido em quatro partes e irá abordar temas diversos como ábaco, máquina de Pascal, lógica... Continue a ler "História da Computação: Do Ábaco à Máquina de Pascal" »

Introdução aos Sistemas Operacionais

Classificado em Computação

Escrito em em português com um tamanho de 4,56 KB

Introdução aos Sistemas Operacionais

Um sistema operacional (S.O.) executa programas, facilita o uso do computador e utiliza os recursos de hardware de forma eficiente. O bootstrap, inicializado junto ao computador e armazenado em ROM ou EPROM, é um firmware que inicia a máquina, carrega o kernel do S.O. e o executa.

Operação de um Sistema de Computação

Hardware:

  • CPU
  • Memória
  • Dispositivos de E/S

Sistema Operacional:

  • Controla o hardware e coordena seu uso pelos aplicativos.

Aplicativos:

  • Definem as formas como os recursos são utilizados.

Usuários:

  • Pessoas
  • Máquinas
  • Outros computadores

Os dispositivos de E/S e a CPU podem executar concorrentemente. Cada controlador de dispositivo possui um buffer local. A CPU move dados da memória principal para o... Continue a ler "Introdução aos Sistemas Operacionais" »

Padrões de Projeto GRASP e GoF

Classificado em Computação

Escrito em em português com um tamanho de 4,41 KB

GRASP (General Responsibility Assignment Software Patterns)

GRASP - Revela padrões de atribuição de responsabilidade para entidades O.O.

  • Creator: Define quem vai criar um objeto específico.
  • Expert: Faz algo quem é expert naquilo. É o padrão mais utilizado para atribuir responsabilidade. Problemas: Nem sempre a informação está concentrada em um só lugar.
  • Controller: Eventos externos são normalmente provenientes do uso do sistema. O controlador define os métodos que permitem operar o sistema. Se o controlador é do sistema completo: é dito um Facade Controller.
  • Controller vs Facade: Controller é um conceito exclusivo para eventos externos. Facade é um padrão GoF que extrapola Controller.

Herança e Composição

Mecanismos para reutilizar... Continue a ler "Padrões de Projeto GRASP e GoF" »

h2>Arquitetura de Computadores: Processador, Memória e Barramento

Classificado em Computação

Escrito em em português com um tamanho de 3,5 KB

O Processador é constituído de:

  • UC (Unidade de Controle): Busca instruções na memória principal e interpreta o tipo de cada instrução. Sua função é disparar cada um dos passos.
  • ULA (Unidade Lógica e Aritmética): Realiza um conjunto de operações necessárias à execução de instruções (soma, subtração, multiplicação e divisão). Sua função é tratar os dados e permite a atualização dos apontadores.
  • Registradores: Memória pequena e de alta velocidade. Sua função é armazenar temporariamente dados e instruções.

Clock: Elemento utilizado para cronometrar as operações realizadas pelo computador e tem a função de definir o tempo de início da execução de cada instrução. Todos os circuitos digitais dependem do clock.... Continue a ler "h2>Arquitetura de Computadores: Processador, Memória e Barramento" »

Redes de Computadores: Camada 2 e 3

Enviado por Anônimo e classificado em Computação

Escrito em em português com um tamanho de 2,46 KB

Redes de Computadores

Aula de 23/08/2012: Importância dos Quadros e Pacotes

Na camada 3, o pacote é adicionado ao quadro. O cabeçalho e o trailer encapsulam o pacote, que se torna os dados do quadro. Os quadros Ethernet, por exemplo, possuem endereços de origem e destino. Esses endereços são fundamentais para a comunicação em redes compartilhadas. A comunicação ponta a ponta não necessita desses endereços, pois não há compartilhamento do meio. Cada cabeçalho é definido pela tecnologia da camada 2 utilizada.

Na camada 2, o campo FCS (Frame Check Sequence) verifica a integridade dos quadros usando o algoritmo CRC (Cyclic Redundancy Check). O cálculo CRC garante que as informações cheguem corretamente ao destino. Se o quadro estiver... Continue a ler "Redes de Computadores: Camada 2 e 3" »

Técnicas de Testes de Software e Gestão de Qualidade

Classificado em Computação

Escrito em em português com um tamanho de 3,64 KB

Técnicas de Testes de Software

Testes de Caixa-Branca

  • Requerem lógica interna e interfaces de cada componente.
  • Focam nos caminhos lógicos internos.

Testes de Caixa-Preta

  • Requerem domínio de entrada e saída para descobrir erros.
  • Focam no comportamento e desempenho do programa (requisitos).
  • Examinam aspectos funcionais do sistema, sem se preocupar com a estrutura interna.

Fundamentos de Testes

Objetivo do teste: encontrar erros.

Bom teste: alta probabilidade de encontrar um erro.

Testabilidade: facilidade de testar um programa.

Características de um Software Testável

  • Operabilidade: quanto mais funciona, mais eficiente o teste.
  • Observabilidade: o que você vê é o que você testa (acesso ao código fonte, entradas, saídas, variáveis).
  • Controlabilidade:
... Continue a ler "Técnicas de Testes de Software e Gestão de Qualidade" »

Entendendo as Camadas de Rede: OSI, TCP/IP e Seus Protocolos

Classificado em Computação

Escrito em em português com um tamanho de 7,31 KB

Os modelos de camadas de rede, como o Modelo OSI e o Modelo TCP/IP, são estruturas conceituais que descrevem como as funções de comunicação de rede são divididas em grupos lógicos. Cada camada é responsável por um conjunto específico de tarefas, interagindo com as camadas adjacentes para garantir a transmissão eficiente e confiável dos dados.

Modelo OSI (Open Systems Interconnection)

O Modelo OSI é um modelo de referência de sete camadas que descreve como diferentes sistemas de rede podem se comunicar. Embora o TCP/IP seja mais utilizado na prática, o OSI ainda é fundamental para entender os conceitos de rede.

Camada 7 - Aplicação

A camada de aplicação faz a interface entre a pilha de protocolos e o aplicativo que pediu ou receberá... Continue a ler "Entendendo as Camadas de Rede: OSI, TCP/IP e Seus Protocolos" »

Gerenciamento de Projetos: Guia Completo

Classificado em Computação

Escrito em em português com um tamanho de 5,58 KB

Estrutura do Gerenciamento de Projetos

Definição de Projeto: Um projeto é um esforço único e temporário empreendido para alcançar um objetivo específico.

Gerenciamento de Projeto: É a aplicação de conhecimento, habilidades, técnicas e ferramentas nas atividades do projeto, a fim de atender seus requisitos.

Grupos de processos: Iniciação, planejamento, execução, monitoramento e controle, encerramento.

PMBOK: É um padrão reconhecido para a profissão de gerenciamento de projetos. Um documento formal que descreve normas, métodos, processos e práticas estabelecidas. Um guia de conhecimento em gerenciamento de projetos - Project Management Institute - PMI.

Projeto: Grupo de subprojetos. É temporário, progressivamente elaborado e... Continue a ler "Gerenciamento de Projetos: Guia Completo" »