Ajuda para Resolução de Algoritmo [RESOLVIDO]

1. Ajuda para Resolução de Algoritmo [RESOLVIDO]

Luan Benavenuto dos Santos
colorado1

(usa Ubuntu)

Enviado em 11/04/2011 - 11:35h

Olá pessoal, esta semana minha turma da faculdade de sistemas para internet recebeu um algoritmo para resolver.

Neste constava que o “USUÁRIO” deveria digitar “5” números quaisquer, e que o programa deveria organizá-los de forma crescente, como assim: 2, 5, 3, 1, 4 = 1, 2, 3, 4, 5, por exemplo.

O problema é que o professor só aceitou “CONDIÇÕES” utilizando a “Função SE” ou “IF”, como preferirem. Então percebemos que as possibilidades de combinação passariam de “100”.

Fazer mais de uma centena de condições ficaria inviável. Tentamos de várias formas abreviar o algoritmo, tentando principalmente “VARIÁVEIS PARA ARMAZENAMENTO”, mas não tivemos êxito.

Alguém poderia me ajudar com alguma idéia?



  


2. if

Mauricio Baron
BARAO

(usa Debian)

Enviado em 25/04/2011 - 12:24h

Oi você poderia postar o código que você fez.
Para min analisar ninho de if que você fez.


3. Re: Ajuda para Resolução de Algoritmo [RESOLVIDO]

Ciro Souza
cirofsouza

(usa Slackware)

Enviado em 25/04/2011 - 22:00h

Cara, eu faria assim:





#Inicializa um vetor de 5 variaveis
0 -> y(1)
0 -> y(2)
0 -> y(3)
0 -> y(4)
0 -> y(5)
#laco de entrada de numeros (5 numeros)
para i de 5 ate 1
-Entra i numero -> x

#Como y(5) guarda o maior numero, o teste começa com esse elemento do vetor
-se x > y(5)
#se o numero for maior que o mairo entao o vetor e deslocado para "esquerda"
-----y(2)->y(1)
-----y(3)->y(2)
-----y(4)->y(3)
-----y(5)->y(4)
-----x -> y(5)
-senão
-----#e o teste prosegue para cada elemento do vetor
-----se x > y(4)
--------y(2)->y(1)
--------y(3)->y(2)
--------y(4)->y(3)
--------x -> y(4)
-----senão
--------se x > y(3)
-------------y(2)->y(1)
-------------y(3)->y(2)
-------------x -> y(3)
--------senão
-------------se x > y(2)
-----------------y(2)->y(1)
-----------------x -> y(2)
-------------senão
-----------------x -> y(1)
-------------fim se

---------fim se

-----fim se

-fim se

repetir i

imprimir y(1),y(2),y(3),y(4),y(5)

Espero ter ajudado!!!



4. Re: Ajuda para Resolução de Algoritmo [RESOLVIDO]

Joao
stack_of

(usa Slackware)

Enviado em 25/04/2011 - 23:10h

Posta aí o que fez até o momento.


5. Grato pela ajuda!

Luan Benavenuto dos Santos
colorado1

(usa Ubuntu)

Enviado em 26/04/2011 - 08:41h

Era algo parecido com isso, mas com a ajuda do pessoal já consegui resolver.
Grato pela ajuda!

1.Construa um algoritmo que leia três valores inteiros e os imprima em ordem crescente.

VARIÁVEIS
vNr01, vNr02, vNr03: Inteiro;
INÍCIO
PRINT(“Informe o 1º número: ”);
READ(vNr01);
PRINT(“Informe o 2º número: ”);
READ(vNr02);
PRINT(“Informe o 3º número: ”);
READ(vNr03);
IF (vNr01 > vNr02) THEN
INÍCIO
IF (vNr01 > vNr03) THEN
INÍCIO
IF (vNr02 > vNr03) THEN
PRINT(“Os números na ordem crescente: ”, vNr03, Nr02, Nr01);
ELSE
PRINT(“Os números na ordem crescente: ”, vNr02, Nr03, Nr01);
FIM
ELSE
PRINT(“Os números na ordem crescente: ”, vNr02, Nr01, Nr03);
FIM
ELSE IF (vNr01 > vNr03) THEN
PRINT(“Os números na ordem crescente: ”, vNr03, Nr01, Nr02);
ELSE IF (vNr02 > vNr03) THEN
PRINT(“Os números na ordem crescente: ”, vNr01, Nr02, Nr03);
FIM




6. Re: Ajuda para Resolução de Algoritmo [RESOLVIDO]

Joao
stack_of

(usa Slackware)

Enviado em 30/04/2011 - 10:28h

Eu desenvolveria uma função de ordenação de emprego geral, não importando a quantidade de números digitados. Muito mais útil e didática.

Armazenar números a ordenar em um arranjo (A).

Criar um arranjo vazio para armazenar números ordenados (B).
criar uma função que encontre o menor número em A.
Através de um laço, repetir a busca do menor número em A até esgotar os elementos de A, removendo quando encontrar o número e armazenando em B ordenadamente a cada volta do laço.
Imprimir B.




7. Acho que era isso que o professor pediu...

Perfil removido
removido

(usa Nenhuma)

Enviado em 01/05/2011 - 22:15h

No PHP existe uma função que ordena uma matriz pelos seus valores chamada sort(), que funcionaria para a resolução do seu problema.

Mas acho que o seu professor queria exercitar a condicional SE, ou IF. Sem utilizar laços ou funções e para fins didáticos, acho que resolve:

<?php
$a=10;
$b=350;
$c=692;
$d=555;
$e=655;
if ($a>$b) {
$f=$a;
$a=$b;
$b=$f;
}
if ($a>$c) {
$f=$a;
$a=$c;
$c=$f;
}
if ($a>$d){
$f=$a;
$a=$d;
$d=$f;
}
if ($a>$e){
$f=$a;
$a=$e;
$e=$f;
}
if ($b>$c){
$f=$b;
$b=$c;
$c=$f;
}
if ($b>$d){
$f=$b;
$b=$d;
$d=$f;
}
if ($b>$e){
$f=$b;
$b=$e;
$e=$f;
}
if ($c>$d){
$f=$c;
$c=$d;
$d=$f;
}
if ($c>$e){
$f=$c;
$c=$e;
$e=$f;
}
if ($d>$e){
$f=$d;
$d=$e;
$e=$f;
}
echo "$a, $b, $c, $d, $e";
?>






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts