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

Ordenar por
Matéria
Nível

Criptografia: Técnicas Clássicas e Modernas de Cifragem

Classificado em Computação

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

Criptografia II:

Técnicas Clássicas de Cifragem

  • Cifra de César: É uma cifra de substituição em que cada letra é substituída por outra letra que está em alguma posição fixa adiante no alfabeto. A cifra de César é facilmente quebrada utilizando força bruta.
  • ROT13 ("Rotate by 13 places"): É uma cifra de substituição derivada da cifra de César que utiliza um deslocamento fixo de 13 letras, o que faz com que o mesmo algoritmo seja utilizado para cifrar e decifrar.
  • Cifras Monoalfabéticas: São cifras de substituição derivadas da cifra de César em que cada letra é substituída por qualquer outra letra do alfabeto que ainda não foi utilizada. Aumenta consideravelmente o número de chaves possíveis de 25 (da cifra de César) para
... Continue a ler "Criptografia: Técnicas Clássicas e Modernas de Cifragem" »

Exercícios: Estruturas de Dados e Algoritmos Python

Classificado em Computação

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

1. Saída do Algoritmo Bubble Sort

Observe que dentro da função bubble_sort existe uma função print que mostra o passo a passo da ordenação. Mostre o que será apresentado na saída pela função print quando executamos o programa abaixo.


def bubble_sort(lista):
    elementos = len(lista) - 1
    # Loop externo para passagens
    for j in range(elementos):
        # Loop interno para comparações e trocas
        for i in range(elementos - j): # Otimização: reduzir o range a cada passagem
            if lista[i] > lista[i+1]:
                # Troca de elementos
                lista[i], lista[i+1] = lista[i+1], lista[i]
        print(lista) # Imprime o estado da lista após cada passagem completa
    return lista

