Limitações dos Computadores

Tamanho: px
Começar a partir da página:

Download "Limitações dos Computadores"

Transcrição

1 Limitações dos Computadores Baseado em Computers Ltd. What they really can t do, David Harel. Oxford University Press, Computadores e Redes de Comunicação Mestrado em Gestão de Informação, FEUP 2004/07 Sérgio Sobral Nunes mail: [email protected] web:

2 Algoritmos

3 Contexto Os computadores são máquinas poderosas. Permitem controlar aviões, instalações complexas, elevados fluxos de dados em redes de comunicação. Apesar da elevada complexidade, todos os computadores podem ser vistos como uma grande colecção de interruptores (ou bits), ligados ou desligados. Estes interruptores são controlados por algoritmos, programas ou processos computacionais, que respondem a dados recebidos. Sérgio Nunes Comunicações e Redes de Computadores 3

4 Algoritmo - Analogia Entrada Ingredientes Software Receita Hardware Forno Utensílios Bolo Saída Sérgio Nunes Comunicações e Redes de Computadores 4

5 Problemas Algorítmicos Os algoritmos são desenhados para resolver problemas algorítmicos. Especificação de todas as entradas legais Qualquer entrada legal + Algoritmo Caracterização da saída desejada como função da entrada. A saída pretendida Sérgio Nunes Comunicações e Redes de Computadores 5

6 Exemplos de Problemas Entrada: Dois inteiros, A e B. Saída: O número A + 4B Entrada: Um inteiro positivo N. Saída: O somatório dos inteiros de 1 a N. Entrada: Um inteiro positivo N. Saída: Sim se N é primo e Não se não é. Entrada: Dois textos em português. Saída: Uma lista das palavras comuns aos dois textos. Sérgio Nunes Comunicações e Redes de Computadores 6

7 Validação dos Algoritmos Validar um algoritmo é uma tarefa complexa. Validação parcial não é aceitável, é necessário validar o algoritmo para todas as entradas legais. Erros de sintaxe a escrita dos programas contém erros. Erros de lógica a estratégia gizada no algoritmo está errada. Sérgio Nunes Comunicações e Redes de Computadores 7

8 Máquina de Turing Em 1936, Alan Turing apresentou o modelo conceptual de um computador especialmente pensado para a análise da natureza e limites da computação. A Máquina de Turing é composta por uma fita infinita com posições e uma cabeça de leitura/escrita. A fita pode ser deslocada em ambas as direcções e cada posição pode ser lida ou escrita. Sérgio Nunes Comunicações e Redes de Computadores 8

9 Máquina de Turing A Máquina de Turing tornou-se o modelo teórico base para o desenvolvimento de uma teória da computação. Apesar de serem extremamente simples (facilitando o desenvolvimento de teorias), as Máquinas de Turing capturam tudo o que pode ser feito computacionalmente. Tudo o que pode ser feito num computador actual, pode ser feito numa Máquina de Turing. Nenhum computador físico existente consegue fazer mais do que uma Máquina de Turing. Se uma Máquina de Turing consegue resolver um problema, o problema designa-se de computável. Caso contrário é um problema não computável. Sérgio Nunes Comunicações e Redes de Computadores 9

10 Problemas Impossíveis

11 Problemas Impossíveis Existem problemas que não podem ser resolvidos por nenhum computador, presente ou futuro, qualquer que seja o programa a ser executado, mesmo com recursos ilimitados (tempo, armazenamento, outros). O conjunto de todos os problemas algorítmicos pode ser dividido em dois subconjuntos: problemas computáveis e problemas não computáveis. Todos os problemas com um conjunto finito de entradas são computáveis. No limite podemos escrever a saída a apresentar para cada entrada. Sérgio Nunes Comunicações e Redes de Computadores 11

12 Problemas Não Computáveis Problema da Paragem, 1936 (Halting Problem) Dada a descrição de um programa e a entrada inicial, determinar se o programa, quando executado com a entrada definida, alguma vez termina (halts) ou, alternativamente, executa para sempre. Demonstra-se que não existe um algoritmo para este problema. Teorema da Incompletude de Gödel, 1931 Num sistema lógico formal consistente, existem afirmações verdadeiras que não podem ser provadas. Sérgio Nunes Comunicações e Redes de Computadores 12

13 Problema da Paragem O problema da paragem permite explicar porque é que os computadores não conseguem prever problemas e evitar crashes ou bloqueios. Existe um programa que, para uma qualquer máquina de Turing e uma qualquer entrada de dados, determine se a máquina pára (halts)? Prova Assume-se a existência de um algoritmo Halt(p,d) que determina se o programa p perante a entrada d pára ( sim ) ou não, entrando em ciclo infinito ( não ). Um outro algoritmo Trouble(p) invoca o algoritmo Halt usando a entrada recebida e escreve sim se o Halt(p,p) determinar não, caso contrário entra num ciclo infinito. Correspondendo T ao algoritmo Trouble, o que acontece com Halt(T,T)? Se Halt(T,T)= não Touble(T)= sim Halt(T,T) deveria ter sido sim. Se Halt(T,T)= sim Touble(T) entra em ciclo Halt(T,T) deveria ter sido não. Sérgio Nunes Comunicações e Redes de Computadores 13

14 Problemas Não Viáveis

15 Problemas Não Viáveis Mesmo que o problema seja computável, e um algoritmo correcto exista, a execução pode ser demasiado dispendiosa no uso dos recursos, tornando-se impraticável. Um programa de computador consume recursos, nomeadamente tempo (acções executadas) e espaço (armazenamento dos dados utilizados). Diferentes algoritmos para o mesmo problema podem variar significativamente nos recursos consumidos. A diferença entre funções polinomiais (N 2 ) e funções exponenciais (2 N ) é crucial. Sérgio Nunes Comunicações e Redes de Computadores 15

16 Ordens de Complexidade Algoritmo para Ordenação O(N 2 ) Ordenar de forma crescente um conjunto de números. Percorrer a lista de números e obter o menor. Trocar este valor com aquele na primeira posição. Voltar ao primeiro passo excluindo o elemento inicial. Caixeiro Viajante O(N!) Para um conjunto de cidades, descobrir qual é a ordem de visitas que permite percorrer um caminho total mais curto visitando cada cidade apenas uma vez? Testar todas as combinações possíveis e verificar qual a mais curta. Sérgio Nunes Comunicações e Redes de Computadores 16

17 Complexidade de um Algoritmo O(N) - linear para todos os N fazer Instrução O(N 2 ) polinomial desde 1 até N fazer desde 1 até N fazer Instrução O(2 N ) exponencial para um número, testar todas as combinações de dois números (A,B) em que AxB=N O(N) O(N^2) O(2^N) O(N!) O(N!) factorial para N elementos testar todas as combinações possíveis Sérgio Nunes Comunicações e Redes de Computadores 17

18 Problema do Caixeiro Viajante Dado um conjunto de cidades e o custo de viajar entre cada par de cidades, determinar o percurso mais barato de modo a visitar todas as cidades apenas uma vez e voltar ao ponto de origem. A abordagem simples requer a análise de n! permutações. Considerando um milisegundo para analisar cada permutação. 5 cidades 0.1 segundos 10 1 hora anos anos 23 mais do que a idade do universo Sérgio Nunes Comunicações e Redes de Computadores 18

19 Criptografia Problemas difíceis de resolver em tempo útil são importantes na área da criptografia. O método RSA, uma implementação do conceito de criptografia com chaves públicas, recorre a dois conceitos chave: factorização de um número e verificação da primalidade de um número. Enquanto que o teste é possível ser realizado de forma rápida. A factorização de números grandes é um problema para o qual não existem soluções rápidas. Sérgio Nunes Comunicações e Redes de Computadores 19

20 Riscos da Criptografia Mecanismos como o da criptografia têm por base duas assunções fundamentais: Os computadores são demasiado lentos. Somos ignorantes para lidar com estes problemas. Quando houver uma mudança significativa numa destas áreas, os sistemas que utilizam criptografia estão em risco. A invenção de novos paradigmas pode trazer novas abordagens aos problemas actuais. O aumento no desempenho dos computadores pode tornar viável as soluções actuais. Sérgio Nunes Comunicações e Redes de Computadores 20

21 Novas Abordagens Novos paradigmas para o desenvolvimento de algoritmos tentam ultrapassar (minimizar) estas limitações. Computação Paralela Múltiplos computadores a trabalhar em paralelo sobre o mesmo problema. Computação Aleatória Utilização de valores aleatórios durante os passos do algoritmo. Computação Quântica Abordagem baseada nos conceitos da mecânica quântica. Computação Molecular Utilização de moléculas para a resolução de problemas. Sérgio Nunes Comunicações e Redes de Computadores 21

22 A questão sobre se os computadores sabem ou não pensar é equivalente à questão sobre se os submarinos sabem ou não nadar. E. W. Dijkstra

23 Bibliografia Principal David Harel Computers Ltd. what they really can t do. Oxford University Press, A. K. Dewdney The New Turing Omnibus. A. K. Freeman, Sérgio Nunes Comunicações e Redes de Computadores 23

ECO039 Linguagens Formais

ECO039 Linguagens Formais Prof a.dra.thatyana de Faria Piola Seraphim Universidade Federal de Itajubá [email protected] Introdução ˆ As três principais áreas da teoria da computação (Autômatos, Computabilidade e Complexidade)

Leia mais

INFORMÁTICA E TEORIA DA COMPUTAÇÃO

INFORMÁTICA E TEORIA DA COMPUTAÇÃO CAPA INFORMÁTICA E TEORIA DA COMPUTAÇÃO 2014 SUMARÉ Índice Informática... 02 Etimologia... 02 Origem e Concepção... 03 Teoria da Computação... 03 Conclusão... 04 Informática A informática é um termo usado

Leia mais

Análise e Projeto de Algoritmos

Análise e Projeto de Algoritmos Análise e Projeto de Algoritmos Prof. Eduardo Barrére www.ufjf.br/pgcc www.dcc.ufjf.br [email protected] www.barrere.ufjf.br Complexidade de Algoritmos Computabilidade: Um problema é computável

Leia mais

Engenharia de Software

Engenharia de Software Conceitos básicos sobre E.S: Ambiência Caracterização do software Fases de desenvolvimento 1 Introdução Aspectos Introdutórios Crise do Software Definição de Engenharia do Software 2 Crise do Software

Leia mais

Análise e Complexidade de Algoritmos

Análise e Complexidade de Algoritmos Análise e Complexidade de Algoritmos Uma visão de Intratabilidade, Classes P e NP - redução polinomial - NP-completos e NP-difíceis Prof. Rodrigo Rocha [email protected] http://www.bolinhabolinha.com

Leia mais

Fulano de Tal. Relatório Combinado Extended DISC : Análise Comportamental x Feedback 360 FINXS 09.12.2014

Fulano de Tal. Relatório Combinado Extended DISC : Análise Comportamental x Feedback 360 FINXS 09.12.2014 Relatório Combinado Extended DISC : Análise Comportamental x Feedback 360 Este relatório baseia-se nas respostas apresentadas no Inventário de Análise Pessoal comportamentos observados através questionário

Leia mais

CAP. I ERROS EM CÁLCULO NUMÉRICO

