Programmazione a moduli in C

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Programmazione a moduli in C"

Transcript

1 Funzioni Programmazione a moduli in C Politecnico di Milano Motivazioni Alcuni programmi possono essere molto, molto complessi E utile poter partizionare il lavoro di progettazione in sottolavori più semplici perché: è più facile risolvere problemi di piccole dimensioni; si può distribuire il lavoro su più persone; 1

2 Riutilizzo Grosso vantaggio: le parti già scritte possono essere riutilizzate! Si possono così costruire librerie di sottoparti di programma che possono essere utilizzate all occorrenza; Esempio #include <stdio.h> main() int n,i,rad; printf( Inserisci un numero: ); scanf ( %i,&n); /* codice che calcola la radice quadrata di n */ for (i=1;i<=n;i++) if ((i*i) <=n) rad=i; Questo codice calcola la radice quadrata di n e la memorizza in rad printf ( La radice quadrata di %i, approssimata per difetto, è %i\n,n,rad); 2

3 Esempio Sarebbe stato meglio scrivere: #include <stdio.h> main() int n,i,rad; printf( Inserisci un numero: ); scanf ( %i,&n); /* codice che calcola la radice quadrata di n */ rad=rad_quad(n); printf ( La radice quadrata di %i, approssimata per difetto, è %i\n,n,rad); Esempio e spiegare, da qualche altra parte, come si fa ad estrarre la radice quadrata di un numero! La spiegazione potrebbe essere data dallo stesso programmatore: int rad_quad(int numero) int i, rad=1; for (i=1;i<=n;i++) if ((i*i)<=n) rad = i; return (rad); 3

4 Funzioni oppure la spiegazione potrebbe essere già disponibile al programmatore, cioè potrebbe essere stata preparata precedentemente e memorizzata in una libreria ; Un esempio: printf! Infatti printf: Non è un istruzione del C! E una funzione di libreria composta da una sequenza di altre istruzioni che non si vedono Terminologia Le parti di cui abbiamo parlato si chiamano funzioni; L utilizzo di una funzione si dice chiamata; La spiegazione di una funzione si chiama definizione; I dati passati ad una funzione si chiamano parametri; Il valore prodotto da una funzione si chiama valore di ritorno; 4

5 Riassumendo Utilizzare le funzioni comporta, tra gli altri, i seguenti vantaggi: il progetto di grossi programmi è più semplice; il codice è più leggibile (è più espressivo scrivere rad=rad_quad(n) piuttosto che il codice che calcola la radice!); è possibile riutilizzare la stessa funzione in diversi contesti o utilizzare funzioni scritte da altri (cioè chiamare funzioni delle quali non si conosce la definizione) Altri vantaggi Altri vantaggi - il codice diventa modulare : è possibile migliorarne una parte senza dover cambiare tutto (per esempio, si può scrivere una funzione che calcola la radice quadrata più velocemente) - si possono formulare soluzioni ricorsive ai problemi (vedremo più avanti cosa significa ) 5

6 Definizione di funzione Function header: Tipo del risultato Nome della funzione Lista dei parametri formali Parentesi graffe che racchiudono Dichiarazione delle variabili locali Corpo della funzione Valore di ritorno Definizione di funzione (2) Una funzione si definisce secondo questo schema: ret_type f (type1 arg1, type2 arg2, ) /* dichiarazioni di variabili */ [ ] /* codice */ [ ] /* valore di ritorno */ 6

7 Dove: Definizione di funzione (3) - ret_type è il tipo del valore ritornato dalla funzione; - type1, type2, etc. sono i tipi dei parametri passati alla funzione; Chiamata di una funzione var = f(a,b,c) Il valore di ritorno della funzione f viene assegnato ad una variabile (var) Identificatore della funzione Lista dei parametri attuali (che vengono associati ordinatamente ai parametri formali) 7

8 Prototipo di una funzione Quando si vuole utilizzare una funzione, è necessario prima dichiararla, cioè scrivere il suo prototipo prima di usarla! int rad_quad(int);/* Prototipo della funzione */ [ ] main() [ ] a=rad_quad(c); /* Chiamata della funzione */ [ ] Prototipo di una funzione ret_type f (type1, type2, ) Il prototipo di una funzione è uguale alla prima riga della sua definizione, eccetto i nomi dei parametri che non sono inclusi Il compilatore usa il prototipo di una funzione per convalidare le chiamate di funzione Una chiamata di funzione che non corrisponda al suo prototipo provocherà un errore di sintassi 8

9 Struttura di un programma C Direttive al precompilatore (es. #include) Dichiarazioni di variabili globali Prototipi di funzioni Il programma main (che può contenere chiamate a funzioni) Definizioni di funzioni Maggiore tra 3 numeri interi Scrivere una funzione che, ricevuti in ingresso 3 numeri interi, restituisca il maggiore. 9

10 Esempio: maggiore tra 3 numeri interi #include <stdio.h> int maximum(int, int, int); /* Prototipo della funzione */ main() int a, b, c, m; printf("inserisci tre numeri interi: "); scanf("%d%d%d", &a, &b, &c); m = maximum(a, b, c); /* Chiamata della funzione */ printf("il massimo e': %d\n", m); return 0; /* Definizione della funzione massimo */ int maximum(int x, int y, int z) int max = x; if (y > max) max = y; if (z > max) max = z; return max; Esempio: maggiore tra 3 numeri interi #include <stdio.h> int maximum(int, int, int); /* Prototipo della funzione */ main() int a, b, c, m; Parametri attuali printf("inserisci tre numeri interi: "); scanf("%d%d%d", &a, &b, &c); m = maximum(a, b, c); /* Chiamata della funzione */ printf("il massimo e': %d\n", m); return 0; /* Definizione della funzione massimo */ int maximum(int x, int y, int z) int max = x; if (y > max) max = y; if (z > max) max = z; return max; Parametri formali 10

11 Il C è orientato alle funzioni In C, diversamente da altri linguaggi (ad esempio il Pascal) non esistono sottoprogrammi, ma solo funzioni. A volte è utile scrivere funzioni che non devono ritornare nessun valore In questo caso, la funzione viene dichiarata con valore di ritorno di tipo void: void f(int x, int y); Variabili locali e globali Ogni funzione può usare solo le variabili dichiarate al suo interno e le variabili globali Le variabili locali nascono e muoiono con la funzione Variabili non globali e non dichiarate all interno di una funzione possono essere usate solo se passate come parametri 11

12 Regole di visibilità. Le variabili dichiarate all interno di una funzione sono visibili solo all interno della funzione stessa. Esempio: void f() int a; /* Non importa se nel main che chiama f c è già una variabile che si chiama a! */ [ ] Passaggio di parametri I parametri, in C, sono passati per valore. Questo vuol dire che le modifiche fatte ai parametri non hanno effetto fuori dalla funzione. Tuttavia, vedremo che con i puntatori è possibile ottenere un effetto diverso 12

13 Esempi di librerie di funzioni disponibili Alcuni esempi di librerie di funzioni già pronte a disposizione del programmatore C sono: Libreria standard per la gestione dell input/output (stdio); a questa libreria appartengono le funzioni printf, scanf; Libreria di funzioni matematiche standard (math); questa libreria contiene ad esempio funzioni per il calcolo di radici, esponenziale, logaritmi, funzioni trigonometriche, ecc. Ancora librerie Per usare le funzioni contenute in queste librerie, è necessario prima dichiarare tutte le funzioni in esse presenti; questo è possibile usando la direttiva #include: #include <stdio.h> : importa le dichiarazioni di tutte le funzioni della libreria stdio. I file.h vengono chiamati file header. 13

14 Un esempio: calcolo dei numeri primi Scrivere un programma in C che: chieda all utente di inserire un numero stampi a video tutti i numeri primi da 1 fino al numero inserito Una possibile funzione main() #include <stdio.h> int primo (int); /* Prototipo della funzione */ main () int i, n; printf ("Fino a quale numero vuoi trovare i numeri primi?"); scanf ("%i",&n); for (i=1;i<=n;i++) if (primo(i)==1) /* Chiamata della funzione */ printf ("%i\n",i); 14

15 primo(): possibile algoritmo Definizione: Un numero n èprimo se è divisibile solo per 1 e per n cioè se non è divisibile per nessun numero compreso tra 2 e n-1 Possiamo sfruttare questa definizione di numero primo e implementare una verifica per mezzo di un ciclo for primo(): il codice int primo (int n) /* Definizione della funzione */ int i; int primo=1; for (i=2; i<n; i++) if ((n%i)==0) primo=0; return (primo); 15

16 Un altro esempio: calcolo di mcd Scrivere una funzione che riceva in ingresso due numeri e restituisca il massimo comun divisore; Definizione: Il massimo comun divisore di due numeri interi a e b è il numero intero più grande che li divide entrambi. mcd: possibile algoritmo Dati due numeri a e b, il loro massimo comun divisore è <= del minore dei due Possiamo controllare tutti i numeri da 1 a min(a,b): il numero più grande che divide sia a che b è il massimo comun divisore 16

17 main() #include <stdio.h> int mcd (int, int); /* Prototipo della funzione */ main () int a, b; printf ("Inserisci 2 interi: "); scanf ("%i%i",&a, &b); printf ("%i\n",mcd(a,b)); /* Chiamata della funzione */ mcd() int mcd (int x, int y) /* Definizione della funzione */ int i; int mcd=1; int min = x; if (x==y) mcd = x; else if (x>y) min = y; for (i=1;i<=min;i++) if ((x%i)==0 && (y%i)==0) mcd=i; return (mcd); 17

18 Fattoriale Scrivere una funzione che, ricevuto in ingresso un numero n, ne restituisca il fattoriale n! Definizione: se n==0 => n! = 1, altrimenti: n! = 1*2*3* *(n-1)*n main () #include <stdio.h> int fatt (int); /* Prototipo della funzione */ main () int a; printf ("Inserisci un numero intero positivo: "); scanf ("%i",&a); printf ("Il fattoriale di %i e': %i\n",a,fatt(a)); /* Chiamata della funzione */ 18

19 fatt () int fatt(int n) int i,fatt=1; if (n==1 n==0) return (1); else for (i=1;i<=n;i++) fatt=fatt*i; return (fatt); Fattoriale Oppure possiamo calcolare il fattoriale come: n! = n*(n-1)* *1 19

20 fatt (): seconda versione int fatt(int n) int i,fatt=1; if (n==1 n==0) return (1); else for (i=n;i>=1;i--) fatt=fatt*i; return (fatt); Ricorsione Alcuni problemi possono essere formulati efficacemente in maniera ricorsiva Esempio: il fattoriale è stato sinora calcolato iterativamente come: n! = 1*2*3* *(n-1)*n oppure come: n! = n*(n-1)* *1 Il fattoriale si può calcolare ricorsivamente come: n! = n*(n-1)! 20

21 Ricorsione diretta e indiretta Tutte le funzioni C possono richiamare se stesse La ricorsione può essere: Diretta: una funzione f è espressa in termini di se stessa Indiretta: una funzione f è espressa in termini di un altra funzione a sua volta espressa direttamente o indirettamente in termini di f Fattoriale ricorsivo Proviamo a riscrivere ricorsivamente la funzione che calcola il fattoriale: int fatt(int n) if (n==1 n==0) return (1); else return (n*fatt(n-1)); 21

22 Struttura generale di una funzione ricorsiva f() se (ti trovi nel caso base) (es: n=1) ritorna (soluzione caso base) (es: 1) altrimenti ritorna la soluzione formulata in termini di una situazione più vicina al caso base; (es: n* fatt(n-1) ) Esempio: 5! 5! 5 * 4! return 5!=5*24=120 return 4!=4*6=24 4 * 3! return 3!=3*2=6 3 * 2! 2 * 1! return 2!=2*1=2 1 return 1 22

23 Un altro esempio: elevamento a potenza Si realizzi una funzione che, ricevuti in ingresso due numeri interi positivi base e exp, restituisca il numero base exp. main() #include <stdio.h> int potenza (int, int); /* Prototipo della funzione */ main () int b, e; printf ("Inserisci base ed esponente: "); scanf ("%i%i",&b, &e); printf ("La potenza e': %i\n",potenza(b,e)); 23

24 Elevamento a potenza iterativo int potenza(int base, int exp) int i,potenza=1; if (exp == 0) return(1); else for (int i=1;i<=exp;i++) potenza=potenza*base; return (potenza); Elevamento a potenza ricorsivo Essendo per definizione: base 0 =1, possiamo riscrivere ricorsivamente la formula che calcola la potenza: base exp =base*base exp-1 24

25 Elevamento a potenza ricorsivo int potenza(int base, int exp) if (exp == 0) return(1); else return (base*potenza(base,exp-1)); Esempio: return 2 4 =2*8=16 2 * 2 3 return 2 3 =2*4=8 2 * 2 2 return 2 2 =2*2=4 2 * * 2 0 return 2 1 =2*1=2 1 return 1 25

26 Un altro esempio: calcolo ricorsivo di mcd Scrivere una funzione ricorsiva che riceva in ingresso due numeri a, b e restituisca il massimo comun divisore; Definizione: Il massimo comun divisore di due numeri interi a e b è il numero intero più grande che li divide entrambi. Calcolo ricorsivo di mcd Dati due numeri a e b, il loro massimo comun divisore sarà definito in modo ricorsivo come segue: se b==0 allora mcd(a,b) = a, altrimenti mcd(a,b) = mcd(b, a%b) 26

27 Un altro esempio: calcolo ricorsivo della somma Dati 2 numeri interi a,b calcolare ricorsivamente la somma a+b: int somma_ric (int a, int b) Definizione di somma (ricorsiva): se y==0 return(x), altrimenti: somma_ric(a,b)=somma_ric(a,b-1)+1 Calcolo iterativo del prodotto scalare di 2 vettori Dati 2 vettori a e b di dimensione n: a= [a1, a2,, an] b= [b1, b2,, bn] Calcolare iterativamente la funzione prodotto scalare a x b: int prod_scalare (int a[], int b[], int n) Definizione di prodotto scalare (iterativo): a x b = a1 * b1 + a2 * b an * bn = Σ (ai * bi ) 27

28 Calcolo ricorsivo del prodotto scalare di 2 vettori Dati 2 vettori a e b di dimensione n: a= [a1, a2,, an] b= [b1, b2,, bn] Calcolare ricorsivamente la funzione prodotto scalare: int prod_scalare (int a[], int b[], int n) Definizione di prodotto scalare (ricorsivo): se n==1 return(a1*b1), altrimenti: prod_scalare(a,b,n)=prod_scalare(a,b,n-1)+an*bn 28

int main(){ int numero; /* numero di cui voglio calcolare il fattoriale */ int fatt; /* memorizzo il fattoriale di numero */ int somma=0;

int main(){ int numero; /* numero di cui voglio calcolare il fattoriale */ int fatt; /* memorizzo il fattoriale di numero */ int somma=0; Problema: CALCOLARE LA SOMMA DEI FATTORIALI DEI PRIMI 100 NUMERI NATURALI 0!+1!+2! + 99! #include int fattoriale(int); Calcolo fattoriale int main(){ int numero; /* numero di cui voglio calcolare

Dettagli

Linguaggio C. Generalità sulle Funzioni. Variabili locali e globali. Passaggio di parametri per valore.

Linguaggio C. Generalità sulle Funzioni. Variabili locali e globali. Passaggio di parametri per valore. Linguaggio C Generalità sulle Funzioni. Variabili locali e globali. Passaggio di parametri per valore. 1 Funzioni Generalizzazione del concetto di funzione algebrica: legge che associa a valori delle variabili

Dettagli

LA RICORSIONE IN C. CdL Ingegneria Informatica n.o. Anno Accademico 2006/07 Fondamenti di Informatica I corso A Giacomo Piscitelli pag.

LA RICORSIONE IN C. CdL Ingegneria Informatica n.o. Anno Accademico 2006/07 Fondamenti di Informatica I corso A Giacomo Piscitelli pag. I lucidi sono una rielaborazione e integrazione di quelli messi a disposizione dei docenti nel sito relativo al testo: Informatica: arte e mestiere 2/ed Stefano Ceri, Dino Mandrioli, Licia Sbattella Copyright

Dettagli

RICORSIONE. Informatica B - A.A. 2013/2014

RICORSIONE. Informatica B - A.A. 2013/2014 RICORSIONE Informatica B - A.A. 2013/2014 RICORSIONE Che cos è la ricorsione? Un sottoprogramma P richiama se stesso (ricorsione diretta) Un sottoprogramma P richiama un altro sottoprogramma Q che comporta

Dettagli

Università degli Studi di Ferrara

Università degli Studi di Ferrara Università degli Studi di Ferrara Corso di Laurea in Matematica - A.A. 2018-2019 Programmazione Lezione 11 Funzioni Docente: Michele Ferrari - michele.ferrari@unife.it Nelle lezioni precedenti Operatore

Dettagli

FUNZIONI. attribuire un nome ad un insieme di istruzioni parametrizzare l esecuzione del codice

FUNZIONI. attribuire un nome ad un insieme di istruzioni parametrizzare l esecuzione del codice Funzioni FUNZIONI Spesso può essere utile avere la possibilità di costruire nuove istruzioni che risolvono parti specifiche di un problema Una funzione permette di attribuire un nome ad un insieme di istruzioni

Dettagli

Funzioni in C. Informatica Generale - Funzioni in C Versione 1.0, aa p.1/25

Funzioni in C. Informatica Generale - Funzioni in C Versione 1.0, aa p.1/25 Funzioni in C Informatica Generale - Funzioni in C Versione 1.0, aa 2005-2006 p.1/25 Definizione di funzione () è

Dettagli

Funzioni, Stack e Visibilità delle Variabili in C

Funzioni, Stack e Visibilità delle Variabili in C Funzioni, Stack e Visibilità delle Variabili in C Programmazione I e Laboratorio Corso di Laurea in Informatica A.A. 2016/2017 Calendario delle lezioni Lez. 1 Lez. 2 Lez. 3 Lez. 4 Lez. 5 Lez. 6 Lez. 7

Dettagli

Corso di Fondamenti di Programmazione canale E-O. Un esempio. Funzioni ricorsive. La ricorsione

Corso di Fondamenti di Programmazione canale E-O. Un esempio. Funzioni ricorsive. La ricorsione Corso di Fondamenti di Programmazione canale E-O Tiziana Calamoneri Ricorsione DD Cap. 5, pp. 160-184 KP Cap. 5, pp. 199-208 Un esempio Problema: prendere in input un intero e calcolarne il fattoriale

Dettagli

Le Funzioni in C. Fondamenti di Informatica Anno Accademico 2010/2011. Corso di Laurea in Ingegneria Civile Politecnico di Bari Sede di Foggia

Le Funzioni in C. Fondamenti di Informatica Anno Accademico 2010/2011. Corso di Laurea in Ingegneria Civile Politecnico di Bari Sede di Foggia Le Funzioni in C Corso di Laurea in Ingegneria Civile Politecnico di Bari Sede di Foggia Fondamenti di Informatica Anno Accademico 2010/2011 docente: prof. Michele Salvemini 1/24 Sommario Le funzioni Il

Dettagli

Fondamenti di Informatica

Fondamenti di Informatica Vettori e matrici #1 Le variabili definite come coppie sono dette variabili scalari Fondamenti di Informatica 5. Algoritmi e pseudocodifica Una coppia è una variabile

Dettagli

Ricorsione. DD cap. 5 pp KP cap. 5 pp

Ricorsione. DD cap. 5 pp KP cap. 5 pp Ricorsione DD cap. 5 pp.160-184 KP cap. 5 pp.199-208 Un esempio Problema: prendere in input un intero e calcolarne il fattoriale se n>1 n!=n(n-1)(n-2)(n-3) 1; se n=0 o 1 n!=1. ma (n-1)! la definizione

Dettagli

Funzioni in C. Funzioni. Strategie di programmazione. Funzioni in C. Come riusare il codice? (2/3) Come riusare il codice? (1/3)

Funzioni in C. Funzioni. Strategie di programmazione. Funzioni in C. Come riusare il codice? (2/3) Come riusare il codice? (1/3) Funzioni Il concetto di funzione Parametri formali e attuali Il valore di ritorno Definizione e chiamata di funzioni Passaggio dei parametri Corpo della funzione 2 Strategie di programmazione Riuso di

Dettagli

Ambienti di Programmazione per il Software di Base

Ambienti di Programmazione per il Software di Base Ambienti di Programmazione per il Software di Base Le Funzioni in C Esercizi sulle Funzioni svolti Esercizi sulle Funzioni da svolgere A.A. 2011/2012 Ambienti di Programmazione per il Software di Base

Dettagli

Strategie di programmazione

Strategie di programmazione Funzioni Funzioni in C Il concetto di funzione Parametri formali e attuali Il valore di ritorno Definizione e chiamata di funzioni Passaggio dei parametri Corpo della funzione 2 Funzioni in C Strategie

Dettagli

C funzioni à scope di variabili

C funzioni à scope di variabili C funzioni à scope di variabili Per questo motivo il parametro di una function può avere lo stesso nome del parametro effettivo del processo chiamante. Possiamo definire anche delle variabili globali e

Dettagli

Funzioni, Stack e Visibilità delle Variabili in C

Funzioni, Stack e Visibilità delle Variabili in C Funzioni, Stack e Visibilità delle Variabili in C Laboratorio di Programmazione I Corso di Laurea in Informatica A.A. 2018/2019 Argomenti del Corso Ogni lezione consta di una spiegazione assistita da slide,

Dettagli

A. Ferrari Informatica

A. Ferrari Informatica Informatica ricorsione definizioni o un oggetto si dice ricorsivo se è definito totalmente o parzialmente in termini di se stesso o la ricorsione è un mezzo molto potente per le definizioni e le dimostrazioni

Dettagli

Informatica (A-K) 5. Algoritmi e pseudocodifica

Informatica (A-K) 5. Algoritmi e pseudocodifica Vettori e matrici #1 Informatica (A-K) 5. Algoritmi e pseudocodifica Corso di Laurea in Ingegneria Civile & Ambientale A.A. 2011-2012 2 Semestre Prof. Giovanni Pascoschi Le variabili definite come coppie

Dettagli

Fondamenti di Informatica 6. Algoritmi e pseudocodifica

Fondamenti di Informatica 6. Algoritmi e pseudocodifica Vettori e matrici #1 Fondamenti di Informatica 6. Algoritmi e pseudocodifica Corso di Laurea in Ingegneria Civile A.A. 2010-2011 1 Semestre Prof. Giovanni Pascoschi Le variabili definite come coppie

Dettagli

Introduzione al linguaggio C Funzioni

Introduzione al linguaggio C Funzioni Introduzione al linguaggio C Funzioni Violetta Lonati Università degli studi di Milano Dipartimento di Informatica Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Violetta Lonati

Dettagli

Esercizi. FUNZIONI Passaggio di parametri per valore, variabili e tipi locali e globali, prototipo. Funzioni

Esercizi. FUNZIONI Passaggio di parametri per valore, variabili e tipi locali e globali, prototipo. Funzioni Politecnico di Milano Esercizi FUNZIONI Passaggio di parametri per valore, variabili e tipi locali e globali, prototipo Definizione: Funzioni tipo_ritornato nome (lista di parametri) istruzioni; Segnatura

Dettagli

C: primi elementi. Lezione 4

C: primi elementi. Lezione 4 C: primi elementi Lezione 4 Evoluzione del BCPL (1967) e B (1970), entrambi typeless Sviluppato da Dennis Ritchie nel 1972 ed implementato per il PDP-11 Usato per lo sviluppo del sistema operativo UNIX

Dettagli

Informatica (A-K) 12. Linguaggio C -3

Informatica (A-K) 12. Linguaggio C -3 Introduzione alle funzioni in C Informatica (A-K) 12. Linguaggio C -3 int main() int i,n, fattoriale=1; printf( Inserire Numero: ); scanf( %d, &n); for (i =2; i

Dettagli

Introduzione alla programmazione in C

Introduzione alla programmazione in C Introduzione alla programmazione in C Testi Consigliati: A. Kelley & I. Pohl C didattica e programmazione B.W. Kernighan & D. M. Ritchie Linguaggio C Materiale disponibile sul sito http://www.fisica.unile.it/~martello/corsi/dottorato/tecnooo/tecnooo_03-04/index.html

Dettagli

Programmazione ricorsiva.

Programmazione ricorsiva. In quasi tutti i linguaggi di programmazione evoluti è ammessa la possibilità di definire funzioni/procedure ricorsive: durante l esecuzione di una funzione F è possibile chiamare la funzione F stessa.

Dettagli

Programmazione ricorsiva: cenni

Programmazione ricorsiva: cenni In quasi tutti i linguaggi di programmazione evoluti è ammessa la possibilità di definire funzioni/procedure ricorsive: durante l esecuzione di una funzione F è possibile chiamare la funzione F stessa.

Dettagli

Unità Didattica 3 Linguaggio C. Generalità sulle Funzioni. Variabili locali e globali. Passaggio di parametri per valore.

Unità Didattica 3 Linguaggio C. Generalità sulle Funzioni. Variabili locali e globali. Passaggio di parametri per valore. Unità Didattica 3 Linguaggio C Generalità sulle Funzioni. Variabili locali e globali. Passaggio di parametri per valore. Funzioni Generalizzazione del concetto di funzione algebrica: legge che associa

Dettagli

RICORSIONE, PUNTATORI E ARRAY. Quarto Laboratorio

RICORSIONE, PUNTATORI E ARRAY. Quarto Laboratorio RICORSIONE, PUNTATORI E ARRAY Quarto Laboratorio 16 DICEMBRE 2011 SCADENZA TERZA ESERCITAZIONE FUNZIONI RICORSIVE ESERCIZIO Scrivere una funzione ricorsiva che, assegnati due interi N1 ed N2, restituisca

Dettagli

FUNZIONI E PROCEDURE IN C. Docente: Giorgio Giacinto AA 2009/2010. dall utente, sia predefiniti, il C consente di creare funzioni e procedure

FUNZIONI E PROCEDURE IN C. Docente: Giorgio Giacinto AA 2009/2010. dall utente, sia predefiniti, il C consente di creare funzioni e procedure Università degli Studi di Cagliari Corso di Laurea Specialistica in Ingegneria per l Ambiente ed il Territorio Corso di Laurea Specialistica in Ingegneria Civile - Strutture FONDAMENTI DI INFORMATICA 2

Dettagli

Introduzione alla Ricorsione

Introduzione alla Ricorsione Introduzione alla Corso di Informatica A Vito Perrone Indice La formulazione in termini ricorsivi di problemi e algoritmi La ricorsione come strumento di programmazione L esecuzione dei sottoprogrammi

Dettagli

Elementi DI INFORMATICA. Linguaggio C

Elementi DI INFORMATICA. Linguaggio C Università degli Studi di Cagliari Corso di Laurea in Ingegneria Elettronica Elementi DI INFORMATICA http://agile.diee.unica.it A.A. 2015/2016 Ing. Marco Ortu Diee, secondo piano Tel. 070-6755774 mail:

Dettagli

Laboratorio di Informatica I

Laboratorio di Informatica I Struttura della lezione Lezione 4 Operatori e introduzione a funzioni Vittorio Scarano Corso di Laurea in Informatica Università degli Studi di Salerno Soluzioni ad alcuni esercizi Alcuni commenti sugli

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Sottoprogrammi Parte 8 Dettagli e Approfondimenti versione 2.3 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima

Dettagli

ERRATA CORRIGE. void SvuotaBuffer(void); void SvuotaBuffer(void) { if(getchar()!=10) {svuotabuffer();} }

ERRATA CORRIGE. void SvuotaBuffer(void); void SvuotaBuffer(void) { if(getchar()!=10) {svuotabuffer();} } ERRATA CORRIGE Pulizia del buffer di input: come fare? (1) Dopo aver richiamato getchar() per prelevare un carattere dal buffer di input, inseriamo una seconda chiamata a getchar(), senza assegnare il

Dettagli

Laboratorio. Due. 1) Switch 2) Costrutti Iterazione (For, While, do while)

Laboratorio. Due. 1) Switch 2) Costrutti Iterazione (For, While, do while) Laboratorio Due 1) Switch 2) Costrutti Iterazione (For, While, do while) GLI ARGOMENTI DI OGGI Istruzione switch I costrutti di iterazione (For, while, do while) Le funzioni (e ricorsione) Terza Esercitazione

