fearz7 Posted October 9, 2013 at 09:05 PM Report #528256 Posted October 9, 2013 at 09:05 PM Boa noite pessoal, Gostaria que me ajudassem com o seguinte problema? "Dado um valor escalar $str=”120*20%” faça um programa que efectue o respectivo calculo e mostre o resultado no ecrã. Considere a utilização de expressões regulares para qualquer transformação que seja necessária." Minha solução passaria por: 1-Retirar o valor da percentagem (%) da string; 2-Passar o 1º numero para uma variável; 3-Mesmo procedimento para o 2º número; 4-Verificar o operador e realizar o respectivo calculo. Contudo não sei se esta é a abordagem correcta para resolver o problema, e se existe uma forma mais acessível de resolver o mesmo. Digam da vossa justiça. Cumprimentos.
Rui Carlos Posted October 9, 2013 at 09:15 PM Report #528258 Posted October 9, 2013 at 09:15 PM O objectivo é fazer parsing dessa string, ou de uma qualquer string contendo uma expressão aritmética? Se for só dessa string, é trivial, até porque diria que já sabes que tens uma multiplicação (da mesma forma que me pareces que estás a assumir que tens uma percentagem). Por isso, só procuraria o valor dos dois números. Agora se for para fazer parsing de uma qualquer expressão aritmética, parece-me muito má ideia utilizar expressões regulares para tal, visto que a linguagem das expressões aritméticas não vai ser uma linguagem regular. Rui Carlos Gonçalves
fabiomiguel3 Posted July 14, 2014 at 10:57 PM Report #562551 Posted July 14, 2014 at 10:57 PM (edited) http://ideone.com/25gQnJ Agora desenrasca-te 🙂 Ps: os numeros serão sempre a posição $1 e $4 Agora tens de ir buscar a posição 2 (se existir) e a 5 (se existir) e tratares. a posição 3 é o operador Edited July 14, 2014 at 11:01 PM by fabiomiguel3 Blog
fabiomiguel3 Posted July 14, 2014 at 11:07 PM Report #562553 Posted July 14, 2014 at 11:07 PM http://ideone.com/25gQnJ Blog
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now