Sistemas Distribuídos: Princípios e Algoritmos Introdução à Análise de Complexidade de Algoritmos

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

Download "Sistemas Distribuídos: Princípios e Algoritmos Introdução à Análise de Complexidade de Algoritmos"

Transcrição

1 Sistemas Distribuídos: Princípios e Algoritmos Introdução à Análise de Complexidade de Algoritmos Francisco José da Silva e Silva Laboratório de Sistemas Distribuídos (LSD) Departamento de Informática / UFMA 20 de agosto de 2012 Francisco Silva (UFMA/LSD) SD: Princípios e Algoritmos 20 de agosto de / 30

2 Agenda 1 Medindo Tempo de Execução 2 Classes de Complexidade 3 Definição e Manipulação da Notação Francisco Silva (UFMA/LSD) SD: Princípios e Algoritmos 20 de agosto de / 30

3 Medindo Tempo de Execução Medindo Tempo de Execução Francisco Silva (UFMA/LSD) SD: Princípios e Algoritmos 20 de agosto de / 30

4 Medindo Tempo de Execução Introdução à Complexidade Este conhecimento permite identificar os algoritmos mais eficientes para resolver vários problemas encontrados com frequência; É muito importante no desenvolvimento de softwares de alta qualidade; A notação assintótica permite comparar a eficiência de algoritmos de forma independente de diferenças de hardware nos quais eles são executados ou de linguagens de programação nas quais eles são implementados. Francisco Silva (UFMA/LSD) SD: Princípios e Algoritmos 20 de agosto de / 30

