Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1

    [C]domanda stupida..Differenza tra funzione e procedura

    Qual'e' la differenza????Aiuto (!!!) mi serve una risposta il prima possibile!!!!domani ho l'esame di informatica...

  2. #2
    in c non esistono procedure ma solo funzioni.

    una funzione e' una routine (insieme di istruzioni) che ritorna un solo valore, come le funzioni in matematica.
    una procedura e' invece una routine che non ritorna nessun valore.

    in pascal ci sono sia funzioni che procedure, cosi come in VB ci sono funzioni e procedure che in VB prendono il nome rispettivamente Function e Sub.

  3. #3
    le procedure operano anche con i puntatori?e le funzioni no?le procedure non cacciano nessun valore al contrario delle funzioni che cacciano un solo valore?

  4. #4
    quando si passa ad una funzione o a una procedura l'indirizzo(invece che il valore ) di una variabile, entrambe possono modificarne il valore perche' ne e' stato passato il suo riferimento (o indirizzo) univoco in memoria alla funzione (procedura) permettondo cosi la sua modifica

  5. #5
    quale la differenza?(spiegalo in maniera che sia a me comprensibile --il + semplice possibile--)

    http://digilander.libero.it/uzappi/C/C-funzioni.html

  6. #6
    correggimi se sbaglio:
    una funzione è un sottoprogramma in C che agisce su valori passati solo "per valore" e restituisce un valore al programma chiamante (attraverso il comando "return") e non può operare con i puntatori alle variabili.
    La procedura invece è una funzione particolare che non ha valore di ritorno (manca il "return") e può operare sia con i puntatori che con le varaibili normali (passaggio per "indirizzo" &/o passaggio "per valore"). Giusto?

  7. #7
    il discorso deve essere avulso dal particolare linguaggio.
    in generale in informatica la differenza tra procedure e funzioni e' quella che ti ho spiegato ieri, cioe' funzione n parametri in ingresso e solo uno in uscita, mentre la procedura ha n parametri in ingresso nessun valore in uscita.
    quando si parla di puntatori (o passaggio per indirizzo che NON sono la stessa cosa ) si definisce la modalita' di passaggio di un parametro ad un sottoprogramma(funzione o procedura) che puo' permettere la modifica del parametro passato.
    praticamente se ad un sottoprogramma passo un parametro per valore questo non puo' essere modificato, se passo un parametro per riferimento posso modificare il valore del parametro ma non il suo indirizzo, perche' tecnicamente (e questo complica i fatti) e' un passaggio per valore dell'indirizzo in memoria della variabile, il cui indirizzo in memoria non puo' essere modificato.
    questo per stare sul semplice, altrimenti le cose si possono anche rendere piu' complicate. ma non credo sia il caso.

  8. #8
    Originariamente inviato da francesco_test
    il discorso deve essere avulso dal particolare linguaggio.
    Permettimi ma , una cosa sono i concetti informatici in generale ed un'altra sono le implementazioni nei particolari linguaggi di tali concetti . Ad es. il C è sprovvisto di procedure ma queste possono essere "simulate" tramite le funzioni di tipo void . E comunque ben diverse dal concetto di procedura in senso ampio , che troviamo implementato nei compilatori Pascal ad es. Infatti mentre nei compilatori di questo linguaggio possiamo definire ed usare procedure all'interno di altre procedure , lo stesso non possiamo fare con le funzioni in C , anche di tipo void , in quanto soggette al vincolo di non poter definire al loro interno altre funzioni . A mio avviso è sempre opportuno sottolineare a che linguaggio ci riferiamo . Saluti

  9. #9
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da MatteoS86
    correggimi se sbaglio:
    una funzione è un sottoprogramma in C che agisce su valori passati solo "per valore" e restituisce un valore al programma chiamante (attraverso il comando "return") e non può operare con i puntatori alle variabili.
    La procedura invece è una funzione particolare che non ha valore di ritorno (manca il "return") e può operare sia con i puntatori che con le varaibili normali (passaggio per "indirizzo" &/o passaggio "per valore"). Giusto?
    E perche' una funzione dovrebbe ricevere parametri "solo per valore"?

  10. #10
    ragazzi qui si rischia di impelagarci in un discorso senza fine.
    alla fine conta come il professore di MatteoS86 ha spiegato il concetto e quindi come lo stesso vuole che i suoi alunni lo assimilino e lo espongano.



Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.