Você está na página 1de 169

Introdução à

Computação

www.esab.edu.br
Introdução à
Computação

Vila Velha (ES)


2013
Escola Superior Aberta do Brasil
Diretor Geral
Nildo Ferreira
Diretor Acadêmico
Beatriz Christo Gobbi
Coordenadora do Núcleo de Educação a Distância
Beatriz Christo Gobbi
Coordenadora do Curso de Administração EAD
Rosemary Riguetti
Coordenador do Curso de Pedagogia EAD
Claudio David Cari
Coordenador do Curso de Sistemas de Informação EAD
David Gomes Barboza

Produção do Material Didático-Pedagógico


Delinea Tecnologia Educacional / Escola Superior Aberta do Brasil
Diretoria Executiva Design Educacional
Charlie Anderson Olsen Giovana Spiller
Larissa Kleis Pereira Revisão Gramatical
Margarete Lazzaris Kleis Elaine Monteiro Seidler
Thiago Kleis Pereira Érica da Silva Martins Valduga
Conteudista Paulo de Tarso Vieira
Anita Maria da Rocha Fernandes Design Gráfico
Coordenação de Projeto Neri Gonçalves Ribeiro
Andreza Lopes Diagramação
Patrícia Battisti Fernando Andrade
Supervisão de Design Educacional Equipe Acadêmica da ESAB
Barbara da Silveira Vieira Coordenadores dos Cursos
Supervisão de Revisão Gramatical Docentes dos Cursos
Andrea Minsky
Supervisão de Design Gráfico
Laura Martins Rodrigues

Copyright © Todos os direitos desta obra são da Escola Superior Aberta do Brasil.
www.esab.edu.br
Av. Santa Leopoldina, nº 840
Coqueiral de Itaparica - Vila Velha, ES
CEP 29102-040
Apresentação
Caro estudante,

Seja bem vindo à ESAB. A Escola Superior Aberta do Brasil, funda-se no princípio
básico de atuar com educação a distância, utilizando como meio, tão somente,
a internet. Em 2004,foi especialmente credenciada para ofertar cursos de pós-
graduação a distância, via e-learning, utilizando-se de software próprio denominado
Campus Online.

Em 2009 foi credenciada com Instituição de Ensino Superior – IES, através da


portaria MEC nº 1242/2009, de 30 de dezembro de 2009, ocasião em que também foi
autorizada a ofertar o curso de pedagogia – licenciatura, na modalidade presencial,
conforme portaria MEC nº 14/2010, de 9 de janeiro de 2010.

Em outubro de 2012 recebeu o Prêmio Top Educação 2012, da Editora Segmento,


sendo reconhecida como a Melhor Instituição de Ensino EAD para Docentes.

Em 2013 é aprovada para a oferta dos cursos de: Administração (Bacharelado);


Pedagogia (Licenciatura) e Sistemas de Informação (Bacharelado), todos na
modalidade EAD, com avaliação máxima das comissões avaliadoras.

Nesta disciplina de Introdução à Computação você conhecerá a história da


computação, seus desafios atuais e suas principais áreas, além de aprender como
funciona um computador.

Ao longo das unidades, elaboradas com base nos autores Guimarães e Lages (2001),
Meirelles (2004) e Fedeli (2003), você estudará cada componente e funcionalidade
do computador e verá as potencialidades da computação. Este conhecimento que
você vai adquirir ajudará nos desafios cotidianos da informática e também permitirá
que você vislumbre uma variedade de oportunidades na sua vida profissional, pois
mostrará as potenciais aplicações da computação na sociedade.

Aproveite bem os seus estudos sobre esta fascinante área do conhecimento humano.

Bom estudo!

Equipe Acadêmica da ESAB


Objetivo
O nosso objetivo é formar profissionais qualificados para atuar na área de Sistemas
de Informação, com vistas a torná-los aptos a lidar com os avanços da informática e
suas consequências para a sociedade, sempre mantendo a ética profissional.

Competências e habilidades
• Conhecer a história da Computação e as principais áreas da Ciência da Computação
e suas potencialidades.
• Entender o funcionamento do computador e seus componentes.
• Relatar a história da Computação e enumerar suas principais áreas e
potencialidades.
• Identificar os componentes e as funcionalidades do computador.

Ementa
História da Computação. Componentes de hardware e software. Uso versus
funcionamento interno de computadores. Organização de computadores. Teoria
da Computação. Linguagem de computador. Sistemas operacionais. Redes de
computadores. Sistemas distribuídos. Engenharia de software. Matemática na
computação. Tecnologias da informação: banco de dados, computação gráfica,
segurança, inteligência artificial. Computação e ética.
Sumário
1. História da computação: a linha do tempo.......................................................................6
2. História da computação: os grandes desafios atuais......................................................12
3. Noções de hardware.......................................................................................................16
4. Noções de software........................................................................................................26
5. Funcionamento do computador: noções gerais..............................................................31
6. Como o computador armazena os dados?......................................................................35
7. A Teoria da Computação.................................................................................................43
8. A linguagem dos bits e bytes..........................................................................................49
9. Os sistemas operacionais...............................................................................................57
10. As redes de computadores.............................................................................................63
11. A Engenharia de Software: conceitos gerais...................................................................72
12. A Engenharia de Software: o que é usabilidade?............................................................78
13. Os sistemas distribuídos.................................................................................................84
14. A matemática e a computação.......................................................................................90
15. A Tecnologia da Informação: conceitos básicos..............................................................99
16. A Tecnologia da Informação e a TI Verde.......................................................................103
17. Banco de dados............................................................................................................108
18. Computação gráfica: conceitos básicos........................................................................115
19. Computação gráfica: realidade virtual.........................................................................121
20. Inteligência Artificial: conceitos básicos.......................................................................126
21. Inteligência Artificial: data mining...............................................................................133
22. Inteligência Artificial: aplicações gerais.......................................................................139
23. Segurança em informática...........................................................................................144
24. Ética em informática....................................................................................................150
Glossário.............................................................................................................................156
Referências.........................................................................................................................164
História da computação: a linha do
1 tempo
Objetivo
Conhecer a história da computação, seus principais personagens e sua
influência na sociedade.

Para traçar um panorama da história da computação, primeiramente


convidamos você a refletir sobre o termo computação. Ele está associado
à palavra cálculo, do termo latino calculus, utilizado para denominar
pequenas pedras que eram usadas para contar, deslizando-as por sulcos
cavados no chão e que mais tarde chamaríamos de ábaco. A partir dele, a
humanidade passou a buscar novos dispositivos de cálculo, chegando aos
computadores que temos hoje. Vamos conhecer essa evolução?!

Foi no fim do século XVI que o matemático John Napier (1550-1617)


criou um dispositivo baseado em bastões que continham números e era
capaz de multiplicar e dividir de forma automática. Ele também idealizou
uma calculadora com cartões que efetuava multiplicações, chamada de
Estruturas de Napier (FEDELI, 2003; GUIMARÃES; LAGES, 2001).

Mas outras ocorrências também são importantes para pontuarmos essa


história. Vamos apontar as datas e os protagonistas dessa narrativa, a
partir de Fedeli (2003) e Guimarães e Lages (2001):

• 1623: o alemão Wilhelm Schickard (1592-1635) constrói uma


calculadora mecânica baseada em rodas dentadas capaz de
multiplicar por meio do método de somas sucessivas;
• 1642: o matemático e filósofo francês Blaise Pascal (1623-1662)
inventa a primeira máquina automática de calcular, constituída
de rodas dentadas, que simulava o funcionamento do ábaco. A
máquina realizava operações de soma e subtração, mostrando o
resultado em uma série de janelinhas, conhecida como a Máquina
aritmética de Pascal (FEDELI, 2003);

www.esab.edu.br 6
• 1638-1650: criação (de inventor incerto) da régua de cálculo, uma
pequena régua com uma parte deslizante sobre uma base fixa na qual
havia diversas escalas para a realização de determinadas operações;
• 1666: Samuel Morland (1625-1695), matemático inglês, inventou a
Máquina aritmética de Morland, que realizava operações de soma
e subtração;
• 1672: Gottfried Wilhelm von Leibniz, matemático alemão,
aprimorou a máquina de Pascal, obtendo a Calculadora universal,
que somava, subtraía, multiplicava, dividia e extraía a raiz quadrada;
• 1773-1779: Philipp Mathieus Hahn projetou e construiu
uma máquina de calcular capaz de realizar as quatro operações
matemáticas básicas (ALCADE; GARCIA; PENUELAS, 2000);
• 1801: Joseph Marie Jacquard (1752-1834), mecânico francês,
construiu um tear automático com entrada de dados através de
cartões perfurados para controlar a confecção dos tecidos e seus
desenhos. Trata-se da primeira máquina mecânica programada;
• 1822: Charles Babbage (1792-1871), matemático inglês, projetou
sua máquina de diferenças, baseada em rodas dentadas e capaz de
calcular polinômios de sexta ordem e de tabular mecanicamente 20
dígitos com até oito decimais (mas a máquina não foi produzida);
• 1833: Babbage idealizou (mas também não produziu) sua máquina
analítica, semelhante ao computador atual, dispondo de programa,
memória, unidade de controle e dispositivos de entrada e de
saída. De toda forma, Babbage é considerado o pai da Ciência da
Computação (FEDELI, 2003; GUIMARÃES; LAGES, 2001;
MEIRELLES, 2004).

Saiba ainda que, em 1842, Luigi Federico Menabrea (1809-1896),


matemático italiano, escreveu um artigo sobre a máquina analítica
de Babbage, que mais tarde foi traduzido para a língua inglesa por
Augusta Ada Byron King (1815-1852), condessa de Lovelace, que
introduziu os aspectos da aritmética binária, usados mais tarde por
John von Neumann. Augusta Ada Byron é considerada a primeira
programadora de computador da história.

www.esab.edu.br 7
Voltemos às datas mais expressivas:

• 1854: George Pelir Scheutz, engenheiro sueco, construiu um


modelo da máquina de diferenças que funcionou satisfatoriamente
para a obtenção de tabelas. Nesse mesmo ano, George Boole,
matemático inglês, desenvolveu a teoria da Álgebra de Boole, que
permitiu a seus sucessores a representação de circuitos de comutação
e o desenvolvimento da chamada Teoria dos circuitos lógicos
(MEIRELLES, 2004);
• 1886: Herman Hollerith (1860-1929), funcionário do Escritório do
Censo dos Estados Unidos, criou um mecanismo baseado em um
cartão perfurado para armazenar as respostas dos entrevistados do
censo e uma máquina para ler e tabular as informações, construindo
a máquina recenseamento, ou máquina tabuladora;
• 1896: Hollerith fundou a Tabulating Machines Company, que
se fundiu com outras empresas em 1924 para formar a atual
International Business Machines (IBM), cujo primeiro presidente
foi Thomas J. Watson, que não acreditava no futuro dessas máquinas;
• 1887: o francês Léon Bolle construiu uma máquina para multiplicar
diretamente, isto é, sem utilizar o método de adições sucessivas.
• 1893: o suíço Otto Steiger construiu a primeira calculadora de sucesso
comercial, chamada The Millionaire – A Milionária, utilizada em
grandes transações comerciais e algumas aplicações de computação
científica (FEDELI, 2003; GUIMARÃES; LAGES, 2001).

Saiba ainda que no início do século XX, em 1910, James Power projetou
máquinas de recenseamento, com novo design, seguindo a ideia de
Hollerith. Já em 1936, Alan M. Turing (1912-1954), matemático inglês,
desenvolveu a teoria de uma máquina capaz de resolver todos os tipos de
problemas matemáticos, chegando à construção teórica da máquina de
Turing, uma forma de representar um processo conforme sua descrição.

A partir dos estudos de Turing, teve início a Teoria matemática da


computação, que veremos em detalhe na unidade 7. Nessa teoria,
define-se um algoritmo como a representação formal e sistemática de um

www.esab.edu.br 8
processo e por meio da qual se demonstra que nem todos os processos
são representáveis.

Notamos, então, o encadeamento de boa parte desses acontecimentos.


Veja que em 1937, Howard Hathaway Aiken desenvolveu a ideia
de Babbage junto com engenheiros da IBM, criando o primeiro
computador eletromecânico baseado em relês e engrenagens,
denominado calculadora automática de sequência controlada, que foi
batizado de MARK–I.

Esse computador acabou de ser construído em 1944 e possuía unidades


de entrada, memória principal e unidade aritmética de controle e de saída.
Utilizava como entrada cartões perfurados e fitas perfuradas. MARK-I
tinha 17 metros de comprimento, 2 metros de altura e pesava cerca de 70
toneladas. Era constituído por 700.000 peças móveis e sua fiação alcançava
800.000 metros. Somava dois números em menos de um segundo e os
multiplicava em seis segundos e trabalhava com 23 dígitos decimais.

Em 1938, Claude Shanonn começou a aplicar a Teoria da Álgebra de


Boole na representação de circuitos lógicos. E dois anos depois, John
W. Mauchly e John Adam Presper Eckert Jr. construíram o primeiro
computador eletrônico, denominado Electronic Numerical Integrator
and Calculator (ENIAC), que entrou em funcionamento em 1945.

O ENIAC foi um projeto encomendado pelo exército dos Estados


Unidos para o cálculo da trajetória de projéteis por meio de tabelas. Ele
era 1000 vezes mais rápido que o MARK-I e realizava a soma de dois
números em 0,0002 segundos e a multiplicação em 0,003 segundos.
Possuía um volume de 111 metros cúbicos e pesava 30 toneladas, com
17.000 válvulas a vácuo, 50.000 comutadores, 70.000 resistências, 7.500
interruptores, apresentando um consumo médio de 150.000 watts.

Retomamos a história desse percurso:

• 1942: John Vincent Atanasoff e Clifford Berry construíram uma


máquina mecânica que operava em código binário, seguindo a
ideia de Babbage, chamada Atanasoff Berry Computer (ABC) e

www.esab.edu.br 9
foi considerado o primeiro computador digital. Um ano depois,
Alan Turing, por encomenda do governo inglês, criou o primeiro
computador eletrônico denominado COLOSSUS. Esse computador,
porém, ficou em segredo por 30 anos, uma vez que foi projetado
para quebrar as mensagens criptografadas do exército alemão;
• 1944: John von Neumann desenvolveu a ideia de programa interno
e descreveu o fundamento teórico da construção de um computador
eletrônico denominado Modelo de von Neumann. A ideia de von
Neumann era a existência simultânea de dados e instruções no
computador e a possibilidade do computador ser programado, ou
seja, as instruções não eram prefixadas;
• 1951-1952: tendo como base essa ideia, von Neumann criou o
Eletronic Discrete Variable Automatic Computer (EDVAC). Em
1951, John William Mauchly construiu o primeiro EDVAC para
venda, o UNIVAC-I, que utilizava fitas magnéticas. Ainda em
1951, o WHIRLWIND I foi o primeiro computador a processar
informações em tempo real, com entrada de dados a partir de fitas
perfuradas e saída em monitor de vídeo ou na Friden Flexowriter,
uma espécie de máquina de escrever elétrica. Ele alavancou a
invenção do primeiro minicomputador comercial (FEDELI, 2003;
GUIMARÃES; LAGES, 2001);
• 1958: o Massachusetts Institute of Technology (MIT) desenvolveu
o TX-0, primeiro computador transistorizado. No mesmo ano,
Kenneth Harry Olsen criou a Digital Equipment Corporation (DEC)
e lançou, em 1960, o PDP-I, baseado no TX-0, que vendeu 50
unidades e custava US$ 120.000,00;
• 1960: a IBM lançou o seu modelo totalmente transistorizado, o
7090, que custava milhões de dólares. No ano seguinte, lançou o
modelo 1401, que podia ler e escrever em fitas magnéticas, bem
como ler e perfurar cartões magnéticos. Era a solução dos sonhos da
computação comercial;
• 1964: a Control Data Corporation (CDC) lançou o primeiro
computador com a unidade central de processamento (UCP)
totalmente paralela, ou seja, ela possuía vários outros “pequenos
computadores” para auxiliá-la;

www.esab.edu.br 10
• 1965: o desafio era projetar a primeira máquina capaz de ser
programada em uma linguagem de alto nível, no caso, a linguagem
Algol 60 – precursora da linguagem Pascal –, porém ela não foi bem-
sucedida. Mas enquanto a CDC amargava o fracasso, a DEC lançava
o PDP-8, introduzindo o conceito de barramento único, que você
conhecerá na unidade 3.

Com a criação dos circuitos integrados, foi possível colocar vários


transistores em um único chip, o que permitiu, a partir de 1965, a
criação de computadores menores, mais rápidos e mais baratos. Ainda
em 1965, a IBou lançou o System ⁄ 360, a primeira linha de produtos
projetada como uma família (versão comercial e versão científica com
várias configurações diferentes de acordo com o cliente). Também
nesse ano, a IBM lançou o conceito de linguagem única para todas as
máquinas, surgindo a linguagem Assembly. Assim, chegamos a 1980,
quando nasceram os mini e superminicomputadores e as estações de
trabalho e os computadores pessoais começaram a invadir as nossas casas.

Saiba que com eles surgiram as empresas Microsoft e a Apple. Porém,


quando pensamos que já tínhamos chegado ao auge da tecnologia, novos
conceitos foram criados, como a internet, a programação concorrente,
os sistemas distribuídos, os softwares livres, o sistema operacional GNU/
Linux, as redes sem fio, a computação ubíqua, a conectividade, a
mobilidade, os processamentos de imagens e as superinterfaces gráficas e
o advento dos games.

A partir daí, os desafios só aumentam!

Saiba mais
Nesta unidade, conhecemos um pouco da história
da Computação. Para entender detalhadamente
todas as fases dessa história e entender melhor
como a evolução da Computação ocorreu, leia o
e-book “História da Computação: o caminho do
pensamento e da tecnologia” clicando aqui.

www.esab.edu.br 11
História da computação: os
2 grandes desafios atuais
Objetivo
Identificar os grandes desafios da computação e como a nossa
sociedade está enfrentando cada um deles.

Conforme vimos na unidade 1, a partir de 1980 a humanidade passou a


ser inundada por uma série de novas tecnologias que afetaram e afetam
diretamente o nosso dia a dia. A rapidez com que novas descobertas são
lançadas é espantosa, porém é necessário estar preparado para usá-las,
bem como aperfeiçoá-las ou até mesmo fazer novas descobertas.

Pensando nisso, os Estados Unidos da América (EUA) e o Reino Unido


resolveram organizar-se e estabelecer metas para lidar com toda essa
novidade e as suas consequências. Cada um deles criou seu plano diretor
para algumas áreas consideradas essenciais para a sociedade para períodos
de dez anos.

Na área de Computação, existem duas iniciativas para definir


periodicamente grandes desafios em pesquisa em Computação – em
inglês, Grand Research Challenges in Computing –, uma nos EUA e outra
na Inglaterra. Nos Estados Unidos, a iniciativa apoiada pelo National
Science Foundation (NSA), em 2002, resultou na formulação dos
seguintes desafios:

• systems you can count on: sistemas com os quais você pode contar no
dia a dia);
• a teacher for every learner: um professor para cada aluno;
• 911.net – ubiquitous information systems: sistemas de informação
ubíquos;
• augmented cognition: cognição aumentada;
• conquering complexity: conquistando a complexidade.

www.esab.edu.br 12
Na Inglaterra, a UK Computing Research Committee e a British Computer
Society produziram, em 2005, a seguinte lista de desafios:

• in vivo – in silico;
• ubiquitous computing: computação ubíqua:
• experience, design and science: experiência, projeto e ciência
(computação ubíqua);
• memories of life: memórias da vida;
• the architecture of brain and mind: a arquitetura do cérebro e da
mente;
• dependable systems evolution: evolução de sistemas confiáveis;
• journeys in nonclassical computation: jornadas sobre computação não
clássica (SBC, 2012).

É importante que você saiba que no Brasil, em 2006, a Sociedade


Brasileira de Computação (SBC) organizou um debate que culminou
com o estabelecimento dos grandes desafios para a computação no país
para o período de 2006 a 2016.

Veja quais foram os cinco grandes desafios estabelecidos para o nosso país
segundo a SBC (2012).

• Gestão da informação em grandes volumes de dados multimídia


distribuídos: o objetivo desse desafio é desenvolver soluções para o
tratamento, a recuperação e a disseminação de informação relevante,
de natureza tanto narrativa como descritiva, a partir de volumes
exponencialmente crescentes de dados multimídia.
• Modelagem computacional de sistemas complexos artificiais,
naturais e socioculturais e da interação homem-natureza: o
objetivo desse desafio é criar, avaliar, modificar, compor, gerenciar
e explorar modelos computacionais para estudos de mudanças
climáticas, de fenômenos epidemiológicos ou de interações sociais
com milhões de participantes (por exemplo, em comunidades
digitais ou na web). Também envolve a modelagem e simulação
computacionais e permite a redução de custos e os avanços no setor
industrial, executando experimentos virtuais em substituição à
construção de uma infraestrutura física.

www.esab.edu.br 13
• Impactos para a área da computação da transição do silício para
novas tecnologias: a tecnologia de produção de circuitos está se
aproximando dos limites físicos do átomo. O aumento da velocidade
de processamento vem sendo obtido a partir da miniaturização e do
empacotamento de cada vez mais componentes em um chip. Isso,
no entanto, aumenta a quantidade de calor gerada e o perigo da
interferência entre os componentes. Já existem diversas pesquisas
para o desenvolvimento de novas tecnologias que substituirão ou
trabalharão complementarmente com o silício. As novas propostas
– por exemplo, computação quântica ou baseada em fenômenos
biológicos – irão requerer mudanças radicais na forma como
concebemos e trabalhamos na Computação. O objetivo desse desafio
é analisar quais são as mudanças pelas quais devem passar a pesquisa
e o desenvolvimento em Computação como consequência da
transição para os novos tipos de paradigma de processamento.
• Acesso participativo e universal do cidadão brasileiro ao
conhecimento: por meio de redes de computadores, todos
podemos nos comunicar e compartilhar os mais diversos recursos
(hardware, dados, software e também informação visual e sonora),
independentemente da localização ou de presença física simultânea.
Esses novos tipos de interação são facilitados pela disponibilidade
das redes de comunicação com banda larga e latência reduzida
associada aos dispositivos móveis e à computação ubíqua. Tal
disponibilidade, no entanto, não é sinônimo de facilidade de uso e
acesso universal, pois existem barreiras tecnológicas, educacionais,
culturais, sociais e econômicas que impedem o acesso e a interação.
O objetivo desse desafio é, portanto, vencer essas barreiras por
meio da concepção de sistemas, ferramentas, modelos, métodos,
procedimentos e teorias capazes de endereçar, de forma competente,
a questão do acesso do cidadão brasileiro ao conhecimento.
• Desenvolvimento tecnológico de qualidade: sistemas disponíveis,
corretos, seguros, escaláveis, persistentes e ubíquos – a Tecnologia
da Informação está cada vez mais presente em nosso cotidiano.
Vários eletrodomésticos e elevadores, por exemplo, têm controle
via software; carros, tratores, aviões, celulares, sistemas de controle
de tráfego e salas de cirurgia também dependem dessa tecnologia.
Enquanto alguns desses exemplos correspondem a sistemas

www.esab.edu.br 14
relativamente simples (como é o caso, por exemplo, do forno de
micro-ondas), outros custam muito caro e envolvem milhões de
linhas de código, além de hardware sofisticado. Se essa ubiquidade
traz conforto, também acarreta problemas. Como dependemos
desses sistemas, eles precisam estar sempre disponíveis e não
apresentarem falhas, bem como devem funcionar da forma prevista
e serem escaláveis e seguros. Desta forma, esse desafio visa à
pesquisa em ambientes, métodos, técnicas, modelos, dispositivos e
padrões de arquitetura e de projeto capazes de auxiliar os projetistas
e desenvolvedores de grandes sistemas de software e hardware a
atingirem esses objetivos.

Agora que já estudamos os principais fatos históricos que marcaram


a história da computação, vamos, na próxima unidade, tratar do
computador.

Estudo complementar
Nesta unidade, você conheceu os grandes
desafios da Computação para o Brasil até 2016.
Para conhecer melhor cada um desses desafios
e aprofundar seus estudos sobre eles, faça uma
leitura do documento oficial, redigido pela
Sociedade Brasileira de Computação. Esse texto
está disponível clicando aqui. Boa leitura!

www.esab.edu.br 15
3 Noções de hardware
Objetivo
Listar os componentes de hardware que os computadores possuem e
suas respectivas funções.

Segundo Fedeli (2003), o computador é uma máquina que processa


dados com orientação de um conjunto de instruções e destina-se a
produzir resultados completos com o mínimo de intervenção humana.
Podemos dizer que o computador é um conjunto de circuitos eletrônicos
interligados e é formado por processadores, memórias, registradores,
barramentos, monitores de vídeo, impressoras, mouse, discos magnéticos,
além de outros dispositivos físicos (hardware).

Nesta unidade, você conhecerá os dispositivos físicos que compõem o


computador e estudará as funções de cada um deles. Começaremos pelo
“coração” do computador, sua unidade central de processamento (UCP),
ou CPU, do inglês central processing unit.

A UCP, conforme Meirelles (2004) e Fedeli (2003), é responsável


pelo gerenciamento de todas as funções do computador. Em um
microcomputador, a UCP, também chamada de microprocessador, é um
circuito integrado, ou chip, que é o centro do sistema de processamento
de dados. Essa unidade é constituída de dois elementos básicos: a
Unidade de Controle (UC) e a Unidade de Lógica e Aritmética (ULA).

Ainda segundo esses autores, a função da UC é dirigir e coordenar as


atividades das demais unidades do sistema, ou seja, todas as atividades
internas de uma máquina são controladas pela UC. Assim, entre as
funções da UC estão:

www.esab.edu.br 16
• controle de entrada de dados;
• interpretação de cada instrução de um programa;
• coordenação do armazenamento de informações;
• análise das instruções dos programas;
• controle de saída de dados;
• decodificação dos dados.

O dispositivo responsável por realizar as operações aritméticas e as


operações lógicas relacionais é a ULA. As operações aritméticas são a
adição, a subtração, a divisão e a multiplicação. As operações lógicas
relacionais referem-se a ações como o deslocamento, a transferência, a
comparação, a classificação etc. Toda vez que um programa solicita uma
operação matemática ao computador, a UC repassa para a ULA os dados
envolvidos e a operação que deve ser utilizada. A ULA faz o cálculo e
logo em seguida envia os dados para a UC, e na sequência, os dados são
de alguma forma processados, de acordo com a finalidade do programa
que solicitou a operação, até chegar a um objetivo (MEIRELLES, 2004;
FEDELI, 2003).

De acordo com Meirelles (2004), a memória principal do computador,


ou memória real, corresponde ao local onde os dados e as instruções
ficam armazenados. A memória principal é composta por unidades de
acesso chamadas de células. Cada célula é composta por certa quantidade
de bits. O bit é a unidade básica de memória, podendo assumir o valor
lógico 0 ou 1.

Para acessar o conteúdo de uma célula, deve-se especificar um número,


o qual chamamos endereço. Este endereço é uma referência única que
podemos fazer a uma célula de memória. Toda vez que um programa
precisa ler ou escrever um dado em uma célula, ele deve primeiro
especificar qual é o endereço de memória desejado para em seguida
realizar a operação.

Saiba ainda que outro tipo de memória que o computador possui


é a memória cachê. Mas o que isso significa? Ora, esse tipo de
memória é volátil e de alta velocidade, porém tem baixa capacidade
de armazenamento. Para acessar um dado contido na memória cachê,
gasta-se um tempo de acesso bem menor do que se esse dado estivesse

www.esab.edu.br 17
na memória principal. A finalidade de se utilizar essa memória consiste
em diminuir a disparidade existente entre a velocidade com que o
processador executa as instruções e a velocidade com que os dados são
acessados na memória principal.

Perceba ainda que outro tipo de memória que todos os computadores


possuem é a memória secundária, considerada meio permanente, isto é,
não volátil de armazenamento de programas e dados. Ao contrário da
memória principal, que precisa estar sempre energizada para manter suas
informações, a memória secundária não precisa de alimentação.

Comparando o acesso à memória principal e o acesso à memória


secundária, acessar a memória secundária é uma ação mais lenta
(enquanto a unidade de acesso à memória secundária é de milissegundos,
o acesso à memória principal é de nanossegundos), mas em
contrapartida, o seu custo é baixo e a sua capacidade de armazenamento
é bem superior. Como exemplos de memórias secundárias, podemos citar
a fita magnética, o disco magnético e o disco ótico.

A memória secundária pode ser chamada por várias denominações,


como memória auxiliar, externa ou de massa. Os mecanismos de acesso
(gravação e/ou leitura) desse tipo de memória podem ser classificados
em sequenciais ou de acesso direto. Chamamos de memórias auxiliares
de acesso sequencial as que utilizam cartão perfurado, fita de papel
perfurada e fita magnética. Todas as demais, na maioria discos, são
memórias de acesso direto (MEIRELLES, 2004; FEDELI, 2003).

Acompanhe a seguir os tipos de memória auxiliar.

www.esab.edu.br 18
Papel perfurado

Também chamado de cartão ou cartão perfurado, foi o precursor da


memória dos computadores. Seu uso já está ultrapassado.

Figura 1 – Papel perfurado.


Fonte: <commons.wikimedia.org>.

Fita perfurada

Consiste em uma longa tira de papel na qual são perfurados buracos


de modo a armazenar informações. Ainda é utilizada em alguns
equipamentos industriais e em telex.

Figura 2 – Fita perfurada.


Fonte: <commons.wikimedia.org>.

www.esab.edu.br 19
Dispositivos magnéticos

Os discos são a escolha mais comum. Entre eles, temos:

a. disco flexível: também chamado de disquete, disco flexível ou


floppy disk, é uma camada magnética sobre plástico. É uma memória
de baixo custo, porém com baixa durabilidade e confiabilidade
moderada.

Figura 3 – Disco flexível.


Fonte: <commons.wikimedia.org>.

b. disco rígido: é uma camada magnética sobre metal. Existem os


seguintes tipos:
• winchester: disco rígido selado e fixo;
• removível: pode ser um disco rígido removível ou um ou vários
discos montados;
• cartucho: disco rígido selado em cartucho removível para
microcomputadores.

www.esab.edu.br 20
Figura 4 – Disco rígido.
Fonte: <commons.wikimedia.org>.

Saiba mais
Entenda a evolução da tecnologia dos
computadores e veja sobre a história da
computação dos anos 1980 até os anos 2000
assistindo ao vídeo “Triunfo dos nerds” disponível
em três partes.
Clique para assistir: parte 1, parte 2 e parte 3.

Muito bem! Seguindo nossos estudos sobre o hardware dos


computadores, agora vamos ver um pouco sobre os dispositivos de
entrada e de saída, que são essenciais para que consigamos nos comunicar
com o computador.

A tarefa primária do computador é receber os dados e, após tais dados


serem processados, devolvê-los para o usuário. Para que o computador
execute essas tarefas, são necessários dispositivos de duas categorias:
entrada e de saída. Tais dispositivos são os responsáveis por viabilizar a
comunicação entre o computador e o mundo externo.

www.esab.edu.br 21
Eles podem ser divididos em duas categorias:

• os que são utilizados como memória secundária; e


• os que servem para a interface usuário-máquina.

Note que os dispositivos de entrada, que podem ser divididos em


manuais ou automáticos, convertem os dados e as informações em sinais
eletrônicos que o computador pode utilizar, armazenar e processar.

Como dispositivos de entrada manuais, temos:

• teclado;
• digitalizador, mesa digitalizadora, ou mesa gráfica;
• digitalizador de imagem, ou dispositivo de varredura manual;
• telas ou superfícies sensíveis ao toque;
• canetas luminosas ou eletrônicas;
• alavanca, bastão e/ou botão de controle – joystick, paddle;
• mouse ou dispositivo para apontar e posicionar; e
• dispositivo de reconhecimento de voz.

Como dispositivos de entrada automáticos, podemos citar:

• dispositivos de varredura ótica:


• escâner: leitora de caractere ótico impresso com tinta magnética;
• magnetic ink character recognition (MICR): leitora de caractere
ótico; e
• optical character recognition (OCR): leitora de códigos de barras.
• leitora de cartão perfurado;
• leitora de fita perfurada;
• sensores.

Já os dispositivos de saída convertem sinais elétricos internos, que foram


armazenados, em formas úteis externamente. A informação pode sair do
computador em cinco formas diferentes:

• dados: são caracteres alfanuméricos organizados na forma de dados;


• texto: palavras, números e outros símbolos arranjados na forma de
texto;

www.esab.edu.br 22
• imagens: gráficos e figuras;
• som: voz e música;
• digital: forma que outro sistema pode ler.

Alguns dispositivos podem apresentar mais de uma forma de saída; outros


são voltados para uma única forma; e existem alguns dispositivos que podem
ser tanto de entrada como de saída, por exemplo, a unidade de disco, a
unidade de fita, o modem, a webcam, as unidades de compact disc (CD)
recordable (gravadores e leitores de CD-R) e digital versatile disk (DVD).

Saiba ainda que os dispositivos de saída podem ser temporários, voláteis


ou permanentes. Os dispositivos temporários são os monitores de vídeo,
tanto de tubo como de tela plana. Já os dispositivos de saída permanente
são as impressoras e as plotters (traçadores de gráficos).

Note que é muito comum, por vezes até mesmo corriqueiro, termos
contato tanto com os dispositivos de entrada como com os de saída.
Desse modo, podemos associar facilmente cada tipo de dispositivo!

Além dos monitores de vídeo, das impressoras e das plotters, podemos


destacar mais três grupos de dispositivos de saída: os obsoletos, que
usam papel perfurado; os que imprimem as saídas em filme; e os de sinal
sonoro, ou audível, que produzem som.

a. Dispositivos de saída de sinal sonoro, ou audível:

• alto-falante dos micros: usualmente produz um sinal sonoro de


alerta;
• sintetizador de voz e sistemas de resposta audível: por exemplo, os
dispositivos que informam saldo ou preços por telefone, horários,
mensagens, bem como aqueles de auxílio a deficientes visuais etc.;
• sintetizador de som: geram sons de instrumentos musicais.

www.esab.edu.br 23
b. Dispositivos de saída de impressão direta em filme:

• microfilme ou, em inglês, computer output microfilm (COM):


mídia analógica de armazenamento, como o filme fotográfico de
35 mm e o cartão perfurado Hollerith de exposição única;
• slides e filmes fotográficos: por exemplo, as câmeras e os
dispositivos dedicados para softwares voltados a apresentações
gráficas.

Agora que você estudou o hardware básico dos computadores e já sabe


do que se trata a UCP, os dispositivos de entrada e de saída, as memórias,
a UC e a ULA, veja na figura 5, a seguir, a representação de como esses
elementos constituem um computador.

Memória interna

Unidade central de processamento

Unidade de
Unidade de
Dispositivos lógica e Dispositivos
controle
de entrada aritmética de saída
Memória
Registros Cache

Memória externa

Figura 5 – Elementos de hardware.


Fonte: Elaborada pela autora (2012).

Vimos, então, os componentes de hardware que os computadores


possuem e suas respectivas funções. É hora de nos determos nas noções
de software, tema de nossa próxima unidade.

www.esab.edu.br 24
Fórum
Caro estudante, dirija-se ao Ambiente Virtual de
Aprendizagem da instituição e participe do nosso
Fórum de discussão. Lá você poderá interagir com
seus colegas e com seu tutor de forma a ampliar,
por meio da interação, a construção do seu
conhecimento. Vamos lá?

www.esab.edu.br 25
4 Noções de software
Objetivo
Conhecer os componentes de software de um computador e as suas
respectivas funções.

Agora que já estudamos as noções de hardware, nos deteremos nos


componentes de software. Mas o que isso significa exatamente?

Bem, software consiste em um conjunto de instruções (programas) que


executam uma função, ou seja, que controlam o funcionamento de um
computador. Trata-se de uma linguagem computacional para a qual existe
uma máquina (computador) capaz de interpretá-la (PRESSMAN, 2006).

Por sua vez, podemos entender que o programa é um conjunto específico


de instruções armazenadas. Os programas são partes do software. E é
fundamental que você compreenda: os programas de computadores nada
mais são do que algoritmos escritos em uma linguagem de computador
(como Pascal, C, Cobol, Fortran, Visual Basic) e que são interpretados e
executados por uma máquina, no caso, um computador.

Mas o que são algoritmos? Chamamos algoritmos justamente um


conjunto ordenado de instruções. Um algoritmo é, formalmente, uma
sequência finita de passos que levam à execução de uma tarefa. Podemos
pensar em algoritmo como uma receita, uma sequência de instruções que
executam uma meta específica. Essas tarefas devem ser claras e precisas na
sua definição, ou seja, não podem ser redundantes nem subjetivas.

www.esab.edu.br 26
Dica
Veja mais sobre algoritmos na unidade de
Introdução à Programação na disciplina de
Programação I, na qual você aprofundará seus
conhecimentos sobre o assunto e trabalhará com
algoritmos, aprendendo a criar softwares.

E você lembra da memória secundária, que estudamos na unidade 3?


É nela que os programas são armazenados. Para desenvolvermos um
programa, usamos uma linguagem de programação (C++, Java, PHP,
Delphi, por exemplo). E quando o computador está usando um programa
em particular, dizemos que está rodando ou executando aquele programa.

E quem projeta o software? Esse é um dos papéis do analista de sistemas,


e para criá-lo, temos o programador. A Engenharia de software, que você
conhecerá na unidade 11, é a área de estudo que se preocupa com todo o
processo de desenvolvimento de um software.

Considerando Fideli (2003) e Guimarães e Lages (2001), podemos dizer


que os softwares são classificados quanto à sua finalidade em:

• software básico (sistema operacional e utilitários de sistema);


• software aplicativo; e
• linguagem de programação.

O sistema operacional diz ao computador como interagir com o usuário


e como usar os dispositivos de hardware conectados ao computador. Os
utilitários ajudam a gerenciar e manter o computador, como é o caso, por
exemplo, do compactador WinZip e dos antivírus.

Já o software aplicativo diz ao computador como realizar as tarefas


exigidas pelo usuário. Quatro tipos importantes de software aplicativo
são as aplicações comerciais, os utilitários, as aplicações pessoais e as
aplicações de entretenimento.

www.esab.edu.br 27
Perceba que a linguagem de programação se refere ao conjunto de
palavras e regras gramaticais que instruem o sistema computacional,
ilustrado pela figura 6, a realizar tarefas específicas e, com isso, criar os
programas.

Usuário Aplicativos
Programador
Utilitários
Sistemas operacionais
Hardware

Figura 6 – Visão geral de um sistema computacional.


Fonte: Elaborada pela autora (2012).

O software básico, ou software de programa, é o programa que controla


as operações do computador e os seus dispositivos. É a ligação entre o
usuário, o software aplicativo e o hardware, como mostra a figura 7.

Software aplicativo

Software básico

Figura 7 – Integração entre o usuário, o software aplicativo e o hardware através do software básico.
Fonte: Elaborada pela autora (2012).

Chamamos de softwares aplicativos os programas que nos oferecem


determinados tipos de serviços. Neste contexto, temos os processadores
de texto, as planilhas eletrônicas, os programas gráficos e os sistemas
gerenciadores de banco de dados (SGBDs).

• Processadores de texto: entre os vários editores disponíveis no


mercado, destacamos os seguintes: Word® (Microsoft®), WordPerfect®
(Corel®), OpenEdit.

www.esab.edu.br 28
• Planilhas eletrônicas ou planilhas de cálculo: entre as mais
comuns, destacamos o Excel® (Microsoft®), o Lotus 1-2-3® (IBM®), o
Quattro Pro® (Corel®) e o Calc (Sun® Microsystems).
• Programas gráficos: permitem a criação de figuras e desenhos,
sendo que alguns possuem recursos extras para animação. Podem ser
conjugados com programas que adicionam sons juntos às imagens.
Entre os mais sofisticados, destacam-se o CorelDraw®, o PhotoShop®
(Adobe®) e o 3ds Max ® (Autodesk®), para uso artístico; e os
programas computer-aided design (CAD) – em português, desenho
auxiliado por computador –, como o AutoCad® (Autodesk®),
utilizado para projetos mecânicos, arquitetônicos etc.
• Sistemas gerenciadores de bancos de dados: trata-se de uma
coleção de programas que servem para controlar grandes volumes de
informações.

Saiba ainda que quanto à sua codificação, um software pode ser


classificado em proprietário ou livre. O software livre, ou free software, é
todo aquele que oferece ao seu usuário a liberdade de utilizá-lo para seu
proveito, executando os programas para quaisquer propósitos, copiando,
distribuindo, estudando seu funcionamento, modificando, aperfeiçoando
e customizando seu código-fonte, sem precisar pedir autorização para
outrem, de modo que toda a sociedade se beneficie (LAMAS, 2004).

Já o software proprietário tem seu uso atrelado ao pagamento de licença.


É um programa de computador que possui o seu código-fonte fechado,
sobre o qual somente um indivíduo ou um grupo especializado da
empresa fabricante tem o controle sobre seu código e, consequentemente,
sobre suas funções, melhoramentos e correções (SALEH, 2004).

Conforme Fideli (2003), Guimarães e Lages (2001) e Lamas (2004),


quanto à aquisição, os softwares são classificados em demo, freeware e
shareware. O freeware é o software proprietário que é disponibilizado
gratuitamente, mas não pode ser modificado. Shareware é o software
disponibilizado gratuitamente por um período de tempo ou com
algumas funções abertas, mas que implica no posterior pagamento pela

www.esab.edu.br 29
sua licença. E o demo é uma versão de demonstração que é possível usar o
programa por um tempo ou com apenas algumas funções disponíveis.

Saiba mais
Nesta unidade, você conheceu a expressão
software livre. O movimento para uso do software
livre ainda é recente no Brasil, por isso, para
entender melhor esse tipo de software e qual
é o objetivo e a filosofia do movimento, leia a
“Cartilha do software livre” clicando aqui.

www.esab.edu.br 30
Funcionamento do computador:
5 noções gerais
Objetivo
Compreender o funcionamento de um computador.

O computador funciona a partir de três atividades: entrada de dados


(input); processamento dos dados; e saída (output), como mostra a figura
8, a seguir.

Memória principal

Envio dos dados Obtenção dos


CPU

para serem Seção de controle resultados


processados Seção de lógica solicitados
e aritmética
Entrada Processamento de dados Saída
(input) (output)
Disquetes, Pen Drives Monitor de Vídeo
CD-ROM, DVDs Impressoras
Teclado/Vídeo Plotters
Mouse Disquetes, Pen Drives, DVDs
Mesa digitalizadora

Figura 8 – Fluxo de entrada, processamento e saída de um computador.


Fonte: Elaborada pela autora (2012).

www.esab.edu.br 31
Segundo Meirelles (2004), o funcionamento do computador baseia-se em
quatro etapas.

• Entrada: um dispositivo de entrada permite que você se comunique


com o computador. Você pode usar os dispositivos de entrada pra
inserir informações e enviar comandos.
• Processamento: a UCP, ou unidade central de processamento,
pode ser considerada o coração de um computador. Essa unidade é
responsável por processar as instruções, realizar cálculos e gerenciar o
fluxo de informações através do sistema de computador. Além disso,
cabe à UCP a responsabilidade de comunicar-se com os dispositivos
de entrada, saída e armazenamento, para dessa forma realizar tarefas.
• Entrada e saída ou armazenamento: um dispositivo de
armazenamento lê e grava informações que o computador usa para
executar tarefas.
• Saída: um dispositivo de saída permite que o computador
comunique-se com você. Esses dispositivos exibem informações na
tela, criam cópias impressas ou geram som.

O computador não tem serventia se não tem dados para manipular.


Sendo assim, temos de “alimentar” o computador com dados. O teclado
é um exemplo clássico de dispositivo de entrada de dados. Outro
exemplo é o mouse, que nos permite selecionar opções e realizar algumas
operações em um software qualquer, como clicar sobre o link do Fórum
no Ambiente Virtual de Aprendizagem para participar da discussão. Os
disquetes, CDs ou pen drives são dispositivos de entrada de dados que são
gerados geralmente em outro computador.

Os dados fornecidos ao computador podem ser armazenados para


processamento imediato ou posterior. Esse armazenamento de dados é feito
na memória do computador, que você estudou na unidade 3, e pode ser:

• volátil, isto é, desaparece quando o computador é desligado;


• referenciada como memória random access memory (RAM) ou, em
português, memória de acesso aleatório; ou

www.esab.edu.br 32
• permanente (enquanto não é “apagada” por alguém), quando ocorre
o armazenamento dos dados em unidades – como as de disco fixo,
que são meios físicos (meios magnéticos) –, localizadas no interior
do gabinete do computador. Há também os disquetes, que são discos
removíveis e, mais recentemente, os CDs regraváveis e os DVDs.

A CPU é o dispositivo responsável pelo processamento dos dados que


chegam ao computador. É comumente chamado de processador. Na
CPU a informação é tratada, lida e gravada ou apagada da memória.
A CPU é responsável por transformar a informação de acordo com os
objetivos que se deseja atingir com o processamento delas (MEIRELLES,
2004; FEDELI, 2003).

Para que a CPU possa compreender como deve tratar os dados, ela
precisa entender o que qualquer programa, escrito em uma determinada
linguagem de programação, está solicitando. Para isso, a CPU necessita
de um tradutor. O Compilador é o programa responsável por fazer
essa tradução. Ou seja, ele é capaz de converter todas as instruções em
linguagem de máquina, ou binária (0 e 1).

Após o processamento dos dados e a geração da informação, é necessário


devolver para o usuário o resultado. Para isso, temos vários dispositivos
de saída, sendo o monitor de vídeo um dos principais. O monitor de
vídeo é responsável por apresentar tanto textos normais ou formatados
(como em tabelas ou formulários) quanto gráficos.

Caso o usuário necessite que os resultados sejam apresentados de outra


forma, como em papel, temos à disposição impressoras ou plotters (para
plotagem de desenhos). E finalmente, se quisermos transportar os dados
e/ou as informações geradas para outros computadores, temos vários
dispositivos a nosso alcance, por exemplo, os CDs, DVDs e pen drives.
Além disso, podemos conectar os computadores em rede, isto é, ligá-los
por meio de cabos para transferir os dados e/ou as informações de um
computador para outro.

E quando tratamos dados do tipo áudio (som), a saída ocorre por meio
das caixas de som ou fones de ouvido.

www.esab.edu.br 33
O que também é indispensável para o funcionamento de um
computador é o Barramento. Esse é o componente que interliga
todos os componentes do computador. É um conjunto de condutores
elétricos por meio dos quais passam três tipos de informação: dados, que
são transferidos bit a bit por cada um dos condutores; endereços, que
indicam o local de destino e origem dos dados; e controle, como sinais
de relógio, sinais de interrupção etc.

Note que cada processador possui um conjunto de instruções definido pelo


seu fabricante, chamado de instruções de máquina. Elas fazem referências
a detalhes como os registradores, os modos de endereçamento e os tipos de
dados, que caracterizam um processador e as suas funcionalidades.

Um programa em linguagem de máquina pode ser diretamente executado


pelo processador, não requerendo qualquer tipo de tradução ou relocação.
Porém, quando escrito em linguagem de máquina de um determinado
processador, um programa não pode ser executado em uma máquina que
possua arquitetura diferente, visto que o conjunto de instruções de um
processador é característica específica de cada arquitetura.

Um processador com arquitetura reduced instruction set computer (RISC)


caracteriza-se por possuir poucas instruções de máquina que também
são, em geral, bastante simples e executadas diretamente pelo hardware.
Na sua maioria, essas instruções não acessam a memória principal,
trabalhando principalmente com os registradores, que, nesse tipo de
processador, apresentam-se em grande número.

Essas características, além de permitirem que as instruções sejam


executadas rapidamente, facilitam a implementação da técnica de
pipelining, a qual permite que o processador execute múltiplas instruções
em estágios diferentes (MEIRELLES, 2004; FEDELI, 2003).

Finalizamos a unidade destacando que os processadores com arquitetura


complex instruction set computer (CISC), por sua vez, possuem instruções
complexas, que são interpretadas por microprogramas. O número de
registradores é pequeno e qualquer instrução pode referenciar a memória
principal. Com essas características, as instruções demoram mais para
serem executadas e a implementação da técnica de pipelining é mais difícil.

www.esab.edu.br 34
Como o computador armazena os
6 dados?
Objetivo
Definir os dispositivos de armazenamento utilizado pelos
computadores.

Nas unidades anteriores, vimos um pouco sobre os dispositivos de


armazenamento e os tipos de memória que o computador tem. Agora
vamos entender como o computador consegue representar os dados e as
informações em suas memórias.

A menor unidade utilizável pelo computador para representação de


informações é o bit, que assume os valores 0 ou 1. Para armazenar um
bit é necessária a presença de um dispositivo que possa assumir os dois
valores: 0 ou 1. Esse é o trabalho da memória.

Como vimos na unidade 3, o computador possui a memória principal e


a memória secundária. A memória principal do computador armazena
bits em unidades denominadas células de memória com tamanho
típico de 8 bits (byte). O tamanho da memória é medido em termos de
potência de 2:

• 210 Kb (Kilobyte);
• 220 Mb (Megabyte); e
• 230 Gb (Gigabyte).

Por enquanto, preocupe-se em se lembrar somente disso. Na unidade 8


você aprenderá mais sobre esse assunto.

Para distinguir cada célula na memória principal, elas são identificadas


por um nome único denominado endereço. Por meio dos endereços de
memória, é possível acessar uma célula de memória para ler ou modificar
o seu conteúdo.

www.esab.edu.br 35
A memória principal pode ser acessada em qualquer ordem, ou seja,
aleatoriamente, daí o motivo para o seu nome ser random access memory
(RAM), que podemos traduzir para o português como memória de
acesso aleatório. A informação armazenada nessa memória é apenas
temporária (GUIMARÃES; LAGES, 2001); se você quiser preservá-la,
pois ela pode representar horas de trabalho, deve movê-la da memória
do computador para um disco de armazenamento (disco rígido, ou
winchester, CD, DVS, entre outros) realizando a operação conhecida
como salvamento (opção Salvar na maior parte dos programas). As
informações são sempre salvas em um arquivo. Mas quando você desliga
o computador, a informação que não foi salva em um desses discos é
perdida, por isso essa memória também é dita volátil.

Vejamos o que nos diz Meirelles (2004) sobre a divisão da memória RAM:

• dynamic RAM (DRAM), ou RAM dinâmica: ela representa a maior


parte da memória do computador;
• static RAM (SRAM), ou RAM estática: mais rápida e mais usada
como memória cache;
• windows RAM (WRAM): memória específica para ambiente gráfico;
• extend data out RAM (EDO-RAM): variação da DRAM em termos
de arquitetura, sendo 30% mais rápida; e
• synchronous DRAM (SDRAM): atua em sincronismo com o
microprocessador, sendo mais rápida que a EDO-RAM, com tempo
de acesso de 10 nanossegundos.

Um outro tipo de memória existente nos microcomputadores permite


apenas a leitura das informações nela contida. É a read only memory
(ROM) – em português, memória somente leitura. Essa memória não
perde as informações quando a energia do computador termina, sendo,
portanto, utilizada para guardar os códigos básicos de operação do
equipamento, suas rotinas de inicialização e autoteste. Tais informações,
como o próprio nome da memória sugere, não podem ser alteradas,
apenas lidas.

www.esab.edu.br 36
Esse conjunto de códigos de operação, ou funcionamento, forma o
sistema básico de entrada e saída, o basic input/output system (BIOS) da
máquina.

Considerando Meirelles (2004), podemos dizer que a memória ROM é


dividida em:

• programmable ROM (PROM), ou ROM programável: nesse tipo


de memória, o conteúdo é gravado em equipamento especial pelo
usuário;
• erasable programmable PROM (EPROM), ou ROM programável
apagável: pode ser reprogramada após ter seu conteúdo apagado por
raios ultravioleta; e
• electrically-erasable programmable ROM (EEPROM), ou ROM
programável eletricamente apagável: pode ser apagada por impulsos
elétricos e reprogramada.

A memória secundária é útil para manter cópias auxiliares de dados


críticos para o usuário. Com a memória secundária, os dados não
se perdem quando a energia é desligada ou quando você desliga o
computador. Nesse tipo de memória, os dados são armazenados em
grandes volumes denominados arquivos.

Saiba que as memórias secundárias são baratas, porém são mais lentas
que a memória principal, pois necessitam de movimentação mecânica.
Vamos conhecer agora alguns tipos de memória secundária? Acompanhe!

6.1 Fita magnética


Nesse tipo de memória secundária, o conteúdo é registrado em uma
película de material magnético que é enrolada em um carretel. Toda
fita magnética é composta por segmentos e trilhas, sendo que cada uma
dessas pode ser acessada independentemente.

www.esab.edu.br 37
Os carretéis de fita magnética giram em sentido horário, passando por
um cabeçote de leitura e gravação como se fosse um filme comum,
conforme ilustra a figura 9. O acesso ao conteúdo armazenado em uma
fita é feito de forma sequencial e elas são ideais para backup (cópia de
segurança).

Trilha

Segmento

Cabeçote

Movimento da fita

Figura 9 – Fita magnética.


Fonte: Elaborada pela autora (2012).

6.2 Disco magnético


É organizado em trilhas e setores e o conteúdo é lido ou gravado
por um braço mecânico. No disco magnético, o acesso ao conteúdo
ocorre dentro das trilhas e o acesso aos setores é sequencial, conforme
exemplifica a figura 10.

O tempo de acesso ao conteúdo é uma soma do tempo de busca da


trilha com o tempo de busca do setor, sendo que a localização das trilhas
e setores é definida por meio de um processo denominado formatação
inicial do disco. Sem essa formatação, não é possível gravar qualquer
informação nele.

www.esab.edu.br 38
Setor

Braço de leitura
e gravação

Movimento do disco
Figura 10 – Disco magnético.
Fonte: Elaborada pela autora (2012).

6.3 Disco ótico


Conhecido como disco compactado, compact disc, ou compact disc read-
only-memory (CD-ROM), é um meio de armazenamento caracterizado
pela alta capacidade e pelo uso de técnicas óticas de laser em vez do
eletromagnetismo para a leitura dos dados.

O disco ótico possui uma única trilha contínua em forma de espiral e


o tempo de acesso a ele é igual ao tempo de busca sequencial na trilha.
Nesse tipo de memória, os dados são gravados por meio da inserção de
padrões na superfície reflexiva.

Os discos óticos alcançam enormes densidades e virtualmente não se


desgastam. Os CD-ROMs chegam a comportar até 650 Mb de dados,
que podem ser acessados interativamente na tela do computador, e são
bastante usados em estações multimídia (som, imagem e informática
integrados) e para produzir enciclopédias, dicionários e bibliotecas

www.esab.edu.br 39
de software para uso em microcomputadores. Novas técnicas de
compactação permitem condensar até 250.000 páginas de texto em um
único CD.

Chamamos de formatação o processo de divisão em setores e trilhas


nos discos. Você pode encontrar em alguns livros a formatação sendo
chamada de inicialização do disco, porém o que importa é a função
da formatação. Quando acionamos o programa que formata o disco,
estamos solicitando, na verdade, que o disco seja apagado, ou seja, que
seja deletado o conteúdo anteriomente armazenado e em seguinda
seja verificado se o disco está com defeitos que impossibilitam ler ou
gravar dados na sua superfície, e após essa verificação sejam gravadas as
informações nos primeiros setores da primeira trilha, que são reservadas
para conter informações especiais sobre o conteúdo do disco.

Saiba que todos os discos possuem uma divisão lógica composta por
trilhas e setores. Essa divisão pode ser realizada em uma ou nas duas
faces do disco e com diferentes densidades. Quem organiza os discos é
o sistema operacional do computador. Essa organização é feita em duas
partes: área reservada para cuidar da informação-chave sobre o disco;
e a área de dados, que corresponde à maior parte do disco, em que são
armazenados os arquivos.

A área do sistema divide-se em três partes, chamadas boot


(autocarregador), file allocation table (FAT) – em português, tabela de
alocação de arquivos (TAA) – e diretório-raiz. O boot, ou registro de boot,
é a primeira parte de um disco, que contém um programa bem curto,
com algumas centenas de bytes, capaz de executar a tarefa de iniciar a
carga do sistema operacional na memória principal do computador. A
FAT é usada para gravar a situação em cada parte do disco.

Você deve estar ciente de que o sistema operacional é responsável por


gerenciar os dados de um disco. Sendo assim, ele divide o espaço em
unidades lógicas chamadas clusters. Não importa o tamanho do cluster,
o sistema operacional utiliza esse espaço como unidade para alocação
de qualquer arquivo no disco. A alocação desse espaço é gerenciada pela
FAT, que é a parte do disco que mais necessita de proteção. A FAT é

www.esab.edu.br 40
gravada duas vezes pelo sistema operacional no mesmo disco como forma
de garantia da segurança.

O diretório-raiz corresponde à última parte da área do sistema. Todo


disco possui esse diretório de arquivo e o diretório-raiz contém o registro
dos arquivos armazenados nele. Para cada arquivo, há uma entrada no
diretório contendo o nome do arquivo, a extensão (tipo) do arquivo em
três caracteres (por exemplo: .pdf; .doc), o tamanho do arquivo em bytes
e a data e a hora da última alteração no arquivo.

Há mais duas partes de informação gravadas em relação a um arquivo


em sua entrada de diretório. Uma é chamada cluster inicial, que indica
qual cluster contém a primeira parte do arquivo. A outra parte é chamada
atributo de arquivo, em que são gravadas as suas particularidades: system
(arquivos do sistema operacional), hidden (arquivo encoberto para o
usuário), read-only (arquivo apenas para leitura, não pode ser gravado)
e finalmente archive (arquivos que já possuem ou precisam de cópias de
segurança).

Inúmeras tecnologias de controladores de disco rígido estão em uso


atualmente, entre elas as intelligent drive interface (IDE), chamada em
português de interface de drive inteligente. Os drives IDE têm tecnologia
eletrônica de controle e conversão embutidas, e não em placas separadas.

Muito bem, caro estudante, você chegou ao final de mais uma unidade!
Espero que você tenha gostado e esteja animado para os próximos
conteúdos.

www.esab.edu.br 41
Resumo

Nestas seis unidades você conheceu um pouco da história da computação


e os desafios que ela impõe à sociedade atual. Também tomou
conhecimento dos componentes básicos de hardware e software, e
estudou como o computador funciona e como ele armazena os dados e as
informações.

Vimos que a busca por soluções que nos levassem a realizar cálculos
cada vez mais complexos deu origem ao computador e a partir dele
novos desafios surgiram, e hoje lidamos com uma sociedade que tem um
mundo de informações que necessitam ser armazenadas, disseminadas
e socializadas. Isso nos leva a buscar novas formas de armazenamento,
novas maneiras de disseminar as informações e levá-las a todos, gerando
a inclusão social. Também precisamos criar computadores mais potentes
que suportem toda essa necessidade crescente de processamento de
informações. Mas para isso foi preciso conhecer o hardware, o software
e os componentes periféricos, além de estudar como esses três itens
trabalham em conjunto.

Tendo agora todo esse conhecimento, nas próximas unidades você


passará a estudar como o computador compreende o que digitamos, o
que clicamos e o que solicitamos a ele e conhecerá como sabemos se o
que ele está fazendo é correto.

www.esab.edu.br 42
7 A Teoria da Computação
Objetivo
Apresentar os princípios básicos que regem o projeto e a análise dos
algoritmos.

Qual é a natureza da matéria? Qual é a origem da vida? Sempre nos


deparamos com essas questões fundamentais que dizem respeito à
Ciência. A Ciência da Computação, assim como todas as outras, tem
o seu próprio conjunto de questões fundamentais, como: o que pode
e o que não pode ser computado? Quando um algoritmo deve ser
considerado viável?

Além de ajudar a responder a essas questões por meio de princípios


e conceitos, a Teoria da Computação auxilia na compreensão
da natureza geral da computação e busca responder quais são as
capacidades e as limitações dos computadores. Para procurar essas
respostas, vários modelos de computadores foram criados a fim de
auxiliar na compreensão de todo o computador, ou seja, vários tipos de
computadores com diferentes hardwares e softwares foram desenvolvidos
até chegarmos aos que temos hoje. Você sabia, por exemplo, que os
primeiros computadores não tinham periféricos? Não havia mouse,
monitor ou teclado!

Esses modelos de computadores e seu poder computacional são o centro


dos estudos da Teoria da Computação. Por meio dessa área de estudos da
Computação, tratamos de tipos de problemas (que na linguagem técnica
podem ser chamados de classes de problemas), como representá-los e
quais dessas classes podem ser resolvidas em cada modelo desenvolvido.

Para modelar o hardware, temos o conceito de autômatos. Um autômato


é um dispositivo lógico que tem como objetivo resolver algoritmos,
como você verá a seguir. Portanto, ele é uma construção que possui todas
as características indispensáveis aos nossos computadores: entrada, saída,

www.esab.edu.br 43
armazenamento temporário e tomada de decisão. É um reconhecedor
de linguagem pelo qual é possível identificar se uma cadeia de símbolos
pertence ou não a uma linguagem (PRADO, 2010).

Vamos ver agora o que é linguagem formal, certo? Linguagem formal


é uma abstração das características de uma linguagem de programação,
que possui um conjunto de símbolos, regras de formação de sentenças
etc. A principal referência de modelo matemático capaz de representar
um computador é a Máquina de Turing, um modelo abstrato de
computador. Também conhecida como máquina universal, ela trata
das questões lógicas do funcionamento do computador e possibilita a
verificação dos limites e da complexidade de um sistema computacional.
Assim, a invenção de Alan Turing também é considerada um
reconhecedor, e por meio dela podemos modelar qualquer computador
digital.

Na unidade 4, você viu que os programas de computador são algoritmos


escritos em uma linguagem computacional, a qual é composta por
alfabeto, palavras, prefixos e sufixos. Agora você vai conhecer os
principais conceitos relativos aos autômatos, às linguagens formais
e à Máquina de Turing, que lidam diretamente com a linguagem
computacional (FEDELI, 2003; MEIRELLES, 2004; GUIMARÃES;
LAGES, 2001).

7.1 Autômatos
É fácil notarmos que os computadores, a cada dia que passa, ficam
mais rápidos, não é mesmo? Mas essa evolução não é tão simples. Você
imagina por quê? Os computadores são criados a partir de modelos
matemáticos concebidos com o intuito de estudar a complexidade dos
algoritmos para resolver determinados tipos de problema. Um desses
modelos refere-se aos autômatos, também chamados autômatos finitos
ou modelo de máquina de estados finitos. Você já ouviu algo sobre esse
assunto? Um autômato é um reconhecedor de palavras ou de cadeias de
caracteres (strings) de determinada linguagem e serve para modelar uma
máquina. Existem vários modelos de máquinas, porém os autômatos são
os mais simples. Vamos conhecê-los?

www.esab.edu.br 44
Os autômatos finitos têm uma unidade central de processamento com
capacidade fixa e finita e têm ausência completa de memória externa ao
seu processamento central fixo. Ele recebe como entrada uma cadeia de
caracteres e não produz saída, exceto uma indicação que informa se essa
entrada foi ou não considerada aceitável.

Eles permitem projetarmos vários tipos de algoritmos e programas


de computador. Por exemplo, a identificação dos elementos básicos
de um programa, tais como “begin” e “+”, é frequentemente baseada
na simulação de um autômato finito. O problema de localizar uma
ocorrência de uma cadeia de caracteres dentro de outra – por exemplo,
se quisermos saber se as cadeias “computador”, “caracteres” e “estados”
ocorrem ou não no texto desta unidade – também pode ser resolvida
eficientemente por métodos originados na teoria dos autômatos finitos.

O conceito fundamental de autômato finito é o de estado, que


representa uma condição sobre o modelo representado. Por exemplo,
uma tevê pode ser representada por um modelo com três estados: ligado,
desligado e em stand-by. Podemos, ainda, dizer que o ato de pressionar
um botão aciona uma mudança de estado, dependendo do estado atual.
E essa mudança de estado é denominada transição, que é desencadeada
por uma ou mais ações, que podem ser chamadas de ações de transição.
Mas o que são exatamente essas ações? Elas podem ser ações de entrada
e saída. As ações de entrada são aquelas realizadas para entrar no estado,
enquanto as ações de saída são as realizadas para sair do estado.

Para melhor visualizar esses conceitos, vamos pensar em um aparelho de


televisão! Você realiza a ação de apertar no botão On/Off localizado no
aparelho, ligando-o, de modo que a tevê entra no modo ligado. Se você
tomar a ação de apertar no botão On/Off do controle remoto, ela entra
em stand-by, estado geralmente sinalizado por um diodo emissor de luz
(termo do inglês light emitting diode), também conhecido como LED.
E se você optar por pressionar novamente o botão On/Off do aparelho,
este entrará no estado desligado.

www.esab.edu.br 45
Tevê desligada
Estado: desligado
Ação de transição:
pressionar o botão
On/Off localizado
no aparelho.

Tevê em stand-by Tevê ligada


Estado: stand-by Estado: ligado
Ação de transição:
pressionar o botão
On/Off localizado no
controle remoto.
Figura 11 – Diagrama de transição de estados da televisão.
Fonte: Elaborada pela autora (2012).

7.2 Linguagens formais


Para diminuir a distância entre a língua natural – isto é, a língua humana
(por exemplo, o português e o inglês) – e a programação de computador,
foram criadas as linguagens de programação, que são chamadas de
linguagens formais. Elas são elaboradas de modo que se eliminem todas
as ambiguidades possíveis e assim uma palavra reservada ou um comando
tenha sempre o mesmo significado em qualquer lugar do código-fonte do
programa.

Mas qual é exatamente a ligação entre uma língua natural e a


programação? Vejamos! A língua portuguesa é uma linguagem natural,
sendo que sua representação escrita é associada a uma gramática, que
define a formação de programas válidos. Por exemplo, indica se cada
comando deve ser seguindo de “;” (ponto e vírgula) ou se a indicação
do tipo de uma variável vem antes ou depois de seu nome. Desse modo,
conseguimos construir os algoritmos, que representam as resoluções
de problemas. E, conforme você está estudando na disciplina de
Programação I, os algoritmos são implementados computacionalmente
utilizando-se alguma linguagem de programação.

www.esab.edu.br 46
Os responsáveis por fazer a tradução dos programas (que podem ser
escritos nas mais diversas linguagens de programação) para a linguagem
de máquina, ou seja, para instruções que o computador é capaz de
executar, são os compiladores. Assim, a Teoria da Computação está
internamente ligada ao estudo de linguagens: sua representação
(gramática) e sua tradução para instruções da máquina utilizada
(compilador) (CAPRON; SANTOS, 2004).

Dica
Para saber mais sobre algoritmos e linguagens de
programação, leia, respectivamente, a unidade
1 – Introdução à programação e a unidade 13
– Linguagens de programação, da disciplina de
Programação I.

7.3 Máquina de Turing


A Máquina de Turing é um dispositivo teórico criado pelo matemático
britânico Alan Turing, como você viu na unidade 1. Ela é a estrutura
fundamental da Ciência da Computação moderna, por isso Turing é
considerado o pai da Computação. Desse modo, é interessante que
conheçamos um pouco sobre ela, concorda?

Apesar de a Máquina de Turing não ter sido implementada fisicamente


em sua totalidade pelo seu criador, o seu processo computacional foi
matematicamente demonstrado e provado no artigo “On Computable
Numbers, with an application on the Entscheidungs problem”, escrito em
1936. Nele, Turing explicitou um dispositivo lógico, que ele chamou de
automatic machine, capaz de ler, escrever e apagar símbolos binários em
uma fita de comprimento ilimitado e dividida em quadrados de igual
tamanho.

Para isso, uma cabeça de leitura e gravação se moveria em qualquer


direção ao longo da fita, um quadrado por vez, e uma unidade de
controle poderia interpretar uma lista de instruções simples, movendo-se

www.esab.edu.br 47
para a direita e para a esquerda, conforme mostra a figura 12 a seguir. A
regra executada determina o que se convencionou chamar de estado da
máquina.

0 0 1 1 1 1 0 1 0 1 0

Cabeça Tracionador
Movimento
da cabeça Controle finito

Figura 12 – Estrutura da Máquina de Turing.


Fonte: Elaborada pela autora (2012).

O conceito de Máquina de Turing é semelhante ao de uma fórmula ou


equação, por isso, há uma variedade enorme de possíveis máquinas de
Turing, cada uma referente a um método definido ou a um algoritmo.
Turing propôs que cada algoritmo, formalizado como um conjunto finito
de instruções bem definidas, pudesse ser interpretado e executado por
um processo mecânico.

Saiba mais
Nesta unidade, você conheceu um pouco sobre
a Máquina de Turing. Se Turing fosse vivo, teria
completado, em junho de 2012, 100 anos de uma
vida rica em criações e descobertas. Para você
conhecer mais da vida do pai da Computação,
acesse o material disponível aqui. Além da vida de
Turing, você pode conhecer algumas das versões
modernas da máquina que ele propôs assistindo
ao vídeo disponível aqui e conhecer na prática a
lógica da Máquina de Turing original, brincando
com uma representação criada e disponibilizada
pelo Google™, clicando aqui.

www.esab.edu.br 48
8 A linguagem dos bits e bytes
Objetivo
Conhecer os conceitos de bits e bytes e os métodos de conversão para
sistemas binários e hexadecimais.

Toda informação inserida no computador passa pelo processador


e é enviada para a memória RAM para ser utilizada enquanto seu
computador trabalha. Essa informação é armazenada em uma forma
diferente da legível por nós. Trata-se uma linguagem constituída por
somente dois elementos: zero e um, que é a chamada linguagem de
máquina.

Se pudéssemos entrar no computador para ver o seu funcionamento,


notaríamos que nele não há letras A, B ou C, nem números, mas dentro
dele existe apenas eletricidade. O computador “entende” os impulsos
elétricos, positivos ou negativos, que são representados respectivamente
pelos estados:

• ligado (1); e
• desligado (0).

E você sabia que da mesma forma que temos o nosso alfabeto o


computador tem o dele? Enquanto o nosso é formado pelas letras como
as conhecemos, o alfabeto do computador é formado por bits.

Bit é uma palavra formada pelas duas primeiras letras da palavra BInary
e pela última letra da palavra digiT, ou seja, esse nome vem do termo
inglês binary digit. Quem inventou essa palavra foi o engenheiro belga
Claude Shannon em sua obra “Teoria Matemática da Computação”,
de 1948. Shannon descreveu um bit como sendo uma unidade de
informação (FEDELI, 2003).

www.esab.edu.br 49
Assim, quando falamos que um computador é de 64 bits, estamos
falando que ele processa 64 unidades de informação ao mesmo tempo,
portanto, é mais rápido que um de 32 ou de 16 bits. Os bits não servem
para representar apenas números, mas qualquer coisa que precise ser
informada a um computador – de uma letra, ou uma vírgula, até a cor
que iremos usar. Cada uma dessas informações é transformada em um
código binário e interpretada pelo sistema. E quando temos um conjunto
de n bits, dizemos que temos uma palavra binária ou um código
binário (CASTRO, 2005).

Toda “palavra” composta por oito bits é chamada de byte, nome criado
na IBM em 1956. Mas apesar de sabermos que o termo foi criado na
IBM, não há registro sobre quem especificamente o inventou, nem
porque criou-se o byte. Alguns dizem que significa BinarY TErm, outros
dizem que significa uma brincadeira com as palavras bit (pedacinho) e
bite (morder).

Os bits são geralmente usados como medida de velocidade na


transmissão de dados. Por exemplo, dizemos que um modem 14.400
transmite 14.400 bits por segundo, ou seja, 14.400 bps. Já os bytes são
normalmente associados à capacidade de armazenamento de dados.
Por exemplo, podemos dizer que um disco rígido tem memória de
20 gigabytes, ou seja, tem a capacidade de armazenar 20 gigabytes de
informações.

Assim como os computadores têm seu próprio alfabeto, eles também


têm seu sistema de numeração, que se chama Sistema Binário. Nele são
utilizados os dígitos 1 e 0 para a representação de quantidades, portanto
sua base é 2.

Cada dígito de um número representado nesse sistema é denominado


bit (FEDELI, 2003), e a alguns conjuntos de dígitos binários são dados
nomes específicos. Acompanhe no quadro a seguir!

www.esab.edu.br 50
Conjunto Nome Exemplo
Quatro bits Quarteto 1001
Oito bits Octeto ou byte 10010110
1024 bytes quilobyte (Kb) –
1024 quilobyte Megabyte (Mb) –
1024 megabytes Gigabyte (Gb) –

Quadro 1 – Nomes de conjuntos de dígitos binários.


Fonte: Elaborado pela autora (2012).

No sistema de unidades com valores decimais, os múltiplos e


submúltiplos são potencias de dez, como é o caso de 1 Kg = 103g; e 1 ton
= 1.000 Kg. Em binários, o fator é 1024 = 210.

Podemos, portanto, estabelecer as seguintes igualdades relacionadas ao


dígito binário:

• 1 quarteto = 4 bits;
• 1 byte = 8 bits;
• 1 K = 1024 × 8 bits = 8.192 bits;
• 1 mega = 1024 × 1024 × 8 = 8.388.608 bits; e
• 1 giga = 1024 × 1024 × 1024 × 8 = 8.589.934.592 bits.

Agora temos um problema: como podemos transformar os números


que entendemos para uma forma que o computador entenda? Bom,
para resolvermos essa questão, temos de entender o que fala o Teorema
Fundamental da Numeração (FEDELI, 2003). Esse teorema diz que
o valor decimal de uma quantidade expressa em outro sistema de
numeração é dado pela seguinte fórmula:

n
=N 0
∑ (dígito ) × (base )
i = −d
i
i

www.esab.edu.br 51
Em que:

• i = posição em relação à vírgula;


• d = no de dígitos à esquerda da vírgula;
• n = no de dígitos à direita da vírgula –1;
• dígito = cada um dos que compõem o número.

Note que, sendo ∑ o símbolo de soma, também podemos representar


essa fórmula do seguinte modo:

... + x3 × b 3 + x 2 × b 2 + x1 × b1 +
x0 × b 0 + x −1 × b −1 + ...

Como você viu, o sistema binário é um sistema de numeração em que


todas as quantidades são representadas, utilizando como base o número
dois, dispondo dos algarismos zero (0) e um (1). Então, a conversão
binário para decimal segue a ideia que você acabou de ver. Vamos ver um
exemplo?

101011(2) =1 × 25 + 0 × 2 4 + 1 × 23 + 0 × 2 2 +
+ 1 × 21 + 1 × 20 = 32 + 0 + 8 + 0 + 2 + 1= 43(10)

Segundo Fedeli (2003), para transformar de decimal para binário,


devemos seguir as seguintes etapas:

• parte inteira: divide-se sucessivamente por 2 o número decimal e


os quocientes que vão sendo obtidos, até que o quociente seja 0 ou
1. O número binário é, então, alcançado por meio da sequência de
todos os restos dispostos na ordem inversa. Para clarificar essa etapa,
acompanhe um exemplo em que há a transformação de 10(10) para
1010(2):

www.esab.edu.br 52
10 2
0 5 2
1 2 2
0 1 2
1 0

Como você pode ver, o número 10 foi dividido por 2, resultando em


0 com o quociente 5. Este também foi dividido por 2, obtendo-se o
valor 1 como resultado e 2 como quociente. Mais uma vez, dividimos
o quociente por 2, chegando ao resultado 0 e quociente 1. Por fim, este
quociente foi dividido por 2, resultando em 1 com o quociente 0. Dessa
forma, chegamos aos restos 0101. Para completar a transformação, basta
invertermos a ordem dos restos, de modo que chegaremos a 1010.

• parte fracionária: utiliza-se o método das multiplicações sucessivas,


que consiste em multiplicar o número fracionário por 2. Do
resultado, a parte inteira será utilizada como dígito do número na
base 2 e a parte fracionária é novamente multiplicada por 2. O
processo é repetido até que a parte fracionária do último produto
seja igual a 0 (zero). Veja o exemplo!

0.5625 x 2 = 1 + 0.1250
0.1250 x 2 = 0 + 0.2500
0.2500 x 2 = 0 + 0.5000
0.5000 x 2 = 1 + 0.0000
Resultado: 0.5625(10) = 0.1001(2)

Mas você pode estar se perguntando: se o número tiver parte inteira


fracionária, o que fazemos? Nesses casos, basta utilizarmos ambos os
métodos e depois juntar os valores encontrados!

Agora que sabemos como podemos fazer as transformações para a forma


que o computador entende, de modo que ele possa nos devolver os
números de maneira inteligível para nós, surge uma outra situação. No

www.esab.edu.br 53
mundo da computação, temos a linguagem Assembly ou linguagem
de montagem. Você já ouviu falar sobre ela? É uma notação legível
para nós, humanos, do código de máquina que uma arquitetura de
computador específica usa (FEDELI, 2003). Essa linguagem é utilizada
para programar dispositivos computacionais, como microprocessadores e
microcontroladores (MEIRELLES, 2004).

A linguagem de máquina, que é um mero padrão de bits, trabalha


somente na base hexadecimal, portanto, para que consigamos
compreender melhor a linguagem dos computadores, precisamos
entender como é a transformação para essa base. Vamos ver?

No sistema hexadecimal, usamos dezesseis algarismos – 0, 1, 2, 3, 4, 5,


6, 7, 8, 9, A, B, C, D, E e F – para representar dados e instruções. Veja a
tabela a seguir.

Tabela 1 – Valores hexadecimais.


BIN. HEX. DECIMAL
0000 0 00
0001 1 01
0010 2 02
0011 3 03
0100 4 04
0101 5 05
0110 6 06
0111 7 07
1000 8 08
1001 9 09
1010 A 10
1011 B 11
1100 C 12
1101 D 13
1110 E 14
1111 F 15

Fonte: Elaborada pela autora (2012).

www.esab.edu.br 54
Como você pode ver, um dígito em hexadecimal pode representar
um número binário de 4 dígitos, dessa forma, para transformar um
binário em hexadecimal, separamos o binário em grupos de 4 bits,
começando pela direita. Como exemplo, vamos converter o binário
1101000101100011 em hexadecimal. Acompanhe o procedimento!

• Devemos separar o número binário em grupos de quatro bits.


Portanto, temos: 1101 0001 0110 0011.
• Em seguida, identificamos os números hexadecimais
correspondentes a cada grupo: 1101 = D; 0001 = 1; 0110 =
6; 0011 = 3. Em caso de dúvida, consulte a tabela apresentada
anteriormente, ela irá auxiliá-lo.
• Assim, chegamos ao resultado por meio do qual comprovamos que:
1101000101100011(2) = D163(16)

Saiba mais
Para desenvolver sua capacidade de conversão,
veja as dicas disponíveis aqui.

E a conversão de hexadecimal para binário? Fazemos isso pelo o


processo inverso ao que acabamos de estudar, ou seja, cada dígito será
transformado em um número binário de 4 bits.

Por exemplo, para o número hexadecimal F2A7, temos:

F = 1111; 2 = 0010; A = 1010; e 7 = 0111.

Por fim, sabemos que F2A7(16) = 1111001010100111(2).

www.esab.edu.br 55
Já a conversão de hexadecimal para decimal segue o processo igual ao do
seguinte exemplo:

3E8(16) = 3 × 16 2 + E × 161 + 8 × 160 =


= 3 × 256 + 14 × 16 + 8 × 1 = 1000(10)

Pegamos cada elemento e o multiplicamos por 16 elevado ao número


correspondente a sua “casa”, considerando o número total de elementos,
sendo que o último será elevado a zero. Assim, temos três elementos:
o primeiro será multiplicado por 162; o segundo elemento será
multiplicado por 161; e o terceiro, por 160. Efetuando a potência,
chegaremos à multiplicação simples 3 × 256, 14 × 16 e 8 × 1. Por fim,
basta somar o resultado de cada multiplicação, que nos dará 1000.
Portanto, 3E8 = 1000.

Atividade
Chegou a hora de você testar seus conhecimentos
em relação às unidade 1 a 8. Para isso, dirija-se
ao Ambiente Virtual de Aprendizagem (AVA) e
responda às questões. Além de revisar o conteúdo,
você estará se preparando para a prova. Bom
trabalho!

www.esab.edu.br 56
9 Os sistemas operacionais
Objetivo
Enumerar os conceitos relativos a sistemas operacionais e os
principais sistemas operacionais existentes.

Para que o hardware do computador possa funcionar, é necessário que


um conjunto de regras seja seguido e que tarefas sejam executadas. Você
imagina de que modo tudo isso é feito? Quem coordena e executa todas
as regras e tarefas é o sistema operacional, o qual integra uma variedade
de programas que interagem entre si (FEDELI, 2003; MEIRELLES,
2004; GUIMARÃES; LAGES, 2001).

Podemos dizer que um sistema operacional, ou simplesmente SO, é uma


coleção de programas que inicializa o hardware do computador; fornece
rotinas básicas para controle dos dispositivos e gerencia e escalona as
tarefas que o computador pode executar (FEDELI, 2003; MEIRELLES,
2004; GUIMARÃES; LAGES, 2001).

Assim, podemos dizer que um sistema operacional é composto de um


conjunto de programas. Conforme a função que desempenham, esses
programas podem ser classificados da seguinte maneira:

Gerenciamento de dados
Programas
Gerenciamento de serviços/trabalhos
de controle
Gerenciamento do sistema
Sistema
operacional
Programas Tradutores
de processo Programas utilitários

Figura 13 – Conjunto de programas que formam um SO.


Fonte: Elaborada pela autora (2012).

www.esab.edu.br 57
O coração do sistema operacional é o kernel, ou núcleo. Ele é a parte do
SO que implementa as chamadas ao sistema. Desse modo, as atividades
normalmente atribuídas ao kernel são:

• criação, agendamento e finalização de processos;


• alocação e liberação de memória;
• controle do sistema de arquivos;
• operações de entrada e saída com dispositivos periféricos, acesso à
memória, entre outros (FEDELI, 2003).

A evolução dos sistemas operacionais foi uma consequência dos avanços
ocorridos em relação ao hardware. Em função disso, podemos dizer que
existem quatro gerações de sistemas operacionais. Vamos ver cada uma
delas? Acompanhe!

A primeira geração refere-se aos computadores criados entre 1945


e 1955. Nessa época, não se trabalhava com sistemas operacionais
propriamente ditos. Um único grupo de pessoas era responsável pelo
projeto, pela construção, pela programação, pela operação e pela
manutenção de cada máquina.

Toda programação era feita diretamente nos painéis do hardware,


pois não existia o conceito de linguagem de programação. Era muito
difícil criar rotinas programáveis, o que exigia um trabalho intenso dos
operadores de máquinas. Além disso, o acesso ao computador por parte
do usuário era feito por meio da reserva antecipada da máquina. Nessa
época, os programas processados pelos computadores eram constituídos
essencialmente por cálculos numéricos repetitivos, como a geração de
tabelas de funções trigonométricas. Complicado, não é mesmo?

O objetivo dos sistemas operacionais nessas máquinas limitava-se a


auxiliar os programas nas operações de entrada e saída e na tradução dos
códigos estabelecidos pelos programadores para a execução das tarefas.
No início dos anos 1950, houve uma melhora no uso de tais máquinas
com o advento do cartão perfurado, que tornou possível a codificação
de programas em cartões e a sua leitura pela máquina, dispensando a
programação por meio de painéis (FEDELI, 2003; MEIRELLES, 2004;
GUIMARÃES; LAGES, 2001).

www.esab.edu.br 58
A segunda geração de sistemas operacionais nasceu a partir da década
de 1960, com o conceito propriamente dito de sistemas operacionais,
proporcionando tradutores simbólicos mais evoluídos, programas de serviço
para transferência de informação entre periféricos e programas de controle de
entrada e saída, ou seja, os Input Output Control System (IOCS).

O surgimento dos sistemas operacionais propriamente ditos se deu


devido ao surgimento da programação em batch. Com ela, vários
comandos poderiam ser executados em sequência por meio de cartões
perfurados, eliminando parte do trabalho do operador de terminal.

Em meados da década de 1960, os primeiros sistemas operacionais


foram desenvolvidos conforme a evolução da tecnologia da época.
Contudo, cada máquina possuía seu próprio SO, o que implicava
na incompatibilidade de mainframes distintos. Um dos maiores
representantes dos sistemas operacionais da época foi o Compatible
Time-Sharing System (CTSS) – em português, sistema compatível
de divisão por tempo –, criado pelo MIT, que foi lançado em 1961
para o computador IBM 7090 (FEDELI, 2003; MEIRELLES, 2004;
GUIMARÃES; LAGES, 2001).

A terceira geração de sistemas operacionais surgiu na década de 1970,


visando resolver o problema da incompatibilidade de SOs de máquinas
distintas. Um grupo de desenvolvedores da AT&T criou, então, o Unix,
que se tornou o primeiro sistema operacional moderno da computação.
Sua primeira versão foi escrita em linguagem Assembly, como vimos na
unidade 8, sendo posteriormente reescrito na linguagem C (FEDELI, 2003;
MEIRELLES, 2004; GUIMARÃES; LAGES, 2001).

Dica
A linguagem C é fundamental na história da
computação. Ela foi desenvolvida em 1972 e
permanece sendo uma das mais populares. Para
aprender a programar em C, estude com atenção a
disciplina de Programação I.

www.esab.edu.br 59
Os sistemas operacionais da terceira geração nos reservam três técnicas
importantes, de acordo com os avanços da tecnologia: multiprogramação,
Simultaneous Peripheral Operation On Line (SPOOL) e time sharing
(MEIRELLES, 2004). Veja mais sobre essas técnicas a seguir.

9.1 Multiprogramação
No IBM 7094, quando uma tarefa (job) corrente parava para aguardar
a conclusão de operações de entrada e saída, o processador também
permanecia inativo até a conclusão da operação. Nos casos das aplicações
científicas, as operações de entrada e saída não são muito frequentes, de
tal maneira que o tempo perdido aguardando sua conclusão não chega
a ser significativa. Já no caso do processamento comercial, o tempo de
espera por entrada e saída pode chegar a 80 ou 90 por cento do tempo
total de processamento, de maneira que algo precisava ser feito para
evitar desperdício. A solução inicial foi dividir a memória em diversas
partes, com uma tarefa alocada a cada uma delas.

9.2 Simultaneous Peripheral Operation On Line


Essa técnica refere-se à capacidade de ler tarefas de cartão direto para o
disco tão logo a massa de cartões tivesse chegado à sala do computador.
Dessa forma, assim que uma tarefa ativa terminasse, o sistema operacional
carregaria uma nova na partição livre de memória proveniente do disco.

9.3 Time-sharing
Corresponde ao compartilhamento de tempo, ou seja, uma variação
dos sistemas operacionais, em que cada usuário tinha um terminal on-
line à sua disposição. O que isso quer dizer? Os funcionários tinham
um dispositivo de entrada e saída, geralmente composto por teclado e
monitor, que permitiam a comunicação.

Durante a década de 1970, o Unix foi distribuído gratuitamente (o


código-fonte ia junto) para universidades e órgãos governamentais dos
Estados Unidos da América, dando a esse SO uma certa popularidade,

www.esab.edu.br 60
apesar de sua interface ser totalmente em modo texto, sem a parte
gráfica. Em 1977, foi lançado o sistema operacional Berkeley Software
Distribution (BSD), que foi baseado no Unix, mas focado na execução
em máquinas específicas de alto desempenho. Tanto o Unix quanto o
BSD foram desenvolvidos para computadores de grande porte.

A quarta geração de sistemas operacionais surgiu devido aos circuitos


integrados e à multiprogramação. Com o desenvolvimento da integração
de circuitos em grande escala, apareceram chips com milhares de
transistores encapsulados em um centímetro quadrado de silício,
nascendo daí a ideia do computador pessoal.

E você sabia que a Apple® foi responsável pelo desenvolvimento dos


primeiros sistemas operacionais para computadores pessoais? O marco
desses sistemas operacionais foi o MAC OS, em 1984. Juntamente com
ele surgiram o DOS e o Windows®, da Microsoft®, sendo este um sistema
operacional amplamente utilizado até hoje.

Em 2001, a Apple® abandonou o seu próprio código e reescreveu todo o seu


sistema operacional usando o Unix como base. A partir daí, ele passou a se
chamar MAC OSX, sistema que continua bastante usado até os dias de hoje.

Voltando algumas décadas, em meados dos anos de 1980, surgiram os


sistemas operacionais para redes e os sistemas operacionais distribuídos.
Vamos entender o que significam esses termos!

Quando temos uma rede de computadores, os usuários estão conscientes


da existência de um conjunto de máquinas conectadas, podendo,
portanto, ligar-se a máquinas remotas e solicitar serviços a elas.

Cada uma dessas máquinas roda o seu próprio sistema operacional e


tem seu próprio usuário. Os sistemas operacionais de rede não diferem
fundamentalmente daqueles usados em máquinas monoprocessadoras, eles
precisam de uma interface controladora de rede e de um software específico
para gerenciá-la, além de necessitar de programas que permitam a ligação
de usuários a máquinas remotas e o seu acesso a arquivos também remotos.

www.esab.edu.br 61
E tais características não chegam a alterar a estrutura básica do sistema
operacional usado para máquinas com um único processador.

Já os sistemas operacionais distribuídos precisam de mais que a simples


adição de poucas linhas de código a um sistema usado em máquinas
monoprocessadoras, pois os sistemas ditos distribuídos diferem dos
centralizados em pontos bem críticos. Por exemplo, os sistemas
operacionais distribuídos permitem que programas rodem em vários
processadores ao mesmo tempo, necessitando, portanto, de algoritmos de
escalonamento de processador bem mais elaborados, de forma a otimizar
o grau de paralelismo disponível no sistema.

Por fim, não poderíamos falar de sistemas operacionais sem falar do


GNU/Linux! Muitos conhecem e divulgam o sistema operacional apenas
como Linux, porém o termo correto é GNU/Linux. Isso porque o Linux
é apenas o kernel (núcleo) do sistema operacional, por isso, depende de
uma série de ferramentas para funcionar, a começar pelo programa usado
para compilar seu código-fonte. Essas ferramentas são providas pelo
projeto GNU, criado por Richard Stallman.

O kernel do GNU/Linux foi criado em 1991 por Linus Torvalds e


atualmente é mantido por desenvolvedores de todo o mundo. Seu código-
fonte está disponível sob a licença General Public License (GPL), que
permite que qualquer pessoa possa utilizá-lo, estudá-lo, modificá-lo e
distribuí-lo. Inicialmente, ele foi desenvolvido e utilizado por grupos de
entusiastas em computadores pessoais, e depois passou a ter a colaboração
de grandes empresas, como a IBM, a Sun Microsystems, a Hewlett-Packard
(HP), a Red Hat, a Novell, a Oracle, a Google, a Mandriva e a Canonical.

Estudo complementar
O Linux atualmente é o sistema operacional mais
badalado na área da Computação. Para conhecer
melhor esse sistema e suas particularidades
clique aqui. Em seguida, leia o documento
disponível aqui.

www.esab.edu.br 62
10 As redes de computadores
Objetivo
Conhecer os conceitos de redes de computadores e suas topologias e
arquiteturas.

Vimos brevemente que as redes de computadores se referem a um


conjunto de computadores. Mas para que haja realmente uma rede,
esses computadores devem ser máquinas autônomas interconectadas por
uma única tecnologia. Isso significa que esses computadores podem ser
operados independentemente, como se não estivessem em rede, porém
eles podem trocar informações. Para isso, a conexão não precisa ser
feita por um fio de cobre, podendo também ser usadas fibras ópticas,
micro-ondas, ondas de infravermelho e satélites de comunicações
(TANENBAUM, 2003).

Podemos também dizer que uma rede é um conjunto de dispositivos,


frequentemente denominados nós, que são conectados por meio de links.
Você imagina a que se referem esses termos? Acompanhe a explicação!

Como um nó, podemos ter um computador ou qualquer outro


dispositivo capaz de enviar ou receber dados gerados por outro nó da
rede, como é o caso de uma impressora ou até mesmo um celular.

E quanto ao link? Ele é um caminho por meio do qual acontece a


comunicação. É por ele que os dados de um nó passam para outro. Pense
no link como uma linha entre dois pontos pela qual dois dispositivos
se comunicam. Imaginando dessa forma, fica claro que para haver
comunicação entre os nós, estes devem estar conectados no mesmo link
simultaneamente, não é mesmo? Caso contrário, não haveria como
efetuar a passagem de dados de um dispositivo a outro.

Há duas formas possíveis de conexão em uma rede: a ponto a ponto e a


multiponto, conforme ilustra a figura 14.

www.esab.edu.br 63
Link
Conexão
ponto a ponto
Estação de trabalho Estação de trabalho
Workstation Workstation

Conexão
Estação de trabalho Estação de trabalho
multiponto
Workstation Workstation

Link

Mainframe Estação de trabalho


Workstation

Figura 14 – Estrutura das conexões multiponto e ponto a ponto.


Fonte: Adaptado de Forouzan (2006).

Em uma conexão ponto a ponto, temos um link dedicado entre dois


dispositivos e toda a capacidade do link é reservada para a comunicação
entre eles. Já na conexão multiponto (multipoint ou multidrop) temos
mais de dois dispositivos que compartilham um só link.

Em um ambiente multiponto, a capacidade do canal é compartilhada


de maneira espacial ou temporal entre os dispositivos do link. O
compartilhamento espacial é caracterizado pela utilização simultânea do
link de comunicação. Mas se os usuários compartilham o link mediante
um revezamento, a conexão é do tipo compartilhamento temporal
(TANEMBAUM, 2003).

www.esab.edu.br 64
O compartilhamento espacial leva a uma classificação das redes quanto
à topologia, o que chamamos de topologia física (FEDELI, 2003;
MEIRELLES, 2004; GUIMARÃES; LAGES, 2001; MONTEIRO,
2001), que refere-se ao modo segundo o qual uma rede é montada
fisicamente. Dois ou mais dispositivos formam um link e dois ou mais
links geram uma topologia de rede. Assim, podemos dizer que topologia
de uma rede é a representação geométrica do relacionamento entre todos
os links e os dispositivos conectados uns aos outros (usualmente os nós).

Segundo Tanembaum (2003) e Forouzan (2006), existem quatro tipos de


topologia: malha, estrela, barramento e anel. Vamos ver alguns detalhes
sobre cada um deles? Acompanhe!

Malha

Nesta topologia, segundo (FOROUZAN, 2006, p. 39) “cada dispositivo


possui um link dedicado com os demais dispositivos da rede.” Vamos
ver o que isso significa? Quando falamos em um link ser dedicado,
queremos dizer que ele é aplicado exclusivamente para a comunicação
entre os dois dispositivos, ou seja, ele é dedicado (destinado ou restrito)
a esses dispositivos. Portanto, temos nessa topologia o que chamamos de
conexão ponto a ponto, isto é, um dispositivo ligado a outro.

E qual seria a vantagem de utilizar esta topologia? Bem, os problemas de


tráfego causados por muitos dispositivos compartilharem o mesmo link
são minimizados ou inexistem, pois a malha possibilita a troca de dados
entre a conexão fechada.

Outro ponto positivo que encontramos ao optar pela malha é que ela
é uma topologia robusta, ou seja, resiste a situações não esperadas, por
exemplo, quando ocorre a indisponibilidade de um link, a comunicação
do sistema inteiro não é afetada.

Além disso, por possuir link dedicado, ganha-se em privacidade e


segurança, já que os dados e as informações permanecerão apenas entre
os dois dispositivos do link, evitando que outras pessoas tenham acesso.

www.esab.edu.br 65
Ainda em relação à segurança, conforme aponta Forouzan (2006, p. 39),
“[...] os links ponto a ponto facilitam a identificação e isolamento de
falhas.” Portanto, as informações que passam por links suspeitos podem
ser desviadas, a fim de evitar problemas, o que facilita a identificação do
local e da causa falha, facilitando a solução do problema.

Porém, a topologia em malha não apresenta somente vantagens, mas


também desvantagens. Vamos ver algumas coisas que podem nos fazer
optar por outra topologia?

Bom, como você pode imaginar, nessa topologia é necessário


conectarmos cada dispositivo aos demais, o que exige uma grande
quantidade de interfaces de entrada e saída de dados (interfaces E/S),
além de um grande sistema de cabeamento, que, por sua vez, pede um
sistema de canaletas. Esses sistemas podem ser excessivos dependendo do
ambiente, portanto, é necessário que o espaço físico seja bem planejado
para a acomodação dos cabos.

Além disso, a quantidade de interfaces torna a instalação e a configuração


da rede um tanto complicada. Forouzan (2006, p. 39), “numa malha
totalmente conectada existem n(n – 1)/2 canais físicos interligando n
dispositivos. Para suportar tantos links, cada dispositivo na rede deve
possuir n −1 interfaces de entrada/saída.”

Por fim, temos também como ponto negativo o custo desse hardware,
fato que geralmente faz a implementação dessa topologia ser limitada.
De que modo? É possível fazer o que chamamos de backbone – em
português, “espinha dorsal” – utilizando a malha para conectar os
computadores principais, como os servidores, e uma rede com outras
topologias para interligar os demais dispositivos.

Estrela

Assim como a topologia apresentada anteriormente, a em estrela é


apresenta a conexão ponto a ponto, no entanto, temos um elemento que
atua como controlador ou concentrador com o qual cada dispositivo
se comunica de modo dedicado. Esse elemento geralmente também é

www.esab.edu.br 66
chamado de hub. Portanto, diferentemente do que ocorre na topologia
em malha, na em estrela não há a interligação direta entre os dispositivos,
tendo no concentrador uma espécie de intermediário para a conexão
entre estes. Por exemplo, se você utiliza um notebook e seu colega, um
computador de mesa em uma topologia em estrela, para você passar
informações ao seu colega, primeiramente o notebook enviará os dados
para o concentrador, que replicará as informações para o computador de
mesa do seu colega.

Em relação às vantagens de implementar a topologia em estrela, temos o


menor custo de hardware, pois para conectar os dispositivos necessitamos
de apenas um link e uma interface de entrada e saída para cada um.
Assim, se pensarmos em relação à topologia em malha, a instalação e
a configuração da rede será mais fácil e não exige um cabeamento tão
complexo, pois teremos apenas um cabo para cada dispositivo conectar-
se ao concentrador.

Assim como a topologia em malha, a topologia em estrela apresenta


a robustez como característica, pois quando ocorre falha em um link,
este é o único afetado, já que há uma certa independência entre os
dispositivos, que são ligados diretamente ao concentrador e não a outro
dispositivo. Isso também facilita o isolamento e a identificação de falhas,
pois o concentrador pode ser utilizado de certo modo que consigamos
monitorar os problemas e gerenciar os links que apresentem problemas.