5 Medindo Tempo de Execução Ordenação por Seleção void selecao (int[] A) { int maxposition, temp, i, j; for (i = A.length-1; i>0; i--) { maxposition = i; for (j = 0; j < i; j++) { if (A[j] > A[maxPosition]) { maxposition = j; } } // troca A[i] com A[maxPosition] temp = A[i]; A[i] = A[maxPosition]; A[maxPosition] = temp; } } Francisco Silva (UFMA/LSD) SD: Princípios e Algoritmos 20 de agosto de / 30

6 Medindo Tempo de Execução Ordenação por Seleção: tempo de execução para 2000 inteiros (ms) Tipo de Computador Tempo microcomputador doméstico 51,915 estação de trabalho 11,508 minicomputador 2,382 mainframe 0,431 supercomputador 0,087 Francisco Silva (UFMA/LSD) SD: Princípios e Algoritmos 20 de agosto de / 30

7 Medindo Tempo de Execução Algumas Considerações... Os tempos de execução do algoritmo também variam de acordo com a linguagem de programação utilizada; Mesmo utilizando uma única linguagem, diferentes compiladores gerarão diferentes instruções em linguagem de máquina, gerando tempos de execução diferentes; Algoritmos consomem recursos (como tempo e espaço) que depende do tamanho do problema a ser resolvido; Chamemos de n o tamanho do problema. Francisco Silva (UFMA/LSD) SD: Princípios e Algoritmos 20 de agosto de / 30

8 Medindo Tempo de Execução Ordenação por Seleção: variando n (ms) Tamanho vetor (n) Comp Doméstico Estação Trab ,5 2, ,3 11, ,8 43, ,3 172, ,9 690,5 Francisco Silva (UFMA/LSD) SD: Princípios e Algoritmos 20 de agosto de / 30

9 Medindo Tempo de Execução Representação Gráfica dos Resultados Francisco Silva (UFMA/LSD) SD: Princípios e Algoritmos 20 de agosto de / 30

10 Medindo Tempo de Execução Considerações As curvas possuem a forma f(n) = an 2 +bn+c e a diferença entre elas são as constantes a,b,c; Se implementarmos o mesmo algoritmo em diferentes linguagens e executarmos em outras máquinas ele continuará a ter um comportamento quadrático em função do tamanho do vetor; Na análise de complexidade procuramos descobrir a curva que caracteriza o tempo de execução em função do tamanho do problema; Desprezaremos as constantes e termos não dominantes; Para a notação-o, a função f(n) = an 2 +bn+c é dita O(n 2 ): Focamos no termo dominante (an 2 ) e ignoramos o resto (bn+c); ignora-se também a constante a. Francisco Silva (UFMA/LSD) SD: Princípios e Algoritmos 20 de agosto de / 30

11 Medindo Tempo de Execução Contribuição do Termo n 2 n f(n) an 2 n 2 : % total 125 2,8 2,7 94, ,0 10,8 98, ,4 43,1 99, ,9 172,4 99, ,5 689,6 99,9 Tabela: Considerando a = 0, , b = 0,0004 e c=0,1 Francisco Silva (UFMA/LSD) SD: Princípios e Algoritmos 20 de agosto de / 30

12 Classes de Complexidade Classes de Complexidade Francisco Silva (UFMA/LSD) SD: Princípios e Algoritmos 20 de agosto de / 30

13 Classes de Complexidade Classes de Complexidade Comuns Nome Notação-O constante O(1) logaritmo O(log n) linear O(n) nlogn O(nlogn) quadrática O(n 2 ) cúbica O(n 3 ) exponencial O(2 n ) exponencial O(10 n ) Francisco Silva (UFMA/LSD) SD: Princípios e Algoritmos 20 de agosto de / 30

14 Classes de Complexidade Exemplo Dado um algoritmo A, executado um computador de 1 MIPS, quanto tempo leva para calcular uma solução para diversos tamanhos do problema? Francisco Silva (UFMA/LSD) SD: Princípios e Algoritmos 20 de agosto de / 30

15 Classes de Complexidade Convertendo os Resultados... Francisco Silva (UFMA/LSD) SD: Princípios e Algoritmos 20 de agosto de / 30

16 Classes de Complexidade Necessidade Mais Usual Que tamanho n pode assumir para que o algoritmo A possa ser executado em um ano ou uma semana ou um dia? Francisco Silva (UFMA/LSD) SD: Princípios e Algoritmos 20 de agosto de / 30

17 Classes de Complexidade Considerações sobre as Classes de Complexidade Se pudermos substituir um algoritmo linear A por um algoritmo logarítmico B, um problema que levaria uma hora para ser solucionado por A levaria apenas 31,75 micro-segundos para que B o solucionasse... Francisco Silva (UFMA/LSD) SD: Princípios e Algoritmos 20 de agosto de / 30

18 Classes de Complexidade Pior Caso, Caso Médio e Melhor Caso Nem sempre um algoritmo leva o mesmo tempo para resolver problemas de um dado tamanho, independentemente de seus dados de entrada; Isto leva à necessidade de analisarmos o melhor caso, pior caso e o caso médio da execução do algoritmo; O QuickSort, por exemplo, custa em média O(nlogn) mas seu pior caso é O(n 2 ). Pior caso do Quicksort: vetor já ordenado: particionamento gerará uma região com n 1 elementos e outra com apenas 1 elemento. Francisco Silva (UFMA/LSD) SD: Princípios e Algoritmos 20 de agosto de / 30

19 Classes de Complexidade Lembrando o Funcionamento do QuickSort Dividir: O vetor A[p..r] é particionado em dois sub-vetores A[p..q] e A[q +1..r], onde cada elemento de A[p..q] é menor ou igual a qualquer elemento de A[q +1..r]. Conquistar: Os sub-vetores A[p..q] e A[q + 1..r] são ordenados por chamadas recursivas a QuickSort. Combinar: os vetores são ordenados no próprio vetor A, não é necessário trabalho adicional para combiná-los. Francisco Silva (UFMA/LSD) SD: Princípios e Algoritmos 20 de agosto de / 30

20 Classes de Complexidade Alguns Exemplos: Algoritmos de Pesquisa Algoritmo Complexidade busca sequencial O(n) busca binária O(log n) tabela de espalhamento a O(1) árvore binária de busca O(log n) a sob certas condições: colisões Francisco Silva (UFMA/LSD) SD: Princípios e Algoritmos 20 de agosto de / 30

21 Classes de Complexidade Alguns Exemplos: Algoritmos de Ordenação Algoritmo Complexidade Seleção, Inserção O(n 2 ) QuickSort, HeapSort, MergeSort O(n log n) RadixSort a O(n) a ordenação sem comparações entre os elementos de entrada. Exige que os elementos estejam em uma faixa 1 a k, para algum inteiro k. Quando k = O(n), a ordenação é executada em tempo linear. Francisco Silva (UFMA/LSD) SD: Princípios e Algoritmos 20 de agosto de / 30

22 Classes de Complexidade Outros Exemplos Algoritmo Complexidade problema do caixeiro viajante a exponencial jogos como xadrez exponencial algoritmo simples para a multiplicação O(n 3 ) de duas matrizes quadradas a dado um mapa com cidades e o custo para viajar entre elas (quando possível), encontrar a rota de menor custo que faça o caixeiro passar exatamente uma vez em cada cidade Francisco Silva (UFMA/LSD) SD: Princípios e Algoritmos 20 de agosto de / 30

23 Definição e Manipulação da Notação Definição e Manipulação da Notação Francisco Silva (UFMA/LSD) SD: Princípios e Algoritmos 20 de agosto de / 30

24 Definição e Manipulação da Notação Definição da Notação-O Dizemos que f(n) é O(g(n)) se existem constantes positivas K e n 0 tal que f(n) g(n) para todo n n 0. Francisco Silva (UFMA/LSD) SD: Princípios e Algoritmos 20 de agosto de / 30

25 Definição e Manipulação da Notação Definição da Notação-O Figura: Θ(), O(), Ω() Francisco Silva (UFMA/LSD) SD: Princípios e Algoritmos 20 de agosto de / 30

26 Definição e Manipulação da Notação Exemplo de Prova Formal Suponha que um algoritmo A ordene uma sequência de n números, colocando-os em um vetor em ordem ascendente e que o número exato de passos que ele realiza é f(n) = n. Provemos que este algoritmo é O(n 2 ): f(n) = n = 3(1+2+ +n) = 3n(n+1) 2 Francisco Silva (UFMA/LSD) SD: Princípios e Algoritmos 20 de agosto de / 30

27 Definição e Manipulação da Notação Exemplo de Prova Formal Se escolhermos K = 3, n 0 = 1 e g(n) = n 2, substituindo na definição formal da notação-o, podemos demonstrar que f(n) g(n) para todo n n 0 e que a desigualdade vale para todo n 1: 3n(n +1) 3n 2 2 n 2 +n 2n 2 n n 2 1 n O que claramente vale para todo n 1. Francisco Silva (UFMA/LSD) SD: Princípios e Algoritmos 20 de agosto de / 30

28 Definição e Manipulação da Notação Dicas Práticas Para simplificar as provas, utiliza-se atalhos que normalmente compreendem separar a expressão f(n) em um termo determinante e outros termos menores e eliminar estes últimos. Para isto, podemos classificar as funções: O(1) < O(logn) < O(n) < O(nlogn) < O(n 2 ) < O(n 3 ) < O(2 n ) < O(10 n ) Exemplo: O(6n 3 15n 2 +3nlogn) = O(6n 3 ) = O(n 3 ) Francisco Silva (UFMA/LSD) SD: Princípios e Algoritmos 20 de agosto de / 30

29 Definição e Manipulação da Notação Base de Logaritmos Não escrevemos a base de logaritmos dado que para mudar a base basta multiplica-lo por uma constante; Exemplo: para mudar um logaritmo da base 2 para a base 10 podemos utilizar a seguinte fórmula: Mas como log 10 n = log 2n log log 2 10 = 0,3010 Poderíamos ter escrito a fórmula de conversão como: log 10 n = 0,3010 log 2 n Francisco Silva (UFMA/LSD) SD: Princípios e Algoritmos 20 de agosto de / 30

30 Definição e Manipulação da Notação Considerações finais De acordo com a definição formal, se f(n) é O(n) então é também O(n 2 ),O(n 3 ),... No entanto, o limite que falamos é o mais próximo conhecido; Para problemas pequenos, as constantes podem assumir um papel determinante no desempenho do algoritmo; Portanto, a notação-o não necessariamente é válida para problemas pequenos. Francisco Silva (UFMA/LSD) SD: Princípios e Algoritmos 20 de agosto de / 30

Universidade Federal de Mato Grosso do Sul Faculdade de Computação Disciplina de Verão: Algoritmos e Programação II

Universidade Federal de Mato Grosso do Sul Faculdade de Computação Disciplina de Verão: Algoritmos e Programação II Universidade Federal de Mato Grosso do Sul Faculdade de Computação Disciplina de Verão: Algoritmos e Programação II Professores: Liana Duenha 10 de março de 2014 Professores: Liana Duenha () Universidade

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

EFICIÊNCIA DE ALGORITMOS E

EFICIÊNCIA DE ALGORITMOS E AULA 2 EFICIÊNCIA DE ALGORITMOS E PROGRAMAS Medir a eficiência de um algoritmo ou programa significa tentar predizer os recursos necessários para seu funcionamento. O recurso que temos mais interesse neste

Leia mais

Pesquisa Sequencial e Binária

Pesquisa Sequencial e Binária Pesquisa Sequencial e Binária Prof. Wylliams Barbosa Santos wylliamss@gmail.com Introdução à Programação Crédito de Conteúdo: Professora Ceça Moraes Agenda Pesquisa Sequencial Noções de complexidade Pesquisa

Leia mais

INF 1010 Estruturas de Dados Avançadas

INF 1010 Estruturas de Dados Avançadas INF 1010 Estruturas de Dados Avançadas Listas de Prioridades e Heaps 1 Listas de Prioridades Em muitas aplicações, dados de uma coleção são acessados por ordem de prioridade A prioridade associada a um

Leia mais

Métodos de Pesquisa em Memória Primária

Métodos de Pesquisa em Memória Primária Algoritmos e Estrutura de Dados II Métodos de Pesquisa em Memória Primária Prof Márcio Bueno ed2tarde@marciobueno.com / ed2noite@marciobueno.com Pesquisa Por pesquisa (procura ou busca) entende-se o ato

Leia mais

BCC202 - Estrutura de Dados I

BCC202 - Estrutura de Dados I BCC202 - Estrutura de Dados I Aula 04: Análise de Algoritmos (Parte 1) Reinaldo Fortes Universidade Federal de Ouro Preto, UFOP Departamento de Ciência da Computação, DECOM Website: www.decom.ufop.br/reifortes

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

Pesquisa Sequencial e Binária. Introdução à Programação SI2

Pesquisa Sequencial e Binária. Introdução à Programação SI2 Pesquisa Sequencial e Binária Introdução à Programação SI2 3 Contexto Diferentes estratégias para pesquisa (busca) de um elemento específico em um conjunto de dados. Lista, array, coleção Operação importante,

Leia mais

Aula 03 Custos de um algoritmo e funções de complexidade

Aula 03 Custos de um algoritmo e funções de complexidade BC1424 Algoritmos e Estruturas de Dados I Aula 03 Custos de um algoritmo e funções de complexidade Prof. Jesús P. Mena-Chalco jesus.mena@ufabc.edu.br 1Q-2015 1 Custo de um algoritmo e funções de complexidade

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

Árvores Binárias de Busca

Árvores Binárias de Busca Árvores Binárias de Busca Uma Árvore Binária de Busca T (ABB) ou Árvore Binária de Pesquisa é tal que ou T = 0 e a árvore é dita vazia ou seu nó contém uma chave e: 1. Todas as chaves da sub-árvore esquerda

Leia mais

UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO PRÓ-REITORIA DE ENSINO DE GRADUAÇÃO

UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO PRÓ-REITORIA DE ENSINO DE GRADUAÇÃO UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO PRÓ-REITORIA DE ENSINO DE GRADUAÇÃO Rua Dom Manoel de Medeiros, s/n Dois Irmãos 52171-900 Recife-PE Fone: 0xx-81-332060-40 proreitor@preg.ufrpe.br PLANO DE ENSINO

Leia mais

Algoritmos de Ordenação Eficiência de Algoritmos

Algoritmos de Ordenação Eficiência de Algoritmos AlgoritmosdeOrdenação EficiênciadeAlgoritmos Antes de abordarmos os algoritmo de ordenac ão iremos falar umpoucosobreaeficiênciadealgoritmos UniversidadedeSãoPaulo InstitutodeCiênciasMatemáticasedeComputação

Leia mais

FACULDADE DE IMPERATRIZ - FACIMP BACHARELADO EM SISTEMAS DE INFORMAÇÃO ESTRUTURA DE DADOS 2. Vieira Lima Junior. Everson Santos Araujo

FACULDADE DE IMPERATRIZ - FACIMP BACHARELADO EM SISTEMAS DE INFORMAÇÃO ESTRUTURA DE DADOS 2. Vieira Lima Junior. Everson Santos Araujo 1 FACULDADE DE IMPERATRIZ - FACIMP BACHARELADO EM SISTEMAS DE INFORMAÇÃO ESTRUTURA DE DADOS 2 Vieira Lima Junior Everson Santos Araujo ALGORITMOS DE ORDENAÇÃO: estudo comparativo de diversos algoritmos

Leia mais

1. NÍVEL CONVENCIONAL DE MÁQUINA

1. NÍVEL CONVENCIONAL DE MÁQUINA 1. NÍVEL CONVENCIONAL DE MÁQUINA Relembrando a nossa matéria de Arquitetura de Computadores, a arquitetura de Computadores se divide em vários níveis como já estudamos anteriormente. Ou seja: o Nível 0

Leia mais

INSTITUTO VIANNA JÚNIOR FACULDADES INTEGRADAS VIANNA JÚNIOR ANÁLISE DA COMPLEXIDADE DE ALGORITMOS DE ORDENAÇÃO

INSTITUTO VIANNA JÚNIOR FACULDADES INTEGRADAS VIANNA JÚNIOR ANÁLISE DA COMPLEXIDADE DE ALGORITMOS DE ORDENAÇÃO INSTITUTO VIANNA JÚNIOR FACULDADES INTEGRADAS VIANNA JÚNIOR ANÁLISE DA COMPLEXIDADE DE ALGORITMOS DE ORDENAÇÃO Lúcia Helena de Magalhães 1 Mônica de Lourdes Souza Batista 2 Teresinha Moreira Magalhães

Leia mais

Resolução de problemas e desenvolvimento de algoritmos

Resolução de problemas e desenvolvimento de algoritmos SSC0101 - ICC1 Teórica Introdução à Ciência da Computação I Resolução de problemas e desenvolvimento de algoritmos Prof. Vanderlei Bonato Prof. Cláudio Fabiano Motta Toledo Sumário Análise e solução de

Leia mais

Figura 1 Busca Linear

Figura 1 Busca Linear ----- Evidentemente, possuir os dados não ajuda o programador ou o usuário se eles não souberem onde os dados estão. Imagine, por exemplo, uma festa de casamento com cem convidados na qual não se sabe

Leia mais

FACULDADE CAMPO LIMPO PAULISTA MESTRADO EM CIÊNCIA DA COMPUTAÇÃO. Projeto e Análise de Algoritmos II Lista de Exercícios 2

FACULDADE CAMPO LIMPO PAULISTA MESTRADO EM CIÊNCIA DA COMPUTAÇÃO. Projeto e Análise de Algoritmos II Lista de Exercícios 2 FACULDADE CAMPO LIMPO PAULISTA MESTRADO EM CIÊNCIA DA COMPUTAÇÃO Projeto e Análise de Algoritmos II Lista de Exercícios 2 Prof. Osvaldo. 1. Desenvolva algoritmos para as operações abaixo e calcule a complexidade

Leia mais

Recursividade. Túlio Toffolo tulio@toffolo.com.br www.toffolo.com.br. BCC202 Aula 08 Algoritmos e Estruturas de Dados I

Recursividade. Túlio Toffolo tulio@toffolo.com.br www.toffolo.com.br. BCC202 Aula 08 Algoritmos e Estruturas de Dados I Recursividade Túlio Toffolo tulio@toffolo.com.br www.toffolo.com.br BCC202 Aula 08 Algoritmos e Estruturas de Dados I Outros Exemplos de Recursividade Factais são outros exemplos de recursividade Quando

Leia mais

MC102 Algoritmos e Programação de Computadores

MC102 Algoritmos e Programação de Computadores MC102 Algoritmos e Programação de Computadores Instituto de Computação UNICAMP Primeiro Semestre de 2015 Roteiro 1 Fundamentos de análise de algoritmos 2 Cálculo da função de custo 3 Exercícios Instituto

Leia mais

Pointer Jumping. odg(v) e idg(v): graus de saída e entrada do vértice v V. um vértice r tal que. O vértice r é dita raíz de T

Pointer Jumping. odg(v) e idg(v): graus de saída e entrada do vértice v V. um vértice r tal que. O vértice r é dita raíz de T Pointer Jumping T = (V,E) : árvore direcionada odg(v) e idg(v): graus de saída e entrada do vértice v V um vértice r tal que v V-{r}, odg(v) = 1, odg(r)=0 v V-{r}, um caminho de v a r O vértice r é dita

Leia mais

Linguagens Livres de Contexto e Autômatos a Pilha (Push- Down) Um Modelo de Computação de Força Intermediária. Gramática Livre de Contexto

Linguagens Livres de Contexto e Autômatos a Pilha (Push- Down) Um Modelo de Computação de Força Intermediária. Gramática Livre de Contexto LFA - PARTE 2 Linguagens Livres de Contexto e Autômatos a Pilha (Push- Down) Um Modelo de Computação de Força Intermediária João Luís Garcia Rosa LFA-FEC-PUC-Campinas 2002 R. Gregory Taylor: http://starbase.cs.trincoll.edu/~rtaylor/thcomp/

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

Quão rápido podemos ordenar? Aula07-LimiteInferiorpara Ordenação. Quão rápido podemos ordenar? Árvore de Decisão- Exemplo. Ordenação em Tempo Linear

Quão rápido podemos ordenar? Aula07-LimiteInferiorpara Ordenação. Quão rápido podemos ordenar? Árvore de Decisão- Exemplo. Ordenação em Tempo Linear Quão rápido podemos ordenar? Aula07-LimiteInferiorpara Ordenação Ordenação em Tempo Linear Prof. Marco Aurélio Stefanes marco em dct.ufms.br www.dct.ufms.br/ marco Um algoritmo baseado em comparação para

Leia mais

C A D E R N O D E P R O V A S

C A D E R N O D E P R O V A S CONCURSO PÚBLICO ASSEMBLEIA LEGISLATIVA DO ESTADO DE MINAS GERAIS C A D E R N O D E P R O V A S CADERNO 3 ESPECIALIDADE: ANALISTA DE SISTEMAS/ÁREA III (SUPORTE TÉCNICO) PROVA: CONHECIMENTOS ESPECÍFICOS

Leia mais

Aula 03 Limite assintótico para a ordenação, Ordenação em tempo linear

Aula 03 Limite assintótico para a ordenação, Ordenação em tempo linear MC3305 Algoritmos e Estruturas de Dados II Aula 03 Limite assintótico para a ordenação, Ordenação em tempo linear Prof. Jesús P. Mena-Chalco jesus.mena@ufabc.edu.br 2Q-2015 1 2 Ordenação Ordenar corresponde

Leia mais

Universidade Federal de Alfenas

Universidade Federal de Alfenas Universidade Federal de Alfenas Projeto e Análise de Algoritmos Aula 04 Introdução a Análise de Algoritmos humberto@bcc.unifal-mg.edu.br Última aula Fundamentos de Matemática Exercícios: Somatórios; Logaritmos

Leia mais

Programação Elementar de Computadores Jurandy Soares

Programação Elementar de Computadores Jurandy Soares Programação Elementar de Computadores Jurandy Soares Básico de Computadores Computador: dispositivos físicos + programas Dispositivos físicos: hardware Programas: as instruções que dizem aos dispositivos

Leia mais

Algoritmos de Ordenação

Algoritmos de Ordenação CENTRO DE CIÊNCIAS EXATAS DEPARTAMENTO DE COMPUTAÇÃO TEORIA DA COMPUTAÇÃO Algoritmos de Ordenação Alunos: André Ricardo Gonçalves Luiz Gustavo Andrade dos Santos Paulo Roberto Silla Profa. Linnyer Beatrys

Leia mais

Jorge Figueiredo, DSC/UFCG. Análise e Técnicas de Algoritmos 2005.1. Jorge Figueiredo, DSC/UFCG. Análise e Técnicas de Algoritmos 2005.

Jorge Figueiredo, DSC/UFCG. Análise e Técnicas de Algoritmos 2005.1. Jorge Figueiredo, DSC/UFCG. Análise e Técnicas de Algoritmos 2005. Agenda Análise e Técnicas de Algoritmos Introdução Informal Motivação Jorge Figueiredo Visão Geral do do Curso Introdução Informal O nosso curso é sobre técnicas e análise de de algoritmos (computacionais).

Leia mais

3 Sistemas de Numeração:

3 Sistemas de Numeração: 3 Sistemas de Numeração: Os computadores eletrônicos têm como base para seu funcionamento a utilização de eletricidade. Diferente de outras máquinas que a presença ou ausência de eletricidade apenas significam

Leia mais

ESTRUTURA DE DADOS PILHA

ESTRUTURA DE DADOS PILHA ESTRUTURA DE DADOS PILHA CONCEITO DE PILHAS - Pilhas são listas lineares onde a inserção de um novo item ou a remoção de um item já existente se dá em uma única extremidade, no topo. Pilha vazia Insere(A)

Leia mais

Aula 04 Ordenação parcial

Aula 04 Ordenação parcial MC3305 Algoritmos e Estruturas de Dados II Aula 04 Ordenação parcial Prof. Jesús P. Mena-Chalco jesus.mena@ufabc.edu.br 2Q-2015 1 Ordenação Limite assintótico para algoritmos de ordenação baseadas em comparações

Leia mais

Lição 1 Introdução à programação de computadores

Lição 1 Introdução à programação de computadores Lição Introdução à programação de computadores Introdução à Programação I Objetivos Ao final desta lição, o estudante será capaz de: Identificar os diferentes componentes de um computador Conhecer linguagens

Leia mais

Capítulo 19. Algoritmos de Ordenação e de Pesquisa. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Capítulo 19. Algoritmos de Ordenação e de Pesquisa. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Capítulo 19 Algoritmos de Ordenação e de Pesquisa Objetivos do Capítulo Conceituar ordenação e pesquisa. Apresentar os algoritmos de ordenação por troca, por seleção e por inserção. Explorar os algoritmos

Leia mais

INF 1007 Programação II

INF 1007 Programação II INF 1007 Programação II Aula 08 Busca em Vetor Edirlei Soares de Lima Busca em Vetor Problema: Entrada: vetor v com n elementos; elemento d a procurar; Saída: m se o elemento procurado

Leia mais

Pesquisa em Memória Primária. Prof. Jonas Potros

Pesquisa em Memória Primária. Prof. Jonas Potros Pesquisa em Memória Primária Prof. Jonas Potros Pesquisa em Memoria Primária Estudo de como recuperar informação a partir de uma grande massa de informação previamente armazenada. A informação é dividida

Leia mais

Estruturas de Dados. Prof. Gustavo Willam Pereira Créditos: Profa. Juliana Pinheiro Campos

Estruturas de Dados. Prof. Gustavo Willam Pereira Créditos: Profa. Juliana Pinheiro Campos Estruturas de Dados Prof. Gustavo Willam Pereira Créditos: Profa. Juliana Pinheiro Campos Árvores Conceitos Árvores binárias Árvores binárias de pesquisa Árvores binárias balanceadas Árvores ESTRUTURAS

Leia mais

Árvores. Algoritmos e Estruturas de Dados 2005/2006

Árvores. Algoritmos e Estruturas de Dados 2005/2006 Árvores Algoritmos e Estruturas de Dados 2005/2006 Árvores Conjunto de nós e conjunto de arestas que ligam pares de nós Um nó é a raiz Com excepção da raiz, todo o nó está ligado por uma aresta a 1 e 1

Leia mais

ESTRUTURAS DE INFORMAÇÃO E ANÁLISE DE ALGORITMOS

ESTRUTURAS DE INFORMAÇÃO E ANÁLISE DE ALGORITMOS ESTRUTURAS DE INFORMAÇÃO E ANÁLISE DE ALGORITMOS Estrutura de informação é uma maneira sistemática de organizar e aceder a dados e algoritmo é um procedimento passo a passo para realizar uma tarefa num

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

ALGORITMOS E ESTRUTURAS DE DADOS CES-11 CES-11 CES-11

ALGORITMOS E ESTRUTURAS DE DADOS CES-11 CES-11 CES-11 ALGORITMOS E ESTRUTURAS DE DADOS Prof. Paulo André Castro pauloac@ita.br Sala 110 Prédio da Computação www.comp.ita.br/~pauloac IECE - ITA Uma árvore binária é: uma árvore vazia; ou uma árvore onde qualquer

Leia mais

Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008

Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008 Tabela de Símbolos Análise Semântica A Tabela de Símbolos Fabiano Baldo Após a árvore de derivação, a tabela de símbolos é o principal atributo herdado em um compilador. É possível, mas não necessário,

Leia mais

TABELA DE EQUIVALÊNCIA FECOMP Curso de Engenharia de Computação

TABELA DE EQUIVALÊNCIA FECOMP Curso de Engenharia de Computação TABELA DE EQUIVALÊNCIA FECOMP Curso de Engenharia de Computação Disciplina A Disciplina B Código Disciplina C/H Curso Disciplina C/H Código Curso Ano do Currículo 66303 ESTRUTURA DE DADOS I 68/0 ENG. DE

Leia mais

Árvore Binária de Busca

Árvore Binária de Busca Árvore Binária de Busca 319 Árvore Binária de Busca! construída de tal forma que, para cada nó:! nós com chaves menores estão na sub-árvore esquerda! nós com chaves maiores (ou iguais) estão na subárvore

Leia mais

Índice. Capítulo 2 Estrutura de Dados sequencial com armazenamento sequencial

Índice. Capítulo 2 Estrutura de Dados sequencial com armazenamento sequencial Índice i Índice Capítulo 2 Estrutura de Dados sequencial com armazenamento sequencial 1. A Estrutura Abstrata de Dados Lista... 1 1.1. Definição... 1 1.2. Implementação de Listas utilizando armazenamento

Leia mais

Ler e interpretar simbologias elétricas. Elaborar diagramas elétricos em planta baixa. Ler e interpretar Planta Baixa.

Ler e interpretar simbologias elétricas. Elaborar diagramas elétricos em planta baixa. Ler e interpretar Planta Baixa. : Técnico em Informática Descrição do Perfil Profissional: O profissional com habilitação Técnica em Microinformática, certificado pelo SENAI-MG, deverá ser capaz de: preparar ambientes para a instalação

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 prof.rodrigorocha@yahoo.com http://www.bolinhabolinha.com

Leia mais

Programas simples em C

Programas simples em C Programas simples em C Problema 1. Escreve um programa em C que dados dois inteiros indique se são iguais ou qual o maior. Utilizar a construção em 5 etapas... quais? 1. Perceber o problema 2. Ideia da

Leia mais

Sumário. 5COP096 Teoria da Computação Aula 8 Pesquisa em Memória Primária

Sumário. 5COP096 Teoria da Computação Aula 8 Pesquisa em Memória Primária 5COP096 Teoria da Computação Aula 8 Prof. Dr. Sylvio Barbon Junior Sylvio Barbon Jr barbon@uel.br 1 Sumário 1) Introdução à Pesquisa em Memória Primária 2) Pesquisa Sequencial 3) Pesquisa Binária 4) Árvore