CAP. I ERROS EM CÁLCULO NUMÉRICO CAP. I ERROS EM CÁLCULO NUMÉRICO 0. Introdução Por método numérico entende-se um método para calcular a solução de um problema realizando apenas uma sequência finita de operações aritméticas. A obtenção

Leia mais

Introdução a Informática. Prof.: Roberto Franciscatto

Introdução a Informática. Prof.: Roberto Franciscatto Introdução a Informática Prof.: Roberto Franciscatto APRESENTAÇÃO Os computadores chegaram aos diversos níveis das organizações Nestes contexto: Que linguagem entendem? Que produtos podem usar? Dúvidas

Leia mais

RAID. Propõe o aumento da confiabilidade e desempenho do armazenamento em disco. RAID (Redundant Array of Independent Disks )

RAID. Propõe o aumento da confiabilidade e desempenho do armazenamento em disco. RAID (Redundant Array of Independent Disks ) RAID O que é um RAID? RAID RAID (Redundant Array of Independent Disks ) Matriz Redundante de Discos Independentes Propõe o aumento da confiabilidade e desempenho do armazenamento em disco. RAID Surgiu

Leia mais

Programação 2ºSemestre MEEC - 2010/2011. Programação 2º Semestre 2010/2011 Enunciado do projecto

Programação 2ºSemestre MEEC - 2010/2011. Programação 2º Semestre 2010/2011 Enunciado do projecto Mestrado Integrado em Engenharia Electrotécnica e de Computadores Programação 2º Semestre 2010/2011 Enunciado do projecto O projecto a desenvolver pelos alunos consistirá numa sistema de monitorização,

Leia mais

Introdução à Bioinformática. Prof. IVAné@

Introdução à Bioinformática. Prof. IVAné@ Introdução à Bioinformática Prof. IVAné@ Bioinformática União da ciência da computação com a biologia molecular É uma área nova Há 10 anos atrás o termo nem existia Depois da descoberta de Watson e Crick

Leia mais

CI165 Introdução. André Vignatti. 31 de julho de 2014

CI165 Introdução. André Vignatti. 31 de julho de 2014 Introdução 31 de julho de 2014 Antes de mais nada... Os slides de 6 aulas (introdução, insertion sort, mergesort, quicksort, recorrências e limitantes de ordenação) foram originalmente feitos pelos Profs.

Leia mais

O protocolo MODBUS define também o tipo diálogo entre os equipamentos, define por exemplo quem pode enviar dados e em que altura.

O protocolo MODBUS define também o tipo diálogo entre os equipamentos, define por exemplo quem pode enviar dados e em que altura. Universidade de Aveiro Departamento de Engenharia Mecânica Informática Industrial 2010/2011 5 PROTOCOLO DE COMUNICAÇÃO MODBUS 5.1 Protocolo de comunicação MODBUS Este protocolo foi proposto em 1979 pela

Leia mais

Dadas a base e a altura de um triangulo, determinar sua área.

Dadas a base e a altura de um triangulo, determinar sua área. Disciplina Lógica de Programação Visual Ana Rita Dutra dos Santos Especialista em Novas Tecnologias aplicadas a Educação Mestranda em Informática aplicada a Educação [email protected] Conceitos Preliminares

Leia mais

ALGORITMOS E FLUXOGRAMAS

ALGORITMOS E FLUXOGRAMAS ALGORITMOS E FLUXOGRAMAS Prof. André Backes INTRODUÇÃO Computadores = cérebros eletrônicos? Computadores são máquinas e, por si sós, não podem ser inteligentes. Alguém as projetou e deu a ela todas as

Leia mais

1.1. Organização de um Sistema Computacional

1.1. Organização de um Sistema Computacional 1. INTRODUÇÃO 1.1. Organização de um Sistema Computacional Desde a antiguidade, o homem vem desenvolvendo dispositivos elétricoeletrônicos (hardware) que funciona com base em instruções e que são capazes

Leia mais

Introdução aos Sistemas Operativos

Introdução aos Sistemas Operativos Introdução aos Sistemas Operativos Computadores e Redes de Comunicação Mestrado em Gestão de Informação, FEUP 06/07 Sérgio Sobral Nunes mail: [email protected] web: www.fe.up.pt/~ssn Sumário Definição

Leia mais

Interrupções. As interrupções são casos especiais de chamadas de procedimentos.

Interrupções. As interrupções são casos especiais de chamadas de procedimentos. Interrupções Uma interrupção é equivalente a uma chamada de procedimento. A chamada é equivalente a um CALL gerado pela execução de uma instrução. As interrupções são casos especiais de chamadas de procedimentos.

Leia mais

Curso: Técnico de Informática Disciplina: Redes de Computadores. 1- Apresentação Binária

Curso: Técnico de Informática Disciplina: Redes de Computadores. 1- Apresentação Binária 1- Apresentação Binária Os computadores funcionam e armazenam dados mediante a utilização de chaves eletrônicas que são LIGADAS ou DESLIGADAS. Os computadores só entendem e utilizam dados existentes neste

Leia mais

Projetos. Universidade Federal do Espírito Santo - UFES. Mestrado em Informática 2004/1. O Projeto. 1. Introdução. 2.

Projetos. Universidade Federal do Espírito Santo - UFES. Mestrado em Informática 2004/1. O Projeto. 1. Introdução. 2. Pg. 1 Universidade Federal do Espírito Santo - UFES Mestrado em Informática 2004/1 Projetos O Projeto O projeto tem um peso maior na sua nota final pois exigirá de você a utilização de diversas informações

Leia mais

Sistemas de Representação e Raciocínio

Sistemas de Representação e Raciocínio Sistemas de Representação e Raciocínio Introdução à Inteligência Artificial Profa. Josiane Baseado no material de David Poole, Alan Mackworth e Randy Goebel Abril/2007 Inteligência Artificial Objetivo

Leia mais

Teoria dos Números. A Teoria dos Números é a área da matemática que lida com os números inteiros, isto é, com o conjunto

Teoria dos Números. A Teoria dos Números é a área da matemática que lida com os números inteiros, isto é, com o conjunto Teoria dos Números 1 Noções Básicas A Teoria dos Números é a área da matemática que lida com os números inteiros, isto é, com o conjunto Z = {..., 4, 3, 2, 1, 0, 1, 2, 3, 4...}. Ela permite resolver de

Leia mais

Universidade Federal de Alfenas

Universidade Federal de Alfenas Universidade Federal de Alfenas Projeto e Análise de Algoritmos Aula 02 Um pouco da história da computação [email protected] Última aula... Fundamentos de Matemática; Medida do Tempo de Execução

Leia mais

Chord. Tecnologias de Middleware. Fernando Martins - [email protected]

Chord. Tecnologias de Middleware. Fernando Martins - fmp.martins@gmail.com Chord Tecnologias de Middleware 2006/2007 Fernando Martins - [email protected] Tópicos Objectivo Motivação Peer-To-Peer Chord Descrição Geral Características Distintivas Comparação DNS Modelo do Sistema

Leia mais

O Crivo de Eratóstenes. Jones Albuquerque DFM-UFRPE. 2004, Recife - PE.

O Crivo de Eratóstenes. Jones Albuquerque DFM-UFRPE. 2004, Recife - PE. O Crivo de Eratóstenes Jones Albuquerque DFM-UFRPE 2004, Recife - PE. O Algoritmo O Crivo de Eratóstenes encontra o número de primos menor ou igual a algum inteiro positivo número primo é um número que

Leia mais

INTRODUÇÃO ÀS LINGUAGENS DE PROGRAMAÇÃO

INTRODUÇÃO ÀS LINGUAGENS DE PROGRAMAÇÃO Capítulo 1 INTRODUÇÃO ÀS LINGUAGENS DE PROGRAMAÇÃO 1.1 Histórico de Linguagens de Programação Para um computador executar uma dada tarefa é necessário que se informe a ele, de uma maneira clara, como ele

Leia mais

Técnicas para Programação Inteira e Aplicações em Problemas de Roteamento de Veículos 14

Técnicas para Programação Inteira e Aplicações em Problemas de Roteamento de Veículos 14 1 Introdução O termo "roteamento de veículos" está relacionado a um grande conjunto de problemas de fundamental importância para a área de logística de transportes, em especial no que diz respeito ao uso

Leia mais

Figura 5.1.Modelo não linear de um neurônio j da camada k+1. Fonte: HAYKIN, 2001

Figura 5.1.Modelo não linear de um neurônio j da camada k+1. Fonte: HAYKIN, 2001 47 5 Redes Neurais O trabalho em redes neurais artificiais, usualmente denominadas redes neurais ou RNA, tem sido motivado desde o começo pelo reconhecimento de que o cérebro humano processa informações

Leia mais

Projeto e Análise de Algoritmos Projeto de Algoritmos Heurísticas e Algoritmos Aproximados

Projeto e Análise de Algoritmos Projeto de Algoritmos Heurísticas e Algoritmos Aproximados Projeto e Análise de Algoritmos Projeto de Algoritmos Heurísticas e Algoritmos Aproximados Prof. Humberto Brandão [email protected] Universidade Federal de Alfenas Departamento de Ciências

Leia mais

Sistemas Distribuídos: Conceitos e Projeto Introdução a Criptografia e Criptografia Simétrica

Sistemas Distribuídos: Conceitos e Projeto Introdução a Criptografia e Criptografia Simétrica Sistemas Distribuídos: Conceitos e Projeto Introdução a Criptografia e Criptografia Simétrica Francisco José da Silva e Silva Laboratório de Sistemas Distribuídos (LSD) Departamento de Informática / UFMA

Leia mais

CAPÍTULO 6 - ESTRUTURA DE SELEÇÃO

CAPÍTULO 6 - ESTRUTURA DE SELEÇÃO 6.1 - INTRODUÇÃO CAPÍTULO 6 - ESTRUTURA DE SELEÇÃO Existem problemas que podem ter mais de um caminho a ser seguido para seleção correta, ou existem restrições em suas soluções. O sujeito que irá executar

Leia mais

Computadores de Programação (MAB353)

Computadores de Programação (MAB353) Computadores de Programação (MAB353) Aula 19: Visão geral sobre otimização de programas 06 de julho de 2010 1 2 3 Características esperadas dos programas O primeiro objetivo ao escrever programas de computador

Leia mais

Roteiro. Arquitetura. Tipos de Arquitetura. Questionário. Centralizado Descentralizado Hibrido

Roteiro. Arquitetura. Tipos de Arquitetura. Questionário. Centralizado Descentralizado Hibrido Arquitetura Roteiro Arquitetura Tipos de Arquitetura Centralizado Descentralizado Hibrido Questionário 2 Arquitetura Figura 1: Planta baixa de uma casa 3 Arquitetura Engenharia de Software A arquitetura

Leia mais

Processos e Threads (partes I e II)

Processos e Threads (partes I e II) Processos e Threads (partes I e II) 1) O que é um processo? É qualquer aplicação executada no processador. Exe: Bloco de notas, ler um dado de um disco, mostrar um texto na tela. Um processo é um programa

Leia mais

7 - Análise de redes Pesquisa Operacional CAPÍTULO 7 ANÁLISE DE REDES. 4 c. Figura 7.1 - Exemplo de um grafo linear.

7 - Análise de redes Pesquisa Operacional CAPÍTULO 7 ANÁLISE DE REDES. 4 c. Figura 7.1 - Exemplo de um grafo linear. CAPÍTULO 7 7 ANÁLISE DE REDES 7.1 Conceitos Básicos em Teoria dos Grafos Diversos problemas de programação linear, inclusive os problemas de transporte, podem ser modelados como problemas de fluxo de redes.

Leia mais

Tarefa Orientada 14 Subconsultas

Tarefa Orientada 14 Subconsultas Tarefa Orientada 14 Subconsultas Objectivos: Subconsultas não correlacionadas Operadores ALL, SOME e ANY Subconsultas correlacionadas Operador EXISTS Subconsultas incluídas na cláusula FROM de uma consulta

Leia mais

PROBLEMAS FÁCEIS E DIFÍCEIS. Prof. André Vignatti DINF - UFPR

PROBLEMAS FÁCEIS E DIFÍCEIS. Prof. André Vignatti DINF - UFPR PROBLEMAS FÁCEIS E DIFÍCEIS Prof. André Vignatti DINF - UFPR ENCONTRANDO CARTAS E PALAVRAS... Experimento em sala: encontrar carta no baralho, encontrar palavra no dicionário Qual das duas buscas é mais

Leia mais

Arquiteturas RISC. (Reduced Instructions Set Computers)

Arquiteturas RISC. (Reduced Instructions Set Computers) Arquiteturas RISC (Reduced Instructions Set Computers) 1 INOVAÇÕES DESDE O SURGIMENTO DO COMPU- TADOR DE PROGRAMA ARMAZENADO (1950)! O conceito de família: desacoplamento da arquitetura de uma máquina

Leia mais

Complexidade de Algoritmos. Edson Prestes

Complexidade de Algoritmos. Edson Prestes Edson Prestes Um problema pode ser resolvido através de diversos algoritmos; O fato de um algoritmo resolver um dado problema não significa que seja aceitável na prática. Na maioria das vezes, a escolha

Leia mais

Planificação de. Aplicações Informáticas B

Planificação de. Aplicações Informáticas B Escola básica e secundária de Velas Planificação de Aplicações Informáticas B Ano letivo 2011/2012 1- Introdução à Programação Planificação de Aplicações Informáticas B Unidade Sub-Unidades Objetivos Conteúdos

Leia mais

Metodos de Programação

Metodos de Programação Metodos de Programação Métodos de Programação Introdução Informática, Computador, Algoritmo Informática: Ciência do processamento da informação Computador: Máquina que serve para processar informação Algoritmo:

Leia mais

DEPARTAMENTO DE MATEMÁTICA E CIÊNCIAS EXPERIMENTAIS - Grupo 550 INFORMÁTICA Planificação Anual /Critérios de avaliação

DEPARTAMENTO DE MATEMÁTICA E CIÊNCIAS EXPERIMENTAIS - Grupo 550 INFORMÁTICA Planificação Anual /Critérios de avaliação DOMÍNIOS (Unidades) UNIDADE 1 INTRODUÇÃO À PROGRAMAÇÃO Introdução Conteúdos Objetivos Estratégias/ recursos Conceitos fundamentais Teste e controlo de erros em algoritmia Estruturas de controlo Arrays

Leia mais

Organização e Arquitetura de Computadores I. de Computadores

Organização e Arquitetura de Computadores I. de Computadores Universidade Federal de Campina Grande Departamento de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Organização e Arquitetura de I Organização Básica B de (Parte V, Complementar)

Leia mais

Backup. Permitir a recuperação de sistemas de arquivo inteiros de uma só vez. Backup é somente uma cópia idêntica de todos os dados do computador?

Backup. Permitir a recuperação de sistemas de arquivo inteiros de uma só vez. Backup é somente uma cópia idêntica de todos os dados do computador? Backup O backup tem dois objetivos principais: Permitir a recuperação de arquivos individuais é a base do típico pedido de recuperação de arquivo: Um usuário apaga acidentalmente um arquivo e pede que

Leia mais

Cálculo Numérico Aula 1: Computação numérica. Tipos de Erros. Aritmética de ponto flutuante

Cálculo Numérico Aula 1: Computação numérica. Tipos de Erros. Aritmética de ponto flutuante Cálculo Numérico Aula : Computação numérica. Tipos de Erros. Aritmética de ponto flutuante Computação Numérica - O que é Cálculo Numérico? Cálculo numérico é uma metodologia para resolver problemas matemáticos

Leia mais

Manual de Utilizador. CNCVisual. Julho de 2006. Âmbito do Projecto de 5º Ano de Engenharia Mecânica. Autor: Bruno Lameiro

Manual de Utilizador. CNCVisual. Julho de 2006. Âmbito do Projecto de 5º Ano de Engenharia Mecânica. Autor: Bruno Lameiro Manual de Utilizador CNCVisual Julho de 2006 Âmbito do Projecto de 5º Ano de Engenharia Mecânica Autor: Bruno Lameiro Introdução: A existência do manual de utilizador da aplicação CNCVisual tem como objectivo

Leia mais

Projeto e Análise de Algoritmos Projeto de Algoritmos Tentativa e Erro. Prof. Humberto Brandão [email protected]

Projeto e Análise de Algoritmos Projeto de Algoritmos Tentativa e Erro. Prof. Humberto Brandão humberto@bcc.unifal-mg.edu.br Projeto e Análise de Algoritmos Projeto de Algoritmos Tentativa e Erro Prof. Humberto Brandão [email protected] Laboratório de Pesquisa e Desenvolvimento Universidade Federal de Alfenas versão

Leia mais

Redes de Computadores I Licenciatura em Eng. Informática e de Computadores 1 o Semestre, 26 de Outubro de 2005 1 o Teste A

Redes de Computadores I Licenciatura em Eng. Informática e de Computadores 1 o Semestre, 26 de Outubro de 2005 1 o Teste A Redes de Computadores I Licenciatura em Eng. Informática e de Computadores 1 o Semestre, 26 de Outubro de 2005 1 o Teste A Número: Nome: Duração: 1 hora O teste é sem consulta O teste deve ser resolvido

Leia mais

INTELIGÊNCIA ARTIFICIAL

INTELIGÊNCIA ARTIFICIAL INTELIGÊNCIA ARTIFICIAL 1 Ramo da computação que procura permitir uma máquina simular comportamento inteligente, através de algoritmos e técnicas que simulem situações consideradas específicamente humanas,

Leia mais

Sistemas de Numeração. Professor: Rogério R. de Vargas INFORMÁTICA 2014/2

Sistemas de Numeração. Professor: Rogério R. de Vargas INFORMÁTICA 2014/2 INFORMÁTICA Sistemas de Numeração Professor: Rogério R. de Vargas 2014/2 Sistemas de Numeração São sistemas de notação usados para representar quantidades abstratas denominadas números. Um sistema numérico

Leia mais

Sistemas Operacionais. Prof. André Y. Kusumoto [email protected]

Sistemas Operacionais. Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com Sistemas Operacionais Prof. André Y. Kusumoto [email protected] Estruturas de Sistemas Operacionais Um sistema operacional fornece o ambiente no qual os programas são executados. Internamente,

Leia mais

Trabalho Computacional

Trabalho Computacional Universidade Federal do Espírito Santo Departamento de Informática Profª Claudia Boeres Teoria dos Grafos - 2014/2 Trabalho Computacional 1. Objetivo Estudo e implementação de algoritmos para resolução

Leia mais

Multi-processamento. Arquitecturas MIMD de memória partilhada Multi-cores heterogéneos Multi-processadores

Multi-processamento. Arquitecturas MIMD de memória partilhada Multi-cores heterogéneos Multi-processadores Multi-processamento Arquitecturas MIMD de memória partilhada Multi-cores heterogéneos Multi-processadores Arquitecturas MIMD de memória distribuída Massive Parallel Computers Sistemas distribuídos Ainda

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais RAID Marcelo Diniz http://marcelovcd.wordpress.com/ O que é RAID? RAID RAID (Redundant Array of Independent Disks ) Matriz Redundante de Discos Independentes Recuperar informação

Leia mais

Possui como idéia central a divisão de um universo de dados a ser organizado em subconjuntos mais gerenciáveis.

Possui como idéia central a divisão de um universo de dados a ser organizado em subconjuntos mais gerenciáveis. 3. Tabelas de Hash As tabelas de hash são um tipo de estruturação para o armazenamento de informação, de uma forma extremamente simples, fácil de se implementar e intuitiva de se organizar grandes quantidades

Leia mais

Computabilidade em sistemas dinâmicos

Computabilidade em sistemas dinâmicos 1 Computabilidade em sistemas dinâmicos Daniel da Silva Graça 1,2 1 DM/FCT, Universidade do Algarve, Portugal 2 SQIG, Instituto de Telecomunicações, Portugal 30 de Julho de 2009 2 Introdução Informalmente

Leia mais

Análise de complexidade

Análise de complexidade Introdução Algoritmo: sequência de instruções necessárias para a resolução de um problema bem formulado (passíveis de implementação em computador) Estratégia: especificar (definir propriedades) arquitectura

Leia mais

Projeto e Análise de Algoritmos Projeto de Algoritmos Introdução. Prof. Humberto Brandão [email protected]

Projeto e Análise de Algoritmos Projeto de Algoritmos Introdução. Prof. Humberto Brandão humberto@dcc.ufmg.br Projeto e Análise de Algoritmos Projeto de Algoritmos Introdução Prof. Humberto Brandão [email protected] aula disponível no site: http://www.bcc.unifal-mg.edu.br/~humberto/ Universidade Federal de

Leia mais

Prof. Daniela Barreiro Claro

Prof. Daniela Barreiro Claro Prof. Daniela Barreiro Claro SQL, SQL3 e OQL são linguagens declarativas O SGBD deve processar e otimizar estas consultas antes delas serem efetivamente executadas Uma consulta possui muitas estratégias

Leia mais

Arquitecturas Tolerantes a faltas em Sistemas Distribuídos

Arquitecturas Tolerantes a faltas em Sistemas Distribuídos Arquitecturas Tolerantes a faltas em Sistemas Distribuídos Replicação de Servidores Transacções Atómicas Protocolos de Replicação Replicação passiva vs. activa Replicação de máquinas de estados vs. Replicação

Leia mais

Batalha Naval Algoritmos de Busca. Correlações curriculares Matemática: Números: maior que, menor que, iguais a.

Batalha Naval Algoritmos de Busca. Correlações curriculares Matemática: Números: maior que, menor que, iguais a. Atividade 6 Batalha Naval Algoritmos de Busca Sumário Computadores são freqüentemente requisitados a encontrar informação em grandes coleções de dados. Estes precisam desenvolver métodos rápidos e eficientes

Leia mais

Tabela de símbolos: tabelas de espalhamento

Tabela de símbolos: tabelas de espalhamento Tabela de símbolos: tabelas de espalhamento Marcelo K. Albertini 14 de Janeiro de 2014 2/28 Resumo de complexidades Análises para operação efetuada após N inserções pior caso caso médio keys chave get

Leia mais

Arquitetura de Rede de Computadores

