Jump to content


Photo

Algoritmo E Vetores


  • Faça o login para participar
6 replies to this topic

#1 alanvalejo

alanvalejo

    Novato no fórum

  • Usuários
  • 3 posts
  • Sexo:Não informado

Posted 03/04/2008, 18:54

a

Edição feita por: alanvalejo, 09/04/2008, 23:01.


#2 brunoXP

brunoXP

    EFEI EÔ

  • Conselheiros
  • 2226 posts
  • Sexo:Masculino
  • Localidade:Campinas/Itajubá

Posted 04/04/2008, 21:17

Opa, tranqüilo?

Bem-vindo ao Fórum WMO. ;)

Você tem que criar um algoritmo que pergunte ao usuário qual seria o número m de valores extremos (maiores ou menores que todos os outros) que ele quer que mostre e que, depois, leia uma lista com os n números usados na comparação (só vai parar de ler quando o usuário digitar -1).

Tente fazer o seu e depois leia o exemplo que postarei abaixo. É como eu criaria o algoritmo em questão para m=1. Depois, você faz as adaptações necessárias. ;)
// programa que calcula o maior e o menor número de N dados

INÍCIO ALGORITMO
   Declare Real maior, menor, n
   maior = -1
   menor = 101
   Repita
   |  Imprima "Digite um número inteiro entre 0 e 100. Para parar, digite -1."
   |  Leia n
   |  Se ( n > maior )
   |  | então
   |  |   maior = n
   |  Fim-se
   |  Se ( n < menor )
   |  | então
   |  |   menor = n
   |  Fim-se
   Até ( n = -1 )
   Imprima "O maior número é" maior "e o menor é" menor "."
FIM ALGORITMO

Há outras maneiras e estruturas de se fazer (como while, for etc). O melhor é você descobrir com qual tem mais afinidade e treiná-la. :)

Abraços, espero ter ajudado. :)
Bruno Toffolo
· Conselho / WebFórum

#3 alanvalejo

alanvalejo

    Novato no fórum

  • Usuários
  • 3 posts
  • Sexo:Não informado

Posted 05/04/2008, 14:03

Este algoritmo abriu minha cabeça, mas ainda não consegui achar uma solução para meu problema, tudo bem como achar o menor e o maior da, mas não estou conseguindo achar como m>1, teria uma outra dica meu amigo. =]
Muito obrigado por estar me ajudando.

#4 dgt

dgt

    diego^SCFC

  • Usuários
  • 281 posts
  • Sexo:Masculino
  • Localidade:Recife-PE
  • Interesses:Java, Delphi, PHP, SQL, Modelagem de Dados, CSS, Lógica de Programação (Algoritmos), Teoria em Banco de Dados

Posted 05/04/2008, 22:53

Nesse exemplo que o brunoXP fez, o menor sempre será -1.

Corrigi só isso, no mais está certo.

INÍCIO ALGORITMO
   Declare Real maior, menor, n
   Declare Caractere X
   maior = -1
   menor = 101
   Repita
   |  Imprima "Digite um número inteiro entre 0 e 100. Para parar, digite -1."
   |  Leia n
   |  Se ( n > maior ) então
   |  |   maior = n
   |  Fim-se
   |  Se ( n < menor ) então
   |  |   menor = n
   |  Fim-se
   |  Imprima "Deseja digitar mais algum número (S/N)?"
   |  Leia X
   Até ( X = "N" )
   Imprima "O maior número é" maior "e o menor é" menor "."
FIM ALGORITMO

Não sei se para declarar é assim, eu só uso o VisuAlg.

Não tem como sair do laço sem essa verificaçao, a não ser que crie um for (Para) e determine um limite.
Posted Image

#5 brunoXP

brunoXP

    EFEI EÔ

  • Conselheiros
  • 2226 posts
  • Sexo:Masculino
  • Localidade:Campinas/Itajubá

Posted 06/04/2008, 00:58

Ué cara, fiz o teste do meu algoritmo aqui e ele funciona normal. oO
Bruno Toffolo
· Conselho / WebFórum

#6 dgt

dgt

    diego^SCFC

  • Usuários
  • 281 posts
  • Sexo:Masculino
  • Localidade:Recife-PE
  • Interesses:Java, Delphi, PHP, SQL, Modelagem de Dados, CSS, Lógica de Programação (Algoritmos), Teoria em Banco de Dados

Posted 06/04/2008, 15:26

Eu tô fazendo curso de Delphi e ainda tá em algoritmo (termina semana que vem algoritmo), mas vê só..

Concorda que no seu exemplo para ter que sair do laço Repita, ele vai ter que digitar -1 ? E digitando -1 ele vai entrar no Se (n < menor) ? Aí o menor sempre vai ser -1 (Levando em consideração que só vai digitar de 0 a 100).. Pelo menos o que aprendi é assim.. :unsure:
Posted Image

#7 brunoXP

brunoXP

    EFEI EÔ

  • Conselheiros
  • 2226 posts
  • Sexo:Masculino
  • Localidade:Campinas/Itajubá

Posted 06/04/2008, 15:51

Que massa, estou começando a faculdade agora e também acabei de ver algoritmos em C++. :)

Mas, no caso que você citou, vc esqueceu que tem o "Até ( n = -1 )".
Ele faz com que, quando o usuário digitar -1, o processo não se repita. Então, o -1 não seria considerado um número da série. Certo?

Abraços. ;)
Bruno Toffolo
· Conselho / WebFórum




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq