Anotações, resumos, trabalhos, provas e exercícios de Computação de Concurso público

Tratamento de Exceções em C#

Computação2,39 KB

Exceções

Representa a ocorrência de uma situação anormal durante a execução de um programa. Quando ativada, aborta a execução normal do programa até existir forma de a tratar e termina a execução de todo o programa. No C# as situações excecionais ou de erro são tratadas pelo mecanismo de tratamento de exceções.

Que situações excecionais ou de erro deve ter o programador em conta?

O programador deve ter em conta possíveis situações excecionais ou de erro como:

  • Escrita em ficheiro (Esgotar-se espaço em disco)
  • Acesso a um site remoto (Rede ficar indisponível)
  • Criação de um novo objeto (Não haver mais memória disponível)

Como se faz o tratamento de erros na linguagem C#?

Usa-se o sistema de exceções sempre que pode existir...

Continue lendo "Tratamento de Exceções em C#" »

Fundamentos da Criptografia: Algoritmos e Segurança

Computação25,91 KB

Cifras Simétricas

Algoritmos de chave simétrica são divididos em cifras de fluxo (RC4) e em cifras por bloco. As cifras de fluxo cifram os bits da mensagem um a um, enquanto que as cifras por bloco pegam um número de bits e cifram como uma única unidade. Tipicamente, são utilizados blocos de 64 bits; o algoritmo AES usa blocos de 128, 192 ou 256 bits e chaves de 128, 192 ou 256 bits.

Algoritmo Simétrico: DES

O DES (Data Encryption Standard) é um algoritmo de bloco simétrico desenvolvido pela IBM. Atualmente, é o algoritmo mais divulgado e utilizado em sistemas criptográficos no mercado mundial. A chave criptográfica do DES possui apenas 56 bits; assim, a segurança do DES é bastante questionada: o algoritmo pode ser quebrado por um...

Continue lendo "Fundamentos da Criptografia: Algoritmos e Segurança" »

C#: Exceções, Interfaces e Iteradores - Guia de Conceitos Fundamentais

Computação3,78 KB

O que é uma Exceção? Como Lançar e Tratar?

Uma exceção consiste numa instância de System.Exception ou de uma classe derivada desta.

O programador pode:

  • Criar uma exceção utilizando diretamente a classe System.Exception.
  • Definir novas classes, derivadas de System.ApplicationException (Classe base reservada para exceções gerais de um programa).

Nota: Em C#, apenas podem ser lançados objetos que derivem de System.Exception.

O que são Exceções Aritméticas?

Dá-se este nome quando são ultrapassados os limites numéricos das variáveis.

Controlo de Exceções Aritméticas (Checked/Unchecked)

O C# permite obrigar ou evitar o lançamento de exceções aritméticas através das palavras-chave checked e unchecked:

  • Obrigar a lançar exceções
...
Continue lendo "C#: Exceções, Interfaces e Iteradores - Guia de Conceitos Fundamentais" »

Problemas Computacionais: Classificação e Conceitos

Computação3,27 KB

Classifique, Conceitue e Exemplifique Problemas Computacionais (Classes e Subclasses):

Problemas Indecidíveis:

  • Impossíveis de serem solucionados;

Problemas Intratáveis:

  • Possíveis com recursos ilimitados, porém impossíveis com recursos limitados;

Problemas Tratáveis:

  • Possíveis de serem solucionados com recursos limitados;

Conjuntos Recursivos e Conjuntos Recursivamente Enumeráveis

Um conjunto é dito Recursivamente Enumerável se ele pode ser representado (solucionado) por uma procedure, e Recursivo se ele pode ser representado (solucionado) por um algoritmo.

Problemas Decidíveis e Indecidíveis X Algoritmos e Procedures

Um problema é decidível (tratável ou não) se e somente se ele é resolvível por um algoritmo, para qualquer entrada pertencente...

Continue lendo "Problemas Computacionais: Classificação e Conceitos" »

Arquitetura Centralizada, Cliente/Servidor e Backup

Computação2,51 KB

O que é uma Arquitetura Centralizada?

Arquitetura Centralizada

  • Possui apenas um gerente, gerenciando todos os elementos da rede.
  • Banco de dados único e centralizado.
  • Único responsável pela geração de alerta, coleta e administração das informações dos elementos.


O que é uma Rede de Arquitetura Cliente/Servidor?

