You are on page 1of 101

Instituto Politcnico de Bragana

Escola Superior de Tecnologia e de Gesto

Departamento de Informtica e Comunicaes

Introduo aos Sistemas Informticos

Apontamentos das Aulas Tericas

Autores:

Nuno Gonalves Rodrigues Paulo Alexandre Vara Alves

Adaptao:

Reis Lima Quarteu

Licenciaturas: Engenharia Informtica Engenharia Mecnica Engenharia Qumica Gesto e Engenharia Industrial Docentes: Reis Lima Quarteu Cndida Silva Lcia Torro Pedro Dias Ano Lectivo: 2004/2005

Apontamentos das Aulas Tericas

ndice Geral
1 Unidades Funcionais de um Computador........................................... 5
1.1.A Unidade Central de Processamento.............................................................................. 6
1.1.1.Unidade Aritmtica e Lgica.................................................................................................. 6 1.1.2.Unidade de Controlo.............................................................................................................. 7 1.1.3.Memria Interna.................................................................................................................... 7

1.2.A Memria..........................................................................................................................7
1.2.1.Parmetros de Classificao das Memrias.......................................................................... 7 1.2.2.Memria Primria................................................................................................................. 9 1.2.3.Memria Secundria........................................................................................................... 10 1.2.4.Memria Cache.................................................................................................................... 12 1.2.5.Memria Virtual................................................................................................................... 12

1.3.Os Sistemas Perifricos....................................................................................................13


1.3.1.Dispositivos de Entrada....................................................................................................... 13 1.3.2.Dispositivos de Sada........................................................................................................... 13 1.3.3.Dispositivos de Entrada e de Sada..................................................................................... 14

1.4.Breve Anlise Comparativa............................................................................................ 15

2 Armazenamento de Dados................................................................ 17
2.1.Armazenamento de Bits...................................................................................................17
2.1.1.Portas Lgicas...................................................................................................................... 17 2.1.2.Flip-Flops............................................................................................................................. 19 2.1.3.Notao Hexadecimal......................................................................................................... 20

2.2.Codificao da Informao para Armazenamento.......................................................21


2.2.1.Representao de Smbolos................................................................................................. 21 2.2.2.Representao de Nmeros................................................................................................ 23

2.3.O Sistema Binrio...........................................................................................................24


2.3.1.Adio Binria..................................................................................................................... 24 2.3.2.Fraces Binrias................................................................................................................ 25

2.4.Armazenamento de Inteiros...........................................................................................26
2.4.1.Complemento para Dois...................................................................................................... 26

3 Manipulao de Dados..................................................................... 28
3.1.Conceito de Programa.................................................................................................... 28 3.2.Execuo de Programas.................................................................................................30 3.3.Comunicao Computador-Perifrico...........................................................................32
3.3.1.Comunicao Srie.............................................................................................................. 32 3.3.2.Comunicao Paralela........................................................................................................ 33

4 Sistemas Operativos......................................................................... 34
4.1.A Evoluo dos Sistemas Operativos............................................................................. 34
4.1.1.Classificao do Software.................................................................................................... 34 4.1.2.Tipos de Processamento...................................................................................................... 35

4.2.Arquitectura....................................................................................................................35

Introduo aos Sistemas Informticos

2004/2005

ESTiG/IPB

Apontamentos das Aulas Tericas

4.2.1.Shell..................................................................................................................................... 37 4.2.2.Ncelo................................................................................................................................. 38 4.2.3.Arranque do Computador .................................................................................................. 38

4.3.Coordenao da Actividade da Mquina......................................................................38 4.4.Exemplos de Sistemas Operativos................................................................................. 40


4.4.1.MS-DOS Microsoft Disk Operating Sistem..................................................................... 40 4.4.2.Unix.................................................................................................................................... 40 4.4.3.Windows 95, 98 e ME......................................................................................................... 41 4.4.4.Windows NT 4, 2000 e XP ................................................................................................. 41

5 Redes de Computadores................................................................... 42
5.1.Perspectiva Histrica......................................................................................................42 5.2.Principais Caractersticas das Redes.............................................................................42 5.3.Protocolos de Rede.......................................................................................................... 45
5.3.1.O Modelo de Referncia OSI............................................................................................... 45 5.3.2.A Pilha Protocolar TCP/IP.................................................................................................. 48

6 Tecnologias Multimdia.................................................................... 51
6.1.Introduo Multimdia................................................................................................ 51 6.2.A Internet.........................................................................................................................52
6.2.1.A Evoluo da Internet........................................................................................................ 52 6.2.2.Os Servios da Internet....................................................................................................... 54

6.3.Pesquisa na World Wide Web........................................................................................ 59 6.4.Introduo Linguagem HTML................................................................................... 60


6.4.1.Principais Marcas do HTML 4............................................................................................ 61

6.5.Tcnicas de Construo e de Gesto de Stios WWW....................................................72 6.6.Exemplo de uma Pgina HTML.....................................................................................73

7 Bases de Dados.................................................................................. 77
7.1.Tpicos Gerais..................................................................................................................77 7.2.Estrutura de uma Base de Dados...................................................................................78
7.2.1.Tabelas................................................................................................................................. 78 7.2.2.Consultas............................................................................................................................ 80 7.2.3.Formulrios e Relatrios.................................................................................................... 80

7.3.Normalizao.................................................................................................................. 81 7.4.Manuteno da Integridade das Bases de Dados.........................................................83

8 Algoritmos....................................................................................... 84
8.1.Conceito de Algoritmo.....................................................................................................84 8.2.Descoberta Algortmica..................................................................................................84 8.3.Representao Algortmica............................................................................................86
8.3.1.Dados de Tipo Simples........................................................................................................ 86 8.3.2.Variveis e Expresses........................................................................................................ 87 8.3.3.Operao de Atribuio...................................................................................................... 87 8.3.4.Entrada e Sada de Dados.................................................................................................. 88

8.4.Estruturas de Controlo...................................................................................................89
Introduo aos Sistemas Informticos 2004/2005 ESTiG/IPB

Apontamentos das Aulas Tericas

8.4.1.Estruturas de Seleco Simples.......................................................................................... 89 8.4.2.Estrutura de Seleco Mltipla.......................................................................................... 89

8.5.Estruturas Iterativas......................................................................................................90
8.5.1.Estruturas de Repetio Condicional................................................................................. 90 8.5.2.Estrutura de Repetio Incondicional................................................................................ 91

9 Linguagens de Programao............................................................ 92
9.1.Perspectiva Histrica......................................................................................................92 9.2.Conceitos Tradicionais de Programao em Pascal.....................................................93
9.2.1.Tipos de Dados.................................................................................................................... 93 9.2.2.Constantes.......................................................................................................................... 94 9.2.3.Variveis.............................................................................................................................. 95 9.2.4.Expresses.......................................................................................................................... 95 9.2.5.Instrues............................................................................................................................ 95

9.3.Implementao de um Programa em Pascal................................................................ 97

Bibliografia Recomendada..................................................................... 98 Avaliao da Disciplina........................................................................ 100 Docentes da Disciplina.......................................................................... 101

Introduo aos Sistemas Informticos

2004/2005

ESTiG/IPB

Captulo 1 Unidades Funcionais de um Computador

1 Unidades Funcionais de um Computador

Um sistema informtico composto pelo hardware e pelo software:

O hardware limita-se a um conjunto passivo de fios e componentes electrnicos que precisa de ordens (comandos e instrues) para desenvolver qualquer actividade.

O software a parte no fsica do sistema de computao, isto , a parte lgica do sistema. Trata-se por isso de um conjunto altervel de instrues que permite aos componentes de Hardware do computador a realizao de tarefas bem definidas.

O computador um equipamento electromecnico que manipula informao representada sob a forma de dgitos binrios (0 ou 1), mais conhecidos como bits.

8 bits = 1 byte1; 1 KByte (kilobyte, KB) 1 MByte (megabyte, MB) 1 GByte (gigabyte, GB) = 210 = 1.024 bytes; = 220 = 1.024 x 1.024 = 230 = 1.024 x 1.024 x 1.024 = 1.048.576 bytes; = 1.073.741.824 bytes.

Existe um conjunto de componentes bsicos comuns aos diversos modelos de computadores, que so:

Unidade Central de Processamento; Memria; Sistemas Perifricos (de entrada e de sada).

Estes componentes bsicos, ou unidades funcionais, esto organizados tal como se representa na figura 1.1.

Tambm se pode encontrar a palavra octeto para designar um byte. Nesta sebenta, ser usada a designao byte.

Introduo aos Sistemas Informticos

2004/2005

ESTiG/IPB

Captulo 1 Unidades Funcionais de um Computador

Figura 1.1: Arquitectura geral de um sistema informtico.

1.1. A Unidade Central de Processamento


A Unidade Central de Processamento (tambm designada simplesmente como processador) ou UCP (ou CPU, sigla da expresso inglesa Central Processing Unit), o componente responsvel pela execuo das instrues dos programas e pelo controlo do sistema. Para isso, a UCP composta por trs subcomponentes:

Unidade Aritmtica e Lgica; Unidade de Controlo; Memria Interna.

1.1.1. Unidade Aritmtica e Lgica


A Unidade Aritmtica e Lgica (UAL, tambm vulgarmente conhecida como ALU, sigla da expresso inglesa Arithmetic and Logic Unit) constituda por diversos mdulos, em que cada um responsvel por um tipo especfico de operao do tipo aritmtica ou lgica. So exemplos as operaes de adio, comparao, multiplicao, diviso, deslocamento2, etc.
2 A operao de deslocamento consiste em deslocar os dgitos de um nmero para a esquerda ou para a direita, completando com zeros direita ou esquerda (conforme a direco do deslocamento). Por exemplo, a

Introduo aos Sistemas Informticos

2004/2005

ESTiG/IPB

Captulo 1 Unidades Funcionais de um Computador

1.1.2. Unidade de Controlo


A Unidade de Controlo (UC) responsvel por seleccionar as diferentes instrues segundo a ordem de execuo, interpret-las e activar as respectivas operaes da mquina para que estas sejam executadas. Esta unidade tambm responsvel por efectuar um determinado nmero de controlos sobre as transferncias de dados das unidades perifricas para a memria central e vice-versa, bem como sobre as transferncias (internas UCP) entre a memria central e a UAL. Por fim, a UC ainda responsvel por manter o controlo da sequncia da execuo das instrues do programa.

1.1.3. Memria Interna


A memria interna da UCP permite armazenar os valores dos operandos que so fornecidos UAL, bem como os resultados das operaes. Os seus tempos de acesso so muito baixos (trata-se de um tipo de memria extremamente rpida), mas um tipo de memria muito cara: por este motivo que a memria central dos computadores no constituda por memria desse tipo. A memria interna da UCP constituda por um acumulador (uma rea da memria interna onde os dados so colocados, ou acumulados, como se fossem uma pilha de dados) e por vrios registos (clulas de memria de acesso muito rpido, e que se destinam ao armazenamento temporrio dos dados manipulados pela UCP). Possui uma baixa capacidade: a ltima gerao de processadores tem 1 MB de memria interna (ou cache interna).

1.2. A Memria
A memria do computador o local onde se armazena a informao a processar e a informao processada. Encontra-se dividida em pequenos blocos sequenciais, em que cada um possui um endereo, atravs do qual se pode aceder a cada um dos blocos, para leitura ou para escrita.

1.2.1. Parmetros de Classificao das Memrias


Os parmetros utilizados para classificar as memrias so:
operao de deslocar o nmero 1101 de um dgito para a esquerda ter como resultado o nmero 1010.

Introduo aos Sistemas Informticos

2004/2005

ESTiG/IPB

Captulo 1 Unidades Funcionais de um Computador

Tempo de Acesso: Tempo que a UCP demora a aceder memria. desejvel que seja o menor possvel.

Capacidade de Endereamento: Distinge qual o menor valor enderevel na memria. No exemplo da Figura 1.2, o menor valor enderevel composto por 4 bytes, o que corresponde a 32 bits (4 x 8 bits). Existem no entanto memrias em que possvel enderear bit a bit.

Figura 1.2: Representao de uma memria cuja capacidade de endereamento de 4 bytes. Cada bloco de memria tem, por isso, 4 bytes, e so identificados por endereos nicos, representados em notao hexadecimal (indicada pela letra H), desde a posio 0000H at posio 1000H. A notao hexadecimal ser discutida na seco 2.1.3 desta sebenta.

Tamanho da Memria: Limita a quantidade de informao que possvel armazenar. medido em KBytes, MBytes ou GBytes.

Tipo de Acesso: Pode ser sequencial ou aleatrio.


2004/2005 ESTiG/IPB

Introduo aos Sistemas Informticos

Captulo 1 Unidades Funcionais de um Computador

Acesso Sequencial: Para aceder a uma determinada posio da memria, necessrio ler ou passar por todas as posies anteriores;

Acesso Aleatrio: O acesso pode ser feito directamente posio que se pretende ler ou em que se pretende escrever.

Capacidade de Leitura e Escrita: Todas as memrias permitem que se leia o seu contedo (excepto as que so intencionalmente protegidas), mas nem todas permitem que se escreva nelas.

Volatilidade: a falta de capacidade da memria para reter a informao indefinidamente, eventualmente por falta de corrente de alimentao. Diz-se que uma memria voltil se todo a informao nela armazenada se perder em caso de falta de alimentao; uma memria ser no voltil se a informao armazenada se mantiver, mesmo perante a falta de alimentao.

1.2.2. Memria Primria


Destina-se a armazenar a informao que se encontra a ser processada pelo computador. Pode ser de dois tipos: RAM e ROM.

Memria RAM (Random Access Memory) Memria de Acesso Aleatrio


Permite leitura e escrita; Tempos de acesso muito rpidos e do tipo aleatrio (isto , qualquer posio pode ser acedida);

Voltil (o seu contedo perdido em caso de falha de corrente elctrica); Como possui um preo relativamente elevado (256 MBytes custam cerca de 125), no existe em grande quantidade na maioria dos computadores.

Memria ROM (Read-Only Memory) Memria Apenas de Leitura

Permite apenas leitura, pois o processo de escrita realizado apenas uma nica vez pelo fabricante;

Tempo de acesso baixo (semelhante ao da memria RAM);

Introduo aos Sistemas Informticos

2004/2005

ESTiG/IPB

Captulo 1 Unidades Funcionais de um Computador


10

No voltil (o seu contedo nunca se perde); Destina-se a armazenar uma parte do programa responsvel pela gesto do sistema, que permite inicializar o computador, bem como a formatao e reconhecimento de determinados dispositivos que fazem parte do mesmo equipamento.

1.2.3. Memria Secundria


Destina-se a armazenar, de uma forma permanente, a informao que no se encontra a ser utilizada. Em geral, as unidades de memria secundria possuem grande capacidade de armazenamento. O seu tempo de acesso bastante superior ao das memrias do tipo primria (isto , as memrias secundrias so muito mais lentas do que as memrias primrias). Alguns dos tipos de memria secundria so os que se seguem.

Discos Rgidos

Trata-se de um dos dispositivos mais comuns, que possui dimenses de armazenamento elevadas. Actualmente, os discos rgidos com maior capacidade podem ter mais de 200 GBytes.

Preo por MByte muito inferior ao da memria RAM (200 Gbytes custam cerca de 125);

Permite leitura e escrita, e um acesso praticamente aleatrio; Tempos de acesso elevados; No voltil; Podem ser externos e portveis.

Disquetes

Em tudo semelhante aos discos rgidos, mas com capacidades de armazenamento muito menores (1,44 MBytes);

Tempos de acesso superiores (so muito lentas); Portveis;


2004/2005 ESTiG/IPB

Introduo aos Sistemas Informticos

Captulo 1 Unidades Funcionais de um Computador

11

Comeam a ser abandonadas pelos utilizadores e fabricantes.

CD-ROM

Sigla da expresso inglesa Compact Disc - Read-Only Memory; Dispositivo que utiliza a tecnologia ptica, igual aos CDs de msica; Permite armazenar grandes quantidades de informao (650 ou 700 MB), permanentemente;

imune a interferncias electromagnticas; Transportvel; Permite leitura aleatria, com tempos de acesso que tendem a aproximar-se aos dos discos rgidos;

Os CD-RW (Compact Disc - Rewritable) podem ser gravados mais do que uma vez; Os CD-R (Compact Disc - Recordable) apenas podem ser gravados uma nica vez.

DVD

Sigla da expresso inglesa Digital Versatile Disc; Dispositivo que tambm utiliza a tecnologia ptica para o armazenamento dos dados; Podem armazenar dados em um ou nos dois lados, utilizando uma ou duas camadas de cada lado;

Possuem capacidades de armazenamento que variam entre 4,7 e mais de 17 GBytes; Transportvel; Ideal para armazenar vdeos e msicas; Tempos de acesso semelhantes aos dos CDs.

Fitas Magnticas

o processo que permite armazenar maiores quantidades de informao.


2004/2005 ESTiG/IPB

Introduo aos Sistemas Informticos

Captulo 1 Unidades Funcionais de um Computador

12

utilizado, entre outros tipos de organizaes, por instituies bancrias, agncias de seguros, ou outras organizaes que tenham necessidade de salvaguardar gigantescas quantidades de dados.

Os seus tempos de acesso so muito elevados, devido a ser um sistema ainda muito mecnico e de acesso sequencial.

