Escolar Documentos
Profissional Documentos
Cultura Documentos
GOIANIA – GO
2021
CRISTIAN KEVIN DE SOUSA NOLETO
JOAO PAULO DE OLIVEIRA
KALLEW CARLOS MACHADO DE OLIVEIRA
LUCIANO FERREIRA ARAÚJO
GOIANIA – GO
2021
AGRADECIMENTOS
Agradecemos Primeiramente a DEUS que nos proporcionou estarmos
aqui e também por ser a base das nossas conquistas;
Somos muito gratos às nossas famílias que nos apoiaram o tempo todo claro, não
poupando esforços para vencermos no final desta jornada.
Agradecemos também aos nossos amigos pelo apoio, incentivo e ajuda durante toda
esta jornada.
A todos os professores que nos ajudaram nessa caminhada, com toda sua
dedicação e também as orientações na elaboração deste trabalho, colaborando com
toda ajuda possível para o desenvolvimento de nossas ideias.
Enfim podemos dizer Acabou, Vencemos!
RESUMO
1 INTRODUÇÃO
que outros dispositivos não sao capazes de entregar. Há uma grande espectativa
para que este tipo de sistema seja mais comumente encontrado em poucas decadas
ou ate anos, por conta de todos os avanços que a tecnologia, proporciona para gerar
maior comodidade em todas as tarefas do cotidiano, fazendo com que o valor de
mercado destas tecnologias que hoje, uma parcela menor de pessoas tem, por
conta de todos os custos e valores envolvidos, para criação do Sistema,
implementação e venda, os valores ainda sao altos, porem com o avanço da
tecnologia, os valores irao abaixar em muito pouco tempo, fazendo com que mais
pessoas possam aproveitar destas tecnologias, com a popularização da tecnologia
poucas pessoas nao irão querer aproveitar de todos os avanços e melhorias que
serao implementadas no contexto social em um todo, porque ligar a luz pelo
interruptor se posso comprar ou programar um robo para que ligue a luz quando
houver um comando ou uma movimentação em determinado cômodo?
2 OBJETIVO GERAL
sua vez irá proporcionar ao usuário uma interação usuário-ambiente para ser
automatizado. A apresentação deste Sistema se dará pela criação de uma maquete
que, terá condições ideias e reais em uma residência, simulando um Sistema real
em um residência real, proporcionando a avaliação.
3 REVISAO BIBLIOGRAFICA
4 ALGORITMOS
2.1 O que é algoritmo:
Essas sequências de códigos devem ser bem explícitas, não podendo haver
ambiguidades e muitas menos várias interpretações, ou seja, um código escrito uma
vez deve sempre trazer o mesmo resultado.
Um bom código é sempre aquele que funciona, mas ele deve também ser
leve, pois assim executam uma tarefa em menos tempo e facilitam as futuras
manutenções no código. Para um algoritmo ser leve, deve seguir uma boa
arquitetura, ser planejado antes de ser codificado, definir funções iniciais ao seu
algoritmo para que não sejam um monte de código soltos e estar sempre revisando
o que já foi feito na fase de implementação para que certifique-se de o algoritmo
está seguindo uma boa arquitetura
Imagine que uma pessoa vai entrar em uma cozinha pela primeira vez em sua vida e
resolve fazer um bolo de chocolate. A próxima imagem representa um algoritmo com
os passos para fazer um bolo de chocolate. Essa pessoa é um novato e precisa de
instruções bem detalhadas, pois ele é inexperiente e por exemplo ele não sabe o
que é “bater as claras em neve”.
12
4.1 Linguagens
Todo tipo de informação que deve ser armazenada, processada ou transferida
é necessário está no formato de uma linguagem. No processo de comunicação a
linguagem é essencial. Quando duas máquinas se comunicam, elas estão trocando
informações, nesse caso isso se chama protocolo. Para que um ser humano consiga
programar, armazenar e buscar informações em um computador, é preciso uma
linguagem que ele consiga entender, pois o computador entende apenas a
linguagem de máquina, ou seja, não há uma comunicação direta entre eles, é
necessário uma linguagem intermediária para que haja uma comunicação entre a
13
5.1 Compiladores
De maneira resumida um compilador é um programa de computador (ou um
grupo de programas) que lê um código fonte de uma linguagem qualquer que pode
14
Aho, 1995)
lexicais fixas para ser usado no compilador gerado. As ferramentas que têm maior
possibilidade de sucesso são as que escondem os detalhes do algoritmo de geração
e produzem componentes que conseguem sem muitas dificuldades a serem
integrados à parte restante do compilador.
Fulano está indo para o trabalho, mas antes deseja tomar um café da manhã,
e assim vai a padaria, chegando no estabelecimento pede um café, então toma o
café, continua o percurso até o seu trabalho.
Fulano está indo para o trabalho, mas antes ele deseja tomar um café da
manhã, assim vai a padaria, chegando no estabelecimento pede o café, mas o
atendente lhe informa que o café acabou, devido a isso fulano volta para o percurso
até o seu trabalho.
Fulano está indo para o trabalho, mas antes deseja tomar um café da manhã,
e assim vai a padaria, chegando no estabelecimento pede um café, então toma o
café, continua o percurso até o seu trabalho.
Fulano está indo para o trabalho, mas antes ele deseja tomar um café da
manhã, assim vai a padaria, chegando no estabelecimento pede o café, mas o
atendente lhe informa que o café acabou, então pede para que lhe sirva um copo de
leite, fulano toma o leite e volta para o percurso até o seu trabalho.
19
As estruturas de repetição são úteis, por exemplo, para repetir uma série de
operações semelhantes que são executadas para todos os elementos de uma lista
ou de uma tabela de dados, ou simplesmente para repetir um mesmo
processamento até que uma certa condição seja satisfeita.
20
Exemplo:
A ideia é calcular quatro valores que podem ser diferentes para cada aluno,
levando em conta que será calculado o ano letivo inteiro, ou seja, a cada três meses
o aluno irá fazer uma prova, que será o resultado da sua nota do trimestre. Para
esses valores dos quatros trimestres chamaremos de variáveis. Nessas variáveis
serão guardados os resultados das notas dos alunos, ou seja, a variável representa
a nota do aluno. Para não ficar confuso podemos colocar apelidos nessas variáveis,
neste caso chamaremos elas assim: nota1, nota2, nota3 e nota4. O número no final
de cada “apelido” se refere ao trimestre no qual o aluno fez a prova. O computador
entende que são quatro espaços diferentes alocados na memória, ele diferencia
uma da outra pelo “apelido” que colocamos nelas, como mostrei no exemplo.
Essa linha de código significa: nota1 recebe um input, ou seja, qualquer coisa
que for digitado quando esse código for executado. Entre as aspas simples é um
texto que será mostrado no console para orientar quem está executando o código.
Note que tanto o texto entre as aspas e o “input” então dentro de parênteses, mais
precisamente então dentro do “float”, e com isso, o computador entende que o que
será digitado será um número com vírgula, exemplo: 1.5, 2.3, 7.7.
Para isso precisamos de mais uma variável, que irá guardar o resultado do
cálculo. Essa variável recebeu o apelido de “media”, pois ela vai guardar a média do
aluno. A variável média receberá a soma da nota1, nota2, nota3 e a nota4 e dividirá
por 4, que é a quantidade total de notas. Feito isso o computador já sabe a média do
aluno, mas o resultado não será apresentado na tela, pois não mandamos o script
mostrar o resultado. Para isso usará o comando “print()” , que serve para imprimir
tudo que estiver dentro dos parênteses na tela. Vale ressaltar que, qualquer
caractere que estiver entre aspas simples ou duplas será mostrado na tela, e se
estiver fora das aspas o computador entende como variável, lista ou objeto, e ao
invés de mostrar os caracteres escritos ele mostrará o valor que os caracteres
representam. Ficando assim:
23
if media >= 6:
print('Aprovado')
else:
print('Reprovado')
Esse código retorna se o aluno foi aprovado ou não. A primeira linha significa:
Se o valor da média for maior ou igual a 6 execute a próxima linha. Agora a terceira
linha: Se a condição da primeira linha não acontecer execute a quarta linha.
Resumindo, Se a média for maior ou igual a 6 escreva “Aprovado” senão escreva
“Reprovado”.
9.1 Conclusão
Os algoritmos ou scripts, tem nos dados imensas possibilidades do que fazer,
ela está presente no nosso dia a dia para executar desde tarefas simples até as
mais complexas, como elaboração de redes neurais. A evolução das linguagens de
programação tem sido algo extraordinário nos últimos anos, com sintaxes mais
simples e com muito mais funcionalidades. Cada vez mais pessoas têm entrado no
mundo da programação pois percebem a grandiosidade que é a programação. ela é
uma ferramenta muito poderosa para as empresas nos dias atuais, podendo
automatizar tarefas como geração de relatório, coleta de dados, envio de e-mails e
etc. Tendo o benefício de executar a tarefa com mais agilidade e livre de erros
humanos. Dominar a área de desenvolvimento dará grandes vantagens para a vida
pois sempre que precisar automatizar uma tarefa você poderá desfrutar dos
benefícios dos códigos computacionais para que realizem a tarefa para você.
24
5 ARDUINO
6 SISTEMAS DIGITAIS
10.1 Arduino
14.1 Mapeamento
27
Cada fatia contém 4 LUTs, quatro registros para manutenção de estado, além
de circuitos que auxiliam na implementação da lógica de transporte em operações
aritmética.
BRAMs. Estes são blocos de memória posicionados em todo o dispositivo para uso
como memórias de acesso rápido para lógica dedicada ou como FIFOs. Cada
BRAM é uma memória RAM de porta dupla com 36kbits de capacidade.
7 INTELIGENCIA ARTIFICIAL
26.1 Introdução a Inteligência artificial
da maneira certa, para que sejam prevenidos erros maiores, que causariam uma
queda no sistema ou algo similar.
Para o autor (LIPOVESTKY, 2005) o mercado vive uma nova fase, que
apresenta novos aspectos, focando em maximização da vida e deixando mais de
lado o luxo que uma vida pode trazer, onde a maioria das pessoas escolhem investir
seu tempo e dinheiro nas coisas que proporcionam prazer. “Vivemos numa
38
31.1 Conceitos
apareceram, foram eles os sistemas distribuídos que foi uma nova forma para se
trabalhar com SGBDs, uma forma mais simples e mais interativa.
Porém, este modelo se diferenciava por vários motivos do que seria criado, a
partir de agora iremos citar algumas limitações que haviam no antigo sistema.
O conceito de modelo relacional foi criado por Edgar Frank Codd em 1970,
sendo explicitado e descrito no artigo que tem por nome o "Relational Model of Data
for Large Shared Data Banks". Segundo Strawn e Strawn (2016), o modelo
relacional fornece uma clara separação de como a representação é representada, se
é de forma física ou de forma de logica da informação. Com dados sendo
processados e projetados em formas de tabelas fica a cargo do sistema o
gerenciamento dos dados, e ele define como armazenar as informações, a fim de
que os elementos que suportam o modelo relacional tornam-se importantes, é
44
Nos últimos anos, o mercado de banco de dados tem tido várias soluções de
memória expandidas empresas famosas na indústria global por exemplo, IBM®,
Oracle®, SAP®, etc. Mas, por mais que todos suportem o padrão SQL e têm a
capacidade de manter armazenados completamente na memória, eles têm vários
recursos uns aos outros (GUPTA; VERMA; VERMA, 2013).
45
Foco comercial:
9 UML
objetos. Então surgiu uma grande motivação para que fosse criado uma linguagem
Unificada de modelagem.
Esta fase é o período onde será feito a tentativa de escrever os Casos de Uso
do componente bem complicada. No termino dessa fase, pode ser entregue uma
sugestão, o documento de visão, a apresentação das partes mais graves do
diagrama de caso de uso do sistema. Por outra forma, uma parte, um diagrama de
classes e do máquina de estado do seguimento mais complicado do sistema. Tendo
essas informações podemos agora então com mais clareza, informar um prazo do
que será feito.
em que ele esteja na versão beta. O conceito de que sempre irá ter uma versão beta
para avaliação é uma mostra de que essa fase passa por uma interação.
Com isso é nessa fase em que ocorrem os testes para que possa ser
resolvido quaisquer erros ou problemas relacionados ao projeto que está sendo
colocado para ser desenvolvido.
No momento na qual o Sistema sai de sua fase beta que permite ele ser
avaliado como uma versão de produção, é nesse momento em que se encontra na
fase de transição, onde a taxa de erros a serem encontrado deverão ser mínimos
possíveis. Se alcançarmos a aprovação da parte que está a ser analisada, o ciclo do
projeto é enfim encerrado.
Com isso em mente, podemos ver que esses diagramas não são nenhum
pouco rígidos para o seu uso. Com muita frequência pode ser usar componentes de
Nos é sugerido ao iniciar com o uso de diagramas, que sim podemos começar
apenas com as formas básicas dos diagramas para então após domínio deles,
começar o uso de diagramas mais avançados, fazer alguns testes, experimentar de
fato, e olhar como eles podem servir para nossas aplicações sem medo de descartar
aquilo que não eficiente para nossas necessidades em particular.
construir um cenário principal onde fornecerá o que será necessário na visão geral
que está sendo desenvolvida.
Martin Fowler (2005, p.111) “máquina de estados pode mostrar apenas o que o
objeto observa ou ativa diretamente.” Quando se é falado sobre objetos os
desenvolvedores frequentemente se referem ao estado dos objetos como o
significado da combinação de todos os dados presentes no campo do objeto. O
Diagrama tem uma forma abstrata disso, basicamente implicam em diferentes
estados de reagir aos eventos.
Diagrama de Classe
44.1 Conclusão
Como foi visto, a UML é sem dúvida não so uma linguagem útil mas tambem
bastante necessária no desenvolvimento de qualquer Sistema que seja abordado,
no nosso projeto em questão podemos ter uma profundidade maior da usuabilidade
dos métodos trabalhado nessa Linguagem, e como hoje como sua evolução está
ainda cada vez mais presente no crecimento da engenharia de software, mas isso é
claro que nem so de planejamento e organização está um projeto a ser desenvolvido
e com o uso da UML mas as diversas tecnologias e ferramentas pode ser da vida a
criação de muito mais ferramentas para o futuro da tecnologia, tendo isso em mente
em nosso projeto incluímos o uso de técnicas e métodos atribuídos de Sistemas
Digitais para melhor desenvolvimento de nossa aplicação na criação de uma
residência automatizada.
53
54
10 REFERÊNCIAS
KORTH, Henry F., Sistema de Banco de Dados, tradução [da 2ª ed.ver] Maurício
Heihachiro Galvan Abe. São Paulo : Makron Books,1995.
MANOVICH, Lev. O banco de dados. Revista ECO Pós | ISSN 2175-8689 | Arte,
tecnologia e mediação | V. 18 | N. 1 | 2015 | Dossiê. Disponível
em:<https://www.scribd.com/document/346379430/O-Banco-de-Dados-The-database-Levanovich>.
Acesso em 19/03/2021
WADE, B.; CHAMBERLIN, D.; IBM Relational Database Systems:The Early Years. IEEE
Annals of the History of Computing, v. 34, n. 4,p. 38-48, 2012.
BROOKS, A.R. The intelligent Room Project. In: 2th International Cognitive
Technology Conference (ICT’97). Proceedings. Aizu, Japão. 1997.