Anotações, resumos, trabalhos, provas e problemas de Computação

Fundamentos de C#: Estruturas, Persistência e Eventos

Computação2,7 KB

Classe Pessoa

class Pessoa
{
    public Pessoa(int cod, string name)
    {
        Codigo = cod;
        Nome = name;
    }
    public int Codigo { get; set; }
    public string Nome { get; set; }
}

Estruturas de Dados

  • Queue (Fila): FIFO (PEPS) – Primeiro que Entra, Primeiro que Sai.
  • Stack (Pilha): LIFO (UEPS) – Último que Entra, Primeiro que Sai.
  • LinkedList (Lista Encadeada): Percorre a lista do início para o fim ou do fim para o início.

Bancos de Dados e Persistência

Bancos de dados são arquivos ou sistemas com uma estrutura regular que organizam informações.

Objetos são manipulados e armazenados em memória (RAM), sendo, portanto, voláteis. A Persistência de Objetos é o armazenamento consistente de objetos de uma aplicação orientada...

Continue lendo "Fundamentos de C#: Estruturas, Persistência e Eventos" »

Fundamentos de Modelagem e Programação Orientada a Objetos

Computação3,3 KB

Modelagem e suas Funções

Modelos desempenham as seguintes funções:

  • Descrever exatamente as necessidades para uma situação;
  • Facilitar a discussão;
  • Evitar erros.

A modelagem e a implementação são tratadas separadamente.

Classes e Objetos

Classes

Classes são modelos de abstração de objetos e definem:

  • Os atributos e os comportamentos dos objetos;
  • A “planta” que define um objeto.

Objetos

Objetos são instanciados a partir do molde da classe:

  • É uma única instância de uma classe;
  • Mantém a estrutura e o comportamento definidos pela classe.

O que é uma Classe?

  • Uma classe é um modelo de abstração de objetos do mundo real.
  • A classe define as propriedades e comportamentos de um conjunto de objetos.
  • Uma classe representa uma categoria de objetos
...
Continue lendo "Fundamentos de Modelagem e Programação Orientada a Objetos" »

Máquina de Turing: Conceitos e Computabilidade

Computação4,47 KB

Máquina de Turing


Os componentes da Máquina de Turing são: Fita, Cabeça de Leitura e Gravação, Unidade de Controle, Função de Transição.


Operação da Máquina


Para uma palavra w, aplicar sucessivamente a função programa, a partir de q0 e estando a cabeça de leitura na posição mais à esquerda da fita, até ocorrer uma condição de parada.


Condições de Parada


Estado final: A máquina assume um estado final, a máquina para e a palavra de entrada é aceita.


Função indefinida: A função programa é indefinida para o argumento; a máquina para e a palavra de entrada é rejeitada.


Movimento inválido: O movimento à esquerda quando a cabeça de leitura já está na posição mais à esquerda; a máquina para e a palavra de entrada
...
Continue lendo "Máquina de Turing: Conceitos e Computabilidade" »

Fundamentos de Engenharia de Software e Métodos Ágeis

Computação4,12 KB

Desafios no Desenvolvimento de Software

Muitas empresas priorizam a velocidade de implantação em detrimento da qualidade e dos requisitos, pois estes sofrem mudanças rápidas e imprevisíveis. Frequentemente, quando o software é entregue, a necessidade original pode ter mudado, tornando o produto inútil.

Quando não utilizar métodos ágeis

Não são recomendados para grandes sistemas ou engenharia de sistemas críticos, devido à necessidade de rigorosa análise de segurança, proteção e confiabilidade, que exigem adaptações significativas nos métodos ágeis.

Extreme Programming (XP)

Focado na agilidade das equipes e na qualidade dos projetos, o XP apoia-se em três valores fundamentais:

  • Simplicidade: Desde o levantamento de requisitos
...
Continue lendo "Fundamentos de Engenharia de Software e Métodos Ágeis" »

Conceitos Fundamentais de Programação e Linguagens Formais

Computação11,18 KB

