Fondamenti di Programmazione Recupero Primo Parziale 30 Gennaio 2008 Traccia A

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Fondamenti di Programmazione Recupero Primo Parziale 30 Gennaio 2008 Traccia A"

Transcript

1 Fondamenti di Programmazione Recupero Primo Parziale 30 Gennaio 2008 Traccia A Cognome: Nome: Corso di Laurea N. Matricola: Giorno non preferito per l orale (Matematici) Giorno non preferito per l orale (Informatici) 7 feb 8 feb 11 feb 12 feb 13 feb 14 feb 15 feb Esercizio1 (Informatici e Matematici) Dare una grammatica libera dal contesto per il linguaggio di tutte le stringhe sull'alfabeto {a, 0, 1, 2, 3,4,5, &, %, # } che mostrano le seguenti caratteristiche: cominciano e terminano con almeno una 0. possono comparire zero o piu sottostringhe di a, di lunghezza al piu 5, seguite dalla cifra corrispondente la lunghezza della sottostringa stessa (per esempio aaa3) possono esserci sottostringhe di qualsiasi lunghezza sul sottoalfabeto {&, %, # } Ad esempio le seguenti stringhe appartengo al linguaggio L: & % & & % & % & % #& aa2 % & % & a1 & % & aa2 aaaaa5 % # aaa3 & % & & % & aa2 % aa20 Mostrare, scrivendo l albero di derivazione, che la stringa 0 aaa3 a1 aaaa4 & % # & a1 % aaa3 0 può essere generata, a partire dal simbolo iniziale, dalla grammatica da voi definita. Esercizio2 (Informatici) Si supponga di estendere la sintassi dei comandi con la nuova produzione: Com ::= loop_on Exp;Exp do odd Com even Com no_loop la cui semantica informale è descritta come segue: il comando loop_on E1;E2 do odd C1 even C2 no_loop viene ripetuto finchè l'espressione E1, di tipo naturale, è maggiore di E2. Ad ogni iterazione del ciclo viene eseguito il comando C1 o il comando C2 a seconda che il valore di E1+E2 sia rispettivamente dispari o pari. Si dia la semantica del nuovo comando. Esercizio3 (Matematici e Informatici) Dire se i due comandi sono equivalenti. Dimostrare l affermazione. C1: if y-x>1 then y:=x+1 else null; C2: while y-x>1 do y:=y -1 endw; Esercizio4 (Matematici) Data la grammatica libera dal contesto G: S ::= ab ac B ::= b bb C ::= c cb cc dire se G è ambigua. Argomentare la risposta. Regole di Semantica Operazionale del +/- Pascal (stato semplice) Da poter usare per questa parte sono quelle sulla dispensa Semantica Operazionale Barbuti, Bancarella e Montangero pagine: 22, 25, 26, 27, 28.

2 Esercizio 5 (Informatici e Matematici) Dato il seguente programma +-Java, si calcolino: a) lo stato risultante dopo l esecuzione delle righe 1-54; b) lo stato risultante dopo l esecuzione delle righe 1-63; c) lo stato risultante dopo l esecuzione delle righe 1-74; d) lo stato risultante dopo l esecuzione di tutto il programma; si mostri la derivazione di valutazione del comando di riga 75 nello stato calcolato al punto c) (NB: il comando di riga 75 termina alla riga 83). In particolare dettagliare la chiamata del metodo Fondamenti.setAula(1);. 1. class Aula { 2. private int nome; 3. private int numposti; 4. private boolean disponibile ; public Aula(int n){ 7. this.nome=n; 8. this.numposti=0 ; 9. this.disponibile=true ; 10. } 11. public void setcapienza (int n){ 12. this.numposti=n ; 13. } 14. public void setdisponib (boolean d){ 15. this.disponibile=d ; 16. } 17. public int getcapienza (){ 18. return this.numposti; 19. } 20. public boolean getdisponib (){ 21. return this.disponibile; 22. } 23. } class Esame { 26. private int codice; 27. private int aula ; 28. private int aula2; 29. private int partecipanti; public Esame (int cod) { 32. this.codice = cod; 33. this.aula = 0; 34. this.aula2=0; 35. this.partecipanti = 0 ; 36. } 37. public void setaula (int a){ 38. boolean aula_status= (this.aula = = 0); 39. if (aula_status) this.aula=a; 40. } 41. public void setaula2 (int a){ 42. this.aula2=a ; 43. } 44. public void addpartecipanti (int n){ 45. this.partecipanti= this.partecipanti+n ; 46. } 47. public int getaula (){ 48. return this.aula; 49. } 50. public int getpartecipanti (){ 51. return this.partecipanti; 52. } 53. }

3 public class Program { 56. public static void main(string[] foo) { 57. int p = 30; 58. Aula AulaMagna =new Aula(1); 59. Aula UnoSette = new Aula(17); 60. Aula UnoSei = new Aula(16); 61. Esame Fondamenti = new Esame(0001); 62. Esame SistemiOperativi = new Esame(0056); AulaMagna.setCapienza(105); 65. UnoSette.setCapienza(70); 66. UnoSei.setCapienza(50); 67. Fondamenti.addPartecipanti(p*2); 68. SistemiOperativi.addPartecipanti(p); 69. while (p> 0) { 70. Fondamenti.addPartecipanti(2); 71. SistemiOperativi.addPartecipanti(1); 72. p = p - 1; 73. } if (Fondamenti.getPartecipanti()<=AulaMagna.getCapienza()) 76. {Fondamenti.setAula(1); 77. AulaMagna.setDisponib (false); 78. } 79. else {Fondamenti.setAula(1); 80. Fondamenti.setAula2(16); 81. AulaMagna.setDisponib (false); 82. UnoSei.setDisponib(false); 83. } if (SistemiOperativi.getPartecipanti()<= UnoSette.getCapienza()) { 86. SistemiOperativi.setAula(17); 87. UnoSette.setDisponib(false); 88. } 89. else if (UnoSei.getDisponib()) { 90. SistemiOperativi.setAula(17); 91. SistemiOperativi.setAula2(16); 92. UnoSette.setDisponib (false); 93. UnoSei.setDisponib(false); 94. } 95. } 96. }

4 Fondamenti di Programmazione Recupero Primo Parziale 30 Gennaio 2008 Traccia B Cognome: Nome: Corso di Laurea N. Matricola: Giorno non preferito per l orale (Matematici) Giorno non preferito per l orale (Informatici) 7 feb 8 feb 11 feb 12 feb 13 feb 14 feb 15 feb Esercizio1 (Informatici e Matematici) Dare una grammatica libera dal contesto per il linguaggio L di tutte le stringhe sull'alfabeto {a, 0, 1, 2, 3, 4, 5, &, %, #} che mostrano le seguenti caratteristiche: cominciano e terminano con almeno uno 0. ogni volta che compare una cifra maggiore di zero, questa deve essere seguita da altrettante a (per esempio 3aaa) possono esserci sottostringhe di qualsiasi lunghezza sul sottoalfabeto {&, %, # } Ad esempio le seguenti stringhe appartengo al linguaggio L: & % # % & % # # & 2aa % & % & 1a & # & 2aa 5aaaaa % aaa & % & & % & 2aa % 2aa0 Mostrare, scrivendo l albero di derivazione, che la stringa 0 3aaa 1a 4aaaa & % & 2aa& % & 1a % 0 può essere generata, a partire dal simbolo iniziale, dalla grammatica da voi definita. Esercizio2 (Informatici) Si supponga di estendere la sintassi dei comandi con la nuova produzione: Com ::= loop_on Exp;Exp do odd Com even Com no_loop la cui semantica informale è descritta come segue: il comando loop_on E1;E2 do odd C1 even C2 no_loop viene ripetuto finchè l'espressione E1, di tipo naturale, è maggiore di E2. Ad ogni iterazione del ciclo viene eseguito il comando C1 o il comando C2 a seconda che il valore di E1-E2 sia rispettivamente dispari o pari. Si dia la semantica del nuovo comando. Esercizio3 (Matematici e Informatici) Dire se i due comandi sono equivalenti. Dimostrare l affermazione. C1: if k-x>z then k:=z+1 else null; C2: while k-x>z do k:=k - 1 endw; Esercizio4 (Matematici) Data la grammatica libera dal contesto G: S ::= ac ab B ::= b bb A ::= a aa abc C ::= c ca cc dire se G è ambigua. Argomentare la risposta. Regole di Semantica Operazionale del +/- Pascal (stato semplice) Da poter usare per questa parte sono quelle sulla dispensa Semantica Operazionale Barbuti, Bancarella e Montangero pagine: 22, 25, 26, 27, 28.

5 Esercizio 5 (Informatici e Matematici) Dato il seguente programma +-Java, si calcolino: e) lo stato risultante dopo l esecuzione delle righe 1-54; f) lo stato risultante dopo l esecuzione delle righe 1-63; g) lo stato risultante dopo l esecuzione delle righe 1-84; h) lo stato risultante dopo l esecuzione di tutto il programma; si mostri la derivazione di valutazione del comando di riga 85 nello stato calcolato al punto c) (NB: il comando di riga 85 termina alla riga 94). In particolare dettagliare la chiamata del metodo SistemiOperativi.setAula(17);. 1. class Aula { 2. private int nome; 3. private int numposti; 4. private boolean disponibile ; public Aula(int n){ 7. this.nome=n; 8. this.numposti=0 ; 9. this.disponibile=true ; 10. } 11. public void setcapienza (int n){ 12. this.numposti=n ; 13. } 14. public void setdisponib (boolean d){ 15. this.disponibile=d ; 16. } 17. public int getcapienza (){ 18. return this.numposti; 19. } 20. public boolean getdisponib (){ 21. return this.disponibile; 22. } 23. } class Esame { 26. private int codice; 27. private int aula ; 28. private int aula2; 29. private int partecipanti; public Esame (int cod) { 32. this.codice = cod; 33. this.aula = 0; 34. this.aula2=0; 35. this.partecipanti = 0 ; 36. } 37. public void setaula (int a){ 38. boolean aula_status= (this.aula = = 0); 39. if (aula_status) this.aula=a; 40. } 41. public void setaula2 (int a){ 42. this.aula2=a ; 43. } 44. public void addpartecipanti (int n){ 45. this.partecipanti= this.partecipanti+n ; 46. } 47. public int getaula (){ 48. return this.aula; 49. } 50. public int getpartecipanti (){ 51. return this.partecipanti; 52. } 53. }

6 public class Program { 56. public static void main(string[] foo) { 57. int p = 30; 58. Aula AulaMagna =new Aula(1); 59. Aula UnoSette = new Aula(17); 60. Aula UnoSei = new Aula(16); 61. Esame Fondamenti = new Esame(0001); 62. Esame SistemiOperativi = new Esame(0056); AulaMagna.setCapienza(105); 65. UnoSette.setCapienza(70); 66. UnoSei.setCapienza(50); 67. Fondamenti.addPartecipanti(p*2); 68. SistemiOperativi.addPartecipanti(p); 69. while (p> 0) { 70. Fondamenti.addPartecipanti(2); 71. SistemiOperativi.addPartecipanti(1); 72. p = p - 1; 73. } if (Fondamenti.getPartecipanti()<=AulaMagna.getCapienza()) 76. {Fondamenti.setAula(1); 77. AulaMagna.setDisponib (false); 78. } 79. else {Fondamenti.setAula(1); 80. Fondamenti.setAula2(16); 81. AulaMagna.setDisponib (false); 82. UnoSei.setDisponib(false); 83. } if (SistemiOperativi.getPartecipanti()<= UnoSette.getCapienza()) { 86. SistemiOperativi.setAula(17); 87. UnoSette.setDisponib(false); 88. } 89. else if (UnoSei.getDisponib()) { 90. SistemiOperativi.setAula(17); 91. SistemiOperativi.setAula2(16); 92. UnoSette.setDisponib (false); 93. UnoSei.setDisponib(false); 94. } 95. } 96. }

7 Fondamenti di Programmazione Recupero Primo Parziale 30 Gennaio 2008 Traccia C Cognome: Nome: Corso di Laurea N. Matricola: Giorno non preferito per l orale (Matematici) Giorno non preferito per l orale (Informatici) 7 feb 8 feb 11 feb 12 feb 13 feb 14 feb 15 feb Esercizio1 (Informatici e Matematici) Dare una grammatica libera dal contesto per il linguaggio L di tutte le stringhe sull'alfabeto {a, 1, 2, 3, 4, 5, &, %, #, $} che mostrano le seguenti caratteristiche: cominciano e terminano con almeno una a. ogni volta che compare una cifra, questa deve essere seguita da altrettanti $ (per esempio 3$$$) possono esserci sottostringhe di qualsiasi lunghezza sul sottoalfabeto {&, %, # } Ad esempio le seguenti stringhe appartengo al linguaggio L: 11. aa 12. a & % & # & % a 13. a & % & & % & 2$$ % a 14. a 3$$$ & % & # & % & 2$$ % 2$$ a Mostrare, scrivendo l albero di derivazione, che la stringa a 3$$$ 1$ # & % & 2$$ # 1$ % 3$$$ a può essere generata, a partire dal simbolo iniziale, dalla grammatica da voi definita. Esercizio2 (Informatici) Si supponga di estendere la sintassi dei comandi di + Pascal con la nuova produzione: Com ::= loop_on Exp do odd Com even Com no_loop la cui semantica informale è descritta come segue: il comando loop_on E do odd C1 even C2 no_loop viene ripetuto finchè l'espressione E, di tipo naturale, è maggiore di 0. Ad ogni iterazione del ciclo viene eseguito il comando C1 o il comando C2 a seconda che il valore di E sia rispettivamente dispari o pari. Si dia la semantica del nuovo comando. Esercizio3 (Matematici e Informatici) Dire se i due comandi + Pascal sono equivalenti. Dimostrare l affermazione. C1: if k-x>1 then k:=x+1 else null; C2: while k-x>1 do k:=x-1 endw; Esercizio4 (Matematici) Data la grammatica libera dal contesto G: S ::= aa ab A ::= c cab cc B ::= b bb dire se G è ambigua. Argomentare la risposta. Regole di Semantica Operazionale del +/- Pascal (stato semplice) Da poter usare per questa parte sono quelle sulla dispensa Semantica Operazionale Barbuti, Bancarella e Montangero pagine: 22, 25, 26, 27, 28.

8 Esercizio 5 (Informatici e Matematici) Dato il seguente programma +-Java, si calcolino: i) lo stato risultante dopo l esecuzione delle righe 1-54; j) lo stato risultante dopo l esecuzione delle righe 1-63; k) lo stato risultante dopo l esecuzione delle righe 1-74; l) lo stato risultante dopo l esecuzione di tutto il programma; si mostri la derivazione di valutazione del comando di riga 75 nello stato calcolato al punto c) (NB: il comando di riga 75 termina alla riga 83). In particolare dettagliare la chiamata del metodo Fondamenti.setAula(1);. 1. class Aula { 2. private int nome; 3. private int numposti; 4. private boolean disponibile ; public Aula(int n){ 7. this.nome=n; 8. this.numposti=0 ; 9. this.disponibile=true ; 10. } 11. public void setcapienza (int n){ 12. this.numposti=n ; 13. } 14. public void setdisponib (boolean d){ 15. this.disponibile=d ; 16. } 17. public int getcapienza (){ 18. return this.numposti; 19. } 20. public boolean getdisponib (){ 21. return this.disponibile; 22. } 23. } class Esame { 26. private int codice; 27. private int aula ; 28. private int aula2; 29. private int partecipanti; public Esame (int cod) { 32. this.codice = cod; 33. this.aula = 0; 34. this.aula2=0; 35. this.partecipanti = 0 ; 36. } 37. public void setaula (int a){ 38. boolean aula_status= (this.aula = = 0); 39. if (aula_status) this.aula=a; 40. } 41. public void setaula2 (int a){ 42. this.aula2=a ; 43. } 44. public void addpartecipanti (int n){ 45. this.partecipanti= this.partecipanti+n ; 46. } 47. public int getaula (){ 48. return this.aula; 49. } 50. public int getpartecipanti (){ 51. return this.partecipanti; 52. } 53. }

9 public class Program { 56. public static void main(string[] foo) { 57. int p = 30; 58. Aula AulaMagna =new Aula(1); 59. Aula UnoSette = new Aula(17); 60. Aula UnoSei = new Aula(16); 61. Esame Fondamenti = new Esame(0001); 62. Esame SistemiOperativi = new Esame(0056); AulaMagna.setCapienza(105); 65. UnoSette.setCapienza(70); 66. UnoSei.setCapienza(50); 67. Fondamenti.addPartecipanti(p*2); 68. SistemiOperativi.addPartecipanti(p*2); 69. while (p> 0) { 70. Fondamenti.addPartecipanti(2); 71. SistemiOperativi.addPartecipanti(1); 72. p = p - 2; 73. } if (Fondamenti.getPartecipanti()<=AulaMagna.getCapienza()) 76. {Fondamenti.setAula(1); 77. AulaMagna.setDisponib (false); 78. } 79. else {Fondamenti.setAula(1); 80. Fondamenti.setAula2(16); 81. AulaMagna.setDisponib (false); 82. UnoSei.setDisponib(false); 83. } if (SistemiOperativi.getPartecipanti()<= UnoSette.getCapienza()) { 86. SistemiOperativi.setAula(17); 87. UnoSette.setDisponib(false); 88. } 89. else if (UnoSei.getDisponib()) { 90. SistemiOperativi.setAula(17); 91. SistemiOperativi.setAula2(16); 92. UnoSette.setDisponib (false); 93. UnoSei.setDisponib(false); 94. } 95. } 96. }

10 Fondamenti di Programmazione Recupero Primo Parziale 30 Gennaio 2008 Traccia D Cognome: Nome: Corso di Laurea N. Matricola: Giorno non preferito per l orale (Matematici) Giorno non preferito per l orale (Informatici) 7 feb 8 feb 11 feb 12 feb 13 feb 14 feb 15 feb Esercizio1 (Informatici e Matematici) Dare una grammatica libera dal contesto per il linguaggio di tutte le stringhe sull'alfabeto {b,$, 1, 2, 3,4,5, &, %, # } che mostrano le seguenti caratteristiche: cominciano e terminano con almeno una $. possono comparire zero o piu sottostringhe di b, di lunghezza al più 5, seguite dalla cifra corrispondente la lunghezza della sottostringa stessa (per esempio bbb3) possono esserci sottostringhe di qualsiasi lunghezza sul sottoalfabeto {&, %, # } Ad esempio le seguenti stringhe appartengo al linguaggio L: 15. $$ 16. $ & % & # & % $ 17. $ & % & & % & bb2 % $ 18. $ bbb3 & # & % & bb2 % bb2$ b)mostrare, scrivendo l albero di derivazione, che la stringa $ bbb3 b1 bbbb4 & % # & b1 % bbb3 $ può essere generata, a partire dal simbolo iniziale, dalla grammatica da voi definita. Esercizio2 (Informatici) Si supponga di estendere la sintassi dei comandi con la nuova produzione: Com ::= loop_on Exp do multiple5 Com else Com no_loop la cui semantica informale è descritta come segue: il comando loop_on E do multiple5 C1 else C2 no_loop viene ripetuto finchè l'espressione E, di tipo naturale, è maggiore di 0. Ad ogni iterazione del ciclo viene eseguito il comando C1 o il comando C2 a seconda che il valore di E sia rispettivamente multiplo di 5 o non multiplo di 5. Si dia la semantica del nuovo comando. Esercizio3 (Matematici e Informatici) Dire se i due comandi sono equivalenti. Dimostrare l affermazione. C1: if k-x>y then k:=x+y else null; C2: while k-x>y do k:=k -1 endw; Esercizio4 (Matematici) Data la grammatica libera dal contesto G: S ::= aa ac B ::= b bb A ::= a aa ab C ::= c ca cc dire se G è ambigua. Argomentare la risposta. Regole di Semantica Operazionale del +/- Pascal (stato semplice) Da poter usare per questa parte sono quelle sulla dispensa Semantica Operazionale Barbuti, Bancarella e Montangero pagine: 22, 25, 26, 27, 28.

