Você está na página 1de 19

Resolução das questões propostas no manual

Unidade 1

AIB12GP © Porto Editora


Início

Exercícios de aplicação 1 – pág. 10 Escrever (”Digite o seu primeiro nome”)

1.1. (B)  1.2. (C)


Ler (nome)
Exercícios de aplicação 2 – pág. 12
Escrever (”Digite a sua idade”)
1.1. (B)  1.2.  (A)  1.3.  (D)
2.
Ler (idade)
(A)
1.º Início.
2.º Colocar o cartão multibanco no leitor. Escrever (”O ”, nome,” tem ”, idade,” anos”)
3.º Introduzir o código.
4.º Selecionar a opção - levantamentos.
5.º Indicar a quantia a levantar. Fim
6.º Responder afirmativamente à pergunta – se

pretende talão. 5.
7.º Retirar o cartão.
8.º Retirar o dinheiro. Início
9.º Retirar o talão.
10.º Fim.
a <- true
(B)
1.º Início.
2.º 
Retirar o pneu do porta-bagagens para b <- false
substituir.
3.º Retirar o macaco do porta-bagagens.
4.º 
Começar a desapertar os parafusos da roda com
c <- a
o pneu furado.
5.º Levantar o carro com o macaco. a <- b
6.º Terminar de desapertar os parafusos.
7.º Retirar a roda com o pneu furado.
8.º Colocar no sítio o pneu suplente. b <- c
9.º Começar a apertar os parafusos.
10.º Baixar o carro com o macaco.
11.º Terminar de apertar os parafusos. Escrever (a, b)
12.º Fim.
3. Fim
1.º Início.
2.º Ler o seu primeiro nome. 6.
3.º Ler a sua idade. 1.º Início.
4.º Escrever o resultado sob a forma (O seu primeiro
 2.º Ler um número inteiro.
nome tem a sua idade anos). 3.º 
Efetuar o cálculo dos dois números inteiros
5.º Fim. seguintes de valor superior.
4. 4.º Escrever os dois números calculados.
Algoritmo nome_idade; 5.º Fim.
Variáveis nome: texto; 7. 
 Idade: inteiro; Algoritmo num_2_sup;
Início Variáveis num, res1, res2: inteiro;
Escrever (“Digite o seu primeiro nome”); Início
Ler (nome); Escrever (“Digite um número inteiro”);
Escrever (“Digite a sua idade”); Ler (num);
Ler (idade); res1 <- num + 1;
Escrever (“O ”, nome, ” tem ”, idade, ” anos”); res2 <- res1 + 1;
Fim. Escrever (res1, res2);
Fim.
Resolução das questões propostas no manual

Início Exercícios de aplicação 6 – pág. 30


1.
Ler (num) Algoritmo Calcula_media;
Variáveis num1, num2, media: real;
Início
res1 <- num + 1 Escrever(“Digite um número real”);
Ler(num1);
Escrever(“Digite um número real”);
res2 <- num + 1
Ler(num2);
Media ← (num1 + num2)/ 2;
Escrever (res1, res2) Escrever(“A média = ”, media);
Fim.
Início
Fim

Escrever (”Digite um número real”)


Exercícios de aplicação 3 – pág. 19
Ler num1
1. (A)
2. a)  fonte  
b) objeto
Escrever (”Digite um número real”)
c) executável   d) máquina
3. (A) F  (B) V  (C) F  (D) V  (E) V
Ler num2
4. a) Inteiro b) Texto
c) Texto d) Real media = (num 1 + num 2)/2
e) Booleano f) Inteiro
Escrever (”A média = ”, média)
Exercícios de aplicação 4 – pág. 23

1. (A) F  (B) V  (C) F Fim


2. a) 1  b) 1  c) 2 2.
Algoritmo Calcula_quadrado;
3. a) V  b) V  c) F  d) V  e) F Variáveis num1, quad: inteiro;
Início
Exercícios de aplicação 5 – pág. 24 Escrever(“Digite um número inteiro”);
Ler(num1);
1. quad ← num1 * num1;
Escrever(“Quadrado = ” , quad);
a) Fim.
Início
a b ← 2*a c←a+b Saída

1.º passo 2 Ler (”Digite um número inteiro”)


2.º passo 2 4
3.º passo 2 4 6 Ler (num1)

4.º passo 2 4 6 20 4 10
quad <- num1 * num1
b)

a b c←a Saída Escrever (”Quadrado = ”, quad)


AIB12GP © Porto Editora

1.º passo True


Fim
2.º passo True False
3.
3.º passo True False True Algoritmo Caract_iguais;
Variáveis c1, c2: caracter;
4.º passo True False True True False True
Início
Ler(c1);
Ler(c2);
Se c1 = c2 Então
Escrever(“Inseriu dois caracteres iguais”)
Senão Escrever(“Inseriu dois caracteres
diferentes”);
FimSe;
Fim.
Resolução das questões propostas no manual

6.

AIB12GP © Porto Editora


Início Program Calcula_media;
Var num1, num2, media: real;
begin
Ler (c1) readln(num1);
readln(num2);
Media := (num1 + num2)/2
Ler (c2)
writeln(“A média é:”, media);
End.
c1= c2 True
Program Caract_iguais;
var c1,c2:char;
False
Begin
Escrever (”Inseriu dois writeln('Indique um carácter');
caracteres diferentes”)
readln(c1);
Escrever (”Inseriu dois writeln('Indique outro carácter');
caracteres diferentes”) readln(c2);
if c1 = c2 then
Fim writeln('Inseriu dois caracteres iguais')
else
4. writeln ('Inseriu dois caracteres diferentes');
Algoritmo Compara_dois;
End.
Variáveis a, b: inteiro;
Program Compara_dois;
Início
var a,b: integer;
Ler(a);
Begin
Ler(b);
writeln('Digite um valor inteiro ');
Se a = b Então
readln(a);
 Escrever(“Os números são de valor igual”)
writeln('Digite outro valor inteiro ');
Senão
readln(b);
Se a > b Então
if a = b then
Escrever(“O número de maior valor é o ”, a)
writeln('Os números são de valor igual')
Senão
else if a > b then
Escrever (“O número de maior valor é o ”, b);
writeln('O número de maior valor é ', a)
FimSe;
  else
FimSe;
writeln('O número de maior valor é ', b);
Fim.
End.
5.
Exercícios de aplicação 7 – pág. 32
a b a=b a>b Saída
1.
1.º passo 9 Algoritmo Det_Val;
2.º passo 9 9 Variáveis num: inteiro;
Início
9=9 Ler(num);
3.º passo 9 9 Se num = 0 Então
True
Escrever(“Valor nulo”)
9=9 Os números são Senão Se num > 0 Então
4.º passo 19 9
True de valor igual   Escrever(“Valor positivo”)
Senão Escrever(“Valor negativo”);
1.º passo 19 FimSe;
2.º passo 19 6 FimSe;
Fim.
19 = 6
3.º passo 19 6 Início
False
19 > 6 Escrever (”Digite um
4.º passo 19 6 19 = 6 número inteiro”)
True
O número de Ler num1
5.º passo 19 6 19 = 6 19 > 6
maior valor é o 19
True
1.º passo 4 num = 0
False
2.º passo 4 13 Escrever (”Valor nulo”)
True
num > 0
4 = 13
3.º passo 4 13 False Escrever (”Valor
False Escrever (”Valor positivo”)
negativo”)
4 > 13
4.º passo 4 13 4 = 13
False
4 > 13 O número de
5.º passo 4 13 False
False maior valor é o 13
Fim
Resolução das questões propostas no manual

2.
Program Det_Val; Início
var num:integer;
Begin
writeln('Digite um valor inteiro ');
Escrever (”Digite um número real”)
readln(num);
if num = 0 then
Ler (num_a)
writeln('Valor nulo')
else if num > 0 then
 writeln('Valor positivo') Escrever (”Digite um número real (diferente de 0”)
  else writeln('Valor negativo');
End.
Ler (num_b)
3. 

num num = 0 num > 0 Saída Escrever (”A - Adição”)


1.º passo 9
9=0
2.º passo 9 Escrever (”S - Subtração”)
False
9=0 9>0
3.º passo 9 Escrever (”M - Multiplicação”)
False True
9=0 9>0
4.º passo 9 Valor positivo
False True Escrever (”D - Divisão”)
1.º passo –19
–19 = 0 Escrever (”Indique a sua opção)
2.º passo –19
False
–19 = 0 –19 > 0
3.º passo –19 Ler (op)
False False
–19 = 0 –19 > 0
4.º passo –19 Valor negativo Escrever (”Adição ”,
False False True
op = ”A” num_a,” + ”, num_b,” = ”,
1.º passo 0 num_a + num_b)
False
0=0 Escrever (”Subtração ”,
2.º passo 0 True
True op = ”S” num_a,” - ”, num_b,” = ”,
num_a - num_b)
0=0 False
3.º passo 0 Valor nulo
True True Escrever (”Multiplicação ”,
op = ”M” num_a,” * ”, num_b,” = ”,
num_a * num_b)
Exercícios de aplicação 8 – pág. 34 False
True Escrever (”Divisão ”,
1. op = ”D” num_a,” / ”, num_b,” = ”,
num_a / num_b)
Algoritmo Opera_Aritm; False
Variáveis n
um_a, num_b: real;
op: carácter; Escrever (”Opção inválida”)
Início
Escrever(“Digite um número real”);
Ler(num_a);
Escrever(“Digite um número real (diferente de
0)”); Fim
Ler(num_b);
Escrever(“A – Adição”);
Escrever(“S - Subtração”);
Escrever(“M - Multiplicação”);
Escrever(“D - Divisão”);
Escrever(”Indique a sua opção ”);
Ler(op);
Selecionar caso op
“A”: Escrever (“Adição ”, num_a, “ + ”, num_b,
“ = ”, num_a + num_b);
“S”: Escrever (“Subtração ”, numa_a,“ - ”,
num_b, “ = ”, num_a - num_b);
“M”: Escrever (“Multiplicação ”, numa_a,
“ * ”, num_b,“ = ”,
AIB12GP © Porto Editora

num_a * num_b);
“D”: Escrever (“Divisão ”, num_a,“ / ”, num_b,
“ = ”, numa_a / num_b)
Senão Escrever(“Opção inválida”);
FimSelecionar;
Fim.

AIB12GP_F05
Resolução das questões propostas no manual

2. 2.

AIB12GP © Porto Editora


Program Opera_Aritm; Algoritmo Com_est_rep;
var num_a, num_b:real; Variáveis i, n: inteiro;
op:char; Início
Begin Para i<-1 até 4 fazer
writeln('Digite um número inteiro'); Escrever(“Digite um número inteiro”);
readln(num_a); Ler(n);
writeln('Digite outro número inteiro (diferente Se (n mod 2 = 0) e (n > 10) Então
de 0)'); Escrever(n,“ é par e superior a dez”)
readln(num_b); Senão Se (n mod 2 <> 0) e (n < 10) Então
writeln('A - Adição');   Escrever
(n,“ é ímpar e inferior a
writeln('S - Subtração'); dez”);
writeln('M - Multiplicação'); FimSe;
writeln('D - Divisão'); FimSe;
writeln('Indique a sua opção '); FimPara;
readln(op); Fim.
case op of
'A':writeln ('Adição ', num_a, '+', num_b, '=', Program Com_est_rep;
num_a + num_b); var i, n: integer;
'S':writeln ('Subtração ', num_a, '-', num_b, Begin
'=', num_a - num_b); for i:=1 to 4 do
'M':writeln ('Multiplicação ', num_a, 'x', begin
num_b, '=', num_a * num_b); writeln('Digite um número inteiro ');
'D':writeln ('Divisão ', num_a, '/', num_b, '=', readln(n);
num_a / num_b); if (n mod 2 = 0) and (n > 10) then
else writeln('Opção inválida'); writeln(n,' é par e superior a dez')
end; else if (n mod 2 <> 0) and (n < 10) then
End. writeln (n,' é ímpar e inferior a
dez');
end;
End.
Exercícios de aplicação 9 – pág. 37
1.
Algoritmo Par_impar_10;
Variáveis n1, n2, n3, n4: inteiro;
Início
Escrever(“Digite um número inteiro”);
Ler(n1);
Se (n1 mod 2 = 0) e (n1 > 10) Então
Escrever(n1,“ é par e superior a dez”)
Senão Se (n1 mod 2 <> 0) e (n1 < 10) Então
Escrever (n1,“ é ímpar e inferior a dez”);
FimSe;
FimSe;
Escrever(“Digite um número inteiro”);
Ler(n2);
Se (n2 mod 2 = 0) e (n2 > 10) Então
Escrever(n2,“ é par e superior a dez”)
Senão Se (n2 mod 2 <> 0) e (n2 < 10) Então
Escrever (n2,“ é ímpar e inferior a dez”);
FimSe;
FimSe;
Escrever(“Digite um número inteiro”);
Ler(n3);
Se (n3 mod 2 = 0) e (n3 > 10) Então
Escrever(n3,“ é par e superior a dez”)
Senão Se (n3 mod 2 <> 0) e (n3 < 10) Então
Escrever(n3,“ é ímpar e inferior a dez”);
FimSe;
FimSe;
Escrever(“Digite um número inteiro”);
Ler(n4);
Se (n4 mod 2 = 0) (n4 > 10) Então
Escrever(n4,“ é par e superior a dez”)
Senão Se (n4 mod 2 <> 0) (n4 < 10) Então
Escrever(n4,“ é ímpar e inferior a dez”);
FimSe;
FimSe;
Fim.
Resolução das questões propostas no manual

3.

i < –1 i <= 4 n (n mod 2=0) and (n>10) (n mod 2 <> 0) and (n < 10) i ← i+1 Saída

1.º passo 1
1 <= 4
2.º passo 1
True
3.º passo 1 -  9
(9 mod 2=0) and (9>10)
4.º passo 1 -  9 False and False
False
(9 mod 2 <> 0) and (9 < 10)
5.º passo 1 -  9 – True and True
True
6.º passo 1 -  9 – – 9 é ímpar e inferior a dez

7.º passo - -  9 – – 2
2 <= 4
8.º passo -  9 – – 2
True
9.º passo - - 19 – – 2
(19 mod 2=0) and (19>10)
10.º passo - - 19 False and True – 2
False
(19 mod 2 <> 0) and (19 < 10)
11.º passo - - 19 – True and False 2
False
12.º passo - - 19 – – 3
3 <= 4
13.º passo - 19 – – 3
True
14.º passo - -  8 – 3
(8 mod 2=0) and (8>10)
15.º passo - -  8 True and False – 3
False
(8 mod 2 <> 0) and (8 < 10)
16.º passo - -  8 – False and True 3
False
17.º passo - -  8 – – 4
4 <= 4
18.º passo -  8 – – 4
True
19.º passo - - 14 – 4
(14 mod 2=0) and (14>10)
20.º passo - - 14 True and True – 4
True
AIB12GP © Porto Editora

21.º passo - - 14 – – 4 14 é par e superior a dez

22.º passo - - 14 – – 5
5 <= 4
23.º passo - 14 – – 5
False
Resolução das questões propostas no manual

4.

AIB12GP © Porto Editora


Program Int_For; Início
var i, linf, lsup: integer;
Begin
writeln('Indique o limite inferior ');
Escrever (”Indique o limite inferior”)
readln(linf);
writeln('Indique o limite superior ');
Ler (Linf)
readln(lsup);
if linf >= lsup then
writeln ('Os limites, indicados para o
Escrever (”Indique o limite superior”)
intervalo, estão errados')
else for i:=linf to lsup do
  writeln(i); Ler (Lsup)
End.

False
F
Exercícios de aplicação 10 – pág. 40 Linf > = Lsup
True i <- Linf
1.
Escrever (”Os limites
Início indicados, para o intervalo,
estão errados”)

i <- 1 False
i <= Lsup
True
Escrever (i)
False
i <= 4
i <- i + 1
True
Escrever (”Digite
um número inteiro”)
Fim
Ler (n) Program Intervalo_While;
var i, linf, lsup: integer;
Begin
(n mod 2 = 0) False writeln('Indique o limite inferior ');
and (n >10) readln(linf);
writeln('Indique o limite superior ');
True F
False
(n mod 2 = 0) readln(lsup);
Escrever (n,” é par e and (n >10) if linf >= lsup then
superior a dez”) writeln ('Os limites, indicados para o
True intervalo, estão errados')
Escrever (n,” é ímpar else begin
e inferior a dez”)   i := linf;
  while (i <= lsup) do
  begin
  writeln(i);
i <- i + 1 Fim   i := i + 1;
  end;
Program Com_est_rep_while;   end;
var i,n: integer; End.
Begin
i:=1;
while (i <= 4) do
begin
writeln('Digite um número inteiro ');
readln(n);
if (n mod 2 = 0) and (n > 10) then
writeln(n,' é par e superior a dez')
else if (n mod 2 <> 0) and (n < 10) then
  writeln(n,' é ímpar e inferior a dez');
i := i+1;
end;
End.
Resolução das questões propostas no manual

Exercícios de aplicação 11 – pág. 43 Início

1.
Escrever (”Indique o limite inferior”)
Início
Ler (Linf)
i <- 1

Escrever (”Indique o limite superior”)

Escrever (”Digite
um número inteiro”) Ler (Lsup)

Ler (n) False


F
Linf > = Lsup
True
Tr e i <- Linf

(n mod 2 = 0) False Escrever (”Os limites


and (n >10) indicados, para o intervalo,
estão errados”)
(n mod 2 = 0) False Escrever (i)
Escrever (n,” é par e and (n >10)
superior a dez”)
True i <- i + 1
Escrever (n,” é ímpar
e inferior a dez”)
i > Lsup
False
True

i <- i + 1
Fim
False
i>4
Program Intervalo_Repeat;
True var i, linf, lsup: integer;
Begin
Fim
writeln('Indique o limite inferior ');
readln(linf);
Program Com_est_rep_repeat; writeln('Indique o limite superior ');
var i,n: integer; readln(lsup);
Begin if linf >= lsup then
i:=1; writeln ('Os limites, indicados para o
repeat intervalo, estão errados')
writeln('Digite um número inteiro'); else begin
readln(n);   i := linf;
if(n mod 2 = 0)and(n > 10)then   repeat
AIB12GP © Porto Editora

writeln(n,' é par e superior a dez') writeln(i);


else if (n mod 2 <> 0)and(n < 10)then i := i + 1;
 writeln(n,' é ímpar e inferior a dez');   until i > lsup;
i := i + 1;   end;
until (i > 4)
End.
End.

Exercícios de aplicação 12 – pág. 45


1. (A) V  (B) F  (C) V (D) V (E) F
2. (A) 3  (B) 6  (C) 29,6  (D) 18,1  (E) 10
(F) Var temperaturas array[1..6] of real;
Resolução das questões propostas no manual

3. 2.

AIB12GP © Porto Editora


Program Pares_sapatilhas; Program numero_alunos;
var pares: array[1..5] of integer; var n_alunos: array[1..9] of integer;
dia, npesq, min, soma, i: integer; temp, j, i: integer;
media: real; Begin
flag: boolean; for i:=1 to 9 do
Begin begin
for i:=1 to 5 do writeln('Ano ', i,' Número de alunos = ');
begin readln(n_alunos[i]);
writeln ('Indique a quantidade produzida end;
no ', i,' dia'); for i:=1 to 9 do
readln(pares[i]); begin
end; for j:=9 downto i+1 do
for i:=1 to 5 do if n_alunos[j] > n_alunos[j-1] then
writeln(i,' dia = ', pares[i]); begin
writeln('Indique o dia a pesquisar (1 a 5)'); temp := n_alunos[j];
readln(dia); n_alunos[j] := n_alunos[j-1];
if (dia >= 1) and (dia <= 5) then n_alunos[j-1] := temp;
writeln(dia,' dia = ', pares[dia]) end;
else writeln('Indicou um número inválido'); end;
soma := 0; for i:=1 to 9 do
for i:=1 to 5 do writeln(n_alunos[i]);
soma := soma + pares[i]; End.
media := soma / 5;
3.
writeln('Média das quantidades registadas ',
Program Milho_armaz;
media);
var quantmilho: array[1..6] of real;
min := pares[1];
j, i: integer;
for i:=2 to 5 do
ch: real;
if pares[i] < min then
Begin
min := pares[i];
for i:=1 to 6 do
writeln('Quantidade mínima registada = ', min);
begin
writeln('Indique a quantidade a pesquisar ');
writeln ('Ano ', i,' quantidade armazenada
readln(npesq);
= ');
flag := false;
readln(quantmilho[i]);
for i:=1 to 5 do
end;
if pares[i] = npesq then
for j:=2 to 6 do
begin
begin
writeln (npesq,' está registado na
ch := quantmilho[j];
posição ', i);
i := j - 1;
flag := true;
while (i > 0) and (quantmilho[i] < ch) do
end;
begin
if flag = false then
quantmilho[i+1] := quantmilho[i];
writeln (npesq,' Não encontrado no vetor');
i := i - 1;
End.
quantmilho[i+1] := ch;
end;
Exercícios de aplicação 13 – pág. 50 end;
for i := 1 to 6 do
1. writeln ('Ano ', i,' quantidade = ',
Program Emb_cereais; quantmilho[i]);
var emb: array[1..8] of integer; End.
minimo, temp, j, i: integer;
Begin
for i:=1 to 8 do
begin
writeln ('dia ', i,' quantidade produzida
=');
readln(emb[i]);
end;
for i:=1 to 8 do
begin
minimo := i;
for j := i + 1 to 8 do
if emb[j] < emb[minimo] then
minimo := j;
temp := emb[i];
emb[i] := emb[minimo];
emb[minimo] := temp;
end;
for i:=1 to 8 do
writeln(emb[i]);
End.
Resolução das questões propostas no manual

2.
Exercícios de aplicação 14 – pág. 53 Program classif_alunos_disc;
var classif: array[1..4,1..4] of integer;
1. l, c: integer;
Program Cad_restaurantes; media, soma, max: real;
var quant: array[1..12] of integer; Begin
num, i, j, ch: integer; for l:=1 to 4 do
flag: boolean; for c:=1 to 4 do
Begin begin
for i:=1 to 12 do writeln ('Aluno ', l,' Disciplina ', c,'
begin Classificação (1 e 20) = ');
writeln ('Dia ', i,' Quantidade vendida readln(classif[l,c]);
= '); end;
readln(quant[i]); writeln('Indique o número do aluno a pesquisar
end; (1 a 4)');
for j:=2 to 12 do readln(l);
begin writeln('Indique o número da disciplina a
ch := quant[j]; pesquisar (1 a 4)');
i := j - 1; readln(c);
while (i > 0) and (quant[i] < ch) do writeln('Classificação do aluno ', l,'
begin na disciplina ', c,' = ', classif[l,c]);
quant[i+1] := quant[i]; writeln('Indique o número do aluno a pesquisar
i := i - 1; (1 a 4) ');
quant[i+1] := ch; readln(l);
end; for c:=1 to 4 do
end; writeln ('Aluno ', l,' Disciplina ', c,'
writeln('Indique o valor da quantidade vendida a Classificação ', classif[l,c]);
pesquisar '); writeln('Indique o número do aluno para calcular
readln(num); a média das classificações (1 a 4)');
i := 1; readln(l);
flag := false; soma := 0;
repeat for c:=1 to 4 do
if num = quant[i] then soma := soma + classif[l,c];
begin media := soma / 4;
flag := true; writeln('Aluno ', l,' Média = ', media);
writeln ('Numero encontrado na posicão writeln('Indique o número da disciplina para
= ', i); calcular a média das classificações
end; (1 a 4) ');
i := i + 1; readln(c);
until (i > 4); soma := 0;
if flag = false then for l:=1 to 4 do
  writeln('Número não encontrado'); soma := soma + classif[l,c];
End. media := soma / 4;
writeln('Disciplina ', c,' Média = ', media);
Exercícios de aplicação 15 – pág. 55 max := 0;
for l:=1 to 4 do
AIB12GP © Porto Editora

for c:=1 to 4 do
1. (A) Linha = 2 e Coluna = 3
if classif[l,c] > max then
(B) Linha = 3 e Coluna = 4 max := classif[l,c];
writeln('Máximo das classificações = ', max);
(C) 1414 End.
(D) Var km: array[1..3, 1..4] of integer;
Resolução das questões propostas no manual

3.

AIB12GP © Porto Editora


Exercícios de aplicação 16 – pág. 61 Program String2;
var caract: char;
1. (A) F  (B) V  (C) V cad_caract: string;
2. erro, n1: integer;
Program string1; n2: real;
var result,resulconcat,local,nomesc: string; Begin
posc,i,nc,ncaracteres: integer; writeln('Digite um inteiro entre 0 e 255');
flag: boolean; readln(n1);
Begin writeln('Caracter ASCII correspondente = ',
writeln('Digite o nome da sua escola '); chr(n1));
readln(nomesc); writeln('Digite um caracter ');
ncaracteres := length(nomesc); readln(caract);
writeln('O nome da sua escola tem ', writeln('Valor ASCII correspondente = ',
ncaracteres,' caracteres'); ord(caract));
writeln('O nome da sua escola em maiúsculas = ', writeln('Digite um texto');
upcase(nomesc)); readln(cad_caract);
i := 1; val(cad_caract, n2, erro);
flag := false; if erro <> 0 then
while (i <= ncaracteres) do writeln ('Impossível converter, erro
begin número ', erro)
if nomesc[i] = 'a' then else
begin writeln ('O texto ', cad_caract,' foi
writeln ('Primeira letra "a" na convertido em ', n2);
posição ', i); writeln('Digite um valor numérico inteiro');
i := ncaracteres; readln(n1);
flag := true; str(n1, cad_caract);
end; writeln('Valor numérico ', n1,' convertido em
i := i + 1; string ', cad_caract);
end; End.
if flag = false then
writeln ('Letra "a" inexistente nas palavras'); Exercícios de aplicação 17 – pág. 64
writeln('Digite a designação da localidade da
sua escola '); 1. (A) F  (B)  V  (C) V  (D) F
readln(local);
resulconcat := concat(nomesc,' - ', local); 2.
writeln('Resultado da concatenação = ', Program Area_triangulo;
resulconcat); var altura, base: real;
result := copy(nomesc, 1, 6); function Area_Triangulo: real;
writeln('Resutado da cópia = ', result); begin
ncaracteres := length(nomesc); area_triangulo := (base * altura) / 2;
for i := 1 to ncaracteres do end;
if nomesc[i] = '-' then Begin
posc := i; writeln('Digite a medida da altura do
nc := ncaracteres - (posc - 1); triângulo ');
delete(nomesc, posc, nc); readln(altura);
writeln('Resultado após apagar a localidade writeln('Digite a medida da base do
= ', nomesc); triângulo ');
result := concat('Frequento a ', nomesc); readln(base);
writeln(result); writeln('Área do triângulo = ', area_triangulo);
End. End.
3.
Program Area_retangulo;
var comp, larg: real;
procedure perimetro;
var med_perim: real;
begin
med_perim := 2 * comp + 2 * larg;
writeln('A medida do perímetro = ', med_perim);
end;
Begin
writeln('Digite a medida do comprimento do
triângulo ');
readln(comp);
writeln('Digite a medida da largura do
trângulo ');
readln(larg);
perimetro;
End.
Resolução das questões propostas no manual

3.
Exercícios de aplicação 18 – pág. 67 Program Pizzarias;
var dist: array[1..10] of real;
1. (A) F  (B) V  (C) F procedure insiradist;
2. var i: integer;
Program Op_artimeticas; begin
var num1, num2: real; for i:=1 to 10 do
op: char; begin
procedure adicao(a1, a2: real); writeln ('Digite a distância do dia ', i,'
begin = ');
writeln('Resultado da adição = ', a1 + a2); readln(dist[i]);
end; end;
function multiplicacao(m1, m2: real): real; end;
begin procedure ordenadist;
multiplicacao := m1 * m2; var ch: real;
end; i,j: integer;
Begin begin
writeln('Digite um valor real'); for j:=2 to 10 do
readln(num1); begin
writeln('Digite outro valor real'); ch := dist[j];
readln(num2); i := j - 1;
repeat while (i > 0) and (dist[i] > ch) do
writeln('A - Adição'); begin
writeln('M - Multiplicação'); dist[i+1] := dist[i];
writeln('S - Sair do programa'); i := i - 1;
writeln('Digite a sua opção '); dist[i+1] := ch;
readln(op); end;
case op of end;
'A' :adicao(num1,num2); end;
'M' :writeln ('Resultado da multiplicação procedure listagemordl;
= ',multiplicacao(num1, num2)); var i: integer;
AIB12GP © Porto Editora

'S' :writeln('Programa a terminar'); begin


else for i:=1 to 10 do
writeln ('Digitou uma opção errada '); writeln ('dia ', i,' distância percorrida = ',
end; dist[i]);
until (op='s') or (op='S'); end;
End. procedure apresenta;
var num: real;
posi, meio, fim, inicio: integer;
begin
writeln('Digite o valor da distância a
pesquisar');
readln(num);
fim := 10;
inicio := 1;
posi := 0;
repeat
meio := (inicio + fim) div 2;
if(num = dist[meio]) then
begin
posi := meio;
inicio := fim + 1;
end
else
begin
if (num < dist[meio]) then
fim := (meio - 1)
else
inicio := (meio + 1);
end;
until(inicio > fim);
if posi = 0 then
writeln('Número não encontrado')
else
writeln ('Número encontrado na posicão
= ', posi);
end;
Begin
insiradist;
ordenadist;
listagemordl;
apresenta;
End.
Resolução das questões propostas no manual

Private S ub Form1_Load(sender As Object, e As

AIB12GP © Porto Editora


Exercícios de aplicação 19 – pág. 76 EventArgs) Handles MyBase.Load
operando1 = operando2 = resultado = 0
1. operacao = ""
Public Class Form1 End Sub
Private Sub Button1_Click(sender As Object, e As Private Sub Button13_Click(sender As Object, e As
EventArgs) Handles Button1.Click EventArgs) Handles Button13.Click
End TextBox1.Text += "1"
End Sub End Sub
Private Sub Button2_Click(sender As Object, e As Private Sub Button14_Click(sender As Object, e As
EventArgs) Handles Button2.Click EventArgs) Handles Button14.Click
TextBox3.Text = TextBox1.Text + " " + TextBox1.Text += "2"
TextBox2.Text End Sub
End Sub Private Sub Button15_Click(sender As Object, e As
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button15.Click
EventArgs) Handles Button3.Click TextBox1.Text += "3"
TextBox1.Text() = "" End Sub
TextBox2.Text() = "" Private Sub Button10_Click(sender As Object, e As
TextBox3.Text() = "" EventArgs) Handles Button10.Click
End Sub TextBox1.Text += "4"
End Class End Sub
2. Private Sub Button11_Click(sender As Object, e As
Public Class Form1 EventArgs) Handles Button11.Click
Private Sub Form1_Load(sender As Object, e As TextBox1.Text += "5"
EventArgs) Handles MyBase.Load End Sub
Label3.Text = True Private Sub Button12_Click(sender As Object, e As
Label4.Text = False EventArgs) Handles Button12.Click
End Sub TextBox1.Text += "6"
Private Sub Button1_Click(sender As Object, e As End Sub
EventArgs) Handles Button1.Click Private Sub Button7_Click(sender As Object, e As
Dim var1 As Boolean EventArgs) Handles Button7.Click
var1 = Label3.Text TextBox1.Text += "7"
Label3.Text = Label4.Text End Sub
Label4.Text = var1 Private Sub Button8_Click(sender As Object, e As
End Sub EventArgs) Handles Button8.Click
Private Sub Button2_Click(sender As Object, e As TextBox1.Text += "8"
EventArgs) Handles Button2.Click End Sub
End Private Sub Button9_Click(sender As Object, e As
End Sub EventArgs) Handles Button9.Click
End Class TextBox1.Text += "9"
End Sub
Private Sub Button16_Click(sender As Object, e As
Exercícios de aplicação 20 – pág. 81 EventArgs) Handles Button16.Click
TextBox1.Text += "0"
1. End Sub
Public Class Form1 Private Sub Button6_Click(sender As Object, e As
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Button6.Click
EventArgs) Handles MyBase.Load operando1 = operando2 = resultado = 0
Dim num1, num2, media As Single operacao = ""
num1 =  Val(InputBox("Introduza primeiro TextBox1.Text = ""
valor ")) End Sub
num2 = Val(InputBox("Introduza segundo valor")) Private Sub Button1_Click(sender As Object, e As
media = (num1 + num2) / 2 EventArgs) Handles Button1.Click
MsgBox(" A média é: " & media) Carrega_operando1()
Me.Close() operacao = "/"
End Sub End Sub
End Class Private Sub Button2_Click(sender As Object, e As
EventArgs) Handles Button2.Click
2.
Carrega_operando1()
Public Class Form1
operacao = "*"
Dim operando1, operando2, resultado As Long
End Sub
Dim operacao As Char
Private Sub Button3_Click(sender As Object, e As
Private Sub Carrega_operando1()
EventArgs) Handles Button3.Click
operando1 = Val(TextBox1.Text)
Carrega_operando1()
TextBox1.Text = ""
operacao = "-"
End Sub
End Sub
Private Sub Button17_Click(sender As Object, e As
Private Sub Button4_Click(sender As Object, e As
EventArgs) Handles Button17.Click
EventArgs) Handles Button4.Click
Me.Close()
Carrega_operando1()
End Sub
operacao = "+"
End Sub
Resolução das questões propostas no manual

Private S ub Button5_Click(sender As Object, e As 2.


EventArgs) Handles Button5.Click Public Class Form1
operando2 = Val(TextBox1.Text) Private Sub MaskedTextBox1_TextChanged(sender As
If operacao <> "" Then Object, e As EventArgs) Handles
Select Case operacao MaskedTextBox1.TextChanged
Case "/" Dim idade As Integer
resultado = operando1 / operando2 If  Len(MaskedTextBox1.Text) = 4 And
Case "*" Len(TextBox1.Text) > 0 Then
resultado = operando1 * operando2 Label3.Text = TextBox1.Text + " "
Case "-" idade = Year(Now) - Val(MaskedTextBox1.Text)
resultado = operando1 - operando2 If idade < 0 Then
Case "+" Label3.Text += "Ainda vai nascer"
resultado = operando1 + operando2 ElseIf idade >= 18 Then
End Select Label3.Text += "É maior de idade"
TextBox1.Text = resultado Else
operacao = "" Label3.Text += "É menor de idade"
End If End If
End Sub End If
Private Sub TextBox1_TextChanged(sender As Object, End Sub
e As EventArgs) Handles Private Sub TextBox1_TextChanged(sender As Object,
TextBox1.TextChanged e As EventArgs) Handles
If Not IsNumeric(TextBox1.Text) Then TextBox1.TextChanged
TextBox1.Text = "" If Len(TextBox1.Text) > 0 Then
End If MaskedTextBox1.Enabled = True
End Sub Else
End Class MaskedTextBox1.Enabled = False
3. MaskedTextBox1.Text = ""
Public Class Form1 End If
Private Sub Form1_Load(sender As Object, e As End Sub
EventArgs) Handles MyBase.Load End Class
Label2.Text = InputBox("Insira o texto") 3.
End Sub Public Class Form1
Private Sub Button1_Click(sender As Object, e As Private Sub Form1_Load(sender As Object, e As
EventArgs) Handles Button1.Click EventArgs) Handles MyBase.Load
CheckBox1.Checked = False Dim mes As Integer
CheckBox2.Checked = False mes =  Val(InputBox("Introduza um valor entre 1 e
CheckBox3.Checked = False 12 inclusive."))
End Sub Select Case mes
Private Sub Button2_Click(sender As Object, e As Case 1
EventArgs) Handles Button2.Click MsgBox ("Mês: Janeiro. Estação: Inverno")
If CheckBox1.Checked Then Case 2
MsgBox(UCase(Label2.Text)) MsgBox ("Mês: Fevereiro. Estação: Inverno")
End If Case 3
If CheckBox2.Checked Then MsgBox ("Mês: Março. Estação: Inverno")
MsgBox(LCase(Label2.Text)) Case 4
End If MsgBox ("Mês: Abril. Estação: Primavera")
If CheckBox3.Checked Then Case 5
MsgBox(Len(Label2.Text)) MsgBox ("Mês: Maio. Estação: Primavera")
End If Case 6
End Sub MsgBox ("Mês: Junho. Estação: Primavera")
Private Sub Button3_Click(sender As Object, e As Case 7
EventArgs) Handles Button3.Click MsgBox("Mês: Julho. Estação: Verão")
Me.Close() Case 8
End Sub MsgBox ("Mês: Agosto. Estação: Verão")
End Class Case 9
MsgBox ("Mês: Setembro. Estação: Verão")
Exercícios de aplicação 21 – pág. 90 Case 10
MsgBox ("Mês: Outubro. Estação: Outono")
1. Case 11
Private S
 ub Form1_Load(sender As Object, e As MsgBox ("Mês: Novembro. Estação: Outono")
EventArgs) Handles MyBase.Load Case 12
Dim a As Integer MsgBox ("Mês: Dezembro. Estação: Outono")
Case Else
AIB12GP © Porto Editora

a = Val(InputBox("Introduza um número inteiro"))


If a <> 0 Then MsgBox("Mês indicado errado")
MsgBox("O número indicado é diferente de zero") End Select
End If Close()
Me.Close() End Sub
End Sub End Class
Resolução das questões propostas no manual

4. Public Class Form1

AIB12GP © Porto Editora


Public Class Form1 Private Sub Button1_Click(sender As Object, e As
Private Sub MaskedTextBox1_TextChanged(sender As EventArgs) Handles Button1.Click
Object, e As EventArgs) Handles Dim v1, v2 As Double
MaskedTextBox1.TextChanged v1 = Val(TextBox1.Text)
Dim valor As Long v2 = Val(TextBox2.Text)
If Len(MaskedTextBox1.Text) > 0 Then If v1 <> 0 And v2 <> 0 Then
valor = Val(MaskedTextBox1.Text) If CheckBox1.Checked Then
End If MsgBox("A soma é " & soma(v1, v2))
If valor < 1000 Then ElseIf CheckBox2.Checked Then
Label3.Text = "Sem desconto" min(v1, v2)
ElseIf valor < 10000 Then ElseIf CheckBox3.Checked Then
Label3.Text =  "Desconto de " + MsgBox("A média é " & media(v1, v2))
CStr(valor * 0.1) ElseIf CheckBox4.Checked Then
Else max(v1, v2)
Label3.Text =  "Desconto de " + End If
CStr(valor * 0.2) End If
End If End Sub
End Sub Private Sub Button2_Click(sender As Object, e As
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button2.Click
EventArgs) Handles Button1.Click TextBox1.Text = ""
Me.Close() TextBox2.Text = ""
End Sub CheckBox1.Checked = False
End Class CheckBox2.Checked = False
CheckBox3.Checked = False
5. CheckBox4.Checked = False
Public Class Form1 End Sub
Private Sub Button1_Click(sender As Object, e As Private Sub Button3_Click(sender As Object, e As
EventArgs) Handles Button1.Click EventArgs) Handles Button3.Click
Dim a, valor As Integer Me.Close()
ListView1.Items.Clear() End Sub
If Val(MaskedTextBox1.Text) > 0 Then Private Sub CheckBox1_CheckedChanged(sender As
For a = 1 To Val(MaskedTextBox1.Text) Object, e As EventArgs) Handles
valor = a Mod 2 CheckBox1.CheckedChanged
If valor = 0 Then If CheckBox1.Checked Then
ListView1.Items.Add(a)   CheckBox2.Checked = False
End If   CheckBox3.Checked = False
Next   CheckBox4.Checked = False
End If End If
End Sub End Sub
Private Sub Button2_Click(sender As Object, e As Private Sub CheckBox2_CheckedChanged(sender As
EventArgs) Handles Button2.Click Object, e As EventArgs) Handles
Me.Close() CheckBox2.CheckedChanged
End Sub If CheckBox2.Checked Then
End Class   CheckBox1.Checked = False
  CheckBox3.Checked = False
Exercícios de aplicação 22 – pág. 93   CheckBox4.Checked = False
End If
1. End Sub
Module Module1 Private Sub CheckBox3_CheckedChanged(sender As
Function media(ByVal x As Double, ByVal y As Object, e As EventArgs) Handles
Double) As Double CheckBox3.CheckedChanged
Return ((x + y) / 2) If CheckBox3.Checked Then
End Function   CheckBox1.Checked = False
Function soma(ByVal a As Double, ByVal b As   CheckBox2.Checked = False
Double) As Double   CheckBox4.Checked = False
Return (a + b) End If
End Function End Sub
Sub max(ByVal c As Double, ByVal d As Double) Private Sub CheckBox4_CheckedChanged(sender As
If c > d Then Object, e As EventArgs) Handles
MsgBox("O máximo é " & c) CheckBox4.CheckedChanged
Else If CheckBox4.Checked Then
MsgBox("O máximo é " & d)   CheckBox1.Checked = False
End If   CheckBox2.Checked = False
End Sub   CheckBox3.Checked = False
Sub min(ByVal a As Double, ByVal b As Double) End If
If a > b Then End Sub
MsgBox("O mínimo é " & b) End Class
Else
MsgBox("O mínimo é " & a)
End If
End Sub
End Module
Resolução das questões propostas no manual

2. 8. · Definição da solução interativa a desenvolver.


Public Class Form1
· Seleção das ferramentas a utilizar no desenvolvimento.
Function GetCidade() As String
Return (InputBox("Introduza o nome de uma · Criação e edição de formas geométricas e textuais.
cidade"))
End Function
· Modelação da ação física do sistema.
Private Sub Form1_Load(sender As Object, e As 9. Google Sketchup; WorldToolKit para Windows; Blender.
EventArgs) Handles MyBase.Load
Dim cidade As String
While Len(cidade) < 1 Unidade 3
cidade = GetCidade()
If Len(cidade) > 0 Then
MsgBox("A cidade escolhida foi " & cidade) Exercícios de aplicação 1 – pág. 116
Close()
End If 1. Multimédia é a utilização diversificada de meios, tais como
End While
textos, gráficos, imagens, vídeo, etc.
End Sub
End Class 2. 
Estáticos e dinâmicos.
3. 
Imagem, texto - estáticos
Unidade 2 Áudio, vídeo, animação – dinâmicos
4. 
Os tipos de media estáticos são discretos ou espaciais,
agrupam elementos de informação independentes do
Exercícios de aplicação 1 – pág. 101
tempo, alterando apenas a sua dimensão no espaço,
1. GUI (Graphical User Interface) – interface gráfico de enquanto que os tipos de media dinâmicos são contínuos
visualização e interação entre o utilizador e o computador. ou temporais, agrupam elementos de informação
2. 
Em 1962, Morton Heilig, cineasta, patenteou um dependentes do tempo.
simulador denominado Sensorama e, em 1968, Ivan 5. 
Os tipos de media vídeo correspondem ao movimento
Sutherland criou o primeiro sistema Head-Mounted Three sequencial de um conjunto de imagens, enquanto os tipos
Dimensional Display. de média animação correspondem ao movimento
3. 
Realidade virtual consiste em ambientes simulados sequencial de um conjunto de gráficos.
através do computador, permitindo aos utilizadores 6. 
Através da digitalização e de um sintetizador MIDI.
interagir, visualizar e manipular objetos. 7. Capturados e sintetizados.
4. Realidade imersiva – consiste na sensação de inclusão 8. 
Os tipos de media capturados são aqueles que resultam de
experimentada pelo utilizador de um ambiente virtual, ou uma recolha do exterior para o computador, enquanto os
seja, o utilizador sente-se dentro do ambiente e a interagir tipos de media sintetizados são aqueles que são
com os seus elementos. produzidos pelo próprio computador através da utilização
Realidade não imersiva – consiste na sensação de não de hardware e software específico.
inclusão experimentada pelo utilizador, ou seja, o
9. Online e offline.
utilizador não se sente como parte do ambiente.
10. Os tipos de media online significam a disponibilidade do
5. (A) 8  (B)  2  (C) 7  (D)  1  (E)  4  (F)  3  (G)  6  (H)  5
uso imediato dos conteúdos; enquanto que os tipos de
6. (A)  3  (B)  2  (C)  1  (D)  3  (E)  2  (F)  3  (G)  3  (H)  2 media offline os conteúdos são efetuados através da
(I)  2 utilização de suporte de armazenamento.
11. A divulgação dos conteúdos do tipos de media online, tal
Exercícios de aplicação 2 – pág. 106 como a World Wide Web; enquanto que os tipos de media
1. 
Consiste na possibilidade do utilizador dar instruções ao offline os conteúdos são divulgados através de CD, DVD.
sistema através de ações efetuadas neste e nos seus 12. Linearidade é a passagem de conteúdos multimédia
objetos. através de ações pré-programadas, enquanto a
2. Comunicação, feedback, controlo e resposta, tempo de não-linearidade é a passagem de conteúdos de
resposta, adaptabilidade. multimédia em que o utilizador interage com o
desenrolar da ação.
3. (A) 2  (B) 1  (C) 3
13. Baseados em páginas e baseados no tempo.
4. a) Limitado  b)  Limitado c) Coativa d) Coativa
14. Os tipos de produtos multimédia baseados em páginas
5. Elevada, Média e Baixa
são desenvolvidos segundo uma estrutura organizacional
6. (A) 2  (B) 4  (C) 5  (D) 8  (E) 6  (F) 7  (G)  1  (H) 3 do tipo espacial, enquanto os baseados no tempo são
AIB12GP © Porto Editora

7. · Funcionamento dos dispositivos periféricos e a sua desenvolvidos segundo uma estrutura organizacional
ergonomia. assente no tempo.
· Contributo para a imersão do utilizador. 15. (A) V  (B)  F  (C)  F  (D)  V  (E)  V
· Aspetos visuais; Qualidade adequada de som. 16. Amostragem, quantização e codificação.
Resolução das questões propostas no manual

17. O sinal digital é o sinal que circulam no computador e o 8. a) Resolução é a quantidade de informação que uma

AIB12GP © Porto Editora


sinal analógico é produzido pelo microfone. imagem contém por unidade de comprimento, isto é,
18. A amostragem de um sinal é o processo que permite a número de píxeis por polegada enquanto que a
retenção de um conjunto finito de valores discretos dos profundidade é o número de bits usados para
sinais analógicos. representar a cor de um píxel numa imagem (bpp, bits
por píxel). O tamanho de um ficheiro de imagem é
19. A quantização de um sinal, consiste em atribuir-lhe um
medido pela resolução, quanto maior for a resolução
determinado valor numa gama de níveis que o conversor
maior é o tamanho do ficheiro.
Analógico/Digital apresenta.
b) Indexação de uma cor consiste em representar as
20. Através da modulação PCM, utilizando impulsos de
cores dos píxeis por meio de índices de uma tabela
amplitude de duração constante e valores lógicos 0 ou 1.
(Lookup Table). A paleta de cores é a designação
utilizada para qualquer subconjunto de cores do total
Exercícios de aplicação 2 – pág. 126 suportado pelo sistema gráfico do computador. O
1. 
Guardar os dados de forma permanente ou tamanho de um ficheiro é medido pela resolução,
semipermanente. quanto maior for a resolução maior é o tamanho do
ficheiro.
2. 
Magnéticos, semicondutores e óticos.
9. a)  É a cor que resulta da mistura de nenhuma outra cor.
3. 
Magnético: Disco rígido e Bandas magnéticas
Semicondutor: Pen Drives, MMC, SmartMedia, SD b) A cor que resulta da mistura de quantidades iguais de
CompactFlash: duas cores primárias.
Ótico - CD-RW, DVD-RAM, DVD+RW, CD-R, Mini-CD e c) São cores que resultam da mistura de quantidades
CD-ROM iguais de duas cores primárias adjacentes.
4. (A) 2  (B) 3  (C) 1 d)  São cores complementares no modelo RGB
5. (A) V  (B) F  (C) V  (D) V  (E) V  (F) V  (G) F  (H) V 10. (D)
(I) V 11. a) Maior saturação porque existe um maior brilho da cor;
6. (A) 3  (B) 2  (C) 1  (D) 4 c) Menor saturação porque existe um menor brilho da cor.
7. (A) F  (B) F  (C) V  (D) V  (E) F 12. O modelo RGB pode ser representado por um cubo,
8. (A) 3  (B) 4  (C) 2  (D) 6 (E) 5  (F) 7  (G) 1 usando um sistema de coordenadas cartesianas para
especificar as diferentes cores que variam entre 0 e 1.
O modelo HSV é representado por um cone com valor
Unidade 4 angular entre 0 e 360 graus.
13. Luminância e crominância.
Exercícios de aplicação 1 – pág. 140
14. A luminância é o brilho e a luz refletida, enquanto que, a
1. b) crominância é a tonalidade e a saturação.
2. São métodos que permitem especificar uma determinada 15. Porque permite transmitir componentes de cor em menos
cor. tempo e permite transmitir imagens a preto e branco e
imagens de cor de forma independente.
3. 
No modelo aditivo – na ausência de luz ou de cor.
No modelo subtrativo – na mistura de cores. 16. Para o desenvolvimento de páginas web é utilizado uma
paleta de 216 cores seguras foi criada a partir da
4. a) 1  b) 255  c)  100  d) FF
combinação de vermelho, verde e azul com apenas os 6
5. Monitores e televisões. códigos hexadecimais.
6. a) A figura 1, tem maior profundidade de cor, mais bits
por píxel (bpp) e com mais resolução, píxeis por Exercícios de aplicação 2 – pág. 144
polegada (ppi).
1. (A) V  (B)  F  (C) F  (D) V  (E) F
b)  ppi (píxeis por polegada).
2. a) Vetorial b)  Mapa de bits
c) A figura 1, porque tem mais bits por píxel, (bpp) maior
profundidade de cor. c) Vetorial d)  Mapa de bits
7. a) A figura 3. Porque tem maior profundidade de cor e
maior resolução de imagem. Exercícios de aplicação 3 – pág. 157
b) 
A figura 4 é monocromática, logo tem de profundidade
Exercício de aplicação prática
de 1 bit.
Resolução das questões propostas no manual

Exercícios de aplicação 4 – pág. 166 Exercícios de aplicação 7 – pág. 194


1. a) XCF b)  142,2 kb 1. Taxa de amostragem é a frequência segundo a qual vai ser
c)  RGB Color d) 213 × 237 pixels efetuada a amostra do sinal, sendo medida em Hertz (Hz).
2. (A) V  (B) F  (C) F  (D) V
Exercícios de aplicação 5 – pág. 173 3. 54 100 × 16 × 4 = 3 462 400 kbps ou 3381,25 Mbps
4. Ficheiros pequenos, mais rápidos de enviar pela rede e
Exercício de aplicação prática mais fáceis de transportar.

Exercícios de aplicação 6 – pág. 186 5. Os ficheiros de áudio não comprimidos apresentam uma
grande quantidade de dados, são ficheiros grandes.
1. a) e b)  2. a)  3. (B)  4. (C) Os ficheiros comprimidos são obtidos através de um
5. 
A tabela ASCII utiliza conjuntos de 7 bits para representar conjunto de algoritmos em que se retira a informação
128 caracteres (27 caracteres), muito deles adequados à redundante através de codecs, resultando ficheiros mais
língua inglesa, por ter sido desenvolvido nos Estados pequenos.
Unidos. 6. (A) 4  (B)  6  (C) 5  (D) 1  (E) 3  (F) 2
O Unicode é um código que define todos os caracteres da 7. 
Compressão com perdas existe uma perda da informação
maior parte das línguas do mundo. Permite utilizar original para criar um ficheiro menor, enquanto que, numa
conjuntos até 4 bytes (32 bits) para codificar os caracteres, compressão sem perdas, não é afetada a qualidade da
sendo mais extenso que a tabela ASCII. informação original, mas resulta um ficheiro de tamanho
EBCDIC desenvolvido pela IBM é um código de 8 bits maior, embora não tão grande como um ficheiro não
utilizado em texto e na maioria das operações comprimido.
relacionadas com as comunicações e o conjunto das
8.
impressoras.
6. 
São conjunto de caracteres que podem corresponder a Exercício de aplicação prática
letras, números ou símbolos. São armazenadas em
Realizado através do programa Gravador de áudio.
ficheiros de fontes onde são descritas as suas
características, físicas, ou seja, como são visualizadas no 9. 
ecrã e impressoras.
Exercício de aplicação prática
7. 
Fontes bitmapped são guardadas como uma matriz de
píxeis e, por conseguinte, ao serem ampliadas, perdem Realizado através do programa Windows Média Player.
qualidade. 10. 
Fontes escaladas são definidas matematicamente e
podem ser interpretadas (rendering) para qualquer Exercício de aplicação prática
tamanho que forem requisitadas. Podem ser ampliadas Realizado através do programa Windows Média Player.
sem perder a qualidade das suas formas (Type1, TrueType,
11. (A) 7  (B) 4  (C)  6  (D) 2  (E) 1  (F) 5  (G) 8  (H)  3
OpenType).
Exemplo fontes bitmapped: Courier, MS Sans Serif 12. (A) 1  (B)  4  (C) 2  (D)  3  (E) 5
Exemplo fontes escaladas: Lucinda Console, Times New
Roman Exercícios de aplicação 8 – pág. 202
8. Pontos (pt) que corresponde a 0,3528 mm. 1. (A) 2  (B) 1  (C) 3
9. (A) 3  (B)  2 (C)  1 2. (A) 1  (B) 3  (C) 2
10. (A)  F  (B) V  (C)  F  (D)  V  (E)  F 3. (A) V  (B) F  (C) F  (D) V  (E) V
11. São programas gestores que permitem ao utilizador gerir 4. 
CODEC (Compression/Decompression), são algoritmos
as fontes instaladas. O Windows disponibiliza o programa implementados sob a forma de programas especiais que
Tipos de letra acessível no Painel de controlo. permitem codificar e descodificar os ficheiros de áudio e
12.  de vídeo.

Exercício de aplicação prática 5. MPEG-1 e DivX.


6. (A) 3  (B) 2  (C) 1
Terá que ser realizado através do programa Tipos de
7.
AIB12GP © Porto Editora

letra.
13. Elevado número de fontes instaladas no Windows podem Exercício de aplicação prática
atrasar as operações de processamento pela necessidade
Realizado através do utilitário Sistema.
de uma maior utilização da memória RAM e o espaço
ocupado pelos ficheiros de fontes guardados no Windows. 8.
Exercício de aplicação prática

Realizado através do programa Movie Maker.


Resolução das questões propostas no manual

5. 1) Transform 2) Circle Tool

AIB12GP © Porto Editora


Exercícios de aplicação 9 – pág. 209
3) Rectangle Tool 4) Star Tool
1. 
É definida como a produção do movimento de imagens 5) Polygon Tool 6) Gradient Tool
utilizando o computador.
7) Spline Tool 8) Draw Tool
2. 
Na animação 2D as imagens são criadas num espaço
9) Width Tool 10) Fill Tool
bidimensional, enquanto que, as imagens a 3D são criadas
num espaço tridimensional. 11) Eyedrop Tool 12) Text Tool
3. (B), (C) e (D) 13) Sketch Tool
4. Captura de movimento ou Motion Capture (MoCap) e
digitalização de imagens. Exercícios de aplicação 11 – pág. 222
5. Adobe AfterEffects e Adobe Flash. 1. É o painel onde ocorrem as ações da animação.
6. São camadas que representam imagens, gráficos, texto, 2. 1: (D)  2: (G)  3: (E)  4: (B)  5: (F)  6: (A)  7: (C)
vídeo, áudio e animação. 3. 
É mostrar em cada momento os parâmetros relacionados
7. São gráficos ou imagens que podem ser integrados numa com as camadas criadas.
animação e movimentados no ecrã. 4. É apresentar a hierarquia das camadas do trabalho, sendo
8. 
Aplicados em jogos de vídeo sob a forma de naves e possível efetuar operações sobre as camadas.
personagens.
9.  Exercícios de aplicação 12 – pág. 228
Exercício de aplicação prática 1. (A)
2. (B)
10.
3.
Exercício de aplicação prática
Exercício de aplicação prática
11. São frames especiais onde o utilizador pode especificar as
características de um movimento a apresentar por um 4.
objeto. Exercício de aplicação prática
12. a) Frame-by-frame – permite definir cada mudança
efetuada no movimento de uma animação. 5.
b) Motion tweening – permite a movimentação de objetos Exercício de aplicação prática
num intervalo de tempo.
c) Shape tweening – permite animar a transformação de Exercícios de aplicação 13 – pág. 239
objetos num intervalo de tempo.
1. Streaming; Download, Download progressivo.
13. Sequência rápida de um conjunto de imagens estáticas
2. a) 
O Streaming é o processo de transmissão de dados em
que se alteram no tempo.
tempo real e o download é o processo de transmissão
14. de dados a partir de um servidor para o computador.
Exercício de aplicação prática b) O download é o processo de transmissão de dados a
partir de um servidor para o computador do utilizador
Exercícios de aplicação 10 – pág. 215 e o download progressivo permite visualizar ou ouvir
uma aplicação multimédia enquanto decorre o seu
1. 1:  (E)  2: (B)  3: (G)  4: (C)  5: (F)  6: (A)  7: (D) download.
2. SIFZ c) 
Download progressivo permite visualizar ou ouvir uma
3. bmp, gif, jpeg e png. aplicação multimédia enquanto decorre o seu download
e o streaming é o processo de transmissão de dados em
4. a) Menu Layer, New Layer; Menu Toolbox, Rotate Tool
tempo real.
b) Barra Toolbar, comando Render
3. Cliente/servidor
c) Timebar
4. Servidor multimédia é um computador com capacidade
d) Menu View comando Show Guides para armazenar, transmitir e integrar todos os conteúdos
e) Barra Toolbar comando Preview multimédia envolvidos, especializado na transmissão
f) Menu layer comando Group Layer rápida dos dados.
5. Apache e o IIS (Internet Information Server).
6. O Flumotion e o Helix Universal Media Server.

Você também pode gostar