Ir ao conteúdo
  • Cadastre-se

Yasmin Martins

Membros Juniores
  • Total de itens

    19
  • Registro em

  • Última visita

  • Qualificações

    N/D
  1. @arfneto Será que é possível você me enviar uma mensagem privada e a gente conversar sobre a resolução final do problema? Depois do tanto que você me ajudou, eu gostaria de compartilhar contigo. Nao posso deixar o código inteiro exposto aqui pois alguém pode copiar e eu ser punida por plagio. Obrigada @arfneto!!!
  2. @arfneto Por que em double prob_erro(int N, double a, double f, int T) você colocou return 1.234? Não entendo o que isso faz. E também não entendi o que sorteia_voto_com_falha2() faz. eu nao visualizei como inseri-los nesse bloco pra usa-los (N votantes, a porcentagem, T simulações) A função bissecta() tem 4 parâmetros (N, a, T, tol). Logo, devo fazer algo dentro dela que utilize esses 4 parâmetros, mas só visualizei como utilizar tol. Como eu não posso passar apenas tol como parâmetro pra prob_erro() (seria polimorfismo) como você explicou, significa que minha função bissecta() está longe de estar completa.
  3. @arfneto Bom dia! Desculpe-me, ontem acabei caindo de sono. Muitíssimo obrigada por ter enviado esse código acima. Então, eu concordo contigo, sempre vai ser invertido o resultado final. Nesse caso, o que ele deseja que se faça, é que se calcule qual a probabilidade de erro máximo que pode existir que ainda garante que A vença no final. Ele não deseja que B vença. Note que se você olhar o exemplo de entrada e saída, ele induz você a colocar sempre um valor acima de 50% de votos pro candidato A, e você insere o numero de votantes e a maior probabilidade que você deseja que ocorra, para aí ele devolver o numero real de falha. Eu entendi nesse trecho que fala de probabilidade de fa=0 (A vence) e fb=1(A perde) como sendo 0% de falhas(A se garante) à 100% de falhas (A perdeu). Então o método da bissecção vai calculando a media entre fa e fb (fa=0, fb=1) ->> (0+1)/2 == 0.5, aí esses 0.5 (ponto medio entre fa e fb) serão jogados na prob_erro pra calcular o tal f. Esse valor vai voltar pra bissecta() e aí você compara o q saiu da prob_erro() com o valor da tolerância tol que o usuário inseriu. Entendeu isso? A bissecta() é que faz o absurdo acontecer, aparentemente. porque ela q dá o f. Vou mandar o trecho de código que eu fiz que capta mais ou menos essa ideia. Gostaria de lhe perguntar: por exemplo, uma função tem 4 parâmetros, posso eu chama-la em outro lugar utilizando apenas 1 parâmetro? Ex: bissecta() tem 4 parâmetros, posso chama-la em algum lugar utilizando apenas 1 parâmetro? Provavelmente nao ne? Pois o compilador nao saberia qual parâmetro eu estaria substituindo. Pergunto isso pois quando eu fiz esse código abaixo, eu usei apenas o parâmetro tol, e eu nao usei o restante. E pra chamar a prob_erro() eu deveria usar todos, mas eu nao visualizei como inseri-los nesse bloco pra usa-los (N votantes, a porcentagem, T simulações) double bissecta (int N, double a, int T, double tol); int i; double fa = 0, fb = 1, media = 0, pontom; for(i = 0; i >= ((fa - fb) > BISEC_TOL); i = i+1){ media = (fa + fb)/2; // faz a media dos valores pontom = media; // pontom recebe a media pra jogar na funcao prob_erro() pontom = prob_erro() // como colocar os parametros? if(pontom <= (tol)){ // compara o que saiu de prob_erro() com a tolerância tol fa = pontom; // se estiver abaixo do valor gerado em prob_erro() atualiza fa; else{ fb = pontom; }
  4. @arfneto Este programa? Se for esse, eu não rodei porque ele depende de valores que eu ainda não tenho. int sorteia_voto_com_falha(double f) { if( sorteia_real() < f ) return 1; else return 0; };
  5. @arfneto Olha, que bacana! Sempre ouvi que São Carlos é ótimo em tudo. Parabéns pela força! Na verdade eu não ligaria para o coice se recebesse uma orientação, como você mencionou, mas na prática isso não ocorre. Eu tenho uma simulação do método da bissecção no papel, e estou tentando desde ontem uma simulação das funções, e mesmo em português não consegui relacionar as coisas. Pode parecer impossível mas estou nesse grau de dificuldade de entender. De qualquer forma, obrigada por tudo @arfneto.
  6. @arfneto Eles não conseguiram monitor para esse semestre. Já ouviu falar no IME-USP? Pois então, pedir ajuda ao professor é garantia de tomar um coice daqueles. E falo por experiência própria. Vou tentar uma última vez, sintetizar suas informações e ver se consigo criar algo. Obrigada mais uma vez!
  7. @arfneto Não tenho muita familiaridade não. Comecei a estudar no início desse semestre. Mas aí teve a paralisação, em seguida precisei me ausentar de casa por problemas familiares e não pude acompanhar as atividades online. A matéria andou e como existe um coeficiente alfa de honestidade que pode levar a nota do aluno à zero, os colegas de curso não conversam entre si sobre os trabalhos que devem ser entregues. Aí fiquei um tanto perdida sem ter com quem falar sobre. Na verdade só falei com você mesmo, rs. Eu entendi que você me deu a função pronta, sorteia_voto_com_falha() e assim, como você disse, eu devo fazer a que simula a probabilidade de erro na eleição, que é a prob_erro(int N, double a, double f, int T). Inclusive sem essa, prob_erro(), a função bissecta() nao funciona, pois precisa dela pra comparar com o erro f. Eu devo criar a prob_erro() c os parâmetros dados, mas nao descobri uma forma de fazer isso, sei que devo usar um for pra rodar T vezes, com N votantes e porcentagem a, e que ela vai utilizar o parâmetro f da sorteia voto com falha pra calcular esse erro. Mas não consigo montar isso no código.
  8. @arfneto Obrigada pelo seu tempo, por todas as dicas. Mas meu prazo está se encerrando e por mais que eu tente eu n consigo encontrar uma saída para o problema. Estou exausta. Espero que não pense que tomei seu tempo por nada. Aprendi bastante com todas as suas dicas. Sucesso pra ti por ajudar desconhecidos com tamanha boa vontade! Obrigada!
  9. @arfneto Eu entendi o que você fez na vez anterior, sobre a função sorteia voto com falha. Mas agora que você disse que o modo que pensei nao vai funcionar, eu não consigo pensar numa saída. Nao consigo ainda relacionar as coisas. Você poderia pontuar o que está de errado no código pra que eu possa entender o caminho?
  10. @arfneto Boa tarde! Eu já havia jogado a toalha, mas após pensar muito de madrugada, cheguei a algumas conclusões. Comecei a pensar de maneira separada, quebrando o problema em várias partes. Porém, as funções se relacionam, e eu compreendi que: A ideia é começar meio que de baixo pra cima, fazendo a função bissecta() primeiro, utilizando o modo da bissecção que é explicado. Pois bem, eu rabisquei no papel e fiz o modo da bissecção, onde inicialmente fa = 0 e fb = 1. É calculado a média entre esses dois valores, até que a diferença entre fa e fb seja menor que 10ˆ6(BISSEC_TOL), pra esse loop usei um for. Após esse bloco, essa diferença gerada alimenta a função prob_erro(), e após é feita uma comparação: se o erro q sai de prob_erro() for menor que tol, atualiza fa, caso contrário atualiza fb. Mas agora eu não sei como fazer essa ponte entre os parâmetros das funções para jogar os dados lá e cá. Você poderia me ajudar?
  11. @arfneto Mais ou menos isso? int sorteia_voto_com_falha (double f); int i, N; srand(RAND_MAX); for(i = 1; i < n; i++) return(rand() % 1-f);
  12. @arfneto Boa tarde! Ao analisar as funções que me enviaste (rand() e srand()), sinto que estou quase entendendo como usa-las no meu problema. Porém, na descrição do que devo fazer: int sorteia_voto_com_falha (double f): devolve um inteiro não nulo com probabilidade f, e devolve 0 com probabilidade 1 − f, onde 0 ≤ f ≤ 1. "Devolver um inteiro não nulo com probabilidade f" é um evento separado de "devolve 0 com probabilidade 1-f"? Assim, eu deveria utilizar dois returns, um para cada evento? Isso é possível, uma função retornar duas coisas ao mesmo tempo?
  13. @arfneto Pra ser sincera, embora tenha visualizado o que o programa faz passo a passo, creio que não entendi como ele se aplica no meu problema, você tem razão. Vou lavar o rosto e recomeçar.
  14. @arfneto Eu vi o programa do link que você mandou. Ele gerou números aleatórios de 0 a 50 utilizando rand(). Mas não consigo visualizar como usar na função que preciso. O enunciado do meu trabalho é literalmente algo de outro mundo.
  15. @arfneto Então, a única coisa que eu tenho que fazer com a função sorteia_voto_com_falha(double f) é retornar rand()?Eu atualizei o código com alguns itens que foram dados que devem obrigatoriamente estar no inicio, e que estão no pdf, e acho que se referem exatamente ao que você está falando.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Aprenda_a_Ler_Resistores_e_Capacitores-capa-3d-newsletter.jpg

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!