Created
May 14, 2023 08:54
-
-
Save HenriquedoVal/db75110af34b8e7ec09bf2ec75f63c3c to your computer and use it in GitHub Desktop.
Trabalho Prolog e Redes
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
% SWI-Prolog version 9.0.4 for x64-win64 | |
/* Sugestão de uso: | |
# ?- defina(rede). | |
Rede de computadores ... | |
# ?- defina('placa de rede'). | |
Dispositivo físico ... | |
% ou | |
# ?- testes. | |
% define todas as opções | |
*/ | |
%%% Base de dados 1: | |
% O que é uma rede de computadores? | |
def("rede", | |
"Rede de computadores é uma estrutura física e lógica | |
a qual permite que computadores se comuniquem entre si e | |
entre outros periféricos." | |
). | |
% Qual a classificação de redes? | |
def("classificacao de redes", | |
"As redes são classificadas quanto aos seus alcances, logo são | |
classificadas em LAN, MAN e WAN." | |
). | |
% O que é um roteador? | |
def("roteador", | |
"Dispositivo capaz de escolher a melhor rota de dados entre o cliente | |
e o servidor." | |
). | |
% O que é uma placa de rede? | |
def("placa de rede", | |
"Dispositivo físico responsável pela interação entre o computador | |
os demais elementos da rede." | |
). | |
% O que é um Modem? | |
def("modem", | |
"Equipamento responsável pela modulação e demodulação de sinais, | |
ou seja, faz a transformação dos sinais elétricos digitais em sinais | |
apropriados ao meio de comunicação e vice-versa." | |
). | |
% O que é um repetidor? | |
def("repetidor", | |
"Equipamento que torna capaz o alongamento do alcance das comunicações | |
de rede repetindo os sinais que recebe e propagando-os até o destino | |
sem alterá-los." | |
). | |
% O que é um Switch? | |
def("switch", | |
"Dispositivo que faz o gerenciamento entre redes diferentes." | |
). | |
% O que é uma lan? | |
def("lan", | |
"Local Area Network. É uma rede de alcance local, restringe-se a uma | |
instituição, edifício ou residência, por exemplo." | |
). | |
% O que é Man? | |
def("man", | |
"Metropolitan Area Network. Rede de computadores com alcance metropolitano." | |
). | |
% O que é wan? | |
def("wan", | |
"Wide Area Network. Redes de alcance amplo, mundial." | |
). | |
% O que é internet? | |
def("internet", | |
"É uma série de redes conectadas que se comunicam através de protocolos." | |
). | |
% O que é Correio eletrônico? | |
def("correio eletronico", | |
"Serviço de entrega de mensagens eletrônicas através da rede, um dos | |
primeiros serviços que utilizou esta tecnologia." | |
). | |
% O que é um Cabo coaxial? | |
def("cabo coaxial", | |
"Foi o primeiro cabo utilizado para redes, mas, devido a sua inflexibilidade | |
e diversos problemas de sua utilização, não é mais empregado para esse fim." | |
). | |
% O que é um Cabo de par trançado? | |
def("cabo de par trancado", | |
"Principal cabo utilizado em redes atualmente, pois além de sua flexibilidade, fornece maior velocidade na transmissão de dados do que o cabo coaxial." | |
). | |
% O que é a Fibra óptica? | |
def("fibra otica", | |
"Meio de transmissão mais rápido que a tecnologia atual permite, porém os | |
custos de conversão entre sinais óticos e digitais impedem a ampla | |
implementação desse tipo de cabo." | |
). | |
% O que é Radiofrequência? | |
def("radiofrequencia", | |
"Meio de comunicação não físico comumente chamado de wireless, dispensa | |
a utilização de cabos para a transmissão de dados, porém tem menor | |
alcance." | |
). | |
% O que são Topologias de redes? | |
def("topologias de redes", | |
"Topologia de redes refere-se ao mecanismo de abstração das | |
especificidades que dispositivos diversos apresentam para a | |
comunicação entre si." | |
). | |
% O que é uma Topologia Parcialmente Ligada? | |
def("topologia parcialmente ligada", | |
"Rede de comunicação onde todos os aparelhos estão conectados, porém não | |
necessariamente diretamente cabeados. A comunicação pode ocorrer | |
diretamente ou através de aparelhos intermediários na rede." | |
). | |
% O que é uma Topologia em Barramento? | |
def("topologia em barramento", | |
"Rede cujo cabeamento é centralizado em um único barramento que este | |
se estende por toda a rede." | |
). | |
% O que é uma Topologia Ponto a Ponto? | |
def("topologia ponto a ponto", | |
"Configura a comunicação em série entre computadores, onde determinado dado | |
deve trafegar por aparelhos sequecialmente até seu destino." | |
). | |
% O que é uma Topologia Multiponto? | |
def("topologia multiponto", | |
"Também conhecida como token ring, os aparelhos são conectados em forma | |
circular e quando um deles precisa fazer uma transmissão, ele captura o | |
token, transmite os dados e então devolve o token." | |
). | |
% O que é uma Topologia em Estrela? | |
def("topologia em estrela", | |
"Consiste em dispor de um dispositivo central responsável por | |
mediar a transmissão de dados entre aparelhos diversos." | |
). | |
%% Base de dados 2 | |
% O que é Ethernet? | |
def("ethernet", | |
"Compõe um conjunto de protocolos de comunicação entre aparelhos em rede, | |
pode ser empregado como sinônimo de LAN." | |
). | |
% O que é Endereçamento na ethernet e quais são os seus serviços? | |
def("enderecamento", | |
"O endereçamento na ethernet é baseado no número MAC dos dispositivos da | |
rede e tem os serviços unicast (somente um destinatário), multicast (mais | |
de um destinatário) e broadcast (qualquer destinatário)." | |
). | |
% O que é um Protocolo MAC? | |
def("mac", | |
"Numeração de hardware única que um dispositivo de rede deve possuir. | |
Caracteriza-se por 48 bits (6 bytes) no formato hexadecimal separados | |
por hífen, ponto ou dois pontos." | |
). | |
% O que é Padrão Gigabit Ethernet? | |
def("gigabit ethernet", | |
"Trata-se do padrão de conexão que permite velocidade de transmissão de | |
dados de até um gigabit. É a solução para o crescimento da demanda por | |
velocidade das aplicações modernas." | |
). | |
% O que é Metro Ethernet? | |
def("metro ethernet", | |
"Caracteriza-se pela utilização de comunicação ponto-a-ponto ou multiponto | |
em uma rede MAN, tornado-se uma alternativa à menor velocidade oferecida | |
nas comunicações WAN." | |
). | |
% O que é o protocolo TCP/IP? | |
def("tcp", | |
"Transmission Control Protocol/Internet Protocol. TCP é um conjunto de | |
implementações para comunicações entre dispositivos e IP é um número único que | |
identifica um dispositivo na rede." | |
). | |
% Quais são os protocolos que constituem o TCP? | |
def("protocolos tcp", | |
"Diversos são os protocolos que constituem o TCP e podem ser divididos | |
pela camada de rede em que operam. Na camada da aplicação: SMTP, Telnet, | |
FTP, HTTP. Na camada de transporte: TCP e UDP. E na camada de rede: IP (v4 | |
e v6) e ICMP." | |
). | |
% O que é IGRP? | |
def("igrp", | |
"Interior Gateway Routing Protocol. É um protocolo de roteamento | |
desenvolvido a partir do RIP (Routing Information Protocol) que melhora as | |
métricas quanto à velocidade e latência entre dispositivos." | |
). | |
% O que é EIGRP? | |
def("eigrp", | |
"Enhanced Interior Geteway Routing Protocol. Também conhecido como | |
protocolo híbrido, reune tecnologias dos protocolos que usam vetor de | |
distância e estado de ligação, além de ser compatível com IGRP." | |
). | |
% O que é SMTP? | |
def("smtp", | |
"Simple Mail Transfer Protocol. Protocolo padrão de troca de e-mails, | |
não suporta troca de mensagens que contenham multimídia." | |
). | |
% O que é Telnet? | |
def("telnet", | |
"É um protocolo de acesso remoto sem interface gráfica que permite que | |
comandos passados pelo client sejam executados diretamente no host." | |
). | |
% O que é FTP? | |
def("ftp", | |
"File Transfer Protocol. Protocolo de transferência de arquivos, | |
faz download e upload de arquivos entre computadores na rede." | |
). | |
% O que é http? | |
def("http", | |
"Hypertext Transfer Protocol. É o protocolo que baseia a web, comumente | |
utilizado entre browsers e servidores para transferência de hipertextos." | |
). | |
% O que é camada de rede? | |
def("camada de rede", | |
"A camada de rede é responsável pela resolução de questões de topografia | |
e transferência de dados entre dispositivos. Suas principais atribuições | |
são o roteamento e o endereçamento." | |
). | |
% O que é IPv4? | |
def("ipv4", | |
"IP versão 4 é caracterizada por uma sequência de 4 bytes, formando então | |
32 bits, separados por pontos que indicam uma rede e um host. | |
Ex: 127.0.0.1" | |
). | |
% O que é ICMP? | |
def("icmp", | |
"Internet Control Message Protocol. Protocolo utilizado para troca de | |
mensagens a cerca dos status dos dispositivos ou de mensagens na rede." | |
). | |
% | |
% 'Ponto de entrada' | |
% | |
defina(Entry) :- | |
use_module(library(pcre)), | |
% `Entry` se torna string, todas os arg0 devem ser strings | |
% defina(HTTP) =:= defina(http) | |
string_lower(Entry, String), | |
% substitui acentos se presentes, tornando o uso opcional | |
% usar a mesma variável pode causar erros | |
re_replace("ó"/g, "o", String, A), | |
re_replace("ô"/g, "o", A, B), | |
re_replace("ê"/g, "e", B, C), | |
re_replace("ã", "a", C, D), | |
re_replace("ç", "c", D, F), | |
re_replace('optica', 'otica', F, G), | |
def(G, Res), | |
writeln(Res), | |
writeln(''). | |
testes :- | |
maplist(defina, [ | |
"REDE", | |
"classificação de redes", | |
"roteador", | |
"placa de rede", | |
"modem", | |
"repetidor", | |
"switch", | |
"lan", | |
"man", | |
"wan", | |
"internet", | |
"correio eletrônico", | |
"cabo coaxial", | |
"cabo de par trançado", | |
"fibra óptica", | |
"fibra optica", | |
"fibra ótica", | |
"radiofrequência", | |
"topologias de redes", | |
"topologia parcialmente ligada", | |
"topologia em barramento", | |
"topologia ponto a ponto", | |
"topologia multiponto", | |
"topologia em estrela", | |
"ethernet", | |
"endereçamento", | |
"MAC", | |
"gigabit ethernet", | |
"metro ethernet", | |
"tcp", | |
"protocolos tcp", | |
"igrp", | |
"EIGRP", | |
"SMTP", | |
"telnet", | |
"ftp", | |
"http", | |
"camada de rede", | |
"IPv4", | |
"icmp" | |
]), | |
defina(tcp). % test atom |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment