Re: [obm-l] Pergunta
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
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
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
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
... 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
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
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
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
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
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
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
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.