Renata Miyagusku

PASSO A PASSO PARA

Introdução ..................................................................... 5

Capítulo 1 - Hardware ................................................... 7

Principais componentes de hardware ................................................. 8

Periféricos .......................................................................................... 21

BIOS ................................................................................................... 30

Capítulo 2 - Organização e arquitetura de computadores ........................................................ 33

Representação e armazenamento da informação ......................... 34

Organização lógica e física de arquivos .......................................... 35

Métodos de acesso ........................................................................... 37

Gerência de memória .......................................................................38

Capítulo 3 - Sistemas operacionais e principais aplicativos .................................................41

Definição de sistema operacional ................................................... 42

Principais sistemas operacionais ..................................................... 44

Suites Office ..........__ ......................................................................................._ ......................................................................................45

Internet ..............................................................................................59

Capítulo 4 - Redes ........................................................75

Modelo OSI da ISO ........................................................................... 76

Definições de alguns protocolos ..................................................... 78

Outros conceito relacionados à redes ............................................ 81

Banda larga ........................................................................................84

Capítulo 5 - Lógica de programação ........................... 87

Variáveis ............................................................................................88

Português estruturado ..................................................................... 89

Estruturas de decisão ....................................................................... 89

Estruturas de repetição ....................................................................90

Procedimentos e funções ................................................................. 90

Capítulo 6 - Linguagens de programação .................. 93

ASP ................................................................................................... 94

Java ................................................................................................... 95

Javascript ..........................................................................................97

JSP ................................................................................................... 99

PHP ................................................................................................. 100

Capítulo 7 - Projeto e desenvolvimento de sites .........103

Browsers .......................................................................................... 104

HTML - 105 ...............................................................................................

WebStandards . ................................................................................................ ..................................................................................112

CSS ..................................................................................................112

Adobe Flash .....................................................................................114

Adobe Dreamweaver .......................................................................115

Adobe Photoshop ............................................................................116

Corei Draw ........................................................................................117

Tipos de Imagens para a Web ........................................................118

Capítulo 8 - Bancos de dados .....................................119

Conceitos relacionados a bancos de dados ................................. 120

Linguagem SQL ............................................................................... 121

PostgreSQL ..................................................................................... 122

MS SQL Server ............................................................................... 122

Oracle .............................................................................................. 122

MySQL ............................................................................................. 123

Capítulo 9 - Engenharia de software ........................125

Princípios de engenharia de software ........................................... 126

Conceitos de modelagem de dados para ambiente relacional ... 126

Conceitos de modelagem de bancos de dados orientados a objeto ........................................................ 127

Conceitos de UML ........................................................................... 132

Conceitos de processo unificado .................................................. 133

Ciclo de vida de um software-produto ......................................... 135

Ferramentas CASE .......................................................................... 138

Capítulo 10 - Tipos de licenças de software .............139

BSD ................................................................................................. 140

Copyleft ........................................................................................... 140

Freeware ...........................................................................................141

GPI- ..................................................................................................141

Open Source ....................................................................................141

Shareware ........................................................................................141

Software comercial ..........................................................................141

Software de domínio público ........................................................ 142

Software livre .................................................................................. 142

Software proprietário ..................................................................... 142

Software semi-livre ........................................................................ 142

Capítulo 11 - Segurança digital .................................143

Antivírus .......................................................................................... 144

Anti-spyware ................................................................................... 144

Firewall ........................................................................................... 145

Filtro anti-spam ............................................................................... 145

Protocolos SSL e SSH .................................................................... 146

Tipos de arquivos suspeitos .......................................................... 146

Informações adicionais .................................................................. 147

Capítulo 12 - Simulado ...............................................149

Atualmente, e como tem sido há muito tempo, enfrentamos enormes dificuldades com o alto índice de desemprego em nosso País. Além disso, por mais que uma pessoa invista em sua carreira, acaba se deparando com baixos salários, que não condizem com suas aspirações. Nesse cenário, as vagas oferecidas em concursos públicos tornam-se bastante atraentes, na medida em que existem cargos para os mais diversos níveis de formação, com ótimos salários e planos de carreira.

Mas ser aprovado em um concurso público não é uma tarefa fácil, devido ao grande número de candidatos concorrendo a poucas vagas. Uma preparação eficiente é imprescindível, pois, nessa disputa, cada ponto pode fazer toda a diferença.

Com o objetivo de preparar o leitor para um concurso público, este livro contém uma organização de diversos assuntos relacionados à informática, sempre presentes nos editais e nas provas.

As principais áreas da informática estão divididas em capítulos, e incluem: hardware, organização e arquitetura de computadores, sistemas operacionais e principais aplicativos, redes, lógica de programação, linguagens de programação, projeto e desenvolvimento de sites, bancos de dados, engenharia de software, tipos de licenças de software e segurança digital. 0 conteúdo é basicamente teórico e repleto de conceitos, definições e explicações.

0 último capítulo contém um pequeno simulado para que o leitor se familiarize com os tipos de questões aplicadas nos concursos, e com as respectivas respostas comentadas que complementam os assuntos abordados ao longo do livro.

Esperamos que esta obra seja um grande auxílio em sua preparação para ser aprovado(a). Lembre-se: tão importante quanto reter o conhecimento é ter a tranqüilidade de expressá-lo e usá-lo a seu favor. Portanto, dedique-se aos estudos focando-se em seu objetivo, mas não se esqueça de cuidar da saúde e de ter alguns momentos de diversão, pois um organismo descansado e saudável responderá melhor às expectativas no momento da prova.

Boa sorte e bons estudos!

Este capítulo contém uma relação dos principais componentes de hardware e periféricos utilizados em computadores, com suas respectivas definições, classificações e comparações, para que o leitor esteja apto a identificar e diferenciar cada conceito.

Principais componentes de hardware

Neste capítulo, conheceremos os principais componentes de hardware de um computador, sendo a maioria deles essenciais para que um equipamento funcione. Componentes como placas de rede ou fax-modem, por exemplo, não são fundamentais para o funcionamento de um computador, porém, hoje em dia, dificilmente encontramos usuários que não precisem, de alguma forma, se conectar à Internet.

Placa-mãe

A placa-mãe, como o próprio nome diz, é o componente principal do computador, responsável por conectar todos os outros componentes e prover a comunicação entre eles. Isto é, por meio da placa- mãe a fonte de energia faz o computador funcionar, o processador gerencia os outros componentes e dispositivos, a memória carrega as informações que estão sendo utilizadas pelos aplicativos em execução, a placa de rede envia e recebe dados etc.

Uma placa-mãe é chamada on-board quando vem acompanhada por alguns componentes (como placa de vídeo, rede e/ou som) já nela acoplados e off-board quando não possui tais componentes, exigindo que eles sejam adquiridos separadamente.

Diferenças entre os padrões AT e ATX

A principal diferença entre esses dois padrões está no tipo de conector que alimenta a placa-mãe. 0 padrão AT (Advanced Technology) possui conector de 12 fios (vias) e o padrão ATX (Advanced Technology Extended) possui 20 vias (existem modelos com 24 vias). Além disso, o encaixe do conector ATX possui orifícios com formatos distintos, que impedem a conexão de forma invertida, o que costuma ocorrer no padrão AT.

Os padrões AT e ATX também definem tipos de fonte de energia e de gabinetes.

Processador

Considerado o principal componente do computador, o processador é muitas vezes chamado de "cérebro da máquina". Isso se deve ao fato de ele controlar todas as operações da máquina, gerenciando dispositivos, discos rígidos, memória, execução de aplicativos etc.

0 processador, que também recebe o nome de CPU (Central Processing Unit, ou Unidade Central de Processamento), consiste em um chip que executa instruções (em geral, operações matemáticas e lógicas, leitura e gravação de informações etc.), presentes na memória do computador e requisitadas pelo sistema.

A velocidade do processador é medida em ciclos denominados clocks e a unidade é o Hz (MHz, GHz etc.).

As marcas que dominam o mercado de processadores são a Intel (que fabrica os modelos Pentium, Celeron, Xeon, Core) e a AMD (fabricante dos processadores Athlon, Sempron, Turion).

Chipset

0 chipset é uma placa formada por diversos circuitos que trabalham em conjunto com a placa-mãe e garantem seu funcionamento adequado. É ele quem controla os barramentos, o acesso à memória (os modelos e capacidade máxima), interfaces IDE e USB, o padrão de HD que pode ser utilizado etc.

A maioria dos chipsets é formada por dois chips principais, conhecidos como north bridge (ponte norte) e south bridge (ponte sul). A ponte norte é ligada diretamente ao processador e, a partir dele, é feito o acesso às memórias e ao barramento AGP; é ela quem gera os sinais e o controle do barramento PCI. Já a ponte sul controla as interfaces ISA, IDE e USB, e faz a comunicação com a ponte norte mediante um barramento PCI, ou seja, também é um dispositivo PCI, mas interno à placa de CPU e, portanto, controlado pela ponte norte. Na ponte sul também encontram-se as conexões com a BIOS e com um chip chamado Super I/O, no qual estão as interfaces de mouse e teclado, interfaces seriais e paralelas, e interface para drive de disquete.

Barramentos

Chama-se barramento de dados a estrutura que permite a ligação entre o processador e todos os dispositivos de entrada e saída (I/O - /nput/Output), isto é, placas (vídeo, som, rede etc.), disco rígido, periféricos (mouse, teclado, impressora etc.), entre outros. Essa ligação feita pelo barramento possibilita que o processador controle os dispositivos e envie instruções e requisições a eles.

Existem basicamente três tipos de barramentos diferentes: ISA (pouco usado hoje em dia), PCI e AGP (próprio para vídeos). Cada barramento utiliza tipos de slots (conectores da placa-mãe) de modelos diferentes, e, por esse motivo, as placas (vídeo, som, rede etc.) devem ser compatíveis com o tipo de barramento.

Barramento ISA

Esse tipo de barramento, cuja sigla significa Industry Standard Architecture, possui uma estrutura de slots que trabalha com oito e 16 bits por vez. Nas placas-mães antigas, esse barramento ISA era utilizado internamente na comunicação entre o processador e alguns chips. Surgiu na época dos antigos IBM PCs de oito MHz (processador 86) na versão de oito bits e somente mais tarde começaram a fabricar os barramentos de 16 bits (que permitia taxa máxima de transferência de oito MB/segundo).

Barramento PCI

0 barra mento PCI (Peripheral Component Interconnect) foi criado pela Intel na época em que foram lançados os primeiros processadores Pentium e é utilizado até hoje. A partir desse tipo de barramento, o conceito plug and play se difundiu, tornando muito mais fácil a instalação de dispositivos e periféricos. Foram desenvolvidos barramentos de 32 e 64 bits, mas esse último não chegou a se popularizar devido à boa performance e baixo custo do de 32 bits (que transfere até 132 MB/segundo).

Barramento AGP

0 barramento AGP (Accelerated Graphics Port) foi desenvolvido pela Intel especialmente para aplicações gráficas 3D (aplicativos, jogos etc.) com o objetivo de obter melhor desempenho, ou seja, um barramento específico para comunicação com dispositivos de vídeo. A maior vantagem desse barramento é a utilização de mais memória para armazenamento e acesso à propriedades relacionadas a objetos tridimensionais. 0 primeiro barramento AGP (1X) trabalhava a velocidade de 133 MHz, quatro vezes maior que do PCI. Hoje em dia, encontramos AGPs com velocidades de 4X e 8X e, em geral, só se encontra um siot para esse barramento nas placas-mães, visto ser um tipo voltado somente às placas de vídeo.

Barramentos proprietários

Barramentos proprietários foram criados para fins específicos, para placas de diferentes formatos que variavam de acordo com o fabricante. Trabalhavam com 32 bits e a falta de padronização acabou por extinguir essas variações de estrutura, por limitarem muito a compatibilidade de dispositivos.

Disco rígido

0 disco rígido, ou HD (Hard Disk), é o dispositivo de armazenamento de dados mais comum nos computadores, e serve para armazenar dados e toda a estrutura de funcionamento do sistema operacional. Ou seja, sem um disco rígido, não seria possível utilizar um computador.

Componentes de um HD

Os discos ficam acondicionados dentro de uma espécie de "caixa de metal", selada para evitar qualquer tipo de contaminação, visto que até mesmo uma partícula de poeira pode danificar os discos, pelo fato de eles serem feitos de material muito sensível.

A placa lógica contém chips responsáveis por diversas tarefas, como a movimentação dos discos e das cabeças de leitura/gravação, o envio e recebimento de dados entre os discos e o computador, rotinas de segurança, entre outras tarefas.

Diretamente relacionado à placa lógica, temos um pequeno chip de memória conhecido como ,buffer, cuja função é a de armazenar pequenas quantidades de dados durante a comunicação com o computador, agilizando o processo de transferência de informações, pois trabalha de forma mais rápida que o HD.

Chamamos de pratos os discos nos quais os dados são armazenados. Eles são feitos de alumínio (ou de um tipo de cristal) recoberto por um material magnético e por uma camada de material protetor. Quanto mais denso for o material magnético, maior é a ca pacidade de armazenamento do disco. HDs com grande capacidade possuem mais de um prato, um posicionado sobre o outro sob um motor responsável por fazê-los girar. É comum encontrar HDs que giram a 7.200 rpm (rotações por minuto), mas também há modelos que alcançam a taxa de 10.000 rpm, ou mais.

Há ainda o cabeçote e o braço, sendo o primeiro um dispositivo muito pequeno, responsável pela leitura e gravação de dados, contendo uma bobina que utiliza impulsos magnéticos para manipular as moléculas da superfície do disco e, assim, gravar os dados. Quanto ao segundo, existe uma cabeça para cada lado dos discos, e elas estão posicionadas na ponta de um dispositivo denominado braço, cuja função é a de ordenar os cabeçotes sob a superfície dos pratos. Os cabeçotes não chegam a tocar nos discos, e a comunicação entre eles ocorre por impulsos magnéticos.

Por último, temos o atuador, também conhecido como voice coii, responsável por mover o braço sob a superfície dos pratos (por meio de uma bobina movida por imãs), possibilitando o trabalho dos cabeçotes.

Gravação e leitura de dados

A superfície de gravação dos discos é composta de materiais sensíveis ao magnetismo (geralmente, óxido de ferro) e o cabeçote de leitura e gravação manipula as moléculas desse material por meio de seus pólos. No processo de gravação, a polaridade das cabeças alterna-se em uma freqüência muito alta e, dependendo dessa polaridade, são gravados os bits (0 e 1). Já no processo de leitura de dados, o cabeçote lê o campo magnético gerado pelas moléculas e gera uma corrente elétrica correspondente, cuja variação é analisada pela controladora do HD para determinar os bits que ali estão gravados.

Para a organização dos dados no HD, um esquema conhecido como "geometria dos discos" divide o disco em cilindros, trilhas e setores.

As trilhas podem ser descritas como anéis que, um após o outro, vão do centro do disco até a sua borda. Essas trilhas são numeradas da borda para o centro em ordem crescente e são divididas em trechos regulares, chamados setores, que possuem uma determinada capacidade de armazenamento (em geral, 512 bytes).

0 cilindro é o posicionamento dos cabeçotes sobre as mesmas trilhas dos respectivos discos. Isso ocorre porque quando um cabeçote move-se para ler uma determinada trilha do HD, todas as outras também se movem por estarem ligadas ao mesmo braço.

Formatação de HD

Consiste na preparação do HD para receber informações. Essa formatação pode ser:

• Física: divide o disco em trilhas e setores. É feito no processo de fabricação;

• Lógica: define o sistema de arquivos, dependendo do sistema operacional que será instalado no HD. 0 Windows, por exemplo, aceita os sistemas FAT e NTFS. Já o Linux aceita outros tipos de sistema de arquivos, como o ext3 e o ReiserFS.

Interfaces

A interface IDE (lntelligent Drive Electronics ou Integrated Drive Electronics) também é conhecida como ATA (Advanced Technology Attachment), cuja nomenclatura mudou para PATA (Parailel Advanced Technology Attachment), para se diferenciar do padrão SATA (Serial Advanced Technology Attachment). A interface PATA faz transferência de dados de forma paralela, ou seja, transmite vários bits por vez, como se estes estivessem lado a lado. Apesar desse padrão de transferência parecer rápido, ele possui um problema conhecido como "ruído", que consiste na perda de dados ocasionada por interferências. Alguns recursos são empregados para resolver esse problema, como a utilização de um cabo IDE (cabo que conecta o HD à placa-mãe) com 80 vias, ao invés dos tradicionais cabos com 40 vias, fazendo com que as vias extras atuem como uma espécie de proteção contra ruídos.

0 padrão PATA tem sua velocidade de transmissão de dados limitada por causa do ruído e possui uma taxa de transferência de cerca de 133 MB por segundo.

0 padrão SATA (SerialAdvanced TechnologyAttachment) é uma tecnologia para discos rígidos que surgiu no mercado no ano 2000 para substituir a tradicional interface PATA. Por possuir uma transferência de dados serial, praticamente não apresenta o problema dos ruídos que ocorre na interface PATA, pois seu cabo de conexão ao computador possui apenas quatro vias e, também, é blindado. HDs com essa interface não necessitam dejumpers para identificar o disco primário (master) ou secundário (slave), pois cada dispositivo usa um único canal de transmissão (o PATA permite até dois dispositivos por canal), atrelando sua capacidade total a um único HD. Outra característica é a possibilidade de uso da técnica hot-swap, que permi te a troca de um dispositivo SATA com o computador ligado. É um recurso muito útil em servidores que precisam de manutenção, mas não podem ser desligados.

SCSI é a sigla para Small Computer System Interface, que consiste em uma tecnologia que acelera a taxa de transferência de dados entre dispositivos de um computador. Esse padrão é muito utilizado para conexões de HD (disco rígido), scanners, impressoras, CD-ROM ou qualquer outro dispositivo que necessite de alta velocidade de transferência de dados. Além da velocidade, a estabilidade também é uma característica atraente nessa interface. Esse padrão é empregado principalmente em servidores e em aplicações de missão crítica, como gráficas e outras atividades que requeiram alto desempenho.

HDs externos

Trata-se de um HD que permite seu transporte independente do computador, conectando-se a outras máquinas por meio de portas USB, FireWire e até SATA externo. 0 HD externo é útil para transportar grandes quantidades de dados ou para fazer backup (cópia de segurança de arquivos). Os HDs externos costumam ser bastante caros em relação aos HDs internos e devem ser transportados com cuidado, para evitar danos.

Tipos de memória

Memória ROM

ROM é a sigla para Read 0n1yMemory (memória somente de leitura). Isto significa uma memória que só permite leitura; sua gravação é feita uma única vez pelo seu fabricante. Em outras palavras, são memórias cujo conteúdo é gravado uma vez. Ele não pode ser alterado nem apagado por meio do computador que a contém. Existem basicamente três tipos de memória ROM: PROM, EPROM e EAROM:

• PROM (Programmable Read On/y Memory): gravação feita por meio de equipamentos especiais que agem por uma reação física com elementos elétricos. As informações gravadas na memória PROM não podem ser apagadas ou alteradas;

• EPROM (Electrically Programmable Read Only Memory): tipo de memória ROM geralmente utilizado para armazenar a BIOS do computador. A tecnologia EPROM permite a regravação de seu conteúdo somente com equipamentos especiais;

• EAROM (Electricaly Alterable Read On/y Memory): similares à EPROM, estas memórias podem ter seu conteúdo apagado aplicando-se uma voltagem específica aos pinos de programação (daí o nome electrically alterable - alterável por meios elétricos).

Memória RAM

RAM é a sigla para Random Access Memory (memória de acesso aleatório). Esse tipo de memória permite tanto a leitura como a gravação de dados. Porém, quando o computador é desligado, a memória RAM perde todos os seus dados. Existem dois tipos de memória RAM: estáticas e dinâmicas.

• DRAM (Dynamic Random Access Memory): memórias do tipo dinâmico. Geralmente, são armazenadas em cápsulas CMOS (Complementary Metal Oxide Semiconductor). Possuem capacidade alta de armazenamento, mas o acesso às suas informações costuma ser mais lento que o acesso à memórias estáticas;

• SRAM (Static Random Access Memory): são memórias do tipo estático e apesar de serem mais rápidas que as memórias DRAM armazenam menos dados. Esse tipo de memória costuma ser usada em chips de memória cache.

Memória EDO

EDO é a sigla para Extended Data Out e consiste em um tipo de memória que possui como característica principal a capacidade de permitir que o processador acesse endereços de memória enquanto fornece dados de alguma outra solicitação, resultando em um aumento considerável no desempenho da memória RAM.

Memória SDRAM

SDRAM é a sigla para Synchronous Dynamic Random Access Memory e consiste em um tipo de memória que permite a leitura, ou armazenamento, de dois dados por vez (ao invés de um por vez, como na tecnologia anterior). A memória SDRAM opera em freqüências mais altas, variando de 66 MHz a 133 MHz, e utiliza o encapsulamento DIMM.

Tipos de encapsulamento

• DIP (Dual In Line Package): tipo de encapsulamento antigo e utilizado em computadores XT e 286, principalmente como módulos EPROM, e em dispositivos com circuitos menos sofistica- dos. Um exemplo de memória que utiliza esse tipo de encapsulamento é a SIPP (Single in Line Pin Package), que consiste em um conjunto de memórias DIP, formando uma placa de memórias. Foi aplicado em placas-mães de processadores 286 e 386;

• SIMM(SingleinLineMemoryModule):oencapsulamento SIMM é uma evolução do padrão SIPP, sendo o primeiro tipo a usar um siot (um tipo de conector de encaixe) para sua conexão à placa-mãe. Foi muito utilizado nas plataformas 386 e 486 (primeiros modelos);

• DIMM (Double In Line Memory Module): muito utilizado em placas-mães de processadores Pentium II, Pentium III e até em alguns modelos de Pentium 4 (e equivalentes de outros fabricantes). Um exemplo de memória que utiliza esse tipo de encapsulamento é a DDR (Double Data Rate), que atinge taxas de transferência de dados de duas vezes o ciclo de clock, podendo chegar a 2,4 GB por segundo.

Placa de rede

A placa de rede é um dispositivo que permite que um computador comunique-se com outras máquinas (por um servidor) em uma rede local, ou, por meio de um modem, acessar a Internet (diferente da placa fax-modem, ligada à linha telefônica para conexão discada). A placa de rede consiste no meio que proverá essa comunicação, possuindo um conector RJ-45 no caso de uma placa de rede comum ou uma antena para placas de rede wi-fi (sem fio). Permite a transmissão e recebimento de dados por parte do computador.

Placa de vídeo

Uma placa de vídeo consiste em um dispositivo responsável por enviar as imagens e gráficos gerados no computador para a tela do monitor. Alguns modelos de placas-mães já possuem placa de vídeo on-board, ou seja, não é preciso adquirir uma placa de vídeo à parte. Veremos, a seguir, alguns conceitos relacionados com este dispositivo de hardware.

Resolução

A resolução consiste no conjunto de linhas e colunas formado por pixels (ou pontos) na tela do monitor. Dessa forma, uma resolu ção 800X600 significa 800 pixeis horizontais (linhas) e 600 verticais (colunas). Como conseqüência, quanto maior a quantidade de pixels, melhor será a definição da imagem na tela.

As resoluções mais comuns são as de 640X480, 800X600, 1024X768 e 1280X1024. Alguns monitores e placas suportam a personalização de outras resoluções, usadas de acordo com a aplicação, como, por exemplo, em jogos que utilizam resoluções muito altas, não comumente utilizadas. A resolução pode ser configurada pelo computador, via software, e é necessário que a placa de vídeo possua os drivers instalados corretamente.

Esquema de cores

0 número de bits por pixel determina o número de cores que uma placa de vídeo suporta. Dessa forma, os monitores monocromáticos possuíam um bit por pixel, que representava duas cores (preto e branco), assim como uma placa que suporta 256 cores possuem oito bits (ou um byte) por pixel. Outras combinações também são possíveis: 16 bits por pixel (65.536 cores), 24 bits (16.777.216 cores) e 32 bits (4.294.967.296 cores). Essa quantidade de cores pode ser selecionada por meio do sistema operacional (no Windows, pelo Painel de controle > Vídeo). Esse cálculo de número de cores é feito da seguinte maneira: eleva-se o número dois à quantidade de bits. Por exemplo, para 16 bits, faça 2^16 = 65.536 cores.

Vale lembrar que cores de até 65.536 são chamadas hi color. Acima de 16.777.216 chamamos de true color.

0 padrão VGA

VGA é a sigla para Video GraphicsArray e pode ser considerado o maior avanço em padrão de cores, visto que antes dele os computadores exibiam de duas a oito cores e o VGA surgiu com resolução de 640x480 e 256 cores. Esse padrão chegou a suportar 800x600 com 16 cores, até ser substituído pelo SVGA.

0 padrão SVGA

SVGA é a sigla para Super Video Graphics Array e consiste em uma evolução do VGA. Atualmente, o SVGA é o padrão encontrado em praticamente todas as placas de vídeo, podendo representar diversas resoluções, como, por exemplo, as de 800X600 e 1024X768, suportando até padrões de cores com 32 bits.

Memória de vídeo

Para uma placa de vídeo suportar mais cores, mais memória de vídeo deverá possuir. Da mesma forma que as placas VGA possuíam apenas 256KB, existem placas com 32MB de memória, ou mesmo com memória SDRAM e DDR para vídeo.

Como a imagem vai para o monitor

Esse processo consiste em três fases: primeiro, o processador envia os dados ao barramento usado pelo vídeo (ISA, PCI ou AGP). Os dados então chegam ao chipset da placa de vídeo, e lá são processados. Em seguida, o chipset envia os dados processados para a memória do vídeo, que guarda a imagem para ser mostrada no monitor. Por último, a imagem é transmitida para o conversor digital/analógico (DAC, ou Digital Analog Converter), que converterá os dados da imagem do formato digital para um formato analógico suportado pelo monitor, que, por sua vez, receberá os sinais analógicos do DAC para serem exibidos em forma de imagem.

Placas de som

São os dispositivos responsáveis pela emissão de todo tipo de áudio gerado pelo computador. Antigamente, o único dispositivo sonoro presente em alguns computadores era o PC Speaker, que emite avisos sonoros da placa-mãe e que ainda existe nos computadores. Hoje em dia, praticamente todas as placas-mães possuem placa de som integrada (on-board).

Conversores ADC e DAC

• ADC (Analog-to-Digital Converter/Conversor Ana lógico-Digital): digitaliza sinais sonoros, por exemplo, quando recebe sinais sonoros de um microfone;

• DAC (Digital-to-Analog Converter/Conversor Digital-Analógico): utilizado, por exemplo, quando ouvimos uma música. Um arquivo MP3 é reproduzido pelo player e o som que ouvimos são os sinais em formato analógico.

Em situações nas quais é necessário utilizar os dois conversores, a placa de som conta com um recurso denominado fu//-dup/ex.

Resolução das placas de som

A especificação de uma placa de som de 32, 64 ou 128 bits indica a quantidade de tons simultâneos que ela pode reproduzir (polifonia).

Resposta de freqüência

Indica a faixa de freqüência em que a placa de som trabalha; o intervalo geralmente fica entre 20 Hz e 20 KHz.

SNR e THD

• SNR: sigla para Signa/ to Noise Ratio (Relação Sinal/Ruído), e indica o nível de ruído (espécie de interferência) existente na placa de som. É medido em decibéis;

• THD: sigla para Total Harmonic Distortion (Distorção Harmônica Total) e consiste em um indicativo do nível de distorção, isto é, do ruído captado durante a emissão do som. Esse índice é medido em porcentagem, sendo que o menor valor indica melhor qualidade.

Conexões

Em geral, as placas de som possuem as seguintes conexões:

• MIC: entrada para microfone;

• Line-in: entrada para conectar aparelhos sonoros, como um rádio, por exemplo;

• Line-out: entrada para conectar caixas de som ou fone de ouvido;

• Speaker: nesta entrada, pode-se ligar caixas de som sem amplificação;

• Joystick/MIDI: entrada para ligar joystick (controle para jogos), ou instrumentos MIDI;

• SPDIF: entrada para conexão de aparelhos externos.

Alguns formatos de arquivo de áudio

• MID (sigla para Musica!InstrumentDigita/Interface, ou Interface Digital para Instrumentos Musicais);

• WAV;

• MP3 (MPEG Layer3);

• WMA (Windows Media Audio).

Diferenças entre hub, switch e roteadores

Hubs, switches e roteadores são equipamentos de rede que geralmente confundem as pessoas em relação à função que cada um exerce. A seguir, teremos mais detalhes sobre cada um, para definilos e diferenciá-los.

Hub

Um hub consiste em um dispositivo cuja função é a de interligar computadores em uma rede local. 0 hub recebe informações de um computador (como se fosse um servidor, o que recebe os dados em primeiro lugar) e os transmite às outras máquinas e, quando isso ocorre, nenhum outro computador consegue enviar sinal, o que só poderá acontecer após o sinal anterior ter sido completamente distribuído. Em um hub é possível ter várias entradas (portas) para conectar o cabo de rede de cada computador, geralmente variando entre oito, 16, 24 e 32 portas, de acordo com modelo e fabricante. Os hubs são mais adequados para redes pequenas, ou domésticas. Esse tipo de equipamento tem caído em desuso devido ao fato de que já existem no mercado equipamentos intermediários entre ele e o switch, com custo/benefício maior.

Switch

Switch é um equipamento muito semelhante ao hub no que diz respeito a interligar computadores, mas com uma grande diferença: os dados vindos do computador de origem são repassados somente ao computador de destino, pois ele cria um tipo de canal exclusivo entre origem e destino e elimina a obrigação de ter um computador como "servidor", dando autonomia a cada máquina ligada aoswitch. Da mesma forma que o hub, um switch pode ter várias portas. Problemas de colisão de pacotes de dados podem ocorrer quando dados enviados por máquinas diferentes são endereçadas ao mesmo destino.

Roteadores

Também conhecido como router, o roteador consiste em um equipamento utilizado em redes maiores, e além de direcionar os dados, como o switch, possui a capacidade de gerenciar e escolher o melhor caminho que um pacote de dados deve seguir para chegar a seu destino, melhorando a velocidade e evitando colisões. Existem dois tipos de roteadores: os estáticos, que escolhem o melhor caminho para o pacote de dados, sem considerar a possibilidade de congestionamentos, e o dinâmico, que verifica se há congestionamento e escolhe o caminho mais rápido (independente se é mais longo ou não).

Placa fax-modem

Antes da Internet banda larga, e em alguns casos até hoje, encontrávamos computadores que acessavam a Internet por conexão discada. Isto é, quando o computador usa a linha telefônica para estabelecer uma conexão. Para conectar o computador à linha, uma placa fax-modem é utilizada.

A placa de modem consiste em um equipamento que transforma os sinais digitais do computador em sinais analógicos e vice-versa. 0 nome "modem" vem de modular/demodular, os processos de conversão desses sinais analógicos e digitais. 0 uso do modem permite utilizar recursos de telefone (som) e fax (texto e imagem) além de prover conexão discada.

A velocidade de transferência dos dados é medida em bps (bytes por segundo), podendo chegar a Kbps (Kbytes por segundo).

Fonte de energia

As fontes de energia, ou alimentação, são componentes responsáveis por fornecer energia aos dispositivos do computador, convertendo corrente alternada (AC, ou Alternate Current) em corrente contínua (DC, Direct Current, ou, ainda, VDC, Voltage Direct Current), que consiste em uma tensão adequada para uso em aparelhos eletrônicos.

Relacionam-se à fonte de energia o conceito de AT e ATX, padrões também ligados ao tipo de placa-mãe e ao tamanho do gabinete. Conforme visto anteriormente, na definição de placa-mãe, o padrão AT possui conector de 12 fios (vias) e o padrão ATX possui 20 ou 24 vias.

Periféricos

Periféricos também podem ser chamados de dispositivos de entrada e saída, sendo os de entrada aqueles que recebem dados a serem repassados ao computador (para gravação ou processamento de informações, envio de comandos etc.), como, por exemplo, mouse, teclado, scanner, microfone, webcam, drive de CD ou DVD. Os dispositivos de saída são os que retornam informações do computador para o usuário, como monitor de vídeo, impressora, caixas de som etc. Placas de rede, monitores touch screen e gravadores de CD ou DVD podem ser considerados dispositivos mistos, visto que enviam e recebem informações do computador.

A seguir, descreveremos os principais periféricos utilizados na informática.

Monitores

Basicamente, os monitores mais utilizados hoje em dia são:

• CRT (Catodic Ray Tube - Tubo de raios catódicos): já são conhecidos há bastante tempo e utilizam a mesma tecnologia das TVs tradicionais (com feixes de elétrons que atingem a tela para formar as imagens);

• LCD (Liquid Crystal Display - Display de Cristal Líquido): caracterizam-se pela fina espessura e alta qualidade de imagem. As moléculas de cristal líquido são distribuídas entre duas lâminas transparentes polarizadas. Essa polarização é direcionada de formas diferentes nas duas lâminas, de modo que elas formam eixos polarizadores perpendiculares, como um ângulo de 901. As moléculas de cristal líquido guiam por meio de campos magnéticos presentes nessas lâminas, formando as imagens. A tecnologia LCD é dividida em três tipos:

• TN (Twisted Nematic): monitor LCD mais barato, cujas moléculas de cristal líquido trabalham em ângulos de 901. Em animações muito rápidas, a imagem pode não ser perfeita;

• STN (Super Twisted Nematic): consiste em uma evolução do padrão TN, com moléculas que trabalham com uma movimentação mais rápida, resultando em animações de melhor qualidade e permitindo que a visualização seja satisfatória até mesmo em ângulos superiores a 160°;

• GH (GuestHost): tipo de pigmento contido no cristal líquido que absorve luz, variando com o nível do campo elétrico aplicado para demonstrar uma gama variada de cores.

• Monitores TFT (Thin Fi/m Transistor): é o tipo de monitor utilizado nos notebooks. Essa tecnologia caracteriza-se pela aplicação de transistores em cada pixel, permitindo que cada um rece ba tensões diferentes e utilize altas resoluções. Sua fabricação é bastante complexa e não é raro encontrar monitores novos com pixels que não funcionam (dead pixeis). Essa tecnologia também é muito utilizada em conjunto com o cristal líquido, e, nesse caso, recebe o nome TFT-LCD (LCD com Matriz Ativa). Há também uma tecnologia denominada Matriz Passiva (DSTN - Double Super Twist Nematic), utilizada em dispositivos móveis e que possuem ângulo de visão mais limitado e tempo de resposta maior. Esse padrão não é recomendado para monitores;

• Plasma: em telas monocromáticas (muito vistas em relógios, calculadoras etc.), as moléculas assumem os estados "transparente" (quando a luz passa) e "opaco" (quando a luz não passa). Para telas que exibem cores, tensões e filtros diferentes trabalhando sobre a luz branca, são aplicados a essas moléculas. Diferente dos monitores LCD, nos de plasma cada pixel cria sua própria fonte de luz (elétrodos carregados entre painéis de cristal geram pequenas explosões de gás xenônio que reagem a raios ultravioleta e fazem o fósforo vermelho, verde ou azul de cada pixel brilhar). Dessa forma, não existe um tubo de imagem que barre a tela. Produz imagens muito nítidas e não apresenta problemas de distorção nas extremidades da tela.

Drives de CD e DVD

Os drives de CD e DVD, que podem ser apenas leitores e também gravadores, consistem em dispositivos de entrada, quando lêem dados, ou mistos (entrada e saída) quando lêem e gravam.

Quanto à mídia, um CD (Compact Disc) consiste em um disco de acrílico sobre o qual é impressa uma espiral (22.188 voltas, totalizando 5,6 km de extensão). As informações são gravadas em furos nessa espiral, criando dois tipos de irregularidades físicas: pontos brilhantes e pontos escuros. Estes pontos são chamados de bits, e compõem as informações carregadas pelo CD. Não existe contato mecânico com esses pontos: a leitura é feita por um feixe de laser de 0,0009 mm, do centro para a borda e de baixo para cima. 0 feixe de laser focaliza a linha tracejada no disco, refletido, separado e direcionado a um conjunto de detectores que identificam esses pontos e torna possível a leitura da informação.

Em relação ao DVD, ele armazena informações da mesma forma que o CD, mas por possuir uma tecnologia aprimorada, sua leitura e tipo de compressão são superiores em relação ao CD. Enquanto os CDs armazenam em torno de 700 a 800 MB, os DVDs armazenam até 4.7GB, sendo que os DVDs de dupla camada armazenam até 8.5GB, com arquivos de no máximo 1GB cada, variando de acordo com o tipo de gravação.

Tipos de discos ópticos

• LD (Lase Disc);

• CD (Compact Disc);

• SACD (SuperAudio CD);

• HDCD (High Definition Compatible Digital);

• XRCD (eXtended Resolution CD);

• XRCD2 (eXtended Resolution CD version 2.0);

• CD-R (CD Recordable);

• CD-RW (CD Rewritable);

• DD-R (Double-Density Recordable);

• DD-RW (Double-Density ReWritable);

• CD-ROM (CD Read Only Memory);

• CD-Video (Compact Disc Vídeo);

• CD-Video 2.0 (Compact Disc Video 2.0);

• CVD (China Vídeo Dísc);

• SVCD (Super Video CD);

• LD (LaserDisc);

• DVD-V (DVD-Video);

• DVD-A (DVD-Audio);

• DVD-R (DVD Recordable);

• DVD+R (DVD Recordable, mais rápido que o DVD-R);

• DVD+R DL (DVD Recordable Dual Layer, com dupla camada);

• DVD-RW (DVD ReWritable);

• DVD+RW (DVD ReWritable, mais rápido que o DVD-RW);

• DVD-RAM (DVD Random Access Memory);

• DVD-ROM (DVD Read Only Memory);

• MD (MiniDisc);

• HD-DVD (High Density DVD);

• AOD (Advanced Optical Disc);

• Blu-Ray, BD (Blu-Ray Disc).

Teclado

Criado em um primeiro momento apenas para a entrada manual de textos, o teclado é um dispositivo de entrada que, ao longo do tempo, foi se aprimorando e, sem dúvida, hoje é um periférico indispensável para se utilizar um computador. A quantidade de teclas depende do modelo do teclado, do idioma e dos recursos que ele incorpora, variando de 101 a 105 teclas, entre letras, números, símbolos e botões que ativam e-mail, browser, colocam o computador em modo de espera etc. Em relação ao conector do teclado, encontramos à venda aqueles com conectores PS/2 e USB, além do sem fio (infravermelho).

Hoje em dia, praticamente todos os programas, e até sites da Internet, aceitam atalhos (conjuntos de teclas digitadas ao mesmo tempo ou consecutivamente) para ativar determinados comandos.

Teclado virtual

Consiste em um dispositivo utilizado em sites que necessitam de maior segurança na entrada de dados, como sites de bancos, por exemplo. Um teclado virtual consiste em uma imagem de um teclado, na qual as "teclas" são acionadas por meio de cliques de mouse. Esse recurso evita que programas mal intencionados interceptem as teclas digitadas pelo usuário no momento em que ele informa uma senha, por exemplo.

Mouse

0 mouse surgiu da necessidade de agilizar o uso de programas com interface gráfica e com o surgimento dos ícones dos sistemas operacionais. Com ele, era possível selecionar itens com um clique e executá-los com dois cliques. Os programas aplicativos foram evoluindo e, assim como aconteceu com o teclado, o mouse acompanhou essa evolução ao oferecer funcionalidades extras, como o clique no botão direito, o arrastar e soltar, o mover e a múltipla seleção.

Existem dois mecanismos de funcionamento do mouse:

• Mouse tradicional: possui, em sua base, uma esfera revestida em material emborrachado que, ao ser movimentada com o arrastar do mouse, aciona dois rolamentos: um é responsável por movimentar a seta do mouse na tela do computador no sentido horizontal e o outro por movimentar a mesma seta no sentido vertical. Em conjunto, permite o deslocamento da seta do mouse em todas as direções. Esses rolamentos, por sua vez, enviam sinais de luz infravermelha que passam por um disco perfurado até um chip, que converte esses sinais luminosos em coordenadas X e Y que definirão a posição da seta na tela. Essas coordenadas também servirão para indicar se um ícone ou botão foi clicado pelo mouse;

• Mouse óptico: desenvolvido pela Microsoft, o mouse óptico veio substituir o mouse tradicional oferecendo maior precisão no manuseio e eliminando problemas causados, por exemplo, pelo acúmulo de sujeira nos rolamentos do antigo modelo. Esse tipo de mouse possui um sensor óptico que emite um feixe de luz capaz de ler a superfície na qual o aparelho está, captando a direção em que o mouse é movimentado e, através de chips mais complexos, determinando a orientação da seta do mouse na tela.

Impressora

Considerada um dos dispositivos de saída mais populares e antigos, a impressora evoluiu e, atualmente, existe uma grande variedade de tecnologias de impressão, para os mais diversos fins. Mesmo as antigas impressoras matriciais ainda são muito utilizadas para impressão de notas fiscais em formulário contínuo; do mesmo modo que as impressoras jato de tinta são bastante comuns para uso doméstico e em pequenas empresas, e as impressoras a laser são mais adequadas para impressões profissionais, em grandes empresas, que precisam de equipamentos mais potentes e rápidos.

Algumas considerações relacionadas à impressão

• dpi: sigla para dots per inch (pontos por polegada), que indica a resolução com a qual a impressora pode trabalhar. Quando uma especificação de impressora indica 4800 X 1200 dpi, isso significa que ela pode imprimir 4800 pontos horizontais por 1200 pontos verticais em uma área de uma polegada (2,54 centímetros);

• ppm: unidade de velocidade de uma impressora, que significa pages per minute (páginas por minuto). Essa medida varia bastante entre os fabricantes e depende, principalmente, do tipo de impressão que se solicita. 0 modo econômico (ou rascunho), por exemplo, pode imprimir com o dobro de velocidade do modo normal, ou otimizado;

• picolitro: medida equivalente a um trilionésimo de um litro, utilizada para medir o tamanho das gotas de tinta;

• CMYK: esquema de cores mais utilizado em impressoras jato de tinta. É a sigla para as cores Ciano (Cyan), Magenta (Magenta), Amarelo (Yeiiow) e Preto (BIacK). A combinação dessas cores é capaz de gerar praticamente todas as tonalidades perceptíveis ao olho humano;

• PostScript: considerada a primeira linguagem de descrição de páginas multiplataforma, derivada da linguagem InterPress, da Xerox. Uma de suas funções é a de informar o conteúdo a ser impresso de forma vetorial, permitindo a impressão em equipamentos com as mais variadas taxas de dpi;

• PCL: sigla para Printer Command Language, ou Linguagem de Comando de Impressão, e consiste em uma linguagem de descrição de páginas desenvolvida pela HP. Sua primeira versão era voltada para a impressão matricial, mas até hoje é utilizada em tecnologias mais recentes, com a função de transmitir instruções à impressora para que esta estruture, linha a linha, uma imagem do material a ser impresso;

• GDI: sigla para Graphics Device Interface, ou Interface de Dispositivo Gráfico, consiste em uma linguagem criada pela Microsoft para o gerenciamento de informações em dispositivos de saída, como impressoras. Dessa forma, a estruturação do material a ser impresso é feita pelo sistema operacional, economizando recursos da impressora.

Impressoras matriciais

Classificam-se na categoria de impressoras de impacto devido ao fato de suas cabeças de impressão empurrarem a fita de tinta contra o papel, deixando um ponto que, juntamente com outros, formam as imagens e textos a serem impressos.

Antigamente, existiam as impressoras matriciais do tipo "margarida", semelhante às máquinas de datilografar. Sua cabeça de impressão possuía diversos caracteres em relevo. Esse componente movimentava-se e pressionava a fita de tinta contra o papel para imprimir tais caracteres.

Já a impressora de agulha, utilizada até hoje, também é conhecida como impressora de matriz de pontos, por isso o nome "matricial". Nesse caso, sim, a cabeça de impressão é constituída por pequenas agulhas que pressionam a fita de tinta contra o papel, imprimindo pontos.

Impressoras a jato de tinta

As impressoras a jato de tinta são as mais utilizadas no ambiente doméstico e, também, em escritórios de pequeno e médio porte por oferecerem impressões de excelente qualidade e fidelidade de cores aliadas a um custo relativamente baixo. Diferente das impressoras matriciais, as de jato de tinta não são de impacto, e trabalham por meio da emissão de várias gotículas de tintas (geralmente no tamanho de três picolitros), mediante minúsculas aberturas existentes na cabeça de impressão. Essa cabeça de impressão possui um compartimento para os cartuchos de tinta e movimenta-se muito rapidamente sobre um eixo que vai de uma ponta a outra da impressora.

0 processo de impressão das impressoras a jato de tinta mais conhecido é o térmico (bubble jet), em que pequenas quantidades de tinta são submetidas a altas temperaturas, que acabam por formar pequenas bolhas. Esse aquecimento provoca aumento de pressão e faz a tinta ser expelida pelos minúsculos orifícios do cartucho, que fica acoplado à cabeça de impressão.

Impressoras a laser

As impressoras a laser também classificam-se na categoria de não impacto. 0 funcionamento dessas impressoras é semelhante ao das foto copiadoras. Essas impressoras têm uma espécie de cilindro (ou tambor) revestido de material com carga eletrostática. Quando uma imagem vai ser impressa, por exemplo, ela é formada nesse cilindro com pontos de carga positiva. Essa área, então, recebe um pó muito fino e pigmentado, chamado toner, com carga negativa; este é distribuído por um rolamento presente em sua estrutura de armazenamento. 0 pó é atraído pelos pontos positivos (isto é, com polaridade oposta à sua), como acontece em um imã. Em seguida, o papel a ser impresso recebe uma carga positiva mais alta que a imagem formada dentro da impressora. Em contato com esse cilindro, acaba por atrair o toner com carga negativa para o papel. 0 papel é, então, aquecido e pressionado para o toner aderir a ele, concluindo, assim, o processo de impressão.

Outros tipos de impressora

Embora as impressoras matriciais, a jato de tinta e a laser sejam as mais conhecidas, existem outras tecnologias de impressão que podem ser citadas:

• Plotters: tipo de equipamento utilizado para impressões com alta qualidade gráfica, de grandes dimensões; muito comum em projetos de arquitetura e engenharia, entre outros. Em geral, oplotter utiliza uma tecnologia similar à da impressão a jato de tinta;

• Impressora de tinta sólida: utilizada em ambiente industrial. Sua tinta é formada por um tipo de bloco sólido que passa por um processo chamado "mudança de fase" (phase change), no qual ela é derretida para ser aplicada ao papel. Um fusor é encarregado de fixar a tinta no papel, como ocorre nas impressoras a laser;

• Impressoras de sublimação de tinta: utilizam filmes com as cores CMYK e, por meio de um processo de aquecimento, faz com que a tinta transforme-se em estado gasoso para então aderir ao papel;

• Impressora de cera térmica: muito utilizada em transparências profissionais, possui funcionamento semelhante à tecnologia de sublimação de tinta, e, também, de tinta sólida. 0 processo de impressão consiste no aquecimento da tinta em forma de cera, no esquema CMYK, para então ser fixada ao papel.

Scanner

0 scanner é um dispositivo de entrada que captura imagens e textos por meio de um mecanismo de varredura da imagem, ou do texto físico, por meio de impulsos elétricos captadores de reflexos. Da mesma forma que uma impressora envia uma imagem ou texto de um arquivo para a impressão em papel, o scanner digitaliza uma imagem ou texto em papel e converte para arquivo. Um scanner pode ser:

• De mão: digitaliza pequenas áreas (como fotografias, por exemplo) e exige firmeza no momento da captura da imagem/texto para evitar imprecisões, ruídos e perdas na qualidade da imagem;

• De mesa: o tipo mais utilizado. É ideal para digitalizar documentos e imagens maiores. Em multifuncionais sua estrutura também serve de copiadora, mudando seu tipo de saída de arquivo lógico para impressão em papel.

Webcam 1

Consiste em uma câmera de vídeo que capta imagens transferidas simultaneamente para o computador ao qual está ligada, sendo um dispositivo muito empregado em videoconferências, edição de imagens e vídeos, monitoramento de ambientes etc. Existem webcams de baixa e alta qualidade de imagem (acima de 2.0 megapixels). Algumas possuem microfone embutido, outras possuem Ieds de iluminação. Em geral, a conexão utilizada com o computador é do tipo USB e a captura de imagem é realizada por um componente eletrônico denominado CCD (Charge-coupled Device), ou Dispositivo de Carga Acoplado, também muito utilizado em fotografia digital, imagens de satélites, equipamentos médico-hospitalares etc.

Leitor óptico

0 leitor óptico consiste em um dispositivo de entrada (que coleta informações para o computador) específico para a leitura de códigos de barras, dispensando a digitação manual. Trata-se de um dispositivo muito útil para agilizar a leitura desses códigos em sistemas de cadastro e consulta de produtos, por exemplo.

Pen drive

Os pen drives surgiram como uma ótima opção para armazenar e transportar volumes razoáveis de dados com segurança e com a possibilidade de apagar a memória para gravar novas informações. Um pen drive é formado basicamente por uma memória flash com armazenamento que varia de 128 MB (nos modelos mais antigos) até um ou quatro GB. Existem pen drives com memórias de 64 GB, muitas vezes superando a capacidade de alguns HDs externos. Um pen drive é conectado ao computador por meio de uma entrada USB e é detectado como um disco pelo sistema operacional, permitindo a transferência de informações entre ele e os discos do computador.

BIOS

A BIOS (Basic lnput/Output System), ou Sistema Básico de Entrada/Saída, embora não seja um componente de hardware, faz parte dele, visto que consiste em um software armazenado em um componente (chip ROM, chamado ROM BIOS) da placa-mãe, e é responsável pelo boot do computador. Sua função, em um primeiro momento, é a de preparar o computador para executar o sistema operacional, que pode estar armazenado em diversos tipos de dis positivos (discos rígidos, disquetes, CDs etc.). A BIOS também pode ler e restaurar as configurações que a princípio são ajustadas pelo CMOS (Complementary Metal-Oxide-Semiconductor, ou Semicondutor Metal-Óxido Complementar), que consiste em um tipo de circuito integrado no qual é possível gravar elementos de lógica digital, microprocessadores, microcontroladores, memórias RAM etc.

Neste capítulo, o leitor conhecerá o modo como as informações são organizadas e armazenadas no computador. Além disso, um dos tópicos aborda a gerência de cada tipo de memória e quais processos ocorrem enquanto o usuário manipula o computador.

Representação e armazenamento da informação

A seguir, apresentamos os principais conceitos relacionados à representação e armazenamento de informações.

Arquivo

Consiste em um conjunto de registros definidos pelo sistema de arquivos e podem ser armazenados em diferentes dispositivos físicos (disco rígido, pen-drive, CD, DVD etc.). Um arquivo é composto por dados relacionados logicamente, independente do fato dele ser um programa, ou apenas armazenar informações. É representado/ acessado por meio de um nome e uma extensão, que definem o que ele é. Um exemplo seria: o arquivo nomearquivo.exe indica um executável cujo nome é nomearquivo, da mesma forma que um arquivo chamado texto.txt representa um arquivo de texto.

Diretório 1

Um diretório consiste em uma estrutura capaz de armazenar arquivos e outros diretórios. Visa a organizar melhor as informações em um disco, por exemplo. Seria difícil encontrar alguma informação em um disco rígido que não possuísse diretórios, reunindo todos os arquivos em um único nível. Impossível também seria instalar programas em um único diretório, com o risco de haver conflito de arquivos com nomes iguais, mas com conteúdos diferentes.

Diretórios também são utilizados quando um computador é compartilhado entre vários usuários e estes, por sua vez, podem acessar apenas sua área de trabalho (a permissão de acesso é atrelada ao login do usuário no computador). Relacionado a isso, temos os conceitos de UFD (User File Directory, ou Diretório de Arquivo de Usuário), no qual existe um diretório particular. 0 usuário pode criar outros diretórios internos (o que caracteriza uma estrutura em árvo- res, com diretórios internos a outros). Existe um diretório de controle chamado MFD (Master File Directory ou Diretório de Arquivos Mestre) que indexa o nome do usuário ao seu diretório pessoal.

Atributos

Consistem em informações de controle, como tamanho, usuário que o criou, se está protegido, data de criação/alteração etc. Alguns atributos referem-se à criação do arquivo e não podem ser alterados manualmente, sendo feito apenas pelo próprio sistema operacional.

Sistema de arquivos FAT

Sigla para File Allocation Table (Tabela de Alocação de Arquivos), a FAT inicialmente era chamada FAT16, pois utilizava 16 bits, permitindo armazenar 65.526 clusters, no máximo (isto é, a capacidade de armazenamento era menor). Além disso, seu limite de armazenamento era de 2GB por partição. A FAT32 utiliza 28 bits e armazena menos KB por cluster (4KB contra os 32KB da FAT16), significando menos desperdício de espaço na alocação de dados; o limite de armazenamento pode chegar a 2TB (terabytes).

Sistema de arquivos NTFS

Sigla para New Technology File System (Nova Tecnologia de Sistema de Arquivos). Utiliza 32 bits e não emprega clusters; os arquivos são endereçados diretamente no HD. Essa tecnologia evita o desperdício de espaço em disco. Esse sistema também possui o recurso hot fix, que marca os setores danificados automaticamente, sem a necessidade de utilizar o scandisk. Há a possibilidade de criptografar arquivos que não podem ser compartilhados. Esses sistemas de arquivos armazenam até 256TB por partição.

Organização lógica e física de arquivos

Consiste no modo como os dados são armazenados. Quando um arquivo é criado, sua organização pode ser definida tanto pela aplicação que o gerou quanto pelo sistema operacional. A forma mais simples de organização de arquivos é feita por meio de uma seqüência não-estruturada de bytes e cujo sistema de arquivos não estipula nenhuma estrutura lógica obrigatória para os dados, ou seja, o aplicativo que o gera é que deve fazê-lo.

Porém, alguns sistemas operacionais definem diferentes modos de organização de arquivos. As mais conhecidas e implementadas são: a contígua (ou seqüencial), a encadeada (ou relativa) e a indexada. Nesses tipos de organização, é possível visualizar as informações como um conjunto de registros (que podem ser de tamanho fixo ou variável). Veremos mais informações sobre cada tipo a seguir.

Alocação contígua

Essa solução considera que blocos contíguos (seqüenciais) são alocados ou liberados simultaneamente. Por isso, é possível manter uma tabela apenas com o endereço do primeiro bloco e com o número de blocos livres/alocados seguintes a ele, formando segmentos.

Alocação encadeada

Nesse caso, os blocos ficam fragmentados no disco e cada um possui um ponteiro (referência para o endereço) do bloco seguinte, formando uma cadeia. A desvantagem desse tipo de alocação é que o acesso a cada bloco fica lento. Por isso, é necessário que o disco seja desfragmentado freqüentemente, para manter os blocos menos afastados.

Alocação indexada

Nesse tipo de alocação, existe um bloco de índice com todos os endereços dos blocos de arquivos. Além de permitir o acesso direto a um determinado bloco, ele não precisa ler os dados no próprio bloco para acessar ao seguinte.

Estratégias de alocação de arquivos 1

Quando o sistema operacional precisa alocar espaço em disco para um arquivo, pode existir mais de um segmento livre disponível com o tamanho necessário. A decisão sobre qual bloco escolher pode ser feita por meio de algumas estratégias:

• First-fit: por meio de uma busca seqüencial, é selecionado o primeiro segmento livre com tamanho suficiente para alocar o arquivo, mesmo que ele seja maior;

• Best-fit: seleciona o segmento livre disponível com o tamanho mais próximo ao do arquivo a ser alocado;

• Worst-fit: seleciona o maior segmento para alocar o arquivo, cuja busca é feita por toda a lista, exceto se existir uma ordenação por tamanho.

Fragmentação

Independente da estratégia utilizada, a alocação de arquivos provoca um problema chamado fragmentação de espaços livres. Os arquivos são alocados em blocos que, por sua vez, ficam "espalhados" pelo disco e, com isso, muitos blocos livres vão se formando, aumentando a área a ser verificada, para reunir todos os blocos que compõem um arquivo, tornando o acesso muito lento. 0 problema torna-se crítico quando, por exemplo, um disco possui blocos livres disponíveis, mas não um segmento contíguo no qual o arquivo possa ser alocado.

Para reorganizar esses dados e disponibilizar blocos livres com tamanhos maiores, uma desfragmentação deve ser feita periodicamente. Esse processo consiste em mover os blocos de forma a organizar segmentos maiores de um mesmo tipo (livre ou ocupado) para que novos blocos possam ser alocados.

Métodos de acesso

A seguir, conheceremos os principais conceitos relacionados a métodos de acesso, gerenciamento de acessos, segurança etc.

Acesso seqüencial

Arquivos lidos e armazenados em ordem seqüencial, sendo que a gravação só é feita ao final do arquivo.

Acesso direto

Permite a leitura/gravação de um registro diretamente na sua posição (identificada por um número de registro), não havendo restrição na ordem em que os registros são lidos ou gravados.

Acesso indexado 1

Para esse tipo de acesso, o arquivo deve possuir uma área de índice em que existam ponteiros de endereçamento para os seus registros. Depois, é realizado o acesso direto com essa informação.

Permissões de acesso

Considerando que os meios de armazenamento podem ser compartilhados, é imprescindível implantar regras de proteção para arquivos e diretórios. Essa proteção pode se dar restringindo-se a leitura (read), gravação (write), execução (execute) e exclusão (delete) e é, por exemplo, atribuída aos usuários de uma rede por um usuário com perfil de administrador (que pode definir essas permissões).

Grupos de usuários

Em uma rede, quando existem sistemas e arquivos que só podem ser acessados por determinados usuários, uma alternativa bastante prática é criar grupos de usuários e atribuir permissões a esse grupo, estendendo essas definições a todos os usuários a ele pertencentes. Existem basicamente três níveis: owner (dono), group (grupo) e all (todos). As operações permitidas são atribuídas a esses níveis.

Lista de controle de acesso 1

A ACL (Access ControiList) pode ser definida como uma lista que especifica, para cada arquivo, quais usuários podem acessá-lo.

Gerência de memória

A seguir, alguns conceitos relacionados à gerência de memória.

Memória RAM

De forma resumida, a memória RAM é divida em pequenos pedaços (de tamanho idêntico) chamados frames (blocos ou quadros). Cada processo, por sua vez, é dividido em pequenos pedaços de tamanho igual ao do frame, chamados pages (páginas). Quando um processo é carregado na memória RAM, todas as suas páginas são alocadas nos frames disponíveis, e uma tabela de páginas é definida. Os frames usados não precisam estar em seqüência, pois a tabela contém o endereçamento de cada um.

Memória virtual

Consiste em um método que combina a memória RAM com a memória de algum meio de armazenamento, mais lento (como o disco rígido, por exemplo), para dar ao sistema operacional a "impressão" de haver mais memória RAM do que realmente há. Isso permite a execução de aplicações que requeiram mais memória do que a disponível no momento.

Para que um computador implemente a memória virtual, ele deve possuir um recurso de hardware chamado MMU (Memory Management Unit, ou Unidade de Administração de Memória), refazendo o endereçamento da memória a cada acesso (incluindo ou não a memória do disco rígido para compor a memória virtual, caso necessário).

Em geral, a memória virtual é aplicada quando a memória RAM está ocupada ao ponto de não ser mais possível carregar mais dados (ler um arquivo ou executar um programa, por exemplo) ou existem dados carregados que não estão sendo utilizados, ocupando a memória desnecessariamente. Em ambos os casos, a memória virtual poderá ser gerada utilizando a memória secundária (de armazenamento), com uma partição dedicada, ou utilizando a mesma partição do sistema para armazenar arquivos contendo dados da RAM e, assim, liberando esta última para que novos dados possam ser carregados.

Paginação

0 método de paginação (paging) foi desenvolvido como forma de otimizar o swapping, fazendo com que somente as partes (páginas) menos utilizadas pelos processos fossem movidas para a memória virtual, diminuindo a troca de dados (swapping) entre a memória RAM e a memória virtual.

Segmentação

Consiste na divisão de um processo em segmentos que, por sua vez, são carregados na memória em partições dinâmicas e referenciados em uma tabela de endereços que indica onde cada segmento se encontra.

Swapping

0 processo de swapping consiste em recuperar os dados alocados na memória virtual, devolvendo-os à memória RAM, "trocando de lugar" com aqueles que, no momento nela estiverem (e que não estão sendo utilizados), para, então, executar a tarefa requerida pelo sistema. Em poucas palavras, swapping é o processo de alternar os dados entre a memória virtual e a memória RAM, conforme a necessidade de uso. Isso ocorre pelo fato de o acesso à memória virtual, alocada na memória secundária (disco rígido), ser muito lento. Por esse motivo, os dados requeridos pelo sistema sempre estarão na memória RAM (os dados alocados na memória virtual sempre estão "em espera").

Este capítulo contém informações importantes a respeito dos principais sistemas operacionais do mercado, além da definição dos pacotes Office com respectivas dicas e atalhos de utilização. Na seqüência, serão apresentados os principais aplicativos utilizados na Internet: browsers, programas de mensagens instantâneas e clientes de e-mail.

Definição de sistema operacional

Um sistema operacional é um programa bastante complexo, que controla todos os recursos de hardware de um computador e permite que vários programas sejam instalados em sua plataforma. Ou seja, ele é responsável por gerenciar recursos de hardware (processador, memória, dispositivos de 1/0 etc.) e software (programas, arquivos etc.) simultaneamente e em segundo plano. Além disso, provê uma interface ao usuário de modo que tenha acesso aos recursos do computador.

Antigamente, os sistemas operacionais eram "monotarefa" (monotask), ou seja, executavam apenas uma tarefa por vez utilizando todo o recurso do computador.

Estrutura dos sistemas operacionais

Um sistema operacional é composto por um conjunto de algoritmos (programas e rotinas) que alocam recursos do computador. É o ambiente que permite a execução de vários aplicativos (em geral isso ocorre em paralelo, por isso é considerado multitarefa, ou em inglês, muititask), dividindo os recursos do computador. 0 sistema operacional é responsável por gerenciar essa divisão de recursos de modo a prover, da melhor forma possível, um bom desempenho para todas as aplicações simultâneas.

Diretamente ligado ao conceito de sistema operacional, temos o Kernel, um conjunto de arquivos escritos em linguagem C e em linguagem Assembly, que constitui o "núcleo" de todas as tarefas desempenhadas por um sistema operacional.

Funções de um sistema operacional

Agendar e gerenciar processos

Anos atrás, a CPU só podia executar um processo por vez. Nos sistemas multitarefas, ocorre um revezamento no uso da CPU, isto é, um escalonador de processos os executa por frações de segundo, dando a impressão de que todos os processos estão sendo realizados paralelamente.

Gerenciamento de memória

Aloca quantidades de memória primária (RAM) necessárias para os processos em execução. Quando não há mais espaço na memória primária, o gerenciador utiliza a memória virtual, conforme já visto anteriormente.

Gerenciamento de arquivos

Consiste em um conjunto de rotinas que permitem que o sistema operacional controle o acesso ao disco rígido para manipular arquivos, ou seja, abrir, salvar, apagar, copiar, renomear, mover etc, entre diretórios, ou discos diferentes.

Gerenciamento de dispositivos

Gerencia e estabelece a comunicação entre dispositivos de entrada e saída com o processador e outros componentes.

Shell

Consiste na interface de comunicação com o usuário. Pode ser uma interface gráfica ou em modo texto.

Classificação de sistemas operacionais

Em relação ao modo de processamento e à capacidade de gerenciamento de usuários, um sistema operacional pode ter as seguintes configurações.

Monotarefa

No qual só é possível executar um processo por vez, como, por exemplo, o MS-DOS.

Multitarefa

Além do próprio sistema operacional, que também constitui um processo, vários outros processos ou tarefas solicitadas pelo usuário são carregados em memória. 0 compartilhamento de tempo no processador é distribuído, de modo que vários processos parecem ser executados simultaneamente. Alguns exemplos são o Windows, o Linux e o Mac OSX.

Monousuário

Refere-se aos sistemas mais antigos, que não possuíam suporte a mais de um usuário. Como exemplos, temos o MS-DOS e versões antigas do Windows, até 1995.

Multiusuário

Possui suporte e gerenciamento para vários usuários. Como exemplo, temos versões do Windows posteriores a 1995, Linux e Mac OS X.

Multiprocessamento

Quando o sistema operacional pode distribuir tarefas entre vários processadores.

Principais sistemas operacionais

A seguir, serão apresentados os principais sistemas operacionais existentes do mercado, separados por plataforma.

Microsoft

0 Microsoft Windows é, sem dúvida, o sistema operacional mais popular do mundo. Suas primeiras versões eram executadas a partir do MS-DOS e consistia em uma interface gráfica de gerenciamento de arquivos baseada em janelas (por isso o nome Windows). Somente a partir de 1993, com a versão Windows NT, ele se tornou realmente um sistema operacional independente do DOS. 0 Windows é formado em uma estrutura de ícones que, quando ativados, executam os aplicativos instalados. Por meio de janelas, os grupos de programas são organizados.

Linux

0 Linux pode ser definido como um kernel (ou núcleo) e um sistema operacional que roda sobre ele. 0 kernel Linux foi desenvolvido em 1991 por Linus Torvalds, e, atualmente, é mantido por uma comunidade mundial de desenvolvedores (incluindo programadores e empresas como IBM, HP, Hitachi etc.), coordenada pelo próprio Linus.

0 Linux adota a licença GPL (sua definição está no Capítulo 10), que consiste em um documento que permite que todos os interes sados possam usá-lo e redistribuí-lo. Com a união a diversos outros softwares livres, como o Apache, KDE, GNOME, Firefox, softwares do sistema GNU e o BrOffice.org, o Linux conseguiu se estabelecer como um ambiente completo, seguro e estável para desktops, servidores etc. Funciona em diversas plataformas, desde mainframes até relógios de pulso, passando por várias arquiteturas Intel, PowerPC, Alpha etc.

Macintosh

0 Mac OS X (lê-se "Mac OS dez") é o sistema operacional produzido pela Apple para computadores Macintosh e foi o primeiro a difundir o esquema de ícones para acessar aplicativos instalados no computador, além do esquema de diretórios e o conceito de lixeira, presentes nos desktops.

Em sua décima versão, o sistema foi remodelado inclusive em seu kernel, que passou a utilizar o Unix BSD (Unix Berkeley Software Distri,bution). A última versão do sistema operacional, lançada em 2007, chama-se Leopard.

Suítes Office

Estes tipos de utilitários podem ser considerados os mais conhecidos e utilizados pelos usuários de computadores. Hoje em dia, dificilmente alguém trabalha, estuda ou organiza informações sem um editor de textos ou uma planilha eletrônica. No ambiente profissional e acadêmico, além do editor de textos, os aplicativos para a criação de apresentações (de slides) também é bastante comum. Em empresas, também é comum utilizarem programas gerenciadores de bancos de dados de pequeno porte.

Neste tópico, conheceremos os principais aplicativos utilizados em todas as áreas, e as particularidades de cada um.

Microsoft Office

0 Microsoft Office pode ser considerado o pacote mais conhecido no mundo, sendo utilizado em milhares de residências, escritórios, escolas etc. Esse pacote de aplicativos está na versão 2007 e seus principais programas são: Word (editor de textos), Excel (planilha eletrônica), Access (banco de dados) e PowerPoint (apresentação de slides).

A seguir, conheceremos detalhes a respeito de cada programa e uma lista de dicas e atalhos mais utilizados em cada um. E, após, teremos uma lista de atalhos genéricos para todo o Office 2007.

Word

0 Word é um editor de textos repleto de recursos relacionados à edição de textos, criação de textos acadêmicos e outros diversos padrões de documentos, nos quais é possível inserir imagens, gráficos, criar efeitos textuais, gerar referências, índices, controlar alterações e revisões, utilizar corretor ortográfico, permitir integração com outros aplicativos do Office etc.:

Figura 3.1: Interface do Word.

Vejamos os principais atalhos do Word:

• Para abrir a caixa de diálogo de contagem de palavras: Ctrl + Shift + G;

• Para aumentar o tamanho da fonte (em valor) de um texto selecionado: Ctrl + Shift + >;

• Para diminuir o tamanho da fonte (em valor) de um texto selecionado: Ctrl + Shift + <;

• Para aumentar o tamanho da fonte (em ponto) de um texto selecionado: Ctrl + 1;

• Para diminuir o tamanho da fonte (em ponto) de um texto selecionado: Ctrl + [;

• Para remover uma formatação de texto ou caractere: Ctrl + Barra de espaço;

• Para alinhar texto selecionado à esquerda: Ctrl + Q;

• Para alinhar texto selecionado centralizado: Ctrl + E;

• Para justificar texto selecionado: Ctrl + J.

Excel

0 Excel é um aplicativo que permite não apenas a criação de planilhas eletrônicas simples, mas também a elaboração de funções sofisticadas para manipular dados presentes nas planilhas, gerar gráficos, bancos de dados simples, automatização de tarefas, dentre outros recursos.

Figura 3.2: Interface do Excel.

Vejamos algumas dicas e atalhos do Excel:

• todos os cálculos e fórmulas são precedidos pelo símbolo =;

• utilize uma referência absoluta quando deseja manter uma determinada referência (de célula), independentemente se, por exemplo, uma fórmula que a contenha seja copiada ou movida. Utilize o símbolo $ para definir uma célula como referência absoluta. Um exemplo seria: $A$10. Essa definição torna a linha e a coluna fixas, podendo ser definida como absoluta somente uma ou outra;

• referências relativas (o padrão) e absolutas podem ser usadas em conjunto. Um exemplo seria: =(C1+$B$8)/D2;

• quando uma célula contém #######, isso significa que a coluna não possui largura suficiente para mostrar o valor. Para solucionar esse problema, redimensione-a, clicando com o mouse na borda em seu título;

• quando uma célula contém #NOME!, isso significa que a função definida é desconhecida/inválida. Clique na guia Fórmulas e, no grupo Biblioteca de funções, consulte as funções aceitas pelo Excel;

• quando a célula contém #DIV/0!, isso significa que houve uma divisão por zero. Reveja os valores utilizados nos cálculos;

• quando a célula contém #VALOR!, isso significa que existem argumentos incorretos na fórmula ou no cálculo (por exemplo, um caractere no meio de uma operação matemática);

• para um cálculo abranger um intervalo que envolva várias células, basta informar a primeira e a última célula, separadas com o símbolo :. A mesma abrangência é obtida clicando com o mouse sobre a primeira célula e, com o botão do mouse pressionado, arrastá-la até a última;

• para criar uma nova pasta de trabalho em branco: Ctrl + 0;

• para copiar o conteúdo e o formato da célula acima de um intervalo selecionado nas células abaixo: Ctrl + D;

• para inserir a data atual em uma célula: Ctrl + ;

• para fechar uma pasta de trabalho selecionada: Ctrl + W;

• para abrir a caixa de diálogo de formatação de célula: Ctrl + 1;

• para abrir a caixa de diálogo de inserção de novas células: Ctrl + Shift + +;

• para abrir a caixa de diálogo de exclusão de células selecionadas: Ctrl + -;

• para utilizar o comando Preencher à direita, que copia o conteúdo e o formato da célula à esquerda de um intervalo selecionado nas células à direita desse intervalo: Ctrl + R;

• para criar um gráfico a partir de um bloco de células selecionado: F11.

Access

0 Access é um aplicativo para implementação de bancos de dados. Sua interface e funcionalidades permitem a criação de tabelas, relacionamentos e inclusão/alteração/exclusão de dados para posterior consulta por meio de relatórios e de todas as ferramentas para gerenciar esses dados:

Figura 3.3: Interface do Access.

Vejamos os principais atalhos do Access:

• para alternar os modos de edição e o de navegação: F2;

• para ativar ou desativar a folha de propriedades: F4;

• para alternar entre os modos design e formulário: F5;

• para se posicionar no primeiro campo do primeiro registro, no modo de navegação: Ctrl + Home;

• para se posicionar no último campo do último registro, no modo de navegação: Ctrl + End.

Na tabela seguinte, temos os tipos de campos aceitos no Access:

Tabela 3.1.

PowerPoint

0 PowerPoint consiste em uma ferramenta completa para a elaboração e apresentação de slides de todos os tipos, e inclui recursos para incrementar as apresentações, como efeitos de transição, animações e inclusão de recursos multimídia. Ele conta com modelos de diversos tipos que agilizam a elaboração de suas apresentações, sempre com efeito profissional, para resultar em uma ótima impressão do assunto apresentado.

Figura 3.4: Interface do PowerPoint.

Vejamos alguns atalhos que podem ser usados durante uma apresentação:

Tabela 3.2.

Vejamos, enfim, algumas dicas e atalhos gerais do Microsoft Office 2007:

• o Office 2007 abandonou o conceito de menus e barras de ferramentas e agora utiliza ri,b,bons (faixas) para organizar suas funcionalidades;

• o padrão de arquivo do Office, agora, é o OOXML (Microsoft Office Open XML), ou seja, um formato "quase" aberto do XML. As extensões estão acrescidas de um "x" no final, por exemplo: .docx, ao invés de doc. Portanto, para salvar um documento no formato antigo (até o Office 2003), utilize a opção Salvar como;

• o Office 2007 possui um novo sistema de atalhos, sendo uma novidade a tecla que dá dica a respeito do atalho necessário. Pressionando a tecla Alt, as dicas para acessar todos os comandos da guia atual aparecem. Se uma determinada guia é selecionada, em seguida as opções dela aparecem com as dicas, e assim sucessivamente, permitindo que formatações e ajustes sejam feitos mediante atalhos do teclado, e não apenas pelo mouse:

Figura 3.5: Acesso a atalhos com a tecla Alt.

• para abrir um documento: Ctrl + A;

• para salvar um documento: Ctrl + B;

• para salvar um documento em outro formato (Salvar como): F2;

• para abrir a caixa de diálogo de impressão: Ctrl + P;

• para abrir a caixa de diálogo Localizar: Ctrl + L;

• para abrir a caixa de diálogo Substituir: Ctrl + S;

• para abrir a caixa de diálogo Ir Para: Ctrl + G;

• para abrir a caixa de diálogo de verificação ortográfica: F7;

• para cancelar uma ação: Esc;

• para desfazer uma ação: Ctrl + Z;

• para refazer uma ação: Ctrl + Y;

• para alterar a fonte: Ctrl + Shift + F;

• para alterar o tamanho da fonte: Ctrl + Shift + P.

BrOffice.org

0 BrOffice.org, antigo OpenOffice, foi desenvolvido pela Sun e consiste em uma suíte gratuita e de código aberto que tem ganho espaço na competição com o Microsoft Office. Isso significa que não é necessária a licença comercial para baixá-lo e utilizá-lo. Ele está disponível nas plataformas Microsoft, Mac OS X X11, GNU/Linux e Solaris. É a primeira suíte de escritório compatível com o formato OASIS OpenDocument. Seu código está disponível para download e é certificado pela OSI (Opera Source Initiative).

A seguir, conheceremos cada um dos aplicativos que compõem o BrOffice.org.

Writer

O Writer é um editor de textos que, assim como o Word, é muito útil para a produção de cartas, textos, documentos de vários tipos e estilos, permitindo a inclusão de gráficos e imagens, referências cruzadas, sumários, bibliografias etc. Possui, ainda, recurso de autocompletar e autoformatação, verificação ortográfica, entre outros.

Figura 3.6: Interface do Writer.

Vejamos os principais atalhos do Writer:

• para justificar um texto: Ctrl + J;

• para aplicar sublinhado duplo em um texto: Ctrl + D;

• para centralizar texto: Ctrl + E;

• para abrir a caixa de diálogo Localizar e substituir: Ctrl + F;

• para formatar texto como sobrescrito: Ctrl + Shift + P;

• para alinhar texto à esquerda: Ctrl + L;

• para alinhar texto à direita: Ctrl + R;

• para formatar texto como subscrito: Ctrl + Shift + B;

• para refazer última ação: Ctrl + Y;

• para aplicar estilo de parágrafo Padrão: Ctrl + 0 (zero);

• para aplicar estilo de parágrafo Título 1: Ctrl + 1;

• para aplicar estilo de parágrafo Título 2: Ctrl + 2;

• para aplicar estilo de parágrafo Título 3: Ctrl + 3;

• para aplicar espaçamento de 1 linha e meia: Ctrl + 5;

• para executar campo de macro: Ctrl + *.

Calc

0 Calc é o aplicativo correspondente ao Excel da Microsoft, isto é, consiste em uma planilha eletrônica com os recursos necessários para calcular, analisar, resumir e apresentar seus dados em relatórios numéricos ou em gráficos. Também é possível aplicar fórmulas dos mais variados tipos, filtros, tabelas dinâmicas e análises estatísticas:

Figura 3.7: Interface do Calc.

Vejamos os principais atalhos do Calc:

• para exibir a nota anexada à célula atual: Ctrl + F1;

• para alternar para o modo de edição e colocar o cursor no final do conteúdo da célula atual: F2;

• para abrir o assistente de funções: Ctrl + F2;

• para mover o cursor para a linha de entrada e inserir uma fórmula para a célula atual: Shift + Ctrl + F2;

• para abrir a caixa de diálogo Definir nomes: Ctrl + F3;

• para mostrar ou ocultar o Explorer do banco de dados: F4;

• para reorganizar as referências relativas ou absolutas (por exemplo, Al, $A$1, $A1, A$1) no campo de entrada: Shift + F4;

• para mostrar ou ocultar o Navegador: F5;

• para rastrear dependentes: Shift + F5;

• para rastrear precedentes: Ctrl + F5;

• para mover o cursor da linha de entrada para a caixa Área da planilha: Shift + Ctrl + F5;

• para verificar a ortografia na planilha atual: F7;

• para abrir o dicionário caso a célula atual contenha texto: Ctrl + F7;

• para ativar ou desativar o modo de seleção adicional: F8;

• para realçar células que contêm valores: Ctrl + F8;

• para recalcular todas as fórmulas na planilha: F9;

• para atualizar o gráfico selecionado: Ctrl + F9;

• para abrir a janela Estilos e formatação, para aplicar um estilo de formatação ao conteúdo da célula ou à planilha atual: F1 i;

• para criar um modelo de documento: Shift + F11;

• para atualizar os modelos: Shift + Ctrl + F11;

• para agrupar o intervalo de dados selecionado: F12;

• para desagrupar o intervalo de dados selecionado: Ctrl + F12.

Impress

0 Impress é uma ferramenta para criação de apresentações e slides (como o PowerPoint), com várias opções de efeitos de transição, sons, animações, gráficos etc.

Figura 3.8: Interface do Impress.

Vejamos os principais atalhos do Impress:

• para encerrar apresentação: Esc;

• para reproduzir o próximo efeito (ou ir para o próximo slide): barra de espaços, seta à direita (-) ou seta para baixo (,l,), Page Down, Enter, Return ou N;

• para ir ao próximo slide sem reproduzir os efeitos: Alt + Page Down;

• para ir para o slide: <número do slide> + Enter;

• para reproduzir o efeito anterior novamente (ou voltar para o slide anterior): seta para a esquerda (F), para cima (T), Page Up, Backspace ou P;

• para ir ao slide anterior sem reproduzir os efeitos: Alt + Page Up;

• para ir ao primeiro slide da apresentação: Home;

• para ir ao último slide da apresentação: End;

• para ir ao slide anterior: Ctrl + Page Up;

• para ir ao próximo slide: Ctrl + Page Down;

• para exibir tela em preto até o próximo evento: B ou ponto-final (.);

• para exibir tela em branco até o próximo evento: W ou vírgula (,).

Base

Trata-se de um novo aplicativo do BrOff ice.org que implementa bancos de dados para criação de tabelas, formulários, consultas e relatórios.

Figura 3.9: Interface do Base.

Vejamos os principais atalhos do Base:

• para mover-se entre as áreas de design da consulta: F6;

• exclui uma tabela do design de consulta: Excluir;

• seleciona a linha de conexão: Guia;

• abre o menu de contexto: Shift + F10;

• Visualização: F4;

• Executar consulta: F5;

• Adicionar tabela ou consulta: F7.

Math

O Math é um editor de fórmulas com recursos para a edição de fórmulas, das mais simples até as equações mais complexas. É bastante interessante para a elaboração de trabalhos científicos e escolares.

Figura 3.10: Interface do Math.

Vejamos algumas dicas e atalhos gerais do BrOffice.org:

• para abrir um documento: Ctrl + 0;

• para selecionar todo o texto: Ctrl + A;

• para excluir todo um texto: Ctrl + Delete;

• para desfazer uma operação: Ctrl + Z;

• para salvar um documento: Ctrl + S;

• para criar um novo documento: Ctrl + N;

• para sair do aplicativo: Ctrl + Q;

• para aplicar formatação em itálico em um texto selecionado: Ctrl + 1;

• para aplicar formatação em negrito em um texto selecionado: Ctrl + B;

• para aplicar formatação em sublinhado em um texto selecionado: Ctrl +U.

internet

Neste capítulo, definiremos as principais ferramentas de navegação e comunicação utilizadas na Internet: browsers (navegadores), programas de mensagens instantâneas e clientes de e-mail.

Browsers

Internet Explorer

Este browser vem integrado ao Windows desde a versão 98, criando um tipo de monopólio da Microsoft.

Figura 3.11: Barra superior do Internet Explorer.

Mozilia Firefox

Este browser é bastante elogiado por we,bdesigners por exibir, de forma mais fiel, as formatações dos sites. Possui recursos bem interessantes, como a recuperação de sessão, que nos permite retomar a tela exata em que estávamos (em uma série de formulários a preencher, por exemplo, é muito desagradável, quando o browser é fechado, termos de recomeçar o preenchimento), corretor ortográfico, para quando estiver digitando um texto em um blog, ou e-mail, barras de pesquisa integradas para Google, Yahoo, Amazon, eBay etc, bloqueador de pop-up, além, é claro, do código aberto, que permite que desenvolvedores adicionem mais recursos de segurança ao browser.

Figura 3.12: Barra superior do Mozilia Firefox.

Netscape Navigator

0 Netscape é o mais antigo concorrente do Internet Explorer e, antigamente, era bem utilizado, até que o Internet Explorer tornouse parte do Windows, não existindo mais a necessidade de baixar e instalar um browser no computador. De qualquer forma, o Netscape é completo: suporta as Web Standards, possui bloqueador de pop-up, gerenciamento de sessões, editor de páginas, cliente de e-mail, proteção contra spyware e adware, etc.

Figura 3.13: Barra Superior do Netscape Navigator.

Opera Web Browser

Desenvolvido na Noruega em 1994, e lançado como produto em 1996, o Opera é um browser rápido e leve, muito utilizado em computadores portáteis e dispositivos móveis (até mesmo para consoles de videogames, como o Nintendo). Possui recursos como comando por voz, zoom para ampliar o conteúdo de uma tela, bloqueador de conteúdo, entre outros.

Figura 3.14: Barra superior do Opera.

Programas de mensagens instantâneas

MSN Messenger

0 MSN Messenger pode ser considerado o mais popular entre os programas de troca de mensagens instantâneas. Idealizado pela Microsoft, o programa possui integração com o Hotmail e com o Spaces, permite troca de arquivos, conversa por microfone e webcam. Também possui um recurso de compartilhamento de arquivos, em que um diretório comum é criado entre dois usuários e lá um pode colocar arquivos acessíveis ao outro. 0 programa pode ser baixado no site www.msn.com.br:

Figura 3.15: Interface do Messenger.

Skype

0 Skype surgiu como um programa de comunicação instantânea que prioriza a conversa por voz. Apesar da maioria dos programas concorrentes possuírem esse recurso, o Skype destaca-se pela qualidade e por oferecer o serviço pago Voip (Voz sobre IP), permitindo que, por meio do computador, o usuário possa fazer ligações para telefones fixos e celulares, em qualquer parte do mundo, e a baixo custo. Os créditos podem ser comprados com cartão de crédito internacional. 0 download do programa pode ser feito no site www.skype.com:

Figura 3.16: Interface do Skype.

Google Talk

0 Google Taik é um programa que surgiu a partir do Gmail. Nele é possível agrupar as conversas em forma de messenger. Principalmente para usuários brasileiros, há o atrativo de possuir integração com o Orkut, podendo notificar os usuários quanto ao recebimento de recados, depoimentos, além de notificar novos e-mails. Também possui o recurso Voip. 0 download do programa pode ser feito no site www.google.com/talk/:

Figura 3.17: Interface do Google Talk.

ICQ

0 ICQ (1 Seek You) foi um dos primeiros programas para troca de mensagens instantâneas e ainda hoje possui diversos recursos avançados. Possui muita estabilidade em relação aos seus concorrentes.

0 download do programa pode ser feito no site www.icg.com. Quando se cria uma nova conta no ICQ, o registro gera um número chamado UIN (Universal Internet Number), que será a identificação no momento do login no programa. 0 sistema de busca para incluir contatos pode ser feito por e-mail, nome ou UIN.

Seu recurso de transferência de arquivos é eficiente no sentido de que é possível interromper uma transferência e continuar posteriormente do ponto onde ela parou, evitando que a transferência tenha de ser recomeçada em caso de queda de conexão, por exemplo.

0 ICQ também possui uma versão que dispensa instalação (ICQ2Go!), versão para dispositivos móveis (ICQ wireless) e para Mac (ICQ for Mac).

Figura 3.18: Interface do ICQ.

Clientes de e-mail

Microsoft Office Outlook

0 Outlook consiste em uma ferramenta completa para o gerenciamento de mensagens, contatos e compromissos. Possui diversos recursos para a organização de e-mails e contatos, provê acesso rápido a todas as informações que armazena e possui integração com todo o pacote Office 2007.

Figura 3.19: Interface do Outlook.

Vejamos algumas dicas do Outlook:

• para configurar uma nova conta no Outlook, clique no menu Ferramentas > Configurações de contas. Clique em Novo. Serão solicitadas as informações necessárias para a configuração, como: seu nome, endereço de e-mail e senha, servidores SMTP (para envio) e POP (para recebimento) etc.

Figura 3.20: Janela de configuração de conta.

• para alterar ou excluir uma conta de e-mail, clique no menu Ferramentas > Configurações de contas. Clique em Alterar ou Excluir;

• para incluir uma assinatura nos e-mails, para que elas apareçam em mensagens novas, respostas ou encaminhamentos, basta clicar em Ferramentas > Opções > Assinaturas (na guia Formato de Email);

• ao redigir uma mensagem, dê atenção ao campo em que você informará os e-mails dos destinatários. 0 campo Para/To referese ao destinatário principal. Quando se responde uma mensagem clicando em Responder/Reply, somente os endereços desse campo serão incluídos;

• já o campo Cc/Cc (cópia carbono, ou carbon copy) define os destinatários que receberão cópias da mensagem (e os endereços ficam visíveis para todos eles); é útil para o caso de um dos destinatários desejar responder para todos utilizando o botão Responder a todos/Reply ali. A opção Responder/Reply não inclui os endereços desse campo;

• o campo Cco/Bco (cópia carbono oculta ou ,bl nd carbon copy) é ideal para enviar cópias para destinatários para os quais não queremos mostrar os endereços. Nesse caso, evita-se que algum destinatário clique em Responder a todos/Reply ali e envie mensagens para todos. A opção Responder/Reply não inclui os endereços desse campo;

• para incluir um novo contato no Outlook, clique no menu Arquivo > Novo > Contato. 0 atalho de teclado para esse comando é Ctrl + Shift + C. Em seguida, digite um nome para o contato e preencha as informações que desejar;

• para incluir um contato a partir de um e-mail recebido, abra o e-mail, clique com o botão direito do mouse sobre o nome do remetente e selecione a opção Adicionar a contatos;

• para imprimir um e-mail com seu anexo, selecione a mensagem (clique apenas sobre ela, sem abri-la) e, em seguida, clique em Arquivo > Imprimir. Selecione a caixa Imprimir arquivos anexados;

• organize melhor suas mensagens criando pastas distintas para diferentes assuntos ou remetentes. Para criar uma pasta nova, clique com o botão direito do mouse sobre Pastas Particulares > Nova Pasta.

Figura 3.21: Criando nova pasta.

• Selecione um nome para a pasta, e onde ela será criada:

Figura 3.22: Definindo o nome e local da pasta.

• Complementando a dica anterior: além de criar pastas para mensagens específicas, você também pode criar regras que baixam seus e-mails diretamente nessas pastas específicas. Assim, poupa-se o trabalho de separá-las depois que são disponibilizadas na caixa de entrada. Para criar regras de e-mail, clique em Ferramentas > Regras e Alertas.

Figura 3.23: Janela Regras e Alertas.

• Clique no botão Nova Regra. 0 seguinte assistente de regras será aberto para que você defina as regras, por exemplo: se determinado remetente enviar uma mensagem, mova para determinada pasta:

Figura 3.24: Assistente de regras.

Figura 3.25: Adicionar novo contato.

• Preencha os dados do contato e clique em Salvar e Fechar.

Figura 3.26: Dados do contato.

• Ordene suas mensagens do modo que for mais conveniente, facilitando a localização de um e-mail específico. Para alterar o modo de ordenação, clique no título Organizado por e escolha o critério desejado:

Figura 3.27: Ordenação dos e-mails.

Mozilia Thunderbird

Similar ao Outook da Microsoft, o Thunderbird é um cliente de e- mail que contém todas as funcionalidades do seu concorrente.

Figura 3.28: Interface do Thunderbird.

Vejamos algumas dicas para o Thunderbird:

• o Thunderbird também possui o recurso de definição de filtros para as mensagens, sendo muito útil para organizá-las por assunto, cliente etc. Para abrir a lista de filtros, clique em Ferramentas > Filtros de mensagens:

Figura 3.29: Janela com lista de filtros.

• Para criar um novo filtro, clique no botão Novo da janela anterior. Uma nova janela será aberta, na qual é possível definir as regras de classificação:

Figura 3.30: Definição de filtro.

• Por meio do menu Ferramentas > Opções, é possível definir praticamente todas as configurações do Thunderbird, como tipos de alerta do programa, formatação das mensagens a serem enviadas, modo de edição, opções de privacidade (antivírus, antispam, senhas etc.), ações para anexos, configurações avançadas de gerenciamento de espaço em disco, atualizações, certificados etc:

Figura 3.31: Janela de configurações do Thunderbird.

• Para configurar uma nova conta, ou mesmo alterar uma já existente, clique em Ferramentas > Configurar contas. Essa janela permite a configuração de uma conta de e-mail, que solicita o nome do usuário, o servidor SMTP (de envio) e POP (de recebimento), além da senha do usuário.

Figura 3.32: Configuração e gerenciamento de contas.

Uma rede pode ser definida como um conjunto de computadores e equipamentos (em geral, periféricos) interligados por um meio comum. Esse meio, para prover essa rede, contém uma série de tecnologias que estabelecem e controlam a comunicação entre os computadores, garante a segurança no tráfego de informações etc.

Nos próximos itens, conheceremos diversos conceitos relacionados a essa área.

Modelo OSI da ISO

Com a finalidade de padronizar o desenvolvimento de produtos para redes de comunicação de dados, foi elaborado um modelo aberto, que teve como referência o OSI (Opera System interconnection) pela ISO (internationai Organization for Standardization). Essa arquitetura é dividida em camadas. Cada camada possui protocolos com funções específicas. As camadas são as seguintes:

Aplicação

Essa é a camada mais próxima do usuário (poderia ser chamada de mais "superficial"). Ela é a que provê a interface com toda a Internet. Como o próprio nome descreve, envolve os protocolos necessários para o funcionamento das aplicações que conhecemos: HTTP (para acessar e navegar em sites), SMTP e POP3 (para envio e recebimento de e-mails), FTP (transferência de dados) etc.

Apresentação

É na camada de apresentação que ocorrem os processos relacionados à criptografia, compressão de dados, tradução de padrões de transmissão de dados etc. Durante esse processo, pode haver mudança de codificação, porém o conteúdo semântico deve ser preservado sempre. Os protocolos dessa camada garantem que as informações transmitidas por uma origem chegarão íntegras ao seu destino.

Sessão

Consiste em uma estrutura de controle para que as aplicações possam estabelecer sessões de comunicação, assim como propor- cionar o gerenciamento dessas sessões, o que inclui controle geral sobre trocas de dados, gerenciamento de avisos e erros etc.

Transporte

A camada de transporte não considera os intermediários de uma transmissão de dados, mas apenas os pontos de origem e destino. Além de estabelecer e liberar conexões, também transfere os dados, monitora a qualidade dos serviços etc. Temos como exemplos o protocolo TCP (orientado à conexão) e o UDP (não orientado à conexão).

Rede 1

É a camada com os protocolos que controlam as operações da rede de modo geral, efetuando, por exemplo, o roteamento dos pacotes de dados entre uma origem e um destino, fazendo com que esses pacotes sigam pelo caminho menos congestionado. É nesse nível também que são efetuadas taxações baseadas em volume de tráfego de dados. Um exemplo seria o protocolo IP.

Lógica ou enlace

Essa camada é responsável por garantir o bom funcionamento do nível físico, isto é, além de detectar, pode corrigir erros passíveis de ocorrer ao longo dos processos. Também é nesse nível que acontece o controle de fluxo de dados, o controle dos acessos, da montagem e seqüência dos pacotes de dados, entre outras funções. Bons exemplos seriam os padrões Ethernet, PPP etc.

Física

Consiste na única camada que possui acesso físico ao meio de transmissão da rede (equipamentos e meios de transmissão), gerenciando o estabelecimento e encerramento de conexões, além da transferência de dados que se dá por meio da codificação/decodificação das informações em sinais elétricos transmitidos no meio físico. Como exemplos, podemos citar modens, interfaces seriais, hubs, cabos, bluetooth etc.

Definições de alguns protocolos

ATM (Asyncronous Transfer Mode)

0 Modo de Transferência Assíncrona consiste em um protocolo de telecomunicações para aplicações de dados, voz e imagem em alta velocidade. Suas especificações permitem a implementação de tecnologia de transmissão em banda larga. Esse protocolo utiliza multiplexação e comutadores de pacotes. Sua capacidade é segmentada em células de tamanho fixo, cada uma delas dotada de campo de cabeçalho e informação, que podem ainda ser alocados para serviços on demand (sob demanda), como transmissão de imagens e vídeo.

BCP (BorderGatewayProtocoll

Protocolo de roteamento dinâmico que permite o intercâmbio de informações de roteamento, viabilizando uma interconexão entre diversos sistemas autônomos, ou ASs (Autonomous Systems), que, em conjunto, formam a Internet. De forma simplificada, esse protocolo permite que os dados trafeguem entre os ASs até chegar ao AS de destino. Dentro dele, os dados seguem até seu destino final (computador).

DHCP (Dynamic Host Configuration)

Chamado de configuração dinâmica de endereço de host, o DHCP é o protocolo padrão para alocar e manipular endereços IP dinamicamente, sendo usado entre hosts e um servidor DHCP para alocar e associar endereços IP aos computadores, bem como limitar o tempo em que um computador pode usar um determinado endereço. Quando o tempo expira, o computador deve contatar o servidor para obter um novo endereço.

DNS (Domain Name System)

Um DNS, ou sistema de nomes de domínio, é um sistema que associa o endereço (www.nomedodominio.com) digitado no browser com o IP da máquina que hospeda esse site.

FTP (File Transfer Protocol)

Trata-se do protocolo de transferência de arquivos. A transferência de arquivos é feita entre um computador chamado "cliente", que solicita a conexão para a transferência de dados, informando o IP da máquina a qual quer se conectar, o nome de usuário, a senha e a porta, e um servidor, que recebe a solicitação, e possui o IP informado. Os comandos mais comuns em conexões FTP são get, para transferir arquivos do servidor ao cliente, e put, para enviar dados do cliente ao servidor.

CCP (Cateway To-Cateway Protocol)

Antigo protocolo utilizado em roteadores (routers) para atualização de tabelas de rotas entre eles. Esse protocolo não previu o crescimento da Internet e caiu em desuso devido à falta de capacidade de expansão.

HTTP (HyperText TransferProtocol)

Protocolo de transferência de hipertexto. Ele permite que dados sejam solicitados via browser e foi criado para que os navegadores e os servidores Web pudessem se comunicar de forma padronizada. É um dos protocolos mais comuns.

MPLS (MultiProtocol Label Switching)

Protocolo cujo objetivo é o de otimizar os níveis de desempenho em uma rede de computadores (tipicamente uma rede IP), organizando recursos de maneira mais eficiente para melhorar o processo de entrega de informações.

OSPF (Open ShortestPath First)

Protocolo de roteamento dinâmico que opera em conjunto com o protocolo IP; é suportado pela maioria dos modelos de roteadores, operando também na plataforma Unix. Utiliza o algoritmo Shortest Path First (Menor Caminho Primeiro), e, nesse caso, cada roteador possui informações sobre todos os pontos da rede, diferente dos protocolos que possuíam tabelas de rotas e que não suportaram o roteamento de grandes redes.

PPP/SLIP (Point to Point Protocol/ Serial Line Internet Protocol/

Consistem em protocolos para comunicação sobre interfaces seriais que, por sua vez, enviam bits de dados sobre um cabo único, ao contrário de interfaces paralelas, que enviam os bits de dados em paralelo, simultaneamente, sobre vários cabos.

PPPoA (PPP overATM)

Protocolo de rede que encapsula o PPP sobre uma rede ATM (Asyncronous TransferMode). Essa técnica é muito utilizada em acessos via ADSL, ou cable modem. Oferece os recursos típicos disponíveis em redes PPP, como autenticação, criptografia e compressão de dados.

PPPoE (PPP over Ethernet)

Processo de transporte de quadros PPP sobre Ethernet, permitindo a conexão de múltiplos hosts mediante um dispositivo de acesso chamado bridging. Muito utilizado em conexões ADSL.

TCP/IP (Transmission Control Protocol/ Internet Protocol)

É o protocolo de controle de transmissão. 0 TCP/IP é uma estrutura que inclui vários protocolos, como o IP, TCP e UDP, e provê o transporte de dados considerando os endereços de origem e destino, como a transmissão de dados é feita.

UDP (User Datagram Protocol)

Protocolo mais simples que o TCP. Garante que os pacotes chegarão ao destino, sendo muito utilizado em serviços importantes, como o DNS. Ao mesmo tempo em que o TCP é orientado à conexão (e isso significa iniciar e encerrar a conexão, verificar tamanhos de pacotes e retransmitir informações em caso de erros), o UDP apenas trata da transmissão dos dados.

X.251

Consiste em um conjunto de protocolos que define um determinado comportamento de comunicação entre equipamentos, como hosts, terminais, roteadores etc, e uma rede de pacotes (que pode ser pública ou privada). 0 objetivo principal é regularizar o estabelecimento da conexão, transmissão e recepção de dados, além da desconexão e controle do fluxo de informações entre os equipamentos que fazem uso da rede. Diferente das tecnologias P2P (ponto-a-ponto), as redes de pacotes permitem que equipamentos conectados a elas possam enviar e receber dados de diversos equipamentos utilizando um único meio físico de comunicação.

Outros conceitos relacionados à redes

DNS (Domain Name System) 1

Consiste em um serviço TCP/IP que permite especificar um nome simbólico que represente um endereço IP.

Ethernet1

Padrão de tecnologia para redes locais (em um mesmo prédio ou em locais distribuídos). A rede pode ter seu "meio" constituído por cabos coaxiais, par trançado, fibra óptica ou até wi-fi, para conectar seus nós (estações). Os blocos de informações trocados entre os nós são chamados de frames.

Firewall

Dispositivo de segurança que tem como objetivo principal impedir o acesso externo em uma rede. Esses dispositivos podem ser de hardware ou software, sendo instalados no computador que provê acesso à Internet; conseqüentemente, pode ser a porta de entrada a acessos externos e indesejados. 0 firewall também pode ser usado para barrar o acesso de dentro para fora, ou seja, impedir que usuários de uma rede acessem determinados sites, ou executem alguns programas como, por exemplo, os de troca de mensagens instantâneas.

Frame relay

Técnica de comutação (troca) de pacotes baseada em um conjunto de protocolos para implementação de redes WAN, e para conexão entre hosts e redes locais. As redes frame relay são as sucessoras das redes X.25. As principais vantagens em relação a esta são: tamanho variável de pacotes, controle de tráfego que evita congestionamentos, apenas um nível de encapsulamento, menor tráfego etc. Essa tecnologia permite a multiplexação de várias conexões lógicas (circuitos virtuais entre equipamentos ligados a uma rede) por meio de um único meio físico.

Gateway

Dispositivo dedicado ou computador (geralmente fazendo uso de duas ou mais placas de rede) capaz de interligar redes, podendo estas serem duas redes locais com protocolos diferentes, ou mesmo a conexão com a Internet entre vários computadores.

Intranet

Consiste em uma rede privada formada por servidores Web particulares; muito utilizada pelas grandes empresas. Pode ser considerada uma forma de comunicação interna segura e de baixo custo. A intranet copia o modelo de navegação da Internet, mas oferece acesso somente aos usuários autorizados na rede interna.

LAN (LocalArea Network)

Rede local comum em empresas, podendo ser de pequeno porte (em uma única sala, por exemplo), e de grande porte (interligando um prédio inteiro).

Servidor proxy

Um servidor proxy consiste em um programa que armazena objetos da Internet localmente, para serem distribuídos posteriormente, além de ser um servidor que atua como um intermediário entre a estação de trabalho e a Internet. Com isso, ele garante segurança e funciona como um gateway no nível de um firewaii, entre uma rede local e a Internet.

SNA (System Network Architecture) 1

Consiste em uma arquitetura proprietária da IBM para acesso de grande número de nós secundários (computadores e periféricos) a um número pequeno de nós principais (servidores). Essa arquitetura envolve padrões de estrutura lógica, protocolos e seqüências operacionais para processamento em rede e em equipamentos IBM, baseada principalmente em servidores.

Telnet

É um serviço de rede destinado à execução remota de comandos em redes TCP/IP, sendo normalmente utilizado para emulação de terminais entre máquinas com sistemas operacionais diferentes (por exemplo, Unix em ambiente Windows).

Voip (Voice over lP

Significa "Voz sobre IP" e tem o objetivo de transmitir sinais de voz por meio de um protocolo IP. É um termo utilizado em telefonia IP e seu funcionamento baseia-se no envio de pacotes de voz no formato digital.

WAN (Wide Area Network)

Rede de longo alcance que interliga várias redes locais, como a Internet.

Wireless e wi-fi

Consiste na transmissão de dados via ondas de rádio ou satélite, sem a necessidade de conexão física por meio de cabos. 0 termo wi-fi é atribuído a equipamentos com tecnologia sem fio e é sigla para Wireless-Fidelity (equipamentos fiéis à tecnologia wireless).

Banda larga

A banda larga pode ser definida como um tipo de conexão de alta velocidade que utiliza diferentes meios de transmissão. A conexão do computador é feita por meio de uma placa de rede (com conector RJ45 e cabo par trançado, ou com antena, para o caso de rede sem fio) até um modem. As velocidades podem variar de 256 KBps (Kbytes por segundo) a 24 MBps (Megabytes por segundo)

A seguir, a definição de cada tipo de conexão banda larga:

ADSL

Sigla para Assymmetric Digital Subscriber Line, ou simplesmente Linha Digital Assimétrica para assinante, é o serviço oferecido pelas companhias de telefonia. 0 modem ADSL fica ligado à linha telefônica e, por meio de uma placa de rede, o computador se liga ao modem. Nesse tipo de acesso, a velocidade de recebimento de informação (download) é geralmente maior que o de transmissão (upload). Alguns planos de acesso limitam o total de dados transmitidos.

Cable modem

Utiliza as redes de transmissão de televisão a cabo para envio e recebimento de dados. Também se comunica com o computador por uma placa de rede Ethernet e um modem.

Rádio

É um serviço muito comum em condomínios devido a seu baixo custo de manutenção e boas taxas de velocidade. Nesse sistema, um equipamento central (servidor) é instalado e interligado à Inter net. Desse servidor são distribuídos cabos de rede para cada ponto de recepção.

Via satélite

Pouco difundido no Brasil, esse tipo de acesso utiliza satélites para transmitir os dados diretamente para computadores, que os captam por meio de antenas comuns ou receptores.

Ligada diretamente à Matemática e à Filosofia, a Lógica é uma ciência que trata do pensar e do raciocínio, considerando regras e passos específicos para alcançar um determinado fim. Nesse contexto, a Lógica de programação fornece métodos que permitem obter a solução de uma determinada questão por meio de uma seqüência lógica.

Essa seqüência de passos, ou instruções, é chamada de algoritmo. Um algoritmo deve ter um início e um fim para executar uma tarefa. Um exemplo bem simples de algoritmo é uma receita de bolo, ou como trocar um pneu; processos que, para serem efetuados, e para que nada saia errado, devem ser estruturados de uma forma ordenada.

Um outro exemplo simples seria abrir uma porta. Vejamos os passos a considerar:

1. Pegar a chave.

2. Colocar a chave na fechadura.

3. Girar a chave no sentido contrário à fechadura.

4. Pegar na maçaneta.

5. Girar a maçaneta.

6. Abrir a porta.

Na seqüência finita acima descrita, podemos dividir o algoritmo em três partes:

• entrada (o que deve ser feito para iniciar a tarefa): pegar a chave;

• processamento (passos utilizados para se chegar à saída): girar a chave no sentido contrário à fechadura, pegar na maçaneta e girar a maçaneta;

• saída (resultado final): abrir a porta.

Outras observações importantes:

• pegar, colocar, girar, abrir: ações ou comandos a serem executados;

• chave, fechadura, maçaneta: objetos a serem manipulados.

Com base nesses exemplos, definiremos, agora, os principais conceitos relacionados à Lógica de programação.

Variáveis

Variáveis e constantes são espaços reservados na memória RAM do computador e criadas para armazenar as informações que serão manipuladas ao longo de um código. Essas variáveis possuem um determinado tipo para cada qualidade de informação (números, textos etc.). No caso de nosso exemplo, os dados a serem manipulados seriam a chave, a fechadura e a maçaneta.

A diferença entre variáveis e constantes é simples: em uma variável, o dado pode ser modificado e o retorno do algoritmo pode ser armazenado na própria variável que armazenou o dado de entrada. Já uma constante, como o próprio nome diz, é iniciada no algoritmo com um valor, e com ele permanece até o final. Por esse motivo, as variáveis são sempre iniciadas na entrada do algoritmo.

Português estruturado

É uma transcrição literal da linguagem de programação. Descreve o que cada comando executa. 0 exemplo da abertura da porta foi feito em português estruturado (utilizando verbos representando os comandos).

Estruturas de decisão 1

As estruturas de decisão permitem a definição de mais de uma ação, dependendo do escopo inicial. Por exemplo, no algoritmo da abertura da porta, poderíamos incluir uma condição que verifica, antes de tudo, se a porta já não está aberta:

1. Pegar na maçaneta.

2. Girar a maçaneta.

3. Se a porta estiver aberta, abrir a porta.

4. Senão, pegar a chave.

5. Colocar a chave na fechadura.

6. Girar a chave no sentido contrário à fechadura.

7. Pegar na maçaneta.

8. Girar a maçaneta.

9. Abrir a porta.

Nota: as hipotéticas estruturas de comando estão em negrito.

Observe que as estruturas "Se-Senão" verificam a condição da porta (trancada ou não), permitindo mais de uma ação para um mesmo início.

Estruturas de repetição 1

Diferente da estrutura de decisão, a estrutura de repetição delimita um código que será repetido até que a condição por ela definida seja verdadeira. Vejamos o exemplo para o caso da porta:

1. pegue na maçaneta;

2. gire a maçaneta;

3. se estiver aberta, abrir a porta;

4. senão, pegar a chave;

5. colocar a chave na fechadura;

6. girar a chave no sentido contrário ao da fechadura;

7. abrir a porta;

8. fim por Enquanto.

Note que a estrutura "Enquanto-Faça-Fim-Enquanto" delimita um código a ser executado. A condição para continuar na estrutura é: "a porta estiver fechada". Ou seja, no momento em que "a porta estiver aberta", a execução sai da estrutura de repetição, pois a condição "a porta estiver fechada" será falsa.

Observe também que, no exemplo da estrutura de decisão os comandos "pegar na maçaneta" e "girar a maçaneta" repetem-se, e isso não existe na estrutura de repetição. Com isso, fica claro que a estrutura de repetição automatiza uma instrução; em termos de programação, isso significa economia de código.

Em geral, depois que o conceito de Português estruturado está claro, parte-se para uma linguagem de programação mais simples, na qual é possível visualizar tais comandos. Uma linguagem bastante utilizada é o Pascal. Veja como ficaria um código bem próximo do que conceituamos em Pascal.

Procedimentos e funções

São os comandos a serem utilizados ao longo da execução. Assim, as ações "pegar na maçaneta" e "girar a maçaneta" poderiam ser implementadas como um único procedimento, chamado Tentarabrirporta:

Da mesma forma, todo o processo de abertura da porta poderia ser um procedimento:

Veja que as duas instruções para tentar abrir a porta foram substituídas pelo procedimento Tentarabrirporta().

Linguagens de programação são conjuntos de códigos, comandos, regras e padrões predefinidos com os quais criamos linhas de instruções que, em conjunto, formam programas.

As linguagens de programação podem ser classificadas em três níveis, dependendo do quanto elas se aproximas da linguagem humana ou da linguagem de máquina:

• Linguagem de alto nível: possui comandos parecidos com a nossa linguagem, como If-then-else, Do-While, For, BeginEnd etc. Podemos citar como exemplos o Pascal e o C++. Esses comandos serão interpretados e transformados em linguagem de máquina para que possam ser executados;

• Linguagem de nível intermediário: possui instruções mais lógicas, mas ainda assim pouco compreensíveis à linguagem humana. Seria o caso do Assembler, que possui comandos como move, push, pop etc;

• Linguagem de baixo nível: seria a linguagem de máquina, que manipula os bits por meio de linguagem binária (0 e 1).

Em relação ao tipo de instrução que o programa fornecerá no momento em que ele é executado/interpretado, a linguagem com o qual ele foi desenvolvido pode ser:

• Linguagem procedural, ou procedimental: linguagens que permitem a criação de rotinas, subrotinas e funções, contendo uma seqüência de instruções a serem executadas pelo computador, do começo ao fim. Podemos citar, como exemplos, as linguagens Pascal, C++, Java, PHP etc;

• Linguagem não-procedural ou não-procedimental: esse tipo de linguagem fornece as instruções a serem executadas, porém não como devemos construí-Ias. 0 exemplo mais conhecido seria a linguagem SQL.

ASP

Sigla para Active Server Pages, é um padrão para criação de páginas dinâmicas da Web, baseadas em JScript ou Visual Basic, que rodam no lado servidor. É compatível apenas em plataforma Microsoft. Um arquivo em ASP é semelhante ao HTML, e pode conter textos, código HTML, XML e scritps executados no servidor. Os arquivos ASP recebem a extensão asp. Essa linguagem permite editar o conteúdo de sites dinamicamente, manipular consultas de usuários feitas a partir de formulários em HTML, acessar bancos de dados etc.

Um arquivo ASP normalmente contém tags em HTML, mas também possui scripts de servidor delimitados pelos símbolos e 0 código delimitado por esses símbolos pode conter expressões, procedimentos, operações etc.

0 exemplo a seguir mostra um código que exibe uma mensagem no browser:

Java 1

Basicamente, o Java é composto por uma linguagem de programação e um programa para execução, chamado de máquina virtual ou virtual machine. Isto é, programamos em Java em um ambiente de desenvolvimento próprio da linguagem, o que gera um executável para o ambiente de distribuição Java.

0 Java é uma linguagem para diversos tipos de aplicação, como Web, jogos, dispositivos móveis, servidores etc. Também é multiplataforma. Quando compilamos um código Java, outro código é gerado, chamado bytecode. 0 bytecode é, então, interpretado pela máquina virtual Java (JVM) para a maioria dos sistemas operacionais. Isso porque a máquina virtual gera um ambiente multiplataforma para que um código seja compatível com qualquer ambiente. A JVM também pode carregar as classes de um programa, garantindo assim a integridade e segurança do sistema:

Vejamos algumas ferramentas Java:

Tabela 6.1.

As ferramentas descritas podem ser chamadas via linha de comando e são úteis quando queremos executar alguma rotina, independente do ambiente de produção; bastao um editor de textos, como o Bloco de notas, para implementar o código.

Compilador javac 1

0 javac é um compilador de códigos-fontes Java com um retorno em bytecodes, É encontrado dentro da pasta bin, de instalação. Para executá-lo, basta seguir a sintaxe:

As opções são as seguintes:

• classpath: define o caminho para as classes/bibliotecas;

•cp[caminho]: define o caminho para as classes/bibliotecas;

•d[dir]: define o diretório para armazenar os arquivos compilados;

• source: define a localização dos códigos-fontes para serem compilados;

• deprecation: define advertência para funções que não devem ser utilizadas;

• g: compila com debug (passo a passo);

• nowarn: desativa as mensagens de aviso;

• verbose: mostra detalhes da compilação;

• depend: compila todos os códigos-fontes, incluindo suas dependências;

• target: define a versão da JVM que irá executar o programa;

• o: otimiza o código para gerar programas mais rápidos;

• version: informa a versão do javac;

• help: ajuda que lista todas as opções disponíveis;

• x: exibe opções avançadas de compilação;

• J: passa um parâmetro fixo para o interpretador.

Interpretador java

Localizado na pasta bin, executa os bytecodes Java compilados. Para utilizá-lo, siga as instruções:

As opções são as seguintes:

• classpath: define o caminho para as classes/bibliotecas;

•cp[caminho] : define o caminho para as classes/bibliotecas;

• verbose: mostra detalhes da compilação;

• version: informa a versão do javac;

• help: ajuda que lista todas as opções disponíveis;

• x: exibe opções avançadas de interpretação;

• Xdebug: permite o uso de um depurador;

• D=: define propriedades com a chave nome=valor.

Javascript 1

0 Javascript consiste em uma linguagem interpretada, isto é, não é previamente compilada para gerar um executável, mas seu próprio código consiste em linhas executáveis.

Ao contrário do que muitos imaginam, o Javascript não tem relação com o Java, linguagem de programação poderosíssima que se encontra no mesmo nível do C++, e não apenas voltada para a Internet, como o Javascript, que, em geral, é aplicado embutido ao código HTML.

Para fazer a inclusão de um recurso em Javascript no HTML, utilizamos a tag <script>, que não só definirá o tipo de script por meio do atributo type, mas também delimitará os comandos propriamente ditos. Lembrando que, como demonstrado no exemplo abaixo, a tag <script> pode ser inserida tanto dentro da área delimitada pela tag <head> quanto da área pertencente à tag <body>:

0 local no qual se insere a tag de Javascript dependerá de quando se deseja que o script seja executado. Um Javascript embutido no cabeçalho da página, por exemplo, garante que ele será executado assim que a página for carregada. Seria o caso de algum evento que ocorre no carregamento da página (detectar hora de sistema, tipo de browser etc.). Colocar a tag de Javascript no corpo da página é mais conveniente quando se trata de um objeto gráfico (formulário, campo, botão etc.) que será posicionado na página.

Além disso, é possível chamar um recurso Javascript escrito em um arquivo externo. A criação de arquivos de scripts é interessante, pois permite o reaproveitamento de código. Nesse caso, o arquivo possui a extensão js e é chamado na página HTML da seguinte forma:

JSP

0 JSP (Java Server Pages) consiste em uma tecnologia para desenvolvimento de aplicações Web semelhante ao ASP (Active Server Pages), porém com a vantagem da portabilidade de plataforma, e não apenas em Sistemas Operacionais da Microsoft. Além do desenvolvimento de sites dinâmicos, é possível desenvolver aplicações com acesso a bancos de dados, a arquivos de texto, a criação de formulários, a coleta de informações sobre o visitante da página e sobre o servidor, a utilização de variáveis e estruturas de controle, entre outros. Por definição, JSP usa Java como linguagem de scripts. Por esse motivo, 0 JSP apresenta-se mais flexível e mais robusto do que outras plataformas baseadas simplesmente em Javascript e VBScript.

Quando uma página JSP é chamada pelo cliente por meio de um browser, ela é primeiramente executada pelo servidor, e, a partir daí, é gerada uma página HTML que será enviada de volta ao browser do cliente, conforme mostra a figura seguinte:

Figura 6.1: Funcionamento do JSP.

Quando o cliente faz a solicitação de um arquivo JSP, é enviada uma solicitação para a JSP Engine, que, por sua vez, envia o pedido especificado no arquivo. 0 componente controla essa requisição, permitindo a recuperação de arquivos em bancos de dados, ou em outro dado armazenado, respondendo para a JSP Engine. A JSP Engine e o servidor Web enviam a página JSP para o cliente, e assim ela poderá ser visualizada no browser.

PHP

PHP é um acrônimo recursivo para HypertextPreprocessor (Pré-processador de Hipertexto). É uma linguagem de script opera source para o desenvolvimento de aplicações Web, visto que seu código é muito utilizado embutido no código HTML, delimitado por tags iniciais e finais:

Uma característica bastante particular do PHP é o fato de todo o código ser executado no servidor (server-side). Assim, o cliente só recebe o resultado da execução do script, evitando o acesso ao código-fonte. Entre as funcionalidades que podem ser implementadas no PHP, estão coletar dados de formulários, gerar páginas com conteúdo dinâmico ou enviar e receber cookies.

Para trabalhar com o PHP, o programador precisa de um interpretador do PHP (como CO ou módulo), um servidor Web e um browser. Basta rodar o servidor Web conectado a um PHP instalado e acessar os resultados de seu programa por meio de um browser, visualizando a página PHP pelo servidor.

No entanto, também é possível fazer o PHP funcionar sem um servidor Web ou browser, utilizando apenas o interpretador. Seria o caso de escrever aplicações GUI no lado do cliente (c/ient-side).

0 PHP é multi plataforma, podendo ser implantado em ambiente Linux, Unix, Microsoft, Mac OS X, RISC OS etc. 0 PHP também é suportado pela maioria dos servidores atuais, incluindo Apache, Microsoft Internet Information Server, Personal Web Server, Netscape and iPlanet Servers, O'Reilly Website Pro Server, Caudium, Xitami, OmniHTTPd, e muitos outros. 0 PHP pode ser configurado como módulo para a maioria dos servidores, e para os outros como um CGI comum.

A flexibilidade também está na escolha do tipo de programação, que pode ser estruturada ou orientada a objeto, ou ainda a combinação das duas.

0 PHP ainda possui funcionalidade para gerar imagens, arquivos PDF e animações Flash criados dinamicamente, isto é, on the fly, além de criar padrões de texto, como arquivos XML.

0 suporte a banco de dados também é um destaque dessa linguagem, em que podemos destacar: Oracle, PostgreSQL, MS-SQL, Sybase, MySQL etc.

Este capítulo reúne as informações relacionadas ao projeto e desenvolvimento de sites, incluindo linguagens e padrões para Internet e aplicativos para manipulação de imagens, que, atualmente, estão diretamente ligados à programação Web e à divulgação de imagens na Internet.

Browsers

Um browser (ou navegador) é o meio de acesso mais comum à Internet. Por meio dele são solicitadas, mediante um endereço, as informações para um servidor. 0 servidor, por sua vez, possuindo essas informações, retorna ao browser o que foi solicitado, ou envia uma mensagem de erro, caso a informação seja inexistente. Vejamos um exemplo prático com uma página "genérica" acessada pelo endereço http://www.nomedapagina.com.br/index.html.

• http: protocolo de transferência de hipertexto (HyperText Transfer Protocol), que permite que dados sejam solicitados via browser;

• é o nome do domínio. Esse nome nada mais é que um "apelido", cujo objetivo é facilitar a chamada de um servidor, que, na verdade, é identificado por um endereço IP (seqüência de números que identifica um servidor ou qualquer computador dentro da Internet, dificilmente alguém decoraria o endereço IP de todos os sites que habitualmente acessa). Quem associa o nome do domínio ao IP é o DNS (Domais Name System). 0 nome "nomedapagina" é um domínio que deve ser registrado em um órgão oficial responsável por registro de domínios, ou alguma empresa autorizada a prestar esse serviço. É um nome único em toda a Internet. É cobrada uma taxa para se ter propriedade sobre o domínio, e, uma vez que você dele se desfaz, outras pessoas podem fazer uso; basta solicitar o pedido de propriedade e associá-lo ao seu endereço IP, além de pagar essa mesma taxa de ativação e manutenção;

• index.html: é o nome da página solicitada pelo browser, que existe no servidor identificado pelo domínio www.nomedapagina.com.br. 0 browser, então, receberá um retorno do servidor e mostrará todas as informações da página, isto é, interpretará o código HTML para mostrar o conteúdo da página devidamente formatado, carregará e mostrará as imagens, executará os scripts, caso existam etc. Ao contrário, se esse arquivo não existe, o ser vidor que deveria hospedá-lo envia ao browser uma mensagem de erro, mostrada pelo browser em geral com a mensagem Página não encontrada.

Os navegadores mais conhecidos são Microsoft Internet Explorer, Mozilla Firefox e Netscape Navigator.

HTML 1

Chamamos de site uma página, ou um conjunto de páginas, escritas em HTML, ligadas entre si por meio de links e cuja codificação é interpretada pelo browser.

Definição

0 HTML (HyperTextMarkup Language), como o próprio nome diz, é uma linguagem de marcação utilizada para produzir páginas para a Internet, interpretadas/exibidas por um browser. Em sua forma mais básica, o HTML é composto por estruturas de "marcação" denominadas tags. Porém, a linguagem possui uma enorme flexibilidade, permitindo que sejam embutidas chamadas e comandos de outras linguagens, além de executar diversos tipos de scripts e aplicativos a partir dela.

Tags

0 HTML é, basicamente, composto por tags, isto é, estruturas que demarcam e delimitam informações, definindo uma formatação ou instrução.

Em geral, as tags são utilizadas aos pares, que delimitam o início e o fim da informação a ser "marcada" (por formatação no modo como será exibida, definição de link etc.)

Existe uma estrutura básica obrigatória para que um documento seja considerado uma página HTML. Uma página em branco, por exemplo, possui pelo menos a seguinte estrutura:

As tags <html> e </html> são as mais externas e delimitam toda a definição e o conteúdo de uma página HTML. Para fins de informação, é opcional usar a tag <!DOCTYPE> antes da tag <html>, apenas para indicar que é um documento do tipo HTML. Esse tipo seria informado da seguinte maneira:

Porém, a partir do momento em que as informações são colocadas em uma página, o ideal é que elas estejam devidamente organizadas, para que o documento seja legível e para que sua manutenção seja feita de forma prática e rápida. Para isso, existem tags que dividem o documento em seções distintas. São elas:

Cabeçalho

Essa seção armazena e define informações gerais a respeito da página, como título, algumas formatações genéricas, e, se for de seu desejo, nome do autor, data etc. Essas informações são colocadas entre as tags <head> e </head>, que delimitam informações de cabeçalho. São as chamadas meta finfo. Suas tags são as seguintes:

Tabela 7.1.

Estruturalmente:

Observação: todas as tags internas ao <head> são opcionais, e a tag <meta> pode se repetir quantas vezes forem necessárias. Ela poderia ser usada, por exemplo, para informar os dados do autor da página, data de criação do documento etc.

Corpo

Nessa seção, serão incluídas todas as informações que o browser mostrar quando carregar uma página:

Tabela 7.2.

Vejamos um exemplo:

Formatações de texto

Conheça agora as tags de formatação de texto:

Tabela 7.3.

Inserção de imagem

Vejamos o que fazer para inserir uma imagem:

Tabela 7.4.

Inserção de Iinks

Vejamos como inseir links:

Tabela 7.5.

Inserção de listas

Agora, a inserção de listas:

Tabela 7.6.

Inserção de tabelas

Vejamos como proceder com a inserção de tabelas:

Tabela 7.7.

inserção de Trames

Por último, a inserção de frames:

Tabela 7.8.

Hierarquia

Ao contrário das linguagens de programação compiláveis e executáveis, cujas regras de sintaxe impedem o funcionamento de um programa, caso não sejam seguidas rigorosamente, o HTML consiste basicamente em comandos de formatação e mostra-se bastante flexível ao não apresentar regras que impossibilitem a visualização da página em um browser. Mesmo que algum comando não esteja corretamente digitado, o máximo que pode ocorrer é a visualização de uma informação mal-formatada. Ou seja, o que é definido em seu código-fonte será mostrado e qualquer problema de sintaxe será facilmente detectado.

Porém, existe uma hierarquia básica, isto é, um padrão que deve ser seguido na estrutura do código-fonte de uma página HTML. Observe:

• Toda e qualquer tag deve estar delimitada pelas tags <html> e </html>, que serão lidas e identificadas pelo browser como um documento HTML;

• Internamente, o documento HTML divide-se em duas partes: <head>...</head> e <body>...</body>, sendo que essas duas seções são distintas; uma não deve conter a outra. A seção de <head> conterá o título e demais detalhes gerais da página. A seção <body> conterá o corpo do documento, o que é exibido pelo browser;

• A seção <head> funciona como um cabeçalho sobre o documento HTML e delimitará as tags relacionadas com informações a respeito da página em si, ou seja, título, charset etc.;

• A seção <body> nada mais é que o "corpo" da página. Delimitará as tags relacionadas ao conteúdo que ela exibe: textos, imagens, links etc.

Resumidamente, uma estrutura inicial de um documento HTML teria a seguinte configuração:

WebStandards

Esse padrão foi desenvolvido (e ainda é, já que se trata de um processo contínuo) pelo W3C, World Wide Web Consortium (www. w3.org), um consórcio de empresas de tecnologia cujo objetivo principal é desenvolver e promover padrões mundiais de programação que permitam que uma aplicação ou site sejam acessados em qualquer lugar, a partir dos mais diversos dispositivos (computadores, PDAs, celulares etc.). E tudo isso sem que haja perda de suas características estéticas e funcionais. Fazem parte dessa padronização as linguagens HTML, XHTML, XML e CSS, entre outras.

css

Definição

As CSS (Cascading Sty/e Sheets), traduzidas como Folhas de Estilo em Cascata, surgiram como solução às deficiências e limitações que a linguagem HTML começou a apresentar há algum tempo. 0 surgimento de sites mais complexos, elaborados e repletos de recursos e informações (levando em consideração o aspecto estético das páginas) teve como conseqüência negativa arquivos HTML compostos por informações e formatações misturadas. Isso tornou a manutenção um tanto complicada, demorada e, na maioria das vezes, inconsistente e sem padrão.

A função principal das CSS é justamente extrair a formatação de uma página do código HTML, separando-a do conteúdo propriamente dito (informações). Além de aumentar o nível de organização, isso significa que elas podem definir, de antemão, a formatação de todos os elementos de uma ou várias páginas. Com isso, torna-se muito mais fácil manter uma padronização de fontes, cores e estilos de forma que será mais prático modificar tais atributos, visto que tal modificação será feita a partir do tipo de elemento ou classe (e não da informação). Toda alteração nos elementos e atributos das folhas de estilo modifica toda a página que a utiliza, dispensando a alteração tag a tag. Essa estilização também inclui mudança de propriedades em função de eventos.

Um layout definido em uma folha de estilo pode ser aplicado fazendo referência ao arquivo que contém as formatações, assim como os estilos podem ser definidos no cabeçalho do arquivo HTML que o utilizará (através da tag <style>), ou mesmo estar embutido no código. Mas, nesse último caso, a diferença para a formatação mesclada ao conteúdo praticamente não existe e perde-se muito das vantagens desse tipo de implementação. Ela deve ser utilizada somente para casos de formatações específicas para um único elemento.

Utilizando um arquivo CSS externo a sua página é possível, por exemplo, possuir vários arquivos de folhas de estilo diferentes e, quando se deseja modificar o layout de uma página, basta alterar a chamada ao arquivo CSS.

Resumindo, o uso das folhas de estilo (principalmente as externas) fornece não só a certeza de que todo o seu site estará padronizado e formatado por igual, como também oferece uma enorme economia no trabalho. Uma vez que um arquivo CSS pode ser reaproveitado para definir o layout de várias páginas ao mesmo tempo, dispensa-se a repetição de todo o código em cada arquivo HTML.

A seguir, um exemplo de definição de estilo (no caso, cor da fonte azul) para um cabeçalho (h1) do HTML:

Padrão Tableless

Como o próprio nome descreve, consiste num padrão de desenvolvimento de páginas com layouts não baseados em tabelas. Isso significa projetar layout e conteúdo separadamente, independentes um do outro. Algumas pessoas confundem o conceito, entendendo que o padrão condena qualquer uso de tabelas, mas não se trata exatamente disso. Esse padrão defende o uso de tabelas apenas para tabular dados, ou seja, para o propósito original da tag. Para os seguidores desse padrão, separar o layout do conteúdo significa desenvolver páginas mais leves e mais flexíveis, na medida em que o conteúdo livre se adaptará a qualquer browser, plataforma etc.

E esse conceito vai ao encontro do CSS (Cascading Style Sheets), visto que o objetivo principal das folhas de estilo é justamente possibilitar a separação de formatação e conteúdo e, assim, fornecer maior flexibilidade às páginas HTML.

Adobe Flash 1

Considerado um dos recursos mais conhecidos na área de interatividade e animação, o Flash, da Adobe, é um software específico para o desenvolvimento de aplicativos multimídia, que podem ser executados sozinhos, ou dentro de uma página HTML. Com ele, é possível tornar seu site interativo, criar anúncios e apresentações multimídia, jogos para Internet e até mesmo plataformas móveis.

A seguir, serão apresentados a interface do programa e os principais conceitos relacionados a esse aplicativo. A última versão do Flash é a CS3:

Figura 7.1: Interface do Flash.

Conceitos básicos

Neste item, definiremos alguns conceitos básicos da interface do Flash:

• Frame: um Trame pode ser definido como um quadro, ou seja, uma fração de tempo com o qual a duração total de uma animação é dividida, assim como acontece em filmes, cuja sucessão de quadros possibilita a criação de um movimento;

• Frame rate: define a velocidade com que os frames (quadros) serão executados, ou seja, é a velocidade da animação. A unidade do Trame rate é dada em fps (frames por segundo) e pode ser definida clicando-se duas vezes sobre a velocidade (cujo valor default é 12 fps), localizada na parte inferior da timeiine (linha de tempo);

• Keyframe: é um "quadro-chave", isto é, um frame especial que marca alguma mudança nas propriedades de um determinado elemento que, em conjunto com outros keyframes, compõem uma animação. Em um keyframe também é possível inserir códigos de scripts, que serão executados naquela fração de tempo marcada pelo keyframe;

• Layer: é uma "camada" que compõe uma animação em Flash. A distribuição dos elementos em /ayers distintos permite que os atributos desses elementos sejam modificados sem que uma alteração afete a outra. Além disso, em cada iayer podemos definir keyframes com ações e eventos, resultando na execução de ações simultâneas em uma mesma animação;

• Symbol: símbolos são elementos (imagens, botões e clipes de vídeo) inseridos em um arquivo Flash e que passam a fazer parte da Biblioteca de Símbolos (definida no item Interface). Quando um elemento é convertido em símbolo, ele passa a fazer parte de uma biblioteca utilizada em outros documentos. Além disso, ele se torna uma instância que faz parte do arquivo Flash e sua reutilização ocupa muito menos espaço se fosse adicionado novamente. Essas instâncias podem ter suas propriedades alteradas sem afetar os outros símbolos derivados delas;

• Timeiine: como o próprio nome diz, timeiine é uma "linha de tempo", que organiza e controla as /ayers e frames, que, por sua vez, possuem todo o conteúdo, ações e/ou eventos de uma animação ao longo de sua duração.

Adobe Dreamweaver

Atualmente, existem vários programas voltados à criação de páginas para a Internet, e o Dreamweaver, da Adobe, pode ser considerado o mais completo deles. 0 Dreamweaver consiste em um programa cuja área de trabalho permite desenvolver páginas e visualizar o resultado automaticamente. Ele permite que trabalhemos diretamente no código HTML, utilizando o modo Design apenas para conferir a formatação das tags, ou que produzamos páginas utilizando o conceito de que cada componente é um objeto que pode ser posicionado, movido, e ter suas características alteradas por meio de barras de ferramentas. Além de gerar códigos em HTML, o aplicativo permite a integração com recursos avançados, como folhas de estilo (CSS), scripts etc. A última versão do Dreamweaver é a CS3:

Figura 7.2: Interface do Dreamweaver.

Adobe Photoshop 1

0 Photoshop, da Adobe, consiste em um aplicativo mundialmente conhecido pelos seus recursos poderosíssimos em edição de imagens. Suas ferramentas possuem recursos de edição de imagens muito úteis para a correção de imperfeições, para retoques e para a criação de versões diferentes de uma mesma imagem, por meio da aplicação de filtros, oferecendo resultados excelentes e de qualidade profissional para os usuários que dominam suas funcionalidades.

0 Adobe Photoshop possui uma interface não muito complexa, porém muitas de suas funcionalidades não são descobertas com tanta facilidade, e nem todos as exploram em sua totalidade. Basicamente, o programa é composto, em sua interface, por um menu superior, uma barra de ferramentas lateral e as paletas de propriedades. A última versão do Adobe Photoshop é a CS3:

Figura 7.3: Interface do Photoshop.

Corei Draw

0 Corei Draw, da Corei, é um software para criação de ilustrações vetoriais e bidimensionais, sendo bastante utilizado na elaboração de trabalhos artísticos e publicitários, como logotipos, cartazes,,banners, capas de revistas e livros etc. A última versão do programa é o X3 e seu concorrente direto é o Adobe Illustrator.

Figura 7.4: Interface do Corei Draw.

Tipos de Imagens para a Web

Nem todos os tipos de arquivos de imagens são suportados nas páginas da Internet. 0 HTML, por exemplo, aceita os seguintes tipos de imagens:

• GIF (Graphics Interchange Format): ideal para ícones, imagens de cores sólidas (sem tons de cinza ou nuances, por exemplo);

• BMP (BitMap): embora aceito pelos browsers, seu uso é desaconselhado por ser um tipo não compactado, mapeado pixel a pixel, o que o torna muito grande/pesado;

• XBM (X BitMap);

• JPG ou JPEG (Joint Photographic Experts Group): ideal para fotos e imagens com grande variação de tons;

• PNG (Porta,ble Network Graphics).

Conceitos relacionados a bancos de dados

• Campo: unidade que armazena uma informação, podendo ser um nome, um código, um telefone etc. Cada campo possui um determinado tipo (caractere, numérico, data etc.) e só aceita informações desse tipo definido. Alguns campos também podem aceitar ficarem vazios;

• Registro: conjunto de campos com informações relacionadas, isto é, pertencentes a um mesmo assunto, pessoa ou empresa, por exemplo. Um registro com código, nome, endereço e telefone podem ser referentes a um cliente, do mesmo modo que um registro com CNPJ, razão social, nome fantasia, endereço e telefone armazena os dados de uma empresa;

• Tabela: é um conjunto de registros com a mesma estrutura (os mesmos campos). Considerando a estrutura do registro descrita na dica anterior, uma tabela de clientes seria formada por vários registros de clientes com os mesmos campos de código, nome, endereço e telefone;

• Bancos de dados: consiste em um conjunto de tabelas que podem ou não se relacionar entre si e, em geral, são utilizadas por um ou vários sistemas de computadores que acessam essas tabelas, tanto para incluírem novas informações quanto para consultá-las;

• Sistema Gerenciador de Bancos de Dados: consiste em um conjunto de aplicativos, recursos e funcionalidades que organizam e gerenciam todos os componentes de um banco de dados (conjunto de tabelas) para que ele, além de armazenar as informações, permita a consulta e manipulação dos dados de forma eficiente e confiável;

• Chave primária: pode ser definida como um ou mais campos cuja função é a de identificar um registro. Esse campo contém uma informação única e não permite que se repita na tabela a qual pertence. Uma chave primária é simples quando for definida por apenas um campo, e composta quando formada por mais de um campo;

• Relacionamento 1-1: ocorre quando um valor de um campo de uma tabela só pode ser referenciado em outra tabela uma única vez, e vice-versa, criando uma referência única;

• Relacionamento 1-N: ocorre quando um valor de um campo de uma tabela pode ser referenciado várias vezes em outra tabela, ou seja, vários registros de uma tabela podem possuí-lo como chave estrangeira;

• Relacionamento N-N: ocorre quando vários valores de um campo de uma tabela (no caso, a chave primária) podem se repetir várias vezes em um campo de outra tabela (como chave estrangeira).

Linguagem SQL

O SQL (Structured Query Language) é uma Linguagem de Consulta Estruturada que, por meio de seus comandos, permite leitura, gravação e manipulação de dados nas tabelas que compõem um banco de dados e atributos de sistema. Além de consultas diretas às tabelas, essa linguagem permite a implementação de procedimentos (storedprocedures), funções (functions) e gatilhos (triggers) que podem ser chamadas de aplicações desenvolvidas em outras linguagens. A seguir, uma breve descrição de cada uma elas:

• Stored Procedure: trata-se de um procedimento que pode ou não receber parâmetros de entrada e retornar dados de saída (quando o banco de dados permitir parâmetros In/out), assim como modificar tabelas do banco de dados por meio de inclusões, alterações e exclusões contidas em seu código. Um exemplo seria um procedimento chamado cadastra_Aluno receber como parâmetros o nome, o endereço, o telefone e a sala em que o aluno está matriculado. Essas informações serão recebidas pelo código do procedimento e gravadas na tabela de alunos;

• Function: uma função consiste em uma rotina que, ao ser chamada, executa seu código e retorna um resultado por meio de sua própria chamada. As funções podem ser implementadas e existem diversas funções próprias dos bancos de dados. Um exemplo seria uma função Date() retornar, pela chamada de seu nome, a data corrente do sistema, que deve ser atribuída à uma variável;

• Trigger: é chamado de "gatilho", pois é "disparado" em função de eventos que ocorrem nas tabelas do banco de dados. Não precisa ser chamado via código. Como exemplo, se criarmos um trigger relacionado a toda inclusão de informação em uma determinada tabela, podemos incluir um código-fonte que valida alguma informação na própria tabela ou em outro local, antes do dado ser incluído. Esse recurso é bastante útil para manter a consistência e integridade das informações.

PostgreSQL

0 PostgreSQL é um SGBD (Sistema Gerenciador de Banco de Dados) relacional de código aberto e gratuito que surgiu a partir do antigo Ingres da Universidade de Berkeley. Inicialmente, o PostgreSQL só rodava em plataforma Unix, mas, atualmente, já existe suporte para plataforma Windows. 0 site oficial do fabricante é http://www.postgresgl.org/.

MS SQL Server

Este é o banco de dados relacional da Microsoft. Possui integração com ferramentas e linguagens como o Framework.NET (para desenvolvimento de aplicações em VB.NET e C#, por exemplo), mas não é multi plataforma, como o PostgreSQL e o Oracle, ou seja, só roda em plataforma Microsoft. Entre as ferramentas do SQL Server estão o MS SQL Enterprise Manager (permite a configuração e o gerenciamento do banco de dados), o Query Analyzer (para execução de quer/es, consultas, às informações do banco de dados) e o Profile (que exibe um histórico das ações efetuadas no banco de dados, inclusive as que estão sendo executadas no momento). 0 site oficial do fabricante é http://www.microsoft.com/brasil/servidores/sql/default.mspx.

Oracle

0 Oracle é um banco de dados baseado em arquitetura Cliente/ Servidor, ou seja, os dados são requisitados no lado cliente e processados no servidor que, por sua vez, só retorna o resultado do processamento.

Essa divisão de tarefas divide o processamento entre dois sistemas, diminuindo o tráfego na rede e a sobrecarga de trabalho. Os dados enviados pelo lado cliente são armazenados em variáveis ou parâmetros, enviados ao servidor. 0 Oracle recebe esses dados e chama o processamento solicitado (pode ser uma storedprocedure ou function, por exemplo). Depois, o servidor só envia ao cliente um retorno informando se a tarefa foi concluída com sucesso ou não.

0 site do Oracle é www.oracle.com e suas principais ferramentas são as seguintes:

SQL*PLUS

É o ambiente que permite executar procedimentos e comandos individuais do SQL, sendo composto por um editor de queries em que é possível salvar as linhas de comando em arquivos sql ou executá-las.

Oracle Navigator

Consiste em uma interface gráfica que permite visualização e manipulação de todos os componentes do banco de dados. Por meio do Navigator, o desenvolvedor pode criar, alterar e excluir tabelas, procedimentos, functions, triggers etc. É muito útil para a organização e manutenção do banco de dados.

PL/SQL

É a linguagem SQL do Oracle, composta por todos os comandos SQL padrão, além de funções e comandos próprios do Oracle (devese tomar cuidado ao migrar esses códigos para outro banco de dados, pois existem diferenças na sintaxe).

MySQL 1

0 MySQL pode ser considerado o mais popular SGBD SQL opera source. Consiste em um banco de dados relacional. Funciona em plataforma Windows, Linux, FreeBSD, BSDI, Solaris, Mac OS X, SunOS, SGI etc. Compatível com drivers ODBC, JDBC, NET, entre outros. 0 MySQL contem apenas o SGBD, não possuindo interface gráfica própria para manipulação dos dados. 0 site do MySQL é www.mysgi.com.

Princípios de engenharia de software

A engenharia de software é uma disciplina dos cursos de Computação, ou da área da Tecnologia da Informação, que se refere aos aspectos da produção de software a partir de metodologias que padronizam e sistematizam seu desenvolvimento, desde sua especificação de sistema, passando pelo desenvolvimento e implantação, até o suporte. É um setor que envolve metodologias de software como a UML e ferramentas CASE, que auxiliam no projeto de aplicações.

Conceitos de modelagem de dados para ambiente relacional

Um banco de dados relacional organiza seus dados por meio de relacionamentos entre diversos elementos (já definidos no Capítulo 8, Bancos de Dados). Cada elemento (ou entidade) é representado por uma tabela. As linhas correspondem às tuplas, ou elementos, e cada coluna pertencente a essa tupla corresponde a atributos da relação.

Essa visão dos dados organizados em tabelas oferece um conceito bastante familiar e intuitivo para a estruturação das informações. Sem esquecer o forte embasamento matemático e lógico por trás dos conceitos utilizados em bancos de dados relacionais, além da uniformização na linguagem de manipulação de sistemas de bancos de dados relacionais por meio da linguagem SQL.

0 princípio básico do modelo relacional é o seguinte: toda informação é representada por valores em relações. Assim, as variáveis relacionais (conjunto de pares ordenados de domínio e nome que serve como um cabeçalho para uma relação) não são relacionadas umas às outras no momento do projeto, mas o mesmo domínio é utilizado para várias variáveis relacionais. Assim, se um atributo é dependente de outro, esta dependência é garantida por meio da integridade referencial.

Diagrama de entidade-relacionamento

A seguir, um esquema gráfico de um modelo Entidade-Relacionamento que exibe a relação entre várias entidades (tabelas):

Figura 9.1: Modelo Entidade-Relacionamento.

Conceitos de modelagem de bancos de dados orientados a objeto

0 desenvolvimento dos Sistemas de Gerenciamento de Banco de Dados Orientado a Objetos (SGBDOO) teve origem na combinação de conceitos dos modelos de dados tradicionais e de linguagens de programação orientada a objetos. Em um SGBDOO, o conceito de objeto é empregado no nível lógico e possui características não encontradas nas linguagens de programação tradicionais como, por exemplo, operadores de manipulação de estruturas, gerenciamento de armazenamento de dados, tratamento de integridade referencial e persistência dos dados.

Os modelos de dados orientados a objeto possuem um papel importante nos SGBDs. Em primeiro lugar, são mais adequados para tratamento e manipulação de objetos complexos (textos, gráficos imagens etc.) e dinâmicos (programas, simulações etc.). Em segundo lugar, por possuírem maior naturalidade conceitual e, finalmente, por estarem em consonância com tendências atuais em linguagens de programação e engenharia de software. A integração entre linguagens de programação e bancos de dados, por exemplo, é um dos problemas tratados de forma mais adequada no contexto de orientação a objetos.

A seguir, serão apresentados os principais conceitos relacionados a modelos de dados e SGBDs orientados a objeto.

Modelo de dados orientados a objetos

Teoricamente, podemos dizer que orientação a objeto consiste na organização do sistema como uma coleção de objetos que integram estruturas de dados e comportamentos relacionados. Esse modelo inclui o próprio conceito de objeto, além de definições como abstração, encapsulamento e outros, descritos também nesse capítulo.

Entidade

Consiste em uma unidade que representa um conjunto de informações a respeito de algo. Por exemplo, um sistema de compra e venda possuirá entidades de produtos, fornecedores, clientes, sendo que cada uma dessas entidades têm atributos referentes a elas, como código, nome (ou descrição), preço, endereço, telefone etc.

Abstração

Trata-se do processo de levantar apenas as propriedades comuns de um conjunto de objetos, omitindo os detalhes. A abstração é freqüentemente utilizada na definição de valores similares e na formação de um tipo a partir de outro (herança), em diferentes níveis de abstração. 0 uso de abstrações permite a geração de tipos baseada em hierarquias de tipos e de relacionamentos.

Os principais conceitos de abstração utilizados em bancos de dados são:

• Generalização: associação feita a partir de propriedades comuns de diferentes entidades. 0 processo inverso é chamado "especialização";

• Agregação: consiste em um processo de associação que pode ser descrito como "parte de".

Objeto

Os objetos são abstrações de dados do mundo real, com uma interface de nomes de operações e um estado local, omitido. Uma abstração de uma representação e das operações é suportada no modelo de dados orientado a objeto, ou seja, é incorporada às noções de estruturas de dados e de comportamento. Um objeto tem um estado interno descrito por atributos que podem apenas ser acessados ou modificados mediante operações e funções definidas pelo criador do objeto (e relacionados a ele). Um objeto individual é chamado de instância ou ocorrência de objeto e a parte estrutural dele (em banco de dados) é similar à noção de entidade no modelo Entidade-Relacionamento.

Identidade de objeto

Em um modelo composto por identidade de objetos, há ocorrência independente de seus valores correntes e dos endereços de armazenamento físico. A identidade do objeto é, normalmente, gerada por um sistema. A não-identificação dos objetos exclusivamente por meio de suas propriedades estruturais e comportamentais motivou a definição de identificadores únicos de objetos, que permanecem no tempo de forma independente ao estado interno do objeto. A identidade de objetos elimina as anomalias de atualização e de integridade referencial, uma vez que sua atualização refletirá automaticamente nos objetos que o referenciam e não em seu identificador.

Objetos complexos

Os objetos complexos são formados por construtores (estruturas que geram conjuntos, listas, registros etc.) aplicados a objetos simples (numéricos, booleanos, strings etc.). Nos modelos orientados a objeto, os construtores são em geral ortogonais, ou seja, qualquer construtor pode ser aplicado a qualquer objeto daquele mesmo tipo. Isso já não acontece no modelo relacional, em que só é possível aplicar o construtor de conjuntos às tuplas (conjunto de estruturas idênticas) e o construtor de registro a valores atômicos.

A manutenção de objetos complexos, independente de como são compostos, requer a definição de operadores apropriados para sua manipulação como um todo, diretamente relacionada a seus componentes. Exemplos destas operações são a atualização ou remoção de um objeto.

Encapsulamento

0 encapsulamento distingue a especificação e a implementação das operações de um objeto, provendo uma modularidade que permite uma melhor estruturação de aplicações consideradas complexas, bem como a segurança dentro do sistema. Isso porque em banco de dados se diz que um objeto está encapsulado quando o estado é oculto ao usuário e o objeto só pode ser acessado por meio das operações a ele associadas.

Tipo de objeto

0 tipo de objeto pode ser visto como a descrição ou especificação de um determinado objeto. Um tipo possui duas partes: interface (visível para o usuário do tipo) e implementação (visível somente para o usuário construtor do tipo). As vantagens em se ter um sistema de tipos de objeto em um modelo de dados estão na modularidade e segurança. Considerando a evolução do sistema, os tipos de objeto permitem a sua composição e modificação para a formação de novas especificações.

Classe

Consiste em um conjunto de objetos que possui o mesmo tipo (atributos, relacionamentos, operações). A noção de classe é associada ao tempo de execução, e pode ser vista como uma representação por extensão, enquanto o tipo é uma representação intencional. Cada classe tem um tipo associado, com estrutura e comportamento de objetos especificados. Dessa forma, a extensão da classe remete ao conjunto dos objetos existentes na classe e o tipo provê a estrutura desses objetos.

Herança

Mecanismo que permite ao usuário definir tipos de forma incremental, a partir de tipos já existentes, permitindo composições em que as propriedades de um ou mais tipos são reutilizadas na definição de um novo. Resumidamente, a herança corresponde à transfe rência de propriedades estruturais e comportamentos de uma classe para suas subclasses.

A principal vantagem em fazer uso desse mecanismo está em prover uma maior expressividade na modelagem dos dados, facilitando o reemprego de objetos, definindo classes por refinamento, e simplificando a evolução e a reutilização de esquemas de banco de dados.

Existem dois tipos de herança:

• Herança simples: nesse tipo de herança, um determinado tipo pode ter apenas um supertipo, ou seja, herdar propriedades de apenas uma classe. Podemos classificar esta herança em quatro subtipos: substituição, inclusão, restrição e especialização;

• Herança múltipla: nesta herança, um tipo pode ter supertipos isto é, herdar propriedades de várias classes. Existem, basicamente, dois tipos de conflitos referentes à herança múltipla: entre o tipo e o supertipo e entre múltiplos supertipos. 0 primeiro pode ser resolvido dando-se prioridade à definição presente no tipo, e não no supertipo.

Métodos e mensagens

Um método corresponde a algum comportamento de um determinado objeto, implementado por meio de operações associadas a uma ou mais classes, de forma similar aos códigos dos procedimentos usados em linguagens de programação tradicionais, que manipulam o objeto ou parte deste. Para cada operação, pode-se ter um ou mais métodos de execução associados.

Já as mensagens são a forma mais comum para ativar/chamar os métodos. Em um SGBD00, os objetos se comunicam e são ativados mediante mensagens enviadas entre eles.

Polimorfismo

Esse conceito define que uma determinada operação pode se comportar de diferentes formas em diferentes classes. Também é considerado polimorfismo o processo de passagem de diferentes tipos de objetos como parâmetros que serão enviados a outros objetos.

Quando um nome pode ser usado por mais de uma operação definida sobre diferentes objetos, damos o nome de sobrecarga (overloading). Já a redefinição de um operador para cada um dos tipos de objetos definidos caracteriza uma sobreposição (overriding).

Outros conceitos

• Extensibilidade: garante que o conjunto de tipos oferecidos pelo sistema permite a definição de novos tipos. Não há distinção entre os tipos pré-definidos e os definidos por quem desenvolveu o sistema;

• Completude computacional: significa que a linguagem de manipulação de um banco de dados orientado a objetos pode exprimir qualquer tipo de função computacional.

Conceitos de UML 1

UML (Unified Modeiing Language), ou Linguagem de Modelagem Unificada, consiste em uma linguagem padronizada para a elaboração de projetos de software. A UML pode ser empregada para visualizar, especificar, construir e documentar as partes que compõem um software.

A UML é o resultado da unificação da linguagem de modelagem de objetos: Booch, OMT (ObjectModeling Technique) e OOSE (ObjectedOriented Software Engineering). Em 1997, a UML tornou-se o padrão da indústria de software para a modelagem de objetos e componentes desde que foi aprovada pela OMG (Object Management Group).

Visões e diagramas da UML

A arquitetura de um sistema pode ser descrita por meio de cinco visões interligadas, sendo que cada uma constitui uma perspectiva na organização e estrutura do sistema. A UML é uma linguagem que abrange todas as visões necessárias ao desenvolvimento e implantação de sistemas:

• Visão de caso de uso: foca os comportamentos de um sistema e deve ser transparente a todos os envolvidos no projeto: gerentes, analistas, programadores e usuários finais;

• Visão de projeto: focaliza a estrutura de um sistema por meio da definição de classes, colaborações e interfaces de sistema;

• Visão de processo: tem foco nas questões de desempenho e escalabilidade do sistema;

• Visão de implementação: focaliza a estrutura física (programas, bibliotecas, bancos de dados) para a efetiva construção do sistema;

• Visão de implantação: focaliza a topologia do hardware, liberação e instalação do sistema.

Já um diagrama consiste em uma apresentação gráfica de um conjunto de elementos desenhados para permitir a visualização de um sistema como um todo, sob diferentes perspectivas. Os diagramas para a modelagem que envolve as cinco visões são:

• Diagrama de casos de uso: ilustra as interações do usuário com o sistema;

• Diagrama de classe: ilustra a estrutura lógica do sistema;

• Diagrama de objetos: ilustra os objetos e suas interações;

• Diagrama de estados: ilustra o comportamento dos elementos;

• Diagrama de componentes: ilustra a estrutura física do software;

• Diagrama de interações: composto pelo diagrama de seqüência e diagrama de colaboração, que em conjunto ilustram comportamentos, mas não de forma isolada, como o de estados;

• Diagrama de atividades: ilustra o fluxo dos eventos.

Vantagens

A modelagem de um sistema, incluindo todo o planejamento, antes da execução e implantação, é de extrema importância, visto que seu principal objetivo é aumentar a compreensão a respeito do sistema que será desenvolvido. Em um sentido mais amplo, um modelo pode ser considerado uma simplificação, e até uma previsão, da realidade. A UML permite avaliar a aderência e a qualidade da arquitetura mediante iterações prévias com o usuário, de forma que os problemas podem ser corrigidos antes de comprometer o sucesso do projeto. Utilizando uma linguagem de modelagem padrão, como a UML, os diferentes membros da equipe, tanto de desenvolvimento como ,business, podem comunicar suas decisões sem que haja desencontros ou diferenças de interpretação de informações.

Conceitos de processo unificado

Consiste no processo de desenvolvimento que explora integralmente as capacidades do padrão UML; é estruturado nas práticas comuns aos projetos de software existentes do mercado.

0 Processo de Software Unificado (em inglês RUP, Rationai Unified Process) pode ser entendido como a soma de um processo, com métodos e a UML.

0 desenvolvimento de sistemas seguindo o RUP pode ser um processo como os seguintes.

Dirigido por casos de uso (use cases)

Em que "caso de uso" é um modelo que define o que um sistema deve fazer da perspectiva dos usuários, subsistemas ou periféricos. Temos também o conceito de ator, que consiste no sujeito (algo ou alguém) que interage com o sistema a ser desenvolvido. Todos os casos de uso de um sistema compõem uma especificação funcional do sistema (modelo de casos de uso), ou seja, definem os requisitos do sistema e associam e sincronizam todos os fluxos de trabalho (workflows) de forma conjunta. Ao mesmo tempo, são coordenadas atividades como:

• Criação e validação da arquitetura do sistema;

• Criação de casos para teste;

• Planejamento e execução das iterações;

• Criação de documentação (manuais) do usuário;

• Implantação do sistema propriamente dito.

Centrado na arquitetura

Esse processo tem as seguintes características:

• Fornece o embasamento para a implementação do software;

• Melhora a compreensão e organização do desenvolvimento do sistema;

• Descreve a arquitetura que envolve os elementos mais importantes do sistema, como sua coleção de visões dos modelos;

• Prescreve um refinamento sucessivo da arquitetura.

Incremental e Iterativo

Esse processo é definido da seguinte forma:

• A identificação de riscos é adiantada;

• Preparação do sistema para requisitos que podem sofrer mudanças;

• Integração contínua (facilita a rotina de testes) e aprendizado facilitado;

• 0 desenvolvimento de miniprojetos (interações) incrementam o desenvolvimento;

• Modelos evoluem ao longo das iterações.

É importante lembrar que a arquitetura representa a forma, enquanto os casos de uso representam a funcionalidade, portanto ambos complementam-se e devem ser balanceados entre si.

0 RUP também define um conjunto de atividades devidamente definidas, com responsáveis específicos, com instrumentos de entrada e saída, com dependências e ordem de execução, com modelo de ciclo de vida, com descrição sistemática de como executá-las e utilizando linguagem UML.

Ciclo de vida de um software-produto

0 ciclo de vida de um software descreve as fases pelas quais ele deve passar, desde a sua criação até cair em desuso.

Existem várias propostas e denominações para as fases do ciclo de vida de um software. Uma das propostas identifica quatro fases delimitadas por eventos típicos, em diversos ciclos de vida. Cada fase inclui um conjunto de atividades ou disciplinas que devem ser realizadas pelas partes envolvidas. Vejamos.

Fase de definição

A fase de definição do software ocorre em conjunto com atividades como a modelagem de processos de negócios e análise de sistemas. Nesta fase, profissionais fazem um levantamento da situação atual a fim de identificar os problemas e, assim, elaborar propostas de solução em forma de sistemas computacionais que resolvam tais problemas. Dentre as propostas apresentadas, deve-se fazer um estudo de todas, considerando viabilidade, análise custo-benefício etc, para escolher qual a melhor solução.

Essa atividade deve resultar em decisões relacionadas à aquisição ou desenvolvimento do sistema, levantamento de informações sobre hardware, software, profissionais, procedimentos e documentação necessária.

Pelo desenvolvimento do sistema, no escopo da engenharia de software, é necessário elaborar o documento de proposta de desenvolvimento de software; este pode ser a base de um contrato de desenvolvimento.

Não existe um consenso sobre o que caracteriza o final da fase de definição, podendo variar de acordo com o modelo de processo adotado. Em algumas propostas, a fase de definição é considerada concluída com a apresentação da proposta de desenvolvimento apenas. Outros modelos de processo consideram que o software só estará completamente definido com a especificação de requisitos e a elaboração do plano de desenvolvimento de software. De acordo com o modelo de processo adotado, pode-se iniciar a fase de desenvolvimento, mesmo que a fase de definição não esteja completamente concluída.

Fase de desenvolvimento

A fase de desenvolvimento (ou produção) do software inclui todas as atividades que têm por objetivo a implementação do sistema, incluindo, principalmente, design, execução e verificação, e validação do software, definidos a seguir.

Design

A atividade de design envolve todo o processo de concepção e modelagem e tem por objetivo descrever como o software será implementado. 0 design inclui:

• Design conceitual: envolve a elaboração das idéias e conceitos básicos que determinam os elementos fundamentais do software a ser desenvolvido. 0 design conceitual exerce influência direta na interface de usuário e na arquitetura do software;

• Design da interface de usuário: envolve a definição da maneira como o usuário poderá realizar suas tarefas, como será a interface do sistema (botões, menus, caixas de texto etc.), o layout etc. A interface deve garantir a boa usabilidade do software e é um fator imprescindível para qualquer software bem-sucedido;

• Design da arquitetura do software: deve promover uma visão macroscópica do software em relação a componentes que interagem entre si. 0 conceito de componente em arquitetura varia de acordo com a visão de arquitetura adotada, que pode ser conceituar, modular, de código e de execução;

• Design dos algoritmos e estruturas de dados: também conhecido como design detalhado, seu principal objetivo é determinar, de maneira independente da linguagem de programação escolhida, as soluções algorítmicas e as estruturas de dados associados a ele.

Implementação

Essa fase envolve atividades de programação, compilação, integração e testes. A programação, ou codificação, traduz o design em programa, por meio de linguagens e ferramentas adequadas. A programação deve refletir a estrutura e o comportamento predefinidos no design. Todos os componentes devem ser codificados individualmente para então serem integrados. Os testes podem ser iniciados durante essa fase de implementação. A detecção de erros ocorre durante a programação, utilizando técnicas e ferramentas predeterminadas. 0 controle e gerenciamento de versões, para que se tenha um controle correto de tudo o que está sendo codificado, é essencial.

Verificação e validação

Essas atividades destinam-se a demonstrar que o sistema está de acordo com sua especificação e que ele atende às expectativas de clientes e usuários. A validação garante que o programa executa o que foi definido em sua especificação e a verificação avalia se o programa está correto, isto é, se não possui erros de execução. Isso pode ser feito por meio de revisão de modelos, documentos e códigos-fontes.

Fase de operação

A fase de operação envolve diferentes tipos de atividades.

Distribuição e entrega

Podem ser feitas diretamente pelo desenvolvedor (em caso de software personalizado), em um pacote a ser vendido em lojas especializadas, ou, até mesmo, ser baixado pela Internet (no caso de pacotes genéricos).

Instalação e configuração

Geralmente, é feito por meio de um software de instalação, disponibilizado pelo fabricante, com suporte ao cliente.

Utilização

A atividade de utilização é o principal objetivo do desenvolvimento do software. A qualidade da utilização é a perfeita usabilidade do software.

Manutenção

Uma manutenção pode ocorrer e ser compreendida de duas formas: para fins de correção e para fins de atualização. A manutenção corretiva visa a resolver problemas referentes à qualidade do software (falhas de desenvolvimento, baixo desempenho, baixa usabilidade etc.). Já a atualização visa à manutenção evolutiva ou adaptativa para a produção de novas versões do software, de forma a atender novas necessidades dos clientes, adaptação a novas tecnologias (hardware, sistemas operacionais, linguagens etc).

Fase de retirada

A fase de retirada consiste em um passo bastante delicado, visto que, quando um software funciona bem, é estável e confiável, dificilmente o cliente aceita alguma alteração, ao considerar que essa mudança não é necessária para garantir a continuidade da qualidade. Nessa fase, processos de reengenharia podem ser aplicados para viabilizar a transição ou migração de um software para uma nova solução, de forma a proporcionar uma retirada sem grandes traumas.

Ferramentas CASE

CASE é a sigla para Computer-Aided Software Engineering, ou Engenharia de Software Auxiliada por Computador. Uma ferramenta CASE consiste em um aplicativo que auxilia os profissionais dessa área na tarefa de projetar e produzir softwares. Basicamente, as ferramentas se dividem em três categorias:

• Upper CASE: ferramentas de análise, projeto e implementação;

• Lower CASE: ferramentas de codificação (front-end);

• Integrated CASE: integração de Upper e Lower CASE.

Uma das características mais importantes de uma ferramenta CASE é a modelagem visual, isto é, a capacidade de representar, mediante modelos gráficos, o que está sendo definido e como isso está sendo feito.

A seguir, alguns exemplos de ferramentas CASE bastante utilizadas:

• Rational Rose (http://www-306.ibm.com/software/rational/);

• Microsoft Visio (http://office.microsoft.com/en-gb/visio/default.aspx?ofcresset=1);

• System Architect (http://www.telelogic.com/index.cfm?);

• Enterprise Architect (http://www.sparxsystems.com.au/).

Neste capítulo, serão definidos os principais tipos de licença de uso, distribuição e alteração de softwares aplicados atualmente.

BSD

Essa licença refere-se às distribuições dos softwares da Berkeley Software Distribution, entre outros programas, e impõe poucas restrições em relação à forma de uso, alterações e redistribuição do software licenciado. 0 software pode ser vendido e não há obrigações quanto à inclusão do código-fonte, podendo ser inserido em qualquer software proprietário. Esta licença garante o crédito aos autores do software, mas não que trabalhos derivados permaneçam como software livre.

Copyleft

Consiste em uma versão do copyright que define explicitamente as condições sob as quais as cópias, modificações e redistribuições de um software podem ser feitas, garantindo a liberdade de modificar e redistribuir o software desde que ele seja licenciado.

Debian

Essa licença é parte do contrato social estabelecido entre a Debian e a comunidade de usuários de software livre, e é chamada de Debian Free Software Guideiines (DFSG). Essa licença envolve critérios para a distribuição que incluem, além da exigência da publicação do código-fonte, a obrigação da redistribuição ser livre e acompanhada do código-fonte, a possibilidade de trabalhos derivados serem redistribuídos sob a mesma licença do original, a possibilidade de haver restrições quanto à redistribuição do código-fonte, se o original for modificado, o fato de não poder haver discriminação contra qualquer pessoa ou grupo de pessoas, nem quanto a formas de utilização do software, garantia dos direitos outorgados, não dependência da distribuição na qual o software se encontra etc.

Freeware

Licença aplicada a programas cuja redistribuição é permitida, porém não pode haver modificação e seu código-fonte não é acessível, como acontece com o opera source e com o software livre.

GPL

GNU, GeneraiPu,biic License, ou Licença Pública Geral, é a licença para os pacotes distribuídos pelo Projeto GNU, incluindo o kernel (núcleo) do sistema operacional Linux. Essa licença não limita a distribuição do software protegido por ela, mas impede que este software seja integrado com algum programa proprietário. A GPL é baseada na legislação internacional de copyright, o que garante a parte legal para o software licenciado com a GPL.

Open Source

A licença do Open Source initiative é derivada da Licença Debian, e corresponde ao código aberto, em que é possível não apenas copiar o software, mas também acessar seu código-fonte para efetuar modificações.

Shareware

É o tipo de licença que permite que um software seja redistribuído, mas a sua utilização implica no pagamento pela sua licença. Em geral, o código-fonte não é aberto, impossibilitando alterações.

Software comercial

Trata-se do tipo de software desenvolvido com fins comerciais (de lucro sobre venda). Cuidado para não confundir o software comercial com o proprietário: a maioria dos softwares comerciais é proprietário, porém existem softwares livres que são comerciais, assim como existem softwares não-livres e não-comerciais.

Software de domínio público

Consiste no software sem copyright. Porém, nem toda cópia ou versão modificada pode ser considerada livre, visto que o autor pode impor restrições adicionais a elas.

Software livre

Tipo de software disponível para utilização, cópia e distribuição, seja no formato original ou alterado, seja com custo ou não. A possibilidade de modificações implica a abertura do código-fonte. É importante não confundir software livre com software gratuito, pois a liberdade do software livre para cópia, alteração e redistribuição não tem relação com a gratuidade. Por exemplo, existem programas gratuitos que não podem ser modificados e nem redistribuídos.

Software proprietário 1

É a licença que, por parte do proprietário, proíbe cópia, redistribuição ou modificação de um software. Qualquer cópia ou redistribuição deve ser feita mediante autorização de quem o desenvolveu. É possível ter de pagar para obtê-la.

Software semi-livre

Nesse tipo de licença, é permitido o uso, a distribuição e a modificação (inclusive distribuição de modificações), desde que sejam feitos com fins lucrativos.

Neste capítulo, serão fornecidos tópicos sobre segurança digital. Eles serão devidamente acompanhados de conceitos relacionados ao assunto, para que o leitor obtenha, ao mesmo tempo, informações teóricas e práticas sobre essa área tão em foco nos dias de hoje.

Antivírus 1

Consiste em um programa que possui um banco de dados com informações a respeito de vírus e outros programas mal-intencionados, capazes de danificar o computador por meio de alterações no sistema, ou por exclusão de arquivos importantes, coleta de informações confidenciais etc. Por esse motivo, para um antivírus ser eficiente e eliminar os vírus ("limpando", ou, em último caso, excluindo o próprio arquivo, desde que o usuário permita essa ação) que possam ter infectado um computador, ele precisa, em primeiro lugar, estar sempre atualizado. A cada atualização, não apenas suas funcionalidades são aperfeiçoadas, mas também as informações a respeito dos novos vírus que surgem diariamente, propagados na Internet com extrema rapidez. 0 ideal é que o antivírus seja configurado para trabalhar em segundo plano, monitorando a execução dos programas, a memória, os arquivos baixados via Internet, ou os que vêm anexos em e-mails. Alguns exemplos de antivírus são: Avast, AVG, Kaspersky, Norton/Symantec e PandaVirus. A maioria dos antivírus é paga, porém encontramos algumas opções gratuitas, ainda que nem tão eficientes.

Anti-spyware

Um spyware é basicamente um software (Trojan ou Cavalo de Tróia) que coleta informações pessoais do computador sem que você saiba, podendo estas serem os sites na Web que você visita, até informações mais críticas, como nomes de usuários e senhas. Você pode ser alvo de um spyware ao fazer download de arquivos por meio de programas de compartilhamento (P2P), ao participar de jogos gratuitos de sites, ou ao executar softwares de origem desconhecida. Um spyware é freqüentemente associado a softwares que exibem propagandas, chamados AdWare (Advertising Software, software especialmente projetado para apresentar propagandas). Alguns anunciantes podem instalar softwares AdWare em seu sistema e gerar diversos anúncios não solicitados, que poderão sobre carregar seu computador e diminuir sua produtividade. Existem no mercado diversos anti-spywares, que devem também funcionar em segundo plano, principalmente quando o computador está ligado à Internet. Alguns deles são: Counter Spy, Microsoft AntiSpyware, Spy Bot, Spyware Doctor e Spy Sweeper.

Firewaii

Pode ser descrito como uma barreira/muro de proteção que controla o tráfego de dados entre computador (ou uma rede) e a Internet. Sua principal função é a de permitir e autorizar a transmissão e a recepção de dados, além do acesso externo. Existem firewalls baseados na combinação de hardware e software e firewalls baseados somente em software, sendo este último tipo o mais recomendado para uso doméstico. Vejamos os tipos de firewall:

• Filtragem de pacotes: recurso bastante utilizado em redes de pequeno e médio porte. Determina, na camada TCP/IP, quais endereços IPs e dados podem ou não estabelecer comunicação e/ou transmitir/receber dados por meio de um conjunto de regras estabelecidas, que podem ser de e-mail, de acesso à Internet, de permissão para utilizar programas de mensagens instantâneas etc;

• Firewall de aplicação: também conhecidos como proxys, eles controlam aplicações como SMTP, FTP, HTTP etc. Geralmente, são instalados em servidores. Este tipo de firewall é um intermediador que não permite comunicação direta entre a rede e a Internet, isto é, todo o tráfego passa, antes, por ele.

Algumas opções de firewall são: Agnitum Outpost Firewall, Comodo Personal Firewall, Kerio Personal Firewall, Sygate Personal Firewall e Zone Alarm.

Filtro anti-spam

Spam é o termo utilizado para definir e-mails não solicitados que, em geral, são enviados para um grande número de pessoas. 0 conteúdo dessas mensagens, normalmente, é de correntes (chain letters), boatos e difamações (hoaxes), propagandas, pornografia, códigos maliciosos, fraudes etc. 0 e-mail não solicitado enviado em grande quantidade é chamado UBE (Unsolicited Bulk E-mail, ou Email em Massa Não-solicitado). 0 tipo de mensagem exclusivamen te comercial é chamada de UCE (Unsoiicited Commerciai E-mai/, ou E-mail Comercial Não-solicitado). Um filtro anti-spam define regras que direcionam esse tipo de e-mail para uma pasta específica, ou até o exclui automaticamente. Esse mecanismo anti-spam verifica se há muitos destinatários em uma determinada mensagem, ou busca palavras que aparecem com freqüência em mensagens desse tipo, nos campos relativos ao assunto e no corpo da mensagem. Em geral, programas de e-mail e provedores de acesso à Internet oferecem esse serviço.

Protocolos SSL e SSH

Sigla para Secure Sockets Layer, o SSL consiste em um protocolo desenvolvido pela Netscape para a transmissão de documentos particulares/confidenciais na Internet. 0 SSL utiliza um sistema de criptografia que usa duas chaves para criptografar e descriptografar os dados: uma chave pública conhecida e uma chave secreta conhecida somente pelo destinatário da mensagem. Sites de comércio eletrônico que utilizam esse protocolo possuem um pequeno cadeado fechado, ou chave, no canto inferior da tela. De qualquer modo, evite salvar senhas nos sites e programas que você costuma utilizar.

Já o protocolo SSH (Secure Shell) utiliza criptografia específica para acesso a um computador remoto, permitindo a execução de comandos, transferência de arquivos etc.

Tipos de arquivos suspeitos 1

Nunca execute ou abra qualquer arquivo anexado a mensagens de e-mail, principalmente as de origem desconhecida, não solicitada, ou quando possuir as extensões EXE, COM, SCR, PIF, BAT, CMD, DPR, ASX. Quando o e-mail for enviado por um remetente conhecido, confirme com ele se o conteúdo do arquivo é confiável, e até mesmo se foi ele quem anexou tal arquivo no e-mail, pois existem vírus que enviam e-mails infectados a todos os contatos do catálogo de endereço dos aplicativos de e-mail.

Informações adicionais

Obtenha mais informações a respeito de segurança digital nos seguintes sites:

• Guia SERASA de Orientação ao Cidadão: http://www.serasa.com.br/guiainternet/index.htm

• CERT.BR (Cartilha de Segurança para Internet): http://cartilha.cert.br

Neste capítulo, apresentaremos algumas questões típicas de concursos públicos na área de tecnologia. As questões foram retiradas de concursos e simulados. Os assuntos são variados, e podem exigir do candidato um simples atalho do Word, até noções avançadas sobre protocolos de rede. Essas questões também visam a complementar o conteúdo do livro por meio dos comentários que as acompanham.

Questões

1) Considerando que você está editando um texto no MS Word, versão em Português, assinale a opção que indica o resultado correto para o comando mencionado:

A) Ctrl + T faz a transferência do texto para um arquivo a ser especificado.

B) Alt + A exibe o menu Ajuda.

C) Alt + E abre o menu Exibir.

D) Ctrl + Z desfaz a última digitação.

E) Ctrl + 1 abre a janela Imprimir.

Comentário: a resposta correta é D. Ctrl + T seleciona todo o texto e Alt + A abre o botão Office. As outras opções não ativam comandos. Embora seja uma questão simples torna-se, ao mesmo tempo, difícil, pelo fato de que não é possível decorar tantos atalhos. Esse tipo de questão sempre aparece em provas e, por isso, é aconselhável ter um conhecimento básico a respeito de atalhos, principalmente do Microsoft Office.

2) Memória interposta entre RAM e microprocessador, ou já incorporada aos microprocessadores, destinada a aumentar a taxa de transferência entre RAM e o processador. Esta descrição define qual memória?

A) Virtual.

B) Secundária.

