seai 2016 - informática aplicada
TRANSCRIPT
-
8/17/2019 SEAI 2016 - Informática Aplicada
1/294
Enderson Neves Cruz
Pós-Graduação Lato SensuSistemas Eletroeletrônicos e Automação Industrial
SEAI
Informática Aplicada
-
8/17/2019 SEAI 2016 - Informática Aplicada
2/294
Powered by Enderson Neves Cruz
Apresentação da disciplina
-
8/17/2019 SEAI 2016 - Informática Aplicada
3/294
Powered by Enderson Neves Cruz 3
Plano de ensino• Introdução (2 Horas/aula)
– Apresentação da disciplina
– Evolução histórica e conceitos básicos
• Unidade 1 – Componentes de um sistema informatizado (4 Horas/aula) – Componentes fundamentais de um sistema informatizado
– Linguagens de programação
– Sistemas operacionais
• Unidade 2 – A Informática como ferramenta (4 Horas/aula)
– Softwares gráficos
– Editoração e edição de imagens
– Planilhas
– Bancos de dados
– Aplicativos em geral
• Unidade 3 – Tipos de Software para Engenharia e Indústria (4 Horas/aula) – Softwares comerciais
– Sistemas Integrados de gestão (ERP)
– Softwares industriais
– Softwares para simulações (Aula prática PROTEUS)
• Unidade 4 – Inteligência Artificial (4 Horas/aula) – Conceitos básicos
– Técnicas de AI
• Unidade 5 – Aula Prática Experimental (6 Horas/aula)
– MATLAB – Banco de dados
• Unidade 6 – Lógica Fuzzy (3 Horas/aula) – Conceitos básicos
• Seminário (3 Horas/aula)
3
30 horas/aula
-
8/17/2019 SEAI 2016 - Informática Aplicada
4/294
Powered by Enderson Neves Cruz 4
Avaliação
Seminário = 60% (Grupo)
– Data da apresentação: a definir (2012) – Integrantes por grupo: 5 – Tempo de apresentação: 40 minutos – Relatório + documentos da apresentação
Trabalho de laboratório = 40% – Aula prática – Integrantes por grupo: a definir – Deve ser entregue na data de apresentação do seminário – Relatório + arquivos das aula práticas
4
-
8/17/2019 SEAI 2016 - Informática Aplicada
5/294
Powered by Enderson Neves Cruz 5
Calendário
5
DATA HORARIO ATIVIDADE PROF.
28/11/2015 08h00 às 12h1513h00 às 17h15 Aula: Máquinas Elétricas e Equipamentos Aula: Informática Aplicada ÚrsulaEnderson ApresentaçãoUnidade 1 – Sistema informatizado
12/12/2015 08h00 às 12h15
13h00 às 17h15 Aula: Máquinas Elétricas e Equipamentos Aula: Informática Aplicada
ÚrsulaEnderson
Unidade 1 – Sistema informatizado
06/02/2016 08h00 às 12h15
13h00 às 17h15 Aula: Informática Aplicada Aula: Interruptores e Comandos Eletrônicos
EndersonÚrsula
Unidade 2 – A Informática comoferramenta
27/02/2016 08h00 às 12h15
13h00 às 17h15 Aula: Interruptores e Comandos Eletrônicos Aula: Informática Aplicada
FranciscoEnderson
Unidade 3 – Tipos de Software paraEngenharia e Indústria
Aula Prática Experimental PROTEUS
05/03/2016 08h00 às 12h15
13h00 às 17h15 Aula: Informática Aplicada Aula: Máquinas Elétricas e Equipamentos
EndersonÚrsula
Unidade 4 – Inteligência Artificial
12/03/201608h00 às 10h0010h15 às 12h15
13h00 às 17h15
Aula: Interruptores e Comandos Eletrônicos Aula: Informática Aplicada
Aula: Informática Aplicada
FranciscoEnderson
Enderson
Aula Prática Experimental MATLAB
19/03/201608h00 às 10h0010h15 às 12h1513h00 às 17h15
Aula: Máquinas Elétricas e Equipamentos Aula: Informática Aplicada Aula: Informática Aplicada
ÚrsulaEndersonEnderson
Unidade 6 – Lógica fuzzySeminário
-
8/17/2019 SEAI 2016 - Informática Aplicada
6/294
Powered by Enderson Neves Cruz
Referências bibliográficas
-
8/17/2019 SEAI 2016 - Informática Aplicada
7/294
Powered by Enderson Neves Cruz
ReferênciasOrganização dos computadores e Informática geral
• TANENBAUM, Andrew S. Organização Estruturada de Computadores.Prentice/Hall do Brasil, 2006. 6ª Edição. 464p.
• MONTEIRO, Mário. Introdução à Organização de Computadores.
LTC, 1996. 3ª Edição. 500p.
• WHITE, Ron; DOWNS, Timothy E.. How Computers Work.
Que, 2007. 9ª Edição. 464p.
• WHITE, Ron; DOWNS, Timothy E.. How software works .
Ziff-Davis Press, 1993. 1ª Edição. 198p.• NORTON, Peter. Introduction to Computers.
Career Education, 2004. 6ª Edição. 688p.
• NORTON, Peter. Introdução a Informática.
Makron Books, 1996. 1ª Edição. 640p.
• LAUDON K. C; LAUDON, J. P. Sistemas de Informação.
LTC, 1999. 4ª Edição. 389p.
• TANENBAUM, Andrew S. Sistemas Operacionais Modernos.
Prentice/Hall do Brasil, 2009. 2ª Edição. 712p.
• WIDMER, Neal S.; TOCCI, Ronald J.. Sistemas Digitais: Princípios e Aplicações.
Pearson Education do Brasil, 2011. 11ª Edição. .
7
-
8/17/2019 SEAI 2016 - Informática Aplicada
8/294
Powered by Enderson Neves Cruz 8
ReferênciasOrganização dos computadores e Informática geral
• http://www.rci.rutgers.edu/~cfs/472_html/Intro/timeline.pdf • http://www.computerhistory.org
• http://www.howstuffworks.com
• http://www.hsw.uol.com.br
• http://www.isa.org
• http://www.rogercom.com
• http://www.wired.com• www.ieee.org
• http://www.nytimes.com
• http://www.davidpogue.com
• http://tecnologia.uol.com.br
-
8/17/2019 SEAI 2016 - Informática Aplicada
9/294
-
8/17/2019 SEAI 2016 - Informática Aplicada
10/294
Powered by Enderson Neves Cruz 10
ReferênciasLinguagens de programação
• DEITEL, Paul; DEITEL, Harvey. Java - Como Programar.Prentice Hall, 2010. 8ª Edição. 1152p.
• Sierra, Kathy; BATES, Bert. Use a Cabeça! Java.
Alta Books , 2007. 2ª Edição. 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. Ciência da computação: uma visão abrangente. 5a. ed.
Porto alegre: Bookman, 2000.
• PILONE, Dan; PILONE, Tracey. Use a Cabeça! Desenvolvendo para iPhone.
Alta Books , 2011. 1ª Edição. 552p.
-
8/17/2019 SEAI 2016 - Informática Aplicada
11/294
Powered by Enderson Neves Cruz 11
ReferênciasLinguagens de programação
• http://www.hardware.com.br/artigos/linguagens/• http://www.levenez.com/lang/
• http://www.scriptol.com/programming/languages.php
• 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.cplusplus.com/doc/tutorial/
• http://www.python.org
• http://processing.org
-
8/17/2019 SEAI 2016 - Informática Aplicada
12/294
Powered by Enderson Neves Cruz 12
Referências
• http://www.rci.rutgers.edu/~cfs/472_html/Intro/timeline.pdf
• http://www.computerhistory.org• http://www.howstuffworks.com
• 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
• www.ieee.org
• http://www.nytimes.com
• http://www.davidpogue.com
• http://tecnologia.uol.com.br
-
8/17/2019 SEAI 2016 - Informática Aplicada
13/294
Powered by Enderson Neves Cruz
Introdução
Evolução histórica e conceitos básicos
-
8/17/2019 SEAI 2016 - Informática Aplicada
14/294
Powered by Enderson Neves Cruz
Mario Sergio Cortella - Pasta de Dente
http://www.youtube.com/watch?v=f0z56D5qCO0
-
8/17/2019 SEAI 2016 - Informática Aplicada
15/294
Powered by Enderson Neves Cruz
Aula 01 – Introdução
Evolução histórica e conceitos básicos
Conceito de Informática
15
Informática
Neologismo criado por Philippe Dreyfus em 1962
Ciência que trata do processamento racional da informaçãoatravés da utilização de máquinas automáticas.
Ciência cujo objeto de estudo se relaciona com “o tratamento lógicode conjuntos de dados, utilizando técnicas e equipamentos que
possibilitam o seu processamento de modo a obter informação 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
-
8/17/2019 SEAI 2016 - Informática Aplicada
16/294
Powered by Enderson Neves Cruz
Aula 01 – Introdução
Evolução histórica e conceitos básicos
Conceito de Informática
16
Informação Automática+Estruturação 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
Oportuna – disponível no local e no momento necessário
Completa – contendo todos os elementos necessários
Concisa – fácil de manipular
Processamento
Manipulação dos dados de forma a conseguir
informação.
Armazenamento
Garantir a preservação dos dados para futura
utilização.
Comunicação
Troca de dados entre computadores através de
redes, e entre o computador e o homem.
Computador Agente utilizado para armazenar, classificar, comparar, combinar e exibir a informação a elevadavelocidade, ou seja, é o dispositivo utilizado para gerir informação automaticamente.
-
8/17/2019 SEAI 2016 - Informática Aplicada
17/294
Powered by Enderson Neves Cruz
Aula 01 – Introdução
Evolução histórica e conceitos básicos
Processamento de Dados
• Série de atividades realizadas para produzir um conjunto de informações a partir de outras
informações iniciais (dados).
Processamento InformaçõesDados
InformaçãoDados + Conhecimento
17
-
8/17/2019 SEAI 2016 - Informática Aplicada
18/294
Powered by Enderson Neves Cruz
Aula 01 – Introdução
Evolução histórica e conceitos básicos
Computador – Analogia com o ser humano
Melhor dispositivo para se processar informações, ou quase!
Neurônios
Cérebro
Processa
Voz e
movimentosSaídas
Sentidos
Entrada
Memória
Nervos Nervos
Nervos
Input Output CPU
Memória
CPU – Central Processing Unit (Unidade central de processamento)
Dispositivos de I/O - Input/Output (Entrada/Saída)
18
-
8/17/2019 SEAI 2016 - Informática Aplicada
19/294
Powered by Enderson Neves Cruz
Aula 01 – Introdução
Memória
Dispositivos I/O
Barramento de Endereços
Barramento de Dados
Barramento de Controle
CPU
Clock
19
Evolução histórica e conceitos básicos
-
8/17/2019 SEAI 2016 - Informática Aplicada
20/294
Powered by Enderson Neves Cruz
Aula 01 – Introdução
Evolução histórica e conceitos básicos
Pirâmide da automação (Automation System)
20
Aquisição de Dados e Controle Manual
Composto por máquinas, componentes e dispositivos daplanta, como sensores, atuadores e dispositivos de campo.
Sensores Transdutores Visão artificial Sistemas de identificação Leitores Atuadores elétricos, pneumáticos, hidráulicos Robótica Protocolos de comunicação AS-i e Hart;
-
8/17/2019 SEAI 2016 - Informática Aplicada
21/294
Powered by Enderson Neves Cruz
Aula 01 – Introdução
Evolução histórica e conceitos básicos
Pirâmide da automação (Automation System)
21
Controle Individual
Nível onde se encontram os sistemas que executam ocontrole automático das atividades da planta.
Controladores Lógicos Programáveis (CLP) Computadores de Placa Única (SBC) Controladores Programáveis para Automação (PAC) Computadores (PC) Inversores de Frequência e Controladores PID Sistema digital de controle distribuído (SBCD) Protocolos de comunicação: Profibus, DeviceNet,
Foundation Fieldbus, ModBus RTU e EtherCAT
-
8/17/2019 SEAI 2016 - Informática Aplicada
22/294
Powered by Enderson Neves Cruz
Aula 01 – Introdução
Evolução histórica e conceitos básicos
Pirâmide da automação (Automation System)
22
Controle de grupo – Célula de trabalhoGerenciamento e otimização de processo
Permite a supervisão do processo, normalmente possuibanco de dados com informações relativas ao processo.
Sistemas Supervisórios, de Controle e de Aquisição deDadosSCADA – Supervisory Control and Data Aquisition
Protocolos baseados em Ethernet como Profinet,Ethernet/IP, ModBus TCP/IP e EtherCAT
-
8/17/2019 SEAI 2016 - Informática Aplicada
23/294
Powered by Enderson Neves Cruz
Aula 01 – Introdução
Evolução histórica e conceitos básicos
Pirâmide da automação (Automation System)
23
Gerenciamento da planta
Nível responsável pela programação e pelo planejamento daprodução realizando o controle, a logística de suprimentos.
Sistema de Controle de ManufaturaMES – Manufacturing Execution System
Planejamento e Controle da Produção (PCP) Planejamento dos Recursos de Manufatura
MRP – Manufacturing Resource Planning Sistemas que integram ferramentas de planejamento com
o nível controle, tendo como objetivo gerir e otimizar osprocessos produtivos
-
8/17/2019 SEAI 2016 - Informática Aplicada
24/294
Powered by Enderson Neves Cruz
Aula 01 – Introdução
Evolução histórica e conceitos básicos
Pirâmide da automação (Automation System)
24
Planejamento estratégico e Gestão da empresa
Administração dos recursos da empresa.
Sistemas Integrados de Gestão Empresarial
ERP – Enterprise Resource Planning
Integram ferramentas para as áreas de finanças,manufatura, contábil, recursos humanos, marketing,vendas, compras entre outras, de diferentes unidadesfabris, de uma mesma empresa ou grupo de empresas,em diferentes localidades, até mesmo em diferentespaíses
-
8/17/2019 SEAI 2016 - Informática Aplicada
25/294
Powered by Enderson Neves Cruz
Aula 01 – Introdução
Evolução histórica e conceitos básicos
Pirâmide da automação (Automation System)
25
Aquisição de Dados e Controle Manual
Controle individual
Controle de grupoGerenciamento e otimização de processo
Gerenciamento da planta
Planejamento estratégico e Gestão da empresa
-
8/17/2019 SEAI 2016 - Informática Aplicada
26/294
Powered by Enderson Neves Cruz
Aula 01 – Introdução
Evolução histórica e conceitos básicos
Gerações de computadores
• Geração 0 – Computadores Mecânicos (Anterior a 1945)
• 1ª Geração – Válvulas (1945 à 1955)
• 2ª Geração – Transistores (1955 à 1965)
• 3ª Geração – Circuitos Integrados (1965 à 1980)• 4ª Geração – VLSI (1980 aos dias atuais)
• 5ª Geração – Conectividade, mobilidade, computadores “inteligentes”
26
-
8/17/2019 SEAI 2016 - Informática Aplicada
27/294
Powered by Enderson Neves Cruz
Aula 01 – Introdução
Evolução histórica e conceitos básicos
Geração 0 – Computadores Mecânicos (Anterior a 1945)
1703
LógicaFormal e matemática
Gottfried W. Leibniz
1854
ÁlgebraBooleana
George Boole
(1592-1635)
Primeira máquinade calcular
Wilhelm Schickard
Máquina de calcular Wilhelm Schickard
2400a.C
ÁbacoMesopotâmia
China
Ábaco
1642
Primeira máquinade calcular
Blaise Pascal
PascalineBlaise Pascal
1672
Máquina de calcularcom 4 operações
Gottfried W. Leibniz
Máquina de calcular Gottfried W. Leibniz
27
Sec. IX
Algoritmos
Sec. IIIa.C
Sistema binárioPingala
Índia
-
8/17/2019 SEAI 2016 - Informática Aplicada
28/294
Powered by Enderson Neves Cruz
Aula 01 – Introdução
Evolução histórica e conceitos básicos
Geração 0 – Computadores Mecânicos (Anterior a 1945)
1936
Z-1 Primeirocomputador a relés
Konrad Zuze
Máquina de Turing Alan Turing
1904
VálvulaJohn Ambrose Fleming
1801
Tear mecânicocom cartõesperfurados
Joseph Marie Jacquard
Tear mecânico com cartõesJoseph Marie Jacquard
1834
Máquina AnalíticaCharles Babbage
Ada Augusta Lovelace
Máquina AnalíticaCharles Babbage
1890
Máquina de tabulaçãoHerman Hollerith
Máquina de tabulaçãoHerman Hollerith
1944
MARK IUSA
Mark I
1911
Fundação daTabulating Machine
Company (TMC)Herman Hollerith
1924
IBM - InternationalBusiness MachinesThomas J. Watson
28
-
8/17/2019 SEAI 2016 - Informática Aplicada
29/294
Powered by Enderson Neves Cruz
Aula 01 – Introdução
Evolução histórica e conceitos básicos
1ª Geração – Válvulas (1945 à 1955)
1943
ColossusInglaterra
1952
IAS MachineJohn von Neumann
Princeton - EUA
1948 1951
Whirlwind IPrimeiro
computadorde tempo-real
MIT
Teoria da informaçãoClaude Shannon
UNIVACJ. Presper Ecker
John Mauchly
1946
ENIACElectronic Numerical
Integrator and Computer John Presper Eckert
e John Mauchly EUA
ENIAC
1953
IBM 701Primeiro
computadorcomercial
IBM
IBM 701
1947
Transistor John BardeenWalter Brattain
William Shockley Bell Labs
Transistor
29
-
8/17/2019 SEAI 2016 - Informática Aplicada
30/294
Powered by Enderson Neves Cruz
Aula 01 – Introdução
Evolução histórica e conceitos básicos
2ª Geração – Transistores (1955 à 1965)
1957
Fundação daDigital Computer Corporation (DEC)
Ken Olsen
FORTRANJohn W. Backus
IBM
1962
Jogo SpaceWar Slug Russel Shag Graetz Alan Kotok
MIT
1958
Circuito IntegradoJack Kilby (Texas)
Robert Noyce (Fairchild)
Circuito Integrado
BASICThomas Kurtz John Kemeny
1964
Supercomputador CDC 6600
Seymour Cray CDC
CDC 6600
COBOLPentágonoFabricantes
1961
1401IBM
1960
PDP-IDEC
PDP-1DEC
1956
TX-0Primeiro Computador
TransistorizadoMIT EUA
TX-0 MIT
30
-
8/17/2019 SEAI 2016 - Informática Aplicada
31/294
Powered by Enderson Neves Cruz
Aula 01 – Introdução
Evolução histórica e conceitos básicos
3ª Geração – Circuitos Integrados (1965 à 1980)
1971
Kenbak-1Primeiro
computador pessoal
1966
HP-2115Hewlett-Packard
Disco IBM RAMACIBM
LOGOSeymour Papert
1967 1969
ARPANETUSA ARMY
1972
Fundação daAtari
Nolan Bushnell
Linguagem CKen Thompson
Denis RichieBell Labs
Microprocessador Intel 4004
Intel
1968
Fundação daIntel CorporationGordon E. Moore
Robert Noyce
1965
Minicomputador PDP-8DEC
System/360IBM
System/360 IBM
UNIXKen Thompson
Denis RichieBell Labs
31
MATLABCleve Moler University ofNew Mexico
1970
PASCALNiklaus Wirth
-
8/17/2019 SEAI 2016 - Informática Aplicada
32/294
Powered by Enderson Neves Cruz
Evolução histórica e conceitos básicos
3ª Geração – Circuitos Integrados (1965 à 1980)
Aula 01 – Introdução
1979
VisiCalcPlanilha
Daniel BricklinRobert Frankston
Harvard
1973
EthernetRobert Metcalfe
Xerox
1980
Hard DiskSeagate
Apple II
Microcomputador pessoal Apple I
Steve JobsSteve Wozniak
Apple
1977
Microcomputador pessoal Apple II
Steve JobsSteve Wozniak
Apple
1975
Microcomputador pessoal
Altair 8800Kit de montar
MITS
1976
MicroprocessadorZilog Z80
1978
MicroprocessadorIntel 8088
32
-
8/17/2019 SEAI 2016 - Informática Aplicada
33/294
Powered by Enderson Neves Cruz
Evolução histórica e conceitos básicos
4ª Geração – VLSI (1980 aos dias atuais)
Aula 01 – Introdução
1983
Lotus 1-2-3Mitch Kapor
1987
Microcomputador PS/2IBM
1984
IBM PC-ATIBM
1985
INTERNETCD-ROM
Linguagem C++Bjarne Stroustrup
1988
MicroprocessadorIntel 80486
1986
Microcomputador Deskpro 386
Compaq
MicroprocessadorIntel 80386
1981
Microcomputador pessoal IBM PC
IBM
MS-DOSMicrosoft
IBM PC
33
Apple Macintosh
MacintoshMAC OS Apple
-
8/17/2019 SEAI 2016 - Informática Aplicada
34/294
Powered by Enderson Neves Cruz
Evolução histórica e conceitos básicos
4ª Geração – VLSI (1980 aos dias atuais)
Aula 01 – Introdução
1991
Power PC Apple
IBM Motorola
1995
PlayStationSony
1993
PDA Newton Apple
1998
GoogleLarry PageSergey Brin
Pentium IIIntel
iMAC Apple
Windows 98Microsoft
1994
NetscapeMarc Andreesen
Jim Clark
Microprocessador Pentium
Intel
Windows 3.0Microsoft
1999
LINUXLinus Torvalds
1990
HTMLWWW
Tim Berners-Lee
34
Toy StoryPixar
Windows 95Microsoft
JavaSun Microsystems
-
8/17/2019 SEAI 2016 - Informática Aplicada
35/294
Powered by Enderson Neves Cruz
Evolução histórica e conceitos básicos
4ª Geração – VLSI (1980 aos dias atuais)
Aula 01 – Introdução
2006
Core 2 DuoIntel
2000
Microprocessador Pentium III
Intel
Bug do Milênio
2001
MAC OS X Apple
Windows XPMicrosoft
2007
iPhone Apple
WiiNintendo
iPhone Apple
2010
Tablet iPad Apple
iPad Apple
2008
AndroidGoogle
Core i7Intel
2009
Windows 7Microsoft
35
iPod Apple
iPod Apple
-
8/17/2019 SEAI 2016 - Informática Aplicada
36/294
Powered by Enderson Neves Cruz
Aula 01 – IntroduçãoEstrutura básica de um sistema microcontrolado
Modelo de John von Neumann
Memória
Dispositivos I/O
Barramento de Endereços
Barramento de Dados
Barramento de Controle
CPU
Clock
CPU (Unidade central de processamento): Processa asinformações, executando as instruções armazenadas namemória e realizando as operações lógicas e aritméticas.
Memória. Armazena as instruções e os dados a seremexecutadas pela CPU
• Dispositivos I/O (Dispositivos de entrada e saída): Para
fazer comunicação digital com o mundo exterior.
• Barramento de dados: Por onde trafegam as informações(dados) a serem processadas.
• Barramento de endereços: Indica a posição de memóriaonde uma informação (dado) será escrita ou lida e pelaseleção do dispositivo que terá acesso ao barramento dedados.
• Barramentos de controle: Indica o tipo da operação (leitura
ou escrita) e onde a operação está sendo realizada (memóriaou dispositivo de I/O).
• Clock: Para manter todo o sistema sincronizado.
36
-
8/17/2019 SEAI 2016 - Informática Aplicada
37/294
Powered by Enderson Neves Cruz
Aula 01 – Introdução
Evolução histórica e conceitos básicos
ConceitosHardware
É a parte física do computador, ou seja, éo conjunto de componentes eletrônicos,circuitos integrados e placas, que secomunicam através de barramentos.
Software
É a parte lógica, ou seja, o conjunto deinstruções e dados processados pelocircuitos eletrônicos que compõe ohardware.
37
-
8/17/2019 SEAI 2016 - Informática Aplicada
38/294
Powered by Enderson Neves Cruz
-
8/17/2019 SEAI 2016 - Informática Aplicada
39/294
Powered by Enderson Neves Cruz
UNIDADE 1
Componentes de um sistema informatizado
-
8/17/2019 SEAI 2016 - Informática Aplicada
40/294
Powered by Enderson Neves Cruz
Unidade 1 – Sistema informatizado
Componentes de um sistema informatizado
40
Usuáriose
Processos
Hardware
Software
ProcedimentosBanco
de Dados
Rede
-
8/17/2019 SEAI 2016 - Informática Aplicada
41/294
Powered by Enderson Neves Cruz
Unidade 1 – Sistema informatizado
Componentes de um sistema informatizado
41
-
8/17/2019 SEAI 2016 - Informática Aplicada
42/294
Powered by Enderson Neves Cruz
Unidade 1 – Sistema informatizado
Componentes de um sistema informatizado
Máquina Multinível Contemporânea (Camadas)
Dispositivos Físicos
Dispositivos Físicos
• Componentes elétricos/eletrônicos e mecânicos básicos
que permitem a construção dos circuitos
- Circuitos integrados
- Transistores
- Fios
- Capacitores
- Resistores
- etc.
42
-
8/17/2019 SEAI 2016 - Informática Aplicada
43/294
Powered by Enderson Neves Cruz
Unidade 1 – Sistema informatizado
Componentes de um sistema informatizado
Máquina Multinível Contemporânea (Camadas)
Dispositivos Físicos
Micro Arquitetura
Micro Arquitetura
• Dispositivos físicos agrupados para formar unidades
funcionais como, etc.
- Memórias
- Registradores
- ULA(Unidade LógicaAritmética)
- etc.
43
-
8/17/2019 SEAI 2016 - Informática Aplicada
44/294
Powered by Enderson Neves Cruz
Unidade 1 – Sistema informatizado
Componentes de um sistema informatizado
Máquina Multinível Contemporânea (Camadas)
Dispositivos Físicos
Micro Arquitetura
Linguagem de Máquina
Linguagem de Máquina
• Conjunto de instruções interpretadas pelos dispositivos que
compõem a micro arquitetura.
• Toda fabricante publica um manual onde descreve o
conjunto das instruções de máquina (ISA)
• ISA – Instruction Set Architecture
• Assembly é o termo utilizado para linguagem de máquina
ou linguagem de montagem.
44
-
8/17/2019 SEAI 2016 - Informática Aplicada
45/294
Powered by Enderson Neves Cruz
Unidade 1 – Sistema informatizado
Componentes de um sistema informatizado
Máquina Multinível Contemporânea (Camadas)
Dispositivos Físicos
Micro Arquitetura
Linguagem de Máquina
Sistema Operacional
Sistema Operacional (SO)
• Responsável por gerenciar os dispositivos de hardware do
computador (como memória, unidade de disco rígido,
unidade de CD) e realizar a interação entre o usuário e
esses dispositivos.
• Oferecer o suporte para os outros programas funcionarem
(como Word, Excel etc.).
• Exemplos: UNIX, LINUX, Windows, Mac OS, iOS, Android,
etc.
45
-
8/17/2019 SEAI 2016 - Informática Aplicada
46/294
Powered by Enderson Neves Cruz
Unidade 1 – Sistema informatizado
Componentes de um sistema informatizado
Máquina Multinível Contemporânea (Camadas)
Dispositivos Físicos
Micro Arquitetura
Linguagem de Máquina
Sistema Operacional
Compiladores e Interpretadores
Compiladores e Interpretadores
• Programas que traduzem o código de fonte de uma
linguagem de programação de alto nível para uma
linguagem de programação de baixo nível (por exemplo:
assembly)
• Exemplos: Borland C++, Microsoft Visual Basic, etc.
46
-
8/17/2019 SEAI 2016 - Informática Aplicada
47/294
Powered by Enderson Neves Cruz
Unidade 1 – Sistema informatizado
Componentes de um sistema informatizado
Máquina Multinível Contemporânea (Camadas)
Dispositivos Físicos
Micro Arquitetura
Linguagem de Máquina
Sistema Operacional
Compiladores e Interpretadores
Aplicativos Aplicativos
• Um programa de computador que permite ao usuário fazer
uma ou mais tarefas específicas.
• Tem por objetivo o desempenho de tarefas, em geral
ligadas ao processamento de dados, como o trabalho em
escritório ou empresarial, lazer etc.
- Editores de texto, planilhas eletrônicas
- Tratamento de imagens
- Navegadores de internet
- Bancos de dados
- Jogos
47
-
8/17/2019 SEAI 2016 - Informática Aplicada
48/294
Powered by Enderson Neves Cruz
Unidade 1 – Sistema informatizado
Componentes de um sistema informatizado
Máquina Multinível Contemporânea (Camadas)
Dispositivos Físicos
Micro Arquitetura
Linguagem de Máquina
Sistema Operacional
Compiladores e Interpretadores
Aplicativos
Software
Hardware
48
-
8/17/2019 SEAI 2016 - Informática Aplicada
49/294
Powered by Enderson Neves Cruz
Unidade 1 – Sistema informatizado
Componentes de um sistema informatizado
Máquina Multinível Contemporânea (Camadas)
Nível de Lógica Digital
Nível de Microarquitetura
Nível de Arquitetura de Conjunto de Instruções (ISA)
Nível de Máquina de Sistema Operacional
Nível de Linguagem de Montagem (Assembly)
Nível de Linguagem Orientada a Problemas
Nível 0
Nível 1
Nível 2
Nível 3
Nível 4
Nível 5
Tradução (compilador)
Tradução (montador ou assembler )
Interpretação parcial (sistema operacional)
Interpretação (microprograma) ou execução direta
Hardware
(Portas lógicas)
(Memória, registradores e ALU)
(Instruções em linguagem de máquina)
(Híbrida – Instruções ISA ou SO)
(Mnemônicos para as Instruções em linguagem de máquina)
(Linguagens de alto nível: C, C++, Java, Visual Basic...)
49
-
8/17/2019 SEAI 2016 - Informática Aplicada
50/294
Powered by Enderson Neves Cruz
1. Análise: nessa etapa estuda-se o enunciado do problema para definir os dados de entrada, oprocessamento e os dados de saída.
2. Algoritmo: onde ferramentas do tipo descrição narrativas, fluxograma ou português estruturado(portugol) são utilizadas para o descrever o problema com suas soluções.
3. Codificação: onde o algoritmo é transformado em códigos da linguagem de programaçãoescolhida para ser trabalhada. Portanto, um programa é a codificação de um algoritmo em umadeterminada linguagem de programação. (ASCENCIO, 1999).
Linguagens de programação
Desenvolvimento de um programa
50
Unidade 1 – Sistema informatizado
1. AnáliseEntender o problema
2. AlgoritmoDesenhar a solução
3. CodificaçãoProgramar
-
8/17/2019 SEAI 2016 - Informática Aplicada
51/294
Powered by Enderson Neves Cruz 51
Unidade 1 – Sistema informatizado
Problema
Solução
Adaptação Algoritmo Programa
FonteCodificação Tradução
ProgramaExecutável
Linguagem deprogramação
Linguagens de programação
Desenvolvimento de um programa
“ Algoritmo é uma seqüência de passos que deve ser seguida
para a realização de uma tarefa”(ASCENCIO, 1999)
-
8/17/2019 SEAI 2016 - Informática Aplicada
52/294
Powered by Enderson Neves Cruz 52
Unidade 1 – Sistema informatizado
Linguagens de programação
Fases de desenvolvimento de um sistema
-
8/17/2019 SEAI 2016 - Informática Aplicada
53/294
Powered by Enderson Neves Cruz 53
Unidade 1 – Sistema informatizado
Linguagens de programação
TIOBE Programming Community Index for October 2011
Ranking de linguagens criado pelaTIOBE Software que demonstra, numperíodo de um ano, quais linguagens
tornam-se mais populares e quais vãoperdendo popularidade.
Fonte:
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
-
8/17/2019 SEAI 2016 - Informática Aplicada
54/294
Powered by Enderson Neves Cruz 54
Unidade 1 – Sistema informatizado
-
8/17/2019 SEAI 2016 - Informática Aplicada
55/294
Powered by Enderson Neves Cruz 55
http://ocw.mit.edu/index.htm
http://see.stanford.edu/see/courses.aspx
Referências
-
8/17/2019 SEAI 2016 - Informática Aplicada
56/294
Powered by Enderson Neves Cruz 56
Unidade 1 – Sistema informatizado
Linguagens de programação
Classificação das linguagens de programação
http://www.scriptol.com/programming/choose.php
Quanto a geração
Não existe consenso
– Primeira Geração: Linguagem de máquina
• Código de Máquina (0s e 1s).
– Segunda Geração:
• Linguagem de Montagem - Assembler
– Terceira Geração
• Imperativas: FORTRAN, Cobol, Basic, Algol, ADA, Pascal, C
• Lógicas e Funcionais: LISP, ML, Prolog
– Quarta Geração
• Geradores de Relatórios, Linguagens de Consultas: SQL, CSP
– Quinta Geração
• Orientação a objetos : Smalltalk, Java, Eiffel, Simula 67
– Sexta Geração ?
• Web e Linguagens Dinâmicas : Python, JavaScript, Ruby
Quanto ao grau de abstração
Linguagem de programação de baixo nível
Linguagem de programação de médio nível
Linguagem de programação de alto nível
Estrutura de tipos
Fracamente tipada
Fortemente tipada
Dinamicamente tipada
Estaticamente tipada.
Paradigma
-
8/17/2019 SEAI 2016 - Informática Aplicada
57/294
Powered by Enderson Neves Cruz 57
Unidade 1 – Sistema informatizado
Linguagens de programação
Paradigmas da programação
Forma de pensar do programador e como ele busca a solução dos problemas.
Restringe a utilização de técnicas de programação.
Conjunto de modelos, normas e padrões que estabelecem os princípios, funcionalidades eobjetivos de uma linguagem de programação existentes.
Visão que o programador possui sobre a estruturação e execução do programa.
• Procedimento, Função, Objeto ou Lógica? Linguagens de Programação vistas pelos seus paradigmas
Maria Cecília Calani Baranauskas http://www.nied.unicamp.br/publicacoes/arquivos/3XaQ1o8Nmk
• Programming Paradigms for Dummies: What Every Programmer Should Know
Peter Van Roy
-
8/17/2019 SEAI 2016 - Informática Aplicada
58/294
Powered by Enderson Neves Cruz 58
Unidade 1 – Sistema informatizado
Linguagens de programação
GAP Semântico
Diferença entre uma representação de um contexto do conhecimento (processo, problema, etc.)em uma linguagem poderosa (linguagem natural) e uma representação do conhecimento em uma
linguagem formal (linguagem de programação).
F o n t e : P a r a d i g m a s e L i n g
u a g e n s d e P r o g r a m a ç ã o
P r o f . M a n o e l G o m
e s d e M e n d o n ç a N e t o
-
8/17/2019 SEAI 2016 - Informática Aplicada
59/294
Powered by Enderson Neves Cruz 59
Unidade 1 – Sistema informatizado
Linguagens de programação
Paradigmas da programação
“More is not better (or worse) than less, just different.” “Mais não é melhor (ou pior) do que menos, apenas diferente.”
Peter Van Roy
Linguagens ConceitosParadigmas
Cada linguagem suportaum ou mais paradigmas
Cada paradigmaconsiste de um
conjunto deconceitos
-
8/17/2019 SEAI 2016 - Informática Aplicada
60/294
Powered by Enderson Neves Cruz 60
Unidade 1 – Sistema informatizado
Linguagens de programação
Paradigmas da programação
Programação não estruturada
Programação imperativa ou procedural
Programação estruturada
Linguagem orientada a objetos
Programação funcional
Programação natural
Programação lógica
http://academicearth.org/courses/programming-paradigms
http://see.stanford.edu/see/courseInfo.aspx?coll=2d712634-2bf1-4b55-9a3a-ca9d470755ee
-
8/17/2019 SEAI 2016 - Informática Aplicada
61/294
61
Programação não estruturada – Exemplo linguagem Assembly
Comandos em sequênciaordenada, ou declarações,
geralmente um em cada linha
As linhas são numeradas oupode ter etiquetas (labels),isto permite que o fluxo de
execução saltar paraqualquer linha do programa
Apresenta os conceitosbásicos de controle de
fluxo, como loops e saltos
Loop
Embora não existe o conceitode procedimentos, sub-rotinas
são permitidas.
Salto incondiconal
Não existe o conceito devariáveis locais, salvar ocontexto antes do uso deregistradores é comum.
-
8/17/2019 SEAI 2016 - Informática Aplicada
62/294
Powered by Enderson Neves Cruz 62
Unidade 1 – Sistema informatizado
Linguagens de programação
Programação não 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 concluído"
80 end
90 print i; "ao quadrado ="; i*i
100 goto 30
-
8/17/2019 SEAI 2016 - Informática Aplicada
63/294
Powered by Enderson Neves Cruz 63
Unidade 1 – Sistema informatizado
Linguagens de programação
Programação não estruturada
Vantagens
• Oferece grande liberdade aos programadores.
• Existem linguagens de programação de alto e baixo nívelque utilizam este paradigma.
Desvantagens
• Código dificilmente legível (“espaguete").
• Considerado inadequado para a criação de grandesprojetos.
-
8/17/2019 SEAI 2016 - Informática Aplicada
64/294
Powered by Enderson Neves Cruz 64
Unidade 1 – Sistema informatizado
Linguagens de programação
Programação não estruturada
Exemplos principais que utilizam este paradigma
Linguagem de montagem
Assembly
Primeiras versões do BASIC (Beginner's All-purpose Symbolic Instruction Code)
JOSS
FOCAL
MUMPS
TELCOMP
COBOL (COmmon Business-Oriented Language)
Algumas linguagens de script
Linguagem de arquivo em lotes (batch).
-
8/17/2019 SEAI 2016 - Informática Aplicada
65/294
Powered by Enderson Neves Cruz 65
Unidade 1 – Sistema informatizado
Linguagens de programação
Programação Procedural ou Imperativa
É o que mais se aproxima do uso da arquitetura von Neumann como modelo para representaçãoda solução de um problema a ser resolvido pela máquina.
Programas centrados no conceito de um estado (modelado por variáveis) e ações (comandos) quemanipulam o estado.
Programar o computador significa "dar-lhe ordens" que são executadas sequencialmente.
Programa SaídaEntrada
Estados
-
8/17/2019 SEAI 2016 - Informática Aplicada
66/294
Powered by Enderson Neves Cruz 66
Unidade 1 – Sistema informatizado
Linguagens de programação
Programação Procedural ou Imperativa
Representar a solução de um problema para ser resolvido pelo computador envolveescrever uma série de ações (procedimentos) que, se executadas sequencialmente, levam àsolução.
− Procedimentos ( procedures), também conhecidos como rotinas, subrotinas, métodos, oufunções contém um conjunto de passos computacionais a serem executados.
− Um procedimento pode ser chamado a qualquer hora durante a execução de um programa,inclusive por outros procedimentos ou por si mesmo.
Programação estruturada
Linguagem orientada a objetos
-
8/17/2019 SEAI 2016 - Informática Aplicada
67/294
Powered by Enderson Neves Cruz 67
Unidade 1 – Sistema informatizado
Linguagens de programação
Programação Estruturada
Estabelece que todos os programas possíveis podem ser reduzidos a apenas trêsestruturas:
− Sequencial
− Condicional/Seleção (if, then, else, elseif, switch, case)
− Iteração (repetição) (for, while, do while, do until, repeat)
Através destas três estruturas consegue-se criar procedimentos e funções, de fácil compreensão,e manutenção.
Restrição a utilização das estruturas de desvio incondicional (GoTo), pois tem a tendênciade tornar um programa incompreensível.
Geralmente é a primeira abordagem que alguém aprende em programação
Modularização - Separar o programa em partes (blocos) que possam ser logicamentedesenvolvidos e compreendidos de forma isolada.
-
8/17/2019 SEAI 2016 - Informática Aplicada
68/294
Powered by Enderson Neves Cruz 68
Unidade 1 – Sistema informatizado
Linguagens de programação
Programação Estruturada – Exemplo linguagem BASIC
dim i
i = 10
for i =1then to 10
print i; "ao quadrado ="; i*inext
print "Programa concluído"
Código mais simples
Código mais limpo
Código mais estruturado
Mais legível.
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 concluído"
80 end
90 print i; "ao quadrado ="; i*i
100 goto 30
EstruturadaNão estruturada
-
8/17/2019 SEAI 2016 - Informática Aplicada
69/294
Powered by Enderson Neves Cruz 69
Unidade 1 – Sistema informatizado
Linguagens de programação
Programação Estruturada – Exemplos usando linguagem C
Calculando número de caracteres.c
Fonte do exemplo: Fundamentos de Linguagem C - Centro Tecnológico de Mecatrônica – SENAI – Caxias do Sul/RS
Notas de alunos.c
-
8/17/2019 SEAI 2016 - Informática Aplicada
70/294
Powered by Enderson Neves Cruz 70
Unidade 1 – Sistema informatizado
Linguagens de programação
Programação Estruturada
Vantagens
• Eficiência (embute o modelo Von Neumann);
• Paradigma dominante e bem estabelecido;
• Modelagem “natural” de aplicações do mundo real;
• Muito flexivel;
• Permitir o reaproveitamento de código já construído;
• Evitar que um trecho de código que seja repetido váriasvezes dentro de um mesmo programa;
• Permitir a alteração de um trecho de código de umaforma mais rápida;
• Facilitar o entendimento do programa.
• O fato de utilizar uma função que já foi testada emdiversos programas, reduz o risco de erros. É como secostuma dizer: “não reinventar a roda”.
Desvantagens
• Focaliza o "como" e não “o que"
• Relacionamento indireto com a E/S:
− difícil legibilidade
− erros introduzidos durante manutenção
-
8/17/2019 SEAI 2016 - Informática Aplicada
71/294
Powered by Enderson Neves Cruz 71
Unidade 1 – Sistema informatizado
Linguagens de programação
Programação Estruturada
Exemplos principais que utilizam este paradigma
ABAP (Advanced Business Application Programming)
Ada
ALGOL (ALGOrithmic Language)
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)
-
8/17/2019 SEAI 2016 - Informática Aplicada
72/294
Powered by Enderson Neves Cruz 72
Unidade 1 – Sistema informatizado
Linguagens de programação
Programação Orientada a Objetos
Estende as linguagens imperativas com a introdução do conceitos de objetos.
As bases conceituais tem origem no campo de estudo da cognição no campo da abstraçãode conceitos do mundo real.
Mundo real está repleto de objetos.
Agrupa-se objetos semelhantes em classes.
Na compreensão do mundo real, as pessoas empregam constantemente três métodos de organização, sempre presentes emtodos os seus pensamentos:
1. Diferenciação, baseado na experiência de cada um, de objetos particulares e seus atributos.
Exemplo: quando distinguem uma árvore, e seu tamanho ou relações espaciais, dos outros objetos,
2. Distinção entre objetos como um todo e entre suas partes componentes.
Exemplo: quando separam uma árvore dos seus galhos.
3. Formação de, e distinção 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: Enciclopédia britânica
-
8/17/2019 SEAI 2016 - Informática Aplicada
73/294
Powered by Enderson Neves Cruz 73
Unidade 1 – Sistema informatizado
Linguagens de programação
Programação Orientada a Objetos
Estabelece que que um problema pode ser solucionado seguindo estas etapas:
− Procurar objetos existentes no problema.
− Determinar características e responsabilidades de cada objeto.
− Estabelecer como ocorrerá a interação entre os objetos.
Procura enxergar o sistema como um conjunto de objetos ( classes ) que interagem entre si e apresentam
características e comportamentos próprios ( métodos ) representados por seus atributos e suas operações
( mensagens ).
Os atributos estão relacionados aos dados, e as operações, aos processos que um objeto executa.
Alicerces da programação orientada a objetos
Abstração
Encapsulamento Herança
Polimorfismo
-
8/17/2019 SEAI 2016 - Informática Aplicada
74/294
Powered by Enderson Neves Cruz 74
Unidade 1 – Sistema informatizado
Linguagens de programação
Programação Orientada a Objetos
Mulher
Pessoa
Classe
Conjunto de objetos com características afins.Cada classe descreve um conjunto (possivelmente infinito) de objetos individuais.
É uma abstração que descreve propriedades importantes para uma aplicação e simplesmente ignora oresto.
Classe
Homem
-
8/17/2019 SEAI 2016 - Informática Aplicada
75/294
Powered by Enderson Neves Cruz 75
Unidade 1 – Sistema informatizado
Linguagens de programação
Programação Orientada a Objetos
Objeto
Entidade habilitada a ter um estado (informação) e oferece um determinado número de operações(comportamentos) que podem examinar ou afetar o estado do objeto. Instância de uma classe.
Um objeto é capaz de armazenar estados através de seus atributos e reagir a mensagens enviadas a ele, assimcomo se relacionar e enviar mensagens a outros objetos.
Homem Mulher
Pessoa
Objetos
Classe
Um objeto é umaentidade do mundoreal que tem uma
identidade.
Objetos podemrepresentar entidades
concretas ouentidades conceituais
1 S f
-
8/17/2019 SEAI 2016 - Informática Aplicada
76/294
Powered by Enderson Neves Cruz 76
Unidade 1 – Sistema informatizado
Linguagens de programação
Programação Orientada a Objetos
Homem Mulher
Pessoa
Objetos
Classe
MétodosDefinem as habilidades/comportamentos dos objetos.
É a implementação de uma operação para uma classe.
Atributos
São características de um objeto.
Rock star
Théo
Motociclista
Beatriz
Astronauta
Bailarina
Pode tocar bateria
Pode cultivar bonsais
Pode nadar
Pode lutar karatê
Pode pilotar
Pode controlar robôs
Pode lutar karatê
Pode nadar (rápido)
U id d 1 Si t i f ti d
-
8/17/2019 SEAI 2016 - Informática Aplicada
77/294
Powered by Enderson Neves Cruz 77
Unidade 1 – Sistema informatizado
Linguagens de programação
Programação Orientada a Objetos
Homem Mulher
Pessoa
Objetos
Classe
Mensagem ou Operação
Chamada a um objeto para invocar um de seus métodos, ativando um comportamento descrito por sua classe.Também pode ser direcionada diretamente a uma classe (através de uma invocação a um método estático).
Através das mensagens que um objeto solicita a outro que realize determinada tarefa.
Chamar o métodoThéo.Lutar_karatê
Chamar o métodoBeatriz.Controlar_robôs
Homem Mulher
Pessoa
Objetos
ClasseRock star
Théo
Motociclista
Beatriz
Astronauta
Bailarina
Pode tocar bateria
Pode cultivar bonsais
Pode nadar
Pode lutar karatê
Pode pilotar
Pode controlar robôs
Pode lutar karatê
Pode nadar (rápido)
U id d 1 Si t i f ti d
-
8/17/2019 SEAI 2016 - Informática Aplicada
78/294
Powered by Enderson Neves Cruz 78
Unidade 1 – Sistema informatizado
Linguagens de programação
Programação Orientada a Objetos
Ligações e Associações
Ligações e associações são os mecanismos para estabelecer relacionamentos entre objetos e classes.
Ligação é uma conexão física ou conceitual entre duas instâncias de objetos.
Associação descreve um grupo de ligações com estrutura e semântica comuns.
Uma ligação é uma instância de uma associação.
Mulher
Pessoa
Classe
Beatriz
Espacial
Empresa
Classe
NASABeatriz trabalha para a NASA
LIGAÇÂO
ASSOCIAÇÂO
Uma pessoa trabalha para uma empresa
U id d 1 Si t i f ti d
-
8/17/2019 SEAI 2016 - Informática Aplicada
79/294
Powered by Enderson Neves Cruz 79
Unidade 1 – Sistema informatizado
Linguagens de programação
Programação Orientada a Objetos
Abstração
Consiste de focalizar nos aspectos essenciais inerentes a uma entidade ou contexto e ignorar propriedades menosimportantes ou “acidentais'‘.
Em termos de desenvolvimento de sistemas, isto significa concentrar-se no que um objeto é e faz antes de sedecidir como ele será implementado.
O uso de abstração preserva a liberdade para tomar decisões de desenvolvimento ou de implementação apenasquando há um melhor entendimento do problema a ser resolvido.
Resumindo: É a capacidade de representar cenários complexos usando termos simples.
Mulher
Beatriz
Astronauta
Bailarina
Pode pilotar
Pode controlar robôs
Pode lutar karatê
Pode nadar (rápido)
Morena
Mulher, morena, astronauta, karateca,bailarina que nada muito rápido, quetrabalha na NASA controlando robôs.
Este conceito foi abstraído para o que conhecido como
Beatriz
U id d 1 Si t i f ti d
-
8/17/2019 SEAI 2016 - Informática Aplicada
80/294
Powered by Enderson Neves Cruz 80
Unidade 1 – Sistema informatizado
Linguagens de programação
Programação Orientada a Objetos
Encapsulação ou Encapsulamento
Consiste em separar os aspectos externos de um objeto, os quais são acessíveis a outros objetos, dos detalhesinternos de implementação do objeto, os quais permanecem escondidos dos outros objetos.
Garante que a alteração dos atributos seja feita somente através dos métodos, assim, os dados ficam protegidos.
O encapsulamento evita que um programa torne-se tão interdependente que uma pequena mudança tenha grandesefeitos colaterais.
Permite também que a implementação de um objeto possa ser modificada (melhoria de desempenho, correção deerros e mudança de plataforma de execução) sem afetar as aplicações que usam este objeto.
Resumindo: Tarefa de tornar um objeto o mais auto-suficiente possível.
Chamar o métodoThéo.Marcar_show
Não é necessário saber que oThéo é karateca e que sabe
nadar para contratar um show.
HomemHomem
Rock star
Théo
Motociclista
Pode tocar bateria
Pode cultivar bonsais
Pode nadarPode lutar karatê
U id d 1 Si t i f ti d
-
8/17/2019 SEAI 2016 - Informática Aplicada
81/294
Powered by Enderson Neves Cruz 81
Unidade 1 – Sistema informatizado
Linguagens de programação
Programação Orientada a Objetos
Herança
Permite compartilhar atributos e operações entre classes baseada em um relacionamento hierárquico.
Uma classe pode ser definida de forma genérica e depois refinada sucessivamente em termos de subclasses ouclasses derivadas.
Cada subclasse incorpora, ou herda, todas as propriedades (atributos e métodos) de sua superclasse (ou classe
base) e adiciona suas propriedades únicas e particulares. As propriedades da classe base não precisam ser repetidas em cada classe derivada.
Resumindo: Capacidade de uma classe herdar atributos e comportamento de uma outra classe.
Pessoa
Superclasse
Mulher Homem
Subclasse Subclasse
U id d 1 Si t i f ti d
-
8/17/2019 SEAI 2016 - Informática Aplicada
82/294
Powered by Enderson Neves Cruz 82
Unidade 1 – Sistema informatizado
Linguagens de programação
Programação Orientada a Objetos
Homem Mulher
Pessoa
Objetos
Classe
PolimorfismoSignifica que a mesma operação pode se comportar de forma diferente em classes diferentes.
Implica que uma operação de uma mesma classe pode ser implementada por mais de um método.
Théo BeatrizPode nadar
Pode lutar karatê Pode lutar karatê
Pode nadar (rápido)
U id d 1 Si t i f ti d
-
8/17/2019 SEAI 2016 - Informática Aplicada
83/294
Powered by Enderson Neves Cruz 83
Unidade 1 – Sistema informatizado
Linguagens de programação
Programação Orientada a Objetos
Processo de desenvolvimento JAVA
Máquina virtual
• Nome dado a uma máquina, implementada através de software, que executa programascomo um computador real.
• Cópia isolada e totalmente protegida de um sistema físico.
• JVM – Java Virtual Machine
Unidade 1 Sistema informatizado
-
8/17/2019 SEAI 2016 - Informática Aplicada
84/294
Powered by Enderson Neves Cruz 84
Unidade 1 – Sistema informatizado
Linguagens de programação
Programação Orientada a Objetos
Múltiplas plataformas
Unidade 1 Sistema informatizado
-
8/17/2019 SEAI 2016 - Informática Aplicada
85/294
Powered by Enderson Neves Cruz 85
Unidade 1 – Sistema informatizado
Linguagens de programação
Programação Orientada a Objetos
Unidade 1 Sistema informatizado
-
8/17/2019 SEAI 2016 - Informática Aplicada
86/294
Powered by Enderson Neves Cruz 86
Unidade 1 – Sistema informatizado
Linguagens de programação
Programação Orientada a Objetos
Vantagens
• Mesmas da programação estruturada.
• É tida como a melhor estratégia para se eliminar o gapsemântico“ quando utilizada para a modelagem deprocessos.
− Tenta simular objetos do mundo real em objetoscomputacionais, tornando a tarefa de modelagem e
programação mais simples.
− Busca modelar um ambiente utilizando-se dospróprios elementos presentes neste ambiente, ouseja, os objetos.
• Baseia-se fortemente na própria forma de pensar humana
• Os programas têm uma estrutura altamente modular (programação modular – LEGO), o que permite maior produtividade:
− Facilidade de controle e manutenção
− Reutilização de código
− Expansão (Agregação de módulos prontos)
Desvantagens
• Grande necessidade de memória e processamento.
• Grande complexidade de gerenciamento interno dasestruturas dos objetos, o que implica em velocidade deexecução menor.
• Difícil otimização de tempo de execução dos programas.
• O aprendizado inicial é bem mais complicado, devido aosconceitos serem complexos.
Fonte: ASCENIO, Ana F. Gomes; CAMPOS, Edilene A. Veneruchi. Fundamentos de Programação de Computadores.
Unidade 1 Sistema informatizado
-
8/17/2019 SEAI 2016 - Informática Aplicada
87/294
Powered by Enderson Neves Cruz 87
Unidade 1 – Sistema informatizado
Linguagens de programação
Programação Orientada a Objetos
Exemplo
Programa para cálculo o fatorial de n
JAVA – Linguagem Imperativa
int factorial-rec(int n) // n é um número >= 0
{
int factorial;int temp;
if (n = 0) return 1; // fatorial de 0 é 1
factorial = n;
temp = n -1; // temp armazena o próximo
return factorial * factorial-rec(temp);
}
Exemplo
Programa para cálculo o fatorial de n
PROLOG – Linguagem Lógica
fatorial(0,1).
fatorial(N,X) :- N1 is N – 1,
fatorial(N1,X1),
X is N * X1.
?- fatorial(3,X).
X=6
Fonte: ASCENIO, Ana F. Gomes; CAMPOS, Edilene A. Veneruchi. Fundamentos de Programação de Computadores.
Unidade 1 Sistema informatizado
-
8/17/2019 SEAI 2016 - Informática Aplicada
88/294
Powered by Enderson Neves Cruz 88
Unidade 1 – Sistema informatizado
Linguagens de programação
Programação Orientada a Objetos
Vantagens
• Mesmas da programação estruturada.
• É tida como a melhor estratégia para se eliminar o gapsemântico“ quando utilizada para a modelagem deprocessos.
− Tenta simular objetos do mundo real em objetoscomputacionais, tornando a tarefa de modelagem e
programação mais simples.
− Busca modelar um ambiente utilizando-se dospróprios elementos presentes neste ambiente, ouseja, os objetos.
• Baseia-se fortemente na própria forma de pensar humana
• Os programas têm uma estrutura altamente modular (programação modular – LEGO), o que permite maior produtividade:
− Facilidade de controle e manutenção
− Reutilização de código
− Expansão (Agregação de módulos prontos)
Desvantagens
• Grande necessidade de memória e processamento.
• Grande complexidade de gerenciamento interno dasestruturas dos objetos, o que implica em velocidade deexecução menor.
• Difícil otimização de tempo de execução dos programas.
• O aprendizado inicial é bem mais complicado, devido aos
conceitos serem complexos.
Unidade 1 Sistema informatizado
-
8/17/2019 SEAI 2016 - Informática Aplicada
89/294
Powered by Enderson Neves Cruz 89
Unidade 1 – Sistema informatizado
Linguagens de programação
Programação Orientada a Objetos
Exemplos principais que utilizam este paradigma
Linguagens OO Puras
Simula
Smalltalk
Eiffel Ruby
Linguagens estruturadasmas com suporte para OO
Visual Basic
Perl
COBOL 2002
PHP
ABAP
Desenvolvidas principalmente para OOmais com elementos delinguagens estruturais
C++ C#
VB.NET
Java
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
-
8/17/2019 SEAI 2016 - Informática Aplicada
90/294
Powered by Enderson Neves Cruz
Unidade 1 Sistema informatizado
-
8/17/2019 SEAI 2016 - Informática Aplicada
91/294
Powered by Enderson Neves Cruz 91
Unidade 1 – Sistema informatizado
Linguagens de programação
Programação Funcional
Utiliza as linguagens funcionais ou aplicativas
Surgiu com o desenvolvimento da linguagem Lisp (List Processing) por John McCarthy em 1958para atender aos interesses dos grupos de Inteligência Artificial no processamento de dadossimbólicos.
Programas são funções que descrevem uma relação explícita e precisa entre entrada e saída.
Isto é conseguido pensando-se na função que deve ser aplicada num estado de máquina inicialpara transformá-lo em um estado de máquina final desejado como resposta.
Estabelece o uso de funções matemáticas e composição de funções para representação do problema a ser resolvido pela máquina
Programa SaídaEntrada
Unidade 1 – Sistema informatizado
-
8/17/2019 SEAI 2016 - Informática Aplicada
92/294
Powered by Enderson Neves Cruz 92
Unidade 1 – Sistema informatizado
Linguagens de programação
Programação Funcional
Programas consistem em definições de dados e funções.
Programar significa:
− definir funções;
− aplicar funções;
− conhecer o comportamento de funções na máquina.
Enfoca a ausência de estados e dados mutáveis Linguagem declarativa
− Os mecanismos de controle no programa passam de iterativos a recursivos.
Funções não têm efeitos colaterais e são valores de primeira ordem.
Primeiro paradigma ensinado em várias universidades importantes: MIT, Stanford, Berkeley
Execução de um programa = Avaliação de expressões
Unidade 1 – Sistema informatizado
-
8/17/2019 SEAI 2016 - Informática Aplicada
93/294
Powered by Enderson Neves Cruz 93
Unidade 1 – Sistema informatizado
Linguagens de programação
Programação Funcional
Exemplo
Programa para cálculo o fatorial de n
JAVA – Linguagem Imperativa
int factorial-rec(int n) // n é um número >= 0
{
int factorial;int temp;
if (n = 0) return 1; // fatorial de 0 é 1
factorial = n;
temp = n -1; // temp armazena o próximo
return factorial * factorial-rec(temp);
}
Exemplo
Programa para cálculo o fatorial de n
LISP – Linguagem funcional
(defun factorial (n)
(if ( 0
Unidade 1 – Sistema informatizado
-
8/17/2019 SEAI 2016 - Informática Aplicada
94/294
Powered by Enderson Neves Cruz 94
Unidade 1 – Sistema informatizado
Linguagens de programação
Programação Funcional
Exemplo de trecho de código Linguagem J funcional
A entradas são as funções seno e cosseno Modelo matemático de um neurônio
Unidade 1 – Sistema informatizado
-
8/17/2019 SEAI 2016 - Informática Aplicada
95/294
Powered by Enderson Neves Cruz 95
Unidade 1 Sistema informatizado
Linguagens de programação
Programação Funcional
Vantagens
• Manipulação de programas mais simples:
− Prova de propriedades
− Transformação (exemplo: otimização)
− Concorrência explorada de forma natural
• Programação com um alto nível de abstração:
− alta produtividade
− programas mais concisos
− menos erros
− provas de propriedades sobre programas
Desvantagens
• “O mundo não é funcional!”
− Esforço inicial não-desprezível
• Mecanismos primitivos de E/S e formatação
− Interface com o usuário
Unidade 1 – Sistema informatizado
-
8/17/2019 SEAI 2016 - Informática Aplicada
96/294
Powered by Enderson Neves Cruz 96
Unidade 1 Sistema informatizado
Linguagens de programação
Programação Funcional
Exemplos principais que utilizam este paradigma
LISP (LISt Processing)
Miranda
Haskell
Orwell
ML
KRC
LML
SASL
Scheme
Linguagem J
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
Unidade 1 – Sistema informatizado
-
8/17/2019 SEAI 2016 - Informática Aplicada
97/294
Powered by Enderson Neves Cruz 97
Unidade 1 Sistema informatizado
Linguagens de programação
Programação Lógica
Programação lógica é um paradigma de programação que faz uso da lógica matemática.
Também chamada programação baseada em regras são linguagens baseada na lógica depredicados, onde uma série de regras são definidas para que o programa tome ações apropriadaspara cada estado habilitador.
Programas são relações entre entrada e saída.
Representar um problema a ser resolvido no computador, consiste
em expressar o problema na forma de lógica simbólica.
Programa SaídaEntrada
Unidade 1 – Sistema informatizado
-
8/17/2019 SEAI 2016 - Informática Aplicada
98/294
Powered by Enderson Neves Cruz 98
Unidade 1 Sistema informatizado
Linguagens de programação
Programação Lógica
O Programa é uma base de conhecimento a respeito de certo domínio e por perguntasfeitas a essa base de conhecimento, independentemente
Sintaxe
Base de
conhecimento
PERGUNTA RESPOSTA
Unidade 1 – Sistema informatizado
-
8/17/2019 SEAI 2016 - Informática Aplicada
99/294
Powered by Enderson Neves Cruz 99
Unidade 1 Sistema informatizado
Linguagens de programação
Programação Lógica
Exemplo
PROLOG
papagaio("Ze Carioca").
ave(X) :- papagaio(X).
?- ave("Ze Carioca").
Zé Carioca é uma ave?
"Zé Carioca é um papagaio"
"Todo papagaio é uma ave"ou
"se X é um papagaio, então X é uma ave"
FATO
Regra
Consulta
Unidade 1 – Sistema informatizado
-
8/17/2019 SEAI 2016 - Informática Aplicada
100/294
Powered by Enderson Neves Cruz 100
Unidade 1 Sistema informatizado
Linguagens de programação
Programação Lógica
Exemplo
Programa para cálculo o fatorial de n
JAVA – Linguagem Imperativa
int factorial-rec(int n) // n é um número >= 0
{
int factorial;int temp;
if (n = 0) return 1; // fatorial de 0 é 1
factorial = n;
temp = n -1; // temp armazena o próximo
return factorial * factorial-rec(temp);
}
Exemplo
Programa para cálculo o fatorial de n
PROLOG – Linguagem Lógica
fatorial(0,1).
fatorial(N,X) :- N1 is N – 1,fatorial(N1,X1),
X is N * X1.
?- fatorial(3,X).
X=6
fatorial(n) = n * fatorial(n-1), para n > 0
Unidade 1 – Sistema informatizado
-
8/17/2019 SEAI 2016 - Informática Aplicada
101/294
Powered by Enderson Neves Cruz 101
Unidade 1 Sistema informatizado
Linguagens de programação
Programação Lógica
Pode ser visto como um formalismo para representar conhecimento a respeito do problema que sequer resolver, de forma declarativa (descritiva) como no paradigma funcional.
Por trás do programa existe uma máquina de inferência, em princípio "escondida" do programador,responsável por "encontrar soluções" para o problema descrito.
Na prática, inclui características imperativas, por questão de eficiência.
Aplicações principais
Sistemas Baseados em Conhecimento (SBCs);
Sistemas de Bases de Dados (BDs);
Sistemas Especialistas (SEs);
Processamento da Linguagem Natural (PLN)
Inteligência Artificial
Unidade 1 – Sistema informatizado
-
8/17/2019 SEAI 2016 - Informática Aplicada
102/294
Powered by Enderson Neves Cruz 102
Unidade 1 Sistema informatizado
Linguagens de programação
Programação Lógica
Vantagens
• Linguagem de programação e de especificação;
• Capacidade dedutiva;
• Opera de forma não-determinística;
• Permite a representação de relações reversíveis;
• Interpretação declarativa, procedimental e operacional;
• Naturalmente recursiva.
• Separação entre lógica de programa e controle
• Programas fáceis de entender e manter
Desvantagens
• Eficiência
• Baixa expressividade para certas aplicações
Unidade 1 – Sistema informatizado
-
8/17/2019 SEAI 2016 - Informática Aplicada
103/294
Powered by Enderson Neves Cruz 103
U dade S ste a o at ado
Linguagens de programação
Programação Lógica
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/
Unidade 1 – Sistema informatizado
-
8/17/2019 SEAI 2016 - Informática Aplicada
104/294
Powered by Enderson Neves Cruz 104
Linguagens de programação
Comparativo entre as linguagens
• An Empirical Comparison of Seven Programming Languages
Lutz Prechelt - University of Karlsruhe
Paradigma LPs Estrutura Característica
ImperativasEstruturada Programa = algoritmo + dados Modularização
Orientada a objetos Programa = objetos + mensagens Encapsulamento
Funcionais Programa = funções + funções Raciocínios
Lógicas Programa = fatos + regras Respostas
Orientadaaagentes Agent-oriented
Baseadaemautômatos Automata-based
Baseadoemcomponentes Component-based
Baseado emfluxo Flow-based
Pipeline Pipelined
Concatenativa Concatenative
Computação simultânea Concurrentcomputing
Programação relativística Relativisticprogramming
Data-driven Data-driven
Declarativa(contraste:Imperativo) Declarative (contrast: Imperative)
Constrangimento Constraint
Fluxodedados Dataflow
Orientadaatabelas(planilhas) Cell-oriented (spreadsheets)
Reativo Reactive
Lógica Logic
Lógicaabdutiva Abductive logic
Conjunto resposta Answerset
Lógicarest ritiva Constraintlogic
Lógicafuncional Functional logic
Lógicaindutiva Inductive logic
Event-driven Event-driven
Orientadaaserviços Service-oriented
Time-driven Time-driven
Orientadaaexpressões Expression-oriented
Orientadaacaracterísticas Feature-oriented
NíveldeFunção (contraste:Valor-nível) Function-level (contrast: Value-level)
Funcional Functional
Genérico Generic
Imperativo (contraste:declarativa) Imperative (contrast: Declarative)
Processuais Procedural
Linguagemorientada Language-oriented
Disciplina específica, Discipline-specific
Domínioesp ecífico, Domain-specific
Orientadaagramática Grammar-oriented
Dialética Dialecting
Intencional Intentional
Metaprogramação Metaprogramming
Automático Automatic
Reflexo Refletiva Reflective
Orientadaaatributos Attribute-oriented
Modelo Template
Orientadaapolíticas Policy-based
Não-estruturadas(contraste:Estruturada) Non-structured (contrast: Structured)
Matriz Array
Nãodeterminísticas Nondeterministic
Computação paralela Parallel computing
Orientadaao processo Process-oriented
Programação emgrande/pequenaescala Programmingin thelarge / small
Semântico Semantic
Estruturado(contraste:não estruturadas) Structured (contrast: Non-structured)
Modular(contraste:Monolítica) Modular(contrast: Monolithic)
Orientadaaobjeto Object-oriented
Pelaseparação deinteresses: Byseparation of concerns:
Orientadaaatributos Aspect-oriented
Orientadaaregras Role-oriented
Passagemdemensagens Subject-oriented
Baseadaemclasse Class-based
Baseadaemprotótipo Prototype-based
Relação deparadigmas
Unidade 1 – Sistema informatizado
-
8/17/2019 SEAI 2016 - Informática Aplicada
105/294
Powered by Enderson Neves Cruz 105
Sistemas Operacionais
Introdução
Definição
Conjunto de programas que se situa entre ossoftwares aplicativos e o hardware, tendo como
função:• Gerenciar os recursos do computador (CPU,
periféricos).
• Estabelecer uma interface com o usuário.
• Prover e executar serviços para softwaresaplicativos
Dispositivos Físicos
Micro Arquitetura
Linguagem de Máquina
Sistema Operacional
Compiladores e Interpretadores
Aplicativos
Unidade 1 – Sistema informatizado
-
8/17/2019 SEAI 2016 - Informática Aplicada
106/294
Powered by Enderson Neves Cruz 106
Sistemas Operacionais
Funcionamento do SO
Os programas solicitam serviços ao sistema operacional através das chamadas de sistema.
− São semelhantes às chamadas de sub-rotinas, enquanto as chamadas de sub-rotinas sãotransferências para procedimentos normais do programa, as chamadas de sistematransferem a execução para o sistema operacional.
− Através de parâmetros, 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
execução do programa seja retomada a partir da instrução que segue a chamada.
Núcleo ou kernel Parte do sistema operacional responsável por implementar as chamadas de sistema.
Unidade 1 – Sistema informatizado
-
8/17/2019 SEAI 2016 - Informática Aplicada
107/294
Powered by Enderson Neves Cruz 107
Sistemas Operacionais
Funcionamento do SO
Mais importante programa de sistema.
É ativado pelo sistema operacional sempre que um usuário inicia sua sessão de trabalho.
Interface gráfica de usuário (GUI – Graphical User Interface)
Programas de sistema (Utilitários) – Programas que implementam tarefas básicas para autilização do sistema, por exemplo são os utilitários para manipulação de arquivos (exibir arquivo,imprimir arquivo, copiar arquivo, renomeararquivo, listar o conteúdo de diretório, etc.).
− Muitas vezes são confundidos com o próprio sistema operacional.
− São executados fora do kernel do sistema operacional.− Eles utilizam as mesmas chamadas de sistema disponíveis aos demais programas.
interpretador de comandosRecebe comandos do usuário e executá-os.
Unidade 1 – Sistema informatizado
-
8/17/2019 SEAI 2016 - Informática Aplicada
108/294
Powered by Enderson Neves Cruz 108
Sistemas Operacionais
Tarefas do Sistema Operacional
Gerenciamento do processador
Gerenciamento da memória
Gerenciamento de armazenamento
Gerenciamento de dispositivos de entrada e saída
Interface de aplicativos (atendimento a serviços de software)
Interface do usuário
Utilitários e softwares de apoio
Unidade 1 – Sistema informatizado
-
8/17/2019 SEAI 2016 - Informática Aplicada
109/294
Powered by Enderson Neves Cruz 109
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 possível para realizar as tarefas.
A unidade básica do software com a qual o sistema operacional trabalha paraorganizar as tarefas realizadas pelo processador é representada pelo processo ou
thread, dependendo do sistema operacional.
− Faz as chamadas de sistema, ao executar um programa.
Multitarefa
Sistemas operacionais simétricos e assimétricos
operating-system-multitask.swf
operating-system-asymmetric.swf
operating-system-symmetric.swf
Unidade 1 – Sistema informatizado
-
8/17/2019 SEAI 2016 - Informática Aplicada
110/294
Powered by Enderson Neves Cruz 110
Sistemas Operacionais
Gerenciamento da memória
Prover os mecanismos necessários para que os diversos processos compartilhem a memória deforma segura e eficiente.
Cada processo deve ter memória suficiente para ser executado. Ele não pode utilizar a memóriade outro processo e outro processo também não pode utilizar a sua memória.
Os diferentes tipos de memória no sistema devem ser bem utilizados para que cada processo sejaexecutado de forma eficaz.
Para realizar a primeira tarefa, o sistema operacional tem de definir os limites de memória paracada tipo de software e aplicativo.
A técnica particular que determinado sistema operacional emprega depende, entre outras coisas,de o que a arquitetura do computador em questão suporta.
operating-system-memory.swf
Unidade 1 – Sistema informatizado
-
8/17/2019 SEAI 2016 - Informática Aplicada
111/294
Powered by Enderson Neves Cruz 111
Sistemas Operacionais
Gerenciamento da memória
Memória lógica de um processo é aquela que o processo é capaz de acessar.
− Os endereços manipulados pelo processo são endereços lógicos
− As instruções de máquina de um processo especificam endereços lógicos.
Memória física é aquela implementada pelos circuitos integrados de memória.
− O endereço físico é aquele usado para endereçar os circuitos integrados de memória.
Paginação
Segmentação
Unidade 1 – Sistema informatizado
-
8/17/2019 SEAI 2016 - Informática Aplicada
112/294
Powered by Enderson Neves Cruz 112
Sistemas Operacionais
Gerenciamento de armazenamento
O sistema de arquivos é a parte do sistema operacional mais visível para os usuários.
A manipulação de arquivos exige que o sistema de arquivos apresente uma interface coerente esimples, fácil de usar.
São necessárias estruturas de dados e algoritmos que otimizem os acessos a disco gerados pelamanipulação de arquivos, devido a diferença de velocidade entre os discos e a memória RAM.
ARQUIVOS
Sistemas de arquivos implementam um recurso em software que não existe no hardware.
O hardware oferece simplesmente espaço em disco, na forma de setores que podem ser acessados individualmente, em uma ordem aleatória.
O conceito de arquivo, muito mais útil que o simples espaço em disco, é uma abstração criadapelo sistema operacional.
− Recurso lógico a partir dos recursos físicos existentes no sistema computacional.
Unidade 1 – Sistema informatizado
-
8/17/2019 SEAI 2016 - Informática Aplicada
113/294
Powered by Enderson Neves Cruz 113
Sistemas Operacionais
Gerenciamento de entrada e saída
O objetivo tentar padronizar ao máximo as rotinas de acesso aos periféricos de forma a reduzir onúmero de primitivas de entrada e saída.
Também facilita a inclusão de novos dispositivos, minimizando a necessidade de alterar a interfacede programação do usuário.
Estrutura de quatro camadas do subsistema de gerenciamento de entrada/saída
Unidade 1 – Sistema informatizado
-
8/17/2019 SEAI 2016 - Informática Aplicada
114/294
Powered by Enderson Neves Cruz 114
Sistemas Operacionais
Gerenciamento de entrada e saída
Drivers de dispositivos (device drivers)
Conjunto de módulos de software implementadospara fornecer os mecanismos necessários ao
acesso de um dispositivo de entrada e saídaespecífico.
O principal objetivo dos drivers de dispositivos é“esconder” as diferenças entre os váriosdispositivos de entrada e saída fornecendo àcamada superior uma “visão uniforme” dessesdispositivos através de uma interface deprogramação única.
Unidade 1 – Sistema informatizado
-
8/17/2019 SEAI 2016 - Informática Aplicada
115/294
Powered by Enderson Neves Cruz 115
Sistemas Operacionais
Gerenciamento de entrada e saída
E/S Independente do Dispositivo
A camada de software de E/S independentedo dispositivo implementa procedimentos efunções gerais a todos os dispositivos deentrada e saída:
− Escalonamento de E/S− Denominação
− Buferização
− Cache de dados
− Alocação e liberação
− Direitos de acesso
− Tratamento de erros
Unidade 1 – Sistema informatizado
-
8/17/2019 SEAI 2016 - Informática Aplicada
116/294
Powered by Enderson Neves Cruz 116
Sistemas Operacionais
Gerenciamento de entrada e saída
Entrada e Saída a Nível de Usuário
A “visão” que um usuário possui dos dispositivosde entrada e saída de um sistema é fornecida por
uma interface de programação associada asbibliotecas de entrada e saída, ou aos ambientesde desenvolvimento.
O fabricante do compilador de uma linguagem deprogramação é responsável então por implementar e fornecer rotinas que realizamentrada e saída para um determinado sistema.
A interface de programação depende da
linguagem em si.
-
8/17/2019 SEAI 2016 - Informática Aplicada
117/294
Powered by Enderson Neves Cruz
UNIDADE 2
A Informática como ferramenta
Referências
-
8/17/2019 SEAI 2016 - Informática Aplicada
118/294
Powered by Enderson Neves Cruz
Banco de Dados
• KORTH, Henry F., SILBERSCHATZ, Abraham. Sistema de bancos de dados.
Campus, 2006. 1ª Edição. 808p.• DATE, C. J. Introdução a sistemas de bancos de dados.
Campus, 2004. 8ª Edição. 900p.
• ELMASRI, Ramez; NAVATHE, Shamkant B. Sistema de banco de dados.
Pearson Education do Brasil, 2011. 6ª Edição. 790p.
• TAKAI, O.K.; ITALIANO I.C.; Ferreira, J.E. Introdução a banco de dados.
IME – Universidade de São Paulo, 2005. 1ª Edição. 124p.
• LIU, Ling; ÖZSU, M. Tamer (Eds.). Encyclopedia of Database Systems.Springer US, 2009. 1ª Edição. 3849p.
• RAMAKRISHNAN, R.; GEHRKE, J.. Database Management Systems.
McGrow-Hill, 2003. 3ª Edição. 1098p.
• HEUSER, Carlos Alberto. Projeto de Banco de Dados - Volume 4 da Série Livros Didáticos Informática UFRGS.
Artmed, 2008. 6ª Edição. 282p.
• PIVA, Gustavo Dibbern; OLIVEIRA, Wilson J.. Informática, análise e gerenciamento de dados.
Fundação Padre Anchieta, 2010. 1ª Edição. 106p.
118
Unidade 2 – A Informática como ferramenta
-
8/17/2019 SEAI 2016 - Informática Aplicada
119/294
Powered by Enderson Neves Cruz 119
Bancos de dados
Conceitos
Propriedades implícitas
Representa algum aspecto do mundo real, chamado minimundo ou universo de discurso.
É uma coleção logicamente coerente de dados com algum significado inerente.
Uma disposição desordenada de dados não pode ser referenciada como um banco de dados.
Um BD ou DB é projetado, construído e populado com dados para uma finalidade específ