Saperi fondamentali

saperi fondamentali

Elementi di programmazione

Come si trasforma un problema in un programma?

Per trasformare un problema in programma, un programmatore deve analizzare il problema proposto dall’utente, organizzando le idee e immaginando soluzioni, e poi individuare un algoritmo risolutivo. La soluzione deve essere testata attraverso una simulazione del funzionamento e codificata utilizzando un linguaggio di programmazione. Utilizzando un compilatore e un linker, il codice sorgente viene quindi trasformato in un programma eseguibile che fornisce risposte sulla base dell’inserimento di dati concreti.

Che cos’è una variabile?

Una variabile è una zona di memoria a cui viene dato un nome e dentro cui è possibile inserire valori di un certo tipo. La variabile deve essere dichiarata prima del suo utilizzo e le può essere assegnato un solo valore per volta. Ogni successiva assegnazione sovrascrive il contenuto precedente. Prima di essere usata deve essere inizializzata con un valore iniziale che sovrascrive il valore indeterminato.

Che cos’è lo “spaghetti code”?

Lo “spaghetti code” è il termine dispregiativo con cui viene definito un codice sorgente, implementato per mezzo di salti incondizionati (goto), intrecciato e annodato come un mucchio di fili (logici). Un codice di questo tipo è difficile da leggere e da manutenere e può introdurre nell’algoritmo una serie di errori logici difficili da individuare.

Che cosa afferma il teorema di Böhm-Jacopini?

Il teorema di Böhm-Jacopini afferma che qualsiasi algoritmo può essere scritto utilizzando e combinando fra loro solo tre strutture di controllo.

La struttura sequenza indica l’ordine in cui devono essere eseguite le istruzioni. La struttura selezione consente di fare una scelta tra due possibili alternative sulla base della valutazione di una condizione booleana. La struttura iterazione consente di ripetere un blocco di istruzioni interrompendo il ciclo sulla base di una determinata condizione.

Qual è la differenza tra selezione e iterazione?

Le strutture di controllo selezione e iterazione consentono entrambe di effettuare una scelta tra due alternative sulla base della valutazione di una condizione booleana. Tuttavia, mentre la selezione pone in alternativa due possibilità e, se esegue il blocco di istruzioni nel ramo vero, allora non esegue quello nel ramo falso; l’iterazione può ripetere un blocco di istruzioni anche più volte e quando il ciclo termina, l’algoritmo prosegue con l’esecuzione delle istruzioni successive.

Quali vantaggi introduce l’uso dei sottoprogrammi?

I programmi che risolvono problemi complessi vengono generalmente scomposti in più sottoprogrammi analizzati e implementati separatamente. Questo consente di ottenere codici sorgente più sintetici (e quindi più leggibili, facilmente controllabili e riusabili più volte) e più semplici (sviluppare codice diventa più facile e meno costoso e la qualità del software migliora).

Quali tipi di errori possono riguardare un programma?

Il compilatore può segnalare la presenza di errori formali, cioè di errori lessicali o sintattici, come warning (avvertimenti) o error che bloccano la generazione del codice in linguaggio macchina. In fase di esecuzione possono verificarsi errori logici, dovuti a un errato algoritmo, chiamati errori di run-time. Gli errori logici vengono individuati dal programmatore durante la validazione del codice, eventualmente con l’ausilio di un debugger.

Clic!
Clic!
Tecnologie informatiche per il primo biennio