Re: [obm-l] Pergunta

2010-04-08 Por tôpico Adalberto Dornelles
Olá Bruno,

Podes argumentar por absurdo:

Suponha que y = 1/x seja racional. Então 1/x = a/b com a e b inteiros. Assim
x = b/a, racional. Mas isso não é possivel, pois x é irracional.

Abraço,
Adalberto

Em 7 de abril de 2010 16:43, Bruno Carvalho brunomos...@yahoo.com.brescreveu:

 Pessoal, como eu faria para explicar a seguinte afirmação:

 *Se x é um número Irracional então 1/x é racional,porque 1/x é uma fração*
 .
 a afirmação é falsa.Minha dúvida é como explicar esse fato com uma boa
 argumentação
 para um aluno do ensino médio ? Utilizei na ocasiaõ o recurso da
 calculadora, mas gostaria de saber uma outra forma de justificativa.

 Abraços

 bruno

 --
 Veja quais são os assuntos do momento no Yahoo! + Buscados: Top 
 10http://br.rd.yahoo.com/mail/taglines/mail/*http://br.maisbuscados.yahoo.com/-
 Celebridadeshttp://br.rd.yahoo.com/mail/taglines/mail/*http://br.maisbuscados.yahoo.com/celebridades/-
 Músicahttp://br.rd.yahoo.com/mail/taglines/mail/*http://br.maisbuscados.yahoo.com/m%C3%BAsica/-
 Esporteshttp://br.rd.yahoo.com/mail/taglines/mail/*http://br.maisbuscados.yahoo.com/esportes/



[obm-l] Algoritmo

2010-04-08 Por tôpico Diogo FN
Boa Tarde, pessoal da lista.

Então, me ajuda nessa?

* Dada uma string A e um número N, definir e imprimir uma string B que consiste 
na reprodução da cadeia A, N vezes.



  

Veja quais são os assuntos do momento no Yahoo! +Buscados
http://br.maisbuscados.yahoo.com

[obm-l] Algoritmo II

2010-04-08 Por tôpico Diogo FN
Boa Tarde, pessoal da lista.

Então, me ajuda nessa?

Faça um algoritmo para:

* A entrada de dados de um algoritmo consiste na data atual e esta é fornecida 
por um string em que dia, mês e ano são dados nesta ordem e separadas por 
barra. Deseja-se transformar essa cadeia, modificando a ordem para mês/dia/ano 
e padronizando o formato para xx/xx/, isto é, com dois dígitos para mês e 
quatro para ano.

Exemplo

Entrada: 22/3/1991 --- Saída: 
03/22/1991
Entrada: 22/3/91 --- Saída: 
03/22/1991


  

Veja quais são os assuntos do momento no Yahoo! +Buscados
http://br.maisbuscados.yahoo.com

[obm-l] Algoritmo III

2010-04-08 Por tôpico Diogo FN
Boa Tarde, pessoal da lista.

Então, me ajuda nessa?

* Escrever em linguagem algoritmica um procedimento para alimentar uma lista 
encadeada e um número real e suprimir a primeira ocorrência desse número na 
lista ou indicar que o número não pertence à lista.



  

Re: [obm-l] Algoritmo III

2010-04-08 Por tôpico Felipe Martins
...

Em 8 de abril de 2010 17:13, Diogo FN diog...@yahoo.com.br escreveu:

 Boa Tarde, pessoal da lista.

 Então, me ajuda nessa?

 * Escrever em linguagem algoritmica um procedimento para alimentar uma
 lista encadeada e um número real e suprimir a primeira ocorrência desse
 número na lista ou indicar que o número não pertence à lista.





Re: [obm-l] Algoritmo

2010-04-08 Por tôpico Francisco Barreto
O que eu disse abaixo só vale para N=2. Para reproduzir mais vezes, tenta
fazer um loop

Em 8 de abril de 2010 17:37, Francisco Barreto
fcostabarr...@gmail.comescreveu:

 Copia A para uma string S. Você deve ser capaz de acessar o comprimento de
 S. Faça uma estrutura de repetição para varrer todos os caracteres da string
 S, do primeiro elemento até o comprimento. Para cada valor de S[i], anexe-o
 ao final de A. Você deve ter uma função para fazer isso.

 Você pode pensar numa string como um vetor ou lista encadeada de caracteres
 por exemplo.

 A parte de definir e imprimir é fácil né.


 Em 8 de abril de 2010 17:07, Diogo FN diog...@yahoo.com.br escreveu:

 Boa Tarde, pessoal da lista.

 Então, me ajuda nessa?

 * Dada uma string A e um número N, definir e imprimir uma string B que
 consiste na reprodução da cadeia A, N vezes.

 --
 Veja quais são os assuntos do momento no Yahoo! + Buscados: Top 
 10http://br.rd.yahoo.com/mail/taglines/mail/*http://br.maisbuscados.yahoo.com/-
 Celebridadeshttp://br.rd.yahoo.com/mail/taglines/mail/*http://br.maisbuscados.yahoo.com/celebridades/-
 Músicahttp://br.rd.yahoo.com/mail/taglines/mail/*http://br.maisbuscados.yahoo.com/m%C3%BAsica/-
 Esporteshttp://br.rd.yahoo.com/mail/taglines/mail/*http://br.maisbuscados.yahoo.com/esportes/





Re: [obm-l] Algoritmo II

2010-04-08 Por tôpico Francisco Barreto
Qual linguagem você está usando? Penso na seguinte estratégia, de quebrar a
string em partes, lendo os caracteres. Mas a data tem que ser padronizada,
por exemplo, o mês na entrada é sempre com 1 algarismo?
você tem que ler a primeira string C de entrada, ler o primeiro caracter, ai
adiciona ele em uma string DIA, dai você le o segundo caracter de C e
adiciona no final de DIA.
Blz. Tem que quebrar a data. Sabemos agora que vem um '/', entao você pula
esse caracter (voce pode dar um comando de leitura mas nao salvar o
caracter). Faça agora a mesma coisa pra uma String MES e depois para ANO.
Ai eh só imprimir com uma nova estrutura.
Imaginei que você não quisesse a resposta assim de bandeja em C++,
Python,... Se quiser avisa, e diz a linguagem. Que eu te mando por email e
nao pra lista


Em 8 de abril de 2010 17:11, Diogo FN diog...@yahoo.com.br escreveu:

 Boa Tarde, pessoal da lista.

 Então, me ajuda nessa?

 Faça um algoritmo para:

 * A entrada de dados de um algoritmo consiste na data atual e esta é
 fornecida por um string em que dia, mês e ano são dados nesta ordem e
 separadas por barra. Deseja-se transformar essa cadeia, modificando a ordem
 para mês/dia/ano e padronizando o formato para xx/xx/, isto é, com dois
 dígitos para mês e quatro para ano.

 Exemplo

 Entrada: 22/3/1991 ---
 Saída: 03/22/1991
 Entrada: 22/3/91 ---
 Saída: 03/22/1991



 --
 Veja quais são os assuntos do momento no Yahoo! + Buscados: Top 
 10http://br.rd.yahoo.com/mail/taglines/mail/*http://br.maisbuscados.yahoo.com/-
 Celebridadeshttp://br.rd.yahoo.com/mail/taglines/mail/*http://br.maisbuscados.yahoo.com/celebridades/-
 Músicahttp://br.rd.yahoo.com/mail/taglines/mail/*http://br.maisbuscados.yahoo.com/m%C3%BAsica/-
 Esporteshttp://br.rd.yahoo.com/mail/taglines/mail/*http://br.maisbuscados.yahoo.com/esportes/



Re: [obm-l] Algoritmo

2010-04-08 Por tôpico Bernardo Freitas Paulo da Costa
Hum, essa devia ser uma lista de problemas olímpicos de matemática. Ao
meu ver, falhou tanto o quesito olímpico como o matemático, parecendo
mais uma lista de exercícios de Programação I ...

--
Bernardo Freitas Paulo da Costa

2010/4/8 Francisco Barreto fcostabarr...@gmail.com

 O que eu disse abaixo só vale para N=2. Para reproduzir mais vezes, tenta 
 fazer um loop
 Em 8 de abril de 2010 17:37, Francisco Barreto fcostabarr...@gmail.com 
 escreveu:

 Copia A para uma string S. Você deve ser capaz de acessar o comprimento de 
 S. Faça uma estrutura de repetição para varrer todos os caracteres da string 
 S, do primeiro elemento até o comprimento. Para cada valor de S[i], anexe-o 
 ao final de A. Você deve ter uma função para fazer isso.
 Você pode pensar numa string como um vetor ou lista encadeada de caracteres 
 por exemplo.
 A parte de definir e imprimir é fácil né.

 Em 8 de abril de 2010 17:07, Diogo FN diog...@yahoo.com.br escreveu:

 Boa Tarde, pessoal da lista.

 Então, me ajuda nessa?

 * Dada uma string A e um número N, definir e imprimir uma string B que 
 consiste na reprodução da cadeia A, N vezes.


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


Re: [obm-l] Algoritmo II

2010-04-08 Por tôpico Francisco Barreto
Correção: a minha pergunta sobre o numero de algarismos do mes foi para o
caso em que o mês é menor que 10

Em 8 de abril de 2010 17:53, Francisco Barreto
fcostabarr...@gmail.comescreveu:

 Qual linguagem você está usando? Penso na seguinte estratégia, de quebrar a
 string em partes, lendo os caracteres. Mas a data tem que ser padronizada,
 por exemplo, o mês na entrada é sempre com 1 algarismo?
 você tem que ler a primeira string C de entrada, ler o primeiro caracter,
 ai adiciona ele em uma string DIA, dai você le o segundo caracter de C e
 adiciona no final de DIA.
 Blz. Tem que quebrar a data. Sabemos agora que vem um '/', entao você pula
 esse caracter (voce pode dar um comando de leitura mas nao salvar o
 caracter). Faça agora a mesma coisa pra uma String MES e depois para ANO.
 Ai eh só imprimir com uma nova estrutura.
 Imaginei que você não quisesse a resposta assim de bandeja em C++,
 Python,... Se quiser avisa, e diz a linguagem. Que eu te mando por email e
 nao pra lista


 Em 8 de abril de 2010 17:11, Diogo FN diog...@yahoo.com.br escreveu:

 Boa Tarde, pessoal da lista.

 Então, me ajuda nessa?

 Faça um algoritmo para:

 * A entrada de dados de um algoritmo consiste na data atual e esta é
 fornecida por um string em que dia, mês e ano são dados nesta ordem e
 separadas por barra. Deseja-se transformar essa cadeia, modificando a ordem
 para mês/dia/ano e padronizando o formato para xx/xx/, isto é, com dois
 dígitos para mês e quatro para ano.

 Exemplo

 Entrada: 22/3/1991 ---
 Saída: 03/22/1991
 Entrada: 22/3/91 ---
 Saída: 03/22/1991



 --
 Veja quais são os assuntos do momento no Yahoo! + Buscados: Top 
 10http://br.rd.yahoo.com/mail/taglines/mail/*http://br.maisbuscados.yahoo.com/-
 Celebridadeshttp://br.rd.yahoo.com/mail/taglines/mail/*http://br.maisbuscados.yahoo.com/celebridades/-
 Músicahttp://br.rd.yahoo.com/mail/taglines/mail/*http://br.maisbuscados.yahoo.com/m%C3%BAsica/-
 Esporteshttp://br.rd.yahoo.com/mail/taglines/mail/*http://br.maisbuscados.yahoo.com/esportes/





Re: [obm-l] Algoritmo

2010-04-08 Por tôpico Bruno França dos Reis
Usarei notação F# para os algoritmos.

1) Algoritmo imperativo, que depende de mutabilidade:
let mutable i = n
let mutable B = 
while i  0 do
B - B + A
i - i - 1
printf %A B

2) Algoritmo recursivo, apenas com valores imutáveis:
let rec concatena A = function
| 1 - A
| i - A + concatena A (i-1)
printf %A (concatena A n)

3) Algoritmo recursivo com tail-recursion (evita stack-overflow) usando
acumulador:
let rec concatena A acc = function
| 0 - acc
| i - concatena A (acc + A) (i - 1)
printf %A (concatena A  n)

4) Algoritmo recursivo com continuation passing style (evita
stack-overflow):
let rec concatena (A:string) f = function
| 1 - f A
| i - concatena A (fun s - f(A) + s) (i - 1)
printf %A (concatena A (fun x - x) n)



Para quem tem background de C, Pascal, ou derivados ou similares, a solução
1 deve ser a mais óbvia. É aquela que vc diz ao computador exatamente o que
fazer a cada passo, alterando o valor das variáveis (por isso se chama
imperativa).

Mas perceba que a solução 2 é muito mais simples de se compreender. Ela
quebra o problema em 2 problemas: um trivial, e outro reduzido. O trivial é:
concatenar 1 vez é o mesmo que retornar a própria string. O reduzido é:
concatenar n vezes é o mesmo que concatenar A ao resultado da concatenação
de (n-1) vezes.

As soluções 3 e 4 são a mesma coisa que a 2, mas usam duas técnicas
distintas para permitir ao compilador de criar certas otimizações que
impossibilitarão um problema de stack-overflow por conta de um grande
número de chamadas recursivas.