Leia mais

PLANO DE ENSINO. DISCIPLINA: (06241) Algoritmos e Estruturas de Dados. PRÉ-REQUISITOS: Matemática Discreta e Introdução a Programação

PLANO DE ENSINO. DISCIPLINA: (06241) Algoritmos e Estruturas de Dados. PRÉ-REQUISITOS: Matemática Discreta e Introdução a Programação UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO PRÓ-REITORIA DE ENSINO DE GRADUAÇÃO Rua Dom Manoel de Medeiros, s/n Dois Irmãos 52171-900 Recife-PE Fone: 0xx-81-332060-40 proreitor@preg.ufrpe.br PLANO DE ENSINO

Leia mais

ESTRUTURAS DE DADOS AVANÇADAS (INF 1010) (a) Seja um TAD definido por uma lista circular implementada em um vetor.

ESTRUTURAS DE DADOS AVANÇADAS (INF 1010) (a) Seja um TAD definido por uma lista circular implementada em um vetor. PUC-Rio Departamento de Informática Período: 2015.1 Horário: 2as-feiras e 4as-feiras de 17-19 30 de março de 2015 ESTRUTURAS DE DADOS AVANÇADAS (INF 1010) 1 a Lista de Exercícios 1. Lista (a) Seja um TAD

Leia mais

