Forum by laureateci.it
[ Home | REGOLE FORUM | Tutti i blog | Profilo | Registrati | CHAT | Discussioni Attive | Discussioni Recenti | Segnalibro | Msg privati | Sondaggi Attivi | Utenti | Download Informatica | Download ICD | Download TPS | Download Magistrale | Download Specialistica | Giochi | Cerca nel web | cerca | faq | RSS ]
Nome Utente:
Password:
Salva Password
Password Dimenticata?

 Tutti i Forum
 INFORMATICA - Primo Anno
 Programmazione
 Help procedure e funzioni

Nota: Devi essere registrato per poter inserire un messaggio.
Per registrarti, clicca qui. La Registrazione è semplice e gratuita!

Larghezza finestra:
Nome Utente:
Password:
Modo:
Formato: GrassettoCorsivoSottolineatoBarrato Aggiungi Spoiler Allinea a  SinistraCentraAllinea a Destra Riga Orizzontale Inserisci linkInserisci EmailInserisci FlashInserisci Immagine Inserisci CodiceInserisci CitazioneInserisci Lista Inserisci Faccine
   
Icona Messaggio:              
             
Messaggio:

  * Il codice HTML è OFF
* Il Codice Forum è ON

Smilies
Approvazione [^] Arrabbiato [:(!] Bacio [:X] Bevuta [:273]
Caldo [8D] Compiaciuto [8)]    
compleanno [:269]
Davvero Felice [:D] Diavoletto [}:)] Disapprovazione [V] Domanda [?]
Felice [:)] Fumata [:29] Goloso [:P] Imbarazzato [:I]
Infelice [:(] Morte improvvisa da [:62]
Morto [xx(] Occhio Nero [B)] Occhiolino [;)] Palla 8 [8]
pc [:205]    
Riproduzione [:76]
Scioccato [:O]      

   Allega file
  Clicca qui per inserire la tua firma nel messaggio.
Clicca qui per sottoscrivere questa Discussione.
    

V I S U A L I Z Z A    D I S C U S S I O N E
mrfal Inserito il - 19/10/2008 : 15:15:15
Ciao,
vorrei ke qualcuno mi aiutasse a capire meglio la differenza tra procedure e funzioni e tra passaggio di parametri per indirizzo e passaggio di parametri per valore.
Inoltre,vorrei capire meglio quando si usano le funzioni e quando le procedure
Sono graditi esempi.

Grazie in anticipo,
ciao
14   U L T I M E    R I S P O S T E    (in alto le più recenti)
jwein Inserito il - 11/01/2009 : 10:30:17
Dimenticavo, anche con le struct il passaggio per riferimento è utile. Si può dire che quello esplicito ( uso di puntatori ) sia utile ogni volta che serva modificare direttamente un oggetto o accedere a un oggetto di grosse dimensioni. Ma comunque è difficile trarre conclusioni oggettive...
jwein Inserito il - 10/01/2009 : 18:21:58
Non penso che ci siano casi in cui la procedura possa essere vista come un caso particolare di funzione, neanche quando si passano i valori per riferimento. La funzione, a causa della sua conformazione ( ritorno del valore ) può essere inserita all'interno di una espressione.

Citazione:

E' giusto dire:
- per qualsiasi operazione di lettura si usa la procedura con passaggio x riferimento;
- per qualsiasi operazione di scritturastampa si usa il passaggio x valore?



Non mi sembra una conclusione adatta. Anzi, porta ai cosiddetti 'effetti collaterali'. Io direi (per quanto riguarda la procedura): per operazioni di lettura di un singolo valore o di calcolo aritmetico che restituiscano un singolo valore, si usa il passaggio per valore, mentre per operazioni che richiedano il salvataggio e la restituzione di più valori (riferito anche al vettore), si usa il passaggio per riferimento.

Ma non è saggio fare affermazioni assolute, in ogni caso. Dipende dall'esigenza del momento. Se non bisogna lavorare su vettori (con cui viene simulato di default il passaggio per riferimento, dato che è come se venisse passato un puntatore al primo elemento situato in memoria) è bene evitare operazioni con passaggio per riferimento, a meno che non si abbia poca memoria a disposizione (sistemi embedded) o non si abbiano particolari esigenze di velocità...
mrfal Inserito il - 26/10/2008 : 15:21:16
E' giusto dire:
- per qualsiasi operazione di lettura si usa la procedura con passaggio x riferimento;
- per qualsiasi operazione di scritturastampa si usa il passaggio x valore?
mrfal Inserito il - 24/10/2008 : 16:09:59
Quindi:
uso le procedure x inserire, cancellare visualizzare dei dati;
uso le funzioni x effettuare calcoli.

se devo ricercare un dato devo usare una funzione con il passaggio di parametri x valore?

se devo modificare un dato precedentemente inserito (tipo c'è un elenco di nomi di studenti e voglio modificare il nome di uno studente) devo usare una procedura con il passaggio di parametri x riferimento?

grazie
SD83 Inserito il - 21/10/2008 : 16:49:45
non ti devi scusare di niente..
genius Inserito il - 21/10/2008 : 10:12:29
Citazione:
Messaggio inserito da SD83

una procedura in c è una funzione che non restituisce nessun valore..
tipo restituito void

in sostanza quello volevo dire che le funzioni restituiscono un valore le procedure invece compiono delle azioni ma nn restituiscono niente..



non volevo riprenderti, scusa se è sembrato questo. Volevo solo sottolineare che il c è un caso particolare, in cui una procedura è vista come caso particolare delle funzioni. In genere però esiste la differenza ke ho sottolineato precedentemente...
SD83 Inserito il - 20/10/2008 : 21:00:39
una procedura in c è una funzione che non restituisce nessun valore..
tipo restituito void

in sostanza quello volevo dire che le funzioni restituiscono un valore le procedure invece compiono delle azioni ma nn restituiscono niente..
genius Inserito il - 20/10/2008 : 17:01:46
Funzioni e procedure NON sono la stessa cosa. SEMBRANO la stessa cosa in c/c++ perchè in realtà in questo linguaggio NON esistono le procedure ma solo le funzioni.

Funzione: è un sottoprogramma che restituisce un valore
Procedura: è un sottoprogramma che restituisce un "comportamento"

Per quanto riguarda parametri per valore e per indirizzo ti ha risposto correttamente SD83
SD83 Inserito il - 19/10/2008 : 17:37:32
te l'ho fatto prima dai in input un numero e vuoi in output il quadrato..

int quadrato(int a)
{
return a*a;
}

se qui passassi l'indirizzo di a modificheresti il valore di a
mrfal Inserito il - 19/10/2008 : 17:04:19
un esempio concreto?
SD83 Inserito il - 19/10/2008 : 17:02:36
quando non hai necessità di modificare il dato
mrfal Inserito il - 19/10/2008 : 16:18:57
ma in quali casi conviene utilizzare il passaggio di parametri per valore?
SD83 Inserito il - 19/10/2008 : 15:31:38
passare parametri per valore significa passare al sottoprogramma il valore della variabile, se il sottoprogramma modifica tale valore la variabile globale non viene modificata
passare parametri per indirizzo vuol dire passare l'indirizzo della variabile, quindi ogni modifica effettuata dal sottoprogramma è una modifica alla variabile globale
SD83 Inserito il - 19/10/2008 : 15:29:28
funzioni e procedure sono sostanzialmente la stessa cosa..
solo che le funzioni si utilizzano quando si ha bisogno che tale sottoprogramma restituisca un valore ad esempio gli dai in input un numero e vuoi come output il suo quadrato
la procedura la usi per esempio per stampare un messaggio. il tipo restituito è void cioè nessun tipo

Forum by laureateci.it © 2002 - 2012 Laureateci Communications Torna all'inizio della Pagina
Il DB ha risposto in 0,06 secondi.

TargatoNA.it | SuperDeejay.Net | Antidoto.org | Brutto.it | Equiweb.it | Snitz Forum 2000