Académique Documents
Professionnel Documents
Culture Documents
Informtica Aplicada
Enderson Neves Cruz
enderson.bh@gmail.com
2015
Apresentao da disciplina
Plano de ensino
Introduo (2 Horas/aula)
Apresentao da disciplina
Linguagens de programao
Sistemas operacionais
Unidade 2 A Informtica como ferramenta (4 Horas/aula)
Softwares grficos
Planilhas
Bancos de dados
Aplicativos em geral
Unidade 3 Tipos de Software para Engenharia e Indstria (4 Horas/aula)
Softwares comerciais
Softwares industriais
Conceitos bsicos
Tcnicas de AI
30 horas/aula
MATLAB
Banco de dados
Unidade 6 Lgica Fuzzy (3 Horas/aula)
Conceitos bsicos
Seminrio (3 Horas/aula)
Avaliao
Aula prtica
Integrantes por grupo: a definir
Deve ser entregue na data de apresentao do seminrio
Relatrio + arquivos das aula prticas
Calendrio
DATA
HORARIO
ATIVIDADE
28/11/2015
08h00 s 12h15
13h00 s 17h15
rsula
Enderson
Apresentao
Unidade 1 Sistema informatizado
12/12/2015
08h00 s 12h15
13h00 s 17h15
rsula
Enderson
06/02/2016
08h00 s 12h15
13h00 s 17h15
Enderson
rsula
27/02/2016
08h00 s 12h15
13h00 s 17h15
Francisco
Enderson
05/03/2016
08h00 s 12h15
13h00 s 17h15
Enderson
rsula
12/03/2016
08h00 s 10h00
10h15 s 12h15
13h00 s 17h15
Enderson
19/03/2016
08h00 s 10h00
10h15 s 12h15
13h00 s 17h15
rsula
PROF.
Francisco
Enderson
Enderson
Enderson
Referncias bibliogrficas
Referncias
WIDMER, Neal S.; TOCCI, Ronald J.. Sistemas Digitais: Princpios e Aplicaes.
Referncias
http://www.rci.rutgers.edu/~cfs/472_html/Intro/timeline.pdf
http://www.howstuffworks.com
http://www.computerhistory.org
http://www.hsw.uol.com.br
http://www.isa.org
http://www.rogercom.com
http://www.wired.com
http://www.nytimes.com
www.ieee.org
http://www.davidpogue.com
http://tecnologia.uol.com.br
Linguagens de programao
Referncias
Linguagens de programao
Referncias
REAS, Casey; FRY, Ben. Processing : a programming handbook for visual designers and artists.
10
Linguagens de programao
Referncias
http://www.hardware.com.br/artigos/linguagens/
http://www.scriptol.com/programming/languages.php
http://www.tiexpert.net/programacao/c/index.php
http://informatica.hsw.uol.com.br/programacao-em-c.htm
http://www.levenez.com/lang/
http://www.cprogramming.com/
http://www.acm.uiuc.edu/webmonkeys/book/c_guide/
http://www.cplusplus.com/doc/tutorial/
http://www.python.org
http://processing.org
11
Referncias
http://www.rci.rutgers.edu/~cfs/472_html/Intro/timeline.pdf
http://www.howstuffworks.com
http://www.computerhistory.org
http://www.hsw.uol.com.br
http://www.isa.org
http://www.rogercom.com
http://processing.org
http://www.tiexpert.net/programacao/c/index.php
http://www.cprogramming.com/
http://informatica.hsw.uol.com.br/programacao-em-c.htm
http://www.acm.uiuc.edu/webmonkeys/book/c_guide/
http://www.scriptol.com/programming/languages.php
http://www.wired.com
http://www.nytimes.com
www.ieee.org
http://www.davidpogue.com
http://tecnologia.uol.com.br
12
Introduo
http://www.youtube.com/watch?v=f0z56D5qCO0
Aula 01 Introduo
Informtica
15
Aula 01 Introduo
Informao
Estruturao de dados num dado contexto e com
um dado objetivo, ou seja, o relacionamento de
dados e o seu armazenamento estruturado.
Precisa correta e verdadeira
Automtica
Processamento
Manipulao dos dados de forma a conseguir
informao.
Armazenamento
Garantir a preservao dos dados para futura
utilizao.
Comunicao
Troca de dados entre computadores atravs de
redes, e entre o computador e o homem.
Computador
Agente utilizado para armazenar, classificar, comparar, combinar e exibir a informao a elevada
velocidade, ou seja, o dispositivo utilizado para gerir informao automaticamente.
16
Aula 01 Introduo
Informao
Dados + Conhecimento
Processamento de Dados
Processamento
Informaes
17
Aula 01 Introduo
Entrada
Output
CPU
Neurnios
Nervos
Crebro
Nervos
Processa
Voz e
movimentos
Sadas
Nervos
Memria
Memria
CPU Central Processing Unit (Unidade central de processamento)
18
Aula 01 Introduo
CPU
Clock
Dispositivos I/O
Barramento de Endereos
Barramento de Dados
Barramento de Controle
19
Aula 01 Introduo
Sensores
Transdutores
Viso artificial
Sistemas de identificao
Leitores
Atuadores eltricos, pneumticos, hidrulicos
Robtica
Protocolos de comunicao AS-i e Hart;
20
Aula 01 Introduo
Controle Individual
Nvel onde se encontram os sistemas que executam o
controle automtico das atividades da planta.
21
Aula 01 Introduo
22
Aula 01 Introduo
Gerenciamento da planta
Nvel responsvel pela programao e pelo planejamento da
produo realizando o controle, a logstica de suprimentos.
Sistema de Controle de Manufatura
MES Manufacturing Execution System
Planejamento e Controle da Produo (PCP)
Planejamento dos Recursos de Manufatura
MRP Manufacturing Resource Planning
Sistemas que integram ferramentas de planejamento com
o nvel controle, tendo como objetivo gerir e otimizar os
processos produtivos
23
Aula 01 Introduo
24
Aula 01 Introduo
Gerenciamento da planta
Controle de grupo
Gerenciamento e otimizao de processo
Controle individual
25
Aula 01 Introduo
26
Aula 01 Introduo
2400
a.C
Primeira mquina
de calcular
Wilhelm Schickard
Primeira mquina
de calcular
Blaise Pascal
Algoritmos
Sec. III
a.C
Sec. IX
(1592-1635)
baco
1642
lgebra
Booleana
George Boole
Mquina de calcular
com 4 operaes
Gottfried W. Leibniz
Lgica
Formal e matemtica
Gottfried W. Leibniz
1672
1703
Pascaline
Blaise Pascal
1854
Mquina de calcular
Gottfried W. Leibniz
Mquina de calcular
Wilhelm Schickard
Powered by Enderson Neves Cruz
27
Aula 01 Introduo
Tear mecnico
com cartes
perfurados
Joseph Marie Jacquard
1801
Mquina Analtica
Charles Babbage
Ada Augusta Lovelace
Fundao da
Tabulating Machine
Company (TMC)
Herman Hollerith
Mquina de tabulao
Herman Hollerith
1834
IBM - International
Business Machines
Thomas J. Watson
Vlvula
John Ambrose Fleming
1890
1904
Mquina Analtica
Charles Babbage
1911
Mquina de Turing
Alan Turing
MARK I
USA
Z-1 Primeiro
computador a rels
Konrad Zuze
1924
Mquina de tabulao
Herman Hollerith
1936
1944
Mark I
28
Aula 01 Introduo
1943
1946
Transistor
John Bardeen
Walter Brattain
William Shockley
Bell Labs
1947
UNIVAC
J. Presper Ecker
John Mauchly
Teoria da informao
Claude Shannon
Whirlwind I
Primeiro
computador
de tempo-real
MIT
IAS Machine
John von Neumann
Princeton - EUA
1948
1951
1952
IBM 701
Primeiro
computador
comercial
IBM
1953
Transistor
ENIAC
IBM 701
Powered by Enderson Neves Cruz
29
Aula 01 Introduo
1956
FORTRAN
John W. Backus
IBM
Circuito Integrado
Jack Kilby (Texas)
Robert Noyce (Fairchild)
Fundao da
Digital Computer
Corporation (DEC)
Ken Olsen
1957
1958
Circuito Integrado
TX-0
MIT
BASIC
Thomas Kurtz
John Kemeny
COBOL
Pentgono
Fabricantes
PDP-I
DEC
1401
IBM
Jogo SpaceWar
Slug Russel
Shag Graetz
Alan Kotok
MIT
1960
1961
1962
Supercomputador
CDC 6600
Seymour Cray
CDC
1964
PDP-1
DEC
CDC 6600
30
Aula 01 Introduo
Minicomputador
PDP-8
DEC
HP-2115
Hewlett-Packard
1965
1966
LOGO
Seymour Papert
Fundao da
Intel Corporation
Gordon E. Moore
Robert Noyce
1967
1968
UNIX
Ken Thompson
Denis Richie
Bell Labs
MATLAB
Cleve Moler
University of
New Mexico
ARPANET
USA ARMY
PASCAL
Niklaus Wirth
Kenbak-1
Primeiro
computador pessoal
1969
1970
1971
Microprocessador
Intel 4004
Intel
Linguagem C
Ken Thompson
Denis Richie
Bell Labs
Fundao da
Atari
Nolan Bushnell
1972
System/360
IBM
31
Aula 01 Introduo
Ethernet
Robert Metcalfe
Xerox
Microcomputador
pessoal
Altair 8800
Kit de montar
MITS
1973
1975
Microcomputador
pessoal Apple I
Steve Jobs
Steve Wozniak
Apple
Microcomputador
pessoal Apple II
Steve Jobs
Steve Wozniak
Apple
Microprocessador
Zilog Z80
1976
1977
Microprocessador
Intel 8088
VisiCalc
Planilha
Daniel Bricklin
Robert Frankston
Harvard
1978
1979
Hard Disk
Seagate
1980
Apple II
Powered by Enderson Neves Cruz
32
Aula 01 Introduo
Macintosh
MAC OS
Apple
Lotus 1-2-3
Mitch Kapor
1981
1983
IBM PC
IBM PC-AT
IBM
1984
Linguagem C++
Bjarne Stroustrup
INTERNET
CD-ROM
1985
Microcomputador
Deskpro 386
Compaq
Microprocessador
Intel 80386
Microcomputador
PS/2
IBM
Microprocessador
Intel 80486
1986
1987
1988
Apple Macintosh
33
Aula 01 Introduo
Power PC
Apple
IBM
Motorola
1991
Windows 95
Microsoft
Microprocessador
Pentium
Intel
Java
Sun Microsystems
Toy Story
Pixar
Google
Larry Page
Sergey Brin
Pentium II
Intel
iMAC
Apple
PDA Newton
Apple
Netscape
Marc Andreesen
Jim Clark
PlayStation
Sony
Windows 98
Microsoft
1993
1994
1995
1998
LINUX
Linus Torvalds
1999
34
Aula 01 Introduo
MAC OS X
Apple
Windows XP
Microsoft
2001
iPod
Apple
iPhone
Apple
Core 2 Duo
Intel
Wii
Nintendo
2006
2007
iPhone
Apple
Android
Google
Core i7
Intel
Windows 7
Microsoft
2008
2009
Tablet iPad
Apple
2010
iPad
Apple
35
Aula 01 Introduo
Memria
CPU
Clock
Dispositivos I/O
Barramento de Endereos
Barramento de Dados
Barramento de Controle
36
Aula 01 Introduo
Hardware
Software
37
UNIDADE 1
Software
Usurios
e
Processos
Rede
Banco
de Dados
Procedimentos
40
41
Dispositivos Fsicos
42
Micro Arquitetura
Dispositivos Fsicos
43
Linguagem de Mquina
Micro Arquitetura
Dispositivos Fsicos
44
Sistema Operacional
Linguagem de Mquina
Micro Arquitetura
Dispositivos Fsicos
45
Compiladores e Interpretadores
Sistema Operacional
Linguagem de Mquina
Micro Arquitetura
Dispositivos Fsicos
46
Aplicativos
Um programa de computador que permite ao usurio fazer
uma ou mais tarefas especficas.
47
Software
Sistema Operacional
Linguagem de Mquina
Micro Arquitetura
Hardware
Dispositivos Fsicos
48
Traduo (compilador)
Nvel 4
Nvel 3
Nvel 2
Nvel 1
Nvel de Microarquitetura
Hardware
Nvel 0
(Portas lgicas)
49
Desenvolvimento de um programa
1. Anlise: nessa etapa estuda-se o enunciado do problema para definir os dados de entrada, o
processamento e os dados de sada.
1.
Anlise
Entender o problema
2.
Algoritmo
Desenhar a soluo
3.
Codificao
Programar
50
Desenvolvimento de um programa
Linguagem de
programao
Problema
Adaptao
Soluo
Algoritmo
Codificao
Programa
Fonte
Traduo
Programa
Executvel
51
52
Fonte:
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
53
54
Referncias
http://ocw.mit.edu/index.htm
http://see.stanford.edu/see/courses.aspx
55
Quanto a gerao
No existe consenso
Segunda Gerao:
Terceira Gerao
Quarta Gerao
Quinta Gerao
Estrutura de tipos
Fracamente tipada
Dinamicamente tipada
Fortemente tipada
Estaticamente tipada.
Paradigma
Sexta Gerao ?
http://www.scriptol.com/programming/choose.php
56
Paradigmas da programao
Procedimento, Funo, Objeto ou Lgica? Linguagens de Programao vistas pelos seus paradigmas
http://www.nied.unicamp.br/publicacoes/arquivos/3XaQ1o8Nmk
57
GAP Semntico
Linguagens de programao
58
Paradigmas da programao
Linguagens
Paradigmas
Cada paradigma
consiste de um
conjunto de
conceitos
Conceitos
59
Paradigmas da programao
Programao no estruturada
Programao estruturada
Programao funcional
Programao natural
Programao lgica
http://academicearth.org/courses/programming-paradigms
http://see.stanford.edu/see/courseInfo.aspx?coll=2d712634-2bf1-4b55-9a3a-ca9d470755ee
60
Apresenta os conceitos
bsicos de controle de
fluxo, como loops e saltos
Comandos em sequncia
ordenada, ou declaraes,
geralmente um em cada linha
Salto incondiconal
As linhas so numeradas ou
pode ter etiquetas (labels),
isto permite que o fluxo de
execuo saltar para
qualquer linha do programa
Loop
No existe o conceito de
variveis locais, salvar o
contexto antes do uso de
registradores comum.
61
20 i = 10
30 i = i + 1
62
Programao no estruturada
Desvantagens
Vantagens
63
Programao no estruturada
Linguagem de montagem
Assembly
JOSS
FOCAL
MUMPS
TELCOMP
64
o que mais se aproxima do uso da arquitetura von Neumann como modelo para representao
da soluo de um problema a ser resolvido pela mquina.
Programas centrados no conceito de um estado (modelado por variveis) e aes (comandos) que
manipulam o estado.
Programar o computador significa "dar-lhe ordens" que so executadas sequencialmente.
Entrada
Programa
Sada
Estados
65
Programao estruturada
Linguagem orientada a objetos
66
Programao Estruturada
Estabelece que todos os programas possveis podem ser reduzidos a apenas trs
estruturas:
Sequencial
Atravs destas trs estruturas consegue-se criar procedimentos e funes, de fcil compreenso,
e manuteno.
Modularizao - Separar o programa em partes (blocos) que possam ser logicamente
desenvolvidos e compreendidos de forma isolada.
Restrio a utilizao das estruturas de desvio incondicional (GoTo), pois tem a tendncia
de tornar um programa incompreensvel.
Geralmente a primeira abordagem que algum aprende em programao
67
10 dim i
20 i = 10
30 i = i + 1
Estruturada
dim i
i = 10
for i =1then to 10
next
68
Notas de alunos.c
69
Programao Estruturada
Desvantagens
Vantagens
70
Programao Estruturada
Ada
71
Na compreenso do mundo real, as pessoas empregam constantemente trs mtodos de organizao, sempre presentes em
todos os seus pensamentos:
1. Diferenciao, baseado na experincia de cada um, de objetos particulares e seus atributos.
Exemplo: quando distinguem uma rvore, e seu tamanho ou relaes espaciais, dos outros objetos,
Exemplo: quando formam uma classe de todas as rvores, uma outra classe de todas as rochas e distinguem-nas.
72
Procura enxergar o sistema como um conjunto de objetos (classes) que interagem entre si e apresentam
caractersticas e comportamentos prprios (mtodos) representados por seus atributos e suas operaes
(mensagens).
Os atributos esto relacionados aos dados, e as operaes, aos processos que um objeto executa.
Estabelece que que um problema pode ser solucionado seguindo estas etapas:
Encapsulamento
Herana
Polimorfismo
Powered by Enderson Neves Cruz
73
Pessoa
Classe
Homem
Mulher
Classe
uma abstrao que descreve propriedades importantes para uma aplicao e simplesmente ignora o
resto.
74
Pessoa
Classe
Um objeto uma
entidade do mundo
real que tem uma
identidade.
Objetos podem
representar entidades
concretas ou
entidades conceituais
Homem
Mulher
Objetos
Objeto
75
Pessoa
Classe
Rock star
Astronauta
Pode pilotar
Motociclista
Bailarina
Homem
Tho
Atributos
So caractersticas de um objeto.
Mulher
Objetos
Beatriz
Mtodos
76
Pessoa
Chamar o mtodo
Tho.Lutar_karat
Chamar o mtodo
Beatriz.Controlar_robs
Classe
Rock star
Astronauta
Pode pilotar
Motociclista
Bailarina
Homem
Tho
Mulher
Objetos
Beatriz
Mensagem ou Operao
Chamada a um objeto para invocar um de seus mtodos, ativando um comportamento descrito por sua classe.
Tambm pode ser direcionada diretamente a uma classe (atravs de uma invocao a um mtodo esttico).
Atravs das mensagens que um objeto solicita a outro que realize determinada tarefa.
77
Classe
Espacial
NASA
ASSOCIAO
Uma pessoa trabalha para uma empresa
Pessoa
Classe
Mulher
Beatriz
Ligaes e Associaes
78
Astronauta
Pode pilotar
Morena
Bailarina
Beatriz
Abstrao
Consiste de focalizar nos aspectos essenciais inerentes a uma entidade ou contexto e ignorar propriedades menos
importantes ou acidentais'.
Em termos de desenvolvimento de sistemas, isto significa concentrar-se no que um objeto e faz antes de se
decidir como ele ser implementado.
O uso de abstrao preserva a liberdade para tomar decises de desenvolvimento ou de implementao apenas
quando h um melhor entendimento do problema a ser resolvido.
Resumindo: a capacidade de representar cenrios complexos usando termos simples.
79
Rock star
Pode tocar bateria
Motociclista
Homem
Tho
Encapsulao ou Encapsulamento
Consiste em separar os aspectos externos de um objeto, os quais so acessveis a outros objetos, dos detalhes
internos de implementao do objeto, os quais permanecem escondidos dos outros objetos.
Garante que a alterao dos atributos seja feita somente atravs dos mtodos, assim, os dados ficam protegidos.
O encapsulamento evita que um programa torne-se to interdependente que uma pequena mudana tenha grandes
efeitos colaterais.
Permite tambm que a implementao de um objeto possa ser modificada (melhoria de desempenho, correo de
erros e mudana de plataforma de execuo) sem afetar as aplicaes que usam este objeto.
Resumindo: Tarefa de tornar um objeto o mais auto-suficiente possvel.
80
Superclasse
Pessoa
Homem
Mulher
Subclasse
Subclasse
Herana
Uma classe pode ser definida de forma genrica e depois refinada sucessivamente em termos de subclasses ou
classes derivadas.
Cada subclasse incorpora, ou herda, todas as propriedades (atributos e mtodos) de sua superclasse (ou classe
base) e adiciona suas propriedades nicas e particulares.
As propriedades da classe base no precisam ser repetidas em cada classe derivada.
Resumindo: Capacidade de uma classe herdar atributos e comportamento de uma outra classe.
81
Pessoa
Classe
Pode nadar
Homem
Tho
Mulher
Objetos
Beatriz
Polimorfismo
Significa que a mesma operao pode se comportar de forma diferente em classes diferentes.
Implica que uma operao de uma mesma classe pode ser implementada por mais de um mtodo.
82
Mquina virtual
Nome dado a uma mquina, implementada atravs de software, que executa programas
como um computador real.
Cpia isolada e totalmente protegida de um sistema fsico.
JVM Java Virtual Machine
83
Mltiplas plataformas
Powered by Enderson Neves Cruz
84
85
Desvantagens
Vantagens
Fonte: ASCENIO, Ana F. Gomes; CAMPOS, Edilene A. Veneruchi. Fundamentos de Programao de Computadores.
Powered by Enderson Neves Cruz
86
Exemplo
Programa para clculo o fatorial de n
JAVA Linguagem Imperativa
int factorial-rec(int n)
{
// n um nmero >= 0
int factorial;
if (n = 0) return 1; // fatorial de 0 1
temp = n -1;
fatorial(0,1).
fatorial(N,X) :- N1 is N 1,
int temp;
factorial = n;
Exemplo
Programa para clculo o fatorial de n
PROLOG Linguagem Lgica
fatorial(N1,X1),
X is N * X1.
?- fatorial(3,X).
X=6
Fonte: ASCENIO, Ana F. Gomes; CAMPOS, Edilene A. Veneruchi. Fundamentos de Programao de Computadores.
Powered by Enderson Neves Cruz
87
Desvantagens
Vantagens
88
Linguagens OO Puras
Simula
Smalltalk
Eiffel
Ruby
Desenvolvidas
principalmente para OO
mais com elementos de
linguagens estruturais
C++
C#
VB.NET
Java
Linguagens estruturadas
mas com suporte para OO
Visual Basic
Perl
COBOL 2002
PHP
ABAP
Python
Programming
http://www.dca.fee.unicamp.br/cursos/POOCPP/POOCPP.html
http://msdn.microsoft.com/pt-br/library/cc580626.aspx
http://www.hardware.com.br/artigos/programacao-orientada-objetos
89
Programao Funcional
Surgiu com o desenvolvimento da linguagem Lisp (List Processing) por John McCarthy em 1958
para atender aos interesses dos grupos de Inteligncia Artificial no processamento de dados
simblicos.
Estabelece o uso de funes matemticas e composio de funes
para representao do problema a ser resolvido pela mquina
Programas so funes que descrevem uma relao explcita e precisa entre entrada e sada.
Isto conseguido pensando-se na funo que deve ser aplicada num estado de mquina inicial
para transform-lo em um estado de mquina final desejado como resposta.
Entrada
Programa
Sada
91
Programao Funcional
Programar significa:
definir funes;
aplicar funes;
Linguagem declarativa
92
Programao Funcional
Exemplo
Programa para clculo o fatorial de n
JAVA Linguagem Imperativa
int factorial-rec(int n)
{
// n um nmero >= 0
int factorial;
if (n = 0) return 1; // fatorial de 0 1
temp = n -1;
int temp;
factorial = n;
Exemplo
Programa para clculo o fatorial de n
LISP Linguagem funcional
(* n (factorial (- n 1)))))
93
Programao Funcional
94
Programao Funcional
Desvantagens
Vantagens
O mundo no funcional!
Prova de propriedades
alta produtividade
95
Programao Funcional
KRC
LML
http://www.inf.ufsc.br/~func/
http://www.dcc.fc.up.pt/~pbv/aulas/pf/
http://www.staff.science.uu.nl/~fokke101/courses/fp-eng.pdf
http://www.haskell.org/haskellwiki/Functional_programming
http://book.realworldhaskell.org/read/
http://www.cs.nott.ac.uk/~gmh/book.html
SASL
Scheme
Linguagem J
96
Programao Lgica
Entrada
Programa
Sada
97
Programao Lgica
Base de
conhecimento
PERGUNTA
RESPOSTA
98
Programao Lgica
Exemplo
PROLOG
papagaio("Ze Carioca").
ave(X) :- papagaio(X).
?- ave("Ze Carioca").
FATO
Regra
Consulta
99
Programao Lgica
Exemplo
Programa para clculo o fatorial de n
JAVA Linguagem Imperativa
int factorial-rec(int n)
{
// n um nmero >= 0
int factorial;
if (n = 0) return 1; // fatorial de 0 1
temp = n -1;
fatorial(0,1).
fatorial(N,X) :- N1 is N 1,
int temp;
factorial = n;
Exemplo
Programa para clculo o fatorial de n
PROLOG Linguagem Lgica
fatorial(N1,X1),
X is N * X1.
?- fatorial(3,X).
X=6
100
Programao Lgica
Pode ser visto como um formalismo para representar conhecimento a respeito do problema que se
quer resolver, de forma declarativa (descritiva) como no paradigma funcional.
Por trs do programa existe uma mquina de inferncia, em princpio "escondida" do programador,
responsvel por "encontrar solues" para o problema descrito.
Na prtica, inclui caractersticas imperativas, por questo de eficincia.
Aplicaes principais
101
Programao Lgica
Desvantagens
Vantagens
Capacidade dedutiva;
Eficincia
102
Programao Lgica
Planner
PROLOG
Mercury
Visual Prolog
Oz
Frill
http://www-usr.inf.ufsm.br/~andrea/elc117/slides-programacao-logica-2011a.pdf
http://www.linhadecodigo.com.br/Artigo.aspx?id=1697
http://www.saber.ula.ve/bitstream/123456789/16227/2/libro-texto.pdf
http://www.cs.ttu.edu/~mgelfond/papers/survey.pdf
http://www.mpprogramming.com/Cpp/
103
Estruturada
Orientada a objetos
Funcionais
Lgicas
Estrutura
Caracterstica
Encapsulamento
Respostas
Modularizao
Raciocnios
Relao de paradigmas
Orientada a agentes
Baseada em autmatos
Baseado em componentes
Baseado em fluxo
Pipeline
Concatenativa
Computao simultnea
Programao relativstica
Data-driven
Declarativa (contraste: Imperativo)
Constrangimento
Fluxo de dados
Orientada a tabelas (planilhas)
Reativo
Lgica
Lgica abdutiva
Conjunto resposta
Lgica restritiva
Lgica funcional
Lgica indutiva
Event-driven
Orientada a servios
Time-driven
Orientada a expresses
Orientada a caractersticas
Nvel de Funo (contraste: Valor-nvel)
Funcional
Genrico
Imperativo (contraste: declarativa)
Processuais
Linguagem orientada
Disciplina especfica,
Domnio especfico,
Orientada a gramtica
Dialtica
Intencional
Metaprogramao
Automtico
Reflexo Refletiva
Orientada a atributos
Modelo
Orientada a polticas
No-estruturadas (contraste: Estruturada)
Matriz
No determinsticas
Computao paralela
Orientada ao processo
Programao em grande / pequena escala
Semntico
Estruturado (contraste: no estruturadas)
Modular (contraste: Monoltica)
Orientada a objeto
Pela separao de interesses:
Orientada a atributos
Orientada a regras
Passagem de mensagens
Baseada em classe
Baseada em prottipo
Agent-oriented
Automata-based
Component-based
Flow-based
Pipelined
Concatenative
Concurrent computing
Relativistic programming
Data-driven
Declarative (contrast: Imperative)
Constraint
Dataflow
Cell-oriented (spreadsheets)
Reactive
Logic
Abductive logic
Answer set
Constraint logic
Functional logic
Inductive logic
Event-driven
Service-oriented
Time-driven
Expression-oriented
Feature-oriented
Function-level (contrast: Value-level)
Functional
Generic
Imperative (contrast: Declarative)
Procedural
Language-oriented
Discipline-specific
Domain-specific
Grammar-oriented
Dialecting
Intentional
Metaprogramming
Automatic
Reflective
Attribute-oriented
Template
Policy-based
Non-structured (contrast: Structured)
Array
Nondeterministic
Parallel computing
Process-oriented
Programming in the large / small
Semantic
Structured (contrast: Non-structured)
Modular (contrast: Monolithic)
Object-oriented
By separation of concerns:
Aspect-oriented
Role-oriented
Subject-oriented
Class-based
Prototype-based
104
Sistemas Operacionais
Aplicativos
Compiladores e Interpretadores
Sistema Operacional
Linguagem de Mquina
Definio
Conjunto de programas que se situa entre os
softwares aplicativos e o hardware, tendo como
funo:
Gerenciar os recursos do computador (CPU,
perifricos).
Estabelecer uma interface com o usurio.
Prover e executar
aplicativos
servios
para
softwares
Micro Arquitetura
Dispositivos Fsicos
105
Sistemas Operacionais
O retorno da chamada de sistema, assim como o retorno de uma sub-rotina, faz com que a
execuo do programa seja retomada a partir da instruo que segue a chamada.
Ncleo ou kernel
106
Sistemas Operacionais
interpretador de comandos
ativado pelo sistema operacional sempre que um usurio inicia sua sesso de trabalho.
107
Gerenciamento do processador
Gerenciamento da memria
Gerenciamento de armazenamento
108
Gerenciamento do processador
Multitarefa
operating-system-multitask.swf
operating-system-asymmetric.swf
operating-system-symmetric.swf
109
Gerenciamento da memria
Cada processo deve ter memria suficiente para ser executado. Ele no pode utilizar a memria
de outro processo e outro processo tambm no pode utilizar a sua memria.
Os diferentes tipos de memria no sistema devem ser bem utilizados para que cada processo seja
executado de forma eficaz.
Para realizar a primeira tarefa, o sistema operacional tem de definir os limites de memria para
cada tipo de software e aplicativo.
A tcnica particular que determinado sistema operacional emprega depende, entre outras coisas,
de o que a arquitetura do computador em questo suporta.
operating-system-memory.swf
110
Gerenciamento da memria
Paginao
Segmentao
111
Gerenciamento de armazenamento
So necessrias estruturas de dados e algoritmos que otimizem os acessos a disco gerados pela
manipulao de arquivos, devido a diferena de velocidade entre os discos e a memria RAM.
A manipulao de arquivos exige que o sistema de arquivos apresente uma interface coerente e
simples, fcil de usar.
ARQUIVOS
O conceito de arquivo, muito mais til que o simples espao em disco, uma abstrao criada
pelo sistema operacional.
O hardware oferece simplesmente espao em disco, na forma de setores que podem ser
acessados individualmente, em uma ordem aleatria.
112
O objetivo tentar padronizar ao mximo as rotinas de acesso aos perifricos de forma a reduzir o
nmero de primitivas de entrada e sada.
Tambm facilita a incluso de novos dispositivos, minimizando a necessidade de alterar a interface
de programao do usurio.
Estrutura de quatro camadas do subsistema de gerenciamento de entrada/sada
113
114
Escalonamento de E/S
Buferizao
Denominao
Cache de dados
Alocao e liberao
Direitos de acesso
Tratamento de erros
115
responsvel
ento
por
implementar e fornecer rotinas que realizam
entrada e sada para um determinado sistema.
A interface de
linguagem em si.
programao
depende
da
116
UNIDADE 2
Banco de Dados
Referncias
HEUSER, Carlos Alberto. Projeto de Banco de Dados - Volume 4 da Srie Livros Didticos Informtica UFRGS.
PIVA, Gustavo Dibbern; OLIVEIRA, Wilson J.. Informtica, anlise e gerenciamento de dados.
118
Bancos de dados
Propriedades implcitas
Uma disposio desordenada de dados no pode ser referenciada como um banco de dados.
Possui grupo definido de usurios e algumas aplicaes concebidas de interesse destes usurios.
Powered by Enderson Neves Cruz
119
120
Bancos de dados
121
Usurios/Programadores
Programas de
aplicao/Consultas
SGBD
Metadados
Banco de dados
armazenado
122
Bancos de dados
Usurios/Programadores
Programas de
aplicao/Consultas
Consultas (Querys)
SGBD
Programas de aplicao
Metadados
Banco de dados
armazenado
123
Bancos de dados
BD + SGBD = SBD
Sistema de Banco de dados SBD
Data Base System DBS
Usurios/Programadores
Programas de
aplicao/Consultas
SGBD
Metadados
Banco de dados
armazenado
124
Bancos de dados
A meta desta arquitetura, separar as aplicaes de usurios da base de dados fsica. Nesta
arquitetura, podem existir trs nveis:
125
126
Bancos de dados
Usurios finais
usurios ocasionais
usurios sofisticados
Profissionais de Apoio
Operadores de Manuteno
Desenvolvedores de Ferramentas
127
Bancos de dados
Carga
Usado para carregar os arquivos de dados, como por exemplo arquivos texto ou sequenciais no
banco de dados.
Backup
Cria uma cpia de segurana do banco de dados para um meio de armazenamento de massa.
Reorganizao do armazenamento do banco de dados
Monitora o desempenho e fornece estatsticas ao DBA, que as utilizar para a tomada de decises
sobre a reorganizao de arquivos e incluso ou remoo de ndices para a melhoria do
desempenho
128
Bancos de dados
Modelo hierrquico
Modelo relacional
Modelo em redes
129
Bancos de dados
Modelo hierrquico
Modelo em redes
Modelo relacional
Modelo hierrquico
130
Bancos de dados
Modelo hierrquico
Modelo relacional
Modelo em redes
Modelo em redes
131
Bancos de dados
Modelo hierrquico
Modelo relacional
Modelo em redes
Modelo relacional
132
Bancos de dados
Modelo hierrquico
Modelo relacional
Modelo em redes
133
Projeto
Conceitual
Projeto
Lgico
Projeto
Fsico
134
Modelo de dados conceitual de alto-nvel, ou seja, seus conceitos foram projetados para
serem compreensveis a usurios, descartando detalhes de como os dados so
armazenados.
Unified Modeling Language (UML)
Metodologia de modelagem de objeto, vo alm do projeto do banco de dados abrangendo
a especificao, documentao, estruturao para sub-visualizao e maior visualizao
lgica do desenvolvimento completo de um sistema de informao. .
135
136
Significado
Conceito
Entidade
Relacionamento
Atributo
Cardinalidade
Rtulo
1N
NN
(0, 1) (0, 1)
(0, 1) (1, N)
(1, N) (0, N)
0 = opcional 1 = obrigatria.
137
Exemplos de cardinalidade
Departamentos
Departamentos
Alunos
Homem
(0,1)
(0,1)
(1,N)
(0,1)
Lotao
Chefia
Matrcula
Casa
(1,N)
(0,1)
(0,N)
(0,1)
Funcionrios
Cardinalidade
(mnimo, mximo)
Funcionrios
1 = participao obrigatria.
Disciplinas
Mulher
138
Identificador
Conjunto de um ou mais atributos (e possivelmente relacionamentos) cujos valores servem para distinguir uma
ocorrncia da entidade das demais ocorrncias da mesma entidade.
Tambm chamado ndice.
Identificador simples
Identificador composto
CPF
RG
CREA
Matrcula
Identificador de relacionamento
139
Entidades
Atributos
Identificadores
Relacionamentos
Cardinalidade
140
tem
Cdigo departamento
Descrio
Matrcula
Cdigo Departamento
Data Inicio
Data fim
Funcionrios
Matrcula
Nome
Data Nascimento
Nacionalidade
Sexo
Estado civil
RG
CIC
Endereo
Telefone
Data Admisso
Departamentos
Ocupao
Matrcula
Cdigo Cargo
Data Inicio
Data fim
tem
Cargos
Cdigo cargo
Descrio
Dependentes
Matrcula
Nome
Data Nascimento
141
Entidades
Atributos
Identificadores
Relacionamentos
Cardinalidade
142
pertence
Convnio
Paciente
Agenda
Cdigo convnio
Nome convnio
Cdigo consulta
Cdigo paciente
Cdigo mdico
Data
Diagnstico
Consultas
N
atende
Cdigo exame
Cdigo consulta
Descrio exame
Data
Resultado
Exame
Solicita
1
Cdigo mdico
Nome
Especialidade
Mdicos
143
Bancos de dados
Cada relao pode ser vista como uma tabela, onde cada coluna (campos) corresponde a
atributos da relao e as linhas correspondem s tuplas (registros) ou elementos da relao.
Forte embasamento matemtico (lgebra relacional) por trs dos conceitos utilizados em
bancos de dados relacionais
Uniformizao na linguagem de manipulao de sistemas de bancos de dados relacionais
atravs da linguagem SQL (Structured Query Language).
144
Tabelas
Vises
ndices e Chaves
145
Bancos de dados
Tabela - Table
Os dados de uma tabela normalmente descrevem um assunto tal como clientes, vendas, etc.
Coluna ou Campo
Corresponde a um atributos
da relao
Linha , Tupla ou Registro
RG
Nome
123450
Joo da Silva
258976
Jos Couto
897465
154789
Cidade
Belo Horizonte
UF
MG
Maria do Carmo
Natal
RN
Antnio Pires
Gramado
RS
Itabira
MG
146
Viso - View
Tabela virtual que definida a partir de outras tabelas, contendo sempre os dados atualizados.
Tabela lgica de um banco de dados, no contm dados, ou seja, no ocupam espao em disco.
Alteraes nos dados de tabelas que so acessadas por vises, consequentemente alteram os
resultados gerados pelas consultas armazenadas nessas vises.
Uma viso possui nome, uma lista de atributos e uma consulta (query) que computa a viso.
Vantagens
Fornece mecanismo de segurana por propiciar uma viso limitada e controlada dos dados que
podem ser obtidos da base, restringindo o acesso de usurios.
Performance por utilizar uma consulta previamente otimizada, tornando desnecessrio este
processo de otimizao quando for realizada.
Simplifica a interao entre usurio final e banco de dados.
147
Tabela
B
Viso
B
Viso idntica
Tabela
B
Tabela
B
Viso
Viso
B
Tabela
Viso
148
Tabela 1
B
Tabela 2
X
Viso
149
Chaves Keys
Uma chave um conjunto de um ou mais atributos que determinam a unicidade de cada registro.
Chave Estrangeira (FK - Foreign Key)
ndice ID
Ferramenta usada pelo SGBD para facilitar a busca de linhas dentro de uma tabela.
ndice nico ndice criado a partir da chave primria, no permite a incluso de linhas duplicadas.
ndice de Performance facilita a busca de linhas na tabela
150
Bancos de dados
151
Bancos de dados
152
Bancos de dados
153
Cases
Relacionamentos
Consultas
Conferncia de Tarifao
Interface
Carga de arquivos
Empresa XXX
154
Cases
Relacionamentos
Consultas
Conferncia de Tarifao
Interface
Carga de arquivos
Empresa XXX
155
Exemplo 1
N
tem
Cdigo departamento
Descrio
Matrcula
Cdigo Departamento
Data Inicio
Data fim
Funcionrios
Matrcula
Nome
Data Nascimento
Nacionalidade
Sexo
Estado civil
RG
CIC
Endereo
Telefone
Data Admisso
Departamentos
Ocupao
Matrcula
Cdigo Cargo
Data Inicio
Data fim
tem
Cargos
Cdigo cargo
Descrio
Dependentes
Matrcula
Nome
Data Nascimento
156
Cases
Apropriao
Relacionamentos
Consultas
ODBC
Interface
Carga de arquivos
Simulador
Carga de arquivos
157
UNIDADE 3
Referncias
HOSSAIN, Liaquat; PATRICK, Jon David. Enterprise Resource Planning: Global Opportunities & Challenges.
http://imasters.com.br/artigo/1636/bi/erp_enterprise_resource_planning/
http://opensourceerpguru.com/2009/02/25/erp-history/
http://www.openerpbrasil.org/
http://www.portogente.com.br/portopedia/ERP_-_Enterprise_Resource_Planning/
http://www.sap-erp.com/
http://www.cio.com/article/40323/ERP_Definition_and_Solutions
159
Referncias
http://www.eletronica24h.com.br/CursoProteus/Indice%20Geral.htm
http://www.portalwebaula.com.br/website_/index.php?option=com_zoo&view=category&Itemid=226
PROTEUS Tutorial Bsico Parte 1 http://www.youtube.com/watch?v=ftUr6QG5-48
160
Softwares comerciais
Softwares industriais
161
Finanas
Contabilidade
Recursos Humanos
Custos
Vendas
Marketing
162
http://www.youtube.com/watch?v=oHKcDTY2v7s
163
Mtodo para o planeamento e controle eficaz de todos os recursos necessrios para , fazer, enviar e conta para
pedidos de clientes de uma empresa de fabricao, distribuio ou servio. (American Production and Inventory
Control Society, 2001)
"ERP (sistemas de Enterprise Resource Planning) composto por um pacote de software comercial que promete a
integrao de toda a informao que flui atravs da empresa - financeiro, contabilidade, recursos humanos, cadeia de
abastecimento e atendimento ao cliente"(Davenport, 1998).
"Os sistemas ERP so pacotes de sistemas de informao configurveis que integram informaes e processos
dentro e atravs das reas funcionais de uma organizao "(Kumar & Van Hillsgersberg, 2000).
Banco de dados nico, um nico aplicativo e uma interface unificada em toda a empresa. "(Tadjer, 1998).
Sistemas que integram todos os dados e processos de uma organizao em um nico sistema.
Plataforma de software desenvolvida para integrar os diversos departamentos de uma empresa, possibilitando a
automao e armazenamento de todas as informaes de negcios.
164
Entrega
Cliente
satisfeito
Ordem de
Venda
Planejamento
de Produo
Expedio
Planejamento de
recursos materiais
Armazenagem
Gesto
Integrada
Controle da
Qualidade
Produo
Recepo
de MPs
Ordem de
Produo
Encomenda
de MPs
165
Evoluo histrica
2000s
1990s
Extended ERP
Enterprise Resource Planning
(ERP)
1980s
1970s
1960s
166
Back-Office
Aplicaes
Financeiras
Vendas e
Distribuio
Aplicaes de
servios
Aplicaes de
Produo
Banco de dados
central
Gerenciamento
de inventrio
Fornecedores
Clientes
Relatrios
Corporativos
Gerenciamento de
Recursos Humanos
167
Gesto de
Relacionamento com o Cliente
Gesto dos
Recursos Financeiros
Gesto da
Cadeia de Suprimentos
Planejamento dos
Recursos de Fabricao
168
169
Reduzir custos
Reduzir as incertezas do Lead time (Tempo de aprovisionamento - perodo entre o incio de uma
atividade, produtiva ou no, e o seu trmino)
Incorporao de melhores prticas (codificadas no ERP) aos processos internos da empresa
Reduzir o tempo dos processos gerenciais
170
171
Envolvimento do Usurio
3.
2.
4.
5.
6.
7.
8.
9.
Apoio da direo
Planejamento adequado
Expectativas realistas
Paradoxo de Cobb
Marcos intermedirios
Equipe competente
Comprometimento
172
Mudana cultural
173
Simulador interativo de circuitos (SPICE - Simulated Program with Integrated Circuits Emphasis).
174
175
176
177
Designer 3D
Softwares de simulao
Hidrulica e Pneumtica
Simulao PLC
178
UNIDADE 4
Inteligncia Artificial
Inteligncia Artificial
Referncias
RUSSEL, Stuart J. Norvig,Peter. Inteligncia Artificial: traduo da segunda edio. Rio de Janeiro: Elsevier, 2004
G. F. Luger (2002) Artificial Intelligence: Structure and Strategies for Complex Problem Solving
Luger & Stubblefield (1989) Artificial Intelligence and the Design of Expert System
Bratko, I. (1990). Prolog Programming for Artificial Intelligence, 2a ed., Addison Wesley.
Winston, P.H. (1984). LISP, Addison Wesley.
FLORES, C. D. Fundamentos dos Sistemas Especialistas. In: BARONE, D. A. C. (Ed.). Sociedades Artificiais: a
nova fronteira da inteligncia nas mquinas. Porto Alegre: Bookman, 2003.
Nascimento, Cairo L. Jr. & Yoneyama Takashi. Inteligncia Artificial em Controle e Automao. So Paulo, Editora
Edgard Blcher e FAPESP, 2004.
Coelho, Helder. Inteligncia artificial em 25 lies. Lisboa : Fundao Calouste Gulbenkian, 1995.
Costa, Ernesto & Simes Anabela. Inteligncia Artificial - Fundamentos e Aplicaes. Editora MADRAS 2002.
Notas de aula do Prof Pyramo Costa Jnir PUC-MG.
180
O que AI?
181
Inteligncia
O que inteligncia?
Artificial
Resolver problemas
Abstrair ideias
Armazenar conhecimento
182
Modelagem cognitiva
Teste de Turing
Agentes racionais
Cincia emprica
Hipteses e confirmao experimental
Racionalidade
Abordagem racionalista
Combinao de engenharia e matemtica
Powered by Enderson Neves Cruz
183
Modelagem cognitiva
Teste de Turing
Agentes racionais
Cincia emprica
Hipteses e confirmao experimental
Racionalidade
Abordagem racionalista
Combinao de engenharia e matemtica
Powered by Enderson Neves Cruz
184
O que AI?
IA a parte da cincia da computao que se preocupa em desenvolver sistemas computacionais inteligentes, isto
, sistemas que exibem caractersticas, as quais ns associamos com a inteligncia no comportamento humano por exemplo, compreenso da linguagem, aprendizado, raciocnio, resoluo de problemas, etc.
Muitas atividades mentais -como escrever programas de computadores, matemtica, raciocnio do senso comum,
compreenso de lnguas e at dirigir um automvel - demandam inteligncia. Nas ltimas dcadas, vrios
sistemas computacionais foram construdos para realizar estas tarefas. Dizemos que tais sistemas possuem algum
grau de Inteligncia Artificial.
IA o estudo do comportamento inteligente. Seu objetivo final uma teoria da inteligncia que explique o
comportamento das entidades inteligentes naturais e que guie a criao de entidades capazes de comportamento
inteligente.
Inteligncia Artificial o estudo de como fazer os computadores realizarem coisas que, no momento, as pessoas
fazem melhor.
185
Teste de Turing
Teste de Touring
Alan Turing
http://www.ufrgs.br/alanturingbrasil2012/expo.html
Documentrio Breaking the code
186
Teste de Turing
Teste proposto por Alan Turing em 1950 no artigo "Computing Machinery and Intelligence"
187
"According to weak AI, the principal value of the computer in the study of the mind is that
it gives us a very powerful tool(. . .). But according to strong AI, the computer is not merely
a tool in the study of the mind; rather the appropriately programmed computer really is a
mind, in the sense that computers given the right programs can literally be said to
understand and have other cognitive states.
"De acordo com a AI fraca, o valor principal do computador para o estudo da mente que
ele nos fornece uma ferramenta muito poderosa (...). Mas de acordo com AI forte, o
computador no apenas uma ferramenta no estudo da a mente, mas o computador
adequadamente programado realmente uma mente, no sentido de que os computadores
com os programas corretos podem literalmente compreender e ter outros estados
cognitivos ". (Traduo livre)
Searl J. R., Minds, brains and programs, The Philosophy of AI, M. Boden eds., 1980.
A tese AI forte envolve temas como conscincia e fortes problemas ticos ligados ao que fazer com uma
entidade que seja cognitivamente indiferencivel de seres humanos.
188
Teste de Turing
A interao fsica direta entre o interrogador e o computador foi evitada deliberadamente, pois a
simulao fsica de uma pessoa desnecessria para a inteligncia.
189
Teste de Turing
http://www.alicebot.org/
http://www-ai.ijs.si/eliza/eliza.html
http://www.simonlaven.com/
http://www.inbot.com.br/sete/
http://www.ed.conpet.gov.br/
190
Entrada
Operador
191
Searle argumenta que h uma diferena marcante entre este operador e uma pessoa que domina o
idioma chins e responda s mesmas perguntas sem usar o livro de regras:
O operador est apenas seguindo regras sintticas.
Quem domina o idioma chins est associando semntica (significado) ao que est fazendo e,
portanto, est fazendo muito mais que o primeiro.
H algo mais em ter uma mente do que executar processos formais ou sintticos.
Logo, programas no so suficientes para atribuir mentes a computadores.
Concluso
192
Como ns pensamos ?
Duas abordagens:
Cincia Cognitiva
193
Leis do pensamento
Aristteles
Forma de raciocnio dedutivo que consta de duas proposies como premissas e outra como
concluso, sendo a ltima uma inferncia necessariamente dedutiva das outras duas.
Os silogismos forneceram padres para estruturas de argumentos que sempre resultavam de
concluses corretas partindo de premissas corretas (Leis do pensamento).
Essas leis propostas por Aristteles deram origem a um campo de estudo chamado Lgica.
Representao do mundo atravs de proposies lgicas e inferncias corretas.
194
Leis do pensamento
Programas que, em princpio, podiam resolver qualquer problema descrito atravs de notao
lgica pode ser resolvido (~1965) Tradio logicista
Se no houver nenhuma
soluo, possvel que o
programa jamais pare de
procurar uma.
Principais obstculos:
No fcil enunciar conhecimento informal nos termos formais exigidos pela notao lgica
(principalmente quando h incerteza)
diferente resolver um problema em princpio de resolv-lo na prtica: recursos
computacionais.
195
Um agente pode ser considerado uma entidade que percebe o ambiente atravs de seus sensores
e age atravs de atuadores.
Exemplos:
Agente de Software: Input (teclado, mouse, rede) / Output (tela, rede, etc...)
Atributos esperados de um Agente Computacional
Controle autnomo
Percepo do ambiente
196
Racionalidade
Agente Racional
Exemplo: tirar a mo de um fogo quente um ato reflexo mais eficiente que o resultado de um
processo demorado de raciocnio).
Todas as habilidades citadas para o Teste de Turing existem para permitir aes racionais.
197
O que AI?
Aprendizagem
Viso
Compreenso de linguagem
198
199
Filosofia
Matemtica
Economia
Inteligncia
Artificial
Neurocincia
Psicologia
Engenharia de
computadores
Teoria de controle
e ciberntica
Lingustica
200
Filosofia
Matemtica
Economia
Inteligncia
Artificial
Neurocincia
Psicologia
Engenharia de
computadores
Teoria de controle
e ciberntica
Lingustica
Filosofia
(a partir de 428 a.C.)
Tornou a IA concebvel, considerando a mente, em alguns
aspectos, semelhante a uma mquina, operando sobre o
conhecimento codificado em alguma linguagem interna e que o
pensamento pode ser usado para escolher as aes que
devero ser executadas.
201
Filosofia
Matemtica
Economia
Inteligncia
Artificial
Neurocincia
Psicologia
Engenharia de
computadores
Teoria de controle
e ciberntica
Lingustica
Matemtica
(a partir de 800 d.C.)
Ferramentas para manipular declaraes de certeza, lgica,
incertas e probabilsticas.
Base para a compreenso da computao e do raciocnio sobre
algoritmos.
202
Filosofia
Matemtica
Economia
Inteligncia
Artificial
Neurocincia
Psicologia
Engenharia de
computadores
Teoria de controle
e ciberntica
Economia
(a partir de 1776)
Formalizaram o problema de tomar decises que maximizam o
resultado esperado para tomador de decises.
Lingustica
203
Filosofia
Matemtica
Economia
Inteligncia
Artificial
Neurocincia
Psicologia
Neurocincia
(a partir de 1861)
Modelo do neurnio e o mapeamento entre as reas do cerbro
e as partes do copo que controlam ou que recebem entrada
sensorial.
Engenharia de
computadores
Teoria de controle
e ciberntica
Lingustica
204
Filosofia
Matemtica
Economia
Inteligncia
Artificial
Neurocincia
Psicologia
Psicologia
(a partir de 1879)
Adotou a idia que os seres humanos e animais podem ser
considerados mquinas de processamento de informaes.
Engenharia de
computadores
Teoria de controle
e ciberntica
Lingustica
205
Filosofia
Matemtica
Economia
Inteligncia
Artificial
Neurocincia
Psicologia
Engenharia de
computadores
Engenharia de computao
(a partir de 1940)
Forneceu artefatos que tornam possveis as aplicaes de IA.
Programas de IA tendem a ser extensos e necessitam de
velocidade de processamento e memria.
Teoria de controle
e ciberntica
Lingustica
206
Filosofia
Matemtica
Economia
Inteligncia
Artificial
Neurocincia
Psicologia
Engenharia de
computadores
Teoria de controle
e ciberntica
Lingustica
207
Filosofia
Matemtica
Economia
Inteligncia
Artificial
Neurocincia
Psicologia
Engenharia de
computadores
Lingustica
(a partir de 1957)
Mostraram que o uso da linguagem de ajusta ao modelo que
considera os seres humanos e animais mquinas de
processamento de informaes.
Teoria de controle
e ciberntica
Lingustica
208
Filosofia
Matemtica
Economia
Inteligncia
Artificial
Neurocincia
Psicologia
Engenharia de
computadores
Teoria de controle
e ciberntica
Lingustica
209
1940
Gestao
1950
1960
Entusiasmo
1970
Realidade
1980
1990
2000
210
\\
Objetivo principal
Objetivo nobre
211
raciocnio
aprendizagem
reconhecimento de padres
inferncia
212
213
Aprendizagem
IA
Processamento de
Linguagem Natural
Base de Dados
Estratgias de Busca
Representao de Conhecimento
Lgica
Programao
Automtica
Soluo de
problemas
Computao Simblica
Robtica
Sistemas de
Sensoriamento
Viso
Reconhecimento
de imagens
214
Especialista da
Aplicao
Aquisio do
Conhecimento
Base do
Conhecimento
Engenheiro do
Conhecimento
Representao
do Conhecimento
215
Simblico
Conexionista
Evolucionista
Estatstico/Probabilstico
infernca
216
Conhecimento intencional
(regras)
Sistemas
Fuzzy
Redes
Bayesianas
Sistemas
Baseados em Regras
Numrico
Simblico
Algoritmos
Genticos
Redes
Neurais Artificiais
Sistemas de
Aprendizagem
Simblica Indutiva
Sistemas
Baseados
em Casos
Conhecimento extensional
(exemplos)
Powered by Enderson Neves Cruz
217
Busca combinatria
Sistemas especialistas
Programao gentica
Representao de conhecimento
Aprendizagem de mquina
Viso computacional
Planejamento
Localizao
Vida artificial
Swarm Intelligence
218
Diagnstico de falhas
Apoio operacional
Deteco de anormalidades
Configurao e reconfigurao
Anlise de processos
219
Aplicaes
http://guile3d.com/pt/
220
Discusses sobre AI
http://www.macrovu.com/CCTGeneralInfo.html
http://www.ime.usp.br/~vwsetzer/IAtrad.html
http://www.wired.com/wired/archive/8.04/joy.html
221
Matlab
Referncias
Mathworks Inc. Student Edition of MATLAB Version 5 for Windows. Prentice Hall, Upper Saddle River, New Jersey,
1997.
MATSUMOTO, E. Y. MatLab 6 Fundamentos de Programao
K. Chen et al., Mathematical explorations with MatLab, Cambridge University Press, 1999.
D. Hanselman et al., MatLab 5 - Guia do Usurio, Editora Makron, 1999.
FILHO, Frederico F. Campos. Introduo ao MATLAB.
223
Criada no fim dos anos 1970 por Cleve Moler (Universidade do Novo Mxico).
Permite a resoluo de muitos problemas numricos em apenas uma frao do tempo que se
gastaria para escrever um programa semelhante em linguagem Fortran, Basic ou C.
224
Computao Matemtica
Desenvolvimento de algoritmos
225
Ambiente de
Desenvolvimento
Biblioteca de
Funes Matemticas
Linguagem de
Programao
Tratamento Grfico
MATLAB
Aplication Program
Interface (API)
Toolboxes
SIMULINK
226
Ambiente de
Desenvolvimento
Biblioteca de
Funes Matemticas
Linguagem de
Programao
Tratamento Grfico
MATLAB
Aplication Program
Interface (API)
Ambiente de Desenvolvimento
Conjunto de ferramentas e ambientes que viso
auxiliar o uso das funes e arquivos do MATLAB.
Desktop
Janela de Comando (Command Window)
Histrico de Comando
Browsers para ajuda
Workspace
Busca de caminhos
etc...
Toolboxes
SIMULINK
227
Ambiente de
Desenvolvimento
Biblioteca de
Funes Matemticas
Linguagem de
Programao
Tratamento Grfico
MATLAB
Aplication Program
Interface (API)
Toolboxes
SIMULINK
228
Ambiente de
Desenvolvimento
Biblioteca de
Funes Matemticas
Linguagem de
Programao
Tratamento Grfico
MATLAB
Aplication Program
Interface (API)
Toolboxes
Linguagem de programao
Linguagem de programao de alto nvel (quarta
gerao) baseada em matrizes/vetores com:
SIMULINK
229
Ambiente de
Desenvolvimento
Biblioteca de
Funes Matemticas
Linguagem de
Programao
Tratamento Grfico
MATLAB
Aplication Program
Interface (API)
Tratamento Grfico
Sistema grfico do Matlab que inclui comando de
alto nvel para visualizao de dados de forma
bidimensional e tridimensional.
Possui tambm processamento
apresentao grfica e animao.
de imagens,
Toolboxes
SIMULINK
230
Ambiente de
Desenvolvimento
Biblioteca de
Funes Matemticas
Linguagem de
Programao
Tratamento Grfico
MATLAB
Aplication Program
Interface (API)
Toolboxes
SIMULINK
231
Ambiente de
Desenvolvimento
Biblioteca de
Funes Matemticas
Linguagem de
Programao
Tratamento Grfico
MATLAB
Aplication Program
Interface (API)
Toolboxes
SIMULINK
Toolboxes
Outra grande vantagem e um dos responsveis
pelo sucesso do MATLAB.
Tratam-se de uma srie de aplicaes/solues
especficas implementadas atravs de funes (Mfiles) que expandem o ambiente do Matlab para
solucionar problemas especficos nas mais
diversas reas.
Processamento de Sinais
Sistemas de Controle
Robtica
Redes Neurais
Lgica Fuzzy
Financeiro
Aeroespacial
etc.
232
Ambiente de
Desenvolvimento
Biblioteca de
Funes Matemticas
Linguagem de
Programao
MATLAB
SIMULINK
Software a parte do Matlab para modelagem
simulao e analise de sistemas dinmicos.
Sua interface primria uma ferramenta de
diagramao grfica por blocos e bibliotecas
customizveis de blocos.
Tratamento Grfico
Aplication Program
Interface (API)
Toolboxes
SIMULINK
233
234
>> more on
>> help
235
236
Para continuar um comando na linha seguinte, digitar ... no fim da primeira linha
O sinal % indica que o resto da linha um comentrio
237
No podero ser utilizados caracteres especiais que representem um operador, por exemplo: o *
(asterisco) representa o operador de multiplicao, espao, acentos ou cedilha ().
Corretos: Operando1, Operando_1, A_12C
238
Operao
Soma
Subtrao
Multiplicao
Diviso
Potenciao
Raiz quadrada
Cho
Teto
max div comum
Logaritmo na base 10
Exponencial
Logaritmo natural
Resto de diviso
Arredondamento
Sinal
Seno
Cosseno
Smbolo/Funo
+
*
/ ou \
^
sqrt ()
floor()
ceil ()
gcd ()
log10()
exp()
log()
rem ( , )
round()
sign()
sin()
cos ()
Exemplos
5+2.2=7.2000
3.3-8.8=12.1000
3.14*1.111=3.4885
44/2 =2\44=22
2^6=64
sqrt (2.2)=1.4832
floor(-2.7)=-3
ceil (-2.7)=-2
gcd (4,8)=4
log10(2.2)=0.3424
exp(0.7885)=2.2
log(2.2)=0.7885
rem (711,7)=4
round(-2.1)= -2 round(-2.7)= -3
sign(-2.7)= -1
sin(3.1)=0.0416
cos (3.1)=-0.9991
239
240
Uma matriz real uma matriz que possui a parte imaginria de todos os elementos iguais a zero.
Separar dos elementos de uma coluna por ; (ponto e vrgula) ou novas linhas (ENTER).
O nmero de elementos de matrizes pode ser conhecido pelos comandos size e length.
241
Exemplos
Vetor linha
4 7 2 1
Vetor coluna
3
5
9
7
19
Matriz 4 x 3
1
7 27
2 15 3
9
6
8
13 21 16
242
243
244
Outra forma de acessar elementos especficos de uma matriz utiliza apenas um nico operando.
Neste caso considera-se a matriz como um nico vetor coluna.
Exemplos
245
Matrizes e Vetores
246
Matrizes e Vetores
Exemplos
247
Matrizes e Vetores
Quando utilizado de forma isolada o operador dois pontos (:) se refere a todos os elementos de
uma determinada linha ou coluna.
248
249
rand(m,n)
ones(m,n)
eyes(m,n)
magic(m,n)
A soma dos
elementos de
cada coluna
a mesma
250
Operao
sum(A,dim)
diag(A)
A
det(A)
inv(A)
+ - * / ^
A(:,col)=[]
A(lin,:)=[]
D = [A B;C]
A +A' ou A * A'
eig(A)
Matrizes e Vetores
Descrio
Soma os vetores linha (dim = 1), ou os vetores coluna (dim = 2) de uma matriz A
Vetor com a diagonal principal de uma matriz A
Transposta da matriz A
251
Matrizes e Vetores
Retorna uma lista de posies (indices) de elementos de um vetor ou uma matriz que
satisfazem determinada condio
find(condio)
252
Utilizando o comando load para carregar arquivo no formato suportado pelo Matlab (.DAT ou
.MAT) salvo no diretrio padro do MATLAB.
Utilizando o assistente de importao para arquivos diferentes do formato DAT e MAT.
253
Cor
Smbolo
Estilo
Lils (magenta)
Crculo
Vermelho
Marca mais
Azul
Linha siida
Amarelo
Turquesa (ciano)
Verde
w
k
Branco
Preto
x
*
:
-.
--
Ponto
Marca x
Asterisco
Linha pontilhada
254
Estilo
xlabel(<texto>)
xlabel(<texto>)
title(<texto>)
text(x,y,<texto>)
gtext(<texto>)
grid on
legend(<t1>, <t2>,...)
hold on
255
>> plot(x,y)
Grficos
>> x = 0:pi/100:2*pi;
>> y = sin(x);
>> z = cos(x);
>> plot(x,y,x,z)
256
Grficos
>> x = 0:pi/100:2*pi;
>> y = sin(x);
>> z = cos(x);
>> plot(x,y,'-*',x,z,'-.or')
>> xlabel('eixo x')
>> ylabel('eixo y')
257
1.
2.
3.
4.
Grficos
Uma superfcie definida matematicamente como uma funo de duas variveis f (x,y),
correspondendo a cada valor (x,y) calcula-se o valor funcional por z = f (x,y) .
Etapas para a gerao de grficos tridimensionais
Para traar a superfcie deve-se primeiramente definir os limites de x e y e criar os dois vetores,
x e y, baseados nos intervalos que se deseja analisar e com o passo igual ao incremento
diferencial em cada direo .
Construir a malha diferencial do plano XY utilizando o comando [X Y] = meshgrid(x, y)
Implementar a funo desejada com base nas matrizes X e Y criadas pelo comando meshgrid.
258
Grficos
>> x = -3:0.2:3;
>> [X Y] = meshgrid(x,y);
>> y = -2:0.2:2;
>> Z = sin(X).*cos(Y).^2;
>> surf(X,Y,Z);
>> mesh(X,Y,Z);
259
Grficos 3D
0.5
0.5
eixo z
eixo z
-0.5
-0.5
-1
2
-1
2
0
eixo y
-1
-2
-4
-2
0
eixo x
0
eixo y
-1
-2
-4
-2
eixo x
260
261
Biblioteca do
SIMULINK
262
Projete um controlador PID para o sistema com tempo de acomodao menor do que 0.5
segundos e overshoot menor que 5%. Utilizando a massa m = 1kg.
PID Controller
1
Constant
Add
PID
40
s2 +10s+20
Transfer Fcn
Scope
Control input
263
264
Fora eletromagntica
265
Parmetros do sistema
266
Equaes de estado
267
% Parmetros
M = 20e-6;
km = 2.058e-04;
R = 0.92;
L = 0.01e-3;
g = 9.80665;
% Linearizao para a altura mnima de 0,03m
Z03 = 0.03;
I03 = (((M*g)/km)^(1/2))*Z03;
A3 = [-R/L 0 0;((-2*km*I03)/(M*(Z03^2))) 0 ((2*km*(I03^2))/(M*(Z03^3)));0 1 0];
B3 = [1/L;0;0];
C3 = [0 0 1];
% Linearizao para a altura mxima de 0,07m
Z07 = 0.07;
I07 = (((M*g)/km)^(1/2))*Z07;
A7 = [-R/L 0 0;((-2*km*I07)/(M*(Z07^2))) 0 ((2*km*(I07^2))/(M*(Z07^3)));0 1 0];
B7 = [1/L;0;0];
C7 = [0 0 1];
268
269
UNIDADE 6
Lgica Fuzzy
Jan Lukasiewicz
Lotfali Askar-Zadeh
Powered by Enderson Neves Cruz
271
Introduo
272
Introduo
273
Introduo
274
Introduo
Funo caracterstica
Define um conjunto A:
275
Introduo
276
Introduo
Define-se uma funo de pertinncia A : X [0; 1], que associa a cada valor x de ao grau A (x)
277
Introduo
Clssico
Fuzzy
278
Funes de pertinncia
Grau de Pertinncia
1
0.8
0.6
0.4
0.2
0
20
40
60
(c) Gaussiana
20
40
60
80
80
100
100
1
0.8
0.6
0.4
0.2
0
1
0.8
0.6
0.4
0.2
0
Grau de Pertinncia
Grau de Pertinncia
1
0.8
0.6
0.4
0.2
0
(b) Trapezoidal
Grau de Pertinncia
(a) Triangular
20
40
60
80
100
20
40
60
80
100
279
Funes de pertinncia
Grau de Pertinncia
1.2
Jovem
Maduro
Idoso
0.8
0.6
0.4
0.2
10
20
30
40
50
X = Idade
60
70
80
90
280
Introduo
Na Lgica Fuzzy associa-se um valor (p) a uma proposio p, para indicar o grau de veracidade
de uma proposio.
281
Introduo
282
Introduo
temperatura = 38 C
283
Controladores fuzzy
284
Controladores fuzzy
Controlador Fuzzy
Entradas
Fuzzificador
Sistema de
Inferncia
Defuzzificador
Sadas
Base de Regras
285
Faz a converso dos valores das variveis de entrada nos valores lingusticos
Variveis de entrada
(Numricas)
Fuzzificao
Variveis lingusticas
286
Base de regras
Conseqente: aes
287
288
Sistema de inferncia
Frmulas de discretizao
289
Defuzzificao
Valores numricos
290
291
292
293
294