Ajude nosso projeto a se manter online, faça um PIX de qualquer valor:
programacao.progressiva@gmail.com

Quer nos ajudar

O objetivo do projeto Python Progressivo é bem simples:
Ensinar a linguagem Python, do zero, bem do básico, da maneira mais simples e fácil possível, oferecendo o conteúdo mais rico e bem destrinchado da internet.

Adquirimos livros, cursos, assistimos aulas presenciais (de cursos e universidades), vídeo-aulas e lemos dezenas de outros sites (em português e inglês), com um objetivo: passar todo o conhecimento possível para vocês.

Isso foi feito através de centenas de tutoriais, com explicações, conversas, códigos comentados, questões propostas, exercícios resolvidos, criação de softwares e até jogos.

E o custo disso: 0.
Nada.

Nem se cadastrar precisa, nem fazer login ou sequer nos dar seu e-mail ou nome.
Só acessar e estudar. Simples assim.

Deseja fazer parte dessa família e nos ajudar?
Veja abaixo:

Como Ajudar o Python Progressivo

Um comentário:

  1. Escreva um programa recursivo que se comporte como uma calculadora básica. Seu
    programa receberá como entrada uma string contendo uma expressão aritmética que incluirá
    apenas valores inteiros, parênteses e operações de adição (+), subtração (-), multiplicação (*)
    e divisão (/). Como saída seu programa deverá emitir o resultado da expressão informada.
    Lembre-se que a ordem para realizar as operações determina que multiplicações e divisões
    têm precedência sobre adição e subtração. Parênteses têm precedência sobre multiplicações
    e divisões.
    Restrições
    O programa deve avaliar a expressão recursivamente. Soluções que não utilizem recursão
    como mecanismo de avaliação das expressões não serão consideradas.
    Não é permitido importar nenhum módulo. Faça tudo utilizando Python básico.
    Dica
    A avaliação de uma expressão aritmética pode ser vista como um processo recursivo, onde
    para avaliar cada operação antes é preciso avaliar as expressões que definem seus
    operandos. Por exemplo, para avaliar a expressão “3 + 5 * 6 - 8” podemos organizar as
    operações conforme a seguinte precedência dada pelos parênteses “3 + ((5 * 6) - 8)”. Ou seja,
    a chamada de função que avalia a adição do operando “3” com o operando “5 * 6 - 8” é
    chamada recursivamente para avaliar o segundo operando, que por sua vez quebra a
    expressão em “5 * 6” e “8” na avaliação da subtração e, em nova chamada recursiva sobre o
    operando “5 * 6” retorna o resultado da avaliação da multiplicação entre “5” e “6”.
    Descrição da Entrada
    A entrada é composta por vários casos de teste, um por linha. Cada linha contêm uma
    expressão matemática.
    Sempre existirá um espaço em branco antes e depois de cada operador aritmético. Os
    operadores de adição, subtração, multiplicação e divisão são representados, respectivamente
    pelos caracteres “+”, “-”, “*” e “/”.
    O caractere de abertura de parênteses “(“ sempre será seguido de um espaço em branco. Por
    sua vez, o caractere de fechamento de parênteses “)” sempre será precedido de um espaço
    em branco.
    O término da entrada é sinalizado pelo texto “0”.
    Descrição da Saída
    Para cada caso de teste seu programa deve imprimir uma linha contendo o resultado da
    expressão avaliada. Imprima os resultados com duas casas decimais.

    ResponderExcluir