Arquitetura de Rede de Computadores TCP/IP Roteamento Arquitetura de Rede de Prof. Pedro Neto Aracaju Sergipe - 2011 Ementa da Disciplina 4. Roteamento i. Máscara de Rede ii. Sub-Redes iii. Números Binários e Máscara de Sub-Rede iv. O Roteador

Leia mais

Algoritmos de pesquisa. Tabelas de dispersão/hash

Algoritmos de pesquisa. Tabelas de dispersão/hash Algoritmos de pesquisa Tabelas de dispersão/hash Introdução Motivação: Considerar o problema de pesquisar um determinado valor num vetor (array). Se o vetor não está ordenado, a pesquisa requer O(n) de

Leia mais

Introdução aos Computadores

Introdução aos Computadores Os Computadores revolucionaram as formas de processamento de Informação pela sua capacidade de tratar grandes quantidades de dados em curto espaço de tempo. Nos anos 60-80 os computadores eram máquinas

Leia mais

Qualidades. Atributos de Qualidade. Atributos de Qualidade. Categorias de Qualidades. Arquitecturas de Software

Qualidades. Atributos de Qualidade. Atributos de Qualidade. Categorias de Qualidades. Arquitecturas de Software Arquitecturas de Software Atributos de Qualidade António Rito Silva [email protected] Qualidades Nenhuma qualidade pode ser maximizada num sistema sem sacrificar uma outra qualidade ou qualidades

Leia mais

Tecnologia de Redes de Computadores - aula 5

Tecnologia de Redes de Computadores - aula 5 Tecnologia de Redes de Computadores - aula 5 Prof. Celso Rabelo Centro Universitário da Cidade 1 Objetivo 2 3 4 IGPxEGP Vetor de Distância Estado de Enlace Objetivo Objetivo Apresentar o conceito de. Conceito

Leia mais

Tencologia em Análise e Desenvolvimento de Sistemas Disciplina: WEB I Conteúdo: Arquitetura de Software Aula 03

Tencologia em Análise e Desenvolvimento de Sistemas Disciplina: WEB I Conteúdo: Arquitetura de Software Aula 03 Tencologia em Análise e Desenvolvimento de Sistemas Disciplina: WEB I Conteúdo: Arquitetura de Software Aula 03 Agenda 1. Arquitetura de Software 1.1.Introdução 1.2.Vantagens da Arquitetura de Software

Leia mais

Computação Paralela. Desenvolvimento de Aplicações Paralelas João Luís Ferreira Sobral Departamento do Informática Universidade do Minho.

Computação Paralela. Desenvolvimento de Aplicações Paralelas João Luís Ferreira Sobral Departamento do Informática Universidade do Minho. Computação Paralela Desenvolvimento de Aplicações Paralelas João Luís Ferreira Sobral Departamento do Informática Universidade do Minho Outubro 2005 Desenvolvimento de Aplicações Paralelas Uma Metodologia

Leia mais

Projeto e Análise de Algoritmos. Profa. Juliana Kaizer Vizzotto. Projeto e Análise de Algoritmos - Aula 1

Projeto e Análise de Algoritmos. Profa. Juliana Kaizer Vizzotto. Projeto e Análise de Algoritmos - Aula 1 Projeto e Análise de Algoritmos Profa. Juliana Kaizer Vizzotto Projeto e Análise de Algoritmos - Aula 1 Roteiro Introdução Exemplo: ordenação Introdução Análise de Algoritmos Estudo teórico da performance

Leia mais

Informática II Cap. 3

Informática II Cap. 3 Cap. 3 1 Tradicionalmente, programar significava apenas a escrita de um programa, que resolvesse o problema pretendido de uma forma aparentemente correcta. Problema Problema Programa Programa Desvantagens:

Leia mais

Conceitos básicos de programação

Conceitos básicos de programação O QUE É UM PROGRAMA? Para executar uma dada tarefa é geralmente necessário entender o sistema onde ela é realizada. Por exemplo, para fazer um bolo temos um sistema composto por: Ingredientes Cozinheiro

Leia mais

Software de rede e Modelo OSI André Proto UNESP - São José do Rio Preto [email protected] O que será abordado Hierarquias de protocolos (camadas) Questões de projeto relacionadas às camadas Serviços

Leia mais

Oficina de Multimédia B. ESEQ 12º i 2009/2010

Oficina de Multimédia B. ESEQ 12º i 2009/2010 Oficina de Multimédia B ESEQ 12º i 2009/2010 Conceitos gerais Multimédia Hipertexto Hipermédia Texto Tipografia Vídeo Áudio Animação Interface Interacção Multimédia: É uma tecnologia digital de comunicação,

Leia mais

Protocolo TCP/IP. Neste caso cada computador da rede precisa de, pelo menos, dois parâmetros configurados:

Protocolo TCP/IP. Neste caso cada computador da rede precisa de, pelo menos, dois parâmetros configurados: Protocolo TCP/IP Neste caso cada computador da rede precisa de, pelo menos, dois parâmetros configurados: Número IP Máscara de sub-rede O Número IP é um número no seguinte formato: x.y.z.w Não podem existir

Leia mais

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES 3.1 - IDENTIFICADORES Os objetos que usamos no nosso algoritmo são uma representação simbólica de um valor de dado. Assim, quando executamos a seguinte instrução:

Leia mais

Análise de Algoritmos: Melhor caso, pior caso, caso médio

Análise de Algoritmos: Melhor caso, pior caso, caso médio Análise de Algoritmos: Melhor caso, pior caso, caso médio Fernando Lobo Algoritmos e Estrutura de Dados II 1 / 25 Sumário Rever um problema e um algoritmo que já conhecem. Descrevê-lo em pseudo-código

Leia mais

Memórias Prof. Galvez Gonçalves

