prima di iniziare a guardare il video vi ricordo se non lo siete già di iscrivervi al canale attivare la campanella delle notifiche lasciare un like e leggere sempre la descrizione del video benvenuti tutti ragazzi in questa nuova lezione l'argomento di oggi sono le ultime strutture di controllo definite come istruzioni di salto queste istruzioni consentono di spostare il controllo dell'esecuzione del codice in un altro punto in modo incondizionato per completezza del per spiegarvi l'uso didattico di questi comandi però oggigiorno è sempre meglio non farne uso o al massimo è concesso in casi estremi ciò è dovuto
a vari fattori il primo risale al 1966 il teorema di pon iacopini il quale afferma che qualunque algoritmo può essere implementato in fase di programmazione utilizzando tre strutture di controllo ossia la sequenza la selezione e il ciclo da applicare ricorsivamente alle istruzioni elementari grazie a questo teorema a partire dagli anni settanta la programmazione strutturata diede risultati straordinari con tempi di sviluppo minori inoltre i programmi erano più chiari e più facili da correggere e modificare diminuendo il numero di errori il secondo fattore che grava è la logica come vedremo queste istruzioni spezzano di colpo la normale
sequenza e l'altra un buon programmatore tende a creare un programma facile da comprendere e con una logica stabile queste istruzioni violano le norme di programmazione strutturata allo stesso tempo però ci sono dei compromessi che sono il comando switch che necessita dell'istruzione break e allo stesso modo anche l'istruzione ora torna serve all'interno delle funzioni che vedremo più avanti per signor go to trova un compromesso specificato dal certo vi lascio il link in descrizione di un uso consentita quindi il mio consiglio è quello di sapere che cosa siano le istruzioni di salto e capire come lavorano così
da comprendere i programmi che li usa ma se state voi creando un programma cercate di evitarli puntate uscire dalle situazioni con la vostra logica il primo comando introdotto già con la struttura di controllo switch break significa letteralmente rompere di fatto il suo scopo trova all'interno di qualsiasi ciclo e nello switch esso interrompe la normale esecuzione uscendo dalla struttura di controllo in cui eravamo a destra pongo un esempio dove tramite un ciclo voglio stampare il valore del contatore dell'interazione ma non voglio che il programma stampi i numeri sopra il 5 allora costruisco un semplice iv che
controlla se il contatore ha superato il valore 5 e quando è vero rompo l'interazione con break senza badare le istruzioni presenti dopo anche se la condizione continua a essere vera io esco capite bene che questo è un uso quasi ridicolo perché basterebbe un minimo di logica in più per cambiare il contenuto del ciclo per stampare soli primi cinque numeri a patto ovviamente che la condizione sia quella lasciato nell'intestazione senza nessun uso del break avrebbe più senso farne uso quando sono tre livelli di annidamento non sempre per il teorema di bonn iacopini ne potrei fare a
meno e sarebbe meglio la seconda istruzione di salto che a differenza del break non fa uscire fuori dalla struttura di controllo ma ne ritorna a capo perciò tenendo ad esempio di prima facciamo che ora questi dieci numeri non voglio che mi stampi quelli pari allora nella condizione dell'ifpi basta controllare se il contatore diviso per due arresto 0 e in caso sia vero ritorna campo bypassando tutte le istruzioni che ci sono successivamente anche qui per sistemare il contenuto del ciclo è facile banalmente eviterà il continuo ponendo la condizione che se la divisione del contatore con il
2 non mi da un resto uguale a zero mette in output il contatore la terza istruzione è il go to il cui uso generale come precedenti è ritenuto oppure dannoso a differenza degli altri due comandi il go to è come se ci tele trasportasse in un altro punto del codice mediante le etichette anche queste viste all'interno dello switch questo comando a usi veramente limitati e singolari più unici che rari poiché se ne può fare a meno e soprattutto rende difficile comprendere il codice in descrizione trovate il link di un caso specifico consentito ma è meglio
evitare a costo di creare anche qualche condizione o variabile in più l'ultimo comando è l'eroe torna al contrario dei tre precedenti in c questa non crea problemi ed è strettamente necessario nelle funzioni dovrà aspettare a parlarne direttamente nella lezione dei sottoprogrammi ma in realtà posso già introdurlo adesso è la prima lezione del corso ho detto che c è un linguaggio imperativo di natura procedurale dunque fa uso di funzioni che sono un blocco di codice contenente dichiarazioni e istruzioni per il momento abbiamo sempre lavorato all'interno del main che non è altro che la funzione principale del
programma oppure anche i comandi di input e di output sono delle funzioni appartenenti alla libreria standard input output che richiamiamo all'interno del maine per usarle quando utilizziamo una funzione automaticamente il programma si spostano nel blocco di codice della funzione e per tornare almeno è presente l'istruzione rotair che può portare con sé un valore oppure no approfondiremo in casi specifici più avanti il main per esempio fino alle edizioni precedenti del ci richiedeva alla fine del codice il return a 0 che significa che il programma è stato eseguito correttamente quindi restituisce come valore zero hora nell'edizione attuale
si può anche ammettere che ugualmente a fine codice il programma restituirà il valore zero quindi correttezza dell'esecuzione perché automaticamente in maniera sottintesa viene già inserito dal compilatore anche se noi non andiamo a specificarlo andremo molto nei dettagli nella lezione dedicata alle funzioni procedure la lezione è conclusa se avete qualcosa da chiedere fatelo pure nei commenti e cercherò di rispondervi se non siete già iscritti al canale iscrivetevi seguitemi su telegram e su instagram e noi ci vediamo un prossimo video ciao ragazzi