Pular para o conteúdo

exercicio [RESOLVIDO]

Responder tópico
  • Denunciar
  • Indicar

1. exercicio [RESOLVIDO]

Enviado em 27/09/2011 - 15:52h

Boa tarde!
estou com uma duvida no seguinte exercicio, em fazer o script, alguem pode me ajudar.

6) Desenvolva um script que receba palavras interativamente e, a cada palavra recebida, exiba, como resultado, essas palavras ordenadas. Ao ser informada a palavra “sair”, o script é finalizado.

Exemplo:

./ordena_palavras_interativamente.sh

Informe a palavra a ser incluída na lista ordenada: casa
casa

Informe a palavra a ser incluída na lista ordenada: abacaxi
abacaxi
casa

Informe a palavra a ser incluída na lista ordenada: bola
Abacaxi
bola
casa


Responder tópico

2. Re: exercicio [RESOLVIDO]

Enviado em 27/09/2011 - 22:17h

Veja esse:


#!/bin/bash

# laço while infinito
while :
do
echo "Informe a palavra a ser incluída na lista ordenada:"
read PALAVRA
# se a palavra digitada for igual a sair sai do while
[ "$PALAVRA" == "sair" ] && break
echo "$PALAVRA" >> /tmp/lista
done

echo "Lista ordenada"
# comando sort ordena os valores recebidos, no caso os valores que estão no arquivo
sort /tmp/lista

4. resposta

Enviado em 28/09/2011 - 00:18h

Valeu, muito obrigado....

5. Re: exercicio [RESOLVIDO]

Enviado em 28/09/2011 - 00:21h

Conseguiu? como?

Por favor dê retorno.

Abraços

6. resposta

Enviado em 28/09/2011 - 01:05h

fiz o comando qu vc falou,mas esse script so mostra no final a lista, quando vc digita sair,no exercicio ele quer que apareça logo no segunda palavra, a primeira e a segunda

Informe a palavra a ser incluída na lista ordenada: casa
casa

Informe a palavra a ser incluída na lista ordenada: abacaxi
abacaxi
casa

Informe a palavra a ser incluída na lista ordenada: bola
Abacaxi
bola
casa


7. Re: exercicio [RESOLVIDO]

Enviado em 28/09/2011 - 01:25h

É só adaptar:


#!/bin/bash

# laço while infinito
i=0
while :
do
echo -n "Informe a palavra a ser incluída na lista ordenada: "
read PALAVRA
# se a palavra digitada for igual a sair sai do while
[ "$PALAVRA" == "sair" ] && break
echo "$PALAVRA" >> /tmp/lista.txt
i=$((i+1))
[ $i -gt 1 ] && sort /tmp/lista.txt
done

8. Re: exercicio [RESOLVIDO]

Enviado em 28/09/2011 - 01:33h

Tava testando sem usar arquivo, deu certo ;-), passei a usar um array, veja:


#!/bin/bash

# laço while infinito
i=0
while :
do
echo -n "Informe a palavra a ser incluída na lista ordenada: "
read PALAVRA
[ "$PALAVRA" == "sair" ] && break
PALAVRAS[$i]="$PALAVRA"
i=$((i+1))
[ "${#PALAVRAS[@]}" -ge 2 ] && echo "${PALAVRAS[@]}" | tr ' ' '\n' | sort -d
done

9. opress

Enviado em 28/09/2011 - 10:43h

testa ai... ve se ajuda dessa maneira...


#!/bin/bash
[ -f saida.txt ] && rm saida.txt
function entrada(){
echo -n "Digite a palavra [para finalizar digite \"sair\"] "
read palavra
}
for ((;;)); do
[ "$palavra" == "sair" ] && break
[ -f saida.txt ] && sort saida.txt
entrada
echo $palavra >> saida.txt
done

10. faz sem a função, fica mais sucinto...

Enviado em 28/09/2011 - 10:49h

entao cara... faz sem a função.. assim o seu programa fica mais sucinto...

#!/bin/bash
[ -f saida.txt ] && rm saida.txt
for ((;;)); do
[ "$palavra" == "sair" ] && break
[ -f saida.txt ] && sort saida.txt
echo -n "Digite a palavra [para finalizar digite \"sair\"] "
read palavra
echo $palavra >> saida.txt
done

Responder tópico

Responder tópico

Entre na sua conta para responder.

Fazer login para responder