Você está na página 1de 294

SEAI

Ps-Graduao Lato Sensu


Sistemas Eletroeletrnicos e Automao Industrial

Informtica Aplicada
Enderson Neves Cruz
enderson.bh@gmail.com
2015

Apresentao da disciplina

Powered by Enderson Neves Cruz

Plano de ensino
Introduo (2 Horas/aula)

Apresentao da disciplina

Evoluo histrica e conceitos bsicos


Unidade 1 Componentes de um sistema informatizado (4 Horas/aula)

Componentes fundamentais de um sistema informatizado

Linguagens de programao

Sistemas operacionais
Unidade 2 A Informtica como ferramenta (4 Horas/aula)

Softwares grficos

Editorao e edio de imagens

Planilhas

Bancos de dados

Aplicativos em geral
Unidade 3 Tipos de Software para Engenharia e Indstria (4 Horas/aula)

Softwares comerciais

Sistemas Integrados de gesto (ERP)

Softwares industriais

Softwares para simulaes (Aula prtica PROTEUS)


Unidade 4 Inteligncia Artificial (4 Horas/aula)

Conceitos bsicos

Tcnicas de AI

30 horas/aula

Unidade 5 Aula Prtica Experimental (6 Horas/aula)

MATLAB

Banco de dados
Unidade 6 Lgica Fuzzy (3 Horas/aula)

Conceitos bsicos
Seminrio (3 Horas/aula)

Powered by Enderson Neves Cruz

Avaliao

Seminrio = 60% (Grupo)

Data da apresentao: a definir (2012)


Integrantes por grupo: 5
Tempo de apresentao: 40 minutos
Relatrio + documentos da apresentao

Trabalho de laboratrio = 40%

Aula prtica
Integrantes por grupo: a definir
Deve ser entregue na data de apresentao do seminrio
Relatrio + arquivos das aula prticas

Powered by Enderson Neves Cruz

Calendrio
DATA

HORARIO

ATIVIDADE

28/11/2015

08h00 s 12h15
13h00 s 17h15

Aula: Mquinas Eltricas e Equipamentos


Aula: Informtica Aplicada

rsula
Enderson

Apresentao
Unidade 1 Sistema informatizado

12/12/2015

08h00 s 12h15
13h00 s 17h15

Aula: Mquinas Eltricas e Equipamentos


Aula: Informtica Aplicada

rsula
Enderson

Unidade 1 Sistema informatizado

06/02/2016

08h00 s 12h15
13h00 s 17h15

Aula: Informtica Aplicada


Aula: Interruptores e Comandos Eletrnicos

Enderson
rsula

Unidade 2 A Informtica como


ferramenta

27/02/2016

08h00 s 12h15
13h00 s 17h15

Aula: Interruptores e Comandos Eletrnicos


Aula: Informtica Aplicada

Francisco
Enderson

Unidade 3 Tipos de Software para


Engenharia e Indstria
Aula Prtica Experimental PROTEUS

05/03/2016

08h00 s 12h15
13h00 s 17h15

Aula: Informtica Aplicada


Aula: Mquinas Eltricas e Equipamentos

Enderson
rsula

Unidade 4 Inteligncia Artificial

12/03/2016

08h00 s 10h00
10h15 s 12h15
13h00 s 17h15

Aula: Informtica Aplicada

Enderson

19/03/2016

08h00 s 10h00
10h15 s 12h15
13h00 s 17h15

Aula: Mquinas Eltricas e Equipamentos

rsula

Aula: Interruptores e Comandos Eletrnicos


Aula: Informtica Aplicada

Aula: Informtica Aplicada


Aula: Informtica Aplicada

PROF.

Francisco
Enderson

Enderson
Enderson

Aula Prtica Experimental MATLAB


Unidade 6 Lgica fuzzy
Seminrio

Powered by Enderson Neves Cruz

Referncias bibliogrficas

Powered by Enderson Neves Cruz

Referncias

Organizao dos computadores e Informtica geral

TANENBAUM, Andrew S. Organizao Estruturada de Computadores.

Prentice/Hall do Brasil, 2006. 6 Edio. 464p.

MONTEIRO, Mrio. Introduo Organizao de Computadores.

LTC, 1996. 3 Edio. 500p.

WHITE, Ron; DOWNS, Timothy E.. How Computers Work.

Que, 2007. 9 Edio. 464p.

WHITE, Ron; DOWNS, Timothy E.. How software works .

Ziff-Davis Press, 1993. 1 Edio. 198p.

NORTON, Peter. Introduction to Computers.

Career Education, 2004. 6 Edio. 688p.

NORTON, Peter. Introduo a Informtica.

Makron Books, 1996. 1 Edio. 640p.

LAUDON K. C; LAUDON, J. P. Sistemas de Informao.


LTC, 1999. 4 Edio. 389p.

TANENBAUM, Andrew S. Sistemas Operacionais Modernos.

Prentice/Hall do Brasil, 2009. 2 Edio. 712p.

WIDMER, Neal S.; TOCCI, Ronald J.. Sistemas Digitais: Princpios e Aplicaes.

Pearson Education do Brasil, 2011. 11 Edio. .

Powered by Enderson Neves Cruz

Referncias

Organizao dos computadores e Informtica geral

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

Powered by Enderson Neves Cruz

Linguagens de programao

Referncias

ASCENIO, Ana F. Gomes; CAMPOS, Edilene A. Veneruchi. Fundamentos de Programao de Computadores.

Prentice Hall, 2008. 2 Edio. 448p.

GRIFFITHS, David; BARRY, Paul. Use a Cabea! Programao.

Alta Books , 2010. 1 Edio. 440p.

ORGANICK, E. I.;FORSYTHE, A. I.;PLUMMER, R. P.. Programming Language Structures.

New York: Academic Press, 1978. 659 p


Curso de Linguagem C da UFMG

Universidade Federal de Minas Gerais, 1996 2000. 126p.


FRANA, Snia Virginia Alves. Apostila Programao 2.
Universidade Federal Rural de Pernambuco, 2009. 284p.

KLANDER, Lars; JAMSA, Kris. Programando em C/C++: a Bblia.

Makron Books, 1999. 1 Edio. 1032p.

RIOS, Rosangela S. Hickson. Aprenda a Programar em C, C++ e C#.

Campus, 2005. 2 Edio. 276p.

SCHILDT, Herbert. C Completo e Total.

Makron Books, 1997. 3 Edio. 827p.


DAMAS, Lus. Linguagem C.

LTC, 2007. 10 Edio. 424p.


Powered by Enderson Neves Cruz

Linguagens de programao

Referncias

DEITEL, Paul; DEITEL, Harvey. Java - Como Programar.

Prentice Hall, 2010. 8 Edio. 1152p.

Sierra, Kathy; BATES, Bert. Use a Cabea! Java.

Alta Books , 2007. 2 Edio. 496p.

REAS, Casey; FRY, Ben. Getting Started with Processing.

O'Reilly Media, 2010, 208p.

REAS, Casey; FRY, Ben. Processing : a programming handbook for visual designers and artists.

MIT Press, 2007, 737p.

CRUZ, Enderson. Sistemas Microprocessados, notas de aula.

Belo Horizonte: CEFET-MG, 2011, 323p.

BROOKSHEAR, J. G. Cincia da computao: uma viso abrangente. 5a. ed.

Porto alegre: Bookman, 2000.

PILONE, Dan; PILONE, Tracey. Use a Cabea! Desenvolvendo para iPhone.

Alta Books , 2011. 1 Edio. 552p.

Powered by Enderson Neves Cruz

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

Powered by Enderson Neves Cruz

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

Powered by Enderson Neves Cruz

12

Introduo

Evoluo histrica e conceitos bsicos

Powered by Enderson Neves Cruz

Mario Sergio Cortella - Pasta de Dente

http://www.youtube.com/watch?v=f0z56D5qCO0

Powered by Enderson Neves Cruz

Aula 01 Introduo

Evoluo histrica e conceitos bsicos


Conceito de Informtica

Informtica

Neologismo criado por Philippe Dreyfus em 1962


Cincia que trata do processamento racional da informao
atravs da utilizao de mquinas automticas.
Cincia cujo objeto de estudo se relaciona com o tratamento lgico
de conjuntos de dados, utilizando tcnicas e equipamentos que
possibilitam o seu processamento de modo a obter informao que
depois poder ser armazenada e/ou transmitida.
Fonte: Prof. Doutor Rui Moreira Universidade Fernando Pessoa link:www2.ufp.pt/~rmoreira/MTC/Aula3_II.pdf

Powered by Enderson Neves Cruz

15

Aula 01 Introduo

Evoluo histrica e conceitos bsicos


Conceito de Informtica

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

Oportuna disponvel no local e no momento necessrio


Completa contendo todos os elementos necessrios
Concisa fcil de manipular

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.

Powered by Enderson Neves Cruz

16

Aula 01 Introduo

Evoluo histrica e conceitos bsicos

Informao

Dados + Conhecimento
Processamento de Dados

Srie de atividades realizadas para produzir um conjunto de informaes a partir de outras


informaes iniciais (dados).
Dados

Processamento

Informaes

Powered by Enderson Neves Cruz

17

Aula 01 Introduo

Evoluo histrica e conceitos bsicos


Computador Analogia com o ser humano

Melhor dispositivo para se processar informaes, ou quase!


Input
Sentidos

Entrada

Output

CPU
Neurnios

Nervos

Crebro

Nervos

Processa

Voz e
movimentos

Sadas

Nervos

Memria
Memria
CPU Central Processing Unit (Unidade central de processamento)

Dispositivos de I/O - Input/Output (Entrada/Sada)

Powered by Enderson Neves Cruz

18

Aula 01 Introduo

Evoluo histrica e conceitos bsicos


Memria

CPU
Clock

Dispositivos I/O
Barramento de Endereos
Barramento de Dados
Barramento de Controle

Powered by Enderson Neves Cruz

19

Aula 01 Introduo

Evoluo histrica e conceitos bsicos


Pirmide da automao (Automation System)

Aquisio de Dados e Controle Manual


Composto por mquinas, componentes e dispositivos da
planta, como sensores, atuadores e dispositivos de campo.

Sensores
Transdutores
Viso artificial
Sistemas de identificao
Leitores
Atuadores eltricos, pneumticos, hidrulicos
Robtica
Protocolos de comunicao AS-i e Hart;

Powered by Enderson Neves Cruz

20

Aula 01 Introduo

Evoluo histrica e conceitos bsicos


Pirmide da automao (Automation System)

Controle Individual
Nvel onde se encontram os sistemas que executam o
controle automtico das atividades da planta.

Controladores Lgicos Programveis (CLP)


Computadores de Placa nica (SBC)
Controladores Programveis para Automao (PAC)
Computadores (PC)
Inversores de Frequncia e Controladores PID
Sistema digital de controle distribudo (SBCD)
Protocolos de comunicao: Profibus, DeviceNet,
Foundation Fieldbus, ModBus RTU e EtherCAT

Powered by Enderson Neves Cruz

21

Aula 01 Introduo

Evoluo histrica e conceitos bsicos


Pirmide da automao (Automation System)

Controle de grupo Clula de trabalho


Gerenciamento e otimizao de processo
Permite a superviso do processo, normalmente possui
banco de dados com informaes relativas ao processo.
Sistemas Supervisrios, de Controle e de Aquisio de
Dados
SCADA Supervisory Control and Data Aquisition
Protocolos baseados em Ethernet como Profinet,
Ethernet/IP, ModBus TCP/IP e EtherCAT

Powered by Enderson Neves Cruz

22

Aula 01 Introduo

Evoluo histrica e conceitos bsicos


Pirmide da automao (Automation System)

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

Powered by Enderson Neves Cruz

23

Aula 01 Introduo

Evoluo histrica e conceitos bsicos


Pirmide da automao (Automation System)

Planejamento estratgico e Gesto da empresa


Administrao dos recursos da empresa.
Sistemas Integrados de Gesto Empresarial
ERP Enterprise Resource Planning
Integram ferramentas para as reas de finanas,
manufatura, contbil, recursos humanos, marketing,
vendas, compras entre outras, de diferentes unidades
fabris, de uma mesma empresa ou grupo de empresas,
em diferentes localidades, at mesmo em diferentes
pases

Powered by Enderson Neves Cruz

24

Aula 01 Introduo

Evoluo histrica e conceitos bsicos


Pirmide da automao (Automation System)

Planejamento estratgico e Gesto da empresa

Gerenciamento da planta

Controle de grupo
Gerenciamento e otimizao de processo

Controle individual

Aquisio de Dados e Controle Manual

Powered by Enderson Neves Cruz

25

Aula 01 Introduo

Evoluo histrica e conceitos bsicos


Geraes de computadores
Gerao 0 Computadores Mecnicos (Anterior a 1945)
1 Gerao Vlvulas (1945 1955)

2 Gerao Transistores (1955 1965)

3 Gerao Circuitos Integrados (1965 1980)


4 Gerao VLSI (1980 aos dias atuais)

5 Gerao Conectividade, mobilidade, computadores inteligentes

Powered by Enderson Neves Cruz

26

Aula 01 Introduo

Evoluo histrica e conceitos bsicos


Gerao 0 Computadores Mecnicos (Anterior a 1945)
Sistema binrio
Pingala
ndia
baco
Mesopotmia
China

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

Evoluo histrica e conceitos bsicos


Gerao 0 Computadores Mecnicos (Anterior a 1945)

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

Tear mecnico com cartes


Joseph Marie Jacquard

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

Powered by Enderson Neves Cruz

28

Aula 01 Introduo

Evoluo histrica e conceitos bsicos


1 Gerao Vlvulas (1945 1955)
ENIAC
Electronic Numerical
Integrator and Computer
John Presper Eckert
e John Mauchly
EUA
Colossus
Inglaterra

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

Evoluo histrica e conceitos bsicos


2 Gerao Transistores (1955 1965)
TX-0
Primeiro Computador
Transistorizado
MIT
EUA

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

Powered by Enderson Neves Cruz

30

Aula 01 Introduo

Evoluo histrica e conceitos bsicos


3 Gerao Circuitos Integrados (1965 1980)
System/360
IBM

Disco IBM RAMAC


IBM

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

Powered by Enderson Neves Cruz

31

Aula 01 Introduo

Evoluo histrica e conceitos bsicos


3 Gerao Circuitos Integrados (1965 1980)

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

Evoluo histrica e conceitos bsicos


4 Gerao VLSI (1980 aos dias atuais)
Microcomputador
pessoal IBM PC
IBM
MS-DOS
Microsoft

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

Powered by Enderson Neves Cruz

33

Aula 01 Introduo

Evoluo histrica e conceitos bsicos


4 Gerao VLSI (1980 aos dias atuais)
Windows 3.0
Microsoft
HTML
WWW
Tim Berners-Lee
1990

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

Powered by Enderson Neves Cruz

34

Aula 01 Introduo

Evoluo histrica e conceitos bsicos


4 Gerao VLSI (1980 aos dias atuais)
iPod
Apple
Microprocessador
Pentium III
Intel
Bug do Milnio
2000

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

Powered by Enderson Neves Cruz

35

Aula 01 Introduo

Estrutura bsica de um sistema microcontrolado


Modelo de John von Neumann

Memria

CPU (Unidade central de processamento): Processa as


informaes, executando as instrues armazenadas na
memria e realizando as operaes lgicas e aritmticas.
Memria. Armazena as instrues e os dados a serem
executadas pela CPU

CPU
Clock

Dispositivos I/O
Barramento de Endereos
Barramento de Dados
Barramento de Controle

Dispositivos I/O (Dispositivos de entrada e sada): Para


fazer comunicao digital com o mundo exterior.
Barramento de dados: Por onde trafegam as informaes
(dados) a serem processadas.
Barramento de endereos: Indica a posio de memria
onde uma informao (dado) ser escrita ou lida e pela
seleo do dispositivo que ter acesso ao barramento de
dados.
Barramentos de controle: Indica o tipo da operao (leitura
ou escrita) e onde a operao est sendo realizada (memria
ou dispositivo de I/O).
Clock: Para manter todo o sistema sincronizado.

Powered by Enderson Neves Cruz

36

Aula 01 Introduo

Evoluo histrica e conceitos bsicos


Conceitos

Hardware

a parte fsica do computador, ou seja,


o conjunto de componentes eletrnicos,
circuitos integrados e placas, que se
comunicam atravs de barramentos.

Software

a parte lgica, ou seja, o conjunto de


instrues e dados processados pelo
circuitos eletrnicos que compe o
hardware.

Powered by Enderson Neves Cruz

37

Powered by Enderson Neves Cruz

UNIDADE 1

Componentes de um sistema informatizado

Powered by Enderson Neves Cruz

Unidade 1 Sistema informatizado

Componentes de um sistema informatizado


Hardware

Software

Usurios
e
Processos

Rede

Banco
de Dados

Procedimentos

Powered by Enderson Neves Cruz

40

Unidade 1 Sistema informatizado

Componentes de um sistema informatizado

Powered by Enderson Neves Cruz

41

Unidade 1 Sistema informatizado

Componentes de um sistema informatizado


Mquina Multinvel Contempornea (Camadas)
Dispositivos Fsicos
Componentes eltricos/eletrnicos e mecnicos bsicos
que permitem a construo dos circuitos
- Circuitos integrados
- Transistores
- Fios
- Capacitores
- Resistores
- etc.

Dispositivos Fsicos

Powered by Enderson Neves Cruz

42

Unidade 1 Sistema informatizado

Componentes de um sistema informatizado


Mquina Multinvel Contempornea (Camadas)
Micro Arquitetura
Dispositivos fsicos agrupados para formar unidades
funcionais como, etc.
- Memrias
- Registradores
- ULA (Unidade Lgica Aritmtica)
- etc.

Micro Arquitetura
Dispositivos Fsicos

Powered by Enderson Neves Cruz

43

Unidade 1 Sistema informatizado

Componentes de um sistema informatizado


Mquina Multinvel Contempornea (Camadas)
Linguagem de Mquina
Conjunto de instrues interpretadas pelos dispositivos que
compem a micro arquitetura.

Toda fabricante publica um manual onde descreve o


conjunto das instrues de mquina (ISA)

ISA Instruction Set Architecture

Linguagem de Mquina

Assembly o termo utilizado para linguagem de mquina


ou linguagem de montagem.

Micro Arquitetura
Dispositivos Fsicos

Powered by Enderson Neves Cruz

44

Unidade 1 Sistema informatizado

Componentes de um sistema informatizado


Mquina Multinvel Contempornea (Camadas)
Sistema Operacional (SO)
Responsvel por gerenciar os dispositivos de hardware do

computador (como memria, unidade de disco rgido,


unidade de CD) e realizar a interao entre o usurio e
esses dispositivos.

Sistema Operacional

Oferecer o suporte para os outros programas funcionarem

Linguagem de Mquina

Exemplos: UNIX, LINUX, Windows, Mac OS, iOS, Android,

Micro Arquitetura

(como Word, Excel etc.).


etc.

Dispositivos Fsicos

Powered by Enderson Neves Cruz

45

Unidade 1 Sistema informatizado

Componentes de um sistema informatizado


Mquina Multinvel Contempornea (Camadas)
Compiladores e Interpretadores
Programas que traduzem o cdigo de fonte de uma

Compiladores e Interpretadores
Sistema Operacional

linguagem de programao de alto nvel para uma

linguagem de programao de baixo nvel (por exemplo:


assembly)

Exemplos: Borland C++, Microsoft Visual Basic, etc.

Linguagem de Mquina
Micro Arquitetura
Dispositivos Fsicos

Powered by Enderson Neves Cruz

46

Unidade 1 Sistema informatizado

Componentes de um sistema informatizado


Mquina Multinvel Contempornea (Camadas)
Aplicativos
Compiladores e Interpretadores
Sistema Operacional
Linguagem de Mquina
Micro Arquitetura
Dispositivos Fsicos

Aplicativos
Um programa de computador que permite ao usurio fazer
uma ou mais tarefas especficas.

Tem por objetivo o desempenho de tarefas, em geral


ligadas ao processamento de dados, como o trabalho em
escritrio ou empresarial, lazer etc.

- Editores de texto, planilhas eletrnicas


- Tratamento de imagens
- Navegadores de internet
- Bancos de dados
- Jogos

Powered by Enderson Neves Cruz

47

Unidade 1 Sistema informatizado

Componentes de um sistema informatizado


Mquina Multinvel Contempornea (Camadas)
Aplicativos
Compiladores e Interpretadores

Software

Sistema Operacional
Linguagem de Mquina
Micro Arquitetura

Hardware

Dispositivos Fsicos

Powered by Enderson Neves Cruz

48

Unidade 1 Sistema informatizado

Componentes de um sistema informatizado


Mquina Multinvel Contempornea (Camadas)
Nvel 5

Nvel de Linguagem Orientada a Problemas

(Linguagens de alto nvel: C, C++, Java, Visual Basic...)

Nvel de Linguagem de Montagem (Assembly)

(Mnemnicos para as Instrues em linguagem de mquina)

Traduo (compilador)

Nvel 4

Traduo (montador ou assembler)

Nvel 3

Nvel de Mquina de Sistema Operacional

(Hbrida Instrues ISA ou SO)

Interpretao parcial (sistema operacional)

Nvel 2

Nvel de Arquitetura de Conjunto de Instrues (ISA)

(Instrues em linguagem de mquina)

Interpretao (microprograma) ou execuo direta

Nvel 1

Nvel de Microarquitetura

(Memria, registradores e ALU)

Hardware

Nvel 0

Nvel de Lgica Digital

(Portas lgicas)

Powered by Enderson Neves Cruz

49

Unidade 1 Sistema informatizado


Linguagens de programao

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.

2. Algoritmo: onde ferramentas do tipo descrio narrativas, fluxograma ou portugus estruturado


(portugol) so utilizadas para o descrever o problema com suas solues.
3. Codificao: onde o algoritmo transformado em cdigos da linguagem de programao
escolhida para ser trabalhada. Portanto, um programa a codificao de um algoritmo em uma
determinada linguagem de programao. (ASCENCIO, 1999).

1.

Anlise
Entender o problema

2.

Algoritmo
Desenhar a soluo

3.

Codificao
Programar

Powered by Enderson Neves Cruz

50

Unidade 1 Sistema informatizado


Linguagens de programao

Desenvolvimento de um programa

Linguagem de
programao

Problema
Adaptao

Soluo

Algoritmo

Codificao

Programa
Fonte

Traduo

Programa
Executvel

Algoritmo uma seqncia de passos que deve ser seguida


para a realizao de uma tarefa(ASCENCIO, 1999)

Powered by Enderson Neves Cruz

51

Unidade 1 Sistema informatizado


Linguagens de programao

Fases de desenvolvimento de um sistema

Powered by Enderson Neves Cruz

52

Unidade 1 Sistema informatizado


Linguagens de programao

TIOBE Programming Community Index for October 2011

Ranking de linguagens criado pela


TIOBE Software que demonstra, num
perodo de um ano, quais linguagens
tornam-se mais populares e quais vo
perdendo popularidade.

Fonte:

http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

Powered by Enderson Neves Cruz

53

Unidade 1 Sistema informatizado

Powered by Enderson Neves Cruz

54

Referncias
http://ocw.mit.edu/index.htm

http://see.stanford.edu/see/courses.aspx

Powered by Enderson Neves Cruz

55

Unidade 1 Sistema informatizado


Linguagens de programao

Classificao das linguagens de programao

Quanto a gerao

No existe consenso

Segunda Gerao:

Linguagem de Montagem - Assembler

Terceira Gerao

Imperativas: FORTRAN, Cobol, Basic, Algol, ADA, Pascal, C


Lgicas e Funcionais: LISP, ML, Prolog

Quarta Gerao

Geradores de Relatrios, Linguagens de Consultas: SQL, CSP

Quinta Gerao

Orientao a objetos : Smalltalk, Java, Eiffel, Simula 67

Linguagem de programao de baixo nvel

Linguagem de programao de alto nvel

Primeira Gerao: Linguagem de mquina


Cdigo de Mquina (0s e 1s).

Quanto ao grau de abstrao

Linguagem de programao de mdio nvel

Estrutura de tipos

Fracamente tipada

Dinamicamente tipada

Fortemente tipada

Estaticamente tipada.

Paradigma

Sexta Gerao ?

Web e Linguagens Dinmicas : Python, JavaScript, Ruby

http://www.scriptol.com/programming/choose.php

Powered by Enderson Neves Cruz

56

Unidade 1 Sistema informatizado


Linguagens de programao

Paradigmas da programao

Viso que o programador possui sobre a estruturao e execuo do programa.

Forma de pensar do programador e como ele busca a soluo dos problemas.

Restringe a utilizao de tcnicas de programao.

Conjunto de modelos, normas e padres que estabelecem os princpios, funcionalidades e


objetivos de uma linguagem de programao existentes.

Procedimento, Funo, Objeto ou Lgica? Linguagens de Programao vistas pelos seus paradigmas

Programming Paradigms for Dummies: What Every Programmer Should Know

Maria Ceclia Calani Baranauskas

http://www.nied.unicamp.br/publicacoes/arquivos/3XaQ1o8Nmk

Peter Van Roy

Powered by Enderson Neves Cruz

57

Unidade 1 Sistema informatizado

Prof. Manoel Gomes de Mendona Neto

Fonte: Paradigmas e Linguagens de Programao

GAP Semntico

Linguagens de programao

Diferena entre uma representao de um contexto do conhecimento (processo, problema, etc.)


em uma linguagem poderosa (linguagem natural) e uma representao do conhecimento em uma
linguagem formal (linguagem de programao).
Powered by Enderson Neves Cruz

58

Unidade 1 Sistema informatizado


Linguagens de programao

Paradigmas da programao

Linguagens

Cada linguagem suporta


um ou mais paradigmas

Paradigmas

Cada paradigma
consiste de um
conjunto de
conceitos

Conceitos

More is not better (or worse) than less, just different.

Mais no melhor (ou pior) do que menos, apenas diferente.


Peter Van Roy

Powered by Enderson Neves Cruz

59

Unidade 1 Sistema informatizado


Linguagens de programao

Paradigmas da programao

Programao no estruturada

Programao imperativa ou procedural

Programao estruturada

Linguagem orientada a objetos

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

Powered by Enderson Neves Cruz

60

Programao no estruturada Exemplo linguagem Assembly

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

Embora no existe o conceito


de procedimentos, sub-rotinas
so permitidas.

No existe o conceito de
variveis locais, salvar o
contexto antes do uso de
registradores comum.

61

Unidade 1 Sistema informatizado


Linguagens de programao

Programao no estruturada Exemplo linguagem BASIC


10 dim i

20 i = 10

30 i = i + 1

40 if i <> 10 then goto 90


50 if i = 10 then goto 70
60 goto 30

70 print "Programa concludo"


80 end

90 print i; "ao quadrado ="; i*i


100 goto 30

Powered by Enderson Neves Cruz

62

Unidade 1 Sistema informatizado


Linguagens de programao

Programao no estruturada

Desvantagens

Vantagens

Oferece grande liberdade aos programadores.

Existem linguagens de programao de alto e baixo nvel


que utilizam este paradigma.

Cdigo dificilmente legvel (espaguete").

Considerado inadequado para a criao de grandes


projetos.

Powered by Enderson Neves Cruz

63

Unidade 1 Sistema informatizado


Linguagens de programao

Programao no estruturada

Exemplos principais que utilizam este paradigma

Linguagem de montagem

Primeiras verses do BASIC (Beginner's All-purpose Symbolic Instruction Code)

Assembly
JOSS

FOCAL

MUMPS

TELCOMP

COBOL (COmmon Business-Oriented Language)


Algumas linguagens de script

Linguagem de arquivo em lotes (batch).

Powered by Enderson Neves Cruz

64

Unidade 1 Sistema informatizado


Linguagens de programao

Programao Procedural ou Imperativa

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

Powered by Enderson Neves Cruz

65

Unidade 1 Sistema informatizado


Linguagens de programao

Programao Procedural ou Imperativa

Representar a soluo de um problema para ser resolvido pelo computador envolve


escrever uma srie de aes (procedimentos) que, se executadas sequencialmente, levam
soluo.

Procedimentos (procedures), tambm conhecidos como rotinas, subrotinas, mtodos, ou


funes contm um conjunto de passos computacionais a serem executados.
Um procedimento pode ser chamado a qualquer hora durante a execuo de um programa,
inclusive por outros procedimentos ou por si mesmo.

Programao estruturada
Linguagem orientada a objetos

Powered by Enderson Neves Cruz

66

Unidade 1 Sistema informatizado


Linguagens de programao

Programao Estruturada

Estabelece que todos os programas possveis podem ser reduzidos a apenas trs
estruturas:

Sequencial

Iterao (repetio) (for, while, do while, do until, repeat)

Condicional/Seleo (if, then, else, elseif, switch, case)

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

Powered by Enderson Neves Cruz

67

Unidade 1 Sistema informatizado


Linguagens de programao

Programao Estruturada Exemplo linguagem BASIC


No estruturada

10 dim i

20 i = 10

30 i = i + 1

40 if i <> 10 then goto 90


50 if i = 10 then goto 70
60 goto 30

70 print "Programa concludo"


80 end

90 print i; "ao quadrado ="; i*i


100 goto 30

Estruturada

dim i

i = 10

for i =1then to 10

print i; "ao quadrado ="; i*i

next

print "Programa concludo"


Cdigo mais simples
Cdigo mais limpo

Cdigo mais estruturado


Mais legvel.

Powered by Enderson Neves Cruz

68

Unidade 1 Sistema informatizado


Linguagens de programao

Programao Estruturada Exemplos usando linguagem C

Calculando nmero de caracteres.c


Fonte do exemplo: Fundamentos de Linguagem C - Centro Tecnolgico de Mecatrnica SENAI Caxias do Sul/RS

Notas de alunos.c

Powered by Enderson Neves Cruz

69

Unidade 1 Sistema informatizado


Linguagens de programao

Programao Estruturada

Desvantagens

Vantagens

Eficincia (embute o modelo Von Neumann);

Modelagem natural de aplicaes do mundo real;

Paradigma dominante e bem estabelecido;


Muito flexivel;

Permitir o reaproveitamento de cdigo j construdo;

Focaliza o "como" e no o que"

Relacionamento indireto com a E/S:


difcil legibilidade

erros introduzidos durante manuteno

Evitar que um trecho de cdigo que seja repetido vrias


vezes dentro de um mesmo programa;
Permitir a alterao de um trecho de cdigo de uma
forma mais rpida;
Facilitar o entendimento do programa.

O fato de utilizar uma funo que j foi testada em


diversos programas, reduz o risco de erros. como se
costuma dizer: no reinventar a roda.

Powered by Enderson Neves Cruz

70

Unidade 1 Sistema informatizado


Linguagens de programao

Programao Estruturada

Exemplos principais que utilizam este paradigma

ABAP (Advanced Business Application Programming)

ALGOL (ALGOrithmic Language)

Ada

BASIC (Beginner's All-purpose Symbolic Instruction Code)


COBOL (COmmon Business-Oriented Language)
FORTRAN (FORmula TRANnslating System)
Linguagem C

MATLAB (MATrix LABoratory)


PASCAL

PHP (Personal Home Page ou Hypertext Preprocessor)


PL/I (Programming Language One)
Tcl (Tool Command Language)

Powered by Enderson Neves Cruz

71

Unidade 1 Sistema informatizado


Linguagens de programao

Programao Orientada a Objetos

Estende as linguagens imperativas com a introduo do conceitos de objetos.

As bases conceituais tem origem no campo de estudo da cognio no campo da abstrao


de conceitos do mundo real.

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,

2. Distino entre objetos como um todo e entre suas partes componentes.


Exemplo: quando separam uma rvore dos seus galhos.

3. Formao de, e distino entre, as diferentes classes de objetos .

Exemplo: quando formam uma classe de todas as rvores, uma outra classe de todas as rochas e distinguem-nas.

Fonte: Enciclopdia britnica

Mundo real est repleto de objetos.

Agrupa-se objetos semelhantes em classes.


Powered by Enderson Neves Cruz

72

Unidade 1 Sistema informatizado


Linguagens de programao

Programao Orientada a Objetos

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:

Procurar objetos existentes no problema.

Estabelecer como ocorrer a interao entre os objetos.

Determinar caractersticas e responsabilidades de cada objeto.


Alicerces da programao orientada a objetos
Abstrao

Encapsulamento
Herana

Polimorfismo
Powered by Enderson Neves Cruz

73

Unidade 1 Sistema informatizado


Linguagens de programao

Programao Orientada a Objetos

Pessoa

Classe

Homem

Conjunto de objetos com caractersticas afins.

Mulher

Classe

Cada classe descreve um conjunto (possivelmente infinito) de objetos individuais.

uma abstrao que descreve propriedades importantes para uma aplicao e simplesmente ignora o
resto.

Powered by Enderson Neves Cruz

74

Unidade 1 Sistema informatizado


Linguagens de programao

Programao Orientada a Objetos

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

Entidade habilitada a ter um estado (informao) e oferece um determinado nmero de operaes


(comportamentos) que podem examinar ou afetar o estado do objeto. Instncia de uma classe.
Um objeto capaz de armazenar estados atravs de seus atributos e reagir a mensagens enviadas a ele, assim
como se relacionar e enviar mensagens a outros objetos.

Powered by Enderson Neves Cruz

75

Unidade 1 Sistema informatizado


Linguagens de programao

Programao Orientada a Objetos

Pessoa

Classe

Rock star

Astronauta

Pode tocar bateria

Pode pilotar

Motociclista

Bailarina

Pode cultivar bonsais


Pode nadar

Homem

Tho

Pode lutar karat

Atributos

So caractersticas de um objeto.

Mulher

Objetos

Beatriz

Pode controlar robs


Pode nadar (rpido)

Pode lutar karat

Mtodos

Definem as habilidades/comportamentos dos objetos.

a implementao de uma operao para uma classe.

Powered by Enderson Neves Cruz

76

Unidade 1 Sistema informatizado


Linguagens de programao

Programao Orientada a Objetos

Pessoa

Chamar o mtodo
Tho.Lutar_karat

Chamar o mtodo
Beatriz.Controlar_robs

Classe

Rock star

Astronauta

Pode tocar bateria

Pode pilotar

Motociclista

Bailarina

Pode cultivar bonsais


Pode nadar

Homem

Tho

Pode lutar karat

Mulher

Objetos

Beatriz

Pode controlar robs


Pode nadar (rpido)

Pode lutar karat

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.

Powered by Enderson Neves Cruz

77

Unidade 1 Sistema informatizado


Linguagens de programao

Programao Orientada a Objetos


Empresa

Classe

Espacial

NASA

ASSOCIAO
Uma pessoa trabalha para uma empresa

Beatriz trabalha para a NASA


LIGAO

Pessoa

Classe

Mulher

Beatriz

Ligaes e Associaes

Ligaes e associaes so os mecanismos para estabelecer relacionamentos entre objetos e classes.


Ligao uma conexo fsica ou conceitual entre duas instncias de objetos.

Associao descreve um grupo de ligaes com estrutura e semntica comuns.


Uma ligao uma instncia de uma associao.

Powered by Enderson Neves Cruz

78

Unidade 1 Sistema informatizado


Linguagens de programao

Programao Orientada a Objetos


Mulher, morena, astronauta, karateca,
bailarina que nada muito rpido, que
trabalha na NASA controlando robs.

Este conceito foi abstrado


para o que conhecido como
Beatriz

Astronauta
Pode pilotar

Morena

Bailarina

Pode lutar karat


Mulher

Beatriz

Pode controlar robs


Pode nadar (rpido)

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.

Powered by Enderson Neves Cruz

79

Unidade 1 Sistema informatizado


Linguagens de programao

Programao Orientada a Objetos


Chamar o mtodo
Tho.Marcar_show

No necessrio saber que o


Tho karateca e que sabe
nadar para contratar um show.

Rock star
Pode tocar bateria

Motociclista

Pode cultivar bonsais


Pode nadar

Homem

Tho

Pode lutar karat

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.

Powered by Enderson Neves Cruz

80

Unidade 1 Sistema informatizado


Linguagens de programao

Programao Orientada a Objetos

Superclasse
Pessoa

Homem

Mulher

Subclasse

Subclasse
Herana

Permite compartilhar atributos e operaes entre classes baseada em um relacionamento hierrquico.

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.

Powered by Enderson Neves Cruz

81

Unidade 1 Sistema informatizado


Linguagens de programao

Programao Orientada a Objetos

Pessoa

Classe

Pode nadar

Homem

Tho

Pode lutar karat

Mulher

Objetos

Beatriz

Pode nadar (rpido)

Pode lutar karat

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.

Powered by Enderson Neves Cruz

82

Unidade 1 Sistema informatizado


Linguagens de programao

Programao Orientada a Objetos

Processo de desenvolvimento JAVA

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

Powered by Enderson Neves Cruz

83

Unidade 1 Sistema informatizado


Linguagens de programao

Programao Orientada a Objetos

Mltiplas plataformas
Powered by Enderson Neves Cruz

84

Unidade 1 Sistema informatizado


Linguagens de programao

Programao Orientada a Objetos

Powered by Enderson Neves Cruz

85

Unidade 1 Sistema informatizado


Linguagens de programao

Programao Orientada a Objetos

Desvantagens

Vantagens

Mesmas da programao estruturada.

Grande necessidade de memria e processamento.

Tenta simular objetos do mundo real em objetos


computacionais, tornando a tarefa de modelagem e
programao mais simples.

Difcil otimizao de tempo de execuo dos programas.

tida como a melhor estratgia para se eliminar o gap


semntico quando utilizada para a modelagem de
processos.

Busca modelar um ambiente utilizando-se dos


prprios elementos presentes neste ambiente, ou
seja, os objetos.

Grande complexidade de gerenciamento interno das


estruturas dos objetos, o que implica em velocidade de
execuo menor.
O aprendizado inicial bem mais complicado, devido aos
conceitos serem complexos.

Baseia-se fortemente na prpria forma de pensar


humana

Os programas tm uma estrutura altamente modular


(programao modular LEGO), o que permite maior
produtividade:
Facilidade de controle e manuteno
Reutilizao de cdigo

Expanso (Agregao de mdulos prontos)

Fonte: ASCENIO, Ana F. Gomes; CAMPOS, Edilene A. Veneruchi. Fundamentos de Programao de Computadores.
Powered by Enderson Neves Cruz

86

Unidade 1 Sistema informatizado


Linguagens de programao

Programao Orientada a Objetos

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

// temp armazena o prximo

return factorial * factorial-rec(temp);

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

Unidade 1 Sistema informatizado


Linguagens de programao

Programao Orientada a Objetos

Desvantagens

Vantagens

Mesmas da programao estruturada.

Grande necessidade de memria e processamento.

Tenta simular objetos do mundo real em objetos


computacionais, tornando a tarefa de modelagem e
programao mais simples.

Difcil otimizao de tempo de execuo dos programas.

tida como a melhor estratgia para se eliminar o gap


semntico quando utilizada para a modelagem de
processos.

Busca modelar um ambiente utilizando-se dos


prprios elementos presentes neste ambiente, ou
seja, os objetos.

Grande complexidade de gerenciamento interno das


estruturas dos objetos, o que implica em velocidade de
execuo menor.
O aprendizado inicial bem mais complicado, devido aos
conceitos serem complexos.

Baseia-se fortemente na prpria forma de pensar


humana

Os programas tm uma estrutura altamente modular


(programao modular LEGO), o que permite maior
produtividade:
Facilidade de controle e manuteno
Reutilizao de cdigo

Expanso (Agregao de mdulos prontos)

Powered by Enderson Neves Cruz

88

Unidade 1 Sistema informatizado


Linguagens de programao

Programao Orientada a Objetos

Exemplos principais que utilizam este paradigma

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

Powered by Enderson Neves Cruz

89

Powered by Enderson Neves Cruz

Unidade 1 Sistema informatizado


Linguagens de programao

Programao Funcional

Utiliza as linguagens funcionais ou aplicativas

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

Powered by Enderson Neves Cruz

91

Unidade 1 Sistema informatizado


Linguagens de programao

Programao Funcional

Programas consistem em definies de dados e funes.

Programar significa:

Execuo de um programa = Avaliao de expresses

definir funes;

conhecer o comportamento de funes na mquina.

aplicar funes;

Enfoca a ausncia de estados e dados mutveis

Funes no tm efeitos colaterais e so valores de primeira ordem.

Primeiro paradigma ensinado em vrias universidades importantes: MIT, Stanford, Berkeley

Linguagem declarativa

Os mecanismos de controle no programa passam de iterativos a recursivos.

Powered by Enderson Neves Cruz

92

Unidade 1 Sistema informatizado


Linguagens de programao

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;

(defun factorial (n)


(if (<= n 1)

int temp;

factorial = n;

Exemplo
Programa para clculo o fatorial de n
LISP Linguagem funcional

(* n (factorial (- n 1)))))

// temp armazena o prximo

return factorial * factorial-rec(temp);

fatorial(n) = n * fatorial(n-1), para n > 0


Powered by Enderson Neves Cruz

93

Unidade 1 Sistema informatizado


Linguagens de programao

Programao Funcional

Exemplo de trecho de cdigo Linguagem J funcional


A entradas so as funes seno e cosseno

Modelo matemtico de um neurnio

Powered by Enderson Neves Cruz

94

Unidade 1 Sistema informatizado


Linguagens de programao

Programao Funcional

Desvantagens

Vantagens

Manipulao de programas mais simples:

O mundo no funcional!

Transformao (exemplo: otimizao)

Mecanismos primitivos de E/S e formatao

Prova de propriedades

Concorrncia explorada de forma natural

Esforo inicial no-desprezvel


Interface com o usurio

Programao com um alto nvel de abstrao:

alta produtividade

programas mais concisos


menos erros

provas de propriedades sobre programas

Powered by Enderson Neves Cruz

95

Unidade 1 Sistema informatizado


Linguagens de programao

Programao Funcional

Exemplos principais que utilizam este paradigma

LISP (LISt Processing)


Miranda
Haskell
Orwell
ML

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

Powered by Enderson Neves Cruz

96

Unidade 1 Sistema informatizado


Linguagens de programao

Programao Lgica

Programao lgica um paradigma de programao que faz uso da lgica matemtica.


Representar um problema a ser resolvido no computador, consiste
em expressar o problema na forma de lgica simblica.

Tambm chamada programao baseada em regras so linguagens baseada na lgica de


predicados, onde uma srie de regras so definidas para que o programa tome aes apropriadas
para cada estado habilitador.
Programas so relaes entre entrada e sada.

Entrada

Programa

Sada

Powered by Enderson Neves Cruz

97

Unidade 1 Sistema informatizado


Linguagens de programao

Programao Lgica

O Programa uma base de conhecimento a respeito de certo domnio e por perguntas


feitas a essa base de conhecimento, independentemente
Sintaxe

Base de

conhecimento

PERGUNTA

RESPOSTA

Powered by Enderson Neves Cruz

98

Unidade 1 Sistema informatizado


Linguagens de programao

Programao Lgica

Exemplo
PROLOG

papagaio("Ze Carioca").

ave(X) :- papagaio(X).
?- ave("Ze Carioca").

"Z Carioca um papagaio"

FATO

"Todo papagaio uma ave"


ou

Regra

"se X um papagaio, ento X uma ave"

Z Carioca uma ave?

Consulta

Powered by Enderson Neves Cruz

99

Unidade 1 Sistema informatizado


Linguagens de programao

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

// temp armazena o prximo

return factorial * factorial-rec(temp);

fatorial(N1,X1),
X is N * X1.

?- fatorial(3,X).
X=6

fatorial(n) = n * fatorial(n-1), para n > 0


Powered by Enderson Neves Cruz

100

Unidade 1 Sistema informatizado


Linguagens de programao

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

Sistemas Baseados em Conhecimento (SBCs);

Sistemas Especialistas (SEs);

Sistemas de Bases de Dados (BDs);

Processamento da Linguagem Natural (PLN)


Inteligncia Artificial

Powered by Enderson Neves Cruz

101

Unidade 1 Sistema informatizado


Linguagens de programao

Programao Lgica

Desvantagens

Vantagens

Linguagem de programao e de especificao;

Opera de forma no-determinstica;

Capacidade dedutiva;

Eficincia

Baixa expressividade para certas aplicaes

Permite a representao de relaes reversveis;

Interpretao declarativa, procedimental e operacional;


Naturalmente recursiva.

Separao entre lgica de programa e controle


Programas fceis de entender e manter

Powered by Enderson Neves Cruz

102

Unidade 1 Sistema informatizado


Linguagens de programao

Programao Lgica

Exemplos principais que utilizam este paradigma

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/

Powered by Enderson Neves Cruz

103

Unidade 1 Sistema informatizado


Linguagens de programao

Comparativo entre as linguagens


Paradigma LPs
Imperativas

Estruturada

Orientada a objetos

Funcionais
Lgicas

Estrutura

Caracterstica

Programa = objetos + mensagens

Encapsulamento

Programa = fatos + regras

Respostas

Programa = algoritmo + dados

Programa = funes + funes

Modularizao
Raciocnios

Relao de paradigmas

An Empirical Comparison of Seven Programming Languages


Lutz Prechelt - University of Karlsruhe

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

Powered by Enderson Neves Cruz

104

Unidade 1 Sistema informatizado


Introduo

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

Powered by Enderson Neves Cruz

105

Unidade 1 Sistema informatizado


Funcionamento do SO

Sistemas Operacionais

Os programas solicitam servios ao sistema operacional atravs das chamadas de sistema.

So semelhantes s chamadas de sub-rotinas, enquanto as chamadas de sub-rotinas so


transferncias para procedimentos normais do programa, as chamadas de sistema
transferem a execuo para o sistema operacional.
Atravs de parmetros, o programa informa exatamente o que necessita.

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

Parte do sistema operacional responsvel por implementar as chamadas de sistema.

Powered by Enderson Neves Cruz

106

Unidade 1 Sistema informatizado


Funcionamento do SO

Sistemas Operacionais
interpretador de comandos

Recebe comandos do usurio e execut-os.

Mais importante programa de sistema.

Interface grfica de usurio (GUI Graphical User Interface)

ativado pelo sistema operacional sempre que um usurio inicia sua sesso de trabalho.

Programas de sistema (Utilitrios) Programas que implementam tarefas bsicas para a


utilizao do sistema, por exemplo so os utilitrios para manipulao de arquivos (exibir arquivo,
imprimir arquivo, copiar arquivo, renomeararquivo, listar o contedo de diretrio, etc.).
Muitas vezes so confundidos com o prprio sistema operacional.
So executados fora do kernel do sistema operacional.

Eles utilizam as mesmas chamadas de sistema disponveis aos demais programas.

Powered by Enderson Neves Cruz

107

Unidade 1 Sistema informatizado


Sistemas Operacionais

Tarefas do Sistema Operacional

Gerenciamento do processador
Gerenciamento da memria

Gerenciamento de armazenamento

Gerenciamento de dispositivos de entrada e sada

Interface de aplicativos (atendimento a servios de software)


Interface do usurio

Utilitrios e softwares de apoio

Powered by Enderson Neves Cruz

108

Unidade 1 Sistema informatizado


Sistemas Operacionais

Gerenciamento do processador

Garantir que cada processo e aplicativo recebam tempo suficiente do processador


para funcionar corretamente;
Usar quantos ciclos de processador quanto possvel para realizar as tarefas.

A unidade bsica do software com a qual o sistema operacional trabalha para


organizar as tarefas realizadas pelo processador representada pelo processo ou
thread, dependendo do sistema operacional.
Faz as chamadas de sistema, ao executar um programa.

Multitarefa

operating-system-multitask.swf

Sistemas operacionais simtricos e assimtricos

operating-system-asymmetric.swf

operating-system-symmetric.swf

Powered by Enderson Neves Cruz

109

Unidade 1 Sistema informatizado


Sistemas Operacionais

Gerenciamento da memria

Prover os mecanismos necessrios para que os diversos processos compartilhem a memria de


forma segura e eficiente.

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

Powered by Enderson Neves Cruz

110

Unidade 1 Sistema informatizado


Sistemas Operacionais

Gerenciamento da memria

Memria lgica de um processo aquela que o processo capaz de acessar.

Os endereos manipulados pelo processo so endereos lgicos

As instrues de mquina de um processo especificam endereos lgicos.

Memria fsica aquela implementada pelos circuitos integrados de memria.

O endereo fsico aquele usado para enderear os circuitos integrados de memria.

Paginao

Segmentao

Powered by Enderson Neves Cruz

111

Unidade 1 Sistema informatizado


Sistemas Operacionais

Gerenciamento de armazenamento

O sistema de arquivos a parte do sistema operacional mais visvel para os usurios.

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

Sistemas de arquivos implementam um recurso em software que no existe no hardware.

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.

Recurso lgico a partir dos recursos fsicos existentes no sistema computacional.

Powered by Enderson Neves Cruz

112

Unidade 1 Sistema informatizado


Sistemas Operacionais

Gerenciamento de entrada e sada

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

Powered by Enderson Neves Cruz

113

Unidade 1 Sistema informatizado


Sistemas Operacionais

Gerenciamento de entrada e sada

Drivers de dispositivos (device drivers)

Conjunto de mdulos de software implementados


para fornecer os mecanismos necessrios ao
acesso de um dispositivo de entrada e sada
especfico.

O principal objetivo dos drivers de dispositivos


esconder as diferenas entre os vrios
dispositivos de entrada e sada fornecendo
camada superior uma viso uniforme desses
dispositivos atravs de uma interface de
programao nica.

Powered by Enderson Neves Cruz

114

Unidade 1 Sistema informatizado


Sistemas Operacionais

Gerenciamento de entrada e sada

E/S Independente do Dispositivo

A camada de software de E/S independente


do dispositivo implementa procedimentos e
funes gerais a todos os dispositivos de
entrada e sada:

Escalonamento de E/S

Buferizao

Denominao

Cache de dados

Alocao e liberao
Direitos de acesso

Tratamento de erros

Powered by Enderson Neves Cruz

115

Unidade 1 Sistema informatizado


Sistemas Operacionais

Gerenciamento de entrada e sada

Entrada e Sada a Nvel de Usurio

A viso que um usurio possui dos dispositivos


de entrada e sada de um sistema fornecida por
uma interface de programao associada as
bibliotecas de entrada e sada, ou aos ambientes
de desenvolvimento.

O fabricante do compilador de uma linguagem de


programao

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

Powered by Enderson Neves Cruz

116

UNIDADE 2

A Informtica como ferramenta

Powered by Enderson Neves Cruz

Banco de Dados

Referncias

KORTH, Henry F., SILBERSCHATZ, Abraham. Sistema de bancos de dados.

Campus, 2006. 1 Edio. 808p.

DATE, C. J. Introduo a sistemas de bancos de dados.

Campus, 2004. 8 Edio. 900p.

ELMASRI, Ramez; NAVATHE, Shamkant B. Sistema de banco de dados.

Pearson Education do Brasil, 2011. 6 Edio. 790p.

TAKAI, O.K.; ITALIANO I.C.; Ferreira, J.E. Introduo a banco de dados.

IME Universidade de So Paulo, 2005. 1 Edio. 124p.

LIU, Ling; ZSU, M. Tamer (Eds.). Encyclopedia of Database Systems.

Springer US, 2009. 1 Edio. 3849p.

RAMAKRISHNAN, R.; GEHRKE, J.. Database Management Systems.

McGrow-Hill, 2003. 3 Edio. 1098p.

HEUSER, Carlos Alberto. Projeto de Banco de Dados - Volume 4 da Srie Livros Didticos Informtica UFRGS.

Artmed, 2008. 6 Edio. 282p.

PIVA, Gustavo Dibbern; OLIVEIRA, Wilson J.. Informtica, anlise e gerenciamento de dados.

Fundao Padre Anchieta, 2010. 1 Edio. 106p.

Powered by Enderson Neves Cruz

118

Unidade 2 A Informtica como ferramenta


Conceitos

Bancos de dados

Banco de dados - Database

Coleo de dados inter-relacionados, representando informaes sobre um domnio especfico.

Coleo de dados relacionados, referentes a um mesmo assunto e organizados de


maneira til com o propsito de servir de base para que o usurio recupere informaes,
tire concluses e tome decises.

Propriedades implcitas

Representa algum aspecto do mundo real, chamado minimundo ou universo de discurso.


uma coleo logicamente coerente de dados com algum significado inerente.

Uma disposio desordenada de dados no pode ser referenciada como um banco de dados.

Um BD ou DB projetado, construdo e populado com dados para uma finalidade especfica.

Possui grupo definido de usurios e algumas aplicaes concebidas de interesse destes usurios.
Powered by Enderson Neves Cruz

119

Unidade 2 A Informtica como ferramenta


Bancos de dados

Sistema Gerenciador de Banco de dados

Sistema Gerenciador de Banco de dados SGBD


Data Base Management System DBMS

Softwares que permitem a definio de estruturas para armazenamento de informaes e fornecem


mecanismos para manipula-las.
Coleo de programas que permitem aos usurios criarem e manipularem uma base de dados.

Sistema de softwares de propsito geral que facilita o processo de definio, construo,


manipulao e compartilhamento de banco de dados entre diversos usurios e aplicaes.

Powered by Enderson Neves Cruz

120

Unidade 2 A Informtica como ferramenta


Exemplos

Bancos de dados

Powered by Enderson Neves Cruz

121

Unidade 2 A Informtica como ferramenta


Bancos de dados

Sistema Gerenciador de Banco de dados


Compartilhamento

Usurios/Programadores

Permite que diversos usurios e programas acessem o


banco de dados simultaneamente.

Programas de
aplicao/Consultas

Manipulao de um banco de dados

Funes como consulta ao banco de dados para


recuperao de dados especficos, atualizao do banco de
dados para refletir mudanas no universo de discurso
(minimundo) e gerao de relatrios com base nos dados
armazenados

SGBD

Construo de um banco de dados

Processo de armazenar os dados em algum meio que seja


controlado pelo SGBD.

Softwares para processar


Consultas/Programas

Softwares para acessar os


dados armazenados

Definio de um banco de dados

Envolve a especificao de tipos, as estruturas e restries


de dados a serem armazenados na base de dados.

Metadados

A definio ou informao descritiva armazenada


pelo SGBD na forma de catlogo ou dicionrio.

Banco de dados
armazenado

Powered by Enderson Neves Cruz

122

Unidade 2 A Informtica como ferramenta


Sistema de Banco de Dados

Bancos de dados

Transaes (Database transactions)

Usurios/Programadores

Operaes que fazem com que alguns dados sejam lidos e


outros gravados no banco de dados

Programas de
aplicao/Consultas

Consultas (Querys)

Recuperao de dados armazenados, pesquisa utilizada


para todas as iteraes com o banco de dados, incluindo a
modificao de dados.

SGBD

Programas de aplicao

Acesso ao banco de dados para enviar consultas ou


solicitaes de dados ao SGBD.

Softwares para processar


Consultas/Programas

Softwares para acessar os


dados armazenados

ODBC (Open Data Base Connectivity)

Padro para acesso a SGBD. Este padro define um


conjunto de interfaces que permitem o uso de linguagens de
programao capazes de utilizar estas interfaces, para ter
acesso a uma vasta gama de bases de dados distintas sem
a necessidade de codificar mtodos de acesso
especializados.

Metadados

Banco de dados
armazenado

Powered by Enderson Neves Cruz

123

Unidade 2 A Informtica como ferramenta


Sistema de Banco de Dados

Bancos de dados

BD + SGBD = SBD
Sistema de Banco de dados SBD
Data Base System DBS

Usurios/Programadores

Programas de
aplicao/Consultas

SGBD

O conjunto formado por um banco de dados


mais as aplicaes que manipulam o
mesmo.

O objetivo principal de um SBD proporcionar


um ambiente conveniente e eficiente para o
armazenamento e recuperao das informaes
no banco de dados.

Softwares para processar


Consultas/Programas

Softwares para acessar os


dados armazenados

Metadados

Sistema de Banco de dados

Banco de dados
armazenado

Powered by Enderson Neves Cruz

124

Unidade 2 A Informtica como ferramenta


Interdependncia de dados

Bancos de dados

A arquitetura mais difundida na literatura a Three-Schema (tambm conhecida como arquitetura


ANSI/SPARC), proposta por Tsichritzis & Klug em 1978.

A meta desta arquitetura, separar as aplicaes de usurios da base de dados fsica. Nesta
arquitetura, podem existir trs nveis:

Powered by Enderson Neves Cruz

125

Unidade 2 A Informtica como ferramenta


Bancos de dados

Sistema Gerenciador de Banco de dados SGBD


Caractersticas que um SGBD deve possuir

Controlar a redundncia de dados

Restringir o acesso no autorizado


Segurana/Privacidade

Oferecer estruturas de armazenamento e tcnicas de pesquisa eficientes


Backup/Restaurao

Oferecer mltiplas Interfaces do usurio

Representar uma srie de relacionamentos complexos entre dados


Impor restries de integridade

Powered by Enderson Neves Cruz

126

Unidade 2 A Informtica como ferramenta


Usurios

Bancos de dados

Administrador de banco de dados

Projetistas de banco de dados

Usurios finais

Analistas de Sistemas e Programadores de Aplicao

usurios ocasionais

usurios sofisticados

DBA Database Administrator

usurios comuns ou paramtricos

Profissionais de Apoio

Projetistas e Implementadores de SGBD

Operadores de Manuteno

Desenvolvedores de Ferramentas

Powered by Enderson Neves Cruz

127

Unidade 2 A Informtica como ferramenta


Utilitrios de um SGBD

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

Reorganizar um conjunto de arquivos do banco de dados para melhorar o desempenho.


Limpeza, reindexao e compactao de bancos de dados
Monitorao de desempenho

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

Powered by Enderson Neves Cruz

128

Unidade 2 A Informtica como ferramenta


Modelos de dados

Bancos de dados

Coleo de conceitos que descreve a estrutura (tipos, relacionamentos e restries) das


informaes contidas nos bancos de dados.

Modelo hierrquico

Modelo relacional

Modelo em redes

Modelo orientado a objetos.

Powered by Enderson Neves Cruz

129

Unidade 2 A Informtica como ferramenta


Modelos de dados

Bancos de dados

Coleo de conceitos que descreve a estrutura (tipos, relacionamentos e restries) das


informaes contidas nos bancos de dados.

Modelo hierrquico
Modelo em redes

Modelo relacional

Modelo orientado a objetos.

Modelo hierrquico

Os dados so estruturados em hierarquias ou rvores.

Os ns das hierarquias contm ocorrncias de registros, onde


cada registro uma coleo de campos (atributos), cada um
contendo apenas uma informao.

Sem flexibilidade porque a relao se limita a uma relao umpara-muitos.


O registro da hierarquia que precede a outros o registro pai, os
outros so chamados de registros filhos.
Uma ligao uma associao entre dois registros.

Powered by Enderson Neves Cruz

130

Unidade 2 A Informtica como ferramenta


Modelos de dados

Bancos de dados

Coleo de conceitos que descreve a estrutura (tipos, relacionamentos e restries) das


informaes contidas nos bancos de dados.

Modelo hierrquico

Modelo relacional

Modelo em redes

Modelo orientado a objetos.

Modelo em redes

Extenso do modelo hierrquico, eliminando o conceito de


hierarquia e permitindo que um mesmo registro estivesse
envolvido em vrias associaes.
Permite relacionamentos muitos-para-muitos.

No modelo em rede, os registros so organizados em grafos.

Powered by Enderson Neves Cruz

131

Unidade 2 A Informtica como ferramenta


Modelos de dados

Bancos de dados

Coleo de conceitos que descreve a estrutura (tipos, relacionamentos e restries) das


informaes contidas nos bancos de dados.

Modelo hierrquico

Modelo relacional

Modelo em redes

Modelo orientado a objetos.

Modelo relacional

A estrutura fundamental do modelo relacional a relao (tabela).


Uma relao constituda por um ou mais atributos
(campos/colunas) que traduzem o tipo de dados a armazenar.

Ele usa duas dimenses, linhas (registros) e colunas (campos)


para armazenar dados. As tabelas de registros podem ser
conectadas por valores comuns fundamentais (relacionamentos).
Aumenta a independncia de dados nos sistemas gerenciadores
de banco de dados.

Prover um conjunto de funes apoiadas em lgebra relacional


para armazenamento e recuperao de dados
O Modelo relacional revelou ser o mais flexvel e adequado ao
solucionar os vrios problemas no nvel da concepo e
implementao da base de dados.

Powered by Enderson Neves Cruz

132

Unidade 2 A Informtica como ferramenta


Modelos de dados

Bancos de dados

Coleo de conceitos que descreve a estrutura (tipos, relacionamentos e restries) das


informaes contidas nos bancos de dados.

Modelo hierrquico

Modelo relacional

Modelo em redes

Modelo orientado a objetos

Modelo orientado a objetos

A estrutura orientada a objeto tem a capacidade de lidar com


grficos, imagens, voz e texto, tipos de dados, sem dificuldade, ao
contrrio das outras estruturas de banco de dados.
Esta estrutura popular para multimdia aplicativos baseados na
Web.
Ele foi projetado para trabalhar com linguagens de programao
orientada a objeto como Java.

Powered by Enderson Neves Cruz

133

Unidade 2 A Informtica como ferramenta


Bancos de dados

Projeto de um banco de dados


Levantamento
e anlise de
requisitos

Definies quais dados a serem armazenados


Envolvimento do usurio final

Projeto
Conceitual

Refere-se ao modelo inicial abstrato


Reflete as necessidades do usurio
No estabelece a maneira como os dados
esto armazenados a nvel de SGBD.
Utiliza MER ou UML

Projeto
Lgico

Projeto
Fsico

Registra como os dados sero armazenados a


nvel de SGBD.
Estabelece como o modelo conceitual ser
implementado em um SGBD especfico.

Definem como os dados so armazenados


fisicamente no SGBD,
Visa otimizar a performance do BD.
Linguagens e notaes no so padronizadas
e variam de produto a produto.

Powered by Enderson Neves Cruz

134

Unidade 2 A Informtica como ferramenta


Bancos de dados

Modelagem ou projeto conceitual de um banco de dados


O objetivo da modelagem conceitual obter uma descrio abstrata, independente de
implementao em computador, dos dados que sero armazenados no banco de dados.

As tcnicas mais utilizadas de modelagem de dados so:


Modelo Entidade-Relacionamento (MER)

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. .

Powered by Enderson Neves Cruz

135

Unidade 2 A Informtica como ferramenta


Bancos de dados

Modelo entidade-relacionamento (MER)

Tcnica de modelagem de dados mais difundida e utilizada a abordagem EntidadeRelacionamento (ER).


Mesmo as tcnicas de modelagem orientada a objetos (UML) que tm surgido nos ltimos anos
baseiam-se nos conceitos da abordagem ER.
Produz um diagrama fcil de ser entendido pelo usurio final.

O modelo de dados representado atravs de um Modelo entidade-relacionamento (MER).

Diagrama Entidade Relacionamento (DER)


a representao grfica de um MER.

Powered by Enderson Neves Cruz

136

Unidade 2 A Informtica como ferramenta


Bancos de dados

Modelo entidade-relacionamento (MER)


Smbolo
Entidade

Significado

Conceito

Entidade

Conjunto de objetos da realidade modelada (objetos do


mundo real: um ser, um fato, coisa, organismo social,
etc.) sobre os quais deseja-se manter informaes no
banco de dados.

Relacionamento

Conjunto de associaes entre entidades


Associao (agregao) existente entre elementos de
entidades

Atributo

Dado que associado a cada ocorrncia de uma


entidade ou de um relacionamento.
Representam propriedades elementares das entidades
e/ou dos relacionamentos.

Cardinalidade

Nmero (mnimo, mximo) de ocorrncias de entidade


associadas a uma ocorrncia da entidade em questo
atravs do relacionamento

Retngulo rotulado com o nome da entidade


Elemento
associador
Losango rotulado com o nome da associao
Rtulo

Rtulo

Segmento de reta rotulado com o nome do


atributo em uma de suas extremidades.
11

1N

NN

(0, 1) (0, 1)

(0, 1) (1, N)

(1, N) (0, N)

0 = opcional 1 = obrigatria.

Powered by Enderson Neves Cruz

137

Unidade 2 A Informtica como ferramenta


Bancos de dados

Modelo entidade-relacionamento (MER)

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

A cardinalidade mnima tambm


conhecida como PARTICIPAO:
0 = participao opcional

1 = participao obrigatria.

Disciplinas

Mulher

Powered by Enderson Neves Cruz

138

Unidade 2 A Informtica como ferramenta


Bancos de dados

Modelo entidade-relacionamento (MER)

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

Powered by Enderson Neves Cruz

139

Unidade 2 A Informtica como ferramenta


Bancos de dados

Modelo entidade-relacionamento (MER)

Entidades

Atributos

Identificadores

Relacionamentos

Cardinalidade

Powered by Enderson Neves Cruz

140

Unidade 2 A Informtica como ferramenta


Bancos de dados

Modelo entidade-relacionamento (MER)


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

Powered by Enderson Neves Cruz

141

Unidade 2 A Informtica como ferramenta


Bancos de dados

Modelo entidade-relacionamento (MER)

Entidades

Atributos

Identificadores

Relacionamentos

Cardinalidade

Powered by Enderson Neves Cruz

142

Unidade 2 A Informtica como ferramenta


Bancos de dados

Modelo entidade-relacionamento (MER)


N
Nmero paciente
Nome
Data Nascimento
Sexo
Estado civil
RG
Endereo
Telefone
Cdigo convnio

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

Powered by Enderson Neves Cruz

143

Unidade 2 A Informtica como ferramenta


SGBD Relacional

Bancos de dados

Um banco de dados relacional organiza seus dados em relaes.

Um conceito importante em um banco de dados relacional o conceito de atributo chave


(ndice), que permite identificar e diferenciar uma tupla de outra.

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.

Atravs do uso de chaves possvel acelerar o acesso a elementos e estabelecer


relacionamentos entre as mltiplas tabelas de um sistema de banco de dados relacional
(SGBDR).

Principais motivos do sucesso

Viso de dados organizados em tabelas oferece um conceito simples e familiar para a


estruturao dos dados

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).

Powered by Enderson Neves Cruz

144

Unidade 2 A Informtica como ferramenta


Bancos de dados

SGBD Relacional Principais objetos

Tabelas
Vises

ndices e Chaves

Powered by Enderson Neves Cruz

145

Unidade 2 A Informtica como ferramenta


SGBD Relacional Tabelas

Bancos de dados
Tabela - Table

Objeto criado para armazenar os dados fisicamente.

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

Corresponde aos elementos


da relao

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

Powered by Enderson Neves Cruz

146

Unidade 2 A Informtica como ferramenta


Bancos de dados

SGBD Relacional Vises (Views)

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.

Powered by Enderson Neves Cruz

147

Unidade 2 A Informtica como ferramenta


Bancos de dados

SGBD Relacional Vises (Views)


A

Tabela
B

Viso
B

Viso idntica

Tabela
B

Tabela
B

Viso

Viso por seleo de colunas

Viso
B

Viso por seleo de linhas (filtro por critrio)

Tabela

Viso

Viso por seleo de linhas e colunas


Powered by Enderson Neves Cruz

148

Unidade 2 A Informtica como ferramenta


Bancos de dados

SGBD Relacional Vises (Views)


A

Tabela 1
B

Tabela 2
X

Viso

Viso por juno de tabelas

Powered by Enderson Neves Cruz

149

Unidade 2 A Informtica como ferramenta


Bancos de dados

SGBD Relacional ndices e Chaves

Chaves Keys

Uma chave um conjunto de um ou mais atributos que determinam a unicidade de cada registro.
Chave Estrangeira (FK - Foreign Key)

Chave primria (PK - Primary Key)

Chave formada atravs de um relacionamento


com a chave primria de outra tabela.

Chave que identifica cada registro dando-lhe


unicidade.

Define um relacionamento entre as tabelas e


pode ocorrer repetidas vezes.

A chave primria nunca se repetir


No pode ter valor nulo.
Se for composta no pode ser redundante.

Caso a chave primria seja composta na


origem, a chave estrangeira tambm o ser.

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

Powered by Enderson Neves Cruz

150

Unidade 2 A Informtica como ferramenta


SGBD Relacional

Bancos de dados

Powered by Enderson Neves Cruz

151

Unidade 2 A Informtica como ferramenta


SGBD Interao

Bancos de dados

Interfaces baseadas em menu para clientes WEB e de navegao


Interfaces baseadas em formulrios/relatrios

Ferramentas para o desenvolvimento de formulrios (forms) e relatrios (reports).


Exemplos: oracle Forms e Crystal Reports

Interface grficas com o usurio

Interfaces em linguagem natural

Interfaces para usurios paramtricos

GUI apresentando um esquema para o usurio em formato de diagrama (Ex: Bussiness


Objects)

Entrada e sada de voz

Pequeno conjunto de operaes que presam realizar repetidamente

Interfaces para o DBA

Powered by Enderson Neves Cruz

152

Unidade 2 A Informtica como ferramenta


SGBD Interao

Bancos de dados

XML (eXtensible Markup Language)


Linguagem de marcao recomendada pela World Wide Web Consortium (W3C) para a criao de
documentos com dados organizados hierarquicamente, tais como textos, banco de dados ou
desenhos vetoriais.
O objetivo principal facilitar o compartilhamento de informaes atravs da internet.
Princpios importantes:

Separao do contedo da formatao


Simplicidade e legibilidade, tanto para humanos quanto para computadores
Possibilidade de criao de tags sem limitao
Criao de arquivos para validao de estrutura (chamados DTDs)
Interligao de bancos de dados distintos
Concentrao na estrutura da informao, e no na sua aparncia

Powered by Enderson Neves Cruz

153

Unidade 2 A Informtica como ferramenta


Bancos de dados

Cases

Exemplo do banco de funcionrios

Relacionamentos

Consultas

Conferncia de Tarifao

Interface

Carga de arquivos

Interface com o usurio

Empresa XXX

Banco de dados antigo

Powered by Enderson Neves Cruz

154

Unidade 2 A Informtica como ferramenta


Bancos de dados

Cases

Exemplo do banco de funcionrios

Relacionamentos

Consultas

Conferncia de Tarifao

Interface

Carga de arquivos

Interface com o usurio

Empresa XXX

Banco de dados antigo

Powered by Enderson Neves Cruz

155

Unidade 2 A Informtica como ferramenta


Bancos de dados

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

Powered by Enderson Neves Cruz

156

Unidade 2 A Informtica como ferramenta


Bancos de dados

Cases

Apropriao

Relacionamentos

Consultas

ODBC

Ocorrncias e Fechamento de Ciclos

Interface

Carga de arquivos

Interface com o usurio

Simulador

Carga de arquivos

Interface com o usurio


Powered by Enderson Neves Cruz

157

UNIDADE 3

Tipos de Software para Engenharia e Indstria

Powered by Enderson Neves Cruz

Referncias

Tipos de Software para Engenharia e Indstria


ERP

DAVENPORT, Thomas H. Living with ERP.

CIO Magazine, 1998.

WALLACE, Thomas F. ERP: Making It Happen.

SOUZA, Cesar A.; ZWICKER, Ronaldo. Ciclo de vida de sistemas ERP..

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/

John Wiley & Sons, 2001. 1 Edio. 385p.

Caderno de pesquisas em Administrao V.1, N 11. So Paulo, 2000. 12p.


Idea Group Publishing . 2002. 295p.

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

Powered by Enderson Neves Cruz

159

Referncias

Simuladores de circuitos eletrnicos e desenho de PCB


PROTEUS

Labcenter Electronics http://www.labcenter.com


Cursos sobre o PROTEUS

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

PROTEUS Tutorial Bsico Parte 2 http://www.youtube.com/watch?v=WuDly9fgX38&feature=related


Apostilas FATECSBC

Criao de componentes no Proteus PICTRONICS


NI Multisim: http://www.ni.com/multisim/
ORCAD: http://www.cadence.com/products/orcad/
Cadsoft Eagle: http://www.cadsoftusa.com/

Powered by Enderson Neves Cruz

160

Unidade 3 Softwares para Engenharia e Indstria


Tipos de softwares

Softwares comerciais

Softwares industriais

Sistemas Integrados de gesto (ERP)


Softwares para simulaes
Softwares inteligentes

Powered by Enderson Neves Cruz

161

Unidade 3 Softwares para Engenharia e Indstria


Softwares comerciais

Finanas

Planejamento e Controle da Produo

Contabilidade

Recursos Humanos
Custos

Vendas

Marketing

Powered by Enderson Neves Cruz

162

Unidade 3 Softwares para Engenharia e Indstria


Softwares comerciais

Utilizao RFID - Radio-Frequency IDentification

http://www.youtube.com/watch?v=oHKcDTY2v7s

Powered by Enderson Neves Cruz

163

Unidade 3 Softwares para Engenharia e Indstria


Conceitos

ERP Enterprise Resource Planning

Sistemas Integrados de Gesto Empresarial


Planejamento de recursos empresariais

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.

Powered by Enderson Neves Cruz

164

Unidade 3 Softwares para Engenharia e Indstria


Conceitos

ERP Enterprise Resource Planning

(SOUZA & ZWICKER, 2000)

Sistemas de informao integrados, adquiridos em


forma de pacotes comerciais para suportar a maioria
das operaes de um empresa.

Procuram atender a requisitos genricos do maior


nmero possvel de empresas incorporando modelos
de processos de negcios (best practices) obtidos pela
experincia acumulada das empresas fornecedoras
em repetidos processos de implantao, ou so
elaborados por empresas de consultorias e pesquisa
em processos de benchmarketing.

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

Powered by Enderson Neves Cruz

165

Unidade 3 Softwares para Engenharia e Indstria


ERP Enterprise Resource Planning

Evoluo histrica

2000s
1990s

Extended ERP
Enterprise Resource Planning
(ERP)

1980s

Manufacturing Resource Planning (MRP II)


Planejamento dos Recursos de Fabricao

1970s

Material Requirements Planning (MRP)


Planejamento de Necessidades de Materiais

1960s

Inventory Control Packages


Pacotes de Controle de Inventrio

Powered by Enderson Neves Cruz

166

Unidade 3 Softwares para Engenharia e Indstria


Concepo

ERP Enterprise Resource Planning


Front-Office

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

Powered by Enderson Neves Cruz

167

Unidade 3 Softwares para Engenharia e Indstria


Conceitos

ERP Enterprise Resource Planning


Gesto dos
Recursos Humanos

Gesto de
Relacionamento com o Cliente

Gesto dos
Recursos Financeiros

Gesto da
Cadeia de Suprimentos

Planejamento dos
Recursos de Fabricao

Powered by Enderson Neves Cruz

168

Unidade 3 Softwares para Engenharia e Indstria


ERP Enterprise Resource Planning

Principais ERPs do mercado

Powered by Enderson Neves Cruz

169

Unidade 3 Softwares para Engenharia e Indstria


Vantagens

ERP Enterprise Resource Planning

Eliminar o uso de interfaces manuais

Otimizar o fluxo da informao e a qualidade da mesma dentro da organizao (eficincia)

Reduzir custos

Otimizar o processo de tomada de deciso


Eliminar a redundncia de atividades

Reduzir os limites de tempo de resposta ao mercado

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

Powered by Enderson Neves Cruz

170

Unidade 3 Softwares para Engenharia e Indstria


Desvantagens

ERP Enterprise Resource Planning

A utilizao do ERP por si s no torna uma empresa verdadeiramente integrada;

Dependncia do fornecedor do pacote;

Altos custos que muitas vezes no comprovam a relao custo/benefcio;

Adoo de melhores prticas aumenta o grau de imitao e padronizao entre as empresas de


um segmento;
Torna os mdulos dependentes uns dos outros, pois cada departamento depende das informaes
do mdulo anterior, por exemplo. Logo, as informaes tm que ser constantemente atualizadas,
uma vez que as informaes so em tempo real, ocasionando maior trabalho;
Aumento da carga de trabalho dos servidores da empresa e extrema dependncia dos mesmos;

Powered by Enderson Neves Cruz

171

Unidade 3 Softwares para Engenharia e Indstria


ERP Enterprise Resource Planning

Fatores crticos de sucesso para um projeto de TI


1.

Envolvimento do Usurio

3.

Definio clara de necessidades

2.
4.
5.
6.
7.
8.
9.

Apoio da direo

Planejamento adequado
Expectativas realistas

Paradoxo de Cobb

"We know why projects fail, we know how to


prevent their failure -- so why do they still fail?"
Martin Cobb

Treasury Board of Canada Secretariat

Marcos intermedirios
Equipe competente
Comprometimento

Viso e objetivos claros

10. Equipe dedicada (War room)


11. Infraestrutura adequada

Fonte: Unfinished Voyages I - The Standish Group International - 1995

Powered by Enderson Neves Cruz

172

Unidade 3 Softwares para Engenharia e Indstria


ERP Enterprise Resource Planning

Case Ferrovia Centro-Atlntica S.A.

Primeira ferrovia o mundo a implantar, utilizando do mdulo PP (Produo) para controle


do trfego ferrovirio.
Utilizao do mdulo PM (Manuteno) para controle dos servios de manuteno tanto da
Manuteno mecnica (Locomotivas, vages, etc.) quanto da Via Permanente (linhas, obras de
arte, etc.).
Principais desafios:

Mudana cultural

Auto ndice de customizao de alguns mdulos (PP)


Integrao com sistema de controle de trfego
Extenso territorial

Controle dos ativos

Powered by Enderson Neves Cruz

173

Unidade 3 Softwares para Engenharia e Indstria


Softwares de simulao

Simuladores de circuitos eletrnicos e desenho de PCB

Simulador interativo de circuitos (SPICE - Simulated Program with Integrated Circuits Emphasis).

Amplo suporte para os vrios tipos fontes de alimentao e sinais.

Sadas dentro dos padres da indstria CAD/CAM & ODB++.

Ampla quantidade de modelos de dispositivos analgicos e digitais.


Possibilidade de criao de componentes.

Simulao de microprocessadores/microcontroladores de diversos fabricantes.

Simulao em tempo real permitindo a visualizao da interao do cdigo com o hardware.


Funcionar com compiladores e montadores populares.

Modelos interativos de perifricos displays, teclados, etc.


Visualizador integrado em 3D.

Captura automtica do esquemtico.


Autorouter.

Regras de projeto configurveis e flexveis.

Powered by Enderson Neves Cruz

174

Unidade 3 Softwares para Engenharia e Indstria


Softwares de simulao

Simuladores de circuitos eletrnicos e desenho de PCB

Powered by Enderson Neves Cruz

175

Unidade 3 Softwares para Engenharia e Indstria


Softwares de simulao

Simuladores de circuitos eletrnicos e desenho de PCB

Fonte: Proteus Product Guide


Powered by Enderson Neves Cruz

176

Unidade 3 Softwares para Engenharia e Indstria


Softwares de simulao

Ambientes de desenvolvimento complexos

Powered by Enderson Neves Cruz

177

Unidade 3 Softwares para Engenharia e Indstria


Outros softwares teis

Designer 3D

Softwares de simulao

Hidrulica e Pneumtica

Simulao PLC

Powered by Enderson Neves Cruz

178

UNIDADE 4

Inteligncia Artificial

Powered by Enderson Neves Cruz

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.

Aulas do professor George Luger http://www.cs.unm.edu/~luger/cs427/videos/cs_427_527_spring_09/videos.html

Laboratrio MIT http://www.csail.mit.edu/

Aulas da Stanford University https://www.ai-class.com/accessibility

Powered by Enderson Neves Cruz

180

Unidade 4 Inteligncia Artificial


AI - Artificial Intelligence

O que AI?

Marvin Minsky, The Society of Mind, 1985


O ato de forar definies para as coisas que ns no entendemos geralmente causa mais danos
do que benefcios. Alm disso, apenas em lgica e matemtica que as definies detm
perfeitamente os conceitos.
As coisas com as quais lidamos na vida prtica so frequentemente muito complicadas para
permitirem uma representao clara baseada em expresses compactas.
Em todo caso, no podemos nos privar de buscar uma definio para as coisas, no sentido de
entender o que elas so.

Powered by Enderson Neves Cruz

181

Unidade 4 Inteligncia Artificial


O que AI?

Inteligncia

O que inteligncia?

Artificial

Tudo o que feito pelo homem.

De forma genrica, que um sistema inteligente


aquele que apresenta capacidade mental para:
Raciocinar
Planejar

Resolver problemas
Abstrair ideias

Armazenar conhecimento

Comunicar-se atravs de uma linguagem


Aprender

A inteligncia o que voc usa


quando no sabe o que fazer.
Jean Piaget

Powered by Enderson Neves Cruz

182

Unidade 4 Inteligncia Artificial


O que AI?

Sistemas que pensam racionalmente

O novo e interessante esforo para fazer


computadores pensarem... mquinas com mentes, no
sentido total e literal. (Haugeland, 1985)

O estudo de faculdades mentais pelo uso de modelos


computacionais. (Charniak e McDermott, 1987)

[Automao de] atividades que associamos ao


pensamento humano, atividades como a tomada de
decises, a resoluo de problemas, o aprendizado...
(Bellman, 1978)

O estudo das computaes que tornam possvel


perceber, raciocinar e agir. (Winston, 1992)

Modelagem cognitiva

Leis do pensamento: lgica matemtica

A arte de criar mquinas que executam funes que


exigem inteligncia quando executadas por pessoas.
(Kurzweil, 1990)

A Inteligncia Computacional o estudo do projeto de


agentes inteligentes. (Poole et al., 1998)

O estudo de como fazer os computadores realizarem


tarefas as quais, at o momento, as pessoas fazem
melhor. (Rick e Knight, 1994)

AI ... est preocupado com o comportamento


inteligente em mquinas. (Nilson, 1998)

Teste de Turing

Agentes racionais

Sistemas que agem como humanos

Cincia emprica
Hipteses e confirmao experimental

Sistemas que agem racionalmente

Racionalidade

Fidelidade ao comportamento humano

Sistemas que pensam como humanos

Abordagem racionalista
Combinao de engenharia e matemtica
Powered by Enderson Neves Cruz

183

Unidade 4 Inteligncia Artificial


O que AI?

Sistemas que pensam racionalmente

O novo e interessante esforo para fazer


computadores pensarem... mquinas com mentes, no
sentido total e literal. (Haugeland, 1985)

O estudo de faculdades mentais pelo uso de modelos


computacionais. (Charniak e McDermott, 1987)

Modelagem cognitiva

Leis do pensamento: lgica matemtica

A arte de criar mquinas que executam funes que


exigem inteligncia quando executadas por pessoas.
(Kurzweil, 1990)

A Inteligncia Computacional o estudo do projeto


de agentes inteligentes. (Poole et al., 1998)

O estudo de como fazer os computadores realizarem


tarefas as quais, at o momento, as pessoas fazem
melhor. (Rick e Knight, 1994)

AI... est preocupado com o comportamento


inteligente em mquinas. (Nilson, 1998)

Teste de Turing

Agentes racionais

[Automao de] atividades que associamos ao


pensamento humano, atividades como a tomada de
decises, a resoluo de problemas, o aprendizado...
(Bellman, 1978)

O estudo das computaes que tornam possvel


perceber, raciocinar e agir. (Winston, 1992)

Sistemas que agem como humanos

Sistemas que agem racionalmente

Cincia emprica
Hipteses e confirmao experimental

Racionalidade

Fidelidade ao comportamento humano

Sistemas que pensam como humanos

Abordagem racionalista
Combinao de engenharia e matemtica
Powered by Enderson Neves Cruz

184

Unidade 4 Inteligncia Artificial


AI - Artificial Intelligence

O que AI?

Barr & Feigenbaum (1981)

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.

Nils Nilsson (1982)

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.

Nilson & Genesereth (1987)

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.

Elaine Rich & Kevin Knight (1993)

Inteligncia Artificial o estudo de como fazer os computadores realizarem coisas que, no momento, as pessoas
fazem melhor.

Powered by Enderson Neves Cruz

185

Unidade 4 Inteligncia Artificial


Sistemas que agem como humanos

Teste de Turing

Ser que as mquinas no poderiam realizar algo que deveria


ser descrito como pensar mas que muito diferente do que um
ser humano faz? Esta objeo muito forte, mas ao menos
podemos dizer que se, contudo, uma mquina puder ser
construda para jogar o jogo da imitao satisfatoriamente, ns
no precisamos nos preocupar com essa objeo.

Teste de Touring

Oferece definio operacional satisfatria do que inteligncia.

A mquina (computador) passar no teste se um interrogador


humano, depois de propor algumas perguntas, no conseguir
descobrir quem se as respostas vem de um ser humano ou no.

Alan Turing (1912 1954)

Alan Turing

http://www.ufrgs.br/alanturingbrasil2012/expo.html
Documentrio Breaking the code

Mquina de Turing: http://plato.stanford.edu/entries/turing-machine/

Powered by Enderson Neves Cruz

186

Unidade 4 Inteligncia Artificial


Sistemas que agem como humanos

Teste de Turing

Teste proposto por Alan Turing em 1950 no artigo "Computing Machinery and Intelligence"

Blade Runner , Warner Bros. (1982)

Powered by Enderson Neves Cruz

187

Unidade 4 Inteligncia Artificial


Sistemas que agem como humanos

Teses de Ai Fraca e AI Forte

"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.

Powered by Enderson Neves Cruz

188

Unidade 4 Inteligncia Artificial


Sistemas que agem como humanos

Teste de Turing

Teste de Touring Requisitos da mquina (computador)

Processamento de linguagem natural permitir a comunicao em idioma natural.

Raciocnio automtico responder perguntas, chegar a novas concluses.

Representao de conhecimento armazenar o que sabe e ouve.

Aprendizagem de mquina adaptar novas circunstncias, reconhecer e extrapolar padres.

A interao fsica direta entre o interrogador e o computador foi evitada deliberadamente, pois a
simulao fsica de uma pessoa desnecessria para a inteligncia.

Teste de Touring Total

Permite ao interrogador testar as habilidades de percepo do assunto e oferece a


oportunidade de repassar objetos fsicos pela tela.
Requisitos da mquina (computador)

Viso computacional perceber objetos.

Robtica manipular e movimentar objetos.

Powered by Enderson Neves Cruz

189

Unidade 4 Inteligncia Artificial


Sistemas que agem como humanos

Teste de Turing

Infelizmente, no existem ainda mecanismos sistemticos para se medir o grau de atendimento


das qualificaes exigidas para inteligncia por parte de sistemas artificiais.
Da a relevncia da proposta de Turing, pois o teste se baseia na impossibilidade de distino
entre entidades inegavelmente inteligentes, os seres humanos.
Atualmente, proposta do teste se encontra difundida na forma de chatterbots.

http://www.alicebot.org/

ELIZA - Psicanalista virtual


Joseph Weizenbaum (MIT) 1966

http://www-ai.ijs.si/eliza/eliza.html

http://www.simonlaven.com/
http://www.inbot.com.br/sete/

http://www.ed.conpet.gov.br/

Powered by Enderson Neves Cruz

190

Unidade 4 Inteligncia Artificial


Sistemas que agem como humanos

Sala chinesa de Searle

John Rogers Searle (1991)

Diversos cestos com ideogramas


chineses esto na sala, assim
como um livro de regras, escrito
em ingls, de como combinar os
ideogramas chineses.

Estou apenas manipulando riscos e


rabiscos para produzir um texto de lngua
chinesa. Mas eu no entendo chins.
Este livro de regras est em Ingls.

Entrada

Quem ou o que est dentro desta


sala um profundo conhecedor de
chins.

Operador

O operador recebe por uma abertura de entrada uma sequncia de


ideogramas chineses e, consultando o livro de regras, combina esses
ideogramas de entrada e alguns que esto nos cestos, compondo uma nova
sequncia. Esta nova sequncia ento passada por uma abertura de sada.

Embora o operador no saiba, ele


est respondendo a perguntas no
idioma chins.

Powered by Enderson Neves Cruz

191

Unidade 4 Inteligncia Artificial


Sistemas que agem como humanos

Sala chinesa de Searle

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.

Concluso: os computadores, por serem mquinas sintticas, podem substituir o operador.

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

Computadores nunca podem pensar, porque pensar envolve semntica.


Com isso, computadores nunca podero ser inteligentes.

Powered by Enderson Neves Cruz

192

Unidade 4 Inteligncia Artificial

Sistemas que pensam como humanos

Cincia da cognio: modelagem cognitiva

Para afirmar que um computador pensa como um ser


humano, temos que responder uma pergunta:

Como ns pensamos ?

Duas abordagens:

Introspeco captando nossos prprios pensamentos a medida que eles se desenvolvem.


Experimentos psicolgicos

Cincia Cognitiva

Campo interdisciplinar que rene modelos computacionais da IA e


tcnicas experimentais da psicologia para tentar construir teorias
precisas e verificveis a respeito dos processos de funcionamento da
mente humana.
Powered by Enderson Neves Cruz

193

Unidade 4 Inteligncia Artificial


Sistemas que pensam racionalmente

Leis do pensamento

Aristteles

Primeiro a tentar codificar o pensamento correto,


isto , processos de raciocnio irrefutveis.
Silogismo

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).

Exemplo: Scrates um homem; todos os homens so mortais; ento Scrates mortal.

Essas leis propostas por Aristteles deram origem a um campo de estudo chamado Lgica.
Representao do mundo atravs de proposies lgicas e inferncias corretas.

Powered by Enderson Neves Cruz

194

Unidade 4 Inteligncia Artificial


Sistemas que pensam racionalmente

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.

Powered by Enderson Neves Cruz

195

Unidade 4 Inteligncia Artificial


Sistemas que agem racionalmente

Um agente pode ser considerado uma entidade que percebe o ambiente atravs de seus sensores
e age atravs de atuadores.

Exemplos:

Seres Humanos: Viso, tato, etc... / Mos, pernas, etc...


Robs: Cmera, laser, etc... / Motores para atuao

Agente de Software: Input (teclado, mouse, rede) / Output (tela, rede, etc...)
Atributos esperados de um Agente Computacional

Controle autnomo

Percepo do ambiente

Persistncia por um perodo de tempo prolongado


Adaptao a mudanas

Capacidade de assumir metas de outros

Powered by Enderson Neves Cruz

196

Unidade 4 Inteligncia Artificial


Agente racional

Sistemas que agem racionalmente

Racionalidade

Fazer a coisa certa.

Agente Racional

aquele que age para alcanar o melhor


resultado ou, quando h incerteza, o melhor
resultado esperado.

Engloba e amplia a abordagem logicista..

Nem sempre a deciso de uma ao o resultado de um raciocnio.

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.

Vantagens desta abordagem:

Mais geral que a logicista.

Mais acessvel ao desenvolvimento cientfico do que as estratgias baseadas em no


comportamento ou pensamento humano.
Powered by Enderson Neves Cruz

197

Unidade 4 Inteligncia Artificial


Definio pragmtica

O que AI?

Campo da cincia e engenharia de computao que procura reproduzir, por meios


computacionais, caractersticas normalmente atribudas inteligncia humana, como:
Capacidade de resolver problemas
Induo e deduo lgica
Raciocnio

Aprendizagem
Viso

Compreenso de linguagem

Rational Agent Approach: Russell and Norvig, 2010

Powered by Enderson Neves Cruz

198

Unidade 4 Inteligncia Artificial

Powered by Enderson Neves Cruz

199

Unidade 4 Inteligncia Artificial


Fundamentos

Filosofia
Matemtica
Economia

Inteligncia
Artificial

Neurocincia
Psicologia
Engenharia de
computadores
Teoria de controle
e ciberntica
Lingustica

Powered by Enderson Neves Cruz

200

Unidade 4 Inteligncia Artificial


Fundamentos

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.

Regras formais podem ser usadas para obter concluses


vlidas?
Como a mente surge do crebro fsico?
De onde vem o conhecimento?
Como o conhecimento produz a ao?
Principais referncias

Silogismo (Aristteles, 384322 A.C.)


Dualismo (Descartes, 1596650)
Materialismo
Empirismo (Bacon, 15611626)
Induo (Hume, 17111776)
Positivismo lgico (Carnap, 18911970)
Programa GPS (Newell and Simon, 1961)

Powered by Enderson Neves Cruz

201

Unidade 4 Inteligncia Artificial


Fundamentos

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.

Quais so as regras formais para se obter concluses


vlidas?
O que pode ser computado?
Como raciocinar com informao incerta e imprecisa?
Principais referncias

Lgica proposicional ou booleana (Boole, 1847)


Algoritmo (al-Khowarazmi, sculo 9, Euclides)
Teorema da incompletude (Gdel, 19061978)
Mquina de Turing
Intratabilidade (Cobham, 1964; Edmonds, 1965))
NP-completeness (Cook, 1971; Karp 1972)
Probabilidade (Cardano, 15011576)
Fuzzy sets (Zadeh, 1965)

Powered by Enderson Neves Cruz

202

Unidade 4 Inteligncia Artificial


Fundamentos

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.

Como decidir para maximizar o benefcio (lucro)?


Como decidir desta forma quando outros no fazem o
mesmo (no nos acompanham)?
Como decidir quando o benefcio vem a longo prazo (o lucro
pode estar distante no futuro)?
Principais referncias

Utilidade (Walras, 18341910)


Teoria dos Jogos (von Neumann e Morgenstern, 1944)
Teoria de deciso = Teoria probabilidade + Teoria Utilidade
Pesquisa Operacional baseado na Programao dinmica
(Bellman, 1957)
Decises satisfatrias (Simon, 19162001)

Lingustica

Powered by Enderson Neves Cruz

203

Unidade 4 Inteligncia Artificial


Fundamentos

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.

Como o crebro processa informaes?


Principais referncias

Regies funcionais de crebro (Broca, 18241880)


Neurnios (Golgi, 18431926; Cajal, 18521934)

Engenharia de
computadores
Teoria de controle
e ciberntica
Lingustica

Powered by Enderson Neves Cruz

204

Unidade 4 Inteligncia Artificial


Fundamentos

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.

Como humanos e animais pensam e atuam?


Principais referncias

Behaviorismo (Watson, 18781958)