Dettagli

Esercitazione 5. Procedure e Funzioni Il comando condizionale: switch

Esercitazione 5. Procedure e Funzioni Il comando condizionale: switch Esercitazione 5 Procedure e Funzioni Il comando condizionale: switch Comando: switch-case switch (espressione) { /* espressione deve essere case costante1: istruzione1 di tipo int o char */ [break]; case

Dettagli

Linguaggio C: le funzioni

Linguaggio C: le funzioni Linguaggio C: le funzioni prof. Lorenzo Porcelli e mail: genna18@iol.it sito: http://users.iol.it/genna18 Introduzione attraverso un esempio Problema: Conoscendo le misure di n rettangoli, determinare

Dettagli

Esercitazione 6. Array

Esercitazione 6. Array Esercitazione 6 Array Arrays Array (o tabella o vettore): è una variabile strutturata in cui è possibile memorizzare un numero fissato di valori tutti dello stesso tipo. Esempio int a[6]; /* dichiarazione

Dettagli

PROGRAMMAZIONE: I sottoprogrammi

PROGRAMMAZIONE: I sottoprogrammi PROGRAMMAZIONE: I sottoprogrammi Prof. Enrico Terrone A. S: 2008/09 Definizione Un sottoprogramma è un blocco di istruzioni a sé stante con un proprio nome. Il main (= sottoprogramma principale) è un caso

Dettagli

FILE DI TESTO e SOTTOPROGRAMMI

FILE DI TESTO e SOTTOPROGRAMMI FILE DI TESTO e SOTTOPROGRAMMI Prof. Enrico Terrone A. S: 2008/09 I file di testo in C++ I file di testo sono una forma di input/output alternativa alla tastiera e al monitor (con il vantaggio della persistenza).

Dettagli

INFORMATICA DI BASE Linguaggio C Prof. Andrea Borghesan

INFORMATICA DI BASE Linguaggio C Prof. Andrea Borghesan INFORMATICA DI BASE Linguaggio C Prof. Andrea Borghesan venus.unive.it/borg borg@unive.it Ricevimento lunedì, prima o dopo lezione 1 Le funzioni in C Le funzioni vengono utilizzate per 3 motivi: Riusabilità

Dettagli

Introduzione ai puntatori in C Definizione

Introduzione ai puntatori in C Definizione Introduzione ai puntatori in C Definizione Un puntatore è una variabile che contiene l indirizzo di un altra variabile Tramite i puntatori si può quindi accedere a un oggetto indirettamente (si usa il

Dettagli

Strutturare il codice: sottoprogrammi

Strutturare il codice: sottoprogrammi Andrea Marin Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time a.a. 2011/2012 Motivazioni Alcuni problemi si presentano frequentemente durante lo sviluppo di un programma

Dettagli

Cominciamo con un esempio... Utilizzando un sottoprogramma 16/12/2017

Cominciamo con un esempio... Utilizzando un sottoprogramma 16/12/2017 Cominciamo con un esempio... Franco FRATTOLILLO Dipartimento di Ingegneria Università degli Studi del Sannio Corso di "Programmazione I" Corso di Laurea in Ingegneria Informatica / ExAT 1 Franco FRATTOLILLO

Dettagli

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa 19 Ricorsione A. Miola Marzo 2010 http://www.dia.uniroma3.it/~java/fondinf/ Ricorsione 1 Contenuti Funzioni e domini definiti induttivamente

Dettagli

Esempi di programmazione in C

Esempi di programmazione in C Esempi di programmazione in C Problemi elementari..................................... 363 Somma tra due numeri positivi......................... 363 Moltiplicazione di due numeri positivi attraverso la

Dettagli

Un programma deve essere scritto come collezione di tante piccole funzioni perché:

Un programma deve essere scritto come collezione di tante piccole funzioni perché: Un programma deve essere scritto come collezione di tante piccole funzioni perché: ƒè più facile scrivere correttamente una funzione breve che abbia un unico compito: in questo modo sia la scrittura che

Dettagli

Ricorsione. Prof. Orazio Mirabella. La ricorsione. La ricorsione consiste nella possibilità di definire una funzione mediante se stessa.

Ricorsione. Prof. Orazio Mirabella. La ricorsione. La ricorsione consiste nella possibilità di definire una funzione mediante se stessa. Ricorsione Prof. Orazio Mirabella La ricorsione La ricorsione consiste nella possibilità di definire una funzione mediante se stessa. È basata sul principio di induzione matematica: se una proprietà P

Dettagli

Capitolo 5 - Funzioni

Capitolo 5 - Funzioni Capitolo 5 - Funzioni Divide and conquer Introduzione Costruire un programma da pezzi più piccoli o da singole componenti Questi pezzi più piccoli sono chiamati moduli Ogni singolo pezzo è più facilmente

Dettagli

Linguaggi di Programmazione

Linguaggi di Programmazione Linguaggi di Programmazione 1 C-Introduzione.tex: Versione 1.0, aa 2005-2006 Linguaggi di programmazione (1) Sono linguaggi che permettono la codifica di algoritmi in modo da renderli eseguibili, direttamente

Dettagli

IL PRIMO PROGRAMMA IN C

IL PRIMO PROGRAMMA IN C IL PRIMO PROGRAMMA IN C LO SCOPO Si vuole scrivere un programma in linguaggio C che chieda all utente di introdurre da tastiera due numeri interi e visualizzi il valore della loro somma sul video SOLUZIONE

Dettagli

Lezione 8. Sottoprogrammi

Lezione 8. Sottoprogrammi Lezione 8 Il linguaggio C: Sottoprogrammi e Funzioni I puntatori Input/Output su file Sottoprogrammi Per risolvere un problema si può scomporlo in problemi più semplici e comporre le loro soluzioni in

Dettagli

Ricorsione: C era una volta un Re

Ricorsione: C era una volta un Re Ricorsione: C era una volta un Re I C era una volta un Re seduto sul sofà che disse alla sua serva raccontami una storia e la serva incominciò: I C era una volta un Re seduto sul sofà che disse alla sua

Dettagli

Laboratorio di Calcolatori 1 Corso di Laurea in Fisica A.A. 2006/2007

Laboratorio di Calcolatori 1 Corso di Laurea in Fisica A.A. 2006/2007 Laboratorio di Calcolatori 1 Corso di Laurea in Fisica A.A. 2006/2007 Dott.Davide Di Ruscio Dipartimento di Informatica Università degli Studi di L Aquila Lezione del 08/05/08 Nota Questi lucidi sono tratti

Dettagli

LABORATORIO DI PROGRAMMAZIONE 2 Corso di laurea in matematica. Algoritmi ricorsivi

LABORATORIO DI PROGRAMMAZIONE 2 Corso di laurea in matematica. Algoritmi ricorsivi LABORATORIO DI PROGRAMMAZIONE 2 Corso di laurea in matematica Marco Lapegna Dipartimento di Matematica e Applicazioni Universita degli Studi di Napoli Federico II wpage.unina.it/lapegna Partiamo da un

Dettagli

Esercizi. La funzione swapint() primo tentativo

Esercizi. La funzione swapint() primo tentativo Politecnico di Milano Esercizi Puntatori, struct con campi puntatore, puntatori a struct, rapporto tra array e puntatori. FUNZIONI Passaggio di parametri per indirizzo, passaggio di array. #include

Dettagli

Lo scopo. Il primo esperimento. Soluzione informale. Le variabili

Lo scopo. Il primo esperimento. Soluzione informale. Le variabili Lo scopo 2 Il primo esperimento Si vuole scrivere un programma in linguaggio C che chieda all utente di introdurre da tastiera due numeri interi e visualizzi il valore della loro somma sul video Ver. 2.4

Dettagli

#include <stdio.h> main() { - 1 -

#include <stdio.h> main() { - 1 - Un primo esempio di programma Ogni programma C deve contenere una funzione speciale chiamata main che indica il punto in cui inizia l esecuzione del programma. La funzione main è unica all interno di ogni

Dettagli

LABORATORIO di INFORMATICA

LABORATORIO di INFORMATICA Università degli Studi di Cagliari Corso di Laurea Magistrale in Ingegneria per l Ambiente ed il Territorio LABORATORIO di INFORMATICA A.A. 2010/2011 Prof. Giorgio Giacinto FUNZIONI E PROCEDURE http://www.diee.unica.it/giacinto/lab

Dettagli

L organizzazione dei programmi

L organizzazione dei programmi L organizzazione dei programmi Lo sviluppo top-down L.S. Touschek - A.S. 2015/2016 - I fondamenti del Linguaggio C F. Cardarelli Lo sviluppo top-down I problemi complessi Blocco 1 Istruzione 1 Istruzione

Dettagli

Fondamenti di Programmazione

Fondamenti di Programmazione A.A. 08/09 Fondamenti di Programmazione (canale E-O) Docente: Prof.ssa Tiziana Calamoneri calamo@di.uniroma1.it Esercitatore: Dott. Roberto Petroccia petroccia@di.uniroma1.it Pagina del corso: http://twiki.di.uniroma1.it/twiki/view/programmazione1/eo/webhome

Dettagli

Sotto programmi - Funzioni in C

Sotto programmi - Funzioni in C Sotto programmi - Funzioni in C R. Gallo Settembre 2009 Sommario Le funzioni C/C++ sono l'implementazione in codice C/C++ di uno strumento presente in tutti i linguaggi di programmazione: i sottoprogrammi

Dettagli

Laboratorio di Algoritmi e Strutture Dati

Laboratorio di Algoritmi e Strutture Dati Laboratorio di Algoritmi e Strutture Dati 1 Note di carratere generale Docente: Camillo Fiorentini 9 ottobre 2007 L obiettivo è quello di scrivere delle semplici funzioni per risolvere problemi di tipo

Dettagli

STRUTTURA DI UN PROGRAMMA!

STRUTTURA DI UN PROGRAMMA! STRUTTURA DI UN PROGRAMMA! File prova1.c Area globale #include ... int m; int f(int); int g(int x){.../*ambiente locale a g*/} int main(){...} int f(int x){.../*ambiente locale a f*/} Direttive

Dettagli

Programmazione C: Esercizi su vettori e funzioni. Titolo presentazione. sottotitolo. Milano, XX mese 20XX

Programmazione C: Esercizi su vettori e funzioni. Titolo presentazione. sottotitolo. Milano, XX mese 20XX Titolo presentazione Programmazione C: sottotitolo Esercizi su vettori e funzioni Milano, XX mese 20XX Informatica ed Elementi di Informatica Medica Agenda Richiami su vettori e funzioni Esercizi su vettori

Dettagli

Definizione di funzione. <tipo> <nome_funzione> (<lista_parametri>) { <definizioni di variabili> <istruzioni> }

Definizione di funzione. <tipo> <nome_funzione> (<lista_parametri>) { <definizioni di variabili> <istruzioni> } Avvertenza Quanto segue NON è un libro, ma è una copia dei lucidi usati a lezione che NON sostituisce i libri di testo adottati e consigliati per l insegnamento di Informatica Generale. Questa copia è

Dettagli

liceo B. Russell PROGRAMMAZIONE INDIRIZZO: SCIENTIFICO SCIENZE APPLICATE BIENNIO: SECONDA DISCIPLINA: INFORMATICA

liceo B. Russell PROGRAMMAZIONE INDIRIZZO: SCIENTIFICO SCIENZE APPLICATE BIENNIO: SECONDA DISCIPLINA: INFORMATICA INDIRIZZO: SCIENTIFICO SCIENZE APPLICATE PROGRAMMAZIONE BIENNIO: SECONDA DISCIPLINA: INFORMATICA PIANO DI LAVORO DEL DOCENTE / RELAZIONE FINALE Anno scolastico 2014/2015 DOCENTE Prof. PAOLO ARMANI CLASSE:

Dettagli

Manualistica 3 Le strutture di controllo

Manualistica 3 Le strutture di controllo Programmazione e Laboratorio di Programmazione Manualistica 3 Le strutture di controllo Programmazione e Laboratorio di Programmazione: Le strutture di controllo 1 Le strutture di controllo Strutture di

Dettagli

Esercitazione 7. Soluzione:

Esercitazione 7. Soluzione: Esercitazione 7 Esercizio 1: Scrivere una funzione ricorsiva che calcoli il MCD di due numeri interi positivi. Ricordare che la funzione MCD(N,M) termina quando N == M e si ritorna N. int MCD(int N, int

Dettagli

Pag. 1. La formalizzazione dell informazione: Dati e Diagrammi di Flusso. Codifica degli algoritmi

Pag. 1. La formalizzazione dell informazione: Dati e Diagrammi di Flusso. Codifica degli algoritmi 1 Università degli studi di Parma Dipartimento di Ingegneria dell Informazione Informatica a.a. 2012/13 Informatica Facoltà di Medicina Veterinaria a.a. 2012/13 prof. Stefano Cagnoni La formalizzazione

Dettagli

Progettazione Top Down e funzioni in C. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

Progettazione Top Down e funzioni in C. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni Progettazione Top Down e funzioni in C Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni Progettazione top-down Quando si ricerca la soluzione di un problema complesso può essere complicato

Dettagli

C: panoramica. Violetta Lonati

C: panoramica. Violetta Lonati C: panoramica Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica AA 2009/2010 Violetta Lonati

Dettagli

Esercitazione 2. Espressioni booleane Il comando if-else

Esercitazione 2. Espressioni booleane Il comando if-else Esercitazione 2 Espressioni booleane Il comando if- Espressioni booleane L espressione (i==100) è un espressione booleana. La sua valutazione può restituire solo uno dei due valori booleani true = 1 (in

Dettagli

Esercitazione 5. Procedure e Funzioni Il comando condizionale: switch

Esercitazione 5. Procedure e Funzioni Il comando condizionale: switch Esercitazione 5 Procedure e Funzioni Il comando condizionale: switch Comando: switch-case switch (espressione) { /* espressione deve essere case costante1: istruzione1 di tipo int o char */ [break]; case

Dettagli

Astrazione Funzionale

Astrazione Funzionale FIL: Astrazione Funzionale Michele Nappi, Ph.D Dipartimento di Matematica e Informatica Università degli Studi di Salerno mnappi@unisa.it biplab.unisa.it it 089-963334 Divide et impera Costruire un programma

Dettagli

#include <stdio.h> /* l esecuzione comincia dalla funzione main */ int main()

#include <stdio.h> /* l esecuzione comincia dalla funzione main */ int main() Primi passi Il mio primo programma #include /* l esecuzione comincia dalla funzione main */ int main() { printf( Hello World!\n" ); return 0; /* il programma termina con successo */ } /* fine

Dettagli

Laboratorio di Informatica Lezione 3

Laboratorio di Informatica Lezione 3 Laboratorio di Informatica Lezione 3 Cristian Consonni 14 ottobre 2015 Cristian Consonni Laboratorio di Informatica, Lezione 3 1 / 76 Outline 1 Procedure e funzioni 2 Iterazione e ricorsione 3 Variabili

Dettagli

Fondamenti di Informatica L-A

Fondamenti di Informatica L-A Fondamenti di Informatica L-A Esercitazione del 23/11/07 Ing. Giorgio Villani Ripasso Teoria Funzioni ricorsive 2 fatt(2) 1 2*fatt(1) fatt(1) 1 2*1 1*fatt(0) fatt(0) 1*1 caso base fatt(0)=1 Esercizio 1

Dettagli

Introduzione. Le funzioni in C. Funzioni. Cosa succede

Introduzione. Le funzioni in C. Funzioni. Cosa succede Introduzione Le funzioni in C DD Cap.5 pp.131-160 KP Cap.5 pp. 175-199 La maggior parte dei programmi scritti per risolvere problemi sono (molto!) più lunghi di quelli visti fin ora. Il modo migliore per

Dettagli

Unità Didattica 4 Linguaggio C. Vettori. Puntatori. Funzioni: passaggio di parametri per indirizzo.

Unità Didattica 4 Linguaggio C. Vettori. Puntatori. Funzioni: passaggio di parametri per indirizzo. Unità Didattica 4 Linguaggio C Vettori. Puntatori. Funzioni: passaggio di parametri per indirizzo. 1 Vettori Struttura astratta: Insieme di elementi dello stesso tipo, ciascuno individuato da un indice;

Dettagli

Laboratorio di Informatica I

Laboratorio di Informatica I Struttura della lezione Lezione 5: Funzioni e programmazione modulare Vittorio Scarano Corso di Laurea in Informatica Università degli Studi di Salerno Esercizi (Fibonacci e numeri primi) Funzioni Regole

Dettagli

Fondamenti di Programmazione

Fondamenti di Programmazione A.A. 08/09 Fondamenti di Programmazione (canale E-O) Docente: Prof.ssa Tiziana Calamoneri calamo@di.uniroma1.it Esercitatore: Dott. Roberto Petroccia petroccia@di.uniroma1.it Pagina del corso: http://twiki.di.uniroma1.it/twiki/view/programmazione1/eo/webhome

Dettagli

Esercizio 1: funzione con valore di ritorno di tipo puntatore

Esercizio 1: funzione con valore di ritorno di tipo puntatore Esercitazione Fondamenti di Informatica B Corso di Laurea in Ingegneria Meccanica 7 Esercitazione: 14 dicembre 2005 Esercizi su ricorsione, manipolazione stringhe, strutture dinamiche Problema: Esercizio

Dettagli

Funzioni e. Alessandra Giordani Mercoledì 16 maggio 2012

Funzioni e. Alessandra Giordani Mercoledì 16 maggio 2012 Funzioni e passaggio parametri Alessandra Giordani agiordani@disi.unitn.it Mercoledì 16 maggio 2012 http://disi.unitn.it/~agiordani/ Cosa vedremo oggi Le funzioni Il passaggio dei parametri Le dichiarazioni

Dettagli

Variabili e Funzioni. Informatica 1 / 19

Variabili e Funzioni. Informatica 1 / 19 Variabili e Funzioni Informatica 1 / 19 Programmi C e Un programma C e composto da funzioni e variabili Variabile: memorizza valori appartenenti ad un insieme di definizione (dipendente dal tipo) Funzione:

Dettagli

Laboratorio di linguaggi

Laboratorio di linguaggi lezioni: lunedi 9-11, aula A al corso Laboratorio di linguaggi laboratorio in tre turni: martedi 11-13 () giovedi 9-11 () venerdi 11-13 (Andrea Grosso) laboratorio: iscriversi all esame Corso A LABORATORIO

Dettagli

7 - Programmazione procedurale: Dichiarazione e chiamata di metodi ausiliari

7 - Programmazione procedurale: Dichiarazione e chiamata di metodi ausiliari 7 - Programmazione procedurale: Dichiarazione e chiamata di metodi ausiliari Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa

Dettagli

Dati due punti sul piano calcolare la loro distanza

Dati due punti sul piano calcolare la loro distanza Introduzione al C Primo esempio in C Dati due punti sul piano calcolare la loro distanza Soluzione: la distanza fra due punti si calcola secondo il teorema di Pitagora, con la formula: y Distanza = (lato12

Dettagli

Il corpo di tutte le funzioni deve essere contenuto tra parentesi graffe

Il corpo di tutte le funzioni deve essere contenuto tra parentesi graffe Primi passi Il mio primo programma #include /* l esecuzione comincia dalla funzione main */ int main() { printf( Hello World!\n" ); return 0; /* il programma termina con successo */ } /* fine

Dettagli

La Programmazione. Cos è la programmazione? Concetti preliminari

La Programmazione. Cos è la programmazione? Concetti preliminari La Programmazione Cos è la programmazione? Concetti preliminari 1 Sommario La programmazione, questa sconosciuta Programmiamo Macchine Astratte Linguaggi di basso e alto livello e loro implementazione

Dettagli

Informatica A (per gestionali) A.A. 2004/2005. Esercizi C. Funzioni: variabili e tipi locali e globali, passaggio parametri per valore, prototipo

Informatica A (per gestionali) A.A. 2004/2005. Esercizi C. Funzioni: variabili e tipi locali e globali, passaggio parametri per valore, prototipo Informatica A (per gestionali) A.A. 2004/2005 Esercizi C Funzioni: variabili e tipi locali e globali, passaggio parametri per valore, prototipo Indice 1 Funzioni: passaggio di parametri per valore, variabili

Dettagli

Esercizi Programmazione I

Esercizi Programmazione I Esercizi Programmazione I 9 Novembre 201 Esercizio 1 Valutare e dare il tipo delle seguenti espressioni condizionali. 1 char a= a, b= b ; // a ha v a l o r e decimale 97 2 i n t i= 1, j= 2 ; 3 double x=

Dettagli

Laboratorio Progettazione Web Le funzioni in PHP. Angelica Lo Duca IIT-CNR 2012/2013

Laboratorio Progettazione Web Le funzioni in PHP. Angelica Lo Duca IIT-CNR 2012/2013 Laboratorio Progettazione Web Le funzioni in PHP Angelica Lo Duca IIT-CNR angelica.loduca@iit.cnr.it 2012/2013 Funzioni Una funzione è una sequenza di istruzioni che implementano una specifica funzionalità

Dettagli