Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    387

    [pascal] while do , repeat ,ecc

    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!!!!

  2. #2
    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

  3. #3
    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ì:
    codice:
    repeat
    istruzioni
    .......
    ......
    until (condizione);
    Se usi un contatore dovra essere incrementato nel corpo del ciclo...se invece è una condizione tipo a='SI' il contatore non lo si usa


    poi il while invece è un ciclo precondizionale, cioè controlla la condizione prima dell'esecuzione del ciclo, e il while esce quando è falso...in pascal:
    codice:
    while (condizione) do
    begin
    istruzioni
    .......
    ......
    end;
    e gli indici si gestiscono come col repeat


    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:
    codice:
    for i:=1 to 10 do
    begin
    istruzioni
    ......
    ......
    end;
    il ciclo verrà svolto per 10!!




  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,301
    Aggiungiamo la sintassi dei 3 costrutti:
    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.
    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:
    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.
    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:
    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.
    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 i:=10 TO 1 DO
       Writeln(i);
    Ciao.
    "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

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.