Psicologia cognitiva (Willian James, 18421910)
Cincia cognitiva (MIT, 1956)
Agente baseado em conhecimento (Craik, 1943)

Engenharia de
computadores
Teoria de controle
e ciberntica
Lingustica

Powered by Enderson Neves Cruz

205

Unidade 4 Inteligncia Artificial


Fundamentos

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.

Como construir um computador eficiente?


Principais referncias

ABC, ENIAC (Atanasoff, 1940/2; Mauchly and Eckert, 1942)


Programao (Zuse, 1941)
Linguagens
Sistemas operacionais
Estruturas dados
Orientao a objetos

Teoria de controle
e ciberntica
Lingustica

Powered by Enderson Neves Cruz

206

Unidade 4 Inteligncia Artificial


Fundamentos

Filosofia
Matemtica
Economia

Inteligncia
Artificial

Neurocincia
Psicologia
Engenharia de
computadores

Teoria de controle e ciberntica


(a partir de 1948)
Fornece ferramentas que lidam com o projeto de dispositivos
que agem de forma otimizada com base no feedback do
ambiente.

Como um pode artefato operar sob o prprio controle?


Principais referncias

Water clock (Ktesibios, c. 250 A.C.)


Governador das mquinas a vapor (Watt, 17361819)
Termostato (Drebbel, 15721633)
Ciberntica (Wiener, 18941964)
Controle por realimentao (sculo 19)
Teoria moderna de controle (1960)

Teoria de controle
e ciberntica
Lingustica

Powered by Enderson Neves Cruz

207

Unidade 4 Inteligncia Artificial


Fundamentos

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.

Como a linguagem se relaciona com o pensamento?


Principais referncias

Comportamento verbal (Skinner, 1957)


Estruturas sintticas (Chomsky, 1957)
Lingustica computacional
Processamento de linguagem natural
Representao conhecimento

Teoria de controle
e ciberntica
Lingustica

Powered by Enderson Neves Cruz

208

Unidade 4 Inteligncia Artificial


Fundamentos

Filosofia
Matemtica
Economia

Inteligncia
Artificial

Neurocincia
Psicologia
Engenharia de
computadores
Teoria de controle
e ciberntica
Lingustica

Powered by Enderson Neves Cruz

209

Unidade 4 Inteligncia Artificial


Histria

1940
Gestao

1950

1960

Entusiasmo

1970
Realidade

1980

1990

2000

Renascimento (IA Moderna)

Crditos: Wladimir Arajo Tavares /Faculdade Loureno Filho

Powered by Enderson Neves Cruz

210

Unidade 4 Inteligncia Artificial


Objetivos O que queremos?

Fazer mquinas mais espertas


Entender o que inteligncia

Fazer mquinas mais teis

\\

Objetivo principal
Objetivo nobre

Objetivo empreendedor (comercial)

Para problemas em que se pode chegar uma soluo tima:

Solucionar com menos custo

"Aprender para solucionar naturalmente

Para problemas em que NO se pode chegar uma soluo tima:

Conseguir uma soluo muito boa


"Enganar para conquistar

Utilizar tcnicas inteligentes para resolver problemas existentes.

Powered by Enderson Neves Cruz

211

Unidade 4 Inteligncia Artificial


Caractersticas

Utilizao do computador para:

raciocnio

aprendizagem

