Como resolver esse script

1. Como resolver esse script

João Maia
joaofaustino

(usa Ubuntu)

Enviado em 24/11/2011 - 06:58h

Terceira Questão) Escreva um script que receba dois números e retorne todos os números ímpares entre esses dois números.

Quarta Questão) Que mudanças devem ser feitas no laço abaixo:

x=0
while [ $x -lt 10 ]
do
echo "$x \c"
y=$(($x-1))
x=$(($x+1))
while [ $y -ge 0 ] ; do
y=$(($y-1))
echo "$y \c"
done
echo
done

Para que a saída fique dessa maneira:

0
0 1
0 1 2
0 1 2 3
0 1 2 3 4
0 1 2 3 4 5
0 1 2 3 4 5 6
0 1 2 3 4 5 6 7
0 1 2 3 4 5 6 7 8
0 1 2 3 4 5 6 7 8 9


  


2. Re: Como resolver esse script

Perfil removido
removido

(usa Nenhuma)

Enviado em 24/11/2011 - 09:17h

E qual eh a pergunta?


3. Re: Como resolver esse script

Raimundo Alves Portela
rai3mb

(usa Outra)

Enviado em 24/11/2011 - 10:52h

Terceira questão:

#!/bin/bash
# Script que imprime os números impares no intervalo entre 2 números fornecidos
# Por rai3mb
[ -z "$1" -o -z "$2" ] && echo 'Use: $0 [NUM] [NUM]' && exit

PRIMEIRO=$1
SEGUNDO=$2

#verifica se foram digitados apenas números
if ! echo "$PRIMEIRO $SEGUNDO" | egrep -q '^[0-9]+ [0-9]+$'
then
echo 'Informe apenas números' && exit
fi

# verifica se foram informados números onde há intervalo entre eles
[ $PRIMEIRO -eq $((SEGUNDO - 2)) -o $SEGUNDO -eq $((PRIMEIRO - 2)) ] && echo 'sem intervalo entre eles' && exit

# coleta o maior e o menor valor fonecido, sai do script caso sejam iguais
if [ $PRIMEIRO -gt $SEGUNDO ]; then
MAIOR=$PRIMEIRO && MENOR=$SEGUNDO
elif [ $SEGUNDO -gt $PRIMEIRO ]; then
MAIOR=$SEGUNDO && MENOR=$PRIMEIRO
else
echo "$PRIMEIRO é igual a $SEGUNDO, não há intervalo entre eles!"
exit
fi

# imprime apenas os impares, módulo da divisão diferente de 0
VALOR=$((MENOR+1))
while [ $VALOR -lt $MAIOR ]
do
[ $(expr $VALOR % 2) -ne 0 ] && echo $VALOR
VALOR=$((VALOR+1))
done



4. Re: Como resolver esse script

Raimundo Alves Portela
rai3mb

(usa Outra)

Enviado em 24/11/2011 - 20:56h

Resolveu?


5. Re: Como resolver esse script

Raimundo Alves Portela
rai3mb

(usa Outra)

Enviado em 24/11/2011 - 23:24h

Quarta questão:

Traduzido:
#!/bin/bash
x=0
while [ $x -le 10 ]
do
for i in $(seq $x)
do
echo -n "$((i-1)) "
done
x=$((x+1))
echo
done

Obs.: Veja o outro tópico que vc criou http://www.vivaolinux.com.br/topico/Shell-Script/Como-resolver-Muito-Difcil/






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts