Module: Sottoprogrammi: procedure e funzioni - 1


Problem

1/11

Subroutine: Introduzione

Theory Click to read/hide

Una subroutine è una parte separata di un programma che ha un nome e risolve il proprio compito separato. La subroutine si trova all'inizio del programma principale e può essere lanciata (chiamata) dal programma principale specificandone il nome.

L'utilizzo delle subroutine consente di evitare la duplicazione del codice se è necessario scrivere lo stesso codice in posti diversi programmi . 
Le librerie importate in un programma (ad esempio, System) sono costituite da routine che sono già state compilate da qualcuno. I programmatori non devono pensare a quali algoritmi sono implementati in essi, li applicano semplicemente, pensando solo a cosa stanno facendo esattamente. Questo è un grande risparmio di tempo. Non è necessario scrivere un algoritmo che è già stato scritto da qualcun altro.

Ogni subroutine dovrebbe eseguire solo un'attività, calcolare qualcosa o produrre alcuni dati o fare qualcos'altro. 

Le subroutine, o metodi, sono di due tipi:  funzioni (quelle che restituiscono il risultato del lavoro) e procedure (quelle che non lo fanno).

Iniziamo con il secondo tipo. Proviamo a scrivere un semplice esempio.
Supponiamo di dover visualizzare sullo schermo la stringa "Errore". ogni volta che può verificarsi un errore nel codice per colpa dell'utente (ad esempio, quando inserisce dati errati).
Questo può essere fatto scrivendo la dichiarazione
Console.WriteLine("Error");>
Ora immaginiamo che questa riga debba essere inserita in più punti del programma. Certo, puoi semplicemente scriverlo ovunque. Ma questa soluzione ha due inconvenienti.
1) questa stringa verrà memorizzata molte volte;
2) se vogliamo modificare l'output in caso di errore, dovremo modificare questa riga in tutto il programma, il che è piuttosto scomodo.

Per questi casi sono necessari metodi e procedure.
Un programma con una procedura potrebbe avere questo aspetto:

usando il sistema;
classProgram {
    static void PrintError() {
        Console.WriteLine("Errore");
    }
    static void Main() {
        PrintError();
    }
}

 

Una procedura inizia con la parola void. Dopo il nome della procedura vengono scritte parentesi vuote.
Tutte le istruzioni eseguite in una procedura sono rientrate. 
Il modificatore Static  indica che il campo, il metodo o la proprietà specificati non apparterranno a ciascun oggetto della classe, ma a tutti insieme.
I metodi e le procedure sono scritti prima del metodo principale Main().

Per fare riferimento a una procedura, nel programma principale devi chiamarla per nome e non dimenticare di scrivere le parentesi.
Puoi chiamare una procedura in un programma un numero qualsiasi di volte.

Problem

Scrivi una procedura che stampi "Error. Divisione per zero! Assegna il nome corretto alla procedura e scrivi l'output in essa.