Ciao,
la prossima settimana ho un esonero di programmazione e vorrei dei chiarimenti su come funzionano i cicli while do , repeat, ecc...
e come tramite gli indici si gestiscono!!!
il linguaggio è il pascal.
Vi prego di aiutarmi!!!!
Ciao,
la prossima settimana ho un esonero di programmazione e vorrei dei chiarimenti su come funzionano i cicli while do , repeat, ecc...
e come tramite gli indici si gestiscono!!!
il linguaggio è il pascal.
Vi prego di aiutarmi!!!!
Cosa è un esonero?
while condizione do istruzione
ovvero finchè risulta vera la condizione viene eseguita l'istruzione
repeat istruzione until condizione
ovvero ripeti l'istruzione finchè la condizione è falsa
al posto di istruzione si può sempre sostituire una sequenza, una scelta o un ciclo.
Basta?
Colleziono problemi matematici divertenti o strani e li raccolgo nel mio sito. Se me ne mandate qualcuno vi ringrazio. flan
allora incomiciamo dal repeat until, il repeat until è un ciclo post condizionale cioè controlla la condizione alla fine del ciclo, e quindi almeno una volta il ciclo verrà eseguito, ed esce quando la condizione è vera...in pascal si codifica così:
Se usi un contatore dovra essere incrementato nel corpo del ciclo...se invece è una condizione tipo a='SI' il contatore non lo si usacodice:repeat istruzioni ....... ...... until (condizione);
poi il while invece è un ciclo precondizionale, cioè controlla la condizione prima dell'esecuzione del ciclo, e il while esce quando è falso...in pascal:
e gli indici si gestiscono come col repeatcodice:while (condizione) do begin istruzioni ....... ...... end;
poi c'è il for, che il ciclo che di solito viene usato quando si deve lavorare con un contatore, ionfatti con un ciclo for il contatore viene "gestito da solo" senza che tu debba mettere l'istruzione di aumento...in pascal si codifica:
il ciclo verrà svolto per 10!!codice:for i:=1 to 10 do begin istruzioni ...... ...... end;
Aggiungiamo la sintassi dei 3 costrutti:
Il comando viene ripetuto finchè l'espressione booleana rimane vera. Quando l'espressione diventa falsa il ciclo termina. Il ciclo può essere controllato da un indice, ma in generale qualsiasi espressione booleana può andar bene allo scopo.codice:while(expr) do command; expr: Espressione booleana command: Un comando (una istruzione o un blocco) blocco: Una sequenza di istruzioni compresa fra le parole BEGIN e END.
Al contrario del ciclo while il costrutto REPEAT UNTIL viene sempre eseguito almeno una volta. La condizione di terminazione viene testata alla fine, dopo aver eseguito il comando. Per terminare il ciclo la condizione deve essere VERA. Anch'esso può essere controllato da un indice, ma, come per il while, non è una condizione necessaria (qualsiasi espressione booleana va bene).codice:repeat command until expr; expr: Espressione booleana command: Un comando (una istruzione o un blocco) blocco: Una sequenza di istruzioni compresa fra le parole BEGIN e END.
Il ciclo for è un costrutto comodo, ma implementabile attraverso uno dei due costrutti visti in precedenza. Esso fa uso di un indice che va inizializzato ad un determinato valore iniziale, dopodichè, ad ogni iterazione, questo indice viene automaticamente incrementato o decrementato (a seconda della scelta tra TO e DOWNTO) fino al raggiungimento del valore di terminazione. Raggiunto questo valore il ciclo termina, sempre se questo valore può essere raggiunto. Questo è un esempio di ciclo FOR che non termina:codice:for init [TO | DOWNTO] term do command; init: Istruzione di inizializzazione contatore command: Un comando (una istruzione o un blocco) term: Valore di terminazione blocco: Una sequenza di istruzioni compresa fra le parole BEGIN e END.
Ciao.codice:FOR i:=10 TO 1 DO Writeln(i);
"Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza