11.04.2013 Views

Guida avanzata di scripting Bash - Portale Posta DMI

Guida avanzata di scripting Bash - Portale Posta DMI

Guida avanzata di scripting Bash - Portale Posta DMI

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

i=$LIMITE_INFERIORE<br />

until [ "$i" -gt "$LIMITE_SUPERIORE" ]<br />

do<br />

if [ "${Primi[i]}" -eq "$PRIMO" ]<br />

then<br />

printf "%8d" $i<br />

# 8 spazi per numero producono delle colonne belle ed uniformi.<br />

fi<br />

let "i += 1"<br />

done<br />

}<br />

vaglia () # Identifica i numeri non primi.<br />

{<br />

let i=$LIMITE_INFERIORE+1<br />

# Sappiamo che 1 è primo, quin<strong>di</strong> iniziamo da 2.<br />

until [ "$i" -gt "$LIMITE_SUPERIORE" ]<br />

do<br />

Capitolo 26. Array<br />

if [ "${Primi[i]}" -eq "$PRIMO" ]<br />

# Non si preoccupa <strong>di</strong> vagliare i numeri già verificati (contrassegnati come<br />

#+ non-primi).<br />

then<br />

fi<br />

t=$i<br />

while [ "$t" -le "$LIMITE_SUPERIORE" ]<br />

do<br />

let "t += $i "<br />

Primi[t]=$NON_PRIMO<br />

# Segna come non-primi tutti i multipli.<br />

done<br />

let "i += 1"<br />

done<br />

}<br />

# ================================================================<br />

# main ()<br />

# Invoca le funzioni sequenzialmente.<br />

inizializza<br />

vaglia<br />

494

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!