-Cadeia de símbolos: sequência de zero ou mais símbolos de um alfabeto justapostos
-Palavra: cadeia finita de símbolos de um alfabeto ( = palavra vazia)
-Prefixo: qualquer sequência inicial de símbolos de uma palavra
-Sufixo: qualquer sequência final de símbolos de uma palavra
-Subpalavra: qualquer prefixo, sufixo ou sequência de símbolos contíguos de uma palavra
-ALFABETO LINGUAGEM DE PROGRAMAÇÃO:Conjunto de todos os símbolos usados na construção de programas, incluindo:
•Letras •Dígitos •Caracteres especiais (“>”, “/”, “#”, etc.) •Espaço ou “branco”
-Alfabeto binário { a, b } usado com frequência: •Perfeita analogia com a representação interna dos computadores reais (bit = binário) •Manipulação...

Continue lendo "Conceitos Fundamentais de Programação e Linguagens Formais" »

Problemas com Descrição de Conteúdo no Xuletas

Computação2,54 KB

O texto é pouco descritivo, não define bem o conteúdo do documento, ou está muito repetido no Xuletas.

Por favor, tente definir um valor que descreva melhor o documento e o seu conteúdo.

Texto conflictivo:

Sem título 1 O texto é pouco descritivo, não define bem o conteúdo do documento, ou está muito repetido no Xuletas.

Por favor, tente definir um valor que descreva melhor o documento e o seu conteúdo.

Texto conflictivo:

Sem título 1 O texto é pouco descritivo, não define bem o conteúdo do documento, ou está muito repetido no Xuletas.

Por favor, tente definir um valor que descreva melhor o documento e o seu conteúdo.

Texto conflictivo:

Sem título 1 O texto é pouco descritivo, não define bem o conteúdo do documento, ou está muito...

Continue lendo "Problemas com Descrição de Conteúdo no Xuletas" »

Gerência de Redes: Conceitos Fundamentais e Ferramentas Essenciais

Computação4,2 KB

Objetivo da Gerência de Redes

O objetivo da Gerência de Redes é monitorar e controlar segmentos de rede (físicos ou lógicos), assegurando um nível de qualidade. Este processo é realizado pelo gerente, utilizando a estação de gerência.

Etapas do Gerenciamento de Redes

O gerenciamento de redes envolve 3 etapas principais:

  • Coleta de Dados: Processo geral automático de monitoramento de recursos gerenciados.
  • Diagnóstico: Trata os dados a fim de identificar a causa do problema.
  • Ação ou Controle: Após o diagnóstico, cabe a ação ou controle sobre o recurso afetado.

Sistemas de Gerência de Redes

Um Sistema de Gerência de Redes é uma coleção de ferramentas integradas para monitoramento e controle de rede, oferecendo uma interface única...

Continue lendo "Gerência de Redes: Conceitos Fundamentais e Ferramentas Essenciais" »

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

Computação3,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 lendo "Algoritmos de Busca e Ordenação em Estruturas de Dados" »

Conceitos Fundamentais de Banco de Dados e SGBD

Computação11,39 KB

Banco de Dados

É um conjunto de arquivos relacionados entre si. Os arquivos são relacionados devido ao relacionamento existente entre as informações contidas neles.

Sistema de Banco de Dados (SBD)

É um sistema de manutenção de registros ou informação por computador ou automatizado que tem por objetivo manter as informações armazenadas e gerenciadas com segurança.

Componentes de um SBD: Dados, Hardware, Software e Usuário

Dados

Os dados de um SBD deverão ser integrados e compartilhados.

  • Integrar significa eliminação da redundância. Redundância é a informação que é armazenada pelo computador mais de uma vez na mesma tabela ou arquivo no banco de dados, em tabelas ou arquivos diferentes do banco de dados ou em outras tabelas de
...
Continue lendo "Conceitos Fundamentais de Banco de Dados e SGBD" »

Fundamentos de Engenharia de Software e Gestão de Projetos

Computação3,47 KB

Conceitos Fundamentais de Engenharia de Software

  • Modelagem: Ajuda a visualizar um sistema como ele é ou como se deseja que ele seja.
  • Especificação de um sistema: Levantar as necessidades dos clientes e trabalhar as funcionalidades para modelar o sistema, melhorando a comunicação entre cliente e desenvolvedor.
  • Exemplo de desenvolvimento de sistema: Sistema de cadastro.
  • Principais técnicas de levantamento de dados: Entrevistas, questionários de pesquisa, análise de documentação, prototipação descartável e sessões JAD (Joint Application Design). Exemplo: Sessões JAD são reuniões para levantamento de requisitos.

Qualidade e Requisitos

  • Produtividade: Nível de satisfação na execução de um sistema.
  • Confiabilidade: Certeza de que o software
...
Continue lendo "Fundamentos de Engenharia de Software e Gestão de Projetos" »