assinatura
Regras
O trabalho consistirá em implementar uma solução para o problema em questão usando python, perl ou scheme.
Este trabalho deverá ser realizado em dupla tendo data de entrega pelo ambiente virtual dia 30/11/2014 até às 23:55. As apresentações ocorrerão impreterivelmente no dia 01/12/2014 durante a aula.
A apresentação consiste em demonstrar e explicar a solução para o problema, identificando os pontos que ressaltam o uso dos paradigmas estudados. Explique suas decisões de forma clara. Durante a apresentação perguntas individuais serão feitas para cada membro da dupla. A nota será atribuida individualmente para cada aluno.
Atenção : É expressamente vetado a cópia de trabalhos. Trabalhos com semelhança maior que 90% serão considerados plágios e todos os alunos envolvidos terão nota mínima.
Avaliação
• Implementação (4,0 pontos);
• Documentação (3,0 pontos);
• Apresentação (3,0 pontos);
Problema de balanceamento
Uma característica comum nas mais diversas linguagens de programação é delimitar expressões. Por exemplo, a linguagem C usa parênteses para delimitar a prioridade na resolução de expressões aritméticas como no exemplo abaixo.
Assim, primeiro se resolve as operações mais internas, 2/3 e 23/2. Depois as operações mais externas 2/3 + 24 e 23/2 - 21, assim por diante.
1 * (( ((2/3) + 24) - 3 ) + ( ((23/2) - 21) % 32 ))
Para garantir que uma expressão usando parênteses esteja correta é necessário assegurar que para cada abre-parêntese ’(’ existe um fecha-parêntese ’)’.
Entrada
Uma única linha contendo uma expressão aritmética. Esta linha pode conter espaços em branco.
Saída
A palavra correta para assinalar se a expressão usa corretamente os parênteses, ou a palavra incorreta caso contrário seguido de uma nova linha.
Exemplo de entrada
((2-0)+(3/4%5+67)+(1+((21/2)*1)+(34)-23)*2)/(31%2)
Exemplo de saída
correta