Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Módulo de implementação da BD de publicações
- # 2021-11-16
- # by jcr
- # --------------------------------------------
- # Modelo de dados:
- # 1. A base de dados será uma lista de registos bibliográficos;
- # 2. Cada registo terá os seguintes campos: chave de citação (string identificadora
- # e que será única, diferente em todos os registos), título (string), autores (lista de autor),
- # ano de publicação (inteiro), local (conferência ou título do livro ou revista);
- # 3. Um autor será um tuplo constituído por: identificador (string única), nome (string).
- # ----------------------------------------------------------------------------------------------
- #
- # (C)reate: funções de criação dos vários componentes estruturais do modelo
- #
- def criarRegisto(c, t, la, a, l):
- return {
- 'chaveCit': c,
- 'titulo': t,
- 'autores': la,
- 'ano': a,
- 'local': l
- }
- def criarAutor(id, n):
- return (id, n)
- def criarBD():
- return []
- def inserirReg(bd, reg):
- bd.append(reg)
- return bd
- # (R)etrieve: recuperar/listar/consultar
- #
- #def listar(bd):
- # ...
- def consultar(bd, chave):
- encontrado = False
- i = 0
- while (not encontrado) and (i < len(bd)):
- if bd[i]['chaveCit'] == chave:
- encontrado = True
- i = i + 1
- if encontrado:
- mostrarReg(bd[i-1])
- else:
- print("ERRO: chave de citação inexistente na BD!")
- def mostrarAutores(lista):
- print("Lista de Autores:")
- for (id,n) in lista:
- print("\tId: ", id, " - ", n)
- def mostrarReg(reg):
- print("Chave de citação: ", reg['chaveCit'])
- print("Título: ", reg['titulo'])
- mostrarAutores(reg['autores'])
- print("Ano de publicação: ", reg['ano'])
- print("Local: ", reg['local'])
- #
- # (U)pdate: alteração/edição de um registo
- #
- # def editar(bd, chave, ???):
- # ...
- #
- # (D)elete: remoção de um registo
- #
- # def remover(bd, chave):
- # ...
- #
- # Criar um índice de publicações ordenado por título: chave, título
- #
- # def criarInd(bd):
- # ...
- #
- # Store: guardar a BD em ficheiro
- #
- # def guardarBD(bd, fnome):
- # ...
- #
- # Restore/Load: carregar a BD de um ficheiro
- #
- # def carregarBD(fnome):
- # ...
Advertisement
Add Comment
Please, Sign In to add comment