Laboratorio di Algoritmi e Strutture Dati Ingegneria e Scienze Informatiche - Cesena A.A
|
|
- Placido Perini
- 6 anni fa
- Visualizzazioni
Transcript
1 Ingegneria e Scienze Informatiche - Cesena A.A dilena@cs.unibo.it, pietro.dilena@unibo.it
2 Note introduttive sul corso Modalità d esame Note introduttive sul corso Finalità: fornire competenze di base relative all implementazione di algoritmi efficienti (in termini di risorse di calcolo utilizzate) per la risoluzione di problemi su liste, alberi e grafi.
3 Note introduttive sul corso Modalità d esame Note introduttive sul corso Finalità: fornire competenze di base relative all implementazione di algoritmi efficienti (in termini di risorse di calcolo utilizzate) per la risoluzione di problemi su liste, alberi e grafi. Prerequisiti: conoscenza delle tecniche per l analisi di algoritmi (corso di Algoritmi e Strutture Dati), conoscenza di base del linguaggio C e familiarità con un qualsiasi ambiente di sviluppo C (Dev-C++, Linux, ecc).
4 Note introduttive sul corso Modalità d esame Note introduttive sul corso Finalità: fornire competenze di base relative all implementazione di algoritmi efficienti (in termini di risorse di calcolo utilizzate) per la risoluzione di problemi su liste, alberi e grafi. Prerequisiti: conoscenza delle tecniche per l analisi di algoritmi (corso di Algoritmi e Strutture Dati), conoscenza di base del linguaggio C e familiarità con un qualsiasi ambiente di sviluppo C (Dev-C++, Linux, ecc). Testi consigliati: Introduzione agli Algoritmi e Strutture Dati. T. H. Cormen, C. E. Leiserson, R. L. Rivest, C. Stein. Programmazione con strutture dati in C. D. Calvanese, P. Liberatore, F. Massacci. Lucidi delle lezioni, Wikipedia
5 Note introduttive sul corso Modalità d esame Note introduttive sul corso Finalità: fornire competenze di base relative all implementazione di algoritmi efficienti (in termini di risorse di calcolo utilizzate) per la risoluzione di problemi su liste, alberi e grafi. Prerequisiti: conoscenza delle tecniche per l analisi di algoritmi (corso di Algoritmi e Strutture Dati), conoscenza di base del linguaggio C e familiarità con un qualsiasi ambiente di sviluppo C (Dev-C++, Linux, ecc). Testi consigliati: Introduzione agli Algoritmi e Strutture Dati. T. H. Cormen, C. E. Leiserson, R. L. Rivest, C. Stein. Programmazione con strutture dati in C. D. Calvanese, P. Liberatore, F. Massacci. Lucidi delle lezioni, Wikipedia Infos: Web: dilena/homepage/lasd1314.html Ricevimento: su appuntamento (via ) oppure ogni mercoledì dalle 11 alle 12, studio 11, via Sacchi 3, Cesena.
6 Note introduttive sul corso Modalità d esame Modalità d esame Sviluppo di un progetto, da realizzare in linguaggio C con relativa relazione scritta. Il progetto può essere sviluppato in gruppi di massimo tre studenti. Scelta preferita/consigliata: gruppi di due studenti. Il progetto deve essere consegnato entro un mese dal superamento della prova scritta. Può essere consegnato prima del superamento della prova scritta e resterà valido fino al superamento della stessa.
7 Note introduttive sul corso Modalità d esame Modalità d esame Sviluppo di un progetto, da realizzare in linguaggio C con relativa relazione scritta. Il progetto può essere sviluppato in gruppi di massimo tre studenti. Scelta preferita/consigliata: gruppi di due studenti. Il progetto deve essere consegnato entro un mese dal superamento della prova scritta. Può essere consegnato prima del superamento della prova scritta e resterà valido fino al superamento della stessa. Dettagli sul progetto: Vi verranno proposti due progetti distinti: uno progetto semplice e un progetto (leggermente più) complesso. Ogni gruppo deve consegnare uno solo dei due progetti, a scelta. Il progetto semplice non ha una valutazione numerica: se valutato positivamente, permette di registrare il voto dello scritto. Il progetto complesso, se valutato positivamente, permette di incrementare il voto della prova scritta fino ad un massimo di 3 punti.
8 Note introduttive sul corso Modalità d esame Modalità d esame Sviluppo di un progetto, da realizzare in linguaggio C con relativa relazione scritta. Il progetto può essere sviluppato in gruppi di massimo tre studenti. Scelta preferita/consigliata: gruppi di due studenti. Il progetto deve essere consegnato entro un mese dal superamento della prova scritta. Può essere consegnato prima del superamento della prova scritta e resterà valido fino al superamento della stessa. Dettagli sul progetto: Vi verranno proposti due progetti distinti: uno progetto semplice e un progetto (leggermente più) complesso. Ogni gruppo deve consegnare uno solo dei due progetti, a scelta. Il progetto semplice non ha una valutazione numerica: se valutato positivamente, permette di registrare il voto dello scritto. Il progetto complesso, se valutato positivamente, permette di incrementare il voto della prova scritta fino ad un massimo di 3 punti. Le specifiche dei due progetti verranno presentate verso la metà del corso. Motivazione: tarare la difficoltà dei progetti in base al livello medio della classe.
9 La successione di Fibonacci Introduzione La successione di Fibonacci La successione di Fibonacci generalizzata Implementazione della funzione di Fibonacci generalizzata Nota sul prodotto riga per colonna di due matrici 2x2 generalizzata La successione di Fibonacci, attribuita al matematico pisano del XIII secolo Leonardo Fibonacci, descrive il rate di crescita di una popolazione di conigli. Funzione matematica che descrive la successione di Fibonacci: j 1 se n 2 Fib(n) = Fib(n 1) + Fib(n 2) se n > 2 Primi 4 termini della successione di Fibonacci: Fib(1) = 1, Fib(2) = 1, Fib(3) = 2, Fib(4) = 3
10 La successione di Fibonacci generalizzata La successione di Fibonacci La successione di Fibonacci generalizzata Implementazione della funzione di Fibonacci generalizzata Nota sul prodotto riga per colonna di due matrici 2x2 generalizzata Proviamo a complicare leggermente la funzione che descrive la successione di Fibonacci.
11 La successione di Fibonacci generalizzata La successione di Fibonacci La successione di Fibonacci generalizzata Implementazione della funzione di Fibonacci generalizzata Nota sul prodotto riga per colonna di due matrici 2x2 generalizzata Proviamo a complicare leggermente la funzione che descrive la successione di Fibonacci. Sia x un numero intero (non necessariamente positivo). Definiamo la seguente funzione: j x se n 2 GFib(x, n) = GFib(x, n 1) + GFib(x, n 2) se n > 2 Primi 4 termini della successione di Fibonacci generalizzata per x = 4: GFib(4, 1) = 4, GFib(4, 2) = 4, GFib(4, 3) = 8, GFib(4, 4) = 12
12 La successione di Fibonacci generalizzata La successione di Fibonacci La successione di Fibonacci generalizzata Implementazione della funzione di Fibonacci generalizzata Nota sul prodotto riga per colonna di due matrici 2x2 generalizzata Proviamo a complicare leggermente la funzione che descrive la successione di Fibonacci. Sia x un numero intero (non necessariamente positivo). Definiamo la seguente funzione: j x se n 2 GFib(x, n) = GFib(x, n 1) + GFib(x, n 2) se n > 2 Primi 4 termini della successione di Fibonacci generalizzata per x = 4: GFib(4, 1) = 4, GFib(4, 2) = 4, GFib(4, 3) = 8, GFib(4, 4) = 12 Ovviamente, Fib(n) = GFib(1, n) per ogni intero n.
13 La successione di Fibonacci La successione di Fibonacci generalizzata Implementazione della funzione di Fibonacci generalizzata Nota sul prodotto riga per colonna di due matrici 2x2 generalizzata Implementazione della funzione di Fibonacci generalizzata Soluzione ricorsiva: 1: function GFib(x, n) 2: if n 2 then 3: return x 4: else 5: return GFib(x, n 2) + GFib(x, n 1) 6: end if 7: end function
14 La successione di Fibonacci La successione di Fibonacci generalizzata Implementazione della funzione di Fibonacci generalizzata Nota sul prodotto riga per colonna di due matrici 2x2 generalizzata Implementazione della funzione di Fibonacci generalizzata Soluzione ricorsiva: 1: function GFib(x, n) 2: if n 2 then 3: return x 4: else 5: return GFib(x, n 2) + GFib(x, n 1) 6: end if 7: end function Soluzione iterativa: 1: function GFib(x, n) 2: a b x 3: for i 3 to n do 4: c a + b 5: a b 6: b c 7: end for 8: return b 9: end function
15 La successione di Fibonacci La successione di Fibonacci generalizzata Implementazione della funzione di Fibonacci generalizzata Nota sul prodotto riga per colonna di due matrici 2x2 generalizzata Nota (superflua) sul passaggio di parametri da riga di comando in C Template C per una implementazione di GFib(x, n) che legge i parametri da riga di comando. # include <stdio.h> # include < stdlib.h> int GFib ( int x, int n) { // Codice della funzione GFib } int main ( int argc, char * argv []) { int x,n; if( argc!=3) { fprintf ( stderr," Usage : Gfib <x> <n>\ n"); return 1; } x=atoi ( argv [1]) ; n=atoi ( argv [2]) ; printf ("% d\n", GFib (x,n)); return 0; }
16 La successione di Fibonacci La successione di Fibonacci generalizzata Implementazione della funzione di Fibonacci generalizzata Nota sul prodotto riga per colonna di due matrici 2x2 generalizzata Quale implementazione è maggiormente efficiente in termini di tempo di calcolo: ricorsiva o iterativa?
17 La successione di Fibonacci La successione di Fibonacci generalizzata Implementazione della funzione di Fibonacci generalizzata Nota sul prodotto riga per colonna di due matrici 2x2 generalizzata Quale implementazione è maggiormente efficiente in termini di tempo di calcolo: ricorsiva o iterativa? Costo computazionale: implementazione ricorsiva O(2 n ), implementazione iterativa O(n). Riusciamo a fare di meglio?
18 La successione di Fibonacci La successione di Fibonacci generalizzata Implementazione della funzione di Fibonacci generalizzata Nota sul prodotto riga per colonna di due matrici 2x2 generalizzata Quale implementazione è maggiormente efficiente in termini di tempo di calcolo: ricorsiva o iterativa? Costo computazionale: implementazione ricorsiva O(2 n ), implementazione iterativa O(n). Riusciamo a fare di meglio? Suggerimento. Dimostriamo per induzione che per ogni n 3 «n 1 «1 1 Fib(n) Fib(n 1) = 1 0 Fib(n 1) Fib(n 2)
19 La successione di Fibonacci La successione di Fibonacci generalizzata Implementazione della funzione di Fibonacci generalizzata Nota sul prodotto riga per colonna di due matrici 2x2 generalizzata Quale implementazione è maggiormente efficiente in termini di tempo di calcolo: ricorsiva o iterativa? Costo computazionale: implementazione ricorsiva O(2 n ), implementazione iterativa O(n). Riusciamo a fare di meglio? Suggerimento. Dimostriamo per induzione che per ogni n 3 «n 1 «1 1 Fib(n) Fib(n 1) = 1 0 Fib(n 1) Fib(n 2) 1 Caso base n = « «2 « = = ««Fib(3) Fib(3 1) Fib(3) Fib(2) = = Fib(3 1) Fib(3 2) Fib(2) Fib(1) «
20 La successione di Fibonacci La successione di Fibonacci generalizzata Implementazione della funzione di Fibonacci generalizzata Nota sul prodotto riga per colonna di due matrici 2x2 generalizzata Quale implementazione è maggiormente efficiente in termini di tempo di calcolo: ricorsiva o iterativa? Costo computazionale: implementazione ricorsiva O(2 n ), implementazione iterativa O(n). Riusciamo a fare di meglio? Suggerimento. Dimostriamo per induzione che per ogni n 3 «n 1 «1 1 Fib(n) Fib(n 1) = 1 0 Fib(n 1) Fib(n 2) 1 Caso base n = « «2 « = = ««Fib(3) Fib(3 1) Fib(3) Fib(2) = = Fib(3 1) Fib(3 2) Fib(2) Fib(1) « Caso induttivo. Assumiamo che la relazione sia vera per n e dimostriamo che vale anche per n + 1. «n «n 1 « = = ««Fib(n) Fib(n 1) 1 1 = = Fib(n 1) Fib(n 2) 1 0 ««Fib(n) + Fib(n 1) Fib(n) Fib(n + 1) Fib(n) = = Fib(n 1) + Fib(n 2) Fib(n 1) Fib(n) Fib(n 1)
21 La successione di Fibonacci La successione di Fibonacci generalizzata Implementazione della funzione di Fibonacci generalizzata Nota sul prodotto riga per colonna di due matrici 2x2 generalizzata Possiamo utilizzare la proprietà precedente per implementare la funzione di Fibonacci in tempo O(log(n)). Perchè? 1: function Fib(n) 2: if n 2 then 3: return 1 4: else «1 1 5: M 1 0 6: MatrixPow(M,n 1) 7: return M[0][0] 8: end if 9: end function 10: procedure MatrixPow(M,n) 11: if n > 1 then 12: MatrixPow(M,n/2) 13: M M M 14: if n dispari then «1 1 15: M M : end if 17: end if 18: end procedure
22 Nota sul prodotto riga per colonna di due matrici 2x2 La successione di Fibonacci La successione di Fibonacci generalizzata Implementazione della funzione di Fibonacci generalizzata Nota sul prodotto riga per colonna di due matrici 2x2 generalizzata Siano abbiamo a b M M = c d = «a b M = e N = c d «« ««a b a a + b c a b + b d = = c d c a + d c c b + d d «a 2 + bc ab + bd ca + dc cb + d 2 ««a b 1 1 M N = = c d 1 0 «a + b a = c + d c «a 1 + b 1 a 1 + b 0 = c 1 + d 1 c 1 + d 0
23 La successione di Fibonacci La successione di Fibonacci generalizzata Implementazione della funzione di Fibonacci generalizzata Nota sul prodotto riga per colonna di due matrici 2x2 generalizzata generalizzata Riusciamo ad implementare efficientemente GFib(x, n) sfruttando l implementazione efficiente di Fib(n)?
24 La successione di Fibonacci La successione di Fibonacci generalizzata Implementazione della funzione di Fibonacci generalizzata Nota sul prodotto riga per colonna di due matrici 2x2 generalizzata generalizzata Riusciamo ad implementare efficientemente GFib(x, n) sfruttando l implementazione efficiente di Fib(n)? E necessario capire come è definita GFib(x, n).
25 La successione di Fibonacci La successione di Fibonacci generalizzata Implementazione della funzione di Fibonacci generalizzata Nota sul prodotto riga per colonna di due matrici 2x2 generalizzata generalizzata Riusciamo ad implementare efficientemente GFib(x, n) sfruttando l implementazione efficiente di Fib(n)? E necessario capire come è definita GFib(x, n). Primi 8 termini della funzione di Fibonacci generalizzata in funzione di x: x, x, 2x, 3x, 5x, 8x, 13x, 21x. Primi 8 termini della funzione di Fibonacci: 1, 1, 2, 3, 5, 8, 13, 21.
26 La successione di Fibonacci La successione di Fibonacci generalizzata Implementazione della funzione di Fibonacci generalizzata Nota sul prodotto riga per colonna di due matrici 2x2 generalizzata generalizzata Riusciamo ad implementare efficientemente GFib(x, n) sfruttando l implementazione efficiente di Fib(n)? E necessario capire come è definita GFib(x, n). Primi 8 termini della funzione di Fibonacci generalizzata in funzione di x: x, x, 2x, 3x, 5x, 8x, 13x, 21x. Primi 8 termini della funzione di Fibonacci: 1, 1, 2, 3, 5, 8, 13, 21. Conclusione: GFib(x, n) = x Fib(n)
27 La successione di Fibonacci La successione di Fibonacci generalizzata Implementazione della funzione di Fibonacci generalizzata Nota sul prodotto riga per colonna di due matrici 2x2 generalizzata generalizzata Riusciamo ad implementare efficientemente GFib(x, n) sfruttando l implementazione efficiente di Fib(n)? E necessario capire come è definita GFib(x, n). Primi 8 termini della funzione di Fibonacci generalizzata in funzione di x: x, x, 2x, 3x, 5x, 8x, 13x, 21x. Primi 8 termini della funzione di Fibonacci: 1, 1, 2, 3, 5, 8, 13, 21. Conclusione: GFib(x, n) = x Fib(n) generalizzata. 1: function GFib(x, n) 2: return x Fib(n) 3: end function
28 InsertionSort: pseudocodice
29 InsertionSort: pseudocodice key = 2, j = 2 j
30 InsertionSort: pseudocodice key = 2, j = 2, i = 1 2 < 5 SWAP j i
31 InsertionSort: pseudocodice key = 4, j = 3 j
32 InsertionSort: pseudocodice key = 4, j = 3, i = 2 4 < 5 SWAP j i
33 InsertionSort: pseudocodice key = 4, j = 3, i = 1 4 > 2 STOP j i
34 InsertionSort: pseudocodice key = 6, j = 4 j
35 InsertionSort: pseudocodice key = 6, j = 4, i = 3 6 > 5 STOP j i
36 InsertionSort: pseudocodice key = 1, j = 5 j
37 InsertionSort: pseudocodice key = 1, j = 5, i = 4 1 < 6 SWAP j i
38 InsertionSort: pseudocodice key = 1, j = 5, i = 3 1 < 5 SWAP j i
39 InsertionSort: pseudocodice key = 1, j = 5, i = 2 1 < 4 SWAP j i
40 InsertionSort: pseudocodice key = 1, j = 5, i = 1 1 < 2 SWAP j i
41 InsertionSort: pseudocodice key = 3, j = 6 j
42 InsertionSort: pseudocodice key = 3, j = 6, i = 5 3 < 6 SWAP j i
43 InsertionSort: pseudocodice key = 3, j = 6, i = 4 3 < 5 SWAP j i
44 InsertionSort: pseudocodice key = 3, j = 6, i = 3 3 < 4 SWAP j i
45 InsertionSort: pseudocodice key = 3, j = 6, i = 3 3 > 2 STOP j i
46 InsertionSort: pseudocodice InsertionSort: pseudocodice Pseudo codice dell algoritmo InsertionSort. 1: procedure InsertionSort(A) 2: for j 2 to Length(A) do 3: key A[j] 4: i j 1 5: while i > 0 & A[i] > key do 6: A[i + 1] A[i] 7: i i 1 8: end while 9: A[i + 1] key 10: end for 11: end procedure
47 InsertionSort: pseudocodice InsertionSort: pseudocodice Pseudo codice dell algoritmo InsertionSort. 1: procedure InsertionSort(A) 2: for j 2 to Length(A) do 3: key A[j] 4: i j 1 5: while i > 0 & A[i] > key do 6: A[i + 1] A[i] 7: i i 1 8: end while 9: A[i + 1] key 10: end for 11: end procedure In cosa differisce dall esempio precedente? Di quale accortezza dobbiamo tenere conto per una implementazione in C?
48 InsertionSort: pseudocodice Nota (superflua) sulla lettura di una lista di interi da file Funzione C che legge una lista di interi da un file. int * readlist ( char * file, int *n) { FILE *in = fopen (file,"r"); int * list,x; if( in== NULL ) return NULL ; while ( fscanf (in,"% d",&x)!= EOF ) (*n) ++; list = ( int *) calloc (*n, sizeof ( int )); rewind (in); (*n) =0; while ( fscanf (in,"% d",&x)!= EOF ) list [(* n) ++]= x; fclose (in); return list ; }
Esercizio 1 (15 punti)
Esercizio 1 (15 punti) Corsi di laurea in Ingegnera Elettronica e Ingegneria Gestionale Fondamenti di Programmazione / Fondamenti di Informatica I Prova scritta del 30 giugno 2017 In un lontano paese da
DettagliCorso di Informatica
Corso di Informatica CdL in Matematica e CdL in Matematica per le Applicazioni Prof. G. Nicosia Dipartimento di Matematica e Informatica Facoltà di Scienze MM.FF.NN. Università degli Studi di Catania A.
DettagliRICORSIONE. Informatica B - A.A. 2013/2014
RICORSIONE Informatica B - A.A. 2013/2014 RICORSIONE Che cos è la ricorsione? Un sottoprogramma P richiama se stesso (ricorsione diretta) Un sottoprogramma P richiama un altro sottoprogramma Q che comporta
DettagliAlgoritmi e Strutture Dati
Introduzione al Corso Emanuela Merelli Università di Camerino 4 ottobre 2016 Struttura del corso Il corso consiste di 42 ore di lezione 2 ore di ricevimento settimanali Il corso viene valutato in 6 CFU
DettagliFondamenti di Informatica A.A Studenti
Fondamenti di Informatica A.A. 2008-2009 Corso di recupero Ingegneria Area Industriale Docente: Laura Gilda Paccagnella Dipartimento di Matematica Pura ed Applicata tel. 049-8271417 Torre Archimede - Via
DettagliAlgoritmi e Strutture Dati
Introduzione al Corso Emanuela Merelli Università di Camerino 23 ottobre 2017 Struttura del corso Il corso consiste di 42 ore di lezione 2 ore di ricevimento settimanali Il corso viene valutato in 6 CFU
DettagliEsercizio 1 (15 punti)
Esercizio 1 (15 punti) Corsi di laurea in Ingegnera Elettronica e Ingegneria Gestionale Fondamenti di Programmazione / Fondamenti di Informatica I Prova scritta del 16 giugno 2017 Il noto gioco MasterMind
DettagliAlgoritmi e Strutture dati a.a. 2013/2014
a.a. 2013/2014 Dr Informazioni docente E-mail docente: fdrmra@unife.it Ricevimento: Mercoledì 15:00-16:00 presso ufficio docenti a contratto (3 piano), Dipartimento di Matematica e Informatica, Campus
DettagliRelativamente agli esempi sopra riportati, al termine dell esecuzione della funzione il file di uscita dovrà contenere quanto riportato a lato.
Corsi di laurea in Ingegnera Elettronica e Ingegneria Gestionale Fondamenti di Programmazione / Fondamenti di Informatica I Prova scritta del 2 febbraio 2016 Esercizio 1 (16 punti) Un file di testo contiene
DettagliEsempio : i numeri di Fibonacci
Esempio : i numeri di Fibonacci La successione di Fibonacci F 1, F 2,... F n,... è definita come: F 1 =1 F 2 =1 F n =F n 1 F n 2,n 2 Leonardo Fibonacci (Pisa, 1170 Pisa, 1250) http://it.wikipedia.org/wiki/leonardo_fibonacci
DettagliGestione dei file. File di testo e binari
Gestione dei file Un file e definito come un oggetto, presente nel file system, costituito da una sequenza continua di bytes Un file, per poter essere utilizzato, deve essere aperto Successivamente e possibile
DettagliAlgoritmi e Strutture Dati
Introduzione al Corso Emanuela Merelli (Camerino) 1 Maria Rita Di Berardini (Ascoli Piceno) 1 Polo Informatico - Scuola di Scienze e Tecnologie Università di Camerino 7 ottobre 2010 Struttura del corso
DettagliINTRODUZIONE. ALLA PROGRAMMAZIONEColonna 1. in linguaggio C
12 10 8 INTRODUZIONE 6 4 ALLA PROGRAMMAZIONEColonna 1 Colonna 2 Colonna 3 in linguaggio C 2 0 Riga 1 Riga 2 Riga 3 Riga 4 di Mauro Casula { Scopi del seminario Essere chiaro ed esauriente; Spiegare nei
DettagliTempo e spazio di calcolo (continua)
Tempo e spazio di calcolo (continua) I numeri di Fibonacci come case study (applichiamo ad un esempio completo le tecniche illustrate nei lucidi precedenti) Abbiamo introdotto tecniche per la correttezza
DettagliLaboratorio di Informatica
Laboratorio di Informatica Seconda lezione a Python Dottore Paolo Parisen Toldin - parisent@cs.unibo.it Dottoressa Sara Zuppiroli - sara.zuppiroli@unibo.it L'importanza di capire Perché non dobbiamo dichiarare
DettagliAlgoritmi e Strutture dati a.a. 2012/2013
a.a. 2012/2013 Dr Informazioni docente E-mail docente: maria.federico@unimore.it Ricevimento: Su appuntamento (inviare e-mail) 2 Informazioni lezioni Lunedì, Martedì, Mercoledì 10:30-13:30 aula INFO2 15
DettagliTempo e spazio di calcolo (continua)
Tempo e spazio di calcolo (continua) I numeri di Fibonacci come case study (applichiamo ad un esempio completo le tecniche illustrate nei lucidi precedenti) Abbiamo introdotto tecniche per la correttezza
DettagliAddendum alle chiamate di sistema per la gestione processi. E Mumolo
Addendum alle chiamate di sistema per la gestione processi E Mumolo Definiamo un processo proc.c che scrive l'argomento passato in linea: void main(int argc, char *argv[]){ printf("sono il processo %s\n",
DettagliRicorsione. Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna
Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna http://www.moreno.marzolla.name/ 2 Definizione informale: la ricorsione è un procedimento mediante il quale
DettagliAlgoritmi e Strutture Dati
Algoritmi Ricorsivi e Maria Rita Di Berardini, Emanuela Merelli 1 1 Dipartimento di Matematica e Informatica Università di Camerino A.A. 2006/07 I conigli di Fibonacci Ricerca Binaria L isola dei conigli
DettagliRicorsione. Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna
Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna http://www.moreno.marzolla.name/ 2 Definizione informale: la ricorsione è un procedimento mediante il quale
DettagliAlgoritmi e Strutture Dati
Algoritmi e Strutture Dati Introduzione agli algoritmi Università di Camerino Corso di Laurea in Informatica 6CFU I periodo didattico Anno accademico 2005-06 Emanuela Merelli emanuela.merelli@unicam.it
DettagliAlgoritmi e Strutture Dati
Algoritmi e Strutture Dati Informazioni sul corso + Un introduzione informale agli algoritmi Domenico Fabio Savo 1 Domenico Fabio Savo Email: savo@dis.uniroma1.it Web: http://www.dis.uniroma1.it/~savo
DettagliPolitecnico di Torino Sede di Alessandria Corso di informatica Programmazione in c: introduzione. e mail: sito: users.iol.
Politecnico di Torino Sede di Alessandria Corso di informatica Programmazione in c: introduzione prof. Lorenzo Porcelli e mail: genna18@iol.it sito: users.iol.it/genna18 Risoluzione di un problema Dato
DettagliOperazioni su file di caratteri
Operazioni su file di caratteri Apertura fopen Chiusura fclose Scrittura fprintf Lettura fscanf Controllo fine file feof Prof. E. Occhiuto INFORMATICA 242AA a.a. 2010/11 pag. 1 Apertura di un file: Si
Dettagliint ninv; /* numero di inventario */
1) Scrivere il programma C che legga da un file di testo ("dati.dat") i record con dati relativi ad un archivio di dischi (utilizzando la struttura data) e scriva il file dati1.dat con i nomi degli artisti
DettagliLa ricorsione. Sommario. Fulvio CORNO - Matteo SONZA REORDA Dip. Automatica e Informatica Politecnico di Torino
La ricorsione Fulvio CORNO - Matteo SONZA REORDA Dip. Automatica e Informatica Politecnico di Torino Sommario! Definizione di ricorsione e strategie divide et impera! Semplici algoritmi ricorsivi! Merge
DettagliAlgoritmi e Strutture Dati
Algoritmi e Strutture Dati Capitolo 1 Un introduzione informale agli algoritmi Camil Demetrescu, Irene Finocchi, Giuseppe F. Italiano Definizione informale di algoritmo Insieme di istruzioni, definite
DettagliIl presente plico contiene 4 esercizi e deve essere debitamente compilato con cognome e nome, numero di matricola.
Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Appello 19 Febbraio 2015 COGNOME E NOME RIGA COLONNA MATRICOLA Spazio riservato ai docenti Il presente plico contiene 4 esercizi e
DettagliCognome e Nome : Corso e Anno di Immatricolazione: Modalità di Laboratorio (Progetto/Prova) :
PROGRAMMAZIONE (Corsi B e C) Pre-appello di Gennaio 2004 (A.A. 2003/2004) PROGRAMMAZIONE (B e C) S. Straordinaria - Appello di Gennaio (A.A. 2002/2003) 22 Gennaio 2004 ore 11 Aula II di Facoltà (Durata:
DettagliAlgoritmi e Sperimentazioni
Algoritmi e Sperimentazioni Introduzione al corso Il corso Corso del secondo anno, curriculum STISI 9 crediti tenuto da: Ugo de Liguoro (teoria), Ferruccio Damiani (laboratorio) 54 + 36 ore di lezione/esercitazione
DettagliEsercizio 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
DettagliRELAZIONE DELLA PROVA DI LABORATORIO DI INFORMATICA
RELAZIONE DELLA PROVA DI LABORATORIO DI INFORMATICA Anno scolastico Lab informatica AULA n 35 Data inizio svolgimento Progr. relazione primo trimestre secondo pentamestre Cognome e Nome DATI DELLO STUDENTE
DettagliProgrammazione I - Laboratorio
Programmazione I - Laboratorio Esercitazione 6 - Liste Gianluca Mezzetti 1 Paolo Milazzo 2 1. Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ mezzetti mezzetti di.unipi.it 2. Dipartimento
DettagliInformazioni sul corso
Informazioni sul corso Marco Alberti Programmazione e Laboratorio, A.A. 2016-2017 Dipartimento di Matematica e Informatica - Università di Ferrara Ultima modifica: 11 ottobre 2016 Programmazione Programmazione
DettagliLA RICORSIONE IN C. CdL Ingegneria Informatica n.o. Anno Accademico 2006/07 Fondamenti di Informatica I corso A Giacomo Piscitelli pag.
I lucidi sono una rielaborazione e integrazione di quelli messi a disposizione dei docenti nel sito relativo al testo: Informatica: arte e mestiere 2/ed Stefano Ceri, Dino Mandrioli, Licia Sbattella Copyright
DettagliDati e Algoritmi I (Pietracaprina) Esercizi sulle Nozioni di Base
Dati e Algoritmi I (Pietracaprina) Esercizi sulle Nozioni di Base Dati e Algoritmi I (Pietracaprina): Esercizi 1 Problema 1. Sia T una stringa arbitraria di lunghezza n 1 su un alfabeto Σ. È sempre possibile
DettagliDIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA INFORMATICA B + C
INFORMATICA B + C (sezione L-Z) Ingegneria Elettrica, Chimica e dei Materiali La ricorsione Ricorsione Che cos è la ricorsione? Un sottoprogramma P richiama se stesso (ricorsione diretta) Un sottoprogramma
DettagliLABORATORIO DI ALGORITMI E STRUTTURE DATI A-L. Ingegneria e scienze informatiche Cesena A.A: 2016/2017 Docente: Greta Sasso
LABORATORIO DI ALGORITMI E STRUTTURE DATI A-L Ingegneria e scienze informatiche Cesena A.A: 2016/2017 Docente: Greta Sasso Presentazione Docente: Greta Sasso greta.sasso2@unibo.it Orario e luogo delle
DettagliLibrerie C. Corso di Linguaggi e Traduttori 1 AA Corso di Linguaggi e Traduttori 1 AA stdio.h
Corso di Linguaggi e Traduttori 1 AA 2004-05 1 Corso di Linguaggi e Traduttori 1 AA 2004-05 stdio.h 2 Funzioni comuni di I/O? Le piu' comuni funzioni che permettono I/O sono getchar() e putchar():? int
Dettaglialgoritmi e strutture di dati
algoritmi e strutture di dati introduzione al corso maurizio patrignani roberto de virgilio algoritmi e strutture di dati nuovo ordinamento (d.m. 509/99) laurea in ingegneria informatica 2 anno 5 crediti
DettagliProgrammazione Ricorsione
Programmazione Ricorsione Samuel Rota Bulò DAIS Università Ca Foscari di Venezia. Outline Ricorsione Cos è la ricorsione? In matematica... n! = { n (n 1)! se n > 0 1 altrimenti N = {0} {i + 1 : i N} Principio
DettagliInput / Output. Come già detto, input e output sono realizzati in C da funzioni di stdio.h all'interno della libreria standard
Stdio.h Input / Output Come già detto, input e output sono realizzati in C da funzioni di stdio.h all'interno della libreria standard Sia i file che i dispositivi (tastiera, schermo...) sono visti come
DettagliGestione dinamica della memoria
Programmazione M-Z Ingegneria e Scienze Informatiche - Cesena A.A. 2016-2017 Gestione dinamica della memoria Pietro Di Lena - pietro.dilena@unibo.it A pessimistic programmer sees the array as half empty.
DettagliALGORITMI E STRUTTURE DATI
ALGORITMI E STRUTTURE DATI Esercitazioni AndreA Orlandini http://www.dia.uniroma3.it/~orlandin/asd/ e-mail: orlandin@dia.uniroma3.it Orario di ricevimento: Martedì 14.00-16.00 Introduzione al C + Array
DettagliInput / Output. Come già detto, input e output sono realizzati in C da funzioni di stdio.h all'interno della libreria standard
Stdio.h Input / Output Come già detto, input e output sono realizzati in C da funzioni di stdio.h all'interno della libreria standard Sia i file che i dispositivi (tastiera, schermo...) sono visti come
DettagliINFORMATICA. Strutture iterative
INFORMATICA Strutture iterative Strutture iterative Si dice ciclo (loop) una sequenza di istruzioni che deve essere ripetuta più volte consecutivamente. Si consideri ad esempio il calcolo del fattoriale
DettagliProgetto e analisi di algoritmi
Progetto e analisi di algoritmi Roberto Cordone DTI - Università degli Studi di Milano Polo Didattico e di Ricerca di Crema Tel. 0373 / 898089 E-mail: cordone@dti.unimi.it Ricevimento: su appuntamento
DettagliC: panoramica. Violetta Lonati
C: panoramica Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica AA 2009/2010 Violetta Lonati
DettagliOTTAVA ESPERIENZA DI LABORATORIO. L elaborazione dei files in C
CORSO DI LABORATORIO DI INFORMATICA CORSO DI LAUREA IN SDM ANNO ACCADEMICO 2011-2012 Docente: R. Sparvoli Esercitazioni: R. Sparvoli, F. Palma OTTAVA ESPERIENZA DI LABORATORIO L elaborazione dei files
DettagliLibrerie C. Corso di Linguaggi e Traduttori 1 AA
Corso di Linguaggi e Traduttori 1 AA 2004-05 1 Corso di Linguaggi e Traduttori 1 AA 2004-05 stdio.h 2 Funzioni comunidi I/O? Le piu' comuni funzioni che permettono I/O sono getchar() e putchar():? int
DettagliEsercitazione 11. Liste semplici
Esercitazione 11 Liste semplici Liste semplici (o lineari) Una lista semplice (o lineare) è una successione di elementi omogenei che occupano in memoria una posizione qualsiasi. Ciascun elemento contiene
DettagliStrutture dati dinamiche in C (II)
Strutture dati dinamiche in C (II) Laboratorio di Linguaggi di Programmazione a.a. 2001/2002 dott.ssa Francesca A. Lisi lisi@di.uniba.it Sommario Le liste concatenate (ancora ma in modo più formale) L
DettagliDIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA. INFORMATICA B Ingegneria Elettrica. La ricorsione
INFORMATICA B Ingegneria Elettrica La ricorsione Ricorsione Che cos è la ricorsione? Un sottoprogramma P richiama se stesso (ricorsione diretta) Un sottoprogramma P richiama un altro sottoprogramma Q che
DettagliFONDAMENTI DI INFORMATICA II
Università degli Studi di Ferrara Facoltà di Ingegneria APPUNTI DEL CORSO DI FONDAMENTI DI INFORMATICA II Obiettivi del corso: Approfondire l uso del linguaggio C rispetto a quanto noto dal corso di Fondamenti
DettagliCorso di Informatica 1 Esercitazione n. 4
Corso di Informatica 1 Esercitazione n. 4 Marco Liverani Esercizio n. 1 Letti in input due numeri interi n > 0 e k > 1 costruire un array A di n numeri interi casuali minori di 100 che non siano multipli
DettagliPolitecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Appello del 21 Luglio 2010 COGNOME E NOME RIGA COLONNA MATRICOLA
Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Appello del 21 Luglio 2010 COGNOME E NOME RIGA COLONNA MATRICOLA Spazio riservato ai docenti Il presente plico contiene 4 esercizi,
Dettaglifile fisico file logico
I files Un file è una struttura di dati residente su una memoria di massa (file fisico) Un programma vede un file come una sequenza di bytes (file logico) Generalizzando, un file può comprendere qualsiasi
DettagliComplessità algoritmi su strutture dati (riassunto)
Complessità algoritmi su strutture dati (riassunto) Struttura di dato Algoritmo di ricerca Complessità (caso peggiore) applicabile Tavola come array non Ricerca sequenziale O(N) ordinato (N elementi) Tavola
DettagliPuntatori. Un puntatore contiene un numero che indica la locazione di memoria dove è presente la variabile puntata
Puntatori int i = 10; int * pi = &i; pi i = 10 116 int * pi = pi contiene un informazione che mi permette di accedere ( puntare ) ad una variabile intera Un puntatore contiene un numero che indica la locazione
DettagliLaboratorio di Programmazione: Linguaggio C Lezione 21 del 19 maggio 2014
Laboratorio di Programmazione: Linguaggio C Lezione 21 del 19 maggio 2014 Damiano Macedonio Esercizio 1 Scrivere una funzione che riceve in ingresso un puntatore ad un array di interi e modifica tale array
DettagliSommario PREFAZIONE...XI CAPITOLO 1: INTRODUZIONE AI COMPUTER, A INTERNET E AL WEB... 1 CAPITOLO 2: INTRODUZIONE ALLA PROGRAMMAZIONE IN C...
Sommario PREFAZIONE...XI Aggiornamenti e novità... xi Lo scopo di questo libro... xii Diagramma delle dipendenze... xii La metodologia di insegnamento... xiii Panoramica sul libro... xvi Ringraziamenti...
Dettagliprova.c #include <stdio.h> char funzione(char); codice oggetto del main()
prova.c #include char funzione(char); {char c= a ; printf( Ecco il carattere: %c\n,c); c=funzione(c); printf( Ecco il carattere modificato: %c\n,c); char funzione(char tmp) {if(tmp
DettagliIl linguaggio C. Breve panoramica su stdio.h
Il linguaggio C Breve panoramica su stdio.h 1 Input/Output: stdio.h Contiene definizioni di costanti legate all I/O es. EOF (end of file) #define EOF (-1) valore restituito alla fine di un file Contiene
DettagliDispense per i corsi di Informatica generale Corso di laurea in Matematica e. Introduzione agli Algoritmi Corso di laurea in Informatica
Dispense per i corsi di Informatica generale Corso di laurea in Matematica e Introduzione agli Algoritmi Corso di laurea in Informatica Prof. Tiziana Calamoneri Prof. Giancarlo Bongiovanni Questi appunti
DettagliPrecedenza e associatività. Complementi sul C - 2. Esempi. Esempi
Complementi sul C - 2 Ver. 2.4 2010 - Claudio Fornaro - Corso di programmazione in C Precedenza e associatività () [] ->. S D! ~ ++ + * & (cast ) sizeof S D * / % S D + - (somma e sottrazione) S D >
DettagliBreve Manuale di Riferimento sulla Sintassi Linguaggi C++ e FORTRAN
Breve Manuale di Riferimento sulla Sintassi Linguaggi e versione aggiornata al 05/02/2004 Sommario Elementi di Base... 2 Dati, Tipi e Dichiarazioni... 2 Tipi di Dato di Base... 2 Tipi di Dato Strutturati...
DettagliIndovina la lettera...
Indovina la lettera... La lezione di oggi consiste nel preparare un programma che chiede all'utente di indovinare quale sia il carattere generato dal programma stesso in modo casuale. Il numero totale
DettagliScrittura formattata - printf
Esercizi su Input/Output con formato FormattedIO 1 Scrittura formattata - printf Funzione printf int printf ( , ) La funzione restituisce un valore intero uguale ai caratteri
DettagliFondamenti di Programmazione
A.A. 08/09 Fondamenti di Programmazione (canale E-O) Docente: Prof.ssa Tiziana Calamoneri calamo@di.uniroma1.it Esercitatore: Dott. Roberto Petroccia petroccia@di.uniroma1.it Pagina del corso: http://twiki.di.uniroma1.it/twiki/view/programmazione1/eo/webhome
DettagliFondamenti 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
DettagliProgrammazione a Oggetti e JAVA. Prof. B.Buttarazzi A.A. 2012/2013
Programmazione a Oggetti e JAVA Prof. B.Buttarazzi A.A. 2012/2013 Sommario La ricorsione Metodi ricorsivi Esercizi proposti 16/01/2013 2 La ricorsione In Java ogni metodo può chiamare anche se stesso,
DettagliIl linguaggio C Strutture
Il linguaggio C Strutture Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna http://www.moreno.marzolla.name/ Linguaggio C -- Strutture 2 Ringraziamenti Questi
DettagliLaboratorio di Calcolatori 1 Corso di Laurea in Fisica A.A. 2006/2007
Laboratorio di Calcolatori 1 Corso di Laurea in Fisica A.A. 2006/2007 Dott.Davide Di Ruscio Dipartimento di Informatica Università degli Studi di L Aquila Lezione del 07/02/07 Nota Questi lucidi sono tratti
DettagliAlgoritmi e Strutture Dati. Capitolo 4 Ordinamento: Selection e Insertion Sort
Algoritmi e Strutture Dati Capitolo 4 Ordinamento: Selection e Insertion Sort Ordinamento Dato un insieme S di n elementi presi da un dominio totalmente ordinato, ordinare S in ordine non crescente o non
DettagliInformatica 1. Prova di recupero 21 Settembre 2001
Informatica 1 Prova di recupero 21 Settembre 2001 Si risolvano i seguenti esercizi. Ai fini della determinazione del voto finale il loro punteggio andrà sommato al punteggio del laboratorio. Il tempo complessivo
DettagliLinguaggio C - le strutture di controllo: sequenza, selezione, iterazione
Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Linguaggio C - le strutture di controllo: sequenza, selezione, iterazione
DettagliAlgoritmi e strutture dati
Algoritmi e Strutture Dati Capitolo 1 Un introduzione informale agli algoritmi Definizione informale di algoritmo Insieme di istruzioni, definite passo per passo, in modo da poter essere eseguite meccanicamente
DettagliProgrammazione di base
Fondamenti di Informatica Primo Appello 01-17 8 febbraio 017 Rispondi alle domande negli appositi spazi. I punti assegnati per ogni domanda sono indicati nel riquadro a lato. L'esame contiene 10 domande,
Dettaglin n 1 n = > Il calcolo del fattoriale La funzione fattoriale, molto usata nel calcolo combinatorio, è così definita
Il calcolo del fattoriale La funzione fattoriale, molto usata nel calcolo combinatorio, è così definita n! = 1 n( n 1)! se se n n = > 0 0 dove n è un numero intero non negativo Il calcolo del fattoriale
DettagliComplementi. - Ridefinizione di tipo - - Costrutto switch - - Programmazione su più file - - Parametri della funzione main - Funzione system -
Complementi - Ridefinizione di tipo - - Costrutto switch - - Programmazione su più file - - Parametri della funzione main - Funzione system - Università degli Studi di Brescia Prof. Massimiliano Giacomin
DettagliSommario. Manipolazione sequenziale di file in C Funzioni di base per I/O di file
File Input/Output 1 Sommario Manipolazione sequenziale di file in C Funzioni di base per I/O di file 2 Manipolazione di file I file devono essere aperti prima dell uso Associa un puntatore a file a ogni
DettagliFile e puntatori a file
File e puntatori a file Vitoantonio Bevilacqua vitoantonio.bevilacqua@poliba.it La libreria stdio.h mette a disposizione delle funzioni che hanno la peculiarità di trattare con questa nuova tipologia di
DettagliUn 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
Dettagli1 (6) 2 (7) 3 (7) 4 (7) 5 (6)
CORSO DI LAUREA IN INGEGNERIA ELETTRICA, CHIMICA e MATERIALI Informatica B anno accademico 010-011 Prof. Danilo ARDAGNA Seconda Prova in Itinere 7.06.011 Durata 1h 30 Valutazioni 1 (6) (7) 3 (7) 4 (7)
DettagliCorso di Perfezionamento
Programmazione Dinamica 1 1 Dipartimento di Matematica e Informatica Università di Camerino 15 febbraio 2009 Tecniche di Programmazione Tecniche di progettazione di algoritmi: 1 Divide et Impera 2 Programmazione
DettagliFUNZIONI RICORSIVE PROGRAMMAZIONE RICORSIVA: Esempi di problemi ricorsivi:
FUNZIONI RICORSIVE Una funzione matematica è definita ricorsivamente quando nella sua definizione compare un riferimento (chiamata) a se stessa. Esempio: Esempi di problemi ricorsivi: 1) Somma dei primi
DettagliProgrammi in Assembly
Programmi in Assembly Prof. Alberto Borghese Dipartimento di Scienze dell Informazione borghese@dsi.unimi.it Università degli Studi di Milano 1/23 Esempio Numeri positivi # Programma che copia tramite
DettagliPROVA SCRITTA DEL CORSO DI CORSO DI LAUREA IN INGEGNERIA BIOMEDICA ED ELETTRICA 9/6/2008
PROVA SCRITTA DEL CORSO DI CORSO DI LAUREA IN INGEGNERIA BIOMEDICA ED ELETTRICA 9/6/2008 MOTIVARE IN MANIERA CHIARA LE SOLUZIONI PROPOSTE A CIASCUNO DEGLI ESERCIZI SVOLTI ESERCIZIO 1 (5 punti) Descrivere
DettagliIstruzioni di Ciclo. Unità 4. Domenico Daniele Bloisi
Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Domenico Daniele Bloisi Docenti Parte I prof. Silvio Salza salza@dis.uniroma1.it http://www.dis.uniroma1.it/~salza/fondamenti.htm
DettagliIntroduzione ai puntatori in C Definizione
Introduzione ai puntatori in C Definizione Un puntatore è una variabile che contiene l indirizzo di un altra variabile Tramite i puntatori si può quindi accedere a un oggetto indirettamente (si usa il
DettagliUn algoritmo realizza una relazione funzionale tra i valori di input e quelli di output
Un algoritmo realizza una relazione funzionale tra i valori di input e quelli di output F = { (s, s ) } per ogni s esiste una e una sola coppia (s, s ). Esempio: un algoritmo che calcola il quadrato di
DettagliEsempi di Problemi Iterativi
Corso di Laurea Ingegneria Civile Elementi di Informatica Esempi di Problemi Iterativi C. Limongelli Esempi di Problemi Iterativi 1 Contenuti Esercizi: Palindroma Anagramma Fibonacci Esempi di Problemi
DettagliEsercizi Array Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR
Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Domenico Daniele Bloisi Docenti Parte I prof. Silvio Salza salza@dis.uniroma1.it http://www.dis.uniroma1.it/~salza/fondamenti.htm
DettagliI file Laboratorio di Linguaggi di Programmazione a.a. 2001/2002
I file Laboratorio di Linguaggi di Programmazione a.a. 2001/2002 dott.ssa Francesca A. Lisi lisi@di.uniba.it Sommario Generalità sui file in C I file ad accesso sequenziale I file di testo Riferimenti
DettagliAlgoritimi e Strutture Dati modulo 2
Algoritimi e Strutture Dati modulo 2 Moreno Marzolla Dip. di Informatica Scienza e Ingegneria Università di Bologna moreno.marzolla@unibo.it 2 Presentiamoci Modulo 2 (II sem.) Orario delle lezioni Moreno
DettagliProgrammazione I - Laboratorio
Programmazione I - Laboratorio Esercitazione 4 - Puntatori, vettori e stringhe Gianluca Mezzetti 1 Paolo Milazzo 2 1. Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ mezzetti mezzetti
DettagliCorso di Fondamenti di Programmazione canale E-O. Un esempio. Funzioni ricorsive. La ricorsione
Corso di Fondamenti di Programmazione canale E-O Tiziana Calamoneri Ricorsione DD Cap. 5, pp. 160-184 KP Cap. 5, pp. 199-208 Un esempio Problema: prendere in input un intero e calcolarne il fattoriale
DettagliL organizzazione dei programmi
L organizzazione dei programmi Lo sviluppo top-down L.S. Touschek - A.S. 2015/2016 - I fondamenti del Linguaggio C F. Cardarelli Lo sviluppo top-down I problemi complessi Blocco 1 Istruzione 1 Istruzione
Dettagli