Estrutura de Dados. Introdução a Ponteiros. Prof. Gerson Borges Estrutura de Dados I 1
|
|
- Benedicto Sales Galvão
- 8 Há anos
- Visualizações:
Transcrição
1 Estrutura de Dados Introdução a Ponteiros Prof. Gerson Borges Estrutura de Dados I 1
2 Sumário è Explicação da importância do planejamento de ensino; è Métodos e técnicas que iremos trabalhar durante o semestre; è Grupos de Trabalhos Seminário; è Atividade Ensino Aprendizagem AEA; è Monitoria; è Tópicos abordados na disciplina ao longo do semestre; Prof. Gerson Borges Estrutura de Dados I 2
3 Introdução è A automatização de tarefas é um aspecto marcante da sociedade moderna e na ciência da computação houve um processo de desenvolvimento simultâneo e interativo de máquinas (hardware) e dos elementos que gerenciam a execução automática (software) de uma tarefa. è Nesta grande evolução do mundo computacional, um fator de relevante importância é a forma de armazenar as informações, já que, informática é a ciência da informação. Então de nada adiantaria o grande desenvolvimento do hardware e do software, se a forma de armazenamento e tratamento da informação não acompanhasse esse desenvolvimento. Por isso a importância das estruturas de dados, que nada mais são, que formas otimizadas de armazenamento e tratamento das informações eletronicamente. Prof. Gerson Borges Estrutura de Dados I 3
4 Introdução è As estruturas de dados, na sua maioria dos casos, foram espelhadas em formas naturais de armazenamento do nosso dia a dia, ou seja, nada mais são que a transformação de uma forma de armazenamento já conhecida e utilizada no nosso mundo para o mundo computacional; è Cada tipo de estrutura de dados possuem vantagens e desvantagens e cada uma delas tem sua área de atuação (massa de dados); Prof. Gerson Borges Estrutura de Dados I 4
5 Tipo Apontador (Ponteiro) è Um das características mais marcantes do pascal é permitir a criação e destruição de variáveis durante a execução do programa; è Essas variáveis criadas e destruídas durante a execução do programa são chamadas variáveis dinâmicas; è Essas variáveis criadas e destruídas durante a execução do programa são chamadas variáveis dinâmicas; è Uma variável dinâmica não é declarada na parte de declaração de variáveis porque esta ainda não existe antes do seu tempo de execução, ela não possui sequer um nome, ficando a cargo dos ponteiros desempenhar esta função de nome ; è Uma variável dinâmica é sempre referenciada indiretamente por um apontador, ou seja, para cada variável dinâmica criada deve existir um apontador, que literalmente aponta para ela, permitindo a sua manipulação. Prof. Gerson Borges Estrutura de Dados I 5
6 Ponteiro - Características Gerais è Os apontadores são declarados como as demais variáveis, seguindo a sintaxe da linguagem de programação utilizada; è Eles são variáveis que armazenam o endereço de memórias de outras variáveis, funcionando assim, como meio de referenciar uma variável dinâmica, permitindo o acesso a essa variável; è Outra característica dos apontadores é que na sua declaração deve ser indicada qual o tipo de variável este irá armazenar o endereço; è A principal função dos ponteiros é permitir a criação e a manipulação das variáveis dinâmicas, as quais irão compor as estruturas de dados dinâmicas. Prof. Gerson Borges Estrutura de Dados I 6
7 Ponteiro no Pascal è Declaração : a sintaxe de declaração de um tipo ponteiro é o seguinte. è type identificador = ^tipo; {onde o símbolo ^ indica que o identificador é um ponteiro}; è isso indica que teremos um ponteiro com o nome de identificador com a capacidade de armazenar o endereço de memória de uma variável desse tipo; è Como os ponteiros são utilizados para implementar as estruturas de dados dinâmicas, o mais comum é que seja criado um tipo do ponteiro desejado (type) e depois declaramos (var) as variáveis ponteiros deste tipo. Prof. Gerson Borges Estrutura de Dados I 7
8 Exemplo type Nome: string[35]; PontNome : ^Nome; var nome1,nome2,nome3 : PontNome; Prof. Gerson Borges Estrutura de Dados I 8
9 Contextualização è Inicialização : como os ponteiros armazenam endereços de memória, assim que eles são declarados o seu conteúdo é um valor desconhecido (como as demais variáveis), ou seja, näo podemos prever para qual área de memória este esta apontando, por isso, a linguagem pascal permite que um ponteiro seja inicializado, da seguinte forma : è identificador := nil; {nil é um valor constante e pode ser armazenado em uma variável do tipo apontador para indicar que a variável não contém endereço de memória de nenhuma variável dinâmica} Prof. Gerson Borges Estrutura de Dados I 9
10 Contextualização è Criação de uma variável dinâmica: para criação de uma variável dinâmica é necessário que exista uma variável do tipo apontador para o tipo da variável que se deseja criar, e então utilizar-se o procedimento new, cuja sintaxe é a seguinte : è new(identificador); {onde, identificador deve ser uma variável do tipo ponteiro para o tipo de variável a ser criada}; è Obs: quando uma variável dinâmica é criada através do procedimento NEW, um espaço de memória do tamanho da variável criada é alocado na memória heap e este espaço ficará alocado até ser liberado. Prof. Gerson Borges Estrutura de Dados I 10
11 Contextualização è Destruição de uma variável dinâmica : para que o espaço de memória heap seja liberado é necessário que a variável dinâmica seja destruída, isso pode ser feito através do procedimento dispose, utilizando a seguinte sintaxe; è dispose(identificador); è Referencia a uma variável dinâmica : quando uma variável dinâmica é criada através de uma ponteiro, este pode ser utilizado para referenciá-la, permitindo a manipulação (leitura, atribuição, escrita, etc) desta variável como outra variável qualquer, para isso devemos utilizar o símbolo ^ após o nome da variável do tipo ponteiro: è identificador^ Prof. Gerson Borges Estrutura de Dados I 11
12 Exemplo program ManipulacaoVariaveisDinamicas; type nome = string[30]; ponteiro = ^nome; var p1, p2 : ponteiro; begin new(p1); new(p2); readln(p1^); p2^ := 'José Maria'; p1^:= p1^ + ' ' + p2^; writeln(p1^); end. Prof. Gerson Borges Estrutura de Dados I 12
13 Exemplo program ponteiro; type pont = ^real; var p1, p2 : pont; begin p1 := new(pont); p2 := new(pont); p1^ := 3.5; p2^ := -5.9; p1^ := p2^; p1 := p2; end. Prof. Gerson Borges Estrutura de Dados I 13
14 Exemplo program ponteiro; Prof. Gerson Borges Estrutura de Dados I 14
15 Exemplo program ponteiro; type pont = ^real; Prof. Gerson Borges Estrutura de Dados I 15
16 Exemplo program ponteiro; type pont = ^real; var p1, p2 : pont; p1 p1 Prof. Gerson Borges Estrutura de Dados I 16
17 Exemplo program ponteiro; type pont = ^real; var p1, p2 : pont; begin p1 := new(pont); p1 10H Endereço de Memória 10H p1 Prof. Gerson Borges Estrutura de Dados I 17
18 Exemplo program ponteiro; type pont = ^real; var p1, p2 : pont; begin p1 := new(pont); p2 := new(pont); p1 p1 10H 20H Endereço de Memória 10H 20H Prof. Gerson Borges Estrutura de Dados I 18
19 Exemplo program ponteiro; type pont = ^real; var p1, p2 : pont; begin p1 := new(pont); p2 := new(pont); p1^ := 3.5; p1 p1 10H 20H Endereço de Memória H 20H Prof. Gerson Borges Estrutura de Dados I 19
20 Exemplo program ponteiro; type pont = ^real; var p1, p2 : pont; begin p1 := new(pont); p2 := new(pont); p1^ := 3.5; p2^ := -5.9; p1 p1 10H 20H Endereço de Memória H H Prof. Gerson Borges Estrutura de Dados I 20
21 Exemplo program ponteiro; type pont = ^real; var p1, p2 : pont; begin p1 := new(pont); p2 := new(pont); p1^ := 3.5; p2^ := -5.9; p1^ := p2^; p1 p1 10H 20H Endereço de Memória H H Prof. Gerson Borges Estrutura de Dados I 21
22 Exemplo program ponteiro; type pont = ^real; var p1, p2 : pont; begin p1 := new(pont); p2 := new(pont); p1^ := 3.5; p2^ := -5.9; p1^ := p2^; p1 := p2; end. p1 p1 10H 20H Endereço de Memória H H Prof. Gerson Borges Estrutura de Dados I 22
23 LISTAS SIMPLESMENTE ENCADEADAS Prof. Gerson Borges Estrutura de Dados I 23
24 LISTAS Definição: seqüência de zero ou mais elementos a 1,a 2,...,a n sendo a i elementos de um mesmo tipo n o tamanho da lista linear Propriedade fundamental: os elementos têm relações de ordem na lista a i precede a i+1 (e a i sucede a i-1 ); a 1 é o primeiro elemento da lista a n é o último elemento da lista Prof. Gerson Borges Estrutura de Dados I 24
25 Listas São estruturas flexíveis, que podem crescer ou diminuir durante a execução do programa, de acordo com a demanda Ex.: Gerência de memória, manipulação de símbolos, etc... São mais adequadas para aplicações nos quais não é possível prever a demanda por espaços Prof. Gerson Borges Estrutura de Dados I 25
26 LISTAS COM IMPLEMENTAÇÃO ATRAVÉS DE PONTEIROS Prof. Gerson Borges Estrutura de Dados I 26
27 Estrutura da Lista usando Ponteiros Cada elemento da lista é trabalhado como um nó; Utilização de dois nós cabeças, um apontando para o início da lista, e outro apontando para o final da lista, para facilitar as operações de Inserção e Busca Os nós (itens) da lista são registros com um ponteiro para guardar o endereço do seu sucessor Primeiro Último x 1 x 2... x n Prof. Gerson Borges Estrutura de Dados I 27
28 Implementação da Lista Simplesmente Encadeada type Ponteiro TipoItem end; TipoNo = ^TipoNo; = record chave: TipoChave; {outros componentes desejadas...} = record Item: TipoItem; Prox: Ponteiro; end; TipoLista = record Primeiro: Ponteiro; Ultimo : Ponteiro; end; var L: TipoLista; Prof. Gerson Borges Estrutura de Dados I 28
29 Implementação: Inicia_Lista e Lista_Vazia procedure Inicia_Lista (var L: TipoLista); begin New (L.Primeiro); L.Último := L.Primeiro; L.Primeiro^.Prox := nil;{l.último^.prox := nil} end; function Lista_Vazia (var L: TipoLista): boolean; begin Lista_Vazia := L.Último = L.Primeiro; end; Prof. Gerson Borges Estrutura de Dados I 29
30 Procedimento de Inserção procedure Insere (var L:TipoLista; x:tipoitem); { A inserção é feita à direita do ponteiro Último } var pnovo: Ponteiro; begin new(pnovo); L.Último^.Prox := pnovo; L.Último := pnovo; L.Último^.item := x; {pnovo^.item := x} L.Último^.Prox := nil; {pnovo^.item := nil} end; Prof. Gerson Borges Estrutura de Dados I 30
31 Inserção em lista simplesmente encadeada Primeiro Último Último x 1 x 2 Último new(pnovo); L.Último^.Prox := pnovo; L.Último := pnovo; L.Último^.item := x; L.Último^.Prox := nil; pnovo x Prof. Gerson Borges Estrutura de Dados I 31
32 Implementação: Retira_Lista procedure Retira_Lista(p: Ponteiro; var L: TipoLista; var Item: TipoItem; var flag: boolean); { o item a ser removido é o sucessor do apontado por p } var paux: Ponteiro; begin if Lista_Vazia(L) OR (p = nil) OR (p^.prox=nil) then begin writeln (`Erro: Lista Vazia ou Posição não existe`); flag := FALSE; end else begin flag := TRUE; paux:= p^.prox; Item :=paux^.item; p^.prox:= paux^.prox; if p^.prox = nil then L.Último := p; dispose(paux); end; end; Prof. Gerson Borges Estrutura de Dados I 32
33 Remoção em lista simplesmente encadeada Primeiro Último p Último x 1 x 2 x 3 paux p : ponteiro para o nó anterior ao que será removido paux:= p^.prox; Item:= paux^.item; p^.prox:= paux^.prox; if p^.prox = nil then L.Último := p; dispose(paux); x 2 Prof. Gerson Borges Estrutura de Dados I 33
34 Implementação: Imprime_Lista procedure Imprime_Lista(var L: TipoLista); var Aux: Ponteiro; begin Aux:= L.Primeiro^.Prox; while (Aux <> nil) do end; begin writeln ( Chave:, Aux^.Item.Chave); Aux := Aux^.Prox; end; Prof. Gerson Borges Estrutura de Dados I 34
35 Exemplo Seja uma lista de alunos da disciplina X Registro para cada aluno: Chave Nota :1..999; {número de inscrição/matrícula} :0..10; {média final} Curso :1..20; {código do curso} Problema: a partir da lista de alunos, gerar a lista dos alunos aprovados e reprovados na disciplina Aprovado: Nota >= 7.0 Reprovado: caso contrário Imprimir a lista dos aprovados e dos reprovados Prof. Gerson Borges Estrutura de Dados I 35
36 Solução Program TestaListaAlunos; Uses crt, ALUNOS; var Aprovado, Reprovado : TipoLista; x: TipoItem; ok, fim: boolean; tecla: char; p, paux : TipoLista; begin clrscr; writeln('####programa com Listas de Alunos####'); writeln; Inicia_Lista(Aprovado); Inicia_Lista(Reprovado); fim:=false; Prof. Gerson Borges Estrutura de Dados I 36
37 Solução (cont) while NOT (fim) do begin { Entrada de dados } writeln ('Entre com o numero de matricula ou -1 para sair'); readln(x.chave); if (x.chave > 0) then begin writeln ('Entre com a media'); readln(x.nota); writeln ('Entre com o codigo do curso'); readln(x.curso); if (x.nota>=7) then begin Insere_Lista(x,Aprovado,ok); if ok then writeln('inserçao em Aprovado ok'); end else begin Insere_Lista(x,Reprovado,ok); if ok then writeln('inserçao em Reprovado ok'); end end else fim:=true; end; Prof. Gerson Borges Estrutura de Dados I 37
38 Solução (cont) writeln; writeln; writeln('####lista dos Aprovados####') Imprime_Lista(Aprovado); writeln; writeln; writeln('####lista dos Reprovados####') Imprime_Lista(Reprovado); tecla:= readkey; clrscr; end. Prof. Gerson Borges Estrutura de Dados I 38
- UNIVERSIDADE DO VALE DO RIO DOS SINOS CIÊNCIAS EXATAS E TECNOLÓGICAS Curso: Informática / Ciência da Computação
Programação 1I Prof. Osório Árvores Genéricas Pag.: 1 - UNIVERSIDADE DO VALE DO RIO DOS SINOS CIÊNCIAS EXATAS E TECNOLÓGICAS Curso: Informática / Ciência da Computação Programação II Disciplina: Linguagem
Leia maisPROGRAMAÇÃO II 3. PILHA DINÂMICA
3. PILHA DINÂMICA PROGRAMAÇÃO II Prof. Jean Eduardo Glazar Uma pilha é um tipo especial de Pilha na quais todas as inserções e remoções são feitas na primeira posição, que é chamada de topo. Outro nome
Leia maisLP II Estrutura de Dados. Introdução e Linguagem C. Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br
LP II Estrutura de Dados Introdução e Linguagem C Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br Resumo da aula Considerações Gerais Introdução a Linguagem C Variáveis e C Tipos de
Leia maisProf. Yandre Maldonado - 1 PONTEIROS. Prof. Yandre Maldonado e Gomes da Costa
Prof. Yandre Maldonado - 1 PONTEIROS Prof. Yandre Maldonado e Gomes da Costa PONTEIROS Prof. Yandre Maldonado - 2 Ponteiro é uma variável que possui o endereço de outra variável; É um poderoso recurso
Leia mais2ª 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 maisPROGRAMAÇÃO II 3. FILA DINÂMICA
3. FILA DINÂMICA PROGRAMAÇÃO II Prof. Jean Eduardo Glazar Uma fila é um tipo especial de lista na qual todas as inserções são feitas sempre depois do fim e as deleções no início. Por isso também recebe
Leia mais- UNIVERSIDADE DO VALE DO RIO DOS SINOS CIÊNCIAS EXATAS E TECNOLÓGICAS Curso: Informática / Ciência da Computação
Programação 1I Prof. Osório Árvores Binárias Pag.: 1 - UNIVERSIDADE DO VALE DO RIO DOS SINOS CIÊNCIAS EXATAS E TECNOLÓGICAS Curso: Informática / Ciência da Computação Programação II Disciplina: Linguagem
Leia mais7. ESTRUTURAS DE DADOS ESTÁTICAS E DINÂMICAS
7. ESTRUTURAS DE DADOS ESTÁTICAS E DINÂMICAS Até... 7.1 Alocação Estática Alocação de Espaço em Memória Como já foi visto anteriormente, a memória de um computador compõe-se de uma sequência de palavras,
Leia maisPROGRAMAÇÃO II 4. ÁRVORE
4. ÁRVORE PROGRAMAÇÃO II Prof. Jean Eduardo Glazar Uma árvore impõe uma estrutura hierárquica em uma coleção de itens. Um exemplo familiar é a árvore genealógica. Árvores despontam de forma natural em
Leia maisArmazenamento de Dados. Prof. Antonio Almeida de Barros Junior
Armazenamento de Dados Prof. Antonio Almeida de Barros Junior 1 Armazenamento de Dados Todos os dados que utilizamos até o momento, ficavam armazenados apenas na memória. Ao final da execução dos programas,
Leia maisBUSCA EM LISTAS LISTAS SEQÜENCIAIS, LISTAS SIMPLESMENTE E DUPLAMENTE ENCADEADAS E LISTAS CIRCULARES
BUSCA EM LISTAS LISTAS SEQÜENCIAIS, LISTAS SIMPLESMENTE E DUPLAMENTE ENCADEADAS E LISTAS CIRCULARES ALGORITMOS DE BUSCA EM LISTAS COM ALOCAÇÃO SEQÜENCIAL Busca em Listas Lineares A operação de busca é
Leia maisEstrutura de Dados Pilha (Stack)
Estrutura de Dados Pilha (Stack) Estrutura de Dados que corresponde a uma lista sequencial com a propriedade seguinte: LIFO O primeiro elemento a entrar é o último a sair ( Last in First Out ) Operações
Leia maisOrientação a Objetos
1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou
Leia maisFUNDAÇÃO EDUCACIONAL DE ITUIUTABA
FUNDAÇÃO EDUCACIONAL DE ITUIUTABA ASSOCIADA À UNIVERSIDADE DO ESTADO DE MINAS GERAIS CURSO DE SISTEMA DE INFORMAÇÃO PILHA E FILA Prof. Walteno Martins Parreira Júnior www.waltenomartins.com.br waltenomartins@yahoo.com
Leia maisstruct LISTA item quant
UNIVERSIDADE SÃO JUDAS TADEU ESTRUTURA DE DADOS - PROF. H. Senger IMPLEMENTAÇÃO DE LISTAS COM VETORES A implementação de listas utilizando vetores é simples. Existe apenas uma pequena questão, com relação
Leia maisImplementando uma Classe e Criando Objetos a partir dela
Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 04 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Parte: 2 Prof. Cristóvão Cunha Implementando uma Classe
Leia maisPROGRAMANDO EM C# ORIENTADO A OBJETOS
PROGRAMANDO EM C# ORIENTADO A OBJETOS AGENDA MÓDULO 2 Domínio e Aplicação Objetos, Atributos e Métodos Classes em C# Criando Objetos em C# Referências em C# Manipulando Atributos Valores Padrão Exercícios
Leia maisVariáveis Compostas Heterogêneas. Variável Composta Heterogênea. Variável Composta Heterogênea
Variáveis Compostas Heterogêneas Variável Composta Heterogênea Conjunto de dados logicamente relacionados, mas de tipos diferentes. Também chamada de registro. Variável Composta Heterogênea 1 Declaração
Leia maisTrabalho 3: Agenda de Tarefas
INF 1620 Estruturas de Dados Semestre 08.2 Trabalho 3: Agenda de Tarefas O objetivo deste trabalho é a implementação de um conjunto de funções para a manipulação de uma agenda de tarefas diárias, de forma
Leia maisA4 Projeto Integrador e Lista de Jogos
A4 Projeto Integrador e Lista de Jogos 1ª ETAPA PROJETO INTEGRADOR (2 pontos na A4) Como discutido em sala de aula, a disciplina de algoritmos I também fará parte do projeto integrador, para cada grupo
Leia maisManipulação de Arquivos em Pascal
Manipulação de Arquivos em Pascal Estrutura de Dados II Aula 03 UFS - DComp Adaptados a partir do material da Profa. Kenia Kodel Cox 1 Para implementar programa infantil para ordenação (alfabética) de
Leia maisUNIP UNIVERSIDADE PAULISTA INSTITUTO DE CIÊNCIAS EXATAS E TECNOLOGIA (ICET) CURSO DE CIÊNCIAS DA COMPUTAÇÃO. O Paradigma da Orientação a Objeto
UNIP UNIVERSIDADE PAULISTA INSTITUTO DE CIÊNCIAS EXATAS E TECNOLOGIA (ICET) CURSO DE CIÊNCIAS DA COMPUTAÇÃO O Paradigma da Orientação a Objeto Apresentada em Cumprimento Parcial dos Requerimentos para
Leia maisARQUIVOS. Os arquivos criados em meios magnéticos poderão ser acessados para leitura e escrita na forma seqüencial, direta ou indexada.
Texto retirado e adaptado da apostila A Linguagem Pascal, disponível no site http://www.portaldaprogramacao.com (autor: desconhecido) ARQUIVOS Anteriormente, foi estudado o conceito de tabelas em memória
Leia maisRepresentação de Algoritmos - Linguagens de Programação
Representação de Algoritmos - Linguagens de Programação A representação de algoritmos em uma pseudo-linguagem mais próxima às pessoas é bastante útil principalmente quando o problema a ser tratado envolve
Leia maisAlgoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br
(Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br 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 maisTabela 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 maisESTRUTURA 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 maisPROG. DE COMPUTADORES II SI Arquivos
1 PROG. DE COMPUTADORES II SI Arquivos Arquivos Permitem que gravemos nossas informações em dispositivos físicos Pendrive HD Estão organizados logicamente em registros Cada registro é similar a um campo
Leia maishttp://www.dcc.ufmg.br/algoritmos/transparenc ias.php
Estruturas Aula 8: 10/09/2008 Listas de Informação (parte 2) TAD /* FLVazia(Lista). Faz Lista a lista (1) /* Insere(x, Input: Output: Pré-condição: Pós-condição: L L ficar L édefinida vazia */ Pós-condição:
Leia maisAlgumas notas sobre PASCAL
Algumas notas sobre PASCAL PARTE I Anjolina Grisi de Oliveira 1 Um programa em PASCAL Esse texto inclui algumas notas sobre a linguagem PASCAL. As diferenças existentes entre os diversos compiladores não
Leia maisEste trabalho tem como objetivo praticar o uso de tipos abstratos de dados e estruturas do tipo Lista.
Universidade Federal do Espírito Santo Departamento de Informática Estruturas de Dados I (INF09292) 1 o Trabalho Prático Período: 2013/1 Prof a Patrícia Dockhorn Costa Email: pdcosta@inf.ufes.br Data de
Leia maisLinguagem de Programação
Linguagem de Programação Aula 10 Arquivos Universidade Federal de Santa Maria Colégio Agrícola de Frederico Westphalen Curso Técnico em Informática Prof. Bruno B. Boniati www.cafw.ufsm.br/~bruno Persistência
Leia maisARRAYS. Um array é um OBJETO que referencia (aponta) mais de um objeto ou armazena mais de um dado primitivo.
Cursos: Análise, Ciência da Computação e Sistemas de Informação Programação I - Prof. Aníbal Notas de aula 8 ARRAYS Introdução Até agora, utilizamos variáveis individuais. Significa que uma variável objeto
Leia maisFACULDADE 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 maisA lógica de programação ajuda a facilitar o desenvolvimento dos futuros programas que você desenvolverá.
INTRODUÇÃO A lógica de programação é extremamente necessária para as pessoas que queiram trabalhar na área de programação, seja em qualquer linguagem de programação, como por exemplo: Pascal, Visual Basic,
Leia maisAlgumas notas sobre PASCAL
Algumas notas sobre PASCAL PARTE II - Procedimentos e Funções Anjolina Grisi de Oliveira 1 Introdução Os procedimentos e funções são úteis na programação uma vez que permitem que um programa possa ser
Leia maisConjunto (set) O tipo estruturado set representa, em Pascal, um conjunto de objectos de um dado tipo;
Conjunto (set) O tipo estruturado set representa, em Pascal, um conjunto de objectos de um dado tipo; O tipo de dados tem por base um tipo simples (enumerável); Na verdade, um set representa o conjunto
Leia mais- UNIVERSIDADE DO VALE DO RIO DOS SINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS (C6/6) Curso: Informática
Laboratório I Prof. Osório Balanceamento de Árvores Binárias Pag.: - UNIVERSIDADE DO VALE DO RIO DOS SINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS (C6/6) Curso: Informática LABORATÓRIO II AULA : Balanceamento
Leia maisINF1007: Programação 2 10 Árvores Binárias. (c) Dept. Informática - PUC-Rio 1
INF1007: Programação 2 10 Árvores Binárias (c) Dept. Informática - PUC-Rio 1 Tópicos Principais Introdução Árvores binárias Representação em C Ordens de percurso em árvores binárias Altura de uma árvore
Leia maisCurso: Ciência da Computação Disciplina: Construção de Compiladores Período: 2010-1 Prof. Dr. Raimundo Moura
UFPI CCN DIE Curso: Ciência da Computação Disciplina: Construção de Compiladores Período: 2010-1 Prof. Dr. Raimundo Moura O projeto Desenvolver um compilador de um subconjunto básico da linguagem PORTUGOL.
Leia maisDAS5102 Fundamentos da Estrutura da Informação
Pilhas A estrutura de dados Pilha emula a forma de organização de objetos intuitiva que é utilizada diariamente nos mais diversos contextos da vida humana. Containeres são empilhados e desempilhados diariamente
Leia maisIntrodução a Java. Hélder Nunes
Introdução a Java Hélder Nunes 2 Exercício de Fixação Os 4 elementos básicos da OO são os objetos, as classes, os atributos e os métodos. A orientação a objetos consiste em considerar os sistemas computacionais
Leia mais1.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 maisUniversidade Federal de Santa Maria Curso de Arquivologia. Disciplina de Banco de Dados Aplicados à Arquivística. Versao 1.
Universidade Federal de Santa Maria Curso de Arquivologia Disciplina de Banco de Dados Aplicados à Arquivística Prof. Andre Zanki Cordenonsi Versao 1.0 Março de 2008 Tópicos Abordados Conceitos sobre Banco
Leia maisListas Lineares. Fundamentos
Listas Lineares Fundamentos Uma lista linear é uma coleção L:[a 1, a 2,..., a n ], n 0, cuja propriedade estrutural baseia-se apenas na posição relativa dos elementos, que são dispostos linearmente. Se
Leia maisProgramação WEB I Estruturas de controle e repetição
Programação WEB I Estruturas de controle e repetição Operadores de Incremento Operadores de incremento servem como expressões de atalho para realizar incrementos em variáveis Operadores de Incremento Vamos
Leia maisJSP - ORIENTADO A OBJETOS
JSP Orientação a Objetos... 2 CLASSE:... 2 MÉTODOS:... 2 Método de Retorno... 2 Método de Execução... 2 Tipos de Dados... 3 Boolean... 3 Float... 3 Integer... 4 String... 4 Array... 4 Primeira:... 4 Segunda:...
Leia maisCAPÍ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 maisEstruturas 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 maisProgramas operam sobre dados. Dados são relacionados e possuem estrutura. Como representar e manipular dados em um computador
Programas operam sobre dados Dados são relacionados e possuem estrutura Como representar e manipular dados em um computador Para representar um baralho precisamos: Representar cartas: naipe e valor struct
Leia maisFilas. A ordem de saída corresponde diretamente à ordem de entrada dos elementos. Fila de caixa bancário
Filas Fila é um tipo de lista linear onde as inserções são realizadas num extremo (final da Fila) e as remoções restritas ao outro (começo da Fila). O primeiro a entrar é o primeiro a sair e último a entrar
Leia maisEstruturas de Dados Aula 11: TAD Pilha 09/05/2011
Estruturas de Dados Aula 11: TAD Pilha 09/05/2011 Fontes Bibliográficas Livros: Projeto de Algoritmos (Nivio Ziviani): Capítulo 3; Introdução a Estruturas de Dados (Celes, Cerqueira e Rangel): Capítulo
Leia maisA memória é um recurso fundamental e de extrema importância para a operação de qualquer Sistema Computacional; A memória trata-se de uma grande
A memória é um recurso fundamental e de extrema importância para a operação de qualquer Sistema Computacional; A memória trata-se de uma grande região de armazenamento formada por bytes ou palavras, cada
Leia maisBusca. 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 mais1. Estrutura de seleção. Seleção: algumas etapas (passos) do algoritmo são executadas dependendo do resultado de uma condição
1 Estrutura de seleção Seleção: algumas etapas (passos) do algoritmo são executadas dependendo do resultado de uma condição - Necessário quando mais de uma ação deve ser tomada se uma condição for satisfeita
Leia maisProgramação II. Aula 2
Programação II Aula 2 Introdução Para que serve programação? Resolver algum problema computacionalmente. Desenvolver um programa de computador (solução) cuja execução leve a um resultado (aceitável) de
Leia maisDisplay de 7. PdP. Autor: Tiago Lone Nível: Básico Criação: 16/12/2005 Última versão: 18/12/2006. Pesquisa e Desenvolvimento de Produtos
TUTORIAL Display de 7 Segmentos Autor: Tiago Lone Nível: Básico Criação: 16/12/2005 Última versão: 18/12/2006 PdP Pesquisa e Desenvolvimento de Produtos http://www.maxwellbohr.com.br contato@maxwellbohr.com.br
Leia maisMANIPULAÇÃO DE STRINGS
MANIPULAÇÃO DE STRINGS O TIPO DE DADO STRING Os strings, como trechos de texto, são os tipos de dados mais familiares aos seres humanos. O Pascal padrão não fornecia tipos de dados de String; tínhamos
Leia maisResoluçã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 maisTecnologia da Informação. Visão Geral sobre Informática
9/18/2014 1 Tecnologia da Informação Visão Geral sobre Informática Trabalho compilado da internet Prof. Claudio Passos 9/18/2014 2 PROBLEMAS ADMINISTRATIVOS Volume de Informação Tempo de Resposta Aumento
Leia maisListas (Parte 2) Túlio Toffolo tulio@toffolo.com.br www.toffolo.com.br. BCC202 Aula 10 Algoritmos e Estruturas de Dados I
Listas (Parte 2) Túlio Toffolo tulio@toffolo.com.br www.toffolo.com.br BCC202 Aula 10 Algoritmos e Estruturas de Dados I Listas Encadeadas Características: Tamanho da lista não é pré-definido Cada elemento
Leia maisPL/SQL. Profa. Dra. Cristina Dutra de Aguiar Ciferri. Laboratório de Bases de Dados PL/SQL
PL/SQL Laboratório de Bases de Dados PL/SQL Program Language SQL linguagem de programação da Oracle que permite processar dados armazenados no banco de dados Exemplos de operações permitidas alterar, remover,
Leia maisFigura 13.1: Um exemplo de árvore de diretório.
13. Árvores W. Celes e J. L. Rangel Nos capítulos anteriores examinamos as estruturas de dados que podem ser chamadas de unidimensionais ou lineares, como vetores e listas. A importância dessas estruturas
Leia maisMemória Flash. PdP. Autor: Tiago Lone Nível: Básico Criação: 11/12/2005 Última versão: 18/12/2006. Pesquisa e Desenvolvimento de Produtos
TUTORIAL Memória Flash Autor: Tiago Lone Nível: Básico Criação: 11/12/2005 Última versão: 18/12/2006 PdP Pesquisa e Desenvolvimento de Produtos http://www.maxwellbohr.com.br contato@maxwellbohr.com.br
Leia maisÁrvores Binárias de Busca
Árvores Binárias de Busca Definição Uma Árvore Binária de Busca possui as mesmas propriedades de uma AB, acrescida da seguinte propriedade: Para todo nó da árvore, se seu valor é X, então: Os nós pertencentes
Leia maisAnálise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO)
Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Parte: 1 Prof. Cristóvão Cunha Objetivos de aprendizagem
Leia maisSistemas Operacionais
Sistemas Operacionais Aula 11 Sincronização de Processos Prof.: Edilberto M. Silva http://www.edilms.eti.br Baseado no material disponibilizado por: SO - Prof. Edilberto Silva Prof. José Juan Espantoso
Leia maisEstruturas de Dados. Parte dos slides a seguir são adaptações, extensões e traduções para C dos originais:
Estruturas de Dados Pilhas Prof. Ricardo J. G. B. Campello Créditos Parte dos slides a seguir são adaptações, extensões e traduções para C dos originais: disponíveis em http://ww3.datastructures.net/ cedidos
Leia maisINF 1007 Programação II
INF 1007 Programação II Aula 14 Árvores Binárias Edirlei Soares de Lima Árvores Uma estrutura de dados do tipo árvore permite que dados sejam organizados de maneira hierárquica.
Leia maisÁ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 maisINF1007 - PROGRAMAÇÃO II LISTA DE EXERCÍCIOS 15
INF1007 - PROGRAMAÇÃO II LISTA DE EXERCÍCIOS 15 1. Um número racional é expresso por dois inteiros: um numerador e um denominador (este último diferente de zero!). Implemente um TAD para representar números
Leia mais2 echo "PHP e outros.";
PHP (Hypertext Preprocessor) Antes de qualquer coisa, precisamos entender o que é o PHP: O PHP(Hypertext Preprocessor) é uma linguagem interpretada gratuita, usada originalmente apenas para o desenvolvimento
Leia maisIdentificação das variáveis de entrada; resultados/variáveis de saída e método ou solução. (procedimentos e funções)
Aulas anteriores... Formulação adequada do problema Identificação das variáveis de entrada; resultados/variáveis de saída e método ou solução Definição do algoritmo Método de decomposição hierárquica utilizando
Leia maisESTRUTURA CONDICIONAL
AULA 6 ESTRUTURA CONDICIONAL 130 Tem como objetivo executar um conjunto de comandos caso uma condição lógica seja atendida. Quando a resposta lógica for falsa, nada será executado. Sintaxe Se CONDIÇÃO
Leia maisProgramação Estruturada. Programação Estruturada. Idéias Básicas da Programação Estruturada
Programação Estruturada Programação Estruturada Paradigmas de Linguagens de Programação As linguagens desse paradigma são muitas vezes chamadas de linguagens convencionais, procedurais ou imperativas.
Leia maisGeração e Otimização de Código
Geração e Otimização de Código Representação de código intermediária Código de três endereços, P-código Técnicas para geração de código Otimização de código Prof. Thiago A. S. Pardo 1 Estrutura geral de
Leia maisCurso : Tecnologia em Desenvolvimento de Sistemas - AEMS
Curso : Tecnologia em Desenvolvimento de Sistemas - AEMS Série : 3 º Período - 1 º Semestre de 2011 Professora : Elzi Ap. Gil 3. LISTAS LINEARES PARTE - III Disciplina - Estrutura de Dados Segundo Pereira(2002),
Leia maisSISTEMA DE INFORMAÇÕES ACADÊMICAS SIA
SISTEMA DE INFORMAÇÕES ACADÊMICAS SIA Abaixo constam trechos retirados do Manual do Usuário do SIA Sistema de Informações Acadêmicas. A autoria das informações é da equipe do SIA. SISTEMA DE INFORMAÇÕES
Leia maisUNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA INFORMÁTICA APLICADA
Responda 1) Quem desenvolveu a linguagem C? Quando? 2) Existe alguma norma sobre a sintaxe da linguagem C? 3) Quais são os tipos básicos de dados disponíveis na linguagem C? 4) Quais são as principais
Leia maisSintaxe e Semântica. Fases da Compilação. programa fonte
Sintaxe e Semântica mleal@inf.puc-rio.br Fases da Compilação programa fonte tokens parse tree árvore anotada ou outra forma intermediária código intermediário código objeto código objeto otimizado scanner
Leia maisESTRUTURA DE DADOS -VARIÁVEIS COMPOSTAS. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br
ESTRUTURA DE DADOS -VARIÁVEIS COMPOSTAS Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br ROTEIRO Variáveis compostas homogêneas Arrays Vetores Matrizes Variáveis compostas heterogêneas Registros
Leia maisTutorial 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 maisRegras Métodos Identificadores Variáveis Constantes Tipos de dados Comandos de atribuição Operadores aritméticos, relacionais e lógicos
Lógica Aula 2 Técnicas de Programação Criando algoritmos Regras Métodos Identificadores Variáveis Constantes Tipos de dados Comandos de atribuição Operadores aritméticos, relacionais e lógicos Criando
Leia maisMÓDULO 8 ARQUITETURA DOS SISTEMAS DE BANCO DE DADOS
MÓDULO 8 ARQUITETURA DOS SISTEMAS DE BANCO DE DADOS Quando falamos em arquitetura, normalmente utilizamos esse termo para referenciar a forma como os aplicativos computacionais são estruturados e os hardwares
Leia maisImpressão de Código de Barras Uma abordagem prática ZEBRA ZPL2
1 Impressão de Código de Barras Uma abordagem prática ZEBRA ZPL2 por Victory Fernandes e Augusto Frederico Na Internet estão disponíveis diversos componentes para geração e impressão de Código de Barras
Leia maisAnálises Geração RI (representação intermediária) Código Intermediário
Front-end Análises Geração RI (representação intermediária) Código Intermediário Back-End Geração de código de máquina Sistema Operacional? Conjunto de Instruções do processador? Ambiente de Execução O
Leia maisDisciplina: Sistemas Operacionais - CAFW-UFSM Professor: Roberto Franciscatto
Disciplina: Sistemas Operacionais - CAFW-UFSM Professor: Roberto Franciscatto Introdução Considerações: Recurso caro e escasso; Programas só executam se estiverem na memória principal; Quanto mais processos
Leia maisO 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 maisICC Introdução para JavaScript
ICC Introdução para JavaScript Arquitetura Genérica de um Computador Máquina de Von Neumann Diagrama conhecido como Máquina de Von Neumann (grande nome da informática) A finalidade de um computador é receber,
Leia maisCurso de C para Engenharias
Aula 4 Cristiano Dalbem Dennis Balreira Gabriel Moreira Miller Biazus Raphael Lupchinski Universidade Federal do Rio Grande do Sul Instituto de Informática Grupo PET Computação Sintaxe Funções Exemplos
Leia maisMétodos Os métodos de uma classe podem ser classificados como construtores, destrutores, funções ou procedimentos.
Métodos Os métodos de uma classe podem ser classificados como construtores, destrutores, funções ou procedimentos. Construtor: método executado por uma CLASSE (e não por um objeto, instância da classe)
Leia maisUnidade Acadêmica: Faculdade de Computação FACOM Disciplina: Programação Orientada a Objetos I Professor: Fabiano Azevedo Dorça Prática 01
Unidade Acadêmica: Faculdade de Computação FACOM Disciplina: Programação Orientada a Objetos I Professor: Fabiano Azevedo Dorça Prática 01 Objetivos: Modelar um sistema orientado a objetos simples a partir
Leia maisPersistência de Dados
Persistência de s Universidade do Estado de Santa Catarina - Udesc Centro de Ciências Tecnológicas - CCT Departamento de Ciência da Computação Tecnologia de Sistemas de Informação Estrutura de s II - DAD
Leia mais10) REGISTROS : Exemplos: var N,I: integer; A,B,C: real; CHAVE: boolean; CARAC: char; V: array[1..20] of real; M: array[1..10,1..
Página 1 de 10 10) REGISTROS : De um modo geral, as variáveis podem ser: - simples (integer, real, boolean, char) e - compostas: - homogêneas (array) - heterogêneas (record) Exemplos: var N,I: integer;
Leia maisIFTO TÉCNICO EM INFORMÁTICA DESENVOLVIMENTO DE SISTEMAS AULA 01
IFTO TÉCNICO EM INFORMÁTICA DESENVOLVIMENTO DE SISTEMAS AULA 01 Prof. Manoel Campos da Silva Filho Tecnólogo em Processamento de Dados / Unitins Mestre em Engenharia Elétrica / UnB http://lab.ifto.edu.br/~mcampos
Leia maisBanco de Dados. Microsoft Access
Banco de Dados Microsoft Access PARTE 01 edição 2007 Índice 01-) Conceito... 2 02) Sistema Gerenciador de Banco de Dados Relacional (SGBDR)... 3 03) Access... 3 04) Etapas para elaboração de um Banco de
Leia maisMódulo Vendas Balcão. Roteiro passo a passo. Sistema Gestor New
1 Roteiro passo a passo Módulo Vendas Balcão Sistema Gestor New Instruções para configuração e utilização do módulo Vendas balcão com uso de Impressora fiscal (ECF) 2 ÍNDICE 1. Cadastro da empresa......3
Leia maisFUNCTION ) RETURNS INTEGER AS $$ DECLARE
PERFORM O comando PERFORM permite a execução de um comando SELECT desprezando o resultado do comando. PERFORM query; A variável especial FOUND é definida como verdadeiro se a instrução produzir pelo menos
Leia maisLINGUAGENS E PARADIGMAS DE PROGRAMAÇÃO. Ciência da Computação IFSC Lages. Prof. Wilson Castello Branco Neto
LINGUAGENS E PARADIGMAS DE PROGRAMAÇÃO Ciência da Computação IFSC Lages. Prof. Wilson Castello Branco Neto Conceitos de Linguagens de Roteiro: Apresentação do plano de ensino; Apresentação do plano de
Leia mais