A desvantagem, se é que podemos dizer assim, está no cabeamento, que


apesar de ser mais simples que o da topologia em malha, pode exigir mais
cabos que a das topologias em anel e barramento, sobre as quais você
estudará a seguir, por necessitar de um cabo para cada dispositivo ligado
ao concentrador.

Barramento

Ao contrário das topologias que vimos anteriormente, a topologia em


barramento apresenta conexões multiponto. Nesse caso, temos um cabo
como espinha dorsal que liga todos os dispositivos em uma rede por
meio de cabos menores e conectores de pressão (taps). Para simplificar

www.esab.edu.br 67
a visualização, podemos pensar em uma espinha de peixe formada por
um cabo principal na qual estão ligados cabos menores ou segmentos de
cabos, que conectam-se aos dispositivos. O tap, como falamos, trata-se
de um conector. Com a sua utilização, conseguimos estender um cabo a
partir do cabo principal até o dispositivo que desejamos conectar.

A principal vantagem apresentada pela topologia em barramento é a


facilidade de instalação. Achando o caminho mais adequado para a
transmissão eficiente dos sinais, basta conectar os dispositivos utilizando
segmentos de cabos, que podem ter comprimentos diferentes conforme a
necessidade.

Portanto, sendo suficiente um cabo para interligar todos os dispositivos,


a topologia em barramento exigem menos cabeamento que as topologias
que você viu anteriormente. E quanto aos segmentos de cabos? Basta que
eles alcancem o ponto mais próximo do cabo principal, ou backbone.

Forouzan (2006, p. 41) indica que “[...] numa topologia em estrela, por
exemplo, quatro dispositivos numa mesma sala usam quatro segmentos
de cabos para alcançar o hub central. Num barramento esta redundância
é eliminada.”

No entanto, a facilidade de instalação também nos coloca alguns


problemas, que são: a dificuldade de isolamento de falhas, de reconexão
e de adição de novos dispositivos na rede. E por que encontramos essas
dificuldades?

Em relação à adição de dispositivos, temos a influência da reflexão


dos sinais que ocorre nos taps, o que prejudica a qualidade do sinal no
cabo principal. Para controlarmos esse problema, precisamos de um
espaçamento adequado entre os segmentos de cabo ligados ao backbone,
bem como a limitação do número de taps utilizados.

Já quando ocorre uma falha ou algum cabo do barramento se desconecta,


toda a transmissão é afetada, pois os sinais refletem o dano em todas as
direções, causando ruídos em todos os dispositivos.

www.esab.edu.br 68
Anel

Esta é, provavelmente, a topologia mais fácil de ser visualizada. Nela,


cada dispositivo possui uma conexão dedicada, ponto a ponto, com os
dois dispositivos fisicamente ou logicamente mais próximos. Assim,
o sinal é transmitido de um dispositivo a outro em uma só direção
até chegar ao seu destino final. Para isso, cada dispositivo contém um
repetidor, que regenera o sinal e o transmite até o dispositivo ao qual esse
sinal está endereçado.

A instalação e a configuração dessa topologia é simples, uma vez que cada


dispositivo é conectado somente a dois “vizinhos” seus, o que também
facilita a inclusão e a exclusão de dispositivos, pois para isso precisamos
efetuar apenas duas modificações. Podemos entender isso como uma
vantagem, não é mesmo?

Outra vantagem é o isolamento de falhas, que é simples, pois gera-se


um alerta informando o problema e a localização deste, caso algum dos
dispositivos não receba o sinal em determinado período de tempo.

Porém, note que temos um tráfego de sinal unidirecional e isso pode ser
uma grande desvantagem, porque qualquer quebra ou ruído no sinal
afeta toda a rede, podendo desabilitá-la. Mas há uma solução para esse
problema! Conforme Forouzan (2006, p. 41), “[...] este inconveniente
pode ser resolvido através da adoção de um anel duplo ou de um
chaveamento capaz de redirecionar as conexões endereçadas ao ponto de
quebra.” Ou seja, podemos replicar a rede ou adotar chaves que possam
ser ligadas e desligadas, de modo que consigamos encaminhar o sinal
para seu destino.

Veja a seguir, na figura 15, a representação de cada tipo de topologia.

www.esab.edu.br 69
Segmento
de cabo

Conector
trap
Terminador
Topologia do tipo barramento

Hub

Topologia em Estrela

Topologia em malha

Topologia em anel
Figura 15 – Os quatro tipos de topologia física.
Fonte: Adaptado de Forouzan (2006).

Considerando a área de abrangência, as redes são classificadas em:

• local area network (LAN): é uma rede local situada em um domicílio,


uma sala comercial ou uma lan house;
• metropolitan area network (MAN): utilizada entre duas cidades;
• wide area network (WAN): utilizada entre pontos intercontinentais,
como é o caso do sistema bancário internacional;

www.esab.edu.br 70
• regional area network (RAN): rede presente em uma região
delimitada (FEDELI, 2003; MEIRELLES, 2004; GUIMARÃES;
LAGES, 2001; MONTEIRO, 2001).

Agora que já sabemos como as redes são classificadas, podemos entender


melhor o que é a internet. Vamos ver?

Uma internet é duas ou mais redes que podem se comunicar. Simples,


não é mesmo? Sendo assim, o que conhecemos hoje como internet se
refere a centenas de milhares de redes interconectadas, e sua origem
data dos idos de 1969. Vamos conhecer um pouquinho desta história
conforme Tanenbaum (2003). Acompanhe!

Em 1967, em um encontro da Association Computing Machinery


(ACM), o grupo Advanced Research Projects Agency (ARPA)
apresentou as ideias para solucionar o problema do departamento
de defesa americano, que queria conectar os computadores de seus
pesquisadores. Surgiu então, a Advanced Research Projects Agency
Network (ARPANet), cuja ideia central era de que cada computador
(host), não necessariamente do mesmo fabricante, pudesse conectar-se
a um computador específico, denominado de Interface message processor
(IMP). Os IMPs, por sua vez, tinham a capacidade de conectarem-se
e comunicarem-se, assim como de estabelecer a comunicação com o
computador host que pedia acesso à rede.

Em 1969, a ARPANet tornou-se uma realidade, conectando a


University of California, em Los Angeles e em Santa Bárbara, o Stanford
Research Institute e a University of Utah. Criou-se também um software
chamado Network Control Protocol (NPS) para controlar a comunicação
entre os hosts. Assim nasceu o que hoje conhecemos como internet!
(TANENBAUM, 2003).

www.esab.edu.br 71
A Engenharia de Software:
11 conceitos gerais
Objetivo
Enumerar os conceitos de Engenharia de Software e os artefatos que
a compõem.

Atualmente, a economia de todos os países depende do uso de softwares.


Esse controle por meio da tecnologia é assunto constante no nosso
cotidiano; já não é novidade que cada vez mais o controle dos processos
tem sido feito por software. Por isso, atualmente os custos de software
superam os custos de hardware. E, dentro desse contexto, a manutenção
de software é em que se tem os maiores gastos, principalmente quando se
trata de sistemas de vida longa, como um sistema de folha de pagamento.

Mas o que é exatamente um software? Podemos definir o software, de


uma maneira clássica, como sendo: um conjunto de instruções, que,
quando executadas, produzem a função e o desempenho desejados;
um conjunto de estruturas de dados que permitam que as informações
relativas ao problema a resolver sejam manipuladas adequadamente; e a
documentação necessária para um melhor atendimento da sua operação e
do seu uso (FEDELI, 2003).

Para a Engenharia de Software, porém, o software é visto como um


produto a ser vendido, de modo que temos, então, o produto de
software. Um produto de software é destinado para uso por pessoas
diferentes das que o desenvolveram. Os eventuais usuários podem, ainda,
ter formações e experiências diferentes, o que significa que uma grande
preocupação no que diz respeito ao desenvolvimento do produto deve ser
a sua interface, que deve ser reforçada com uma documentação rica em
informações para que todos os recursos oferecidos possam ser explorados
de forma eficiente.

www.esab.edu.br 72
Além disso, no desenvolvimento de um produto de software, é necessário
que nele sejam realizados diversos testes para que não chegue ao usuário
com erros, seja em sua interface ou na execução de tarefas. Para isso,
podemos buscar apoio na chamada Engenharia de Usabilidade.

O software é concebido e desenvolvido como o resultado de um trabalho


de engenharia, e não manufaturado no sentido clássico. Ele não se
desgasta, ou seja, ao contrário da maioria dos produtos, o software não
se caracteriza por um aumento na possibilidade de falhas à medida
que o tempo passa (como acontece com a maioria dos produtos
manufaturados) e, além disso, a maioria dos produtos de software é
concebida inteiramente sob medida, sem a utilização de componentes
pré-existentes.

Por causa dessas características diferenciais, o processo de


desenvolvimento de software tem um conjunto de problemas, os quais
terão influência direta na qualidade do produto. Esses problemas
referem-se ao longo tempo para a conclusão do software, aos custos
elevados de produção, aos erros que chegam ao cliente e à dificuldade
de mensurar o progresso no desenvolvimento de um software. Assim, a
Engenharia de Software procura resolver tais problemas para melhorar
o processo de desenvolvimento de softwares, tendo como resultado
produtos mais bem desenvolvidos, interessantes e eficazes tanto para o
cliente como para o usuário.

Quando falamos no desenvolvimento de um produto de software, você já


parou para pensar em que momento se inicia a vida de um produto? O
ciclo de vida do produto de software começa na concepção do problema,
que gera a solicitação do usuário, e termina quando o sistema sai de uso.
Nesse contexto, a Engenharia de Software tem por objetivo estabelecer
uma abordagem sistemática de desenvolvimento por meio de ferramentas
e técnicas apropriadas, dependendo do problema a ser abordado,
considerando restrições e recursos disponíveis (FEDELI, 2003).

www.esab.edu.br 73
Os princípios da Engenharia de Software são:

• formalidade: produtos mais confiáveis, com menos custo de


manutenção e mais confiança no seu desempenho;
• abstração: identificação dos aspectos importantes, ignorando os
detalhes;
• decomposição: subdivisão do processo em atividades específicas,
atribuídas a diferentes especialistas;
• generalização: sendo mais geral, é bem possível que a solução possa
ser reutilizada;
• flexibilização: modificação com facilidade.

Assim, a Engenharia de Software reúne processos, métodos e


ferramentas, sendo que os processos seguem os métodos e estes
utilizam as ferramentas. Ao nos referirmos a métodos, estamos falando
de abordagens estruturadas para o desenvolvimento de software, que
incluem os modelos de software, as notações, as regras e as maneiras de
desenvolvimento.

As ferramentas utilizadas em Engenharia de Software são as ferramentas


Computer Aided Software Engineering (CASE). A finalidade delas é
fornecer suporte automatizado para as atividades de processo de software.
Elas são utilizadas para apoiar a aplicação dos métodos e, segundo Fedeli
(2003), operam em dois níveis:

• alto nível: ferramentas que suportam as atividades iniciais de


requisitos de projetos; e
• baixo nível: ferramentas que suportam as atividades de
programação, depuração e testes.

O modelo do processo de software é uma representação simplificada de


um processo de software apresentada sobre uma perspectiva específica.
Observe a seguir os principais modelos, segundo Fedeli (2003).

www.esab.edu.br 74
Cascata ou sequencial

Corresponde ao ciclo de vida clássico. É um método sistemático


e sequencial. Neste modelo, o resultado de uma fase constitui na
entrada de outra, sendo que cada fase é estruturada como um conjunto
de atividades que podem ser executadas por pessoas diferentes,
simultaneamente. As fases desse modelo são:

a. análise e definição de requisitos;


b. projeto de software;
c. implementação e teste unitário;
d. integração e teste de sistema;
e. operação e manutenção.

Os principais problemas desse tipo de modelo referem-se ao fato de


ser difícil realizar mudanças uma vez que o ciclo tenha sido executado,
ou seja, após os testes. É um modelo adequado para casos nos quais os
requisitos estão muito bem entendidos.

Evolutivo

Seu objetivo é desenvolver o sistema com o contínuo acompanhamento


dos clientes desde a especificação. Os requisitos precisam ser bem
entendidos. Este modelo faz uso da prototipação e é interessante para
alguns sistemas de grande porte, os quais apresentam um certo grau
de dificuldade para exprimir rigorosamente os requisitos. Por meio da
construção de um protótipo do sistema é possível demonstrar se ele pode
ser efetivamente implementado. Nesse modelo, é possível obter uma
versão, mesmo que simplificada do que será o sistema, com um pequeno
investimento inicial.

De transformação formal

É baseado na transformação de uma especificação matemática, por meio


de diferentes representações, para um programa executável. Este modelo
consegue alcançar os requisitos da especificação mais facilmente, porém
há uma dificuldade para encontrar profissionais especializados e também

www.esab.edu.br 75
para especificar determinados aspectos, como a interface com o usuário.
Esse tipo de modelo é ideal para sistemas críticos, nos quais não são
toleradas falhas.

De integração de componentes reusáveis

também conhecido como desenvolvimento baseado em reuso, neste


tipo de modelo os sistemas são baseados em componentes já existentes,
semelhantemente ao desenvolvimento de hardware. Para isso, esse
modelo engloba as seguintes fases:

a. análise do componente;
b. modificação dos requisitos;
c. projeto do sistema com reuso; e
d. desenvolvimento e integração.

Espiral

Engloba as características do ciclo de vida clássico e, ao mesmo tempo,


adiciona um novo elemento: a análise de risco. Este modelo engloba as
seguintes fases:

a. definição dos objetivos, das alternativas e das restrições;


b. análise de risco;
c. desenvolvimento e validação; e
d. planejamento.

Esses modelos especificam as atividades e a ordem em que elas devem


ser executadas de acordo com o modelo utilizado, pois os produtos
de software podem ser constituídos utilizando-se diferentes modelos
de processo, considerando que alguns são mais adequados que outros
para determinados tipos de aplicação. Assim, a opção por determinado
modelo deve ser feita levando-se em consideração o produto
desenvolvido. Os modelos auxiliam no processo de produção de produtos
de alta qualidade, com mais rapidez e a um custo cada vez menor.
Para isso, atributos como complexidade, visibilidade, aceitabilidade,
confiabilidade, manutenção e segurança devem ser considerados.

www.esab.edu.br 76
Os modelos de software possibilitam ao gerente controlar o processo
de desenvolvimento de software, e ao desenvolvedor obter a base para
produzir de maneira eficiente e eficaz um software que satisfaça os
requisitos preestabelecidos.

Um processo de software é um conjunto de atividades que objetivam


o desenvolvimento e a evolução de um software. De modo geral, as
principais atividades do processo de software são, segundo Fedeli (2003):

• especificação: definição do que o sistema deverá fazer, considerando


as suas restrições;
• desenvolvimento: produção de software;
• validação: checagem se o software faz o que o usuário deseja;
• evolução: mudanças no software para atender às novas demandas.

Processos de desenvolvimento são um conjunto de atividades para


especificar, projetar, implementar, e testar sistemas de software, sendo
que as atividades essenciais para o desenvolvimento de softwares são:
especificação, projeto, validação e evolução.

Tarefa dissertativa
Caro estudante, convidamos você a acessar o
Ambiente Virtual de Aprendizagem e realizar a
tarefa dissertativa.

www.esab.edu.br 77
A Engenharia de Software: o que é
12 usabilidade?
Objetivo
Conhecer os conceitos de usabilidade e os critérios que são aplicados
aos softwares.

Como você viu, a Engenharia de Software tem como objetivo melhorar


a qualidade dos produtos de software, gerando maior lucro para quem
os desenvolve e possibilitando que os usuários tenham produtos de boa
qualidade para apoiá-los em suas necessidades. E para alcançar a boa
qualidade, é importante pensarmos na usabilidade do software, que diz
respeito à qualidade da interação entre o usuário e o computador, que
chamamos de interação humano-computador, propiciada pela interface.

A área da Computação que abrange os estudos de usabilidade é a


Engenharia de Usabilidade. Essa área fornece técnicas capazes de trazer
diversos benefícios em relação à eficiência e à eficácia da interface do
software, especialmente, uma vez que o projeto e a criação de interfaces
adequadas é o principal objetivo da Engenharia de Usabilidade. Desse
modo, a aplicação das técnicas que visam a usabilidade resulta em softwares
mais produtivos, com menos erros e que dão maior satisfação ao usuário.

Portanto, a usabilidade está relacionada a uma característica de qualidade


referente à adequação do software ao uso, estando sempre associada a um
contexto de utilização. Isso significa que o produto de software deve estar
em conformidade para executar as tarefas previstas, ao tipo de usuário
que o utilizará e ao ambiente de utilização do produto.

Desse modo, o perfil dos usuários, bem como as situações e as


características do ambiente em que o produto será utilizado, são
fundamentais para a usabilidade. Sabendo disso, devemos pensar nos
seguintes pontos:

www.esab.edu.br 78
• é fácil aprender a utilizar o software? A facilidade de aprender
a utilizar o software refere-se ao tempo e ao esforço necessários
para que os usuários cheguem a um bom nível de desempenho na
execução de tarefas. Quanto menor esse tempo, mais o software está
adequado;
• é fácil utilizá-lo? Este ponto está relacionado ao esforço, seja físico
ou mental, na interação do usuário com o software;
• há flexibilidade no uso? Nesse ponto, tratamos da possibilidade de
utilizar o software de maneira otimizada, inteligente e criativa. Por
exemplo, poder realizar tarefas que não estavam previstas ou contar
com comandos para a agilidade na execução das tarefas;
• o usuário está satisfeito? Trata-se do prazer e da facilidade do
usuário ao utilizar o software;
• o software incentiva a produtividade? Um bom produto de
software possibilita o aumento da produtividade do usuário na
execução de suas atividades.

Para isso, a Engenharia de Usabilidade dispõe técnicas e métodos que


podem ser utilizados para garantir a boa qualidade da interface de
programas de computador em relação à sua usabilidade.

Com essas técnicas e os métodos oferecidos pela Engenharia de


Usabilidade, podemos organizar um processo no qual temos uma série
de atividades que visam a atingir uma boa qualidade em relação à
usabilidade do software. Esse processo deve fazer parte da construção,
pois o desenvolvimento e os aspectos dessa construção são fundamentais
para atingirmos a boa usabilidade.

Podemos pensar que a Engenharia de Software e a Engenharia de


Usabilidade são quase a mesma coisa, não é mesmo? A fronteira entre
elas às vezes não é muito nítida, mas, em linhas gerais, pode-se dizer
que enquanto a Engenharia de Software cuida do desenvolvimento
dos softwares, ou seja, dos aspectos de construção, a Engenharia de
Usabilidade trata da interação humano-computador, que é relacionada
aos aspectos comportamentais.

www.esab.edu.br 79
Estudo complementar
Jakob Nielsen, precursor da Engenharia de
Usabilidade e pesquisador reconhecido como
um dos autores mais importantes da área,
aponta cinco atributos importantes para o
desenvolvimento de interfaces: produtividade,
facilidade de aprendizado, retenção do
aprendizado, prevenção de erros ao usuário e
satisfação. Clique aqui e veja mais sobre o estudo
desse pesquisador.

Apesar de a Engenharia de Usabilidade disponibilizar parâmetros para o


desenvolvimento de boas interfaces, é importante observarmos que nem
sempre conseguimos contemplar todos eles. Conforme o contexto de
utilização do software, algum aspecto pode ser prioritário. Por exemplo,
em um sistema de caixa de banco, em que pode haver uma fila de pessoas
para serem atendidas, tornando o tempo de atendimento um ponto
crítico, a produtividade do usuário e a prevenção de erros tornam-se de
certo modo mais importantes, devendo ser satisfeitos mais rapidamente.

É admissível, inclusive, sacrificar o atributo facilidade de aprendizado,


por exemplo, uma vez que se pode treinar o funcionário do banco por
certo tempo para que ele adquira destreza na operação do software. Já no
caso de um software como um sítio de comércio eletrônico, espera-se que
vários usuários consigam utilizá-lo, por isso, os atributos facilidade de
aprendizado e satisfação tornam-se prioritários. Percebe-se então, que a
usabilidade não significa “facilidade de uso” de um produto de software,
como muitos acreditam, mas sim a busca pela adequação do software ao
uso que ele terá (PADUA, 2003; NIELSEN, 1993).

Vamos ver agora as fases da Engenharia de Usabilidade, mas lembre-se


que para cada software deve-se avaliar quais são as fases prioritárias.

www.esab.edu.br 80
• Conhecer o usuário: fase básica e essencial. Como falamos,
conhecer o perfil do usuário é essencial, portanto, nessa fase
analisamos as tarefas e os objetivos para conhecer as características
individuais do usuário.
• Analisar os aplicativos concorrentes: ocorre a análise comparativa
de diversos produtos disponíveis para estudo de recursos
interessantes e de falhas, possibilitando a inovação.
• Especificar metas de usabilidade: nesta fase, realizamos a
determinação dos pesos dos atributos de usabilidade em função do
projeto, dos objetivos da interface e das métricas da usabilidade.
• Realizar o design paralelo: refere-se à exploração das diversas
alternativas de design por meio do trabalho independente de vários
designers, para a geração de múltiplas soluções.
• Fazer o design participativo: neste ponto, acontece a apresentação
de diversas opções de design para uma amostra representativa de
usuários, a fim de selecionar as alternativas mais adequadas.
• Efetuar o design coordenado para a interface total: ocorre a
aplicação de argumentos de consistência para todo o conjunto da
interface homem-computador, incluindo, além das telas do produto,
a documentação.
• Aplicar os princípios de design de interfaces e de análise
heurística: refere-se à utilização de princípios para design de
interfaces com o usuário e de heurísticas de usabilidade para a
avaliação do design considerado.
• Elaborar protótipos: nesta fase, há a elaboração de telas sem
funcionalidades para a avaliação dos usuários e diminuição de tempo
de reengenharia.
• Aplicar testes empíricos: aqui temos a aplicação de testes, que
são feitos pelos usuários para a listagem de erros e melhorias de
usabilidade.

www.esab.edu.br 81
• Realizar o design iterativo: refere-se à realização de novas versões
da interface, por meio de um processo iterativo de design, baseados
nos problemas de usabilidade e nas observações identificadas na fase
anterior.
• Efetuar observação em campo: refere-se à análise da utilização do
produto para coleta de feedbacks, que podem auxiliar a promover
melhorias no sistema.

Muitas vezes, algumas empresas de pequeno porte preferem não cumprir


todas as etapas necessárias da Engenharia de Usabilidade, porém tal
escolha pode até acelerar o cronograma, mas pode ter efeitos desastrosos
no usuário final, comprometendo a imagem da empresa perante clientes
potenciais. Sendo assim, faz-se necessário que os responsáveis façam uma
análise de custo/benefício e também uma análise de riscos relativos a tal
escolha.

Saiba mais
A Ergonomia está relacionada à usabilidade,
é a qualidade da adaptação de um dispositivo
ao seu operador e à tarefa que ele realiza. Para
aprofundar seus conhecimentos sobre ergonomia
no desenvolvimento de softwares, leia o artigo de
Walter Cybis, Marcelo Pimenta, Mário Silveira e
Luciano Gamez, disponível clicando aqui.

www.esab.edu.br 82
Resumo

Caro aluno, nessas seis unidades você conheceu um pouco dos


fundamentos da Computação e da Máquina de Turing, a qual deu
origem aos computadores que temos hoje, e também a linguagem
que os computadores compreendem. A partir daí, você começou a
conhecer as grandes áreas de estudo da Computação, tais como Sistemas
Operacionais, Redes de Computadores e Engenharia de Software, além
de conhecer um pouco dos fundamentos da Engenharia de Usabilidade,
que devem ser considerados no desenvolvimento das interfaces.

Você viu que o computador necessita de uma linguagem específica


para compreender os comandos que os programas solicitam que
sejam executados. Além disso, viu que para que os computadores
funcionem e executem bem suas tarefas, é necessária a presença dos
sistemas operacionais, e para que possamos nos comunicar com as
pessoas por meio dos recursos computacionais, precisamos das redes de
computadores. Também estudou que não se desenvolve software sem
processos, regras e modelos bem formalizados e bem estabelecidos. E,
para isso, temos os princípios de Engenharia de Software! Por fim, viu
que as interfaces dos softwares devem seguir critérios bem estabelecidos de
ergonomia e usabilidade para que sejam amigáveis aos usuários.

Foi possível associar conceitos já vistos nas unidades anteriores para


entendermos os conceitos apresentados nessas seis unidades. Agora, tendo
esses conhecimentos, você conhecerá os sistemas distribuídos, a Matemática
que o computador utiliza em suas tarefas, bem como os conceitos de
Sistemas de Informação e como as informações são armazenadas nos banco
de dados. Em seguida, começará a conhecer como os dados e as informações
podem ser visualizadas por meio da computação gráfica.

Espero que você esteja gostando e que as próximas unidades estimulem a


sua curiosidade pelo universo da Computação!

www.esab.edu.br 83
13 Os sistemas distribuídos
Objetivo
Discorrer sobre os conceitos básicos de sistemas distribuídos e suas
aplicações.

Na unidade 9, que trata dos sistemas operacionais, você viu um pouco


sobre sistemas distribuídos. Esse conceito possui várias definições, e aqui
usaremos a apontada por Tanenbaum (2007). Para esse autor, o sistema
distribuído é constituído por vários computadores independentes, os
quais são vistos pelos usuários como se fossem um único sistema. Veja
a figura a seguir para compreender melhor a estrutura genérica de um
sistema distribuído antes de iniciarmos o estudo mais aprofundado.

Local Area Network (LAN) ou Wide Area Network (WAN)

Figura 16 - Estrutura de um sistema distribuído.


Fonte: Elaborada pela autora (2012).

Como mostra a figura 16, qualquer tipo de equipamento pode ser um


elemento de um sistema distribuído (notebooks, servidores, computadores
pessoais e estações de trabalho). Tais elementos podem ser mapeados em
uma rede, como as redes de área local – ou local area networks (LANs) –
e redes de longa distância – ou wide area networks (WANs) – e compor
um determinado sistema distribuído, entretanto, isso não significa que
teremos um sistema distribuído apenas colocando os computadores em
rede. É necessário que o sistema distribuído determine a participação de
seus elementos.

www.esab.edu.br 84
Em um sistema distribuído, os processos são executados de forma
concorrente e interagem para alcançar um objetivo comum. A
coordenação dos processos é feita pela troca de mensagens, utilizando
como base a rede de conexão (FEDELI, 2003).

Esses sistemas geralmente são organizados por meio de uma camada


de software chamada middleware, que fica entre uma camada de nível
mais alto, composta de usuários e aplicações, e uma camada adjacente,
constituída por sistemas operacionais e mecanismos de comunicação
(FEDELI, 2003; CASTRO, 2005), conforme mostra a figura seguinte.

Computador 1 Computador 2 Computador 3 Computador 4

Aplicação A Aplicação B Aplicação C

Camada do sistema distribuído (middleware)

Sistema Sistema Sistema Sistema


Operacional Operacional Operacional Operacional
Local 1 Local 2 Local 3 Local 4

Figura 17 - Estrutura de middleware.


Fonte: Elaborada pela autora (2012).

É mais comum vermos textos e ouvirmos falar sobre software e hardware,


não é mesmo? Mas o middleware também é de grande importância. Ele
deixa transparente para o usuário qual é a distribuição geográfica dos
componentes do sistema distribuído, ou seja, oculta a localização onde a
aplicação está sendo executada. Ele também encobre a heterogeneidade
dos componentes do sistema, ou seja, os diferentes sistemas operacionais
e os protocolos de comunicação. Assim, a camada de middleware
compreende várias máquinas e oferece a mesma interface a cada aplicação
(TANEMBAUM, 2007; MONTEIRO, 2001).

www.esab.edu.br 85
Conforme Tanembaum (2007), Monteiro (2001) e Fedeli (2003),
os sistemas distribuídos são classificados em sistemas de computação
distribuídos, sistemas de informação distribuídos e sistemas distribuídos
pervasivos. Vamos ver um pouco sobre cada um deles?

Os sistemas de computação distribuídos são muito utilizados na


computação de alto desempenho, como é o caso da computação em
cluster (aglomerado), que se refere a um grupo de sistemas conectados
através de uma LAN. Esses sistemas são homogêneos, isto é, possuem o
mesmo sistema operacional, o seu hardware é idêntico ou muito similar e
têm somente um nó de gerenciamento.

Outro exemplo é a computação em grade, ou em grid, em que há nós de


diversas origens. Nesse caso, os sistemas são heterogêneos, dispostos em
várias organizações e podem formar uma rede WAN.

Dica
Você lembra o que é uma LAN e uma WAN? Para
rever esse assunto, retome a unidade 10.

Os sistemas de informação distribuídos são bastante comuns, já que


vários sistemas de informação utilizam uma arquitetura distribuída.
Um exemplo de sistemas de informação distribuídos são os sistemas de
processamento de transações, os quais, segundo Tanembaum (2007),
Monteiro (2001) e Fedeli (2003), possuem algumas características
principais, que podemos ver a seguir.

• Atomicidade: não há meio-termo no funcionamento das operações,


ou seja, todas elas serão bem-sucedidas ou todas falharão.
• Consistência: a transação não viola as invariantes do sistema.
• Isolamento: as transações concorrentes não interferem umas nas
outras e o resultado de cada uma forma um resultado final, como se
todas as transações fossem executadas em uma sequência com certa
ordem.

www.esab.edu.br 86
• Durabilidade: esta característica informa que, uma vez confirmada a
transação, as alterações são permanentes.

Por fim, temos os sistemas distribuídos pervasivos, que necessitam


de alguns requisitos diferenciados, tais como o uso de baterias, a
interface com o usuário, a descoberta dinâmica de recursos e serviços e
a heterogeneidade de rede e de dispositivos. Além disso, esses sistemas
geralmente têm vários problemas de segurança. Como exemplos de
sistemas pervasivos, podemos citar os sistemas domésticos e os para
gerenciar tratamento de saúde.

Os sistemas domésticos devem prover um espaço personalizado a cada


usuário (com agenda, local para guardar fotos, música, vídeos etc.)
sem requerer um administrador, e também devem se auto-organizar.
Já no caso dos sistemas desenvolvidos para gerenciar tratamentos de
saúde, sendo um caso específico, é necessário ter mapeado onde e
como os dados monitorados serão armazenados e ter uma política de
prevenção robusta de perda de dados essenciais. Além disso, é de grande
importância definir alertas que serão gerados e propagados; garantir a
segurança dos dados; e ter estabelecido como os médicos podem prover
um feedback on-line.

Vamos ver agora o que Tanembaum (2007), Monteiro (2001) e Fedeli


(2003) apontam como características básicas de um sistema distribuído:

• compartilhamento de recursos: possibilita compartilhar os


componentes de hardware, tais como discos e impressoras e
componentes de software, como arquivos e bancos de dados. Existem
dois modelos básicos de compartilhamento: cliente/servidor e
baseado em objetos;
• extensibilidade: permite a adição às extensões de hardware, tais
como periféricos e memória, e as de software, como aplicativos e
protocolos de comunicação, para ampliar o sistema;
• concorrência: refere-se a mais de um processo em execução a cada
instante. Para termos acesso concorrente a recursos compartilhados,
precisamos de sincronização;

www.esab.edu.br 87
• escalabilidade: é a capacidade de um sistema, uma rede ou um
processo estar preparado para crescer, recebendo trabalho crescente
de modo uniforme;
• tolerância a falhas: capacidade de continuar o funcionamento
mesmo com a ocorrência de um problema, que pode acontecer tanto
no hardware como no software. Existem pelo menos duas abordagens
para atingir a tolerância a falhas: redundância de hardware e
recuperação por software;
• transparência: capacidade de ocultar ao usuário e ao desenvolvedor
de aplicações a separação dos componentes de um sistema
distribuído, de maneira que este seja visto como um sistema
centralizado. Existem oito formas de transparência: acesso,
localização, concorrência, replicação, falha, migração, desempenho e
escala.

Podemos citar como exemplos de sistemas distribuídos as aplicações


comerciais, como as desenvolvidas para reserva de hotéis, ou as de acesso
a informações multimídia, por exemplo, aplicações on-line que dão
acesso a áudio e vídeo.

Com o desenvolvimento da computação, nossa vida passou a ser cada


vez mais ligada à internet, certo? Utilizamos os mensageiros instantâneos
(como MSN®, Gtalk, Skype®) para nos comunicarmos, o internet banking
para pagar contas e podemos até mesmo fazer compras on-line, sem
sair de casa. E muitas dessas tarefas são realizadas por meio de sistemas
distribuídos! Quer ver?

Quando você realiza uma compra on-line em uma livraria, por exemplo,
está utilizando um sistema distribuído, pois acessa um site por meio do
qual verifica, em outro computador ou em um servidor (da livraria),
se há o produto no estoque e, em seguida, realiza a compra, que pode
ser concluída com a realização do pagamento por meio do sistema de
internet banking. Portanto, a sua compra é efetuada por um conjunto
de sistemas que possui as características estudadas anteriormente nesta
unidade, entre as quais está a transparência, que garante que você realize
essa tarefa sem perceber que está utilizando diversos sistemas.

