3. Descrição:
O programa realiza o
cadastro, exibição, procura e exclusão
de turmas de professores.
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. 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
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.
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. 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. 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.
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.
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. Estrutura de dados
Base de dados:
◦ É utilizado o conceito de base de dados :
turma(Codigo,Professor,Disciplina,Hora_au
la,L_Alunos)
23. 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),
26. 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.