marcilia andrade campos [email protected] mac centro de informática grupo de redes e sistemas...

61
Marcilia Andrade Campos Marcilia Andrade Campos [email protected] [email protected] http://www.di.ufpe.br/~mac http://www.di.ufpe.br/~mac Centro de Informática Centro de Informática Grupo de Redes e Sistemas Grupo de Redes e Sistemas Distribuídos Distribuídos Avaliação de Desempenho de Avaliação de Desempenho de Sistemas Sistemas

Upload: amanda-de-caminha-alvaro

Post on 07-Apr-2016

214 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Marcilia Andrade Campos mac@di.ufpe.br mac Centro de Informática Grupo de Redes e Sistemas Distribuídos Avaliação de Desempenho

Marcilia Andrade CamposMarcilia Andrade [email protected]@di.ufpe.brhttp://www.di.ufpe.br/~machttp://www.di.ufpe.br/~mac

Centro de InformáticaCentro de Informática

Grupo de Redes e Sistemas DistribuídosGrupo de Redes e Sistemas Distribuídos

Avaliação de Desempenho de SistemasAvaliação de Desempenho de Sistemas

Page 2: Marcilia Andrade Campos mac@di.ufpe.br mac Centro de Informática Grupo de Redes e Sistemas Distribuídos Avaliação de Desempenho

Programa Programa Conceitos Básicos Variáveis Aleatórias Intervalo de Confiança/ Teste de Hipóteses Correlação Regressão Experimentos Fatoriais Teoria das Filas (Processos Estocásticos)

Page 3: Marcilia Andrade Campos mac@di.ufpe.br mac Centro de Informática Grupo de Redes e Sistemas Distribuídos Avaliação de Desempenho

Bibliografia BásicaBibliografia Básica Arnold O. Allen, Probability, Statistics, and Queueing Theory with Computer Science Applications Academic Press, New York, 1978.

R. Jain The Art of Computer Systems. Techniques for Experimental Design, Measurement, Simulation, and Modeling. John Wiley & Sons, 1991.

K. S. Trivedi Probability and Statistics with Reliability, Queueing and Computer Science Applications. Prentice_Hall, 1982.

Page 4: Marcilia Andrade Campos mac@di.ufpe.br mac Centro de Informática Grupo de Redes e Sistemas Distribuídos Avaliação de Desempenho

Conceitos BásicosConceitos Básicos

Page 5: Marcilia Andrade Campos mac@di.ufpe.br mac Centro de Informática Grupo de Redes e Sistemas Distribuídos Avaliação de Desempenho

Análise de Desempenho de SistemasAnálise de Desempenho de Sistemas

Aprender técnicas para obter um alto desempenho de um sistema com um baixo custo

..................USAR ESSAS TÉCNICAS

Page 6: Marcilia Andrade Campos mac@di.ufpe.br mac Centro de Informática Grupo de Redes e Sistemas Distribuídos Avaliação de Desempenho

Um sistema computacional pode ser:

- componente de hardware- banco de dados- rede de computadores

Page 7: Marcilia Andrade Campos mac@di.ufpe.br mac Centro de Informática Grupo de Redes e Sistemas Distribuídos Avaliação de Desempenho

Exemplos de problemas Exemplos de problemas relacionados com desempenhorelacionados com desempenho

Análise da performance de 2 algoritmos. Comparação entre técnicas clássicas de

garbage collection ou tipos de CPU. O tempo médio de respostas de um banco

de dados é 3’’. Durante um período de observação de 1’o tempo ocioso do sistema foi de 10’’. Qual o número médio de pedidos completados, durante o intervalo de tempo observado?

Page 8: Marcilia Andrade Campos mac@di.ufpe.br mac Centro de Informática Grupo de Redes e Sistemas Distribuídos Avaliação de Desempenho

Tipos de técnicas de avaliação de Tipos de técnicas de avaliação de desempenhodesempenho

Medição

Simulação

Modelagem analítica

Page 9: Marcilia Andrade Campos mac@di.ufpe.br mac Centro de Informática Grupo de Redes e Sistemas Distribuídos Avaliação de Desempenho

Métrica: critério usado para quantificar a performance de um sistema.

Exemplos de métricas geralmente usadas:

- vazão - tempo de resposta

Page 10: Marcilia Andrade Campos mac@di.ufpe.br mac Centro de Informática Grupo de Redes e Sistemas Distribuídos Avaliação de Desempenho

Workload: lista de requisições ao sistema, carga de trabalho de um sistema.

Modelagem analítica: workload expressa em termos de probabilidade.

Simulação: trace medido em tempo real

Medição: execuções do sistema

Page 11: Marcilia Andrade Campos mac@di.ufpe.br mac Centro de Informática Grupo de Redes e Sistemas Distribuídos Avaliação de Desempenho

BenchmarksBenchmarks

The process of performance comparison for two or more systems by measurements is called benchmarking, and the worloads used in the measurements are called benchmarks.

Page 12: Marcilia Andrade Campos mac@di.ufpe.br mac Centro de Informática Grupo de Redes e Sistemas Distribuídos Avaliação de Desempenho

Passos para um estudo de avaliação Passos para um estudo de avaliação de desempenhode desempenho

Definir os objetivos e limites do sistema.Selecionar as métricasSelecionar a técnicas de avaliaçãoAnalisar e interpretar os dadosRefazer todo o estudo, se necessárioApresentar os resultados

Page 13: Marcilia Andrade Campos mac@di.ufpe.br mac Centro de Informática Grupo de Redes e Sistemas Distribuídos Avaliação de Desempenho

Criteria for Selecting an Criteria for Selecting an Evaluation TechniqueEvaluation Technique

CRITERION ANALYTICALMODELING

SIMULATION MEASUREMENT

Stage Any Any Postprototype

Timerequired

Small Medium Varies

Tools Analysts ComputerLanguages

Instrumentation

Accuracy Low Moderate Varies

Trade-offevalution

Easy Moderate Difficult

Cost Small Medium High

Saleability Low Medium High

Page 14: Marcilia Andrade Campos mac@di.ufpe.br mac Centro de Informática Grupo de Redes e Sistemas Distribuídos Avaliação de Desempenho

Estatística DescritivaEstatística Descritiva

Page 15: Marcilia Andrade Campos mac@di.ufpe.br mac Centro de Informática Grupo de Redes e Sistemas Distribuídos Avaliação de Desempenho

CAP. 12 - SUMARIZANDO DADOS MENSURADOSCAP. 12 - SUMARIZANDO DADOS MENSURADOS

12.1 CONCEITOS DE PROBABILIDADE E ESTATÍSTICA 12.2 SUMARIZANDO DADOS POR UM ÚNICO NÚMERO 12.3 MÉDIA, MEDIANA E MODA. ESCOLHA 12.4 ERROS COMUNS 12.5 MÉDIA GEOMÉTRICA 12.6 MÉDIA HARMÔNICA 12.7 MÉDIA DE UMA RAZÃO 12.8 SUMARIZANDO VARIABILIDADE 12.9 SELECIONANDO A MEDIDA DE DISPERSÃO

Page 16: Marcilia Andrade Campos mac@di.ufpe.br mac Centro de Informática Grupo de Redes e Sistemas Distribuídos Avaliação de Desempenho

Média aritméticaMédia aritmética

NXnXXX ...321 .

NX

N

XjN

j 1X

Page 17: Marcilia Andrade Campos mac@di.ufpe.br mac Centro de Informática Grupo de Redes e Sistemas Distribuídos Avaliação de Desempenho

Média aritmética ponderadaMédia aritmética ponderada

wkwwwkXkXwXw

...21...2211 .

wwX

X

Page 18: Marcilia Andrade Campos mac@di.ufpe.br mac Centro de Informática Grupo de Redes e Sistemas Distribuídos Avaliação de Desempenho

MedianaMediana

É o valor central ou a média aritmética dos dois valores centrais.

Mediana

cfmediana

fN

L

121

Page 19: Marcilia Andrade Campos mac@di.ufpe.br mac Centro de Informática Grupo de Redes e Sistemas Distribuídos Avaliação de Desempenho

Em que:L1 = limite inferior da classe mediana (isto é, da classe que contém a mediana);N = número de itens dos dados (isto é, freqüência total);(f)1 = soma de todas as freqüências das classes inferiores à mediana;fmediana = freqüência da classe mediana;c = amplitude do intervalo da classe mediana.

Page 20: Marcilia Andrade Campos mac@di.ufpe.br mac Centro de Informática Grupo de Redes e Sistemas Distribuídos Avaliação de Desempenho

ModaModa

É o valor que ocorre com a maior freqüência, ou seja, é o valor mais comum. A moda pode não existir e, mesmo que exista, pode não ser única.

.21

11 cLModa

Page 21: Marcilia Andrade Campos mac@di.ufpe.br mac Centro de Informática Grupo de Redes e Sistemas Distribuídos Avaliação de Desempenho

Em que:L1 = limite inferior da classe modal (isto é, a que contém a moda);1 = excesso da freqüência modal sobre a da classe imediatamente inferior;2 = excesso da freqüência modal sobre a da classe imediatamente superior;c = amplitude do intervalo da classe modal.

Page 22: Marcilia Andrade Campos mac@di.ufpe.br mac Centro de Informática Grupo de Redes e Sistemas Distribuídos Avaliação de Desempenho

Média geométrica GMédia geométrica G

....321 XnXXXG

Page 23: Marcilia Andrade Campos mac@di.ufpe.br mac Centro de Informática Grupo de Redes e Sistemas Distribuídos Avaliação de Desempenho

Média harmônica Média harmônica

.1111

1

X

N

XjN

H

j

Page 24: Marcilia Andrade Campos mac@di.ufpe.br mac Centro de Informática Grupo de Redes e Sistemas Distribuídos Avaliação de Desempenho

Quartis, decis e percentisQuartis, decis e percentis

De maneira geral, os quartis,

decis e percentis e outros valores obtidos mediante subdivisões dos dados em partes iguais são denominados quantis.

Page 25: Marcilia Andrade Campos mac@di.ufpe.br mac Centro de Informática Grupo de Redes e Sistemas Distribuídos Avaliação de Desempenho

Desvio padrãoDesvio padrão

N

XXjs

N

j

1

2

Page 26: Marcilia Andrade Campos mac@di.ufpe.br mac Centro de Informática Grupo de Redes e Sistemas Distribuídos Avaliação de Desempenho

VariânciaVariância

A variância de um conjunto de

dados é definida como o quadrado do desvio padrão e é, deste modo, representada por s2.

Page 27: Marcilia Andrade Campos mac@di.ufpe.br mac Centro de Informática Grupo de Redes e Sistemas Distribuídos Avaliação de Desempenho

Para as distribuições normaisPara as distribuições normais

(a) 68,27% dos casos estão incluídos entre X -s e X + s (isto é, um desvio padrão de cada lado da média);(b) 95,45% dos casos estão incluídos entre X - 2s e X + 2s (isto é, dois desvios padrões de cada lado da média);(c) 99,73% dos casos estão incluídos entre X - 3s e X + 3s (isto é, três desvios padrões de cada lado da média).

Page 28: Marcilia Andrade Campos mac@di.ufpe.br mac Centro de Informática Grupo de Redes e Sistemas Distribuídos Avaliação de Desempenho

Dispersão absoluta e relativa. Dispersão absoluta e relativa. Coeficiente de variaçãoCoeficiente de variação

A variação ou dispersão real, determinada a partir do desvio padrão, ou qualquer outra medida de dispersão, é denominada dispersão absoluta.

.ReMédia

bsolutaDispersãoAlativaDispersão

Page 29: Marcilia Andrade Campos mac@di.ufpe.br mac Centro de Informática Grupo de Redes e Sistemas Distribuídos Avaliação de Desempenho

Se a dipersão absoluta é o desvio padrão s e média é a aritmética X, a dispersão relativa é denominada coeficiente de variação ou de dispersão.

.XsVoedeVariaçãCoeficient

Page 30: Marcilia Andrade Campos mac@di.ufpe.br mac Centro de Informática Grupo de Redes e Sistemas Distribuídos Avaliação de Desempenho

AssimetriaAssimetria

É o grau de desvio, ou afastamento da simetria, de uma distribuição. Se a curva da freqüência (polígono de freqüência suavizado) de uma distribuição tem uma “cauda” mais longa à direita da ordenada máxima do que à esquerda, diz-se que a distribuição é assimétrica para a direita, ou que ele tem assimetria positiva. Se é o inverso que ocorre, que ela é assimétrica para a esquerda, ou que tem assimetria negativa.

Page 31: Marcilia Andrade Campos mac@di.ufpe.br mac Centro de Informática Grupo de Redes e Sistemas Distribuídos Avaliação de Desempenho

.modmods

aXãodesviopadramédiaAssimetria

Page 32: Marcilia Andrade Campos mac@di.ufpe.br mac Centro de Informática Grupo de Redes e Sistemas Distribuídos Avaliação de Desempenho

Cap. 10 - A arte de representar Cap. 10 - A arte de representar dadosdados

Page 33: Marcilia Andrade Campos mac@di.ufpe.br mac Centro de Informática Grupo de Redes e Sistemas Distribuídos Avaliação de Desempenho

Mas por que usar gráficos?Mas por que usar gráficos? Uma imagem vale mais que ... Ganho considerável de tempo para o leitor A informação fica mais concisa Atrai mais a atenção “Pode ser usado para enfatizar ou

esclarecer um ponto, reforçando a conclusão e resumindo os resultados...”

Page 34: Marcilia Andrade Campos mac@di.ufpe.br mac Centro de Informática Grupo de Redes e Sistemas Distribuídos Avaliação de Desempenho

Com o quê estamos lidando?Com o quê estamos lidando? Variáveis Qualitativas e Quantitativas. Qualitativas

– são caracterizadas por estados, níveis ou categorias

– ordenadas e não ordenadas Quantitativas

– níveis expressos numericamente– discretas e contínuas

Page 35: Marcilia Andrade Campos mac@di.ufpe.br mac Centro de Informática Grupo de Redes e Sistemas Distribuídos Avaliação de Desempenho

Com o quê estamos lidando? Com o quê estamos lidando? (cont.)(cont.)

Pra quê saber os tipos de variáveis? Gráficos de linha são usados para mostrar

a relação entre variáveis contínuas Gráficos de coluna ou barra são usados

quando a variável independente (x) é discreta ou uma variável qualitativa.

Page 36: Marcilia Andrade Campos mac@di.ufpe.br mac Centro de Informática Grupo de Redes e Sistemas Distribuídos Avaliação de Desempenho

Preparando os GráficosPreparando os Gráficos

Diretrizes gerais, não regras

Page 37: Marcilia Andrade Campos mac@di.ufpe.br mac Centro de Informática Grupo de Redes e Sistemas Distribuídos Avaliação de Desempenho

Preparando os gráficosPreparando os gráficos

Requerer mínimo esforço do leitor– Nível de esforço para ler e entender o

gráfico– Ex: direct labeling vs. legend box

B A

C

Número de usuários

Tempo deResposta

ABC

Número de usuários

Tempo deResposta

Page 38: Marcilia Andrade Campos mac@di.ufpe.br mac Centro de Informática Grupo de Redes e Sistemas Distribuídos Avaliação de Desempenho

Preparando os gráficos (cont.)Preparando os gráficos (cont.)

Maximizar informação– O gráfico deve ser auto-explicativo– Eixos devem ser informativos

Usar práticas usualmente aceitas– Exs: origem em (0,0); escala cresce da

esquerda pra direita; escalas lineares...

Page 39: Marcilia Andrade Campos mac@di.ufpe.br mac Centro de Informática Grupo de Redes e Sistemas Distribuídos Avaliação de Desempenho

Preparando os gráficos (cont.)Preparando os gráficos (cont.)

Evitar ambigüidades– Identificar todos os elementos do

gráfico(eixos, escala, origem, curvas individuais...)

Minimizar tinta

Dia da semana

Disponibilidade

1

1 2 3 4 5Dia da semana

Indisponibilidade

0.1

1 2 3 4 5

Page 40: Marcilia Andrade Campos mac@di.ufpe.br mac Centro de Informática Grupo de Redes e Sistemas Distribuídos Avaliação de Desempenho

Preparando os gráficos (cont.)Preparando os gráficos (cont.) Os eixos de coordenadas são mostrados e

rotulados? As escalas e divisões são mostradas em ambos os

eixos? O número de curvas é razoável? Todos os gráficos usam a mesma escala? As unidades de medida são indicadas? O gráfico usa as convenções de representação? Não existem curvas, símbolos, ou textos que

podem ser removidos sem afetar a informação?

Page 41: Marcilia Andrade Campos mac@di.ufpe.br mac Centro de Informática Grupo de Redes e Sistemas Distribuídos Avaliação de Desempenho

Erros ComunsErros Comuns

Como falhar apresentando resultados

Page 42: Marcilia Andrade Campos mac@di.ufpe.br mac Centro de Informática Grupo de Redes e Sistemas Distribuídos Avaliação de Desempenho

Erros comunsErros comuns Apresentar muitas alternativas num único

gráfico Apresentar muitas “imagens” num único

gráfico Informações “não interessantes” Selecionar variação de escala imprópria

Page 43: Marcilia Andrade Campos mac@di.ufpe.br mac Centro de Informática Grupo de Redes e Sistemas Distribuídos Avaliação de Desempenho

Erros comuns (cont.)Erros comuns (cont.)

Uso de símbolos ao invés de texto

=1 =3

=2

l

R

(a)Símbolos

1 job/seg 3 jobs/seg

2 jobs/seg

Taxa de chegada

ResponseTime

(b)Palavras Chave

Page 44: Marcilia Andrade Campos mac@di.ufpe.br mac Centro de Informática Grupo de Redes e Sistemas Distribuídos Avaliação de Desempenho

Erros comuns (cont.)Erros comuns (cont.)

Usar gráficos de linha ao invés de coluna

Tipo da CPU

MIPS

8000 8100 8200 8300

Page 45: Marcilia Andrade Campos mac@di.ufpe.br mac Centro de Informática Grupo de Redes e Sistemas Distribuídos Avaliação de Desempenho

Levando VantagemLevando Vantagem

“Jogando” com as imagens

Page 46: Marcilia Andrade Campos mac@di.ufpe.br mac Centro de Informática Grupo de Redes e Sistemas Distribuídos Avaliação de Desempenho

Levando vantagemLevando vantagem

Usando origens diferentes de (0,0) para enfatizar diferenças

5200

0

MINE

YOURS

2610

2600

MINE

YOURS

Page 47: Marcilia Andrade Campos mac@di.ufpe.br mac Centro de Informática Grupo de Redes e Sistemas Distribuídos Avaliação de Desempenho

Levando vantagem (cont.)Levando vantagem (cont.)

Usando duas curvas diferentes num mesmo gráfico para enfatizar o contraste

Número de Usuários

VazãoTempo de Resposta

Page 48: Marcilia Andrade Campos mac@di.ufpe.br mac Centro de Informática Grupo de Redes e Sistemas Distribuídos Avaliação de Desempenho

Levando vantagem (cont.)Levando vantagem (cont.)

Plotar quantidades aleatórias sem indicar intervalos de confiança

MINE

YOURS

MINE

YOURS

(a) Com intervalo de confiança (a) Sem intervalo de confiança

Page 49: Marcilia Andrade Campos mac@di.ufpe.br mac Centro de Informática Grupo de Redes e Sistemas Distribuídos Avaliação de Desempenho

Levando vantagem (cont.)Levando vantagem (cont.)

Figuras modificadas em escala pela altura

MINEYOURS

Page 50: Marcilia Andrade Campos mac@di.ufpe.br mac Centro de Informática Grupo de Redes e Sistemas Distribuídos Avaliação de Desempenho

Levando vantagem (cont.)Levando vantagem (cont.)

Escolha “errada” do tamanho das células num histograma

Frequência

Tempo de Resposta

[0,2]0

4

6

8

10

12

[2,4] [4,6] [6,8] [8,10] [10,12]

2

Frequência

Tempo de Resposta

[0,6]0

6

9

12

15

18

[6,12]

3

Page 51: Marcilia Andrade Campos mac@di.ufpe.br mac Centro de Informática Grupo de Redes e Sistemas Distribuídos Avaliação de Desempenho

Levando vantagem (cont.)Levando vantagem (cont.)

Usar escalas quebradas em gráficos de coluna

Tempo deResposta

Sistema

A0

4

6

8

10

12

B C D E F

2

Tempo deResposta

9

10

11

12

Sistema

A0 B C D E F

Page 52: Marcilia Andrade Campos mac@di.ufpe.br mac Centro de Informática Grupo de Redes e Sistemas Distribuídos Avaliação de Desempenho

Gráficos de GanttGráficos de Gantt

