Algoritmos [Resumo] - Tremblay e Bunt

download Algoritmos [Resumo] - Tremblay e Bunt

of 25

Transcript of Algoritmos [Resumo] - Tremblay e Bunt

  • 8/15/2019 Algoritmos [Resumo] - Tremblay e Bunt

    1/25

  • 8/15/2019 Algoritmos [Resumo] - Tremblay e Bunt

    2/25

  • 8/15/2019 Algoritmos [Resumo] - Tremblay e Bunt

    3/25

  • 8/15/2019 Algoritmos [Resumo] - Tremblay e Bunt

    4/25

    2. DADOS, TIPOS DE DADOS E OPERAES PRIMITIVAS 3

    Cincia dos computadores: uma abordagem algortmica Trembla & Bunt

    2. DADOS, TIPOS DE DADOS E OPERAES PRIMITIAS

    1)  TIPOS DE DADOSa)  Computadores lidam com diversos tipos de dados

    i)  Cada tipo de dado representado de forma diferente no computador

    ii)  Cada tipo de dado requer um diferente tipo de instruo para processamento

    2)  NMEROS INTEIROS ( )a)  No tem componentes decimais nem ponto ou vrgulaa)  Podem ser negativos ou positivos (ex: 7; 485; 1815)

    3)  NMEROS REAISa)  Tem componente decimal e utilia o ponto* como separador decimal (*formato EUA)b)  Fraes so representadas por aproximaes decimaisc)  Podem ser negativos ou positivos (ex: 2.34; 1.582; 0.034; 125.2)

    4)  NOTAO CIENTFICA ( P F)

    a)  Computadores trabalham com nmero limitado de dgitos, em geral 6 a 7i)  Nmeros de preciso dupla operam com 15 ou 16 dgitosii)  O nmero de dgitos disponveis varia de mquina para mquina

    a)  Soluo: representao do nmero em potncias de 10:i)  3863213632 representado como 3.863 x 109 

    (1) Obs: o primeiro inteiro e o segundo reali)  O nmero de dgitos conservados depende da exatido requerida no clculo

    a)  Procedimento de converso de nmero inteiro ou real para notao cientfica:i)  Adicione 1 potncia de 10 a cada casa que movemos o ponto para a esquerdaii)  Decida o nmero de dgitos que deseja reter

    iii)  Arredonde o ltimo dgitoa)  O ponto decimal ocupa sempre a primeira posio

    i)  Por isso ele no armaenado junto ao nmeroa)  Nomenclatura: Frao (.286) e expoente (7)

    5)  CADEIA DE CARACTERESa)  uma sequncia de itens conhecidos pelo computadoresa)  Exemplo: A, B, C, a, b, c, 1, 2, 3, @, #, , ), *, etc.

    i)  Obs: os nmeros armaenados como caracteres se comportam como letrasa)  Em geral so armaenados em computadores entre apstrofos (aspas simples)

    i)  So os chamados delimitadores de caracteresii)  A cadeia de caracteres pode ter qualquer tamanho, mas na prtica, pode haver um

    limite, por exemplo 255 caracteres incluindo os espaosiii)  Exemplo: Estado de So Paulo, 23/04/2011, 34 + 12 = 46

    a)  Quando necessrio incluir o apstrofo na cadeia, incluise mais um apstrofo antes:i)  Joana DArk representado como Joana DArk

    a)  O computador armaena duas informaes:i)  A cadeia propriamente dita, excluindo os apstrofos eii)  O nmero de caracteres da cadeia

    6)  DADOS LGICOS

    a)  S tem dois valores: verdadeiro ou falso7)  PONTEIRO

    a)  Armaena um determinado Endereo de Memria

    3863213632 = .3863214 x 1010 

    0,00000002852 = .286 x 107 

  • 8/15/2019 Algoritmos [Resumo] - Tremblay e Bunt

    5/25

    2. DADOS, TIPOS DE DADOS E OPERAES PRIMITIVAS 4

    Cincia dos computadores: uma abordagem algortmica Trembla & Bunt

    8)  CLASSIFICAO DOS TIPOS DE DADOS PRIMITIOS

    9)  OPERAES COM OS ELEMENTOS DE DADOS NUMRICOSa)  Quatro operaes bsicas com dados numricos:

    i)  Soma, Subtrao, Multiplicao, Diviso(1) Operaes adicionais: Exponenciao e Radiciao

    ii)  Operaes com dados no numricos sero vistas posteriormentea)  Representao das operaes

    i)  Soma e subtrao utiliam a representao usual: + e

    ii)  Multiplicao utilia o asterisco * em lugar do smbolo usual x iii)  Diviso utilia a barra / em lugar do smbolo usual

    iv)  Exponenciao no tem representao usual, utiliase o ^ ou ↑

    v)  Radiciao utiliase a representao da exponenciao ^ ou ↑ com valores

  • 8/15/2019 Algoritmos [Resumo] - Tremblay e Bunt

    6/25

    2. DADOS, TIPOS DE DADOS E OPERAES PRIMITIVAS 5

    Cincia dos computadores: uma abordagem algortmica Trembla & Bunt

    10) EERCCIOSa)  Dar o tipo de cada uma das seguintes constantes

    a) 613 e) 3.012x1015 b) 613.0 f) 17x1012 

    c) 613 g) 28.3x10

    33

     d) 613 h) fim de questo

    1.1. Dar o resultado e o tipo de cada uma das seguintes expressesa) 5^2 + 3

    b) 6 + 19 0.3

    c) 3.0^5.0 +1d) 1 / 4 + 2

    e) 29.0 / 7 + 4

    f) 3 / 6.0 7

    1.2. Expressar como um nmero real na forma de ponto flutuante, com seis dgitossignificativos, os seguintes valores:

    a) π 3.1415926535897932 

    b) e 2.7182818284590452 

    c) Constante de Avogadro 6,022141791023 

    d) Massa eltron (kg) 9,1093897 1031 

    e) dimetro do tomo (cm) ~ 10-  

    f) valor de parsec (km) 30856775800000 

  • 8/15/2019 Algoritmos [Resumo] - Tremblay e Bunt

    7/25

    3. VARIVEIS E EXPRESSES 6

    Cincia dos computadores: uma abordagem algortmica Trembla & Bunt

    3. ARIEIS E EPRESSES

    1)  MANIPULAO DE DADOS

    a)  Atravs de expresses mais elaboradas das operaes fundamentais (+, , *, /, ↑)b)  Varivel: entidade que possui um valor e tem um nome

    i)  O valor da varivel pode variar durante a execuo do programa(1) Exemplo: teorema de Pitgoras: a2 = b2 + c2  onde a, b e c so variveis

    c)  Expresses: frmulas definidas por relaes expressas, aplicadas a clculos especficosi)  Permitem determinar valor de uma varivel

    (1) Exemplo: =   +  d)  Variveis permitem especificao de frmulas gerais de clculo

    (1) Variveis tm nomes e podem receber valores diferentes no decorrer do clculo(2) Em um determinado instante s pode ter um nico valor

    Caso/Varivel a b c

    a 5 4 3

    b 13 5 12e)  Usualmente utiliamse nomes mais significativos para variveis, como:

    i)  LADO1, LADO2, HIPOTENUSA isso torna o programa mais legvel e depurvelf)  Regras para nomear variveis (variam um pouco entre as linguagens de programao)

    i)  Devem iniciar sempre por uma letraii)  Podem conter letras, nmeros e alguns caracteres especiaisiii)  No podem conter brancos (espaos) utiliase eventualmente o underline:   

    g)  Exemplo de nomes vlidos de variveis:i)  TOTAL, AREA_TRIANGULO, UM_NOME_MUITO_EXTENSO,

    h)  Exemplo de nomes invlidos de variveis

    i)  2ANDAR (no comea com letra), SEGUNDO ANDAR (inclui espao), X+Y (inclui +)i)  Exemplo de expresso utiliando variveis

    i)  AREA_TRIANGULO = BASE * ALTURA / 2ii)  Se, em diversos momentos, BASE e ALTURA tiverem valores diferentes,

    AREA_TRIANGULO ter resultados diferentes nesses momentos

    2)  TIPOS DE ARIEISa)  So equivalentes aos tipos de constantes: Inteiro, Real, Cadeia (texto), Lgico, Ponteirob)  Uma varivel deve ser de um nico tipo

    i)  Esse tipo atribudo no incio do programa ou dinamicamente no decorrer deste(1) Aps definio do tipo, devese manter esse tipo no programa todo

    ii)  Se um valor de outro tipo for atribudo a essa varivel, ocorrer um erro (tiposincompatveis) ou converso de tipos (tipos compatveis) ver item 4.

    3)  OPERAO DE ATRIBUIO

    a)  Forma usual para atribuir um valor a uma varivel ser utiliado o smbolo ←

    i)  Exemplos: LADOA← 16; LADOB ← 13; SALDO← 320.40ii)  A varivel mantm o valor atribudo at eventual nova atribuioiii)  A atribuio uma operao destrutiva pois o valor anterior perdido

    (1) O valor armaenado em uma posio da memria (palavra)

  • 8/15/2019 Algoritmos [Resumo] - Tremblay e Bunt

    8/25

    3. VARIVEIS E EXPRESSES 7

    Cincia dos computadores: uma abordagem algortmica Trembla & Bunt

    4)  CONERSES DE TIPOa)  Uma varivel de um tipo s armaena valores daquele tipo;b)  Se um valor de outro tipo for atribudo a ela ocorrer:

    i)  Um erro, se os tipos forem incompatveis (texto x nmero x ponteiro x lgico);ii)  Uma converso de tipo do valor, se os tipos forem numricos (Real x Inteiro);

    c)  Exemplos de operaes de atribuio:i)  VARIAVEL_INTEIRA← VALOR_REAL : o valor real ser convertido para Inteiro;

    ii)  VARIAVEL_REAL← VALOR_INTEIRO : o valor inteiro ser convertido para Real;iii)  Outras atribuies resultaro em erro

    (1) VARIAVEL_INTEIRA← VALOR CADEIA : ocorrer erro de incompatibilidade;

    (2) VARIAVEL_LOGICA← VALOR_REAL : ocorrer erro de incompatibilidade;

    (3) VARIAVEL_CADEIA← VALOR INTEIRO : ocorrer erro de incompatibilidade;(4) Etc.

    iv)  Obs: converso de Inteiro para Real no altera o valor calculado,mas converso de Real para Inteiro altera o valor (arredonda ou trunca);

    v)  Nmeros reais ocupam mais memria e tempo de processamento da CPU;

    5)  EPRESSES

    a)  Operao de Atribuio (←) pode ter qualquer expresso do lado direito;b)  Expresso uma combinao de variveis, constantes e operadores;

    i)  O resultado da avaliao da expresso atribudo varivel indicada;

    (1) Varivel← Expresso

    (2)  INT← 3 + 16 + 8 (onde INT uma varivel tipo Inteiro);ii)  A Expresso pode tambm conter variveis, com valores definidos prviamente:

    (1) TERMO1← 13.6 + 7.4 (21.0)

    TERMO2← 0.7 * 28.6 (20.02)RESULTADO← TERMO1/TERMO2 (1.048951)(2) As variveis TERMO1 e TERMO2 mantm seus valores aps o processo;(3) Todos os termos do lado direito da expresso devem ter seus valores definidos

    previamente antes da operao de atribuio final (RESULTADO←)

    6)  MODIFICANDO UM ALOR ARMAENADOa)  O valor de uma varivel pode ser alterado na execuo do programa:

    i)  X←  0 ... A ←  0 ... X← A + 1 (resulta em X=1)b)  Uma varivel pode ter seu valor alterado na prpria expresso:

    i)  X←  0 ... X← X + 1

    c)  Muitas linguagens utiliam como smbolo de atribuio o sinal =i)  X = X + 1 (o que no tem sentido do ponto de vista matemtico)

    7)  PRIORIDADE DOS OPERADORESa)  a prioridade convencional da matemtica

    i)  Parenteses: ( )ii)  Atribuio de Sinal: + ou

    iii)  Exponenciao e Radiciao: ^ ou ↑ iv)  Multiplicao e Diviso: * ou /v)  Soma e Subtrao: + ou

    Os Parnteses agrupam blocos que devemser executados em primeiro lugar.

    Exponenciao e atribuio de sinal soaplicados da direita para a esquerda.

    Operadores de mesma prioridade soexecutados na ordem em que aparecem,da esquerda para a direita.

  • 8/15/2019 Algoritmos [Resumo] - Tremblay e Bunt

    9/25

    3. VARIVEIS E EXPRESSES 8

    Cincia dos computadores: uma abordagem algortmica Trembla & Bunt

    8)  AALIAO DE EPRESSESa)  a aplicao direta das regras de prioridade

    b)  Exemplo: 3*7+2↑3/46: 3 * 7 + 2 ↑  3 / 4 6

    c)  Expresses com significados alterados por parnteses:i)  12 2 / 2 + 3 e (12 2) / (2 + 3)

    d)  Em expresses mais complexas recomendvel o uso de parnteses, mesmo quandodesnecessrios do ponto de vista exclusivo do clculo, para facilitar a leitura daexpresso (e simplificar a depurao do programa);

    9)  FUNES EMBUTIDASa)  Complementam as operaes convencionais da matemtica, simplificando o clculo;b)  Algumas funes embutidas teis:

    i)  ABS() ........ : valor absoluto de uma expresso real ou inteira ii)  SQRT() ...... : rai quadrada de um valor maior que eroiii)  TRUNC() ... : valor truncado T ≤ iv)  ROUND() .. : valor arredondado T ≤  + 0,5v)  LOG() ........ : logartmo na base evi)  LOG10() .... : logartmo na base 10vii) EXP() ........ : exponencial de  viii) SIN() ......... : seno de  ix)  COS() ........ : coseno de  x)  TAN() ........ : tangente de  

    10) ENTRADA E SADAa)  Depende em alto grau da linguagem de programao e do sistema de computador;

    b) 

    Aqui sero utiliados abstraes desses comandos:i)  : para leitura de valores em algum dispositivo de entrada (e atribuio a variveis);ii)  : para mostrar os resultados em algum dispositivo de sada (tela, impressora);

    c)  Comando L: Forma do comando: Leia( ):i)  A lista de entrada definine as variveis s quais os valores devem ser atribudos, na

    mesma ordem em que so encontrados no fluxo de entrada de dados:(1)  Leia(A, B, C): o primeiro valor atribudo varivel A, o segundo B, etc.

    d)  Exemplo: fluxo de entrada com os seguintes valores: 16, 3, 7, 21, 16, 0, 4, 8, 1.

    i)  Leia(A, B, C) A←16, B←3, C←7

    ii)  Leia(D, E, F, G) D←21, E←16, F←0, G←4

    iii) 

    Leia(X, Y) X←

    8, Y←

    1e)  Importante: uma operao destrutiva (destri o valor anterior da varivel) e necessrio manter a compatibilidade de tipos (variveis declaradas);

    8

    21 2

    19

    25

    1

    2

    3

    4

  • 8/15/2019 Algoritmos [Resumo] - Tremblay e Bunt

    10/25

    3. VARIVEIS E EXPRESSES 9

    Cincia dos computadores: uma abordagem algortmica Trembla & Bunt

    f)  Comando E: Forma do comando: Escreva( ):i)  A lista de sada pode ser qualquer varivel, expresso ou constante;

    g)  Exemplo: NOTA1←73.0 NOTA2←65.0 NOTA3←94.0 NOTA4←87.0

    MEDIA←(NOTA1+NOTA2+NOTA3+NOTA4)/4.0Escreva(MEDIA)

    o resultado seria: 79.75Escreva(NOTA1, NOTA2, NOTA3, NOTA4, MEDIA)

    o resultado seria: 73.0 65.0 94.0 87.0 79.75Escreva(Notas Individuais: , NOTA1, NOTA2, NOTA3, NOTA4)Escreva(Mdia Final: MEDIA)

    o resultado seria: Notas individuais: 73.0 65.0 94.0 87.0Mdia Final: 79.75

    h)  Podese imprimir tambm constantes e variveis tipo cadeia:

    i)  NOME_DADO←DONALDO

    SOBRENOME←PATO

    Escreva(SOBRENOME, ,, NOME_DADO), 3)o resultado seria: PATO, DONALDO 3

    i)  Em muitas linguagens possvel incluir uma expresso como parte da lista de sada:i)  Escreva(NOTAS INDIVIDUAIS:, NOTA1, NOTA2, NOTA3, NOTA4)

    Escreva(MDIA FINAL:, (NOTA1+NOTA2+NOTA3+NOTA4)/4.0)

    11) EERCCIOSa)  D o valor da varivel RESULTADO aps a execuo da seguinte sequncia de operaes

    i)  RESULTADO←3.0 * 6 obs: todas as variveis so reais

    ii)  X←2.0 Y←3.0 RESULTADO←X↑Y X

    iii) 

    RESULTADO←

    4 X←

    2 RESULTADO←

    RESULTADO*Xb)  D o valor de cada uma das expresses inteiras seguintes:

    i) 16 * 6 3 * 2 iv) 3 + 2 * (18 4↑2)

    ii) 2↑3 v) 2↑2 * 3

    iii) (28 + 3 * 4) / 4 vi) 8 30 / 6

    c)  Suponha que A, B e C sejam variveis reais e que I, J e K sejam variveis inteiras.Dados: A = 4.0, B = 6.0 e I = 3, qual seria o valor final dos comandos seguintes:

    i) C←A * B I C= iv) K←TRUNC(B/A+4.7) K=

    ii) K← I / 4 * 6 K= v) J←ROUND(A/ (5/I)) J=

    iii) C←B / A + 1.5 C= vi) K←ABS(AB) * 2 + 1 K=

    d)  Escreva as seguintes expresses matemticas como expresses de computador:

    i) + 1  v) +  

    ii)   vi) +  

    iii)

     vii)

     

    iv) +   viii)    

  • 8/15/2019 Algoritmos [Resumo] - Tremblay e Bunt

    11/25

  • 8/15/2019 Algoritmos [Resumo] - Tremblay e Bunt

    12/25

    4. DESCRIO DE ALGORITMOS 11

    Cincia dos computadores: uma abordagem algortmica Trembla & Bunt

    4)  LINGUAGEM ALGORTMICA:a)  Linguagem simplificada de programao que inclui:

    i)  A descrio da prosa eii)  A conciso do fluxograma.

    b)  O resultado similar a muitas linguagens de programao:

    i)  A passagem do Algoritmo para uma linguagem especfica operao quase direta;c)  A escolha da linguagem de programao a ser utiliada depende principalmente da(s):

    i)  Naturea da aplicao em particular;ii)  Caractersticas desejadas na linguagem;iii)  Disponibilidade da linguagem no sistema de computadores a ser utiliado.

    d)  Exemplo: Dados o comprimento dos lados de um tringulo retngulo (variveis LADO1 eLADO 2), determine e imprima o comprimento do terceiro lado (HIPOTENUSA). Suponhaque todas as variveis sejam inteiras.

    e)  O algoritmo expresso como uma sequncia de passos numerados:i)  Cada passo iniciase com uma breve descrio entre colchetes;ii)  Abaixo vem um comando, ou srie de comandos, que descrevem as aes do passo;iii)  Os comandos so executados na ordem estabelecida;iv)  O comando Sada termina a execuo do algoritmo no ponto onde encontrado;

    (1) Sada representa o fim lgico do algoritmo;

    (2) 

    Um algoritmo pode ter diversos fins lgicos;(3)  O fim fsico representado pelo smbolo .

    1. [Ler dados conhecidos]Leia (LADO1, LADO2)

    2. [Calcular os quadrados dos lados conhecidos]

    Q1←LADO1↑2

    Q2←LADO2↑2

    3. [Calcular o comprimento do terceiro lado]

    HIPOTENUSA← SQRT(Q1+Q2)

    4. [Sair resultados]

    Escreva (LADOS=, LADO1, LADO2, HIPOTENUSA)5. [Terminar]

    Sada

    1. Ler dados conhecidos2. Calcular os quadrados dos

    lados conhecidos

    3. Calcular o comprimento doterceiro lado

    4. Sair resultados

    5. Terminar

    1. Leia (LADO1, LADO2)2. Q1← LADO1↑2

    Q2← LADO2↑2

    3. HIPOTENUSA← SQRT(Q1+Q2)( )

    4. Escreva (LADOS=, LADO1, LADO2, HIPOTENUSA)

    5. Sada

    NARRATIVA IMPLEMENTA O EM LINGUAGEM ALGORITMICA

    ALGORITMO

  • 8/15/2019 Algoritmos [Resumo] - Tremblay e Bunt

    13/25

    4. DESCRIO DE ALGORITMOS 12

    Cincia dos computadores: uma abordagem algortmica Trembla & Bunt

    5)  RASTREANDO UM ALGORITMO:a)  Rastrear executar manualmente, com dados representativos, os passos do algoritmo;

    i)  Registrase manualmente (planilha eletrnica/editor de texto) os valores tomadospelas variveis em cada passo do algoritmo;

    b)  Exemplo: supondo que as medidas conhecidas so: LADO1=3, LADO2=4

    i)  Executamos o algoritmo preenchendo a tabela abaixo:

    Passo LADO1 LADO2 Q1 Q2 HIPOTENUSA Sada

    1 3 4 ? ? ? ?

    2 3 4 9 16 ? ?

    3 3 4 9 16 5 ?

    4 3 4 9 16 5 LADOS= 3, 4, 5Obs: o smbolo ? utiliado para mostrar que a varivel ainda no recebeu valor neste ponto.

    6)  METODOLOGIA DE SOLUO SUMRIOa)  Assegurarse do entendimento completo das especificaes do problema:

    i)  Indicar sada esperada para diversas amostras de dados de entrada;b)  Formular esboo geral do algoritmo, despreocupandose com detalhes:

    i)  Assegurar que a estratgia de soluo est correta;ii)  Rastrear o algoritmo com diversas amostras de dados;

    c)  Identificar e listar variveis necessrias execuo:i)  Incluir nome, tipo e indicao do propsito da varivel;ii)  Essa lista pode ser aumentada ou diminuda no decorrer do desenvolvimento;

    d)  Retornar aos passos individuais detalhando cada um deles:i)  Verificar a cada desdobramento se os novos passos executam a funo proposta;

    e)  Terminada a verso inicial, rastreie cuidadosamente todos os passos do algoritmo:i)  Utilie diversas amostras de dados de entrada;

    f)  Validado o algoritmo, implemente em uma linguagem de programao apropriada.i)  Obs.1: para problemas simples, essa abordagem parece ser desnecessria, mas

    importante dominar a tcnica para a abordagem de problemas mais complexos.ii)  Obs.2: nem sempre existe um algoritmo adequado para determinados tipos de

    problemas. Se no conseguimos construlos no implica que no existem.

    7)  EERCCIO: RASTREAMENTO DO CALCULO DE MDIASa)  Preparar algoritmo para ler temperatura na escala Celsius e imprimir equivalente em

    Fahrenheit: =     + 32 b)  Preparar algoritmo para ler nome e sobrenome e imprimir sobrenome e nome:

    i)  Exemplo: entrada: FULANO, DE TAL sada: DE TAL, FULANOc)  Preparar algoritmo para calcular o desvio padro de cinco nmeros (amostral)

    i)  =   .    −   onde x1, x2, ..., x5 so valores reais e   a mdiad)  Preparar algoritmo para ler os valores ,  e c e imprimir o valor do discriminante ∆

    i)  ∆ = 24 e todos os valores so reaise)  Preparar algoritmo para ler a quantidade de cada item comprado e calcular a conta:

    i)  Entrada de quantidades: (Hamburguer, Cheeseburguer, Fritas, Refrigerante, Shake)ii)  Preos: Hamburguer: 6,50; Cheese: 7,50; Fritas: 3,50; Refrigerante: 1,0; Shake: 5,0

    f)  Preparar algoritmo para ler custo de fbrica do carro e imprimir preo ao consumidor:

    i)  Preo = custo + 45% impostos + 12% lucro revendedor (sobre custos + impostos)g)  Preparar algoritmo para ler comprimento dos 3 lados do tringulo e calcular a rea:

      rea=  − 1 − 2 − 3  onde =    

  • 8/15/2019 Algoritmos [Resumo] - Tremblay e Bunt

    14/25

    5. APLICAES DE ALGORITMOS 13

    Cincia dos computadores: uma abordagem algortmica Trembla & Bunt

    5. APLICAES DE ALGORITMOS

    1)  RELATRIO DE NOTAS DE ALUNOSa)  Calcular a mdia final do aluno a partir das notas parciais e seus respectivos pesos:b)  Variveis do programa:

    i)  NOME (cadeia), Nome do estudanteii)  LABORATORIO (inteiro) Nota do laboratrio peso 20%iii)  PROVA_PARCIAL (inteiro) Nota da prova parcial peso 30%iv)  EXAME_FINAL (inteiro) Nota do exame final peso 50%v)  MEDIA (real) Mdia final do estudante

    c)  A soluo em linguagem narrativa direta:i)  Ler o nome do estudante e suas notas em cada componente da mdia,ii)  Calcular a mdia ponderada dos componentesiii)  Imprimir o nome, as notas e a mdia final do estudante

    d)  O Algoritmo resultante direto:

    a)  Observao: quando se multiplica um valor inteiro por um valor real o resultado real;A formatao da sada ser abstrada: altamente dependente da linguagem escolhida;

    b)  Rastreando o Algoritmo: Para verificar se o algoritmo est funcionando corretamente,utiliamse dados de entrada cujos resultados so conhecidos, e verificase sua sada;i)  importante testar condies extremas dos dados (condies de contorno), como,

    por exemplo, todas as notas iguais a 100 e todas as notas iguais a ero;

    c)  Usando dados de entrada abaixo, verifique o resultado:i)  Moacir Rodolfo, 72, 68, 65;ii)  A mdia final calculada ser 67.3;

    d)  Quando os testes no indicam erro, duas coisas podem estar ocorrendo, mas nuncasaberemos com certea qual delas a verdadeira:i)  O algoritmo no contm erros;ii)  Os erros do algoritmo no foram detectados nos testes;

    e)  Erros frequentemente resultam de circunstncias que no foram previstas. Umamentalidade sabotadora auxilia um pouco nessa fase de testes do programa.

    1. [Ler dados de entrada]Leia(NOME, LABORATORIO, PROVA_PARCIAL, EXAME_FINAL)

    2. [Calcular mdia]

    MEDIA← 0.2*LABORATORIO+0.3*PROVA_PARCIAL+0.5*EXAME_FINAL

    3. [Imprimir resultados]Escreva(Nome: , NOME)Escreva(Nota do Laboratrio: , LABORATORIO)Escreva(Nota da Prova Parcial: , PROVA_PARCIAL)Escreva(Nota do Exame Final: , EXAME_FINAL)

    Escreva(Mdia Final: , MEDIA)4. [Terminar]

    Sada

  • 8/15/2019 Algoritmos [Resumo] - Tremblay e Bunt

    15/25

    5. APLICAES DE ALGORITMOS 14

    Cincia dos computadores: uma abordagem algortmica Trembla & Bunt

    2)  MEDINDO A TAA DE INFLAOa)  O algoritmo deve ler o nome do produto, o preo no ms atual, o preo no ms anterior

    e calcular a taxa de inflao desse produto nesse ms. O resultado deve ser apresentadoem dois formatos: diferena algbrica (absoluta) e diferena percentual.

    b)  A primeira tentativa de soluo, em linguagem natural:

    c)  As variveis definidas previamente para a soluo do problema e sua descrio;i)  Esse passo muito importante em algoritmos mais complexos ou extensos;

    d)  O algoritmo final de implementao direta

    e)  Testando o algoritmo com trs conjuntos de dadosi)  Pacote de Queijo, 6.54, 6.00ii)  Feijo, 2.30, 2.40iii)  Leite, 2.00, 1.70

    1. Ler a descrio do item, o preo atual e o preo anterior;

    2. Calcular a diferena algbrica no preo;

    3. Calcular a diferena percentual no preo;

    3. Imprimir resultados

    4. Terminar

    1. [Ler dados de entrada]Leia(ITEM, PRECO_ATUAL, PRECO_ANTERIOR)

    2. [Calcular a diferena algbrica dos preos]

    DIFER_ALGEB← PRECO_ATUAL PRECO_

    3. [Calcular a diferena percentual dos preos]

    DIFER_PERC← DIFER_ALGEB / PRECO_ANTERIOR * 100

    4. [Imprimir resultados]Escreva(Item Comprado: , ITEM)Escreva(Preo no ms atual: , PRECO_ATUAL)Escreva(Preo no ms anterior: , PRECO_ANTERIOR)

    Escreva(Diferena algbrica: , DIFER_ALGEB)Escreva(Diferena percentual: , DIFER_PERC)

    5. [Terminar]Sada

    1. ITEM (cadeia) Descrio do item,

    2. PRECO_ATUAL (real) Preo pago neste ms

    3. PRECO_ANTERIOR (real) Preo pago no ms anterior

    3. DIFER_ALGEB (real) Diferena algbrica

    4. DIFER_PERC (real) Diferena Percentual

  • 8/15/2019 Algoritmos [Resumo] - Tremblay e Bunt

    16/25

    5. APLICAES DE ALGORITMOS 15

    Cincia dos computadores: uma abordagem algortmica Trembla & Bunt

    3)  EERCCIOS DO CAPTULOa)  Voc foi encarregado pelos organiadores de uma competio internacional de preparar

    um servio de "traduo simultnea" para resultados da competio relatados emunidades mtricas. Desenvolver algoritmos para manusear os seguintes eventos:i)  Converter resultados de salto em altura, relatados em metros, para ps e polegadas

    (ft e in) (1 p vale 12 polegadas e 1 metro vale 39.37 polegadas).ii)  Dado o tempo para uma corrida de 100 metros, calcular seu tempo para 100 jardas.

    Supor que o atleta corra a uma velocidade constante (1 jarda = 3 ps ou 0.9144 metros).

    b)  Uma lista de taxas de cmbio de 1977, para troca de moeda estrangeira, fornece aseguinte tabela de equivalncia:

    (1) 100 Francos franceses = 21.55 dlares canadenses(2) 1 Dlar americano = 1.06 dlares canadenses(3) 100 Marcos alemes = 43.20 dlares canadenses(4) 1 Libra inglesa = 1.84 dlares canadenses(5) 100 coroas suecas = 24.25 dlares canadenses .(6) 100 dracmas gregos = 2.95 dlares canadenses

    i)  Desenvolver algoritmos para faer as seguintes converses;(a)  Ler uma quantidade em francos franceses e imprimir o equivalente em

    dlares canadenses.(b) Ler uma quantidade em dlares americanos e imprimir o equivalente em

    ambos, coroas suecas e francos franceses.(c)  Ler uma quantidade em dracmas gregos e imprimir o equivalente em libras

    inglesas.(d) Ler uma quantidade em dlares canadenses e imprimir o equivalente em

    ambos, dlares americanos e marcos alemes.

    c)  A Companhia de Carros Usados Joo Honesto paga a seus empregados um salrio deR$ 6.000,00 por ms mais uma comisso de R$ 500,00 para cada carro vendido maisabono de 5% do valor da venda. Todo ms a companhia prepara um registro para cadavendedor, contendo seu nome, o nmero de carros vendidos e o valor total das vendas.Preparar um algoritmo para calcular e imprimir o salrio do vendedor num dado ms.Testar o algoritmo completamente, utiliando um conjunto apropriado de dados.

    d)  Trs massas, ,  e  , esto separadas por distncias  ,   e  , como mostra aFigura abaixo. Se G a constante de gravitao universal, a energia de coeso mantendoa massa das partculas juntas dada pela frmula:

    =   +

      +

       

    i)  Preparar um algoritmo para ler valores de ,  e ;  ,   e  ; calcular eimprimir a energia de coeso, imprimindo tambm os valores iniciais dados. Paramassa em quilogramas e distncia em metros, G = 6.67 X 1011 N. m2 /kg2 . Osvalores de ,  e , so fornecidos no primeiro registro de dado e os valores de

     ,   e   so fornecidos no segundo. Assumir que todos os dados so fornecidoscomo valores reais.

      

     

      

        

  • 8/15/2019 Algoritmos [Resumo] - Tremblay e Bunt

    17/25

    5. APLICAES DE ALGORITMOS 16

    Cincia dos computadores: uma abordagem algortmica Trembla & Bunt

    e)  Um sistema de equaes lineares da forma:

    pode ser resolvido utiliandose as seguintes frmulas:

    =    e =   i)  Preparar um algoritmo para ler o conjunto de coeficientes (a, b, c e d, e, f) e

    imprimir a soluo (x e ). Existem casos para os quais este algoritmo no funciona?

    f)  O custo de seguro contra granio numa comunidade tpica de faendeiros 3.5% dovalor de cobertura solicitado por acre, multiplicado pelo nmero de acres plantados.Supondo que as possibilidades de colheitas sejam limitadas a trigo, aveia e cevada,preparar um algoritmo para ler a cobertura desejada e o nmero de acres plantadospara cada uma das trs plantaes e calcular o custo total do prmio do seguro paraeste cliente.

    g)  Recentemente, conduiuse uma experincia para determinar a acelerao da gravidade

    em Saskatoon. Deixouse cair uma bola a partir do repouso, do alto de vrios edifcios. Otempo gasto para atingir o solo foi registrado em cada caso. Um total de cinco medidasforam feitas, com os seguintes resultados:

    Altura do prdio (m) Tempo para atingir o solo (s)

    69 3.74

    114 4.84

    216 6.64

    129 5.13

    48 3.11

    i)  Preparar um algoritmo para calcular a acelerao gravitacional g, a partir destes

    dados, utiliando a frmula: = 12  

    onde   representa a distncia percorrida pela bola e   o tempo gasto. Cada um doscinco casos mostrados dar um valor de ; o "melhor valor" para  para a localidadede Saskatoon, com base nestes resultados, dado pela mdia aritmtica das cincomedidas. O algoritmo deve ler os dados fornecidos e imprimir o valor mdioencontrado. O formato de entrada : alturatempo, alturatempo, alturatempo, etc.de cada lanamento.

      

  • 8/15/2019 Algoritmos [Resumo] - Tremblay e Bunt

    18/25

    5. APLICAES DE ALGORITMOS 17

    Cincia dos computadores: uma abordagem algortmica Trembla & Bunt

    h)  Embora a velocidade da lu seja constante, no importando a velocidade relativa dafonte e do observador, o comprimento de onda e a freqncia mudam um efeitoprevisto pela primeira ve por Johann Doppler e conhecido como o "Efeito Doppler". O

    comprimento de onda λ emitido por uma fonte movendose em direo ao observadorcom uma velocidade

      comprimido por uma quantidade

    ∆, que dada pela frmula:

    ∆ =  onde   a velocidade da lu. Suponha que um avio esteja voando em direo a umaestao de rdio com uma velocidade constante de 360 km/h (104 cm/s). Se a estaode rdio est emitindo num comprimento de onda de 30 metros, a mudana nocomprimento de onda devido ao Efeito Doppler :

    ∆ =     =  /∗∗

    ∗/   = 103cm

    Ento, o piloto do avio deve ajustar o receptor para um comprimento de onda de 3,000

    cm menos 103cm, ou seja, 2999.999 cm, enquanto est se aproximando da estao, eento para o comprimento de onda de 3000.001 cm enquanto estiver se afastando daestao (observao: utiliar padro americano: ponto separando casas decimais).i)  Preparar um algoritmo para ler o coprimento de onda emitido pela estao e a

    velocidade de aproximao do avio, e ento, imprimir o valor real de λ com o qualo piloto receber o sinal.

  • 8/15/2019 Algoritmos [Resumo] - Tremblay e Bunt

    19/25

    6. ESTRUTURAS DE DECISO E DE CONTROLE 18

    Cincia dos computadores: uma abordagem algortmica Trembla & Bunt

    6. ESTRUTURAS DE DECISO E DE CONTROLE

    6.1. JUSTIFICATIA

    a)  Algoritmo simples resolvem problemas simples:

    i)  Entrada clculo sadaii)  No envolve tomada de decises no decorrer do processo

    b)  Em situaes de repetio ou mais complexas necessrio a utiliao de duas estruturas:i)  Deciso: SeEntoSeno (ou simplesmente estrutura Se)ii)  Repetio: Repita At que uma CONDIO seja satisfeita

    c)  Exemplo: calcular a nota de 250 alunos, indicando Aprovado ou Reprovadoi)  Repita At terminarem os dados:

    (1) calcule a mdia.(2) Se MEDIA < 5 Ento Escreva(Reprovado) Seno Escreva(Aprovado)

    6.2. SELEO DE ALTERNATIAS

    a)  A Unidade Aritmtica e Lgica do processador o crebro do computadori)  A Unidade Aritmtica executa os clculos necessrios;ii)  A Unidade Lgica fornece a habilidade de tomar decises;

    iii)  A deciso especificada numa expresso lgica: MEDIA < 5;iv)  O resultado dessa expresso pode ser verdadeiro ou falso;v)  O fluxo do programa alterado conforme o resultado da expresso;

    6.2.1. C S E Sa)  Se condio Se MEDIA < 5

    Ento (alternativa verdadeira) faa isso Ento Escreva(Reprovado)Seno (alternativa falsa) faa aquilo Seno Escreva(Aprovado)d)  Cada componente dessa estrutura pode ser consideravelmente mais complexo;

    i)  Para tornar mais clara a estrutura, utiliase recuos de texto a cada componente;e)  O conjunto de operadores utiliados para expressar condies indicado abaixo:

    O S

    > Maior do que< Menor do que

    = Igual a≥ Maior do que ou igual a

    ≤ Menor do que ou igual a≠ No igual a (diferente de)

    MDIA < 5

    Escreva(Reprovado) Escreva(Aprovado)

    Fluxograma de uma

    deciso tpica

    FalsoVerdadeiro

    Os operadores podem ser aplicados

    em contextos numricos e no

    numricos. Num contexto no

    numrico, por exemplo, podem ser

    utiliados na classificao emordem alfabtica

  • 8/15/2019 Algoritmos [Resumo] - Tremblay e Bunt

    20/25

    6. ESTRUTURAS DE DECISO E DE CONTROLE 19

    Cincia dos computadores: uma abordagem algortmica Trembla & Bunt

    f)  A estrutura SeEntoSeno tem uma entrada e uma sada apenas:

    g)  Eventualmente, pode no existir uma ao especial se a condio falsa (ou verdadeira):

    h)  Exemplo: Algoritmo para ler dois valores, determinar o maior deles e imprimir o valor

    com uma mensagem de identificao. Assumir que todas as variveis so inteiras.

    i)  Anlise do algoritmo:i)  Passo 1: L dois valores, por exemplo 2 e 6, e atribui esses valores s variveis

    VALOR1 e VALOR2, respectivamente;ii)  Passo 2: A condio VALOR1 > VALOR2 avaliada:

    (1) Se a condio for verdadeira, o valor da varivel VALOR1 atribudo varivelMAIOR, e o algoritmo imprime Primeiro valor o maior;

    (2) 

    Se a condio for falsa, o valor da varivel VALOR2 atribudo varivel MAIORe o algoritmo imprime Segundo valor o maior;iii)  Passo 3: o algoritmo imprime o valor da varivel MAIOR precedido de Valor maior:

    Avaliar

    CONDIO

    ProcessarALTERNATIVAVERDADEIRA

    ProcessarALTERNATIVA

    FALSA

    Verdadeira Falsa

    SADA

    Apenas uma das alternativas processada

    ENTRADA

    AvaliarCONDIO

    ProcessarALTERNATIVAVERDADEIRA

    Verdadeira Falsa

    SADA

    Construo sem

    alternativa Falsa

    Apenas uma das alternativas processada

    Construo com

    alternativa Falsa

    1. [Ler dados de entrada]Leia(VALOR1, VALOR2)

    2. [Determinar o maior]Se VALOR1 > VALOR2

    Ento MAIOR← VALOR1Escreva(Primeiro valor o maior)

    Seno MAIOR← VALOR2Escreva(Segundo valor o maior)

    3. [Imprimir resultados]Escreva(Valor maior: , MAIOR)4. [Terminar]

    Sada

  • 8/15/2019 Algoritmos [Resumo] - Tremblay e Bunt

    21/25

    6. ESTRUTURAS DE DECISO E DE CONTROLE 20

    Cincia dos computadores: uma abordagem algortmica Trembla & Bunt

     j)  Linguagem Estruturada:i)  Recuos equivalentes para estruturas equivalentes;ii)  Recuos maiores para estruturas subordinadas.

    k)  Exemplo: Em uma prvia eleitoral, um candidato s escolhido se o total de seus votosexcede a soma de votos dados a todos os outros candidatos. Se nenhum candidato

    escolhido numa rodada particular, o candidato com o menor nmero de votos eliminado e um novo escrutnio conduido. Suponha que em uma rodada particular,quatro candidatos estejam concorrendo. O algoritmo deve determinar o resultado dessavotao particular. A votao e nomes de cada candidato so fornecidos em ordemdecrescente de votos, em dois registros de entrada.

    l)  Rastreamento do Algoritmo:i)  Entrada:

    Passo VOTOS1 VOTOS2 VOTOS3 VOTOS4 NOME1 NOME2 NOME3 NOME4 CONDIO SADA1 764 419 307 175 Marcelo Marcos Lindolfo Alexandre

    2 764 419 307 175 Marcelo Marcos Lindolfo Alexandre falsa Sem nomeaoAlexandre

    Eliminado da votao

    Obs: a construo do algoritmo completo para verificar resultados da votao muito mais complexo.

    6.2.2. E SES ( )a)  Em algumas aplicaes, uma (ou as duas) das alternativas da estrutura pode(m) envolver

    outras decises. Por exemplo, determinar o maior de trs valores dados A, B e C.Primeiramente, verificase se A maior que B, e ento, comparase o resultado com C.

    1. [Ler dados de entrada]Leia(VOTOS1, VOTOS2, VOTOS3, VOTOS4)Leia(NOME1, NOME2, NOME3, NOME4)

    2. [Verificar o resultado da votao]

    Se VOTOS1 > (VOTOS2 + VOTOS3 + VOTOS4)Ento Escreva(NOME1, Nomeado com, VOTOS1, Votos)Seno Escreva(Sem nomeao , NOME4, Eliminado da votao)

    3. [Terminar]Sada

    764, 419, 307, 175Marcelo, Marcos, Lindolfo, Alexandre

    1. [Ler os valores dados]

    Leia(A, B, C)

    2. [Determinar o maior valor, comparando os pares]Se A > BEnto Se A > C

    Ento MAIOR← A

    Seno MAIOR← CSeno Se B > C

    Ento MAIOR←B

    Seno MAIOR←C

    3. [Imprimir o maior valor]

    Escreva(Maior valor: , MAIOR)

    4. [Terminar]Sada

    A diagramao estruturadafacilita a compreenso e orastreamento da estruturalgica do algoritmo.

  • 8/15/2019 Algoritmos [Resumo] - Tremblay e Bunt

    22/25

    6. ESTRUTURAS DE DECISO E DE CONTROLE 21

    Cincia dos computadores: uma abordagem algortmica Trembla & Bunt

    m) Observao: a diagramao estruturada (recuos) pode alterar o sentido da estrutura:

    n)  Exemplo: Gratificao de natal baseada em dois critrios: nmero de horasextrastrabalhadas e o nmero de horas que o empregado faltou ao trabalho. Cada empregadotem um registro com o nome, nmero de horas extras trabalhadas e o nmero de horas defaltas. A frmula para calcular o prmio subtrair de suas horasextras dois teros dashoras de faltas e distribuir o prmio e acordo com a tabela abaixo. Observao: nenhumfuncionrio pode cair em mais de uma categoria.

    i)  Suponha que um empregado tenha trabalhado 50 horasextras e faltado apenas 3.Qual o valor do Prmio? Calcule o valor de H_BASE: 48;

    ii)  Suponha que outro empregado tenha trabalhado 30 horasextras e faltado 12 horas.Qual o valor do Prmio? Calcule o valor de H_BASE: 22;

    Se Condio 1Ento Se Condio 2

    Ento Sequencia 1

    Seno Sequncia 2

    Se Condio 1Ento Se Condio 2

    Ento Sequencia 1

    Seno Sequncia 2

    Obs: pode no haver comandos em uma das condies

    1. [Ler os valores dados]Leia(NOME, H_EXTRAS, FALTAS)

    2. [Calcular o valor da horabase para enquadramento no prmio]

    H_BASE← H_EXTRAS FALTAS * 2 / 3.0

    3. [Determinar o valor do prmio]Se H_BASE > 40

    Ento PREMIO← 5000Seno Se H_BASE > 30

    Ento PREMIO← 4000Seno Se H_BASE > 20

    Ento PREMIO← 3000Seno Se H_BASE > 10

    Ento PREMIO← 2000

    Seno PREMIO← 1000

    4. [Imprimir resultados]Escreva(Prmio para , NOME, R$, PREMIO)

    5. [Terminar]Sada

    Hora extra 2/3 faltas Prmio em Reais

    > 40 horas 5000> 30 mas ≤ 40 horas 4000

    > 20 mas ≤ 30 horas 3000

    > 10 mas ≤ 20 horas 2000

    ≤ 10 horas 1000

    Varivel Tipo Descrio

    NOME Cadeia nome do funcionrioH_EXTRAS Inteiro horasextras trabalhadasFALTAS Inteiro horas faltadas ao trabalhoH_BASE Real horasbase para o prmioPREMIO Real valor do bnus a ser pago

  • 8/15/2019 Algoritmos [Resumo] - Tremblay e Bunt

    23/25

    6. ESTRUTURAS DE DECISO E DE CONTROLE 22

    Cincia dos computadores: uma abordagem algortmica Trembla & Bunt

    o)  Exemplo: Algoritmo para ler trs nmeros A, B e C, e imprimir o maior e o menor valor.Assumir que os trs valores so diferentes.

    6.2.3. S SES ( S):a)  Ferramenta til e poderosa para a resoluo de problemas;p)  Praticamente todas as linguagens de programao tem alguma forma desse comando;q)  A deciso fornece duas alternativas de desvio do programa;

    i)  No necessrio ter aes nas duas alternativas uma delas pode ser omitida;r)  Comandos Se aninhados (embutidos) permite testar mltiplas condies;

    i)  Excesso de condies podem levar a confuses;s)  Escrita estruturada muito importante para a clarea das construes;

    i)  fundamental nas construes aninhadas;

    t)  Comentrios e espaamentos adequados so contribuies importantes para a clareada documentao do algoritmo.

    1. [Ler os valores dados]Leia(A, B, C)

    2. [Determinar o maior e o menor valor]Se A < BEnto Se A < C

    Ento MIN← A A < B, CSe B > C

    Ento MAX← B A < B > C

    Seno MAX← C A < B < C 

    Seno MIN← C

    MAX← B C < A < B Seno Se A > C

    Ento MAX← A B, C < A 

    Se B > CEnto MIN← C C < B < A 

    Seno MIN← B B < C < A

    Seno MAX← C

    MIN← B B < A < C 

    3. [Imprimir resultados]Escreva(Maior valor:, MAX, Menor valor:, MIN)

    4. [Terminar]Sada

    Varivel Tipo Descrio

    A, B, C Inteiro 3 nmeros diferentesMIN Inteiro menor valor

    MAX Inteiro maior valor

  • 8/15/2019 Algoritmos [Resumo] - Tremblay e Bunt

    24/25

  • 8/15/2019 Algoritmos [Resumo] - Tremblay e Bunt

    25/25

    6. ESTRUTURAS DE DECISO E DE CONTROLE 24

    4.  Preparar um algoritmo para ler os comprimentos dos trs lados de um tringulo (S1, S2, S3)e determinar que tipo de tringulo temos, com base nos casos abaixo. Sejam A o maior doslados de S1, S2 e S3 e B e C os outros dois. Ento:

    Se A ≥ B + C nenhum tringulo formado

    Se A

    2

     = B

    2

     + C

    2

      um tringulo retngulo formadoSe A2 > B2 + C2  um tringulo obtusngulo formadoSe A2 < B2 + C2  um tringulo acutngulo formado

    5.  A Secretaria do Meio Ambiente mantm trs listas de indstrias conhecidas por seremaltamente poluentes da atmosfera. Os resultados de vrias medidas so combinados paraformar o que chamado de ndice de poluio. Isto controlado regularmente.Normalmente os valores caem entre .05 e .25 (Bom). Se o valor atingir .30 (Ruim), asindstrias da lista A sero chamadas a suspender as operaes at que os valores retornemao intervalo normal. Se o ndice atingir .40 (Pssimo), as indstrias da lista B seronotificadas tambm. Se o ndice exceder .50 (Crtico), indstrias de todas as trs listas sero

    avisadas para suspenderem as atividades. Preparar um algoritmo para ler o ndice depoluio e indicar as notaes apropriadas.

    6.  Preparar um algoritmo para ler um valor inteiro e determinar se ele par ou impar.Generaliao: ler  e  e determinar se   divisvel por  e  so inteiros).

    7.  Modificar o algoritmo NOMEAO de modo que no seja necessrio classificar previamenteos resultados da votao. Assumir que no existem candidatos com o mesmo nmero devotos, isto , os votos so diferentes entre si.

    1. [Ler dados de entrada]

    Leia(VOTOS1, VOTOS2, VOTOS3, VOTOS4)Leia(NOME1, NOME2, NOME3, NOME4)

    2. [Verificar o resultado da votao]Se VOTOS1 > (VOTOS2 + VOTOS3 + VOTOS4)Ento Escreva(NOME1, Nomeado com, VOTOS1, Votos)Seno Escreva(Sem nomeao , NOME4, Eliminado da votao)

    3. [Terminar]Sada

    NOMEAO