vetor = [9, 5,
... Continue a ler "Exercícios: Estruturas de Dados e Algoritmos Python" »

Algoritmos Essenciais: Análise, Busca e Ordenação

Classificado em Computação

Escrito em em português com um tamanho de 25,82 KB

Importância e Aplicabilidade da Técnica de Força Bruta

A força bruta é aplicável a uma ampla variedade de problemas. Para alguns problemas importantes, a técnica fornece algoritmos razoáveis independentemente do tamanho do problema, como é o caso, por exemplo, da ordenação, busca sequencial e multiplicação de matrizes.

Técnica de Backtracking: Descrição e Aplicabilidade

É um método para realizar busca exaustiva, isto é, avaliar todas as possíveis soluções de um problema. É geralmente aplicado a problemas de otimização.

Exercícios de Aplicação do Método Húngaro

Nos exercícios 3, 4, 5 e 6, aplique o método húngaro para resolver os problemas que estão sendo propostos. (Exemplo extraído de Anton & Rores, 2001,... Continue a ler "Algoritmos Essenciais: Análise, Busca e Ordenação" »

Quiz VTP e STP: Fundamentos de Rede

Classificado em Computação

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

1. O que faz um switch no modo cliente VTP em um domínio de gerenciamento VTP quando recebe uma atualização de resumo com um número de revisão superior ao número de revisão atual?

  • Encaminhamento suspenso até que receba o subconjunto de atualização das publicações.
  • - Emite um pedido de atualização para as informações da nova VLAN.
  • Atualiza o número de revisão e envia para os outros switches.
  • Exclui as VLANs não incluídas na atualização de resumo.
  • Envia atualizações de resumo para avisar os outros switches sobre mudanças de estado.
  • Nenhuma das opções acima.

2. Qual é a causa para um switch VTP configurado emitir uma atualização de resumo?

  • - Cinco minutos se passaram no temporizador de atualizações.
  • A porta do switch está
... Continue a ler "Quiz VTP e STP: Fundamentos de Rede" »

Gestures em Aplicativos Móveis: Padrões de Interação

Classificado em Computação

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

São formas de interação comuns presentes em aplicativos móveis que se tornaram padrão ao longo da evolução.

Observável:

o Tipo de informação que fica “observando” alguma alteração dos dados. É diferente de um Listener.

Listener:

Após a alteração no banco, é feito um aviso.

MongoDB:

Esse banco foi projetado para armazenar e processar uma grande quantidade de dados distribuídos em diversas máquinas

MONDOD: Servidor

MONGO: Cliente

Vantagem: Grande processamento de dados simultâneos.

Códigos:

(Ainda não criou o BD) usedb unip ->(Collection) define o nome do banco, ao criar a coleção já cria o banco, quando executado pela primeira vez.

db.leonardo.insert ([{ _id: 1, nome: "Leonardo"}, { _id:2, nome: "Milena"}]) ->

Criando dois... Continue a ler "Gestures em Aplicativos Móveis: Padrões de Interação" »

CORBA, RMI e DCOM: Tecnologias de Objetos Distribuídos

Classificado em Computação

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

CORBA (Common Object Request Broker Architecture)

Desenvolvido em 1990, o CORBA (Common Object Request Broker Architecture) habilita invocações de métodos em objetos distribuídos residentes em qualquer local de uma rede, como se fossem objetos locais.

Os serviços CORBA são descritos através de uma interface escrita em IDL (Interface Definition Language). Uma implementação de CORBA emprega os ORBs (Object Request Brokers), localizados tanto no cliente quanto no servidor, para criar e gerenciar comunicações cliente-servidor entre objetos.

RMI (Remote Method Invocation)

O Remote Method Invocation (RMI) foi projetado para suportar chamadas de métodos remotos entre máquinas virtuais Java (JVM).

Um objeto RMI é basicamente um objeto Java... Continue a ler "CORBA, RMI e DCOM: Tecnologias de Objetos Distribuídos" »

Protótipos e Avaliação Heurística: Conceitos e Aplicações

Classificado em Computação

Escrito em em português com um tamanho de 1,82 KB

Protótipos: Conceitos e Classificações

Protótipo = representação correta, mas parcial, do sistema que se pretende desenvolver; permite aos usuários interagirem com o sistema e explorar sua adequação; reduz o tempo e o custo de desenvolvimento. Exemplos: Telas ou conjunto de telas feitas em papel; vídeo simulando uma tarefa; modelo 3D.

Vantagens dos Protótipos

  • São mais rápidos de construir
  • Podem ser avaliados, mesmo feitos em papel
  • Pode-se experimentar várias alternativas de design
  • Alterações são fáceis e rápidas
  • Falhas graves podem ser descartadas sem muito custo
  • Mantém o desenho centrado no usuário

Design Paralelo

Cada pessoa cria soluções alternativas para a mesma interface e, após concluído, a equipe analisa todas as soluções

... Continue a ler "Protótipos e Avaliação Heurística: Conceitos e Aplicações" »

Protocolos de Roteamento: Distância Vetor e Link State

Classificado em Computação

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

Protocolo DISTANCIA VETOR

▪ Cada router envia uma lista de custos (distâncias) das rotas de si próprio para todos os nós vizinhos ▪ O algoritmo é responsável por determinar o próximo salto (next hop) para cada rede remota ▪ Cada nó mantém uma tabela de encaminhamento (Destino, Custo, Next Hop) ▪ Usa as distâncias (custo) comunicadas pelos seus vizinhos e os custos das ligações com cada uma delas ▪ Os vetores trocados entre nós são enviados periodicamente ou sempre que ocorrerem mudanças (Triggered Update)

Desvantagens ▪ Tempos de convergência elevados para novas configurações de rede ou alterações de topologia original ▪ Vantagens ▪ Fáceis de configurar ▪ Úteis para pequenas redes ▪ Pouco exigentes... Continue a ler "Protocolos de Roteamento: Distância Vetor e Link State" »

Conceitos Essenciais de Processos e Threads

Classificado em Computação

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

2 - Indique a informação que faz parte de um processo, incluindo o PCB: A informação que existe num processo são os dados, o código e o PCB. O PCB é composto pelos estados, o program counter, o ID, os registos, os ficheiros, o Priben e o Tempherh, sendo estes últimos dois tipos de escalonamento.

3 - Compare, em termos de funcionamento, vantagens e desvantagens, threads de kernel versus threads de user level: As threads de kernel têm vantagem em relação às threads de user level porque as threads de user level são consideradas processos pelo sistema operativo. Assim, as threads de user level apenas podem correr em 1 CPU e não em N CPUs, e são bloqueantes. Ou seja, quando precisam de informação, supostamente o processo é obrigado... Continue a ler "Conceitos Essenciais de Processos e Threads" »

Análise Léxica: Erros, Buffers e Reconhecimento de Tokens

Classificado em Computação

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

Erros Léxicos

  • Acontecem quando nenhum dos padrões para tokens casa com nenhum prefixo da entrada restante.
  • Estratégia mais simples: o "Modo Pânico" de recuperação de erro.
  • Remover os caracteres seguintes da entrada restante, até que o analisador léxico possa encontrar um token bem formado no início da entrada restante.
  • Outras ações possíveis:
    • Remover um caractere da entrada restante.
    • Inserir um caractere que falta na entrada restante.
    • Substituir um caractere por outro.
    • Transpor dois caracteres adjacentes.
  • Para isso, é necessário verificar se um prefixo da entrada restante pode ser transformado em um lexema válido por uma única transformação.
  • Na prática, a maioria dos erros léxicos envolve um único caractere.

Buffers de Entrada

Em algumas... Continue a ler "Análise Léxica: Erros, Buffers e Reconhecimento de Tokens" »