Paradigma Lógico e Funcional

2.220 visualizações

Publicada em

0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
2.220
No SlideShare
0
A partir de incorporações
0
Número de incorporações
1
Ações
Compartilhamentos
0
Downloads
22
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Paradigma Lógico e Funcional

  1. 1. Paradigma Lógico eFuncional
  2. 2. Implementação Equipe: Deivid Elton Diógenes Ricardo Geraldo Pires Maryvania França
  3. 3. Descrição: O programa realiza o cadastro, exibição, procura e exclusão de turmas de professores.
  4. 4. Cadastrar O código da turma; O nome do professor; A disciplina; O valor da hora aula do professor; Os alunos da turma [almir,amanda,sergio,Fernanda];
  5. 5. Exibir Exibe todas as turmas cadastradas------------------------Turmas------------------------Cod: 1Professor: joaoDisciplina: aHora aula; 4.55Salario hora aula: 18.2AlunosalmiramandasergioFernanda------------------------Nao ha mais turmas
  6. 6. Procurar por professor Exibe todas as turmas cadastradas por professor
  7. 7. Exclusão por turma Exclui todas as turmas cadastradas por código
  8. 8. RECURSÃO
  9. 9. Recursão Utiliza-se recursão nas regras exibir e lista e tamanho./* exibe a lista de alunos*/exibelista([]).exibelista([X|L]):- write(X),nl,exibelista(L).tamanho([], 0).tamanho([_ | R], N) :-tamanho(R, N1),N is N1+1.
  10. 10. OPERAÇÕES COMLISTAS
  11. 11. Operações com Listas No adiciona os alunos são inseridos através de uma lista. Na exibição das turmas há regras que utilizam lista:/* exibe a lista de alunos*/exibelista([]).exibelista([X|L]):- write(X),nl,exibelista(L)...
  12. 12. Operações com Listas...Na geração do salário hora aula:tamanho([], 0).tamanho([_ | R], N) :-tamanho(R, N1),N is N1+1./* calcula o salario hora aula*/calculasalario(H,L,S) :- tamanho(L,N),S is H * N.
  13. 13. Operações com Listas Na geração do salário hora aula:tamanho([], 0).tamanho([_ | R], N) :-tamanho(R, N1),N is N1+1./* calcula o salario hora aula*/calculasalario(H,L,S) :- tamanho(L,N),S is H * N.
  14. 14. BACKTRACKING
  15. 15. Backtracking O backtracking é evidenciado na busca, ele acha a turma e força-se a falhar com o “fail”, para que ele volte e percorra toda a base de dados.
  16. 16. Backtracking exibir:- write(------------------------), write(Turmas), write(------------------------),nl,
  17. 17. Backtrackingturma(Codigo,Professor,Disciplina,Hora_aula, L_Alunos), write(Cod: ),write(Codigo),nl, write(Professor: ),write(Professor),nl, write(Disciplina: ),write(Disciplina),nl, write(Hora aula; ),write(Hora_aula),nl,
  18. 18. Backtrackingcalculasalario(Hora_aula,L_Alunos,Salario), write(Salario hora aula: ),write(Salario),nl,nl, write(Alunos),nl,nl,exibelista(L_Alunos),nl,n l, write(------------------------), nl, fail, nl.
  19. 19. ESTRUTURA DE DADOS
  20. 20. Estrutura de dados Entrada e saída de dados (READ e WRITE) ◦ Durante todo o programa se utiliza de leitura e exibição de dados utilizando read e write.
  21. 21. Estrutura de dados Base de dados: ◦ É utilizado o conceito de base de dados : turma(Codigo,Professor,Disciplina,Hora_au la,L_Alunos)
  22. 22. PREDICADOSEXTRALÓGICOS
  23. 23. PREDICADOSEXTRALÓGICOS Tipos de termo: ◦ Verifica-se o código e o valor hora aula: write(Digite o codigo: ), read(Codigo), integer(Codigo), write(Digite o professor: ), read(Professor), write(Digite a disciplina: ), read(Disciplina),
  24. 24. PREDICADOSEXTRALÓGICOSwrite(Digite a hora aula: ), read(Hora_aula), float(Hora_aula),
  25. 25. OPERAÇÕES COM ABASE DE DADOS
  26. 26. Operações com a Base deDados Utiliza-se os predicados assertz e retract, na (exibição das turmas, na busca) e na (exclusão da turma), respectivamente.
  27. 27. OBRIGADO!

×