www.esab.edu.br 88
Existem várias vantagens para se utilizar sistemas distribuídos. Vamos
conhecer algumas? O uso desses sistemas possibilita economia, pois
melhora a relação entre custo e desempenho; traz eficiência por gerar
um maior poder computacional; permite a distribuição inerente, na qual
as máquinas estão espacialmente separadas; e é capaz de proporcionar
confiabilidade, a qual garante que um sistema funcione como o esperado
sob determinadas condições por um período de tempo especificado.

Como desvantagens, podemos considerar o fato de que ainda temos


poucos softwares disponíveis para trabalhar em ambientes distribuídos,
e também os problemas de segurança que podem ocorrer por causa
das várias portas de acesso, porém este já pode ser evitado ou corrigido
(TANEMBAUM, 2007; MONTEIRO, 2001; FEDELI, 2003). Você já
pensou sobre isso?

www.esab.edu.br 89
14 A matemática e a computação
Objetivo
Conhecer a aplicabilidade matemática em computação, sua
relevância e seus métodos de aplicação.

Em um momento anterior, você conheceu, na unidade 8, a linguagem


dos bits e bytes. Nesta unidade, você estudará como o computador
processa as informações, assunto que faz parte da área da Ciência
da Computação conhecida como Lógica matemática, Matemática
computacional ou, em alguns casos, Fundamentos lógico-matemáticos.

A Matemática computacional tem a lógica como a sua base. Como você


viu na disciplina de Lógica para computação, a lógica está relacionada ao
raciocínio encadeado e coerente. A partir desse raciocínio, implementamos
a lógica de modo que os computadores possam executá-la.

E então, caro estudante, você saberia dizer quem foi o responsável


por começar a desenvolver os conceitos de lógica? Foi Aristóteles, que
junto com antigos filósofos gregos, passou a usá-la em suas discussões,
sentenças enunciadas nas formas afirmativa e negativa (GUIMARÃES;
LAGES, 2001). Como exemplo da lógica desenvolvida por Aristóteles,
temos o argumento chamado silogismo, uma técnica de raciocínio feito
por dedução e estruturada formalmente, que resulta em uma afirmação
elaborada a partir de duas premissas. Um dos mais difundidos exemplos
de silogismo é o que você já viu em Lógica para Computação:

Sócrates é homem.
Todo homem é mortal.
Consequentemente, Sócrates é mortal.

www.esab.edu.br 90
Dica
Na unidade 6 do módulo de Lógica para
Computação você estudará sobre silogismo
que complementará o assunto abordado nesta
unidade.

Em 1666, Leibniz usou em vários trabalhos o raciocínio que denominou


de calculus rationator, também chamado de lógica matemática ou
logística. Essas ideias nunca foram postas em prática por Leibniz, porém
o que ele escreveu deu origem à Lógica matemática (GUIMARÃES;
LAGES, 2001).

Posteriormente, no século XVIII, Euler introduziu a representação


gráfica das relações entre proposições, que foi desenvolvida mais tarde
por Venn, Veitch e Karnaugh. Já no século XIX, mais precisamente em
1847, Augustus DeMorgan publicou o tratado “Formal Logic” e sua linha
de raciocínio recebeu a contribuição de George Boole, que escreveu, em
1848, o artigo “The Mathematical Analysis of Logic”.

Mais tarde, em 1854, Boole lançou o primeiro livro sobre as estruturas


algébricas desenvolvidas por ele, estas receberam o nome de Álgebra
de Boole, e tiveram sua primeira aplicação em 1937. Um ano mais
tarde, Shannon apresentou a aplicação da Álgebra de Boole na análise
de relés, o que serviu de base para a Teoria dos Interruptores (Sistemas
dicotômicos) (GUIMARÃES; LAGES, 2001).

www.esab.edu.br 91
Estudo complementar
Para tratar de problemas de incertezas que
a lógica não conseguia modelar, em 1965, o
matemático e cientista da computação Lotfi A.
Zadeh propôs a lógica difusa, ou lógica fuzzy, que
revolucionou a área da computação. Para saber
mais sobre esse assunto, leia o artigo “Lógica Fuzzy
ou Lógica Nebulosa”, disponível clicando aqui.

Bem, a lógica pode ser dividida em duas grandes correntes: a clássica


e a formal. Você saberia diferenciá-las? A lógica clássica tem como
base processos não matemáticos e não analíticos, sendo que suas
verdades resultam de entidades filosóficas. Já a lógica formal, que pode
ser chamada de lógica matemática, baseia-se em métodos e técnicas
matemáticas (GUIMARÃES; LAGES, 2001).

Nosso foco na computação é a lógica matemática, que também pode ser


chamada de lógica simbólica ou lógica algorítmica. O fundamento dela
é o cálculo proposicional, ou cálculo dos enunciados categóricos, e o
cálculo dos predicados (GUIMARÃES; LAGES, 2001). Você já viu algo
sobre deles?

Para compreendermos o que é cada um desses cálculos, vamos ver as


leis fundamentais da lógica matemática e alguns conceitos, tais como
proposição, composição de proposições e tabelas-verdade, conforme os
autores Guimarães e Lages (2001).

Para esses autores, a lógica matemática apresenta três leis fundamentais:

• lei do meio excluído: uma proposição só pode ser falsa ou


verdadeira, não existindo meio-termo;
• lei da contradição: uma proposição não pode ser, simultaneamente,
verdadeira e falsa;

www.esab.edu.br 92
• lei da funcionalidade: o valor lógico de uma proposição composta é
determinado unicamente pelos valores lógicos das proposições que a
constituem.

Ainda segundo Guimarães e Lages (2001), a proposição é uma frase


declarativa e com sentido completo, a qual chamamos asserção, que
admite um dos dois valores lógicos – verdadeiro ou falso. Veja os
exemplos a seguir:

• “o coração é um órgão muscular.” é uma proposição verdadeira, pois


o coração é formado pelo músculo denominado miocárdio;
• “o Brasil é hexacampeão mundial de futebol.” é proposição com
valor falso, pois a seleção brasileira de futebol é pentacampeã
mundial.

Mas, e se não soubermos qual é o valor da frase, ela continua sendo uma
proposição? O fato de sabermos ou não se a frase é verdadeira não muda
o fato de ser uma asserção. Quando falamos que “o universo é infinito”,
por exemplo, não podemos afirmar que essa informação é verdadeira
ou falsa, pois não temos conhecimento suficiente para isso. Porém, não
conseguirmos atribuir um valor a essa frase não significa que ela deixa
de ser uma proposição, pois de qualquer modo ela poderia receber um
desses valores.

Mas, lembre-se: proposições devem ser declarações! Portanto, algumas


frases podem não representar uma proposição, como é o caso de
interrogações e exclamações. Se um amigo necessita viajar, falamos “tenha
uma boa viagem”, o que apenas expressa um desejo, portanto, não afirma
nem nega qualquer coisa, impedindo a atribuição de valor. O mesmo
ocorre com perguntas, afinal, podemos dizer que “Você foi à padaria
hoje?” é falso ou verdadeiro?

A composição é a construção de proposições a partir de proposições já


existentes. Podemos chamá-las de proposições compostas. Para criá-las,
podemos utilizar os conectivos lógicos, como negação (  ) , conjunção

www.esab.edu.br 93
( ∧ ), disjunção (∨ ), implicação (⇒) e equivalência ( ⇔ ). Vamos ver um
exemplo para ficar mais claro!

Considere as seguintes proposições, respectivamente representadas pelas


A, B e C :

• A = Marcos tem dois cães.


• B = Marcos gosta apenas de gatos.
• C = Marcos tem um gato.

Utilizando os conectivos, podemos compor as seguintes proposições:

• Marcos não tem dois cães.

Note que esta proposição é uma negação. Se quisermos representar essa


frase por símbolos, temos A , que lemos “não A”.

• Não é verdade que Marcos tem um gato.

Aqui temos o mesmo caso da frase anterior, ou seja, é a negação da


proposição B, que representamos por C , isto é, “não C”.

• Marcos tem dois cães ou Marcos gosta apenas de gatos.

Neste caso, temos uma disjunção que podemos representar por A ∨ B .

• Marcos gosta apenas de gatos e Marcos tem um gato.

Esta proposição é uma conjunção que também pode ser escrita na forma
A∧B.

• Se Marcos gosta apenas de gatos, então Marcos não tem dois cães.

www.esab.edu.br 94
Este é um caso de implicação, que também pode ser representada por
B ⇒ A .

• Marcos gosta apenas de gatos é equivalente a Marcos não tem dois


cães.

Aqui, temos um exemplo de equivalência que pode ser escrito da


seguinte forma: B ⇔  A , ou seja, “B equivale a não A”.

Por fim, temos o conceito de tabela-verdade, que pode ser considerada


um instrumento para especificar uma composição de proposições
(GUIMARÃES; LAGES, 2001), conforme você pode ver na tabela a
seguir.

Tabela 2 – Exemplo de tabela-verdade.

Negação Conjunção Disjunção


Implicação Equivalência
A B A ou /A A ∧B , ou A ∨B ou
A ⇒B A ⇔B
ou A ′ A ⋅ B ou AB A +B
F F V F F V V
V V F V V V V
F V V F V V F
V F F F V F F

Fonte: Elaborada pela autora (2012).

Esses conceitos são essenciais para várias áreas de sistemas de informação,


principalmente a de Inteligência Artificial, que você conhecerá na
unidade 20.

No início desta unidade, falamos de argumento dedutivo quando


citamos o silogismo. Podemos definir argumento como o conjunto
de proposições que produzem uma terceira proposição, chamada de
conclusão, e podem ser válidos ou inválidos.

No caso de argumentos válidos, quando suas proposições são verdadeiras,


sua conclusão também deve ser, mas também pode haver argumentos

www.esab.edu.br 95
válidos com proposições e conclusão falsas. Entretanto, a validade de
um argumento não depende do valor lógico atribuído às premissas e à
conclusão, ou seja, não importa se elas são de fato verdadeiras ou falsas,
mas se sua forma é lógica.

Existem vários tipos de argumentos válidos, mas que não conseguimos


justificar com os recursos do cálculo proposicional, por exemplo:

Todo amigo de Carlos é amigo de Jonas.


Pedro não é amigo de Carlos.
Logo, Pedro não é amigo de Jonas.

Como argumentos inválidos, podemos citar as falácias, que muitas vezes


possuem validade emocional ou psicológica, mas não possuem validade
lógica, tendo falhas ou inconsistências em sua capacidade de provar sua
alegação, mesmo que pareçam convincentes. Veja um exemplo!

Toda pessoa que ganha na mega-sena fica rica.


Newton não ganhou na mega-sena.
Logo, Newton não é rico.

Este caso é uma falácia conhecida por negação do antecedente, pois,


apesar de a forma lógica ser válida, Newton não ter ganhado na mega-
sena não significa que ele não é rico, uma vez que pode ter enriquecido
de outra forma.

Ao verificarmos a validade desses argumentos, chegamos ao significado


dos conectivos e das expressões “todo”, ”algum”, ”qualquer”, entre outras,
que tornam as sentenças mais complexas.

Para que possamos tornar a estrutura de sentenças complexas mais


compreensível, é necessária a introdução de alguns símbolos diferenciados
na linguagem do cálculo proposicional. Dessa forma, chegamos ao
que chamamos de linguagem do cálculo de predicados de primeira

www.esab.edu.br 96
ordem, em que temos, além dos conectivos do cálculo proposicional, os
quantificadores: universal (∀) e existencial (∃).

No cálculo dos predicados, temos as variáveis, as constantes e os


símbolos de predicados. As variáveis representam objetos que não estão
identificados no universo considerado (“alguma coisa”, “alguém”, “algo”);
as constantes correspondem aos objetos identificados do universo
(“maçã”, “a cor azul”, “Marta”); e os símbolos de predicados referem-se
às propriedades ou relações entre os objetos do universo. Vamos ver um
exemplo com o silogismo que utilizamos anteriormente!

• Sócrates é mortal = M ( s )
Em que:

• s está identificando Sócrates; e


• M representa a propriedade de ser mortal.

Acompanhe mais um exemplo para entender melhor!

Alguém estuda Introdução à Computação = E ( x , i )

Em que:

• E representa a relação estudar;


• x representa alguém; e
• i representa o elemento que realiza a ação.

Em linhas gerais, temos P ( x ) , o que significa que x tem a propriedade


P . Assim, (∀x )P ( x ) significa que a propriedade P vale para todo x , ou
ainda, que todos os objetos do universo considerado têm a propriedade
P . Lembre-se: ∀ é o quantificador universal! E, por fim, (∃x )P ( x )
significa que algum x tem a propriedade P , ou ainda, que existe pelo
menos um objeto do universo considerado que tem a propriedade P . O
∃ é o quantificador existencial!

Vamos ver como os argumentos podem ser representados simbolicamente?

www.esab.edu.br 97
Considere:

Todo aluno que cursa Cálculo, cursa Inglês.


Pedro não cursa Cálculo.
Logo, Pedro não cursa Inglês.

Em que:

• x = aluno que cursa algo;


• c = constante que representa cálculo;
• p = constante que representa Pedro;
• i = constante que representa Inglês.

Assim, simbolicamente temos:

∀x ( P ( x , c ) ⇒ P ( x , i ))
 P ( p, c )
 P ( p, i )

Fórum
Caro estudante, dirija-se ao Ambiente Virtual de
Aprendizagem da instituição e participe do nosso
Fórum de discussão. Lá você poderá interagir com
seus colegas e com seu tutor de forma a ampliar,
por meio da interação, a construção do seu
conhecimento. Vamos lá?

www.esab.edu.br 98
A Tecnologia da Informação:
15 conceitos básicos
Objetivo
Listar os conceitos básicos que envolvem a Tecnologia da Informação
e suas tendências.

Como você deve saber, a sociedade atual é considerada a sociedade da


informação. Para conseguirmos um emprego e até mesmo para algumas
tarefas cotidianas, como sacar dinheiro no caixa de autoatendimento,
precisamos de um pouco de conhecimento de informática. A maioria dos
aparelhos com os quais lidamos no dia a dia, como o forno de micro-
ondas, a tevê e o computador, são baseados em microprocessadores. E a
tendência é que todos esses aparelhos comecem a se comunicar entre si:
nossos celulares já têm conexão com a internet, existem geladeiras que
nos permitem realizar compras on-line dos alimentos faltantes, nossas
tevês podem ser conectadas aos computadores, temos monitores que
funcionam também como televisão e fornos que enviam mensagem para
celular avisando que a comida está pronta.

Todas essas mudanças têm como base a evolução da Tecnologia da


Informação, ou simplesmente TI. Para entendermos o que é Tecnologia
da Informação, temos de conhecer primeiro o conceito de informação e
sistema de informação. Vamos lá?

A informação é o resultado do processamento, da manipulação e da


organização de dados de maneira que represente um acréscimo ao
conhecimento da pessoa que a recebe (TURBAN; RAINER; POTTER,
2007; MEIRELLES, 2004; FEDELI, 2003).

Para Meirelles (2004) e Fedeli (2003), a informação pode ter vários


significados, que vão do conceito cotidiano ao técnico. Mas, de
maneira geral, o conceito de informação está diretamente ligado às
noções de restrição, comunicação, controle, dados, forma, instrução,

www.esab.edu.br 99
conhecimento, significado, estímulo, padrão, percepção e representação
de conhecimento.

É bastante comum vermos na mídia sobre as expressões Era da


informação, Era do conhecimento ou Sociedade do conhecimento.
A base de todas essas expressões é a informação (TURBAN; RAINER;
POTTER, 2007; MEIRELLES, 2004; FEDELI, 2003).

Já sistema de informação é um sistema automatizado, ou mesmo


manual, que abrange pessoas, máquinas e/ou métodos organizados
para coletar, processar, transmitir e disseminar dados que representam
informação para o usuário (TURBAN; RAINER; POTTER, 2007;
MEIRELLES, 2004; FEDELI, 2003).

A partir desses conceitos, chegamos à Tecnologia da Informação, que


abrange tanto hardware, software e comunicação de dados como o
suporte aos equipamentos e programas, infraestrutura, desenvolvimento
de sistemas, processos de produção, entre outras coisas. Mas o que é a
TI? Podemos dizer que ela é um conjunto de recursos não humanos
dedicados ao armazenamento, processamento e comunicação da
informação, mas também se refere ao modo como os recursos são
organizados em um sistema que deve ser capaz de realizar determinadas
tarefas. Assim, podemos considerar que a TI abrange todas as atividades
desenvolvidas pelos recursos da informática e o acesso a ela pode ser por
domínio público ou privado.

Com o advento da TI, uma nova expressão surgiu: peopleware


(FEDELI, 2003). Você sabe o que este termo que dizer? Ele refere-se
às pessoas que trabalham diretamente ou indiretamente com a área
de informática. Essas pessoas se dividem em grupos de acordo com
suas funções: quando se dedicam à área de processamento de dados e/
ou sistemas de informação, são administradores de bancos de dados,
de redes e de sistemas; os que ajudam a projetar os sistemas de acordo
com as necessidades de uma organização são os analistas de bancos de
dados, de redes e de sistemas; os que ajudam a desenvolver hardwares e
softwares são os engenheiros de hardware e software; e os que garantem
que essas informações sejam apresentadas ao usuário de forma clara,

www.esab.edu.br 100
útil e dinâmica são chamados de desenvolvedores e designers da web
(REZENDE; ABREU, 2000; FEDELI, 2003).

Costumamos dizer que TI designa o conjunto de recursos tecnológicos


e computacionais e a geração e o uso da informação. Assim, a TI possui
quatro pilares básicos, conforme apontam Rezende e Abreu (2000): o
hardware, seus dispositivos e periféricos; o software e seus recursos; os
sistemas de telecomunicações; e a gestão de dados e informações.

Mas você pode estar se perguntando: por que a TI espalhou-se por todo
o planeta? As razões para isso são várias! Em muitas situações, o uso de
TI é a única forma de viabilizar a execução de uma determinada tarefa.
Em outros casos, aplicação dos conceitos e recursos de TI permite a
melhora de processos internos e a utilização de melhores métodos de
controle da produção e da comercialização, além de reduzir custos,
melhorar a qualidade e o acesso a informações importantes e agregar
valor a produtos e serviços.

É muito comum utilizar a TI em organizações como forma de melhorar


a qualidade das informações, bem como para disponibilizar de forma
otimizada os conhecimentos e as informações, seja para a própria
organização, para clientes, fornecedores ou para a sociedade.

Hoje, o sucesso das empresas é, em grande parte, dependente da


capacidade de inovação das áreas de produtos, serviços, canais e
processos. Os atuais sistemas de informação, que podem dispor de vários
recursos de TI, oferecem às empresas inúmeras oportunidades para a
melhoria dos processos internos e dos serviços prestados ao consumidor
final. Isso faz com que a TI tenha um papel crítico, pois, além de auxiliar
na maior produtividade e na melhoria da qualidade de produtos e
processos de empresas, deve permitir que elas adaptem-se rapidamente a
mudanças e inovações que ocorrem no mundo e levem o produto delas
até o mercado.

Portanto, a necessidade de trabalhar em um ambiente que sofre


mudanças constantemente faz com que as empresas concentrem
seus esforços em adquirir excelência operacional. E para buscar essa
excelência, elas necessitam, entre outros requisitos, da disponibilidade

www.esab.edu.br 101
de sistemas de informação integrados, confiáveis e de alta velocidade,
além de outras tecnologias, a fim de obter maior eficiência e controle
operacional.

Toda a estrutura de uma empresa, atualmente, depende muito dos


sistemas de informações, desde e-mails de funcionários até a gestão
de bancos de dados e sites de comércio eletrônico. Em hospitais, por
exemplo, a tendência é que o prontuário do paciente seja eletrônico,
gerando imensos bancos de dados de pacientes. Concluímos então que a
demanda para cargos de TI é bastante alta em todo o mundo, o que gera
uma grande procura por bons profissionais da área.

Estudo complementar
Com a proximidade da Copa de 2014 e das
Olimpíadas de 2016, muitas aplicações de
Tecnologia da Informação relacionadas a esportes
têm recebido destaque na mídia e merecem uma
reflexão. Até que ponto a TI pode interferir em
disputa esportiva? Para conhecer um pouco dessas
aplicações, acesse o vídeo disponível clicando aqui
e leia o texto “Inovações na tecnologia esportiva:
implicações para o futuro” clicando aqui.

www.esab.edu.br 102
A Tecnologia da Informação e a TI
16 Verde
Objetivo
Compreender o conceito de TI Verde e cases de sucesso na área.

Certamente você já percebeu que um assunto frequentemente


comentado nos meios de comunicação é a sustentabilidade, que,
juntamente com os assuntos ligados à TI, tem um grande interesse para
a sociedade. O crescimento acelerado da população mundial nos tornou
extremamente dependentes da energia gerada pelos combustíveis fósseis
(petróleo e carvão, principalmente), que agridem o meio ambiente,
causando danos irreversíveis.

Dentro deste contexto, a sustentabilidade ganhou destaque a partir da


década de 1980, com o Relatório de Brundtland, publicado pela ONU
em 1987. Passamos a ver claramente que o conceito de sustentabilidade
está relacionado ao desenvolvimento econômico e ambos estão
inseridos em todos os segmentos da sociedade, fazendo com que todos
nós tenhamos participação direta ou indireta em ações que visam a
preservar o meio ambiente. Na TI não é diferente! E nessa área as ações
relacionadas à sustentabilidade podem ser denominadas de TI Verde.

A TI Verde busca minimizar os desperdícios e a ineficiência provenientes


da Tecnologia da Informação. Mas, antes de começarmos a entender
o que é a TI Verde, devemos ter em mente que aplicá-la não significa
que temos de economizar a qualquer custo, precisamos pensar nas
consequências das nossas ações. Por exemplo, simplesmente trocar todos
os monitores de tubo de uma instituição para monitores de tela de
cristal líquido sem pensar no destino adequado dos monitores antigos,
visando apenas diminuir o gasto de energia elétrica, não é uma ação
compatível com a TI Verde, pois a consequência disso será um desastre
para a natureza, já que os monitores de tubo possuem componentes
extremamente tóxicos.

www.esab.edu.br 103
É importante sabermos que as atividades de TI não são diferentes
das outras atividades humanas, elas provocam vários impactos ao
meio ambiente que vão desde o consumo cada dia mais crescente de
energia elétrica até a poluição causada pelos materiais utilizados para
fabricar o hardware. Assim, algumas empresas passaram a adotar ações
de sustentabilidade que podem ser consideradas como TI Verde. Elas
começaram a adotar e criar ações para atender às necessidades de seu
negócio dentro de um contexto sustentável.

As ações relacionadas à TI Verde, segundo Prado (2005), são divididas


em três níveis.

• TI Verde de incrementação tática: neste nível não ocorre


modificação na infraestrutura de TI nem nas políticas internas;
faz-se somente a incorporação das medidas de contenção de gastos
excessivos de energia elétrica.
• TI Verde estratégica: este nível exige uma auditoria sobre a
infraestrutura de TI da empresa em relação ao meio ambiente,
desenvolvendo e implementando novas abordagens de produção de
bens ou serviços ecologicamente corretos.
• Deep IT (TI Verde profunda): este nível tem medidas bem mais
amplas que as duas apresentadas anteriormente. Aqui, incorpora-se o
projeto e a implementação estrutural de um parque tecnológico, visando
o aumento do desempenho com o mínimo gasto de energia elétrica.

Entre esses três níveis, o mais fácil de ser implementado é o da TI Verde


de incrementação tática. Suas ações são limitadas, mas as vantagens
são significativas. Já a Deep IT é a mais complexa e que implica mais
gastos, porém tem resultados mais significativos. O ideal seria mesclar os
três níveis, aplicando tanto as ações que trazem redução de custos com
energia elétrica como as de responsabilidade socioambiental.

Podemos agrupar os resultados dessas ações em três grupos:

• redução do consumo de energia: os principais pontos de atuação


que visam a redução do consumo energético correspondem ao

www.esab.edu.br 104
desenvolvimento de projetos de infraestrutura tanto em relação ao
hardware como ao software;
• virtualização de servidores: refere-se à utilização de um software
que emula uma máquina virtual como um servidor físico, criando
um ambiente isolado e independente da máquina real. Com isso,
uma máquina física, dentro de sua capacidade de desempenho
pode hospedar diversas máquinas virtuais independentes (FEDELI,
2003). O uso de forma otimizada dos equipamentos físicos
beneficia a manutenção da infraestrutura da empresa e a expansão
do desempenho, reduzindo os malefícios ao meio ambiente que
poderiam ser causados pela aquisição de equipamentos e pelo
aumento do espaço e do consumo de energia;
• sistemas de gestão empresarial: esses sistemas integram todos os
dados de uma empresa, possibilitando a automação de todas as
informações do negócio (MEIRELLES, 2004). A implantação de
sistemas de gestão empresarial reduz custos, além de aperfeiçoar o
fluxo de informação e o processo de gerenciamento, o que implica
o aumento da oferta de recursos capazes de reduzir desperdícios
na indústria, o que auxilia no alcançar de bons resultados ligados à
sustentabilidade.

Podemos observar então que os profissionais da área de TI, trabalhando


em conjunto com os responsáveis pela infraestrutura empresarial,
compõem a parte mais importante pelas ações para a redução do
consumo de energia e otimização da tecnologia, sendo, portanto,
responsáveis por garantir a TI Verde.

Saiba mais
Para ver sobre conceitos e práticas de TI Verde,
acesse o artigo clicando aqui.

Você conhece empresas que tiveram sucesso na implementação da TI


Verde ou ações que se tornaram cases, exemplos a serem seguidos?

www.esab.edu.br 105
O Índice de Sustentabilidade Empresarial foi criado para ser uma
ferramenta de análise comparativa entre empresas, considerando o
prisma da sustentabilidade corporativa baseada nos quesitos de eficiência
econômica, equilíbrio ambiental, justiça social e governança corporativa
(BM & FBOVESPA, 2005).

Esses quesitos impulsionam a adoção das ações baseadas na TI Verde.


As empresas que têm os melhores índices, considerando tais critérios,
possuem vantagens econômicas, tais como facilidade de créditos e melhor
imagem frente à sociedade, fazendo com que as ações de marketing sejam
impulsionadas.

Segundo a BM & FBOVESPA (2005), o Índice de Sustentabilidade


Empresarial (ISE) é uma iniciativa pioneira na América Latina e tem
por objetivo criar um ambiente de investimento compatível com as
demandas de desenvolvimento sustentável da sociedade contemporânea
e estimular a responsabilidade ética das corporações. A sua aplicação
começou em 2005 e foi originalmente financiado pela International
Finance Corporation (IFC), do Banco Mundial.

Para sua reflexão


Vimos no texto que a TI Verde é uma postura
imprescindível para o desenvolvimento
sustentável. Alguma vez você parou para refletir
sobre esse assunto? Como a sua comunidade ou
a organização em que você trabalha lida com o
lixo eletrônico? Qual é o impacto e a importância
da TI Verde na sua vida profissional? Você acredita
que podemos lidar com esse problema e a médio
prazo aplicarmos práticas efetivas para contribuir
com a TI Verde? Que atitudes você acredita serem
prioritárias para uma empresa contribuir de
maneira eficiente e eficaz com a TI Verde?
As respostas a essas reflexões formam parte de sua
aprendizagem e são individuais, não precisando
ser comunicadas ou enviadas aos tutores.

www.esab.edu.br 106
Para que você entenda melhor, vamos ilustrar com um exemplo efetivo
de ações de TI Verde estratégica: o Banco Real! Ele possui o Projeto
Blade PC, implantado em 2007. O banco substituiu 180 computadores
convencionais por 160 Blade PCs, o que significa: na mesa de seus
funcionários, ficam apenas o teclado, o mouse, o monitor e uma pequena
caixa responsável pela conexão desses periféricos com o Blade PC.
Como resultado, houve redução de 62% da energia elétrica consumida
pelos computadores e 50% da energia consumida pelo ar condicionado
utilizado na mesa de operações (LIMA, 2009).

No nível de Deep TI, temos como exemplos o Google, que pratica ações
como planejar seu datacenter, efetuar a locomoção dos funcionários com
veículos híbridos e utilizar energia alternativa, como a solar. A Yahoo! é
outro exemplo! A empresa apresenta um plano ambiental agressivo, que
inclui desde a construção de datacenters com produção de acordo com as
normas e exigências ambientais, o uso da virtualização de servidores e a
gestão do consumo elétrico gerado pelo resfriamento de seus equipamentos
até a extensão de medidas para o cotidiano dos funcionários.

A Sun Microsystems é mais um case da TI Verde, e considera que


existem dez passos para tornar um datacenter sustentável e com eficiência
financeira: (i) avaliar o consumo e eficiência energética; (ii) redesenhar
o sistema de resfriamento; (iii) reconsiderar redundâncias; (iv) utilizar
equipamentos ajustáveis em espaço e energia; (v) virtualizar “storage”
e servidores; (vi) utilizar dispositivos Energy Star ou com outros “selos
Verdes”; (vii) doar ou reciclar servidores em desuso; (viii) verificar a
infraestrutura predial; (ix) pesquisar fontes alternativas de energia; e (x)
envolver a gerência no processo (CIOINSIGHT, 2009).

Atividade
Chegou a hora de você testar seus conhecimentos
em relação às unidade 9 a 16. Para isso, dirija-se
ao Ambiente Virtual de Aprendizagem (AVA) e
responda às questões. Além de revisar o conteúdo,
você estará se preparando para a prova. Bom
trabalho!

www.esab.edu.br 107
17 Banco de dados
Objetivo
Apresentar os conceitos de banco de dados e suas formas de
modelagem.

Vamos estudar agora sobre banco de dados. Podemos dizer que,


conforme Fedeli (2003), um banco de dados (BD) é um conjunto
de dados integrados, que são relacionados e armazenados em um
dispositivo, o qual visa atender a um objetivo específico.

Ainda segundo esse autor, os BDs são projetados, construídos e


populados com dados para um propósito específico. Para entendermos
melhor o que é um BD, precisamos conhecer os conceitos de dado,
campo, registro, e tabelas. Vamos ver?

• Dado: é a matéria-prima do BD e corresponde a um registro que


você deseja inserir na sua base de dados, ou seja, é o valor que você
vai inserir no BD.
• Campo: refere-se ao local em que inserimos o dado. Os campos,
também chamados de colunas, ficam dentro das tabelas. Podemos
dizer que o campo é a menor unidade destinada ao armazenamento
de valores existente em um BD. Os dados armazenados nos campos
são separados em pequenos fragmentos e cada campo contém um
determinado tipo de dado.
• Registro: também chamados de tuplas, n-uplas ou linhas da tabela,
o registro é composto por uma série de campos. Podemos dizer que
o registro é a unidade básica para o armazenamento e a recuperação
de dados e identifica a entrada de um único item de informação
em particular em uma dada tabela ou em um banco de dados.
Os registros de uma tabela são todos do mesmo tipo, ou seja, se o
registro possui dados de um aluno, por exemplo, não poderemos
guardar dados sobre professores nesse mesmo registro.

www.esab.edu.br 108
• Tabela: é um conjunto de registros de mesmo tipo. Em um BD
podemos ter uma ou mais tabelas, cada uma identificada por um
nome específico, e deve ser organizada de maneira que permita
a inserção de apenas um tipo de informação. Por exemplo, se
precisamos de registros de alunos e professores em um BD, devemos
fazer uma tabela específica para os dados dos alunos e outra para os
dos professores. O nome da tabela, assim como dos campos, deve
ser único, pois é por meio deles que uma aplicação poderá recuperar
a informação. Alguns sistemas de BD criam um arquivo para cada
tabela, enquanto outros geram apenas um arquivo para o banco
inteiro. Portanto, as tabelas contêm toda estrutura dos registros, isto
é, os nomes dos campos, os tipos de dados e os próprios dados.

Agora que você viu os principais conceitos relacionados aos BDs,


vamos entender como essas estruturas se relacionam e como elas estão
compostas.

Cada campo recebe um nome de identificação e a especificação do tipo


de dado nele armazenado. Também precisa da indicação do tamanho
máximo de informação que nele pode conter. Fedeli (2003) indica que os
dados podem ser dos seguintes tipos:

• inteiro: refere-se aos dados que representam números inteiros, ou


seja, números sem a parte fracionária, como 1, 2, 34, 189;
• real: refere-se aos dados que representam números do conjunto dos
números reais, ou seja, os números inteiros e também os números
que possuem a parte fracionária, por exemplo, 45,67;
• caractere: refere-se aos dados que correspondem a cadeias de
caracteres, tais como as letras do alfabeto (por exemplo, o nome de
uma cidade) e também números que não são utilizados para cálculo
(como o número de uma casa). Neste caso, o tipo de dado não
será inteiro, e sim caractere. Uma variável do tipo char (caractere),
armazena um caractere unicode, que é um caractere de 16 bits, sendo
que os caracteres unicode de 0 a 128 correspondem aos caracteres do
código ASCII. Podemos representar uma constante do tipo caractere
colocando-a entre apóstrofos; pelo valor numérico correspondente

