ESTRUTURA DE DADOS I AULA I

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

Download "ESTRUTURA DE DADOS I AULA I"

Transcrição

1 ESTRUTURA DE DADOS I AULA I PROF. ME. HÉLIO ESPERIDIÃO

2 O que é um dado? Dado pode ser definido como a matéria-prima originalmente obtida de uma ou mais fontes (etapa de coleta).

3 o que é a informação A Informação é o resultado do processamento. Isto é, o dado processado ou "acabado.

4 Obtendo a informação Dados Processamento Informação

5 Exemplo de Processamento Base,Altura s = b.a 2 Área S do circulo Modelo Matemático Implementação (Padrão de bits/rotinas) 14/02/2019 5

6 Processamento de Dados: O esquema. Entrada Processamento Saída Dispositivo de Entrada CPU Memória Dispositivo de Saída

7 Definindo Abstração 14/02/2019 7

8 Abstração Quando a matéria-prima usada num processo é abstrata, isto é, apresenta-se sob a forma de valores, quantidades ou símbolos, então falamos em processamento de dados. Quando o processamento é realizado por um computador, entrada refere-se aos dados colhidos do mundo real externo ao computador, e processo refere-se a uma série finita de operações que são realizadas a partir destes dados, a fim de transformá-los em alguma informação desejada (saída).

9 Importante Nem todo tipo de dado abstrato pode ser implementado em toda sua generalidade. Observe o conjunto Z Z = {...,-3,-2,-1,0,1,2,3,...} O conjunto Z deve ser finito. 14/02/2019 9

10 Conceito de Estrutura de Dados Uma estrutura de dados é um modo de armazenar os dados no computador para que os dados sejam usados com eficiência. Normalmente devem ser escolhidas cuidadosamente; Uma estrutura de dados bem desenvolvida permite que uma variedade de operações críticas sejam implementadas por uma linguagem de programação com os tipos de dados e referências e as operações advindas dos mesmos.

11 Objetivo da Estrutura de Dados Teórico: Identificar e desenvolver modelos matemáticos, determinando que classes de problemas podem ser resolvidos como uso deles; Prático: Criar representações concretas dos objetos e desenvolver rotinas capazes de atuar sobre estas representações, de acordo com modelo considerado.

12 REPRESENTAÇÃO DE DADOS O matemático inglês George Boole ( ) publicou em 1854 os princípios da lógica booleana. Segundo Boole tudo poderia ser representado utilizando apenas os números 0 e George Boole

13 ü Simplificação de dígito binário (BInary digit em inglês) Bit ü ü É a menor unidade de informação que pode ser armazenada ou transmitida. Um bit pode assumir somente 2 valores, por exemplo: 0 ou 1, verdadeiro ou falso.

14 Byte Um byte nada tem de especial, é apenas um número binário de oito algarismos

15 Bytes 1 Byte é representado por uma cadeia de 8 bits 1 byte = 8 bits 1024 bytes = 1 K byte bytes = 1 Mega byte

16 Noção de tamanho Bit ou 1 Byte bits Kilo 1 Kbyte Bytes Mega 1 Mbyte kb Giga 1 Gbyte MB Tera 1 Tbyte GB peta 1 Pbyte TB Exa 1 Ebyte PB Zetta 1 Zbyte EB Yotta 1 Ybyte ZB

17 Decimais para Binários = 111 Quantos Bits são Necessários para representar o numero 7?

18 Binários para Decimais Número binário: x 1 x 1 x = =7

19 Tipos de dados Tipo descrição Bits byte Inteiro sem sinal 8 0 a 255 sbyte int inteiro com sinal com sinal inteiro com sinal com sinal a ,147,483,648 to 2,147,483,647 uint Inteiro sem sinal 32 0 a short long inteiro com sinal com sinal inteiro com sinal com sinal a to ulong Inteiro sem sinal 64 0 a

20 Importância da escolha correta do tipo de dados Economia de memória. Economia de processador. Economia de Disco. Qual o resultado da economia?

21 Conceito de Ponteiros Um ponteiro é uma variável que representa a localização de um item de dados na memória ou seja ele aponta para um endereço de memória na qual existe um dado para ser processado. Os ponteiros são usados para otimizar e aumentar performance de memória em uma aplicação. 14/02/

22 Armazenamento da informação na memória RAM Ponteiro *p 0012F588 num = 80 RAM *j 0012F580 x = Variável inteira (int) Variável dupla precisão (double) 14/02/

23 Aplicações da Estrutura de Dados Desenvolvimento de Banco de dados; Software GIS (Sistema Geográfico de informções); Geradores automáticos de programas; Software de reconhecimento de padrões; Sistemas de Computação Gráfica; Sistema de IA (Inteligência Artificial); Criação de Compiladores; Expressões Regulares; Processamento de Imagens Digitais 14/02/

24 Algoritmo É uma sequência de operações bem definidas que, quando executadas por um computador, sempre termina num determinado período de tempo, produzindo uma solução ou indicando que a solução não pode ser obtida. Procedimento passo a passo para obtenção de um fim

25 Complexidade de Algoritmos A Complexidade de um Algoritmo consiste na quantidade de trabalho necessária para a sua execução.

26 Complexidade de Algoritmos Um algoritmo serve para resolver um determinado problema. O tamanho desse N afeta diretamente o tempo de resposta de um algoritmo Todos os problemas têm sempre uma entrada de dados (N)

27 Complexidade de Algoritmos A complexidade de um algoritmo pode ser dividido em: Complexidade Espacial: Quantidade de recursos utilizados para resolver o problema; Complexidade Temporal: Quantidade de Tempo utilizado. Em ambos os casos, a complexidade é medida de acordo com o tamanho dos dados de entrada (N)

28 Operações primitivas De modo geral, são as computações básicas realizadas por um algoritmo: Atribuição de valor para uma variável Comparação entre valores Cálculo aritmético Chamada de função Sua definição exata não é importante. Apesar de serem obviamente diferentes, são contabilizadas como tempo unitário 28

29 Complexidade Espacial Q UA N TO S R ECURS O S D E M E M Ó R I A S ÃO NECESSÁRIOS PA R A E X ECUTA R O P R O GRAMA A BAIXO : 29

30 Complexidade Espacial Double: 64 bits 6*64bits = 384 bits Int: 32 bits 1*32bits = 32bits Total de Recursos: 416bits 52Bytes. 30

31 Complexidade de Algoritmos Existem três escalas de complexidade: Melhor Caso Pior Caso Nas três escalas, a função f(n) retorna a complexidade de um algoritmo com entrada de N elementos

32 Definido pela letra grega Ω (Ômega) É o menor tempo de execução em uma entrada de tamanho N Complexidade de Algoritmos Melhor Caso É pouco usado, por ter aplicação em poucos casos. Ex.: Se tivermos uma lista de N números e quisermos encontrar algum deles assume-se que a complexidade no melhor caso é f(n) = Ω (1), pois assume-se que o número estaria logo na cabeça da lista.

33 Melhor caso Encontrar o número Se tivermos uma lista de N números e quisermos encontrar algum deles assume-se que a complexidade no melhor caso é f(n) = Ω (1), pois assume-se que o número estaria logo na cabeça da lista. 33

34 Será o caso utilizado durante esse curso Complexidade de Algoritmos Pior Caso Representado pela letra grega O (O maiúsculo. Trata-se da letra grega ômicron maiúscula) É o método mais fácil de se obter. Baseia-se no maior tempo de execução sobre todas as entradas de tamanho N Ex.: Se tivermos uma lista de N números e quisermos encontrar algum deles, assume-se que a complexidade no pior caso é O (N), pois assume-se que o número estaria, no pior caso, no final da lista. Outros casos adiante

35 Complexidade de Algoritmos Pior Caso Se tivermos uma lista de N números e quisermos encontrar algum deles, assume-se que a complexidade no pior caso é O (N), pois assume-se que o número estaria, no pior caso, no final da lista.

36 Complexidade de Algoritmos Mas como saber qual é a complexidade de um determinado algoritmo implementado? Para resolver esse problema, dividiu-se os algoritmos em Classes de Problemas, de acordo com o parâmetro que afeta o algoritmo de forma mais significativa

37 São elas: Classes de Algoritmos 1. Complexidade Constante 2. Complexidade Linear 3. Complexidade Quadrática 4. Complexidade Cúbica 5. Complexidade Exponencial

38 Complexidade Constante São os algoritmos de complexidade O(1) Independe do tamanho N de entradas É o único em que as instruções dos algoritmos são executadas num tamanho fixo de vezes Ex.: int RetornaPrimeiro(List: t){ } return t[0];

39 Complexidade Linear São os algoritmos de complexidade O(N) Uma operação é realizada em cada elemento de entrada, ex.: pesquisa de elementos em uma lista Procedure Busca(Lista, x) i:=0; while Lista.Elemento[i] <> x do if i >= Lista.MaxTam then pos := -1 else pos := i; i := i+1; End; Retorna i

40 Complexidade Quadrática São os algoritmos de complexidade O(N²) Itens são processados aos pares, geralmente com um loop dentro do outro Ex.: Procedure SomaMatriz(Mat1, Mat2); Var i, j: integer, MatRes; Begin for i:=1 to n do for j:=1 to n do MatRes[i,j] := Mat1[i, j] + Mat2[i,j];

41 Complexidade Cúbica São os algoritmos de complexidade O(N³) Itens são processados três a três, geralmente com um loop dentro do outros dois Ex.: Procedure SomaElementos_Vetor_Indices_Matriz (mat: Matriz, vet: Vetor); Var i, j: integer; Begin for i:=1 to n do for j:=1 to n do for k:=1 to n do mat[i, j] := mat[i, j] + vet[k];

42 Complexidade Exponencial São os algoritmos de complexidade O(2 N ) Utilização de Força Bruta para resolvê-los (abordagem simples para resolver um determinado problema, geralmente baseada diretamente no enunciado do problema e nas definições dos conceitos envolvidos) Geralmente não são úteis sob o ponto de vista prático

43 Métodos simples de Ordenação de dados Bubble sort

44 Bubble sort O bubble sort, ou ordenação por flutuação (literalmente "por bolha"), é um algoritmo simples. A ideia é percorrer o vetor diversas vezes até que ele esteja ordenado, a cada passagem o maior elemento é deslocado (flutua) para o final do vetor 44

45 Bubble sort Essa movimentação lembra a forma como as bolhas em um tanque de água procuram seu próprio nível, e disso vem o nome do algoritmo. 45

Complexidade de Algoritmos

Complexidade de Algoritmos Complexidade de Algoritmos Complexidade de Algoritmos Definição A Complexidade de um Algoritmo consiste na quantidade de trabalho necessária para a sua execução, expressa em função das operações fundamentais,

Leia mais

PROGRAMAÇÃO ORIENTADA A OBJETOS I. Prof. Me. Hélio Esperidião

PROGRAMAÇÃO ORIENTADA A OBJETOS I. Prof. Me. Hélio Esperidião PROGRAMAÇÃO ORIENTADA A OBJETOS I Prof. Me. Hélio Esperidião AVALIAÇÃO 2 avaliações + Lista de Exercícios 1 Prova + 1 Projeto Prova (0-8) + 2 pontos para lista de exercícios entregue no dia da prova. Projeto(0-10)

Leia mais

FUNDAMENTOS DA PROGRAMAÇÃO DE COMPUTADORES BIT / CARACTERE / BYTE/ PALAVRA

FUNDAMENTOS DA PROGRAMAÇÃO DE COMPUTADORES BIT / CARACTERE / BYTE/ PALAVRA FUNDAMENTOS DA PROGRAMAÇÃO DE COMPUTADORES BIT / CARACTERE / BYTE/ PALAVRA 1 REPRESENTANDO AS INFORMAÇÕES Organização de Computadores Toda informação introduzida em um computador precisa ser entendida

Leia mais

Engenharia Civil. Representação da Informação. Introdução à Computação

Engenharia Civil. Representação da Informação. Introdução à Computação Engenharia Civil Representação da Informação Introdução à Computação Sumário Retomada... Representação de informação Bit, byte Conversão numérica Exercício Referência link na página 2.2.1 O bit, o byte,

Leia mais

Conjunto organizado de informações da mesma natureza, agrupadas numa unidade independente de processamento informático

Conjunto organizado de informações da mesma natureza, agrupadas numa unidade independente de processamento informático Sistema Operativo Definição de ficheiro: Conjunto organizado de informações da mesma natureza, agrupadas numa unidade independente de processamento informático Características dos ficheiros: Ocupam uma

Leia mais

Sistemas Computacionais PROF. ME. HÉLIO

Sistemas Computacionais PROF. ME. HÉLIO Sistemas Computacionais PROF. ME. HÉLIO ESPERIDIÃO O hardware De forma geral um computador digital é constituído por um conjunto de componentes interligados, composto por processadores, memória principal,

Leia mais

Unidades de Medidas Computacionais

Unidades de Medidas Computacionais Unidades de Medidas Computacionais Professor: Vilson Heck Junior vilson.junior@ifsc.edu.br Unidades de Medidas Computacionais QUANTIFICAÇÃO DE DADOS Dados e Informações Como nós representamos? Texto: Nome

Leia mais

ALGORITMOS AVANÇADOS UNIDADE I Análise de Algoritmo - Notação O. Luiz Leão

ALGORITMOS AVANÇADOS UNIDADE I Análise de Algoritmo - Notação O. Luiz Leão Luiz Leão luizleao@gmail.com http://www.luizleao.com Conteúdo Programático 1.1 - Algoritmo 1.2 - Estrutura de Dados 1.2.1 - Revisão de Programas em C++ envolvendo Vetores, Matrizes, Ponteiros, Registros

Leia mais

Computadores, Algoritmos e Linguagens

Computadores, Algoritmos e Linguagens Computadores, Algoritmos e Linguagens INF 1025 - Introdução à Programação Pontifícia Universidade Católica Departamento de Informática Modelo de um Computador 1 CPU: Unidade Central de Processamento Principal

Leia mais

Sistema de memória e suas características

Sistema de memória e suas características Sistema de memória e suas características Memória: dispositivo que permite ao computador armazenar dados de forma temporária ou permanente. O processador executa os programas, com dados e instruções armazenados

Leia mais

15/03/2018. Professor Ariel da Silva Dias Algoritmo e Contagem de Instruções. Prof. Ariel da Silva Dias -

15/03/2018. Professor Ariel da Silva Dias Algoritmo e Contagem de Instruções. Prof. Ariel da Silva Dias - Professor Ariel da Silva Dias Algoritmo e Contagem de Instruções 1 Um algoritmo pode ser visto como uma sequência de ações executáveis para a obtenção de uma solução para um determinado tipo de problema.

Leia mais

Unidades de Medida. Maria de Fátima de Freitas Bueno Marcílio Fundamentos de Informática

Unidades de Medida. Maria de Fátima de Freitas Bueno Marcílio Fundamentos de Informática Unidades de Medida Maria de Fátima de Freitas Bueno Marcílio Fundamentos de Informática A informação no computador O Computador só entende 0s e 1s, ou seja, cada sinal elétrico que o computador processa

Leia mais

Projeto e Análise de Algoritmos

Projeto e Análise de Algoritmos Projeto e Análise de Algoritmos Aula 01 Complexidade de Algoritmos Edirlei Soares de Lima O que é um algoritmo? Um conjunto de instruções executáveis para resolver um problema (são

Leia mais

INFORMÁTICA: Informação automática

INFORMÁTICA: Informação automática INTRODUÇÃO INFORMÁTICA: Informação automática Definição: é a ciência que estuda o tratamento automático e racional da informação (encarregada pelo estudo e desenvolvimento de máquinas e métodos para processar

Leia mais

Aula 3 Conceitos de memória, variáveis e constantes Cleverton Hentz

Aula 3 Conceitos de memória, variáveis e constantes Cleverton Hentz Aula 3 Conceitos de memória, variáveis e constantes Cleverton Hentz Sumário de Aula } Conceito de Memória } Variáveis e Tipos de Dados } Constantes 2 Conceito de Memória } A memória de um computador é

Leia mais

REPRESENTAÇÃO DIGITAL

REPRESENTAÇÃO DIGITAL REPRESENTAÇÃO DIGITAL TELEMÉDIA 2006/2007 Sumário Representação Digital da Informação Sinais analógicos e sinais digitais Processo de digitalização Vantagens e desvantagens da digitalização Interactividade

Leia mais

Conhecer algumas funcionalidades do software VMware Player e do sistema operacional

Conhecer algumas funcionalidades do software VMware Player e do sistema operacional ROTEIRO: CONFIGURANDO O WINDOWS 7 OBJETIVO Conhecer algumas funcionalidades do software VMware Player e do sistema operacional Windows 7. INTRODUÇÃO Devido à necessidade de de auxilio nesta configuração.

Leia mais

Estruturas de Dados. Prof.: Carlos Alberto Página da Disciplina:

Estruturas de Dados. Prof.: Carlos Alberto Página da Disciplina: Estruturas de Dados Prof.: Carlos Alberto Página da Disciplina: http://alged.webnode.com/ E-mail: carlos36_batista@yahoo.com.br Estruturas de dados Programa da disciplina Estruturas de dados - referências

Leia mais

Aula 1. Teoria da Computação III

Aula 1. Teoria da Computação III Aula 1 Teoria da Computação III Complexidade de Algoritmos 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

Leia mais

Estrutura e Funcionamento dos Computadores (Conceitos Básicos)

Estrutura e Funcionamento dos Computadores (Conceitos Básicos) Estrutura e Funcionamento dos Computadores (Conceitos Básicos) Sistema Computacional Peopleware (usuário) Software (programas) Hardware (máquina) Hardware Corresponde à parte material, aos componentes

Leia mais

ORGANIZAÇÃO DE COMPUTADORES

ORGANIZAÇÃO DE COMPUTADORES ORGANIZAÇÃO DE COMPUTADORES FUNDAMENTOS DA PROGRAMAÇÃO DE COMPUTADORES Prof. Dr. Daniel Caetano 2014-1 Objetivos Compreender do que é composto um programa Compreender e conhecer as diferentes formas de

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

Unidade 1: Tecnologias da Informação e Comunicação Conceitos Introdutórios. Tecnologias da Informação e Comunicação

Unidade 1: Tecnologias da Informação e Comunicação Conceitos Introdutórios. Tecnologias da Informação e Comunicação Agrupamento Campo Aberto - Beiriz Tecnologias da Informação e Comunicação Unidade 1: Tecnologias da Informação e Comunicação Objectivos n Conhecer os conceitos básicos relacionados com as TIC; n Caracterizar

Leia mais

Paradigmas de Linguagens

Paradigmas de Linguagens Paradigmas de Linguagens Aula 2: Tipos de dados Professora Sheila Cáceres Tipos de dados Dados são a matéria prima da computação junto com os programas. LPs precisam manipular dados. LPS utilizam os conceitos

Leia mais

Algoritmos Avançados Análise de Complexidade

Algoritmos Avançados Análise de Complexidade CCAE Centro de Ciências Aplicadas e Educação UFPB - Campus IV - Litoral Norte Algoritmos Avançados Análise de Complexidade COMPLEXIDADE DE ALGORITMOS Definição: A Complexidade de um Algoritmo consiste

Leia mais

Análise de Complexidade de Algoritmos. mario alexandre gazziro

Análise de Complexidade de Algoritmos. mario alexandre gazziro Análise de Complexidade de Algoritmos mario alexandre gazziro Definição A complexidade de um algoritmo consiste na quantidade de esforço computacional necessária para sua execução. Esse esforço é expresso

Leia mais

INFORMÁTICA: Informação automática

INFORMÁTICA: Informação automática INTRODUÇÃO INFORMÁTICA: Informação automática Definição: Principais funções: Ø Ø Ø Ø 1 COMPUTADOR: 2 Sistema de Computação 3 Objetivo: Processamento de Dados: 4 Software Software ou Programas: básicos

Leia mais

O que é um jogo digital?

O que é um jogo digital? O que é um jogo digital? Programa de Computador Dados Algoritmos Para que estudar Estrutura de Dados? Para manipular os dados dos programas usamos os ALGORITMOS e para organizar os dados da melhor forma

Leia mais

Bits e operações. Sistemas de Computação

Bits e operações. Sistemas de Computação Bits e operações Porque utilizar base 2? Representação na base 10 Estamos acostumados Representação natural para transações financeiras (precisão) Implementação eletrônica na base 10 Difícil de armazenar

Leia mais

Estrutura de Dados Conceitos Iniciais

Estrutura de Dados Conceitos Iniciais Engenharia de CONTROLE e AUTOMAÇÃO Estrutura de Dados Conceitos Iniciais Aula 01 DPEE 1038 Estrutura de Dados para Automação Curso de Engenharia de Controle e Automação Universidade Federal de Santa Maria

Leia mais

Sistemas de Numeração. Tiago Alves de Oliveira

Sistemas de Numeração. Tiago Alves de Oliveira Sistemas de Numeração Tiago Alves de Oliveira Sumário Sistemas Numéricos Binário Octal Hexadecimal Representação Interna de Caracteres Sistemas Numéricos Sistemas numéricos Sistemas de notação usados para

Leia mais

Introdução à Computação MAC0110

Introdução à Computação MAC0110 Introdução à Computação MAC0110 Prof. Dr. Paulo Miranda IME-USP Aula 2 Variáveis e Atribuições Memória Principal: Introdução Vimos que a CPU usa a memória principal para guardar as informações que estão

Leia mais

Introdução aos Computadores e Programação

Introdução aos Computadores e Programação Introdução aos Computadores e Programação ISCTEM Março 2017 Docente: eng a Tatiana Kovalenko Assistente: eng Darmite Denessechandra Monitor: Ibrahimo Hussein AULA TEÓRICA 1 Tema 1. Introdução à disciplina

Leia mais

Algoritmos e Técnicas de Programação. Professora Luciana Faria

Algoritmos e Técnicas de Programação. Professora Luciana Faria Algoritmos e Técnicas de Programação Professora Luciana Faria luciana.faria@ifs.ifsuldeminas.edu.br Conceitos Básicos Computadores??? Máquina composta de elemento físicos do tipo eletrônico É uma máquina

Leia mais

Introdução à Programação Aula 02. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação

Introdução à Programação Aula 02. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação Introdução à Programação Aula 02 Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação QUAIS SÃO OS COMPONENTES BÁSICOS DO HW DE UM SISTEMA COMPUTACIONAL?

Leia mais

Análise e Complexidade de Algoritmos

Análise e Complexidade de Algoritmos Análise e Complexidade de Algoritmos Professor Ariel da Silva Dias Introdução Apresentação Professor Professor Ariel Dias Apresentação Disciplina O que veremos? www.arieldias.com BlackBoard Apresentação

Leia mais

Slide 01 16/03/2017. Estruturas de Dados. Prof. Cleziel Franzoni da /Cleziel.

Slide 01 16/03/2017. Estruturas de Dados. Prof. Cleziel Franzoni da /Cleziel. Slide 01 16/03/2017 Estruturas de Dados Prof. Cleziel Franzoni da Costa 1 @Cleziel /Cleziel cleziel@hotmail.com 42 3 EMENTA Listas lineares e suas variações. Filas e pilhas. Árvores binárias e suas variações.