C) Principal.

D) Cache.

E) ROM.

Comentário: a resposta correta é D. Memória cache é um recurso que permite acelerar processos, liberando o processador de cálculos repetitivos, uma vez que tais resultados ficam nela armazenados. Memória virtual é a que utiliza o disco rígido para armazenar informações temporariamente. Memória secundária é o disco rígido. Memória principal é a RAM, e a ROM é a memória somente para leitura, que possui dados permanentes e não aceita gravação.

3) No Excel, selecionando as células cujos dados farão parte de um gráfico, ao clicar no botão Gráfico, o que acontecerá?

A) 0 gráfico será gerado automaticamente e inserido na planilha imediatamente.

B) Surgirá o assistente de gráfico para que se possa escolher qual o tipo de gráfico desejado, permitindo ainda que seja exibido um modelo de como ficarão os dados de acordo com o tipo selecionado.

C) 0 Excel solicitará a posição X e Y para inserção do gráfico.

D) 0 Excel solicitará apenas o nome a ser atribuído ao gráfico e fará a inserção.

E) Todas as afirmações são falsas.

Comentário: a resposta correta é B. A Microsoft tem por característica o uso de assistentes para auxiliar em alguma tarefa concluída apenas com vários passos.

4) 0 componente de rede que tem as sete camadas do modelo OSI, capaz de conectar redes completamente distintas, como uma rede SNA com uma rede local, é denominado:

A) Conector RJ-45.

B) Gateway.

C) Ponte.

D) Hub.

E) Switch.

Comentário: a resposta correta é B. Conector RJ-45 é o utilizado nos cabos de rede, que liga um computador (por meio da placa de rede) a outro dispositivo (modem, hub etc.), a ponte (ou bridge),hub eswitch são equipamentos para redes locais. 0 gateway pode ser um computador dedicado que interliga uma rede a outras redes, independente de que tipo elas são.

5) 0 IP, do conjunto de protocolos TCP/IP, utilizado em redes de computadores e na Internet, tem como uma de suas finalidades:

A) Prestar um serviço de entrega garantida na camada de transporte.

B) Prestar um serviço de transporte orientado à conexão.

C) Rotear os dados entre a máquina de origem e a máquina de destino.

D) Prestar um serviço de transporte não-orientado à conexão.

E) Abrir e fechar uma conexão em um serviço de comunicação identificado por número de portas.

Comentário: a resposta correta é C. 0 IP é um número que identifica um computador em uma rede e na Internet. 0 protocolo TCP/IP atua na camada de transporte, considerando os endereços (IPs) de origem e destino.

6) Em relação aos protocolos utilizados pelos servidores de email, é correto afirmar que:

A) 0 IMAP é capaz de enviar mensagens ao servidor com a utilização do seu próprio protocolo ou do protocolo P0P3, padrão nos servidores e clientes de e-mail.