www.esab.edu.br 109
da tabela unicode ou do código ASCII; ou ainda pela sequência ‘\a’,
em que a especifica o caractere a ser referido. Por exemplo: ‘b’, ‘?’ e
‘\n’ são constantes do tipo char;
• lógico: refere-se aos dados que só podem assumir dois tipos de
valores: verdadeiro (true) ou falso (false);
• data: refere-se aos dados que representam as datas. Podem ser
no formato DD/MM/AAAA, padrão utilizado no Brasil, ou no
formato-padrão dos Estados Unidos da América, que é MM/DD/
AAAA;
• tempo (horário): refere-se aos dados que representam um horário,
por exemplo: 02:34:30 representa 2 horas, 34 minutos e 30
segundos;
• binário: refere-se aos dados que são representados por cadeias
binárias, ou seja, por conjuntos de bits e bytes, em outras palavras,
cadeias de zeros e uns para representar os bytes.

Ao projetarmos um BD, uma das principais tarefas é definir quais são os


campos que irão compor as tabelas (FEDELI, 2003).

Alguns BDs permitem criar campos cujo conteúdo provém de cálculos


e armazenam uma expressão matemática, além de referências a valores
da mesma tabela ou mesmo constantes. Um exemplo é o caso de BDs
que guardam notas finais, em que o campo armazena a seguinte fórmula:
nota_final ((M1 +M2 + M3)/3).

É possível definirmos um valor-padrão para um campo se o usuário não


o preencher. Arquivos como sons, vídeos e PDFs podem ser armazenados
em um campo do tipo binary large objects (BLOB).

Os campos de texto podem ter tamanhos fixos ou variáveis. No caso dos


campos de tamanho fixo, se o usuário digitar menos caracteres que o
tamanho indicado, o banco preenche o restante com espaços em branco.
A figura 18 apresenta um exemplo de uma tabela de Banco de Dados
(FEDELI, 2003; ALVES, 2004; HEUSER, 2008).

www.esab.edu.br 110
Frequência
Nome do Aluno Endereço Média final Situação
final
Ada Lovelace Av. Binary Digit 10,0 Aprovado
Alan Turing Rua Finit Machine, 123 9,5 Aprovado
Charles Babage Rua Analytic Machine 8,0 Aprovado
José João Silva Av. Bug 4,0 Reprovado

Figura 18 – Exemplo da estrutura de um registro.


Fonte: Elaborada pela autora (2012).

Quando buscamos uma informação em um livro, procuramos a


localização do assunto em um índice, a fim de saber em que página
ele se encontra, não é mesmo? Nos BDs, também temos índices, e
eles possuem essa mesma função, ou seja, permitem que o dado seja
encontrado com maior rapidez.

Os índices também fornecem uma forma de acesso alternativo que não


modifica a posição física das informações no banco quando solicitamos,
por exemplo, uma listagem em ordem alfabética.

Temos dois tipos de índice: os simples, que são apenas um campo, e os


compostos, que são formados por vários campos. Os campos usados para
definir um índice são chamados de indexação. Portanto, dizemos que
os índices não contêm dados propriamente ditos, mas o valor do campo
de indexação e os ponteiros (endereços) que direcionam para o registro
adequado dentro da tabela (FEDELI, 2003).

A figura a seguir apresenta um exemplo de uso de índices. Acompanhe!

Índice Arquivos de dados


Nome do aluno Nome do aluno Média final Frequência Situação
José João Silva Ada Lovelace 10,0 Suficiente Aprovado
Charles Babbage Alan Turing 9,5 Suficiente Aprovado
Ada Lovelace Charles Babbage 8,0 Suficiente Aprovado
Alan Turing José João Silva 4,0 Insuficiente Reprovado

Figura 19 – Exemplo do uso de índices.


Fonte: Elaborada pela autora (2012).

www.esab.edu.br 111
Além dos conceitos vistos até agora, em BD temos também o conceito de
chaves, que podem ser primárias, candidatas ou estrangeiras.

As chaves primárias correspondem a um atributo (campo) da tabela que


permite a identificação unicamente dos registros realizando a ordenação
automática destes. A função desse tipo de chave é evitar que haja
duplicação de registro em uma tabela.

Uma chave primária pode ser formada por apenas um campo, sendo
o que chamamos de chave primária simples, ou por vários campos,
constituindo a chave primária composta. Ao escolhermos os campos que
irão compor uma chave primária, devemos pensar em alguns critérios
apontados por Fedeli (2003):

• o tamanho do campo deve ser considerado, pois os campos menores


são atualizados mais rapidamente;
• em chaves primárias compostas, devemos usar poucos campos;
• o campo chave não deve ser alterado, porém, caso seja necessário a
sua atualização, esta não deve ser frequente;
• devemos usar, preferencialmente, valores que são calculados pelo
próprio sistema de gerenciamento de banco de dados, utilizando,
por exemplo, o autoincremento;
• o preenchimento das chaves primárias é obrigatório.

Chaves candidatas são campos que poderiam ser usados como chaves
primárias, mas não o são. Por exemplo, o campo com o valor de cadastro
de pessoa física (CPF) poderia ser usado para identificar somente
determinado aluno. Se fosse utilizado o registro geral (RG), poderíamos
ter problemas, pois como cada Estado brasileiro segue uma numeração,
poderia acontecer de aparecer alunos diferentes com o mesmo número de
RG, assim violando a restrição de unicidade da chave (FEDELI, 2003).

Chaves estrangeiras permitem criar um relacionamento entre as tabelas


por meio do uso de chaves primárias. Por exemplo: considere um sistema
de controle docente com as tabelas professor, curso e disciplinas, que

www.esab.edu.br 112
precisam se relacionar para que tenhamos as informações completas
acerca do curso e das disciplinas que cada professor lecionará. Nesse
caso, a tabela professor deverá possuir duas chaves estrangeiras: a chave
primária de curso e a chave primária de disciplinas. Isso permitirá o
acesso aos dados de curso e disciplinas (FEDELI, 2003).

Todo BD precisa de um gerenciador, por isso temos o Sistema


Gerenciador de Banco de Dados (SGBD), um software que nos permite
construir e manipular um BD. Exemplos de SGBD são o MySQL e o
PostgreSQL. Fedeli (2003) nos diz que é responsabilidade do SGBD:

• controlar a redundância dos dados;


• compartilhar dados;
• permitir a independência dos dados;
• garantir a segurança dos dados;
• realizar os backups;
• recuperar as falhas;
• forçar restrições de integridade;
• aumentar a produtividade e a disponibilidade; e
• permitir a flexibilidade e a padronização dos dados.

É importante atentar que, para termos um BD, primeiro é necessário


ter o que chamamos de modelo de dados. O modelo de dados é um
conjunto de conceitos utilizados para descrever a estrutura de um BD.
Vamos ver quais são esses conceitos?

Segundo Fedeli (2003), temos, nesse conjunto, os conceitos de:

• estruturas de dados;
• regras de integridade de dados; e
• operações sobre os dados.

Esse autor ainda nos diz que os modelos de dados são classificados em
lógicos, conceituais e físicos. Vamos ver um pouco sobre cada um deles!

Os modelos lógicos são utilizados pelos SGBDs e recebem esse nome


porque sua implementação não precisa ser conhecida. Exemplos de

www.esab.edu.br 113
modelos lógicos são: o modelo relacional, o modelo orientado a objetos
e o Jasmine. Já os modelos conceituais não são utilizados pelo SGBD,
mas são importantes na fase de conceituação do projeto de um BD,
pois, nesse modelo, elaboramos um modelo que representa processos
do mundo real por meio de um diagrama em que demonstramos todas
as relações entre as entidades da tabela, suas relações, seus atributos e
suas especializações. Um exemplo clássico de um modelo conceitual é o
modelo entidade-relacionamento (MER). Por fim, os modelos físicos,
também chamados de internos, são aqueles usados na implementação
de um modelo lógico, portanto, cada SGBD tem o seu modelo interno
(FEDELI, 2003).

Os SGBDs utilizam a Structured Query Language (ou Linguagem de


Consulta Estruturada), também chamada de linguagem SQL. Fedeli
(2003) a define como uma linguagem de pesquisa declarativa para BD
relacional, que possui variações e extensões produzidas pelos diferentes
fabricantes de SGBDs. Ela é composta por outros cinco tipos de
linguagem, segundo Fedeli (2003):

• de manipulação de dados;
• de definição de dados;
• de controle de dados;
• de transação de dados; e
• de consulta de dados, sendo esta constituída por cláusulas,
operadores lógicos, operadores relacionais e funções de agregação.
(FEDELI, 2003)

E assim fechamos mais uma unidade! Preparado para seguir adiante?


Vamos lá!

www.esab.edu.br 114
Computação gráfica: conceitos
18 básicos
Objetivo
Conhecer os conceitos de computação gráfica e as tendências da área.

Consideramos a Computação Gráfica (CG) como a área da Computação


que estuda a geração, a manipulação e a análise de imagens com o uso de
computadores. Portanto, como podemos imaginar, atualmente a CG está
presente em quase todas as áreas do conhecimento humano – no projeto
de um novo modelo de automóvel até o desenvolvimento de softwares
médicos para exames.

Para nos aprofundarmos nos conceitos de CG, que tal conhecer a história
dessa área? Vamos ver a seguir que a evolução da CG está diretamente
ligada à evolução do hardware e da indústria cinematográfica.

A CG nasceu na década de 1960 como uma ferramenta de visualização


para cientistas em universidades e centros de pesquisas governamentais
nos EUA. No entanto, é consenso entre os pesquisadores da história
da CG que o primeiro computador a possuir recursos gráficos de
visualização de dados numéricos foi o Whirlwind I, desenvolvido pelo
Massachussets Institute of Technology (MIT) em 1950.

É importante que você saiba que o Whirlwind I tinha finalidades


militares, pois foi o comando de defesa aérea dos EUA que o desenvolveu
para ser um sistema de monitoramento e controle de voos, em
inglês Semi-Automatic Ground Enviroment (SAGE), que convertia as
informações capturadas pelo radar em imagem, em um tubo de raios
catódicos (o monitor CRT). Nessa época, os computadores faziam
cálculos complexos para físicos e projetistas de mísseis, não sendo
próprios para o desenvolvimento da CG.

www.esab.edu.br 115
Você sabia que em 1962, uma simples forma geométrica calculada
em um computador e visualizada em um monitor – criada por Ivan
Sutherland, no MIT – originou o programa Sketchpad, que deu início
às animações digitais vistas nos filmes? Pois é, esse programa propunha
uma forma de interação muito semelhante ao que hoje chamamos de
interfaces Window-Icon-Menu-Pointer (WIMP) e introduziu conceitos
de estruturação de dados e CG interativa, despertando o interesse das
indústrias automobilísticas e aeroespaciais.

Com o interesse pelos benefícios que o programa de Sutherland poderia


proporcionar no desenvolvimento do design e do projeto de automóveis,
a General Motors desenvolveu, em 1965, o precursor dos sistemas
Computer Aided Design (CAD), como o AutoCAD®. Interessante, não é
mesmo?

Um ano antes, em 1964, David Evans e Sutherland fundaram na


University of Utah o primeiro departamento acadêmico de CG do
mundo para combinar ciência, arte e computação. Essa ideia se expandiu
em outros centros de pesquisa durante as décadas de 1960 e 1970, dando
origem à moderna indústria da computação gráfica.

Já em 1973, Alexander Shure e Edwin Catmull criaram o Laboratório


de CG do New York Institute of Technology (NYIT) e começaram
a desenvolver softwares 2D e 3D para produzir um filme de longa
metragem animado por computador, dando origem aos primeiros
estúdios comerciais de computação gráfica. Assim, após o sucesso da
space opera Star Wars, George Lucas contratou Catmull para dar início à
Lucas Film Development Division e começou a pesquisar a aplicação de
imagens renderizadas em seus filmes.

Simultaneamente, outros estúdios iniciaram a produção de logotipos


animados para inovar a publicidade, aplicando a CG de modo
essencialmente voltado para a tevê, já que os vídeos requerem menor
resolução e demandam equipamentos mais simples e baratos que os
necessários para imagens cinematográficas. O custo e a complexidade
de trabalhar com a renderização de imagens foram alguns dos motivos
pelos quais o uso da CG na indústria cinematográfica só cresceu, de fato,

www.esab.edu.br 116
a partir da década de 1980, quando se passou a ter tecnologias menos
dispendiosas.

Em 1982, o filme “Star Trek II: The Wrath of Kahn”, apresentou


uma cena chamada de “genesis effect” com 60 segundos de duração,
inteiramente produzida por CG. Embora curta, se comparada com o
que é feito hoje, você sabia que essa cena tem grande significado para
o crescimento da CG por ser o resultado do desenvolvimento de novas
ferramentas gráficas? Foi a primeira vez em que a CG foi usada como
instrumento central, deixando de ser mero suporte para outras ações!

No final de 1982, a Disney, em colaboração com os estúdios MAGI,


Triple-I, Robert Abel & Associates e Digital Effects, produziu o filme
“TRON”, recentemente regravado, que possuía 15 minutos de cenas
totalmente animadas por computador e 25 minutos de cenas compostas
com recursos de CG. Esse foi o estopim para o crescimento e o
investimento financeiro para o desenvolvimento tecnológico na CG.

Podemos perceber que, com a evolução dos recursos tecnológicos,


as redes de tevê também começaram a utilizá-los em suas próprias
produções. Os estúdios que já haviam investido muito dinheiro em
hardware tiveram de ampliar esses investimentos e muitos dos que não
puderam fazê-lo começaram a desaparecer por volta de 1987. Com isso,
foi necessário rever o uso da CG na indústria cinematográfica.

“TRON” e “Last Straighter” foram insucessos comerciais e, fragilizada


pelas dificuldades financeiras, Hollywood abandonou a CG por alguns
anos. Quando o filme “The Young Sherlock Holmes” apresentou a
primeira animação de criatura viva feita por computador para um filme,
houve uma preocupação em determinar as condições adequadas para
utilizar a CG nos filmes.

Um novo marco para a história da CG ocorreu em 1989, com o filme


“The Abyss”, de James Cameron. Nesse filme, a Industrial Light & Magic
(ILM), de George Lucas, criou a primeira criatura de aspecto natural
capaz de ser realisticamente inserida em ações. Assim, superaram-se duas
grandes dificuldades: a criação de uma forma orgânica com contorno
suave, realista irregular; e sua combinação com imagens de seres vivos de

www.esab.edu.br 117
modo mais próximo da realidade. Estávamos chegando a maturidade da
CG na indústria do entretenimento!

A partir de então, um dos segmentos da CG que mais tem se


desenvolvido é o de jogos para computador. Essa área fornece suporte
para o desenvolvimento e o aperfeiçoamento de tecnologias de CG,
dando base, inclusive, para desenvolver equipamentos de medicina,
contribuindo para a melhoria da nossa qualidade de vida.

Além da medicina, o desenvolvimento da CG baseado nos estudos para


jogos tem auxiliado no avanço em áreas como as artes, a visualização
científica, a segurança pública, a educação, a nanotecnologia, entre
outras. É praticamente impossível encontrar uma área da atividade
humana em que a CG não tenha ou possa vir a ter um importante papel
a desempenhar.

Conhecemos dois fatores que foram fundamentais para a evolução


da CG: um deles é o desenvolvimento da tecnologia de circuitos
integrados, na década de 1970, que possibilitou a diminuição de custos
para a produção de máquinas e softwares aplicativos, permitindo a sua
popularização. O outro é que com a popularização dos computadores
e dos aplicativos, como editores de texto e de imagens, os usuários que
não tinham conhecimento ou tempo para desenvolver softwares podiam
utilizar as facilidades disponibilizadas pelos softwares já existentes,
popularizando a CG e gerando o mercado de softwares.

Duas áreas têm uma estreita relação com a CG: Processamento de


imagens (PDI), e Reconhecimento de padrões, ou Análise de imagens.
A primeira envolve técnicas de transformação de imagens para melhorar
suas características visuais. Já a segunda utiliza a representação visual de
uma imagem para isolar e identificar seus componentes.

A CG pode ser classificada em passiva e em interativa. CG passiva


refere-se ao uso do computador para definir, armazenar, manipular
e apresentar imagens gráficas. O computador prepara e apresenta os
dados armazenados sob a forma de figuras e o usuário não interfere
nesse processo. Como exemplos dessa categoria de CG, temos a geração
automática de um gráfico de barras a partir de uma tabela, bem como

www.esab.edu.br 118
a simulação do movimento de um veículo espacial a partir dos dados
coletados em campo.

Já a CG interativa permite que o usuário interaja em tempo real com a


imagem. Porém, a manipulação de imagens em tempo real apresenta uma
dificuldade ao usuário, que é o número de cálculos envolvidos para se
trabalhar com imagens relativamente complexas. Por exemplo, a rotação
de um objeto tridimensional exigirá, para cada ponto, a multiplicação
por uma matriz 3x3, resultando em duas somas e quatro multiplicações.

Mas, para contornar o problema do excesso de cálculos, podem ser


adotadas soluções como utilizar máquinas mais rápidas; melhorar os
algoritmos, tornando-os mais eficientes; construir módulos de hardware
dedicados a certos tipos de operações; e reduzir a complexidade da
imagem. Neste caso, é importante lembrar que se corre o risco de se
produzir imagens de qualidade insuficiente para certas aplicações.

As grandes áreas de trabalho da CG a que você, como profissional de


Sistemas de Informação, pode se dedicar são a produção da interface com
o usuário; o traçado interativo de gráficos e visualização; a editoração
eletrônica; o design CAD; a simulação e animação; a arte e o comércio; o
controle e a visualização de processos; e cartografia.

Saiba mais
Nesta unidade, conhecemos um pouco da
história da CG. A área de saúde é uma das mais
beneficiadas pela CG e entre as aplicações
disponíveis temos o projeto “Homem Virtual”.
Acesse o site clicando aqui, e conheça esse projeto.

www.esab.edu.br 119
Resumo

Caro aluno, nestas seis unidades você conheceu um pouco dos


conceitos de sistemas distribuídos e viu que a matemática utilizada pelo
computador se baseia na lógica conhecida como lógica matemática, ou
lógica proposicional. Você também conheceu os conceitos básicos sobre
bancos de dados e o histórico e as potencialidades da computação gráfica.

Com o conhecimento adquirido nestas seis unidades, você pode perceber


que a sociedade está interconectada por sistemas geograficamente
distribuídos e que sistemas cada vez mais complexos necessitam de
bancos de dados mais eficientes.

A grande quantidade de informações nos leva aos sistemas de informação


gerados a partir da Tecnologia da Informação, porém toda essa tecnologia
nos levou a um elevado consumo de energia, de gastos e geração de lixo
eletrônico com computadores se tornando obsoletos rapidamente. Isso nos
levou a repensar a participação da área da informática no desenvolvimento
sustentável do planeta, surgindo a TI verde.

Por fim, você conheceu um pouco da contribuição da computação para


a área do entretenimento através da computação gráfica e verificou a sua
potencialidade para uso em outras áreas, como a saúde, a publicidade e as
artes.

www.esab.edu.br 120
Computação gráfica: realidade
19 virtual
Objetivo
Apontar os conceitos de computação básica, bem como as tendências
da área.

A história da humanidade é marcada pela evolução dos meios de


transmissão das ideias e experiências de uma geração para outra. No
começo de nossa história, as pessoas pintavam as paredes para expressar
os acontecimentos ocorridos durante suas caças e rituais, a fim de
compartilhar as histórias entre o grupo. Posteriormente, a importância da
comunicação fez com que o contador de histórias tivesse uma posição de
prestígio na comunidade (SHERMAN; CRAIG, 2003).

Ao longo dos tempos, a humanidade tem procurando os melhores meios


de expressar suas ideias. Desse modo, chegamos às tecnologias que temos
hoje. E com a evolução tecnológica, alcançamos um meio que tem
grande potencial não só para a comunicação, mas para diversas outras
áreas, da arte à saúde. Trata-se da Realidade Virtual (RV), que recria a
realidade com o uso de tecnologias. Você já ouviu falar sobre isso?

Existem diversas definições para RV. Uma delas, a de Burdeae Coiffet


(2003), considera a RV como uma interface de alta tecnologia que
envolve simulação de tempo real e permite a interação por meio de
vários canais sensoriais, tais como os visuais, auditivos, táteis, olfativos e
gustativos.

Já Sherman e Craig (2003) definem a RV como um meio composto


de simulação computacional interativa, que compreende a posição das
ações do participante e potencializam a resposta para um ou mais de
seus sentidos, dando a sensação de que o participante está imerso na
simulação ou em um mundo virtual.

www.esab.edu.br 121
A partir dessas definições, podemos considerar que a RV é uma forma
de navegação e manipulação de ambientes tridimensionais que são
elaborados por computador. Mas o que isso tem de bom? O grande
benefício apontado pelos autores que citamos é o fato de o usuário
poder tocar, mexer, pegar e reposicionar um objeto virtual dentro de um
cenário simulado por meio de computadores.

Para entender melhor a RV, é essencial conhecermos os conceitos de


mundo virtual, imersão, feedback sensorial e interatividade. É o que
vamos ver a partir de agora!

Para Sherman e Craig (2003), o mundo virtual é o conteúdo de um meio


que pode existir apenas na sua origem ou ser compartilhado entre os
usuários. Além disso, o mundo virtual pode existir sem ser apresentado
por um sistema de RV, como se fosse um roteiro. Nesse caso, é possível
também pensarmos no mundo virtual fazendo uma analogia com um
filme ou um jogo.

Todo jogo precisa de um roteiro ao qual poderíamos nos referir como


a sua descrição completa a partir da qual criamos, na imaginação
ou (no caso do desenvolvimento de games) por meio do design e da
programação, um novo mundo. Quando essa descrição toma forma
por meio da construção de atores e cenários, passamos a experimentar o
mundo virtual do jogo.

Assim, podemos dizer que um mundo virtual é o desenvolvimento da


descrição de objetos dentro de um tipo de simulação, ou seja, é um novo
mundo, que podemos vivenciar virtualmente.

Quando o mundo virtual é visto por meio de um sistema de realidade


virtual, que traz esses objetos e interações em uma apresentação
envolvente, o usuário está experimentando o mundo virtual por meio da
RV. Isso pode ocorrer por meio de um dos quatro tipos de RV, que são:

www.esab.edu.br 122
• RV de simulação: ocorre quando, por meio de determinados
dispositivos, permite que o usuário sinta-se em um mundo, quando
na verdade não está nele. Isto é, permite que o usuário participe de
uma simulação de um mundo, que é virtual;
• RV de projeção: nesse caso, o usuário não está no mundo virtual,
mas pode comunicar-se com personagens e ter contato com objetos
virtuais;
• RV de mesa: geralmente são utilizados monitores e óculos com
projetor para que o usuário veja o mundo virtual e sinta-se inserido
nele;
• RV aumentada: este tipo de RV caracteriza-se por mesclar elementos
reais com os virtuais. Para entrar no mundo virtual a partir da RV
aumentada, é necessário utilizar um capacete específico.

Como você pode ver pela descrição dos tipos de RV, ocorre uma imersão
do usuário no mundo virtual. Mas o que exatamente isso significa?
Segundo Sherman e Craig (2003), a imersão é definida como a capacidade
de estar em uma realidade ou em um ponto de vista alternativo. Podemos
dizer, portanto, que é um meio em que os participantes são capazes de
perceber algo diferente do que teriam sem uma influência externa.

Assim, ela corresponde à sensação de estar em um ambiente, seja em


um estado puramente mental ou mental e físico. A imersão física é a
principal característica da RV, já a imersão mental é provavelmente o
maior objetivo de quem cria as mídias.

Existem, então, basicamente dois tipos de imersão no mundo virtual:


aquela em que o participante percebe o mundo real, e aquela em que
percebe o mundo real por meio de outro ponto de vista. Assim, a
imersão pode ocorrer de dois modos: imersão mental e imersão física,
esta também chamada de imersão sensorial, para as quais Sherman e
Craig (2003) apresentam as seguintes definições:

www.esab.edu.br 123
• imersão mental: estado de estar profundamente envolvido, no
entanto, sem estar fisicamente imerso;
• imersão física: significa entrar corporalmente em um dado meio.
Corresponde ao estímulo sintético dos sentidos do corpo que ocorre
por meio do uso da tecnologia. Isso não quer dizer que todos os
sentidos estão envolvidos ou que o corpo inteiro esteja imerso, pois
pode ser que apenas parte dele esteja imersa.

O feedback sensorial é extremamente importante para a RV. Por meio


dele, o sistema de RV oferece ao participante um feedback das sensações
com base em sua posição física. Atingir o feedback interativo imediato
requer a utilização de um computador de alta velocidade como
dispositivo de mediação (SHERMAN; CRAIG, 2003).

Note que estamos tratando aqui de interação, característica essencial


para a RV. Isso porque para ela parecer autêntica (realista), ela deve
ser interativa, ou seja, deve responder às ações dos usuários. Portanto,
a interatividade é importante para que a RV seja completa, e essa
interatividade fica mais ágil com a adição do computador ao processo
(SHERMAN; CRAIG, 2003).

Muito bem, já vimos o conceito de RV e suas características principais.


Mas de onde vem a RV? Quando ela foi formada? Não há um marco
inicial considerado definitivo para a RV. Para Sherman e Craig
(2003), o marco inicial data do ano de 1916, quando foi patenteado
o primeiro headmounted display (HMD), também conhecido como
capacete periscópio. Já para Antoniac (2005 apud FORTE; KIRNER,
2009), o marco de nascimento da RV ocorreu muitos anos antes, mais
precisamente em 1897, quando o psicólogo George Malcom Stratton
apresentou um estudo sobre lentes que invertiam a posição da imagem
observada (FORTE; KIRNER, 2009).

De acordo com Forte e Kirner (2009), a maioria dos autores está de


acordo que a primeira ação referente à RV data do final da década
de 1950, com a invenção do sensorama Simulator. O sensorama
consistia em um sistema que apresentava uma visualização de vídeos
tridimensionais coloridos, com som estéreo, aromas, efeitos de brisa e

www.esab.edu.br 124
possuía um assento vibratório. Com esses recursos, o usuário podia ser
inserido em um mundo virtual experimentando diversas sensações, por
exemplo, os aromas, sons e sensações táteis de um passeio de bicicleta em
uma cidade (BURDEA; COIFFET, 2003).

Posteriormente, na década de 1960, Morton L. Heiling patenteou


o Stereoscopic-Television Apparatus for Individual Use, que consistia
em um capacete periscópio que permitia a imersão em um ambiente
virtual. (BURDEA; COIFFET, 2003). E ainda nessa década, mais
especificamente em 1965, Ivan Sutherland apresentou um mecanismo
com o qual o usuário poderia interagir com objetos gerados pelo
computador, os quais poderiam não seguir as leis físicas do mundo real.
Assim, o usuário poderia, por exemplo, interagir com um objeto de
massa negativa (SUTHERLAND, 1965). Incrível, não é mesmo? E você,
consegue imaginar alguns usos para a RV?

Nas décadas de 1970 e 1980, as forças armadas norte-americanas


investiram bastante em RV, a fim de aprimorar os simuladores de voo
utilizados no treinamento de seus pilotos (FORTE; KIRNER, 2009).

Já na década de 1990, as atenções se voltaram para um novo conceito: a


realidade aumentada (RA), que, segundo Sherman e Craig (2003), é um
tipo de RV em que os objetos sintéticos (virtuais) são desenhados nos
objetos reais ou sobrepostos a eles. Assim, a RA é um ótimo recurso para
o ensino que é muito aplicado hoje em aulas de química e física.

Saiba mais
Nesta unidade conhecemos um pouco da
Realidade Virtual. Para se aprofundar no assunto,
visite os sites aqui e aqui, que apresentam vários
conteúdos sobre a RV.

www.esab.edu.br 125
Inteligência Artificial: conceitos
20 básicos
Objetivo
Discorrer sobre os conceitos básicos da Inteligência Artificial e as suas
diferentes técnicas.

A Inteligência Artificial(IA) é uma área da Ciência da Computação que


costuma despertar fascínio em todos, chegando a ser tema de vários
filmes de Hollywood, tais como A.I. e Matrix. Mas o que seria IA? O
que está envolvido nesse tipo de inteligência? É o que vamos ver nesta
unidade!

Para podermos definir a IA, precisamos, antes, definir inteligência. E


podemos fazer isso por meio da etimologia da palavra. Vinda do latim,
a palavra inteligência é formada por inter, que significa entre, e legere,
cujo significado é escolher. Assim, podemos concluir que a inteligência
é aquilo que permite ao ser humano escolher entre uma coisa e outra, o
que envolve a compreensão de o que são as opções de escolha.

O campo da IA, no entanto, vai além disso, tentando não apenas


compreender, mas também construir entidades inteligentes
(FERNANDES, 2003). Sendo assim, foram propostas algumas
definições de IA. Vamos vê-las!

De acordo com Bittencourt (2006), podemos definir IA das seguintes


formas:

www.esab.edu.br 126
• “Uma máquina é inteligente se ela é capaz de solucionar uma classe
de problemas que requerem inteligência para solucioná-los por seres
humanos.” (MCCARTHY, J.; HAYES, P. J. apud BITTENCOURT,
2006, p. 53);
• “IA é a parte da ciência da computação que compreende o projeto de
sistemas computacionais que exibam características associadas, quando
presentes no comportamento humano, à inteligência.” (BARR, A.;
FEIGENBAUM, E. A. apud BITTENCOURT, 2006, p.53);
• “IA é o estudo das faculdades mentais através do uso de modelos
computacionais.” (CHARNIAK, E.; MCDERMOTT, D. apud
BITTENCOURT, 2006 p. 53).

Muitos autores se recusam a propor uma definição para o termo,


preferindo apenas estabelecer os objetivos da IA, que seriam compreender
os princípios que possibilitam a inteligência e tornar os computadores
mais úteis (WINSTON, P.H. apud BITTENCOURT, 2006).

Já Russel e Norvig (2004), no entanto, consideram que a definição de


IA varia de acordo com a abordagem que se quer dar. E são quatro as
abordagens possíveis:

a. IA referindo-se aos sistemas que pensam como seres humanos:

• “IA é o novo e interessante esforço para fazer os computadores


pensarem [...]máquinas com mente no sentido total e literal.”
(HAUGELAND, 1985 apud RUSSEL; NORVIG, 2004);

• “IA é a automatização de atividades que associamos ao


pensamento humano, atividades como a tomada de decisões, a
resolução de problemas, o aprendizado[...]” (BELLMAN, 1978
apud RUSSEL; NORVIG, 2004).

www.esab.edu.br 127
b. IA referindo-se aos sistemas que pensam racionalmente:

• “IA é o estudo das faculdades mentais pelo uso de modelos


computacionais.” (CHARNIAK; MCDERMOTT, 1985 apud
RUSSEL; NORVIG, 2004);

• “IA é o estudo das computações que tornam possível perceber,


raciocinar e agir.” (WINSTON, 1992 apud RUSSEL; NORVIG,
2004).

c. IA referindo-se aos sistemas que atuam como seres humanos:

• “IA é a arte de criar máquinas que executem funções que exigem


inteligência quando executadas por pessoas.” (KURZWEIL, 1990
apud RUSSEL; NORVIG, 2004).

d. IA referindo-se aos sistemas que atuam racionalmente:

• “A Inteligência Computacional é o estudo do projeto de agentes


inteligentes” (POOLE et al., 1998 apud RUSSEL; NORVIG,
2004).

Como podemos ver, a IA abrange uma variedade de áreas, desde as de


uso geral – que tratam, por exemplo, de aprendizado e percepção – até
as que envolvem tarefas específicas, como ocorre na matemática, em que
a IA é utilizada para demonstração de teoremas; e na saúde, em que é
usada para diagnosticar doenças.

Muito bem! Agora que você sabe um pouco mais sobre o que é a
inteligência artificial e quais suas aplicações, vamos ver como essa área da
Ciência da Computação evoluiu.

Os anos entre 1943 a 1955 são conhecidos como o período de


gestação da IA, pois antecedeu o marco que a oficializou como área da
computação. Nesse período, surgiu o primeiro trabalho reconhecido
como sendo da área de IA. Os pesquisadores Warren McCulloch e
Walter Pitts propuseram um modelo de neurônios artificiais em que
cada neurônio pode estar “ligado” ou “desligado”, sendo que a transição

www.esab.edu.br 128
de estado ocorre em resposta à estimulação de neurônios vizinhos.
Eles iniciaram, assim, as pesquisas sobre Redes Neurais Artificiais
(RNAs), e foram seguidos por Donald Heeb, que criou a regra básica de
aprendizagem das RNAs.

Mas como colocar esses estudos em prática? Como fazer um computador


pensar? A primeira máquina com funcionamento baseado em RNAs
foi construída em 1951, por Marvin Lee Minsky e Dean Edmonds,
e chamava-se Stochastic Neural Analog Reinforcement Calculator
(SNARC). A SNARC era uma rede de sinapses de Hebbs conectada
randomicamente, portanto, uma máquina de rede neural. Considera-se
que tenha sido essa a primeira máquina de autoaprendizagem.

