Istituto Tecnico Industriale "Enrico Fermi"

Help On Chat

[Ritorna all'elenco sessioni]

Chat del 15 Dicembre 2017 dalle 18:36:38 alle 19:09:54

Stefano Salvi
Ho preparato al soluzione dell\'esercizio di stamattina (con ben pochi commenti). Se mi laasciate un\'attimo lo metto su Moodle, così magari ci date un\'occhiata e può darvi spunti per le domande.
Federico DI GIACOMO
grazie prof
Riccardo MIRANDOLA
Grazie mille
Sebastiano GASPARINI
Buonasera Prof, ok grazie
Filippo BELLANZA
grazie . .
Stefano Salvi
Fatto. Potete darci un\'occhiata, intanto che fate le altre domande.
Andrea POTITO
Grazie prof
Qual è la differenza fra array e vettore?
Federico DI GIACOMO
io non ho capito quando assegno il tipo alla funzione cosa cambia tra inserire int e void
Stefano Salvi
Potito: array è il termine inglese (generico) che vale sia per l\'italiano "vettore" cheper l\'italiano "matrice". In Italiano vettore ha un solo indice, matrice più di uno (a volte si considera ne abbia due e si precisa "matrice multidimensionale" se ne ha di più).
Riccardo MIRANDOLA
In un ciclo for posso chiamare una funzione?
Nel senso posso chiamare una funzione tra le parentesi del forma?
For*
Stefano Salvi
Di Giacomo: una funzione "void" non ritorna alcun valore. Una funzione "int" ritorna un valore di tipo intero. Nella funzione "void" possiamo omettere il "return" e se lo mettiamo avrà la forma "return;". Nella funzione "int" il return è obbligatorio e sarà nella formula "return <espressione intera>;" dove "<espressione intera>" è un\'espressione che ritorna un intero, quindi anche una semplice costante o una semplice variabile.
Sebastiano GASPARINI
Prof, io non avrei ben chiaro cosa dovrei mettere tra le parentesi tonde quando vado a fare il prototipo di una funzione
Stefano Salvi
Mirandola: in un ciclo for posso chiamare una funzione in tutte e tre le parti (inizializzazione, condizione ed incremento). Posso inserire una funzione ovunque vada un numero (o una variabile che venga valutata).
Riccardo MIRANDOLA
Grazie
Stefano Salvi
S.Gasparini: per cortesia, guardati prima l\'esempio che ho messo su Moodle, poi rifammi la domanda, che magari se hai ancora il dubbio discutiamo sulle funzioni nell\'esempio.
Riccardo MIRANDOLA
Quando chiamo una funzione è necessario che i parametri attuali siano posti nello stesso ordine in cui sono i parametri formali?
Andrea POTITO
Prof io non ho chiaro cosa sono i prototipi
Stefano Salvi
Mirandola: esattamente. I valori dei parametri attuali vengono usati per iniziallizzare i parametri formali della funzione, nell\'ordine. In altri liguaggi posso assegnarli per nome, ma in C no.
Federico DI GIACOMO
ok grazie
Riccardo MIRANDOLA
Grazie
Stefano Salvi
Potito: il prototipo (o template) di una funzione è la "forma" della chiamata alla funzione. Serve al compilatore per verificare che il chiamante usi correttamente la funzione e darci errori altrimenti.
Andrea POTITO
nell\'esercizio che ha caricato lei su moodle è questo?
// Preparo i prottotipi delle funzioni void inizializzaVettore (int numeri[]); void azzeraPiuDiLimite (int numeri[]); void stampaVettore(int numeri[]); int randDaA( int da, int a);
Stefano Salvi
Potito: questi sono i prototipi dlle funzioni che ho utilizzato nel main (ed una anche nella inizializzaVettore) e che poi più avanti ho definito.
Sebastiano GASPARINI
Piu o meno quanti esercizi ci saranno sulle funzioni, se puo dirlo?
Stefano Salvi
Da cintratto uno, l\'ultimo, come dallelenco di stamattina. Sei domande, sei argomenti...
Federico DI GIACOMO
per richiamare una funzione nel main è necessario che siano riportate prima del main?
Stefano Salvi
Contratto, non cintratto...
Andrea POTITO
Prof non capisco la differenza fra void e int
Stefano Salvi
Di Giacomo: per richiamare una funzione nel main è necessario che il suo prototipo o la sua definizione compaiano prima della main stessa e che comunque la definizione ci sia "nel sorgente" (da prendere alla lettera ora che tuttiìo quello che scriviamo sta in un solo file) o in una libreria caricata (come ad esempio la printf, la rand o altre...)
Diego LORENZI
Stefano Salvi
Potito: "void" indica "mancante" o "inesistente". Non posso creare una variabile void (non conterrebbe un valore, quindi...). Se scrivo una funzione void, essa non ritornerà valore e non potrò usarla al posto di un numero in un\'espressione. Se scrivo una funzione int, essa restoituirà un numero inteo e la potrò utilizzare ovunque serva un numero intero.
Andrea POTITO
ok, può fare un esempio di funzione void?
Stefano Salvi
Nell\'esercizio che ho caricato (e nei prototipi che avete qui in chat) ci sono tre funzioni void, che fanno qualcosa ma non restituiscono un numero un numero ed una int che restituisce un numero casuale, utilizzato in un\'espressione.
Ok. Che ne dite se chiudiamo la chat? Avete altre domande?
Riccardo MIRANDOLA
La ringrazio, buona serata
Stefano Salvi
Allora buona cena, buon riposo ed in bocca al lupo.

[Ritorna all'elenco sessioni]