[obm-l] Re: [obm-l] Re: [obm-l] Re: [obm-l] Re: [obm-l] Re: [obm-l] Hierarquia das Operações

2010-07-29 Por tôpico Johann Dirichlet
Bem, posso dizer que eu nunca pensei nesta convenção. No fim das
contas, quando entrei no Ensino Médio, eu usava só parênteses por ser
nais prático, e pelo fato de colchetes nunca aparecerem dentro de
parênteses (só fui entender o porquê quando passei a programar).

Logo que passei pela Computação (aliás tô meio enferrujado) eu aprendi
algo sobre notação infixa e posfixa. Apesar de serem boas para contas
em computador, são horríveis para o raciocínio. Por exemplo, como
expressar uma equação de segundo grau, ou um sistema de equações, em
notação "não-convencional"? Mas na hora de programar a notação prefixa
é mais útil (quem já viu código LISP sabe do que estou falando, hehe!)
e a posfixa tem seu lugar cativo em Compiladores (quase toda linguagem
de programação pode ser evaluada em uma pilha modificada).

Hoje em dia, eu me confundo completamente quando não leio a primeira
página das "convenções adotadas neste livro": em alguns livros, {x} é
o inteiro mais próximo de x, em outros [x] é o conjunto dos naturais
abaixo de x...

Uma curiosidade meio que no off-topic: tem um programa muito comum em
máquinas Unix, o dc, que roda um RPN Calculator. Ele tem mais
operações além das 4 básicas. Dá até pra calcular raízes quadradas e
programar funções.

Em 29/07/10, Luiz Rodrigues escreveu:
> Olá pessoal!!!
> Tudo bem???
> Agradeço a todos vocês pelas respostas.
> Tenho bastante material para poder pensar...
> Um grande abraço para todos!!!
> Luiz
>
> 2010/7/28 Adalberto Dornelles 
> > Olá turma,
> >
> >
> > Falando em notação RPN, lembrei do termo quando comprei uma
> > calculadora HP 15 C (há muito tempo). Lembro que custei a pegar o
> > jeito, mas depois  gostei muito. A resolução de expressões usando a
> > "pilha operacional" e pensando de "dentro pada fora" me facilitou a
> > vida. Até hoje, penso ser a melhor maneira de operar. Pena que meus
> > alunos da engenharia tenham muita dificuldade com a calculadora...
> >
> > Abraço,
> >
> > Adalberto
> >
> >
> > Em 28 de julho de 2010 15:05, Bernardo Freitas Paulo da Costa
> >  escreveu:
> >
> >
> >
> > > 2010/7/28 Alessandro Madruga Correia :
> > >> Em 28-07-2010 09:32, Bernardo Freitas Paulo da Costa escreveu:
> > >>>
> > >>> E agora, uma charada:
> > >>>
> > >>> +*+*123--45--678 = ?
> > >>>
> > >>
> > >> +  ((1*2)+3) *   [(4-5) - ((6-7) - 8)] = 40
> > >>
> > >> É isso?
> > > Essa é uma solução que "sai do problema" :) Note que você interpretou
> > > o primeiro "+" sem somar ninguém, o que é um problema !!! Mas é mais
> > > ou menos por aí...
> > >
> > > Enfim, pra dar uma dica: como há 8 operandos e 8 operações, não é
> > > possível que elas sejam todas binárias... senão, fica faltando um
> > > operando.
> > >
> > >>
> > >> Abraço.
> > >
> > > abraços,
> > > --
> > > Bernardo Freitas Paulo da Costa
> > >
> > >
> =
> > > Instruções para entrar na lista, sair da lista e usar a lista em
> > > http://www.mat.puc-rio.br/~obmlistas/obm-l.html
> > >
> =
> > >
> >
> >
> =
> > Instruções para entrar na lista, sair da lista e usar a lista em
> > http://www.mat.puc-rio.br/~obmlistas/obm-l.html
> >
> =
> >
>
>


-- 
/**/
Quadrinista e Taverneiro!

http://tavernadofimdomundo.blogspot.com >> Histórias, Poemas, Quadrinhos e Afins
http://baratoeletrico.blogspot.com />> Ativismo Digital (?)
http://bridget-torres.blogspot.com/ >> Personal! Do not edit!

=
Instru��es para entrar na lista, sair da lista e usar a lista em
http://www.mat.puc-rio.br/~obmlistas/obm-l.html
=


[obm-l] Re: [obm-l] Re: [obm-l] Hierarquia das Operações O FFTOPIC

2010-07-29 Por tôpico Luiz Rodrigues
Olá Nehab!!!
Tudo bem???
Muito obrigado pela resposta!!!
Gostei muito da charada e quero resolvê-la com calma...
Um grande abraço!!!
Luiz.

2010/7/28 Carlos Nehab 

> Oi, Bernardo (e Luiz)
>
> Você tem toda razão, mais achei mais natural para o Luiz ele primeiro se
> divertir com a notação prefixada. É mais natural.
>
> Na verdade já programei durante MUITOS anos e fui também professor na
> área...
> Mas sem querer ser saudosista (já sendo) lembro aos jovens que meu primeiro
> PC tinha 64k de memória e meu HD 10 Mb (isto mesmo)...
> Além disso no IME, onde cursei Engenharia Elétrica (1965/1969) - me formei
> há mais de 40 anos... o IBM 1130 tinha 8k de memória e não era
> muititarefa... Tempos inacreditáveis...
>
> E sem nenhum saudosismo bobo, naquela época programar era mais do que uma
> arte.  Era mágico.
> E isto em linguagens malucas, como Assembler, Mumps, PL1, Pascal / Turbo
> Pascal e... até Cobol... (um saco) e... outras linguagens "exdruxulas" da
> época.
> Pouco depois do C e da Orientação a Objeto, acabou meu saco e eu me decidi
> pela Matemágica...
>
> Mas na linha da fronteira entre Informática e Matemática, também durante
> anos fui professor de Técnicas de Construção de Algoritmos (inclusive
> Algoritmos Heurísticos), Matemática Discreta, Linguagens Formais,
> Complexidade de Computação, etc, para a galera de Ciência da Computação e,
> cá prá nós, isto é mais matemática do que informática, né...
>
> Portanto, meu comentário sobre as notações in/pós/prefixas vêm deste
> saudoso tempo (1970 a 2000).
>
> Quanto à sua charada, deixo como exercício pro Luiz, responsável por esta
> discussão...
>
> Grande abraço,
> Nehab
>
> PS: Gostosa inveja de você ai na França... Ralando muito ou apenas passando
> férias?
>
>
> Bernardo Freitas Paulo da Costa escreveu:
>
> 2010/7/28 Carlos Nehab  :
>
>
> Oi, Luiz,
>
> Tô ausente da lista há algum tempo justamente por falta de tempo, mas
> gostaria de participar desta ...
>
>
> Oi Nehab! Eu aproveitei o almoço hoje para perguntar para alguns
> colegas franceses se essa história de "parênteses, colchetes, chaves"
> existia por aqui... Parece que não, enfim, ninguém se lembra de ter
> visto uma coisa dessas na escola.
>
> Mas eu respondo mesmo porque eu gosto de perturbar, e você falou da
> notação polonesa, eu não posso evitar falar da RPN (reverse polish
> notation, ou notação polonesa invertida), e também propor um
> probleminha.
>
>
> Vários colegas já responderam na linha de "é uma convenção", "tanto faz" e
> eu concordo com os comentários já postados.
> Mas talvez a chave da questão no que diz respeito ao ensino das notações
> disponíveis para representar expressões seja perceber que, na verdade, não é
> necessário nenhum símbolo separador para escrevê-las sem ambiguidade.
>
> Como a turma de computação aprende, você tem 3 formas usuais chamadas de
> infixa, pósfixa e préfixa para representar expressões.
> Algumas máquinas de calcular aceitam a forma préfixa naturalmente, também
> chamada de notação polonesa.
> Procure na Web os verbetes citados se quiser detalhes, mas ai dou apenas uma
> idéia da "notação polonesa" que, se ensinada às crianças, evitaria todas
> esta discussão.
>
> Por exemplo, para escrever expressões com esta notação escreva,
> recursivamente (repetidamente), o símbolo da operação em primeiro lugar e, à
> direita, as duas parcelas a ela associadas, na ordem em que ocorrem:
>
> Exemplinhos:
> a + b   será escrito como +ab
> a+ b*c será escrito como  +a*bc
> a * (b + c)  será escrito como *a+bc
> e assim sucessivamente.
>
> Ou eja a notação é chamada de préfica porque a operação precede as parcelas
> a elas associadas. Percebeu?
>
> Ou seja, o uso de parênteses, colchetes e chaves é apenas para facilitar o
> uso da notação usual que utilizamos que é burra e limitada, pois lemos da
> esquerda para a direita mas não necessariamente as operações que desejamos
> realizar sejam calculadas nesta ordem.   Teoricamente, no ocidente,
> portanto, a notação mais sensata é a préfixa (ou polonesa)...  Ma se eu
> fosse japones ou árabe, possivelmente (espero não estar dando mancada)
> preferiria a notação pósfixa... :-)
>
>
> E se você fosse programador, talvez preferisse que seus utilizadores
> usassem a notação posfixa, porque usa menos memória e as contas são
> feitas diretamente na pilha, o que simplifica bastante o procedimento,
> e deve acelerar um pouquinho as coisas ! De um ponto de vista
> funcional (de função, não que seja mais simples...), a notação
> polonesa inspira bastante f(a,b), se você pensar que f = adição,
> enquanto a notação invertida é "a,b,f", que parece mais estranha
> ainda. Mas eu prometo, é uma questão de hábito, como você disse. Em
> vez de pensar "somar 2 e 3", e escrever isso como "somar(2,3)", você
> tem que pensar: "eu tenho 2 e 3, e quero somar". De certa forma, isso
> mantém os "argumentos" da função bem próximos, o que ajuda bastante o
> programa.
>
> E agora, uma charada:
>
> +*+*123--45--678 = ?
>
>
> Abraços
> Neha

[obm-l] Re: [obm-l] Re: [obm-l] Hierarquia das Operações

2010-07-28 Por tôpico Bernardo Freitas Paulo da Costa
2010/7/28 Alessandro Madruga Correia :
> Em 28-07-2010 09:32, Bernardo Freitas Paulo da Costa escreveu:
>>
>> E agora, uma charada:
>>
>> +*+*123--45--678 = ?
>>
>
> +  ((1*2)+3) *   [(4-5) - ((6-7) - 8)] = 40
>
> É isso?
Essa é uma solução que "sai do problema" :) Note que você interpretou
o primeiro "+" sem somar ninguém, o que é um problema !!! Mas é mais
ou menos por aí...

Enfim, pra dar uma dica: como há 8 operandos e 8 operações, não é
possível que elas sejam todas binárias... senão, fica faltando um
operando.

>
> Abraço.

abraços,
-- 
Bernardo Freitas Paulo da Costa

=
Instruções para entrar na lista, sair da lista e usar a lista em
http://www.mat.puc-rio.br/~obmlistas/obm-l.html
=


[obm-l] Re: [obm-l] Hierarquia das Operações

2010-07-28 Por tôpico Bernardo Freitas Paulo da Costa
2010/7/28 Carlos Nehab :
> Oi, Luiz,
>
> Tô ausente da lista há algum tempo justamente por falta de tempo, mas
> gostaria de participar desta ...
Oi Nehab! Eu aproveitei o almoço hoje para perguntar para alguns
colegas franceses se essa história de "parênteses, colchetes, chaves"
existia por aqui... Parece que não, enfim, ninguém se lembra de ter
visto uma coisa dessas na escola.