1.2.4. Memria Cache


Trata-se de uma memria que continuamente actualizada, de forma a conter a informao usada mais recentemente, reduzindo assim o tempo de acesso memria principal ou ao disco enquanto um programa executado.

Cache Interna

Encontra-se dentro do processador, o que permite uma execuo mais rpida das instrues.

controlada pela Unidade de Controlo da UCP. Memria muito rpida de onde so transferidos os dados directamente para os registos, imediatamente antes de esses dados serem processados pela UAL.

Existe em vrios nveis situados entre a memria principal e os componentes internos da UCP.

Baixa capacidade de armazenamento (1 Mbyte).

1.2.5. Memria Virtual


A memria virtual , na realidade, uma tcnica usada pelos programadores de sistemas operativos para permitir a um computador trabalhar com mais memria RAM do aquela que se encontra instalada na mquina. Esta tcnica consiste em passar parte da memria que n estiver a ser usada para o disco rgido. Frequentemente, a memria virtual gerida organizando a memria em pores de dimenso padronizada, chamadas pginas. A troca de pginas de dentro para fora da memria designada de swapping (acto de trocar, em ingls).

Introduo aos Sistemas Informticos

2004/2005

ESTiG/IPB

Captulo 1 Unidades Funcionais de um Computador

13

1.3. Os Sistemas Perifricos


Um sistema de computao tem que possuir meios de introduzir a informao. Os dispositivos responsveis por captar esta informao designam-se por Unidades de Entrada. De igual modo, tambm existem dispositivos responsveis por disponibilizar a informao aps o seu processamento, que so as Unidades de Sada.

1.3.1. Dispositivos de Entrada


Leitor de fita perfurada; Leitor de cdigo de barras; Digitalizadores (scanners); Placas de aquisio de vdeo; Cmara de vdeo; Teclado; Joystick; Rato e Trackball; Monitor de toque (touchscreen); Microfone, etc.

1.3.2. Dispositivos de Sada


Terminal (monitores); Placa grfica; Perfuradora de carto e de fita; Impressora; Traador de grficos e de curvas (plotters);

Introduo aos Sistemas Informticos

2004/2005

ESTiG/IPB

Captulo 1 Unidades Funcionais de um Computador

14

Vdeo-projector, etc.

Figura 1.3: Aspecto geral da placa-me (motherboard) de um computador, estando assinaladas as suas vrias seces.

1.3.3. Dispositivos de Entrada e de Sada


Porta paralela; Porta USB; Portas srie; Leitor/gravador de disquetes; Leitor/gravador de CD/DVD; Modem/Fax; Placa de rede;

Introduo aos Sistemas Informticos

2004/2005

ESTiG/IPB

Captulo 1 Unidades Funcionais de um Computador

15

Placa de Som, etc.

1.4. Breve Anlise Comparativa


Super Utilizador Placa Grfica 128 MB DDR 1024 MB de Memria RAM 200 GB de Disco Monitor de 19 TFT Gravador e Leitor de DVD Placa de Som Sound Blaster Digital 5:1 Colunas Creative 5:1 Pentium IV 3,2 GHz

Cerca de 2.000

Utilizador mdio

Pentium IV 2,8 GHz Placa Grfica AGP 64 MB 512 MB de Memria RAM 80 GB de Disco Monitor de 17 CD-ROM 52X Placa de Som 128 bits Colunas de 360 W

Cerca de 1.000

Introduo aos Sistemas Informticos

2004/2005

ESTiG/IPB

Captulo 1 Unidades Funcionais de um Computador

16

Utilizador poupado Intel Celeron 2 GHz Placa Grfica AGP 32 MB 256 Mb de Memria RAM 60 GB de Disco Monitor de 15

Cerca de 750

Introduo aos Sistemas Informticos

2004/2005

ESTiG/IPB

Captulo 2 Armazenamento de Dados

17

2 Armazenamento de Dados

2.1. Armazenamento de Bits


Os computadores representam a informao atravs de conjuntos de dgitos binrios aos quais se d o nome de bit (palavra originria da expresso inglesa binary digit). Um bit um dos dgitos 0 (zero) ou 1 (um). Cada bit representado por um dispositivo electrnico que est "ligado" (um) ou "desligado" (zero).

Figura 2.1: Exemplo de cdigo binrio. O dgito binrio 1 representado por um quadrado preenchido, e o dgito binrio 0 representado por um quadrado no preenchido.

2.1.1. Portas Lgicas


Operaes Lgicas ou Booleanas so operaes que apenas manipulam os valores lgicos Verdadeiro (1) e Falso (0). As operaes de conjuno3, disjuno4 e disjuno exclusiva5 (XOR, ou exclusivo) so operaes lgicas efectuadas por circuitos digitais, e so semelhantes s operaes de adio e multiplicao. Para dois valores dados de entrada gerado um nico valor de sada. Os nicos dgitos manipulados por estas operaes so 0 e 1. A operao de negao6 outra operao lgica, onde o valor de sada o oposto do valor da entrada.
3 4 5 6 Tambm conhecida como E lgico, sendo representada pela palavra inglesa AND. Tambm conhecida como OU lgico, sendo representada pela palavra inglesa OR. Tambm conhecida como OU exclusivo, sendo representada pela palavra XOR. Representada pela palavra inglesa NOT.

Introduo aos Sistemas Informticos

2004/2005

ESTiG/IPB

Captulo 2 Armazenamento de Dados

18

Figura 2.2: Operaes lgicas de conjuno (AND), disjuno (OR), disjuno exclusiva (XOR) e negao (NOT).

Uma porta lgica um dispositivo que produz uma sada lgica para uma determinada operao lgica de entrada. As portas podem ser construdas utilizando diversas tecnologias, tais como: circuitos electrnicos integrados ou dispositivos pticos. As portas usadas nos computadores actuais usam pequenos circuitos integrados chamados chips. Nesses circuitos integrados, os digitos 0 e 1 so representados por valores de tenso elctrica de 0 (zero) e 5 volts, respectivamente. Os computadores so construdos atravs de blocos que contm portas lgicas. As portas podem ser usadas como blocos constituintes de circuitos com os quais os computadores so construdos, o que permite compreender o funcionamento interno de um computador sem ter necessidade de conhecer a arquitectura das portas.

Introduo aos Sistemas Informticos

2004/2005

ESTiG/IPB

Captulo 2 Armazenamento de Dados

19

2.1.2. Flip-Flops
Um flip-flop um circuito em que o valor de sada oscila entre dois valores, mediante os valores de entrada introduzidos. ideal para representar o armazenamento de um bit num computador. Por isso, as memrias internas dos computadores so construdas por blocos de circuitos flip-flop.
Um exemplo de um flip-flop encontra-se representado na figura 2.3. Este circuito capaz de armazenar um bit da seguinte forma:

Figura 2.3: Representao de um circuito lgico conhecido como flip-flop. Uma das principais caractersticas deste circuito a sua capacidade para armazenar um bit.

Para manter o valor actual armazenado (representado por X na figura 2.4), basta colocar nas duas entradas do circuito o valor lgico 0 (zero);

Figura 2.4: Qualquer que seja o valor da sada deste flip-flop, ele permanecer constante enquanto as suas duas entradas tiverem o valor lgico 0 (zero).

Introduo aos Sistemas Informticos

2004/2005

ESTiG/IPB

Captulo 2 Armazenamento de Dados

20

Para guardar o valor lgico 1 (um), basta colocar na entrada de cima o valor lgico 1 (figura 2.5);

Figura 2.5: Para colocar o valor lgico 1 (um) na sada deste flip-flop, deve-se colocar o valor lgico 1 na entrada de cima.

Para guardar o valor lgico o (zero), basta colocar na entrada de cima o valor lgico 0 (figura 2.6).

Figura 2.6: Para colocar o valor lgico 0 (zero) na sada deste flipflop, deve-se colocar o valor lgico 1 (um) na entrada de baixo.

2.1.3. Notao Hexadecimal


Ao considerar a actividade interna de um computador, temos que lidar com conjuntos de bits, que podem ser mais ou menos longos. A notao hexadecimal surgiu devido dificuldade da mente humana em manipular conjuntos de bits, e aproveitando a vantagem de os computadores armazenarem sequncias binrias em mltiplos de quatro.

Introduo aos Sistemas Informticos

2004/2005

ESTiG/IPB

Captulo 2 Armazenamento de Dados

21

A notao hexadecimal usa um smbolo para representar quatro bits, tal como se representa na tabela 2.1. Por exemplo, e de acordo com essa tabela, a sequncia binria 1011 0101 representada, em notao hexadecimal, como B5.
Decimal Binrio Hexadecimal 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 0 1 2 3 4 5 6 7 8 9 A B C D E F

Tabela 2.1: Tabela com as diferentes combinaes binrias de 4 bits, os seus correspondentes smbolos hexadecimais e os seus correspondentes valores decimais.

2.2. Codificao da Informao para Armazenamento


2.2.1. Representao de Smbolos
Para podermos guardar num computador textos com letras, nmeros, pontuao, etc., foi necessrio criar cdigos de representao dos diferentes smbolos. Um dos mais conhecidos o cdigo ASCII, sigla da expresso inglesa American Standard Code for Information Interchange (Cdigo Padro Americano para o Intercmbio de Informao), representado na tabela 2.2.

Introduo aos Sistemas Informticos

2004/2005

ESTiG/IPB

Captulo 2 Armazenamento de Dados

22

O cdigo ASCII representa todos os caracteres do alfabeto, alm de outros caracteres especiais, usando 7 bits (27 = 128 caracteres) para representar cada caracter. Por exemplo, a palavra Ola codificada, segundo o cdigo ASCII, como 1001111 1101100 1100001. O l a 4F 6C 61 1001111 1101100 1100001

Decimal Hexadecimal Caracter Decimal Hexadecimal Caracter Decimal Hexadecimal Caracter 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20 21 22 23 NUL SOH STX ETX EOT ENQ ACK BEL BS HT LF VT FF CR SO SI DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM SUB ESC FS GS RS US Espao ! " # 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E + , . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79 V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y

Introduo aos Sistemas Informticos

2004/2005

ESTiG/IPB

Captulo 2 Armazenamento de Dados


Decimal Hexadecimal Caracter Decimal Hexadecimal Caracter Decimal Hexadecimal Caracter 36 37 38 39 40 41 42 24 25 26 27 28 29 2A $ % & ' ( ) * 79 80 81 82 83 84 85 4F 50 51 52 53 54 55 O P Q R S T U 122 123 124 125 126 127 7A 7B 7C 7D 7E 7F z { | } ~ DEL

23

Tabela 2.2: Tabela ASCII.

2.2.2. Representao de Nmeros


Para representar valores numricos recorrendo ao cdigo ASCII, seria necessrio 1 byte (8 bits) por cada smbolo. Usando a representao binria (de base 2), pode-se representar o mesmo nmero com menos bits. Usando a notao binria, num byte podemos armazenar inteiros entre 0 e 255 (00000000 e 11111111, respectivamente). Usando 16 bits (2 bytes), podemos representar valores numricos entre 0 e 65.535, enquanto que, se usarmos a codificao ASCII, apenas seria possvel representar valores numricos entre 0 e 99. Dada uma representao binria (com n bits) de um valor numrico, possvel determinar esse valor atravs da seguinte expresso: valor decimal = an * 2n + an-1 * 2n-1 + ... + a1 * 21 + a0 * 20, em que an, an-1, ..., a1, a0, representam cada um dos bits da representao binria (ver figura 2.7).

Figura 2.7: Determinao do valor numrico de representaes numricas de base 10 e de base 2.

Introduo aos Sistemas Informticos

2004/2005

ESTiG/IPB

Captulo 2 Armazenamento de Dados

24

O mtodo de converso de um nmero inteiro positivo para binrio conhecido como o mtodo das divises sucessivas, e composto por 3 passos, representados na figura 2.8: 1. Dividir o nmero por 2; 2. Dividir o quociente sucessivamente por 2 at que seja igual a zero; 3. O nmero em binrio obtido corresponde aos valores dos restos das divises, lidos da direita para a esquerda (ou de cima para baixo).

Figura 2.8: Converso de decimal para binrio, atravs do mtodo das divises sucessivas.

2.3. O Sistema Binrio


2.3.1. Adio Binria

Figura 2.9: Adio decimal.

Introduo aos Sistemas Informticos

2004/2005

ESTiG/IPB

Captulo 2 Armazenamento de Dados

25

Figura 2.10: Adio binria.

2.3.2. Fraces Binrias


Dada uma representao binria com uma parte fraccionria (com n bits esquerda da vrgula decimal, e m bits direita da vrgula decimal) de um valor numrico fraccionrio, possvel determinar esse valor atravs da seguinte expresso: valor decimal = an * 2n + an-1 * 2n-1 + ... + a1 * 21 + a0 * 20 + a-1 * 2-1 + ... + a-m * 2-m, em que an, an-1, ..., a1, a0, representam cada um dos bits da parte interia da representao binria, e em que a-1, ..., a-m, representam cada um dos bits da parte fraccionria da representao binria (ver figura 2.11).

Figura 2.11: Converso de fraces binrias para decimal.

Figura 2.12: Adio de nmeros fraccionrios binrios.

Introduo aos Sistemas Informticos

2004/2005

ESTiG/IPB

Captulo 2 Armazenamento de Dados

26

2.4. Armazenamento de Inteiros


2.4.1. Complemento para Dois
Para determinar um valor negativo pelo complemento para 2, necessrio negar bit a bit e, em seguida, somar 1. Por exemplo, vamos determinar o representao binria do simtrico7 do nmero 96, representado em base decimal. +96(10) = 01100000(2) Para se obter a representao binria do valor simtrico de 96 usando a tcnica do complemento para 2, nega-se a representao binria de 96, bit a bit, e obtm-se: 10011111(2) Por fim, deve-se somar 1 representao binria obtida no passo anterior: 10011111 + 1 10100000 Complemento para 2 Existe um outro processo de aplicao do complemento para 2 para passar um nmero de positivo para negativo: copia-se os dgitos da direita para a esquerda at se encontrar um 1. A partir da, troca-se os zeros por uns e os uns por zeros. O primeiro bit indica o sinal do nmero binrio: se for zero, o nmero positivo; se for um, o nmero negativo.

O simtrico de um nmero e o nmero com o mesmo valor, mas de sinal contrrio. Por exemplo, o simtrico de 96 -96, e vice-versa.

Introduo aos Sistemas Informticos

2004/2005

ESTiG/IPB

Captulo 2 Armazenamento de Dados Binrio Binrio Decimal Decimal (3 bits) (4 bits) 011 010 001 000 111 110 101 100 3 2 1 0 -1 -2 -3 -4 0111 0110 0101 0100 0011 0010 0001 0000 1111 1110 1101 1100 1011 1010 1001 1000 7 6 5 4 3 2 1 0 -1 -2 -3 -4 -5 -6 -7 -8

27

Tabela 2.3: Complemento para dois usando 3 e 4 bits.

Introduo aos Sistemas Informticos

2004/2005

ESTiG/IPB

Captulo 3 Manipulao de Dados

28

3 Manipulao de Dados

3.1. Conceito de Programa


Um programa um conjunto de instrues que indica a um computador o que este deve fazer. Os programas permitem a um computador funcionar e contm geralmente uma lista de variveis que representam nmeros, texto, grficos, e outros tipos de informaes. Um programa contm tambm uma srie de procedimentos que dizem ao computador o que fazer com tais variveis. Os programadores usam linguagens de programao para criar programas, mas todos os programas escritos nessas linguagens tm de ser traduzidos para linguagem mquina antes de o computador poder executar esses programas. O processador de um computador funciona apenas com uma linguagem especifica, chamada de cdigo ou linguagem mquina. Esta linguagem constituda exclusivamente por dgitos binrios (zeros e uns). Ainda que seja possvel fazer um programa directamente em cdigo mquina, tal tarefa extremamente morosa e muito sujeita a erros. Assim, foram desenvolvidas linguagens de programao de baixo e alto nvel, consoante esto mais prximas do cdigo mquina ou da linguagem humana, respectivamente. nessas linguagens que so escritos os programas que os computadores executam; esses programas so designados como programas fonte ou cdigo fonte. Os programas tradutores tm, ento, a funo de converter um programa escrito numa linguagem de programao (programa fonte) para cdigo mquina (figura 3.1). As linguagens de mais baixo nvel so as linguagens de montagem, mais conhecidas como linguagens assembly. Um programa escrito numa dessas linguagem necessita de um tradutor para que as suas instrues sejam convertidas para cdigo mquina; a esse tradutor chama-se assemblador.

Introduo aos Sistemas Informticos

2004/2005

ESTiG/IPB

Captulo 3 Manipulao de Dados

29

Figura 3.1: Representao dos vrios tipos de interpretao de um programa escrito numa linguagem de programao.

As linguagens de alto nvel Pascal, Fortran, C, etc. requerem igualmente programas tradutores. A traduo destas linguagens de alto nvel para linguagem mquina pode efectuar-se por dois processos diferentes: 1. Compilao: neste processo, o tradutor (ao qual se d o nome de compilador) analisa todo o cdigo fonte e, se o programa no contiver nenhum erro de sintaxe8, converte o cdigo fonte em cdigo mquina que poder ser executado directamente pela UCP. 2. Interpretao: neste processo, o tradutor (ao qual se d o nome de interpretador) analisa uma linha do programa fonte de cada vez; se a linha no contiver nenhum erro de sintaxe, o interpretador traduz essa linha em cdigo mquina que poder ser executado directamente pela UCP. Para traduzir um programa para cdigo mquina, so necessrios os seguintes passos: 1. O tradutor carregado para a memria central atravs do sistema operativo; 2. O programa fonte introduzido no computador, ou por entrada directa (teclado) ou a partir da memria secundria (disco, disquete, CD, etc.);
8 Sintaxe o conjunto de regras de escrita a que todos os programas escritos numa determinada linguagem de programao tero de obedecer para que o programa possa ser executado.

Introduo aos Sistemas Informticos

2004/2005

ESTiG/IPB

Captulo 3 Manipulao de Dados

30

3. O tradutor gera o programa objecto (isto , o programa que contm o cdigomquina pronto a ser executado) que fica gravado em memria; ao mesmo tempo, se forem detectados erros de sintaxe, sero enviadas ao programador mensagens informativas; 4. O programa objecto est em condies de ser executado.

3.2. Execuo de Programas


Um computador executa um programa guardado na memria copiando as instrues desse programa para a Unidade de Controlo (UC) da UCP, uma de cada vez. A ordem pela qual as instrues so extradas da memria corresponde ordem pela qual se encontram armazenadas na memria, excepto se houver uma instruo de salto (isto , uma instruo que altera a ordem normal de execuo de um programa, atravs da indicao explcita da prxima instruo que dever ser executada). A UC contm dois registos essenciais para a execuo de um programa, representados na figura 3.29: 1. O contador de programa (program counter, mais conhecida pela sigla PC) contm o endereo da prxima instruo a ser executada. uma forma expedita de se saber qual a prxima instruo em qualquer parte do programa; 2. O registo de instrues (instruction register, mais conhecida pela sigla IR) usado para guardar a instruo que est a ser executada.

Para se compreender o processo de execuo de um programa pela UCP de um computador, necessrio compreender a arquitectura interna da UCP. Assim, recorde-se que a UCP constituda por uma unidade de controlo (UC), uma unidade aritmtica e lgica e por registos internos que formam a sua memria interna. A UC possui ainda dois registos especiais, o Contador de Programa (PC) e o Registo de Instruo (IR), que permitem controlar a execuo dos programas armazenados na memria central do computador. A UCP est fisicamente ligada a essa memria atravs de um canal de fios condutores, chamado barramento, atravs do qual os dados so transmitidos. Por fim, a memria central est dividida em clulas, todas com o mesmo tamanho. Cada clula possui um endereo que a identifica univocamente.

Introduo aos Sistemas Informticos

2004/2005

ESTiG/IPB

Captulo 3 Manipulao de Dados

31

Figura 3.2: Arquitectura tpica de uma unidade central de processamento.

A UC guarda no registo IR a instruo que est armazenada na posio de memria cujo endereo est guardado no registo PC. Em seguida, a UC executa a operao correspondente instruo guardada no IR. Entretanto, o PC j foi actualizado com o endereo da prxima instruo a ser executada. Em geral, a prxima instruo a ser executada a que se encontra imediatamente a seguir instruo actualmente em execuo. Contudo, essa ordem de execuo pode ser alterada por instrues de salto. Este processo repete-se para todas as instrues de um programa, at que a instruo que indica o fim da execuo de um programa seja executada. A este ciclo de operaes d-se o nome de ciclo da mquina, e est representado na figura 3.3.

Figura 3.3: O ciclo da mquina.

Introduo aos Sistemas Informticos

2004/2005

ESTiG/IPB

Captulo 3 Manipulao de Dados

32

3.3. Comunicao Computador-Perifrico


A comunicao entre o CPU e um perifrico normalmente manipulada por um dispositivo chamado controlador. Os controladores de perifricos tm como principal funo a converso dos dados utilizados pela UCP para os formatos utilizados internamente por cada perifrico controlado, e vice-versa. Os controladores so ligados ao mesmo barramento que liga a UCP memria principal (figura 3.4).

Figura 3.4: A comunicao entre a UCP de um computador e um perifrico feita atravs de um controlador, que ligado ao mesmo barramento que liga a UCP memria central desse computador. A capacidade que um controlador tem para aceder directamente memria central conhecida como Acesso Directo Memria (Direct Access Memory, cuja sigla DMA).

Alguns controladores tm a capacidade de ler e escrever na memria central do computador sempre que o processador no estiver a utilizar o barramento. Essa capacidade de um controlador de perifrico aceder directamente memria central conhecida como acesso directo memria (direct access memory, representada pela sigla DMA), tambm representada na figura 3.4. Esta funcionalidade contribui para aumentar o desempenho global do sistema, mas tambm ajuda a aumentar em muito a sua complexidade.

3.3.1. Comunicao Srie


transmitido um bit de cada vez; A transmisso lenta; necessrio apenas uma linha para a transmisso dos dados; Permite maiores distncias (at 15 metros);

Introduo aos Sistemas Informticos

2004/2005

ESTiG/IPB

Captulo 3 Manipulao de Dados

33

Usando um modem10, pode-se comunicar para qualquer parte do mundo atravs da rede telefnica.

3.3.2. Comunicao Paralela

Todos os bits de uma combinao binria, com um tamanho pr-determinado, so transmitidos ao mesmo tempo;

Utiliza vrias linhas de transmisso de dados, uma para cada bit transmitido; A transmisso bastante mais rpida que a comunicao srie; Transmite unicamente a curtas distncias.

10 Um modem (contraco da expresso modulador-demodulador, que representa algo que converte, ou modula, um sinal digital num sinal analgico, e que posteriormente reconverte, ou demodula, esse sinal analgico no sinal digital inicial) um aparelho electrnico que converte os sinais digitais utilizados por um computador nos sinais analgicos que podem ser transmitidos atravs da rede telefnica, e vice-versa.

Introduo aos Sistemas Informticos

2004/2005

ESTiG/IPB

Captulo 4 Sistemas Operativos

34

4 Sistemas Operativos

4.1. A Evoluo dos Sistemas Operativos


4.1.1. Classificao do Software
Designa-se por software a parte lgica do sistema informtico. O software pode ser classificado de duas maneiras, representadas pela figura 4.1:

Figura 4.1: Classificao do software.

1. Software de base ou de sistema: Conjunto de pequenos programas ou procedimentos que fazem a gesto de recursos e operaes de base de um sistema informtico. Inclui-se aqui o ncleo do sistema operativo e um conjunto de programas auxiliares que normalmente o acompanham. 2. Software de aplicaes: Conjunto de programas que desempenham tarefas especficas para a utilizao do computador. Alguns exemplos: compiladores, interpretadores, utilitrios, bibliotecas, gestores de base de dados, processadores de texto, folhas de clculo, programas para a construo de pginas web, etc.

Introduo aos Sistemas Informticos

2004/2005

ESTiG/IPB

Captulo 4 Sistemas Operativos

35

4.1.2. Tipos de Processamento


Processamento em Lotes (Batch) No inicio da computao, todas as tarefas eram processadas em lotes: as tarefas a executar eram inseridas no computador, armazenadas internamente, e processadas sequencialmente. Os lotes correspondiam aos conjuntos de cartes perfurados que continham o cdigo mquina relativo tarefa que se queria executar. Os utilizadores tinham que aguardar pelo fim do processamento dos lotes em fila de espera para que o seu lote pudesse ser processado.

Processamento Interactivo executado tanto em terminal partilhado com outros utilizadores (chamado tambm de consola), como num computador pessoal. O utilizador e o computador interagem durante a sesso. No entanto, o utilizador continua a ter de esperar pelo fim do processamento das tarefas de outros utilizadores para que as suas tarefas possam ser processadas.

Partilha do Tempo (Timesharing) uma forma de processamento interactivo no qual muitos utilizadores podem utilizar um nico computador simultaneamente. Como o computador opera muito mais rpido que o utilizador no terminal, o utilizador tem a sensao de que tem o computador apenas sua disposio.

4.2. Arquitectura
Um sistema operativo um conjunto integrado de rotinas especializadas, utilizadas para controlar a generalidade dos recursos e funes de um computador. Um sistema operativo tambm tem como objectivo principal criar um ambiente de trabalho para o utilizador e servir de intermedirio (atravs de uma interface, mais ou menos amigvel) entre o hardware do computador e o utilizador, tal como representado na figura 4.2.

Introduo aos Sistemas Informticos

2004/2005

ESTiG/IPB

Captulo 4 Sistemas Operativos

36

Figura 4.2: Arquitectura de um sistema operativo.

Cabe assim ao sistema operativo entrar em contacto com o BIOS (Basic Input Output System, expresso inglesa que significa Sistema Bsico de Entrada e Sada) para poder gerir o funcionamento bsico do sistema computadorizado. O BIOS tem a responsabilidade de conhecer os complexos mecanismos de comunicao entre as diferentes partes do sistema informtico (o processador, as memrias e as outras componentes, perifricos, etc.). Em geral, o BIOS definido pelo fabricante do computador e encontra-se na memria ROM da mquina. As principais funes de um sistema operativo so:

Gesto da Memria: Alocar zonas de memria a cada um dos programas em execuo, e garantir que um programa em execuo no acede zona de memria de um outro programa em execuo.

Gesto da Unidade Central de Processamento: Decidir qual o programa que, a cada momento, o processador deve executar.

Controlo dos Perifricos: Controlar e coordenar as actividades dos equipamentos perifricos.

Carregamento de Programas: Transferir da memria externa para a memria interna os programas que devero ser executados.

Introduo aos Sistemas Informticos

2004/2005

ESTiG/IPB

Captulo 4 Sistemas Operativos

37

Preparao da execuo: Confirmar que os ficheiros e recursos de hardware esto disponveis para utilizao antes do incio da execuo de um programa.

Finalizao da execuo: Libertar a zona de memria e demais recursos de hardware que estavam afectos ao programa.

Gesto da fila de espera: Assegurar a continuidade das tarefas a realizar em cada momento.

4.2.1. Shell
A shell (concha, em ingls) um programa que fornece uma interface entre o sistema operativo e o utilizador. A funo da shell esconder as complexidades internas do computador, tornando mais acessvel a utilizao de um equipamento informtico por vrios tipos de utilizadores. Atravs da shell, os utilizadores comunicam ao computador as tarefas que eles pretendem ver executadas (figura 4.3).

Figura 4.3: A shell de um sistema operativo oferece uma interface atravs da qual os utilizadores podem utilizar o computador sem necessitarem de conhecer as suas complexidades internas.

As shells mais modernas oferecem uma interface grfica com a qual os objectos (ficheiros, programas, e outros dispositivos) podem ser manipulados com dispositivos mveis como, por exemplo, o rato.
Introduo aos Sistemas Informticos 2004/2005 ESTiG/IPB

Captulo 4 Sistemas Operativos

38

4.2.2. Ncelo
O ncleo (tambm conhecido pela palavra inglesa kernel) a parte interna do sistema operativo, a qual contm componentes de software que efectuam as tarefas correspondentes s funes bsicas do sistema operativo (por exemplo, gesto de ficheiros, gesto dos perifricos, gesto de memria, etc.). Esta a parte de um sistema operativo com a qual o utilizador interage atravs da interface oferecida pela shell do sistema operativo. Esta tambm a componente que actua directamente sobre o hardware da mquina.

4.2.3. Arranque do Computador


Quando se liga um computador, vendo o caso particular dos PCs, pode verificar-se uma das duas situaes seguintes: 1. O computador tem um disco j preparado com o sistema operativo, o qual transmitido automaticamente no arranque UCP; 2. O computador no tm disco (ou este no tm o sistema operativo) e ento o arranque do sistema ter de fazer-se a partir de um suporte fsico (uma disquete, um CD, etc.) que contenha o sistema operativo. Aps a leitura do cdigo mquina do sistema operativo, esse cdigo armazenado numa parte da memria RAM. Desta forma, uma parte do sistema operativo fica em condies de controlar globalmente o funcionamento do sistema.

4.3. Coordenao da Actividade da Mquina


Um processo a parte activa de um programa, caracterizando o estado actual de uma actividade (instruo actual, contedo dos registos, contedo da memria, etc.). Pode-se dizer que um processo define o caminho de uma actividade em execuo. Um programa pode estar associado a vrios processos ao mesmo tempo. Alm disso, um processo pode pertencer execuo de uma aplicao ou de programas utilitrios, bem como a pores do sistema operativo.

Introduo aos Sistemas Informticos

2004/2005

ESTiG/IPB

Captulo 4 Sistemas Operativos

39

Os processos vo concorrer, uns contra os outros, pelo acesso UCP, aos perifricos, memria e dados. Para evitar esta guerra, cabe ao sistema operativo coordenar a execuo dos processos, determinando, em cada momento, que processo pode aceder a que recurso. Neste contexto, coordenar significa que:

Cada processo tem os recursos de que necessita em cada instante; Os processos no interferem entre si; Os processos so capazes de trocar informaes entre si.

Em cada instante, um processo poder estar em um de trs estados: 1. Em execuo; 2. Pronto a executar ( espera que a UCP possa executar as suas instrues); 3. espera de algum outro recurso do hardware. O sistema operativo divide o tempo em pequenos intervalos (de mais ou menos 50 milissegundos de durao), e permite que um determinado processo possa ser executado pela UCP durante esse intervalo de tempo. Ao fim desse intervalo, a execuo do processo interrompida, o seu estado salvaguardado, o sistema operativo determina qual o prximo processo ser executado pela UCP, esse processo volta a poder usufruir do recurso UCP, e assim por diante. Esta sequncia de passos ilustrada pela figura 4.4.

Figura 4.4: Coordenao, por parte do sistema operativo, dos processos em execuo num computador.

Introduo aos Sistemas Informticos

2004/2005

ESTiG/IPB

Captulo 4 Sistemas Operativos

40

4.4. Exemplos de Sistemas Operativos


4.4.1. MS-DOS Microsoft Disk Operating Sistem
O sistema operativo MS-DOS uma verso desenvolvida pela empresa norte-americana Microsoft do sistema operativo DOS, o qual partilha muitas das funes do sistema operativo PC DOS, da IBM, lanado em 1981. Trata-se de um sistema operativo que controla operaes de entrada e sada, perifricos e outras funes de processador. A sua shell resume-se a uma linha de comandos, e implementada atravs do ficheiro command.com. As principais caractersticas deste sistema operativo so as seguintes:

Monotarefa: Permite que apenas um programa seja executado de cada vez; Monoutilizador: O ambiente de trabalho nico, sendo s possvel um nico utilizador trabalhar numa mesma mquina de cada vez.

4.4.2. Unix
Trata-se de um sistema operativo que foi desenvolvido pelos Laboratrios Bell, da empresa norte-americana AT&T, no incio da dcada de 1970. Foi escrito na linguagem de programao C, uma linguagem muito popular tambm no mundo dos PC baseados em processadores da Intel e nos sistemas operativos da Microsoft. Cada utilizador de um sistema informtico baseado em Unix tem uma conta identificada por um nome de utilizador (login) e autenticada atravs de uma palavra-passe, cabendo ao administrador do sistema gerir as contas dos utilizadores e todos os recursos computacionais colocados disposio desses utilizadores. Existem actualmente muitas variantes deste sistema operativo, algumas delas so comerciais (Solaris, Digital Unix, Ultrix, HP-UX, etc), e outras so gratuitas (Linux, FreeBSD, etc.). As principais caractersticas deste sistema operativo so as seguintes:

Multitarefa: Permite a execuo simultnea de mais do que um processo; Multi-utilizador: Permite ter mais do que um terminal ou estao de trabalho ligado ao computador.

Introduo aos Sistemas Informticos

2004/2005

ESTiG/IPB

Captulo 4 Sistemas Operativos

41

4.4.3. Windows 95, 98 e ME


Trata-se uma famlia de sistemas operativos de 32 bits, mas que so capazes de executar tambm aplicaes de apenas 16 bits (baseadas na verso anterior desta famlia, o Windows 3.1) e aplicaes baseadas em MS-DOS. Foram lanados pela Microsoft nos anos de 1995 (Windows 95), 1998 (Windows 98) e 2000 (Windows ME). Estas verses do sistema operativo Windows no necessitam do MS-DOS para poderem ser executados, tornando assim este ltimo sistema operativo completamente obsoleto. Baseiam-se numa ambiente de trabalho (shell) grfico, proporcionando ao utilizador uma interface amigvel baseado em janelas, menus e cones. Uma das suas caractersticas mais importantes o facto de ser multitarefa, cabendo assim ao sistema operativo a funo de atribuir a cada processo em execuo um determinado tempo de processador. Desta forma, o acesso de cada aplicao UCP gerido de uma forma mais racional.

4.4.4. Windows NT 4, 2000 e XP


Trata-se de uma famlia de sistemas operativos de 32 bits, porque executam instrues em blocos de 32 bits. As suas interfaces grficas so muito semelhantes (ou, em alguns casos, iguais) s da famlia de sistemas operativos analisada no subcaptulo anterior. Os sistemas operativos Windows NT Server e Windows 2000 Server so sistemas operativos servidores, isto , foram especialmente desenvolvidos para serem utilizados para a partilha de recursos a todos os computadores de uma rede. Por outro lado, os sistemas operativos Windows NT Workstation, Windows 2000 Professional e Windows XP so especialmente vocacionados para a utilizao em estaes de trabalho.