B) 0 IMAP é capaz de fazer recuperação seletiva de partes de mensagens ou mensagens inteiras.

C) Quando um usuário utiliza, em conjunto, os servidores P0P3 e IMAP e clientes P0P3 e IMAP para enviar e receber mensagens, ele pode solicitar informações do tamanho da mensagem e do espaço livre na caixa de correio eletrônico no servidor, antes de solicitar sua transferência.

D) Quando um usuário se conecta a um servidor SMTP, mediante um cliente SMTP, ele pode solicitar informações sobre as mensagens, partes das mensagens ou as próprias mensagens.

E) Quando um usuário se conecta a um servidor P0P3 mediante um cliente P0P3, ele pode solicitar informações do tamanho da mensagem antes de solicitar sua transferência.

Comentário: a resposta correta é B. 0 protocolo IMAP também é utilizado, assim como o POP3, para o recebimento de mensagens. Porém, ele é um pouco mais evoluído, pois permite a solicitação de informações específicas a respeito de uma mensagem, o que o POP3 não faz. 0 SMTP é um protocolo de envio de mensagens.

7) Analise as seguintes afirmações relacionadas à Segurança da Informação:

1. Um Firewall de estado inspeciona o tráfego para evitar pacotes ilegítimos, guardando o estado de todas as últimas transações efetuadas.

II. Um Spyware é um programa que recolhe informações sobre o usuário e sobre seus costumes na Internet e transmite estas informações a uma entidade externa na Internet, sem o conhecimento ou consentimento do usuário. Diferem dos cavalos de Tróia por não terem como objetivo que o sistema do usuário seja dominado ou manipulado.

III. Nos sistemas de Segurança da Informação existem alguns métodos que verificam se uma mensagem em trânsito foi alterada. Este procedimento visa a garantir o não-repúdio.

IV. 0 foco principal dos sistemas de Segurança da Informação para a Internet são os desastres, como incêndio, falhas elétricas e erros dos usuários.

Indique a opção que contenha todas as afirmações verdadeiras:

A)1elll

B) II e III

C) III e IV

D)1eII

E) IIeIV

Comentário: a resposta correta é D. Os sistemas de Segurança da Informação têm por objetivo assegurar cinco itens: integridade, disponibilidade, não-repúdio, autenticidade e confidencialidade. E isso se refere à manipulação e armazenamento dos dados, não tendo relação com transporte ou riscos externos.

8) Analise as seguintes afirmações relativas a elementos de interconexão de redes de computadores:

1. As pontes são dispositivos que podem ser utilizados para dividir e isolar o tráfego entre os segmentos de uma rede.

II. Quando redes locais são interligadas por pontes, os quadros para o endereço de broadcast são propagados em todas as redes.

III. Os switches funcionam como uma ponte simplificada, servindo apenas para interligar dois hubs com a mesma velocidade de transmissão e com uma distância entre si superior ao permitido pelo meio de transmissão, operando como um simples repetidor.

IV. Da mesma forma que os switches, os gateways são roteadores utilizados para interligar redes que operam com diferentes protocolos na camada física.

Indique a opção que contenha todas as afirmações verdadeiras:

A)1e11

B) II e III

C) III e IV

D)1elll

E) IIeIV

Comentário: a resposta correta é A. Hubs e switches interligam computadores em uma rede local, e não redes.

9) Analise as seguintes afirmações relacionadas a Bancos de Dados e à linguagem SQL:

1. A cláusula GROUPBY do comando SELECT é utilizada para dividir colunas em conjuntos maiores de dados relacionados entre si.

II. Uma view é uma forma predeterminada de visualizar dados de uma ou mais tabelas como se fosse apenas uma tabela.

III. Quando o comando DROPTABLE é executado, as estruturas da tabela e os dados são excluídos. Porém, quando o DROPVIELA é executado, nenhum dado referenciado pela view é afetado.

IV. 0 trigger é um tipo de view criado quando um evento em particular ocorre.

Indique a opção que contenha todas as afirmações verdadeiras:

A) II e III

B)1eII

C) IIIeIV

D)1elll

E) IIeIV

Comentário: a resposta correta é A. 0 comando GROUP BY agrupa registros que contém uma determinada informação, sendo possível assim somar ou totalizar outros dados ligados a esse dado. Trigger é um "gatilho", disparado em função de um evento executado em uma tabela, e efetua alguma tarefa necessária para manter o banco de dados consistente. Por exemplo, quando se exclui um registro, é possível definir uma trigger que altera um status desse dado excluído e que esteja presente em outra tabela.

10) Analise as seguintes afirmações relacionadas a conceitos gerais de Informática:

1. 0 chipset é conjunto de chips que compõem a memória RAM e a memória cache de um computador.

II. 0 barramento AGP (Accelerated Graphics Port) é o padrão de barra mento desenvolvido pela Intel. Trata-se de um siot à parte, sem qualquer ligação com os slots PCI e ISA, para ser utilizado exclusivamente por placas de vídeo 3D.

III. 0 BIOS (Basic Input/Output System, Sistema Básico de Entrada e Saída) é a parte integrante do Sistema Operacional que gerencia o fluxo de dados entre o barramento do computador e os dispositivos periféricos a ele conectados.

IV. A evolução dos sistemas de arquivos de FAT-16 para FAT-32 permitiu romper algumas limitações do tradicional sistema FAT-16. Uma delas foi o limite de 2 GB por partição existente no sistema FAT16, que pode chegar a 2 Terabytes no sistema FAT-32.

Indique a opção que contenha todas as afirmações verdadeiras:

A)1eII

B) II e III

C) IIIeIV

D)1elll

E) IIeIV

Comentário: a resposta correta é E. 0 chipset trabalha em conjunto com a placa-mãe, e não com as memórias. A BIOS não é parte do sistema operacional e, sim, responsável por executá-lo.

Table of Contents

créditos

Sumário

Capítulo 1

Capítulo 2

Capítulo 3

Capítulo 4

Capítulo 5

Capítulo 6

Capítulo 7

Capítulo 8

Capítulo 9

Capítulo 10

Capítulo 11

Capítulo 12