reconhecimento de padres
inferncia

Foco em problemas que no tem solues algortmicas: busca heurstica

Formalismos de representao compensa falta de informao

Soluo de problemas com informaes imprecisas, ausentes e/ou pobres


Raciocnio sobre os atributos qualitativos de uma situao
Tratamento de elementos semnticos e sintticos

Respostas nem sempre exatas ou timas: boas o suficiente


Uso de conhecimento sobre o domnio da aplicao
Uso de meta-conhecimento.

Powered by Enderson Neves Cruz

212

Unidade 4 Inteligncia Artificial


Inteligncia Computacional

Powered by Enderson Neves Cruz

213

Unidade 4 Inteligncia Artificial

reas Clssicas da Inteligncia Artificial


Sistemas
Especialistas

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

Powered by Enderson Neves Cruz

214

Unidade 4 Inteligncia Artificial


Engenharia do Conhecimento

Especialista da
Aplicao

Aquisio do
Conhecimento

Base do
Conhecimento
Engenheiro do
Conhecimento

Representao
do Conhecimento

Powered by Enderson Neves Cruz

215

Unidade 4 Inteligncia Artificial


Paradigmas

Simblico

Conexionista

Metfora lingustica - Representao e manipulao do


conhecimento atravs de smbolos.

Metfora cerebral - Modelagem da inteligncia humana


atravs da simulao dos componentes do crebro, isto
, de seus neurnios, e de suas interligaes..

Exploso combinatorial e dificuldade de manipular


conhecimento incompleto e incoerente
Exemplos: Sistemas especialistas, Agentes, ....

Evolucionista

Informaes no necessariamente precisas (pesos


da entrada)
Algoritmos de Aprendizagem
Exemplos: Redes Neurais, ....

Estatstico/Probabilstico

Metfora da natureza Mtodo probabilstico de busca


para resoluo de problemas (otimizao) baseado na
teoria da evoluo das espcies de Charles Darwin.

Metfora numrica Processamento e


baseado em dados numricos e estatticos.

infernca

Exemplos: Algoritmos genticos, vida artificial, ....

Exemplos: Redes Bayesianas, Sistemas difusos ....

Powered by Enderson Neves Cruz

216

Unidade 4 Inteligncia Artificial


Tcnicas

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

Unidade 4 Inteligncia Artificial


Ramos

Busca combinatria

Raciocnio orientado a Casos

Sistemas especialistas
Programao gentica

Representao de conhecimento
Aprendizagem de mquina

Processamento de linguagem natural


Robtica

Viso computacional
Planejamento
Localizao

Vida artificial

Swarm Intelligence

Conjunto de metodologias e tcnicas


inspiradas na inteligncia coletiva
observada em algumas espcies
animais como: os insetos sociais
(formigas, cupins, abelhas, vespas,
etc.), bandos de pssaros

Powered by Enderson Neves Cruz

218

Unidade 4 Inteligncia Artificial


Aplicaes

Diagnstico de falhas

Apoio operacional

Deteco de anormalidades
Configurao e reconfigurao
Anlise de processos

Planejamento e programao de produo

Sequenciamento e sincronizao de produo

Movimentao de materiais e controle de estoques


Controle de qualidade

Controle de processos e automao da manufatura


Planejamento de processos de fabricao
Simulao de Sistemas

Modelagem qualitativa de sistemas e processos


Sistemas de suporte tomada de deciso
Transporte e logstica

Powered by Enderson Neves Cruz

219

Unidade 4 Inteligncia Artificial


Assistentes virtuais

Aplicaes

http://guile3d.com/pt/

Powered by Enderson Neves Cruz

220

Unidade 4 Inteligncia Artificial


Sistemas que agem como humanos

Discusses sobre AI

Minds, brains, and programs John R. Searle

Society of Mind Marvin Minsky

Como a mente funciona Steven Pinker

Minds and Computers, Introduction to the Philosophy of AI Matt Carter

What Computers Still Cant Do Hubert Dreyfus http://www.openisbn.com/preview/0262540673/

http://www.macrovu.com/CCTGeneralInfo.html
http://www.ime.usp.br/~vwsetzer/IAtrad.html

http://www.wired.com/wired/archive/8.04/joy.html

Powered by Enderson Neves Cruz

221

Aula Prtica Experimental


Matlab

Powered by Enderson Neves Cruz

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

Editora rica, 2000.

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.

Departamento de Cincia da Computao do ICEX UFMG, 2000. 6 Edio. 87p.

Apostila Matlab Bsico para Engenharia, Universidade Federal do Cear.

Curso Matlab UFMS: http://www.del.ufms.br/tutoriais/matlab/apresentacao.htm#matlab/

Curso de MATLAB 5.1. Faculdade de Engenharia da UERJ.

Powered by Enderson Neves Cruz

223

Aula Prtica Experimental MATLAB


Introduo

MATLAB MATrix LABoratory

Matlab sistema interativo e linguagem de programao de


alta performance que integra anlise numrica, clculo com
matrizes, processamento de sinais e construo de grficos
em um ambiente amigvel no qual problemas e solues so
expressas de uma forma matematicamente familiar.

Criada no fim dos anos 1970 por Cleve Moler (Universidade do Novo Mxico).

O elemento bsico de informao uma matriz que no requer dimensionamento.

Marca registrada da The MathWorks, Inc. fundada em 1984.

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.

As solues dos problemas so expressas quase exatamente como elas so escritas


matematicamente.
Powered by Enderson Neves Cruz

224

Aula Prtica Experimental MATLAB


Aplicaes tpicas

Computao Matemtica

Modelagem, simulao e prototipagem

Desenvolvimento de algoritmos

Analise de dados, explorao e visualizao

Aplicao grficas Cientficas e de Engenharia


Desenvolvimento de aplicaes

Transformou-se na ferramenta padro para ensino e pesquisa bsica e/ou avanada na


matemtica, engenharia, cincias aplicadas etc.

Na indstria fornece uma opo de ferramenta para anlise pesquisa e desenvolvimento de


alta qualidade.

Powered by Enderson Neves Cruz

225

Aula Prtica Experimental MATLAB


Principais componentes

Ambiente de
Desenvolvimento
Biblioteca de
Funes Matemticas
Linguagem de
Programao
Tratamento Grfico

MATLAB

Aplication Program
Interface (API)
Toolboxes
SIMULINK

Powered by Enderson Neves Cruz

226

Aula Prtica Experimental MATLAB


Principais componentes

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

Powered by Enderson Neves Cruz

227

Aula Prtica Experimental MATLAB


Principais componentes

Ambiente de
Desenvolvimento
Biblioteca de
Funes Matemticas
Linguagem de
Programao
Tratamento Grfico

MATLAB

Aplication Program
Interface (API)
Toolboxes
SIMULINK

Biblioteca de Funes Matemticas


Vasta coleo de algoritmos computacionais que
vo desde funes elementares at funes mais
sofisticadas.
Funes elementares
Bsicas: soma, subtrao, multiplicao, diviso
Trigonomtricas: senos, cossenos,
Aritmtica complexa
etc.
Funes avanadas
Inverso de matrizes
Autovalores
Funes de Bessel
Transformada rpida de Fourier
etc.

Powered by Enderson Neves Cruz

228

Aula Prtica Experimental MATLAB


Principais componentes

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:

Diretrizes de controle de fluxo


Funes
Estrutura de dados
Entradas/sadas
Propriedades de orientao a objeto
etc.

Permitem programao tanto de pequenas


aplicaes, cdigos curtos e rpidos para
solucionar demandas simples, quanto a criao
de algoritmos extensos e complexos.

SIMULINK

Powered by Enderson Neves Cruz

229

Aula Prtica Experimental MATLAB


Principais componentes

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,

Inclui ainda comandos de baixo nvel para


customizar a aparncia dos grficos bem como
construir uma interface grfica de interao com
o usurio completa em suas aplicaes.

Toolboxes
SIMULINK

Powered by Enderson Neves Cruz

230

Aula Prtica Experimental MATLAB


Principais componentes

Ambiente de
Desenvolvimento
Biblioteca de
Funes Matemticas
Linguagem de
Programao
Tratamento Grfico

MATLAB

Aplication Program Interface (API)


Biblioteca particular que permite que programas
escritos em C e em Fortran interajam diretamente
com o MATLAB.
Inclui dispositivos para chamada de rotinas do
MATLAB (dynamic Linking), uso do Matlab como
engine computacional, leitura e escrita em
arquivos-MAT, etc.

Aplication Program
Interface (API)
Toolboxes
SIMULINK

Powered by Enderson Neves Cruz

231

Aula Prtica Experimental MATLAB


Principais componentes

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.

Powered by Enderson Neves Cruz

232

Aula Prtica Experimental MATLAB


Principais componentes

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

Permite a proposio a anlise de a simulao de


um sistema qualquer.

Aplication Program
Interface (API)

Permite a montagens de modelos desde sua base


at a modificao de modelos existentes.

Toolboxes

Suporta Sistemas Lineares e no lineares,


contnuos e discretos no tempo, etc.

SIMULINK

Powered by Enderson Neves Cruz

233

Aula Prtica Experimental MATLAB


MATLAB Desktop

Inicie o MATLAB e identifique as reas do MATLAB Desktop

Powered by Enderson Neves Cruz

234

Aula Prtica Experimental MATLAB


Funo help

Mostra os tpicos de ajuda disponveis no Matlab.

Para visualizar os tpicos de forma compassada utilizamos o comando:

>> more on
>> help

Para desabilitar a exibio pausada utilize o comando more off

Pode-se especificar o comando que se deseja ajuda

>> help sum

Powered by Enderson Neves Cruz

235

Aula Prtica Experimental MATLAB


Operaes e Funes matemticas

Utilizar os parnteses para priorizar as operaes


Ordem de prioridades

Quantidades contidas nos parntesis ()


Potenciaes: 2 + 3^2 = 2 + 9

* e / da esquerda para direita: 3*4/5 = 12/5

+ e - da esquerda para direita: 3 + 4 - 5 = 7-5

Powered by Enderson Neves Cruz

236

Aula Prtica Experimental MATLAB


Operaes e Funes matemticas
Atribuio de valores

Para associar valores a variveis utiliza-se o operador = (igual) no prompt de comando.

Comando terminado com ponto-e-vrgula, o resultado no sai na tela

Pode-se permitir ou no a visualizao do comando anterior com o operador ; (ponto e virgula).


Utilizar a vrgula para separar vrios comandos na mesma linha

Para continuar um comando na linha seguinte, digitar ... no fim da primeira linha
O sinal % indica que o resto da linha um comentrio

Utilizar sempre a Workspace para monitorar as variveis.

Powered by Enderson Neves Cruz

237

Aula Prtica Experimental MATLAB


Operaes e Funes matemticas
Nomes das variveis

Permite qualquer combinao entre letras e dgitos comeadas por letras.


Case Sensitive, isto , diferencia letras maisculas e minsculas.

No recomendvel utilizar nomes de uma palavra reservada ou presente em nas bibliotecas do


MATLAB.

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

Incorretos: 1A12, +A45, 1Operando, Nome empresa, Situao

Powered by Enderson Neves Cruz

238

Aula Prtica Experimental MATLAB


Operaes e Funes matemticas

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

Powered by Enderson Neves Cruz

239

Aula Prtica Experimental MATLAB


Atividade

1. Atribua valores a 4 variveis.


2. Utilizando as variveis criadas e as operaes para armazenar valores em outras variveis.
Exemplo:
1
3. Limpe a Workspace e a CommandWindow.
4. Pesquisar sobre as funes format, digits e vpa.

Powered by Enderson Neves Cruz

240

Aula Prtica Experimental MATLAB


Matrizes e Vetores

O tipo bsico do MatLab uma matriz de nmeros complexos.

Vetores podem ser do tipo linha ou coluna:

Uma matriz real uma matriz que possui a parte imaginria de todos os elementos iguais a zero.

Um vetor linha uma matriz 1 x n.

Um vetor coluna uma matriz n x 1.

Um escalar uma matriz 1 por 1.

Atribuio de valores em matrizes

Delimitar a lista de elementos da matriz por colchetes [ ].

Separar dos elementos de uma coluna por ; (ponto e vrgula) ou novas linhas (ENTER).

Separar os elementos de uma linha por espaos em branco ou virgulas.

O nmero de elementos de matrizes pode ser conhecido pelos comandos size e length.

Powered by Enderson Neves Cruz

241

Aula Prtica Experimental MATLAB


Matrizes e Vetores

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

Powered by Enderson Neves Cruz

242

Aula Prtica Experimental MATLAB


Matrizes e Vetores
ATENO

Cuidado ao definir matrizes com os espaos em branco, pois estes so equivalentes


a vrgulas separando elementos.
Exemplo: [1, 2+3] = [1 5] diferente de [1,2 +3] = [1 2 3]

Powered by Enderson Neves Cruz

243

Aula Prtica Experimental MATLAB


Matrizes e Vetores

Os elementos especficos de uma matriz podem ser manipulados e acessados atravs da


notao A(i,j).
Tal notao especifica o elemento contido na linha i e coluna j da matriz A.

Para visualizar o elemento armazenado na linha 3 coluna 2

Exemplo: Somar todos os elementos da linha 3 da matriz M.

Powered by Enderson Neves Cruz

244

Aula Prtica Experimental MATLAB


Matrizes e Vetores

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

O comando M(6) refere-se ao valor armazenado em M(2,2) = 15

O comando M(11) refere-se referindo ao valor armazenado em M(3,3) = 8


Powered by Enderson Neves Cruz

245

Aula Prtica Experimental MATLAB


Operador dois pontos (:)

Matrizes e Vetores

Criao de matrizes e vetores com espaamento definido


varivel = <valor inicial>:<incremento>: <valor final>

Caso o incremento for omitido, ser considerado 1

Powered by Enderson Neves Cruz

246

Aula Prtica Experimental MATLAB


Operador dois pontos (:)

Matrizes e Vetores

Seleo de partes de matrizes

Exemplos

Seleo dos elementos das


linhas 2 e 3 e das colunas 2 e 3

Soma dos elementos da coluna 1

Powered by Enderson Neves Cruz

247

Aula Prtica Experimental MATLAB


Operador dois pontos (:)

Matrizes e Vetores

Seleo de partes de matrizes

Quando utilizado de forma isolada o operador dois pontos (:) se refere a todos os elementos de
uma determinada linha ou coluna.

Soma dos elementos da coluna 1

Powered by Enderson Neves Cruz

248

Aula Prtica Experimental MATLAB


Matrizes e Vetores

Seleo de partes de matrizes

Para seleo de linhas ou colunas no adjacentes utiliza-se colchetes [ ].

Seleo de todos os elementos


das colunas 1 e 3

Powered by Enderson Neves Cruz

249

Aula Prtica Experimental MATLAB


Matrizes e Vetores

Gerao de matrizes aleatrias


zeros(m,n)

Gera matriz m x n de zeros

rand(m,n)

ones(m,n)

Gera matriz m x n de uns

Gera matriz m x n de nmeros aleatrios entre 0 e 1

eyes(m,n)

Gera matriz identidade m x n

magic(m,n)

Gera matriz quadrada n x n de nmeros aleatrios

A soma dos
elementos de
cada coluna
a mesma

Powered by Enderson Neves Cruz

250

Aula Prtica Experimental MATLAB


Operaes matriciais

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

Determinante de uma matriz


Matriz inversa da matriz A

Respectivamente, soma, subtrao, produto, diviso e potncia sobre matrizes


Apagar uma coluna da matriz A
Apagar uma linha da matriz A

Concatenao das matrizes A, B e C


Matriz simtrica

Autovalores de uma matiz A


Powered by Enderson Neves Cruz

251

Aula Prtica Experimental MATLAB


Comando find

Matrizes e Vetores

Retorna uma lista de posies (indices) de elementos de um vetor ou uma matriz que
satisfazem determinada condio
find(condio)

Localizar na matriz todos os


elementos menores que 7

Powered by Enderson Neves Cruz

252

Aula Prtica Experimental MATLAB


Matrizes e Vetores

Entrada de dados em matrizes

Digitar explicitamente os elementos.

Gerar matrizes atravs de uma funo prpria criada (M-file)

Gerar matrizes atravs de funes pr-estabelecidas.


Carregar matrizes de um arquivo externo.

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.

Powered by Enderson Neves Cruz

253

Aula Prtica Experimental MATLAB


Grficos

Grficos 2D Funo plot

