Pagina 1 di 1

Cicli

Inviato: 24 nov 2008, 12:12
da Bellaz
Ciao, mi stavo preparando da autodidatta alle olimpiadi dell'informatica, ma non ho capito una cosa sui cicli. Qualcuno mi può spiegare in modo esauriente il ciclo a condizione finale (repeat...until...), a condizione iniziale (while...do...) e a conteggio (for...do...)??
E soprattutto non capisco perchè

Codice: Seleziona tutto

s:=0;
for i:=1 to maxi do s:=s+i
sia uguale a

Codice: Seleziona tutto

s:=0; i:=1;
while i<=maxi do
begin 
s:=s+i;
i.=i+1;
end;
Inoltre, come si ragiona in questi casi?
Grazie mille in anticipo.... Ciao!

Inviato: 24 nov 2008, 14:07
da Desh
in sintesi, ecco cosa fa il calcolatore:

Codice: Seleziona tutto

while condizione do
         istruzioni;
  • se condizione=falso salta "istruzioni" e continua con il programma
  • se condizione=vero esegue le istruzioni e ritorna al controllo
Perciò, finché la condizione è vera vengono ripetute le istruzioni.

Codice: Seleziona tutto

for i:=a to b do
          istruzioni;
  • inizializza la variabile i al valore a
  • se i=b, esegue "istruzioni" e continua con il programma
  • altrimenti esegue le istruzioni, aumenta il valore di i di un'unità e ritorna al controllo
è utile se devi ripetere un'operazione un certo numero fissato di volte (nota: all'interno del ciclo può essere utile sfruttare la conoscenza del valore di i)

Codice: Seleziona tutto

repeat
         istruzioni;
until condizione;
  • esegue "istruzioni"
  • controlla la condizione; se vera esce dal ciclo, se falsa ricomincia
in particolare, i due programmi da te postati sono uguali perché fanno esattamente le stesse operazioni (prova a fare "a mano" un paio di cicli...)

Inviato: 24 nov 2008, 14:56
da Bellaz
Ok... adesso ho capito.
Grazie 1000!!!!