Module: (Java) Subroutine: procedure e funzioni - 2


Problem

1/11

funzione-subroutine

Theory Click to read/hide

Una funzione è una subroutine che restituisce un risultato (numero, stringa di caratteri, ecc.)

Immagina di aver ordinato un prodotto da un negozio online. Dal punto di vista della programmazione, hai richiamato una determinata subroutine e, a differenza di una procedura, questa subroutine deve restituire un risultato: consegnare il prodotto che hai ordinato. Queste subroutine sono chiamate funzioni.
Una funzione è formattata esattamente allo stesso modo di una procedura. L'unicadifferenza rispetto a una procedura è la presenza di un apposito operatore returndopo il quale il valore da restituire al programma principale viene scritto.

Una funzione che restituisce la media aritmetica di due numeri interi sarebbe simile a questa: media float statica(int a, int b) { float media = (a + b) / 2.; ritorno agosto; } Resta da capire come chiamare questa funzione nel programma principale:
Non dovresti chiamare una funzione nello stesso modo in cui chiami una procedura: media(10, 5); Il valore restituito dalla funzione andrà perso. È come se la merce del negozio online non fosse data a nessuno, ma buttata via. È improbabile che piaccia al cliente.

È più corretto salvare il risultato in una variabile (o stamparlo sullo schermo): a = media(10, 5); System.out.println(average(10, 5));

Problem

Scrivi una funzione che calcoli la somma delle cifre di un numero naturale.
Usando questa funzione, scrivere un programma che, tra 5 numeri naturali inseriti, trovi il numero con la massima somma di cifre. Se sono presenti più numeri di questo tipo, stampa il numero più grande
 
Esempi
# Input Uscita
1 15
234
11
9
111112
234