Tutti i linguaggi di programmazione sono ramificazione e comandi di iterazione . Senza questi due elementi , una sequenza di istruzioni non sarebbe un programma , ma un file batch , procedendo attraverso una serie di comandi nello stesso ordine ogni volta . L'istruzione if è un meccanismo di ramificazione , e l'istruzione while è un modo per creare un ciclo , che è l'iterazione . Somiglianze
e mentre le dichiarazioni hanno un attributo importante in comune - sono entrambi condizionale . Entrambi includono un test per una condizione e l' elaborazione dei comandi successivi viene alterata , a seconda dei risultati di tale prova . Entrambi staffa altre istruzioni ed entrambi possono essere utilizzati per tagliare una sezione di operazioni, se il test non è vero .
Se Struttura
La struttura di base di una istruzione if è: se ALLORA ELSE . La condizione può essere una serie di test collegati tra loro con gli operatori booleani ( AND, OR e NOT ) . La sezione di azione è di solito una serie di comandi , e potrebbero contenere altre istruzioni if . Una serie di istruzioni if incorporato può rapidamente diventare confusa . Convenzione Programmazione raccomanda indentazione per rendere chiaro che se e qualcun'altro e fini sono strettamente correlate e molti linguaggi forniscono un Ciò si traduce in codice pulito che sembra " elsif . " :
ALLORA , ELSIF 2> ELSIF 3> FINE
la sezione altro fornisce un'azione alternativa se nessuna delle condizioni di se dichiarazione sono soddisfatte . Tuttavia, è un metodo di programmazione legittimo omettere il resto , nel qual caso il if potrebbe comportare nessun codice eseguito . L'esecuzione del programma viene eseguito verso il basso la struttura e se esegue solo una sezione del codice , o nessuno . Se uno qualsiasi del codice viene eseguito , ogni riga viene eseguito solo una volta .
Mentre Struttura
la chiarezza della dichiarazione , mentre beneficia anche dal rientro . Incorporamento di loop è raro, perché può rapidamente diventare ingestibile . Il test del while non fornisce ramificazione , che provoca il programma per ripetere il codice racchiuso finché la condizione nell'istruzione diventa falsa . Come con l'istruzione if , il test può risultare in un risultato negativo per la prima volta e quindi nessuno di codice nella dichiarazione , mentre viene eseguito . Qualche elemento della condizione di prova deve essere alterato durante la lavorazione del ciclo, altrimenti la condizione sarebbe mai diventare falsa e il ciclo verrebbe eseguito sempre. Una dichiarazione , mentre di solito processi come :
linea
: = 1a_variable : = ( record di [ line] ) WHILE NOT ( a_variable = ) LOOPuse ( a_variable ) do_action_on linea ( a_variable ) ottenere : = linea +1 a_variable : = get ( record di [ line] ) END
Confronto
Mentre affermazioni sono adatti ai record di elaborazione . Se le dichiarazioni sono utilizzati per gestire la struttura di un programma . Una combinazione dei due permette l'ordinamento dei record . L' istruzione while è più comune nelle applicazioni di database .