Escolar Documentos
Profissional Documentos
Cultura Documentos
Aplicacoes Informaticas B
Aplicacoes Informaticas B
Aplicações
Aplicações EE Eis.
Porto
� Editora
1Inf
nformáticas
ormáticas B
B S⸀踀⸀贀 ORI䜀䤀氀言
L℀Ⰰ
Aplicações
Aplicações Informáticas
Informáticas B
B 12.º
12.º ano
ano OIGANAO
Dalila Fonseca I| Deolinda
Dalila Fonseca Pacheco I| Fernando
Deolinda Pacheco Marques I| Ricardo
Femando Marques Ricardo Soares
Soares
À
贀蠀 .言렀⸀⸀
CÓPIA
蘀蠀
A cópia ilegal viola
os direitos dos auto爀攀s.
Os p爀攀judicados somos
todos nós.
A disciplina de Aplicações Informáticas B do 12.º ano possibilita ao
aluno adquirir e consolidar conhecimentos e competências em áreas
como a programação, a interatividade e o multimédia, sendo estas uma
mais-valia, pois permitem abranger temas atuais em áreas específicas
com aplicação quotidiana.
Bom trabalho!
Os autores
Db
UNIDADE UNIDADE
Introdução 95
1.1. Linguagens naturais e linguagens formais
Do GUI aos ambientes imersivos 96
1.2. Algoritmos e pseudocódigo
1.1. Evolução histórica da interface
Conceitos fundamentais 13
Homem-mágquina 96
1.2. Os ambientes gráficos atuais, ergonomia
2.1. Introdução 13
e sentidos 97
2.2. Dados e tipos de dados 16
2.3. Variáveis e constantes 17 Realidade virtual 98
2.4. Instrução de atribuição 18 2.1. Conceito 98
2.5. Instruções de entrada e de saída 18 2.2. Simulação da realidade 98
2.6. Operadores e expressões 20 2.3. Realidade imersiva e não imersiva 99
2.6.1. Operadores aritméticos 20
2.6.2. Operadores relacionais 20 Interatividade 102
2.6.3. Operadores lógicos 21 3.1. Conceito 102
2.6.4. Prioridade dos operadores 22
3.2. Características ou componentes 102
Teste e controlo de erros em algoritmia 23 3.3. Níveis segundo a relação Homem-máquina 102
3.4. Níveis segundo a ação sensorial 103
Estruturas de controlo 24 3.5. Tipos de interatividade 104
4.1. Estrutura sequencial 24
4.2. Estrutura de decisão ou seleção 26 Como avaliar soluções interativas 104
4.2.1. Estrutura de seleção simples 26
O desenho de soluções interativas 105
4.2.2. Estrutura de seleção composta 28
4.2.3. Estrutura de seleção encadeada 30
4.2.4. Estrutura de seleção múltipla 33
4.3. Estruturas de repetição ou ciclos 35
UNIDADE
4.3.1. Ciclo For [Para] 35
109
4.3.2. Ciclo While (Enquanto) 38
4.3.3. Ciclo Repeat (Repetir) 40
Conceito de multimédia 110
Arrays 43
Tipos de media 111
5.1. Vetores 43
2.1. Quanto à sua natureza espaciotemporal 111
5.1.1. Operações com vetores 44
2.1.1. Estáticos 111
5.1.2. Algoritmos de ordenação 46
2.1.2. Dinâmicos 111
5.1.3. Algoritmos de pesquisa 50
2.2. Quanto à sua origem 112
5.2. Matrizes 53
2.2.1. Capturados 112
5.2.1. Operações básicas com matrizes 54
2.2.2, Sintetizados 112
Bibliografia 240
Introducão
à Programação
Jogo
1. Introdução
Quadro 1.1
Quadro 1.2
Quadro 1.3
O quadro 1.4 apresenta uma classificação das gerações, e alguns exemplos, em fun-
ção das características de evolução das linguagens de programação.
Quadro 1.4
Quadro 1.5
“Y
Algori Sequência finita de instruções descritas de forma lógica, ordenada,
goritmo clara e precisa a fim de resolver o problema.
wW
Programa Algoritmo codificado numa linguagem de programação.
Um algoritmo pode ser escrito com o auxílio de uma linguagem natural, utilizando expres-
sões precisas. Mas existem outros modos de especificação, nomeadamente o fluxograma
e o pseudocódigo. No primeiro caso, utiliza-se uma representação gráfica e, no segundo
Exclusivo caso, uma representação textual (português estruturado).
do Professor
Os fluxogramas utilizam símbolos gráficos para representar o fluxo das ações necessá-
rias para resolver um problema, tal como está apresentado no quadro 1.6.
Solução
1. Introdução 1
Quadro 1.6
Jogo
Simbolo . ) / / < > () -
Início ou Entrada a
a , Processo/ | Decisão/ - Linha
Descrição | fim do ou saída - - Conexão Sub-rotina
. Operação Comparação de fluxo
algoritmo de dados
Quadro 1.7
Estrutura Elemento
Variáveis
Dados
Constantes
Aritméticos
Relacionais
Operadores
Lógicos
De cadeia de caracteres
Atribuição
Instruções básicas De entrada
De saída
Sequencial
Estruturas de controlo Decisão ou seleção
Repetição ou de ciclos
Quadro 1.8
Código em
. ap linguagem de
Linguagem natural Fluxograma Pseudocódigo guagem €
programação
Pascal
Fim
Exercícios de aplicação 2
1. Selecione a opção correta nas seguintes questões.
1.1. Defina o conceito de algoritmo.
(A) É um conjunto de instruções escritas com a ajuda de uma linguagem natural, mas que
não necessita de expressões precisas.
(B) É uma sequência de instruções que devem ser exatamente seguidas passo a passo para
resolver um determinado problema.
(C) É um conjunto de instruções codificadas numa linguagem de programação.
(D) É um conjunto de instruções que são descritas aleatoriamente para compreender um
determinado problema.
1.2. Complete a seguinte afirmação: “O [::) é uma escrita informal, de alto nível, de
um algoritmo que apresenta alguns elementos de uma Linguagem de programação
estruturada, destinando-se à compreensão humana.”
(A) Pseudocódigo
(B) Algoritmo
(C) Fluxograma
(D) Programa
1.3. Defina o conceito de fluxograma.
(A) É uma linguagem de programação formal.
Exclusivo (B) É uma linguagem de programação natural.
do Professor (C) E uma representação textual de um algoritmo.
(D) É uma representação gráfica de um algoritmo.
Solução
2. Conceitos fundamentais
false;
ooo
a;
b;
O
< C;
2. Conceitos fundamentais
2.1. Introdução
O computador é uma máquina constituída por hardware e software, que tem a capaci-
dade de receber, armazenar e fornecer dados, depois de processados, de forma automá-
tica, rápida e precisa (quadro 2.1).
Quadro 2.1
AIB12 O Porto Editora
Solução
O trabalho realizado por um computador é baseado em operações que envolvem os
Utilizador
2
= Aplicação
|
Editor
I
Q Código fonte
Compilador
i
Código objeto
o Sistema . | Entradas/Saídas
o> ;
operativo Linker : :
Livrarias externas
8 Código executável
Loader
Código máquina
o . E
S Disco Processador RAM Entrada/Saída
eMv
T
Barramento do sistema
Fig. 2.1. Esquema representativo da interligação do hardware com o software e as diferentes etapas de desenvolvimento
de um programa em Pascal.
Quadro 2.2
Tipo de
Tipo de Tipo de
ficheiro Descrição do processo
software programa
de código
elementos;
Parte declarativa
Uses
Label
Const
Var a, b, c: real;
Type
Var
Procedure
Function
: Begin
Parte operativa
. Readin (a, b);
Begin
c := a+b;
(Instruções e comandos) Write (c)
rite (c);
End.
End.
A figura 2.2 mostra, também, o paralelismo existente entre a sintaxe do exemplo apre-
sentado no quadro 1.8 e a estrutura de blocos de um programa em linguagem Pascal.
Neste exemplo, o programa começa com as palavras Program e o nome dado ao pro-
grama. Desta forma, inicia-se o bloco principal do programa. De seguida, são declaradas
as variáveis com a palavra Var. Por fim, inicia-se a parte operativa do programa com a
palavra Begin, a partir da qual são escritas as instruções e os comandos a executar. Este
bloco termina sempre com a palavra End seguida de um ponto final (.). Em Pascal, utiliza-
-se O ponto e vírgula (;) no fim da maior parte das instruções.
Quadro 2.3
Quadro 2.4
Jogo
Tipo de dado lógico Bytes ocupados Valores
Quadro 2.5
Quadro 2.6
Quadro 2.7
AIB12 FOZ
Introdução à Programação
As constantes são identificadores para designar valores que não variam ao longo da
execução do programa. As constantes são, também, declaradas na parte declarativa,
mas precedidas pela palavra Const. Tal como numa variável, para uma constante é reser-
vado um espaço em memória de acordo com o dado que lhe foi atribuído.
Quadro 2.9
Const PI = 3.1415926;
Exemplo o
Sintaxe <id>:=<valor>;
quantidade:=10;
Exemplo preco:=5;
a:=a+l;
Exercícios de aplicação 3
1. Defina o conceito de programa de computador, selecionando a opção correta.
(A) É uma sequência de instruções codificadas numa linguagem de programação.
[B) É uma representação gráfica de um algoritmo.
[C) É um conjunto de operações executadas numa linguagem de programação.
[D) É uma representação de um algoritmo numa linguagem natural.
2. Identifique o tipo de ficheiro de código associado a cada uma das seguintes afirmações.
d) 3.05 x 10º
Exclusivo
do Professor
f)
a 136
ue
Solução
20 Introdução à Programação
Jogo
2.6. Operadores e expressões
Os operadores são elementos matemáticos que atuam sobre os operandos (variáveis
As expressões, por sua vez, são uma combinação de operandos e operadores e que,
uma vez resolvidas, resultam num determinado valor.
Quadro 2.13
Os operadores DIV e MOD só podem ser aplicados a valores do tipo inteiro, resultando
valores, também, do tipo inteiro.
Por outro lado, o operador/ conduz sempre a um resultado real, seja qual for o tipo dos
seus operandos.
Os operadores relacionais são usados para efetuar comparações entre expressões, re-
sultando sempre um dos valores lógicos, true (verdadeiro) ou false (falso).
Quadro 2.14
Exemplo
Operador | Operação (considerando que Resultado
a=13eb=5)
Os resultados apresentados no quadro 2.15 têm por base os valores das tabelas de ver-
dade de cada operador lógico, apresentadas no quadro 2.16.
Quadro 2.15
Exemplo
Operador Operação (considerando que Resultado
a=13,b=5ec=2)
Não
NoT - NOT (a > b) False
(negação)
E
AND . . (a > b) AND (b > c) True
(conjunção)
Ou
OR e . (a <b) OR (c > a) False
ATB12 O Porto Editora
(disjunção inclusiva]
Quadro 2.16
True - False
NoT
False - True
Prioridade Operador
1.3 NOT
FALSE OR FALSE
|
FALSE |
3. Teste e controlo de erros em algoritmia
3. Determine os valores lógicos de cada uma das seguintes expressões, supondo que X=10e Y =2
(apresente os cálculos que permitem chegar aos resultados).
a) (X >= 0) AND (Y >= 0)
b) (x =3) OR (Y <> 6)
c) NOT (Y < 6) AND ((X <> 2) OR (Y - X = 3))
d) NOT ((Xx< 1) OR ((Y < 4) AND (Y > 5)))
e) (((X div 5) mod Y) > 5) OR (3 < (2 mod Y))
Na implementação desta técnica, começa-se por criar uma tabela (quadro 3.1).
Depois, coloca-se na primeira linha as variáveis, as condições ou expressões lógicas e as
operações que se pretendem testar. De seguida, vão-se enumerando os passos na pri-
meira coluna. Por último, preenche-se a tabela passo a passo, atribuindo às variáveis a e
b os valores de entrada 4 e 5, respetivamente, e executando as operações presentes no
algoritmo.
Quadro 3.1
Escrever (c); E .
, xclusivo
Fam. 4.º Passo | 4 5 9 9 do Professor
Solução
Introdução à Programação
b)
Algoritmo troca valores;
Variáveis a, b, c: lógico;
Início
Ler (a);
Ler (b);
ce a;
a <hb;
be c;
Escrever (a, Db);
Fim.
4. Estruturas de controlo
As estruturas de controlo avaliam o desenrolar das instruções de um programa. Estas
subdividem-se em sequencial, de decisão ou seleção e de repetição ou ciclos.
Exclusivo
do Professor
Solução
4. Estruturas de controlo
Quadro 4.1
Pseudocódigo Fluxograma
JU
total, preco: real;
|
Escrever (“Digite o preço por unidade Ler [quantidade]
de produto”) ;
|
Ler (preco); Escrever ("Digite o preço por
total <« quantidade * preco; / unidade de produto”) /
Escrever (“O valor total do produto ”,
designa,“ é ”, total); Ler (preco)
Ê
Fim.
|
|
Escrever ("O valor total do produto ”,
designa,” é ”, total)
Fim
Quadro 4.2
Programa
Readln;
End.
26 Introdução à Programação
* quantidade igual a 10
Quadro 4.3
e seleção simples;
e seleção composta;
* seleção encadeada;
e seleção múltipla.
Nos quadros 4.4 e 4.5 são apresentadas as sintaxes da estrutura de seleção simples,
respetivamente, em pseudocódigo e em linguagem Pascal. Por outro lado, o quadro 4.4
apresenta o exemplo de um algoritmo em pseudocódigo e em fluxograma, que calcula a dife-
rença entre dois pesos, se o peso introduzido pelo utilizador for inferior a 70 kg, e o quadro
4.5 o respetivo programa em linguagem Pascal.
De notar que, neste caso, não aparecem as palavras Senão (Else) porque não é neces-
sário desenvolver o ramo False da estrutura. É de realçar, também, que, pelo facto de
existir mais do que uma instrução no ramo True da estrutura, é necessário utilizar o con-
junto Início... Fim (Begin... End) para agrupá-las e associá-las ao referido ramo.
4. Estruturas de controlo
Quadro 4.4
Sintaxe Fluxograma
Se <expressão> Então
Pseudocódigo
Escrever ("Digite o seu peso”)
Algoritmo peso inf 70;
Variável dif, peso: real; Ler (peso)
nome: texto;
Início
peso < 70
Escrever (“Digite o seu nome”);
Ler (nome); rue
Escrever (“Digite o seu peso”); dif — 70-peso
Ler (peso);
Se peso < 70 Então Escrever (“Falta ao ”, nome,” ”,
dif, “kg para atingir
os 70 kg”)
Início
dif <« 70 —- peso;
Escrever (“Falta ao ”, nome,“ ”, dif,“ kg
para atingir os 70 kg”); / Escrever ["O programa vai terminar") /
Fim;
FimsSe; Fim
Escrever (“O programa vai terminar");
Fim.
Quadro 4.5
Sintaxe Programa
Quadro 4.6 : ;
nome peso | peso<70 | dif < 70 - peso Saída
Nos quadros 4.7 e 4.8 são apresentadas as sintaxes da estrutura de seleção com-
posta, respetivamente, em pseudocódigo e em linguagem Pascal. Por outro lado, o
quadro 4.7 apresenta o exemplo de um algoritmo em pseudocódigo e em fluxograma, que
determina o maior de dois números, e o quadro 4.8 o respetivo programa em linguagem
Pascal.
Quadro 4.7
Sintaxe Fluxograma
Se <expressão> Então
Senão
o Escrever ("Digite um
Ler (num)
Pseudocódigo
Escrever ("Digite um número
Algoritmo maior de 2; inteiro diferente do anterior”)
Variável maior, numl, num2: inteiro;
Início
Escrever (“Digite um número inteiro”); False
Ler (numl); fé nu maior «- num2
Escrever (“Digite um número inteiro
, , rue
diferente do anterior"); :
Ler (num2);
Se numi
maior
> num2
< numl
Então
O
Senão screver
, ("O maior
2 de: dois
. númerosé ”, maior)
maior < num2;
,
Fimse ; E
Escrever (“O maior de dois números é ",
maior) ;
Fim.
4. Estruturas de controlo
Quadro 4.8
Sintaxe Programa
. Program maior de 2;
If <expressão> Then Var maior, numl, num2: integer;
. Begin
Else Writeln('Digite um número inteiro');
Readln (numl) ;
Writeln('Digite um número inteiro diferente do anterior');
Readln (num2) ;
If numl > num2 Then
maior := numl
Else
maior := num2;
Writeln('O maior de dois números é ', maior);
End.
Quadro 4.9
num1 | num2 | numi > num2 | maior € num1 maior € num2 Saída
1.º Passo 7
2.º Passo 7 2
4.º Passo 7 2 - 7 -
1.º Passo 5
2.º Passo 5 6
4.º Passo 5 6 - - 6
4. Crie um algoritmo, em pseudocódigo, que permita a leitura de dois números inteiros para as
variáveis À e B. De seguida, determine o número de maior valor ou se ambos são de valor igual,
surgindo uma das mensagens “Os números são de valor igual” ou “O número de maior valor é o.....
5. Crie uma traçagem do algoritmo criado no exercício 3, utilizando para as variáveis (A, B] os
seguintes valores de entrada (9, 9), (19, 6) e [4, 13).
6. Utilizando a linguagem Pascal, crie os programas para cada um dos problemas propostos nos
exercícios 1,3,€e 4.
Numa estrutura de seleção encadeada podem existir várias opções encadeadas para o
desenrolar das instruções do programa. Cada uma destas opções pode ser selecionada
de acordo com o valor lógico resultante da avaliação da sua condição ou expressão.
Nos quadros 4.10 e 4.11 são apresentadas as sintaxes da estrutura de seleção com-
posta, respetivamente, em pseudocódigo e em linguagem Pascal. Por outro lado, os mes-
mos quadros apresentam o exemplo de um algoritmo em pseudocódigo e em fluxograma,
que determina se dois números são iguais entre si ou qual o maior deles, e o respetivo
programa em linguagem Pascal.
Quadro 4.10
Sintaxe Pseudocódigo
Solução
4. Estruturas de controlo
Fluxograma
Início
Escrever ("Digite um
número inteiro”)
/ Ler (num?) ]
Ler (num2)
Escrever
(Os números
são iguais”)
Quadro 4.11
Quadro 4.12
1.º Passo 16
2.º Passo 16 16
2.º Passo 13 19
3.º Passo 13 19 TE = 8
False
Exercícios de aplicação 7
Solução
4. Estruturas de controlo
Nos quadros 4.13 e 4.14 são apresentadas as sintaxes da estrutura de seleção múl-
tipla, respetivamente, em pseudocódigo e em linguagem Pascal. Por outro lado, os mes-
mos quadros apresentam o exemplo de um algoritmo em pseudocódigo e em fluxograma,
que determina o dia da semana de acordo com o valor inserido, e o respetivo programa em
linguagem Pascal.
Quadro 4.13
Sintaxe Fluxograma
<valorn>: ...
Senão ...
FimSelecionarCaso
Pseudocódigo
referem-se à situação em que o utilizador insere um número inteiro. A partir deste valor é
selecionada a opção correspondente e apresentado o respetivo dia da semana. Os valo-
res numéricos que podem ser inseridos pelo utilizador vão de 1 a 7, senão surge uma
mensagem a informar que foi inserido um número inválido.
AIB12 FO3
Introdução à Programação
Quadro 4.14
wlNH
Writeln(“Terça-feira');
Writeln('Quarta-feira');
Writeln('“Quinta-feira');
UE
Writeln('Sexta-feira');
Writeln('Sábado');
JO
: Writeln('Domingo”')
Else Writeln(“Inseriu um número inválido');
End;
End.
Quadro 4.15
Dia Saída
1.º Passo 4
1.º Passo 9
2.º Passo 9 Inseriu um número inválido
Exercícios de aplicação 8
Utilizando a linguagem Pascal, crie o programa relativo ao problema proposto no exercício anterior.
Solução
4. Estruturas de controlo
Quadro 4.16
Sintaxe Fluxograma
Início
Para <variávelcontador := valorinicial> Até <valorfinal> Fazer
Y
<bloco de instruções> // Escrever (CIndique quantos inteiros quer digitar") /
FimPara
Ler (n)
Pseudocódigo
il
Início
True
Escrever (“Indique quantos inteiros quer E
digitar");
/ Escrever ("Indique um número inteiro”) /
Ler (n);
soma < O;
Ler (num)
Eh
Para i « 1 Até n Fazer
soma «- soma + num
Escrever (“Indique um número
inteiro”);
Lei+1
Ler (num);
>
soma < soma + num;
FimPara; media «- soma /n
media);
Fim
Fim.
Introdução à Programação
Sintaxe Programa
n 'soma€0 i€1 i<=n num soma €soma+num | itc-i+l | media € soma/n Saída
1.º Passo | 2
2.º Passo | 2 0
3.º Passo | 2 0 1
4.º Passo | 2 0 1 S 2
rue
5.º Passo | 2 0 1 - 10
6.º Passo | 2 - 1 - 10 10
7.º Passo | 2 - - - 10 10 2
10.º Passo | 2 - - - 12 22 2
11.º Passo | 2 - - - 12 22 3
14.º Passo | 2 - - - 12 2 3 n o
números é 11
4. Estruturas de controlo
Quadro 4.19
Passo Descrição
1.º É atribuído à variável n (número de iterações) o valor 2 [pelo utilizador”).
no É inicializada a O a variável soma.
So É inicializada a 1 a variável contador [i) no ciclo For.
4.º É testada a condição i <=n (1 <= 2), como é True continua a execução do ciclo For.
5.0 É executada a primeira instrução do ciclo, sendo atribuído o valor 10 à variável num (pelo
, utilizador).
6.º É executada a segunda instrução do ciclo, sendo adicionado o valor 10 ao acumulador soma
' (soma
€ 0 + 10).
7º É executada a terceira instrução do ciclo, sendo incrementada a variável contador fi) do ciclo
, passando de 1 para 2 [1 6 1+1).
8.º É testada a condição i <= n (2 <= 2), como é True continua a execução do ciclo For.
9.º É executada a primeira instrução do ciclo, sendo atribuído o valor 12 à variável num (pelo
, utilizador).
10.º É executada a segunda instrução do ciclo, sendo adicionado o valor 22 ao acumulador soma
. (soma
O 10 + 12).
o É executada a terceira instrução do ciclo, sendo incrementada a variável contador (i] do ciclo
11. .
passando de2 para 3 [16 2+1).
12.º É testada a condição i <= n [3 <= 2), como é False termina a execução do ciclo For.
o É efetuado o cálculo da média (media), tendo por base o valor acumulado em soma (soma € 22) e
13.
o valor de n (n € 2), resultando o valor 11.
Exercícios de aplicação 9
1. Sem utilizar uma estrutura repetitiva, crie um algoritmo, em pseudocódigo, que permita a leitura de
quatro números inteiros, determinando e apresentando para cada um deles se:
e o número é de valor par e superior a dez;
* o número é de valor ímpar e inferior a dez.
Crie uma traçagem do algoritmo criado no exercício 2, utilizando os seguintes valores de entrada
(9), [19), (8) e (14).
Desenvolva um programa, em linguagem Pascal, que permita ao utilizador indicar dois números
inteiros, correspondentes aos limites inferior [variável LInf) e superior (variável LSup) . De seguida,
é necessário testar que o número indicado para o limite superior é de valor superior ao número
indicado para o limite inferior. Caso se verifique, devem ser gerados e apresentados os números no
AIB12 O Porto Editora
intervalo entre os números indicados, inclusive. Caso contrário, é apresentada a mensagem “Os Exclusivo
limites, indicados para o intervalo, estão errados” e o programa termina. Implemente este do Professor
programa utilizando a estrutura de repetição For (Paral.
Solução
38 Introdução à Programação
Este ciclo pode, também, ser implementado sabendo, inicialmente, o número de vezes
que o bloco de instruções vai ser repetido. Neste caso, é utilizada uma variável contador
destinada a controlar a execução do ciclo, à semelhança do funcionamento do ciclo For.
Quadro 4.20
Sintaxe Fluxograma
<bloco de instruções>
FimEnquanto; conta «— O
Pseudocódigo y
Algoritmo Conta nomes; / tentem) /
Variável conta: inteiro;
nome: texto; [e
Início
conta < O;
Escrever (“Digite um nome”);
Ler (nome);
Enquanto nome <> “Fim” Fazer True
conta <« conta + 1;
Escrever (“Digite um nome”); conta «— conta
+ 1
Ler (nome);
FimEnquanto;
Escrever (“Foram digitados ”, conta, / Escrever ("Digite um nome”)
“ nomes”);
Fim.
>
Fim
4. Estruturas de controlo
Quadro 4.21
Sintaxe Programa
Quadro 4.22
Quadro 4.23
É atribuída à variável nome a palavra Rui (pelo utilizador). O conteúdo desta variável é
2.º testado na condição do ciclo While, antes de qualquer repetição de instruções no
interior do mesmo.
3.º É testada a condição nome<>"“Fim” (Rui <> Fim), como é True continua a execução do
, ciclo.
4º É executada a primeira instrução do ciclo, sendo incrementada a variável contador
, (conta) do ciclo passando de O para 1 (conta + 0+ 1).
5.º É executada a segunda instrução do ciclo, sendo atribuída à variável nome a palavra
. Ana (pelo utilizador).
6.º É testada a condição nome <> “Fim” (Ana <> Fim), como é True continua a execução
, do ciclo.
7º É executada a primeira instrução do ciclo, sendo incrementada a variável contador
, (conta) do ciclo passando de 1 para 2 (conta E 1+ 1).
go É executada a segunda instrução do ciclo, sendo atribuída à variável nome a palavra
, Fim [pelo utilizador].
9.º É testada a condição nome<>"Fim” (Fim <> Fim], como é False termina a execução do
, ciclo While.
Exercícios de aplicação 10
1. Resolva novamente os exercícios 2 e 4 da página 37, utilizando a representação sob a forma de
fluxograma e o respetivo programa na linguagem Pascal, substituindo o ciclo For pelo ciclo While.
Este ciclo pode, também, ser implementado sabendo inicialmente o número de vezes
que o bloco de instruções vai ser repetido.
Neste caso, é utilizada uma variável contador que vai permitir controlar a execução do
ciclo, à semelhança do funcionamento do ciclo For.
Solução
4. Estruturas de controlo
Quadro 4.24
Sintaxe Fluxograma
Repetir (nico )
Quadro 4.25
Sintaxe Programa
a Program Retangulo;
Repeat Var area, perimetro, comp, larg: real;
no resp: char;
Until... Begin
Repeat
Writeln('Medidas do retângulo');
Write (“Indique a largura em metros ');
Readln (larg) ;
Write (“Indique o comprimento em metros ');
Readln (comp) ;
perimetro := 2 * (larg + comp);
Writeln('Perímetro = ' ,perimetro, * metros');
Writeln('Pretende efetuar mais calculos (s/n)');
AIB12 O Porto Editora
Readln (resp) ;
Until (resp <> 's');
End.
Introdução à Programação
Quadro 4.26
1.º Passo 4
2.º Passo 4 12
3.º Passo 4 12 32
5.º Passo 4 12 32 s
7.º Passo 10 12 32 s -
8.º Passo 10 20 32 Ss -
9.º Passo 10 20 60 Ss -
11.º Passo 10 20 60 n -
Quadro 4.27
Passo Descrição
1.º É executada a primeira instrução de entrada de dados (Input) do ciclo, sendo atribuído à
, variável larg o valor 4 (pelo utilizador).
2º É executada a segunda instrução de entrada de dados (Input) do ciclo, sendo atribuído à
, variável comp o valor 12 (pelo utilizador].
3.º É executada a instrução do cálculo do perímetro, sendo atribuído à variável perimetro o
. resultado 32 (perimetro < 2 * (4 + 12)).
4º É executada a instrução de saída de dados (Output), sendo apresentada a mensagem
, “Perímetro = 32 metros”.
5. É executada a terceira instrução de entrada de dados (Input) do ciclo, sendo atribuído à
, variável resp o carácter s [pelo utilizador).
6.º É executada a última instrução do ciclo, sendo testada a expressão resp <> “s” [s <> 5).
, Como o resultado do teste é False o ciclo continua até que este seja True.
5. Arrays
Passo Descrição nc
7º É executada a primeira instrução de entrada de dados (Input) do ciclo, sendo atribuído à =
, variável larg o valor 10 (pelo utilizador). /
8.º É executada a segunda instrução de entrada de dados (Input) do ciclo, sendo atribuído à Exercício
. variável comp o valor 20 (pelo utilizador].
9º É executada a instrução do cálculo do perímetro, sendo atribuído à variável perimetro o
. resultado 60 [perimetro + 2 * (10 + 20)).
10.º É executada a instrução de saída de dados [Output], sendo apresentada a mensagem
, “Perímetro = 60 metros”.
11.º É executada a terceira instrução de entrada de dados (Input) do ciclo, sendo atribuído à
. variável resp o carácter n (pelo utilizador).
o É executada a última instrução do ciclo, sendo testada a expressão resp <> “s” (n <> 5).
12. / . .
Como o resultado do teste é True o ciclo termina.
Exercícios de aplicação 11
5. Arrays
Os arrays são variáveis, identificados por um nome, que contêm um conjunto de ele-
mentos do mesmo tipo. Estes são acessíveis através do respetivo nome e da variável de
índice correspondente à sua posição no array. Os arrays simplificam a utilização de mui-
tas variáveis do mesmo tipo a guardar em memória, com designações diferentes, agru-
pando-as numa única variável.
Os arrays podem ter mais do que uma dimensão. Os mais utilizados são os arrays
unidimensionais (vetores) e os arrays bidimensionais (matrizes).
0.1. Vetores
Os vetores (arrays unidimensionais) têm uma dimensão, utilizando, por isso, apenas
uma variável de índice para o acesso aos seus elementos.
O quadro 5.1 apresenta o exemplo do vetor idade que guarda seis valores numéricos
inteiros, correspondentes a seis idades. Para tal, é utilizado um índice (variável i) para
aceder a cada um dos elementos do vetor (idade[i]).
Quadro 5.1
i 1 2 3 4 5 6
AIB12 O Porto Editora
Solução
Introdução à Programação
Para declarar um vetor é utilizada a palavra Var, seguida do nome da variável (nome).
Quadro 5.2
No exemplo apresentado no quadro 5.2, é declarada uma variável com o nome km, do
tipo array e com o intervalo de índices de 1 a 10, cujos dados são do tipo real.
Quadro 5.3
O programa apresentado na figura 5.1 calcula a distância total percorrida em cinco via-
gens, apresentando também a distância de cada uma delas para determinados valores inse-
ridos pelo utilizador. Posteriormente, volta a calcular a distância total e a apresentar os va-
lores da distância percorrida em cada uma das viagens, tendo em conta uma alteração ao
conteúdo do vetor na posição do índice quatro, com a atribuição do valor 100.
5. Arrays 45
e no primeiro retângulo, o primeiro ciclo For permite ao utilizador inserir os valores relati-
vos às distâncias percorridas para o vetor km. Permite, também, efetuar o cálculo do
total das distâncias percorridas (total);
e no segundo retângulo, a instrução de atribuição coloca no vetor km, índice 4, o valor 100;
e no último retângulo, após a atribuição anterior e a inicialização da variável total a 0,
o segundo ciclo For permite a listagem atualizada de todo o conteúdo do vetor km e
mostra o novo valor da variável total.
Exercícios de aplicação 12
e determinar qual a quantidade mínima registada, indicando o dia em que se registou; Exclusivo
e determinar se uma quantidade, indicada pelo utilizador, existe no vetor e, caso exista, indicar em do Professor
que posição do vetor.
Solução
46 Introdução
à Programação
A figura 5.3 apresenta um programa em Pascal que ordena por ordem crescente seis
valores inteiros inseridos pelo utilizador num vetor.
Program InsertionSort;
var vetor: array [1..6] of integer;
1, J, tamanho, chave: integer;
Begin
tamanho := 6;
writeln('Insira 6 números inteiros para o vetor');
for i := 1 to tamanho do
begin
| write('Vetor[”, à, “1 =");
| readin(vetor [i]);
end;
writeln;
writeln(“inicial := ", vetor[1], * |“, vetor[2], ", vetor [3], * ", vetor[4], * ", vetor [5],
“ |", vetor[6]);
for j := 2 to tamanho do
begin
chave := vetor [5];
E l:=5-1;
| while (i > 0) and (vetor[i]l > chave) do
i
begin
| vetor [i+1] := vetor [i];
i
l:=i-d;
| vetor [i+1] := chave;
| end;
| writeln('troca ', j - 1, " =", vetorl[1 ", vetor[2], * |", vetor[3], ", vetor [4],
“|, vetor[5], ]
BR
a
q
oõ
o
|
25 end;
26 writeln;
27 writeln ("Listagem ordenada dos elementos do vetor');
28 for i := 1 to tamanho do
29 writeln("Vetor[', à, '] :=", vetorlil);
30 end.
A figura 5.5 apresenta um programa em Pascal que ordena por ordem crescente seis va-
lores inteiros inseridos pelo utilizador num vetor.
1 Program SelectionSort;
2 var vetor: array[1..6] of integer;
3 i, jJj, tamanho, minimo, temp: integer;
4 Begin
5) tamanho := 6;
6 writeln('Insira 6 números inteiros para o vetor');
7 for i := 1 to tamanho do
8 begin
9 write(“Vetor[”, à, “] =");
10 readln (vetor [1]);
11 end;
12 writeln;
13 writeln(“inicial =", vetor[1], " |", vetorl[2], ", vetor[3], * | ', vetor[4], ", vetor [5]
“ |", vetor[6]);
14 for i := 1 to tamanho-1 do
15 begin
16 minimo := à;
17 for 5) := i + 1 to tamanho do
18 1f vetor [J] < vetor [minimo] then
19 minimo := 5;
20 temp := vetorli];
21 vetor [1] = vetor [mínimo! ;
22 vetor [minimo] := temp;
23 writeln('troca “, à, “ =", vetor[1], “ |“, vetor[2], ", vetor [3], * ", vetor [4]
vetor[5], " | ', vetor[6]);
24 end;
AIB12 O Porto Editora
25 writeln;
26 writeln('Listagem ordenada dos elementos do vetor');
27 for i := 1 to tamanho do
28 writeln('Vetor[', à, “] =", vetorl[il);
29 end.
Na primeira passagem é trocado, entre si, o valor da primeira posição do vetor com a do
valor mínimo.
Isto acontece quando é detetado um valor mínimo à direita em relação aos outros valo-
res do vetor, excluindo os que já se encontram corretamente posicionados.
Neste processo de ordenação, é sempre encontrado o valor mais baixo em cada passa-
gem e colocado na posição mais à esquerda possível de forma ordenada.
Esta ordenação é obtida por comparação dois a dois entre elementos adjacentes, ainda
não ordenados, efetuando permutas de posição sucessivas sempre que o valor da direita
for menor que o da esquerda.
5. Arrays 49
A figura 5.7 apresenta um programa em Pascal que ordena por ordem crescente seis
valores inteiros inseridos pelo utilizador num vetor.
1 Program BubbleSort;
2 var vetor: array [1..6] of integer;
3 1, J, tamanho, temp: integer;
4 Begin
5 tamanho := 6;
6 writeln('Insira 6 números inteiros para o vetor');
7 for i := 1 to tamanho do
8 begin
9 write('Vetor[', à, “] =");
10 readln (vetor [i]);
11 end;
12 writeln;
13 writeln(“inicial =", vetor[1], " |", vetorl[2], ", vetor[3], * | “, vetorl4], * ", vetor [5]
“ |", vetor[6]);
14 for i := 1 to tamanho do
Ss) begin
16 for j := tamanho downto i+1 do
17 if vetor[j] < vetor[j-1] then
18 begin
19 temp := vetor [5];
20 vetor [j] := vetor[5j-1];
21 vetor [5-1] := temp;
22 end;
23 writeln('troca ', j - 1, "=", vetorlll, ", vetor[2], * ", vetor[3], * *, vetor [4]
“ |", vetor[5], ", vetor [6]);
24 end;
25 writeln;
26 writeln ("Listagem ordenada dos elementos do vetor');
27 for i := 1 to tamanho do
28 writeln('“Vetor[”, à, “] =", vetorlil);
29 end.
AIB12 FO4
Introdução à Programação
Neste processo, o valor 2 passa para a primeira posição, porque nas sucessivas com-
parações adjacentes foi sempre o menor.
Nas trocas seguintes, é sucessivamente encontrado o valor menor, entre os não orde-
nados, passando a ocupar uma posição ordenada.
Exercícios de aplicação 13
Solução
5. Arrays 51
1 Program PesgSequencial; E)
2 Var vetor: array[1..6] of integer; Jogo
3 j, num: integer;
4 flag: boolean;
5 Begin
6 Writeln('Insira 6 números inteiros para o vetor');
7 For j := 1 to 6 do
8 Begin
9 Write('Vetor[', 3, 1 =");
10 Readin(vetor[5]);
11 End;
12 Writeln;
13 Write('Insira o número inteiro a pesquisar ');
14 Readln (num) ;
15 Writeln;
16 REIS IR:
17 flag := false;
18 Repeat
19 If num = vetor [j] Then
20 Begin
21 flag := true;
22 Writeln(j, '* comparacao -> ', num, * = ', vetor[j], * -> TRUE');
23 Writeln('Numero inteiro encontrado na posicao ', 5);
24 End
25 Else
26 Writeln(j, '* comparacao -> ', num, " =", vetor[j], * -> FALSE');
27 Writeln;
28 j:=)+1;
29 Until (5 > 6);
30 If flag := false Then
31 Writeln('Numero inteiro não encontrado"');
32 End.
A figura 5.11 apresenta um programa que efetua uma pesquisa binária num vetor orde-
nado de forma crescente.
1 Program PesgBinaria;
2 Var vetor: array [1..6] of integer;
3 j, posi, num, inicio, meio, fim: integer;
4 Begin
5 Writeln(“Insira 6 números inteiros para o vetor');
6 For j := 1 to 6 do
7 Begin
8 Write('Vetor[', 3, M] =");
9 Readln (vetor [j]);
10 End;
11 Write('Insira o numero inteiro a pesquisar ');
12 Readln (num) ;
13 Writeln;
14 fim := 6;
15 inicio := 1;
16 posi := 0;
17 Repeat
18 | meio := (inicio + fim) div 2;
19 | Writeln('Compara ', num, '* com ', vetor [meio]);
20 If num = vetor [meio] Then
21 | Begin
22 | | posi := meio;
23 | | inicio := fim + 1;
24 End
25 | Else
26 | Begin
27 | | If num < vetor [meio] Then
28 | | fim := meio - 1
29 | Else
30 | | inicio := meio + 1;
31 | End;
32 Until (inicio > fim);
33 Writeln;
34 If posi := 0 Then
35 Writeln('Numero inteiro não encontrado!) ;
36 Else
37 Writeln('Numero inteiro encontrado na posicao ', posi);
38 End.
Jogo
Exercício
Exercícios de aplicação 14
5.2. Matrizes
As matrizes, arrays bidimensionais, têm duas dimensões, utilizando, por isso, duas
variáveis de índice, uma para a linha e outra para a coluna, para o acesso aos seus ele-
mentos. A sua representação gráfica corresponde a uma tabela de dupla entrada
(linha X coluna).
O quadro 5.4 apresenta o exemplo da matriz Classifica que guarda 15 números do tipo
inteiro, correspondentes às classificações da disciplina de Aplicações Informáticas. Estas
classificações referem-se a três períodos de um ano letivo (linhas) de cinco alunos de uma
turma (colunas).
Para tal, são utilizados dois índices (variáveis L e C) para aceder a cada um dos ele-
mentos da matriz (Classifica[L,C]).
Quadro 5.4
1 2 3 4 5
L
Classifical1,1] Classifical[1,2] Classifical[1,3] Classifical1,4] Classifica[1,5]
1
12 14 16 17 13
15 13 17 19 15
Exclusivo
Classifical3,1] Classifical3,2] Classifical3,3] Classifical3,4] Classifical3,5] do Professor
3
16 15 16 19 16
Solução
Introdução à Programação
Para declarar uma matriz é utilizada a palavra Var, seguida do nome da variável (nome).
A seguir, é indicado o tipo da variável (array) e o intervalo dos seus elementos ou índices
([1..n1,1..n2]).
Por último, é indicado o tipo de dados dos elementos da matriz (of <tipo de dado>) (quadro
5.5).
Quadro 5.5
No exemplo apresentado no quadro 5.5, é declarada uma variável com o nome km, do
tipo array e com os intervalos de índices 1 a 5 (linhas) e 1 a 2 (colunas), cujos dados são
do tipo real.
O programa apresentado na figura 5.13 permite inserir seis temperaturas pelo utilizador.
Depois, são efetuadas duas alterações em dois valores da matriz. E, por último, apre-
senta duas listagens.
De realçar que numa matriz, para referenciar os seus elementos, é necessário fazer ,
variar duas variáveis de índice relativas às linhas e às colunas. Neste sentido, é necessá-
rio utilizar dois ciclos, sendo o mais adequado o ciclo For.
(A) Indique qual a posição (linha e coluna) cujos quilómetros são iguais a 146.
(B) Indique qual a posição [linha e coluna) da distância máxima registada na matriz.
(C) Calcule a diferença entre as distâncias máxima e mínima das registadas na matriz.
(D) Declare a matriz, tendo em atenção os valores dos elementos apresentados.
2. Elabore um programa, em Pascal, que permita declarar uma matriz (array bidimensional)
de 4 colunas por 4 linhas para registar as classificações de 4 alunos em 4 disciplinas (o número
do aluno corresponde ao número da linha e o número da disciplina corresponde ao número da
coluna). O programa tem de permitir:
e inserir as classificações;
e mostrar a classificação de um aluno a uma disciplina;
e mostrar todas as classificações de um aluno;
AIB12 O Porto Editora
A declaração de uma variável do tipo string (cadeia de caracteres) é feita na parte de-
clarativa do programa. Para declarar uma string é utilizada a palavra Var, seguida do nome
da variável, sendo depois indicado o tipo de variável (string).
Tal como se apresenta no quadro 6.1, a declaração de uma variável do tipo string pode
ser realizada de duas formas, indicando:
Quadro 6.1
Sintaxe Exemplo
O programa apresentado na figura 6.1 permite ao utilizador inserir o seu nome até 32
caracteres e a sua localidade de nascimento. Depois, o programa conta e apresenta o nú-
mero de caracteres iguais ao a, maiúsculo ou minúsculo. Por último, apresenta uma mensa-
gem resultante da combinação do conteúdo de duas variáveis do tipo string.
Fig. 6.1. Programa em Pascal exemplificando a utilização de variáveis do tipo cadeia de caracteres.
Quadro 6.2
Descrição Sintaxe
Length Função que devolve o número de caracteres existentes nene e CE CR
numa string (str).
UpCase Função que devolve os caracteres (chr] indicados em pese
maiúsculas.
Pos Função que devolve a posição ocupada numa string (str) Pos (substr, str: string):
pelo primeiro carácter de uma sub-string (substr). byte;
Função que devolve, de uma string, uma cópia de uma
sub-string [substr) indicada de acordo com a posição Copy (substr: string; posi:
Copy . To. , :
(posi) do início e do número de caracteres a copiar byte; num: byte): string;
(num).
Procedimento que exclui uma parte de uma string (str)
Delete(var str: string;
Delete passada como parâmetro, de acordo com a posição do
posi: byte; num: byte);
início (posi) e o número de caracteres indicados (num).
Procedimento que insere uma sub-string (substr) dentro | Insert (substr: string; var
Insert a ao , :
de uma string (str), numa posição (posi) indicada. str: string; posi: byte);
Procedimento que converte uma string (str) num valor
numérico (num). Se o conteúdo da string não puder ser Val(str: string; var num:
Val convertido, uma variável (erro) guarda o valor integer/real; var erro:
correspondente à posição em que ocorreu o primeiro integer);
erro. Caso não ocorra erro, guarda o valor zero.
str Procedimento que converte um valor numérico (num) OT SC IT
numa string (str).
Função que devolve o carácter correspondente ao código
Chr , naae Chr (valor: byte): char;
ASCII (valor) indicado.
ord Função que devolve o código ASCll correspondente ao Eae
carácter (chr) indicado.
AIB12 O Porto Editora
Fig. 6.3. Programa em Pascal exemplificando a utilização das funções de tratamento de strings Length, UpCase, Pos,
Concat e Copy.
Fig. 6.5. Programa em Pascal exemplificando a utilização dos procedimentos Delete e Insert, permitindo
a realização de operações relacionadas com o tratamento de strings.
Readln (num) ;
O
Fig. 6.7. Programa em Pascal exemplificando operações relacionadas com o tratamento das strings, através da
utilização das funções Ord e Chr e dos procedimentos Val e Str.
2. Desenvolva um programa, em Pascal, que permita declarar as variáveis nomesc, resulconcat e esc
do tipo cadeia de caracteres. O programa tem de permitir:
e inserir o nome da sua escola para a variável nomesc;
º apresentar o número de caracteres existentes no nome da sua escola;
e apresentar em maiúsculas o nome da sua escola;
º apresentar a posição ocupada no nome pela primeira letra a;
e apresentar o conteúdo da variável resulconcat, devendo conter o resultado da concatenação, do
nome da sua escola com a localidade a que pertence. A localidade tem de ser acrescentada a
seguir ao nome da sua escola e separada deste por um traço;
e apresentar o resultado da variável esc, que contém uma cópia da palavra Escola, feita a partir da
variável nomesc;
e apresentar a cadeia de caracteres resultante após ter apagado a localidade na variável
resulconcat;
e apresentar a cadeia de caracteres resultante após ter inserido no início do nome da escola as
palavras “Frequento a ”.
3. Desenvolva um programa, em Pascal, que permita declarar uma variável do tipo carácter,
permitindo inserir apenas um carácter. O programa tem de:
e permitir ao utilizador indicar um valor numérico inteiro, entre 0 e 255, e apresentar o
correspondente carácter da tabela ASCII;
e permitir ao utilizador indicar um carácter e apresentar o correspondente valor numérico inteiro
da tabela ASCII;
* apresentar o número inteiro, resultante da conversão de uma string, que tinha sido previamente
lida para uma variável. Considere a possibilidade da string não poder ser convertida, resultando
no aparecimento de uma mensagem com a indicação da posição em que ocorreu o primeiro erro;
e apresentar a string, resultante da conversão de um número, que tinha sido previamente lido para
uma variável.
7. Sub-rotinas
As sub-rotinas são conjuntos de instruções identificadas por uma designação e que
podem ser executadas, ou seja, chamadas quantas vezes as necessárias num programa.
A declaração das sub-rotinas num programa, em Pascal, é feita na parte declarativa do pro-
grama principal e após a declaração das constantes e das variáveis. As sub-rotinas podem
ou não apresentar parâmetros (variáveis) na sua declaração, implicando, por sua vez, a pas-
sagem ou não de argumentos (variáveis, expressões ou dados) aquando da sua chamada.
Ao contrário das sub-rotinas predefinidas (quadro 6.2), estas são criadas pelo programador.
Os programas desenvolvidos, utilizando sub-rotinas, estruturam-se de uma forma modulari-
zada, permitindo uma melhor organização e consequente entendimento do seu código.
AIB12 O Porto Editora
Uma sub-rotina pode ser chamada por outra, contudo a que é chamada tem de ser decla- doExclusivo
Professor
rada numa ordem acima da que a chama. As sub-rotinas podem ser de dois tipos: funções ou
procedimentos.
Solução
62
7.1. Funções
As funções são sub-rotinas que, após a sua execução, devolvem obrigatoriamente um
Quadro 7.1
Instrução Exemplo
| Atribuição M := media;
Quadro 7.2
7.2. Procedimentos
Os procedimentos são sub-rotinas que, quando chamados, e ao contrário das funções,
não devolvem um resultado através do seu nome. Por isso, os procedimentos não estão
associados a um determinado tipo de dados. No entanto, podem ter parâmetros associa-
dos a tipos de dados.
Os procedimentos são chamados para execução apenas pela indicação do seu nome,
tal como exemplificado no quadro 7.3.
Quadro 7.3
Instrução Exemplo
Indicação do seu nome | CalcMaximo;
Quadro 7.4
O programa apresentado na figura 7.1 permite ao utilizador inserir seis números inteiros
para um vetor. Depois, o programa determina e apresenta os números máximo e mínimo dos
elementos do vetor.
7. Sub-rotinas 63
Begin
vmax := num(1];
o
For i := 2 To 6 Do
O
vmax = num[il;
Max := vmax;
End;
WB
Procedure Min;
Var vmin: integer;
a
HHH
Begin
oa
vmin := num[1];
For i := 2 To 6 Do
H
vmin := num[il;
ND
End ;
tw
UMa
NV
Begin
Writeln('Insira 6 valores inteiros');
fon]
MN
For i := 1 To 6 Do
HOlUWçco
wwnNNN
Begin
Write (“num[", 1, “] =");
Readln (num[i]);
End;
Writeln('O maior valor existente no vetor é ', Max);
in
VU
Min;
tw
End.
to
1
As variáveis locais são declaradas na parte declarativa das sub-rotinas, sendo apenas
O programa apresentado na figura 7.3 calcula a área de um retângulo a partir dos valo-
res inseridos nas variáveis globais (comp e larg), utilizando um procedimento com uma va-
riável local (calc area).
Begin
Write('Digite a medida em metro da largura de retângulo ');
twNHO
HHHHHA
Readin (larg) ;
Write('Digite a medida em metro do comprimento do retângulo ');
Readin (comp) ;
area;
WB
End.
Exercícios de aplicação 17
Crie um programa, em Pascal, que permita efetuar a leitura de dois valores reais, para as variáveis
globais altura e base, correspondentes às medidas da altura e comprimento da base de um
triângulo. De seguida, é efetuado o cálculo da área do triângulo, utilizando a função
Function Area Triangulo: real; e apresentado o resultado.
Crie um programa, em Pascal, que permita efetuar a leitura de dois valores reais, para as variáveis
Exclusivo
globais comp e larg, correspondentes às medidas do comprimento e da largura de um retângulo.
do Professor De seguida, é efetuado o cálculo do perímetro do retângulo e apresentado o resultado no
procedimento Procedure Perimetro;.
Solução
7. Sub-Rotinas 65
A passagem de argumentos pode ser implementada por uma de duas formas: por valor
e por referência.
Na passagem por valor, ao ser cnamada a sub-rotina, são passadas cópias dos dados
ou das variáveis (argumentos) e atribuídas às variáveis (parâmetros) declaradas no cabe-
çalho da sub-rotina. Neste caso, na declaração da sub-rotina, não é utilizada a palavra Var
na declaração das variáveis dos parâmetros.
Os dados recebidos nas sub-rotinas, através dos seus parâmetros, podem sofrer alte-
rações nos seus valores. Mas estas não serão refletidas fora da sub-rotina, ou seja, não
serão passadas para as variáveis que serviram de argumentos na chamada das sub-roti-
nas, uma vez que são efetuadas sobre as cópias.
Quadro 7.5
Sintaxe | Exemplo |
Desta forma, as alterações sofridas nos dados das variáveis dos parâmetros refletem-
-se nas variáveis dos argumentos do programa principal.
Quadro 7.6
Sintaxe Exemplo |
AIB12 FO5
66
O programa apresentado na figura 7.5 calcula a média e o total de dois valores inseridos
Fig. 7.5. Programa em Pascal exemplificando a passagem de argumentos por referência e por valor.
Por último, no programa principal são apresentados, novamente, os valores das variá-
veis a e b, sendo que, neste caso, não sofreram alterações dos seus valores após a
execução do procedimento.
Exercícios de aplicação 18
1. Classifique cada uma das seguintes afirmações de verdadeira ou falsa.
(A) As sub-rotinas apresentam necessariamente parâmetros na sua declaração.
(B) Um argumento representa o valor que é passado para um parâmetro da sub-rotina quando esta
é chamada.
(C) Tanto na passagem de argumentos por valor como por referência, na declaração das variáveis
dos parâmetros da sub-rotina, é utilizada a palavra Var.
2. Crie um programa, em Pascal, que permita efetuar a leitura de dois números reais. Mediante a
seleção de uma opção (carácter alfabético) deve ser efetuada uma operação aritmética e
apresentado o resultado da operação. Utilize uma estrutura de seleção múltipla (Case) para
implementar um menu com as seguintes opções:
A - Adição
M - Multiplicação
Caso seja selecionada uma opção diferente destas, será apresentada a mensagem “Opção
Inválida”.
Utilize procedimentos e funções para organizar o código relativo às operações aritméticas. Devem
ser utilizadas as seguintes declarações:
Procedure Adicao (a1, a2: real);
Function Multiplicacao (m1, m2: real): real;
Dia 1 2 3 4 5 6 7 8 9 10
Distância 123,5 | 55,4 23,2 145 | 176,3 | 100 12 153 | 100,2 78
c) Crie o procedimento OrdenaDist, para permitir ordenar por ordem crescente os elementos do
vetor, utilizando o algoritmo de ordenação Insertion Sort.
d) Crie o procedimento ListagemoOrdl, para efetuar a listagem dos dados do vetor.
AIB12 O Porto Editora
Exclusivo
do Professor
Solução
68 Introdução
à Programação
Jogo
8. Introdução à programação orientada
aos eventos
A programação orientada aos eventos é um paradigma da programação que dita que o
Eventos
vw
Dispatcher
wY wY l
A figura 8.2 apresenta o ambiente do conjunto Microsoft Visual Studio Express 2013
for Windows Desktop. Vídeo
[oe Cr "=
Me Tv CUMAO MM NOS EST UMUM naur .. E
eee duma = e.
ads aqu 7
Z . »
emos
re rerts e (q Wrediar
etiray Started
Fig. 8.2. Ambiente do conjunto Microsoft Visual Studio Express 2013 for Windows Desktop.
Após a abertura de um novo projeto (fig. 8.4), são apresentadas as janelas: Formi, Tool-
box, Solution Explorer, Properties, entre outras.
8.3.1. Controlos
Em Visual Basic os controlos são objetos que podem ser fornecidos pela própria ferra-
Na janela do Visual Basic (fig. 8.4), os controlos podem ser visualizados na sua totali-
dade ou organizados nas seguintes categorias: Common Controls, Containers, Menus &
Toolbars, Data, Components, entre outras. O quadro 8.1 apresenta alguns controlos da
caixa Toolbox e a sua descrição.
Quadro 8.1
Categoria Descrição
Common Controls | Controlos mais comuns que permitem interagir com o utilizador.
Containers Contentores que permitem agrupar outros controlos.
Menus & Toolbars | Controlos para a criação de menus e de barras de ferramentas.
Data Controlos de processamento e ligações a base de dados.
Components Controlos que permitem a utilização de funcionalidades do sistema operativo.
Quadro 8.2
Identificação Descrição
15 | PictureBox Caixa de imagem que permite apresentar uma imagem.
Barra de progressão que mostra uma barra cuja evolução do seu preenchimento
16 | ProgressBar A - = ,
corresponde à execução de uma operação.
Botão de opção que permite selecionar uma só opção num conjunto agrupado
17 | RadioButton destes botões de acordo com uma lógica específica. Normalmente, estes
conjuntos são criados dentro de uma Caixa de Grupo (GroupBox) do Containers.
. Caixa de texto com formatação avançada que fornece a entrada de texto e
18 | RichTextBox a , =
recursos de edição com formatação avançada.
19 | TextBox Caixa de texto que permite digitar texto sem recursos de edição.
20 | ToolTip Dica que mostra informação quando se passa com o rato sobre um controlo.
Quadro 8.3
tofu) EeJes]poJ-
controlos segundo uma determinada disposição. E) Groupô
» ESTES Caixa de grupo que apresenta uma moldura em torno de Panel
um grupo de controlos com uma legenda opcional. EE SplitContainer
Painel que permite agrupar um conjunto de controlos e == TabControl
3 | Panel utilizar barras de deslocamento. Não apresenta uma E3 TableLayoutPanel—
legenda Essa as a e Fig. 8.6. Controlos do
ENO splitContainer Apresenta uma área dividida em dois painéis Containers.
redimensionáveis e permite adicionar controlos.
5 | TabControl Gere e mostra um conjunto de separadores relacionados,
que podem conter controlos e componentes.
O TableLayoutPanel Gere o aspeto dos seus componentes e organiza-os
automaticamente em forma de tabela.
Quadro 8.4
4 Menus
& Toolbars
Identificação Descrição
à Pointer
. Quando se clica com o botão direito do rato sobre um E] ContetMenuStrip— 1 ]
1 ContextMenuStrip .
controlo apresenta o menu de contexto associado. E Menustrip 12]
2 MenuStrip Permite criar, num formulário, um menu ordenado por ke StatusStrip
funcionalidades. E TooStrip————[4]
DD ToolStripContainer—| 5|
. Permite visualizar, num formulário, uma barra de estado
3 | StatusStrip . - .
com informação sobre o objeto visualizado. Fig. 8.7. Controlos do
Menus & Toolbars.
4 | ToolStrip Permite criar, num formulário, barras de ferramentas.
AIB12 O Porto Editora
8.3.2. Formulários
Criação de um projeto
O formulário apresentado na figura 8.10 exemplifica a criação de um projeto com um
formulário e a utilização de alguns controlos. Para criar um novo projeto, seleciona-se no
menu File a opção New Project. De seguida, seleciona-se, na caixa de diálogo New Pro-
ject, a opção Windows Forms Application, que permite criar uma aplicação do tipo formu-
lário para o Windows. Atribui-se, por exemplo, o nome First Project ao projeto e pode-se,
também, alterar o local onde este vai ser guardado.
Executor Terminar
fas [m)s dn
e Configurar o formulário (Form1) com as seguintes Fora cio mo were
— Font: tipo de letra Arial e tamanho da letra Fig. 8.11. Janela Properties do
14,25; formulário Formi.
— Tabindex: 1.
Ejas [m)s
= ,
a
Bactc cio Ls do
feiaopearance) ES
urso
Fort
tes
Arial, 14,750t
BackColor [) Control
Forec ci = vinSom * et
BorderStyle None
Cursor Default Lmes Strengl
] Array
Pafetadd Me
FlatStyle Standard
Sorcibys tora
EB Fort Arial Black; 18pt; style=Bold Tent
ForeColor E controirex
LA ter
Image [] (none) eis aros Faia
Imagealign MiddieCenter
1) :
ImageIndex [D) (none) cet eta Ego
Imagekey [L) (none) Acceçãs”*at ma
ImageList (none) Ao rop Falsa
RightToLeft No a ar actor ssmg terms
Text Primeira Aplicação no Visual Basic nte! Mer Strp nora
TextAlgn TopLeft Enade rue
UseMnemonic True raso Sadat true
UsewWakCursor False Todo No ortred
RB Behavior Mari era Mm
AlowDrop False Mittre ima
AustoElipsis False Passear
ContextMenuStrip (none) ResS edy me
Enabled True ento ss ruins rue
Tabindex 0 Tablredos 1
UseCompatible TextRendering False ” Taboo “rue
AIB12 O Porto Editora
Fig. 8.12. Janela Properties da Label1. Fig. 8.13. Janela Properties da TextBox1.
74 Introdução à Programação
Abud € we
de4 Aros we
(Agel
at mnrsettamga )
Magos property settrgs to apodestor corfepa str tão
Para aceder à janela do editor do código do Visual Basic (Code Window), efetua-se um
duplo clique sobre o objeto ou seleciona-se o objeto e, no menu View, a opção Code. De se-
guida, surge a janela Code Window com algum código predefinido. Assim, ao efetuar um duplo
clique no botão Buttoni, abre-se a janela do editor com o código predefinido, a classe Formi
e o procedimento de evento Buttoni, Click (fig. 8.15). O nome do procedimento de evento é
constituído pelos nomes do objeto e do evento, separados por underscore (.). A indicação
Handles Button1.Click, associa o evento Click ao objeto ButtonZ.
“E )Mectas stimns) -
ser
£
ie
Nesta aplicação, pretende-se inserir o primeiro e último nomes na caixa de texto (TextBox1).
Quando se clicar no botão Button1 (Executar), pretende-se esconder a Label2 e o Button1 e
fazer surgir na caixa de texto (TextBox1) a mensagem “Bem-vindo ao Visual Basic”, concate-
nada com o conteúdo desta.
8. Introdução à programação orientada aos eventos 75
Label2.Visible = False
Buttonl.Visible = False
Ao digitar as linhas de código no Visual Basic, este vai sugerindo hipóteses da sintaxe
do código a utilizar de acordo com o que está a ser inserido. A figura 8.16 mostra o fun-
cionamento do IntelliSense ao sugerir as hipóteses de sintaxes do código.
PD autor ” * cuk *
Formi |
a a
a.
' o E $ A k k E 9 t k
E dg iuboi
"+ TE so ss ses rs rs Ê
O (bel
E
End E err
z as
x rare e === ie = - == A
Fig. 8.16. Janela do editor do código exemplificando o funcionamento do IntelliSense.
End
Labei?.visíble = false
seboxs. Tex -t y 1 Da “ 4 Textboxi.
Text
Burcont. visible
« False
Ii”
Ia
Fig. 8.17. Janela do editor com o código a inserir nos botões do formulário Form1.
Executor Termnar
A figura 8.19 apresenta o resultado da execução das linhas de código quando se clica
Exercícios de aplicação 19
1. Crie um projeto, em Visual Basic, com o nome PrimeiroProjeto, com o aspeto do formulário
apresentado na figura 1, de acordo com as indicações das alíneas seguintes.
a) Inserir três rótulos.
É Concatenar primeiro e último nomes
e Digite o primeiro nome.
e Digite o último nome. Digite o primeiro nome |
e Nomes concatenados. Digite o último nome
b) Inserir três caixas de texto: Nomes concatenados
e as duas primeiras destinam-se a receber
a entrada do primeiro e do último nomes; Sair Concatenar Limpar
e a terceira destina-se a apresentar o resultado
dos nomes concatenados. Esta caixa deve Fig. 1. Formulário do projeto (PrimeiroProjeto).
Exclusivo
Fig. 3. Formulário do projeto (SegundoProjeto).
do Professor
Solução
8. Introdução à programação orientada aos eventos
Tal como na linguagem Pascal, anteriormente abordada nesta unidade, também o Vi-
sual Basic apresenta diferentes tipos de dados e operadores.
Quadro 8.5
Depende da
Boolean plataforma de Verdadeiro/falso.
execução
Single [vírgula 4 -3,402 823 5 E+38 a —1 401 298 E-45 para números negativos;
flutuante) 1,401 298 E-45 a 3,402 823 5 E+38 para números positivos.
. Depende da
ua pe plataforma de O a dois mil milhões de caracteres Unicode.
variável) -
execução
Ulnteger 4 0 a 4 294 067 295 [sem sinal).
ULong 8 0 a 18 446 744 073 709 551 615 (1,8...E+19]
(sem sinal.
plataforma de .
(Estrutural) - associados ao seu tipo de dados.
execução
UShort 2 0 a 65 535 [sem sinal).
78 Introdução à Programação
Quadro 8.6
/ Divisão n=c/2 n = 16
Resto da z=1
Mod ADSENa . = 15 MOD 2 NO .
divisão inteira 2 (resto da divisão inteira de 15 por 2)
e y=7
a as 2 . RO .
, DS , (quociente da divisão inteira de 15 por 2)
a Exponenciação | x =y ?2 x = 49
Quadro 8.7
Quadro 8.8
A a /= 2 a=a/2 a=1,5
N= ad=2 a=a2 a=1
+= a+=2 a=a+2 a =s
—= a -= 2 a=a-q a=1
Quadro 8.9
Jogo
Exemplo
Operador Operação (considerando que Resultado
a=16eb=4)
Quadro 8.10
Exemplo
Operador Operação (considerando que Resultado
a=15,b=7ec=3)
Não
NOT º NOT (a>b) False
(negação)
Quadro 8.11
Sintaxe Exemplo
Dim <id1, id2,...> As <Tipo de dado> <= valor> Dim Idade As Integer = 36
Quadro 8.12
Sintaxe Exemplo
AIB12 O Porto Editora
Const <id1, id2, ...> As <Tipo de dado> <= valor> Const Temperatura As Single = 3 * 5
A função MsgBox (quadro 8.13) permite apresentar mensagens para o utilizador, reali-
zando a comunicação no sentido da aplicação para o utilizador. Os quadros 8.14 e 8.15
apresentam os valores que podem ser definidos no parâmetro Valor da Constante para
indicar os botões ou ícones a visualizar nas caixas de diálogo. O parâmetro Mensagem é
de definição obrigatória.
Quadro 8.13
Função | Sintaxe
MsgBox MsgBox(<Mensagem>, [Valor da Constante], [Título])
Exemplo | Resultado
E)
A função InputBox (quadro 8.16) permite a introdução de dados pelo utilizador, reali-
zando a comunicação no sentido do utilizador para a aplicação. O parâmetro Mensagem é
de definição obrigatória.
Quadro 8.16
Função Sintaxe
InputBox InputBox[<Mensagem>,
[Título], [Valor por defeito], [Coordenada XJ, [Coordenada Y])
Exemplo Resultado
InputBox (“Digite a
idade”, "Dados", 100,
500, 500)
8. Introdução à programação orientada aos eventos
Quadro 8.17
O quadro 8.18 apresenta a função de conversão Val do Visual Basic. Esta função per-
mite converter os números contidos numa cadeia de caracteres no seu correspondente
valor numérico.
Quadro 8.18
Exercícios de aplicação 20
1. Crie um projeto, em Visual Basic, que permita a leitura de dois números reais e apresente a
sua média.
Exclusivo
do Professor
Solução
AIB12 F06
Introdução à Programação
d) O botão Limpar, quando clicado, deve efetuar a limpeza do conteúdo da caixa de texto e
desativar a seleção das caixas de seleção.
A figura 4 apresenta o código necessário para o funcionamento do botão Limpar, quando este é
clicado (evento Click).
Private Sub Buttonl Click(Sender As Object, e As EventArgs) Handles Buttonl.Click
CheckBox1.Checked = False
CheckBox2.Checked = False
CheckBox3.Checked = False
End Sub
e) O botão Mostrar, quando clicado, permite apresentar o resultado de uma ou mais operações
selecionadas através de caixas de mensagem [MsgBox]. No caso de não ter sido selecionada
nenhuma operação surge a caixa de mensagem com a indicação "Nenhuma caixa de seleção foi
selecionada”.
A figura 5 apresenta o código necessário para o funcionamento do botão Mostrar, quando este é
clicado (evento Click).
Private Sub Button2 Click(Sender As Object, e As EventArgs) Handles Button2.Click
If CheckBox1.Checked Then
MsgBox (UCase (Labe1l2 .Text))
End If
If CheckBox2.Checked Then
MsgBox (LCase (Label2.Text))
End If
If CheckBox3.Checked Then
MsgBox (Len (Label2.Text))
End If
End Sub
Exclusivo
do Professor
Solução
8. Introdução à programação orientada aos eventos 83
Quadro 8.19
Quadro 8.20
If <expressão> Then
<bloco de instruções>
End If
Pan x
Re ==
Fig. 8.22. Janela resultante
Fig. 8.21. Caixa de diálogo da InputBox do clique no botão OK
com os dados de exemplo inseridos. apresentado na figura 8.21.
A estrutura de decisão ou de seleção If... Then... Else... permite avaliar uma condição.
Se esta for verdadeira executa uma determinada ação. Senão, se for falsa, executa uma
ação alternativa.
O quadro 8.21 apresenta a sintaxe da estrutura de seleção If... Then... Else... A figura
8.23 mostra a exemplificação da utilização desta estrutura, determinando a maioridade de
uma pessoa.
Quadro 8.21
A estrutura de decisão ou de seleção If... Then... Elself... permite avaliar várias condi-
ções encadeadas.
Quadro 8.22
If <expressão> Then
<bloco de instruções>
Elself <expressão> Then
<bloco de instruções>
Elself <expressão> Then
<bloco de instruções>
End If
No exemplo anterior (fig. 8.29), na estrutura Select Case..., foram utilizadas duas pala-
vras reservadas, o Is e o To. A palavra reservada To permitiu definir intervalos de valores
(limite inferior To limite superior) a comparar e a palavra reservada Is permitiu utilizar o
operador menor (<) para comparar o valor de entrada com um dado valor (1).
O quadro 8.24 apresenta a sintaxe da estrutura For... Next. A figura 8.32 mostra a
exemplificação da utilização desta estrutura, calculando a soma acumulada de números
gerados a partir de um valor inicial até a um valor final, indicado pelo utilizador, com incre-
mentos, por defeito, de um.
Quadro 8.24
pe cmo CE
ad
AIB12 O Porto Editora
De notar que, no código apresentado na figura 8.35, para calcular a soma acumulada
dos valores gerados foram utilizadas as variáveis sum e cont. A variável sum vai acumu-
lando a soma dos valores que vão sendo gerados e a variável cont vai servir de contador,
incrementando o seu valor até atingir o valor indicado, correspondente ao número de ciclos.
A estrutura de repetição ou de ciclo While... End While permite repetir um bloco de có-
digo enquanto uma determinada condição for verdadeira. Esta estrutura é equivalente à
anterior mudando apenas a sua sintaxe (quadro 8.26).
Quadro 8.26
While <expressão>
<bloco de instruções>
End While
A estrutura de repetição ou de ciclo Do... Loop While permite repetir um bloco de có-
digo enquanto uma determinada condição for verdadeira. A diferença para a estrutura Do
While... Loop é que o bloco de instruções nela contido será sempre executado pelo menos
uma vez porque, neste caso, a condição de controlo do ciclo é testada no fim.
Quadro 8.27
Do
<bloco de instruções>
Loop While <expressão>
8. Introdução à programação orientada aos eventos 89
A estrutura de repetição ou de ciclo Do... Loop Until permite repetir um bloco de código
enquanto uma determinada condição for falsa. A diferença para a estrutura
Do Until... Loop é que o bloco de instruções nela contido será sempre executado pelo
menos uma vez, porque, neste caso, a condição de controlo do ciclo é testada no fim.
Quadro 8.29
Do
<bloco de instruções>
Loop Until <expressão>
Introdução à Programação
Exercícios de aplicação 21
1. Crie um projeto, no Visual Basic, com um formulário que permita a inserção de um número inteiro.
Caso seja inserido um número diferente de zero, surge a mensagem “O número indicado é
diferente de zero”. Caso contrário, não é desencadeada qualquer ação.
2. Crie um projeto, no Visual Basic, com um formulário que permita a inserção do seu nome e ano de
nascimento, surgindo depois a mensagem “E maior de idade”, caso tenha uma idade igual ou
superior a 18 anos e, caso contrário, surge a mensagem “E menor de idade”.
3. Crie um projeto, no Visual Basic, com um formulário que permita apresentar a designação do mês e
a respetiva estação do ano, mediante a indicação do mês através de um número inteiro entre 1 e 12.
Caso o número indicado não pertença ao intervalo entre 1 e 12, surge a mensagem “Mês indicado
errado”.
4. Crie um projeto, no Visual Basic, com um formulário que permita apresentar o valor do desconto,
obtido a partir do valor de compras indicado. O cálculo do desconto é efetuado de acordo com os
seguintes valores de compras: <1000 sem desconto, >=1000 e <10000 desconto de 10% e >=10000
desconto de 20%.
5. Crie um projeto, no Visual Basic, que mostre todos os números pares inteiros positivos inferiores ou
iguais a um dado número inserido pelo utilizador. Por exemplo, caso insira o número 8 deverão ser
apresentados os números pares 2,4,6€e8.
8.3.6. Sub-rotinas
Solução
8. Introdução à programação orientada aos eventos 91
Para adicionar um módulo na janela do Solution Explorer (fig. 8.39) clica-se com o
botão direito do rato sobre a designação do projeto e, no menu de contexto, seleciona-se
a opção Add seguida da opção Module. Outra forma seria selecionar a opção Add Module,
no menu Project.
As funções devolvem um
* [(Deciaratrons)
valor, através do seu nome, pasar
para o local onde a função é
chamada ou evocada. Este
valor pode ser passado ao
<
nome da função através de
Fig. 8.40. Janela de código do módulo.
uma atribuição ou através da
instrução Return.
ross=s Lo)
(Cones|
Os procedimentos não devolvem um valor através do seu nome e, por isso, não têm
nenhum tipo de dados associado. A chamada de um procedimento é efetuada pela indica-
ção do seu nome, podendo ter uma lista de argumentos passados por referência (ByRef)
ou por valor (ByVal) aos parâmetros do procedimento.
Sintaxe de um procedimento
Sub NomeProcedimento(largumentos])
<bloco de instruções>
End Sub
Module Modulel
Sub SIdade (ByRef Texto As String, ByVal Idade As Integer)
Select Case Idade
Case Is <1
Texto = Texto & “ ainda não nasceu”
Case 1, 2,3 < 4
Texto = Texto & “ é bebé”
Case 4 To 10
Texto = Texto & “ é criança”
Case 11 To 17
Texto = Texto & *“ é adolescente”
Case 18 To 30
Texto = Texto & “ é jovem”
Case 31 To 80
Texto = Texto & *“ é adulto”
Case 81 To 100
Texto = Texto & “ é idoso”
Case Else
Texto = Texto & “ tem uma idade extraordinária”
End Select
End Sub
End Module
ERA
Coreia
Fig. 8.47. Caixa de diálogo da InputBox Fig. 8.48. Caixa de diálogo da InputBox
com os dados de exemplo inseridos. com os dados de exemplo inseridos
(resultante do clique no botão OK
apresentado na figura 8.47).
Mana
é adolescente
Exercícios de aplicação 22
1. Crie um projeto, no Visual Basic, com o nome SubRotinas, que apresente como interface o
formulário da figura 1 e permita ao utilizador inserir dois valores do tipo double e selecionar a
operação a efetuar.
Mediante a operação selecionada, será executada uma das funções
ou procedimentos seguintes, apresentando o resultado numa caixa
de mensagem.
Function media (ByVal x As Double, ByVal yAs Double) As Double
Function soma (ByVal a As Double, ByVal b As Double) As Double
Sub max (ByVal c As Double, ByVal d As Double)
Sub min (ByVala As Double, ByVal b As Double)
AIB12 O Porto Editora
Solução
Introdução
a Teoria da
Interatividade
96
Exercício
1. Do GUI aos ambientes imersivos
O GUI (Graphical User Interface), ou interface gráfica, ao ser visualizado pelos utilizado-
Como principais marcos históricos desta evolução podem ser indicados os seguintes
exemplos:
Fig. 1.2. Exemplo de um sistema Videoplace. Fig. 1.3. Exemplo de uma projeção de
imagens em 2D num sistema
Videoplace.
* Em 1969, Myron Krueger criou o Videoplace (figs. 1.2 e 1.3), capturando imagens de
pessoas que participavam na experiência e projetando-as em 2D numa tela em que Exercício
as pessoas podiam interagir umas com as outras e com os objetos projetados nesta.
A partir do ano 2000, o aumento da utilização dos smartphones, tablets e outros equi-
pamentos fizeram aumentar o interesse pela realidade aumentada. Esta permite que ele-
mentos da realidade virtual possam ser sobrepostos a imagens do mundo real através
das câmaras digitais instaladas nesses equipamentos. Neste caso, a interação do utiliza-
dor com os elementos virtuais ocorre de maneira natural e intuitiva. Hoje em dia, os de-
safios no campo da realidade virtual tentam encontrar formas que permitam aos utilizado-
res uma interação mais natural com o ambiente virtual, bem como o desenvolvimento da
Internet no sentido de um espaço virtual tridimensional. Assim, o novo conceito hiper-
-realidade é definido como a capacidade de combinar realidade virtual, realidade física,
inteligência artificial e humana, integrando-as de forma natural.
Para tornar os ambientes gráficos mais realistas são utilizados o rendering e o mapea-
mento de texturas, que são duas técnicas que contribuem para a formação de imagens
de boa qualidade. O rendering é uma operação que permite transformar os dados gráficos
em dados de imagem. Para se obter um rendering adequado é necessário definir correta-
mente a iluminação do ambiente e a posição relativa dos objetos no mundo virtual. Um
rendering de alta qualidade requer também uma definição correta das propriedades que
fazem parte da constituição dos objetos e do mapeamento das texturas a aplicar às dife-
rentes partes dos objetos.
Devido a todos estes desenvolvimentos verificados nos ambientes gráficos e nos equipa-
mentos disponibilizados, consegue-se atualmente estimular todos os sentidos dos utiliza-
dores mais facilmente, de uma forma mais realista e mais imersiva.
AIB12 FO7
98
Exercício
2. Realidade virtual
2.1. Conceito
A realidade virtual consiste em ambientes simulados através do computador, permi-
Estes ambientes virtuais são, atualmente, utilizados na maioria das áreas do conheci-
mento e das atividades humanas, como medicina, arquitetura, engenharia, educação,
entretenimento e treino de atividades desportivas e profissionais. Permitem colocar o
utilizador em contacto com novas situações, aprendendo de forma segura, económica e
rápida e podendo contribuir para a melhoria do seu desempenho.
Fig. 2.1. Exemplo da simulação de um ecossistema Fig. 2.2. Exemplo da simulação do mesmo ecossistema
numa fase inicial. da figura 2.1 numa fase posterior.
2. Realidade virtual 99
Além destes, é importante considerar outros aspetos na imersão, como o lugar utili-
zado, a forma como é efetuada a projeção, a posição e as deslocações do utilizador, a
distância do utilizador aos controlos e a qualidade do som.
Quadro 2.1
BOOM
(Binocular . o Caixa móvel para visão estereoscópica
mi Visualização
Omni-Oriented , interativa.
Monitor]
Controlo e Rar
Teclado . = Permite interagir com o computador.
manipulação
. Controlo e Rr
Joystick Permite interagir com o computador.
manipulação
Visualização/
Permite visualizar ambientes gráficos
Monitor/Touch screen Controlo e
e interagir com o computador.
manipulação
Quadro 1
Hardware Descrição
1) Dispositivo semelhante ao rato de um computador, com a
(A) Crystal Eye particularidade de poder trabalhar no ar, pois possui um
giroscópio e comunica por rádio com o computador.
2) Espaço delimitado por três ou mais paredes de projeção
(B) CAVE stereo para visualização interativa.
3) Indumentária que permite a interação do utilizador com o
(C) Spacemouse mundo virtual.
4) Luva eletrónica que permite capturar os movimentos das
(D) GyroPoint Desk mãos (e dos dedos] e usá-los para interagir com o utilizador.
Quadro 2
Solução
102
3. Interatividade
3.1. Conceito
Exercício
A interatividade num ambiente virtual consiste na possibi-
* O tempo de resposta, que é o tempo que decorre entre a ação do utilizador sobre um
dos objetos do ambiente virtual e a correspondente alteração criada pelo sistema;
O quadro 3.1 relaciona os três níveis de interatividade de acordo com o controlo exer-
cido pelo utilizador sobre a estrutura e o conteúdo de um ambiente virtual. Jogo
Quadro 3.1
Controlo do conteúdo
Limitado Alargado
No nível de interatividade média, apenas alguns sentidos do utilizador estão a ser utili-
zados e exerce um controlo limitado sobre o desenrolar da ação num ambiente virtual.
No nível de interatividade baixa, o utilizador não se sente como parte do ambiente vir-
tual e apenas alguns dos seus sentidos estão a ser utilizados.
Interatividade
| y I
Elevada Média Baixa
Quadro 3.2
Tipo de
interatividade Descrição
O sistema define as ligações necessárias para garantir que o acesso aos seus
elementos, por parte do utilizador, seja assegurado por todos os trajetos
De hiperligação
possíveis ou relevantes, criando um ambiente flexível. Este tipo de interatividade
desenvolve-se de forma proativa.
Desta forma, para avaliar estas soluções interativas, de uma forma mais completa e
objetiva, analisam-se as seguintes características: Jogo
Quadro 5.1
Designação Descrição
É uma solução completa para a indústria, aplicações militares e jogos. Para além de ser
Gizmo3D usado pelos serviços militares é também utilizado na indústria espacial. Permite
desenvolver formas geométricas com rapidez, sombras em tempo real, estruturas
recursivas, ambientes e animação.
O X3D [eXtensible 3D) é um padrão aberto para distribuir conteúdo 3D, expresso como
um documento XML [eXtensible Markup Language), através da Web. Surgiu de uma
X3D revisão da especificação ISO VRML97, incorporando aperfeiçoamentos desta linguagem
e melhorias na sua arquitetura. Aceita múltiplos formatos de codificação como VRML,
XML e binário.
Exercícios de aplicação 2
Solução
5. O desenho de soluções interativas 107
Exercício
ac Descrição
interatividade :
(A) Coativa 1) O utilizador controla dinamicamente o desenvolvimento do conteúdo deste.
(C) Reativa 3) O utilizador tem um controlo limitado sobre o conteúdo do ambiente virtual.
Tipos de =
interatividade Descrição
1) O utilizador constrói um modelo a partir do manuseamento de objetos
(A) Reflexiva na ue e
componentes deste, atingindo um objetivo específico.
(B) De hiperli- 2) O sistema efetua perguntas que o utilizador responde. Este pode comparar
gação as suas respostas com as de outros utilizadores ou com as de especialistas.
3) O utilizador ativa objetos, usando o rato ou um outro dispositivo apontador
(C) Hierárquica para obter respostas do sistema. Estes objetos alteram o seu
funcionamento de acordo com determinados fatores.
Indique quatro requisitos a considerar no estudo prévio necessário para o desenho de soluções
interativas. Exclusivo
AIB12 O Porto Editora
do Professor
Indique três ferramentas que podem ser utilizadas na criação de soluções interativas no âmbito da
realidade virtual.
Solução
Conceitos
Básicos
de Multimedia
1 10 Conceitos Básicos de Multimédia
Exercício
1. Conceito de multimédia
De uma forma genérica, o conceito de multimédia pode ser definido como a utilização
“Multimédia designa a combinação, controlada por computador, de texto, gráficos, imagens, vídeo,
áudio, animação e qualquer outro meio, pelo qual a informação possa ser representada, armaze-
nada, transmitida e processada sob a forma digital, em que existe pelo menos um tipo de media
estático (texto, gráficos ou imagens] e um tipo de media dinâmico (vídeo, áudio ou animação).”
Fluckiger, 1995 e Chapman & Chapman, 2000
“Multimédia não pode ser experimentada sem a tecnologia, pois é a tecnologia que cria a expe-
riência - multimédia não se limita à mensagem, mas é igualmente uma função do meio, isto é, da
tecnologia.”
Gonzalez, 2000
2. Tipos de media 111
2.1.1. Estáticos
Os tipos de media estáticos, discretos ou espaciais, agrupam elementos de informa-
ção independentes do tempo, alterando apenas a sua dimensão no espaço, tais como,
por exemplo, textos e gráficos.
Imagem
As imagens e os gráficos estão para as aplicações multimédia como as fotografias e
os desenhos estão para as revistas, os jornais e os livros. As imagens e os gráficos
podem ser considerados, respetivamente, do tipo bitmap e do tipo vetorial quando são
utilizados em aplicações multimédia num sistema informático. Estes podem ser obtidos
por captura, através da utilização de um scanner ou de uma câmara digital, ou, ainda,
serem gerados no computador através da utilização de programas adequados.
Texto
O texto constitui a forma mais utilizada de divulgar informação em diversos meios e forma-
tos. O texto em formato digital pode ser criado através de editores de texto, como, por exem-
plo, o Bloco de notas do Windows” , dando origem a conteúdos não formatados denominados
plain text. De outra forma, pode ser criado através de processadores de texto, como, por
exemplo, o Microsoft? Word, dando origem a conteúdos formatados denominados rich text.
2.1.2. Dinâmicos
Os tipos de media dinâmicos, contínuos ou temporais, agrupam elementos de informa-
ção dependentes do tempo, tais como, por exemplo, o áudio, o vídeo e a animação. Nes-
tes casos, uma alteração, no tempo, da ordem de apresentação dos conteúdos conduz a
alterações na informação associada ao respetivo tipo de media dinâmico.
Áudio
O áudio corresponde à reprodução eletrónica do som nos formatos analógico ou digital.
O formato analógico corresponde ao áudio gravado nas cassetes ou discos de vinil. O digital
corresponde a um formato compatível com o processamento realizado pelos computadores.
O formato digital pode ser obtido por digitalização a partir de fontes sonoras, resul-
tando em ficheiros que, mesmo compactados, ocupam um espaço considerável e apre-
sentam perdas de qualidade do sinal capturado. Esta digitalização é obtida através da
conversão do sinal analógico em digital.
MIDI (Musical Instrument Digital Interface) da placa de som. Desta forma, os ficheiros ape-
nas guardam a informação do áudio a ser reproduzido, resultando ficheiros mais peque-
nos e de qualidade superior. O MIDI é um padrão internacional, que define as notas
112
produzidas por diferentes sintetizadores de forma que estas sejam iguais às dos respeti-
Vídeo
O vídeo corresponde ao movimento sequencial de um conjunto de imagens, também
conhecidas por fotogramas ou frames. O número de frames apresentadas por segundo
designa-se por frame rate.
Tal como no áudio, também o vídeo pode ser representado no formato analógico ou
digital. O formato analógico corresponde, por exemplo, ao vídeo criado por uma câmara
de vídeo analógica ou ao sinal da emissão de um canal de televisão analógico. Por outro
lado, o formato digital corresponde, por exemplo, ao vídeo criado por uma câmara de
vídeo digital ou ao sinal da emissão de um canal de televisão digital.
Animação
A animação corresponde ao movimento sequencial de um conjunto de gráficos, no for-
mato digital, que vão sofrendo alterações ao longo do tempo. Atualmente, a animação é
maioritariamente produzida no computador, através de software específico.
2.2.1. Capturados
Os tipos de media capturados são aqueles que resultam de uma recolha do exterior
para o computador, através da utilização de hardware específico, como, por exemplo, os
scanners, as câmaras digitais e os microfones, e de software específico.
2.2.2. Sintetizados
Os tipos de media sintetizados são aqueles que são produzidos pelo próprio computa-
dor através da utilização de hardware e software específicos.
3.1. Online
A divulgação online significa a disponibilidade de uso imediato dos conteúdos multimédia.
Esta pode ser efetuada através da utilização de uma rede informática local ou de um con-
junto de redes, tal como a World Wide Web. Também a divulgação de conteúdos multimédia,
através de monitores ligados a computadores que não estão ligados a redes informáticas,
cujos dados estão armazenados em disco, pode ser considerada uma divulgação online.
5. Tipos de produtos multimédia 113
AIB12 FO8
114 Conceitos Básicos de Multimédia
Exercício
6. Tecnologias multimédia
A figura 6.1 mostra o exemplo de um sinal que assume uma gama de valores contí-
nuos no tempo. Este tipo de sinal é designado por sinal analógico, enquanto que os si-
nais que um computador processa são designados por sinais digitais.
Os sinais digitais que circulam nos circuitos eletrónicos de um computador são consti-
tuídos apenas por dois níveis de tensão elétrica. Ao nível mais baixo é associado o valor
lógico zero (0) e ao nível mais alto o valor lógico um (1).
Baseado no sistema de numeração binária, isto é, que utiliza apenas dois dígitos (0 e 1),
é possível conceber todo o funcionamento dos circuitos digitais. Nestes circuitos, o bit é a
unidade mínima de informação de um sinal, podendo assumir o valor O ou 1.
Se os sinais que circulam num computador ou os gerados por um teclado são digitais, o
sinal que um microfone produz é analógico. Assim, para obter este sinal no computador há
necessidade de digitalizá-lo, ou seja, convertê-lo para uma sequência de bits. A digitalização
de um sinal analógico é composta pelas fases de amostragem, quantização e codificação.
v
15
14
13
12
n
10
9
8
7
6
5
4 V
3
2
1 1
0 t t
Fig. 6.1. Representação gráfica Fig. 6.2. Representação gráfica
de um sinal analógico. de um impulso elétrico.
v v
E
15
:
12 12
11 11
10 10
9 9
8 8
7 7
6 6
5 5
4 4
3 3
2 2
1 1
0 : 0 ;
6.1.1. Amostragem
Exercício
A amostragem é o processo que permite a retenção de um conjunto finito de valores
discretos dos sinais analógicos.
O sinal amostrado da figura 6.3 é um sinal obtido por uma modelação, denominada modulação
PAM (Pulse-Amplitude Modulation]).
6.1.2. Quantização
Depois de amostrado o sinal analógico, sob a forma de amostras ou impulsos PAM, é
preciso quantizar ou quantificar a infinidade de valores que a amplitude do sinal apre-
senta (fig. 6.4). O circuito eletrónico que efetua esta conversão designa-se por conversor
analógico-digital (A/D ou do inglês ADC — Analog to Digital Converter).
6.1.3. Codificação
Os valores das amplitudes dos impulsos PAM, depois de quantizados, precisam de ser
codificados para poderem ser representados por uma sequência de bits com valor O ou 1.
Uma das formas de codificar o sinal é através da modulação PCM (Pulse-Code Modulation),
utilizando impulsos de amplitude de duração constante e valores lógicos O ou 1.
Quadro 6.1
Valor quantizado 1 3 5 11 12 13
Valor codificado 0001 0011 0101 1011 1100 1101
Sinal PCM digital | [|
Conceitos Básicos de Multimédia
Quadro 1
Classifique os tipos de media de acordo com o modo de divulgação dos seus conteúdos.
o
13. Identifique os tipos de produtos multimédia que existem, tendo em atenção a forma como estes são
desenvolvidos.
14. Distinga os tipos de produtos multimédia baseados no tempo dos baseados em páginas.
Solução
6. Tecnologias multimédia 117
6.2.1. Hardware
Dispositivos de entrada
Os dispositivos de entrada permitem a comunicação no sentido do utilizador para o
computador.
No quadro 6.2 são apresentados os principais dispositivos de entrada através dos quais
o utilizador pode controlar ou mesmo interagir com a execução de aplicações multimédia.
Quadro 6.2
&
Os teclados são dispositivos que permitem digitar dados ou
instruções para o computador. Existem vários tipos de teclados com
Teclados
mais ou menos funções e com teclas multimédia, permitindo o acesso
mais fácil às aplicações.
-
Os ratos são dispositivos muito importantes pelas suas potencialidades
Ratos de utilização nos sistemas operativos gráficos. Permitem deslocar no
ecrã o ponteiro e realizar a introdução de ordens para o computador.
>
Dispositivos de apontar
do
Os joysticks são dispositivos utilizados essencialmente para jogar.
Podem assumir uma grande variedade de formas e funcionalidades,
Joysticks
no entanto, podem ser utilizados para controlar uma aplicação
,=
multimédia.
Câmaras
digitais
As câmaras digitais, fotográficas ou de vídeo, são dispositivos que
captam imagens do exterior, através de uma objetiva, à semelhança das
câmaras tradicionais.
As webcams são câmaras digitais mais simples e de baixa resolução
a
que capturam imagens dinâmicas ou estáticas diretamente para o
computador.
'
Os microfones são dispositivos que podem assumir uma grande
AIB12 O Porto Editora
Dispositivos de saída
Os dispositivos de saída permitem a comunicação no sentido do computador para o
Quadro 6.3
Dispositivos de entrada/saída
Exercício
Os dispositivos de entrada/saída permitem a comunicação em ambos os sentidos, do com-
putador para o utilizador e vice-versa. No quadro 6.4 são apresentados os principais dispositi-
vos de entrada/saída que permitem ao utilizador interagir com as aplicações multimédia.
Quadro 6.4
Designação Descrição
Dispositivos de armazenamento
Os dispositivos de armazenamento permitem guardar dados de forma permanente ou
semipermanente. Estes dispositivos, de acordo com a tecnologia utilizada na leitura e es-
crita dos seus dados, podem ser classificados em magnéticos, semicondutores e óticos.
Magnéticos
Discos rígidos
Os discos rígidos (HD — Hard Disk), figura 6.5, assim designados por
serem constituídos por material metálico, utilizam a eletromagnetização
das partículas para a gravação e a leitura dos dados.
Bandas magnéticas
Exercício
As bandas magnéticas (fig. 6.6) utilizam a eletromagnetização das
Semicondutores
E
o as dispositivos de hardware como, por exemplo, câmaras fotográficas digi-
tais, telemóveis e leitores de MP3 e MP4.
Os discos SSD — Solid State Drive (fig. 6.9) são dispositivos de arma-
zenamento de dados constituídos por circuitos integrados semiconduto-
res. Estes são mais leves, compactos e rápidos que os discos rígidos
magnéticos.
Fig. 6.9. SSD — Solid State Drive.
Óticos
CD (Compact Disk)
e Para gravação
No quadro 6.5 são apresentados os principais formatos de CD, de acordo com as vá-
rias possibilidades de gravação.
Quadro 6.5
Formato Descrição
e Formatos
Exercício
No quadro 6.6 são apresentados os principais formatos de CD para a organização do
tipo de informação áudio.
Quadro 6.6
Formato Descrição
É utilizado para armazenar nos CD texto e áudio. Este texto pode consistir em
informação relacionada com os títulos e os intérpretes das músicas.
Atualmente, a maior parte das unidades de leitura CD-DA, existentes no mercado, não
suportam o formato CD-Text. Estas unidades podem reproduzi-los como se fossem CD
CD-Text de áudio, ignorando o texto. Para que isto não aconteça, é necessário utilizar uma
unidade de leitura CD-DA modificada.
Para criar um CD-Text, o gravador de CD tem de suportar este formato e gravá-lo no
modo de gravação DAO [Disc At Once - disco de uma vez), gravando uma ou várias pistas
do CD numa só operação e fechando-o depois.
Permite criar CD com áudio e dados segundo uma nova conceção. Neste formato as
pistas de áudio vão ser gravadas no início dos CD e a pistas de dados no fim.
Enhanced Estes discos são mais indicados como suporte multimédia do que os discos CD-DA que
Music CD apenas suportam áudio.
Neste formato, as unidades de leitura CD-DA apenas leem o áudio e ignoram os dados e
as unidades de leitura CD-ROM XA leem o áudio e os dados.
Quadro 6.7
Formato Descrição
AIB12 O Porto Editora
O formato CD-ROM XA (Compact Disc - Read Only Memory Extended Architecture) permite a
CD-ROM XA intercalação (interleaving] de dados de áudio, texto e imagem num disco ótico multimédia.
Os leitores do formato CD-ROM XA podem ser utilizados como periféricos do computador.
122 Conceitos Básicos de Multimédia
O formato Photo-CD constitui a base para a criação de um suporte alternativo às fotografias e aos
slides convencionais, tornando possível o seu armazenamento no formato digital em discos CD-R.
Photo-CD
Os CD, neste formato, podem ser lidos em unidades de leitura Photo-CD e visualizadas na televisão
ou em unidades de leitura CD-ROM, CD-ROM XA e visualizadas no monitor do computador.
O formato Video CD [VCD] permite armazenar filmes que pudessem posteriormente ser
Video CD reproduzidos em computador. Este formato de CD é na realidade do tipo CD-ROM XA e pode
comportar 74 minutos de áudio e vídeo digitais, utilizando a compressão MPEG-1.
O formato Super Video CD (SVCD) foi concebido para ser o sucessor tecnológico do formato Video
CD, no entanto, ao nível técnico, está mais próximo do DVD do que do CD.
Super Video CD Os CD gravados no formato Super Video CD contêm sequências de vídeo MPEG-2 e, utilizando
a qualidade mais elevada, podem conter cerca de 35 minutos de filme num disco-padrão com
74 minutos de capacidade de armazenamento.
e Para gravação
No quadro 6.8 são apresentados os vários formatos de DVD, de acordo com as possi-
bilidades de gravação que permitem aos utilizadores.
Quadro 6.8
Formato Descrição
DVD-R, +R Permitem a gravação de dados apenas uma vez. Estes DVD podem ter as capacidades de 4,7 GB
(Digital Versatile | [Single Layer) e 8,5 GB [Double Layer] no caso dos Single-sided e as capacidades de 9,4 GB (Single
Disk Recordable) | Layer) e 17 GB (Double Layer) no caso dos Dual-sided.
DVD-RW, +RW | Permitem a gravação e regravação de dados e podem ser utilizados para fazer cópias de
(Digital Versatile | segurança dos dados em computadores pessoais.
Disk Rewritable) | Estes DVD podem ter capacidades idênticas às do formato DVD-R, +R.
Permitem a gravação e regravação de dados de forma semelhante aos DVD-RW, mas mais
rapidamente do que estes. Estes DVD têm o disco protegido por uma estrutura de plástico
DVD-RAM semelhante às utilizadas nas disquetes. Os primeiros discos DVD-RAM têm capacidades de 2,6 GB
(Single-sided) ou 5,2 GB [Double-sidea). Os discos DVD-RAM, versão 2, têm capacidades de 4,7 GB
(Single-sided) ou 9,4 GB [Double-sidea).
A designação dos Mini-DVD é devida à dimensão do seu diâmetro de 8 cm, ao contrário dos DVD,
cujo diâmetro é de 12 cm. Existem em dois formatos principais, Single Layer Single Side e Dual
Layer Single Side, com capacidades, respetivamente, de aproximadamente 40 minutos de filme
Mini-DVD (1,46 GB] e de aproximadamente 75 minutos de filme [2,66 GB).
O tamanho destes DVD tornou-os mais adequados para determinados fins, como, por exemplo, no
envio por correio de material multimédia relacionado com apresentações e vídeos. Tem
aproximadamente o dobro da capacidade de um CD-ROM, sendo, porém, mais leve.
6. Tecnologias multimédia 123
e Formatos
Exercício
No quadro 6.9 é apresentado um formato de DVD para a organização do tipo de infor-
mação áudio.
Quadro 6.9
Formato Descrição
Quadro 6.10
Formato Descrição
É assim designado por utilizar uma tecnologia baseada num (aser azul-violeta.
Esta tecnologia utiliza um disco com 12 cm de diâmetro, tal como os CD e DVD
comuns. Mas, por outro lado, utiliza um laser com um comprimento de onda
menor que o dos CD e DVD. Desta forma, aumenta a precisão e permite focar
pontos mais pequenos e mais próximos na superfície do disco, conduzindo a um
Blue-ray
aumento na capacidade de armazenamento dos discos.
Os CD e os DVD podem ser lidos nas unidades de leitura e escrita deste tipo de
AIB12 O Porto Editora
discos.
Os discos neste formato podem ter a capacidade para armazenar 27 GB ou 54 GB,
conforme tenham uma ou duas camadas de gravação.
124 Conceitos Básicos de Multimédia
Sistemas de ficheiros
Exercício
Conforme o que foi descrito atrás, os discos óticos assumem diversos formatos para
Estes formatos dos CD e dos DVD são descritos em documentos denominados livros
e constituem normas internacionais.
Em relação aos CD, os livros são identificados pela cor da capa e designam-se por:
Red Book, Yellow Book, Green Book, Orange Book, White Book, Blue Book, Scarlet Book e
Purple Book (quadro 6.11).
Quadro 6.11
Livro Descrição
Em relação aos DVD os livros são identificados por uma letra maiúscula e designam-se
por A, B,C,D, Ee F (quadro 6.12). Para cada formato o livro descreve o processo físico
de gravação, a organização lógica dos ficheiros e outras especificações.
Quadro 6.12
No quadro 6.13 são apresentados os principais sistemas de ficheiros que permitem orga-
nizar e disponibilizar informação em CD e DVD.
6. Tecnologias multimédia 125
Quadro 6.13
no Exercício
Formato Descrição
A norma ISO 9660 (CDFS - Compact Disk File System) estabelece um conjunto de especificações
relacionadas com a organização lógica dos dados de um CD e permite a criação de um sistema de
ficheiros hierárquico, capaz de proporcionar a organização da informação contida num CD em
ficheiros e diretórios. O sistema de ficheiros concebido através das especificações desta norma visa
funcionar da forma mais compatível possível com todos os sistemas operativos. Este sistema de
ficheiros desenvolveu-se em três níveis:
- nível 1, permite utilizar no máximo 8 caracteres para o nome dos ficheiros e diretórios e 3
ISO 9660 (CDFS] caracteres para a extensão dos ficheiros. Os caracteres permitidos são A-Z, 0-9 e o carácter
de underscore [ ). Os ficheiros não podem ser fragmentados, ou seja, têm de ser gravados num
conjunto contínuo de bytes. A estrutura dos diretórios apenas se pode desenvolver ao longo de
8 níveis incluindo o diretório raiz;
- nível 2, permite utilizar no máximo 31 caracteres para o nome dos ficheiros e diretórios. Os
ficheiros, também, não podem ser fragmentados. Neste nível, a leitura dos nomes longos
apresenta alguns problemas;
- nível 3, não há restrições nos nomes dos ficheiros e dos diretórios.
A extensão Joliet foi desenvolvida para ultrapassar as limitações da norma ISO 9660 e dar
resposta às especificações dos sistemas operativos mais recentes, mantendo a compatibilidade
com o sistema operativo MS-DOS.
Extensão Joliet Das limitações apresentadas pelos sistemas de ficheiros ISO 9660, as especificações da
extensão Joliet permitem, entre outras:
- a utilização de nomes longos, até 64 caracteres Unicode, incluindo o espaço;
- a expansão da árvore de diretórios acima dos 8 níveis.
A ISO 13346 é uma norma que define o volume e a estrutura de ficheiros dos suportes de
ISO 13346 armazenamento que utilizam um funcionamento não sequencial para a transferência de
(ECMA-167) informação. Esta norma é equivalente ao standard ECMA-167 (European Computer Manufactures
Association Standard number 167), 2.º edição.
O UDF [Universal Disk Format) é um formato definido pela OSTA (Optical Storage Technology
Association] com base nos standards ISO 13346 e ECMA — 167 e constitui o sucessor do formato
ISO 9660. É um formato utilizado em todos os DVD e nos CD-R e CD-RW. Tem por base standards
abertos, permitindo a troca de informação entre sistemas operativos e entre suportes de
UDF armazenamento de informação.
Este formato permite a gravação de dados num CD de forma semelhante à gravação numa
unidade de disco rígido ou numa unidade de disquetes, suportando um grande número de
funções avançadas, como nomes de ficheiros longos, árvores de diretórios longas, ficheiros
pequenos, ficheiros grandes e acesso a listas de controlo.
AIB12 O Porto Editora
O formato Mount-rainier [Packet Writing Format) permite, de uma forma fácil e rápida, gravar,
regravar e criar backups de dados para um CD. Permite a inclusão de dados de um modo real
Mount-rainier
com drag-and-drop e a formatação on-the-fly na criação do CD, diminuindo a duração do
processo de formatação de um CD.
Conceitos Básicos de Multimédia
4. Copie o quadro 2 para o seu caderno e estabeleça a ligação entre a coluna dos formatos de CD para
gravação e a coluna da descrição.
Quadro 2
Formato de CD Descrição
(A) CD-R 1) Permitem gravar até 180 MB e existem com os formatos R ou RW.
(B) CD-RW 2) Permitem gravar dados apenas uma vez. Têm uma capacidade de
gravação de 650 MB ou 700 MB.
(C) Mini-CD 3) Permitem gravar e regravar dados. Têm uma capacidade de
gravação de 650 MB ou 700 MB.
Solução
6. Tecnologias multimédia
6. Copie o quadro 3 para o seu caderno e estabeleça a ligação entre os formatos de DVD para
gravação e a correspondente descrição.
Quadro 3
Copie o quadro 4 para o seu caderno e estabeleça a ligação entre os vários sistemas de ficheiros
que permitem organizar e disponibilizar informação em CD e DVD e a sua respetiva descrição.
Quadro4
Sistema de =
ficheiro Decio
(A) ISO 9660 1) Permite de uma forma fácil e rápida gravar, regravar e criar backups de
dados para um CD.
2) É um conjunto de especificações adicionais relativas à norma ISO 9660,
(B) Extensão permitindo, desta forma, suportar as especificidades de sistemas operativos
Joliet diferentes do MS Windows. Destina-se a sistemas baseados no sistema
operativo Unix/Linux.
3) Estabelece um conjunto de especificações relacionadas com a organização
(C) Extensão
lógica dos dados de um CD que permitiram a criação de um sistema de
Rock
ficheiros hierárquico, capaz de organizar a informação contida num CD em
Ridge
ficheiros e diretórios.
4) Foi desenvolvida para ultrapassar as limitações da norma ISO 9660 e dar
(D) Extensão
resposta às especificações dos sistemas operativos mais recentes,
El Torito
mantendo a compatibilidade com o sistema operativo MS-DOS.
5) Define o volume e a estrutura de ficheiros dos suportes de armazenamento que
(E) ISO 13346 - Do A
utilizam um funcionamento não sequencial para a transferência de informação.
6) Especificação para a criação de um CD de arranque de um computador.
Desta forma, evita-se a utilização de uma disquete ou de um disco rígido se
a o BIOS do computador estiver configurado para fazer arrancar o sistema
operativo a partir de um CD. Exclusivo
AIB12 O Porto Editora
e do Professor
(6) Mount- 7) Formato utilizado em todos os DVD e nos CD-R e CD-RW. Tem por base
o standards abertos, permitindo a troca de informação entre sistemas
-rainier . :. - VA
operativos e entre suportes de armazenamento de informação.
Solução
Utilização
do Sistema
Multimedia
130
O conceito de cor está associado à perceção, pelo sistema de visão do ser humano,
da luz emitida, difundida ou refletida pelos objetos, sendo considerada um atributo dos
mesmos.
A cor de um objeto depende das características das fontes de luz que o iluminam, da
reflexão da luz produzida pela sua superfície e, por último, das características sensoriais
do sistema de visão humano, os olhos, ou de câmaras digitais.
A não existência de luz implica que nada se veja e, portanto, significa a não existência
de cor.
Espetro visível
|
400 nm 500 nm 600 nm 700 nm
A interpretação das cores é feita pelo cérebro humano depois de a luz atravessar a íris
e ser projetada na retina. Desta forma, os olhos são os sensores de toda a visão e esta
pode ser do tipo escotópica e fotópica.
A visão fotópica é assegurada por um conjunto de três tipos diferentes de cones exis-
tentes na retina. Estes são sensíveis à cor e, portanto, aos comprimentos de onda da luz
visível, O número de cones da retina distribuem-se da seguinte forma: 64% são do tipo
vermelho (Red), 32% do tipo verde (Green) e 2% do tipo azul (Blue).
Depois de terem sido abordados os aspetos relacionados com a luz e a cor do ponto
de vista sensorial, coloca-se a questão de compreender como são geradas, armazena-
das, manipuladas e reproduzidas as imagens pelos diferentes dispositivos físicos que
utilizam a cor. Antes de mais, é necessário representar as cores através de modelos que
se aplicam a diferentes situações reais.
Exercício
Antes de serem descritos alguns modelos, convém diferenciar modelo aditivo de sub-
trativo. O modelo utilizado para descrever as cores emitidas ou projetadas é considerado
aditivo e para as cores impressas é considerado subtrativo.
Quadro 1.1
| Mistura de cores emitidas por fontes de luz Mistura de cores de pintura ou impressão
Num modelo aditivo a ausência de luz ou de cor corresponde à cor preta, enquanto que
a mistura dos comprimentos de onda ou das cores vermelha (Red), verde (Green) e azul
(Blue) indica a presença da luz ou a cor branca (fig. 1.2).
O modelo aditivo explica a mistura dos comprimentos de onda de qualquer luz emitida.
Num modelo subtrativo, ao contrário do modelo aditivo, a mistura de cores cria uma cor
mais escura, porque são absorvidos mais comprimentos de onda, subtraindo-os à luz. A
ausência de cor corresponde ao branco e significa que nenhum comprimento de onda é
absorvido, mas sim todos refletidos (fig. 1.3).
O modelo subtrativo explica a mistura de pinturas e tintas para criarem cores que ab-
sorvem alguns comprimentos de onda da luz e refletem outros. Assim, a cor de um objeto
corresponde à luz refletida por ele e que os olhos recebem.
AIB12 O Porto Editora
O modelo RGB é um modelo aditivo, descrevendo as cores como uma combinação das
Quadro 1.2
Percentagem 0 20 40 60 80 100
Hexadecimal 00 33 66 99 CC FF
A figura 1.4 mostra um cubo que representa o modelo de cor RGB, usando um sistema
de coordenadas cartesianas para especificar as diferentes cores, que variam de 0 a 1.
Magenta
(1,0,1)
Vermelho
: (1,0,0) Amarelo (1, 1,0)
Fig. 1.4. Representação do modelo RGB.
1. Bases sobre a teoria da cor aplicada aos sistemas digitais 133
O quadro 1.3 exemplifica várias cores do modelo RGB representadas por valores deci-
mais e inteiros. Jogo
Quadro 1.3
1.2.2. Aplicações
A resolução de uma imagem digital determina não só o nível de detalhe como os requi-
sitos de armazenamento da mesma. Quanto maior a resolução de uma imagem, maior
será o tamanho do ficheiro de armazenamento.
O nível de detalhe de uma imagem depende da informação de cada píxel. Cada píxel é
AIB12 O Porto Editora
codificado de acordo com a cor e o brilho que representa, isto é, ocupa em memória um
número de bits que varia de acordo com o número de cores, tons de cinza e brilho defi-
nido para uma determinada imagem.
134
O quadro 1.4 mostra a relação entre o número de bits e o número de cores que podem
ser produzidas. Mostra também os respetivos modelos de cor e padrões gráficos utiliza-
dos em monitores e placas gráficas.
Quadro 1.4
2. CGA
2? 7 =4 Cores de 2 bits (Color Graphics Adapter)
4. EGA
4 2 = 16 Cores de 4 bits [Enhanced Graphics Adapter)
A profundidade de cor das imagens varia com o número de cores presentes na ima-
gem. No modelo RGB, com a profundidade de 24 bits existe a possibilidade de escolher
16,7 milhões de combinações de cor (quadro 1.4). Embora o olho humano não possa
identificar estes 16,7 milhões de cores, este número de combinações permite variações
ténues que dão a impressão de imagens com aspetos muito reais.
Com uma profundidade de 32 bits, apenas são endereçadas 16 777 216 (22?) cores.
Este é um modo gráfico especial usado pelo vídeo digital, animação e jogos para levar a
cabo certos efeitos. Neste caso, os 8 bits extras (Alpha Channel) não são utilizados para
representar cores, mas, por exemplo, para indicar o grau de transparência que o píxel
deve ter quando a imagem, à qual ele pertence, é sobreposta com outra imagem.
A indexação de cor consiste em representar as cores dos píxeis por meio de índices de
uma tabela (Lookup Table) e que, em alguns formatos de imagem, é armazenada junta-
mente com a mesma num único ficheiro. As cores desta tabela são conhecidas como
cores indexadas, porque estão referenciadas pelos números de índice que são usados
pelo computador para identificar cada cor.
1. Bases sobre a teoria da cor aplicada aos sistemas digitais
2 +
Quadro 1.5 Cok p o
No entanto, se a imagem for uma fotografia, esta pode originar um ficheiro de cores indexa-
das de tamanho grande.
As cores indexadas estão limitadas a 256 cores, podendo ser qualquer conjunto de
256 cores de 16,7 milhões de 24 bits de cor.
Se tivermos um gráfico a preto e branco e se este for guardado com um formato de cor
indexada, a tabela contém apenas as cores preta e branca necessárias para a imagem e
não precisa de conter as 256 cores.
Uma paleta de cores pode também ser chamada de mapa de cor, mapa de índice, ta-
bela de cor, tabela indexada ou tabela de procura de cores (Lookup Table — LUT).
AIB12 O Porto Editora
Como foi visto no ponto anterior, a utilização de paletas permite diminuir o tamanho dos
ficheiros de imagens, porque apenas são armazenadas em memória as cores utilizadas.
136 Utilização do Sistema Multimédia
Uma cor complementar de uma determinada cor primária é a cor que se encontra
Ciano Vermelho
O quadro 1.6 identifica as cores primárias do modelo RGB e as suas respetivas cores
complementares.
Quadro 1.6
Primária Complementar
| Vermelho
Amarelo (0, 0, 1) (0, 1,1)
Verde (1,0,1)
Ciano (1,0, 0)
C
O modelo CMY baseia-se na forma como a Natureza cria as Luz refletida Luz incidente
suas cores quando reflete parte do espetro de luz e absorve
outros (fig. 1.9). Por isso, é considerado um modelo subtrativo,
porque as cores são criadas pela redução de outras à luz que
incide na superfície de um objeto.
1.3.2. Aplicações
0
1.4.1, Caracterização do modelo Fig. 1.10. Representação do modelo HSV.
A tonalidade ou matiz (hue) é a cor pura com saturação e luminosidade máximas, por
exemplo, amarelo, laranja, verde, azul, etc. A tonalidade permite fazer a distinção das
várias cores puras e exprime-se num valor angular entre O e 360 graus (quadro 1.7). Por
exemplo, o valor O ou 360 graus corresponde ao vermelho.
AIB12 O Porto Editora
Quadro 1.7
O valor (value) traduz a luminosidade ou o brilho de uma cor, isto é, se uma cor é mais
clara ou mais escura, indicando a quantidade de luz que a mesma contém. O termo lumi-
nosidade está relacionado com a luz refletida, enquanto que o termo brilho está relacio-
nado com a luz emitida. Em termos técnicos, esta grandeza indica a quantidade de preto
associado à cor e exprime-se num valor percentual entre 0% e 100%. O valor 0% indica
que a cor é muito escura ou preta e o valor 100% indica que é saturada ou pura.
Por último, pode-se concluir que a tonalidade e a saturação são elementos de cromi-
nância, pois fornecem informação relativa à cor. Por outro lado, a perceção da luminosi-
dade (luz refletida) e do brilho (luz emitida) são elementos de luminância.
1.4.2. Aplicações
O modelo HSV baseia-se na perceção humana da cor do ponto de vista dos artistas
plásticos. Isto é, os artistas plásticos para obterem as várias cores das suas pinturas
combinam a tonalidade com elementos de brilho e saturação. Desta forma, o modelo HSV
é mais intuitivo de utilizar do que o modelo RGB. Do ponto de vista de um artista plástico,
é mais fácil manusear as cores em função de tons e sombras do que apenas como com-
binações de vermelho, verde e azul.
Contudo, nenhum destes modelos tem em conta uma propriedade da visão humana.
Esta é mais sensível às mudanças de intensidade da luz (luminância) do que da cor (cro-
minância). O modelo YUV tem em conta esta característica.
Nos modelos RGB e CMYK cada cor incluiu informação relativa à luminância, permi-
tindo ver cada cor independente de outra. No caso de se estar a guardar um píxel de
acordo com o modelo RGB e se o vermelho, o verde e o azul tiverem os mesmos valores
de luminância, isto significa que se está a guardar a mesma informação três vezes, au-
mentando a quantidade de informação.
1. Bases sobre a teoria da cor aplicada aos sistemas digitais 139
Com este modelo é possível representar uma imagem a preto e branco utilizando ape-
nas a luminância e reduzindo bastante a informação que seria necessária noutro modelo.
1.5.2. Aplicações
o
O modelo YUV é adequado às televisões a cores, porque
permite enviar a informação da cor separada da informação
de luminância. Assim, os sinais de televisão a preto e
branco e de televisão a cores são facilmente separados. O Scanner Máquina fotográfica Câmara de vídeo
modelo YUV é também adequado para sinais de vídeo. RGB RGB po NYUvI
| |
nado YIQ.
sinais YUV. O ecrã, para efetuar o rendering destes sinais, Fig. 1.11. Exemplificação da utilização de
precisa de voltar a convertê-los para RGB. vários modelos de cor por diferentes
equipamentos e as respetivas conversões.
Inicialmente, os monitores apenas permitiam uma paleta limitada de 256 cores RGB.
Atualmente, com o aparecimento de monitores e placas gráficas que proporcionam uma
profundidade de 24 bits, o uso dos 16,7 milhões de cores não traz problemas para qual-
quer computador que tem capacidade para processar este número de cores. No entanto,
há outros dispositivos que permitem visualizar documentos de HTML e cuja capacidade
cromática é ainda limitada. Por isso, para o desenvolvimento de páginas web continua a
ser recomendável utilizar um conjunto de 216 cores, e não 256, que correspondem à pa-
leta de cores seguras utilizadas para a Web.
Para o desenvolvimento de páginas Web, estas 216 cores são consideradas cores
seguras para a Web, porque é garantido que sejam corretamente visualizadas em todos
os sistemas sem serem alteradas ou truncadas.
Utilização do Sistema Multimédia
Hexadecimal 00 33 66 99 CC FF
O quadro 1.9 apresenta uma amostra de 6 cores retiradas de uma tabela de 216
cores, exemplificando a utilização dos códigos referidos no quadro 1.8.
Quadro 1.9
Exercícios de aplicação 1
1. Qual dos recetores, cones ou bastonetes, são:
a) responsáveis pela visão da cor;
b) sensíveis ao brilho;
c) responsáveis pela visão noturna;
d) sensíveis aos comprimentos de onda da luz.
Exclusivo
do Professor
Fig. 1. Fig. 2.
Solução
1. Bases sobre a teoria da cor aplicada aos sistemas digitais 141
EE
Fig. 4.
10. As impressoras de jato de tinta utilizam geralmente o modelo de cor conhecido por:
(A) CIE;
(B) YUV;
(C) RGB;
(D) CMYK.
11. Observe a figura 5. De acordo com o modelo HSV, quais as cores que apresentam maior saturação
e menor saturação? Justifique a sua resposta.
a) b) c)
Fig. 5.
12. Os modelos RGB e HSV são tridimensionais. Indique como pode ser cada um deles representado.
13. Quala propriedade do olho humano que o modelo YUV tem em atenção?
15. Diga por que razão o modelo YUV é usado na transmissão de sinais de televisão.
AIB12 O Porto Editora
Exclusivo
16. Explique como é criada a paleta de cores seguras para documentos HTML. do Professor
Solução
142
Jogo
2. Geração e captura de imagem
Apesar de, muitas vezes, se guardar no formato que, por defeito, é apresentado pelo pro-
grama, é preciso conhecer os vários formatos e saber, em cada momento, qual deles é o me-
lhor. Assim como é importante saber qual o software mais adequado para o trabalho a realizar.
Bitmap Vetorial
Consiste num mapa de bits Baseia-se em fórmulas matemáticas
(imagem) (gráficos ou desenho)
A informação de uma imagem bitmap pode ser guardada numa grande quantidade de
formatos de ficheiros. A seguir são apresentados alguns deles.
BMP (Bitmap)
O BMP (bitmap) é um formato muito popular, devido ao programa de pintura do Win-
dows, o Paint. É o formato mais comum e não inclui, até ao momento, nenhum algoritmo
de compressão.
O formato GIF permite definir uma cor de fundo como transparente, resultando daí ima-
gens sem limites e preenchimento, que se inserem nas páginas Web. Igualmente, um fi-
cheiro GIF pode ser animado quando aceita várias imagens que se abrem com um certo
movimento. Uma imagem entrelaçada (interlace) no formato GIF é visualizada no browser
com uma resolução crescente à medida que vai sendo carregada. Todos os browsers su-
portam este formato, não havendo necessidade de instalar software específico para usu-
fruir destas animações.
É um formato especial para trabalhar em páginas Web, apesar da perda de qualidade da imagem,
pois são ficheiros que ocupam pequenos espaços e, às vezes, menores do que os do formato GIF.
A informação de uma imagem vetorial pode ser guardada numa grande quantidade de
CDR (CorelDRAW)
O formato CDR é utilizado na aplicação CorelDRAW.
Exercícios de aplicação 2
1. Classifique em verdadeiras (V) ou falsas [F) as seguintes afirmações.
(A) Os desenhos vetoriais são definidos por fórmulas matemáticas que descrevem formas
geométricas.
(B) Um desenho do tipo vetorial é definido pelo conjunto de coordenadas que identificam os pixeis.
(C) O formato TIFF é um formato do tipo bitmap que cria ficheiros de tamanho muito pequeno.
(D) É possível redimensionar um desenho do tipo vetorial sem perder a qualidade dos seus
detalhes.
(E) O formato CDR do CorelDRAW é um formato do tipo bitmap.
Dos exemplos seguintes, quais os que deveriam ser produzidos como mapa de bits ou como gráfico
vetorial?
a) logótipo publicitário;
b) imagem de uma cidade;
c) diagrama de um circuito elétrico;
d) fotografia de uma paisagem.
Exclusivo
do Professor
Solução
2. Geração e captura de imagem 145
Fig. 2.1. Uma imagem do tipo vetorial, quando é ampliada, não perde a sua
qualidade porque esta não depende da sua resolução.
Quando se trabalha com um programa vetorial (ou de desenho), não se mexe na reso-
lução da imagem (fig. 2.1). A qualidade de uma imagem vetorial não é baseada na resolu-
ção da imagem (ppi), mas na resolução do dispositivo de saída (dpi — dots per inch).
Como a qualidade da imagem criada com programas vetoriais não se baseia na reso-
lução, estes geram ficheiros muito mais pequenos do que os criados em programas bit-
map. Para se obter uma imagem com uma boa resolução de impressão, basta ter uma
impressora de alta resolução e criar a imagem num programa vetorial.
Para se reproduzir uma imagem vetorial num monitor ou numa impressora, é utilizada
uma operação designada por rendering.
Os desenhos vetoriais podem ser guardados no formato bitmap mas, depois de convertidos, não
podem ser trabalhados como vetores. Portanto, é aconselhável ter sempre a versão vetorial do
mesmo.
AIB12 F10
146
O ambiente de trabalho
O Inkscape usa o formato SVG (Scalable Vector Graphics) para guardar os seus dese-
nhos vetoriais. É possível importar e exportar para formatos de imagens, assim como
guardar em formatos como PDF e PNG.
Página de desenho Hp + 2
v o
A
me. 7 Barras de
» deslocamento
e
/
e 4H j tt
À barra de menus
A barra de menus dá acesso a um conjunto de menus, tais como: File, Edit, View,
Layer, Object, Path, Text, Filters, Extensions e Help (figs. 2.3, 2.4 e 2.5). Os vários menus
permitem organizar os comandos, agrupando-os de acordo com uma determinada lógica.
€ Undo Ctrl+Z
O Redo Shift+ Ctrl Z View
€? Undo History... Shift+ Ctri+H Zoom »
Display mode »
se Cut CtrlX
| le à EE Grid £
ms 5 E) Copy Ctrl+C É
Open. Cu. o O Paste CtrleV +im Guides |
Open Recent , Paste In Place Ctri+ARt+V Snap %
O Pere (E) Paste Styie Shifte CtrleV view
(BD Color-managed
Ea see Cute $ Paste Size » Show/Hide +»
e Save
ser»eCopy e
Gt é Cinto AROS
E “ End. Carte Fo Show/Hide Dialogs Fiz
a Cade T) Duplicate Chi+D FM, Swatches... Shift+ Crie W
= im . e Default
K Jow Cult Guides Around Page Cs
O menu File contém comandos que permitem efetuar várias operações relativas a fi
O menu Edit contém comandos que permitem efetuar operações básicas sobre um
documento, como: anular uma operação; copiar, mover, duplicar, clonar, eliminar e sele-
cionar objetos; etc.
Dtyect Path
(7 Em und Stroke Site CuioF | QL Objectto Path Shift+ Ctrl+C
(Bl Otyect Propertes Share Cuio O | gE- Stroke
to Path Creio Alt+C
8 Group iG É Irace Bitmap... Shift+ Alt+ B
Rá Ungroup A-CM6 | | 10) ion Culee
hp E [&y Difference Ctrle-
Mask , :
Pultema . q Intersection Ctrt+
Otgects to Marter (É Exclusion Ctrl+*
— Obyects to Guades Share G Division Ctrl/
+, Sd4 Logos amu | Ee Pagelp (O) CutPath Chrte Alto
Duplicate Cusvent| P Dowm
- da 8 Lower e [ÉP Combine CtrlK
4 Fepame Lover Fr Rene to Top Home
: [O Break Apart Shifte Ctri+ K
> Swdch
to Lopes Abovg Che Page Up 4H Lower
to Bottom ing
E Sevtci
to Lopes Belo Cate Page Down & Es" Cu Be, Inset Ctrl(
Move Selection
to Layer Above SutePageUp | 4), Rotate
MJ" CCW Ba Outset Chris)
di Move Selection
to Layer Belga Sit Page Down A meus ne no 8 Dynamic Offset Crie)
im) Bone Lover Sir = Cred Page Up É Mp vertical v BA Linked Offset Chris A+)
im Lower Loyer Sind « Chote Page Down as 2 Simplity CuteL
B Lento Top Side Cro icone Undock AS Es
Reverse
ta) Usperto Borom Sidto Crato End >: a *
E UN unsos o Path Effect Editor. ShifteCtrls7
A Qeinte Comment Laçer Ep Augr ans Detruse Sind + Cristo À Paste Path Effect Ctrls7
Fig. 2.4. Menus Layer, Object e Path, com os respetivos comandos visíveis.
O menu Layer contém comandos que permitem: adicionar, duplicar, eliminar ou reno-
mear camadas; organizar e realizar operações com as diferentes camadas, assim como,
mover objetos entre as mesmas.
O menu Path contém comandos que permitem aplicar ou remover diferentes caminhos
a um objeto ou traço, assim como, efetuar várias operações com as formas dos objetos.
Neste menu é possível selecionar a opção que permite abrir a caixa de diálogo Path Effect
Editor. Este editor organiza os filtros aplicados a caminhos e permite configurar parâme-
tros nos mesmos.
2. Geração e captura de imagem 149
Lo
VIOLET
| Tet
T' IetandFont.. Shift+Ctri+T
SVG Font Editor...
ab) Glyphs...
PISO
Non realistic 3D shaders
s Put on Path
Overlays
IEL
SÉ Remove from Path Protrusions
VETO
Shadows and Glows
Tesxtures
Transparency utilíties
Filter Editor...
Ctri+ AR+K Remove Filters
| Extensions
Previous Extension
Help
Inkscape Manual
Previous Extension Settings...
Keys and Mouse Reference
Arrange Ask Us a Question
Color Tutorials
Generate from Path
Command Line Options
Images FAQ
a
Visualize Path
Web + É Aboutinkscape
Fig. 2.5. Menus Text, Filters, Extensions e Help, com os respetivos comandos visíveis.
O menu Text contém comandos que permitem: criar, editar ou eliminar objetos de
texto; aplicar estilos; colar texto num caminho; etc.
Este editor organiza os filtros aplicados e permite configurar parâmetros nos mesmos.
Lo 4
A barra de comandos
A barra de comandos (fig. 2.6) surge, por defeito, quando se abre o programa. O qua-
DO 0V00
000 0000
bBED8B DB dO 040 000 0048 Sã VTABEÊ Khy
Fig. OO o 2 O O
Quadro 2.1
Identificação
1 Create new document from de default template | Criar um novo documento a partir do modelo padrão
2 Open an existing document Abrir um desenho existente
3 Save document Guardar um documento
4 Print Document Imprimir um documento
o porta pap or SVG image into this Importar figura ou imagem SVG para o documento
6 Export this document or a selection as a Exportar o documento ou a seleção como uma imagem bitmap
bitmap image
Undo last action Desfazer a última ação
8 Do again the last undone action Refazer a última ação desfeita
Copy selection to clipboard Copiar a seleção para a área de transferência
10 | Cut selection to clipboard Cortar a seleção para a área de transferência
11 Paste objects from clipboard to mouse point, or | Colar objetos ou texto da área de transferência para a posição
paste text do rato
12 | Zoomto fit selection in window Ampliar para caber a seleção na janela
13 | Zoomto fit drawing in window Ampliar para caber o desenho na janela
14 | Zoomto fit page in window Ampliar para caber a página na janela
15 | Duplicate selected objects Duplicar os objetos selecionados
16 Create a clone (a copy linked to the original of Criar um clone dos objetos selecionados [uma cópia ligada ao
selected) original)
17 Cut the selected clones links to the originals, Cortar as ligações dos clones selecionados com os objetos
turning them into standalone objects originais, transformando-os em objetos independentes
18 | Group selected objects Agrupar os objetos selecionados
19 | Ungroup selected groups Desagrupar os grupos selecionados
20 Edit objects colors, gradients, stroke width, Editar cores dos objetos, degradês, largura do traço, pontas
arrowheads, dash patterns... das setas, padrões dos traços...
2 View and select from family, font size and other | Selecionar fonte, tamanho da fonte e outras propriedades do
text properties texto
22 | View layers Visualizar camadas
23 | View and edit the XML tree of the document Ver e editara árvore XML do desenho
24 | Align and distribute objects Alinhar e distribuir objetos
25 | Edit global Inkscape preferences Editar as configurações globais do Inkscape
26 | Edit properties of this document Editar as propriedades salvas com o desenho
2. Geração e captura de imagem 151
À caixa de ferramentas
A caixa de ferramentas (fig. 2.7) é um elemento importante no ambiente de trabalho no
Inkscape, pois contém as ferramentas essenciais para a realização de desenhos. Depen-
dendo da ferramenta selecionada, outras ferramentas específicas passam a ficar disponí-
veis na barra de controlos de ferramenta. Para se utilizar determinadas ferramentas é
necessário, em primeiro lugar, ativar o objeto pretendido, usando a ferramenta Select and
transform objects, e, só depois, selecionar a ferramenta a aplicar.
O quadro 2.2 identifica vários ícones que estão presentes na caixa de ferramentas.
Quadro 2.2
Identificação
MAP)
SPRESIPOPDL
1 Select and transform objects bicos e transformar
nd
Largura:20
Fo [4 modo: BM DM E
Força 20 |, | a E E e] Um Pos
A me e 6 [o] rscose iso
; - =
camas (ns [e [0] Tere Preencher:
e Com a ferramenta Zoom in or out e os seus comandos (fig. 2.11) é possível ampliar
ou reduzir o desenho.
e Com a ferramenta Create 3D boxes e os seus comandos (fig. 2.13) criam-se dese-
nhos ou objetos a três dimensões, clicando e arrastando o rato pela página de dese-
nho. Utilizando as alças que surgem, é possível implementar diferentes perspetivas
3D na caixa. É possível modificar a cor do preenchimento e a cor e largura dos traços
dos objetos criados.
e A ferramenta Create circles, ellipses and arcs permite criar círculos, elipses e arcos,
clicando e arrastando o rato pela página de desenho. Utilizando os comandos da sua
barra de controlo (fig. 2.14), é possível modificar o tamanho, a cor do preenchimento
e a cor e largura dos traços dos objetos criados. Tal como na ferramenta de criar
retângulos, as alças quadradas servem para redimensionar a altura e a largura do
objeto. No entanto, as alças redondas servem para esculpir o círculo ou a elipse em
forma de arco.
FME
Change | Start 33,500 É End: 360,000 5 [s]o O
Stroke: 286
Fig. 2.14. Barra de controlo da ferramenta Create circles, ellipses and arcs.
A ferramenta Create stars and polygons permite criar estrelas e polígonos, clicando e
arrastando o rato pela página de desenho. Depois de definido o número de vértices
do objeto na sua barra de controlos (fig. 2.15), é possível criar uma variedade de
formas quando se deslocam as alças que surgem e se conjugam com as teclas
CTRL, SHIFT e SHIFT+ALT. É, também, possível modificar a cor do preenchimento e
a cor e largura dos traços dos objetos criados.
= = e E Fit
| Change: [é] Comers: 5 Spokeratio: 0,461 Rounded: 0,000 * Randomized: 0000 > & ra EE |
roke: i
e Com a ferramenta Create spirals e os seus comandos (fig. 2.16) é possível desenhar
espirais com diferentes parâmetros, clicando e arrastando o rato pela página de de-
senho. Utilizando as alças que surgem, pode-se controlar o desenho das espirais
com o auxílio das teclas CTRL, SHIFT e SHIFT+ALT. É possível modificar a cor e a
largura dos traços dos objetos criados, mas para efetuar o preenchimento deve-se
fechar o caminho.
e Com a ferramenta Draw freehand lines e os seus comandos (fig. 2.17) é possível
desenhar linhas à mão livre com bordas mais ou menos suaves e com uma determi-
nada forma. É possível modificar a cor do preenchimento e a cor e largura dos traços
dos objetos criados.
AIB12 O Porto Editora
Smoothing: 4 Fit
[te [7] oo q 2 Shape: None [=] O |
e Com a ferramenta Draw Bézier curves and straight lines e os seus comandos
Fut None
| [rr]o RR re [] strote: EN :
Fig. 2.18. Barra de controlo da ferramenta Draw Bézier
curves and straight lines.
e Com a ferramenta Draw calligraphic or brush strokes e os seus comandos (fig. 2.19),
é possível imitar diferentes traços de caneta ou de pincel, funcionando, também,
como uma ferramenta de desenho à mão livre. É possível modificar a cor do preen-
chimento e a cor e largura dos traços dos objetos criados, assim como aplicar outras
configurações para obter diferentes tipos de traços.
e Com a ferramenta Create and edit text objects é possível criar e editar objetos do
tipo texto na área de trabalho. Na sua barra de controlos (fig. 2.20), encontram-se
alguns dos comandos mais utilizados como o tipo e o tamanho da letra, o estilo ne-
grito e os vários tipos de alinhamento, espaçamento, direção e orientação do texto.
É possível converter o texto digitado num caminho de nós editáveis, mas depois
desta operação já não é possível adicionar ou remover caracteres ao texto.
Fig. 2.20. Barra de controlo da ferramenta Create and edit text objects.
º Com a ferramenta Erase existing paths e os seus comandos (fig. 2.22) é possível
eliminar ou cortar objetos ou caminhos, ajustando a ferramenta a uma determinada
largura.
Width: 1 e O
O [9] Stroke: None
* Com a ferramenta Fill bounded areas e os seus comandos (fig. 2.23) é possível para-
metrizar o preenchimento de áreas fechadas com uma cor.
* Com a ferramenta Create and edit gradients e os seus comandos (fig. 2.24) criam-se
diferentes preenchimentos de gradiente entre duas cores.
Para utilizar esta ferramenta basta clicar em qualquer ponto do objeto e, em seguida,
arrastar o cursor do rato para outro ponto e criar o gradiente desejado.
Pode-se sempre voltar a editar as cores do gradiente.
| Ne ]O on] E em JH Edi. |
Fig. 2.24. Barra de controlo da ferramenta Create and edit
gradientes.
º Com a ferramenta Pick colors from image e os seus comandos (fig. 2.25) é possível
selecionar uma cor fora do desenho para ser usada como a cor atual.
Primeiro, deve-se ativar o objeto a colorir com a ferramenta de seleção.
A seguir, seleciona-se a ferramenta Pick colors from image e, com o rato, seleciona-
-se uma cor fora do objeto e este fica colorido com esta cor.
Se for pressionada a tecla SHIFT durante a última operação, será alterada a cor do
traço em vez do preenchimento do objeto.
| os
[rm Pos)
Fig. 2.25. Barra de controlo da ferramenta Pick colors
from image.
* Com a ferramenta Create diagram connectors e os seus comandos (fig. 2.26) é pos-
sível criar uma linha de ligação entre dois objetos ou diagramas.
Se a ligação ficar estabelecida, quando mover um dos objetos a ligação permanece
entre eles.
À barra de estado
A barra de estado apresenta várias áreas com informação sobre as cores do preenchi-
mento e do traço, a largura do traço, a percentagem de opacidade, a visibilidade ou não
da camada atual, o bloqueio ou não da camada atual, a indicação da camada atual, as
descrições que contextualizam a ferramenta selecionada, as coordenadas da posição do
cursor e o nível de ampliação da página de desenho (fig. 2.27).
AIB12 O Porto Editora
cit z E É E É é X 308,57 ., E
Stroke: 191 0:38 5 vs 3 Layer 1 [>] Ctrk: click to select in groups; dra Alt: click to select under; dra Y 48571 Z 35%
A paleta de cores
A paleta de cores é uma coleção de múltiplas cores de acordo com o modelo selecio-
O Suatches (shiteCriew) LE ES
O EGBA, Coontom
Blur
) 0
Opocty
j Ro
Coe
U + Fig. 2.29. Caixa de diálogo Fill and Stroke.
2. Geração e captura de imagem 157
Exercícios de aplicação 3
Ai-B
E:
Fig. 4.
Fig. 3.
c) selecione o texto e a imagem, utilizando a tecla SHIFT e a ferramenta Select and transform
objects;
d) selecione a opção Set, do comando Clip, no menu Object.
3. Crieo gráfico apresentado na figura 5 de acordo com as indicações das alíneas seguintes.
Fig. 5.
a) Desenhe o quadrado exterior com a ferramenta Create rectangles and squares da barra
Toolbox e dimensione a largura, a altura e o arredondamento dos cantos tal como é mostrado
na figura 6. Este quadrado não apresenta preenchimento e tem um traço preto de 7 pixéis.
' , E E Fit
Change: W: 80,000 = H 80,000 5! Re 5000 | Ry 5000 Smm[v] 5
| = | Fig. 7.
c) Selecione os dois objetos com a ferramenta Select and transform objects da barra Toolbox.
Depois, combine as duas formas, selecionando o comando Combine do menu Path.
d) Depois dos objetos combinados, preencha o novo objeto com a cor azul, selecionando-a na
AIB12 O Porto Editora
Fig. 8.
d) Aplique o efeito mistura, selecionando os dois objetos e, depois, a opção Interpolate, do
comando Generate from Path, do menu Extensions. Configure os vários parâmetros de acordo
com o indicado na figura 9, obtendo o efeito gráfico da figura 10.
À interpolste Es]
sm
o
Il HT
. 1
5. A partir de duas estrelas reproduza o efeito de mistura de acordo com o apresentado na figura 11.
Guarde o trabalho com o nome estrelas.
Fig. 11.
2. Geração e captura de imagem
As imagens criadas com programas bitmap são constituídas por uma grelha de peque-
nos quadrados chamados píxeis.
Neste formato as imagens são trabalhadas ao nível do píxel onde pode estar disponível
uma vasta gama de cores (fig. 2.30).
Quando uma imagem é criada num programa bitmap, não é fácil alterar partes da ima-
gem, isto é, não é possível clicar numa parte da imagem e movê-la.
Desta forma, as imagens bitmap de alta resolução geram ficheiros de tamanho muito
grande.
O Photoshop, o Photo Paint, o PaintShop Photo Pro, o Microsoft Paint e o GIMP são
exemplos de programas que usam imagens bitmap.
O ambiente de trabalho
O GIMP (GNU Image Manipulation Program) é um programa que trabalha principalmente
com imagens bitmap e com camadas que se podem sobrepor, permitindo trabalhar em
AIB12 O Porto Ed itora
Atualmente, o GIMP suporta os modelos de cores RGB (Rea, Blue, Green) e HSV (Hue,
Saturation, Value).
Utilização do Sistema Multimédia
O ambiente de trabalho do GIMP contém a barra de menus (Menu Bar) com diversos
comandos, a caixa de ferramentas (Toolbox) com botões de comando e as opções de
ferramenta (Tool Options) selecionada, as docas (Docks) com os diálogos acopláveis
(Dockable Dialogs) e a barra de estado (Status Bar) com informações sobre os comandos
e as ferramentas selecionadas.
Caixa de
ferramentas
Opções de
ferramenta
Área de
imagem
s.
Barra de [me] e LÊ Cc mamy omg to pac a trepa custos
estado
Fig. 2.31. Janela do programa GIMP 2.8 em que o retângulo central é a janela onde é possível criar e editar
todas as imagens.
Para iniciar o trabalho é necessário criar uma nova imagem. Para tal, seleciona-se o
comando New no menu File, surgindo a caixa de diálogo Create a New Image (fig. 2.32),
onde se define o modelo ou o tamanho da imagem.
Depois de criada a nova imagem, surge uma janela com o ambiente de trabalho do
programa semelhante à representada na figura 2.31, contendo os comandos e as ferra-
mentas necessários para criar, editar, imprimir e exportar imagens.
À barra de menus
A barra de menus dá-nos acesso a um conjunto de menus, tais como: File, Edit, Se-
lect, View, Image, Layer, Colors, Tools, Filters, Windows e Help (figs. 2.33 a 2.36).
O menu File contém comandos que permitem efetuar várias operações relativas a fi
cheiros, como: novo, criar, abrir, fechar, guardar e imprimir um documento; capturar obje-
tos do ecrã; digitalizar imagens; exportar ficheiros; etc.
O menu Edit contém comandos que permitem efetuar operações como: desfazer e re-
fazer uma operação; cortar, copiar e colar uma seleção; etc.
Por exemplo, alterar o idioma do programa a partir do separador Interface. Para tornar
visível a alteração anterior é necessário sair e iniciar novamente o programa.
O menu Select contém comandos que permitem efetuar operações como: inverter se-
leção; selecionar tudo; selecionar regiões com cores similares; abrir o editor de seleção;
distorcer; etc. Para rapidamente limpar a seleção ativa utiliza-se o comando None.
Eda
€ Undo Ctrl+Z
Eile & Redo Ctrl+Y
Dea €& Fade.
New... Ctrl+N Eca É
Crente p “) Undo History
O menu Image contém comandos que permitem: efetuar operações como transformar,
AIB12 O Porto Editora
redimensionar e obter informações sobre uma imagem; configurar guias e grelhas; etc.
O menu Layer contém comandos que permitem efetuar operações relacionadas com
as camadas.
AIB12 F11
Utilização do Sistema Multimédia
pe
3 NewView
v Dotfor Dot
Zoom (100%)
O menu Colors contém comandos que permitem alterar, por exemplo, o brilho, a satu-
ração e o contraste das cores num trabalho.
O menu Filters contém comandos que permitem aplicar diferentes efeitos a uma imagem.
Colors
[E] Color Balance...
[3] Hue-Saturation...
É Colorize...
(43 Brightness-Contrast...
É Repestlast Ctri+F
[Bs] Threshold... 8 Re-Show Last Shift Ctrl F
É8 Levels... O Reset
all filters
[7 Curves...
[B) Posterize...
EM Desaturate...
prece
a
CE
FZ Inver
Value Invert
Auto
a
Components
Map
Info
NE
ID e
Colorto Alpha...
SD
Colorify...
Filter Pack...
Hot... Toolbox to Logo
Ê
Help
E Help A
Windows E Context Help Shift+ FIL
As ferramentas de seleção
As várias ferramentas do comando Selection Tools do menu Tools permitem efetuar
operações de seleção de diferentes formas.
Tools
Selection Tools »| [3 Rectangle Select R
Paint Tools BS
Iransform Tools p | Sa Era
+» e Free Select F
Color Tools
& Paths B | & Foreground Select
£ Color Picker o | w FuzySeect U
e Zoom Z = By Color Select Shift+ O
Quadro 2.3
Identificação Descrição
Intelligent Scissors Seleciona formas utilizando o ajuste inteligente aos limites dos objetos.
164 Utilização do Sistema Multimédia
Quadro 2.4
Identificação Descrição
rê Bucket Fill Preenche uma área selecionada com uma cor ou textura.
Para além das opções de configuração que surgem na caixa Tool Options, pode, tam-
bém, surgir uma janela com informações e outras opções de configuração associadas à
ferramenta ativa.
pEoois |
Selection Tools b
Paint Tools »|
Er 4 a
Iransform Tools bi Align Q
a q Shift+C
É Color Picker o de Dep E
T Rotate Shift+R
& Zoo e E Scale Shift+T
A . TO | Shear ShifteS
E . &, Perspective Shift+P
DÓ a E) Flip Shift+F
Toolbox Crrl+B faf Cage Transform Shift+G
HM, Default Colors D:
%, Swap Colors x
Fig. 2.39. Menu Tools com o comando Transform Tools ativado.
Quadro 2.5
Identificação Descrição
Cro] Com]
Fig. 2.
%, Swap Colors x
Identificação Descrição
Solução
2. Geração e captura de imagem 167
Quadro 2.7
Identificação Descrição
2 Color Picker Seleciona uma cor a partir de pixéis de uma imagem aberta.
À caixa de ferramentas
Todos o
Dse tAdEn/GRALUSSURAEKACE//0xasngase
E
Fig. 2.41. Caixa Toolbox, mostrando na sua parte inferior o botão Foreground and background colors.
A partir do botão Foreground and background colors, presente na parte inferior da caixa
Toolbox, tem-se acesso rápido à caixa de diálogo Change Foreground Color (fig. 2.42) ou
Change Background Color, conforme se clica no quadrado superior ou inferior, possibili-
tando redefinir as cores de primeiro plano e de fundo do trabalho.
.—
À gal! 9 -
5 ss o :
, — .
.—e
o. a É
—
n HTM potatom cf “ |
—ouá nn nm
AIB12 O Porto Editora
ho + a
see
0 2 o =
[) Highághe
No guídes [=]
[) Shrink merged
A barra de estado Due:
A Status Bar (fig. 2.44) contém informações relativas à fer- , . .
Fig. 2.43. Caixa Tool Options
ramenta selecionada, à posição do cursor e à imagem. com a ferramenta Rectangle
Select selecionada.
Zoom da imagem
| 2329,1920 10056
[9] (9f Click to dodge (try Shift for a straight line, Ctrl to bum)
Os diálogos acopláveis
Uma das características do GIMP são as docas preenchidas com diálogos acopláveis.
Estes contêm opções para uma ferramenta ou são dedicados a uma tarefa particular e
posicionam-se lateralmente na janela da imagem.
Os diálogos acopláveis podem ser inseridos e removidos das docas utilizando as op-
ções do comando Dockable Dialogs do menu Windows ou clicando no botão Configure this
tab (configurar este separador) e, de seguida, no comando Add Tab.
Os diálogos acopláveis podem funcionar fora das docas, em modo de janela única, se
forem arrastados pelo separador para a janela da imagem e da mesma forma regressa-
rem às docas.
A figura 2.45 mostra o menu Windows com o comando Dockable Dialogs selecionado.
BB Colormap
[ie] Histogram
[3 Selection Editor
& Navigat
º A caixa de diálogo Channels é uma interface para editar, modificar e gerir os canais
de cores (fig. 2.47) de uma imagem.
AIB12 O Porto Editora
Fig. 2.46. Caixa de diálogo Layers. Fig. 2.47. Caixa de diálogo Channels.
170 Utilização do Sistema Multimédia
= Leveis
qe Color Levels
E
Pregets: =] +o
Chagnet [Bfed [+] [Reset Channel De
Input Levels
TT o.
L
[4)o = 100 É [2)2s -
Output Levels
RR
e A partir da caixa de diálogo Navigation (fig. 2.50) é possível circular pela imagem
ativa e utilizar o zoom.
* Na caixa de diálogo Undo History (fig. 2.51) estão listadas todas as ações efetuadas
sobre o trabalho atual, mostrando as mudanças produzidas. A partir desta lista é
possível desfazer ou repor as ações pretendidas.
Fig. 2.50. Caixa de diálogo Navigation. Fig. 2.51. Caixa de diálogo Undo History.
2. Geração e captura de imagem 171
Watercolor
CMYK Palette
E TB
botão Foreground and background
color da caixa Toolbox, tem-se acesso
à caixa de diálogo Change Foreground
mn
Color (fig. 2.42) ou Change Back-
o
ground Color que permite, também, de-
finir as cores de primeiro plano e de
fundo do trabalho.
Eyedropper
FG/BG color
A partir da caixa de diálogo Brushes (fig. 2.53) é possível selecionar um pincel para
ser usado com as ferramentas de pintura (fig. 2.38).
Na caixa Tool Options é, também, possível selecionar um pincel, a partir de uma lista,
quando se seleciona uma ferramenta de pintura.
e Os padrões existentes na caixa de diálogo Patterns (fig. 2.54) são usados com as
ferramentas Bucket Fill, Clone e Perspective Clone.
Brushes o
. teres =
«00:
es. o:
48409298
RRESSC 1.1.8
Vo .rães
ser 8$%4- 0.
AIB12 O Porto Editora
ba
Fig. 2.53. Caixa de diálogo Brushes. Fig. 2.54. Caixa de diálogo Patterns.
172 Utilização do Sistema Multimédia
Para aplicar um gradiente utiliza-se a ferramenta Blend, clicando e arrastando o rato entre
dois pontos de uma seleção.
e A caixa de diálogo Palettes (fig. 2.56) apresenta várias paletas formadas por um
conjunto de cores discretas.
A caixa de diálogo Palette Editor (fig.2.57) surge quando se seleciona uma cor na paleta.
* Na caixa de diálogo Fonts (fig. 2.58) é possível selecionar a fonte a utilizar com a
ferramenta Texto.
EM Horizon 2
BD) inconsescer: E
«| m b
enter togs vw
2 s 2 g
Fig. 2.55. Caixa de diálogo Gradients.
Palette Editor Em
Fig. 2.57. Caixa de diálogo Palette Editor. Fig. 2.58. Caixa de diálogo Fonts.
2. Geração e captura de imagem 173
2]
Exercícios de aplicação 5
Fig. 2.
Fig. 3. Fig. 4.
Fig. 6. Fig. 7.
a) Copie a imagem inicial duas vezes, utilizando os comandos Duplicate do menu Image.
b) Selecione uma das duas imagens anteriores e altere as suas cores para uma escala de
cinzentos, utilizando a opção Grayscale, do comando Mode, do menu Image.
c) Selecione a imagem cinzenta, utilizando a ferramenta Rectangle Select Tool, e copie-a para
cima da imagem colorida, colando-a como uma nova camada.
d) De seguida, utilizando a ferramenta Rectangle Select Tool, crie um retângulo sobre o elemento
que se pretende manter colorido e pressione a tecla Delete para eliminar o retângulo cinzento
da camada superior (fig. 7).
e) Guarde o trabalho com o nome janela, utilizando o tipo BMP.
A técnica RLE (run-length encoding) é uma técnica simples de compressão sem perdas
e é utilizada na compressão de imagens que apresentam grandes áreas com o mesmo
tom, eliminando a redundância. Esta técnica é suportada pelos formatos de imagem como
TIFF e BMP.
É possível alterar as dimensões de uma imagem e a sua Color space RGB codes
resolução, modificando as dimensões do píxel, como mostra Bluits (Socigreund cotas
a caixa de diálogo Scale Image do GIMP (fig. 2.60). Para abrir RR e
esta caixa, clica-se no comando Scale Image, do menu Image.
AIB12 O Porto Editora
O comando Zealous Crop remove tanto as margens como as áreas do meio que, em
princípio, têm a mesma cor que as margens.
No Inkscape, quando se inicia um novo trabalho (comando New, do menu File), pode-
-se selecionar um dos vários formatos, que o programa disponibiliza para desenhar.
A alteração das dimensões e das margens da área de desenho pode ser feita selecio-
nando o comando Document Properties (fig 2.62), do menu File.
Mas, ao fazer a exportação do desenho para uma imagem do tipo bitmap, quando se
seleciona o comando Export Bitmap (fig. 2.63), do menu File, pode-se, também, alterar as
dimensões e a resolução dessa imagem, criando um novo ficheiro.
Expor area
Umas oe [5]
Brtmap uze
ga 9 - prelo 1192 - dp
Henge 1 - peeisat
Filename
tomem, am & frowsa..
femca page to Mame vo eme
levem Beador
+ dera page bond
Perco mer. tema - |
Reader cr top cd Some)
Fig. 2.61. Caixa de diálogo Fig. 2.62. Caixa de diálogo Fig. 2.63. Caixa de diálogo Export Bitmap
Set Image Canvas Size do Document Properties do do Inkscape.
GIMP Inkscape.
2. Geração e captura de imagem
| Nome ]
« Deco Loc
AF Urudade
» OMIGA Po resetar
lomega
E Putures Ei E
o
AM umages
€ source
code header (*h)
Cotoured XMTIMA (* atammá)
AIB12 F12
178
O GIMP permite uma profunfidade de cor de 24 bits, isto é, num píxel utiliza 8 bits para
representar cada cor do modelo RGB, num total de 16 777 216 cores (2º x 28 x 2º =
256 x 256 x 256).
Permite, também, converter uma imagem para uma escala de cinzas de 256 cores, utili-
zando uma profundidade de cor de 8 bits.
Quando se faz a exportação de uma imagem para um formato do tipo BMP, existem dife-
rentes profundidades de cor que podem ser selecionadas em Advanced Options (fig. 2.67).
= Compottdty, Option,
O InSeses Coto Comersos mem
E
fm — a
Do met wrte cobos pace ndormataca
Advanced Optrom
Codes map
32 tits
Dethoes rey
Color germe e)
, mr
ca
Enabie Sthenng
cf tramparency
ho
2» mm) (cem a L
2 [nr[= 4
Fig. 2.66. Caixa de diálogo resultante da opção Fig. 2.67. Caixa de diálogo de uma
Indexed, do comando Mode do menu Image. exportação para o tipo BMP, do
comando Export As, do menu File.
Assim, para além de trabalhar segundo um determindao modelo de cor, cada disposi-
tivo trabalha, também, dentro de um espaço específico de cor desse modelo de cor.
Desta forma, as cores de um trabalho podem sofrer alterações na sua aparência con-
forme, por exemplo, seja visualizado num monitor antigo ou num recente, impresso num
papel de jornal ou de revista, transferido para outro software, etc.
2. Geração e captura de imagem 179
Contudo, no GIMP, depois de insta- Algo Vistido Lama Fig. 2.68. Caixa de diálogo
Guides , Layers do GIMP
lada a extensão separate, é possível
. Contuqure (qu
mostar uma imagem RGB em CMYK. O image Puga am
bue 6 .
Corfret o
Lghtness | 0
Smatuus atm j 0 . = aa mese Sets
as Levei
Pesa é ctoma 7 Presew
AIB12 O Porto Editora
é Preses
tetp tem a Gancei |
teto Bea ue Gomcei
L j Fig. 2.71. Caixa de diálogo
Fig. 2.70. Caixa de diálogo Hue-Saturation do GIMP Brightness-Contrast do GIMP
180
Na criação de imagens e gráficos para a Web vários aspetos devem ser observados,
como:
* a resolução, o tamanho e o formato do ficheiro. Desta maneira, otimizam-se as ima-
gens, diminuindo o seu tempo de carregamento;
e a forma, a cor e os efeitos que se pretendem obter;
* a interatividade e a navegação rápidas existentes através das ligações.
Para criar imagens otimizadas para a Web, deve-se guardar o ficheiro nos formatos
GIF, JPEG, PNG ou PDF. Embora o formato GIF seja um padrão mais antigo, o JPEG produz
ficheiros mais pequenos. No entanto, os ficheiros GIF permitem criar imagens com a
opção interlace para a Web, parecendo que surgem de uma forma mais rápida no site. O
formato PNG substitui o formato GIF para a Web, suportando uma profundidade de cor até
48 bits.
Documentos impressos
A cor é importante nos documentos impressos pois permite conferir-lhes qualidade e
destaque. A introdução da cor na impressão foi ganhando cada vez mais importância em
documentos de empresas, revistas, livros, manuais, fotografias e cartazes. Estudos esta-
tísticos concluem que os documentos impressos a cores são 60% mais valorizados e os
leitores mantêm a atenção durante mais 82% do tempo de leitura.
Vídeos
Hoje em dia, as imagens vídeo são amplamente utilizadas em computadores, televi-
são, câmaras de filmar, leitores de CD e DVD e redes informáticas. Em todo o caso, para
uma boa e agradável visualização de uma imagem vídeo, é muito importante a sua quali-
dade. Esta depende de fatores como a quantidade de cores reproduzidas, o controlo da
luminosidade, a redução de sinais de ruído, a capacidade de produzir contrastes e som-
bras e a reprodução perfeita do preto. Desta forma obtêm-se imagens nítidas, luminosas,
subtis e com um alto contraste.
2. Geração e captura de imagem 181
A imagem digital proveniente de um scanner é constituída por uma série de pontos ar-
mazenados sob a forma de linhas e colunas, onde cada ponto representa a intensidade
luminosa recebida pelo scanner.
Embora o funcionamento básico dos scanners seja idêntico, há uma grande variedade
de tipos e modelos no mercado e a escolha deve ser definida pelo tipo de tratamento que
vai ser dado às imagens por eles obtidas.
Para obter uma boa imagem digitalizada, é preciso partir de um bom original, apesar
de os programas de imagem poderem melhorar a qualidade da imagem digital. E, para
obter uma boa qualidade de digitalização, é conveniente partir, se possível, de um scan-
ner de boa qualidade.
O Photo Multiplier Tube (PMT) é usado em scanners de tambor, que são mais sofistica-
dos e mais caros. Este tipo de scanner é usado principalmente na indústria gráfica, para
impressões de alta qualidade.
O Charge Coupled Device (CCD) é usado em quase todos os scanners domésticos. Este
tipo de sensor transforma a luz refletida em sinais elétricos que, por sua vez, são conver-
tidos em bits através de um circuito denominado conversor analógico-digital. Os scanners
de mesa, geralmente, possuem vários sensores CCD colocados em linha reta.
O número de CCD está diretamente relacionado com a resolução ótica do scanner, que
determina quantos píxeis por polegada pode capturar.
O Contact Image Sensor (CIS) usa uma série de LED vermelhos, azuis e verdes para
produzir a luz branca, substituindo os espelhos e as lentes usados nos scanners com
sensores CCD.
O software que acompanha o scanner permite escolher a resolução a utilizar numa digi-
talização e configurar outros parâmetros, como clarear, escurecer, equilibrar as cores, etc.
(CCD), que capturam a luz e produzem determinadas cargas elétricas, dependendo das
3. Formatação de texto
3.1.1. ASCII
A tabela de código ASCII (American Standard Code for Information Interchange) surgiu
nos anos 60 do século XX, devido à necessidade de criar um padrão que fosse utilizado por
todos os computadores, tornando mais fácil a comunicação entre eles e a troca de dados.
A tabela ASCII utiliza conjuntos de 7 bits para representar 128 caracteres (2' caracte-
res), muitos deles adequados apenas à língua inglesa, por ter sido desenvolvida nos Es-
tados Unidos.
A ISO (Internacional Standards Organization) adotou o código ASCII como norma inter-
nacional, com a designação ISO 646, e ampliou-o, passando a incluir um conjunto de ca-
racteres de outros idiomas. Para conseguir esta ampliação, tiveram de ser utilizados
conjuntos de 8 bits (1 byte), permitindo representar 256 caracteres (2º caracteres), ou
seja, aos 128 caracteres iniciais foram acrescentados mais 128. No entanto, estes 256
caracteres continuavam a ser insuficientes para englobar todos os caracteres dos vários
idiomas, sendo, por isso, necessário criar variantes regionais.
A norma ISO 8859 não pode ser considerada uma norma universal, devido às limita-
ções que apresenta na representação, em simultâneo, dos caracteres de vários idiomas.
Para resolver este problema, a ISO introduziu em 1991 a norma ISO 10646 com 32 bits,
representando 4 294 967 296 caracteres diferentes.
Para se obter um carácter ASCII num processador de texto, a partir do teclado, pressiona-se a
tecla ALT e, simultaneamente, no teclado numérico, digita-se o código da tabela ASCII correspon-
dente ao carácter pretendido.
3.1.2. Unicode
O Unicode é também um código que define todos os caracteres da maior parte das
línguas do mundo. Foi desenvolvido, em simultâneo, por um consórcio industrial, in-
cluindo, entre outras companhias, a Adobe, a Apple, a Microsoft, a HP, a IBM, a Grae/e,
a SAP, a SUN e a Unisys. Permite utilizar conjuntos até 4 bytes (32 bits) para codificar os
caracteres, sendo mais extenso que a tabela de código ASCII.
3. Formatação de texto 183
3.1.3. EBCDIC
O EBCDIC (Extended Binary Coded Decimal Interchange Code), desenvolvido pela IBM,
é um código de 8 bits utilizado em texto e na maioria das operações relacionadas com as
comunicações e o controlo das impressoras.
Este código surgiu com o System/360 IBM e continua a ser utilizado por esta empresa
nos computadores de grande porte (mainframes) e na maioria dos computadores de
médio porte.
3.2. Fontes
As fontes são conjuntos de caracteres que podem corresponder a letras, números ou
símbolos. Estas são armazenadas em ficheiros de fontes onde são descritas as suas
características físicas, ou seja, como vão ser visualizadas no ecrã e impressas. As fontes
são identificadas por nomes e classificadas segundo determinadas famílias.
O tamanho de uma fonte utiliza como unidade de medida o ponto (pt) que corresponde
aproximadamente a 0,3528 mm. Cou rie
Existem dois tipos de fontes: bitmapped e escaladas. Estes dois sisustar: k imnopqrstuver
tipos são semelhantes, respetivamente, em termos de conceção, às ussaserss.s.stueldo)
imagens bitmap e vetoriais. o À raDido For
= À rápida rap
3.2.2. Fontes bitmapped A ráp ida
2 o
As fontes bitmapped são guardadas como uma matriz de píxeis e, por Ê, ra E 1
conseguinte, ao serem ampliadas, perdem a qualidade.
*
São concebidas com uma resolução e um tamanho específicos para = A | a É
uma impressora específica, não podendo ser escaladas. Se uma impres-
AIB12 O Porto Ed itora
As fontes Type 1 foram desenvolvidas pela Adobe e são o formato nativo do PostScript.
Entende-se por PostScript a linguagem de programação que coloca texto e gráficos numa
página.
Baramond (TrueType) e PFB (Printer Font Binary) — extensão do ficheiro para o tipo da fonte
PostScript Type 1. Contém informação sobre os contornos dos ca-
racteres;
e PFM (Printer Font Metric) — extensão do ficheiro com informações
A va apo camara na sobre a métrica da fonte impressa. Contém informação sobre as
A
F
rápida
k
ra vosa castanha características do espaço horizontal e vertical dos caracteres, no-
« A rápida raposa cas meadamente do kerning. Entende-se por kerning os valores utiliza-
- À rápida rap: dos entre as distâncias dos caracteres de forma a ajustar o espaço
entre eles, criando a aparência de uma distribuição uniforme dos
À rápi Cada fonte TrueType contém o seu próprio algoritmo para converter
as linhas de contorno em bitmaps. Estas fontes são dimensionáveis
Fig. 3.2. Fonte Baramond. para qualquer altura e podem ser impressas exatamente como apare-
cem no ecrã.
Arial (OpenType) Estas fontes não são compatíveis com o código PostScript e, por
isso, é necessário convertê-las em fontes Type 1, tornando a im-
pressão lenta e com erros. Devido a esta incompatibilidade, este
abcdefgnjdmnoparstuvaxyz
ABCDEFGHIJKLMNOPORSTUVWXYZ tipo de fonte acaba por não ser muito utilizada em impressoras
123456789.:,(:*17)
PostScript.
A rápida raposa castanha saita em cima d
A rápida raposa castanha salta « As informações das fontes TrueType são guardadas, no Win-
- À rápida raposa cast; dows, apenas num ficheiro com a extensão TTF (TrueType File). O
A rápida rz
As fontes OpenType foram criadas pela Microsoft e Adobe para
melhorar a portabilidade e a independência dos documentos entre
Fig. 3.3. Fonte Arial.
diferentes plataformas, simplificando as operações de gestão de
fontes uma vez que apenas existe um ficheiro por fonte, compatível
3. Formatação de texto 185
Estas fontes podem ser corretamente dimensionadas para qualquer tamanho. São
fontes transparentes e legíveis em todos os tamanhos e suportadas pelo Windows em
todos os dispositivos de saída.
O Windows fornece um conjunto vasto de fontes OpenType, como Arial (fig. 3.3),
Courier New, Lucida Console, Times New Roman, Symbol e Wingdings.
ad MM =).
vis Ç
o o = Y
a too Comme micos [anciro efe
Jimi E | metge " WTw Cen MT Negrito ltálico S Tr vrindo Sample Tom ABC abc
fo Opera terá ABCDE Ulverdana Se 750%&* LET ER TO - EKETTAE
o Es * Verdana Itálico Sampl Twvide Latin S:
2 abcdef... w Verdana Negrito Sa W+XE2X8%+ 450
] ; wir a 2 T -
Fig. 3.5. Janela do programa Suitcase. Fig. 3.6. Janela do programa Typograf.
Existem alguns limites, que devem ser considerados, à instalação de fontes num com-
putador e à sua utilização num documento. Relativamente à sua instalação, as fontes são
guardadas no computador em ficheiros que normalmente ocupam pouco espaço. Con-
tudo, quando estas existem no computador em elevado número, e dadas as limitações de
AIB12 O Porto Editora
espaço que este possa apresentar, devem ser geridas de acordo com as necessidades
do utilizador e com a capacidade de armazenamento do computador. Por outro lado, um
número elevado destas pode atrasar as operações de processamento pela necessidade
de uma maior utilização da memória RAM.
186
As fontes podem ser copiadas para o computador de várias formas. Por exemplo, o
Qual das siglas seguintes não é utilizada como um formato de ficheiro na Web?
(A) SWF; (B) RGB; (C) JPG; (D) GIF.
Suponha que se digitaliza uma fotografia para guardar no computador e pretende-se que a imagem
tenha qualidade fotográfica. Qual dos formatos seguintes escolheria?
(A) O formato GIF, porque permite armazenar imagens com 256 cores.
(B) O formato JPEG, porque utiliza uma compressão com perdas.
(C) O formato BMP, porque tem uma grande profundidade de cor.
Distinga fontes bitmapped de escaladas, indicando dois exemplos para cada uma delas.
Fonte Descrição
Solução
4. Aquisição e reprodução de som 187
(C) As fontes Type 1, Small, TrueType e OpenType são consideradas fontes escaladas.
(D) Quando uma impressora não suporta as fontes do tipo bitmapped estas não são impressas.
(E) As fontes TrueType são guardadas no Windows em ficheiros com as extensões PFM e PFB.
12. Copie para o seu caderno e preencha o quadro 2, utilizando as informações existentes no gestor de
fontes do Windows 8.1, conhecido por Tipos de letra.
Quadro 2
13. Indique dois aspetos relacionados com o uso racional das fontes.
Tal como a imagem, o áudio digital pode ser quantizado com diferentes resoluções,
isto é, cada amostra pode ser quantificada com mais ou menos bits. Quanto maior for a
resolução, maior será a profundidade de bits utilizada, melhor será a qualidade de som e
maior será o ficheiro armazenado.
O quadro 4.1 apresenta a quantidade de valores que é possível usar para quantificar
uma determinada amostra de acordo com o número de bits utilizados.
Quadro 4.1
8 256
16 65 536
AIB12 O Porto Editora
16 777216 Exclusivo
24 do Professor
Solução
188
Quanto maiores forem estes valores, maior será a qualidade do som reproduzido,
assim como o tamanho do ficheiro de áudio armazenado.
Quanto maior for o tamanho de um ficheiro de áudio, mais espaço este ocupará em
disco, ao ser armazenado, e mais tempo levará o seu carregamento através da Internet
ou através de outra rede informática.
44 100 x 16 x 2=1 400 000 bits por segundo ou 1400 kbps ou 1,4 Mbps
O valor 1,4 Mbps indica que a quantidade de informação a debitar é grande e, por con-
seguinte, o ficheiro áudio será grande.
Desta forma, surge a necessidade de aplicar algoritmos de compressão para reduzir
os ficheiros de áudio.
Estes ficheiros, para além dos dados de áudio relativos ao som que se pode ouvir,
podem incluir outros dados, como o nome do ficheiro de som, o seu tamanho, a duração,
o número de canais, a resolução ou o tamanho da amostra (em bits), a taxa de amostra-
gem (em kHz), o tipo de compressão, a informação acerca do streaming, outros textos ou
gráficos, etc.
A maior parte dos formatos de ficheiros não comprimidos é nativa de sistemas opera-
tivos específicos, apresentando-se de seguida alguns deles.
O Waveform Audio é, por defeito, o formato de áudio digital nativo do sistema operativo
Windows. Foi desenvolvido pela Microsoft e pela IBM para o Windows 95. Os ficheiros
neste formato utilizam a extensão wav. Na pasta Media do Windows existe um conjunto
de ficheiros wav que são associados a determinados acontecimentos do Windows. Atra-
vés do Painel de controlo, é possível definir as propriedades de sons e dos dispositivos de
áudio (fig. 4.1).
4. Aquisição e reprodução de som 189
O Sound é um formato semelhante ao formato au e utilizado na mobi sore cha nm ereto de ogia na mpi
inicialmente pela Apple. A extensão destes ficheiros é snd. E
O Compact Disc Digital Audio é um formato usado para codi- Windows 8.1.
ficar música em discos comerciais. Este formato não é armazenado nos computadores e,
por isso, é necessário convertê-lo para outro formato para o conseguir. A extensão destes
ficheiros é cda.
4.1.2. Comprimidos
No áudio, tal como nas imagens, os ficheiros podem ser compactados até um certo
ponto sem que haja perda de qualidade.
Numa compressão com perdas existe uma perda da informação original para criar um
ficheiro menor, enquanto que, numa compressão sem perdas, não é afetada a qualidade
da informação original, mas resulta um ficheiro de tamanho maior, embora não tão grande
como um ficheiro não comprimido.
Na compressão sem perdas os dados são “apertados” sem haver rejeição de informa-
ção. Alguns dados são removidos temporariamente, mas são recolocados mais tarde, de
acordo com o algoritmo de descompressão. Isto produz um som com maior qualidade,
mas cria um ficheiro maior.
190
Hoje em dia, o formato mais popular da compressão com perdas é o MP3, embora
haja outros formatos que trabalham da mesma maneira. Apresentam-se, a seguir, alguns
formatos de ficheiros com uma compressão com perdas.
O Motion Picture Experts Group (MPEG) refere-se a uma família de standards para
áudio e vídeo que inclui o MPEG-1, o MPEG-2, o MPEG-1 Layer 3 (MP3) e o MPEG-4, ba-
seados na complexidade das fórmulas de compressão (quadro 4.2).
Quadro 4.2
Formato Descrição
O Adaptive TRansform Acoustic Coding 3 (ATRAC3) é sustentado pela Open Magic Gate
(OMG), que detém os seus direitos. O ATRAC3 e o mais recente formato ATRAC3plus ofe-
recem um som e uma compressão razoáveis. É um formato compatível com os produtos
da Sony. A extensão dos ficheiros é omg.
4. Aquisição e reprodução de som 191
O Liquid Audio é um concorrente do MP3 que foi muito popular nos anos 90 do século
XX, mas não muito usado hoje em dia. A extensão dos ficheiros é Igt. Exercício
O 0GG Vorbis é uma tecnologia de codificação de código aberto (open source) para o
sistema operativo Linux, originalmente conhecido como Squish. O OGG Vorbis foi dese-
nhado para substituir o MP3 e o WMA. Os seus ficheiros têm a extensão ogg.
Com certeza, esta compressão não cria ficheiros tão pequenos como numa compres-
são com perdas e, por isto, não é recomendada para leitores de música portáteis, onde o
espaço de armazenamento é limitado. De seguida, apresentam-se formatos de compres-
são sem perdas, que não são tão conhecidos como os formatos de compressão com
perdas.
O Apple Lossless Audio Codec é um formato disponível para ser usado com o Apple's
iTunes e o iPod. A extensão dos ficheiros é mda.
O Free Lossless Codec é um formato de código aberto, aceite por muitas empresas de
eletrónica e usado com a maior parte dos sistemas operativos, incluindo Windows e Linux.
Tem uma qualidade de som semelhante ao MP3 e não rejeita informação. Pode ser to-
cado na maior parte dos sistemas operativos e tem a extensão flac.
O WavPack (WV, WVC) é um formato livre semelhante ao formato flac, mas não é
muito usado. A extensão dos ficheiros é wv.
AIB12 O Porto Editora
4.2. Software
Exercício
Existe muito software para trabalhar com som e que pode efetuar operações de cap-
Para realizar a captura de som é necessário ter um software de captura ligado à placa de
som e ao microfone do computador. Por outro lado, a captura também pode ser realizada
através da utilização de software MIDI (Musical Instrument Digital Interface), permitindo a
ligação de outro tipo de hardware, como teclados musicais e outros instrumentos digitais.
Estes tipos de software podem ser facilmente obtidos na Internet, como shareware, free-
ware ou pago. Os exemplos apresentados no quadro 4.3 são maioritariamente freeware.
Quadro 4.3
E
1 o u o
U- 4] oÚ
Ss o LS o Formatos a
Software 2 Cm i2 sgG Descrição Localização
a o SE De : suportados é
vo
UV [us
Tio
VU uv
Ls
o o
vo vv os
ooaa aan
Gravador de áudio
[esse ato E = Permite gravar
O gutntuaçto, cama es || x som a partir do wma Windows
microfone.
SwiffRec Voice-to-Flash
pr | Permite criar um
meus <E ficheiro swf a http://swiffrec-
seres as eme cr 2) CEO partir do .
. voice-to-flash.
insana amenas À | X microfone ou de Swf, wav
mr rmrsreme Pegai aca “o software.
ya à cametero um ficheiro de :
informercom
som no formato
wav.
Permite importar,
editar e combinar wav, alff, http://audacity.
ficheiros de som flac, mp2,
XIX|X|X com outros ou mp3 ou o sourceforge.
po ou 099 net/?lang=pt-PT
com novas Vorbis
gravações de som.
Editor de ficheiros
de som,
permitindo a Wav, mp3,
x x xx abertura de ogg, aiff, iff, http://www.
a au, snd, vox, | wavosaur.com
ficheiros de som,
. VOC, WVV
nos formatos mais
utilizados.
4. Aquisição e reprodução de som 193
E
19 o u o
o Ss q 19 e F
tm Rg = . =
Software 3 e g o 5 o Descrição ormatos Localização
2 o SS ElnE suportados
o vu TT ol Ls
UV tm U VU o o
v vv vl os
aa a a an
Permite a
xi x|x x reprodução de ra, ram, rm, wav, | http://www.
ficheiros em mp3, cda, aif, aiff | real.com
muitos formatos.
DVD e cda
Blu-ray Ashampoo-
, Burning-
Studio-FREE
AIB12 F13
194 Utilização do Sistema Multimédia
Considerando um sinal de música com uma qualidade de 54 100 amostra/s, uma profundidade de
16 bits e reproduzido em 4 canais, calcule a quantidade de informação a ser reproduzida,
apresentando o resultado em Mbps.
Estabeleça a ligação entre a coluna dos formatos de ficheiros não comprimidos e a coluna da sua
descrição.
Quadro 1
Formato Descrição
(B) Audio Interchange 2) Formato usado para codificar música em discos comerciais.
File Format A extensão destes ficheiros é cda.
(E) Musical Instrument 5) Formato utilizado pela Sun e pelo sistema operativo Unix.
Digital Interface A extensão destes ficheiros é au.
(F) Compact Disc 6) Formato de áudio utilizado pelo sistema operativo da Apple.
Digital Audio A extensão destes ficheiros pode ser aiff ou aif.
Distinga compressão com perdas de compressão sem perdas num ficheiro de áudio.
Utilizando o microfone e o programa Gravador de áudio do Windows 8.1, grave um ficheiro com
um texto lido por si e guarde-o com o nome texto lido.wav.
10. Converta o formato do ficheiro texto lido.wav para texto lido.mp3, utilizando o programa
Windows Media Player.
Exclusivo
do Professor
Solução
4. Aquisição e reprodução de som 195
11. Estabeleça a ligação entre a coluna dos formatos de ficheiros comprimidos com perdas e a coluna
da sua descrição.
Quadro 2
Formato Descrição
(A) Motion Picture 1) Tecnologia de codificação de código aberto [open source) para
Experts Group o sistema operativo Linux. Os seus ficheiros têm a extensão ogg.
(G) Windows 7) Família de standards para áudio e vídeo que inclui o MPEG 1,
Media Audio o MPEG 2, o MPEG 1 Layer3 (MP3] e o MPEG 4.
12. Estabeleça a ligação entre a coluna dos formatos de ficheiros comprimidos sem perdas e a coluna
da sua descrição.
Quadro 3
Formato Descrição
(C) Windows Media 3) Tem uma qualidade de som semelhante ao MP3. A extensão dos
Audio Lossless ficheiros é flac.
(D) Free Lossless 4) Formato disponível para ser usado com a Apple's iTunes e o iPod.
Codec A extensão dos ficheiros é m4a.
(E) WavPack 5) Formato livre semelhante ao formato FLAC, mas não muito
(WY, WVC) usado. À extensão dos ficheiros é wv.
AIB12 O Porto Editora
Exclusivo
do Professor
Solução
196
Jogo
5. Aquisição, sintese, edição e reprodução de vídeo
Tal como já foi referido, a visualização de um vídeo corresponde a um movimento se-
Designa-se por frame rate o número de frames por segundo (fps). Os valores de 24, 25
e 30 frames por segundo são os mais utilizados pelas diferentes indústrias relacionadas
com a produção e a edição de imagens em movimento.
A televisão mostra imagens com uma frame rate de 25 ou 30 fps, enquanto a maior
parte dos filmes mostra 24 fps. Por outro lado, um vídeo web mostra imagens com uma
frame rate de 15 fps ou menos.
Uma imagem, para ser visionada numa televisão ou num monitor, tem de ser cons-
truída ponto a ponto, segundo linhas horizontais e varrendo o ecrã de cima para baixo, de
maneira a formar cada uma das frames.
Outro aspeto a considerar nas imagens de vídeo é o aspect ratio, que corresponde à
razão entre a largura e a altura das imagens mostradas.
O aspect ratio 4:3 é a razão entre a largura e a altura da maioria das televisões e mo-
nitores dos computadores. Vídeos com as resoluções de 640 x 480 ou 320 x 240 píxeis
são exemplos desta razão.
O aspect ratio 16:9 é a razão entre a largura e a altura encontrada em filmes, DVD e na
televisão de alta definição. Nestes casos, a resolução natural das imagens de vídeo é de
720 x 480 píxeis.
O entrelaçamento é o método de mostrar imagens num ecrã CRT (Cathode Ray Tube).
Este método mostra imagens mais estáveis do que os métodos não entrelaçados. Neste
caso, as imagens são formadas pelo desenho alternado das linhas pares e das linhas
ímpares. No entrelaçamento de 2:1 significa que, por cada trama, são apresentados dois
campos: o das linhas ímpares e o das linhas pares.
5.1. Standards
Existem vários formatos, criados pela indústria de equipamentos, destinados a operar
com sinais de vídeo. Alguns destes, pela sua utilização e divulgação massivas, foram re-
conhecidos como standards. Os standards, de acordo com o seu funcionamento, podem
ser analógicos ou digitais.
5.1.1. Analógicos
Os standards analógicos são mais antigos e referem-se aos sinais utilizados anteriormente
pela televisão.
5. Aquisição, síntese, edição e reprodução de vídeo 197
São três os standards analógicos dominantes: o PAL, o NTSC e o SECAM. Estes foram
desenvolvidos em diferentes locais do mundo, resultando da evolução constante na forma
de capturar, gravar e reproduzir imagens e da forte concorrência entre as empresas do
setor.
A unificação dos formatos foi sempre uma tarefa muito complicada devido ao elevado Exercício
número de televisões e câmaras de vídeo analógicas existentes.
PAL
O formato PAL (Phase Alternation Line) é uma norma de televisão utilizada na Europa
Ocidental e em alguns países da Ásia e define os sinais de vídeo composto com 25 fps,
625 linhas de varrimento horizontal, um aspect ratio de 4:3 e um entrelaçamento de 2:1.
Neste formato, a informação do brilho, da cor e da sincronização é codificada num único
sinal.
NTSC
O formato NTSC (National Television Systems Committee) é uma norma de televisão
utilizada nos EUA, América Central e Japão e define os sinais de vídeo composto com
30 fps, 525 linhas de varrimento, um aspect ratio de 4:3 e um entrelaçamento de 2:1.
Neste formato, tal como no formato PAL, a informação do brilho, da cor e da sincronização
é codificada num único sinal, mas a forma de codificação da cor é diferente da do PAL.
SECAM
O formato SECAM (Sequential Couleur Avec Memoire) é uma norma de televisão desen-
volvida em França e utilizada na Europa de Leste, na Rússia, no médio oriente e nas Ca-
raíbas. Este formato define os sinais de vídeo composto com 25 fps, 625 linhas de varri-
mento, um aspect ratio de 4:3 e um entrelaçamento de 2:1. Codifica num único sinal a
informação do brilho. Utiliza um método diferente do utilizado pelo formato PAL para a
codificação da cor, baseando-se na transmissão de diferentes cores em linhas alterna-
das.
5.1.2. Digitais
Os standards digitais são mais recentes e referem-se aos formatos utilizados na digita-
lização e na reprodução de sinais vídeo, que é semelhante à digitalização e à reprodução
do áudio digital, utilizando, também, a amostragem, a quantização e a codificação.
O vídeo digital é construído tendo por base as sequências de tramas que são imagens
digitais. Para além da sequência de tramas, tem também informação adicional de natu-
reza temporal, essencial para indicar as durações de apresentação de cada trama.
AVI
O AVI (Audio Video Interleaved) é um formato de ficheiros de vídeo desenvolvido pela
Microsoft para armazenar som e filmes no formato RIFF (Resource Interchange File For-
mat).
AIB12 O Porto Editora
MOV
O MOV é um formato de ficheiros da Apple Computer, Inc., e permite criar, editar, pu-
FLA
O FLA (Flash Movie Authoring Files) é um formato de ficheiro utilizado pela Adobe. Os
ficheiros neste formato incluem imagens vetoriais para utilizar em animações, timelines
para controlar a reprodução destas animações e áudio. Podem ainda incluir conteúdos de
vídeo bitmapped e ActionScripts (semelhantes ao JavaScript) para permitirem interativi-
dade. Estes ficheiros são editáveis e podem ser guardados no formato swf, que é um
formato executável para a Internet.
Devido à sua grande divulgação e ao sucesso das normas de compressão mais recen-
tes, o vídeo digital pode atualmente ser apresentado e manipulado em computadores, por
exemplo, utilizando os formatos MPEG (Motion Pictures Expert Group) e o DivX, codec de
vídeo bastante difundido e usado para distribuição de filmes via rede.
0.2. Compressão
5.2.2. Codecs
Ficheiros codificados com um codec específico requerem o mesmo codec para a des-
codificação. Alguns dos codecs que podem ser utilizados em produções de vídeo são,
entre outros: MPEG-1, MPEG-2, MPEG-4, DivX, Ogg (Theora) e Sorenson.
5. Aquisição, síntese, edição e reprodução de vídeo 199
MPEG-1
Exercício
O MPEG-1 é um standard de compressão de média qualidade e média taxa de transmissão
para vídeo e média compressão de áudio. Permite comprimir vídeo com taxas de compressão no
intervalo de 50:1 até 100:1, dependendo do tipo de sequência de imagens e da qualidade preten-
dida. Uma taxa de compressão de 50:1 significa que o tamanho ocupado pelo ficheiro comprimido
fica 50 vezes menor do que o ficheiro original.
A taxa de codificação dos dados efetua-se a 1,5 Mbps, que é uma taxa de transferência razoá-
vel para um leitor de CD-ROM 2X. Este standard tinha como objetivo a gravação de conteúdos
audiovisuais em suporte CD-ROM. Os ficheiros de vídeo do MPEG-1 têm a extensão mpg ou mpeg.
MPEG-2
O MPEG-2 é um standard de compressão desenvolvido como uma extensão do MPEG-1. Este é
direcionado para o formato broadcast com altas taxas de dados, destinando-se principalmente à
televisão digital de média e alta definição. Permite um número crescente de suportes para codificar,
de forma eficiente, vídeo entrelaçado.
Suporta, também, um vasto conjunto de taxas de transmissão e permite o som surround multi
canal codificado com o PCM, Dolby Digital e MPEG áudio. Permite reduzir entre 100 e 200 vezes o
espaço necessário para a gravação de vídeo, com perdas de qualidade praticamente impercetíveis.
MPEG-4
O MPEG-4 é mais um standard de compressão desenvolvido pelo grupo MPEG e permite a cria-
ção de vídeo interativo em CD-ROM, DVD e televisão digital. Este standard é o resultado de um
esforço internacional, envolvendo centenas de recursos e engenheiros de todo o mundo. O
MPEG-4 foi finalizado em outubro de 1998 e tornou-se num standard internacional em 1999.
DivX
O DivX (Digital Video EXpress) é um formato que está para o vídeo digital tal como o formato
MP3 está para a música digital. Este formato foi criado pela DivXNetworks, Inc. O codec DivX é
baseado no standard de compressão MPEG-4. Este codec é tão avançado que pode reduzir um
MPEG-2 vídeo para 10% do seu tamanho original.
Ogg
O Ogg (Theora) é um formato de compressão de vídeo desenvolvido pela Xiph.org Foundation.
AIB12 O Porto Ed itora
Este formato é open source para o sistema operativo Linux e foi projetado para competir com os
formatos de vídeo MPEG-4, RealVideo e Windows Media Video.
Sorenson
Jogo
O Sorenson (Sorenson Video Codec 3 ou SVQ3) da Apple Computers é um formato de
Através da Internet é possível encontrar codecs para download que, depois, devem ser
instalados no computador para funcionarem.
Modem
- Rede
“ Portas
+ Armarenamento
e me
Omposênos com problemas
usa
» hmiberte Se sofre
Procurar apenas
na categona Procurar apenas nos nomes das categonas
seseconada
5.3. Software
Existe diverso software para trabalhar com vídeo e que pode efetuar operações de edi-
ção, de conversão de formatos, de reprodução e de gravação em suporte ótico.
O software de gravação de vídeo permite guardá-lo num suporte ótico com o formato de
vídeo.
Quadro 5.1
Exercício
o É
om Us
“o vv ou
o[E|3|'S5 Formatos
Software mi S e gq Descrição Localização
s E a DÊ suportados
vd É ias
vio uu E
ao a an
o operaçoes, www.virtualdub.
X comprimir, importar, avi or
processar e exportar 9
ESP, vídeo.
Divx Player )
Reproduz vídeos de avi divx
alta qualidade, , ' http://www .divx.
mkv, mp4,
X programas de TV e mov wmv com/pt-br/
clipes de vídeo da ' ' software/player
Web vob
Divx Convert
De gravação em
De reprodução
De conversão
suporte ótico
Formatos
Software Descrição Localização
De edição
suportados
RealPlayer Cloud
Permite a
flv, wmv,
t
reprodução de
mkv, divx,
ficheiros de vídeo http://nww.real.com
xvid, mov,
em muitos
avi, mp4
formatos.
Jahshaka
1. Estabeleça a ligação entre a coluna dos formatos de vídeo analógico e a coluna da sua descrição.
Formato Descrição
1) Norma de televisão utilizada nos EUA, América Centrale Japão que
(A) PAL define os sinais de vídeo composto com 30 fps, 525 linhas de varrimento,
um aspect ratio de 4:3 e um entrelaçamento de 2:1.
2) Norma de televisão utilizada na Europa Ocidental e em alguns países da
(B) NTSC Ásia que define os sinais de vídeo composto com 25 fps, 625 linhas de
varrimento horizontal, um aspect ratio de 4:3 e um entrelaçamento de 2:1.
Exclusivo 3) Norma de televisão desenvolvida em França que define os sinais de vídeo
do Professor (C) SECAM composto com 25 fps, 625 linhas de varrimento, um aspect ratio de 4:3 e
um entrelaçamento de 2:1.
Solução
5. Aquisição, síntese, edição e reprodução de vídeo 203
2. Estabeleça a ligação entre a coluna dos formatos de vídeo digital e a coluna da sua descrição.
Formato Descrição
6. Estabeleça a ligação entre a coluna dos codecs de áudio e a coluna da sua descrição.
Codec Descrição
1) Formato recente que está para o vídeo digital tal como o formato MP3 está
A) Sorenson para a música digital.
7. Copie para o seu caderno e preencha o quadro 1, indicando o nome dos codecs instalados no
computador através do gestor de dispositivos do utilitário Sistema.
Quadro 1
Exclusivo
8. Utilizando o programa Windows Movie Maker reproduza um ficheiro com a extensão wmv. do Professor
Solução
204
Jogo
6. Animação 2D - Técnicas de animação em
computador
O conceito de animação é um conceito antigo e teve a sua origem muito antes do apa-
A animação por computador pode ser definida como a produção do movimento de ima-
gens utilizando o computador. Na animação 2D, as imagens são criadas num espaço bidi-
mensional e na animação 3D as imagens são criadas num espaço tridimensional, como
se fossem filmadas por câmaras virtuais. Os desenhos animados e algumas animações
em páginas web são exemplos de animação 2D. Por outro lado, jogos de vídeo, filmes de
animação, desenvolvimento de aplicações de realidade virtual e efeitos especiais são
exemplos de animação 3D, onde os objetos animados apresentam texturas, sombras,
transparências e brilhos que lhes conferem volume e profundidade.
Uma técnica muito utilizada para produzir animação, principalmente 3D, é a captura de
movimento ou Motion Capture (MoCap). Esta técnica consiste em colocar marcadores espe-
ciais no objeto durante o processo de captura do seu movimento e registar as coordenadas
desses marcadores (fig. 6.1). Através da digitalização e com o auxílio de um software ade-
quado, esses pontos são depois animados num modelo no computador (fig. 6.2).
6.2. Layers
Na animação 2D de computador, as imagens não contêm formas ou fenómenos óticos
tridimensionais, como luz, sombras, reflexão e refração.
Este conceito de camada está também presente nas diversas áreas artísticas ou de
animação, utilizando diferentes sobreposições de tinta, papel ou filme e podendo ser opa-
cas ou transparentes.
Assim, as layers são camadas que podem representar imagens, gráficos, texto, vídeo,
áudio e animação.
AIB12 O Porto Editora
As camadas permitem sobrepor objetos ou efeitos sem alterar nada do que está por
baixo, isto é, em qualquer momento se pode apagar, mudar de cor, desenhar, etc., uma
ou mais partes da imagem sem alterar a parte restante do desenho ou animação.
206
Exercício
6.3. Sprites
Os sprites são gráficos ou imagens que podem ser integrados numa animação e movi-
Os sprites são também utilizados para representar fenómenos como incêndios, fumos,
pequenos objetos e plantas ou símbolos especiais.
Nestes casos, existem durante um determinado período de tempo e têm sempre uma
aparência semelhante quando observados em diferentes perspetivas.
a
45) 4.9 s
va) 9
Fig. 6.5. Exemplificação da constituição de um sprite.
Para criar novos sprites, por parte dos utilizadores, podem-se retirar da Internet progra-
mas como o Cutter.
O Flash faz uso de várias técnicas para criar as suas animações, através da utilização
de frames e de keyframes.
Fig. 6.7. Exemplificação da criação de uma animação utilizando a técnica motion tweening.
Fig. 6.8. Demonstração da execução de uma animação utilizando a técnica motion tweening.
208
Fig. 6.9. Exemplificação da criação de uma animação utilizando a técnica shape tweening.
Fig. 6.10. Demonstração da execução de uma animação utilizando a técnica shape tweening.
Estas são designadas por GIF animados e mais não são do que uma sequência rápida
de um conjunto de imagens estáticas que se alteram no tempo.
Muitos outros podem ser encontrados na Internet, como é o caso do programa Falco
GIF Animator, que possui, inclusivamente, um assistente de criação de GIF animados (fig.
6.11).
6. Animação 2D - Técnicas de animação em computador 209
47º 0
« N us.
ms T
O
oe
- Fig. 6.11. Janela do programa Falco GIF
Me - E Animator mostrando um ficheiro com os
Ei Ri frames da animação.
Exercícios de aplicação 9
1. Diga o que entende por animação por computador.
3. Dos equipamentos seguintes, assinale os que podem ser utilizados na captura de imagens.
(A) Plotter;
(B) Scanner;
(C) Máguina fotográfica;
(D) Câmara de vídeo;
(E) Impressora;
(F) Modem.
10. A partir de um dos sprites anteriores, crie os quadros correspondentes às imagens do mesmo,
utilizando o Paint, e guardando-os em ficheiros separados.
Solução
AIB12 F14
210 Utilização do Sistema Multimédia
IE ideo
6.6. Uso de um programa de animação - Synfig
Introdução
Exercício O Synfig Studio é um programa de animação vetorial 2D, baseado em frames, de có-
O ambiente de trabalho
Uma das formas de iniciar o Synfig é selecioná-lo a partir de Todos os programas,
quando se clica no botão Iniciar do Windows, surgindo a sua janela de abertura (fig. 6.12).
om sa
aaa. ,
Barra do
tempo
. Rr
TECH
& > do MEM cia = , as j
hide (Lot rerdermy tamo O JMBAS voc) O 0] puta * Zi =
Barra de - -
estado ES|2 “0ua
ema ana Painel de
controlo
Painel
A de d o tempo
parâmetros
“uso -
À barra de menus
A barra de menus dá-nos acesso a um conjunto de menus, tais como: File, Edit, View,
Canvas, Toolbox, Layer, Plug-Ins, Window e Help (figs. 6.13, 6.14 e 6.15).
| New|
v Show Menubar
Y Show Toolbar
Show/Hide Handies +
Preview Quality »
Low-Res Pixel Size b
Play CtrlsP
13 Pause Escape
O menu File contém comandos que permitem efetuar várias operações relativas a fi-
cheiros, importar imagens e ficheiros no formato svg, pré-visualizar a animação, entre
outras opções.
O menu Edit contém comandos que permitem efetuar operações como repor e anular
uma operação, cortar, copiar, colar, selecionar ou desmarcar camada, etc. Com o co-
mando Preferences, no separador Misc., pode-se alterar o idioma a utilizar no programa.
O menu View contém comandos que permitem ativar ou desativar grelhas, linhas-guia
e alças de manipulação nos objetos; ajustar o zoom da área de trabalho ou da barra do
tempo; avançar ou retroceder na animação, etc.
O menu Canvas contém o comando Properties que permite, por exemplo, no separador
Time, configurar o número de frames por segundo (fps) e a duração da animação.
entre outras.
O menu Layer contém comandos que permitem realizar operações com camadas. Com
o comando New Layer é possível criar uma nova camada com determinados efeitos.
Utilização do Sistema Multimédia
Toolbox
bk Transform Tool ARA |
4 SmoothMove Tool Alt+V | Layer
Preview Window
Toolbox
Tool Options
History
Canvas Browser
Keyframes
Layers
Parameters
Canvas MetaData Help |
[eseeee
Info Ei Help Ctrl+H
Navigator E) Tutorials
Timetrack B Reference
À barra Toolbar
A barra Toolbar (Fig. 6.16) permite criar um novo projeto, abrir ou guardar um projeto,
desfazer ou refazer uma ação e mostrar as configurações de renderização e visualização.
4 +
Para tal, por exemplo, ao clicar no comando Render, na caixa de diálogo Render Set-
tings, no item Target, seleciona-se a opção ffmpeg (programa de conversão).
6 Teget Prsmetes —
Avadabie
Vidro Codecr
Cuntom Video Code: is)
Flash Video FLV Soremon Sport 'Soremon HM)
apso (RAT TU
litheora Thecea
MPEG 4 part
2 Mecrosoft vanant verson 2
Windows Medusa Video 7
Quadro 6.1
Identificação Descrição
Polygon Tool Permite criar um polígono através da definição de pelo menos três pontos.
A partir dos botões Outline Color e Fill Color, presentes na parte inferior da caixa Tool-
box, tem-se acesso à caixa de diálogo Colors (fig. 6.19), possibilitando alterar as cores de Exercício
contorno e preenchimento. E, a partir do botão Default Gradient, tem-se acesso à caixa de
diálogo Gradient Editor (fig. 6.20), possibilitando alterar as cores do gradiente.
Fig. 6.19. Caixa de diálogo Colors. Fig. 6.20. Caixa de diálogo Gradient Editor.
Exercícios de aplicação 10
1. Legende cada um dos itens assinalados na figura 1, preenchendo o quadro 1 no seu caderno.
(1)—— dem
tg 1 |À
Cm qa ver Coma Tones Logos Pragins indo et
(mw)+
(a)
6)
O— O
Fig. 2.
Quadro 1
Solução
216 Utilização do Sistema Multimédia
3. Quais as extensões que um ficheiro em Synfig pode assumir depois de uma renderização?
4. Identifique o menu e o comando para realizar cada uma das operações indicadas nas alíneas
seguintes:
a) inserir uma nova camada Rotate;
b) efetuar uma renderização;
c) definir o End Time de uma animação;
d) visualizar linhas guia;
e) visualizar uma animação;
f) agrupar camadas.
5. Identifique cada uma das ferramentas da caixa Toolbox apresentadas no quadro 2, transcrevendo-o
para o seu caderno.
Quadro2
À barra Timebar
A barra do tempo (Timebar) (fig. 6.21) é uma barra onde é possível controlar o con-
teúdo de um trabalho no tempo.
Uma animação é dividida em pequenos “comprimentos” de tempo, os frames, e orga-
niza-se em camadas.
Estas são empilhadas umas sobre as outras, onde cada uma representa um elemento
diferente da animação.
Na parte de cima da janela da área de trabalho, encontram-se vários botões que permi-
tem ativar ou desativar o manuseamento das alças que aparecem nos objetos, aumentar
ou diminuir a resolução e qualidade da imagem, mostrar ou ajustar à grelha, visualizar o
Exelsio rasto anterior e posterior da animação em determinado momento e ativar as configura-
dolicoiessor ções de renderização e pré-visualização da animação.
Solução
6. Animação 2D - Técnicas de animação em computador 217
Zoom aaqaa+
45 13
Na parte de baixo do indicador do momento atual, aparecem uns botões que permitem
rapidamente avançar ou retroceder com o cursor do tempo pelas posições dos frames e
keyframes (fig. 6.22) de uma animação.
a e
a MM MDDO DE Di
Seek to previous keyframe
| Play Seek to next keyframe
A barra do tempo fica acima dos painéis Parameters, Keyframes, Timetrack e Layers
ATB12 O Porto Editora
Fig. 6.23. Painéis Parameters, Keyframes, Timetrack e Layers, que surgem horizontalmente na parte inferior
da janela do programa.
O painel Timetrack
Dock Panel B
O painel Timetrack (fig. 6.25) é um painel
onde ocorrem as ações da animação.
ooo
A figura 6.26 mostra, para uma determinada camada, dois parâmetros animados,
Color e Origin, em dois frames diferentes. Cada waypoint guarda apenas o valor de um
desses parâmetros nesse frame.
Deh Panel “o
= o
teamo vabue Type € Tema Tuck
TM 2 desen o oooomo rest
TF amour 1 000000 rest
6 tuens Method Comporte ate ger
. DB coor E cummaO O | Waypoints em
Os parâmetros Mess 0933333 veas e dois frames
Color e Origin M restrer O OO rest diferentes
LAO com 1040000 O 1 FISIDa vetomad 4
OD tes [a]
S mon Comme nteger
O painel Keyframes
É no painel Keyframes (fig. 6.27) que se criam, duplicam, removem e configuram os
keyframes da animação.
De acordo com o estado dos keyframes, pode-se visualizar setas indicadoras dos dife-
rentes estados na barra de tempo.
O quadro 6.2 exemplifica os estados que os keyframes podem assumir e a figura 6.28
identifica as respetivas setas indicadoras dos mesmos na barra Timebar.
Quadro 6.2
Dock Panel va
0s0f | Normal
mn iPa » oi
Time t LengthJump Description Time * LengthJump Description 4
0f 2s UMP) 2s0f | Selecionado of 2s MP)
2s 1s1f (JMP)
W] 35H Of UMP)
Du o UMP) 3s1f | Desativado
+%8 7
Add new keyframe Keyframe properties
Fig. 6.28. Timebar com as setas indicadoras dos diferentes estados dos keyframes.
220 Utilização do Sistema Multimédia
JE)
O painel Layers (fig. 6.29) apre-
+
EB Fundo 0,000000 É possível efetuar operações
O Amarelo 1,000000 sobre as camadas como, por exem-
plo, determinar a ordem de sobre-
| +45 bBHAS SUB Paste posição dos diferentes objetos num
; trabalho; duplicar, agrupar ou remo-
Lo =
Raise Copy ver camadas, entre outras opções.
Layer cut
Lower
Layer Delete
Layers
Duplicate
Layer Select All
Child Layers
Group
Layer
Fig. 6.29. Painel Layers.
O painel Navigator
Através do painel Navigator (fig. 6.30) é possível am-
pliar, reduzir ou movimentar a área de trabalho.
O painel History
Dock Panel
i ») Do
o| No painel History (fig. 6.31) aparecem registadas
Q todas as ações que vão sendo realizadas durante o
trabalho.
Jump * Action
(UMP) Raise Layer 'Amarelo' Várias operações podem ser feitas sobre cada
(JUMP) Lower Layer 'Amarelo' uma destas ações quando se clica nos ícones que
aparecem no fundo da caixa.
(IMP) Lower Layer 'Fundo'
Este painel está vazio quando se cria um novo
(UMP) Raise Layer 'Fundo'
ficheiro ou se abre um ficheiro já existente.
Para se substituir uma cor da paleta, clica-se com o botão direito do rato sobre a cor e
surge um menu de contexto com os comandos Color e Delete.
Ao selecionar o comando Color, surge a caixa de diálogo Colors (fig. 6.19), a partir da
qual é possível redefinir a nova cor.
Quando se clica no ícone Add current outline color to the palette, é adicionada uma
nova cor que corresponde à cor de contorno ativa na caixa Toolbox.
Através deste painel é possível guardar uma paleta de cores, clicando no ícone Save
the current palette; repor a paleta predefinida, clicando no ícone Load default palette, e
obter mais paletas, clicando no ícone Load a saved palette, carregando ficheiros com o
formato spal do Synfig ou gpl do GIMP.
222 Utilização do Sistema Multimédia
Jogo 2. Façaa legenda da figura 1, preenchendo o quadro 1 no seu caderno. (1) (2)
*amarelosifz - Synfig Studio e
*amarelo.sifz X oºo
a
v[Z) QUiwrs A ss ED Ooiro: rs
2
MK DD DE <l m a) +
die (Last rendering time 0,366211 sec) I o
Fig. 1. 5 6
Quadro1
Número | Nome
As técnicas de animação
O Synfig usa as técnicas de animação Morphing e Cutout. A técnica Morphing permite
criar uma transformação entre duas imagens.
Por sua vez, a técnica Cutout permite dividir a imagem em partes e aplicar-lhes trans-
formações em diferentes momentos no tempo como mover, rodar e alterar a escala.
Solução
6. Animação 2D - Técnicas de animação em computador 223
A animação Morphing
Para ilustrar a técnica de animação Morphing, será exemplificado o processo de cria-
ção de uma animação simples, com a duração de dois segundos. Isto é, um quadrado
inicial de cor amarela vai transformar-se num quadrado final de cor vermelha, apresen-
tando uma rotação em torno do seu eixo central.
O equi mpeg =
—— mas,
neu ums
ee pica
me “o 1
tel tp
Gunnguemend em
Vet fumo ”
né tm
im |
” mt .-
Começa-se por criar um novo trabalho e guardá-lo com a extensão sifz. De seguida,
deve-se selecionar o comando Properties, do menu Canvas, para configurar o parâmetro
End Time com o valor 2s (fig. 6.33). No fim, seleciona-se o botão Apply e, depois, Close.
Antes de iniciar qualquer ação na área de trabalho, é conveniente ativá-la para o modo
de edição, clicando no ícone Turn on animate editing mode. Surge um contorno vermelho
na janela da área do trabalho como indicador dessa ativação.
. | = a D
Unte - lata D movimgat:
“ [ms
=
O cunçes - |.
o
Se Aa ao ,
y 4 qe - .
1
Last remdereny ts É UL6 DO soe e. as
=“
o o «TD +
Es; 3 Zerou
tusma vam ne * Vem oa
R roqem o es oa
KR imeuá tones pa
É medios Composte utoça
& com [ E)
O mms NT vetos Amma +
O tes imita Cmt wine O
R iosd mas amamos ea
O tese tre costonço vos
,* “mos
De seguida, posiciona-se o cursor do tempo no momento 2s. Para tal, pode-se digitar
o valor ou clicar no ícone Seek to end. Neste frame, arrasta-se o quadrado para o lado di-
reito da área de trabalho e inverte-se a posição das alças de manuseamento representa-
das pelos círculos verdes.
Utilização do Sistema Multimédia
Entretanto, nesta posição, altera-se a cor do quadrado de amarelo para vermelho (fig.
se e (ais De
o? ko Mme + Tg +
2.» TE quatado
mm
+* umas »
TF ca
Qqaaa-. Ç '
1s15f
MK DDD <l m |»
Idie (Last rendering time 0,330078 sec) 1 Ivo
Nesta caixa pode-se, por exemplo, configurar os tempos de início e fim da animação se
assim se pretender. Por fim, clica-se no botão Preview.
Agora, pretende-se que o objeto tenha uma animação da esquerda para a direita e da
direita para a esquerda, isto é, que volte à posição inicial.
Desta forma, a barra do tempo terá um “comprimento” de cinco segundos, para permi-
tir visualizar melhor as linhas verticais castanhas correspondentes às keyframes.
AIB12 F15
226
Se for feita a visualização da animação, verifica-se que o objeto tem uma animação da
esquerda para a direita e da direita para a esquerda.
|
SEjZTime Lengthlump Description
Solo
«| E
Ja ;
o|
of as MP)
[MI 4s o (JUMP) (Duplicate)
+% 9 uv
Fig. 6.39. Painéis Keyframes e Timetrack com as keyframes e os waypoints criados.
A animação Cutout
Para ilustrar a técnica de animação Cutout, será exemplificado o processo de criação
de um movimento de rotação de uma roda, em torno do seu eixo, e com uma deslocação
da esquerda para a direita (fig. 6.40).
t boo a40
/“a
Começa-se por gravar um novo ficheiro e configurar a área de trabalho para uma anima-
ção com a duração de 4s e 24 fps. Ao iniciar o trabalho, é necessário ativar o modo de
edição da animação.
No momento 0soOf, desenha-se uma roda utilizando a ferramenta Circle. Depois, dese-
nham-se os dois eixos utilizando a ferramenta Rectangle.
No painel Layers, selecionam-se estas duas últimas camadas e o grupo Roda e clica-se
no botão Group Layer.
Ainda no momento 0soOf, é necessário fazer coincidir a alça verde da camada Rotate
com o centro da roda (fig. 6.42).
Utilizando a ferramenta Gradient, cria-se uma nova camada, que será colocada por trás
dos objetos já criados e fora dos grupos Roda e Movimento, respeitando a organização e
a hierarquia das camadas, como é apresentado na figura 6.41.
Dock Panel 8
, O
24º
Icon Name 4 ZDepth 4
Wa (E Movimento 0,000000
“e Translate 0,000000
MP Rotate 1,000000
NNE
Depois, seleciona-se a camada Rotate e roda-se a alça azul no sentido horário com um
ângulo aproximado de 45 graus (fig. 6.42).
Para os restantes momentos repetem-se os passos descritos anteriormente (fig. 6.42).
Por último, visualiza-se a animação e observa-se que a roda se movimenta em torno do
seu eixo e da esquerda para a direita.
poda
AIB12 O Porto Editora
Fig. 6.42. Exemplificação da posição da camada Rotate nos diferentes momentos do tempo.
Utilização do Sistema Multimédia
1. Indique a ferramenta que usaria para criar um objeto com um número qualquer de pontos e curvas.
(A) Spline
(B) Eyedrop
(C) Rectangle
(D) Fill
3. Crie uma animação, em que uma estrela percorre um trajeto, conforme o apresentado nas figuras
2 a 6, tendo em atenção as indicações seguintes.
Configure a animação para uma duração de 2s e com 24 frames por segundo. Mude o programa
para o modo de edição.
Crie um gradiente de cores como o apresentado na figura 2. Depois, crie o objeto estrela na
keyframe 0. De seguida, posicione o cursor do tempo em cada um dos momentos 0512f, 1s, 1s12f e
2s, e, em cada um deles, acrescente um novo keyframe (fig. 1) e desloque a estrela para a nova
posição, conforme o apresentado nas figuras 2 a 6. Por último, visualize a animação.
Dock Panel 8
o
& 2.º
Time * LengthJump Description 4
of 12 (JUMP)
12f 12º (JMP)
1s 12 (IMP)
1s12f 128 (JMP)
2s Of (JUMP)
+%8 ur
Fig. 1.
qarrvo za ams iz
Exclusivo CRER.
do Professor - - =
Fig. 2. Animação no momento Os. Fig. 3. Animação no momento 0s12f.
Solução
6. Animação 2D - Técnicas de animação em computador
4. Crie uma animação, em que um quadrado azul se desloca para a direita e se transforma numa flor
vermelha, tendo em atenção as indicações seguintes.
Configure a animação para uma duração de 2s e com 24 frames por segundo. Mude o programa
para o modo de edição.
AIB12 O Porto Editora
Utilizando a ferramenta Spline, no momento 0s0f, crie um quadrado azul (fig. 7), clicando apenas
uma vez na posição de cada vértice. Para fechara forma, clique novamente em cima do primeiro
vértice e com o botão direito do rato, no menu de contexto, que surge, selecione a opção Loop Spline.
Utilização do Sistema Multimédia
Fig. 7.
No momento 2s, arraste a forma anterior para o lado direito da janela, utilizando a alça de
manuseamento verde.
Altere, também, a forma inicial do quadrado para um círculo (fig. 8), manipulando as alças castanhas.
De seguida, clique, com o botão direito do rato, em cada alça castanha e no menu de contexto, que
surge, selecione Split Tangents.
Deste modo, pode manusear de forma independente cada metade da linha tangente num ponto.
KM E DD DE <l
(Last rendering time 0,179688 sec) E se Q
6. Animação 2D - Técnicas de animação em computador
PM SM DDD DE DA <l m E
|die (Last rendering
time 0,414062 sec) L 10
Fig. 9.
Para tal, vai ser necessário configurar, no painel Parameters, o parâmetro Amount, que permite
controlar a visibilidade de uma camada, em que o valor 1 significa que a camada é visível e o valor O
significa que a camada é invisível.
Clique com o botão direito do rato sobre o parâmetro Amount e, no menu de contexto, que surge,
selecione o comando Convert, opção Timed Swap, como método de mistura a utilizar.
Configure o subparâmetro Before com o valor 1, indicando que antes a camada é visível; o
subparâmetro After com o valor 0, indicando que depois a camada se torna invisível; o
subparâmetro Time com o valor 3s, indicando o tempo durante a qual a camada está ativa; e o
subparâmetro Lenght com o valor 1s, indicando o tempo de transição entre as camadas.
AIB12 O Porto Editora
Utilização do Sistema Multimédia
= 2! so 0) 8 O — a
Marra vobo Type * Te Tad | y as o?
R roma e oem vem Lero mr — =
o R mu om umas e e | >
A te 1 cec00e teu | ,
Ke o omsoo mma O 4 | + 18 = 5 quero 1umemmo
O tm » mia O e. >
O cmg 1 vma | =:
É tens ritmos (Composto À ug A + bue -
Fig. 10.
No momento 3s (fig. 11), configure os subparâmetros anteriores com os mesmos valores, à exceção do
subparâmetro Time para o valor 5s.
aaaa+
n
ms a Dib MEmA «E E) ,
Pote cia rentereng teme DUPIOZS sec)
Ema
Mara vem Type
R rom, e mano vem
o mu 1 omoooe mas e e
Aee + 000006 eai
Ka o momoos vm dmmnea
O tm s um ta O
O ema ts tme
[e] Composto À uuga
7. Divulgação de vídeos e som via rede 233
Os cientistas, com a sua grande necessidade de trocar informações entre si, sobre os
seus estudos científicos, foram a grande força impulsionadora para o aparecimento da
Internet.
A capacidade de a Internet divulgar informação continua a ser uma das razões para o
seu crescimento.
Por sua vez, o seu rápido crescimento deve-se à sua aplicação massiva por parte dos
utilizadores e à introdução das novas tecnologias em ligação com os meios de transmis-
são.
A Internet é cada vez mais utilizada para a divulgação de aplicações multimédia com
vídeo, áudio, texto e imagem, necessitando de transmitir grandes quantidades de dados,
como, por exemplo, na transmissão de videoconferências, rádio e TV pela Internet.
Para que tudo isto seja possível, foi necessário desenvolver diferentes métodos de
transmissão de dados.
7.1. Métodos
7.1.1. Streaming
Quando chegam ao computador de destino são guardados num buffer, em fila de es-
pera, alguns segundos antes de serem reproduzidos pela ordem correta.
Após a sua reprodução, os dados não são guardados de forma permanente no compu-
tador.
O RealAudio, desenvolvido pela Real Networks em 1995, foi o primeiro software a utili-
s
zar o streaming apenas para o som.
ATB12 O Porto Ed itor
Bo
Carregamento da
memória buffer
(Es]
Es
CLIENTE
Eme]
E INTERNET
— Um
Fig. 7.1. Representação gráfica do processo de transmissão por streaming.
7.1.2. Download
O ficheiro original manteve-se no servidor da Internet, apenas tendo sido realizada uma
cópia deste para o computador do utilizador.
Download
| A
Upload
Fig. 7.2. Representação gráfica dos processos de transmissão por download
e upload.
7. Divulgação de vídeos e som via rede 235
Este método não utiliza buffer e funciona melhor com aplicações multimédia pequenas,
pois o tamanho dos ficheiros que pode reproduzir é limitado.
Por exemplo, este método constitui a forma mais simples e barata de distribuir um
vídeo Flash numa página web.
Apesar de este método não ser mais poderoso e flexível do que o verdadeiro strea-
ming, simula-o bem e a maioria dos utilizadores não se apercebe da diferença.
Os recursos necessários para a divulgação de vídeos e som via rede são os servidores
de conteúdos multimédia, ligados aos utilizadores preferencialmente através de ligações
de alto débito.
Estes podem ser obtidos através da Internet, em sites relacionados com o áudio e o
AIB12 O Porto Ed itora
vídeo.
No quadro 7.1, são apresentadas algumas aplicações que permitem suportar o serviço
Quadro 7.1
Programas Endereço
Camfrog http:/Anww.camfrog.com/en
Para que uma aplicação instalada num computador consiga executar um conteúdo
multimédia codificado é necessário que tenham sido instalados previamente codecs espe-
cíficos. Por exemplo, no Windows Media Player, para reproduzir um ficheiro de vídeo com
o formato AVI e codificado com o codec Divx, é necessário ter instalado no computador o
Windows Media Player Codecs Pack, que corresponde a um conjunto de codecs para vá-
rios formatos de conteúdos. Os codecs podem ser instalados individualmente ou a partir
da instalação de um conjunto designado por packs (pacotes).
Há codecs mais utilizados do que outros. Alguns deles, de acordo com o seu algoritmo,
são mais indicados para determinadas aplicações.
7. Divulgação de vídeos e som via rede 237
Por exemplo, alguns são mais específicos para aplicações de voz, outros para trans-
missão de áudio pela Internet e outros para música. Exercício
Como o Windows tem vários codecs instalados, a maioria dos ficheiros de vídeo e de
áudio de programas multimédia ou da Internet pode ser visualizada.
7.4. Produção
A produção de aplicações multimédia consiste inicialmente no desenvolvimento dos
conteúdos multimédia e, a partir daqui, no desenvolvimento das aplicações multimédia
propriamente ditas.
O TwinPlayer (fig. 7.4) permite, sem recurso à programação, criar aplicações multimé-
dia interativas de qualidade.
Estas podem ser distribuídas por diversos meios como CD, e-mail e Internet.
AIB12 O Porto Editora
ão:
O quadro 7.2 apresenta alguns exemplos deste tipo de software para implementar um
servidor Web.
Quadro 7.2
Linux
a Windows a
Xitami Open MVS http://www .xitami.com
Mac OS
BRS Web Weaver Windows http:/Aynww.brswebweaver
com
Linux
Windows
Cherokee Solaris http://cherokee-project.com
BSD
Mac OS
7. Divulgação de vídeos e som via rede 239
Num servidor multimédia tem de existir software com capacidade para transmitir con-
teúdos, utilizando determinadas tecnologias.
O Helix Universal Media Server, o Wowza Streaming Engine, entre outros, são softwares
multiplataforma que permitem implementar um servidor multimédia e transmitir conteú-
dos de áudio e vídeo em vários formatos em tempo real e a pedido, para uma ampla gama
de clientes como, por exemplo, smartphones, tablets, televisores ligados à intemet e com-
putadores.
Do lado do cliente é também necessário ter software que permita reproduzir os conteú-
dos multimédia, nomeadamente áudio e vídeo.
Exercícios de aplicação 13
1. Indique os três métodos que podem ser utilizados para a divulgação de vídeo e som via rede.
3. Identifique o tipo de arquitetura utilizada para ser possível disponibilizar conteúdos multimédia pela
Internet.
6. Indique dois exemplos de software com capacidade para efetuar o streaming de vídeo.
Exclusivo
do Professor
Solução
Livros
Sites
http:/Av
ww .colorcube.com
http://www .dafont.com
http://www .multimedia-downloads.com
http:/Avww .oddcast.com
http:/Avww.pcmag.com/encyclopedia index
http:/Awvww .cartoonsmart.com/cs index.php5
http://animation.about.com
http://vrlab.epfl.ch
http://training.tspi.swri.org
http://microsoft.com/express/windows
http://inkscape.org
http://www .gimp.org
http:/Awww .synfig.org/ems
Aplicações Informáticas B
Aplicações Informáticas B
12º ano
Autores
Dalila Fonseca
Deolinda Pacheco
Fernando Marques
Ricardo Soares
Design
Porto Editora
Editora
Porto Editora
ISBN
978-972-0-85336-3
2019
E Porto
Editora
Rua da Restauração,
365
4099-023 Porto | Portugal
www.portoeditorapt