Skip to content

Instantly share code, notes, and snippets.

@HenriquedoVal
Created May 14, 2023 08:54
Show Gist options
  • Save HenriquedoVal/db75110af34b8e7ec09bf2ec75f63c3c to your computer and use it in GitHub Desktop.
Save HenriquedoVal/db75110af34b8e7ec09bf2ec75f63c3c to your computer and use it in GitHub Desktop.
Trabalho Prolog e Redes
% 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