-

DIE0099 - CONSTRUCAO DE COMPILADORES - Turma: 01 (2015.1)

Visualização de Notícia
  • Atividades Práticas
  • 20/03/2015 12:28
  • Texto:

    Entrega: até dia 06/04

    Atividade 1: Implementar um tradutor de expressões aritméticas simples da notação infixa para pós-fixa, incluindo identificadores.

    Exemplos de entrada/saída:

    9-5+2  -->  9 5 - 2 +

    9-5*2  -->  9 5 2 * -

    (9-5)*2  -->  9 5 - 2 *

    (12 + 34) / 2  -->  12 34 + 2 /

    (n1 + n2 + n3 + n4) / 4  -->  n1 n2 + n3 + n4 + 4 /

     

    Atividade 2: Implementar um avaliador de expressões aritméticas e booleanas, incluindo a definição e uso de identificadores. Se em uma expressão for usado um identificador não definido uma mensagem de erro deve ser apresentada.

    Os operadores relacionais: >, >=, <, <=, == e != e os lógicos: and, or e not pedem ser usados nas expressões, da mesma maneira que se utiliza em linguagens de programação. Nas expressões, serão permitidos também valores reais e os identificadores podem ser redefinidos normalmente.

    Por fim, observar que a tabela de símbolos deve armazenar os valores reais de cada identificador.

    Exemplos de entrada/saída:

    print 9-5+2  -->  6

    print 9-5*2  -->  -1

    print (9-5)*2  -->  8

    print (12 + 34) / 2  -->  23

    print 7.5 + 6 / 2  -->  10.5

    n1=7.3

    n2=8.5

    n3=7

    n4=10

    print (n1 + n2 + n3 + n4) / 4  -->  8.2

    a = 6

    b = 3

    print a*c  -->  Erro: n3 não definido

    print a * b > 0  --> true

    mes = 4

    mes >= 1 and mes <= 12  -->  true

    mes = 14

    mes >= 1 and mes <= 12  -->  false



Voltar

SIGAA | Superintendência de Tecnologia da Informação - STI/UFPI - (86) 3215-1124 | sigjb05.ufpi.br.instancia1 vSIGAA_3.12.1143 17/10/2024 00:24