Questão de Algoritmo – 13.05.2012 (Thiago
Campos)
Algoritmo “Ordenar_e_Pesquisar”
//Declaração de variaveis
Inteiro baixo, meio, alto, vetor[50],
procuro, tam=50, aux, achou, i;
Inicio
Escreva("informe o que
procura:");
Leia(procuro);
alto = tam; //limite
da sequencia
baixo = 0;
achou = 0; //convencionado
zero para Falso
//entrada da
sequencia
Para
i=0 ate tam faça
Escreva("Informe
o numero");
Leia(vetor[i]);
fimPara
//fim da entrada da sequencia
//ordena a
sequencia
Para
i=(tam-1) ate 0 faça
Para j=0 ate i faça
Se vetor[i]<vetor[j] faça
aux = vetor[i];
vetor[i] =
vetor[j];
vetor[j] = aux;
fimSe
fimPara
fimPara
//fim da ordenação
//mostra a
sequencia ordenada decrescentemente
Para i=tam ate 0 faça
Escreva(vetor[i]);
fimPara //fim da mostra ordenada
//busca binaria
Enquanto baixo<=alto E
achou == 0 faça
meio = (baixo +
alto)/2;
Se procuro < vetor[meio] faça
alto = meio - 1;
Senão
Se procuro > vetor[meio] faça
baixo
= meio + 1;
senão
achou = 1;
fimSe
fimSe
Se achou==1 faça
Escreva("valor
encontrado");
Senão
Escreva("valor
NAO encontrado");}
fimSe
//fim da busca primaria
fimEnquanto
fimAlgoritmo
ALGORITMO EM JAVA
//Autor: Thiago Campos
//Data: 14.05.2012
public class OrdenarPesquisar {
public static void main(String[] args){
//Data: 14.05.2012
Scanner entrada = new Scanner(System.in);
int baixo, meio, alto;
int vetor[]=new int[50];
int procuro;
int tam=4, aux, achou;
System.out.print("informe o que procura:");
procuro = entrada.nextInt();
alto = tam; //limite da sequencia
baixo = 0;
achou = 0; //convencionado zero para Falso
//entrada da sequencia
for(int i=0; i<tam; i++){
System.out.print("Informe o numero");
vetor[i]=entrada.nextInt();
}//fim da entrada da sequencia
//ordena a sequencia
for(int i=tam-1;i>0;i--){
for (int j=0; j<i;j++){
if(vetor[i]<vetor[j]){
aux = vetor[i];
vetor[i] = vetor[j];
vetor[j] = aux;
}
}
}//fim da ordenaçao
//mostra a sequencia ordenada
for(int i=tam-1; i>=0;i--){
System.out.println(vetor[i]);
}//fim da mostra ordenada
//busca binaria
while (baixo<=alto && achou == 0){
meio = (baixo + alto)/2;
if (procuro < vetor[meio]){
alto = meio - 1;
}else if (procuro > vetor[meio]){
baixo = meio + 1;
}else{
achou = 1;
}
}
if(achou = =1){
System.out.println("valor encontrado");
}else{System.out.println("valor NAO encontrado");}
//fim da busca primaria
}
}
Olá Thiago tudo bem?
ResponderExcluirpreciso de um programa que leia 10 números inteiros fornecidos pelo usuário, e exiba quantos número impares foram informados.
espero que possa mim ajudar...obrigado
Caro amigo Geovano, desculpe-me pois ando meio sem tempo para responder todos os posts. Com relação a sua dúvida, o que posso te dizer a resolução do exercicio disponivel no link (http://thiagoccampos.blogspot.com.br/2012/03/verificar-se-o-numero-fornecido-pelo.html) vai te ajudar. Basta você alterar a condição, colocando uma variavel "conteImpar" para contar qtd vezes é verdadeira. Lembro-lhe que o "IF" vai ter que está dentro de um "FOR" para um loop de 10 ocorrências. Depois basta mandar mostrar a variável "conteImpar".
ExcluirEspero ter ajudado. Boa sorte!