No entanto, segundo Bittencourt (2006), o principal marco histórico


do período de gestação da IA foi o Teste de Turing, proposto por Alan
Turing em 1950 na sua publicação chamada “Computer Machinery
and Intelligence”. A ideia desse teste era determinar se uma máquina
realmente pode ter comportamento inteligente. Assim, podemos
dizer que o Teste de Turing foi projetado para fornecer uma definição
operacional satisfatória da inteligência em computadores e, para isso,
baseava-se na impossibilidade de distinguir entre uma pessoa e o
computador. Interessante, não é mesmo? Vamos ver um pouco sobre a
elaboração desse teste.

A ideia de Turing é elaborada no seguinte exemplo: um juiz humano


conversa em linguagem natural com um humano e com uma máquina
criada para ter desempenho indistinguível do ser humano, sem saber
quem é a máquina e quem é o humano. Se o juiz não consegue
diferenciar com segurança a máquina do humano, dizemos que a
máquina passou no teste.

Devemos esclarecer que essa conversa deve ser limitada a um canal que
suporta apenas texto, como, por exemplo, um teclado como dispositivo
de entrada e um monitor de vídeo como dispositivo de saída.

Assim, conforme o Teste de Turing, o computador é considerado


inteligente se a pessoa que participa no teste – no caso do exemplo,

www.esab.edu.br 129
o juiz – não for capaz de dizer se foi a máquina ou o ser humano que
respondeu às suas perguntas.

Turing acreditava que até o ano 2000 as máquinas passariam no seu teste,
porém, até hoje pesquisadores de todo o mundo tentam desenvolver uma
máquina capaz de passar no teste. E desde 1990, muitos participam do
Prêmio Loebner, que desenvolve uma competição na qual o objetivo é
criar um software capaz de passar no Teste de Turing (BITTENCOURT,
2006; FERNANDES, 2003; RUSSEL; NORVIG, 2004).

Mas, afinal, quando nasceu a IA? Oficialmente, foi no ano de 1956, em


uma conferência de verão em Dartmouth College, nos Estados Unidos.
A proposta dessa conferência, escrita por John McCarthy (Dartmouth),
Marvin Minsky (Hardward), Nathaniel Rochester (IBM) e Claude
Shannon (Bell Laboratories) e submetida à fundação Rockfeller, era
de realizar “[...] um estudo, durante dois meses, por dez homens,
sobre o tópico inteligência artificial’’. Essa foi a primeira referência
oficial da expressão Inteligência Artificial! (BITTENCOURT, 2006;
FERNANDES, 2003; RUSSEL; NORVIG, 2004).

Nessa conferência, Allen Newell, Herbert Simon e J. C. Shaw


apresentaram o Logic Theorist (LT), um programa capaz de demonstrar
teoremas de cálculo proposicional. O LT é o primeiro programa
desenvolvido para imitar a habilidade humana de calcular e também
é considerado, por alguns, como o primeiro programa de IA.
Posteriormente, Newell e Simon desenvolveram também o General
Problem Solver (GPS), que operava por meio de uma técnica chamada
Means-Ends Analysis.

Segundo essa técnica, se queremos alcançar determinado objetivo, nossa


preocupação deve ser escolher uma dentre várias ações que nos aproxime
desse objetivo, ou seja, que reduza a distância entre o estado atual e o
estado final desejado. Vamos entender como isso funciona?

Suponha que seu objetivo é ir ao trabalho de manhã, partindo da sua


casa. Agora, reflita: o que separa você de alcançar esse objetivo? É uma
questão de distância física, certo? E como fazer para reduzir a distância?

www.esab.edu.br 130
Qual a forma mais adequada de fazer isso? Andando, correndo ou
usando um automóvel, uma bicicleta ou uma moto?

Digamos que você opte por ir de automóvel, já que a distância é grande.


Portanto, a ação “usar um automóvel” é a mais adequada ao objetivo de
reduzir grandes distâncias. Porém, seu carro não dá a partida por estar
com a bateria descarregada. Você tem, portanto, um novo objetivo: o
de consertar o problema da bateria! Então, como obter uma bateria
carregada? Chamando um técnico. E o que é preciso para contatá-lo?
Gritar, enviar um recado, um e-mail ou telefonar. Nesse caso, a opção
mais adequada, devido à distância, é usar um telefone.

Dessa mesma forma, o GPS progride desenvolvendo seu “pensamento”


por meio da determinação de um objetivo principal e da seleção daquilo
que tem a propriedade de reduzir a nossa distância atual em relação
a esse objetivo, o que chamamos de operador. Muitas vezes, temos
de estabelecer um novo objetivo temporário, como ocorreu em nosso
exemplo em relação à bateria descarregada, mas para resolvê-lo podemos
aplicar os mesmos princípios, de forma recursiva (BITTENCOURT,
2006; FERNANDES, 2003; RUSSEL; NORVIG, 2004).

De 1956 em diante, tivemos várias pesquisas na área que ajudaram a


desenvolvê-la, tais como: o programa da IBM para jogar damas (1957);
a linguagem LISP, de John McCarthy (1958); os micromundos, de
Marvin Minsky (1963); o Adaptive Linear Neuron, ou later Adaptive
Linear Element (ADALINE), de Bernard Widrow e Ted Hoff (1960);
o Perceptron, de Frank Rosemblatt (1962); os Algoritmos Genéticos,
fundamentados principalmente por John Henry Holland (1973); e a que
foi a maior sensação desta época: os sistemas baseados em conhecimento
(FERNANDES, 2003).

A fase moderna da IA iniciou na década de 1980 com o primeiro


sistema de IA comercial bem-sucedido, o R1, da Digital Equipment
Corporation, que configurava pedidos de novos sistemas computacionais.
Oito anos depois, a Dupont, indústriado setor químico, tinha em sua
fábrica cerca de cem sistemas baseados em IA. E na década seguinte, com
o avanço na capacidade de processamento dos computadores, tivemos
um grande avanço nas pesquisas sobre RNA (FERNANDES, 2003;

www.esab.edu.br 131
RUSSEL & NORVIG, 2004; BITTENCOURT, 2006). Dessa década
para cá, tivemos o desenvolvimento de agentes inteligentes, data mining,
visão computacional, IA para jogos e computação bioinspirada. Mas esses
são assuntos que veremos nas unidades 21 e 22.

Agora que temos uma noção bem melhor do que é a IA, sua aplicação e
evolução, vamos conhecer as duas abordagens dessa área: a IA cognitiva e
a conexionista.

A abordagem cognitiva é também conhecida como IA descendente ou


simbolista e, como o nome sugere, enfatiza os processos cognitivos, ou
seja, a forma como o ser humano raciocina. Seu objetivo é encontrar
uma explicação para os comportamentos inteligentes baseados em
aspectos psicológicos e processos algorítmicos, como ocorre nos
sistemas especialistas e nos sistemas de raciocínio baseado em casos
(FERNANDES, 2003).

Já a abordagem conexionista, também denominada de biológica ou


ascendente, dá ênfase ao modelo de funcionamento do cérebro, dos
neurônios e das conexões neurais humanas. Como exemplos dessa
abordagem podemos citar as redes neurais artificiais e os algoritmos
genéticos e a atual linha de pesquisa de IA, chamada Vida Artificial.
Você verá essa e outras aplicações atuais de IA nas mais diversas áreas do
conhecimento na unidade 22.

Tarefa dissertativa
Caro estudante, convidamos você a acessar o
Ambiente Virtual de Aprendizagem e realizar a
tarefa dissertativa.

www.esab.edu.br 132
21 Inteligência Artificial: data mining
Objetivo
Conhecer os conceitos de data mining e suas aplicações na área de
Sistemas de Informação.

Nos dias de hoje, as instituições estão se mostrando cada vez mais


eficientes no que se refere à captura, à organização e ao armazenamento
de grandes volumes de dados, que podem ser obtidos a partir das
atividades do dia a dia ou de pesquisas científicas, dependendo da
natureza da instituição.

No entanto, ocorre também que a maioria das empresas não sabe como
usar de maneira adequada esses dados. Há dificuldade, por exemplo, em
convertê-los em conhecimento que possa ser utilizado como vantagem
competitiva ou simplesmente para melhorar as atividades cotidianas,
tanto comerciais como científicas.

Dentro desse cenário, temos o surgimento do Data Mining (DM),


termo da língua inglesa que podemos traduzir para o português como
Mineração de Dados. Você já ouviu falar sobre isso? Esse conceito tem
sido bastante popularizado por proporcionar ferramentas de descoberta
de dados ou informações que são capazes de revelar as estruturas de
conhecimento e interesse das pessoas, gerando caminhos para a tomada
de decisões das organizações quando as condições de certeza são limitadas
ou imprecisas.

Com a Mineração de Dados, uma organização pode ter acesso a


conhecimentos de grande valor estratégico. Assim, essa técnica torna-se
essencial para a construção do sistema de apoio à decisão da organização,
além de possibilitar uma maior organização e direcionar o seu marketing,
considerando os diferentes perfis de seus clientes.

www.esab.edu.br 133
Mas do que se trata exatamente a Mineração de Dados? Podemos
encontrar diversas definições na literatura, mas algumas delas são
consideradas clássicas. Vamos conhecê-las?

Conforme Carvalho (2005) e Goldschmidt e Passos (2005):

• a Mineração de Dados, ou Data Mining, pode ser definida como


a busca de informações que tenham valor para um dado objetivo
em grandes bancos de dados, verificando tais dados e procurando
padrões entre eles que sejam compatíveis com as metas estabelecidas;
• a Mineração de Dados é conhecida como a tarefa de explorar e
analisar dados, utilizando recursos automáticos ou semiautomáticos,
em grandes volumes de dados com o objetivo de descobrir padrões
e/ou regras de interesse para a organização.

Apesar de termos várias definições, a mais conhecida, devido a sua


simplicidade, é a que afirma que Data Mining é o processo de extrair
ou minerar o conhecimento em grandes volumes de dados. Note que
a função e o objetivo dessa área da Computação fica bastante exposta
em seu próprio nome. Minerar, originalmente, trata-se de explorar
economicamente um território retirando ouro ou pedras preciosas. Mas
atualmente, as pedras preciosas que podemos encontrar nas instituições
são os dados e as informações que geram conhecimento. Assim, a
Mineração de Dados procura, explora, extrai dados preciosos para
beneficiar as estratégias da instituição. Para isso, envolve conceitos e
técnicas de estatística, inteligência artificial e banco de dados.

A Mineração também corresponde a uma etapa do processo de


Descoberta de Conhecimento em Bases de Dados – do inglês Knowledge
Discovery in Database (KDD) –, uma metodologia de preparação e
exploração de dados, interpretação dos resultados da exploração e
assimilação, por parte da organização, do conhecimento descoberto.

Dependendo do tipo de dado armazenado na base que se quer minerar,


podemos definir padrões ou tipos de relacionamentos entre os dados
que pretendemos analisar. Veja na figura a seguir a representação de um
processo de Mineração.

www.esab.edu.br 134
Seleção Conhecimento

Data Mining
Data warehouse

Limpeza

Avaliação
Bases de dados
Visualização

Fontes diversas
Figura 20 – Esquema de um processo de Data Mining.
Fonte: Elaborada pela autora (2012).

Nessa figura, podemos perceber que os dados devem, primeiramente, ser


limpos, ou seja, devemos retirar os registros incompletos, duplos ou com
informações inconsistentes. Em seguida, os dados devem ser guardados
em um armazém de dados – termo que veio do inglês data warehouse.
Esse armazém guarda as informações de modo consolidado, criando uma
base de dados que facilita a análise deles e a obtenção de informações
com valor estratégico. Porém, na maioria das vezes, essa etapa não é
contemplada, pois algumas instituições ainda não têm a prática de
implementar o data warehouse, conceito que surgiu recentemente, na
década de 1980.

Tendo os dados preparados, começamos então a mineração, na qual


fazemos uso tanto de conceitos estatísticos como de técnicas de
Inteligência Artificial para avaliarmos os dados e, posteriormente
visualizarmos os resultados, isto é, os conhecimentos. Para isso, como
comentamos anteriormente, devemos definir quais os relacionamentos e
as regras relevantes que comporão esses conhecimentos.

www.esab.edu.br 135
Depois de tanta informação, você pode estar se perguntando: posso
ver isso na prática? Como a Mineração de Dados ocorre no meu dia a
dia? O exemplo mais difundido de Data Mining refere-se à experiência
da Walmart, multinacional americana de lojas de departamento, que
utilizou a Mineração de Dados para tentar entender o comportamento
de compra de seus clientes, a fim de potencializar suas vendas.

Com a aplicação das técnicas de Data Mining, a empresa descobriu


que o perfil do consumidor de cervejas era semelhante ao de fraldas.
Eram homens casados, com idade variando entre 25 e 30 anos, que
compravam fraldas e/ou cervejas sempre às sextas-feiras, no horário de
final de expediente, quando saíam do trabalho para casa. Partindo desses
resultados obtidos com o Data Mining, a empresa pôde otimizar as suas
vendas colocando esses dois produtos em gôndolas próximas. Com essa
redefinição do leiaute, a Walmart aumentou em 30% as vendas de fraldas
e cervejas nas sextas-feiras.

Atualmente, a Mineração de Dados vem ganhando cada vez mais espaço


em diversas áreas da sociedade. Vamos ver algumas dessas aplicações?

Segundo Galvão (2009), em 2006, na cidade de Cuiabá, a aplicação da


DM nos bancos de dados de segurança e saúde pública, especificamente
em acidentes de transporte, permitiu a identificação de regras de
acidentes de trânsito. Desse modo, pôde-se realizar um planejamento
com propostas de medidas que diminuíssem esses acidentes. Como
base para esse trabalho, foram utilizados dados relativos à morbidade e
mortalidade fornecidos pela Secretaria de Justiça e Segurança Pública e
pelo Sistema Único de Saúde de Cuiabá.

Outra aplicação da DM, conforme cita Guimarães (2000), foi realizada


pelo Ministério Público brasileiro, que tem como uma de suas missões
propor a adoção de medidas que tragam contribuições para o estudo do
comportamento dos diversos segmentos sociais, bem como o impacto
que essas medidas podem causar. Entre essas medidas, podemos citar
a construção de penitenciárias e presídios de segurança máxima e a
alteração do sentido do tráfego de veículos em vias públicas.

www.esab.edu.br 136
No entanto, há muitas discussões sobre as infrações cometidas pelo
Ministério Público nesse contexto, pois é necessário que essas ações
deem respaldo à sociedade com informações confiáveis. Assim, o Colégio
Nacional de Corregedores de Justiça está buscando definir um modelo
que mapeie os dados estatísticos e sociais levantados em diversos pontos
do Brasil com o objetivo de traçar políticas e planos de atuação.

A fim de contribuir, um projeto piloto que faz uso de técnicas de


Mineração de Dados foi colocado em prática no Estado de Rondônia.
Como resultado, o Ministério Público desse estado se propôs a realizar,
entre várias outras ações, uma auditoria completa no banco de dados do
Controle de Inquéritos Policiais (CIPO) para: identificar os tipos de erros
encontrados nos dados e definir uma política de correção e integração
destes; autorizar a adoção de uma ferramenta de Data Mining que vise
a auxiliar os processos de auditoria; e normatizar o uso de ferramentas
baseadas em conhecimento nos órgãos da alta administração pública.

O que vimos nesses dois últimos exemplos são casos de utilização da


Mineração de Dados em ambiente governamental. Mas não é só nessa
área que a DM vem sendo aplicada com sucesso! Segundo Almeida,
Siqueira e Onusic (2005), as empresas têm focado cada vez mais na
Gestão de Relacionamento com o Cliente, termo vindo do inglês
Customer Relationship Management (CRM), que busca contribuir para
que a relação como cliente seja de sucesso, aplicação que você verá mais
profundamente na próxima unidade.

Assim, podemos ver que a Mineração de Dados é crescente e pode nos


auxiliar nas mais variadas áreas da sociedade para melhorar a tomada de
decisões, ou seja, a escolha do melhor caminho.

www.esab.edu.br 137
Para sua reflexão
Vimos que a Mineração de Dados é um recurso
muito valioso para melhorar o relacionamento
da empresa com o cliente. Porém, o que ocorre
é que, para que a Mineração de Dados tenha
todo o seu potencial explorado, faz-se necessário
que as empresas e o público forneçam os dados
necessários. No entanto, muitos clientes não
preenchem os formulários de maneira correta
ou completa, e muitas vezes as empresas não
transpõem todas as informações dadas pelo
cliente para o computador, o que faz com que
muitos dados se percam. Você costuma fornecer
seus dados quando realiza cadastros de compra
ou pesquisas de opinião? Você faz uso de algum
tipo de cartão fidelidade? Caso sim, você já parou
para pensar como seus dados são tratados pela
empresa para um melhor relacionamento com
você? Você acha que estamos preparados para
viver em uma sociedade em que nossos dados
são elemento fundamental para um diferencial
competitivo das empresas? Como lidar com a
necessidade de fornecer nossos dados e a precária
política de privacidade da maioria das empresas?
Reflita sobre como isso afeta você e como pode
aparecer no seu dia a dia como profissional de SI.
As respostas a essas reflexões formam parte de sua
aprendizagem e são individuais, não precisando
ser comunicadas ou enviadas aos tutores.

www.esab.edu.br 138
Inteligência Artificial: aplicações
22 gerais
Objetivo
Enumerar as potenciais aplicações da Inteligência Artificial nas
diversas áreas do conhecimento humano.

Como você tem visto ao longo das últimas unidades, a Inteligência


Artificial está presente em várias situações do nosso cotidiano, e muitas
vezes nem nos damos conta disso! A partir de agora, vamos conhecer um
pouco de algumas aplicações de IA nas mais diversas áreas e que podem
fazer parte do seu dia a dia.

Vimos, superficialmente, na unidade anterior, que nos dias de hoje


a Gestão do relacionamento com o cliente é uma preocupação da
maioria das empresas, independentemente do seu setor. A partir das
possibilidades viabilizadas pela tecnologia da informação e os conceitos
do marketing de relacionamento, a IA, por meio da Mineração de
Dados, contribui para a melhoria da relação entre o cliente e a empresa,
prezando pela eficácia do atendimento e pela fidelização dos clientes,
pois clientes leais se tornam mais rentáveis, geram um custo menor e
propiciam um maior valor agregado para a marca da empresa.

Portanto, nesse caso, a Mineração de Dados tem por objetivo conhecer o


perfil, bem como desenvolver, manter e possibilitar o uso de um histórico
sobre o comportamento e os interesses dos clientes. A partir disso, pode-
se também analisar o relacionamento com o cliente, o que permite
planejar esforços de marketing, analisar o desempenho de produtos,
planejar o lançamento de novos produtos, definir preços, administrar
possíveis atritos entre o cliente e a empresa ou um funcionário, estimar
o valor do cliente e a regularidade de suas compras e analisar a relação
entre produtos e venda de produtos casados (ALMEIDA, SIQUEIRA;
ONUSIC, 2005).

www.esab.edu.br 139
Você consegue identificar essas aplicações em momentos da sua vida?
Vamos ver a seguir alguns exemplos da realidade para entendermos como
a Mineração é utilizada. Acompanhe!

Podemos ver em Costa (2006) a qualidade da fabricação de peças de


vidro como exemplo de uso da Mineração de Dados. O processo de
fabricação de vidros é muito complexo, envolvendo várias etapas para
que se consiga obter um produto final de qualidade. E seja qual for a
área de atuação da empresa, não se pode deixar de pensar na redução dos
custos de fabricação e na inovação que o mercado consumidor sempre
exige.

Nesse caso, podemos dizer que a IA pode ser utilizada para classificar
os defeitos que ocorrem no vidro devido às condições operacionais dos
fornos de fusão e em relação à matéria-prima utilizada, bem como pode
ser usada na classificação dos padrões de fabricação do vidro. Para isso, é
necessário, no entanto, que cada situação seja cadastrada, formando uma
base com os dados sobre cada tipo de defeito que ocorreu em cada peça
de determinada matéria-prima elaborada sob certas condições dos fornos.

Também podemos pensar no exemplo apontado por Sato et al. (2004),


que diz que do total de atendimentos na emergência, geralmente
entre 5% e 10% dos pacientes atendidos apresentam dor torácica.
Assim, consideramos a dor torácica como um dos problemas mais
comuns acompanhados em clínicas médicas, sendo essa dor responsável
por muitas internações. No entanto, essa dor pode levar a diferentes
diagnósticos, portanto, uma avaliação equivocada da saúde do paciente
pode fazer a diferença entre a vida e a morte.

Nesse contexto, a IA pode ser aplicada de modo a auxiliar essa avaliação


e o diagnóstico com o intuito de diminuir o número de liberações
equivocadas do paciente. A dispensa antecipada ou equivocada do
paciente pode representar altos índices de mortalidade, mas com auxílio
da IA é possível diminuir essas ocorrências e também o número de
pacientes que ficam internados sem necessidade e que fazem exames
desnecessários (SATO et al., 2004).Para isso, assim como ocorre na
Gestão de Relacionamento com o Cliente, é necessário montar uma base

www.esab.edu.br 140
de dados dos pacientes com seu perfil, suas características e seu histórico
de consultas, doenças etc.

Uma área em que poderemos ver resultados surpreendentes da IA é a


indústria automotiva. É comum vermos em filmes carros super potentes
e que têm “vida própria”. Ainda estamos um tanto quanto distantes do
tempo em que poderemos ter um desses na garagem, porém certamente
isso será realidade devido aos resultados de pesquisas que têm sido feitas
em todo o mundo.

O Brasil não está fora da realização dessas pesquisas, e o Carro Robótico


Inteligente para Navegação Autônoma (CARINA), desenvolvido pela
Universidade de São Paulo (USP), já é um dos resultados delas! Trata-
se de um veículo autônomo que utiliza técnicas de IA para navegar em
ambientes urbanos sem a necessidade de ter um humano como condutor.

Os objetivos que levaram ao início do projeto que desenvolveu o


CARINA foram diminuir a quantidade de acidentes nas ruas e rodovias,
aumentar a eficiência do fluxo do trânsito e desenvolver um sistema que
auxiliasse o motorista do veículo, avisando sobre situações de risco. O
projeto CARINA iniciou em 2010 e, atualmente, o veículo está em fase
de testes (LRM, 2012).

Note que uso interessante da IA! O CARINA é um ótimo exemplo


de como podemos utilizar essa área da Computação em nosso favor,
desenvolvendo produtos que nos auxiliem a viver melhor. Mas vamos ver
mais algumas aplicações da inteligência artificial!

A cada dia que passa, o mundo dos negócios se torna mais competitivo,
sendo que uma das áreas em que há uma disputa bastante acirrada por
clientes é a de crédito bancário. E para conquistar clientes, é um fator
competitivo de grande relevância ter em mãos e fazer uso de ferramentas
que ajudem no reconhecimento e na previsão de quais clientes podem
ser considerados bons ou maus tomadores de crédito. O problema é que,
para fazer essa distinção, é necessário investigar uma grande quantidade
de dados. Para isso, aplicamos os conceitos de IA por meio do uso de
Data Mining (LEMOS, 2003), como vimos na unidade 21.

www.esab.edu.br 141
Também podemos ver o uso da IA nos esportes. No basquete mundial, a
Espanha é hoje um dos expoentes, e com o intuito de auxiliar os técnicos
a avaliar o desempenho de seus atletas durante o jogo, bem como o
desempenho dos adversários, buscando a melhor tática a ser usada
em um dado momento do jogo, a Universidade Carlos III, de Madri,
desenvolveu um sistema de IA. O objetivo desse sistema inteligente é
avaliar os tipos de movimentos ou as táticas empregadas pelos adversários
em jogos contra os donos da casa para buscar um esquema tático,
a ser indicado ao treinador, que melhore o desempenho da equipe.
Por enquanto, esse sistema ainda está em fase de testes e refinamento
(UC3M, 2012).

Outra área que também faz uso da IA é a agricultura. Você pode


imaginar de que forma? A Universidade Estadual de Ponta Grossa
desenvolve o projeto Sistemas Inteligentes para a Agricultura (SIAGRI),
que emprega métodos de IA para auxiliar a resolução de problemas
de tomada de decisão em relação a tarefas que exigem a automação
de processos que demandam a análise de uma grande quantidade de
informações e conhecimento da área agrícola (MCA, 2012).

Na mesma linha do SIAGRI, temos também o Sistema Inteligente de


Estimativa de Doenças do Trigo (SINTRIGO), criado pela mesma
universidade, que auxilia no combate e na prevenção de doenças do
trigo. Mas de que modo? Essas doenças são influenciadas pela variação
da temperatura e pela duração do período de exposição da planta ao
orvalho. Assim, por meio das técnicas de IA, realiza-se a análise de
variáveis climáticas e dados relativos à planta, de modo que podemos
verificar a possibilidade de ataque de doenças ao trigo (MCA, 2012).

Em Santa Catarina, um estado com uma grande diversidade turística,


o setor de turismo também faz uso da IA. Devido à diversidade de
opções de rotas turísticas oferecidas e à dificuldade para o próprio
turista escolher os passeios que deseja fazer, foi desenvolvido um sistema
baseado em conceitos de IA capaz de sanar ou minimizar o problema
de apresentação dos principais roteiros turísticos disponíveis no Estado
(SEMPRE BOM; CAMADA; MENDONÇA, 2007).

www.esab.edu.br 142
E por falar em qualidade de vida, você já ouviu falar das casas
inteligentes? São casas construídas com base em uma área da automação
chamada domótica. A domótica refere-se à instalação de tecnologia
em residências com o objetivo de melhorar a qualidade de vida de seus
moradores, bem como aumentar sua segurança e permitir o uso racional
dos recursos. Na domótica inteligente, as características principais são a
noção temporal, a fácil interação entre sistema e usuário, a capacidade
de integrar todos os sistemas do ambiente, de atuar sob condições
variadas, ter capacidade de se reprogramar e de se auto corrigir (SGARBI;
TONIDANDEL, 2009).

Quantas aplicações possíveis para a IA, não é mesmo? Você conhecia


alguma delas ou conhece outra? Se pensarmos bem, a IA pode ser
aplicada em quase todas as áreas do conhecimento e, a partir disso,
podemos desenvolver coisas incríveis para melhorar nossas vidas.
Mas estando tão ligada à nossa vida e aos nossos dados pessoais, é
fundamental que os sistemas, e não só os de IA, tenham uma boa
segurança, deixando nossos dados a salvo de qualquer mau uso,
concorda? É esse o assunto que veremos na unidade a seguir.

www.esab.edu.br 143
23 Segurança em informática
Objetivo
Conhecer os conceitos de segurança, seus diversos níveis e os tipos de
controle.

Depois da popularização da internet, assim como as pessoas, as empresas


passaram a ser cada vez mais dependentes dos sistemas de informação.
E no contexto empresarial, é necessário que elas permitam aos seus
colaboradores, parceiros, clientes e fornecedores o acesso a seus sistemas.
Mas o que isso significa?

Isso faz com que as empresas necessitem dar acesso a determinadas


informações para usuários externos. Portanto, deve haver níveis de acesso
diferenciados para que esses usuários acessem somente as informações de
que realmente precisam, e não outras que se pretendem apenas dentro da
instituição.

Dentro da própria empresa, isto é, mesmo para os colaboradores, é


normal que existam níveis diferentes de acesso, ou seja, para diferentes
grupos hierárquicos e diferentes setores permite-se o acesso a certas
informações. Assim, podemos notar que é importante conhecermos
todos os recursos da empresa e sua estrutura para estabelecermos níveis
de acesso e permissões de uso adequados a cada usuário dos sistemas da
empresa.

A área que cuida dos aspectos de segurança de sistemas chama-se


Segurança da Informação. Segundo Fedeli (2003), ela tem como
propósito alcançar cinco objetivos principais:

www.esab.edu.br 144
• integridade: refere-se a garantir que os dados não sofram alterações
durante a transação de informações, portanto, são cuidados para
que as informações manipuladas mantenham suas características
originais (estabelecidas pelo seu proprietário), incluindo o controle
de alterações. Isso significa que esse a integridade busca garantir
a disponibilidade de informações corretas e confiáveis, ou seja,
íntegras;
• confidencialidade: consiste em assegurar que só os usuários
autorizados tenham acesso a uma dada informação, isto é, limita o
acesso à informação somente a quem é autorizado;
• disponibilidade: refere-se a manter a informação sempre disponível
ao usuário que tem autorização para acessá-la. Para mantermos um
sistema disponível, podemos fazer uso de alguns artifícios como a
redundância de servidor e banco de dados, que se resume a ter pelo
menos dois servidores ou dois bancos de dados com os mesmos
dados e ativos ao mesmo tempo, de forma que se um parar de
funcionar o outro estará funcionando do mesmo modo;
• não repudiação: corresponde à garantia de que as trocas de dados
e informações ocorrerão, ou seja, que os participantes de uma
transação não poderão negar o envio ou o recebimento de uma
informação;
• autenticação: assegura que só os usuários autorizados tenham acesso
a uma dada informação, o que pode ocorrer, por exemplo, por meio
da definição de senhas de acesso aos usuários.

Fedeli (2003) afirma, ainda, que é com base nesses cinco objetivos
que a estrutura básica de segurança de informação deve ser
planejada e implantada em uma empresa, seguindo os padrões
internacionais estabelecidos pela ISSO/IEC 17799, de 2005, que
trata da confidencialidade, da integridade, da disponibilidade e da
irretratabilidade (que tem o mesmo conceito que a não repudiação)
como os atributos, ou as propriedades, que devem orientar a análise, o
planejamento e a implementação da segurança de informação.

www.esab.edu.br 145
E para isso, ainda segundo Fedeli (2003), são estabelecidos quatro
serviços básicos:

• serviço de responsabilidade: está relacionado à ocorrência de


eventos e operações ocorridos no data center, que é a infraestrutura
do local em que os dados estão armazenados. Por meio desse serviço,
mantemos um registro dessas ocorrências, que poderão sofrer
auditoria ou rastreamento por motivo de segurança;
• serviço de confidencialidade: tem por objetivo fornecer o sigilo
necessário para as informações e garante que somente as pessoas
autorizadas podem ter acesso a elas. Assim, esse serviço estabelece
quais usuários podem acessar quais dados, sejam dados em trânsito
ou armazenados (em mídias ou arquivos na máquina).Para assegurar-
se da confidencialidade, os dados podem ser criptografados;
• serviço de integridade: é o serviço que garante que as informações
não sejam alteradas, sendo responsável pela detecção de alterações e
exclusões não autorizadas das informações, protegendo-as;
• serviço de disponibilidade: é responsável por garantir que usuários
autorizados possam ter acesso de maneira confiável e apropriada aos
dados e às informações. Por meio desse serviço, permite-se que os
usuários acessem os sistemas computacionais, bem como os dados e
os aplicativos necessários destes, de modo adequado ao seu nível de
acesso.

Note que o que temos para a implementação da segurança de informação


é o desenvolvimento de uma política. Mas o que devemos levar em conta
ao elaborar essa política? É necessário pensar, antes, nos riscos que a
instituição corre com a falta de segurança, reconhecendo os benefícios
que a implementação desta pode gerar, e, por fim, considerar os custos
de implementação dos mecanismos – desde portas blindadas, trancas e
demais mecanismos físicos até os para criptografia, de controle de acesso,
certificação etc.

Para Wadlow (2000), segurança não é tecnologia, visto que não podemos
comprar, por exemplo, um dispositivo para tornar a rede segura ou criar
softwares que sejam capazes de tornar os computadores seguros. Para

www.esab.edu.br 146
esse autor, segurança é um estado a ser alcançado. No entanto, à medida
que a tecnologia avança, a busca pela segurança também precisa evoluir,
fazendo com que o estado seguro nunca seja alcançado, pois vivemos em
um universo de recursos e avanços tecnológicos dinâmicos.

Wadlow (2000) considera segurança um processo, o qual está baseado


na tríade: análise, síntese e avaliação. Para esse processo, toda empresa
deve ter uma política de segurança. Afinal, do que se trata essa política?
Atualmente, ainda temos muitas empresas com estrutura de segurança
precária, mas a tendência é que esse cenário mude rapidamente, por isso,
todos nós que trabalhamos com informática precisamos entender o que é
isso, concorda?

De acordo com Somasundaram e Shrivastava (2011), política de


segurança refere-se ao formalismo de todos os elementos considerados
relevantes para uma empresa proteger, controlar e monitorar seus
recursos computacionais. A política de segurança não tem por objetivo
estabelecer procedimentos específicos para manipular e proteger a
informação, mas sim atribuir os direitos e as responsabilidades para
cada pessoa envolvida no processo, como os usuários mais comuns, os
administradores de rede, os administradores de sistemas, os funcionários
da empresa em geral, a gerência etc.

E para que uma política de segurança de uma empresa seja criada,


é necessário primeiramente definir o que se quer proteger. Então,
precisamos estabelecer qual informação será protegida a partir de uma
análise de riscos, a qual busca estabelecer, além de quais recursos serão
protegidos, quais as ameaças que estes podem sofrer e quais são os pontos
vulneráveis que podem permitir que as ameaças se tornem realidade
(FEDELI, 2003).

