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

Ordenar por
Matéria
Nível

Fundamentos da Programação Orientada a Objetos (OOP)

Classificado em Computação

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

O Paradigma da Programação Orientada a Objetos (OOP)

O Paradigma OOP inverte a ordem tradicional de programação. O foco principal está nos dados e, em seguida, nos algoritmos que operam sobre esses dados. A implementação da funcionalidade é, em geral, escondida dos usuários.

O que é OOP?

OOP é um conjunto de objetos que trocam mensagens para, ao final do processamento, resolver o problema do usuário. Cada objeto possui uma funcionalidade que é exposta aos usuários (interface), enquanto sua implementação é, em geral, escondida (encapsulamento).

Classes e Objetos

  • Uma Classe é um modelo, uma especificação, um molde, a partir do qual se criam objetos.
  • A Superclasse Base: Na plataforma Java, existe uma superclasse chamada Object, da
... Continue a ler "Fundamentos da Programação Orientada a Objetos (OOP)" »

Questões Resolvidas: Compiladores e Linguagens de Programação

Classificado em Computação

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

Questões de Concurso: Compiladores e Linguagens

Exercício 1: Software Tradutor e Velocidade de Execução

[ENADE 2008] Qual tipo de software tradutor deve ser utilizado para programas em geral, quando a velocidade de execução é uma exigência de alta prioridade?
A) Compiladores.

Exercício 2: Classificação de Linguagens de Programação

As linguagens de programação podem ser classificadas grosseiramente em dois grupos: linguagens de alto nível e linguagens de baixo nível. O critério para definir em que categoria uma determinada linguagem se encaixa está associado ao grau de abstração que ela confere a seus utilizadores, ou seja, se apresentar características linguísticas que se assemelham mais à nossa linguagem, é dita de alto... Continue a ler "Questões Resolvidas: Compiladores e Linguagens de Programação" »

Gerenciamento de Memória e Sistemas de Arquivos

Classificado em Computação

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

Gerenciamento de Memória

Dentre outras tarefas, o gerenciador de memória monitora quais partes da memória estão em uso e quais estão disponíveis; aloca e libera memória para os processos; e gerencia a permuta de processos entre memória principal e secundária (quando a memória principal não é capaz de abrigar todos os processos).

Espaço de Endereçamento

Um espaço de endereçamento é uma faixa de endereços discretos, cada um dos quais pode corresponder a um registrador físico ou virtual, um nodo de rede, dispositivo periférico, setor de disco ou outra entidade lógica ou física.

Memória Virtual

É uma técnica que usa a memória secundária como uma cache para armazenamento secundário. Houve duas motivações principais: permitir... Continue a ler "Gerenciamento de Memória e Sistemas de Arquivos" »

Padrões de Projeto — Resumo e Quando Usar

Classificado em Computação

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

Resumo dos principais padrões de projeto (design patterns), com motivação, uso e exemplos práticos para facilitar a tomada de decisão na arquitetura de software.

Abstract Factory

Proporciona uma interface para criação de famílias de objetos relacionados ou dependentes sem especificar suas classes concretas.

Quando utilizar

  • O sistema deve ser configurado com uma de múltiplas famílias de produtos.
  • Estes produtos relacionados são projetados para ser utilizados juntos, e você quer garantir essa restrição.

Exemplo

Montar uma interface gráfica para vários sistemas operacionais; família de componentes gráficos:

  • Windows
  • Linux

Builder

Separa a construção de um objeto complexo da sua representação, permitindo diferentes tipos de representação... Continue a ler "Padrões de Projeto — Resumo e Quando Usar" »

Algoritmos de Busca e Ordenação em Estruturas de Dados

Classificado em Computação

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

Algoritmos de Busca

Busca Sequencial

  • Percorre cada item do vetor até encontrar a informação solicitada.
  • Apresenta baixo desempenho quando se tem uma grande quantidade de registros.
  • Melhor desempenho quando os dados estão ordenados.

Busca Binária

  • Divide o vetor ao meio e compara o elemento central com o procurado.
  • Se o elemento procurado for menor, repete o processo no lado esquerdo; se for maior, repete no lado direito.
  • Os elementos devem estar ordenados.
  • Desempenho melhor que a busca sequencial.

Busca por Interpolação

  • É uma variação da busca binária.
  • Escolhe a próxima posição pesquisada com base em uma estimativa sobre a posição do elemento procurado em relação ao restante do vetor.
  • Pode ser mais eficiente do que a pesquisa binária,
... Continue a ler "Algoritmos de Busca e Ordenação em Estruturas de Dados" »