PLANIFICAÇÃO DA DISCIPLINA DE APLICAÇÕES INFORMÁTICAS B

PLANIFICAÇÃO DA DISCIPLINA DE APLICAÇÕES INFORMÁTICAS B PLANIFICAÇÕES SECUNDÁRIO PLANIFICAÇÃO DA DISCIPLINA DE APLICAÇÕES INFORMÁTICAS B 12º ANO DE ESCOLARIDADE CONTEÚDOS PROGRAMÁTICOS Introdução à Programação Introdução Linguagens naturais e formais Algoritmos

Leia mais

Capítulo 2: Introdução à Linguagem C

Capítulo 2: Introdução à Linguagem C Capítulo 2: Introdução à Linguagem C INF1005 Programação 1 Pontifícia Universidade Católica Departamento de Informática Programa Programa é um algoritmo escrito em uma linguagem de programação. No nosso

Leia mais

ALGORITMO I ESTRUTURA DE CONTROLE REPETIÇÃO PARA / ENQUANTO;

ALGORITMO I ESTRUTURA DE CONTROLE REPETIÇÃO PARA / ENQUANTO; ALGORITMO I ESTRUTURA DE CONTROLE REPETIÇÃO PARA / ENQUANTO; Jaime Evaristo (http://professor.ic.ufal.br/jaime/) Slide 1 ALGORITMO I ESTRUTURA DE REPETIÇÃO - Utilizando PARA Na repetição uma sequência

Leia mais

Pesquisa em Memória Primária. Algoritmos e Estruturas de Dados II

Pesquisa em Memória Primária. Algoritmos e Estruturas de Dados II Pesquisa em Memória Primária Algoritmos e Estruturas de Dados II Pesquisa em Memória Primária Pesquisa: Recuperação de informação em um grande volume de dados Informação é dividida em registros e cada

Leia mais

SECRETÁRIA DE ESTADO DA EDUCAÇÃO DO PARANÁ CURSO PROFISSIONALIZANTE INFORMÁTICA

SECRETÁRIA DE ESTADO DA EDUCAÇÃO DO PARANÁ CURSO PROFISSIONALIZANTE INFORMÁTICA SECRETÁRIA DE ESTADO DA EDUCAÇÃO DO PARANÁ CURSO PROFISSIONALIZANTE INFORMÁTICA Documento elaborado no encontro realizado de 10 a 12 de agosto de 2004. Curitiba, PR Perfil do Profissional Ao final de cada

Leia mais

Disciplina: INTRODUÇÃO AOS SISTEMAS DE COMPUTAÇÃO Carga Horária: 68 (sessenta e oito) horas Crédítos: 04 (quatro)

Disciplina: INTRODUÇÃO AOS SISTEMAS DE COMPUTAÇÃO Carga Horária: 68 (sessenta e oito) horas Crédítos: 04 (quatro) Disciplina: INTRODUÇÃO AOS SISTEMAS DE COMPUTAÇÃO Carga Horária: 68 (sessenta e oito) horas Crédítos: 04 (quatro) 1. EMENTA: Histórico da computação. Computadores: estrutura funcional, periféricos, organização

Leia mais

Notas da Aula 4 - Fundamentos de Sistemas Operacionais

Notas da Aula 4 - Fundamentos de Sistemas Operacionais Notas da Aula 4 - Fundamentos de Sistemas Operacionais 1. Threads Threads são linhas de execução dentro de um processo. Quando um processo é criado, ele tem uma única linha de execução, ou thread. Esta

Leia mais

Representação de Dados (inteiros não negativos)

Representação de Dados (inteiros não negativos) Representação de Dados (inteiros não negativos) 1 Memória Armazena instruções e dados durante a execução de um programa A memória principal pode ser vista como um array de bytes, cada um com seu endereço

Leia mais

Algoritmia e Estruturas de Dados

Algoritmia e Estruturas de Dados JOSÉ BRAGA DE VASCONCELOS JOÃO VIDAL DE CARVALHO Algoritmia e Estruturas de Dados Programação nas linguagens C e JAVA Portugal/2005 Reservados todos os direitos por Centro Atlântico, Lda. Qualquer reprodução,

Leia mais

Algoritmos de Busca em Tabelas

Algoritmos de Busca em Tabelas Dentre os vários algoritmos fundamentais, os algoritmos de busca em tabelas estão entre os mais usados. Considere por exemplo um sistema de banco de dados. As operações de busca e recuperação dos dados

Leia mais

Processamento da Informação Teoria. Algoritmos e Tipos de dados

Processamento da Informação Teoria. Algoritmos e Tipos de dados Processamento da Informação Teoria Algoritmos e Tipos de dados Semana 01 Prof. Jesús P. Mena-Chalco 24/04/2013 (*) Slides adaptados das aulas do Prof. Harlen Costa Batagelo Algumas definições de algoritmo

Leia mais

Estruturas de Dados I

Estruturas de Dados I UFES - Curso de verão 2011 Estruturas de Dados I Profa. Juliana Pinheiro Campos jupcampos@gmail.com Árvores binárias de busca (ou São árvores projetadas para dar suporte a operações de busca de forma eficiente.

Leia mais

Sistemas de numeração

Sistemas de numeração E Sistemas de numeração Aqui estão apenas números ratificados. William Shakespeare A natureza tem algum tipo de sistema de coordenadas geométrico-aritmético, porque a natureza tem todos os tipos de modelos.

Leia mais

Programação 1. Rafael Vargas Mesquita. http://www.ci.ifes.edu.br ftp://ftp.ci.ifes.edu.br/informatica/mesquita/

Programação 1. Rafael Vargas Mesquita. http://www.ci.ifes.edu.br ftp://ftp.ci.ifes.edu.br/informatica/mesquita/ Programação 1 Rafael Vargas Mesquita http://www.ci.ifes.edu.br ftp://ftp.ci.ifes.edu.br/informatica/mesquita/ Definições Básicas Lógica de programação é a técnica de desenvolver algoritmos (sequências

Leia mais

À Maria, esposa e companheira, Patricia e Paula, nossas filhas.

À Maria, esposa e companheira, Patricia e Paula, nossas filhas. À Maria, esposa e companheira, Patricia e Paula, nossas filhas. Dados Internacionais de Catalogação na Publicação (CIP) (Cimara Brasileira do Livro, SP, Brasil) Ziviani, Nivio Projeto de algoritmos com

Leia mais

Curso de C. Introdução. Copyright @ 2005 by Arnaldo V. Moura e Daniel F. Ferber

Curso de C. Introdução. Copyright @ 2005 by Arnaldo V. Moura e Daniel F. Ferber Curso de C Introdução Introdução Roteiro: Recordando Algoritmos Linguagem de Programação O computador Instruções de Máquina Níveis de Abstração Compilação Algoritmos Recordando: Algoritmo: conjunto finito

Leia mais

Árvores. Seqüência de arcos, com origem na raiz e final em um determinado nó. Quantos caminhos existem para se atingir um determinado nó?

Árvores. Seqüência de arcos, com origem na raiz e final em um determinado nó. Quantos caminhos existem para se atingir um determinado nó? 39 Árvores Conceitue caminho. Seqüência de arcos, com origem na raiz e final em um determinado nó. Quantos caminhos existem para se atingir um determinado nó? Apenas um. O que determina o tamanho de um

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

ANÁLISE DE ALGORITMOS

ANÁLISE DE ALGORITMOS Universidade Estadual de Campinas UNICAMP Centro Superior de Educação Tecnológica CESET ANÁLISE DE ALGORITMOS ST067 TÓPICOS ESPECIAIS EM INFORMÁTICA Prof.: Marco Antonio Garcia de Carvalho Fevereiro 2004

Leia mais

Introdução às Linguagens de Programação

Introdução às Linguagens de Programação Introdução às Linguagens de Programação Histórico de Linguagens de Programação O computador não faz nada sozinho Precisamos informar, de forma clara, como ele deve executar as tarefas Ou seja, o computador

Leia mais

Pesquisa digital. Algoritmos e Estruturas de Dados II

Pesquisa digital. Algoritmos e Estruturas de Dados II Pesquisa digital Algoritmos e Estruturas de Dados II Pesquisa digital A pesquisa digital usa a representação das chaves para estruturar os dados na memória Por exemplo, a representação de um número em

Leia mais

1 - Processamento de dados

1 - Processamento de dados Conceitos básicos sobre organização de computadores 2 1 - Processamento de dados O que é processamento? O que é dado? Dado é informação? Processamento é a manipulação das informações coletadas (dados).

Leia mais

1. Introdução... 1 1.1. Definição... 1 1.2. Conceitos relacionados... 2

1. Introdução... 1 1.1. Definição... 1 1.2. Conceitos relacionados... 2 Índice i Índice Capítulo 4 Estrutura de Dados não sequencial com armazenamento não sequencial ( Árvore ) 1. Introdução... 1 1.1. Definição... 1 1.2. Conceitos relacionados... 2 2. Árvores binárias... 2

Leia mais

2. Método de Monte Carlo

2. Método de Monte Carlo 2. Método de Monte Carlo O método de Monte Carlo é uma denominação genérica tendo em comum o uso de variáveis aleatórias para resolver, via simulação numérica, uma variada gama de problemas matemáticos.

Leia mais

DICIONÁRIOS. template class Par { public: K chave; T valor; Par():chave(),valor()

DICIONÁRIOS. template<class K,class T> class Par { public: K chave; T valor; Par():chave(),valor() DICIONÁRIOS Esta estrutura inclui-se nos chamados contentores associativos, que não são mais do que uma colecção de estruturas de tipo Par, com dois membros de dados (chave de pesquisa e valor associado),

Leia mais

LÓGICA DE PROGRAMAÇÃO

LÓGICA DE PROGRAMAÇÃO Todos direitos reservados. Proibida a reprodução, mesmo parcial, por qualquer processo mecânico, eletrônico, reprográfico, etc., sem a autorização, por escrito, do(s) autor(es) e da editora. LÓGICA DE

Leia mais

Busca. Pesquisa sequencial

Busca. Pesquisa sequencial Busca Banco de dados existem para que, de tempos em tempos, um usuário possa localizar o dado de um registro, simplesmente digitando sua chave. Uma tabela ou um arquivo é um grupo de elementos, cada um

Leia mais

2ª Lista de Exercícios

2ª Lista de Exercícios Universidade Federal de Minas Gerais Departamento de Ciência da Computação Algoritmos e Estruturas de Dados II (Turmas M, N, W, F) 1º Semestre de 2012 Profs. Camilo Oliveira, Gisele Pappa, Ítalo Cunha,

Leia mais

UNIVERSIDADE FEDERAL DE UBERLÂNDIA Faculdade de Computação Curso de Introdução à Informática Prof: Anilton Joaquim da Silva / Ezequiel Roberto Zorzal

UNIVERSIDADE FEDERAL DE UBERLÂNDIA Faculdade de Computação Curso de Introdução à Informática Prof: Anilton Joaquim da Silva / Ezequiel Roberto Zorzal UNIVERSIDADE FEDERAL DE UBERLÂNDIA Faculdade de Computação Curso de Introdução à Informática Prof: Anilton Joaquim da Silva / Ezequiel Roberto Zorzal AULA Informática: Aplicações e Benefícios Advocacia

Leia mais

ADMINISTRAÇÃO DOS RECURSOS DE HARDWARE E SOFTWARE

ADMINISTRAÇÃO DOS RECURSOS DE HARDWARE E SOFTWARE ADMINISTRAÇÃO DOS RECURSOS DE HARDWARE E SOFTWARE 1 OBJETIVOS 1. Qual é a capacidade de processamento e armazenagem que sua organização precisa para administrar suas informações e transações empresariais?

Leia mais

CURSO DE PROGRAMAÇÃO EM JAVA

CURSO DE PROGRAMAÇÃO EM JAVA CURSO DE PROGRAMAÇÃO EM JAVA Introdução para Iniciantes Prof. M.Sc. Daniel Calife Índice 1 - A programação e a Linguagem Java. 1.1 1.2 1.3 1.4 Linguagens de Programação Java JDK IDE 2 - Criando o primeiro

Leia mais

Algoritmos Eficientes de Ordenação

Algoritmos Eficientes de Ordenação AED 2002/2003 p.1/22 Algoritmos Eficientes de Ordenação Quick Sort Merge Sort Heap Sort Utilizar informação das chaves: Counting Sort Radix Sort AED 2002/2003 p.2/22 Quick Sort int partition(item a[],

Leia mais

Algoritmos e Estrutura de Dados III. Árvores

Algoritmos e Estrutura de Dados III. Árvores Algoritmos e Estrutura de Dados III Árvores Uma das mais importantes classes de estruturas de dados em computação são as árvores. Aproveitando-se de sua organização hierárquica, muitas aplicações são realizadas

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

Pontifícia Universidade Católica de São Paulo Departamento de Ciência da Computação

Pontifícia Universidade Católica de São Paulo Departamento de Ciência da Computação Pontifícia Universidade Católica de São Paulo Departamento de Ciência da Computação LP: Laboratório de Programação Apontamento 7 Prof. ISVega Março de 2004 Controle de Execução: Seleção Simples CONTEÚDO

Leia mais

UNIVERSIDADE FEDERAL DE SANTA MARIA

UNIVERSIDADE FEDERAL DE SANTA MARIA 1 UNIVERSIDADE FEDERAL DE SANTA MARIA Disciplina de Algoritmos e Programação Profa: Juliana Kaizer Vizzotto Lista de Exercícios Vetores Para a implementação de programas que solucionem os problemas a seguir

Leia mais

MC102 Algoritmos e Programação de Computadores 1ª Aula Introdução à Programação de Computadores

MC102 Algoritmos e Programação de Computadores 1ª Aula Introdução à Programação de Computadores MC102 Algoritmos e Programação de Computadores 1ª Aula Introdução à Programação de Computadores 1. Objetivos Situar a atividade de programação de computadores Apresentar conceitos fundamentais relativos

Leia mais

CÓDIGO DA VAGA: TP05 QUESTÕES DE MÚLTIPLAS ESCOLHAS

CÓDIGO DA VAGA: TP05 QUESTÕES DE MÚLTIPLAS ESCOLHAS QUESTÕES DE MÚLTIPLAS ESCOLHAS 1. Sistemas de gerenciamento de rede tem sua arquitetura baseada em três componentes principais. São eles: a) Protocolo de gerenciamento, protocolo de monitoramento, segurança.

Leia mais

INF 1005 Programação I

INF 1005 Programação I INF 1005 Programação I Aula 03 Introdução a Linguagem C Edirlei Soares de Lima Estrutura de um Programa C Inclusão de bibliotecas auxiliares: #include Definição de constantes:

Leia mais

Fundamentos da Informática

Fundamentos da Informática 1 PROCESSAMENTO DE DADOS I - FUNDAMENTOS A) CONCEITO DE INFORMÁTICA - é a ciência que estuda o tratamento automático e racional da informação. B) PROCESSAMENTO DE DADOS 1) Conceito Processamento de dados

Leia mais

Programação I. Departamento de Engenharia Rural Centro de Ciências Agrárias

Programação I. Departamento de Engenharia Rural Centro de Ciências Agrárias Departamento de Engenharia Rural Centro de Ciências Agrárias Programação I Prof. Bruno Vilela Oliveira bruno@cca.ufes.br http://www.brunovilela.webnode.com.br Programas e Linguagens Para executar uma tarefa

Leia mais

Hardware e Software. Professor: Felipe Schneider Costa. felipe.costa@ifsc.edu.br

Hardware e Software. Professor: Felipe Schneider Costa. felipe.costa@ifsc.edu.br Hardware e Software Professor: Felipe Schneider Costa felipe.costa@ifsc.edu.br Agenda Hardware Definição Tipos Arquitetura Exercícios Software Definição Tipos Distribuição Exercícios 2 Componentesde um

Leia mais

Tutorial de Matlab Francesco Franco

Tutorial de Matlab Francesco Franco Tutorial de Matlab Francesco Franco Matlab é um pacote de software que facilita a inserção de matrizes e vetores, além de facilitar a manipulação deles. A interface segue uma linguagem que é projetada

Leia mais

MESTRADO EM MACROECONOMIA e FINANÇAS Disciplina de Computação. Aula 04. Prof. Dr. Marco Antonio Leonel Caetano

MESTRADO EM MACROECONOMIA e FINANÇAS Disciplina de Computação. Aula 04. Prof. Dr. Marco Antonio Leonel Caetano MESTRADO EM MACROECONOMIA e FINANÇAS Disciplina de Computação Aula 04 Prof. Dr. Marco Antonio Leonel Caetano Guia de Estudo para Aula 04 Aplicação de Produto Escalar - Interpretação do produto escalar

Leia mais

Hashing. Estruturas de Dados. Motivação

Hashing. Estruturas de Dados. Motivação Estruturas de Dados Hashing Prof. Ricardo J. G. B. Campello Parte deste material é baseado em adaptações e extensões de slides disponíveis em http://ww3.datastructures.net (Goodrich & Tamassia). Motivação

Leia mais

Curso Técnico de Nível Médio

Curso Técnico de Nível Médio Curso Técnico de Nível Médio Disciplina: Informática Básica 3. Software Prof. Ronaldo Software Formado por um conjunto de instruções (algoritmos) e suas representações para o

Leia mais