As ameaças mais relevantes às quais estamos expostos são os hackers,


os vírus, trojans e worms. De todas elas, a mais comentada refere-se aos
hackers, pois, quando mal intencionados, eles costumam causar uma
grande quantidade de problemas complicados de resolver e que muitas
vezes trazem prejuízos relevantes. Algumas ações comuns de hackers mal-
intencionados são (FEDELI, 2003):

www.esab.edu.br 147
• roubar senhas e modificar contas;
• grampear nossas linhas de comunicação, conseguindo informações
confidenciais, que podem cair na mão de concorrentes;
• sobrecarregar a rede, causando colapso;
• roubar nossa propriedade intelectual;
• alterar arquivos importantes; e
• roubar dinheiro, realizando transações financeiras em nosso nome.

Portanto, além de criar uma política de segurança, a empresa deve


ter investimento contínuo na segurança física, contratando pessoal
qualificado, ter ferramentas de segurança e manter uma interação
saudável entre as pessoas da organização e com fornecedores e clientes.

Até aqui falamos de como podemos estabelecer a segurança de


informação. Mas quais os problemas de segurança mais comuns?
Quais as formas mais comuns de ocorrer um “furo” na segurança que
implementamos? Em geral, os problemas ocorrem por causa de má
configuração de hosts, falhas relacionadas aos sistemas, problemas com a
ineficiência de resposta dos fabricantes aos problemas que surgem, a falta
de ética das pessoas e falta de cultura, por parte das empresas, de valorizar
as questões de segurança.

Atualmente, uma ameaça que cresce assustadoramente está relacionada


à chamada Engenharia Social, que é a aquisição de informações valiosas
ou de privilégios referentes ao acesso por pessoas externas à organização,
com base em relações de confiança que foram estabelecidas, de maneira
inapropriada, com alguma pessoa de dentro da organização. Tudo isso
envolve o bom-senso, a ética que temos ao lidar com dados, sejam
pessoais ou de organizações. Esse é o assunto da próxima unidade!

www.esab.edu.br 148
Para sua reflexão
A humanidade saiu da era industrial para a era
da informação, e agora que a informação está em
nossas mãos, passamos para a era da segurança
da informação. A internet nos permite ter acesso
a uma grande quantidade de informações,
armazenadas em grandes bases de dados,
que podem ser acessadas em qualquer lugar
e a qualquer hora. E ao mesmo tempo em que
temos acesso a tudo isso, também deixamos à
disposição nossos dados, principalmente depois
do surgimento das redes sociais. O problema sobre
o qual precisamos refletir agora é: as pessoas, as
companhias e os governos estão preparados para
esta nova era? Temos condições de estabelecer
o limite ético entre o que podemos acessar e o
que podemos deixar ser acessado pelos outros?
Temos leis para garantir a ética? Conhecemos
nossos direitos, deveres e, principalmente, as
consequências de nossos atos nesta nova era?
As respostas a essas reflexões formam parte de sua
aprendizagem e são individuais, não precisando
ser comunicadas ou enviadas aos tutores.

www.esab.edu.br 149
24 Ética em informática
Objetivo
Compreender concepções gerais quanto aos aspectos legais, morais e
éticos que deverão ser observadas no exercício do profissional da área
de computação.

No início da informática, os programadores compartilhavam os códigos-


fonte uns com os outros e, assim, todos podiam modificar o programa,
que era mais uma vez compartilhado, e assim por diante. Esse hábito era
muito comum nas universidades americanas nas décadas de 1960 e 1970
e era compatível com o espírito acadêmico, que tinha como princípios a
liberdade e a cooperação.

Foi sob esses princípios, que formavam a ética acadêmica da época, que a
informática passou a se desenvolver, de modo que podemos ter hoje, por
exemplo, computadores em nossas casas. E atualmente, qual será o papel
da ética no mundo da computação?

Ética é uma palavra derivada do grego que significa “aquilo que pertence
ao caráter”. Desse modo, está relacionada aos valores morais e aos
princípios que devem reger o comportamento humano, tendo como base
a razão.

Como vimos, nas décadas de 1960 e 1970 a ética acadêmica era pautada
pela liberdade e pela cooperação entre os acadêmicos e pesquisadores e
foi isso que fez a informática prosperar. Já na década de 1980, quando
tudo começou a se desenvolver mais rapidamente e podia-se prever os
lucros que os computadores poderiam gerar, a questão ética passou a ser
mais delicada e, por vezes, foi até mesmo rompida.

Quando o computador se tornou um produto de distribuição em massa,


as coisas mudaram totalmente de rumo. As pesquisas de novas soluções
aumentaram e muitas empresas adotaram como estratégia comercial a
não divulgação dos códigos-fonte de seus programas. Isso significava

www.esab.edu.br 150
que o cliente não tinha controle sobre o software executado em seu
equipamento, portanto, a empresa tinha controle sobre o programa
e limitava o usuário, que deveria comprar uma licença de uso, a qual
permitia o uso do programa em apenas um computador. Passamos a ter,
então, o que chamamos de software proprietário.

Por outro lado, tínhamos ainda as pessoas que seguiam compartilhando


seus códigos e também aquelas que copiavam os softwares proprietários
para serem usados em mais de um computador. Para garantir as
vantagens advindas da restrição do uso do conhecimento humano,
a indústria de software proprietário associou o compartilhamento de
programas ao de abordar navios, matar seus tripulantes e saquear a carga,
assim, a cópia não autorizada de software proprietário foi denominada
pirataria (FEDELI, 2003).

Chegamos aqui a um assunto ainda muito discutido atualmente: a ação


de piratas e hackers. A cultura hacker segue um princípio semelhante ao
da academia americana da década de 1960, prezando pela liberdade e
pela cooperação.

Mas antes de continuar, vamos fazer um parênteses para explicar o


conceito de hacker, que causa muita confusão, pois muitos o confundem
com o cracker. Ao contrário do que costuma ser difundido, é o cracker
que age como vândalo virtual, sendo uma pessoa que utiliza seus
conhecimentos para agir de forma não ética, invadindo sistemas,
roubando senhas etc. Na hierarquia da cultura hacker, o cracker está
acima do lamer, que tem pouco conhecimento, e abaixo do hacker.
Então, se esse é o conceito de cracker, o que é um hacker? O hacker
geralmente é uma pessoa madura, que, ao contrário do cracker, utiliza seu
conhecimento seguindo a ética dessa cultura, ou seja, para desenvolver
novos sistemas ou evoluir os já existentes.

Falamos muito sobre a cultura hacker, você sabe por quê? Eles formam
um grupo que possui muitas ideias e princípios em comum e possuem
também sua ética. E essa cultura pode ser resumida no seguinte
pensamento: se você tem uma maçã e eu tenho uma maçã, e nós
trocamos as maçãs, então você e eu ainda teremos uma maçã. Mas se

www.esab.edu.br 151
você tem uma ideia e eu tenho uma ideia, e nós trocamos essas ideias,
então cada um de nós terá duas ideias.

Embora a maior parte do desenvolvimento tecnológico na era da


informação tenha ocorrido dentro de tradicionais relações capitalistas e
projetos governamentais, uma parte significativa – como a internet e o
computador pessoal – não existiriam sem os hackers que compartilharam
suas criações com os outros.

Na ética desse grupo, o dinheiro, por exemplo, não é visto como valor
em si e suas ações têm como meta o mérito social e o compartilhamento.
Esses hackers desejam realizar suas paixões em conjunto, desejam criar
algo de valor para a sociedade e serem reconhecidos pelos seus pares.
Dentro desse contexto, eles permitem que o fruto de seu trabalho seja
usado, desenvolvido e testado por qualquer um para que todos possam
aprender uns com os outros (FEDELI, 2003).

Falamos também da pirataria, assunto que volta e meia vemos nos


jornais e noticiários. Esse talvez seja o ponto mais discutido em relação
à ética na informática. Pirataria, como você viu anteriormente, é como
se denomina a adulteração ou cópia de informações de um determinado
produto irregularmente, ou seja, no caso da indústria de software, é
a violação do programa de computador sem a prévia autorização do
proprietário.

Essa prática é muito comum em quase todos os países, inclusive no


Brasil, mas o que isso tem a ver com ética? Tudo! A pirataria é uma
prática ilícita e como para qualquer procedimento ilícito os responsáveis
devem responder às penalidades previstas em lei. No Brasil, as
penalidades relacionadas à pirataria de software são previstas nos artigos
12o a 14o da Lei nº 9.609, de 1998 – também conhecida como Lei do
Software –, que trata da proteção da propriedade intelectual dos softwares
e da sua comercialização.

No entanto, o que vemos hoje é o aumento de atos de pirataria no


Brasil, fazendo com que nos perguntemos: quem é o responsável por esse
avanço de um ato ilegal? Por que as pessoas o praticam? A pirataria não
envolve apenas a questão financeira de compra e venda de softwares, mas

www.esab.edu.br 152
também o uso e a apropriação das ideias de quem o criou, ou seja, copiar
indevidamente um software é ferir a propriedade intelectual, os direitos
autorais, e a ética.

Os aspectos legais do software no Brasil (ABES, 2012) encontram-se na


Lei nº 9.610/98 (também conhecida como Lei de Direitos Autorais) e na
já citada Lei do Software (Lei nº 9609/98). Segundo a Lei do Software,
em seu Art. 2º, o regime de proteção à propriedade intelectual de um
software é o mesmo conferido a obras literárias pela legislação de direitos
autorais vigente no país.

Estudo complementar
Nesta unidade falamos sobre a Lei do Software no
Brasil. Para conhecer melhor esse assunto, leia o
artigo “Proteção Jurídica do Software” da revista
Informática Jurídica, disponível clicando aqui e
conheça também a Lei do Software brasileira, que
está disponível clicando aqui.

Muito bem, sabemos que a pirataria é ilícita. Agora, que relações


estabelecemos entre a atuação de hackers e a pirataria com a ética? Vimos
que os hackers têm sua própria ética dentro do grupo. Ela, muitas vezes,
pode ferir a ética comum e violar a legislação, assim como faz a pirataria.
Mas será que isso não pode trazer benefícios, do mesmo modo como
ocorreu nas décadas de 1960 e 1970, quando o compartilhamento de
códigos-fonte era comum e contínuo?

Essa é uma discussão bastante vista na área da Computação,


especialmente entre os partidários do movimento do software livre, que
divulga e incentiva os princípios de liberdade e compartilhamento para
o desenvolvimento de softwares de modo ético. Para isso, utiliza licenças
abertas, como a General Public License (GLP), idealizada por Richard
Stallman, em 1989. Para entender melhor essas questões que envolvem
software proprietário, software livre e os tipos de licença, leia a unidade
22 da disciplina Fundamentos de Sistemas de Informação.

www.esab.edu.br 153
Atividade
Chegou a hora de você testar seus conhecimentos
em relação às unidade 17 a 24. Para isso, dirija-se
ao Ambiente Virtual de Aprendizagem (AVA) e
responda às questões. Além de revisar o conteúdo,
você estará se preparando para a prova. Bom
trabalho!

www.esab.edu.br 154
Resumo

Nessas últimas seis unidades você conheceu um pouco de como a


realidade virtual evoluiu até chegar ao que temos hoje, que podemos ver,
por exemplo, em filmes como Avatar. Também conheceu os conceitos
básicos de inteligência artificial e suas potenciais aplicações e refletiu
sobre algumas questões de segurança e ética em informática.

Assim, você pode perceber que a evolução da computação gráfica e


da realidade virtual está diretamente ligada ao avanço das tecnologias
computacionais e que as aplicações de inteligência artificial vêm
tornando-se parte do nosso dia a dia, trazendo benefícios. Por fim,
também pudemos compreender que, com a imensa quantidade de
dados ao alcance de todos, devemos seguir alguns preceitos éticos e ter
cuidado com as questões de segurança dos nossos dados, seja em nossos
computadores pessoais ou em empresas.

www.esab.edu.br 155
Glossário

Ábaco
Constitui o primeiro dispositivo manual de cálculo e serve para representar
números no sistema decimal e realizar operações com eles. O ábaco mais
antigo data de aproximadamente 3.500 anos a.C. e foi descoberto no vale
entre os rios Tigre e Eufrates. De sua descoberta em diante, o homem veio
aperfeiçoando os dispositivos de cálculo até chegar aos antepassados dos
computadores e, depois, aos computadores que temos hoje. R

Alfabeto
É um conjunto finito de símbolos ou caracteres. Vale lembrar que um
conjunto infinito não é um alfabeto, porém, um conjunto vazio é um
alfabeto. R

Automação
Refere-se à utilização de sistemas em que os processos são realizados por
dispositivos eletrônicos ou mecânicos em vez de por trabalho humano. R

Barramentos
Barramento, ou bus, é um meio físico de comunicação entre as unidades
funcionais de um sistema computacional. Através de condutores,
informações como os dados, os endereços e os sinais de controle trafegam
entre processadores, memórias e dispositivos de entrada e saída. Os
barramentos são classificados em três tipos: barramentos processador-
memória, barramentos de entrada e saída e barramentos de backplane. Os
barramentos processador-memória são de curta extensão e alta velocidade
para que seja otimizada a transferência de informação entre processadores
e memórias. Já os barramentos de entrada e saída possuem maior extensão,
são mais lentos e permitem a conexão de diferentes dispositivos. R

www.esab.edu.br 156
Base
Número de dígitos de um dado sistema de numeração. R

Batch
Também chamado de lote, refere-se a arquivos do computador
utilizados para automatizar tarefas. Também pode se referir ao modo de
processamento de dados no qual estes são processados em grupos ou em
lotes por meio de uma rotina agendada. Neste caso, batch nada mais é do
que um conjunto de comandos que são executados sequencialmente. R

BIOS
É o aplicativo responsável pela execução das várias tarefas executadas do
momento em que você liga o computador até o carregamento do sistema
operacional instalado na máquina. Ao iniciar o computador, a BIOS
faz uma varredura para detectar e identificar todos os componentes de
hardware conectados à máquina. Só depois de todo esse processo de
identificação é que a BIOS passa o controle para o sistema operacional e o
boot (inicialização das tarefas do computador) acontece de verdade. R

Byte
É um conjunto de 8 bits. R

Cabeamento
Ligação feita com o uso de cabos. R

CAD
Do inglês Computer Aided Design, quer dizer Projeto Assistido por
Computador, e consiste em sistemas capazes de fazer desenhos e
simulações, auxiliando um projetista (mecânico, elétrico, civil) a
desenvolver suas ideias de forma mais rápida. R

www.esab.edu.br 157
Chip
Circuito integrado que tem como suporte uma pastilha de silício ou outro
material semicondutor no qual são gravados ou inseridos componentes
eletrônicos que, em conjunto, desempenham uma ou mais funções. R

Circuito integrado
Refere-se a vários componentes que são encontrados na forma de chips em
vários tipos de placas. R

Código ASCII
Este código é uma tabela padronizada internacionalmente que possui
as associações entre caractere e a sua representação numérica no
computador. R

Editoração eletrônica
Refere-se à elaboração gráfica de publicações. Com os programas de
editoração eletrônica é possível ter uma ideia precisa de como ficará um
material antes de ser impresso, possibilitando alterações de forma rápida,
o que traz economia. R

Emular
Simular o funcionamento. R

Empírico
Algo que é baseado na observação e na experimentação. No caso de testes
de usabilidade, são aqueles realizados com os usuários. R

Entidade
Qualquer coisa, seja concreta ou abstrata, retirada do mundo real e
modelada em forma de tabela para guardar informações no banco de
dados, aceitando, inclusive, associações entre entidades. R

www.esab.edu.br 158
Escalável
Sistema escalável é aquele cujo desempenho aumenta com o acréscimo de
hardware, proporcionalmente à capacidade acrescida. R

Falácia
Raciocínio plausível, mas que não tem veracidade. R

Feedback
Realimentação de um sistema; resposta a um pedido, um acontecimento,
uma fala ou um ato; resposta que revela a avaliação de um trabalho,
apontando pontos positivos ou negativos. R

Heurística
Trata-se de um método de investigação realizado por meio da aproximação
de um problema R

Hospedar
Fornecer a estrutura necessária para um site, de modo que ele possa ser
utilizado. R

Host
Significa hospedeiro. Na área de computação, este termo se refere a um
computador, ligado em rede, que fornece as informações, os recursos, os
serviços e as aplicações aos usuários ou outros que compõem a rede. R

Imagens renderizadas
Imagens que passaram pelo processamento digital e são consideradas
produto final. R

www.esab.edu.br 159
Instruções
São um conjunto de regras ou normas definidas para a realização ou
o emprego de algo. Em informática, é o que indica a um computador
uma ação elementar a executar. Uma ordem isolada não permite realizar
o processo completo, para isso é necessário um conjunto de instruções
colocadas em ordem sequencial lógica. Por exemplo, se quisermos fazer
um bolo, precisaremos colocar em prática uma série de instruções: bater
os ovos, misturar os ingredientes etc. É evidente que essas instruções têm
de ser executadas em uma ordem adequada – não se pode assar o bolo
para depois bater os ovos. R

Invariantes
Algo que não se altera com a aplicação de um conjunto de
transformações. R

Iteração
Quando os testes de um software começam, aparecem os problemas
que permaneceram ocultos por todo o processo de análise, design e
implementação, e o projeto é paralisado enquanto começa um longo ciclo
de correção de erros. Uma maneira mais flexível (e menos arriscada) de
continuar é percorrer várias vezes as diversas fases de desenvolvimento,
construindo um melhor entendimento dos requisitos, planejando uma
arquitetura robusta, elevando a organização do desenvolvimento e, por
fim, liberando uma série de implementações que são gradualmente mais
completas. Esse procedimento chama-se ciclo de vida iterativo. A cada
passagem, a sequência de fases do processo chama-se iteração. R

Linguagem
É uma forma precisa de expressar problemas, permitindo um
desenvolvimento formal adequado ao estudo da computação. Para
entender uma linguagem, devemos entender a noção de símbolo,
ou caractere, que é uma entidade abstrata básica, não sendo definida
formalmente. Letras e dígitos são exemplos de símbolos frequentemente
usados. R

www.esab.edu.br 160
Modem
Palavra formada pela junção das palavras modulador e demodulador,
que refere-se a um dispositivo eletrônico que modula um sinal digital
em uma onda analógica, pronta a ser transmitida pela linha telefônica
e que demodula o sinal analógico e o reconverte para o formato digital
original. Esse equipamento é utilizado para conexão à internet ou a outro
computador. R

Multiprogramação
Modo de operação de um computador que permite a execução intercalada
no tempo de vários programas em um único processador. R

Palavra
É uma cadeia finita de símbolos. Por exemplo: abcd é uma palavra do
alfabeto {a, b, c , d }. Existem alguns símbolos específicos que você precisa
conhecer:  indica cadeia vazia ou palavra vazia; O símbolo ∑ representa
um alfabeto, então: Σ* representa o conjunto de todas as palavras possíveis
sobre ∑, e Σ + representa Σ* − { }. Vamos entender melhor: se Σ ={a, b ],
então: Σ + = {a, b, aa, ab, ba, bb, aaa,...}; e
Σ ={ , a, b, aa, ab, ba, bb, aaa,...}. O tamanho de uma palavra é
*

representado por | w | e refere-se ao número de símbolos que compõem


uma palavra. Por exemplo: | a, b= =
, c , d | 4; |  | 0. R

Palavra reservada
É uma palavra que é exclusiva para uso da gramática de determinada
linguagem, por isso não pode ser utilizada como um identificador. Por
exemplo, em Java não podemos utilizar uma variável for porque ela é
reservada para construção de loops. Assim, podemos entender a palavra
reservada como uma palavra-chave de uso restrito. R

Plano diretor
Conjunto de princípios e regras orientadoras de ações de um dado grupo
de pessoas em busca de um ideal pré-estabelecido. R

www.esab.edu.br 161
Populados
Diz-se do banco de dados preenchido parcialmente ou por completo.
R

Prefixo
Um prefixo de uma palavra é qualquer sequência inicial de símbolos da
palavra. Uma subpalavra de uma palavra é qualquer sequência contígua de
símbolos de uma palavra. Por exemplo, em relação à palavra “abcd”, tem-
se os respectivos prefixos:  , a, ab, abc, abcd. Qualquer prefixo de uma
palavra é uma subpalavra. R

Relés
Aparelho pelo qual uma pequena quantidade de energia pode controlar
uma energia maior. Também pode referir-se a um dispositivo que
retransmite e amplifica o sinal rádio eletrônico. R

Sistemas dicotômicos
São sistemas que representam problemas em que só existem dois estados
possíveis, como por exemplo: 1 ou 0; sim ou não, dia ou noite, preto ou
branco; ligado ou desligado. R

Sufixo
Um sufixo de uma palavra é qualquer sequência final de símbolos da
palavra. Uma subpalavra de uma palavra é qualquer sequência contígua
de símbolos de uma palavra. Por exemplo, em relação à palavra “abcd”,
tem-se os respectivos sufixos:  , b, cb, bcb, abcd. Qualquer sufixo de
uma palavra é uma subpalavra. R

Registradores
Os resultados de um processamento (de uma soma, subtração, operação
lógica etc.) necessitam, às vezes, serem guardados temporariamente na
UCP, para serem novamente manipulados na ULA por outra instrução
ou para serem transferidos para uma memória externa à UCP. Esses

www.esab.edu.br 162
dados são armazenados na UCP em pequenas unidades de memória,
denominadas registradores. R

Traçado interativo de gráficos e visualização


Consiste basicamente na geração de imagens a partir de um conjunto de
dados que podem ser gerados de forma interativa ou por modelos que
simulem um fenômeno real. R

Trojan
Também chamado de Cavalo de Tróia, são programas que podem chegar
a um computador por qualquer meio (mídias ou e-mails, por exemplo)
e realizam ações com o intuito de tomar o controle das atividades do
sistema computacional. Esse tipo de programa não tem a capacidade de se
autorreproduzir ou infectar outros programas, como acontece com o vírus.
R

Ubiquidade
Faculdade de estar presente em diversos lugares no mesmo instante. R

Vírus
É um tipo de programa que tem a capacidade de se autorreproduzir da
mesma forma que o vírus biológico, podendo espalhar-se rapidamente por
computadores que estejam ligados em rede. Alguns vírus podem apenas
atrapalhar o usuário exibindo mensagens ou imagens, e outros podem
danificar ou destruir os arquivos, reformatar seu disco rígido, consumir o
espaço em disco ou consumir a memória, fazendo com que o desempenho
do computador fique prejudicado. Além disso, também podem permitir o
acesso de terceiros aos arquivos. R

Worm
É um tipo de programa semelhante ao vírus, do qual se difere por
conseguir fazer réplicas de si ou de algumas de suas partes, sem precisar
de um hospedeiro para se replicar. Os worms podem deletar arquivos ou
enviá-los por e-mail, que é a principal forma de contaminação. R

www.esab.edu.br 163
Referências

ALCALDE, E.; GARCIA, M.; PENUELAS, S. Informática básica. São Paulo:


Makron Books, 2000.

ALMEIDA, F.C.; SIQUEIRA, S.O.; ONUSIC, L.M. Data Mining no contexto


de Customer Relationship Management. In: Caderno de Pesquisas em
Administração. São Paulo, vol. 12, nº. 2, abril/julho, 2005. Disponível em
<www.revistasusp.sibi.usp.br/pdf/rege/v12n2/v12n2a6.pdf>. Acesso em: 20 jul.
2012.

ASSOCIAÇÃO BRASILEIRA DE EMPRESAS DE SOFTWARE. Lei do


Software no Brasil.
Disponível em: <http://www.abes.org.br/templ2.aspx?id=133>. Acesso em: 30
jul. 2012.

BITTENCOURT, G. Inteligência Artificial: ferramentas e teorias. 3. ed.


Florianópolis: Editora da UFSC, 2006.

BM&FBOVESPA. ISE: Índice de Sustentabilidade Empresarial. 2009.


Disponível em: <http://www.bovespa.com.br/pdf/Indices/ResumoISENovo.pdf>.
Acessado em: 8 jun. 2012.

BURDEA, G.C.; COIFFET, P. Virtual reality technology. 2. ed. New York:


John Wileyand Sons Ltd, 2003.

CAPRON, H.L.; SANTOS, J.C.B. Introdução à informática. São Paulo:


Pearson Prentice Hall, 2004.

CARVALHO, L.A.V. Data mining: a mineração de dados no marketing,


medicina, economia, engenharia e administração. Rio de Janeiro: Ciência
Moderna, 2005.

CASTRO, M. C. S. Organização de computadores I. Universidade do Estado


do Rio de Janeiro, 2005.

www.esab.edu.br 164
CIOINSIGHT. 10 Simple Steps to a Green Data Center. 2009. Disponível
em: <http://www.cioinsight.com/c/a/Trends/10-Simple-Steps-to-a-Green-Data-
Center-%5B2%5D/>. Acessado em: 9 jun. 2012.

COSTA, H.R.N. Aplicação de Técnicas de Inteligência Artificial em processos


de fabricação de vidro. Tese (Doutorado). Programa de Doutorado em
Engenharia. Escola Politécnica da Universidade de São Paulo. São Paulo, 2006.
Disponível em <http://www.teses.usp.br/teses/disponiveis/3/3139/tde-09032007-
171929>. Acesso em: 13 de julho de 2012.

FEDELI, R. D. Introdução à ciência da computação. São Paulo: Thomson,


2003.

FERNANDES, A.M.R. Inteligência Artificial: noções gerais. Florianópolis:


Visual Books, 2003.

FOROUZAN, B.A. Comunicação de dados e redes de computadores. Porto


Alegre: Bookman, 2006.

FORTE, C.E.; KIRNER, C. Software educacional potencializado com


realidade aumentada para uso em física e matemática. Piracicaba, São Paulo:
UNIMEP, 2009.

GALVÃO, N.D. Aplicação da mineração de dados em bancos da segurança e


saúde pública em acidentes de transporte. Tese (Doutorado). Programa de Pós-
Graduação em Enfermagem. Universidade Federal de São Paulo. Escola Paulista
de Medicina, São Paulo, SP, 2000. Disponível em <http://www.saude.mt.gov.
br/upload/documento/104/aplicacao-da-mineracao-de-dados-em-bancos-da-
seguranca-e-saude-publica-em-acidentes-de-transporte-[104-180610-SES-MT].
pdf>. Acesso em: 20 de julho de 2012.

GOLDSCHMIDT, R.; PASSOS, E. Data mining: um guia prático. Rio de


Janeiro: Elsevier, 2005.

GUIMARÃES, A. M.; LAGES, N. A. C. Introdução à ciência da computação.


Rio de Janeiro: LTC, 2001.

GUIMARÃES, W.S.A. Data Mining aplicado ao serviço público, extração


do conhecimento das ações do Ministério Público Brasileiro. Dissertação
(Mestrado). Programa de Pós Graduação em Ciência da Computação.
Universidade Federal de Santa Catarina, Florianópolis, 2000. Disponível em
<www.inf.ufsc.br/~lumar/datamining/PGCC0437.pdf>. Acesso em: 20 de julho
de 2012.

www.esab.edu.br 165
KENT, J. Augmented reality: the augmented reality handbook – everything you
need to know about augmented reality. [S.l.]: Tebbo, 2011.

KIRNER, C.; TORI, R. Fundamentos da Realidade Aumentada. VIII


Symposium on Virtual Reality, Proceedings of. Belém, 2006.

KURETZKI, C. Técnicas de mineração de dados aplicados em bases de dados


da saúde a partir de protocolos eletrônicos. Dissertação (Mestrado). Programa
de Pós Graduação em Ciência, Gestão e Tecnologia da Informação. Universidade
Federal do Paraná, Curitiba, 2009. Disponível em <http://dspace.c3sl.ufpr.br/
dspace/bitstream/handle/1884/22314/dissertacao-4.1.pdf?sequence=1>. Acesso
em: 20 de julho de 2012.

LAMAS, M. Software livre ao seu alcance. Rio de Janeiro: Beto Brito, 2004.

LEMOS, E.P. Análise de crédito bancário com o uso de data mining, redes
neurais e árvores de decisão. Dissertação (Mestrado). Programa de Mestrado em
Métodos Numéricos em Engenharia da Universidade Federal do Paraná, 2003.
Disponível em <www.ppgmne.ufpr.br/arquivos/diss/70.pdf>. Acesso em: 20 de
julho de 2012.

LIMA, Larissa. O futuro da TI é verde. Revista TI, Rio de Janeiro, jan. 2009.
Disponível em: <http://www.timaster.com.br/revista/materias%5Cmain_materia.
asp?codigo=1546>. Acesso em: 1o set. 2012.

MCA – Mestrado em Computação Aplicada. Computação aplicada a


tecnologias agrícolas. Universidade Estadual de Ponta Grossa, Paraná.
Disponível em <http://177.101.20.73> Acesso em: 28 de julho de 2012.

MEIRELLES, F. de S. Informática: novas aplicações com microcomputadores. 2.


ed. São Paulo: Makron Books, 2004

MILGRAM, P.; KISHINO, F.A taxonomy of mixed reality visual displays.


IEICE Transactions on Information and Systems, v. 77, n. 12, p. 1321 – 1329,
1994.

MONTEIRO, M. A. Introdução à organização de computadores. Rio de


Janeiro: Ed. LTC, 2001.

NIELSEN, J. Usability engineering. Chestnut Hill, MA: Academic Press, 1993.

PADUA, W. Engenharia de software: fundamentos, métodos e padrões. 2. ed. v.


1. Rio de Janeiro: Editora LTC, 2003. 604 p.

www.esab.edu.br 166
PRADO, A. A. Economia do consumo de energia em monitores de
microcomputadores. Janus, L. Ano 2, n. 2, 1º semestre de 2005, p. 109-121.

PRADO, S.G.D. Teoria da computação. 2010. Disponível em: <wwwp.


fc.unesp.br/~simonedp/zipados/TC01.pdf>. Acesso em: 2 jun. 2012.

PRESSMAN, R. S. Engenharia de software. Rio de Janeiro: McGraw Hill,


2006.

REZENDE, D. A., ABREU, A. F. Tecnologia da Informação Aplicada a


Sistemas de Informação Empresariais. São Paulo: Atlas, 2000.

RUSSEL, S.; NORVIG, P. Inteligência Artificial. São Paulo: Campus, 2004.

SALEH, A. M. Adoção de tecnologia: um estudo sobre o uso de software


livre nas empresas. 123 p. Dissertação (Mestrado em Ciências Econômicas) –
Faculdade de Economia, Administração, USP, São Paulo, 2004.

SATO, R. T. C. et al. Inteligência Artificial como Ferramenta de Auxílio à


Conduta no Paciente com Dor Torácica. IX Simpósio Brasileiro de Informática
na Saúde. Anais. Ribeirão Preto, 2004. Disponível em <www.sbis.org.br/cbis9/
arquivos/453.PDF>. Acesso em: 15 de julho de 2012.

SEMPREBOM, T.; CAMADA, M.; MENDONÇA, I. Sistema multiagente


para aconselhamento turístico no Estado de Santa Catarina. Monografia
(Pós-Graduação). Pós-Graduação em Engenharia de Automação e Sistemas,
Universidade Federal de Santa Catarina, Florianópolis, 2007.

SHERMAN, W. R.; CRAIG, A. B. Understanding virtual reality: interface,


application, and design. San Francisco, CA: Morgan Kaufmann Publishers,
2003.

SOCIEDADE BRASILEIRA DE COMPUTAÇÃO. Grandes desafios da


computação. Disponível em: <http://www.sbc.org.br/index.php?option=com_
jdownloads&Itemid=195&task=view.download&catid=50&cid=11>. Acesso em:
2 jun. 2012.

SOMASUNDARAM, G.; SHRIVASTAVA, A. Armazenamento e


Gerenciamento de Informações: como armazenar, gerenciar e proteger
informações digitais. Porto Alegre: Bookman, 2011.

SUTHERLAND, I. E. The ultimate display. Multimedia: from Wagner to


virtual reality, 1965.

www.esab.edu.br 167
TANENBAUM, A. S. Redes de Computadores. São Paulo: Campus, 2003.

______. Organização estruturada de computadores. 5. ed. São Paulo: Pearson


Prentice Hall, 2007.

TURBAN, E.; RAINER, K.; POTTER, R. E. Introdução a Sistemas de


Informação: abordagem gerencial. São Paulo: Campus, 2007.

UNIVERSIDADE CARLOS III DE MADRID. Inteligência Artificial e


los deportes. Disponível em: <www.uc3m.es/portal/page/portal/actualidad_
cientifica/noticias/inteligencia_artificial_deportes>. Acesso em: 25 jul. 2012.

UNIVERSIDADE DE SÃO PAULO. Laboratório de Robótica Móvel.


CARINA: Carro Robótico Inteligente para Navegação Autônoma. Disponível em
<www.lrm.icmc.usp.br/carina>. Acesso em: 18 de julho de 2012.

WADLOW, T.A. Segurança de redes: projeto e gerenciamento de redes seguras.


Rio de Janeiro: Campus, 2000.

www.esab.edu.br 168

Você também pode gostar