Introduo aos Sistemas Informticos

2004/2005

ESTiG/IPB

Captulo 5 Redes de Computadores

42

5 Redes de Computadores

5.1. Perspectiva Histrica


Inicialmente os computadores funcionavam, em geral, de forma isolada, comunicando para o exterior apenas atravs da rede telefnica ou de redes proprietrias. Actualmente, muitas vezes parece que no possvel trabalhar em condies satisfatrias se ocorrer uma qualquer falha, mesmo que muito pequena, nas comunicaes entre os computadores de uma rede. Os sistemas informticos deixaram de ser predominantemente centralizados para darem lugar a um modelo de operao em rede, em que as diversas componentes do sistema encontram-se distribudas por uma rea geogrfica mais ou menos extensa. A disponibilidade quase imediata da informao um benefcio que cada vez menos se dispensa, e que gera novas necessidades, impulsionando o desenvolvimento tecnolgico. Assiste-se, assim, a uma convergncia crescente entre a indstria dos computadores e a rea das comunicaes.

5.2. Principais Caractersticas das Redes


Uma rede de computadores pode ser definida como uma coleco de computadores autnomos interligados atravs de um meio fsico de transmisso, e que so capazes de trocarem informao. Algumas utilizaes tpicas de uma rede de computadores so as seguintes:

Partilha de recursos (hardware ou software); Aumento da fiabilidade global do sistema informtico atravs da redundncia (isto , a salvaguarda dos recursos mais crticos do sistema em mais do que uma localizao fsica);

Economia: melhor relao entre o custo e o desempenho do que os sistemas informticos baseados em grandes computadores centrais (mais conhecidos pela sua

Introduo aos Sistemas Informticos

2004/2005

ESTiG/IPB

Captulo 5 Redes de Computadores

43

designao em ingls, mainframes), o que d origem a uma melhor rentabilizao dos recursos;

Escalabilidade: possibilidade de incrementar o desempenho global do sistema graas facilidade com que se adicionam novos subsistemas (por exemplo, novos computadores clientes ou servidores);

Meio de comunicao: por exemplo, correio electrnico (e-mail), videoconferncia, trabalho cooperativo, acesso a bases de dados remotas, comrcio e banca electrnica, lazer, etc.

As redes de computadores podem ser classificadas de diversas formas:

Topologia Fsica:

Anel (figura 5.1);

Computador Computador Computador Computador

Anel
Figura 5.1: Rede com topologia fsica do tipo anel.

Estrela (figura 5.2);

Computador Computador

Estrela

Computador

Computador

Computador

Computador

Figura 5.2: Rede com topologia fsica do tipo estrela.

Introduo aos Sistemas Informticos

2004/2005

ESTiG/IPB

Captulo 5 Redes de Computadores

44

Barramento (figura 5.3);

Computador

Computador

Computador

Computador

Computador

Barramento
Figura 5.3: Rede com topologia fsica do tipo barramento.

Irregular ou emaranhado (figura 5.4).

Computador

Computador

Computador

Computador

Computador

Irregular
Figura 5.4: Rede com topologia fsica do tipo irregular ou emaranhado.

Topologia Lgica:

Barramento (exemplo: IEEE 802.3 Ethernet, a tecnologia de rede mais usada em redes locais);

Anel (exemplos: IEEE 802.4 - Token Bus, IEEE 802.5 - Token Ring).

rea de Cobertura:

Redes Locais (Local Area Network, mais conhecida pela sua sigla LAN): Ethernet, Fast-Ethernet, Token Ring, etc.

Redes Metropolitanas (Metropolitan Area Network; sigla MAN): CATV, Anis DQDB, etc.

Redes de rea Alargada (Wide Area Network, sigla WAN): Internet, VPNs, etc.

Introduo aos Sistemas Informticos

2004/2005

ESTiG/IPB

Captulo 5 Redes de Computadores

45

Propriedade:

Redes pblicas; Redes privadas.

5.3. Protocolos de Rede


Para que os programas que residem em computadores diferentes possam comunicar uns com os outros, necessrio que existam um conjunto de regras que devem ser respeitadas por todos para que as comunicaes possam ser efectuadas. Essas regras so designadas de protocolos. Um protocolo pode ser definido como um conjunto de convenses ou regras, as quais so mutuamente aceites por duas entidades ou sistemas, e as quais regem a comunicao entre aquelas entidades ou sistemas, definindo aspectos como a sintaxe, a semntica e a temporizao das trocas de dados. A implementao de protocolos mais facilitada se as diversas tarefas envolvidas forem individualizadas, conforme a sua natureza, em mdulos separados. Desta forma, a arquitectura de uma rede de computadores segue, tipicamente, uma organizao por camadas ou nveis, em que cada camada oferece servios camada imediatamente acima, escondendolhe os detalhes de implementao. Alternativamente, uma arquitectura pode ser vista como uma pilha de protocolos, em que cada protocolo se enquadra num determinado nvel dessa arquitectura.

5.3.1. O Modelo de Referncia OSI


Trata-se de um modelo proposto pela ISO (International Standards Organization, Organizao de Padres Internacionais), com o objectivo de promover a padronizao do domnio das comunicaes por computador. A designao OSI (Open Systems Interconnection, Interligao de Sistemas Abertos) refere-se abertura dos sistemas comunicao com outros sistemas, por oposio a solues proprietrias. A informao que se pretende transmitir dividida em pacotes. No computador-origem, cada camada (comeando na camada superior) acrescenta mais informaes a cada pacote. No computador-destino, os pacotes so desembrulhados por cada uma das camadas. As
Introduo aos Sistemas Informticos 2004/2005 ESTiG/IPB

Captulo 5 Redes de Computadores

46

informaes adicionais que se acrescentam aos pacote permitem verificar a sua integridade quando chegarem ao destino. Na camada fsica, os pacotes so enviados atravs do meio fsico de transmisso at ao destino. Durante o seu caminho entre as mquinas de origem e de destino, os pacotes podero passar por computadores intermdios. Nestas mquinas, os pacotes so recebidos mas apenas desembrulhados at camada de rede, para que a integridade da informao em trnsito possa ser verificada. Estas mquinas intermdias voltam a enviar os pacotes, pelo meio fsico de transmisso at ao seu destino. O modelo OSI est representado na figura 5.5. Note-se tambm que uma camada de um determinado computador apenas comunica com a camada correspondente de outro computador, tal como tambm se encontra representado naquela figura.

Figura 5.5: Modelo de referncia OSI. Segundo este modelo, as mensagens geradas num computador (emissor) tm de atravessar sete camadas de protocolos at chegarem ao canal de transmisso; no computador destinatrio (receptor), as mensagens voltam a atravessar as mesmas sete camadas no sentido inverso, para chegarem, finalmente, ao software de aplicao do receptor. Cada camada, num computador emissor, comunica (virtualmente) com a camada que lhe corresponde no computador receptor. (Azul, 1997)

As camadas do modelo de referncia OSI so as seguintes:

Introduo aos Sistemas Informticos

2004/2005

ESTiG/IPB

Captulo 5 Redes de Computadores

47

Camada Fsica:

Interaco directa com o meio fsico de transmisso; Transformao da representao lgica da informao em smbolos fsicos (impulsos elctricos, sinais pticos, etc.).

Camada de Ligao de Dados:


Preparao dos pacotes para serem enviados; Controlo do acesso aos meios fsicos de transmisso; Controlo do fluxo dos pacotes entre os ns da rede; Controlo de erros (retransmisso de pacotes).

Camada de Rede:

Estabelecimento da rota mais adequada; Transferncia de informao entre ns da rede.

Camada de Transporte:

Transferncia de informao entre os sistemas inicial e final; Servio fivel: controlo de fluxo, de erros e de ordenao dos pacotes.

Camada de Sesso:

Estabelece e mantm o intercmbio de dados entre emissor e receptor durante uma sesso de comunicao.

Camada de Apresentao:

Codifica e descodifica os dados ao nvel do seu formato visual; Converte formatos de sistemas diferentes.

Camada de Aplicao:

Estabelece a interface entre o software de aplicao e as camadas inferiores.

Introduo aos Sistemas Informticos

2004/2005

ESTiG/IPB

Captulo 5 Redes de Computadores

48

5.3.2. A Pilha Protocolar TCP/IP


Trata-se de um conjunto de protocolos que resultou da investigao levada a cabo no mbito da ARPANET, uma rede de comutao de pacotes financiada pela agncia governamental norteamericana DARPA (Defense Advanced Research Projects Agency) em finais da dcada de 1960 e durante a dcada de 1970. A pilha TCP/IP compreende 4 camadas, conceptualmente semelhantes s camadas correspondentes do modelo OSI (figura 5.6). Esta pilha constituda por um conjunto bastante alargado de protocolos, posicionados ao longo das diferentes camadas desta arquitectura:
Camadas OSI TELNET Protocolos TCP IP Redes ARPANET SATNET LAN FTP SMTP UDP DNS Aplicao Transport e Rede Fsica + Ligao de Dados

Figura 5.6: A pilha protocolar TCP/IP. As camadas protocolares desta pilha correspondem a uma ou mais camadas do modelo de referncia OSI.

IP (Internet Protocol): Oferece o servio de rede; TCP (Transmission Control Protocol): Oferece o servio de transporte orientado conexo;

UDP (User Datagram11 Protocol): Oferece o servio de transporte no orientado conexo;

DNS (Domain Name System): Oferece o servio de resoluo de nomes; SMTP (Simple Mail Transfer Protocol): Permite a transmisso de mensagens do servio de correio electrnico;

11 Nos primrdios do desenvolvimento da Internet, datagrama era o nome que se dava s parties das mensagens enviadas de um computador a outro. Hoje em dia, esta designao caiu em desuso, tendo sido substituda pela palavra pacote.

Introduo aos Sistemas Informticos

2004/2005

ESTiG/IPB

Captulo 5 Redes de Computadores


49

FTP (File Transfer Protocol): Oferece um servio de transferncia de ficheiros; Telnet: Oferece o servio de terminal virtual; SNMP (Simple Network Manegement Protocol): Fornece mecanismos de gesto remota de redes TCP/IP;

HTTP (Hypertext Transer Protocol): Fornece um servio de transferncia de ficheiros hipertexto.

Endereos, Nomes e Domnios Para que um computador possa ser identificado univocamente numa rede TCP/IP (por exemplo, a Internet), ento tem que possuir um endereo numrico, designado por endereo IP. Esse endereo formado por quatro campos, separados entre si por um ponto (.). Por exemplo, 193.136.195.221 o endereo IP do servidor dos alunos do IPB. Contudo, como mais fcil para a mente humana identificar um computador por um nome do que por um nmero, surgiu a necessidade de converter os endereos IP em nomes, e vice-versa. O servio responsvel por essa converso o DNS, que estabelece a relao entre o nome do computador e o endereo IP correspondente. Por exemplo, o nome a que corresponde o endereo IP dado no exemplo anterior phobos.alunos.ipb.pt. Os nomes so formados por duas partes: uma que identifica o computador (no nosso exemplo, o nome do computador phobos) e outra que identifica a sua localizao (no nosso exemplo, a mquina phobos localiza-se no domnio12 alunos.ipb.pt). A primeira parte dos nomes definida livremente pelos utilizadores. A segunda parte atribuda segundo o Sistema de Domnio de Nomes (Domain Name System, cuja sigla DNS), criado em 1984. De acordo com o DNS, os nomes tm sempre a seguinte estrutura hierrquica (da direita para a esquerda): nome.subdomnio(s).domnio O domnio de topo (o mais direita) normalmente formado pelos cdigos de nome de pas (de acordo com o padro ISO 3166), excepto nos EUA13, onde existem vrios domnios de topo, formados por trs digitos (gov, mil, com, edu, org, net, etc.14). De acordo com o padro ISO 3166, o domnio de topo de todos os nomes dos computadores portugueses directamente ligados Internet pt.
12 Em termos gerais, pode-se considerar que um domnio uma rede usada por uma organizao. 13 Na realidade, os EUA possuem um domnio de topo definido pelo padro ISO 3166: us. Na prtica, porm, esse domnio no muito utilizado.

Introduo aos Sistemas Informticos

2004/2005

ESTiG/IPB

Captulo 5 Redes de Computadores

50

Abaixo do domnio de topo, podem existir um ou vrios subdomnios, que representam organizaes, departamentos de organizaes, etc. Por exemplo, todos os computadores do Instituto Politcnico de Bragana terminam o seu nome em .ipb.pt, os da Escola Superior de Tecnologia e de Gesto em .estig.ipb.pt, etc.

14 Estes domnios de topo so destinados (pelo menos, em teoria) a computadores pertencentes a redes de organizaes governamentais, militares, comerciais, educativas, organizaes genricas e organizaes relacionadas com a Internet, respectivamente.

Introduo aos Sistemas Informticos

2004/2005

ESTiG/IPB

Captulo 6 Tecnologias Multimdia

51

6 Tecnologias Multimdia

6.1. Introduo Multimdia15


A palavra multimdia designa as vrias formas de apresentao da informao: texto, imagem, animao, vdeo, som, grficos, realidade virtual, etc. Em informtica, o conceito de multimdia representa os sistemas de tratamento de informao e as aplicaes que manipulam as vrias formas de apresentao dessa informao. As aplicaes multimdia so desenvolvidas para cada vez mais finalidades, desde as actividades recreativas (jogos), passando pelas actividades de carcter educativo (programas didcticos, livros ou enciclopdias multimdia, etc.), at s mais avanadas utilizaes das novas tecnologias (simulao de voo, produo ps-vdeo, etc.). Os principais campos de utilizao de multimdia so os seguintes:

Criao de interfaces agradveis entre o utilizador e a informao armazenada em computador;

Divulgao de informao: livros, revistas, enciclopdias, catlogos, demonstraes, etc.;

Aplicaes destinadas aprendizagem ou ao treino assistidos por computador; Concepo e apresentao de prottipos de mecanismos tecnolgicos, obras de engenharia ou de arquitectura, etc.;

Quiosques de informao, ou seja, dispositivos de apresentao de informao, que interagem com o utilizador, normalmente, atravs de ecr de toque (touch screen).

Uma aplicao multimdia diz-se interactiva quando permite a interveno do utilizador no controlo do desenrolar das operaes. Isso feito, normalmente, atravs da insero de elementos grficos especiais no ecr da aplicao (palavras assinaladas a uma cor
15 Este subcaptulo baseado em Azul (1997), volume 2, pginas 393 a 395.

Introduo aos Sistemas Informticos

2004/2005

ESTiG/IPB

Captulo 6 Tecnologias Multimdia

52

diferente, botes, cones ou zonas especiais), a partir dos quais o utilizador pode, atravs de um clique do rato ou outras formas de introduo de dados, aceder a caixas com informao suplementar, a outras seces do documento ou a outros documentos. A esses elementos grficos especiais d-se o nome de hiperligao. Este modo de funcionamento deriva do conceito de hipertexto, j existente nos mdulos de ajuda de muitas aplicaes de software e que passou a constituir um dos pilares do funcionamento do sistema WWW (World Wide Web) da Internet. Quando se combina o estilo de um documento em hipertexto com multimdia, passamos a ter aquilo que alguns autores designam por hipermdia. O que temos realmente no sistema WWW da Internet um gigantesco e sofisticado sistema de hipermdia: as pginas da Web apresentam-nos documentos de hipertexto, incluindo imagens fixas e animadas, assim como, frequentemente, som e vdeo. Actualmente, a maioria das aplicaes multimdia so interactivas e funcionam em estilo de hipertexto ou de hipermdia, pelo que pode-se afirmar que o conceito de multimdia engloba tambm os de interactividade e hipermdia. Em geral, uma aplicao multimdia requer grande quantidade de espao de

armazenamento. Desta forma, o CD-ROM tornou-se no meio favorito para o armazenamento e a distribuio deste tipo de aplicaes, porque permite guardar uma grande quantidade de informao (entre 650 e 700 MB). No entanto, o desenvolvimento crescente das funcionalidades oferecidas pelas aplicaes multimdia mais comuns comea a tornar insuficiente o espao de armazenamento disponvel num CD-ROM vulgar. Por isso, os fabricantes de aplicaes multimdia comeam a utilizar o DVD como o suporte de eleio para o armazenamento e a distribuio dos seus produtos, j que os DVDs podem oferecer espaos de armazenamento com at cerca de 17 GB de capacidade mxima.

6.2. A Internet
6.2.1. A Evoluo da Internet
A Internet pode ser definida como um conjunto de redes de computadores interligadas escala mundial. Na Internet esto interligados vrios tipos de redes, quer quanto cobertura geogrfica (redes locais, redes de longa distncia, etc.), quer quanto aos equipamentos que as
Introduo aos Sistemas Informticos 2004/2005 ESTiG/IPB

Captulo 6 Tecnologias Multimdia

53

