Ir ao conteúdo

Posts recomendados

Postado

Olá, galera. Estou com dúvida em um exercício da faculdade , poderiam me ajudar ? 

O professor pede para resolver o problema em baixo nível ( Utilizando Neander) e em alto nível utilizando qualquer linguagem ( Optei pelo c) . Segue abaixo o enunciado:

Problema 1 – Ordenação • Faça um programa que ordene uma sequência aleatória de números (inteiros positivos), do menor ao maior, ou o contrário. • Detalhes: o os valores originais a serem ordenados devem se encontrar a partir da posição de memória 129. o a quantidade de números a serem ordenados é determinada pelo número de posições consecutivas ocupadas a partir da posição de memória 129, até que se encontre um valor 0 (zero). A entrada do problema não pode conter mais que 10 posições. o A posição 128 determina se o critério é crescente (0) ou decrescente (qualquer outro valor). o o resultado deve ser colocado a partir da posição 129.

 

  • Curtir 1
Postado

@Virtueus    você  vai fazer no neander win em assembly ou na linguagem c ? ,  pois em  c  você pode criar um vetor de dez posições e inserir os valores usando o comando scanf , e depois usar um método de ordenação de vetores como o bubblesort ,  faça seu código e poste aqui para vermos como está e em que podemos ajudar   .

  • Curtir 1
Postado
Em 06/11/2019 às 07:42, Virtueus disse:

o os valores originais a serem ordenados devem se encontrar a partir da posição de memória 129. o a quantidade de números a serem ordenados é determinada pelo número de posições consecutivas ocupadas a partir da posição de memória 129, até que se encontre um valor 0 (zero). A entrada do problema não pode conter mais que 10 posições. o A posição 128 determina se o critério é crescente (0) ou decrescente (qualquer outro valor). o o resultado deve ser colocado a partir da posição 129

 

  • Declare um vetor com pelo menos 140 posições para poder acomodar o critério na posição 128 e no máximo 10 números entre 129 e 138 inclusive, e o zero final em 139
  •  Note que você pode ter um único valor na 129 e o zero na 130 e pronto.
  • Como a saída vai estar no mesmo lugar --- isso se chama ordenação in-place --- faça o simples: já coloque na ordem.
  • colocar em ordem é trivial: o primeiro vai na 129. O seguinte você compara a partir da 129 e ao encontrar a posição certa desloca os outros pra direita pra abrir espaço, como faria numa folha de papel.
  • Para não perder a ordem original grave também em outro lugar, por exemplo as posições a partir de zero.

O enunciado é bem ruim.

  • Não esclarece se o máximo de 10 posições inclui o critério.
  • Sugere que seja possível usar uma posição de memória pelo número. Não é assim: ao alocar uma região de memória o sistema te devolve o endereço. Ao tentar acessar um endereço fixo seu programa quase certamente vai cancelar. 
  • Não diz o que se espera na saída. Sequer se é preciso imprimir a série original. Um algoritmo de correção automático, como é comum hoje em dia, não precisaria disso, mas em qualquer outro caso precisaria, certo?

Como é preciso resolver, sugiro fazer o trivial e ler o critério e depois uma série de até 10 números parando no zero ou no décimo, o que vier primeiro. Ao ler coloca o número na posição 0 e na posição certa a partir da 129, considerando o critério. Vai te custar umas 30 linhas eu acho. Depois imprime a série original e a ordenada e pronto.

 

Existem dezenas de algoritmos de classificação mas para uma série tão pequena e os valores recebidos um a um é mais simples já colocar na ordem. 

 

  • Curtir 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades 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...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!