Page 53: Marcilia Andrade Campos mac@di.ufpe.br mac Centro de Informática Grupo de Redes e Sistemas Distribuídos Avaliação de Desempenho

Gráficos de GanttGráficos de Gantt Usado para exibir a duração relativa de

qualquer número de condições booleanas. Cada condição é mostrada como um

conjunto de segmentos de reta horizontais

Os segmentos de reta são arranjados de forma que a sobreposição das retas representa a sobreposição das condições

Page 54: Marcilia Andrade Campos mac@di.ufpe.br mac Centro de Informática Grupo de Redes e Sistemas Distribuídos Avaliação de Desempenho

Gráficos de Gantt (cont.)Gráficos de Gantt (cont.)

0% 20% 40% 60% 80% 100%

CPU

Canal de I/O

Rede

60

20 20

30 10 5 15

Page 55: Marcilia Andrade Campos mac@di.ufpe.br mac Centro de Informática Grupo de Redes e Sistemas Distribuídos Avaliação de Desempenho

Gráficos de KiviatGráficos de Kiviat

Page 56: Marcilia Andrade Campos mac@di.ufpe.br mac Centro de Informática Grupo de Redes e Sistemas Distribuídos Avaliação de Desempenho

Gráficos de KiviatGráficos de Kiviat

Auxilia no reconhecimento de problemas de performance

Gráfico circular em que as métricas são plotadas sobre retas radiais

Parâmetros: 50% HB, 50% LB Devido a essa configuração, o gráfico

ideal é uma estrela!

Page 57: Marcilia Andrade Campos mac@di.ufpe.br mac Centro de Informática Grupo de Redes e Sistemas Distribuídos Avaliação de Desempenho

Gráficos de Kiviat (cont.)Gráficos de Kiviat (cont.)CPUbusy90%CPU only

busy10%

CPU/Channeloverlap

80%

CPU inproblem state

80%

CPU insupervisor state

10%

CPUwait10%

Channel onlybusy10% Any Channel

busy90%

O gráfico idealpara um sistema balanceado

Page 58: Marcilia Andrade Campos mac@di.ufpe.br mac Centro de Informática Grupo de Redes e Sistemas Distribuídos Avaliação de Desempenho

Gráficos de Kiviat (cont.)Gráficos de Kiviat (cont.)CPUbusy90%CPU only

busy10%

CPU/Channeloverlap

80%

CPU inproblem state

80%

CPU insupervisor state

10%

CPUwait10%

Channel onlybusy10% Any Channel

busy90%

Exemplo de umsistema comproblemas de balançeamento

Page 59: Marcilia Andrade Campos mac@di.ufpe.br mac Centro de Informática Grupo de Redes e Sistemas Distribuídos Avaliação de Desempenho

Mas e se tudo isso nãoMas e se tudo isso nãofuncionar para convencer osfuncionar para convencer os

decision makersdecision makers??

Page 60: Marcilia Andrade Campos mac@di.ufpe.br mac Centro de Informática Grupo de Redes e Sistemas Distribuídos Avaliação de Desempenho

Rejeitando uma análiseRejeitando uma análise O problema precisa de mais análise A carga do sistema precisa ser melhor

entendida “Isso vai aumentar a complexidade e o

custo” Isso vai violar o IEEE, ANSI, CCITT, ou

qualquer outro padrão ... ... ...

Page 61: Marcilia Andrade Campos mac@di.ufpe.br mac Centro de Informática Grupo de Redes e Sistemas Distribuídos Avaliação de Desempenho

Exercício 1Exercício 1-0.04444 -0.04439 -0.04165 -0.03268 -0.03235 -0.03182 0.02771 0.02650-0.02569 -0.02358 -0.02330 -0.02305 0.02213 0.02128 0.01793 0.01668-0.01565 -0.01509 0.01432 0.00978 0.00889 0.00687 0.00543 0.00084-0.00083 -0.00048 0.00024 0.00079 0.00082 0.00106 0.00110 0.00132 0.00162 0.00181 0.00180 0.00379 0.00411 0.00424 0.00553 0.00865 0.01026 0.01085 0.01440 0.01562 0.06975 0.01996 0.02016 0.02078 0.02134 0.02252 0.02414 0.02568 0.02682 0.02855 0.02889 0.03072 0.03259 0.03754 0.04263 0.04276

Jain, pag 202, exercício 12.5