É uma arquitetura na qual o processamento da informação é dividido em módulos ou processos distintos. Um processo é pela manutenção da informação (servidores) e outros responsáveis pela obtenção de dados dos clientes.


Tipos de Backup

Tipos de backup: Full, diferencial e incremental.


Full = faz a cópia completa / diferencial = backup apenas das últimas modificações relativas ao último backup full / incremental = faz...

Continue lendo "Arquitetura Centralizada, Cliente/Servidor e Backup" »

Conceitos Essenciais: Dados, Informação, Segurança e Indústria 4.0

Computação5,84 KB

Dados: Para Laudon e Laudon (2004), dados são fatos brutos que representam eventos que estão ocorrendo nas organizações ou no ambiente físico antes de terem sido organizados e arranjados de uma forma que as pessoas possam entendê-los e usá-los.

Informação: É um conjunto de dados que sofrem algum tipo de processamento e passa a ser algo significativo para o ser humano na tomada de decisão.

Conhecimento: São os dados trabalhados e analisados.

Sistema: Conjunto de elementos que de alguma forma interagem entre si para cumprir um objetivo comum.

Sistema de Informação: Conjuntos de componentes que coletam e processam informações para ajudar na tomada de decisão e controle.

Processos Organizacionais: Maneira como as atitudes diárias das...

Continue lendo "Conceitos Essenciais: Dados, Informação, Segurança e Indústria 4.0" »

**Uso e Aplicações do Octave no Processamento de Sinais Digitais**

Computação2,64 KB

Assunto: Uso e Aplicações do Octave para Análise e Processamento de Sinais Digitais

Um sinal é uma função que carrega algum tipo de informação. Geralmente, é interessante conseguir extrair esta informação do sinal. É isto o que nossos ouvidos fazem, por exemplo, ao reconhecer uma música ou voz ou o que nossos olhos fazem na observação de um quadro. Esta extração de informações é chamada de processamento de sinais.

Exemplos de Processamento Digital de Sinais:

  • Multimídia (CD, DVD, Blu-ray, MP3 players, transmissão de áudio e vídeo de alta resolução)
  • Engenharia biomédica (ultrassonografias, eletrocardiogramas)

Um sinal somente será contínuo se o seu domínio for IR ou um intervalo de IR, ou seja, a posição e velocidade...

Continue lendo "**Uso e Aplicações do Octave no Processamento de Sinais Digitais**" »

Exercícios: Estruturas de Dados e Algoritmos Python

Computação6,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 lendo "Exercícios: Estruturas de Dados e Algoritmos Python" »

Introdução à Programação C#

Computação2,78 KB

Enumeradores

Quais são as formas de definir um Enumerador numa classe?

Com propriedades e métodos.

Destrutores

O que é um Destrutor?

Destrutor (finalizers) é executado automaticamente pelo garbage collector quando o objeto já não é necessário. O programador pode definir uma implementação deste método para garantir o fecho de:

  • Ligações às bases de dados
  • Ficheiros abertos
  • Objetos gráficos, etc.

Os destrutores apenas são executados quando o CLR entender.

Por que a utilização da implementação de um destrutor próprio deve ser evitada?

Porque o programador não tem garantia de quando o destrutor é chamado.

Métodos "dispose" e "close"

O que são os métodos “dispose” e “close”?

Métodos definidos e invocados pelo utilizador para libertar...

Continue lendo "Introdução à Programação C#" »

Fundamentos de Compiladores: Autômatos, Análise e Parsing

Computação2,95 KB

Autômato com Pilha (AP) e Linguagens Livres de Contexto

  • Linguagens Livres de Contexto (LLC) compreendem um universo mais amplo do que as linguagens regulares.
  • As LLCs são geradas pelas Gramáticas Livres de Contexto e reconhecidas por um Autômato com Pilha (AP), que possui memória auxiliar do tipo pilha.

Estrutura do Autômato com Pilha

O Autômato com Pilha é uma máquina construída por 4 partes:

  • Fita: Dispositivo de entrada.
  • Unidade de Controle: Reflete o estado atual da máquina.
  • Programa ou Função de Transição: Comanda leituras e define o estado da máquina.
  • Pilha: Memória auxiliar sem limites de tamanho.

Reconhecimento da Palavra

O reconhecimento de uma palavra pode resultar em três cenários:

  1. O autômato para e a palavra é reconhecida
...
Continue lendo "Fundamentos de Compiladores: Autômatos, Análise e Parsing" »