Memórias Prof. Galvez Gonçalves Arquitetura e Organização de Computadores 1 s Prof. Galvez Gonçalves Objetivo: Compreender os tipos de memória e como elas são acionadas nos sistemas computacionais modernos. INTRODUÇÃO Nas aulas anteriores

Leia mais

Contagem. Prof. Dr. Leandro Balby Marinho. Matemática Discreta. Fundamentos Inclusão/Exclusão Princípio da Casa dos Pombos Permutações Combinações

Contagem. Prof. Dr. Leandro Balby Marinho. Matemática Discreta. Fundamentos Inclusão/Exclusão Princípio da Casa dos Pombos Permutações Combinações Contagem Prof. Dr. Leandro Balby Marinho Matemática Discreta Prof. Dr. Leandro Balby Marinho 1 / 39 UFCG CEEI Motivação Contagem e combinatória são partes importantes da matemática discreta. Se resumem

Leia mais

Caracterização temporal de circuitos: análise de transientes e regime permanente. Condições iniciais e finais e resolução de exercícios.

Caracterização temporal de circuitos: análise de transientes e regime permanente. Condições iniciais e finais e resolução de exercícios. Conteúdo programático: Elementos armazenadores de energia: capacitores e indutores. Revisão de características técnicas e relações V x I. Caracterização de regime permanente. Caracterização temporal de

Leia mais

Instituto Superior Politécnico de VISEU. Escola Superior de Tecnologia

Instituto Superior Politécnico de VISEU. Escola Superior de Tecnologia 1 Tradicionalmente, programar significava apenas a escrita de um programa, que resolvesse o problema pretendido de uma forma aparentemente correcta. Problema Problema Programa Programa Desvantagens: Programas

Leia mais

Criptografia e Segurança em Redes Capítulo 9. Quarta Edição William Stallings

Criptografia e Segurança em Redes Capítulo 9. Quarta Edição William Stallings Criptografia e Segurança em Redes Capítulo 9 Quarta Edição William Stallings Capítulo 9 - Public Key Cryptography e RSA Cada egípicio recebia dois nomes que eram conhecidos respectivamente como o nome

Leia mais

Projecto de Programação MEEC - 2010/2011-1ºSemestre. Mestrado Integrado em Engenharia Electrotécnica e de Computadores

Projecto de Programação MEEC - 2010/2011-1ºSemestre. Mestrado Integrado em Engenharia Electrotécnica e de Computadores Mestrado Integrado em Engenharia Electrotécnica e de Computadores Programação 2010/2011 Enunciado do projecto O projecto a desenvolver pelos alunos consistirá numa sistema de monitorização do estado de

Leia mais

Manual de Instalação... 2 RECURSOS DESTE RELÓGIO... 3 1 - REGISTRANDO O ACESSO... 4 1.1 Acesso através de cartão de código de barras:...

Manual de Instalação... 2 RECURSOS DESTE RELÓGIO... 3 1 - REGISTRANDO O ACESSO... 4 1.1 Acesso através de cartão de código de barras:... 0 Conteúdo Manual de Instalação... 2 RECURSOS DESTE RELÓGIO... 3 1 - REGISTRANDO O ACESSO... 4 1.1 Acesso através de cartão de código de barras:... 4 1.2 Acesso através do teclado (digitando a matrícula):...

Leia mais

Algoritmos e Programação (Prática) Profa. Andreza Leite [email protected]

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br (Prática) Profa. Andreza Leite [email protected] Introdução O computador como ferramenta indispensável: Faz parte das nossas vidas; Por si só não faz nada de útil; Grande capacidade de resolução

Leia mais

O modelo do computador

O modelo do computador O modelo do computador Objetivos: Mostrar como é o funcionamento dos computadores modernos Mostrar as limitações a que estamos sujeitos quando programamos Histórico Os primeiros computadores são da década

Leia mais

Lógica Computacional. Argumentos válidos e sólidos. Métodos de Demonstração. Demonstrações formais. Regras de Inferência Igualdade

Lógica Computacional. Argumentos válidos e sólidos. Métodos de Demonstração. Demonstrações formais. Regras de Inferência Igualdade Lógica Computacional Argumentos válidos e sólidos Métodos de Demonstração Demonstrações formais Regras de Inferência Igualdade Não-consequências lógicas 6 Março 2013 Lógica Computacional 1 Argumentos Exemplo:

Leia mais

Rede de Computadores

Rede de Computadores Escola de Ciências e Tecnologia UFRN Rede de Computadores Prof. Aquiles Burlamaqui Nélio Cacho Luiz Eduardo Eduardo Aranha ECT1103 INFORMÁTICA FUNDAMENTAL Manter o telefone celular sempre desligado/silencioso

Leia mais

Segurança Internet. Fernando Albuquerque. [email protected] www.cic.unb.br/docentes/fernando (061) 273-3589

Segurança Internet. Fernando Albuquerque. fernando@cic.unb.br www.cic.unb.br/docentes/fernando (061) 273-3589 Segurança Internet Fernando Albuquerque [email protected] www.cic.unb.br/docentes/fernando (061) 273-3589 Tópicos Introdução Autenticação Controle da configuração Registro dos acessos Firewalls Backups

Leia mais

Na época dos nossos bisavós os computadores já existiam, apesar de extremamente rudimentares. Eram os computadores mecânicos, que realizavam cálculos

Na época dos nossos bisavós os computadores já existiam, apesar de extremamente rudimentares. Eram os computadores mecânicos, que realizavam cálculos Na época dos nossos bisavós os computadores já existiam, apesar de extremamente rudimentares. Eram os computadores mecânicos, que realizavam cálculos através de um sistema de engrenagens, accionado por

Leia mais