Mas eu respondo mesmo porque eu gosto de perturbar, e você falou da
notação polonesa, eu não posso evitar falar da RPN (reverse polish
notation, ou notação polonesa invertida), e também propor um
probleminha.

> Vários colegas já responderam na linha de "é uma convenção", "tanto faz" e
> eu concordo com os comentários já postados.
> Mas talvez a chave da questão no que diz respeito ao ensino das notações
> disponíveis para representar expressões seja perceber que, na verdade, não é
> necessário nenhum símbolo separador para escrevê-las sem ambiguidade.
>
> Como a turma de computação aprende, você tem 3 formas usuais chamadas de
> infixa, pósfixa e préfixa para representar expressões.
> Algumas máquinas de calcular aceitam a forma préfixa naturalmente, também
> chamada de notação polonesa.
> Procure na Web os verbetes citados se quiser detalhes, mas ai dou apenas uma
> idéia da "notação polonesa" que, se ensinada às crianças, evitaria todas
> esta discussão.
>
> Por exemplo, para escrever expressões com esta notação escreva,
> recursivamente (repetidamente), o símbolo da operação em primeiro lugar e, à
> direita, as duas parcelas a ela associadas, na ordem em que ocorrem:
>
> Exemplinhos:
> a + b   será escrito como +ab
> a+ b*c será escrito como  +a*bc
> a * (b + c)  será escrito como *a+bc
> e assim sucessivamente.
>
> Ou eja a notação é chamada de préfica porque a operação precede as parcelas
> a elas associadas. Percebeu?
>
> Ou seja, o uso de parênteses, colchetes e chaves é apenas para facilitar o
> uso da notação usual que utilizamos que é burra e limitada, pois lemos da
> esquerda para a direita mas não necessariamente as operações que desejamos
> realizar sejam calculadas nesta ordem.   Teoricamente, no ocidente,
> portanto, a notação mais sensata é a préfixa (ou polonesa)...  Ma se eu
> fosse japones ou árabe, possivelmente (espero não estar dando mancada)
> preferiria a notação pósfixa... :-)

E se você fosse programador, talvez preferisse que seus utilizadores
usassem a notação posfixa, porque usa menos memória e as contas são
feitas diretamente na pilha, o que simplifica bastante o procedimento,
e deve acelerar um pouquinho as coisas ! De um ponto de vista
funcional (de função, não que seja mais simples...), a notação
polonesa inspira bastante f(a,b), se você pensar que f = adição,
enquanto a notação invertida é "a,b,f", que parece mais estranha
ainda. Mas eu prometo, é uma questão de hábito, como você disse. Em
vez de pensar "somar 2 e 3", e escrever isso como "somar(2,3)", você
tem que pensar: "eu tenho 2 e 3, e quero somar". De certa forma, isso
mantém os "argumentos" da função bem próximos, o que ajuda bastante o
programa.

E agora, uma charada:

+*+*123--45--678 = ?

> Abraços
> Nehab

Abraços,
-- 
Bernardo Freitas Paulo da Costa

=
Instruções para entrar na lista, sair da lista e usar a lista em
http://www.mat.puc-rio.br/~obmlistas/obm-l.html
=


[obm-l] Re: [obm-l] Re: [obm-l] Hierarquia das Operações

2010-07-27 Por tôpico Adalberto Dornelles
> Eu acho que isso parece mais uma convenção brasileira...

Não sei se é convenção e não sei se é brasileira...

Minha filha está com 10 anos e está estudando isso no colégio. Quando
ela me perguntou
"Pai, tu sabes quel é a ordem?"
Respondi
"Tanto faz, o que importa é primeiro o que está dentro, depois..."
Ele me interrompeu e disse:
"Nããõ, o Profe Jaque disse que é primeiro o parenteses, depois "
Para não entrar em polêmica, disse que "tudo bem..."

Mas na verdade não acho "tudo bem...". De fato acho que alguns livros
didáticos enfatizam essa regra meio sem saber porque e copiando do
outro livro que também dizia isso ...

