Anotações, resumos, trabalhos, provas e exercícios de Computação de Outros cursos

Lista 3: Exercícios de Microcontroladores AVR (Timers, USART e ADC)

Computação4,84 KB

Lista 3: Exercícios de Microcontroladores

PERGUNTAS LISTA 3

1. Escreva um programa em C para comutar todos os bits de PORTB continuamente, com um delay entre cada alternância. Use o Timer 0 para gerar o delay, no modo normal e sem prescaler.

2. Escreva um programa em C para comutar o bit PB4 a cada 70 µs. Use o Timer 0 no modo normal e escolha o fator do prescaler adequadamente. Assuma XTAL = 16 MHz (cristal).

3. Quais os valores adequados para os registradores TCCR0A e TCCR0B para configurar o Timer 0 no modo normal, sem prescaler e com o clock vindo do cristal?

4. Assumindo XTAL = 8 MHz e que queremos gerar uma onda quadrada no pino PB7, qual a frequência mínima que a onda quadrada pode ter se for usado o Timer 1?

5. Programe o Timer 0 em...

Continue lendo "Lista 3: Exercícios de Microcontroladores AVR (Timers, USART e ADC)" »

Guia Completo de Comandos Transact-SQL e SQL Server

Computação42,95 KB

GROUP BY (Transact-SQL)

Agrupa um conjunto de linhas selecionadas em um conjunto de linhas de resumo pelos valores de uma ou mais colunas ou expressões no SQL Server.

http://www.devmedia.com.br/imagens/articles/233147/ProdutosTable.JPG

SELECT Tipo, SUM(Quantidade) AS 'Quantidade em Estoque' FROM Produtos GROUP BY Tipo

Exemplo com Inner Join

-- Selecione os produtos para exibir a quantidade de tipos de produtos agrupando por código da categoria

select Categoryname,COUNT(*) from Categories as c inner join products as p on p.CategoryID = c.CategoryID group by Categoryname

/* A média dos preços dos produtos por categoria apenas dos produtos com codcategoria maior que 5 */

select Categoryname,avg(Unitprice) as 'media' from Categories as c inner join products as p on p.CategoryID = c.CategoryID where c.CategoryID

...
Continue lendo "Guia Completo de Comandos Transact-SQL e SQL Server" »

Guia Completo de Servlets e JSP para Desenvolvimento Web

Computação4,01 KB

Servlets e JSP: Fundamentos

Servlets e JSP são a tecnologia básica para o desenvolvimento de sistemas web em Java. Um arquivo com a extensão .jsp é transformado em um arquivo .java pelo container, sendo depois compilado para um .class que será executado. Servlets são subclasses que herdam de Servlet, GenericServlet ou HttpServlet.

Java Server Pages (JSP) é uma linguagem de script que permite integrar HTML com tags JSP e código Java. Em servlets, tags HTML podem estar misturadas em código Java, enquanto em JSP podemos ter códigos Java misturados a tags HTML e JSP. Servlets são mais úteis no desenvolvimento de controles, enquanto JSP são mais eficazes na camada de apresentação.

Diretivas de Página e Atributos JSP

  • Importar pacotes:
...
Continue lendo "Guia Completo de Servlets e JSP para Desenvolvimento Web" »

Linguagens Livres de Contexto e Autômatos com Pilha

Computação4,74 KB

Linguagem Livre de Contexto (LLC)

A Classe das Linguagens Livres de Contexto (LLC), ou Tipo 2, contém a Classe das Linguagens Regulares, ou seja, compreende um universo mais amplo de linguagens. Com isso:

  • Trata-se melhor de questões como parênteses balanceados e construções bloco-estruturadas.
  • Os algoritmos reconhecedores e geradores que implementam as Linguagens Livres de Contexto são mais simples e possuem boa eficiência.
  • As aplicações e os resultados da LLC são analisadores sintáticos, tradutores de linguagem e processadores de texto em geral.

A forma de estudo dessa classe é desenvolvida por um gerador (gramática) e um operacional ou reconhecedor (autômato), como:

  • Gramática Livre de Contexto: Neste caso, as regras de produção
...
Continue lendo "Linguagens Livres de Contexto e Autômatos com Pilha" »

Algoritmos e Estruturas de Dados Essenciais em C# e Java

Computação4,19 KB

Algoritmos de Ordenação

1. Insertion Sort (Ordenação por Inserção)

public static int[] insertionSort(int[] vetor)
{
    int i, j, atual;
    for (i = 1; i < vetor.length; i++)
    {
        atual = vetor[i];
        j = i;
        while ((j > 0) && (vetor[j - 1] > atual))
        {
            vetor[j] = vetor[j - 1];
            j = j - 1;
        }
        vetor[j] = atual;
    }
    return vetor;
}

2. Ordenação Simples de Vetor

void ordena(int vet[]) {
    int i, j, aux;
    for (i = 0; i < 5; i++) {
        for (j = 0; j < 5; j++) {
            if (vet[i] < vet[j]) {
                aux = vet[i];
                vet[i] = vet[j];
                vet[j] = aux;
            }
        }
    }
}

Classificação de

...
Continue lendo "Algoritmos e Estruturas de Dados Essenciais em C# e Java" »

Matrículas, Papéis e XML em Oracle: Guia Completo

Computação4,56 KB

1) Modelagem de Matrículas: Tabelas, Sequences, Triggers e Procedure

As tabelas utilizadas para matrículas são:
  • ALUNO: codigo INT PRIMARY KEY NOT NULL, nome VARCHAR2(50), email VARCHAR2(50), curso INT, chave estrangeira referenciando a tabela CURSO.
  • CURSO: codigo INT PRIMARY KEY NOT NULL, descricao VARCHAR2(50).
  • RESUMO: curso INT, chave estrangeira referenciando a tabela CURSO, quantidade INT.
Cria-se uma SEQUENCE para cada tabela, de modo que os campos "codigo" sejam controlados pelas respectivas SEQUENCEs.
Uma TRIGGER para cada tabela gera o próximo código antes da inclusão de dados.
Uma STORED PROCEDURE alimenta a tabela RESUMO com a quantidade de matrículas efetuadas por curso. Após todas as matrículas, executa-se a procedure para gerar
...
Continue lendo "Matrículas, Papéis e XML em Oracle: Guia Completo" »

VPN: Segurança e Protocolos

Computação32,27 KB

VPN: Funções Básicas

A utilização de redes públicas apresenta custos muito menores que os obtidos com a implantação de redes privadas, sendo este o grande estímulo para o uso de VPNs. Uma VPN provê um conjunto de funções que garantem confidencialidade, integridade e autenticidade.

Confidencialidade

Em meios públicos de comunicação, a tarefa de interpretar uma sequência de dados é simples. É imprescindível que os dados que trafeguem sejam privados, de forma que, mesmo que sejam capturados, não possam ser entendidos.

Integridade

É necessário garantir que os dados não sejam adulterados e reencaminhados. Quaisquer tentativas nesse sentido não devem ter sucesso, permitindo que somente dados válidos sejam recebidos pelas aplicações...

Continue lendo "VPN: Segurança e Protocolos" »

Sistemas Operacionais: Kernel, Processos e Memória

Computação4,79 KB

Kernel

O kernel é a ligação entre o processamento dos dados e os programas; é responsável por ser o elo do hardware (parte física) com o software (parte lógica) do computador. Em outras palavras, o principal objetivo é gerenciar o computador e permitir que os aplicativos sejam executados e façam uso dos recursos que a máquina tem. O núcleo também tem que garantir, por exemplo, que a memória RAM seja usada em seu potencial sem risco para o computador.

Processos

Processo é um módulo executável único, que corre concorrentemente com outros módulos executáveis. Processos são módulos separados e carregáveis, ao contrário de threads, que não podem ser carregadas da mesma forma. Múltiplas threads de execução podem ocorrer dentro...

Continue lendo "Sistemas Operacionais: Kernel, Processos e Memória" »

As 7 Camadas do Modelo OSI: Funções e Protocolos

Computação3,81 KB

1. Camada Física

Início de todo processo: sinais de cabos convertidos em elétricos. Objetivo: criar sinais elétricos e ópticos que representam bits em cada quadro.

3 formas básicas de meio físico:

  • Cabo de cobre: pulsos elétricos;
  • Fibra: sinais de luz;
  • Sem fio: rádio.

Codificação: converte fluxo de bits de dados em código predefinido.

Sinalização: a camada física gera sinais ópticos, elétricos e sem fio que representam 1 e 0 no meio físico.

Ethernet: técnica para conexão entre hosts de uma rede LAN baseada no envio de pacotes. Protocolo Ethernet: cada ponto tem uma chave de 48 bits (MAC), assegurando endereços distintos aos sistemas.

2. Camada de Enlace

Transferência de quadros de dados sem erros de um nó para outro através da...

Continue lendo "As 7 Camadas do Modelo OSI: Funções e Protocolos" »

Entenda a Assinatura Digital e Criptografia

Computação3,9 KB

Assinatura Digital: Autenticidade e Segurança

A assinatura digital é uma tecnologia que possibilita ao usuário confiança na identificação de arquivos, conferindo autenticidade e segurança, além de garantir a consistência do arquivo assinado. Ao assinar um arquivo digitalmente, o usuário afirma ser o autor e se responsabiliza pelo conteúdo. A assinatura é composta por um grupo de métodos de algoritmos criptográficos, referenciados no arquivo assinado.

A assinatura digital pode ser utilizada no envio e recebimento de mensagens de e-mail. O destinatário pode validar o recebimento, verificando se o e-mail possui a assinatura digital como garantia de que o remetente é o criador verídico da mensagem recebida.

Uso de Chaves Assimétricas

...
Continue lendo "Entenda a Assinatura Digital e Criptografia" »