Sistemas de Arquivos e Gerenciamento de Disco

Classificado em Computação

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

Questões sobre Sistemas Operacionais

1. Explique qual é a finalidade dos sistemas de arquivos?

Resposta: É um conjunto de estruturas lógicas e de rotinas que permitem ao sistema operacional controlar o acesso ao disco rígido.

2. Explique o que são "clusters" ou unidades de alocação?

Resposta: É o nome dado a um sistema que seleciona dois ou mais computadores para que estes trabalhem de maneira conjunta no intuito de processar uma tarefa. Estas máquinas dividem entre si as atividades de processamento e executam este trabalho de maneira simultânea.

3. Comente sobre as vantagens e desvantagens em se definir grandes unidades de alocação em um disco rígido?

Resposta: Pode-se obter resultados tão bons quanto ou até superiores aos de um... Continue a ler "Sistemas de Arquivos e Gerenciamento de Disco" »

Padrões de Projeto: Guia para Desenvolvedores

Classificado em Computação

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

Padrões de Projeto: O Que São e Por Que Usar?

Padrões de projeto existem para evitar reinventar algo que já foi inventado, para melhorar a qualidade do software, a sua documentação e facilitar a comunicação geral. Eles não definem soluções exatas, não resolvem todos os problemas de design e não são exclusivos de Orientação a Objetos (OO).

Características dos Padrões de Projeto

  • Encapsulamento: Deve encapsular um problema ou uma solução bem definida e específica, deve ser independente do restante do software e sua aplicação deve ser clara.
  • Generalidade: Deve permitir a construção de outras implementações.
  • Equilíbrio: Deve haver uma razão para utilizar o padrão (restrição, análise abstrata, observação, exemplos e
... Continue a ler "Padrões de Projeto: Guia para Desenvolvedores" »

Software Livre, Comunidades e Inclusão Digital

Classificado em Computação

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

Software Livre vs. Código Aberto

O termo código aberto afirma que qualquer pessoa pode ter acesso ao código do programa, mas o seu desenvolvedor determina as suas condições de uso.

Entre os motivos alegados para a utilização de software privado no servidor, incluem-se a facilidade de uso e a dificuldade de encontrar técnicos especialistas em sistemas de software livre.

Já nos sistemas que utilizam softwares livres, em todos os casos, o motivo da utilização está diretamente relacionado à segurança da rede, à sua leveza e à facilidade de modificação e acesso ao código-fonte.

Por que Usar Software Livre?

  • Utilizar o software para qualquer finalidade;
  • Interagir e compartilhar soluções com a sua comunidade, seja ela física ou virtual.
... Continue a ler "Software Livre, Comunidades e Inclusão Digital" »

CMMI e Requisitos Funcionais e Não Funcionais

Classificado em Computação

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

CMMI

Inicial: Processos são imprevisíveis, pouco controlados e reativos.

Gerenciado: Processos são caracterizados por projeto e as ações são frequentemente reativas.

Definido: Processos são caracterizados para a organização e são proativos.

Quantitativamente Gerenciado: Processos são medidos e controlados.

Otimização: Foco contínuo na melhoria dos processos.

Modelos de Desenvolvimento

Linear: Definição de requisitos, viabilidade do sistema, estabilização dos requisitos, projeto, modelagem.

Cascata: Processo linear, 7 fases: Viabilidade, Requisitos, Projeto, Codificação e Teste, Integração, Entrega e Aceitação, Manutenção.

Prototipação (Iterativo): Ouvir o cliente, avaliação do cliente, desenho e construção.

Incremental:... Continue a ler "CMMI e Requisitos Funcionais e Não Funcionais" »

Gerenciamento e Projeto de Banco de Dados

Classificado em Computação

Escrito em em português com um tamanho de 13,91 KB

Dados e Informações

  • Dados: Fatos brutos.
  • Informações: Resultado do processamento de dados brutos para revelar seu significado.
  • Gerenciamento de dados: Foca na geração, no armazenamento e na recuperação adequada dos dados.

Banco de Dados

  • Banco de dados: Coleção logicamente coerente de dados com algum significado. É projetado, construído e populado com dados para uma finalidade específica.
  • Base de dados: Refere-se aos dados armazenados no sistema de banco de dados.
  • Sistema de Gerenciamento de Banco de Dados (SGBD): Conjunto de programas que gerenciam a estrutura do banco de dados e controlam o acesso aos dados armazenados. Facilita o processo de definição, construção, manipulação e compartilhamento de bancos de dados entre diversos
... Continue a ler "Gerenciamento e Projeto de Banco de Dados" »