compem e tecnologia utilizada. Para que isso seja possvel, necessrio que existam regras comuns, designadas protocolos. O conjunto (ou famlia) de protocolos utilizados na Internet o TCP/IP (Transmission Control Protocol/Internet Protocol). Tal como j foi discutido no captulo anterior (cap. 5 Redes de Computadores), a famlia TCP/IP composta por diversos protocolos, dos quais se destacam (para alm dos dois TCP e IP que do o nome famlia) o DNS, o SMTP, FTP, Telnet, HTTP e NNTP. A primeira antepassada da Internet nasceu, em 1969, de um projecto do Departmento de Defesa dos EUA. Essa rede chamava-se ARPANET (Advanced Research Projects Agency Network) e tinha como objectivo a interligao de computadores utilizados em centros de investigao com fins militares. Com esse projecto, pretendia-se desenvolver uma plataforma informtica distribuda onde a informao pudesse ser armazenada em segurana (de forma redundante), e que pudesse continuar a funcionar mesmo se alguma parte da rede estivesse impossibilitada de trabalhar (por exemplo, em caso de um ataque nuclear; note-se que, naquela poca, se estava em plena Guerra Fria entre os EUA e a URSS). Foi no incio da dcada de 1980, mais precisamente em 1983, com a adopo dos protocolos TCP/IP por parte da ARPANET16, e com a criao da rede cientfica CSNET (Computer Science Network) e a sua ligao ARPANET, que surgiu a verdadeira Internet. Ao longo da dcada de 1980, o ritmo de crescimento da Internet continuou a aumentar, tornando necessria a existncia e funcionamento de estruturas de coordenao e de cooperao entre o cada vez maior nmero de redes e operadores que a integravam. Assim, logo em 1983, foi criado o Internet Activities Board (IAB, agora designado Internet Architecture Board17), dentro do qual se criariam, em 1989, o Internet Engineering Task Force (IETF18) e o Internet Research Task Force (IRTF19).
16 Nesse mesmo ano, a componente estritamente militar da ARPANET separou-se e formou a rede MILNET (Military Network). Assim, a partir dessa altura, a ARPANET tornou-se uma rede essencialmente civil. 17 O IAB controla o desenvolvimento de padres e protocolos para a Internet e actua como interface entre as vrias entidades de desenvolvimento de padres. URL: http://www.iab.org/. 18 O IETF procura solues para problemas tcnicos e operacionais da Internet e desenvolve padres e protocolos. Os seus grupos de trabalho so constitudos unicamente por voluntrios. URL: http://www.ietf.org/. 19 O IRTF promove a pesquisa relacionada com a evoluo futura da Internet, atravs da criao de pequenos Grupos de Pesquisa (Research Groups) dedicados a projectos de longo prazo em reas relativas a protocolos,

Introduo aos Sistemas Informticos

2004/2005

ESTiG/IPB

Captulo 6 Tecnologias Multimdia

54

Em 1989, a Internet era constituda por mais de 100.000 computadores (hosts) ligados em rede. Mas durante a primeira metade da dcada de 1990 que se regista a grande popularizao da Internet, graas ao desenvolvimento de novos servios mais amigveis e eficientes (como o Gopher20 e a WWW). No incio de 1996, estimava-se que a Internet devia contar com cerca de 9,5 milhes de computadores e mais de 30 milhes de utilizadores (39 milhes de utilizadores de correio electrnico e 26 milhes de utilizadores do conjunto de servios Internet, segundo o Third MIDS Internet Demographic Survey, de Outubro de 1995).

6.2.2. Os Servios da Internet


WWW World Wide Web A World Wide Web nasceu em 1989 no CERN (Centro Europeu de Fsica de Partculas), tendo como seu mentor Tim Berners-Lee, investigador daquela instituio. Surge inicialmente como uma forma mais fcil e visualmente mais atractiva de disponibilizao de informao na Internet. Destacava-se de outros servios (nomeadamente o Gopher), pela utilizao de interfaces grficos, tornando-se assim mais atraente, funcional e simples de utilizar. A WWW um sistema de informao hipertexto e hipermdia, distribudo, cooperativo e heterogneo. O hipertexto oferece ligaes de palavras-chave ou frases, com outras partes do mesmo texto, ou com documentos exteriores. Uma vez que os sistemas actuais tambm permitem manipular imagens, grficos, sons e outros tipos de dados, podem-se estabelecer ligaes hipertextuais entre esses diferentes formatos de informao, o que nos leva ao conceito de hipermdia, j discutido neste captulo. Alm dos meios de comunicao utilizados pela Internet, a WWW assenta em quatro instrumentos fundamentais para o seu funcionamento:

Protocolo HTTP (Hypertext Transfer Protocol);

aplicaes, arquitecturas e tecnologias utilizadas na Internet. URL: http://www.irtf.org/. 20 O Gopher um servio da Internet, anterior WWW, cujo objectivo o de organizar e visualizar ficheiros alojados em servidores ligados Internet. A informao apresentada organizada de forma hierrquica e sob a forma de menus. Este servio contribuiu em muito para o aumento da facilidade de utilizao da Internet. Contudo, tornou-se completamente obsoleto perante a maior flexibilidade dos documentos hipertexto sobre os quais a WWW se baseia. Foi desenvolvido pela Universidade de Minnesota, EUA.

Introduo aos Sistemas Informticos

2004/2005

ESTiG/IPB

Captulo 6 Tecnologias Multimdia


55

Linguagem HTML (Hypertext Markup Language); Software para o servidor WWW (por exemplo, Apache e Microsoft Internet Information Server, etc.);

Software cliente para a visualizao de documentos, designado por navegador ou browser (por exemplo, Microsoft Internet Explorer, Netscape Navigator, Mozilla, Opera, etc.).

O protocolo HTTP define as regras de transferncia dos ficheiros HTML entre o servidor WWW onde esses ficheiros esto armazenadas e o browser cliente (localizado numa mquina cliente) que requisita esses ficheiros. Este protocolo utiliza o conceito de URLs (Uniform Resource Locator, Localizador Uniforme de Recursos) para localizar recursos e informao na Internet. Um URL uma espcie de identificador nico, em toda a Internet, de um determinado recurso; a sua sintaxe segue o seguinte esquema: protocolo://mquina [/caminho/ficheiro]. As vrias componentes de um URL podem ser assim descritas:

Protocolo: indica qual o protocolo que ser utilizado para aceder o recurso; pode ser um dos seguintes: http, https, ftp, news, gopher, entre outros;

Mquina: nome ou endereo IP do computador onde se encontra armazenado o recurso21;

Caminho: (opcional) caminho completo das directorias, existentes na mquina, que devem ser percorridas at se chegar ao recurso;

Ficheiro: (opcional) nome do ficheiro onde se encontra o recurso pretendido22.

Um exemplo de URL : http://www.ipb.pt/~reis.quarteu/isi2004.htm. O protocolo o http, a mquina designada por www.ipb.pt, o caminho ~reis.quarteu, e o ficheiro tem o nome de isi2004.htm.

21 Num URL, a parte correspondente mquina tambm pode conter um nmero que designado porta (isto , um ponto lgico de ligao), e que representa um programa servidor especial existente na mquina, com o qual o cliente deseja interagir. 22 A parte correspondente ao ficheiro de um URL tambm pode conter mais dados que permitiro definir melhor o recurso que se quer aceder. Em geral, esses dados so listas de pares formados por atributos e os seus valores, os quais so utilizados para aceder a recursos gerados dinamicamente pelo servidor web. A sua discusso ultrapassamo mbito desta disciplina.

Introduo aos Sistemas Informticos

2004/2005

ESTiG/IPB

Captulo 6 Tecnologias Multimdia

56

FTP Transferncia de Ficheiros O FTP (File Transfer Protocol, Protocolo de Transferncia de Ficheiros) um protocolo que permite a transferncia de ficheiros entre computadores numa rede TCP/IP. Ao mesmo tempo, um dos servios mais utilizados na Internet, permitindo o acesso a computadores e aos seus ficheiros. Para se estabelecer a ligao a um computador atravs de FTP, necessrio utilizar um programa cliente de FTP (exemplos: CuteFTP, WS_FTP, etc.) para estabelecer uma ligao com um computador servidor de FTP. Para que a ligao FTP seja completamente estabelecida, o utilizador dever indicar a sua identificao perante o sistema (login) e autentic-la mediante uma palavra-passe. A existncia de servidores de ficheiros de acesso pblico depende da existncia de um mecanismo que permita o acesso a qualquer pessoa, dispensando uma identificao especfica para cada potencial utilizador. Neste contexto, criou-se o servio FTP annimo, baseado numa identificao annima23, que pode ser utilizada por todos, e numa autenticao baseada no endereo de correio electrnico do utilizador. claro que um utilizador que se identifique como annimo no ter os mesmo privilgios no acesso aos recursos disponibilizados pelo servidor FTP do que outros utilizadores conhecidos pela mquina.

Correio Electrnico O correio electrnico uma aplicao distribuda que permite a troca de mensagens entre pessoas, atravs de uma rede de computadores. Basicamente, funciona de forma anloga aos servios postais, com a diferena da mensagem ser transportada entre o computador do remetente e o computador do destinatrio pela infraestrutura de rede. As vantagens do correio electrnico em relao ao correio tradicional so a sua velocidade e a flexibilidade da sua utilizao: possvel enviar por correio electrnico tudo o que possa ser interpretado por um computador. Para se poder receber ou enviar correio, necessrio ter um endereo de correio electrnico. Este endereo tem o seguinte formato: identificador@mquina. A 1. parte a identificao do utilizador, ou login, correspondente a uma rea de trabalho do utilizador dentro de uma mquina ligada Internet; a 2. parte a identificao da mquina onde ficar armazenado o
23 Em geral, a identificao annima faz-se introduzindo a palavra anonymous como o identificador (login) do utilizador.

Introduo aos Sistemas Informticos

2004/2005

ESTiG/IPB

Captulo 6 Tecnologias Multimdia

57

correio enviado ou recebido por esse utilizador. A separao entre estes dois componentes feita pelo caracter @ (l-se arroba, ou at em ingls). Um exemplo de um endereo de correio electrnico reis.quarteu@ipb.pt. Com a finalidade de garantir a privacidade das mensagens, o servio de correio electrnico pode ser protegido pela existncia de uma palavra-passe associada a cada rea de trabalho. Existem vrios protocolos que se encarregam de efectuar a transmisso de mensagens de correio electrnico. So eles:

SMTP (Simple Mail Transfer Protocol): Efectua a interaco entre os servidores de correio electrnico. Este protocolo o responsvel pelo envio das mensagens de correio electrnico desde as suas origens at aos seus destinos.

POP3 (Post Office Protocol, verso 3): Permite exportar o correio electrnico armazenado em servidores SMTP para uma mquina cliente, na qual o correio ser lido; actua entre o servidor de correio e o cliente. Este protocolo exige que todo o correio electrnico de um utilizador seja descarregado para a mquina cliente antes que as mensagens possam er lidas.

IMAP (Internet Message Access Protocol): pretende ser o substituto do POP3, incorporando novas funes, tais como:

Ler o cabealho ou o remetente de uma mensagem antes de decidir se essa mensagem ser descarregada para a mquina cliente;

Criar, alterar e apagar pastas no servidor IMAP; Mover ou copiar mensagens entre as pastas de um servidor IMAP; Apagar mensagens no prprio servidor, etc.

USENET Grupos de Notcias Os grupos de notcias, tambm conhecidos como fruns de discusso USENET News, ou newsgroups, so grupos de mensagens pblicas, organizadas hierarquicamente por temas, que circulam na Internet, podendo ser acedidas por qualquer utilizador desta rede. No topo da hierarquia dos grupos de notcias esto os grandes temas, como comp.* (grupos relacionados com computadores), sci.* (grupos relacionados com cincia e investigao),
Introduo aos Sistemas Informticos 2004/2005 ESTiG/IPB

Captulo 6 Tecnologias Multimdia

58

soc.* (grupos relacionados com cultura e questes sociais), rec.* (grupos relacionados com actividades recreativas), alt.* (grupos relacionados com assuntos diversos), etc. Dentro de cada um destes temas, existe uma grande variedade de subtemas, formando no seu conjunto uma hierarquia em rvore, que facilita a escolha e localizao dos temas que nos podem interessar. Deve-se referir ainda a existncia de uma hierarquia pt.*, que contm grupos de discusso relacionados com Portugal. Existem nesta hierarquia diversos grupos, entre os quais o pt.geral, pt.politica, pt.mercado, pt.news, pt.ensino, etc. Da mesma forma que a WWW utiliza o protocolo HTTP, os grupos de notcias utilizam o protocolo NNTP (Network News Transfer Protocol), que tem como funo o transporte das notcias atravs da Internet. O funcionamento da USENET pode ser assim descrito:

As notcias que circulam na USENET so armazenadas em servidores de notcias, os quais comunicam entre si para proceder divulgao das mesmas.

Esta comunicao mantida com um conjunto de servidores vizinhos, que procedem divulgao das mensagens usando um algoritmo de inundao (flooding em ingls; um servidor de notcias envia as novas mensagens que devem ser divulgadas para todos os outros servidores de notcias directamente ligados quele servidor, com a excepo do servidor de onde foram recebidas essas novas notcias).

So definidos em cada servidor quais os grupos de notcias que podem ser trocados com cada vizinho, assim como quais os grupos que podem ser recebidos.

As mensagens apresentam um formato idntico ao formato das mensagens de correio electrnico, excepo do destinatrio. No correio electrnico, as mensagens so dirigidas normalmente a um conjunto de um ou mais utilizadores singulares, enquanto na USENET so dirigidas a um grupo de notcias.

Telnet O servio telnet oferece um servio de terminal virtual. Permite que atravs de um programa instalado numa mquina cliente, qualquer utilizador possa usar os recursos de um servidor, tal como se estivesse na sua prpria mquina.

Introduo aos Sistemas Informticos

2004/2005

ESTiG/IPB

Captulo 6 Tecnologias Multimdia

59

6.3. Pesquisa na World Wide Web


Existem dezenas de ferramentas de pesquisa na World Wide Web. Esses ndices, catlogos e bases de dados so constitudos de duas formas bsicas: 1. Robots, que recolhem e indexam automaticamente o texto integral (exemplos: Alta Vista, HotBot, InfoSeek, Lycos, OpenText, WebCrawler, etc.) ou apenas partes (Inktomi, WWW Worm, etc.) das pginas da Web. O funcionamento dos robots apenas possvel porque a Web baseada em documentos hipertexto que se ligam uns aos outros. Este facto permite que, a partir de um nico documento com hiperligaes para outros documentos, se possa partir descoberta de muitos outros documentos. 2. Construo e manuteno de ndices ou directrios de classificao por interveno humana (exemplos: SAPO, Yahoo, etc.), onde so pesquisveis os ttulos e uma breve descrio dos documentos indexados, e o esquema de classificao ou organizao dos documentos. Os termos a utilizar nas pesquisas devem ter em conta estes dois tipos de instrumentos. Assim, e de um modo geral, na pesquisa de bases de dados geradas a partir de robots (especialmente se esses robots indexam o texto integral dos documentos), pode-se utilizar termos mais especficos e em diferentes lnguas (de acordo com as utilizadas nos documentos que procuramos). Por outro lado, na pesquisa de ndices ou directrios, deve-se usar termos mais genricos, que correspondam aos temas e subtemas da classificao utilizada, ou ento a palavras conhecidas dos ttulos dos documentos procurados. Finalmente, podem ainda ser utilizadas algumas ferramentas que interrogam simultaneamente diversos ndices e bases de dados. Alguns portais portugueses onde possvel pesquisar documentos Web so os seguintes:

http://www.sapo.pt/ http://www.clix.pt/ http://www.aeiou.pt/ http://www.netindex.pt/ http://www.iol.pt/

Alguns portais estrangeiros onde possvel pesquisar documentos Web so os seguintes:


Introduo aos Sistemas Informticos 2004/2005 ESTiG/IPB

Captulo 6 Tecnologias Multimdia


60

http://www.google.com/ http://www.yahoo.com/ http://www.altavista.com/ http://www.lycos.com/ http://www.hotbot.com/ http://www.excite.com/ http://dmoz.org/ http://www.searcheurope.com/ http://www.webcrawler.com/

Alguns portais onde possvel efectuar pesquisas mltiplas sobre bases de dados e ndices de documentos Web so os seguintes:

http://www.search.com/ http://www.globito.com/

6.4. Introduo Linguagem HTML


A linguagem HTML utilizada para a descrio de documentos hipertexto em vrios sistemas, nomeadamente na WWW, o sistema de hipertexto mais popular na Internet. constituda por uma conjunto de marcas (tags), que permitem a formatao de texto, imagens, som e animaes em navegadores ou browsers. A actual verso do HTML recomendada pelo W3C (World Wide Web Consortium24) o HTML 4. Um pequeno guia de iniciao ao HTML pode ser encontrado neste endereo: http://www.w3.org/MarkUp/Guide (em ingls).

24 O W3C a organizao responsvel por estabelecer os padres das tecnologias que se apoiam na WWW. URL: http://www.w3.org/.

Introduo aos Sistemas Informticos

2004/2005

ESTiG/IPB

Captulo 6 Tecnologias Multimdia

61

6.4.1. Principais Marcas do HTML 4


Neste subcaptulo, apresentar-se- uma pequena lista das marcas mais comuns da linguagem HTML. Algumas destas marcas possuem mais atributos cujos valores podem tambm ser definidos pelo autor das pginas HTML. Apenas sero apresentados os atributos mais relevantes para cada marca. Por fim, este subcaptulo no pretende substituir nenhum livro sobre a linguagem HTML: apenas visa ser uma espcie de guia de referncia rpida para os alunos desta disciplina. Maiores detalhes sobre a utilizao das marcas aqui listadas devero ser obtidos em livros sobre o tema, alguns dos quais aparecem referenciados na bibliografia desta sebenta. Dentro de uma marca, a ordem dos seus atributos irrelevante. Por fim, deve-se referir como se faz a insero de comentrios num documento HTML. Um comentrio (texto que no dever ser visualizado num browser, apenas dever aparecer no cdigo HTML do documento) dever ser colocado entre as marcas <!-- e -->. Um exemplo da sua utilizao o que se segue:
<!-- Isto um comentrio. -->

