27
Paradigma Lógico e Funcional

Paradigma Lógico e Funcional

Embed Size (px)

Citation preview

  • 1. Paradigma Lgico eFuncional

2. Implementao Equipe: Deivid Elton Digenes Ricardo Geraldo Pires Maryvania Frana 3. Descrio: O programa realiza ocadastro, exibio, procura e exclusode turmas de professores. 4. Cadastrar O cdigo da turma; O nome do professor; A disciplina; O valor da hora aula do professor; Os alunos da turma[almir,amanda,sergio,Fernanda]; 5. ExibirExibe todas as turmas cadastradas------------------------Turmas------------------------Cod: 1Professor: joaoDisciplina: aHora aula; 4.55Salario hora aula: 18.2AlunosalmiramandasergioFernanda------------------------Nao ha mais turmas 6. Procurar por professor Exibe todas as turmas cadastradaspor professor 7. Excluso por turma Exclui todas as turmas cadastradaspor cdigo 8. RECURSO 9. Recurso Utiliza-se recurso nas regras exibir elista e tamanho./* exibe a lista de alunos*/exibelista([]).exibelista([X|L]):-write(X),nl,exibelista(L).tamanho([], 0).tamanho([_ | R], N) :-tamanho(R, N1),Nis N1+1. 10. OPERAES COMLISTAS 11. Operaes com ListasNo adiciona os alunos so inseridos atravs de uma lista. Na exibio das turmas h regras que utilizam lista:/* exibe a lista de alunos*/exibelista([]).exibelista([X|L]):- write(X),nl,exibelista(L)... 12. Operaes com Listas...Na gerao do salrio 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. Operaes com Listas Na gerao do salrio hora aula:tamanho([], 0).tamanho([_ | R], N) :-tamanho(R, N1),Nis N1+1./* calcula o salario hora aula*/calculasalario(H,L,S) :- tamanho(L,N),Sis H * N. 14. BACKTRACKING 15. Backtracking O backtracking evidenciado nabusca, ele acha a turma e fora-se afalhar com o fail, para que ele volte epercorra toda a base de dados. 16. Backtracking exibir:- write(------------------------), write(Turmas), write(------------------------),nl, 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. Backtrackingcalculasalario(Hora_aula,L_Alunos,Salario),write(Salario hora aula:),write(Salario),nl,nl,write(Alunos),nl,nl,exibelista(L_Alunos),nl,nl, write(------------------------), nl, fail, nl. 19. ESTRUTURA DE DADOS 20. Estrutura de dados Entradae sada de dados (READ e WRITE) Durante todo o programa se utiliza de leitura e exibio de dados utilizando read e write. 21. Estrutura de dados Base de dados: utilizado o conceito de base de dados :turma(Codigo,Professor,Disciplina,Hora_aula,L_Alunos) 22. PREDICADOSEXTRALGICOS 23. PREDICADOSEXTRALGICOS Tipos de termo: Verifica-se o cdigo 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. PREDICADOSEXTRALGICOSwrite(Digite a hora aula: ), read(Hora_aula), float(Hora_aula), 25. OPERAES COM ABASE DE DADOS 26. Operaes com a Base deDados Utiliza-se os predicados assertz eretract, na (exibio das turmas, nabusca) e na (excluso daturma), respectivamente. 27. OBRIGADO!