A solução 3 usa tail recursion, isto é, a chamada recursiva é a última
coisa que se faz na função. O compilador pode, nesse caso, transformar essa
chamada recursiva num loop. No final, o código compilado será muito próximo
ao código da solução 1, só que vc pôde obter esse código escrevendo seu
algoritmo duma forma de bem mais alto nível.

A solução 4 usa o que se chama continuation passing style, isto é, vc
passa à função uma outra função que deve ser chamada assim que a primeira
terminar de executar. Esse talvez seja o mais difícil de pegar a idéia pra
quem não está acostumado. Isso só é possível de se fazer de maneira simples
em linguagens funcionais.


Bruno

--
Bruno FRANÇA DOS REIS

msn: brunoreis...@hotmail.com
skype: brunoreis666
tel: +55 11 9961-7732

http://brunoreis.com
http://brunoreis.com/tech (en)
http://brunoreis.com/blog (pt)

GPG Key: http://brunoreis.com/bruno-public.key

e^(pi*i)+1=0


2010/4/8 Diogo FN diog...@yahoo.com.br

 Boa Tarde, pessoal da lista.

 Então, me ajuda nessa?

 * Dada uma string A e um número N, definir e imprimir uma string B que
 consiste na reprodução da cadeia A, N vezes.

 --
 Veja quais são os assuntos do momento no Yahoo! + Buscados: Top 
 10http://br.rd.yahoo.com/mail/taglines/mail/*http://br.maisbuscados.yahoo.com/-
 Celebridadeshttp://br.rd.yahoo.com/mail/taglines/mail/*http://br.maisbuscados.yahoo.com/celebridades/-
 Músicahttp://br.rd.yahoo.com/mail/taglines/mail/*http://br.maisbuscados.yahoo.com/m%C3%BAsica/-
 Esporteshttp://br.rd.yahoo.com/mail/taglines/mail/*http://br.maisbuscados.yahoo.com/esportes/



Re: [obm-l] Algoritmo

2010-04-08 Por tôpico Francisco Barreto
Copia A para uma string S. Você deve ser capaz de acessar o comprimento de
S. Faça uma estrutura de repetição para varrer todos os caracteres da string
S, do primeiro elemento até o comprimento. Para cada valor de S[i], anexe-o
ao final de A. Você deve ter uma função para fazer isso.

Você pode pensar numa string como um vetor ou lista encadeada de caracteres
por exemplo.

A parte de definir e imprimir é fácil né.


Em 8 de abril de 2010 17:07, Diogo FN diog...@yahoo.com.br escreveu:

 Boa Tarde, pessoal da lista.

 Então, me ajuda nessa?

 * Dada uma string A e um número N, definir e imprimir uma string B que
 consiste na reprodução da cadeia A, N vezes.

 --
 Veja quais são os assuntos do momento no Yahoo! + Buscados: Top 
 10http://br.rd.yahoo.com/mail/taglines/mail/*http://br.maisbuscados.yahoo.com/-
 Celebridadeshttp://br.rd.yahoo.com/mail/taglines/mail/*http://br.maisbuscados.yahoo.com/celebridades/-
 Músicahttp://br.rd.yahoo.com/mail/taglines/mail/*http://br.maisbuscados.yahoo.com/m%C3%BAsica/-
 Esporteshttp://br.rd.yahoo.com/mail/taglines/mail/*http://br.maisbuscados.yahoo.com/esportes/



Re: [obm-l] Algoritmo III

2010-04-08 Por tôpico Francisco Barreto
Vou tentar essa também. Pode ter algo errado. Pensa aí.
Precisamos de um ponteiro para o primeiro elemento da lista. Vamos varrer a
lista. Vamos procurar o nó que guarda R real, tomando cuidado para guardar o
nó anterior ao nó de R, se existir. Para depois ligar o nó anterior ao nó de
R ao sucessor do nó que guarda R. E depois liberamos o nó de R.
digamos que ele seja prim,

p  prim;
encontrou --- falso;
enquanto (p != nil) e nao(encontrou) {
 se p^.dado == R então encontrou=verdade
 senao {
aux --- p;
p  p^.proximo;
 }
}
se encontrou {
   se p == prim {
  prim ---  p^.proximo;
   } senao {
  aux^.proximo --- p^.proximo;
  }
 liberar(p)
 retornar verdade
} senao retornar falso;


Em 8 de abril de 2010 17:13, Diogo FN diog...@yahoo.com.br escreveu:

 Boa Tarde, pessoal da lista.

 Então, me ajuda nessa?

 * Escrever em linguagem algoritmica um procedimento para alimentar uma
 lista encadeada e um número real e suprimir a primeira ocorrência desse
 número na lista ou indicar que o número não pertence à lista.