[PLUTO-help] Esercizio script di shell! Risolto!
Gian Uberto Lauri
GianUberto.Lauri a eng.it
Gio 28 Ott 2004 16:19:54 CEST
>>>>> "l" == lkk <lkk a interfree.it> writes:
l> #!/bin/awk -f
l> BEGIN{
l> for(i=1;i<ARGC;i++)
l> {
l> f=((3*ARGV[i]^2)+(4*ARGV[i+1])+(5*ARGV[i+2]));
l> printf("%d",f);
l> printf("\n");
l> i=i+2;
l> }
l> }
Oddio, ad awk non avevo pensato. Ha forse trascritto male il path di
awk (o nella tua distribuzione non e` in /usr/bin) e puoi riscriver il
ciclo in modo piu` compatto in questo modo
for(i=1;i<ARGC;i+=3)
{
f=((3*ARGV[i]^2)+(4*ARGV[i+1])+(5*ARGV[i+2]));
printf("%d",f);
printf("\n");
}
sfruttando l'operatore +=. Ma bella soluzione, non c'e` che dire.
Ma c'e` ancora un'altra soluzione che usa dc o bc (che son nati per
questo) per fare i conti.
#/bin/bash
while [ "$1" ];
do
echo $1'*3*'$1'+4*'$2'+5*'$3 | bc
shift 3
done
Il Perl non l'ha inventata lui la storia che non c'e` mai un solo modo
per fare le cose.
--
/\ ___
/___/\__|_|\_|__|___Gian Uberto Lauri_____________________
//--\ | | \| | Integralista GNUslamico e fancazzista
\/
More information about the pluto-help
mailing list