HTML Funo: Identifica um documento HTML. Sintaxe: <HTML> ... </HTML> Exemplo:
<HTML> <BODY> Isto um exemplo. </BODY> </HTML>

HEAD Funo: Identifica o cabealho do documento. Deve vir entre as marcas <HTML> e </HTML>. Sintaxe: <HEAD> ... </HEAD>

Introduo aos Sistemas Informticos

2004/2005

ESTiG/IPB

Captulo 6 Tecnologias Multimdia

62

Exemplo:
<HTML> <HEAD> ... </HEAD> ... </HTML>

TITLE Funo: Define o ttulo do documento, o qual aparece na barra de ttulo da janela do browser quando a pgina estiver a ser visualizada. Sintaxe: <TITLE> ... </TITLE> Exemplo:
<HTML> <HEAD> <TITLE>Ttulo do documento</TITLE> </HEAD> ... </HTML>

BODY Funo: Identifica a parte principal (o corpo) do documento. Deve vir entre as marcas <HTML> e </HTML>. Sintaxe: <BODY ...> ... </BODY> Atributos mais importantes:

BACKGROUND: Define o endereo (URL) de uma imagem que ser usada como imagem de fundo.

BGCOLOR: Define uma cor de fundo. TEXT: Define a cor do texto.

Exemplo:
<BODY BGCOLOR="white" TEXT="black"> O documento ter um fundo de cor branca, sob um texto de cor preta. </BODY> Introduo aos Sistemas Informticos 2004/2005 ESTiG/IPB

Captulo 6 Tecnologias Multimdia

63

H1 ... H6 Funo: Definem ttulos e subttulos, com diferentes tamanhos de letra. Sintaxe: <H1 ...> ... </H1> Atributos mais importantes:

ALIGN: Define o alinhamento do texto. Pode assumir 4 valores:


left: alinhamento esquerda; center: alinhamento ao centro; right: alinhamento direita; justify: alinhamento justificado ( esquerda e direita).

Exemplo:
<H1 ALIGN="left">Ttulo de nvel 1</H1> <H2 ALIGN="right">Ttulo de nvel 2</H2> <H3 ALIGN="center">Ttulo de nvel 3</H3> <H4 ALIGN="justify">Ttulo de nvel 4</H4> <H5 ALIGN="left">Ttulo de nvel 5</H5> <H6 ALIGN="right">Ttulo de nvel 6</H6>

P Funo: Define um pargrafo. Sintaxe: <P ...> ... </P> Atributos mais importantes:

ALIGN: Define o alinhamento do texto. Pode assumir os mesmos valores do atributo ALIGN das marcas H1 a H6.

Exemplo:
<P ALIGN="justify">Isto um pargrafo.</P>

Introduo aos Sistemas Informticos

2004/2005

ESTiG/IPB

Captulo 6 Tecnologias Multimdia

64

B, I e U Funo: Apresenta o texto envolvido com os estilos negrito, itlico ou sublinhado, respectivamente. Sintaxe: <B> ... </B>
<I> ... </I> <U> ... </U>

Exemplo:
<B>Texto em negrito</B> <I>Texto em itlico</I> <U>Texto sublinhado</U>

BR Funo: Insere uma quebra de linha. Sintaxe: <BR> Exemplo:


<P ALIGN="left"> Isto uma linha. <BR> Isto outra linha, dentro do mesmo pargrafo. </P>

HR Funo: Insere uma linha horizontal separadora. Sintaxe: <HR ...> Atributos mais importantes:

ALIGN: Define o alinhamento da linha em relao ao interior da janela do browser. Pode assumir 3 valores:

left: alinhamento esquerda; center: alinhamento ao centro;

Introduo aos Sistemas Informticos

2004/2005

ESTiG/IPB

Captulo 6 Tecnologias Multimdia


65

right: alinhamento direita.

NOSHADE: Se definido, indica que a linha no dever apresentar o efeito de sombra. SIZE: Define a largura da linha. Expresso em pixeis. WIDTH: Define o comprimento da linha. Expresso em pixeis ou como uma percentagem.

Exemplo:
<P ALIGN="left"> Isto uma linha. <HR NOSHADE ALIGN="center" SIZE="8" WIDTH="50%"> Isto outra linha, dentro do mesmo pargrafo, e separada por uma linha horizontal. </P>

A Funo: 1. Define uma ncora, isto , um ponto de um documento hipertexto que pode ser referenciado por outros documentos (por outras palavras menos tcnicas, para onde se pode saltar a partir de outros documentos). 2. Define uma hiperligao, isto , uma rea do documento que permite aceder um outro documento, ou um outro ponto dentro do mesmo documento, sempre que o utilizador clicar o boto esquerdo do rato dentro dessa rea. Sintaxe: <A ...> ... </A> Atributos mais importantes:

HREF: Define o URL que poder ser acedido atravs da hiperligao. NAME: Define o nome da ncora.

Introduo aos Sistemas Informticos

2004/2005

ESTiG/IPB

Captulo 6 Tecnologias Multimdia

66

Exemplo:
<A NAME="frio">Um dia muito frio</A> <!-- ncora no texto Um dia muito frio --> ... <A HREF="#frio">Salta para o dia muito frio.</A> <!-- Hiperligao para a ncora anterior --> ... <A HREF="http://www.estig.ipb.pt/">Salta para a ESTiG.</A> <!-- Hiperligao para um documento externo -->

IMG Funo: Insere uma imagem. Sintaxe: <IMG ...> Atributos mais importantes:

ALIGN: Define o alinhamento da imagem. Pode assumir 5 valores:

bottom: alinha a parte inferior da imagem com a linha de texto prxima imagem;

midde: alinha verticalmente o centro da imagem com a linha de texto prxima imagem;

top: alinha a parte superior da imagem com a linha de texto prxima imagem; left: alinhamento esquerda; right: alinhamento direita.

ALT: Texto alternativo imagem. Em geral, este texto visualizado pelo navegador quando o cursor do rato permanece imvel sobre a imagem durante um determinado intervalo de tempo (em geral, com a durao de uns poucos segundos).

BORDER: Define a largura da linha que envolve a imagem. Expresso em pixeis. Se este valor for igual a zero, ento a figura no ter nenhum bordo sua volta.

HEIGHT: Define a altura da imagem. Expresso em pixeis.

Introduo aos Sistemas Informticos

2004/2005

ESTiG/IPB

Captulo 6 Tecnologias Multimdia


67

SRC: Define o endereo (URL) da imagem que se quer inserir no documento. WIDTH: Define a largura da imagem. Expresso em pixeis.

Exemplo:
<!-- Imagem associada a uma hiperligao --> <A HREF="http://www.estig.ip.pt/"> <IMG SRC="estig.gif" ALIGN="right" BORDER="1" ALT="Logtipo da ESTiG"> </A>

OL Funo: Define uma lista numerada e ordenada. Cada item da lista dever ser definido atravs da marca <LI>. Sintaxe: <OL ...>
<!-- Itens da lista --> </OL>

Atributos mais importantes:


START: Indica qual o valor inicial da lista. TYPE: Define o tipo de lista numerada. Pode assumir 5 valores:

A: define uma lista numerada com letras maisculas; a: define uma lista numerada com letras minsculas; I: define uma lista numerada com nmeros romanos maisculos; i: define uma lista numerada com nmeros romanos minsculos; 1: define uma lista numerada com nmeros normais.

Exemplo:
<P ALIGN="left">Exemplo de uma lista numerada com nmeros romanos minsculos.</P>

Introduo aos Sistemas Informticos

2004/2005

ESTiG/IPB

Captulo 6 Tecnologias Multimdia <OL START="1" TYPE="i"> <!-- Itens --> </OL>

68

UL Funo: Define uma lista no numerada. Cada item da lista dever ser definido atravs da marca <LI>. Sintaxe: <UL ...>
<!-- Itens da lista --> </UL>

Atributos mais importantes:

TYPE: Define o tipo de marcador dos itens da lista no numerada. Pode assumir 3 valores:

circle: define um crculo preenchido como marcador; disc: define um crculo no preenchido como marcador; square: define um quadrado no preenchido como marcador.

Exemplo:
<P ALIGN="left">Exemplo de uma lista no numerada com quadrados como marcadores.</P> <UL TYPE="square"> <!-- Itens --> </UL>

LI Funo: Define um item de uma lista numerada ou no numerada. Sintaxe: <LI> ... </LI> Exemplo:
<P ALIGN="left">Exemplo de uma lista numerada com 3 itens.</P>

Introduo aos Sistemas Informticos

2004/2005

ESTiG/IPB

Captulo 6 Tecnologias Multimdia <OL> <LI>1. item</LI> <LI>2. item</LI> <LI>3. item</LI> </OL>

69

TABLE Funo: Define uma tabela. Cada linha da tabela dever ser definida atravs da marca <TR>. Cada clula de uma linha dever ser definida atravs da marca <TD>. Sintaxe: <TABLE ...>
<!-- Linhas da tabela --> <!-- Clulas da linha --> <!-- Fim da linha --> </TABLE>

Atributos mais importantes:

ALIGN: Define o alinhamento da tabela em relao rea interna de visualizao do browser. Pode assumir os mesmos valores do atributo ALIGN da marca HR.

BGCOLOR: Define a cor de fundo da tabela. BORDER: Define a largura das linhas que separam as clulas da tabela. Expresso em pixeis. Se este valor for igual a zero, ento a tabela no ter nenhuma linha a separar as suas clulas.

CELLPADDING: Define a distncia entre o contedo de uma clula e os seus limites. Expresso em pixeis.

CELLSPACING: Define a distncia entre os limites de duas clulas adjacentes. Expresso em pixeis.

WIDTH: Define a largura da tabela. Expresso em pixeis ou em percentagem da largura da rea interna de visualizao do browser.

Exemplo:
<!-- Ver exemplo da marca TD -->

Introduo aos Sistemas Informticos

2004/2005

ESTiG/IPB

Captulo 6 Tecnologias Multimdia

70

TR Funo: Define uma linha de uma tabela. Cada clula de uma linha dever ser definida atravs da marca <TD>. Sintaxe: <TABLE ...>
<TR ...> </TR> <!-- Mais linhas da tabela --> </TABLE> <!-- 1. linha da tabela --> <!-- Clulas da 1. linha -->

Atributos mais importantes:

ALIGN: Define o alinhamento horizontal do contedo das clulas da linha da tabela. Pode assumir os mesmos valores do atributo ALIGN das marcas H1 a H6.

VALIGN: Define o alinhamento vertical do contedo das clulas da linha da tabela. Pode assumir 3 valores25:

top: alinhamento em cima; middle : alinhamento ao meio; bottom: alinhamento em baixo.

Exemplo:
<!-- Ver exemplo da marca TD -->

TD Funo: Define uma clula de uma tabela. Sintaxe: <TABLE ...>


<TR ...> <!-- 1. linha da tabela --> <TD ...> ... </TD> <!-- Mais clulas da 1. linha da tabela --> </TR> <!-- Mais linhas da tabela -->
25 Na realidade, o atributo valign da marca TR pode assumir um 4. valor, baseline, o qual no ser discutido nesta sebenta.

Introduo aos Sistemas Informticos

2004/2005

ESTiG/IPB

Captulo 6 Tecnologias Multimdia </TABLE>

71

Atributos mais importantes:

ALIGN: Define o alinhamento horizontal do contedo da clula. Pode assumir os mesmos valores que o atrinuto ALIGN da marca TR.

BGCOLOR: Define a cor de fundo da clula. COLSPAN: Indica o nmero de colunas da tabela que a clula dever ocupar. ROWSPAN: Indica o nmero de linhas da tabela que a clula dever ocupar. VALIGN: Define o alinhamento vertical do contedo da clula. Pode assumir os mesmos valores que o atrinuto VALIGN da marca TR.

WIDTH: Define a largura da clula. Expresso em pixeis ou em percentagem da largura da tabela.

Exemplo:
<TABLE ALIGN="center" BORDER=1> <TR ALIGN="center"> <TD>Linha 1, Coluna 1</TD> <TD>Linha 1, Coluna 2</TD> <TD>Linha 1, Coluna 3</TD> </TR> <TR ALIGN="center"> <TD>Linha 2, Coluna 1</TD> <TD COLSPAN="2">Linha 2, Colunas 2 e 3</TD> </TR> </TABLE>

TH Funo: Define uma clula especial de uma tabela. Essa clula pode actuar visualmente como um ttulo de uma coluna ou de uma linha, porque o seu contedo aparece automaticamente centrado e ao texto aplicado o estilo negrito. Sintaxe: <TABLE ...>
<TR ...> <!-- 1. linha da tabela --> <TH ...> ... </TH> Introduo aos Sistemas Informticos 2004/2005 ESTiG/IPB

Captulo 6 Tecnologias Multimdia <!-- Estas clulas sero os ttulos das colunas --> <!-</TR> <!-- Mais linhas da tabela --> </TABLE> Podem haver tantas linhas ou tants colunas

72

de

ttulos quanto se queira -->

Atributos mais importantes: Os mesmos da marca TD. Exemplo:


<TABLE BORDER="1" WIDTH="50%"> <TR> <TH>Ttulo 1</TH> <TH>Ttulo 2</TH> <TH>Ttulo 3</TH> </TR> <TR> <TD>Linha 1, Coluna 1</TD> <TD>Linha 1, Coluna 2</TD> <TD>Linha 1, Coluna 3</TD> </TR> </TABLE>

6.5. Tcnicas de Construo e de Gesto de Stios WWW


O poder de comunicao e a facilidade de utilizao da WWW so as principais razes da sua grande divulgao. Como consequncia, hoje em dia praticamente todas as empresas esto a recorrer a este meio de publicidade e informao. Por isso, a construo de stios na Internet um mercado muito florescente e que movimenta muito dinheiro. Para construir pginas HTML, deve-se ter em conta alguns aspectos: 1. As pginas devem ter um aspecto atraente, por forma a que as pessoas a voltem a visitar. 2. As pginas devem ser bastante interactivas; para isso, deve-se recorrer programao em linguagens de programao adequadas, como, por exemplo, o JavaScript. 3. As imagens at 256 cores (8 bits) devem ter o formato GIF .

Introduo aos Sistemas Informticos

2004/2005

ESTiG/IPB

Captulo 6 Tecnologias Multimdia

73

4. As imagens com 65.536 cores (16 bits) devem ter o formato JPEG. 5. A escolha entre o formato GIF e JPEG deve ser um compromisso entre a qualidade e o espao ocupado pela imagem. 6. As imagens devem ocupar pouca memria; imagens com um tamanho igual ou superior a 20 KB j considerada uma imagem pesada. 7. Dever-se- usar compresso para que as imagens ocupem menos espao, embora a qualidade seja pior. 8. Deve-se reduzir ao mximo as dimenses (altura e largura) das imagens. 9. Deve-se ter em ateno as incompatibilidades entre verses diferentes do HTML e entre browsers.

6.6. Exemplo de uma Pgina HTML


<html> <head> <title>ISI</title> </head> <body bgcolor="white"> <h1 align="center">Introduo aos Sistemas Informticos</h1> <p align="center"> <img src="ISI.jpg" alt="Computador"> </p> <table align="center" border="1" cellpadding="5" cellspacing="0"> <tr> <th>Componente</th> <th>Itens</th> <th>Valor</th> </tr>

Introduo aos Sistemas Informticos

2004/2005

ESTiG/IPB

Captulo 6 Tecnologias Multimdia <tr align="center"> <td rowspan="3">Avaliao Contnua</td> <td>Prtica</td> <td>20 %</td> </tr> <tr align="center"> <td>Terica</td> <td>10 %</td> </tr> <tr align="center"> <td>Trabalho Prtico</td> <td>10 %</td> </tr> <tr align="center"> <td rowspan="2">Exame</td> <td>Com avaliao contnua:</td> <td>60 %</td> </tr> <tr align="center"> <td>Sem avaliao contnua:</td> <td>100 %</td> </tr> <tr> <td align="center" valign="top">Docentes:</td> <td colspan="2"> <ul> <li> Reis Quarteu (<a

74

href="mailto:reis.quarteu@ipb.pt"> reis.quarteu@ipb.pt</a>) </li> <li> Cndida Silva (<a href="mailto:cesilva@ipb.pt">cesil va@ipb.pt</a>) </li>

Introduo aos Sistemas Informticos

2004/2005

ESTiG/IPB

Captulo 6 Tecnologias Multimdia <li> Lcia Torro (<a

75

href="mailto:luciatorrao@ipb.pt">l uciatorrao@ipb.pt</a>) </li> <li> Pedro Dias (<a href="mailto:pdias@ipb.pt">pdias@i pb.pt</a>) </li> </ul> </td> </tr> </table> </body> </html>

Introduo aos Sistemas Informticos

2004/2005

ESTiG/IPB

Captulo 6 Tecnologias Multimdia

76

Figura 6.1: Exemplo de uma pgina definida com a linguagem HTML.

Introduo aos Sistemas Informticos

2004/2005

ESTiG/IPB

Captulo 7 Bases de Dados

77

7 Bases de Dados

7.1. Tpicos Gerais


Uma base de dados (BD) um sistema de organizao e de armazenamento de informao. Esse sistema de organizao baseia-se num modelo conceptual. Um modelo de dados um conjunto de especificaes tericas que estabelecem os princpios e as regras que presidem organizao dos dados. O modelo mais conhecido (e o mais amplamente utilizado) de organizao de informao em bases de dados o modelo relacional. Para que uma base de dados (criada de acordo com um determinado modelo terico) possa ser implementada numa determinada plataforma de hardware e de software, torna-se necessrio recorrer a um conjunto de programas, cuja misso a de organizar e gerir essa informao nos computadores. Esse conjunto de programas designado por Sistema de Gesto de Bases de Dados (SGBD). Os SGBDs possuem uma arquitectura baseada em trs nveis distintos:

Nvel Fsico: Define as formas de armazenamento dos dados em ficheiros e nos diferentes suportes fsicos (discos, CDs, unidades de cpias de segurana, etc.);

Nvel Conceptual: Define a organizao da informao em tabelas e relaes; Nvel de Visualizao: Define as interfaces que apresentam a informao da BD.

Alguns dos SGBDs mais utilizados so os seguintes:


Microsoft Access (http://office.microsoft.com/access/); Microsoft SQL Server (http://msdn.microsoft.com/sql/); Oracle (http://www.oracle.com/); MySQL (http://www.mysql.org/).

Introduo aos Sistemas Informticos

2004/2005

ESTiG/IPB

Captulo 7 Bases de Dados

78

Alguns exemplos de organizaes que necessitam de bases de dados so: bancos, instituies de ensino (escolas, institutos politcnicos, universidades, centros de formao profissional, institutos de lnguas, etc.), agncias seguradoras, Segurana Social, Finanas, hospitais, tribunais, bibliotecas, demais instituies governamentais, empresas, etc. Ou seja, praticamente todo o tipo de organizao necessita de um SGBD para armazenar e gerir a informao produzida pelas suas actividades dirias.

7.2. Estrutura de uma Base de Dados


Neste subcaptulo, ser analisada a estrutura de uma base de dados relacional, tomando como referncia o SGBD Microsoft Access.

7.2.1. Tabelas
As tabelas constituem os objectos fundamentais de uma base de dados. nas tabelas que a informao contida numa base de dados efectivamente armazenada. Do ponto de vista lgico, uma tabela uma estrutura rectangular, formado por uma ou mais linhas e por uma ou mais colunas. As linhas de uma tabela so designadas por registos e as colunas so designadas por campos ou atributos. Os campos so caracterizados por poderem armazenar dados de um determinado tipo. As definies seguintes so fundamentais para se poder compreender o modelo relacional de bases de dados:

Tabela: um conjunto de registos, organizados em campos, que representam algo de relevante para um determinado sistema ou problema.

Registo: conjunto de campos cujos valores caracterizam alguma entidade, real ou abstracta, de um determinado sistema ou problema.

Campo: Caractersticam relevante de todos os registos de uma tabela. Relacionamento ou relao: Ligao entre duas tabelas atravs da qual um registo de uma tabela se relaciona com um conjunto de registos da outra tabela.

Introduo aos Sistemas Informticos

2004/2005

ESTiG/IPB

Captulo 7 Bases de Dados

79

Tipos de Dados
Define-se tipo de dados como o conjunto de dados que um campo pode tomar. Sero aqui apresentados apenas os tipos de dados mais importantes disponibilizados pelo SGBD Microsoft Access.

Texto: Pode conter texto formado por quaisquer caracteres. Pode conter at 255 caracteres.

Memo: usado para textos extensos, at um limite de aproximadamente 64.000 caracteres.

Nmero: Destina-se a armazenar informao numrica, podendo ser definido como:


Byte: Admite nmeros inteiros entre 0 e 255; ocupa apenas 1 byte. Nmero Inteiro: Admite nmeros inteiros entre -32.768 e 32.767; ocupa 2 bytes.

Nmero Inteiro Longo: Admite nmeros inteiros entre -2.147.483.648 e 2.147.483.647; ocupa 4 bytes.

Simples: Oferece uma preciso de 7 casas decimais e permite representar valores numricos negativos compreendidos entre -3,402823 x 1038 e -1,401298 x 10-45, e valores numricos positivos compreendidos entre 1,401298 x 10-45 e 3,402823 x 1038; ocupa 4 bytes.

Duplo: Oferece uma preciso de 15 casas decimais e permite representar valores numricos negativos compreendidos entre -1,79769313486231 x 10308 e -4,94065645841247 x 10-324, e valores numricos positivos compreendidos entre 4,94065645841247 x 10-324 e 1,79769313486231 x 10308; ocupa 8 bytes.

Data/Hora:

Armazena valores numricos que representam datas e horas

compreendidas entre os anos 100 e 9.999; ocupa 8 bytes.

Moeda: Permite armazenar valores monetrios e numricos que necessitem de uma preciso de at 4 casas decimais; ocupa 8 bytes.

Numerao Automtica: Utiliza-se quando se pretende que o SGBD numere automaticamente os novos registos inseridos na BD; ocupa 4 bytes.

Introduo aos Sistemas Informticos

2004/2005

ESTiG/IPB

Captulo 7 Bases de Dados

80

Sim/No: Campo que apenas admite os valores lgicos verdadeiro ou falso; ocupa apenas 1 bit.

Chave Primria Para garantir que no existem dois registos exactamente iguais numa mesma tabela, necessrio definir um conjunto de um ou mais campos cujos valores sejam garantidamente diferentes em todas as linhas da tabela; esse conjunto de campos designado por chave primria. Assim, uma definio de chave primria esta: trata-se de um conjunto de campos de uma tabela cujos valores identificam unicamente um registo dessa tabela. Por exemplo, numa tabela de alunos, o nmero de aluno poder ser a chave primria, j que identifica univocamente cada aluno. Por outro lado, o nome no poder ser uma chave primria, j que podero haver mais de um aluno com o mesmo nome.

7.2.2. Consultas
Uma consulta um objecto da base de dados, constitudo por um conjunto de comandos que permitem extrair informao das tabelas ou actuar sobre a informao existente, modificando-a (pode-se alterar informao j existente, acrescentar nova informao, ou eliminar informao). As consultas so definidas atravs da linguagem SQL (Structured Query Language, Linguagem de Perguntas Estruturadas), uma linguagem padro e especfica para a consulta de informao armazenada em bases de dados relacionais.

7.2.3. Formulrios e Relatrios


Um formulrio fundamentalmente um objecto da interface grfica do SGBD Microsoft Access. A criao de formulrios permite desenhar uma interface mais agradvel e intuitiva, utilizando uma variedade de controlos que tornam mais fcil a tarefa do utilizador. Um relatrio uma forma de apresentar a informao contida numa tabela, ou obtida atravs de uma consulta, em formato apropriado impresso em papel. Um relatrio pode conter campos, texto, imagens e clculos estatsticos.

Introduo aos Sistemas Informticos

2004/2005

ESTiG/IPB

Captulo 7 Bases de Dados

81

7.3. Normalizao
Uma base de dados tem de ser projectada de modo que a informao no contenha dados redundantes. A normalizao de uma base de dados um processo que consiste na reestruturao da informao em diversas tabelas de tal forma que no exista redundncia nos dados armazenados. O processo de normalizao de uma base de dados geralmente efectuado seguindo um conjunto de regras, designadas por formas normais:

1. Forma Normal (1FN): Todos os grupos de campos com valores repetidos dentro de uma tabela devem ser retirados dessa tabela e colocados numa nova tabela.

2. Forma Normal (2FN): Todos os campos no pertencentes chave primria de uma tabela devem depender apenas de toda a chave primria, e no apenas de parte da chave.

3. Forma Normal (3FN): No deve haver dependncias entre campos no pertencentes chave primria de uma tabela.

As figuras seguintes apresentam um exemplo de um processo de normalizao. Inicialmente, toda a informao da base de dados est concentrada numa nica tabela (figura 7.1). Pode-se verificar que, para cada aluno, o valor do campo Instituio apenas depende do valor do campo Curso (isto , sabendo-se o curso, possvel saber qual a instituio onde esse curso leccionado). Assim, o processo de normalizao comea por separar os dados referentes s instituies e coloc-los numa nova tabela (figura 7.2). O campo ID dessa nova tabela do tipo Numerao Automtica e permite que o nome de cada instituio apenas exista uma nica vez na base de dados, contribuindo assim para a reduo da redundncia dos dados. O prximo passo consiste em separar os dados referentes aos cursos e coloc-los numa segunda nova tabela (figura 7.3). Tambm nessa tabela surge um campo ID, do tipo Numerao Automtica, devido s mesmas razes apontadas para a tabela de instituies. Contudo, o tipo de dados do campo Instituio da tabela Cursos passou a ser numrico. A razo para isso que esse campo uma chave externa26 utilizada para estabelecer a relao entre a tabela Cursos e a tabela Instituies, devendo, por isso, ser do mesmo tipo de dados do campo correspondente chave primria da tabela Instituies. Por fim, o tipo de dados do campo Curso da tabela Alunos tambm passou a ser numrico (figura 7.4), porque esse campo a chave externa que permite estabelecer a relao entre a tabela Alunos e a tabela Cursos. O esquema da base de dados normalizada encontra-se representado na figura 7.5.
26 Uma chave externa um conjunto de campos (em geral, apenas um campo) de uma tabela que so usados para referenciar um registo existente numa outra tabela. Tambm so conhecidas como chave estrangeira.

Introduo aos Sistemas Informticos

2004/2005

ESTiG/IPB

Captulo 7 Bases de Dados

82

Figura 7.1: Base de dados no normalizada.

Figura 7.2: Tabela de instituies.

Figura 7.3: Tabela de cursos.

Figura 7.4: Tabela de alunos.

Introduo aos Sistemas Informticos

2004/2005

ESTiG/IPB

Captulo 7 Bases de Dados

83

Figura 7.5: Base de dados normalizada. Os relacionamentos so representados por linhas que unem as tabelas atravs de determinados campos. Note-se as multiplicidades das relaes indicadas sobre cada linha de relacionamento.

7.4. Manuteno da Integridade das Bases de Dados


A manuteno da integridade de uma base de dados fundamental para o seu bom funcionamento, devendo ser assegurada pelo SGBD ou pelas aplicaes que interagem com os dados. Uma base de dados relacional deve assegurar dois tipos de integridade:

Integridade de Entidade: Os valores dos atributos que correspondem chave primria de uma entidade no podem ser nulos nem iguais a outros existentes na tabela.

Integridade Referencial: Um valor de uma chave externa tem obrigatoriamente de existir como valor de um campo da chave primria da tabela relacionada com aquela chave externa.

Introduo aos Sistemas Informticos

2004/2005

ESTiG/IPB

Captulo 8 Algoritmos

84

8 Algoritmos

8.1. Conceito de Algoritmo


Um algoritmo pode ser definido como uma sequncia ordenada e no ambgua de passos elementares que levam soluo de um dado problema. Por exemplo, as indicaes dadas para se chegar at uma determinada rua constituem um algoritmo para se encontrar essa rua. De igual modo, uma receita de cozinha tambm uma forma muito conhecida de algoritmo. O uso de uma linguagem algortmica fundamental porque, depois de desenvolvido o algoritmo, o programa poder ser implementado em qualquer linguagem de programao. Para isso, necessrio que os algoritmos cumpram algumas regras. Assim, os passos de um algoritmo devem ser simples e no ambguos, devendo estar cuidadosamente ordenados.

8.2. Descoberta Algortmica


O desenvolvimento de um algoritmo consiste na subdiviso de um problema em problemas de menor dimenso, at se chegar a uma soluo. Como exemplo, vamos elaborar um algoritmo para realizar uma tarefa bastante familiar: a substituio de uma lmpada queimada. Numa primeira abordagem, a operao bsica pode ser expressa em apenas dois passos simples: 1. Remova a lmpada queimada; 2. Coloque a nova lmpada. Apesar de esta soluo parecer resolver o problema, de facto estes passos no so suficientemente claros para uma mquina como, por exemplo, um robot, pois cada um dos passos envolve alguns pressupostos que um robot no conhece. Assim, o simples passo "remova a lmpada queimada" pode ser expandido nos seguintes passos:

Introduo aos Sistemas Informticos

2004/2005

ESTiG/IPB

Captulo 8 Algoritmos

85

1. Posicione a escada debaixo da lmpada queimada; 2. Suba a escada at que a lmpada possa ser alcanada; 3. Rode a lmpada queimada no sentido anti-horrio at que ela se solte. Existe a necessidade da introduo de diversos passos intermdios por forma a descrever em pormenor cada passo necessrio a dar: 1. Posicione a escada debaixo da lmpada queimada; 2. Seleccione uma nova lmpada para a substituio; 3. Se a potncia no for a mesma da queimada, repita: i. Deite fora a lmpada seleccionada; ii. Seleccione uma lmpada nova. 4. Repita at que a lmpada possa ser alcanada: i. Suba um degrau na escada. 5. Repita at que a lmpada fique solta: i. Rode a lmpada no sentido anti-horrio. 6. Posicione a nova lmpada; 7. Repita at que a lmpada esteja colocada: i. Rode a lmpada no sentido horrio. 8. Repita at alcanar o cho: i. Desa um degrau na escada.

Introduo aos Sistemas Informticos

2004/2005

ESTiG/IPB

Captulo 8 Algoritmos

86

Este processo designado de descoberta algortmica ou aproximao algortmica, que consiste em decompor o problema em subproblemas, por forma a se chegar a uma soluo. Aps se ter desenvolvido o algoritmo, a implementao (numa linguagem de programao) um simples acto de traduo, deixando de ser de raciocnio (figura 8.1). Por outro lado, a tentativa de solucionar um problema atravs da implementao directa de um programa escrito numa linguagem de programao, sem antes passar pela determinao de um algoritmo capaz de resolver o problema, pode-se revelar muito complicada.

Figura 8.1: Processo de descoberta (ou aproximao) algortmica.

8.3. Representao Algortmica


8.3.1. Dados de Tipo Simples
Os dados de tipo simples podem ser:

Inteiros; Reais; Lgicos ou booleanos;

Introduo aos Sistemas Informticos

2004/2005

ESTiG/IPB

Captulo 8 Algoritmos

87

Cadeias de caracteres ou alfanumricas27 (strings).

8.3.2. Variveis e Expresses


possvel manipular os dados dos tipos referidos no subcaptulo anterior atravs da combinao das operaes fundamentais, para formar expresses mais elaboradas. Na matemtica, o conceito muito familiar. Por exemplo, se identificarmos a hipotenusa de um tringulo rectngulo por a, e os seus catetos por b e c, o Teorema de Pitgoras d-nos a seguinte relao entre os trs lados: a2 = b2 + c2. O conceito de varivel um dos mais importantes no domnio da algoritmia e programao. Uma varivel representa uma posio de memria que armazena valores de um determinado tipo de dados, e que podem ser lidos e alterados por um programa. Uma varivel pode receber muitos valores diferentes, mas, num dado instante, ela contm apenas um valor. da responsabilidade do programador definir o nome das variveis de um programa. O nome de uma varivel deve representar convenientemente os valores que essa varivel dever armazenar.

8.3.3. Operao de Atribuio


A operao de atribuio a forma de especificar que a uma dada varivel ser dado um valor. O operador de atribuio uma pequena seta a apontar para a esquerda (). Por exemplo:

A 6 (o valor numrico 6 atribudo varivel A); B 31 (o valor numrico -31 atribudo varivel B); C verdadeiro (o valor lgico verdadeiro atribudo varivel C); D cadeia de caracteres (a cadeia de caracteres indicada atribuda varivel D).

O lado direito da instruo de atribuio pode ser qualquer expresso. Uma expresso uma combinao de variveis, constantes e operadores. O resultado da avaliao de uma expresso no lado direito da instruo de atribuio o valor que atribudo varivel indicada no lado esquerdo dessa instruo. Deve-se ter em conta que a expresso deve gerar
27 Alguns exemplos de cadeias de caracteres so: Instituto Politcnico, automvel, Ano 2000 e 23. As cadeias alfanumricas devem ser delimitadas com aspas ( ).

Introduo aos Sistemas Informticos

2004/2005

ESTiG/IPB

Captulo 8 Algoritmos

88

um valor cujo tipo de dados seja compatvel com o tipo de dados da varivel qual aquele valor ser atribudo. Um exemplo de uma sequncia possvel de operaes dado a seguir. Este exemplo manipula 3 variveis cujos nomes so numero1, numero2 e resultado. A soma dos valores das variveis numero1 e numero2 atribudo varivel resultado.
numero1 13 numero2 8 resultado numero1 + numero2

8.3.4. Entrada e Sada de Dados


Os dois comandos que permitem manusear as entradas e sadas de dados so: 1. O comando Leia permite ler valores, atribuindo-os s variveis indicadas; 2. O comando Escreva permite mostrar os resultados ao utilizador. A forma do comando Leia , por exemplo, a seguinte:
Leia (A, B, C)

A forma do comando Escreva , por exemplo, a seguinte:


Escreva (A = , A, B = , B, C = , C)

Um exemplo de um algoritmo mais elaborado e que utiliza o comando de sada de dados dado a seguir:
nota1 15 nota2 13 nota3 8 media (nota1 + nota2 + nota3) / 3 Escreva ("A mdia das notas : ", media)

Se pretendssemos que fosse o utilizador a fornecer os dados para as notas, ento os 3 primeiros comandos de atribuio deveriam ser substitudos por um nico comando de entrada de dados:
Leia (nota1, nota2, nota3)

Introduo aos Sistemas Informticos

2004/2005

ESTiG/IPB

Captulo 8 Algoritmos

89

8.4. Estruturas de Controlo


8.4.1. Estruturas de Seleco Simples
Se uma determinada condio (representada por uma expresso lgica) for verdadeira, ento um conjunto de instrues ser executado. Em alternativa, pode-se tambm indicar um conjunto de instrues que apenas ser executado se a condio anterior for falsa. Se condio Ento alternativa verdadeira Fim de Se Se condio Ento alternativa verdadeira Seno alternativa falsa Fim de Se Exemplo:
Se A > B Ento escreva (A) Seno escreva (B) Fim de Se

8.4.2. Estrutura de Seleco Mltipla


Considere-se, como exemplo deste tipo de estrutura de seleco, um programa que apresente o menu de opes representado abaixo:
Menu 1 - Pra robot 2 - Arranca robot 3 - Sair

Um algoritmo capaz de representar o funcionamento deste programa o seguinte:


Se opcao = 1 Ento pra robot

Introduo aos Sistemas Informticos

2004/2005

ESTiG/IPB

Captulo 8 Algoritmos Seno Se opcao = 2 Ento arranca robot Seno sair Fim de Se Fim de Se

90

As estruturas de seleco mltipla tambm podem ser implementadas com o auxlio do comando Caso. Desta forma, o algoritmo anterior pode ser reescrito tal como se mostra a seguir:
Caso opcao de "1" : pra robot "2" : arranca robot "3" : sair Fim de Caso

8.5. Estruturas Iterativas


8.5.1. Estruturas de Repetio Condicional
Este tipo de estrutura permite que um bloco de instrues seja executado enquanto uma determinada condio for verdadeira. Quando essa condio passar a ser falsa, a execuo do algoritmo prossegue na instruo imediatamente a seguir estrutura repetitiva. Enquanto condio Bloco de instrues Fim de Enquanto Como exemplo, considere-se um algoritmo de um programa que permite calcular o factorial de um nmero inteiro:
Leia (N) factorial 1 contador 1 Enquanto contador < N contador contador + 1 factorial factorial * contador Fim de Enquanto

Introduo aos Sistemas Informticos

2004/2005

ESTiG/IPB

Captulo 8 Algoritmos

91

Escreva (Factorial de , N, = , factorial) Fim

8.5.2. Estrutura de Repetio Incondicional


Este tipo de estrutura permite que um bloco de instrues seja executado um determinado nmero de vezes. Quando todas as iteraes da estrutura repetitiva tiverem sido executadas, a execuo do algoritmo prossegue na instruo imediatamente a seguir ao fim da estrutura repetitiva. Para varcontrolo valor_inicial at valor_final repita Bloco de instrues Fim de Para Como exemplo, considere-se um algoritmo que escreve o valor que a varivel contadora do ciclo toma em cada iterao da estrutura de repetio incondicional.
Para contador 1 at N repita Escreva ("Contador = ", contador) Fim de Para

Introduo aos Sistemas Informticos

2004/2005

ESTiG/IPB

Captulo 9 Linguagens de Programao

92

9 Linguagens de Programao

9.1. Perspectiva Histrica


As linguagens de programao tm como funo descrever todas as operaes que devem ser efectuadas por um computador, e que so necessrias para a resoluo de um determinado problema. Existe uma grande variedade de linguagens de programao, divididas tipicamente em duas grandes categorias: 1. Linguagens de baixo nvel; 2. Linguagens de alto nvel. Alguns exemplos de linguagens de baixo nvel so os vrios cdigos-mquina e as diversas linguagens assembly. O vocabulrio deste tipo de linguagens muito elementar e completamente dependente do hardware que executa os programas escritos nestas linguagens. Como consequncia, a formulao dos problemas extremamente complicada e muito sujeita a erros. Em compensao, a execuo dos programas muito rpida, j que os programas so directamente escritos na linguagem compreendida pela UCP. Por outro lado, as linguagens de alto nvel caracterizam-se por possurem um vocabulrio adequado expresso de problemas de grande complexidade, o que facilita a tarefa do programador, uma vez que os programas so escritos com o auxlio de linguagens muito mais prximas da linguagem humana, em claro contraste com as linguagens de baixo nvel. Outra caracterstica muito importante deste tipo de linguagens a sua independncia em relao ao hardware onde os programas sero executados: o mesmo cdigo fonte pode ser executado em diferentes UCPs. Essas vantagens tm um inconveniente, j que tornam a traduo e a execuo dos programas mais lentas: as linguagens de alto nvel no so compreensveis para a UCP, pelo que torna-se absolutamente necessrio que os programas escritos nessas linguagens sejam traduzidos para cdigo mquina. Alm disso, o prprio processo de traduo dos programas gera cdigo mquina no optimizado. Alguns exemplos de linguagens de alto nvel so: BASIC, Fortran, COBOL, C, Pascal, Java, Prolog, etc.
Introduo aos Sistemas Informticos 2004/2005 ESTiG/IPB

Captulo 9 Linguagens de Programao

93

9.2. Conceitos Tradicionais de Programao em Pascal


Um programa escrito na linguagem de programao Pascal composto por um cabealho e por um corpo de programa, que inclui a zona de declaraes e a zona de instrues, tal como esquematizado a seguir:

Cabealho do programa; Zona de declaraes:


Declarao de constantes; Declarao de tipos de dados; Declarao de variveis; Declarao de subprogramas.

Zona de instrues.

Um exemplo de um programa simples em Pascal, que apenas l um valor em escudos e o converte num valor em euros, listado abaixo:
program ConverteEscudosParaEuros(input, output); uses WinCrt; const taxa_conversao = 200.482; var escudos, euros: real; begin Write(Escreva a quantidade em escudos: ); ReadLn(escudos); euros := escudos / taxa_conversao; WriteLn(A quantidade em euros , euros:3:2, Euros); end.

9.2.1. Tipos de Dados


Os tipos de dados pr-definidos da linguagem de programao Pascal so:

Valores numricos:

Introduo aos Sistemas Informticos

2004/2005

ESTiG/IPB

Captulo 9 Linguagens de Programao

94

integer: representa nmeros inteiros compreendidos entre -32.768 e 32.767; ocupa 2 bytes.

real: Oferece uma preciso de 11 ou 12 dgitos significativos e permite representar valores numricos negativos compreendidos entre -1,7 x 1038 e -2,9 x 10-39, e valores numricos positivos compreendidos entre 2,9 x 10-39 e 1,7 x 1038; ocupa 6 bytes.

Valores lgicos ou booleanos:

boolean: apenas admite os valores true (verdadeiro) e false (falso).

Valores que representam caracteres ASCII:

char: apenas admite um caracter, delimitado por apstrofos (pelicas); exemplos: A, a, ?, 5, +, etc.

Cadeias de caracteres:

string: admite cadeias alfanumricas com, no mximo e na maior parte dos compiladores Pascal, at 255 caracteres; as cadeias devem ser delimitadas por apstrofos; exemplos: ISI, Pascal, aula n. 1, etc.

9.2.2. Constantes
As constantes so representaes de valores que no so alterados durante a execuo do programa. Elas possuem um identificador (ou nome) e um valor, e so definidas na zona declarativa de um programa, tal como se indica:
const identificador = valor;

O tipo de dados da constante encontra-se implcito no valor. Por exemplo, no programa da converso de valores em escudos para euros, foi definida uma constante chamada taxa_conversao, qual foi atribudo um valor igual a 200,482. Ora, como esse valor numrico com parte fraccionria, ento o tipo de dados que foi automaticamente associado quela constante foi o tipo real.

Introduo aos Sistemas Informticos

2004/2005

ESTiG/IPB

Captulo 9 Linguagens de Programao

95

9.2.3. Variveis
As variveis so representaes do contedo de posies (ou blocos) da memria do computador onde se armazenam valores que podem ser alterados durante a execuo do programa. Tal como as constantes, as variveis possuem um identificador, um valor e um tipo de dados. Tambm so declaradas na zona declarativa, desta forma:
var identificador: tipo_de_dados;

Um valor atribudo a uma varivel apenas durante a execuo do programa.

9.2.4. Expresses
Uma expresso um grupo de operandos (isto , valores utilizados nas operaes) agrupados por operadores (isto , smbolos que representam operaes), constituindo formas algbricas, aritmticas ou lgicas que representam um valor de um determinado tipo de dados. As expresses numricas representam um valor numrico real ou inteiro. Por exemplo, considere a expresso (A * B 2 * C) / 3 em que os identificadores A, B e C representam variveis ou constantes numricas. De forma semelhante, as expresses booleanas representam um valor lgico: true (verdadeiro) ou false (falso). Por exemplo, considere a expresso (2 * X) > (Y / 5), em que os identificadores X e Y representam variveis ou constantes numricas, embora a expresso represente um valor lgico, retornado pelo operador comparativo > (maior que).

9.2.5. Instrues
Uma instruo uma ordem que obriga o computador a executar um conjunto de aces determinadas. Em Pascal, diz-se que uma instruo composta um bloco de instrues delimitado pelas palavras-chave begin e end.
begin {sequncia de instrues} end;

Introduo aos Sistemas Informticos

2004/2005

ESTiG/IPB

Captulo 9 Linguagens de Programao

96

Instruo de Atribuio A atribuio de um valor a uma varivel feita com o auxlio do operador de atribuio, :=, desta forma:
varivel := valor;

O valor atribudo pode ser uma constante, o valor de uma outra varivel, ou o valor de uma expresso. Em quaisquer dos casos, o valor atribudo tem de ser de um tipo de dados compatvel com o tipo de dados da varivel.

Entrada de Dados A entrada de dados introduzidos pelo utilizador atravs do teclado faz-se atravs do comando ReadLn. Este comando guarda os dados lidos nas variveis indicadas na instruo. Deve-se ter em ateno que a ordem da entrada de dados tem de corresponder ordem das variveis na lista que acompanha os comandos. Quando o utilizador estiver a introduzir dados numricos, estes devem ser teclados na mesma linha e separados por espaos. Um exemplo de utilizao do comando ReadLn dado a seguir:
ReadLn(a, b, c);

Visualizao de Dados Os dados produzidos por um programa podem ser visualizados no monitor de um computador atravs da utilizao do comando WriteLn. Este comando envia para o monitor o valor de cada varivel, expresso ou constante, pela ordem em que estas figuram so indicadas na lista que acompanha aquele comando. Depois de apresentar todos os valores, o comando WriteLn provoca uma mudana de linha no monitor. Um comando alternativo, muito semelhante ao WriteLn, mas que no provoca a mudana de linha final, o comando Write. Um exemplo de utilizao do comando WriteLn o que se segue:
WriteLn(a = , a , b = , b);

Introduo aos Sistemas Informticos

2004/2005

ESTiG/IPB

Captulo 9 Linguagens de Programao

97

9.3. Implementao de um Programa em Pascal


Deve-se referir que, no fim de cada linha de instruo de um programa escrito em Pascal, se deve colocar um ponto e vrgula ;. Contudo, esse delimitador no necessrio quando a instruo precede o fim de um bloco de instrues (marcado pela palavra-chave end). Como exemplo de aplicao, vamos escrever em Pascal o programa que calcula o factorial de um nmero. Esse programa foi j elaborado em linguagem algortmica no captulo anterior.
program CalcularFactorial(input, output); uses WinCrt; var N, factorial, contador: integer; begin Write(Introduza o nmero: ); ReadLn(N); factorial := 1; contador := 1; while contador < N do begin contador := contador + 1; factorial := factorial * contador end; WriteLn(Factorial de , N, = , factorial) end.

Introduo aos Sistemas Informticos

2004/2005

ESTiG/IPB

Bibliografia Recomendada

98

Bibliografia Recomendada

Quarteu, R.; Sora, D. (2003): Estrutura e Funcionamento dos Computadores. ESTiG/IPB.

Rocha, N. P., Ramos, F. M. S., Oliveira, J. L. (1997): Introduo Informtica. Universidade de Aveiro (004.01/ROC/INT).

Velloso, F. C. (1994): Informtica Conceitos Bsicos. Editora Campus (004.01/VEL/INF).

Nabais, C. (1993): Iniciao Informtica. Editorial Presena (004.2.2/NAB/INI). Nascimento, A. J.; Heller, J. L. (1990): Introduo Informtica. McGraw-Hill (004.01-1/NAS/INT).

Matos, J. A. (1994): Compndio de Informtica. Edies Graficria (004.31/MAT/COM).

Azul, A. A. (1997): Introduo s Tecnologias de Informao (1 e 2). Porto Editora.

Brookshear, J. G. (1997): Computer Science: an Overview. Addison-Wesley Longman (004/BRO/COM).

Sampaio, A. (2002): Hardware para Profissionais. FCA (004.3/SAM/HAR). Gouveia, J., Magalhes, A. (2002): Hardware para PCs e Redes Curso Completo. FCA (004.3/GOU/HAR).

Guimares, A., Lages, N. (1994): Algoritmos e Estruturas de Dados. LTC (004.6/GUI/ALG).

Perry, G. (1999): Aprenda em 24 Horas Programao. Editora Campus (004.43/PER/APR).

Carrio, J. A. (1996): Desenho de Bases de Dados. CTI Centro de Tecnologias de Informao (004.65/CAR/DES).

Kent, P. (1995): Guia Incrvel da Internet. Makron Books (004.6/KEN/GUI).


2004/2005 ESTiG/IPB

Introduo aos Sistemas Informticos

Bibliografia Recomendada

99

Crumlish, C. (1995): Explorando a Internet. Makron Books (004.7/CRU/EXP). Ramalho, J. A. (1996): Iniciando em HTML. Makron Books (004.43/RAM/INI). Evans, T. (1996): HTML Simples e Rpido. Makron Books (004.43-1/EVA/HTM). Raggett, D. (2002): Getting started with HTML. URL: http://www.w3.org/MarkUp/ Guide/. Visitado em 5 de Outubro de 2004.

Quarteu, R. (2003): O Sistema Operativo Linux. ESTiG/IPB. Pereira, P. (2000): Linux: Curso Completo. FCA (004.45/PER/LIN). Trezentos, P.; Cardoso, A. (2000): Fundamental do Linux. FCA (004.45/TRE/FUN). Sousa, S. (1996): Domine a 110 % Access 7 para Windows. FCA (004.651/SOU/DOM).

Mais informaes sobre a disciplina podero ser obtidas no endereo web: http://www.ipb.pt/~reis.quarteu/

Introduo aos Sistemas Informticos

2004/2005

ESTiG/IPB

Avaliao da Disciplina

100

Avaliao da Disciplina

A avaliao est estruturada em trs componentes, vlidas para todas as pocas:

Avaliao contnua, ao longo das aulas da disciplina:

Componente terica: realizao de fichas de avaliao sobre a matria abordada nas aulas tericas (cotao: 10% da nota final);

Componente prtica: realizao de fichas de avaliao sobre a matria abordada nas aulas prticas (cotao: 20% da nota final);

Se o aluno no realizar uma ficha, considerar-se-, para efeitos de classificao final, que a classificao obtida pelo aluno nessa ficha de 0 (zero) valores;

Das fichas realizadas em cada componente (terica e prtica), no sero consideradas as 2 piores classificaes de cada aluno para a classificao final ;

Bonificao: Os alunos que obtenham uma classificao final maior ou igual a 8,5 valores e menor que 9,5 valores, e que realizem, pelo menos, 80% do total das fichas tericas e prticas, tero direito a uma bonificao de 1 (um) valor na classificao final;

Trabalho prtico (cotao: 10% da nota final). Exame escrito, englobando toda a matria (cotao: 60% da nota final):

Para os alunos que no se submetam avaliao contnua e que no realizem o trabalho prtico, o exame escrito incluir um conjunto de questes adicionais, de tal forma que a sua cotao passa a ser de 100% da nota final;

Os alunos que tenham-se submetido avaliao contnua e realizao do trabalho prtico podero escolher realizar o exame escrito na sua totalidade (cotao de 100% da nota final); nesta situao, as notas obtidas com a avaliao contnua e com o trabalho prtico no sero consideradas.

Introduo aos Sistemas Informticos

2004/2005

ESTiG/IPB

Docentes da Disciplina

101

Docentes da Disciplina

Docente Reis Quarteu

Gabinete 37

Correio Electrnico reis.quarteu@ipb.pt

Horrio de Atendimento 4. feira: 14 15 horas 5. feira: 10 12 horas 6. feira: 10 11 horas

Cndida Silva

94

cesilva@ipb.pt

2. feira: 16 18 horas 3. feira: 14 16 horas 2. feira: 15 17 horas 3. feira: 10 12 horas 3. feira: 14 17 horas

Lcia Torro Pedro Dias

68 37

luciatorrao@ipb.pt pdias@ipb.pt

Introduo aos Sistemas Informticos

2004/2005

ESTiG/IPB

You might also like