Não vejo "lógica" em uma "ordem de precedência" entre os símbolos...

Na verdade, acho que em expressões do tipo ((a + b) * (c + d) + e) /
(f - g)... o "correto" é usar só (). o [] ou {} teríam outras
utilidades como delimitador de conjuntos {a,b,c,...} ou intervalos
[-5, 5] por exemplo...

Mas digite "parenteses colchete chaves" no google e acharas uma
montanha de perguntas e respostas sobre o tema (algumas muito
ingênuas)

Abraço,
Adalberto

=
Instruções para entrar na lista, sair da lista e usar a lista em
http://www.mat.puc-rio.br/~obmlistas/obm-l.html
=


[obm-l] Re: [obm-l] Hierarquia das Operações

2010-07-27 Por tôpico Bernardo Freitas Paulo da Costa
2010/7/27 Luiz Rodrigues :
> Olá, pessoal!!!
> Tudo bem???
> Tenho uma dúvida já faz algum tempo e não consegui esclarecê-la.
> É sobre a hierarquia das operações (parênteses, depois colchetes etc).
e depois chaves... e depois o quê ???

> Alguém sabe como isso surgiu? Será que foi um acordo feito entre
> matemáticos?
Eu acho que isso parece mais uma convenção brasileira...
provavelmente, questão de hábito. Enfim, em geral, me parece normal
usar símbolos cada vez maiores para poder distinguir, com maior
facilidade, as sub-expressões. Mas, até onde eu saiba, não existe um
consenso mundial nisso. Inclusive, eu quase não vejo colchetes.

Pegando dois livros que eu tenho à mão :
W.K. Hayman, Meromorphic Functions, 1964. Tem um monte de contas
explícitas que ocupam às vezes mais de uma linha. Ele usa parênteses
para os argumentos de funções, e colchetes para grupos. Às vezes,
quando aparece um valor absoluto, os | | acabam servindo de grupo
também. Mas a estrutura não é, absolutamente, rígida.

R.L. Graham, D.E. Knuth, O. Patashnik, Concrete Mathematics. Neste
livro, ocorrem diversas vezes os símbolos de (), {} e [] com diversas
funções. Primeiros, para os "special numbers", respectivamente
binomiais (a b), Stirling tipo 2 {a b} e Stirling tipo 1 [a b]
(imagine o "a" em cima do "b"). Além disso, [x] = Parte inteira de x,
e {x} = parte fracionária de x. Logo, sobram apenas os parêntesis para
formar grupos, e o livro é coerente nisso o tempo todo. Ainda mais
que, misturar poderia gerar uma grande confusão.

 O que importa é que "você resolve primeiro o que está num grupo,
depois o que está no grupo de fora". Como você delimita os grupos, é,
em geral, flexível. A única condição que eu vejo é que seja simétrico
: {) seria muito estranho, e difícil de ler.

> Muito obrigado!!!
> Um abraço para todos.
> Luiz.

Portanto, é mais uma questão de convenção do que realmente um grande
consenso matemático. Além do mais, eu diria que o "consenso" está mais
pro lado do Knuth (de usar [x] para parte inteira, e {x} = x - [x] =
parte fracionária) do que para a convenção escolar brasileira... Além
do mais, {x} poderia também significar o conjunto cujo único elemento
é x (o que é bem diferente de x!!!), e [a,b] é também
usado para intervalos... Resultado: no fim das contas, a notação
depende, e muito, do contexto. E portanto, quanto mais clara ela for,
melhor. Uma coisa muito engraçada do livro do Concrete Math é que ele
começa, justamente, com duas páginas de "A note on notation",
explicando o que ele vai utilizar em seguida. Eu acho que todo mundo
devia fazer assim, pelo menos, nos livros.

[ Abraços ]'s,
-- 
Bernardo Freitas Paulo da Costa

=
Instruções para entrar na lista, sair da lista e usar a lista em
http://www.mat.puc-rio.br/~obmlistas/obm-l.html
=