Fondamenti Di Programmazione

Introduzione

Introduzione Concettuale ai Sottoprogrammi negli Algoritmi: scopri la differenza tra Sottoprogrammi, Funzioni e Procedure, quando conviene utilizzarli con esempi pratici.

Durata

15 minuti

Software

Flowgorithm / Pseudocodice

Linguaggio

Diagrammi di Flusso

Introduzione ai Sottoprogrammi e alla Modularità

Argomenti: concetti base, differenza tra Sottoprogramma, Funzione e Procedura, quando conviene usarli, esempi pratici

Immagina di dover costruire un'automobile: non si assembla ogni singolo ingranaggio nello stesso momento e nello stesso posto. Si creano invece componenti separati (il motore, l'impianto frenante, le luci) e poi si collegano tra loro. In programmazione, i sottoprogrammi servono esattamente a questo.

Il principio del "Divide et Impera" (Dividi e Conquista):

1. Scomponi un problema grande in problemi piccoli 2. Crea un Sottoprogramma per ciascuna operazione

Un sottoprogramma è un blocco di codice indipendente dotato di un proprio nome, pensato per svolgere un unico compito ben preciso all'interno dell'algoritmo.

Sottoprogramma, Funzione e Procedura: Le 3 Definizioni

SOTTOPROGRAMMA

È il termine generale che indica qualsiasi blocco di codice autonomo e separato dal programma principale (Main). Rappresenta la famiglia globale di cui fanno parte Funzioni e Procedure.

FUNZIONE

È un sottoprogramma che esegue un calcolo o un'elaborazione ed è obbligato a restituire un valore finale al programma principale (es. calcolare l'area di una figura).

PROCEDURA

È un sottoprogramma che esegue una serie di azioni o stampe a schermo senza restituire alcun valore finale al programma principale (es. mostrare un menu o pulire la grafica).

Quando conviene creare un Sottoprogramma?

Ci sono 3 situazioni principali in cui un programmatore sceglie di isolare una porzione di codice in un sottoprogramma:

1. Evitare Codice Ripetuto

Se devi ripetere lo stesso calcolo per dati diversi, rischieresti di duplicare decine di righe di codice.

Senza Sottoprogramma:

Riscrivi la formula dello sconto prezzo - (prezzo * sconto / 100) per il 1° prodotto, poi la ri-scrivi per il 2° e per il 3°. Se la formula cambia, devi modificarla manualmente in 3 punti diversi.

Con il Sottoprogramma (Funzione):

Scrivi la formula una sola volta nella funzione CalcolaSconto(prezzo, %sconto).
Nel Main ti limiti a richiamarla:
p1 = CalcolaSconto(100, 20)
p2 = CalcolaSconto(50, 10)

2. Semplificare Calcoli Complessi

Se un'operazione richiede formule articolate, lasciarla nel programma principale rende tutto confuso.

Senza Sottoprogramma:

Nel Main di una stazione meteo devi inserire direttamente formule complesse come la conversione da Celsius a Fahrenheit (gradi * 9 / 5) + 32, appesantendo la lettura del flusso principale.

Con il Sottoprogramma (Funzione):

Isoli il calcolo nella funzione ConvertiFahrenheit(gradi).
Nel Main scrivi semplicemente:
tempF = ConvertiFahrenheit(tempC)
rendendo l'algoritmo principale immediato da comprendere.

3. Lavoro di Squadra e Moduli di Servizio

Permette a più programmatori di sviluppare parti distinte del programma senza intralciarsi.

Senza Sottoprogramma:

Tutti i programmatori devono lavorare sullo stesso identico file principale, modificando contemporaneamente il flusso di stampa dei menu, i controlli di validazione e le formule matematiche.

Con il Sottoprogramma (Procedura/Funzione):

Un programmatore crea la procedura StampaMenu(), un altro crea la funzione ValidaVoto().
Nel Main le due componenti vengono semplicemente invocate all'occorrenza.

Osservazione

Come abbiamo visto negli esempi, l'obiettivo fondamentale dei sottoprogrammi non è modificare cosa fa l'algoritmo, ma come viene organizzato. Nella prossima lezione analizzeremo nel dettaglio la sintassi, le caratteristiche e la struttura per definire ed invocare le Funzioni e le Procedure!


In sintesi

Argomenti: concetti principali, riepilogo, competenze

  1. Sottoprogramma è il termine generale: si divide in Funzioni (restituiscono un valore) e Procedure (eseguono azioni senza restituire valori).
  2. Utilizzare la modularità rende gli algoritmi puliti, leggibili e facili da correggere o aggiornare nel tempo.

Cosa hai imparato
  1. Comprendere la gerarchia: Sottoprogramma è la categoria generale, Funzione e Procedura sono le due tipologie specifiche.
  2. Riconoscere i 3 casi d'uso principali in cui conviene creare un sottoprogramma (Codice ripetuto, Calcoli complessi, Lavoro di squadra).
  3. Analizzare per ciascun caso d'uso il confronto pratico tra l'approccio Senza e Con Sottoprogramma.


Algoritmi, Funzioni, Sottoprogrammi, Procedure, Modularita, Esempi Pratici, Pseudocodice,