Logo Passei Direto
Buscar

[UFMS Digital] ALGORITMOS E PROGRAMAÇÃO II - Videoaula do Módulo 2

User badge image

Enviado por Wellison Serpa em

páginas com resultados encontrados.
páginas com resultados encontrados.

Prévia do material em texto

Algoritmos e Programação II
Prof. MSc. Samuel Benjoino Ferraz Aquino
Módulo 2 – Pilhas, filas e arquivos 
Roteiro
● Unidade 1: Pilhas e Filas
● Unidade 2: Arquivos
● Resumo
Pilhas e Filas
● Algumas listas lineares são manipuladas de maneira 
específica
● Pilhas e filas: tipos especiais de listas lineares
● Objetivo da unidade: 
○ Utilizar pilhas e filas
Pilhas e Filas
● Pilhas e filas armazenam ponteiros para posições específicas 
da lista
● Pilha: ponteiro para o topo
● Fila: ponteiro para o início e para o fim
Pilhas
● Lista linear que segue o protocolo LIFO
○ Last in, First Out
● Permite duas operações principais
○ Empilhar: coloca informação no topo
○ Desempilhar: remove informação do topo
Pilhas
Caixa 1
Caixa 2
Caixa 3
Pilha de caixas
Pilhas
Caixa 1
Caixa 2
Caixa 3
Pilha de caixas
Topo
Pilhas
Caixa 1
Caixa 2
Caixa 3
Pilha de caixas
Caixa 4
Empilha
Topo
Pilhas
Caixa 1
Caixa 2
Caixa 3
Pilha de caixas
Caixa 4Topo
Pilhas
Caixa 1
Caixa 2
Caixa 3
Pilha de caixas
Caixa 4Topo
Desempilha
Pilhas
Caixa 1
Caixa 2
Caixa 3
Pilha de caixas
Topo
Caixa 4
Pilhas
● E se eu tiver interesse no elemento que está na base da pilha?
○ Serão necessárias várias chamadas desempilha
● Podem ser implementadas com listas lineares simples e 
encadeadas
● A escolha do tipo de lista altera o custo das operações
Pilhas
● Overflow
○ Quando empilha é invocado e pilha não tem espaço físico 
disponível
○ Mais provável em lista linear simples
● Underflow
○ Quando desempilha é invocado e pilha está vazia
○ Acontece independente da implementação
Filas
● Lista linear que segue o protocolo FIFO
○ First in, First Out
● Permite duas operações principais
○ Enfileirar: coloca informação no fim 
○ Desenfileirar: remove informação do início
Filas
João José Joaquim
BANCO
Filas
João José Joaquim
BANCO
fim início
Filas
João José Joaquim
BANCO
fim início
Ari
enfileirar
Filas
João José Joaquim
BANCO
fim início
Ari
enfileirar
Filas
João José Joaquim
BANCO
fim início
Ari
desenfileirar
Filas
João José
BANCO
fim início
Ari
desenfileirar
Joaquim
Filas
● E se eu tiver interesse no elemento que está no meio da fila?
○ Serão necessárias várias chamadas de desenfileirar
● Podem ser implementadas com listas lineares simples e 
encadeadas
● A escolha do tipo de lista altera o custo das operações
Filas
● Overflow
○ Quando enfileirar é invocado e fila não tem espaço físico 
disponível
○ Mais provável em lista linear simples
● Underflow
○ Quando desenfileirar é invocado e fila está vazia
○ Acontece independente da implementação
Arquivos
● Um arquivo é um recurso de armazenamento permanente de 
dados em disco
● Utilizado em diferentes tipos de aplicações
● Objetivo da unidade:
○ Operar arquivos
Arquivos
● Um arquivo é um conjunto de bytes ao qual é atribuído um 
nome
● Dois tipos de arquivos
○ Arquivos texto
○ Arquivos binários
Arquivos
● Um arquivo é um conjunto de bytes ao qual é atribuído um 
nome
● Dois tipos de arquivos
○ Arquivos texto
○ Arquivos binários
● Trabalharemos principalmente com arquivos texto
Arquivos
● Abertura de um arquivo em Python
○ Método open
● Diferentes formatos de abertura
○ Leitura (r)
○ Escrita (w)
○ Concatenação (a)
Arquivos
● Métodos relativos à manipulação de arquivos em Python
○ close()
○ flush()
○ read()
○ readline()
○ readlines()
○ write(S)
○ writelines(L)
○ seek(N)
Resumo
● Ao fim desta unidade você terá aprendido a:
○ Utilizar pilhas e filas
○ Operar arquivos 
Licenciamento
Respeitadas as formas de citação formal de autores de acordo com as normas da 
ABNT NBR 6023 (2018), a não ser que esteja indicado de outra forma, todo material 
desta apresentação está licenciado sob uma Licença Creative Commons - 
Atribuição 4.0 Internacional. 
https://creativecommons.org/licenses/by/4.0/
https://creativecommons.org/licenses/by/4.0/

Mais conteúdos dessa disciplina

Mais conteúdos dessa disciplina