11 Esercizio 5 (Informatici e Matematici) Dato il seguente programma +-Java, si calcolino: m) lo stato risultante dopo l esecuzione delle righe 1-54; n) lo stato risultante dopo l esecuzione delle righe 1-63; o) lo stato risultante dopo l esecuzione delle righe 1-84; p) lo stato risultante dopo l esecuzione di tutto il programma; si mostri la derivazione di valutazione del comando di riga 85 nello stato calcolato al punto c) (NB: il comando di riga 85 termina alla riga 94). In particolare dettagliare la chiamata del metodo SistemiOperativi.setAula(17);. 1. class Aula { 2. private int nome; 3. private int numposti; 4. private boolean disponibile ; public Aula(int n){ 7. this.nome=n; 8. this.numposti=0 ; 9. this.disponibile=true ; 10. } 11. public void setcapienza (int n){ 12. this.numposti=n ; 13. } 14. public void setdisponib (boolean d){ 15. this.disponibile=d ; 16. } 17. public int getcapienza (){ 18. return this.numposti; 19. } 20. public boolean getdisponib (){ 21. return this.disponibile; 22. } 23. } class Esame { 26. private int codice; 27. private int aula ; 28. private int aula2; 29. private int partecipanti; public Esame (int cod) { 32. this.codice = cod; 33. this.aula = 0; 34. this.aula2=0; 35. this.partecipanti = 0 ; 36. } 37. public void setaula (int a){ 38. boolean aula_status= (this.aula = = 0); 39. if (aula_status) this.aula=a; 40. } 41. public void setaula2 (int a){ 42. this.aula2=a ; 43. } 44. public void addpartecipanti (int n){ 45. this.partecipanti= this.partecipanti+n ; 46. } 47. public int getaula (){ 48. return this.aula; 49. } 50. public int getpartecipanti (){ 51. return this.partecipanti; 52. } 53. }

12 public class Program { 56. public static void main(string[] foo) { 57. int p = 30; 58. Aula AulaMagna =new Aula(1); 59. Aula UnoSette = new Aula(17); 60. Aula UnoSei = new Aula(16); 61. Esame Fondamenti = new Esame(0001); 62. Esame SistemiOperativi = new Esame(0056); AulaMagna.setCapienza(105); 65. UnoSette.setCapienza(70); 66. UnoSei.setCapienza(50); 67. Fondamenti.addPartecipanti(p*2); 68. SistemiOperativi.addPartecipanti(p*2); 69. while (p> 0) { 70. Fondamenti.addPartecipanti(2); 71. SistemiOperativi.addPartecipanti(1); 72. p = p - 2; 73. } if (Fondamenti.getPartecipanti()<=AulaMagna.getCapienza()) 76. {Fondamenti.setAula(1); 77. AulaMagna.setDisponib (false); 78. } 79. else {Fondamenti.setAula(1); 80. Fondamenti.setAula2(16); 81. AulaMagna.setDisponib (false); 82. UnoSei.setDisponib(false); 83. } if (SistemiOperativi.getPartecipanti()<= UnoSette.getCapienza()) { 86. SistemiOperativi.setAula(17); 87. UnoSette.setDisponib(false); 88. } 89. else if (UnoSei.getDisponib()) { 90. SistemiOperativi.setAula(17); 91. SistemiOperativi.setAula2(16); 92. UnoSette.setDisponib (false); 93. UnoSei.setDisponib(false); 94. } 95. } 96. }

Fondamenti di Programmazione - 08/02/ Parziale e Esame Finale (1 appello - 1 semestre A.A. 12/13) Cognome:... Nome:... Matricola:...

Fondamenti di Programmazione - 08/02/ Parziale e Esame Finale (1 appello - 1 semestre A.A. 12/13) Cognome:... Nome:... Matricola:... Fondamenti di Programmazione - 08/02/2013 2 Parziale e Esame Finale (1 appello - 1 semestre A.A. 12/13) Cognome:... Nome:... Matricola:... TOTALE: Svolgere Es.1, Es.2, Es.3 Tempo: 2 ore II PARZIALE: Es.2,

Dettagli

Quiz sui linguaggi CF

Quiz sui linguaggi CF Fondamenti dell Informatica 1 semestre Quiz sui linguaggi CF Prof. Giorgio Gambosi a.a. 2018-2019 Problema 1: Si consideri la seguente grammatica context free G, dove S, NP, V P, P P, A sono i simboli

Dettagli

Quiz sui linguaggi CF

Quiz sui linguaggi CF Fondamenti dell Informatica 1 semestre Quiz sui linguaggi CF Prof. Giorgio Gambosi a.a. 2014-2015 Problema 1: Si consideri la seguente grammatica context free G, dove S, NP, V P, P P, A sono i simboli

Dettagli

Backus Naur Form. Paolo Bison. Fondamenti di Informatica 1 A.A. 2004/05 Università di Padova. BNF, Paolo Bison, A.A ,

Backus Naur Form. Paolo Bison. Fondamenti di Informatica 1 A.A. 2004/05 Università di Padova. BNF, Paolo Bison, A.A , p.1/19 Backus Naur Form Paolo Bison Fondamenti di Informatica 1 A.A. 2004/05 Università di Padova Linguaggio di programmazione p.2/19 strumento linguistico per scrivere una sequenza di istruzioni (programma)

Dettagli

Quiz sui linguaggi regolari

Quiz sui linguaggi regolari Fondamenti dell Informatica 1 semestre Quiz sui linguaggi regolari Prof. Giorgio Gambosi a.a. 2016-2017 Problema 1: Data l espressione regolare a, definita su {a, b}, descrivere il linguaggio corrispondente

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

Programmazione. 23 novembre 2016

Programmazione. 23 novembre 2016 Programmazione (Vers. B) 23 novembre 2016 Cognome... Nome... Matricola... Anno di corso... Alcune delle seguenti domande riguardano il vostro numero di matricola. Scrivete il vostro numero nel seguente

Dettagli

public static boolean occorre (int[] a, int n) { int i = 0; boolean trovato = false;

public static boolean occorre (int[] a, int n) { int i = 0; boolean trovato = false; Metodi iterativi con array monodimensionali 1. Scrivere un metodo che, dato un array di interi a, restituisce il valore minimo in a. public static int minimo (int[] a) { int min = a[0]; for (int i=1; i

Dettagli

Algoritmi di Ricerca. Esempi di programmi Java

Algoritmi di Ricerca. Esempi di programmi Java Fondamenti di Informatica Algoritmi di Ricerca Esempi di programmi Java Fondamenti di Informatica - D. Talia - UNICAL 1 Ricerca in una sequenza di elementi Data una sequenza di elementi, occorre verificare

Dettagli

Corso: Fondamenti di Informatica (Gruppo 2) a.a Corsi di laurea: Ing. Settore Informazione

Corso: Fondamenti di Informatica (Gruppo 2) a.a Corsi di laurea: Ing. Settore Informazione Corso: Fondamenti di Informatica (Gruppo 2) a.a. 2017-18 Corsi di laurea: Ing. Settore Informazione Questionario a Risposte Multiple per auto-valutazione del Lab05 Domanda n. 1 Argomento: Iterazioni, array

Dettagli

Algoritmi di Ricerca. Esempi di programmi Java

Algoritmi di Ricerca. Esempi di programmi Java Fondamenti di Informatica Algoritmi di Ricerca Esempi di programmi Java Fondamenti di Informatica - D. Talia - UNICAL 1 Ricerca in una sequenza di elementi Data una sequenza di elementi, occorre verificare

Dettagli

osservazione: 1 MCD(m,n) min(m,n) = si provano i numeri compresi tra 1 e min(m,n) conviene iniziare da min(m,n) e scendere verso 1

osservazione: 1 MCD(m,n) min(m,n) = si provano i numeri compresi tra 1 e min(m,n) conviene iniziare da min(m,n) e scendere verso 1 Esempio: Leggere due interi positivi e calcolarne il massimo comun divisore. MCD(12, 8) = 4 MCD(12, 6) = 6 MCD(12, 7) = 1 Sfruttando direttamente la definizione di MCD osservazione: 1 MCD(m,n) min(m,n)

Dettagli

osservazione: 1 MCD(m,n) min(m,n) = si provano i numeri compresi tra 1 e min(m,n) conviene iniziare da min(m,n) e scendere verso 1

osservazione: 1 MCD(m,n) min(m,n) = si provano i numeri compresi tra 1 e min(m,n) conviene iniziare da min(m,n) e scendere verso 1 Esempio: Leggere due interi positivi e calcolarne il massimo comun divisore. MCD(12, 8) = 4 MCD(12, 6) = 6 MCD(12, 7) = 1 Sfruttando direttamente la definizione di MCD osservazione: 1 MCD(m,n) min(m,n)

Dettagli

Istruzioni Condizionali

Istruzioni Condizionali Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa 10 Istruzioni Condizionali Carla Limongelli Novembre 2011 http://www.dia.uniroma3.it/~java/fondinf/ Istruzioni condizionali 1 Contenuti

Dettagli

Linguaggi e grammatiche. Esercizi. Linguaggi e grammatiche. Linguaggi e grammatiche

Linguaggi e grammatiche. Esercizi. Linguaggi e grammatiche. Linguaggi e grammatiche Esercizi Grammatiche, scoping Univ. di Udine Grammatiche, scoping (Univ. di Udine) Esercizi 1 / 29 Linguaggi e grammatiche Definire i numeri divisibili per 2 in base 3, come grammatica libera da contesto

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

Lezione 4 Casting, stringhe e caratteri, operatori relazionali, espressioni e variabili booleane

Lezione 4 Casting, stringhe e caratteri, operatori relazionali, espressioni e variabili booleane Lezione 4 Casting, stringhe e caratteri, operatori relazionali, espressioni e variabili booleane Barbara Rita Barricelli Corso di Laboratorio di Programmazione -Turno B (Cognomi M-Z) CdL in Informatica

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

Esercizi su analisi sintattica e JavaCC

Esercizi su analisi sintattica e JavaCC Linguaggi per il Web prof. Riccardo Rosati corso di Laurea in Ingegneria Informatica Sapienza Università di Roma, a.a. 2013/2014 Esercizi su analisi sintattica e JavaCC Esercizio 1 Si consideri il frammento

Dettagli

Logica per la Programmazione

Logica per la Programmazione Logica per la Programmazione Lezione 13 Comando Iterativo Sequenze (array) ed Aggiornamento Selettivo pag. 1 Regole di Inferenza per Triple di Hoare: Comando Iterativo Semantica informale del Comando Iterativo

Dettagli

import java.io.*; Pag. 1 di 15

import java.io.*; Pag. 1 di 15 8 studenti di 5 classi quinte hanno partecipato alle olimpiadi della matematica. Stampare l elenco degli studenti in ordine decrescente di punteggio ottenuto e la rispettiva classe di appartenenza. Realizzare

Dettagli

Corso: Fondamenti di Informatica 1 (gruppo 8-9) Corsi di laurea: Area dell'informazione Questionario di autovalutazione 4

Corso: Fondamenti di Informatica 1 (gruppo 8-9) Corsi di laurea: Area dell'informazione Questionario di autovalutazione 4 Corso: Fondamenti di Informatica 1 (gruppo 8-9) Corsi di laurea: Area dell'informazione Questionario di autovalutazione 4 Domanda n. 1 Argomento: Rappresentazione dell'informazione Domanda: Il numero binario

Dettagli

Esercizi. Grammatiche, scoping. Univ. di Udine. Grammatiche, scoping (Univ. di Udine) Esercizi 1 / 29

Esercizi. Grammatiche, scoping. Univ. di Udine. Grammatiche, scoping (Univ. di Udine) Esercizi 1 / 29 Esercizi Grammatiche, scoping Univ. di Udine Grammatiche, scoping (Univ. di Udine) Esercizi 1 / 29 Linguaggi e grammatiche Definire i numeri divisibili per 2 in base 3, come grammatica libera da contesto

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

Array di array. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 03. A. Miola Febbraio 2008

Array di array. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 03. A. Miola Febbraio 2008 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa Array di array A. Miola Febbraio 8 http://www.dia.uniroma.it/~java/fondinf/ Array di array Contenuti Array bidimensionali creazione

Dettagli

Grammatiche Parse trees Lezione del 17/10/2012

Grammatiche Parse trees Lezione del 17/10/2012 Fondamenti di Programmazione A.A. 2012-2013 Grammatiche Parse trees Lezione del 17/10/2012 AUTILI MARCO http://www.di.univaq.it/marco.autili/ Riassunto lezione precedente Sintassi vs Semantica Stringhe,

Dettagli

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa E02 Grammatiche Esercizi Alfonso Miola Settembre 2007 http://www.dia.uniroma3.it/~java/fondinf1/ Grammatiche - Esercizi 1 Grammatica

Dettagli

Esempi di programmi. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa E01. A. Miola Settembre 2007

Esempi di programmi. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa E01. A. Miola Settembre 2007 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa E01 Esempi di programmi A. Miola Settembre 2007 http://www.dia.uniroma3.it/~java/fondinf1/ Esempi di programmi - 1 1 Contenuti

Dettagli

Fondamenti di Informatica T-1

Fondamenti di Informatica T-1 Fondamenti di Informatica T-1 Array Tutor: Allegra De Filippo allegra.defilippo@unibo.it a.a. 2016/2017 Fondamenti di Informatica T-1 Allegra De Filippo 1 / 14 ARRAY (1) Un vettore (array) è un insieme

Dettagli

Esercizio 2 (punti 7) Dato il seguente programma C: #include <stdio.h> int swap(int * nome, int length);

Esercizio 2 (punti 7) Dato il seguente programma C: #include <stdio.h> int swap(int * nome, int length); Fondamenti di Informatica L-A (A.A. 004/005) - Ingegneria Informatica Prof.ssa Mello & Prof. Bellavista I Prova Intermedia del 11/11/004 - durata h - COMPITO B Esercizio 1 (punti 1) Una associazione di

Dettagli

La programmazione nel linguaggio JavaScript. Il programma

La programmazione nel linguaggio JavaScript. Il programma Il programma Nei linguaggi di programmazione il programma è una funzione che ha come argomento i dati digitati in input e opportunamente convertiti. la descrizione della funzione (ovvero il programma)

Dettagli

Studente (Cognome Nome): Corso di Informatica Corso di Laurea in Ingegneria Gestionale a.a Secondo Compitino 21 Dicembre 2006

Studente (Cognome Nome): Corso di Informatica Corso di Laurea in Ingegneria Gestionale a.a Secondo Compitino 21 Dicembre 2006 Studente (Cognome Nome): Matricola: Corso di Informatica Corso di Laurea in Ingegneria Gestionale a.a. 2006-07 Secondo Compitino 21 Dicembre 2006 Si noti che le soluzioni ai quesiti saranno considerate

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

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

3. un metodo che restituisce l elenco delle matricole di tutti gli studenti del corso;

3. un metodo che restituisce l elenco delle matricole di tutti gli studenti del corso; Un esempio di definizione di classe con array di oggetti Sia data la classe StudUniv per gli studenti universitari (definita in una lezione precedente). Scrivere una nuova classe Corso, dove ciascun corso

Dettagli

Corso di Laurea in Ingegneria Gestionale Esame di Informatica a.a settembre 2012

Corso di Laurea in Ingegneria Gestionale Esame di Informatica a.a settembre 2012 Cognome Nome Matricola Postazione PC Corso di Laurea in Ingegneria Gestionale Esame di Informatica a.a. 2011-12 17 settembre 2012 Testo Il database di un videonoleggio è costituito da due vettori paralleli.

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

System.out.print("\tATTENZIONE: hi inserito un valore non valido!\n");

System.out.print(\tATTENZIONE: hi inserito un valore non valido!\n); Creare un applicazione console che dato l indice della borsa di Milano nel giorno precedente, calcola la variazione percentuale rispetto al valore dell indice del giorno corrente. import java.io.*; public

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

Corso di Laurea in Ingegneria Gestionale Esame di Informatica a.a luglio 2011

Corso di Laurea in Ingegneria Gestionale Esame di Informatica a.a luglio 2011 Cognome Nome Matricola Postazione PC Corso di Laurea in Ingegneria Gestionale Esame di Informatica a.a. 2010-11 8 luglio 2011 Testo Il database di un videonoleggio è costituito da due vettori paralleli.

Dettagli

Esercizi. Espressioni. ESERCIZIO 1 Determinare le precedenze e quindi l ordine di esecuzione delle operazioni a*(b+-(c/d)/e)*(f-g%h)

Esercizi. Espressioni. ESERCIZIO 1 Determinare le precedenze e quindi l ordine di esecuzione delle operazioni a*(b+-(c/d)/e)*(f-g%h) Esercizi Espressioni ESERCIZIO 1 Determinare le precedenze e quindi l ordine di esecuzione delle operazioni a*(b+-(c/d)/e)*(f-g%h) 1 ESERCIZIO 2 int i,n; i=10; n=i++%5; Domanda i=? n=? i=10; n=++i%5; Domanda

Dettagli

Programmazione II. Lezione 3. Daniele Sgandurra 26/10/2010.

Programmazione II. Lezione 3. Daniele Sgandurra 26/10/2010. Programmazione II Lezione 3 Daniele Sgandurra daniele.sgandurra@iit.cnr.it 26/10/2010 1/35 Programmazione II Lezione 3 26/10/2010 Sommario 1 2 Semantica 2/35 Programmazione II Lezione 3 26/10/2010 Parte

Dettagli

Esercizi su Array di Stringhe

Esercizi su Array di Stringhe Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa E10 Esercizi su Array di Stringhe A. Miola Gennaio 2012 1 Problema su array di stringhe... q Dato un array di stringhe, verificare

Dettagli

Esercitazione Fondamenti di informatica 2

Esercitazione Fondamenti di informatica 2 Esercitazione Fondamenti di informatica 2 Array ed Oggetti JAVA 13 marzo 2006 L oggetto atrice Realizzare una classe oggetto atrice. Lo stato dell oggetto Vettore, è rappresentato da un array di array

Dettagli

Fondamenti di Informatica

Fondamenti di Informatica Fondamenti di Informatica (L-Z) Corso di Laurea in Ingegneria Gestionale Introduzione alla Programmazione Prof. Stefano Mariani Dott. Alket Cecaj Indice Il concetto di algoritmo Algoritmo vs. programma

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 09 Linguaggi Sintassi e Semantica Alfonso Miola Ottobre 2009 http://www.dia.uniroma3.it/~java/fondinf/ Linguaggi - Sintassi e Semantica

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

Definire tramite una grammatica ad attributi il

Definire tramite una grammatica ad attributi il 1 ESERCIZI ESERCIZIO 1 Definire tramite una grammatica ad attributi il linguaggio L = {a n b n c n n 0} Implementare un analizzatore sintattico/ semantico a discesa ricorsiva Costruire le tabelle di analisi

Dettagli

COGNOME NOME MATRICOLA DATA

COGNOME NOME MATRICOLA DATA COGNOME NOME MATRICOLA DATA 1. Scrivere la classe Distributore che ha i seguenti attributi marca: una stringa indicante la marca del distributore, numeropezzi un intero indicante il numero totale dei pezzi

Dettagli

9 - Array. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

9 - Array. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo 9 - Array 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 Corso di Laurea

Dettagli

Programmazione a Oggetti e JAVA. Prof. B.Buttarazzi A.A. 2012/2013

Programmazione a Oggetti e JAVA. Prof. B.Buttarazzi A.A. 2012/2013 Programmazione a Oggetti e JAVA Prof. B.Buttarazzi A.A. 2012/2013 Sommario Array Array monodimensionali Array bidimensionali Esercizi 16/01/2013 2 ARRAY Gli array sono oggetti utilizzati in Java per memorizzare

Dettagli

Corso di Laurea Ingegneria Informatica

Corso di Laurea Ingegneria Informatica Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Esercizi di ripasso Carla Limongelli Gennaio 2012 http://www.dia.uniroma3.it/~java/fondinf/ Prova Intermedia 1 Modalità della Prova Intermedia

Dettagli

Linguaggi di programmazione: sintassi e semantica Sintassi fornita con strumenti formali: Semantica spesso data in modo informale

Linguaggi di programmazione: sintassi e semantica Sintassi fornita con strumenti formali: Semantica spesso data in modo informale LOGICA DI HOARE INTRODUZIONE Linguaggi di programmazione: sintassi e semantica Sintassi fornita con strumenti formali: es. grammatica in BNF Semantica spesso data in modo informale di stile operazionale

Dettagli

Programmazione A.A Costrutti di base. ( Lezione XII, parte I ) Gestione dell input. Prof. Giovanni Gallo Dr.

Programmazione A.A Costrutti di base. ( Lezione XII, parte I ) Gestione dell input. Prof. Giovanni Gallo Dr. Programmazione A.A. 2002-03 I Costrutti di base ( Lezione XII, parte I ) Gestione dell input Prof. Giovanni Gallo Dr. Gianluca Cincotti Dipartimento di Matematica e Informatica Università di Catania e-mail

Dettagli

Iterazione indeterminata

Iterazione indeterminata Iterazione indeterminata In alcuni casi il numero di iterazioni da effettuare non è noto prima di iniziare il ciclo, perché dipende dal verificarsi di una condizione. Esempio: Leggere una sequenza di interi

Dettagli

Pseudocodice; La miglior soluzione per leggere e capire facilmente gli esercizi di programmazione delle selezioni scolastiche. Lo Staff delle OII

Pseudocodice; La miglior soluzione per leggere e capire facilmente gli esercizi di programmazione delle selezioni scolastiche. Lo Staff delle OII Pseudocodice; La miglior soluzione per leggere e capire facilmente gli esercizi di programmazione delle selezioni scolastiche. Lo Staff delle OII 6 novembre 2018 Come anticipato nell ultima revisione del

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

Corso di Laurea Ingegneria Informatica. Dispensa E11. Esercizi su array e. Gennaio 2012

Corso di Laurea Ingegneria Informatica. Dispensa E11. Esercizi su array e. Gennaio 2012 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa E11 Esercizi su array e array di array C. Limongelli Gennaio 2012 1 Contenuti Fusione di due array ordinati, con eliminazione di

Dettagli

INTRODUZIONE ALLA LOGICA DI HOARE. Corso di Logica per la Programmazione A.A. 2013/14

INTRODUZIONE ALLA LOGICA DI HOARE. Corso di Logica per la Programmazione A.A. 2013/14 INTRODUZIONE ALLA LOGICA DI HOARE Corso di Logica per la Programmazione A.A. 2013/14 INTRODUZIONE Dall inizio del corso ad ora abbiamo introdotto, un po alla volta, un linguaggio logico sempre più ricco:

Dettagli

Formalismi per la descrizione di algoritmi

Formalismi per la descrizione di algoritmi Formalismi per la descrizione di algoritmi Per descrivere in passi di un algoritmo bisogna essere precisi e non ambigui Il linguaggio naturale degli esseri umani si presta a interpret non univoche Si usano

Dettagli

Linguaggi di Programmazione Corso C. Parte n.3 Linguaggi Liberi da Contesto e Linguaggi Contestuali. Nicola Fanizzi

Linguaggi di Programmazione Corso C. Parte n.3 Linguaggi Liberi da Contesto e Linguaggi Contestuali. Nicola Fanizzi Linguaggi di Programmazione Corso C Parte n.3 Linguaggi Liberi da Contesto e Linguaggi Contestuali Nicola Fanizzi (fanizzi@di.uniba.it) Dipartimento di Informatica Università degli Studi di Bari Grammatiche

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

Logica per la Programmazione

Logica per la Programmazione Logica per la Programmazione Lezione 15 Sistema di Dimostrazioni per le Triple di Hoare Sequenze (Array) e Aggiornamento Selettivo A. Corradini e F.Levi Dip.to Informatica Logica per la Programmazione

Dettagli

Richiami di Fondamenti di Informatica - 1

Richiami di Fondamenti di Informatica - 1 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 2 Richiami di Fondamenti di Informatica - 1 A. Miola Febbraio 2008 http://www.dia.uniroma3.it/~java/fondinf1/ Richiami di FdI-1

Dettagli

Laboratorio Progettazione Web Il linguaggio PHP le istruzioni. Andrea Marchetti IIT-CNR 2013/2014

Laboratorio Progettazione Web Il linguaggio PHP le istruzioni. Andrea Marchetti IIT-CNR 2013/2014 Laboratorio Progettazione Web Il linguaggio PHP le istruzioni Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2013/2014 Assegnamento L assegnamento ad una variabile è il classico variabile = valore;

Dettagli

Sintassi e semantica delle istruzioni strutturate in Java

Sintassi e semantica delle istruzioni strutturate in Java Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 14 Sintassi e semantica delle istruzioni strutturate in Java Carla Limongelli Aprile 2010 1 Contenuti Classificazione delle istruzioni

Dettagli

Università Ca Foscari DAIS. Programmazione ad Oggetti. Esame del modulo 1

Università Ca Foscari DAIS. Programmazione ad Oggetti. Esame del modulo 1 Università Ca Foscari DAIS Programmazione ad Oggetti Esame del modulo 1 Nome: Matricola: Samuel Rota Bulò, a.a. 2012/2013 Programmazione ad Oggetti a.a. 2012/2013 Esame del modulo 1 Nome: Samuel Rota Bulò

Dettagli

Realizzare un applicazione console che stampi la somma dei primi n numeri dispari oppure pari (a scelta dell operatore). import java.io.

Realizzare un applicazione console che stampi la somma dei primi n numeri dispari oppure pari (a scelta dell operatore). import java.io. Realizzare un applicazione console che stampi la somma dei primi n numeri dispari oppure pari (a scelta dell operatore). import java.io.*; public class M1_13 { public static void main(string args[]) throws

Dettagli

Introduzione ai Linguaggi Formali

Introduzione ai Linguaggi Formali Introduzione ai Linguaggi Formali Elementi dei linguaggi Alfabeto o vocabolario Insieme finito di simboli di base Esempi: Alfabeto latino {a, b,, z} Cifre {0, 1,, 9} Alfabeto binario {0, 1} Stringa su

Dettagli

Corso di Laurea in Informatica Applicata Prima Prova di Verifica Intermedia di Programmazione II 1 Dicembre 2010

Corso di Laurea in Informatica Applicata Prima Prova di Verifica Intermedia di Programmazione II 1 Dicembre 2010 Corso di Laurea in Informatica Applicata Prima Prova di Verifica Intermedia di Programmazione II 1 Dicembre 2010 Istruzioni: scrivere le risposte alle domande negli spazi presenti nel testo e riconsegnare

Dettagli

Programmazione in Java (I modulo)

Programmazione in Java (I modulo) Programmazione in Java (I modulo) Lezione 7 Iterazioni nei programmi:definite e indefinite Tre costrutti: While Do...While For Esempi Istruzioni di iterazione Le istruzioni iterative permettono di ripetere

Dettagli

Laboratorio di Programmazione 1 [Java]

Laboratorio di Programmazione 1 [Java] Laboratorio di Programmazione 1 [Java] Prova di esame - 26 Gennaio 2011 Tempo massimo: 50 minuti Si implementino in Java le classi Tavolo e Pizzeria. La classe Tavolo ha i seguenti attributi: nome (una

Dettagli

Fondamenti di Informatica T-1

Fondamenti di Informatica T-1 Fondamenti di Informatica T-1 Iterazione (while e do..while) Tutor: Allegra De Filippo allegra.defilippo@unibo.it a.a. 2016/2017 Fondamenti di Informatica T-1 Allegra De Filippo 1 / 13 ITERAZIONE Iterazione:

Dettagli

Programmazione di base

Programmazione di base Fondamenti di Informatica Quinto Appello 016-1 1 Luglio 01 Rispondi alle domande negli appositi spazi. I punti assegnati per ogni domanda sono indicati nel riquadro a lato. L'esame contiene 10 domande,

Dettagli

Calcolare x n = x x x (n volte)

Calcolare x n = x x x (n volte) Calcolare x n = x x x (n volte) Abbiamo bisogno di: una variabile ris in cui ad ogni iterazione del ciclo si ha un risultato parziale, e che dopo l ultima iterazione contiene il risultato finale; una variabile

Dettagli

Esercitazione 8. Corso di Tecniche di programmazione. Laurea in Ingegneria Informatica

Esercitazione 8. Corso di Tecniche di programmazione. Laurea in Ingegneria Informatica Dipartimento di Informatica e Sistemistica Antonio Ruberti Sapienza Università di Roma Esercitazione 8 Corso di Tecniche di programmazione Laurea in Ingegneria Informatica (Canale di Ingegneria delle Reti

Dettagli

Sviluppo di programmi

Sviluppo di programmi Sviluppo di programmi FASE 1: Dare un nome al problema partendo dall analisi del problema FASE 2: Scrivere la specifica funzionale FASE 3: Scrittura dell algoritmo FASE 3.1: Introduzione delle variabili

Dettagli

Introduzione Programmazione Java

Introduzione Programmazione Java Introduzione Programmazione Java Paolo Tomeo paolo.tomeo@poliba.it Regole basilari Java è case sensitive quindi prestare attenzione alle maiuscole Il commento si inserisce con // all'inizio della linea

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

Programmazione, 5 a lezione

Programmazione, 5 a lezione Programmazione, 5 a lezione Eugenio Omodeo Dipartimento di Matematica e Informatica, Università degli Studi di Trieste. Trieste, 12.10.2010 Esecuzione sequenziale I All avvio di un programma, il processo

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

19 - Eccezioni. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

19 - Eccezioni. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo 19 - Eccezioni 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 Corso

Dettagli

Algoritmi e Strutture di Dati

Algoritmi e Strutture di Dati Algoritmi e Strutture di Dati Pseudocodifica m.patrignani Nota di copyright queste slides sono protette dalle leggi sul copyright il titolo ed il copyright relativi alle slides (inclusi, ma non limitatamente,

Dettagli

UNIVERSITA DEGLI STUDI ROMA TRE DIPARTIMENTO DI MATEMATICA E FISICA

UNIVERSITA DEGLI STUDI ROMA TRE DIPARTIMENTO DI MATEMATICA E FISICA UNIVERSITA DEGLI STUDI ROMA TRE DIPARTIMENTO DI MATEMATICA E FISICA Laboratorio di Programmazione e Calcolo A.A. 2018-19 Test Finale Roma, 17 gennaio 2019 1) Le variabili A, B e C sono dichiarate int.

Dettagli

// fase di inizializzazione della redazione. Parte non richiesta. System.out.println("Inserisci i dati del capo redazione: ");

// fase di inizializzazione della redazione. Parte non richiesta. System.out.println(Inserisci i dati del capo redazione: ); INFORMATICA GRAFICA - FONDAMENTI DI INFORMATICA Ing. Civile - Edile/Architettura - Dott. Penzo SOLUZIONE PROVA SCRITTA DEL 21/10/2002 Esercizio 4) // classe applicazione import fiji.io.simplereader; class

Dettagli

Espressioni. Espressioni. Valutazione di un espressione. Espressioni semplici

Espressioni. Espressioni. Valutazione di un espressione. Espressioni semplici Espressioni Una espressione E del linguaggio C può essere definita formalmente come segue (definizione induttiva): E è una espressione semplice. Espressioni Sia Op n un operatore del linguaggio di arità

Dettagli

Fondamenti di informatica 1 - A.A. 2000/ 01 Prof. V. de Nitto Personè. Esercizi ("OK" indica la risposta corretta)

Fondamenti di informatica 1 - A.A. 2000/ 01 Prof. V. de Nitto Personè. Esercizi (OK indica la risposta corretta) Fondamenti di informatica 1 - A.A. 2000/ 01 Prof. V. de Nitto Personè Esercizi (OK indica la risposta corretta) 1. Rappresentazione dei numeri e errori 1.1 Rappresentazione in virgola mobile Siano x1=13.573

Dettagli

Cognome-Nome:... Matricola...

Cognome-Nome:... Matricola... DIPARTIMENTO di INFORMATICA Corso di Laurea in Informatica Cognome-Nome:..... Matricola... Rispondere sul foglio allegato ad almeno 4 tra i quesiti 1..5 ed al quesito 6. Riportare sul foglio allegato solo

Dettagli

Programmazione 1 A.A. 2015/2016

Programmazione 1 A.A. 2015/2016 Cognome e Nome Matricola Programmazione 1 A.A. 2015/2016 Appello del 16 Dicembre 2015 Compito n 1 Prima parte Esercizio 1 (10 punti) Cosa stampa il seguente frammento di codice Java? int[] A = {3, 8, 91,

Dettagli

Università Ca Foscari DAIS. Programmazione ad Oggetti. Esame del modulo 1

Università Ca Foscari DAIS. Programmazione ad Oggetti. Esame del modulo 1 Università Ca Foscari DAIS Programmazione ad Oggetti Esame del modulo 1 Nome: Matricola: Samuel Rota Bulò, a.a. 2012/2013 Programmazione ad Oggetti a.a. 2012/2013 Esame del modulo 1 Nome: Samuel Rota Bulò

Dettagli