Leia mais

Projeto de Algoritmos

Projeto de Algoritmos Projeto de Algoritmos Introdução aos Sistemas Computacionais Prof. Ernani Viriato de Melo / Reginaldo Costa http://www.ernani.eti.br http://reginaldofazu.blogspot.com 2º Semestre - 2008 Conceitos Básicos

Leia mais

Sistemas Numéricos, Operações Lógicas e Tipos de Dados Tratados pelo Computador

Sistemas Numéricos, Operações Lógicas e Tipos de Dados Tratados pelo Computador Capítulo 2 Sistemas Numéricos, Operações Lógicas e Tipos de Dados Tratados pelo Computador 2.0 Índice 2.1 Sistemas Numéricos 2 2.1.1 Sistema Binário 2 2.1.2 Sistema Octal 3 2.1.3 Sistema Hexadecimal 3

Leia mais

3/14/2012. Programação de Computadores O Computador. Memória Principal representação binária

3/14/2012. Programação de Computadores O Computador. Memória Principal representação binária Programação de Computadores O Computador Memória Principal representação binária Prof. Helton Fábio de Matos hfmatos@dcc.ufmg.br Agenda Memória principal. Memória secundária. O que são bytes e bits. Tecnologias

Leia mais

Arquitetura Von Neumann Dados e instruções são obtidos da mesma forma, simplificando o desenho do microprocessador;

Arquitetura Von Neumann Dados e instruções são obtidos da mesma forma, simplificando o desenho do microprocessador; 1 Microprocessador Um microprocessador é um circuito eletrônico capaz de realizar diversas tarefas conforme os comandos específicos. Para isso ele deve ler esses comandos da memória de programa (ROM) e

Leia mais

Representação em nível de máquina

Representação em nível de máquina Universidade Federal de Uberlândia Faculdade de Computação Representação em nível de máquina Prof. Renato Pimentel 1 Endereçamento de memória 2 Localização de instruções e dados na memória Como a unidade

Leia mais

Organização e Arquitetura de Computadores

Organização e Arquitetura de Computadores Organização e Arquitetura de Computadores Hierarquia de Memória: Introdução Alexandre Amory Edson Moreno Nas Aulas Anteriores Computação Organização interna de CPU Parte operativa: Lógica combinacional

Leia mais

ALGORITMOS E ESTRUTURAS DE DADOS 2011/2012 ANÁLISE DE ALGORITMOS. Armanda Rodrigues 3 de Outubro 2011

ALGORITMOS E ESTRUTURAS DE DADOS 2011/2012 ANÁLISE DE ALGORITMOS. Armanda Rodrigues 3 de Outubro 2011 ALGORITMOS E ESTRUTURAS DE DADOS 2011/2012 ANÁLISE DE ALGORITMOS Armanda Rodrigues 3 de Outubro 2011 2 Análise de Algoritmos Temos até agora analisado soluções de problemas de forma intuitiva A análise

Leia mais

Pesquisa: operação elementar

Pesquisa: operação elementar Pesquisa: operação elementar uma das operações mais usadas em programação pesquisas em: vectores, matrizes, tabelas de registos, ficheiros, tipos de dados estruturados (hierarquicos),... necessidade de

Leia mais

Área que visa determinar a complexidade (custo) de um algoritmo, com isso é possível:

Área que visa determinar a complexidade (custo) de um algoritmo, com isso é possível: Área que visa determinar a complexidade (custo) de um algoritmo, com isso é possível: Comparar algoritmos: existem algoritmos que resolvem o mesmo tipo de problema. Determinar se o algoritmo é ótimo :

Leia mais

REPRESENTAÇÃO DIGITAL

REPRESENTAÇÃO DIGITAL Sumário REPRESENTAÇÃO DIGITAL TELEMÉDIA 2006/2007 Representação Digital da Informação Sinais analógicos e sinais digitais Processo de digitalização Vantagens e desvantagens da digitalização Apresentações

Leia mais

Universidade Federal de Uberlândia Faculdade de Computação. Conceitos básicos de algoritmos Prof. Renato Pimentel. Computação

Universidade Federal de Uberlândia Faculdade de Computação. Conceitos básicos de algoritmos Prof. Renato Pimentel. Computação Universidade Federal de Uberlândia Faculdade de Computação Conceitos básicos de algoritmos Prof. Renato Pimentel 1 Computação Dados Informações vindas de usuários ou de outras máquinas; Processamento transformação

Leia mais

REPRESENTAÇÃO DIGITAL

REPRESENTAÇÃO DIGITAL REPRESENTAÇÃO DIGITAL TELEMÉDIA 2006/2007 Sumário Representação Digital da Informação Sinais analógicos e sinais digitais Processo de digitalização Vantagens e desvantagens da digitalização Interactividade

Leia mais

Computação L. Apresentação da Disciplina e Conceitos Básicos de Computadores

Computação L. Apresentação da Disciplina e Conceitos Básicos de Computadores Computação L Apresentação da Disciplina e Conceitos Básicos de Computadores Tópicos da Aula Conceitos básicos de computação Componentes de um computador Como os diferentes componentes interagem Representação

Leia mais

Sistemas Internacional de Unidades

Sistemas Internacional de Unidades Sistemas Internacional de Unidades Já imaginou se quando você fosse comprar uma fonte, importada, e ela viesse com as todas as especificações expressas em unidades que você nem fazia idéia que existiam?

Leia mais

Complexidade de algoritmos Notação Big-O

Complexidade de algoritmos Notação Big-O Complexidade de algoritmos Notação Big-O Prof. Byron Leite Prof. Tiago Massoni Engenharia da Computação Poli - UPE Motivação O projeto de algoritmos é influenciado pelo estudo de seus comportamentos Problema

Leia mais

Análise de Algoritmos Estrutura de Dados II

Análise de Algoritmos Estrutura de Dados II Centro de Ciências Exatas, Naturais e de Saúde Departamento de Computação Análise de Algoritmos Estrutura de Dados II COM10078 - Estrutura de Dados II Prof. Marcelo Otone Aguiar marcelo.aguiar@ufes.br

Leia mais

É interessante comparar algoritmos para valores grandes de n. Para valores pequenos de n, mesmo um algoritmo ineficiente não custa muito para ser

É interessante comparar algoritmos para valores grandes de n. Para valores pequenos de n, mesmo um algoritmo ineficiente não custa muito para ser É interessante comparar algoritmos para valores grandes de n. Para valores pequenos de n, mesmo um algoritmo ineficiente não custa muito para ser executado 1 Fazendo estimativas e simplificações... O número

Leia mais

Programação e Algoritmos I 1 o semestre

Programação e Algoritmos I 1 o semestre Programação e Algoritmos I 1 o semestre ISCTEM Março 2015 Docente: eng a Tatiana Kovalenko Assistente: eng o Darmite Meggi Aula Teórica 1 Tema 1. Introdução aos Computadores Conceitos básicos Informação

Leia mais

Departamento de Engenharia Rural Centro de Ciências Agrárias. 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 Programação I Algoritmos de busca Basicamente podem ser citadas duas estratégias para procurar (ou buscar) algo em uma coleção de dados: Busca

Leia mais

Princípios de Desenvolvimento de Algoritmos MAC122

Princípios de Desenvolvimento de Algoritmos MAC122 Princípios de Desenvolvimento de Algoritmos MAC122 Prof. Dr. Paulo Miranda IME-USP Aula de Revisão: Variáveis e Atribuições Introdução Memória Principal: Vimos no curso anterior que a CPU usa a memória

Leia mais

INF 1010 Estruturas de Dados Avançadas

INF 1010 Estruturas de Dados Avançadas INF 1010 Estruturas de Dados Avançadas Complexidade de Algoritmos 2012 DI, PUC-Rio Estruturas de Dados Avançadas 2012.2 1 Introdução Complexidade computacional Termo criado por Hartmanis e Stearns (1965)

Leia mais

FERRAMENTAS BÁSICAS DA PROGRAMAÇÃO

FERRAMENTAS BÁSICAS DA PROGRAMAÇÃO FERRAMENTAS BÁSICAS DA PROGRAMAÇÃO VARIÁVEIS E O COMANDO DE ATRIBUIÇÃO O computador possui uma área específica de armazenamento denominada de memória. O computador possui uma área específica de armazenamento

Leia mais

Hardware. Informática

Hardware. Informática Hardware Informática l Sistema Informatizado Chama-se sistema informatizado a integração que acontece de três componentes básicos: a) Os computadores = hardware b) Os programas = software c) Os seres humanos

Leia mais

Elementos Básicos. C# - Elementos básicos. Primeiro programa Tipos de dados Variáveis Constantes Expressões e operadores Controlo de fluxo Tabelas

Elementos Básicos. C# - Elementos básicos. Primeiro programa Tipos de dados Variáveis Constantes Expressões e operadores Controlo de fluxo Tabelas C# - Elementos básicos Daniela da Cruz 2010 Elementos Básicos Primeiro programa Tipos de dados Variáveis Constantes Expressões e operadores Controlo de fluxo Tabelas Linguagens de Programação - Daniela

Leia mais

Introdução a Computação

Introdução a Computação O que é um computador? Um computador é uma coleção de componentes que realizam operações lógicas e aritméticas sobre um grande volume de dados. (F. K. Miyazawa) Um computador é composto por: Introdução

Leia mais

Teoria da Computação Aula 9 Noções de Complexidade

Teoria da Computação Aula 9 Noções de Complexidade Teoria da Computação Aula 9 Noções de Complexidade Prof. Esp. Pedro Luís Antonelli Anhanguera Educacional Análise de um Algoritmo em particular Qual é o custo de usar um dado algoritmo para resolver um

Leia mais

Assunto 1 - Conceitos. Prof. Miguel Damasco

Assunto 1 - Conceitos. Prof. Miguel Damasco Assunto 1 - Conceitos UD 1 - FUNDAMENTOS DE INFORMÁTICA Prof. Miguel Damasco a. Definição de Microcomputador Dispositivo eletrônico que recebe dados, processa os dados e fornece como saídas as informações.

Leia mais

Introdução à Informática

Introdução à Informática Introdução à Informática Aula 10 http://www.ic.uff.br/~bianca/introinfo/ Aula 10-05/10/2007 1 Ementa Conceitos Básicos de Computação (Hardware, Software e Internet) Softwares Aplicativos Tutorial: Word

Leia mais

MCTA028 Programação Estruturada Aula 07: - Mapa de memória de um processo - Ponteiros (parte 1)

MCTA028 Programação Estruturada Aula 07: - Mapa de memória de um processo - Ponteiros (parte 1) MCTA028 Programação Estruturada Aula 07: - Mapa de memória de um processo - Ponteiros (parte 1) Prof. Jesús P. Mena-Chalco jesus.mena@ufabc.edu.br 3Q-2017 1 Mapa de memória de um processo 2 Alocação de

Leia mais

Prof. Sandro Wambier

Prof. Sandro Wambier Prof. Sandro Wambier São elementos da Arquitetura de um computador: conjunto de instruções de um processador, os modos de endereçamentos, o tipo e tamanho dos dados manipulados pelo processador, ex.: Intel

Leia mais

Projeto e Análise de Algoritmos

Projeto e Análise de Algoritmos Projeto e Análise de Algoritmos Apresentação da Disciplina Edirlei Soares de Lima Por que Estudar Algoritmos? Razões Práticas e Teóricas: Devemos conhecer um conjunto de algoritmos

Leia mais

Memória. Arquitetura de Von Neumann. Universidade do Vale do Rio dos Sinos Laboratório I Prof.ª Vera Alves 1 CPU. Unidade de controle ULA

Memória. Arquitetura de Von Neumann. Universidade do Vale do Rio dos Sinos Laboratório I Prof.ª Vera Alves 1 CPU. Unidade de controle ULA Universidade do Vale do Rio dos Sinos Laboratório I Prof.ª Vera Alves 1 Arquitetura de Von Neumann CPU Unidade de controle Unidade de entrada Unidade de saída ULA Von Neumann era um gênio. Falava muitos

Leia mais

Algoritmos II prof. Daniel Oliveira

Algoritmos II prof. Daniel Oliveira Algoritmos II prof. Daniel Oliveira Revisar conceitos abordados na disciplina anterior Abordar conceitos vistos com a linguagem C# Variáveis e listas Expressões Estruturas de controle do tipo condicional

Leia mais

4 Variáveis. Unesp Campus de Guaratinguetá

4 Variáveis. Unesp Campus de Guaratinguetá 4 Variáveis Unesp Campus de Guaratinguetá Curso de Programação Computadores Prof. Aníbal Tavares Profa. Cassilda Ribeiro Ministrado por: Prof. André Amarante Composição do Hardware MEMÓRIA UNIDADES FUNCIONAIS

Leia mais

Disciplina: Introdução à Engenharia da Computação

Disciplina: Introdução à Engenharia da Computação Colegiado de Engenharia de Computação Disciplina: Introdução à Engenharia da Computação Aula 07 (semestre 2011.2) Prof. Rosalvo Ferreira de Oliveira Neto, M.Sc. rosalvo.oliveira@univasf.edu.br 2 Representação

Leia mais

Teoria da Computação Aula 8 Noções de Complexidade

Teoria da Computação Aula 8 Noções de Complexidade Teoria da Computação Aula 8 Noções de Complexidade Prof. Esp. Pedro Luís Antonelli Anhanguera Educacional Motivação: Por que estudar algoritmos? Perguntas: - Por que estudar algoritmos se os computadores

Leia mais

1.3. CONCEITOS BÁSICOS DE INFORMÁTICA

1.3. CONCEITOS BÁSICOS DE INFORMÁTICA 1.3. CONCEITOS BÁSICOS DE INFORMÁTICA Informática pode ser considerada como significando informação automática, ou seja, a utilização de métodos e técnicas no tratamento automático da informação. Para

Leia mais

Programação de Computadores

Programação de Computadores Programação de Computadores Instituto de Computação UFF Departamento de Ciência da Computação Otton Teixeira da Silveira Filho Conteúdo Alguns Conceitos sobre Linguagens Conceito de Algoritmo Pseudocódigo

Leia mais

UNIVERSIDADE ESTADUAL DO PARÁ UEPA LISTA DE EXERCÍCIOS DE INTRODUÇÃO A COMPUTAÇÃO. 2. O que diferencia os computadores de 1ª geração dos da 2ª.

UNIVERSIDADE ESTADUAL DO PARÁ UEPA LISTA DE EXERCÍCIOS DE INTRODUÇÃO A COMPUTAÇÃO. 2. O que diferencia os computadores de 1ª geração dos da 2ª. UNIVERSIDADE ESTADUAL DO PARÁ UEPA LISTA DE EXERCÍCIOS DE INTRODUÇÃO A COMPUTAÇÃO 1. Cite alguns problemas que o uso de válvulas provocava nos computadores de 1ª geração. 2. O que diferencia os computadores

Leia mais

Introdução à Informática

Introdução à Informática Grupo V Mestrado Informática Educacional Introdução à Informática Conceitos Fundamentais Dados conjuntos de informação em bruto que, através de determinados processos, se transformam em informação. Processamento

Leia mais

O COMPUTADOR. Tecnologia em Redes de Computadores Lógica de Programação Prof. Kleber Rezende

O COMPUTADOR. Tecnologia em Redes de Computadores Lógica de Programação Prof. Kleber Rezende O COMPUTADOR Tecnologia em Redes de Computadores Lógica de Programação Prof. Kleber Rezende O COMPUTADOR - Sumário 2.1 Modalidades de Computadores 2.2 Componentes Básicos do Computador 2.2.1 O Hardware

Leia mais

3. Linguagem de Programação C

3. Linguagem de Programação C Introdução à Computação I IBM1006 3. Linguagem de Programação C Prof. Renato Tinós Departamento de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 3.6. Ponteiros 3.6.1. Introdução 3.6.2. Uso

Leia mais

Estrutura de Dados (DPADF 0056)

Estrutura de Dados (DPADF 0056) Estrutura de Dados (DPADF 0056) Aula 1 Motivação e Revisão Universidade Federal de Santa Maria Colégio Agrícola de Frederico Westphalen Curso Superior de Tecnologia em Sistemas para Internet Prof. Bruno

Leia mais

Preparação de Petição Eletrônica para o TJSP Hardware, Software, Legislação, Medidas e Padrões.

Preparação de Petição Eletrônica para o TJSP Hardware, Software, Legislação, Medidas e Padrões. Expositor Dr. Francisco de Assis da Silva Santos Organização Dr. Wagner Cavalcante dos Santos Apoio Dr. José Araujo Pereira Dr. Luiz Carlos Silva Promoção Departamento de Cultura e Eventos da OAB SP Diretor:

Leia mais

Memória. Arquitetura de Computadores I. DCC-IM/UFRJ Prof. Gabriel P. Silva

Memória. Arquitetura de Computadores I. DCC-IM/UFRJ Prof. Gabriel P. Silva Memória Arquitetura de Computadores I DCC-IM/UFRJ Prof. Gabriel P. Silva Representação das Informações A abreviação utilizada para o byte é o B maiúsculo e para o bit é o b minúsculo. Abaixo estão os multiplicadores

Leia mais

Análise empírica de algoritmos de ordenação

Análise empírica de algoritmos de ordenação Análise empírica de algoritmos de ordenação Mario E. Matiusso Jr. (11028407) Bacharelado em Ciências da Computação Universidade Federal do ABC (UFABC) Santo André, SP Brasil mario3001[a]ig.com.br Resumo:

Leia mais

1. Conceitos Básicos de Computação

1. Conceitos Básicos de Computação Introdução à Computação I IBM1006 1. Conceitos Básicos de Computação Prof. Renato Tinós Local: Depto. de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 1.Conceitos Básicos de Computação 1.1.

Leia mais

Computação L2. Linguagem C++ Observação: Material Baseado na Disciplina Computação Eletrônica.

Computação L2. Linguagem C++ Observação: Material Baseado na Disciplina Computação Eletrônica. Computação L2 Linguagem C++ ovsj@cin.ufpe.br Observação: Material Baseado na Disciplina Computação Eletrônica. Alfabeto São os símbolos ( caracteres ) permitidos na linguagem: Letras (maiúsculas e minúsculas);

Leia mais

Computadores podem ser úteis em problemas que envolvem: Grande número de dados. Grande número de cálculos. Complexidade. Precisão.

Computadores podem ser úteis em problemas que envolvem: Grande número de dados. Grande número de cálculos. Complexidade. Precisão. O uso do computador Computadores podem ser úteis em problemas que envolvem: Grande número de dados. Grande número de cálculos. Complexidade. Precisão. Exemplos: Modelos meteorológicos. Cálculo estrutural.

Leia mais

ANÁLISE DE COMPLEXIDADE DOS ALGORITMOS

ANÁLISE DE COMPLEXIDADE DOS ALGORITMOS 1/18 ANÁLISE DE COMPLEXIDADE DOS ALGORITMOS Algoritmos 2/18 Algoritmos Algoritmo - sequência de instruções necessárias para a resolução de um problema bem formulado (passíveis de implementação em computador)

Leia mais

- Aula 01, 02, 03 e 04 Apresentação da disciplina.

- Aula 01, 02, 03 e 04 Apresentação da disciplina. 1 - Aula 01, 02, 03 e 04 Apresentação da disciplina. Disciplina: Algoritmos (Disciplina é pré-requisito para outras disciplinas). Plano de Ensino: Estrutura Sequencial, Estrutura de Decisão (Desvio Condicional

Leia mais

Slides trabalhados durante a quinta aula

Slides trabalhados durante a quinta aula Slides trabalhados durante a quinta aula prática Estruturas de Controle de Fluxo 3. Laços de repetição (continuação) Exercício: Construa um algoritmo, representando-o através de um pseudocódigo e de um

Leia mais

SISTEMAS DE NÚMERAÇÃO. Números decimais

SISTEMAS DE NÚMERAÇÃO. Números decimais SISTEMAS DE NÚMERAÇÃO Números decimais Números decimais são os que estamos acostumados a lidar na Matemática convencional. Também são conhecidos como números de base 10. Isso porque compreendem dez símbolos

Leia mais

Processing Aula 2. Prof. Wallace Lages

Processing Aula 2. Prof. Wallace Lages Processing Aula 2 Prof. Wallace Lages Aula 2 Computadores e lógica digital Variáveis Condicionais Computador ou calculadora? Computador Máquina programável capaz de realizar automaticamente uma sequência

Leia mais

MCTA028 Programação Estruturada Aula 19 Custos de um algoritmo e funções de complexidade

MCTA028 Programação Estruturada Aula 19 Custos de um algoritmo e funções de complexidade MCTA028 Programação Estruturada Aula 19 Custos de um algoritmo e funções de complexidade Prof. Jesús P. Mena-Chalco 3Q-2017 1 0 A = n-1... 2 0 A = n-1... - O programa funciona (está correto)? - Como medir/mensurar

Leia mais

SSC304 Introdução à Programação Para Engenharias

SSC304 Introdução à Programação Para Engenharias Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação Introdução à Para Engenharias Algoritmos e Lógica de GE4 Bio GE4Bio Grupo de Estudos em

Leia mais

Fundamentos de Programação

Fundamentos de Programação Fundamentos de Programação CP41F Aula 2 Prof. Daniel Cavalcanti Jeronymo Conceito de algoritmo. Raciocínio lógico na construção de algoritmos. Estrutura de algoritmos. Universidade Tecnológica Federal

Leia mais

CIC 110 Análise e Projeto de Algoritmos I

CIC 110 Análise e Projeto de Algoritmos I CIC 110 Análise e Projeto de Algoritmos I Prof. Roberto Affonso da Costa Junior Universidade Federal de Itajubá sort AULA 02 Ordenação A classificação é um problema de design de algoritmo fundamental.

Leia mais

3. Componentes de um computador e periféricos

3. Componentes de um computador e periféricos 3. Componentes de um computador e periféricos Diógenes Ferreira Reis Fustinoni Vimos no capítulo anterior que um computador é composto por hardware e software. O hardware é a parte física, algo que podemos

Leia mais

ESTRUTURAS DE DADOS prof. Alexandre César Muniz de Oliveira

ESTRUTURAS DE DADOS prof. Alexandre César Muniz de Oliveira ESTRUTURAS DE DADOS prof. Alexandre César Muniz de Oliveira 1. Introdução 2. Pilhas 3. Filas 4. Listas 5. Árvores 6. Grafos 7. Complexidade 8. Ordenação 9. Busca Sugestão bibliográfica: ESTRUTURAS DE DADOS

Leia mais

Programação de Computadores II

Programação de Computadores II Programação de Computadores II 1. Programação Básica 2019.1 Slides adaptados do material de Karina Mochetti Problema, Algoritmo, Programa Um programa de computador é a implementação de um algoritmo para

Leia mais

BCC202 - Estrutura de Dados I

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

Leia mais

Fundamentos de Programação

Fundamentos de Programação Fundamentos de Programação Linguagem C++: arrays - aula I Bruno Emerson Gurgel Gomes 1 1 Instituto Federal de Educação, Ciência e Tecnologia do RN (IFRN) 2012 Bruno Gomes (IFRN) Fundamentos de Programação

Leia mais