SlideShare a Scribd company logo
1 of 27
Paradigma Lógico e
Funcional
Implementação
   Equipe:

 Deivid Elton
 Diógenes Ricardo
 Geraldo Pires
 Maryvania França
Descrição:
   O programa realiza o
    cadastro, exibição, procura e exclusão
    de turmas de professores.
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];
Exibir
    Exibe todas as turmas cadastradas
------------------------Turmas------------------------
Cod: 1
Professor: joao
Disciplina: a
Hora aula; 4.55
Salario hora aula: 18.2


Alunos


almir
amanda
sergio
Fernanda
------------------------
Nao ha mais turmas
Procurar por professor
   Exibe todas as turmas cadastradas
    por professor
Exclusão por turma
   Exclui todas as turmas cadastradas
    por código
RECURSÃO
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.
OPERAÇÕES COM
LISTAS
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)
...
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.
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.
BACKTRACKING
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.
Backtracking
   exibir:-
   write('------------------------'),
   write('Turmas'),
   write('------------------------'),nl,
Backtracking
turma(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,
Backtracking
calculasalario(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.
ESTRUTURA DE DADOS
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.
Estrutura de dados
 Base de dados:
  ◦ É utilizado o conceito de base de dados :

  turma(Codigo,Professor,Disciplina,Hora_au
    la,L_Alunos)
PREDICADOS
EXTRALÓGICOS
PREDICADOS
EXTRALÓ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),
PREDICADOS
EXTRALÓGICOS

write('Digite a hora aula: '),
           read(Hora_aula),
           float(Hora_aula),
OPERAÇÕES COM A
BASE DE DADOS
Operações com a Base de
Dados
   Utiliza-se os predicados assertz e
    retract, na (exibição das turmas, na
    busca) e na (exclusão da
    turma), respectivamente.
OBRIGADO!

More Related Content

More from Diogenes Freitas

Visitando a literatura em redes neurais recorrentes
Visitando a literatura em redes neurais recorrentesVisitando a literatura em redes neurais recorrentes
Visitando a literatura em redes neurais recorrentesDiogenes Freitas
 
Proposta de identificação de impressões digitais empregando redes neurais art...
Proposta de identificação de impressões digitais empregando redes neurais art...Proposta de identificação de impressões digitais empregando redes neurais art...
Proposta de identificação de impressões digitais empregando redes neurais art...Diogenes Freitas
 
Uma Proposta de identificação de Impressões Digitais empregando Redes Neurais...
Uma Proposta de identificação de Impressões Digitais empregando Redes Neurais...Uma Proposta de identificação de Impressões Digitais empregando Redes Neurais...
Uma Proposta de identificação de Impressões Digitais empregando Redes Neurais...Diogenes Freitas
 
Um estudo sobre gerenciamento de variabilidade de requisitos em linha de prod...
Um estudo sobre gerenciamento de variabilidade de requisitos em linha de prod...Um estudo sobre gerenciamento de variabilidade de requisitos em linha de prod...
Um estudo sobre gerenciamento de variabilidade de requisitos em linha de prod...Diogenes Freitas
 
Apresentacao banco de dados moveis
Apresentacao   banco de dados moveisApresentacao   banco de dados moveis
Apresentacao banco de dados moveisDiogenes Freitas
 
Um estudo sobre o gerenciamento de variabilidade em LInha de produto de software
Um estudo sobre o gerenciamento de variabilidade em LInha de produto de softwareUm estudo sobre o gerenciamento de variabilidade em LInha de produto de software
Um estudo sobre o gerenciamento de variabilidade em LInha de produto de softwareDiogenes Freitas
 

More from Diogenes Freitas (12)

Visitando a literatura em redes neurais recorrentes
Visitando a literatura em redes neurais recorrentesVisitando a literatura em redes neurais recorrentes
Visitando a literatura em redes neurais recorrentes
 
Reúso
ReúsoReúso
Reúso
 
Reconhecimento de digital
Reconhecimento de digitalReconhecimento de digital
Reconhecimento de digital
 
Proposta de identificação de impressões digitais empregando redes neurais art...
Proposta de identificação de impressões digitais empregando redes neurais art...Proposta de identificação de impressões digitais empregando redes neurais art...
Proposta de identificação de impressões digitais empregando redes neurais art...
 
Processadores de rede (2)
Processadores de rede (2)Processadores de rede (2)
Processadores de rede (2)
 
Tokenring
TokenringTokenring
Tokenring
 
Uma Proposta de identificação de Impressões Digitais empregando Redes Neurais...
Uma Proposta de identificação de Impressões Digitais empregando Redes Neurais...Uma Proposta de identificação de Impressões Digitais empregando Redes Neurais...
Uma Proposta de identificação de Impressões Digitais empregando Redes Neurais...
 
Modelo de falhas
Modelo de falhasModelo de falhas
Modelo de falhas
 
Open nebula
Open nebulaOpen nebula
Open nebula
 
Um estudo sobre gerenciamento de variabilidade de requisitos em linha de prod...
Um estudo sobre gerenciamento de variabilidade de requisitos em linha de prod...Um estudo sobre gerenciamento de variabilidade de requisitos em linha de prod...
Um estudo sobre gerenciamento de variabilidade de requisitos em linha de prod...
 
Apresentacao banco de dados moveis
Apresentacao   banco de dados moveisApresentacao   banco de dados moveis
Apresentacao banco de dados moveis
 
Um estudo sobre o gerenciamento de variabilidade em LInha de produto de software
Um estudo sobre o gerenciamento de variabilidade em LInha de produto de softwareUm estudo sobre o gerenciamento de variabilidade em LInha de produto de software
Um estudo sobre o gerenciamento de variabilidade em LInha de produto de software
 

Paradigma Lógico e Funcional