Osservazioni. Osservazioni Casting. Conversioni di Tipo. Regole di Promozione. Tipi primitivi numerici

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Osservazioni. Osservazioni Casting. Conversioni di Tipo. Regole di Promozione. Tipi primitivi numerici"

Transcript

1 Osservazioni Osservazioni Casting La divisione tra int restituisce un int: 23/5 = 4 23/5.0 = 4. Il resto della divisione 15%4 = %4 = 3,5 La Precedenza degli operatori (si può modificare con le parentesi tonde) La valutazione di un espressione procede da sinistra a destra, se la valutazione della parte sinistra è sufficiente a valutare l intera espressione la parte destra non è valutata Conversioni di Tipo Regole di Promozione Quando in un espressione vi sono variabili di uno stesso tipo anche il risultato dell espressione sarà dello stesso tipo Se i tipi sono diversi allora viene effettuata una conversione del tipo (Type Casting) Sono possibili 2 tipi di conversioni: Implicite (promozione numeriche) Esplicite (casting) Se uno dei 2 operandi è double lo diventa anche l altro Se uno dei 2 operandi è float lo diventa anche l altro Se uno dei 2 operandi è long lo diventa anche l altro Altrimenti sono convertiti a int (se l operando è byte o short è convertito int) Tipi primitivi numerici tipo double 4 float 32 long 4 int 32 short 1 byte 8 Dimensione (Bit) Promozione implicita class Casting1{ byte a=5; short b=5; int c=5,c1; long d= 5,d1; float x=5.2f,x1; double y=5.3,y1; System.out.println("variabili intere: a="+a+" b="+b+" c="+c+" d="+d); System.out.println("variabili con la virgola: x="+x+" y="+y); c1=a+b+c; System.out.println("c1=a+b+c="+c1); d1=a+b+c+d; System.out.println("d1=a+b+c+d="+d1); x1=a+b+c+d+x; System.out.println("x1=a+b+c+d+x1="+x1); y1=a+b+c+d+x+y; System.out.println("y1=a+b+c+d+x+y="+y1); x1=x+x; System.out.println("x1=x+x="+x1); y1=y+y; System.out.println("y1=y+y="+y1); y1=x+y; System.out.println("y1=x+y="+y1); y1=5.2; y1=y+y1;system.out.println("y1=y+y1="+y1); 1

2 C:\esercizi>javac Casting1.java C:\esercizi>java Casting1 variabili intere: a=5 b=5 c=5 d=5 variabili con la virgola: x=5.2 y=5.3 c1=a+b+c=15 d1=a+b+c+d=20 x1=a+b+c+d+x1=25.2 y1=a+b+c+d+x+y= x1=x+x=10.4 y1=y+y=10. y1=x+y= y1=y+y1=10.5 Promozione automatica byte a=40; byte b=50; byte c=100; int d= a *b /c; Le operazioni tra byte vengono promosse a int per avere byte occorre trasformare il risultato in byte con un Cast esplicito: byte b = 50; b = (byte) (b * 2); class Casting{ byte a=40, b=50, c=100; int d= a *b /c; System.out.println("il valore delle variabili e' a="+a+" b="+b+" c="+c+" d="+d); b = 50; System.out.println("il valore di b="+b); b = b * 2; System.out.println("il valore di b = b * 2="+b); /*viene segnalato un errore poiché 2 è int, b è promosso a int il risultato è int e non si può assegnare ad un byte */ C:\esercizi>javac Casting.java Casting.java:11: possible loss of precision found : int required: byte b = b * 2; ^ 1 error class Casting{ byte a=40, b=50, c=100; int d= a *b /c; System.out.println("il valore delle variabili e' a="+a+" b="+b+" c="+c+" d="+d); b = 50; System.out.println("il valore di b="+b); b = (byte) (b * 2); System.out.println("il valore di b = (byte) (b * 2)="+b); C:\esercizi>java Casting il valore delle variabili e' a=40 b=50 c=100 d=20 il valore di b=50 il valore di b = (byte) (b * 2)=100 Casting Per dichiarare un cast: (<tipo >) <espressione> Es: per evitare il troncamento int x; float c; c= (float) x/3; class Casting2{ int x=19; float c; c= x/3; System.out.println("il valore di int x float c=x/3="+c); c= (float) x/3; System.out.println("il valore di c=(float) x/3="+c); C:\esercizi>javac Casting2.java C:\esercizi>java Casting2 il valore di int x float c=x/3=.0 il valore di c=(float) x/3=

3 double t,y,s; int j; y= 1.7%5; j= 23/5; t= 23/5; s= 23/5.0; double t,y,s; double x=1.7; double a=5.0 int c=5, d=23,j; y= x%c; j= d/c; t= d/c; s= d/a; La promozione implicita Domanda: y=? j=? t=? s=? Nota: y=?)nell espressione c è un double quindi il risultato è double inoltre y è double j =?) l espressione è una divisione tra int quindi il risultato è int inoltre j è int t=?) l espressione è una divisione tra int quindi il risultato è int t però è un double e quindi l int è promosso a double s=?) nell espressione c è un double quindi il risultato è double inoltre y è double R: y=1.7 j=4 t=4.0 s=4. File TestConversioni.java class TestConversioni{ double t,y,s; int j; y= 1.7%5; j= 23/5; t= 23/5; s= 23/5.0; System.out.println("il valore delle variabili e' y="+y+" j="+j+" t="+t+" s="+s); C:\esercizi>javac TestConversioni.java C:\esercizi>java TestConversioni il valore delle variabili e' y=1.7 j=4 t=4.0 s=4. C:\esercizi> class Conversioni{ int a,b,r; a=10; b=3; float x,y; double d; byte b1=8, b2=3,c; /*dichiarazioni errate: si assegna a variabili più piccole valori di variabili più grandi*/ c=b1+b2; d=3; a=d+2; C:\esercizi>javac Conversioni.java conversioni.java:12: possible loss of precision found : int required: byte c=b1+b2; ^ conversioni.java:14: possible loss of precision found : double required: int a=d+2; ^ 2 errors class Conversioni{ int a,b,r; a=10; b=3; float x,y; double d; byte b1=8, b2=3,c; //promozioni implicite verso la variabile di dimensioni maggiori r=a/b; System.out.println("a e b sono int, a="+a+" b="+b+" int r=a/b="+r); x=a/b; System.out.println("a e b sono int, a="+a+" b="+b+" float x=a/b="+x); d=a/b; System.out.println("a e b sono int, a="+a+" b="+b+" double d=a/b="+x); x=a+1; System.out.println("a e b sono int, a="+a+" b="+b+" float x=a+1="+x); d=x+a/b; System.out.println("a e b sono int, a="+a+" b="+b+" double d=x+a/b="+d); C:\esercizi>javac Conversioni.java C:\esercizi>java Conversioni a e b sono int, a=10 b=3 int r=a/b=3 a e b sono int, a=10 b=3 float x=a/b=3.0 a e b sono int, a=10 b=3 double d=a/b=3.0 a e b sono int, a=10 b=3 float x=a+1=11.0 a e b sono int, a=10 b=3 double d=x+a/b=14.0 class Conversioni{ int a,b,r; a=10; b=3; float x,y; double d; byte b1=8, b2=3,c; d=(double) (a/b); /*effettua il cast del risultato della divisione calcolata tra int*/ System.out.println("a e b sono int, a="+a+" b="+b+" d=(double) (a/b); ="+d); d=(double) a/b; /*effettua il cast a double della variabile a,quindi per la promozione implicita anche b è promosso a double, la divisione è calcolata tra double*/ System.out.println("a e b sono int, a="+a+" b="+b+" d=(double) a/b ="+d); d= a/(double)b; /*effettua il cast a double della variabile b, quindi per la promozione implicita anche a è promosso a double, la divisione è calcolata tra double */ System.out.println("a e b sono int, a="+a+" b="+b+" d= a/(double)b ="+d); a e b sono int, a=10 b=3 d=(double) (a/b)=3.0 a e b sono int, a=10 b=3 d=(double) a/b= a e b sono int, a=10 b=3 d= a/(double)b=

4 class Conversioni{ int a,b,r; a=10; b=3; float x,y; double d; byte b1=8, b2=3,c; /*i byte in un espressione sono promossi a int ed è possibile convertire il risultato a byte con un cast esplicito*/ c=(byte) (b1+b2); System.out.println(" byte b1="+b1+" b2="+b2+" c=(byte) b1+b2 ="+c); C:\esercizi>javac Conversioni.java C:\esercizi>java Conversioni byte b1=8 b2=3 c=(byte) (b1+b2)=11 class Conversioni{ int a,b,r; a=10; b=3; float x,y; double d; byte b1=8, b2=3,c; /*si richiede il cast di b1 e viene segnalato un errore poiché i byte in un espressione sono promossi automaticamente a int */ c=(byte) b1+b2; System.out.println("byte b1="+b1+" b2="+b2+" c=(byte) b1+b2 ="+c); C:\esercizi>javac Conversioni.java Conversioni.java:11: possible loss of precision found : int required: byte c=(byte) b1+b2; ^ 1 error Esercitazione Esercizio Quali delle seguenti dichiarazioni di variabili è corretta e quale è errata e perché? byte s1; char s= s ; intero int; double as,a Esercizio Quali delle seguenti dichiarazioni di variabili è corretta e quale è errata e perché? byte s1; Corretta Esercizio Quali delle seguenti dichiarazioni di variabili è corretta e quale è errata e perché? : float app1; char s= s ; intero int; Corretta Errata: il tipo intero non esiste, la variabile non può chiamarsi int in quanto è una parola chiave double v13a,static; char static; double as,a Errata : manca il ; finale double s-k,o; 4

5 : float app1; double v13a,static; Esercizio Quali delle seguenti dichiarazioni di variabili è corretta e quale è errata e perché? Errata - i due punti iniziali non sono ammessi Esercizio Quali delle seguenti dichiarazioni di variabili è corretta e quale è errata e perché? double 1count; float d=4,5; char static; Errata - la parola chiave static non si può usare come nome di variabile int un numero; double s-k,o; Errata - nel nome della variabile non è ammesso il - longs h-k; double 1count; Esercizio Quali delle seguenti dichiarazioni di variabili è corretta e quale è errata e perché? Errata - il nome della variabile non può iniziare con un numero Operatori postfix expr++ expr-- operatori unari ++expr --expr +expr -expr ~! moltiplicatori * / % additive + - shift << >> >>> relazionali < > <= >= float d=4,5; int un numero; longs h-k; Errata - il valore numerico con la virgola si indica con 4.5 il float vuole la f o la F quindi doveva essere float d=4.5f; Errata - il nome della variabile non può contenere uno spazio Errata - il nome del tipo è long e il nome della variabile non può contenere il - uguaglianza ==!= AND tra bit OR esclusivo tra bit OR esclusivo tra bit AND logico OR logico L ordine di precedenza è dall alto verso il basso & ^ && condizione? : = += -= *= /= %= &= ^= = <<= >>= assegnazioni >>>= O Determinare le precedenze e quindi l ordine di esecuzione delle operazioni a*(b+-(c/d)/e)*(f-g%h) O Determinare le precedenze e quindi l ordine di esecuzione delle operazioni a*(b+-(c/d)/e)*(f-g%h) 5

6 int i,n; i=10; n=i++%5; Domanda i=? n=? i=10; n=++i%5; Domanda i=? n=? int i,n; i=10; n=i++%5; Domanda i=? n=? i=10; n=++i%5; Domanda i=? n=? R: i=11 e n=0 n=i%5; i=i+1; R: i=11 e n=1 i=i+1; n=i%5; int n,i,h=4; n= 3+h*2; i=3-h+2; Domanda n=? i=? int k=4,p=1,m=3,r; Come si scrive l espressione aritmetica r={[(3+k)*2+p]*m+ int n,i,h=4; n= 3+h*2; i=3-h+2; Domanda n=? i=? int k=4,p=1,m=3,r; R: n=11 i=1 Come si scrive l espressione aritmetica r={[(3+k)*2+p]*m+ R: r=(((3+k)*2+p)*m)+; r=51 int f=4,g; g= 2*-(f-); Domanda g=? int a=1,b=2,c=3; a+=5; System.out.println("risultato a+=5: "+a); b*=4; System.out.println("risultato b*=4: "+b); c+=a*b; System.out.println("risultato c+=a*b: "+c); c%=; System.out.println("risultato c%=: "+c); Cosa stampa? int f=4,g; g= 2*-(f-); Domanda g=? R: g=4 int a=1,b=2,c=3; a+=5; System.out.println("risultato a+=5: "+a); b*=4; System.out.println("risultato b*=4: "+b); c+=a*b; System.out.println("risultato c+=a*b: "+c); c%=; System.out.println("risultato c%=: "+c); Cosa stampa?

7 int a=1,b=2,c=3; a+=5; // è equivalente a a=a+5; System.out.println("risultato a+=5: "+a); b*=4; // è equivalente a b=b*4; System.out.println("risultato b*=4: "+b); c+=a*b; //è equivalente a c=c+a*b; con a= e b=8 System.out.println("risultato c+=a*b: "+c); c%=; // è equivalente a c=c%; System.out.println("risultato c%=: "+c); Risposta: risultato a+=5: risultato b*=4: 8 risultato c+=a*b: 51 risultato c%=: 3 Scrivere l istruzione per stampare la seguente stringa: Vince il film: La vita e bella R: Scrivere l istruzione per stampare la seguente stringa: Vince il film: La vita e bella System.out.println("Vince il film: \"La vita e' bella\""); Scrivere le istruzioni per calcolare l area del rettangolo memorizzando nelle variabili base e altezza i valori 3 e Stampare il risultato nel seguente formato: l area del rettangolo e :x Scrivere le istruzioni per calcolare l area del rettangolo memorizzando nelle variabili base e altezza i valori 3 e Stampare il risultato nel seguente formato: l area del rettangolo e :x R: int base=3,altezza=, area; area=base*altezza; System.out.println( l area del rettangolo e : + area); Scrivere le istruzioni per calcolare l area del rettangolo memorizzando nelle variabili base e altezza i valori 3 e Stampare il risultato nel seguente formato: l area del rettangolo e :x 7

8 Scrivere le istruzioni per calcolare l area del rettangolo memorizzando nelle variabili base e altezza i valori 3 e Stampare il risultato nel seguente formato: l area del rettangolo e :x R: int base=3,altezza=; System.out.println( l area del rettangolo e : +(base*altezza)); Attenzione: concatenazione tra stringhe o somma? Cosa stampa? int base=3,alt=; System.out.println( stampo: +base+alt); Cosa stampa? int base=3,alt=; System.out.println( stampo: +(base+alt)); Attenzione: concatenazione tra stringhe o somma? Cosa stampa? int base=3,alt=; System.out.println( stampo: +base+alt); R: stampo: 3 Cosa stampa? int base=3,alt=; System.out.println( stampo: +(base+alt)); R: stampo: 9 Attenzione Come lettori è importante conoscere tutti gli operatori per capire cosa c è scritto Come programmatori (scrittori) usate il metodo più semplice anche se più lungo: gli operatori se non usati da soli possono dare effetti non desiderati, ad esempio int j=0; System.out.println("j="+j); j=j++; System.out.println("j=j++="+j); j=0; System.out.println("j="+j); j=++j; System.out.println("j=++j="+j); j=0 j=j++=0 j=0 j=++j=1 j=j++; j++; Attenzione int s,g; s=4;g=3; System.out.println("s e g "+s+" "+g); s=s+++g; System.out.println("s e g "+s+" "+g); int t,i; t=4;i=3; System.out.println("t e i "+t+" "+i); t=t+i; System.out.println("t e i "+t+" "+i); t++; System.out.println("t e i "+t+" "+i); s e g 4 3 s e g 7 3 t e i 4 3 t e i 7 3 t e i 8 3 : Operatori condizionali boolean c; int a=3,b=5; c=!(a<0 b>a); System.out.println(c); E se c=((a-b<0) && (a>b%a));? 8

9 : Operatori condizionali boolean c; int a=3,b=5; c=!(a<0 b>a); System.out.println(c); E se c=((a-b<0) && (a>b%a));? Controllo di flusso if-else switch boolean a;. if(a) { System.out.println( istruzione1 ); System.out.println( istruzione2 ); else System.out.println( istruzione3 ); System.out.println( istruzione4 ); Se a= boolean a; stampa. istruzione1 if(a) { istruzione2 System.out.println( istruzione1 ); Istruzione4 System.out.println( istruzione2 ); Se a= else stampa System.out.println( istruzione3 ); istruzione3 System.out.println( istruzione4 ); istruzione4 boolean a;. if(a) { System.out.println( istruzione1 ); System.out.println( istruzione2 ); else { System.out.println( istruzione3 ); System.out.println( istruzione4 ); boolean a; Se a=. stampa if(a) { istruzione1 System.out.println( istruzione1 ); istruzione2 System.out.println( istruzione2 ); Se a= stampa else { istruzione3 System.out.println( istruzione3 ); istruzione4 System.out.println( istruzione4 ); 9

10 int a,b; a=3;b=4; if((a>b-a)&&(!(a>b))){ System.out.println("ciao"); else System.out.println("addio"); ((a>b-a)&&(!(a>b))) ((3>4-3)&&(!(3>4))) ((3>1)&&(!(3>4))) int a,b; (()&&(!())) (() &&()) a=3;b=4; () if((a>b-a)&&(!(a>b))){ System.out.println("ciao"); else ciao System.out.println("addio"); Operatore? Operatore? int i=-10, k=3; k=i<0?k-i:k+i; k=? int i=-10, k=3; k=i<0?k-i:k+i; k=? k=13 Usare l operatore? Per determinare il minimo tra due variabili: Usare l operatore? Per determinare il minimo tra due variabili: int min,a=10,b=20; min= a<b?a:b; switch-case switch(espressione di scelta){ case <costante> :. case <costante> : default: // input errato La scelta ha valori di tipo char, short, byte, int Il valore del case non può essere una variabile int q=1,n=1; case 3:System.out.println(n+5); case 4:System.out.println("ciao"); 10

11 int q=1,n=1; case 3:System.out.println(n+5); case 4:System.out.println("ciao"); stampa 4 9 int q=2,n=1; case 3:System.out.println(n+5); case 4:System.out.println("ciao"); int q=2,n=1; case 3:System.out.println(n+5); case 4:System.out.println("ciao"); Stampa 1 int q=3,n=1; case 3:System.out.println(n+5); case 4:System.out.println("ciao"); int q=3,n=1; case 3:System.out.println(n+5); case 4:System.out.println("ciao"); Stampa int q=4,n=1; case 3:System.out.println(n+5); case 4:System.out.println("ciao"); 11

12 int q=4,n=1; case 3:System.out.println(n+5); case 4:System.out.println("ciao"); Stampa ciao int q=7,n=1; case 3:System.out.println(n+5); case 4:System.out.println("ciao"); Non stampa Ciclo FOR inizializzazione condizione CICLI (loop) Blocco incremento for (inizializzazione; condizione; incremento) { // blocco Cicli indeterminati blocco Condizione Condizione blocco int n=1; while (n <= 1) { n = 2 * n; System.out.println(n); for(int i=1; i<=1; i++) { i=i*2; Cosa stampano? while (Espressione) { // blocco istruzioni do { // blocco istruzioni while (Espressione) for( int i=2; i<=32; i=i*2) { 12

13 int n=1; while (n <= 1) { n = 2 * n; System.out.println(n); for(int i=1; i<=1; i++) { i=i*2; for( int i=2; i<=32; i=i*2) { Cosa stampano? int n=12; do { System.out.println(n); while (n <12); int n=12; while (n <12){ System.out.println(n); int n=12; do { System.out.println(n); while (n <12); Stampa una sola volta 12 int n=12; while (n <12){ System.out.println(n); non stampa nulla for( int i=2; i<=1; i=i+2) { Quale delle seguenti risposte è corretta? a) b) c) for( int i=2; i<=1; i=i+2) { Quale delle seguenti risposte è corretta? a) i=2 b) c) Risposta: C i<=1 stampa i i=i+2 int n=2;m=4; if((m>0)&&(!(n>m))) { for( int i=0; i<20; i++) { i=i*2; else System.out.println( ciao ); Cosa stampa? 13

14 int n=2;m=4; if((m>0)&&(!(n>m))) { for( int i=0; i<20; i++) { i=i*2; else System.out.println( ciao ); int n=1; for( int i=1; i<=1; i++) { n=i; n=n*2; System.out.println(n); Cosa stampa? int n=1; for( int i=1; i<=1; i++) { n=i; n=n*2; System.out.println(n); Interruptions Loops break: uscita forzata da un ciclo continue: passaggio forzato all iterazione successiva del ciclo stampa i n for for (int cont = 0; cont < 10; cont++) { if(cont==3) System.out.println("ciao "+cont); ciao 0 ciao 1 ciao 2 for for (int cont = 0; cont < 10; cont++) { if(cont==3) continue; System.out.println("ciao "+cont); ciao 0 ciao 1 ciao 2 ciao 4 ciao 5 ciao ciao 7 ciao 8 ciao 9 14

15 Cicli annidati int a,b; a=3;b=4; if((a>b-a)&&(!(a>b))){ System.out.println("ciao"); a=4*a; while (a>b) { System.out.println(a); a--; else for( int i=2; i<=32; i=i*2) { Cicli annidati int a,b; a=3;b=4; if((a>b-a)&&(!(a>b))){ System.out.println("ciao"); a=4*a; while (a>b) { System.out.println(a); a--; else for( int i=2; i<=32; i=i*2) { a=3 b=4 a=3 b=4 ((a>b-a)&&(!(a>b))) ((a>b-a)&&(!(a>b))) System.out.println("ciao"); a=4*a; Istruzione for a>b Stampa ciao a=12; int i=2 i<=32 Stampa i Istruzione while Stampa a Decrementa a i=i*2 Cicli annidati int a,b; a=3;b=4; if((a>b-a)&&(!(a>b))){ System.out.println("ciao"); a=4*a; while (a>b) { System.out.println(a); a--; else for( int i=2; i<=32; i=i*2) { Stampa: ciao Cicli annidati int a,b; a=3;b=4; if((a>b-a)&&((a>b))){ System.out.println("ciao"); a=4*a; while (a>b) { System.out.println(a); a--; else for( int i=2; i<=32; i=i*2) { 15

16 a>b Stampa a Decrementa a Stampa ciao a=12; a=3 b=4 ((a>b-a)&&((a>b))) int i=2 i<=32 Stampa i i=i*2 Cicli annidati int a,b; a=3;b=4; if((a>b-a)&&((a>b))){ System.out.println("ciao"); a=4*a; while (a>b) { System.out.println(a); a--; else for( int i=2; i<=32; i=i*2) { Stampa: Cicli annidati for( int i=0; i<2; i++) { int e=i; do { e=e+5; System.out.println(e); while (e<20); for( int i=0; i<2; i++) { Blocco istruzioni for int i=0 i<2 Blocco istruzioni for i++ int i=0 for( int i=0; i<2; i++) { int i=0 i<2 int e=i; int e=i; do { e=e+5; i<2 int e=i; Istruzione do while blocco Condizione System.out.println(e); while (e<20); e=e+5; stampa e e<20 i++ i++ 1

17 int i=0 i<2 int e=i; e=e+5; stampa e e<20 i++ Stampa: Cicli annidati for( int i=0; i<2; i++) { int e=i; do { e=e+5; System.out.println(e); while (e<20); int v; for(v=2;v<7;v++) { System.out.println( "v="+v+"switch"); switch (v) { case 3:System.out.println("ciao"); case 4:while (v <= 10) { System.out.println(v); v=v+2; case 5:System.out.println( "v="+(v+3)); default:system.out.println("fine"); int v=2 v<7 Stampa "v="+v+"switch" Istruzione switch v++ int v=2 int v=2 v<7 v<7 Stampa "v="+v+"switch" Stampa "v="+v+"switch" default 5 v 4 3 default 5 v 4 3 Stampa fine Stampa "v="+(v+3) v<=10 no si Istruzione while Stampa v v=v+2 Stampa ciao Stampa fine Stampa "v="+(v+3) v<=10 si Stampa v v=v+2 no Stampa ciao Stampa "v="+(v+3) Stampa "v="+(v+3) v++ v++ 17

18 int v; for(v=2;v<7;v++) { System.out.println( "v="+v+"switch"); switch (v) { case 3:System.out.println("ciao"); case 4:while (v <= 10) { System.out.println(v); v=v+2; case 5:System.out.println( "v="+(v+3)); default:system.out.println("fine"); v=2switch fine v=3switch ciao v=4switch v=15 int v,g; for (v=0;v<=4;v++){ System.out.println("v="+v); g=10; switch (v) { case 0: System.out.println("e nullo"); case 1: do{ System.out.print(g+ " "); g=g-2; while (v <= g); case 4:System.out.println( "g= "+g); int v,g; for (v=0;v<=4;v++){ System.out.println("v="+v); g=10; switch (v) { case 0: System.out.println("è nullo"); case 1: do{ System.out.print(g+ " "); g=g-2; while (v <= g); case 4:System.out.println( "g= "+g); v=0 è nullo g= -2 v= g= 0 v=2 v=3 v=4 g= 10 int a,b; a=1;b=; while ((a>b-a) (!(a>b%4))){ for( int i=a; i<8; i++) { System.out.println(i+3); a++; int a,b; a=1;b=; while ((a>b-a) (!(a>b%4))){ for( int i=a; i<8; i++) { System.out.println(i+3); a++; int e=0, s; do { System.out.println("e= "+e); s=1; for( int i=1; i<=5; i++) { s=i; s=s+3; System.out.println(s); e++; while (e<2); 18

19 int e=0, s; do { System.out.println("e= "+e); s=1; for( int i=1; i<=5; i++) { s=i; s=s+3; System.out.println(s); e++; while (e<2); e= e= int q,n; for( int i=1; i<5; i++) { q=i; n=5; case 3: for( int k=1; k<=q; k++) { System.out.println("q="+q+"for: "+k); default: System.out.println("errore q="+q); int q,n; for( int i=1; i<5; i++) { q=i; n=5; case 3: for( int k=1; k<=q; k++) { 8 q=1for: 1 System.out.println("q="+q+"for: "+k); default: System.out.println("errore q="+q); 5 q=2for: 1 q=2for: 2 q=3for: 1 q=3for: 2 q=3for: 3 errore q=4 19

Esercizi di preparazione Prima Parte

Esercizi di preparazione Prima Parte Esercizi di preparazione Prima Parte DEFINIZIONE VARIABILI Quali delle seguenti dichiarazioni di variabili sono errate e perché a. int am,1h; b. boolean false; c. long x=7; d. shorte y,e-; i. : String

Dettagli

Unità Didattica 2 Linguaggio C. Espressioni, Operatori e Strutture linguistiche per il controllo del flusso

Unità Didattica 2 Linguaggio C. Espressioni, Operatori e Strutture linguistiche per il controllo del flusso Unità Didattica 2 Linguaggio C Espressioni, Operatori e Strutture linguistiche per il controllo del flusso 1 Espressioni e assegnazioni Le espressioni sono definite dalla grammatica: espressione = variabile

Dettagli

IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale

IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale Fondamenti di Informatica IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale Fondamenti di Informatica - D. Talia - UNICAL 1 Lettura di dati da input In Java la lettura di dati da input

Dettagli

Elementi lessicali. Lezione 4. La parole chiave. Elementi lessicali. Elementi lessicali e espressioni logiche. Linguaggi di Programmazione I

Elementi lessicali. Lezione 4. La parole chiave. Elementi lessicali. Elementi lessicali e espressioni logiche. Linguaggi di Programmazione I Lezione 4 Elementi lessicali e espressioni logiche Matricole 2-3 Elementi lessicali il linguaggio C ha un suo vocabolario di base i cui elementi sono detti token esistono 6 tipi di token: parole chiave

Dettagli

Algebra di Boole: Concetti di base. E un algebra basata su tre operazioni logiche

Algebra di Boole: Concetti di base. E un algebra basata su tre operazioni logiche Fondamenti di Informatica Algebra di Boole: Concetti di base Fondamenti di Informatica - D. Talia - UNICAL Algebra di Boole E un algebra basata su tre operazioni logiche OR AND NOT Ed operandi che possono

Dettagli

Tipi di dato. Il concetto di tipo di dato viene introdotto per raggiungere due obiettivi:

Tipi di dato. Il concetto di tipo di dato viene introdotto per raggiungere due obiettivi: Tipi di dato Il concetto di tipo di dato viene introdotto per raggiungere due obiettivi: esprimere in modo sintetico la loro rappresentazione in memoria, e un insieme di operazioni ammissibili permettere

Dettagli

Programmazione in Java (I modulo)

Programmazione in Java (I modulo) Programmazione in Java (I modulo) Lezione 4 Variabili di tipo primitivo. Dichiarazione di costanti Conversioni di tipo: operatore cast Altri operatori di assegnamento Operazioni aritmetiche e di confronto

Dettagli

Conversioni fra Tipi di Dati. Luca Abeni

Conversioni fra Tipi di Dati. Luca Abeni Conversioni fra Tipi di Dati Luca Abeni Tipi di Dato e Conversioni In C, ogni variabile è caratterizzata da un tipo I valori che la variabile può assumere dipendono dal tipo È possibile mescolare variabili

Dettagli

Espressioni ed operatori in C

Espressioni ed operatori in C Espressioni ed operatori in C Espressioni Il C è un linguaggio basato su espressioni Una espressione è una notazione che denota un valore mediante un processo di valutazione Una espressione può essere

Dettagli

Linguaggio C. Tipi predefiniti e operatori. Università degli Studi di Brescia. Docente: Massimiliano Giacomin

Linguaggio C. Tipi predefiniti e operatori. Università degli Studi di Brescia. Docente: Massimiliano Giacomin Linguaggio C Tipi predefiniti e operatori Università degli Studi di Brescia Docente: Massimiliano Giacomin Elementi di Informatica e Programmazione Università di Brescia 1 RICHIAMI char 8 bit Valori interi

Dettagli

Basi della programmazione in Java. Anteprima. Uso delle variabili. Il concetto di variabile Uso delle variabili. Input da tastiera I tipi Esercizi

Basi della programmazione in Java. Anteprima. Uso delle variabili. Il concetto di variabile Uso delle variabili. Input da tastiera I tipi Esercizi Basi della programmazione in Java Nicola Drago nicola.drago@univr.it Dipartimento di Informatica Università di Verona Anteprima Il concetto di variabile Uso delle variabili Dichiarazione Assegnamento Visualizzazione

Dettagli

Gli Operatori. Linguaggio C. Gli Operatori. Esempi sull uso dell Operatore di Assegnamento. L Operatore di Assegnamento

Gli Operatori. Linguaggio C. Gli Operatori. Esempi sull uso dell Operatore di Assegnamento. L Operatore di Assegnamento Linguaggio C Gli Operatori Gli Operatori Gli operatori sono simboli (sia singoli caratteri che loro combinazioni) specificano come devono essere manipolati gli operandi dell espressione Operatori aritmetici

Dettagli

Indice. Ordine di valutazione. Espressioni in C++ Le espressioni in C++ (CAP 4) Alberto Garfagnini e Marco Mazzocco A.A. 2014/ * 20 / 2

Indice. Ordine di valutazione. Espressioni in C++ Le espressioni in C++ (CAP 4) Alberto Garfagnini e Marco Mazzocco A.A. 2014/ * 20 / 2 Le espressioni in C++ (CAP 4) Indice Le espressioni in C++ : precedenze e associatività degli operatori Alberto Garfagnini e Marco Mazzocco Università degli studi di Padova A.A. 2014/2015 gli operatori

Dettagli

Laboratorio Progettazione Web Il linguaggio PHP Le Istruzioni. Andrea Marchetti IIT-CNR AA 2015/2016

Laboratorio Progettazione Web Il linguaggio PHP Le Istruzioni. Andrea Marchetti IIT-CNR AA 2015/2016 Laboratorio Progettazione Web Il linguaggio PHP Le Istruzioni Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.it AA 2015/2016 Ambiente di test PHP online per avere un interprete PHP Php Online PHP Tester

Dettagli

Fondamenti di Programmazione. Strutture di controllo

Fondamenti di Programmazione. Strutture di controllo Fondamenti di Programmazione Strutture di controllo 1! Controllo del flusso! n Flusso di esecuzione: ordine in cui le istruzioni di un programma sono eseguite! n Salvo contrordini, è in sequenza! n Due

Dettagli

Laboratorio Progettazione Web Il linguaggio PHP Le Istruzioni. Andrea Marchetti IIT-CNR AA 2014/2015

Laboratorio Progettazione Web Il linguaggio PHP Le Istruzioni. Andrea Marchetti IIT-CNR AA 2014/2015 Laboratorio Progettazione Web Il linguaggio PHP Le Istruzioni Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.it AA 2014/2015 Ambiente di test Cercare PHP online per avere un interprete PHP Assegnamento

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

4 - Tipi di dato primitivi

4 - Tipi di dato primitivi 4 - Tipi di dato primitivi Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it

Dettagli

Un elaboratore è un manipolatore di simboli (segni) intrinsecamente capace di trattare vari. caratteri char caratteri ASCII unsigned char

Un elaboratore è un manipolatore di simboli (segni) intrinsecamente capace di trattare vari. caratteri char caratteri ASCII unsigned char IL LINGUAGGIO C Un elaboratore è un manipolatore di simboli (segni) L'architettura tt fisica i di ogni elaboratore è intrinsecamente capace di trattare vari domini i di dati, detti tipi i primitivi iti

Dettagli

Espressioni. Espressione = meccanismo fondamentale per esprimere computazioni in un LP importante comprenderne la semantica!

Espressioni. Espressione = meccanismo fondamentale per esprimere computazioni in un LP importante comprenderne la semantica! Espressioni Espressione = meccanismo fondamentale per esprimere computazioni in un LP importante comprenderne la semantica! Valutazione automatica di expr aritmetiche = obiettivo primario dei primi LP

Dettagli

Gocce di Java. Gocce di Java. Selezione e ripetizione. Pierluigi Crescenzi. Università degli Studi di Firenze

Gocce di Java. Gocce di Java. Selezione e ripetizione. Pierluigi Crescenzi. Università degli Studi di Firenze Gocce di Java Pierluigi Crescenzi Università degli Studi di Firenze Variabili ed espressioni Booleane Variabile booleana: può assumere valore true o false Espressione Booleana: valore di ritorno true o

Dettagli

Lezione 6 Introduzione al C++ Mauro Piccolo

Lezione 6 Introduzione al C++ Mauro Piccolo Lezione 6 Introduzione al C++ Mauro Piccolo piccolo@di.unito.it Linguaggi di programmazione Un linguaggio formale disegnato per descrivere la computazione Linguaggi ad alto livello C, C++, Pascal, Java,

Dettagli

Linguaggio C: Espressioni

Linguaggio C: Espressioni Linguaggio C: Espressioni Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna http://www.moreno.marzolla.name/ 2 Ringraziamenti prof. Mirko Viroli, Università

Dettagli

IL LINGUAGGIO C TIPI DI DATO

IL LINGUAGGIO C TIPI DI DATO IL LINGUAGGIO C Un elaboratore è un manipolatore di simboli (segni) L'architettura fisica di ogni elaboratore è intrinsecamente capace di trattare vari domini di dati, detti tipi primitivi dominio dei

Dettagli

Il potere espressivo di un linguaggio è caratterizzato da: PROGRAMMA = DATI + CONTROLLO

Il potere espressivo di un linguaggio è caratterizzato da: PROGRAMMA = DATI + CONTROLLO LINGUAGGI DI PROGRAMMAZIONE Il potere espressivo di un linguaggio è caratterizzato da: quali tipi di dati consente di rappresentare (direttamente o tramite definizione dell utente) quali istruzioni di

Dettagli

Corso di Laurea Ingegneria Civile Fondamenti di Informatica. Dispensa 13. Tipi ed espressioni. Carla Limongelli Aprile Tipi ed espressioni 1

Corso di Laurea Ingegneria Civile Fondamenti di Informatica. Dispensa 13. Tipi ed espressioni. Carla Limongelli Aprile Tipi ed espressioni 1 Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 13 Tipi ed espressioni Carla Limongelli Aprile 2010 Tipi ed espressioni 1 Contenuti Tipi di dato Tipi primitivi per numeri interi: il

Dettagli

Tipi di dato, Alessandra Giordani Lunedì 7 maggio 2011

Tipi di dato, Alessandra Giordani Lunedì 7 maggio 2011 Tipi di dato, memoria e conversioni Alessandra Giordani agiordani@disi.unitn.it Lunedì 7 maggio 2011 http://disi.unitn.it/~agiordani/ Il linguaggio C è esplicitamente tipato: occorre esplicitamente associare

Dettagli

Gli Operatori. Università degli Studi di Brescia

Gli Operatori. Università degli Studi di Brescia Linguaggio C Gli Operatori 1 Gli operatori! Costruiscono le espressioni del C! Specificano come devono essere manipolati gli operandi dell espressione! Il C definisce una moltitudine di operatori, quali

Dettagli

LINGUAGGI DI PROGRAMMAZIONE!

LINGUAGGI DI PROGRAMMAZIONE! LINGUAGGI DI PROGRAMMAZIONE! Il potere espressivo di un linguaggio è! caratterizzato da:! quali tipi di dati consente di rappresentare (direttamente o tramite definizione dell utente)! quali istruzioni

Dettagli

Laboratorio di Programmazione Lezione 2. Cristian Del Fabbro

Laboratorio di Programmazione Lezione 2. Cristian Del Fabbro Laboratorio di Programmazione Lezione 2 Cristian Del Fabbro Prossima lezione GIOVEDÌ 29 OTTOBRE 14:00 Input da tastiera package input; import java.io.*; public class Input { public static void main(string[]

Dettagli

Tipi di dati scalari (casting e puntatori) Alessandra Giordani Lunedì 10 maggio 2010

Tipi di dati scalari (casting e puntatori) Alessandra Giordani Lunedì 10 maggio 2010 Tipi di dati scalari (casting e puntatori) Alessandra Giordani agiordani@disi.unitn.it Lunedì 10 maggio 2010 http://disi.unitn.it/~agiordani/ I tipi di dati scalari I tipi aritmetici, i tipi enumerativi

Dettagli

Corso di Fondamenti di Informatica Il sistema dei tipi in C++

Corso di Fondamenti di Informatica Il sistema dei tipi in C++ Corso di Fondamenti di Informatica Il sistema dei tipi in C++ Anno Accademico Francesco Tortorella Struttura di un programma C++ // Programma semplice in C++ #include int main() { cout

Dettagli

Istruzioni iterative (o cicliche)

Istruzioni iterative (o cicliche) Dipartimento di Informatica e Sistemistica Antonio Ruberti Sapienza Università di Roma Istruzioni iterative (o cicliche) Corso di Fondamenti di Informatica Laurea in Ingegneria Informatica (Canale di Ingegneria

Dettagli

Tipi ed espressioni. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 5. Carla Limongelli Settembre 2007

Tipi ed espressioni. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 5. Carla Limongelli Settembre 2007 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 5 Tipi ed espressioni Carla Limongelli Settembre 2007 http://www.dia.uniroma3.it/~java/fondinf1/ Tipi ed espressioni 1 Contenuti

Dettagli

Tipi di dato. Le variabili in C. Problema: dato in input un carattere, se esso è una lettera minuscola, trasformarla in maiuscola.

Tipi di dato. Le variabili in C. Problema: dato in input un carattere, se esso è una lettera minuscola, trasformarla in maiuscola. Tipi di dato Le variabili in C KP Cap.3 pp.95-129 Cap.5 pp.190-193 DD Cap. 9 pp.352-355 Abbiamo già parlato delle variabili, ed abbiamo fin ora usato il tipo int, ma abbiamo molte altre possibiltà I tipi

Dettagli

Laboratorio Progettazione Web Il linguaggio PHP Lezione 6. Andrea Marchetti IIT-CNR 2011/2012

Laboratorio Progettazione Web Il linguaggio PHP Lezione 6. Andrea Marchetti IIT-CNR 2011/2012 Laboratorio Progettazione Web Il linguaggio PHP Lezione 6 Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2011/2012 Assegnamento L assegnamento ad una variabile è il classico variabile = valore;

Dettagli

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011 Fondamenti di Informatica 1 Prof. B.Buttarazzi A.A. 2010/2011 Sommario Istruzione condizionale switch Istruzioni di salto break e continue Uso di variabili di tipo boolean Variabili di tipo array (monodimensionali)

Dettagli

Corso di JavaScript. Prerequisiti. B1 Tipi di dato e operatori. Concetto di variabile, espressione e tipo di dato

Corso di JavaScript. Prerequisiti. B1 Tipi di dato e operatori. Concetto di variabile, espressione e tipo di dato Corso di JavaScript B1 Tipi di dato e operatori 1 Prerequisiti Concetto di variabile, espressione e tipo di dato 2 1 Introduzione In questa Unità illustriamo alcuni strumenti operativi per la scrittura

Dettagli

Operatori in Java. Il Costrutto Condizionale if

Operatori in Java. Il Costrutto Condizionale if Operatori in Java Operatore Tipo Semantica > binario maggiore >= binario maggiore o uguale < binario minore

Dettagli

Decomposizione per scelta

Decomposizione per scelta Decomposizione per scelta T C F P1 P2 Codifica if ( C ) T C F P1 P1 P2 else P2 C : condizione da verificare (espressione booleana a valore VERO/FALSO). Parentesi obbligatorie P1 : istruzione da eseguire

Dettagli

C espressioni condizionali

C espressioni condizionali C espressioni condizionali Esiste un particolare operatore, detto operatore condizionale, che rappresenta un istruzione if else. estremamente compattata?: Supponiamo di voler inserire nella variabile intera

Dettagli

Riassunto. I mattoni di base di un programma Java. Oggi. Un programma complicato. Oggi. Perché è complicato? Stefano Mizzaro 1.

Riassunto. I mattoni di base di un programma Java. Oggi. Un programma complicato. Oggi. Perché è complicato? Stefano Mizzaro 1. I mattoni di base di un programma Java Stefano Mizzaro Dipartimento di matematica e informatica Università di Udine http://www.dimi.uniud.it/mizzaro mizzaro@dimi.uniud.it Programmazione, lezione 2 28 settembre

Dettagli

Il linguaggio Java Istruzioni di Controllo

Il linguaggio Java Istruzioni di Controllo Il linguaggio Java Istruzioni di Controllo Istruzioni per il controllo di flusso Istruzioni di selezione if switch Istruzioni di iterazione while do-while for Istruzioni di salto break continue return

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Elementi di Base Parte 3 Istruzioni di Assegnazione G. Mecca M. Samela Università della Basilicata Elementi di Base >> Sommario Sommario Introduzione Istruzioni

Dettagli

Un esempio per iniziare. Il controllo del programma in C. Altri cenni su printf() Esercizi (printf) printf( 8!=%d, fatt);

Un esempio per iniziare. Il controllo del programma in C. Altri cenni su printf() Esercizi (printf) printf( 8!=%d, fatt); Un esempio per iniziare Il controllo del programma in C DD Cap.3 pp.91-130 /* calcolo di 8!*/ #include #define C 8 int main() int i=1; int fatt=1; while (i

Dettagli

Le basi del linguaggio Java

Le basi del linguaggio Java Le basi del linguaggio Java Compilazione e interpretazione Quando si compila il codice sorgente scritto in Java, il compilatore genera il codice compilato, chiamato bytecode. È un codice generato per una

Dettagli

Valutazione di espressioni

Valutazione di espressioni Valutazione di espressioni Stefano Ferrari Università degli Studi di Milano stefano.ferrari@unimi.it Programmazione anno accademico 2016 2017 Blocco Blocco è un insieme di istruzioni consecutive, con un

Dettagli

Istruzioni Condizionali in C

Istruzioni Condizionali in C Concetti chiave Istruzioni Condizionali in C Tipi di Istruzioni Condizionali Espressioni Blocchi d istruzioni Istruzioni Condizionali: if-else Istruzioni Condizionali: switch-case Istruzione break Istruzioni

Dettagli

Programmazione in Python. Moreno Marzolla

Programmazione in Python. Moreno Marzolla Programmazione in Python Moreno Marzolla http://www.moreno.marzolla.name/ Copyright 2011, Moreno Marzolla (http://www.moreno.marzolla.name/teaching/labinf2011/) This work is licensed under the Creative

Dettagli

Tipi di dato primitivi

Tipi di dato primitivi Tipi di dato primitivi (oltre int) Tipi di dato primitivi int (già trattati) Valori logici (ricordati) Valori reali Valori carattere Informatica - A.A. 2009/2010 - Tipi di dato 2 1 Valori logici (il caso

Dettagli

Lab 02 Tipi semplici in C

Lab 02 Tipi semplici in C Fondamenti di Informatica e Laboratorio T-AB Ingegneria Elettronica e Telecomunicazioni e Ingegneria dell Automazione a.a. 2009/2010 Lab 02 Tipi semplici in C Lab02 1 Obiettivo dell esercitazione Acquistare

Dettagli

$QDOLVLGHOSURJUDPPDTXDGUDWR

$QDOLVLGHOSURJUDPPDTXDGUDWR $QDOLVLGHOSURJUDPPDTXDGUDWR /* */ calcolare l area del quadrato #include main(){ int lato, area; printf("lato "); scanf("%d", &lato); if(lato < 0) printf("errore nei dati \n"); else { area =

Dettagli

Puntatori in C. Puntatori. Variabili tradizionali Esempio: int a = 5; Proprietà della variabile a: nome: a

Puntatori in C. Puntatori. Variabili tradizionali Esempio: int a = 5; Proprietà della variabile a: nome: a Puntatori in C Puntatori Variabili tradizionali indirizzo int a = 5; A00E... Proprietà della variabile a: nome: a A010 A012 5 tipo: int A014 valore: 5 indirizzo: A010 Finora abbiamo usato solo le prime

Dettagli

<istruzione> ::= <istruzione-semplice> <istruzione> ::= <istruzione-di-controllo> <istruzione-semplice> ::= <espressione> ;

<istruzione> ::= <istruzione-semplice> <istruzione> ::= <istruzione-di-controllo> <istruzione-semplice> ::= <espressione> ; ISTRUZIONI Le istruzioni esprimono azioni che, una volta eseguite, comportano una modifica permanente dello stato interno del programma o del mondo circostante. Le strutture di controllo permettono di

Dettagli

Esonero di Informatica I. Ingegneria Medica

Esonero di Informatica I. Ingegneria Medica Di seguito sono elencati una serie di domande tipo esonero ; i quiz vogliono dare un sistema di autovalutazione e di confronto allo studente che deve prepararsi alla prova di metà corso. Il numero e l

Dettagli

Costrutti per il controllo del flusso di esecuzione

Costrutti per il controllo del flusso di esecuzione Costrutti per il controllo del flusso di esecuzione Fondamenti di informatica L-B Laboratorio Alessandro Falchi afalchi@deis.unibo.it Operatori (1) PRECEDENZA ASSOCIATIVITÀ OPERATORE TIPO/I DEGLI OPERANDI

Dettagli

Gestione dei compiti

Gestione dei compiti 1 of 18 23/10/2006 103 Gestione dei compiti Corso: Fondamenti di Informatica 1 (gruppo 8-9) Corsi di laurea: Area dell'informazione Domanda n. 1 Argomento: Logica booleana Domanda: Qual e' il risultato

Dettagli

Programmazione ad oggetti

Programmazione ad oggetti DAIS Univ. Ca' Foscari Venezia Programmazione ad oggetti Samuel Rota Bulò Tipi di dato primitivo Tipo Descrizione Range bytes int interi 2147483648 2147483647 4 byte interi -128 127 1 short interi -32768

Dettagli

Laboratorio di Informatica Ingegneria Clinica Lezione 9/11/2011. Prof. Raffaele Nicolussi

Laboratorio di Informatica Ingegneria Clinica Lezione 9/11/2011. Prof. Raffaele Nicolussi Laboratorio di Informatica Ingegneria Clinica Lezione 9/11/2011 Prof. Raffaele Nicolussi FUB - Fondazione Ugo Bordoni Via del Policlinico, 147-00161 Roma Università degli Studi La Sapienza Fondamenti di

Dettagli

Verso i puntatori: Cosa è una variabile?

Verso i puntatori: Cosa è una variabile? Verso i puntatori: Cosa è una variabile? Quando si dichiara una variabile, ad es. int a; si rende noto il nome e il tipo della variabile. Il compilatore alloca l opportuno numero di byte di memoria per

Dettagli

Introduzione alla programmazione in C++

Introduzione alla programmazione in C++ Introduzione alla programmazione in C++ Fondamenti di Informatica Roberto BASILI Marzo, 2007 La Programmazione Programmare significa: Determinare la natura del problema (analisi) Definire una decomposizione

Dettagli

SULL USO DEI CARATTERI. char x; si legge con ( %c,&x) e si stampa con ( %c,x) ma anche con ( %d,x) DUE ESEMPI

SULL USO DEI CARATTERI. char x; si legge con ( %c,&x) e si stampa con ( %c,x) ma anche con ( %d,x) DUE ESEMPI SULL USO DEI CARATTERI Ricordiamo che: int x; si legge con ( %d,&x) e si stampa con ( %d,x) float x; si legge con ( %f,&x) e si stampa con ( %f,x) double x;si legge con ( %lf,&x) e si stampa con ( %f,x)

Dettagli

Corso di Laurea Ingegneria Civile. Dispensa 13. Tipi ed espressioni. Carla Limongelli. Tipi ed espressioni 1

Corso di Laurea Ingegneria Civile. Dispensa 13. Tipi ed espressioni. Carla Limongelli. Tipi ed espressioni 1 Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 13 Tipi ed espressioni Carla Limongelli Marzo 2009 Tipi ed espressioni 1 Contenuti Tipi di dato Tipi primitivi per numeri interi: il

Dettagli

Laboratorio Progettazione Web Il linguaggio PHP Variabili e Istruzioni. Andrea Marchetti CNR/IIT AA 2016/2017

Laboratorio Progettazione Web Il linguaggio PHP Variabili e Istruzioni. Andrea Marchetti CNR/IIT AA 2016/2017 Laboratorio Progettazione Web Il linguaggio PHP Variabili e Istruzioni Andrea Marchetti CNR/IIT AA 2016/2017 Ambiente di test PHP online per avere un interprete PHP Php Online PHP Tester PHP Fiddle Write

Dettagli

Tipi di dati fondamentali. Tipi di dati fondamentali. Utilità dei tipi di dati nelle dichiarazioni. Il tipo di dati char. Codice ASCII.

Tipi di dati fondamentali. Tipi di dati fondamentali. Utilità dei tipi di dati nelle dichiarazioni. Il tipo di dati char. Codice ASCII. Tipi di dati fondamentali Tipi di dati fondamentali Linguaggi di Programmazione I Ferdinando Cicalese caratteri: char signed char unsigned char interi short int long interi unsigned short unsigned unsigned

Dettagli

Corso di Fondamenti di Programmazione canale E-O. Tipi di dato. Un esempio

Corso di Fondamenti di Programmazione canale E-O. Tipi di dato. Un esempio Corso di Fondamenti di Programmazione canale E-O Tiziana Calamoneri Le variabili in C KP Cap. 3, pp. 95-129 Cap. 5, pp. 190-193 DD Cap. 9, pp.352-355 Tipi di dato Abbiamo già parlato delle variabili, ed

Dettagli

Laboratorio di programmazione

Laboratorio di programmazione Laboratorio di programmazione Lezione II Tatiana Zolo zolo@cs.unipr.it 1 IL PROGRAMMA C++ Istruzioni (espressioni terminate da ; ) istruzioni di dichiarazione (es. int x = 0;); istruzioni di assegnamento

Dettagli

ESERCIZI DI PROGRAMMAZIONE C/C++ per le classi seconde

ESERCIZI DI PROGRAMMAZIONE C/C++ per le classi seconde ESERCIZI DI PROGRAMMAZIONE C/C++ per le classi seconde vers.0 in lavorazione Docente SAFFI FABIO Contenuti Struttura del file sorgente...2 Organizzazione della directory di lavoro...2 Esercizi sulle funzione

Dettagli

6 - Blocchi e cicli. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

6 - Blocchi e cicli. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo 6 - Blocchi e cicli Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://pages.di.unipi.it/milazzo milazzo di.unipi.it

Dettagli

Istruzioni decisionali

Istruzioni decisionali Istruzioni decionali 1. if 2. if-else 3. switch 115 switch Struttura di scelta plurima che controlla se una espresone assume un valore all interno di un certo ineme di costanti e comporta di conseguenza

Dettagli

STRUTTURE DI CONTROLLO DEL C++

STRUTTURE DI CONTROLLO DEL C++ STRUTTURE DI CONTROLLO DEL C++ Le istruzioni if e else Le istruzioni condizionali ci consentono di far eseguire in modo selettivo una singola riga di codice o una serie di righe di codice (che viene detto

Dettagli

3) Descrivere l architettura di un elaboratore tramite astrazione a livelli

3) Descrivere l architettura di un elaboratore tramite astrazione a livelli Di seguito sono elencati una serie di domande tipo esonero ; i quiz vogliono dare un sistema di autovalutazione e di confronto allo studente che deve prepararsi alla prova di metà corso. Il numero e l

Dettagli

Programmare in C. Maurizio Palesi Salvatore Serrano. Valori. Operazioni. Un insieme di valori del tipo. Per operare su tali valori Tipi

Programmare in C. Maurizio Palesi Salvatore Serrano. Valori. Operazioni. Un insieme di valori del tipo. Per operare su tali valori Tipi MASTER Information Technology Excellence Road (I.T.E.R.) Programmare in C Maurizio Palesi Salvatore Serrano Master ITER Informatica di Base Maurizio Palesi, Salvatore Serrano 1 Tipi di Dati Valori Un insieme

Dettagli

Introduzione a Java. Riferimenti

Introduzione a Java. Riferimenti Introduzione a Java Si ringraziano Massimiliano Curcio e Matteo Giacalone 1: Introduction 1 Riferimenti! Java tutorial: http://java.sun.com/docs/books/tutorial/! Il Java tutorial è parte di una più ampia

Dettagli

Laboratorio di Programmazione Ottobre. Simone Zaccaria

Laboratorio di Programmazione Ottobre. Simone Zaccaria Laboratorio di Programmazione 27 31 Ottobre Simone Zaccaria Esercizio di Ripasso Scrivere un programma che: 1. dichiari 2 variabili a e b; 2. inizializzi le 2 variabili con valori numerici a scelta; 3.

Dettagli

Sviluppare un programma in FORTRAN

Sviluppare un programma in FORTRAN Sviluppare un programma in FORTRAN Scrivere il file sorgente Editor di testo (emacs, vi, notepad, etc) Compilare Compilatore (ifort, gfortran, etc) Eseguire il programma Riga di comando, doppio click,

Dettagli

Fondamenti di Informatica T-1 Modulo 2

Fondamenti di Informatica T-1 Modulo 2 Fondamenti di Informatica T-1 Modulo 2 Obiettivi di questa lezione 1. Valutazione in cortocircuito 2. If e if innestati 3. Switch 4. Cicli Valutazione in cortocircuito In C, le espressioni booleane sono

Dettagli

Costrutti iterativi. Utilizzo dei costrutti iterativi

Costrutti iterativi. Utilizzo dei costrutti iterativi Costrutti iterativi Utilizzo dei costrutti iterativi Costrutti iterativi (1/3) I costrutti iterativi permettono di eseguire ripetutamente del codice Il linguaggio Java mette a disposizione tre costrutti

Dettagli

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011 Fondamenti di Informatica 1 Prof. B.Buttarazzi.. 2010/2011 Sommario Conversione di tipo:casting Tipo enumerativo lgebra Booleana Esercizi Conversione di tipo:casting Il casting o conversione di tipo avviene

Dettagli

Prima lezione di laboratorio. I mattoni di base di un programma Java. Comandi Unix. Riassunto. Oggi. Un programma complicato.

Prima lezione di laboratorio. I mattoni di base di un programma Java. Comandi Unix. Riassunto. Oggi. Un programma complicato. I mattoni di base di un programma Java Stefano Mizzaro Dipartimento di matematica e informatica Università di Udine http://www.dimi.uniud.it/mizzaro/ mizzaro@dimi.uniud.it Programmazione, lezione 2 1 ottobre

Dettagli

Unità B2.1. I tipi di dato

Unità B2.1. I tipi di dato (A) CONOSCENZA TERMINOLOGICA Dare una breve descrizione dei termini introdotti: char int float double boolean short long String conversione implicita conversione esplicita (B) CONOSCENZA E COMPETENZA Rispondere

Dettagli

Introduzione alla programmazione in C(++)

Introduzione alla programmazione in C(++) Testi Testi Consigliati: Introduzione alla programmazione in C(++) A. Kelley & I. Pohl C didattica e programmazione A. Kelley & I. Pohl C didattica e programmazione B.W. Kernighan & D. D. M. M. Ritchie

Dettagli

Le basi del linguaggio Java

Le basi del linguaggio Java Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 10 Le basi del linguaggio Java Aprile 2010 Le basi del linguaggio Java 1 Prerequisiti Nozioni generali sulla sintassi e semantica del

Dettagli

Appunti sul linguaggio C

Appunti sul linguaggio C Appunti sul linguaggio C Diapositive adattate dalle omonime create dalla Dottoressa di Ricerca Giovanna Melideo per il corso di Laboratorio di Algoritmi e Strutture Dati 04/05/2005 LP2-04/05 - Appunti

Dettagli

Tipi di dato semplici

Tipi di dato semplici Tipi di dato semplici Perché dichiarare una variabile? 2 Una variabile rappresenta uno spazio di memoria centrale Prima dell esecuzione del programma deve essere chiaro quanto spazio serve al programma

Dettagli

Algoritmi e basi del C Struttura di un programma

Algoritmi e basi del C Struttura di un programma Algoritmi e basi del C Struttura di un programma Marco D. Santambrogio marco.santambrogio@polimi.it Ver. aggiornata al 17 Marzo 2015 Compitini Compitini di INFO: 24 Aprile 2015 4.15pm @ C.G.1 (Ed. 9) 21

Dettagli

Linguaggio Java. Robusto. Orientato agli oggetti. Protegge e gestisce dagli errori. Non permette costrutti pericolosi

Linguaggio Java. Robusto. Orientato agli oggetti. Protegge e gestisce dagli errori. Non permette costrutti pericolosi Linguaggio Java Robusto Non permette costrutti pericolosi Eredità Multipla Gestione della Memoria Orientato agli oggetti Ogni cosa ha un tipo Ogni tipo è un oggetto (quasi) Protegge e gestisce dagli errori

Dettagli

Utilizza i tipi di dati comuni a tutto il framework.net Accesso nativo ai tipi.net (C# è nato con.net) Concetti fondamentali:

Utilizza i tipi di dati comuni a tutto il framework.net Accesso nativo ai tipi.net (C# è nato con.net) Concetti fondamentali: 1 Tipi di dati 1 Tipi di dati Utilizza i tipi di dati comuni a tutto il framework.net Accesso nativo ai tipi.net (C# è nato con.net) Concetti fondamentali: Tutto è un oggetto Tutto eredita implicitamente

Dettagli

Costanti e Variabili

Costanti e Variabili Parte 3 Costanti e Variabili Identificatori Un identificatore è un nome che viene associato a diverse entità (costanti, tipi, variabili, funzioni, ecc.) e serve ad identificare la particolare entità Gli

Dettagli

Programmazione web lato client con JavaScript. Marco Camurri 1

Programmazione web lato client con JavaScript. Marco Camurri 1 Programmazione web lato client con JavaScript Marco Camurri 1 JavaScript E' un LINGUAGGIO DI PROGRAMMAZIONE che consente di inserire codice in una pagina web Sintassi simile a Java (e al C), ma NON E'

Dettagli

ELEMENTI DI INFORMATICA L-B. Ing. Claudia Chiusoli

ELEMENTI DI INFORMATICA L-B. Ing. Claudia Chiusoli ELEMENTI DI INFORMATICA L-B Ing. Claudia Chiusoli Materiale Lucidi delle lezioni Date degli appelli Testi di esami precedenti Informazioni e contatti http://www.lia.deis.unibo.it/courses/ Programma del

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Elementi di Base Parte 3 Istruzioni di Assegnazione versione 2.0 Questolavoroè concessoin uso secondoi termini di unalicenzacreative Commons (vedi ultima pagina)

Dettagli

Indice. Prefazione. 3 Oggetti e Java 53

Indice. Prefazione. 3 Oggetti e Java 53 Prefazione xv 1 Architettura dei calcolatori 1 1.1 Calcolatori e applicazioni 1 1.1.1 Alcuni esempi di applicazioni 3 1.1.2 Applicazioni e interfacce 4 1.2 Architettura dei calcolatori 7 1.2.1 Hardware

Dettagli

La sintassi del C APPENDICE H

La sintassi del C APPENDICE H APPENDICE H La sintassi del C Nella notazione della sintassi utilizzata, le categorie sintattiche (non terminali) sono state indicate da uno stile tipografico in corsivo, mentre le parole letterali e i

Dettagli

Tipi elementari, costanti. Tipi di dati. VALORI: un insieme dei valori del tipo OPERAZIONI: per operare su tali valori. Tipi. intero reale carattere

Tipi elementari, costanti. Tipi di dati. VALORI: un insieme dei valori del tipo OPERAZIONI: per operare su tali valori. Tipi. intero reale carattere Tipi elementari, costanti 1 Tipi di dati VALORI: un insieme dei valori del tipo OPERAZIONI: per operare su tali valori Tipi Semplici intero reale carattere Strutturati 2 1 Tipo intero Gli interi servono

Dettagli

IL PROBLEMA DEL PROGETTO

IL PROBLEMA DEL PROGETTO IL PROBLEMA DEL PROGETTO La descrizione del problema, in genere, non indica direttamente il modo per ottenere il risultato voluto (il procedimento risolutivo) Occorrono metodologie per affrontare il problema

Dettagli

ISTRUZIONI ISTRUZIONI

ISTRUZIONI ISTRUZIONI ISTRUZIONI Le istruzioni esprimono azioni che, una volta eseguite, comportano una modifica permanente dello stato interno del programma o del mondo circostante. Le strutture di controllo permettono di

Dettagli

Tipo intero. Esempio. Tipo intero: operatori. Programma PortaMonete.java. Tipi base o primitivi

Tipo intero. Esempio. Tipo intero: operatori. Programma PortaMonete.java. Tipi base o primitivi Tipo intero Tipi base o primitivi Tipi interi: int, byte, short, long Tipi float: float, double Caratteri: char Tipo booleano: boolean Operatori numerici e logici La parola chiave int definisce una variabile

Dettagli

I costrutti forniti dal linguaggio si dividono in corrispondenti classi di istruzioni

I costrutti forniti dal linguaggio si dividono in corrispondenti classi di istruzioni Classi di istruzioni In maniera simile a quanto fatto per i dati, un linguaggio mette a disposizione dei costrutti per realizzare la parte esecutiva dell algoritmo. Questa consiste di: Leggi i valori di

Dettagli

Programmazione con il linguaggio LibreOffice Basic

Programmazione con il linguaggio LibreOffice Basic Programmazione con il linguaggio LibreOffice Basic L ambiente di programmazione Il software LibreOffice possiede un ambiente di programmazione in linguaggio Basic, che consente di creare procedure software

Dettagli