diegostf 0 Denunciar post Postado Outubro 21, 2008 Pessoal! alguem poderia me ajudar, nao estou conseguindo elaborar meus exercicios de pesquisa em Vetores! Segue o Exercicio! A partir de 2 Vetores: um contendo numero de matricula de um aluno e outro, na mesma posição,contendo as Medias Finais,em orden descrescente,dos 100 alunos de uma turma,montar um algoritmo para imprimir os codigos dos alunos que obtiveram nota media Superior a um Valor (Aleatorio) proviamente indicado! tentei fazer: aluno:vetor[1..100]de inteiro media:vetor[1..10]de inteiro i,iniciu,aux1,aux2:inteiro primeira,ultima,metade:inteiro achou: logico PARA i DE 1 ATE 100 FACA escreva ("Digite a matricula do aluno") leia (aluno[i]) escreva ("Digite a media Final") leia (media[i]) FIMPARA PARA iniciu DE 1 ATE 99 FACA PARA i DE iniciu +1 ATE 100 FACA SE media[iniciu] < media[i] ENTAO aux1 <- media[iniciu] aux2 <- aluno[iniciu] media[iniciu] <- media[i] aluno[iniciu] <- aluno[i] media[i] <- aux1 aluno[i] <- aux2 FIMSE FIMPARA FIMPARA escreva ("Digite a Media necessaria, Para saber quem esta aprovado ou reprovado!") primeira <- 1 ultima <- 100 achou <- FALSOtravei nesta parte galera eu consigo montar para pesquisar 1 ou mais numeros em Vetor!mais para Digitar um Numero "Media" e fazer ele verificar dentro do vetor pra saber se a nota de cada pessoa e menor ou maior que a media Aleatoria que digitei ja complica minha cabeça!! Alguem poderia me ajudar? Obrigado!! Compartilhar este post Link para o post Compartilhar em outros sites
_Isis_ 202 Denunciar post Postado Outubro 21, 2008 Não consegui entender nada do que você falou... alunos = [] medias = [] for i in xrange(0,100): print "Digite a matricula:" alunos[i] = int(raw_input()) print "Digite a media:" medias[i] = float(raw_input()) print "Digite a nota minima de aprovacao:" aprovacao = float(raw_input()) for i in xrange(0,100): if medias[i] >= aprovacao: print alunos[i] Compartilhar este post Link para o post Compartilhar em outros sites
diegostf 0 Denunciar post Postado Outubro 21, 2008 rsrss!! entao, vo tenta explicar melhor!! tenho que montar 2 vetores, um contande 100 Codigo de matricula do aluno "No caso pode ser o nome do aluno") e outro vetor contende as medias Final de cada um!! Depois Ordenar o Vetor pelas Medias finais em Orden Decrescente! e por ultimo Mandar a pessoa Digitar um numero no teclado Explomplo "8" que sera a media minima de aprovação! e fazer a pesquisa dentro do vetor para saber quem esta aprovado e reprovado! pela nota que digitei comparando com a media final! e imprimir 100 nome de alunos e na frete se foi aprovado ou reprovado!! Entendeu melhor? Compartilhar este post Link para o post Compartilhar em outros sites
_Isis_ 202 Denunciar post Postado Outubro 21, 2008 Você não pode ordenar o vetor de médias. Leia o enunciado de novo: A partir de 2 Vetores: um contendo numero de matricula de um aluno e outro, na mesma posição,contendo as Medias Finais,em orden descrescente,dos 100 alunos de uma turma,montar um algoritmo para imprimir os codigos dos alunos que obtiveram nota media Superior a um Valor (Aleatorio) proviamente indicado! Se Marcos teve média 50 e for o primeiro da lista de médias, você vai indexar com o mesmo valor os dois vetores e vai associar a média errada. O vetor de médias tem que ser fornecido em ordem decrescente. Veja lá o código. A parte que não entendi foi essa coisa que você escreveu: travei nesta parte galera eu consigo montar para pesquisar 1 ou mais numeros em Vetor!mais para Digitar um Numero "Media" e fazer ele verificar dentro do vetor pra saber se a nota de cada pessoa e menor ou maior que a media Aleatoria que digitei ja complica minha cabeça!! Compartilhar este post Link para o post Compartilhar em outros sites
diegostf 0 Denunciar post Postado Outubro 21, 2008 Você não pode ordenar o vetor de médias. Leia o enunciado de novo: A partir de 2 Vetores: um contendo numero de matricula de um aluno e outro, na mesma posição,contendo as Medias Finais,em orden descrescente,dos 100 alunos de uma turma,montar um algoritmo para imprimir os codigos dos alunos que obtiveram nota media Superior a um Valor (Aleatorio) proviamente indicado! Se Marcos teve média 50 e for o primeiro da lista de médias, você vai indexar com o mesmo valor os dois vetores e vai associar a média errada. O vetor de médias tem que ser fornecido em ordem decrescente. Veja lá o código. A parte que não entendi foi essa coisa que você escreveu: travei nesta parte galera eu consigo montar para pesquisar 1 ou mais numeros em Vetor! mais para Digitar um Numero "Media" e fazer ele verificar dentro do vetor pra saber se a nota de cada pessoa e menor ou maior que a media Aleatoria que digitei ja complica minha cabeça!! a sim! Nao sei foi isso que você tentou dizer mais assim!! PARA iniciu DE 1 ATE 99 FACA PARA i DE iniciu +1 ATE 100 FACA SE media[iniciu] < media ENTAO //Se media 1º posiçao > que 2º posiçao aux1 <- media[iniciu] //aux1 Recebe Media 1°posição aux2 <- aluno[iniciu] // e criei essa aux 2 para passar o nome do Aluno junto, para nao ficar Errado! media[iniciu] <- media //media 1º posiçao recebe Media 2ºposição aluno[iniciu] <- aluno //Aluno 1º posição recebe aluno 2º posição media <- aux1 // media 2º posição recebe aux1 aluno <- aux2 // aluno 2º posição recebe aux2 FIMSE FIMPARA FIMPARA Ou seja A nota e o Aluno Caminham Juntos nao tem como dar errado!! esta parte de Ordenação Crescente ou Decrescente!! Compartilhar este post Link para o post Compartilhar em outros sites
_Isis_ 202 Denunciar post Postado Outubro 21, 2008 "A partir desses dois vetores..." => as pré-condições já estão atendidas => O vetor de notas e de alunos já está ordenado => você não tem que ordenar nada. Estruturas: 2 Vetores: Um contendo o número de matrícula de um aluno e outro com as médias finais. Pré-condições: - O vetor das médias finais está ordenado em ordem decrescente. - Através do mesmo indice você indexa as posições corretas do aluno e sua média nos vetores. Objetivo do algoritmo: imprimir os codigos dos alunos que obtiveram nota media Superior a um Valor (Aleatorio) previamente indicado De novo: "A partir de dois vetores" e em seguida são dadas as propriedades dos vetores. Não precisa ordenar. Arranca fora essa ordenação. Compartilhar este post Link para o post Compartilhar em outros sites
diegostf 0 Denunciar post Postado Outubro 21, 2008 "A partir desses dois vetores..." => as pré-condições já estão atendidas => O vetor de notas e de alunos já está ordenado => você não tem que ordenar nada. Estruturas: 2 Vetores: Um contendo o número de matrícula de um aluno e outro com as médias finais. Pré-condições: - O vetor das médias finais está ordenado em ordem decrescente. - Através do mesmo indice você indexa as posições corretas do aluno e sua média nos vetores. Objetivo do algoritmo: imprimir os codigos dos alunos que obtiveram nota media Superior a um Valor (Aleatorio) previamente indicado De novo: "A partir de dois vetores" e em seguida são dadas as propriedades dos vetores. Não precisa ordenar. Arranca fora essa ordenação. A sim! entao vamos supor que os vetores ja estariam com os nomes e as notas (eu Diminui o vetor pra dar pra fazer aki!) aluno:vetor[1..5]de caractere nota:vetor[1..5]de inteiro aprovado:vetor[1..5]de caracere i,nlido:inteiro aluno[1] <- joao aluno[2] <- maria aluno[3] <- joana aluno[4] <- ciclano aluno[5] <- fulano nota[1] <- 10 nota[2] <- 8 nota[3] <- 6 nota[4] <- 2 nota[5] <- 0 Suponhando que esses valores ja estarim no Vetor! escreva ("Digite a nota minima para aprovação") leia (nlido) PARA i DE 1 ATE 5 FACA Se (nlido >= nota[i]) ENTAO aprovado[i] <-" Aprovado" SENAO aprovado[i] <- "REPROVADO" FIMPARA PARA i DE 1 ATE 5 FACA escreva (aluno[i],aprovado[i]) FIMPARA Poderia ser feita desta forma? correto? Compartilhar este post Link para o post Compartilhar em outros sites
_Isis_ 202 Denunciar post Postado Outubro 21, 2008 Não. Lê de novo: ,montar um algoritmo para imprimir os codigos dos alunos que obtiveram nota media Superior a um Valor (Aleatorio) proviamente indicado. Compartilhar este post Link para o post Compartilhar em outros sites
diegostf 0 Denunciar post Postado Outubro 21, 2008 Não. Lê de novo: ,montar um algoritmo para imprimir os codigos dos alunos que obtiveram nota media Superior a um Valor (Aleatorio) proviamente indicado. Nossa ta osso resolver isso kakakaka mais uma tentativa, to tentando fazer do jeito q intendi :wacko: aluno[1] <- "joao" aluno[2] <- "maria" aluno[3] <- "joana" aluno[4] <- "ciclano" aluno[5] <- "fulano" nota[1] <- 10 nota[2] <- 8 nota[3] <- 6 nota[4] <- 2 nota[5] <- 0 escreval ("Digite a nota minima para aprovação ") leia (nlido) PARA i DE 1 ATE 5 FACA Se (nlido >= nota[i]) ENTAO aprovado[i] <- aluno[i] FIMSE FIMPARA escreval ("Alunos Aprovados: ") PARA i DE 1 ATE 5 FACA escreval (aprovado[i]) FIMPARA Compartilhar este post Link para o post Compartilhar em outros sites
_Isis_ 202 Denunciar post Postado Outubro 21, 2008 Também está errado. Se nlido = 8, você imprime os que reprovaram. Não precisa de vetor de aprovados. Simplesmente jogue na tela. Compartilhar este post Link para o post Compartilhar em outros sites
diegostf 0 Denunciar post Postado Outubro 21, 2008 Também está errado. Se nlido = 8, você imprime os que reprovaram. Não precisa de vetor de aprovados. Simplesmente jogue na tela. Putz agora sim.... eu estava colocando errado nesta parte! "Se nlido >= nota" por isso estava aparecendo so os reprovados!! agora que me dei conta que tinha q ser sinal de < "menor" var aluno:vetor[1..5]de caractere nota:vetor[1..5]de inteiro i,nlido:inteiro inicio aluno[1] <- "joao" aluno[2] <- "maria" aluno[3] <- "joana" aluno[4] <- "ciclano" aluno[5] <- "fulano" nota[1] <- 10 nota[2] <- 8 nota[3] <- 6 nota[4] <- 2 nota[5] <- 0 escreval ("Digite a nota minima para aprovação ") leia (nlido) escreval ("Alunos aprovados") PARA i DE 1 ATE 5 FACA Se (nlido <= nota[i]) ENTAO escreval (aluno[i]) FIMSE FIMPARA Compartilhar este post Link para o post Compartilhar em outros sites