Gerao de grficos bidimensionais usando a funo plot


plot(x1,y1,<tipo_linha1>, x2,y2,<tipo_linha2>,...)

x, y so vetores contendo as abscissas e ordenadas dos pontos a serem exibidos

<tipo_linha> uma cadeia de 1 a 4 caracteres que especifica a cor e o estilo da linha.


Smbolo
y

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

Linha de trao e ponto


Linha tracejada

Powered by Enderson Neves Cruz

254

Aula Prtica Experimental MATLAB


Grficos

Funes para identificao de grficos


Funo

Estilo

xlabel(<texto>)

Ttulo do eixo x - Escreve <texto> abaixo do eixo das abscissas

xlabel(<texto>)

Ttulo do eixo y - Escreve <texto> ao lado do eixo das ordenadas

title(<texto>)
text(x,y,<texto>)
gtext(<texto>)
grid on
legend(<t1>, <t2>,...)
hold on

Ttulo do grfico - Escreve <texto> no alto do grfico


Escreve <texto> na posio (x,y)
Escreve <texto> na posio indicada pelo mouse
Mostra o grid (linhas divisrias)
Mostra a legenda com os identificadores das funes <t1>, <t2>,...
Sobreposio de grficos a partir de um determinado momento

Powered by Enderson Neves Cruz

255

Aula Prtica Experimental MATLAB


Grficos 2D Funo plot
Exemplo : Considere as matrizes x, y e z

>> plot(x,y)

Grficos

>> x = 0:pi/100:2*pi;
>> y = sin(x);

>> z = cos(x);
>> plot(x,y,x,z)

Powered by Enderson Neves Cruz

256

Aula Prtica Experimental MATLAB


Grficos 2D Funo plot

Grficos

Exemplo : Considere as matrizes x, y e z

>> x = 0:pi/100:2*pi;
>> y = sin(x);

>> z = cos(x);

>> plot(x,y,'-*',x,z,'-.or')
>> xlabel('eixo x')
>> ylabel('eixo y')

>> title('Funes sen(x) e cos(x)')

>> text(pi,0,' \leftarrow sin(\pi)','FontSize',14)


>> grid on

>> legend('sen(x)', 'cos(x)'))

Powered by Enderson Neves Cruz

257

Aula Prtica Experimental MATLAB


Grficos 3D

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.

Traar um esboo de uma malha na superfcie especificada pelas matrizes X, Y e Z, atravs do


comando mesh(X,Y,Z).

O comando surf(X,Y,Z) produz uma superfcie sombreada tridimensional especificada pelas


matrizes X, Y e Z

Powered by Enderson Neves Cruz

258

Aula Prtica Experimental MATLAB


Grficos 3D

Grficos

Exemplo : Gerar a superfcie da funo

>> x = -3:0.2:3;

% Etapa 1 Definir o limite de x

>> [X Y] = meshgrid(x,y);

% Etapa 2 Criao da malha diferencial

>> y = -2:0.2:2;

% Etapa 1 Definir o limite de y com o mesmo incremento de x

>> Z = sin(X).*cos(Y).^2;

% Etapa 3 Definio da funo Z

>> surf(X,Y,Z);

% Etapa 4 Gerao da superfcie sombreada 3D

>> mesh(X,Y,Z);

>> xlabel('eixo x')

% Etapa 4 Gerao do esboo de uma malha da superfcie

>> ylabel('eixo y')


>> zlabel('eixo z')

>> title('Superfcie da funo z = sen(x)cos(y)^2 usando o comando surf')

Powered by Enderson Neves Cruz

259

Aula Prtica Experimental MATLAB


Grficos

Grficos 3D

Exemplo : Gerar a superfcie da funo


Superfcie da funo z = sen(x)cos(y)2 usando o comando surf

0.5

0.5

eixo z

eixo z

Superfcie da funo z = sen(x)cos(y)2 usando o comando mesh

-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

Powered by Enderson Neves Cruz

260

Aula Prtica Experimental MATLAB


SIMULINK

Powered by Enderson Neves Cruz

261

Aula Prtica Experimental MATLAB


SIMULINK

Biblioteca do
SIMULINK

Powered by Enderson Neves Cruz

262

Aula Prtica Experimental MATLAB


SIMULINK

Exemplo 1 Sistema de posicionamento de massa

Um sistema de posicionamento que controla a massa m tem a seguinte funo de transferncia


em malha aberta

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

Powered by Enderson Neves Cruz

263

Aula Prtica Experimental MATLAB


SIMULINK

Exemplo 1 Sistema de posicionamento de massa

Powered by Enderson Neves Cruz

264

Aula Prtica Experimental MATLAB


SIMULINK

Exemplo 2 Levitao Magntica

Modelo matemtico do sistema


Bola de ao

Circuito eltrico (Lei de Kirchoff)

Fora eletromagntica

Powered by Enderson Neves Cruz

265

Aula Prtica Experimental MATLAB


SIMULINK

Exemplo 2 Levitao Magntica

Parmetros do sistema

Powered by Enderson Neves Cruz

266

Aula Prtica Experimental MATLAB


SIMULINK

Exemplo 2 Levitao Magntica

Equaes de estado

Powered by Enderson Neves Cruz

267

Aula Prtica Experimental MATLAB


SIMULINK

Exemplo 2 Levitao Magntica

Linearizao nas alturas mxima e mnima

% 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];

Powered by Enderson Neves Cruz

268

Aula Prtica Experimental MATLAB


SIMULINK

Exemplo 2 Levitao Magntica

Powered by Enderson Neves Cruz

269

UNIDADE 6
Lgica Fuzzy

Powered by Enderson Neves Cruz

Unidade 6 Lgica Fuzzy


Histrico

1920: incio, com lgicas multivaloradas introduzidas por Lukasiewicz


1965: Zadeh introduz o uso de Lgica Fuzzy no Controle Moderno
1980: Aplicaes em larga escala Japo
1990: Aplicaes em larga escala Europa e USA

Jan Lukasiewicz

Lotfali Askar-Zadeh
Powered by Enderson Neves Cruz

271

Unidade 6 Lgica Fuzzy


Vantagens

Introduo

Conceitualmente fcil de ser entendida


Flexibilidade
Tolerncia a impreciso de dados
Modelamento no-linear
Construda baseado na experincia dos especialistas
Pode ser misturada a outras tcnicas de controle
Baseado em linguagem natural

Powered by Enderson Neves Cruz

272

Unidade 6 Lgica Fuzzy


Aplicaes

Introduo

Controle de velocidade do Metr de Sendai Japo


Mecanismo de foco da cmera Reflex Sanyo

Controle de temperatura da ducha eletrnica Panasonic


Mquinas de Lavar Roupa Sanyo
Freio ABS

Transmisso automotiva Mitsubishi

Elevadores (Hitachi, Fujitech, Mitsubishi)


Anlise do Mercado de Aes (Yamaichi)
Space Shuttle Docking (NASA)

Powered by Enderson Neves Cruz

273

Unidade 6 Lgica Fuzzy


Porque usada?

Introduo

Aproxima-se mais do pensamento humano, nebuloso por natureza


Tratamento de Incertezas - No precisa de entradas precisas

Complementar a Logica Padro

Usada em situaes em que dois estados ou dois valores no so


sucientemente representativos

Powered by Enderson Neves Cruz

274

Unidade 6 Lgica Fuzzy


Teoria dos conjuntos

Introduo

Teoria matemtica que trata das propriedades dos conjuntos.

Funo caracterstica
Define um conjunto A:

Powered by Enderson Neves Cruz

275

Unidade 6 Lgica Fuzzy


Teoria dos conjuntos

Introduo

Exemplos Conjuntos clsicos

Y conjunto dos inteiros

A conjunto dos nmeros mpares

B conjunto de alunos matriculados no SEAI CEFET-MG

E se tivermos um conjunto de Pessoas altas?


Uma pessoa alta se tem mais de 1,80 m.
Ento uma que tem 1,799 m no alta?

Powered by Enderson Neves Cruz

276

Unidade 6 Lgica Fuzzy


Teoria dos conjuntos fuzzy

Introduo

uma extenso da teoria dos conjuntos clssicos.

Define-se um grau de pertinncia no intervalo [0 1], para cada elemento, utilizando


uma funo de pertinncia () que uma generalizao da funo caracterstica na
teoria dos conjuntos tradicionais.
Seja X um conjunto de referncia. A um conjunto fuzzy de X.

Define-se uma funo de pertinncia A : X [0; 1], que associa a cada valor x de ao grau A (x)

A : X [0; 1] onde A (x) indica o grau de pertinncia de x no conjunto A

Powered by Enderson Neves Cruz

277

Unidade 6 Lgica Fuzzy


Teoria dos conjuntos fuzzy

Introduo

Exemplo: conjunto das temperaturas que indicam o estado febril


Realidade

Clssico

Fuzzy

Powered by Enderson Neves Cruz

278

Unidade 6 Lgica Fuzzy


Introduo

Funes de pertinncia

Refletem o conhecimento que se tem em relao a intensidade com que o objeto


pertence ao conjunto fuzzy.

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

(d) Sino Gerneralizada

Powered by Enderson Neves Cruz

279

Unidade 6 Lgica Fuzzy


Introduo

Funes de pertinncia

Grau de Pertinncia

Exemplo de funes de pertinncia para a classificao de um individuo em funo da


idade.

1.2

Jovem

Maduro

Idoso

0.8
0.6
0.4
0.2

10

20

30

40

50

X = Idade

60

70

80

90

Powered by Enderson Neves Cruz

280

Unidade 6 Lgica Fuzzy


Lgica Booleana x Lgica Fuzzy

Introduo

Na Logica Booleana, uma proposio p s pode ter valor Verdadeiro ou Falso (0 ou 1)

Na Lgica Fuzzy associa-se um valor (p) a uma proposio p, para indicar o grau de veracidade
de uma proposio.

Powered by Enderson Neves Cruz

281

Unidade 6 Lgica Fuzzy


Variveis lingusticas

Introduo

Expresses em linguagem natural que podem ser tratadas de forma numrica.


Pode possuir natureza ambgua.

Representa um conceito ou varivel de um problema.

Cada valor lingustico um conjunto fuzzy definido por uma funo de


pertinncia.

V o nome da varivel lingustica


X o conjunto de referncia

T o conjunto de valores lingsticos que a varivel V pode assumir

Powered by Enderson Neves Cruz

282

Unidade 6 Lgica Fuzzy


Variveis lingusticas

Introduo

Exemplo Temperatura do corpo humano

Nome da varivel lingustica V = temperatura

Conjunto de referncia X = conjunto de temperaturas vlidas


Valores que pode assumir T = {sem_febre, febre, febre_alta}

temperatura = 38 C

Powered by Enderson Neves Cruz

283

Unidade 6 Lgica Fuzzy


Controladores fuzzy

Controladores fuzzy

Conseguem controlar problemas complexos atravs de heursticas e modelos


matemticos fornecidos pela lgica fuzzy, e no atravs de modelos matemticos
fornecido por equaes diferenciais;
So teis principalmente para os sistemas de controle cujos modelos matemticos
so no-lineares ou para os que os modelos matemticos no esto disponveis;
So definidos como controladores baseados em experincia, que fazem uso do
conhecimento do processo, expresso em regras fuzzy;

Incorporam a experincia do operador humano no projeto do controlador a


partir de um conjunto de regras lingusticas que descrevem as estratgias
operacionais de controle;

Powered by Enderson Neves Cruz

284

Unidade 6 Lgica Fuzzy


Controladores fuzzy

Controladores fuzzy

Controlador Fuzzy

Entradas

Fuzzificador

Sistema de
Inferncia

Defuzzificador

Sadas

Base de Regras

Powered by Enderson Neves Cruz

285

Unidade 6 Lgica Fuzzy


Controladores fuzzy

Controladores fuzzy - Fuzzificador

Faz a converso dos valores das variveis de entrada nos valores lingusticos
Variveis de entrada
(Numricas)

Fuzzificao

Variveis lingusticas

Neste mdulo necessrio a participao de um especialista do processo, pois


a cada varivel de entrada atribuda termos lingusticos que representam os
estados desta varivel e, a cada termo lingustico, deve ser associado um
conjunto fuzzy por uma funo de pertinncia:
- Entrada um valor numrico limitado
- Sada um nmero entre 0 e 1

Powered by Enderson Neves Cruz

286

Unidade 6 Lgica Fuzzy


Controladores fuzzy

Controladores fuzzy Sistema de inferncia e base de regras


Mdulo onde armazenado a base de conhecimento

A Base de Conhecimento construda a partir da modelagem de um especialista


no problema, da experincia do projetista ou atravs de experimentos.

Base de regras

As regras modelam o comportamento do controlador

IF <antecedente> THEN <conseqente>

Antecedente: conjunto de condies

Os conseqentes das regras disparadas so processados em conjunto para gerar uma


resposta determinstica para cada varivel de sada do sistema.

Conseqente: aes

Powered by Enderson Neves Cruz

287

Unidade 6 Lgica Fuzzy


Controladores fuzzy

Controladores fuzzy Sistema de inferncia e base de regras


Exemplos de regras

Regra tpica Modelo de Mandani

Se a temperatura est alta e aumentando, ento aumente um pouco o resfriamento


IF temp = Alta AND delta-temp = Positivo THEN delta-resfr = PositivoPequeno.

Powered by Enderson Neves Cruz

288

Unidade 6 Lgica Fuzzy


Controladores fuzzy

Controladores fuzzy Sistema de inferncia e base de regras

Sistema de inferncia

Inclui todas as outras informaes e definies necessrias ao procedimento de


inferncia e as interfaces com o processo, tais como:

Frmulas de discretizao

Funes de pertinncia dos valores lingsticos

Frmulas de normalizao dos universos de discurso

Procedimento para se chegar a concluses


(Raciocnio fuzzy)

a partir de regras IF-THEN

Powered by Enderson Neves Cruz

289

Unidade 6 Lgica Fuzzy


Controladores fuzzy

Controladores fuzzy Defuzzificador

o processo que faz o mapeamento de um conjunto fuzzy para um valor


numrico, o qual pode ser um comando para algum atuador.
Conjunto Fuzzy

Defuzzificao

Valores numricos

Este conjunto fuzzy representa o conjunto de valores de resposta vlidos, resultantes


da inferncia, com os seus respectivos graus de pertinncia

Como se deseja um nico valor numrico, necessrio aplicar um mtodo de


converso.

Powered by Enderson Neves Cruz

290

Unidade 6 Lgica Fuzzy


Lgica Fuzzy

Controladores fuzzy Mtodos de defuzzificao


Centride
Bisetor

Mdia dos mximos


Maior dos mximos

Menor dos mximos

Powered by Enderson Neves Cruz

291

Unidade 6 Lgica Fuzzy

Projeto de controladores fuzzy

Procedimento para projetar controladores fuzzy

Entender o comportamento do sistema, formulando regras bsicas.


Estabelecer os conjuntos fuzzy de entradas e sadas .

Montar a matriz de memria associativa fuzzy (tabela de decises) com o conjunto de


regras que associa as entradas com as sadas.
Estabelecer o mtodo de defuzzificao
Testar o controlador fuzzy.

Ajustar as funes de pertinncia de forma a produzir as caractersticas desejadas na


sada, alterando manualmente as funes de pertinncias, e/ou incluindo funes de
pertinncia.

Powered by Enderson Neves Cruz

292

Unidade 6 Lgica Fuzzy

Projeto de controladores fuzzy

Procedimento para projetar controladores fuzzy

Entender o comportamento do sistema, formulando regras bsicas.


Estabelecer os conjuntos fuzzy de entradas e sadas .

Montar a matriz de memria associativa fuzzy (tabela de decises) com o conjunto de


regras que associa as entradas com as sadas.
Estabelecer o mtodo de defuzzificao
Testar o controlador fuzzy.

Ajustar as funes de pertinncia de forma a produzir as caractersticas desejadas na


sada, alterando manualmente as funes de pertinncias, e/ou incluindo funes de
pertinncia.

Powered by Enderson Neves Cruz

293

Unidade 6 Lgica Fuzzy


Exemplos

Determinao do consumo de combustvel de um automvel - Anna Helena


Reali Costa
Sistema de controle do nvel de gua em um tanque atravs de uma vlvula de
escape - Anna Helena Reali Costa
Automatizar o Guindaste de Contineres - lvaro Guarda
Tutorial MATLAB - PUC

Powered by Enderson Neves Cruz

294