Procedure e funzioni In linguaggio C.

Slides:



Advertisements
Presentazioni simili
Funzioni In C++ le funzioni sono caratterizzate da un nome, dal tipo della variabile ritornata e da una lista di parametri (opzionali) La lista dei parametri.
Advertisements

Funzioni e procedure Ogni linguaggio di programmazione ad alto livello mette a disposizione del programmatore questi strumenti, ed il C non è da meno!
Sottoprogrammi: funzioni e procedure
Preincremento e PostIncremento in C++
Puntatori in C e C++.
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità F2 Selezione.
Iterazione while – do while - for.
Stringhe di caratteri In linguaggio C.
Procedure e funzioni A. Ferrari.
Linguaggio C++ Operatori – numeri pseudocasuali - costanti.
Numeri casuali.
Procedure e funzioni In linguaggio C.
Introduzione ad Array e Funzioni 2IC/2ID – a. s.2012/13.
Generazione di numeri casuali in Dev C++
LE FUNZIONI IN C Sommario 1 Introduzione 2 Moduli di programma in C
PUNTATORI Introduzione
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità F3 Iterazione.
Universita di Camerino
Fondamenti di Informatica I CDL in Ingegneria Elettronica - A.A CDL in Ingegneria Elettronica - A.A Strutture dati dinamiche.
Introduzione al linguaggio C
Le funzioni.
Concetti di base: header file, funzione main(),set caratteri C++, token, operatori, espressioni etc. Flusso di controllo, cicli, costrutti.
La ricorsione Simulazione. Il Main /* Programma che usa una funzione ricorsiva*/ #include #define MAX_N 8 main() int valore, dato; printf(Introduci n:
FUNZIONI DI BIBLIOTECA
Ambito delle variabili
Funzioni definite dall’utente
Prof.ssa Chiara Petrioli -- Fondamenti di programmazione, a.a. 2009/2010 Corso di Fondamenti di programmazione a.a. 2009/2010 Prof.ssa Chiara Petrioli.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Puntatori Marco D. Santambrogio – Ver. aggiornata al 21 Marzo 2013.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Funzioni e Procedure Marco D. Santambrogio – Ver. aggiornata al 15 Marzo 2013.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Funzioni e Procedure Marco D. Santambrogio – Ver. aggiornata al 18 Aprile 2012.
Informatica 2. Concetti fondamentali di programmazione Programmare vuol dire scrivere un algoritmo in un linguaggio che faccia funzionare un calcolatore.
1 Corso di Informatica (Programmazione) Lezione 12 (19 novembre 2008) Programmazione in Java: i metodi statici.
9) If e else. Lab.Calc.I AA2002/03 - cap.92 espressione.
Esercizi FUNZIONI Passaggio di parametri per valore, variabili e tipi locali e globali, prototipo.
Le funzioni.
FUNZIONI... Una funzione permette di dare un nome a una espressione rendendola parametrica float f(){ return * sin(0.75); } float f1(int x) { return.
Elementi di programmazione ad oggetti a. a. 2009/2010 Corso di Laurea Magistrale in Ingegneria Elettronica Docente: Mauro Mazzieri, Dipartimento di Ingegneria.
Elementi di programmazione ad oggetti a. a. 2009/2010 Corso di Laurea Magistrale in Ingegneria Elettronica Docente: Mauro Mazzieri, Dipartimento di Ingegneria.
I Metodi in Java Il termine "metodo" è sinonimo di "azione". Quindi, affinché un programma esegua qualche istruzione, deve contenere metodi.
Università degli Studi di BresciaA.A. 2012/2013 Fondamenti di Programmazione Docente: Alessandro SaettiA.A. 2012/2013 Università degli Studi di Brescia.
In molti casi è utile assegnare a degli identificatori dei valori che restino costanti durante tutto il programma e che non possano essere cambiati nemmeno.
Il linguaggio C Le funzioni C Language Il passaggio dei parametri
Programmazione di Calcolatori
void binario(int n); …………………
Creazione progetto in C++/DEV
Prof.ssa Chiara Petrioli -- Fondamenti di programmazione, a.a. 2009/2010 Corso di Fondamenti di programmazione a.a. 2009/2010 Prof.ssa Chiara Petrioli.
Unità Didattica 3 Linguaggio C
Lo sviluppo top down Le funzioni
2000 Prentice Hall, Inc. All rights reserved. Attivazione di funzioni La chiamata/attivazione di funzione viene indicata citando il nome della funzione.
I metodi F. Bombi Campi e metodi Abbiamo visto che una classe può contenere – Campi – Metodi stato I campi sono utilizzati per memorizzare.
1 Fabio Scotti ( ) Laboratorio di programmazione per la sicurezza Valentina Ciriani ( ) Laboratorio di programmazione Lezione 11 e 12 -
Le funzioni Rassegna degli argomenti trattati LS Tron 14/15 Prof. Carla Fanchin.
Introduzione a Javascript
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Funzioni e Procedure Marco D. Santambrogio – Ver. aggiornata al 3 Aprile 2015.
Informatica 4 Funzioni. FUNZIONE: definizione MATEMATICA Relazione (o applicazione) binaria tra due insiemi A e B che associa a ogni elemento di A un.
CORSO DI PROGRAMMAZIONE II
1 Il linguaggio C Precisazioni sull’esperienza in laboratorio.
Scrivere e compilare programmi
Linguaggio C: Le basi Stefano Cagnoni e Monica Mordonini
L’ordinamento per Selezione seleziona l’elemento con valore maggiore e lo scambia con il primo elemento del vettore. Tra gli N-1 elementi rimanenti viene.
C++:Strutture di Controllo
Copyright © Istituto Italiano Edizioni Atlas
Stringhe In linguaggio C. Stringhe  Un insieme di caratteri in sequenza forma una stringa.  Alcuni linguaggi definiscono per le stringhe uno specifico.
Conio.h contiene la dichiarazione di funzioni usate per richiamare alcune routine DOS di gestione del video e della tastiera. NECESSARIA PER system(‘’cls’’)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Funzioni e Procedure Marco D. Santambrogio – Ver. aggiornata al 4 Aprile 2016.
Files in C++ Motivazioni Un programma in esecuzione legge (sequenzialmente) una sequenza di caratteri prodotti "al volo" dall'utente (tramite tastiera)
13. Strutture dati dinamiche Ing. Simona Colucci Informatica - CDL in Ingegneria Industriale- A.A
Linguaggio C: Funzioni e Puntatori Laboratorio di Programmazione Gruppo 1.
Operatori – numeri pseudocasuali - costanti
Passaggio di parametri per indirizzo
Transcript della presentazione:

Procedure e funzioni In linguaggio C

Procedura Una procedura può essere rappresentata come una macchina in grado di eseguire un certo compito quando attivata. In un primo tempo la macchina deve essere costruita: la costruzione della macchina può essere paragonata con la dichiarazione e definizione della procedura. La macchina viene poi attivata per eseguire il suo compito: può essere attivata più volte e tutte le volte ritorna ad eseguire il compito per cui è stata costruita. L'avviamento della macchina può essere paragonato all'esecuzione della procedura.

Procedure in C In linguaggio C / C++ non esistono procedure ma solo funzioni. Le procedure possono essere realizzate mediante funzioni che non restituiscono valori cioè funzioni void. La dichiarazione di una procedura deve essere inserita prima della sua esecuzione. Utilizzando i prototipi è possibile definire le procedure dopo il programma principale. L’esecuzione di una procedura termina quando si raggiunge la sua ultima istruzione o si incontra l’istruzione return.

Esempio di procedura in C #include <iostream> using namespace std; void stampaLogo() // dichiarazione e definizione della procedura { cout<<endl; cout<<"********************************"<<endl; cout<<"*** Classe III Informatica ***"<<endl; cout<<"*** Itis Leonardo da Vinci ***"<<endl; } int main() stampaLogo(); // chiamata della procedura cout<<endl<<"Programma di prova"<<endl; system ("pause"); return 0; © 2007 SEI-Società Editrice Internazionale, Apogeo

Esempio con prototipo #include <iostream> using namespace std; void stampaLogo(); // dichiarazione (prototipo) int main() { stampaLogo(); // chiamata della procedura cout<<endl<<"Programma di prova"<<endl; system ("pause"); return 0; } void stampaLogo() // definizione della procedura cout<<endl; cout<<"********************************"<<endl; cout<<"*** Classe III Informatica ***"<<endl; cout<<"*** Itis Leonardo da Vinci ***"<<endl; © 2007 SEI-Società Editrice Internazionale, Apogeo

Scambio di informazioni fra programma e procedura Nell’esempio precedente il programma e la procedura non avevano la necessità di scambiarsi informazioni. In generale è invece necessario uno scambio di informazioni fra programma e procedura (o fra varie procedure) La dichiarazione di una variabile “fuori” dal programma e dalla procedura (variabile globale) permette ad entrambi di “vederla” quindi di scambiarsi, attraverso questa, informazioni.

Un esempio con variabili globali #include <iostream> using namespace std; int x; // variabile globale visibile sia dalla procedura che dal main int cub; // variabile globale visibile sia dalla procedura che dal main int n; // variabile globale visibile sia dalla procedura che dal main void stampaCubo() // dichiarazione e definizione della procedura { cub=x*x*x; cout<<"Il cubo di "<<x<<" vale "<<cub<<endl; } int main() cout<<"Inserisci un valore "; cin>>n; for (x=1;x<=n;x++) stampaCubo(); // chiamata della procedura system ("pause"); return 0;

Variabili locali e globali La possibilità da parte del programma e delle varie procedure di vedere e modificare il valore di una variabile globale è un aspetto Positivo: permetto lo scambio di informazioni Negativo: la modifica del valore di una variabile globale da parte di una procedura potrebbe alterare il comportamento dell’intero programma (effetto collaterale) Esistono variabili che hanno significato solo all’interno di una procedura Queste variabili possono essere dichiarate all’interno della procedura (variabili locali) e quindi essere visibili sono in questa

Un esempio con variabili globali e locali … int x; // variabile globale visibile sia dalla procedura che dal main void stampaCubo() // dichiarazione e definizione della procedura { int cub; // variabile locale visibile solo dalla procedura cub=x*x*x; cout<<"Il cubo di "<<x<<" vale "<<cub<<endl; } int main() int n; // variabile locale visibile solo nel main cout<<"Inserisci un valore "; cin>>n; for (x=1;x<=n;x++) stampaCubo(); // chiamata della procedura system ("pause"); return 0;

Funzioni Anche per la funzione è valida l'analogia con la macchina. La Macchina-Funzione oltre ad eseguire il compito per il quale è stata costruita, restituisce il risultato. Anche in questo caso avremo una fase di dichiarazione- costruzione ed una di chiamata-avviamento. Nella fase di chiamata avremo la restituzione di un valore: il risultato della funzione. La funzione avrà un tipo (il tipo dl valore restituito) e una terminazione esplicita (return seguito da una espressione che rappresenta il valore della funzione)

Esempio di funzione int lancio() // restituisce un valore casuale compreso fra 1 e 6 // (rappresenta il lancio di un dado) { int faccia; // faccia del dado faccia = (rand() % 6) + 1; // numero casuale compreso fra 1 e 6 return faccia; } int main() srand(time(0)); // inizializzazione numeri casuali int numeroLanci; // numero totale dei lanci da effettuare int l; // numero del lancio effettuato cout<<"Numero di lanci da effettuare: "; cin>>numeroLanci; for (l=1;l<=numeroLanci;l++) cout<<"Lancio N.ro "<<l<<" e' uscito il numero "<<lancio()<<endl; system ("pause"); return 0;