Confuso! [RESOLVIDO]

1. Confuso! [RESOLVIDO]

Caio Alexander
caioc2

(usa Kali)

Enviado em 16/09/2011 - 11:45h

Crie um shell cript em que ele leia a idade de dez pessoas e escreva a quantidade de pessoas maior e menor de idade.
Conjunto de idade, 18,30,5,18,15,30,7,81,19,10
N de pessoas maior de idade = 6
n de pessoas menor de idade = 4

Bom galera eu ja quebrei a cabeça com esse exercício mais realmente não sei, estou me embaraçando no while...
Se possivel coloque sem resumir as formulas , pq eu não aprendi a resumi-las... ai fica 1 pouco difícil ;x enquanto isso vou tentar mais aqui!


  


2. Re: Confuso! [RESOLVIDO]

DAVISON MARCEL PASQUALINI
fdmarp

(usa Debian)

Enviado em 16/09/2011 - 11:54h

o que voce já fez ... posta ai mesmo que não esteja funcionando ... pra voce aprender ... tem que se exercitar.


3. Re: Confuso! [RESOLVIDO]

Caio Alexander
caioc2

(usa Kali)

Enviado em 16/09/2011 - 12:05h

#!/bin/bash
clear
echo -n " Informe a idade: "
read idade
contador=1

if [ $idade -ge 18 ]
then
maior=1
else
menor=1

while [ $contador -le 10 ]
do
ma=$((maior + maior + maior + maior + maior + maior + maior + maior + maior + maior +))
me=$((menor + menor + menor + menor + menor + menor + menor + menor + menor + menor +))
echo " Número de pessoas maior de idade: $ma "
echo " Número de pessoas menor de idade: $me "
contador=$(($contador + 1))
done
fi

È isso, eu sei que está super errado, mas eu fiz só pra executar e ver o que dava...

Coloquei maior + maior e menor + menor pq coloquei os valores das mesmas de "1", assim poderia solamas de acordo com a maior/menor idade e ver quantos deu de cada.


4. Re: Confuso! [RESOLVIDO]

DAVISON MARCEL PASQUALINI
fdmarp

(usa Debian)

Enviado em 16/09/2011 - 13:24h

Você vai colocar os numeros um a um ou uma sequencia com virgulas vcomo no enumciado?
outra coisa ... pode usar case ou so if?



5. Re: Confuso! [RESOLVIDO]

DAVISON MARCEL PASQUALINI
fdmarp

(usa Debian)

Enviado em 16/09/2011 - 14:09h

#!/bin/bash
clear

echo " Informe a idade ou x para sair "
idade=0

while [ $idade -ge 0 -o $idade -ge 200 ] ; do
read idade
if [ "$idade" = "x" ]; then
echo " Número de pessoas maior de idade: $ma "
echo " Número de pessoas menor de idade: $me "
exit 0
elif [ "$idade" -ge "18" ]; then
ma=$(( $ma + 1 ))
elif [ "$idade" -lt "18" ]; then
me=$(( $me + 1 ))
fi
done




6. Re: Confuso! [RESOLVIDO]

Caio Alexander
caioc2

(usa Kali)

Enviado em 16/09/2011 - 16:42h

fdmarp escreveu:

#!/bin/bash
clear

echo " Informe a idade ou x para sair "
idade=0

while [ $idade -ge 0 -o $idade -ge 200 ] ; do
read idade
if [ "$idade" = "x" ]; then
echo " Número de pessoas maior de idade: $ma "
echo " Número de pessoas menor de idade: $me "
exit 0
elif [ "$idade" -ge "18" ]; then
ma=$(( $ma + 1 ))
elif [ "$idade" -lt "18" ]; then
me=$(( $me + 1 ))
fi
done




Tpw eu não aprendi a simplificar, esse "elif" é o " if,else" ?
E outra pergunta, nessa formula ai, ele vai fazer a conta desce e depois subir e pegar mais uma idade até contar ao total 10 idades e depois informar os números de idades maiores e menores ?



7. Re: Confuso! [RESOLVIDO]

Hudson Moreira Guimaraes dos Santos
hudyfx

(usa Outra)

Enviado em 16/09/2011 - 18:18h

cara tenta assim...


#!/bin/bash
me=0
ma=0
for ((i=0;i<=9;i++)); do
echo -n "digite a idade da pessoa numero $((i + 1)): "
read idades[$i]
done

for ((i=0;i<=9;i++)); do
[ ${idades[$i]} -lt 18 ] && me=$((me + 1)) || ma=$((ma + 1))
done

echo "N de pessoas Maior de idade = $ma "
echo "N de pessoas Menor de idade = $me "


8. Re: Confuso! [RESOLVIDO]

Caio Alexander
caioc2

(usa Kali)

Enviado em 16/09/2011 - 20:25h

hudyfx escreveu:

cara tenta assim...


#!/bin/bash
me=0
ma=0
for ((i=0;i<=9;i++)); do
echo -n "digite a idade da pessoa numero $((i + 1)): "
read idades[$i]
done

for ((i=0;i<=9;i++)); do
[ ${idades[$i]} -lt 18 ] && me=$((me + 1)) || ma=$((ma + 1))
done

echo "N de pessoas Maior de idade = $ma "
echo "N de pessoas Menor de idade = $me "


Cara é que eu ainda não aprendi essas paradas de "for ((i=0;i<=9;i++)); do" , "[ ${idades[$i]} -lt 18 ] && me=$((me + 1)) || ma=$((ma + 1))" essas paradas resumidas eu não entend, ainda não aprendi a simplificar . =T


9. Re: Confuso! [RESOLVIDO]

Raimundo Alves Portela
rai3mb

(usa Outra)

Enviado em 16/09/2011 - 22:33h

Vou tentar fazer claro:

#!/bin/bash

# a linha abaixo percorre uma sequencia de 10 números
for i in $(seq 10)
do
echo "Digite a idade"
read idade
if [ $idade -ge 18 ]; then
#abaixo é feito um incremento da variável maior_idade
let maior_idade++
else
let menor_idade++
fi
done

echo "N de pessoas maior de idade : $maior_idade"
echo "N de pessoas menor de idade : $menor_idade"

#FIM SCRIPT

Abraços


10. Re: Confuso! [RESOLVIDO]

euteste da silva
foxbit3r

(usa Solaris)

Enviado em 17/09/2011 - 01:26h

awk 'BEGIN {
for(i=1; i<=10; i++){
printf("valor[%d]= ",i)
getline arr[i] < "-"
}

qtdMenor=qtdMaior=0

for(i=1; i<=10; i++){
if(arr[i] >= 18)
qtdMaior+=1
else
qtdMenor+=1
}

printf("Qtd de pessoas menores de 18 = %d\n",qtdMenor)
printf("Qtd de pessoas maiores de 18 = %d\n",qtdMaior)
}'


11. Re: Confuso! [RESOLVIDO]

Caio Alexander
caioc2

(usa Kali)

Enviado em 17/09/2011 - 02:28h

Vlw ae a todos galera, brigado!






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts