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" »

Algoritmos Evolucionários e Aprendizado de Máquina: Q&A

Classificado em Computação

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

1. Cite 3 exemplos de Algoritmos Evolucionários.

Os principais exemplos são: Algoritmos Genéticos, Programação Genética e Neuro-evolução.

2. Cite 2 exemplos de operadores genéticos.

Os dois operadores genéticos principais são: Recombinação e Mutação.

3. O que é a função de Avaliação (Fitness)?

É a maneira utilizada pelos Algoritmos Genéticos para determinar a qualidade de um indivíduo como solução do problema.

4. Por que os resultados de Algoritmos Evolucionários raramente são perfeitamente reproduzíveis?

Pois são totalmente dependentes de fatores estocásticos (probabilísticos), tanto na fase de inicialização quanto na evolução do algoritmo.

5. Quando optar por um Algoritmo Evolucionário em detrimento de um método

... Continue a ler "Algoritmos Evolucionários e Aprendizado de Máquina: Q&A" »

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" »

Engenharia de Requisitos: Análise e Gerenciamento

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

Escrito em em português com um tamanho de 9,16 KB

Engenharia de Requisitos

A engenharia de requisitos é responsável por todas as atividades inerentes ao tratamento dos requisitos de uma solução.

Análise e Gerenciamento de Requisitos

O que são requisitos? Podemos entender requisitos como sendo as propriedades ou comportamento que atendem às características de uma solução proposta para uma demanda de um processo de negócio. A análise de requisitos é a atividade que busca identificar da melhor forma as propriedades e comportamento necessários para atender à solução proposta.

Principais objetivos da análise de requisitos:

  • Definir o escopo do sistema.
  • Fornecer uma base para o planejamento do projeto de desenvolvimento, incluindo definições de custo e prazo.
  • Fornecer uma base para o
... Continue a ler "Engenharia de Requisitos: Análise e Gerenciamento" »

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" »