Algoritmo di ordinamento per scambio (a bolle o bubble sort)

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Algoritmo di ordinamento per scambio (a bolle o bubble sort)"

Transcript

1 Algoritmo di ordinamento per scambio (a bolle o bubble sort) Per ottenere un ordinamento crescente con l algoritmo di ordinamento per scambio (bubble sort) si prenno in considerazione i primi due elementi del ; se il primo elemento è maggiore del secon i due elementi vengono scambiati; successivamente si prenno in considerazione il secon ed il terzo elemento del, si confrontano ed eventualmente si scambiano; questo procedimento si ripete consideran coppie di elementi adiacenti fin quan non si completa tutto il. In questo mo gli elementi maggiori tenno ad andare verso la fine del e i minori tenno ad andare verso l inizio del. In definitiva l algoritmo prevede di effettuare più scansioni del. Ad ogni scansione si prenno in considerazione una per una tutte le possibili coppie di elementi adiacenti, scambianli se sono nell ordine errato. Al termine della scansione l elemento minore sarà all inizio del. Allo stesso mo si può applicare l algoritmo parten dalla fine del prenden in considerazione l ultimo ed il penultimo elemento confrontanli ed eventualmente scambianli; il procedimento si ripete, come nel caso precedente, consideran coppie di elementi adiacenti fino all inizio del. Nella versione ottimale dell algoritmo si controlla se in una scansione avviene o meno uno scambio, se non si verificano scambi il risulta ordinato e, quindi, l algoritmo termina. Tale versione, ovviamente, è quella più utilizzata in quanto sfrutta il vantaggio dell algoritmo di terminare nel momento in cui il risulta ordinato. La complessità dell algoritmo, nella versione ottimale, dipende dalla configurazione iniziale del : Nel caso peggiore, ovvero quan il risulta ordinato in senso decrescente, l algoritmo richiede un numero di confronti analogo all algoritmo per sostituzione : (N-1) + (N-2) + (N-3) = N(N-1)/2 Il caso migliore si verifica quan il è già ordinato. Alla prima passata, con (N-1) confronti, l algoritmo se ne accorge e non prosegue inutilmente. Il numero di confronti varia quindi fra N(N-1)/2 e (N-1). La prestazione dell algoritmo è, pertanto, influenzata dalla configurazione iniziale dei dati. Realizzazione del flow-chart ed implementazione in C++ a cura del Prof. Salvatore DE GIORGI -1-

2 Esempio Dato l array : i passi, per un ordinamento crescente, sono i seguenti (in grassetto è indicata la coppia di elementi confrontati ed eventualmente scambiati, la casella evidenziata in giallo è la posizione corrispondente all elemento minore che sta avanzan verso l inizio del, le caselle evidenziate in rosso indicano le posizioni del ordinate) : I passi precedenti, parten dalla fine del, hanno confrontato le coppie di elementi adiacenti portan nella prima posizione del l elemento minore (in questo esempio l elemento minore è già presente l elemento minore). Successivamente si ripete il procedimento, riparten sempre dalla fine, fino alla seconda posizione e così via. Da notare che, nei vari passaggi, anche se nella posizione da ordinare è presente l elemento minore, si procede, comunque, ad un ordinamento parziale del. Si propone l esempio solo dei passi per la seconda posizione da ordinare, parten sempre dalla fine del : e così via Realizzazione del flow-chart ed implementazione in C++ a cura del Prof. Salvatore DE GIORGI -2-

3 Per implementare l Algoritmo si devono usare 2 indici : Uno (I) che tiene conto della posizione in cui si trova l elemento da ordinare (primo, secon, terzo, ) Uno (J) che permette di scorrere l array dall inizio o dalla fine e di confrontare gli elementi adiacenti Per la versione ottimale si deve usare una variabile che serve per controllare, ad ogni nuova scansione del, se ci sono stati o meno scambi. low chart versione elementare Implementazione in C++, con funzioni, della versione elementare low chart versione ottimale parten dalla fine del Implementazione in C++, con funzioni, della versione ottimale parten dalla fine low chart versione ottimale parten dall inizio del Implementazione in C++, con funzioni, della versione ottimale parten dall inizio Realizzazione del flow-chart ed implementazione in C++ a cura del Prof. Salvatore DE GIORGI -3-

4 versione elementare Realizzazione del flow-chart ed implementazione in C++ a cura del Prof. Salvatore DE GIORGI -4-

5 // ordinamento di un mediante il meto di scambio //(a bolle o bubble sort) versione elementare #include <iostream> #include <stdlib.h> // per rand() e srand() #include <time.h> // per time() using namespace std; const int maxdim = 100; int dim, pmin; // variabili globali //==================== UNZIONI ===================== // funzione per la richiesta della dimensione del int dimensione_() cout << "Inserire la dimensione del (max="<<maxdim<<")..: "; cin >> dim; while ((dim < 1 ) (dim > maxdim)); return dim; // // funzione per il caricamento ranm del void carica_(int v[], int dimvet) srand (time(null)); for (int i = 0; i < dimvet; ++i) v[i]= rand(); // // funzione per la visualizzazione del void visualizza_(int v[], int dimvet) cout<<"\n ===== isualizzazione ====="<<endl; for (int i=0; i < dimvet; ++i) cout << "\nl'elemento di posto " << i+1 << "...: " << v[i]<<endl; // // funzione per lo scambio di due variabili void scambia(int &x, int &y) int temp; temp = x; x = y; y = temp; Realizzazione del flow-chart ed implementazione in C++ a cura del Prof. Salvatore DE GIORGI -5-

6 // // funzione ordinamento del per scambio (bubble sort) // versione elementare void ordinamento_(int v[], int dimvet) for (int i = 1 ; i<dim ; ++i ) for (int j=dim-1; j>=i ; --j ) if ( v[j-1] > v[j]) scambia(v[j-1],v[j]); // ==================== MAIN =========================== int main (int argc, char *argv[]) char quit; quit = '\0'; int array[maxdim] = 0; // inizializzazione del while (quit!= 'q') dimensione_(); carica_(array,dim); cout << "\n ettore caricato : " << endl; visualizza_(array,dim); ordinamento_(array,dim); cout << "\n ettore ordinato : " <<endl; visualizza_(array,dim); // // termine programma con richiesta di uscita cout << "Premere q per uscire "; cin >> quit; return 0; Realizzazione del flow-chart ed implementazione in C++ a cura del Prof. Salvatore DE GIORGI -6-

7 Start Dmax = 100 Dim I richiesta dimensione del Dim < 2 OR Dim > Dmax Caricamento Ordinamento unzione Caricamento unzione Ordinamento J = 0 isualizzazione End I = 0 I < Dim = 0 I = Dim - 1 [I] I = I + 1 I Return [I] < [I-1] C = [I] [I] =[I-1] [I-1] = C unzione isualizzazione = 1 I = 0 I = I - 1 I < Dim I J [I] O J = J + 1 =1 AND J (Dim -1) I = I + 1 Return Return versione ottimale parten dalla fine del Realizzazione del flow-chart ed implementazione in C++ a cura del Prof. Salvatore DE GIORGI -7-

8 // ordinamento di un mediante il meto di scambio //(a bolle o bubble sort) versione ottimale parten dalla fine #include <iostream> #include <stdlib.h> // per rand() e srand() #include <time.h> // per time() using namespace std; const int maxdim = 100; int dim, pmin; // variabili globali //==================== UNZIONI ===================== // funzione per la richiesta della dimensione del int dimensione_() cout << "Inserire la dimensione del (max="<<maxdim<<")..: "; cin >> dim; while ((dim < 1 ) (dim > maxdim)); return dim; // // funzione per il caricamento ranm del void carica_(int v[], int dimvet) srand (time(null)); for (int i = 0; i < dimvet; ++i) v[i]= rand(); // // funzione per la visualizzazione del void visualizza_(int v[], int dimvet) cout<<"\n ===== isualizzazione ====="<<endl; for (int i=0; i < dimvet; ++i) cout << "\nl'elemento di posto " << i+1 << "...: " << v[i]<<endl; // // funzione per lo scambio di due variabili void scambia(int &x, int &y) int temp; temp = x; x = y; y = temp; Realizzazione del flow-chart ed implementazione in C++ a cura del Prof. Salvatore DE GIORGI -8-

9 // // funzione ordinamento del per scambio (bubble sort) // parten dalla fine del void ordinamento_(int v[], int dim) bool scambio; int i,j; j = 0; scambio = false; i = dim-1; if (v[i] < v[i-1]) scambia(v[i],v[i-1]); scambio = true; --i; while (i!= j ); ++j ; while (scambio == true && j!= dim-1) ; return; // ==================== MAIN =========================== int main (int argc, char *argv[]) char quit; quit = '\0'; int array[maxdim] = 0; // inizializzazione del while (quit!= 'q') dimensione_(); carica_(array,dim); cout << "\n ettore caricato : " << endl; visualizza_(array,dim); ordinamento_(array,dim); cout << "\n ettore ordinato : " <<endl; visualizza_(array,dim); // // termine programma con richiesta di uscita cout << "Premere q per uscire "; cin >> quit; return 0; Realizzazione del flow-chart ed implementazione in C++ a cura del Prof. Salvatore DE GIORGI -9-

10 Start Dmax = 100 Dim I richiesta dimensione del Dim < 2 OR Dim > Dmax Caricamento Ordinamento unzione Caricamento unzione Ordinamento J = 1 isualizzazione End I = 0 I < Dim = 0 I = 0 [I] I = I + 1 I [I] > [I+1] C = [I] [I] =[I+1] [I+1] = C Return unzione isualizzazione = 1 I = 0 I = I + 1 I < Dim - J I < Dim J = J + 1 [I] O =1 AND J (Dim -1) Return I = I + 1 Return versione ottimale parten dall inizio del Realizzazione del flow-chart ed implementazione in C++ a cura del Prof. Salvatore DE GIORGI -10-

11 // ordinamento di un mediante il meto di scambio //(a bolle o bubble sort) versione ottimale parten dall inizio #include <iostream> #include <stdlib.h> // per rand() e srand() #include <time.h> // per time() using namespace std; const int maxdim = 100; int dim, pmin; // variabili globali //==================== UNZIONI ===================== // funzione per la richiesta della dimensione del int dimensione_() cout << "Inserire la dimensione del (max="<<maxdim<<")..: "; cin >> dim; while ((dim < 1 ) (dim > maxdim)); return dim; // // funzione per il caricamento ranm del void carica_(int v[], int dimvet) srand (time(null)); for (int i = 0; i < dimvet; ++i) v[i]= rand(); // // funzione per la visualizzazione del void visualizza_(int v[], int dimvet) cout<<"\n ===== isualizzazione ====="<<endl; for (int i=0; i < dimvet; ++i) cout << "\nl'elemento di posto " << i+1 << "...: " << v[i]<<endl; // // funzione per lo scambio di due variabili void scambia(int &x, int &y) int temp; temp = x; x = y; y = temp; Realizzazione del flow-chart ed implementazione in C++ a cura del Prof. Salvatore DE GIORGI -11-

12 // // funzione ordinamento del per scambio (bubble sort) // parten dall inizio del void ordinamento_(int v[], int dim) bool scambio; int i,j; j = 1; scambio = false; i = 0; if (v[i] > v[i+1]) scambia(v[i],v[i+1]); scambio = true; ++i; while (i < dim-j ); ++j ; while (scambio == true && j <= dim-1) ; // ==================== MAIN =========================== int main (int argc, char *argv[]) char quit; quit = '\0'; int array[maxdim] = 0; // inizializzazione del while (quit!= 'q') dimensione_(); carica_(array,dim); cout << "\n ettore caricato : " << endl; visualizza_(array,dim); ordinamento_(array,dim); cout << "\n ettore ordinato : " <<endl; visualizza_(array,dim); // // termine programma con richiesta di uscita cout << "Premere q per uscire "; cin >> quit; return 0; Realizzazione del flow-chart ed implementazione in C++ a cura del Prof. Salvatore DE GIORGI -12-

Ricerca binaria (o dicotomica) di un elemento in un vettore

Ricerca binaria (o dicotomica) di un elemento in un vettore Ricerca binaria (o dicotomica) di un elemento in un La ricerca binaria o dicotomica è utilizzata per ricercare i dati in un ORDNATO. L algoritmo di ricerca binaria, dopo ogni confronto, scarta metà degli

Dettagli

Ricerca sequenziale di un elemento in un vettore

Ricerca sequenziale di un elemento in un vettore Ricerca sequenziale di un elemento in un vettore La ricerca sequenziale o lineare è utilizzata per ricercare i dati in un vettore NON ordinato. L algoritmo di ricerca sequenziale utilizza quan non ha alcuna

Dettagli

Algoritmi su array / 2

Algoritmi su array / 2 Corso di Informatica Algoritmi su array / Anno Accademico / Francesco Tortorella Algoritmi su array Operazioni tipiche sugli array: inizializzazione lettura stampa ricerca del minimo e del massimo ricerca

Dettagli

Corso di Fondamenti di Informatica Algoritmi su array / 2

Corso di Fondamenti di Informatica Algoritmi su array / 2 Corso di Fondamenti di Informatica Algoritmi su array / Anno Accademico 00/009 Francesco Tortorella Algoritmi su array Operazioni tipiche sugli array: inizializzazione lettura stampa ricerca del minimo

Dettagli

Programmazione I - Laboratorio

Programmazione I - Laboratorio Programmazione I - Laboratorio Esercitazione 3 - Array 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

Dettagli

Programmazione modulare

Programmazione modulare Programmiamo in.. Programmazione modulare Un programma complesso si suddivide in più sottoprogrammi o funzioni. Un programma suddiviso in piccoli pezzi, è più semplice da gestire da aggiornare da correggere

Dettagli

Laboratorio di Informatica

Laboratorio di Informatica Liste semplici (semplicemente linkate) Una lista semplice e costituita da nodi Laboratorio di Informatica 7. Strutture complesse di dati in C++ Ogni nodo e una struttura che contiene : Dati Un riferimento

Dettagli

Corso di Fondamenti di Informatica. Puntatori e Allocazione Dinamica

Corso di Fondamenti di Informatica. Puntatori e Allocazione Dinamica Corso di Fondamenti di Informatica Puntatori e Allocazione Dinamica I puntatori (Richiamo) Il C++ prevede puntatori a dati di qualsiasi natura, semplici o strutturati e puntatori a funzione. In particolare

Dettagli

Università di Roma Tor Vergata L6-1. iterazione: struttura di controllo per ripetere più volte uno stesso comando

Università di Roma Tor Vergata L6-1. iterazione: struttura di controllo per ripetere più volte uno stesso comando Università di Roma Tor Vergata L6-1 iterazione: struttura di controllo per ripetere più volte uno stesso comando comandi iterativi C++: while, do-while, for while: sintassi while (espressione) comando;

Dettagli

Appunti di informatica. Lezione 10 anno accademico Mario Verdicchio

Appunti di informatica. Lezione 10 anno accademico Mario Verdicchio Appunti di informatica Lezione 10 anno accademico 2016-2017 Mario Verdicchio Esercizio Scrivere un programma che, data una sequenza di 10 interi (scelta dall utente), la ordini in ordine crescente Soluzione

Dettagli

Università degli Studi di Cassino Corso di Fondamenti di Informatica Tipi strutturati: Stringhe. Anno Accademico 2010/2011 Francesco Tortorella

Università degli Studi di Cassino Corso di Fondamenti di Informatica Tipi strutturati: Stringhe. Anno Accademico 2010/2011 Francesco Tortorella Corso di Informatica Tipi strutturati: Stringhe Anno Accademico 2010/2011 Francesco Tortorella Stringhe di caratteri La stringa è il tipo strutturato con cui vengono rappresentati gruppi di caratteri quali

Dettagli

Linguaggio C. Problemi di Ricerca e Ordinamento: Algoritmi e Complessità.

Linguaggio C. Problemi di Ricerca e Ordinamento: Algoritmi e Complessità. Linguaggio C Problemi di Ricerca e Ordinamento: Algoritmi e Complessità. 1 Complessità degli Algoritmi Si definisce Complessità di un Algoritmo C(A) la funzione dei parametri rilevanti per A che determina

Dettagli

Le strutture di controllo in C++

Le strutture di controllo in C++ Le strutture di controllo in C++ Docente: Ing. Edoardo Fusella Dipartimento di Ingegneria Elettrica e Tecnologie dell Informazione Via Claudio 21, 4 piano laboratorio SECLAB Università degli Studi di Napoli

Dettagli

Pr1: determinare il maggiore di n numeri interi n. Fondamenti di Informatica Prof. Vittoria de Nitto Personè

Pr1: determinare il maggiore di n numeri interi n. Fondamenti di Informatica Prof. Vittoria de Nitto Personè Pr1: determinare il maggiore di n numeri interi 1 2 3 4 n 1 Pr1: determinare il maggiore di n numeri interi 1 2 3 4 n P1. trovare il maggiore fra i primi 2 numeri; P2. trovare il maggiore fra il terzo

Dettagli

ESERCIZIO 1 (Definizione funzioni passaggio parametri per copia)

ESERCIZIO 1 (Definizione funzioni passaggio parametri per copia) ESERCIZIO 1 (Definizione funzioni passaggio parametri per copia) Scrivere una funzione per definire se un numero è primo e un programma principale minimale che ne testa la funzionalità. #include

Dettagli

Università degli Studi di Cassino Corso di Fondamenti di Informatica Puntatori. Anno Accademico 2010/2011 Francesco Tortorella

Università degli Studi di Cassino Corso di Fondamenti di Informatica Puntatori. Anno Accademico 2010/2011 Francesco Tortorella Corso di Informatica Puntatori Anno Accademico 2010/2011 Francesco Tortorella Variabili, registri ed indirizzi Abbiamo visto che la definizione di una variabile implica l allocazione (da parte del compilatore)

Dettagli

Algoritmi di ordinamento. Algoritmi. Selection sort semplificato - I. Selection sort semplificato - II

Algoritmi di ordinamento. Algoritmi. Selection sort semplificato - I. Selection sort semplificato - II Algoritmi Ver..4 Algoritmi di ordinamento Lo scopo è ordinare in senso [de]crescente il contenuto di un vettore di N elementi senza utilizzare un secondo vettore Esiste molta letteratura scientifica a

Dettagli

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

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

Dettagli

Algoritmi di ordinamento in linguaggio C

Algoritmi di ordinamento in linguaggio C Algoritmi di ordinamento in linguaggio C Ordinamento per inserimento Insertion Sort con funzione ausiliaria int inserisci_valore(int vett[], int dim, int valore) { int i = dim; while (i > 0 && vett[i-1]

Dettagli

void funzioneprova() { int x=2; cout<<"dentro la funzione x="<<x<<endl; }

void funzioneprova() { int x=2; cout<<dentro la funzione x=<<x<<endl; } FUNZIONI 57. Cosa servono le funzioni? A spezzare il programma in diverse parti relativamente indipendenti fra loro, ovvero interagenti sono attraverso i parametri di input ed IL VALORE di uscita. In questo

Dettagli

Fondamenti di Informatica. Algoritmi di Ricerca e di Ordinamento

Fondamenti di Informatica. Algoritmi di Ricerca e di Ordinamento Fondamenti di Informatica Algoritmi di Ricerca e di Ordinamento 1 Ricerca in una sequenza di elementi Data una sequenza di elementi, occorre verificare se un elemento fa parte della sequenza oppure l elemento

Dettagli

Esercizi C su array e matrici

Esercizi C su array e matrici Politecnico di Milano Esercizi C su array e matrici Massimo, media e varianza,, ordinamento, ricerca e merge, matrice simmetrica, puntatori Array Array o vettore Composto da una serie di celle int vett[4]

Dettagli

Complementi. - 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 - Complementi - Ridefinizione di tipo - - Costrutto switch - - Programmazione su più file - - Parametri della funzione main - Funzione system - Università degli Studi di Brescia Prof. Massimiliano Giacomin

Dettagli

Espressioni logiche. Espressioni logiche. Operatori logici. Operatori logici. Operatori logici. Espressioni Logiche e Istruzione di Test

Espressioni logiche. Espressioni logiche. Operatori logici. Operatori logici. Operatori logici. Espressioni Logiche e Istruzione di Test Espressioni logiche Espressioni Logiche e Istruzione di Test Fondamenti di Informatica 1 Massimo Di Nanni Gennaio, 2001 Espressioni logiche nelle Istruzioni di Test e di Iterazione Calcolo del massimo

Dettagli

Prova Scritta del 19/07/10

Prova Scritta del 19/07/10 Avvertenze Usare ESCLUSIVAMENTE penne ad inchiostro nero o blu (NO MATITE). Consegnare solo fogli formato A4 scritti da un solo lato. In testa a ciascun foglio scrivere: cognome, nome, numero progressivo

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

Algoritmi di ordinamento. Sequential-sort, Bubble-sort, Quicksort

Algoritmi di ordinamento. Sequential-sort, Bubble-sort, Quicksort Algoritmi di ordinamento Sequential-sort, Bubble-sort, Quicksort Definizione Dato un multi-insieme V={Vn} N-1 n=0 di valori in D, il problema dell ordinamento è trovare una permutazione n(j) degli indici

Dettagli

Fondamenti di Informatica

Fondamenti di Informatica Passaggio di parametri in C++ Il passaggio dei parametri tra funzione chiamante e funzione chiamata in C++ avviene secondo due modalità: Fondamenti di Informatica 16. Funzioni in C++ (parte 2) per valore

Dettagli

1: /* Nome del programma: gestione_articoli_01.cpp 2: Realizzato da: Gaetano Della Cerra 3: Data: 06/02/2010 - III Informatica Serale I.T.I.S.

1: /* Nome del programma: gestione_articoli_01.cpp 2: Realizzato da: Gaetano Della Cerra 3: Data: 06/02/2010 - III Informatica Serale I.T.I.S. 1: /* Nome del programma: gestione_articoli_01.cpp 2: Realizzato da: Gaetano Della Cerra 3: Data: 06/02/2010 - III Informatica Serale I.T.I.S. Molinari 4: Il programma gestisce gli articoli di un negozio

Dettagli

Corso di Fondamenti di Informatica Classi di istruzioni 2

Corso di Fondamenti di Informatica Classi di istruzioni 2 Corso di Informatica Classi di istruzioni 2 Anno Accademico 2010/2011 Francesco Tortorella Strutture di controllo Caratteristica essenziale degli algoritmi è la possibilità di decidere le operazioni da

Dettagli

Primo allenamento. Olimpiadi Italiane di Informatica - Selezione territoriale

Primo allenamento. Olimpiadi Italiane di Informatica - Selezione territoriale Primo allenamento Olimpiadi Italiane di Informatica - Selezione territoriale Luca Chiodini luca@chiodini.org - l.chiodini@campus.unimib.it 10 marzo 2016 Programma 1. Lettura di un problema tratto dalle

Dettagli

Corso di Fondamenti di Informatica

Corso di Fondamenti di Informatica Corso di Fondamenti di Informatica Gli algoritmi di base sul tipo array: ordinamento e ricerca Claudio De Stefano - Corso di Fondamenti di Informatica 1 Algoritmi di ordinamento gli algoritmi si differenziano

Dettagli

HOMEWORKS. in modo che il programma stampi N ripetizioni della stringa HelloWorld (su righe diverse), con N inserito dall utente.

HOMEWORKS. in modo che il programma stampi N ripetizioni della stringa HelloWorld (su righe diverse), con N inserito dall utente. HOMEWORKS Questi esercizi saranno proposti di tanto in tanto e forniti sempre SENZA soluzioni. Come materiale complementare ai libri di testo e alle lezioni frontali e di esercitazione, si consiglia di

Dettagli

a.a Codice corso: 21012, 22010

a.a Codice corso: 21012, 22010 ESERCIZIO 1 Scrivere un sotto-programma in linguaggio C++ che ricevuta una matrice quadrata come parametro restituisca al chiamante un valore booleano indicante se la matrice è simmetrica oppure no. Scrivere

Dettagli

Programmazione I - Laboratorio

Programmazione 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

Dettagli

Appunti, esempi ed esercizi sui linguaggi C/C++

Appunti, esempi ed esercizi sui linguaggi C/C++ Appunti, esempi ed esercizi sui linguaggi C/C++ Dispense e materiale didattico su http://www.eclecticforce.com/ Ambiente di sviluppo Dev C++ http://www.bloodshed.net/devcpp.html // commento su una linea

Dettagli

Variabili. Unità 2. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER

Variabili. Unità 2. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER Domenico Daniele Bloisi Docenti Metodi Numerici prof. Vittoria Bruni vittoria.bruni@sbai.uniroma1.it Programmazione prof. Domenico

Dettagli

Array. Maurizio Palesi Salvatore Serrano. In C si possono definire tipi strutturati Vi sono due costruttori fondamentali

Array. Maurizio Palesi Salvatore Serrano. In C si possono definire tipi strutturati Vi sono due costruttori fondamentali MASTER Information Technology Excellence Road (I.T.E.R.) Array Maurizio Palesi Salvatore Serrano Master ITER Informatica di Base Maurizio Palesi, Salvatore Serrano 1 Tipi di dato stutturati In C si possono

Dettagli

LABORATORIO DI FONDAMENTI DI INFORMATICA DIAGRAMMI DI FLUSSO E CODIFICA IN C DEGLI ALGORITMI

LABORATORIO DI FONDAMENTI DI INFORMATICA DIAGRAMMI DI FLUSSO E CODIFICA IN C DEGLI ALGORITMI LABORATORIO DI ONDAMENTI DI INORMATICA DIAGRAMMI DI LUSSO E CODIICA IN C DEGLI ALGORITMI 1.INGEGNERIA ELETTRICA A.A. 2004-005 COPIA CONTROLLATA N 1 ING. G. GIORDANO INIZIO Inserire il numero N N

Dettagli

Array e puntatori in C

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

Dettagli

PROGRAMMAZIONE: Le strutture di controllo

PROGRAMMAZIONE: Le strutture di controllo PROGRAMMAZIONE: Le strutture di controllo Prof. Enrico Terrone A. S: 2008/09 Le tre modalità La modalità basilare di esecuzione di un programma è la sequenza: le istruzioni vengono eseguite una dopo l

Dettagli

Esercizio 2: Algebra dei Puntatori e Puntatori a Puntatori

Esercizio 2: Algebra dei Puntatori e Puntatori a Puntatori Esercizio 2: Algebra dei Puntatori e Puntatori a Puntatori Salvatore Mandrà 7 Ottobre 2008 1 Esercizio L esercizio prevede l implementazione di funzioni per il prodotto di una matrice per un vettore, attraverso

Dettagli

Laboratorio di Informatica

Laboratorio di Informatica Strutture Dati in C++ Le strutture dati sono entità che permettono di memorizzare dati in modo organizzato e funzionale a particolari esigenze Laboratorio di Informatica 4. Array e strutture in C++ Strutture

Dettagli

Matematica - SMID : Programmazione Febbraio 2009 FOGLIO RISPOSTE

Matematica - SMID : Programmazione Febbraio 2009 FOGLIO RISPOSTE Matematica - SMID : Programmazione Febbraio 2009 FOGLIO RISPOSTE NOME: COGNOME: ============================================================== Esercizio 1 ci sono tante "righe"; non è detto servano tutte...

Dettagli

a.a Codice corso: 21012, HOMEWORKS

a.a Codice corso: 21012, HOMEWORKS HOMEWORKS Questi esercizi saranno proposti ogni 2 settimane e forniti sempre SENZA soluzioni. Come materiale complementare ai libri di testo e alle lezioni frontali e di esercitazione, si consiglia di

Dettagli

Corso di Informatica 1 Esercitazione n. 4

Corso 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

Dettagli

Fondamenti di Informatica

Fondamenti di Informatica Fondamenti di Informatica Capitolo 3 Funzioni Federico Ceriani federico.ceriani@nulltech.it ITS Meccatronico di Legnago A.S. 2016-2017 Contenuti Concetto di funzione Sintassi Tipo di ritorno Argomenti

Dettagli

Corso di Fondamenti di Informatica

Corso di Fondamenti di Informatica Corso di Fondamenti di Informatica Il tipo puntatore; l allocazione dinamica della memoria Claudio De Stefano - Corso di Fondamenti di Informatica 1 puntatori una variabile di tipo puntatore al tipo x

Dettagli

Procedura. Procedure e funzioni. Esempio di procedura in C. Procedure in C. Esempio con prototipo. Esecuzione del codice

Procedura. Procedure e funzioni. Esempio di procedura in C. Procedure in C. Esempio con prototipo. Esecuzione del codice Procedure e funzioni In linguaggio C Procedura Una procedura può essere rappresentata come una macchina in grado di eseguire un certo compito quando attivata. In un primo tempo la macchina deve essere

Dettagli

Vettori Algoritmi elementari di ordinamento

Vettori Algoritmi elementari di ordinamento Dipartimento di Informatica e Sistemistica Antonio Ruberti Sapienza Università di Roma Vettori Algoritmi elementari di ordinamento Corso di Fondamenti di Informatica Laurea in Ingegneria Informatica (Canale

Dettagli

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

ESERCIZI DI PROGRAMMAZIONE C/C++ per le classi terza ESERCIZI DI PROGRAMMAZIONE C/C++ per le classi terza vers.0 in lavorazione Docente SAFFI FABIO Contenuti Implementazione delle operazioni di base mediante main in un unico file sorgente... 2 Struttura

Dettagli

Template (1) Molte volte l operato di una funzione o le proprietà di una classe non dipendono dal tipo dei dati coinvolti

Template (1) Molte volte l operato di una funzione o le proprietà di una classe non dipendono dal tipo dei dati coinvolti Template (1) Molte volte l operato di una funzione o le proprietà di una classe non dipendono dal tipo dei dati coinvolti int sumvector(int *array, int n) { int sum(0); for (int i = 0; i < n; ++i) sum

Dettagli

Lezione 21 e 22. Valentina Ciriani ( ) Laboratorio di programmazione. Laboratorio di programmazione. Lezione 21 e 22

Lezione 21 e 22. Valentina Ciriani ( ) Laboratorio di programmazione. Laboratorio di programmazione. Lezione 21 e 22 Lezione 21 e 22 - Allocazione dinamica delle matrici - Generazione di numeri pseudocasuali - Funzioni per misurare il tempo - Parametri del main - Classificazione delle variabili Valentina Ciriani (2005-2008)

Dettagli

Bloodshed Dev-C++ Bloodshed Dev-C++ è l IDE usato durante le esercitazioni/laboratorio. IDE = Integrated Development Environment. Codice corso: 21012

Bloodshed Dev-C++ Bloodshed Dev-C++ è l IDE usato durante le esercitazioni/laboratorio. IDE = Integrated Development Environment. Codice corso: 21012 Bloodshed Dev-C++ Bloodshed Dev-C++ è l IDE usato durante le esercitazioni/laboratorio IDE = Integrated Development Environment Pagina 1 di 8 Dev-C++ - Installazione Con sistema operativo Windows, potete

Dettagli

Informatica! Appunti dal laboratorio 1!

Informatica! Appunti dal laboratorio 1! Informatica! Appunti dal laboratorio 1! Sistema Operativo! Windows 7, Windows 8, Mac OS X, Linux, Debian, Red Hat, etc etc! Il sistema operativo è un programma che serve a gestire TUTTE le risorse presenti

Dettagli

LE STRUTTURE DATI DINAMICHE: GLI ALBERI. Cosimo Laneve

LE STRUTTURE DATI DINAMICHE: GLI ALBERI. Cosimo Laneve LE STRUTTURE DATI DINAMICHE: GLI ALBERI Cosimo Laneve 1 argomenti 1. definizione di alberi e nozioni relative 2. implementazione degli alberi, creazione, visita 3. algoritmo di visita iterativa e sua implementazione

Dettagli

Gestione di stringhe. Le stringhe in C/C++

Gestione di stringhe. Le stringhe in C/C++ Alessio Bechini - Corso di - Gestione di stringhe Parte del materiale proposto è stato gentilmente fornito da G. Lipari Le stringhe in C/C++ In C e in C++ non esiste un vero e proprio tipo stringa. Una

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

ALGORITMI DI ORDINAMENTO. Naive sort (o selection sort): Consideriamo algoritmi di ordinamento interni (elementi in memoria centrale).

ALGORITMI DI ORDINAMENTO. Naive sort (o selection sort): Consideriamo algoritmi di ordinamento interni (elementi in memoria centrale). ALGORITMI DI ORDINAMENTO Consideriamo algoritmi di ordinamento interni (elementi in memoria centrale). Vettore di elementi di un certo tipo, sul quale è definita una relazione d ordine totale (ad esempio,

Dettagli

Esercizio. Vogliamo scrivere delle funzioni che ci permettano di estrarre delle informazioni statistiche da un vettore (array) di dati:

Esercizio. Vogliamo scrivere delle funzioni che ci permettano di estrarre delle informazioni statistiche da un vettore (array) di dati: Esercizio Vogliamo scrivere delle funzioni che ci permettano di estrarre delle informazioni statistiche da un vettore (array) di dati: Media e deviazione standard Mediana Vogliamo poi provare l utilizzo

Dettagli

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

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

Dettagli

ORDINAMENTO DI UN VETTORE TRAMITE L ALGORITMO BUBBLE SORT

ORDINAMENTO DI UN VETTORE TRAMITE L ALGORITMO BUBBLE SORT S.I.S. Piemonte Corso abilitante speciale Legge 143/ter D.M. 85/2005 Classe di Concorso A042 Informatica MICROCORSO PROGRAMMAZIONE A Prof. Domenico Valle Relazione: UNA LEZIONE DI PROGRAMMAZIONE IN JAVA

Dettagli

Politecnico 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. 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

Dettagli

Indice. La dichiarazione using. Il namespace std della Libreria Standard del C++ std::cin. Le Stringhe in C++ (CAP 3, parte I)

Indice. La dichiarazione using. Il namespace std della Libreria Standard del C++ std::cin. Le Stringhe in C++ (CAP 3, parte I) Le Stringhe in C++ (CAP 3, parte I) Alberto Garfagnini e Marco Mazzocco Università degli studi di Padova A.A. 2014/2015 Indice Dichiarazioni using per il namespace Lo specificatore di tipo decltype Il

Dettagli

Algoritmi di ordinamento

Algoritmi di ordinamento Algoritmi di ordinamento Scopo di questa esercitazione: Comprendere la complessità del problema ordinamento cerchiamo di valutare il costo di una soluzione (confrontandola con un altra ) Modifiche al codice

Dettagli

Text files, streams. I file che ci interessano sono file di testo. anche se, logicamente, contengono numeri o altro

Text files, streams. I file che ci interessano sono file di testo. anche se, logicamente, contengono numeri o altro Text files, streams I file che ci interessano sono file di testo anche se, logicamente, contengono numeri o altro In C/C++ ci sono anche i file binari, ma li ignoriamo file di testo = ASCII file = successione

Dettagli

Laboratorio di Algoritmi e Strutture Dati. Aniello Murano. people.na.infn.it/~murano/ Murano Aniello - Lab. di ASD Terza Lezione

Laboratorio di Algoritmi e Strutture Dati. Aniello Murano. people.na.infn.it/~murano/ Murano Aniello - Lab. di ASD Terza Lezione Laboratorio di Algoritmi e Strutture Dati Aniello Murano http://people.na.infn.it people.na.infn.it/~murano/ Heap e Heapsort Algoritmi di ordinamento Insertion Sort Quicksort Heapsort Insertion Sort L

Dettagli

Puntatori. Un puntatore contiene un numero che indica la locazione di memoria dove è presente la variabile puntata

Puntatori. 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

Dettagli

Breve Manuale di Riferimento sulla Sintassi Linguaggi C++ e FORTRAN

Breve 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...

Dettagli

Consideriamo un vettore allocato dinamicamente

Consideriamo un vettore allocato dinamicamente Libreria per per la la gestione/manipolazione dei dei vettori Consideriamo un vettore allocato dinamicamente int * v; v = (int *) malloc (n * sizeof (int) ); Conversione di tipo da void * a int * Numero

Dettagli

Informatica 1 Tipi e dichiarazioni in C++ C++ - Tipi e dichiarazioni 1

Informatica 1 Tipi e dichiarazioni in C++ C++ - Tipi e dichiarazioni 1 Informatica 1 Tipi e dichiarazioni in C++ C++ - Tipi e dichiarazioni 1 Cosa è il C++ E un linguaggio di programmazione derivato dal C Può essere usato per modificare il SO Unix e i suoi derivati (Linux)

Dettagli

Il paradigma OO e le Classi

Il paradigma OO e le Classi Oggetti e Classi (CAP 10) Alberto Garfagnini Università degli studi di Padova 1 Dicembre 2009 Il paradigma OO e le Classi La programmazione ad Oggetti () è una filosofia di programmazione che si basa sui

Dettagli

Informatica! Appunti dal laboratorio 1!

Informatica! Appunti dal laboratorio 1! Informatica Appunti dal laboratorio 1 Sistema Operativo Windows Vista, Windows 7, Mac OS X, Linux, Debian, Red Hat, etc etc Il sistema operativo è un programma che serve a gestire TUTTE le risorse presenti

Dettagli

Lezione 9: Puntatori a funzioni. Tipi enumerativi e orientati ai bit

Lezione 9: Puntatori a funzioni. Tipi enumerativi e orientati ai bit Lezione 9: Puntatori a funzioni. Tipi enumerativi e orientati ai bit Vittorio Scarano Laboratorio di Informatica I Corso di Laurea in Informatica Università degli Studi di Salerno Struttura della lezione

Dettagli

a.a Codice corso: 21012, 22010

a.a Codice corso: 21012, 22010 ESERCIZIO 1 Scrivere un sotto-programma in linguaggio C++ che ricevuta una matrice quadrata come parametro restituisca al chiamante un valore booleano indicante se la matrice è simmetrica oppure no. Scrivere

Dettagli

void concatenastringhe (char st1[], char st2[], char stout[]) { int n=0,s=0; // dichiarazione variabili con inizializzazioni

void concatenastringhe (char st1[], char st2[], char stout[]) { int n=0,s=0; // dichiarazione variabili con inizializzazioni // funzione che concatena due stringhe void concatenastringhe (char st1[], char st2[], char stout[]) int n=0,s=0; // dichiarazione variabili con inizializzazioni while (st1[n] = '\0') stout[n++] = st1[n];

Dettagli

Bloodshed Dev-C++ è l IDE usato durante le esercitazioni/laboratorio. IDE = Integrated Development Environment

Bloodshed Dev-C++ è l IDE usato durante le esercitazioni/laboratorio. IDE = Integrated Development Environment Bloodshed Dev-C++ Bloodshed Dev-C++ è l IDE usato durante le esercitazioni/laboratorio IDE = Integrated Development Environment Gerardo Pelosi 01 Ottobre 2014 Pagina 1 di 8 Dev-C++ - Installazione Potete

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

1) definizione di una rappresentazione 2) specificazione di un algoritmo (dipendente dalla rappresentazione) 3) traduzione in un linguaggio

1) definizione di una rappresentazione 2) specificazione di un algoritmo (dipendente dalla rappresentazione) 3) traduzione in un linguaggio soluzione di un problema 1) definizione di una rappresentazione 2) specificazione di un algoritmo (dipendente dalla rappresentazione) 3) traduzione in un linguaggio rappresentazioni disponibili in C++:

Dettagli

Informatica B

Informatica B Informatica B 2016-2017 Esercitazione 8 Array e Stringhe Alessandro A. Nacci alessandro.nacci@polimi.it - www.alessandronacci.it 1 Esercizio 1: stringhe - vocali consecutive Scrivere un programma che data

Dettagli

Programmazione I - corso B a.a prof. Viviana Bono

Programmazione I - corso B a.a prof. Viviana Bono Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica Programmazione I - corso B a.a. 2009-10 prof. Viviana Bono Blocco 15 Algoritmi su array: selection sort, insertion sort, fusione

Dettagli

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

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

Dettagli

# $ %$&'" '! () *$+,!-

# $ %$&' '! () *$+,!- !" # $ $&'" '! () *$+,!- ',.''/ '/0 1' *'/*'* * 2*! 3( * +- 1 '.'"'!0*'.''! 0* 2.''!0 445 5 5 464 + 1 7+!"" 788 9 3 7 : 7, ;, # < = (,? >,? @,, $3 $, 3 $ >$ (A 3- > $, A9 B $$ ; (; -*'" *73*

Dettagli

Prof. E. Occhiuto INFORMATICA 242AA a.a. 2010/11 pag. 1

Prof. E. Occhiuto INFORMATICA 242AA a.a. 2010/11 pag. 1 Operazioni sulle liste Definiamo una serie di procedure e funzioni per operare sulle liste. Usiamo liste di interi per semplicità, ma tutte le operazioni sono realizzabili in modo del tutto analogo su

Dettagli

Le operazioni di allocazione e deallocazione sono a carico del sistema.

Le operazioni di allocazione e deallocazione sono a carico del sistema. Allocazione della memoria In C++ è possibile creare (allocare) variabili in maniera statica o dinamica. Nell allocazione statica una variabile esiste ed è utilizzabile dal momento della sua dichiarazione

Dettagli

ELEMENTI DI INFORMATICA L-B. Ing. Claudia Chiusoli

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

Dettagli

Informatica/ Ing. Meccanica/ Edile/ Prof. Verdicchio/ 17/01/2014/ Foglio delle domande / VERSIONE 1

Informatica/ Ing. Meccanica/ Edile/ Prof. Verdicchio/ 17/01/2014/ Foglio delle domande / VERSIONE 1 Informatica/ Ing. Meccanica/ Edile/ Prof. Verdicchio/ 17/01/2014/ Foglio delle domande/ VERSIONE 1 1) L approccio con cui si studia un sistema focalizzandosi solo sul rapporto tra input e output si chiama

Dettagli

La scrittura di un programma Modellizzazione del programma Scrittura del codice Esercizi. Sperimentazioni I. Alberto Garfagnini, Marco Mazzocco

La scrittura di un programma Modellizzazione del programma Scrittura del codice Esercizi. Sperimentazioni I. Alberto Garfagnini, Marco Mazzocco Sperimentazioni I Alberto Garfagnini, Marco Mazzocco Università degli studi di Padova 30 Ottobre 2013 La scrittura di un programma Modellizzazione programma Flowcharts Pseudocode Scrittura del codice Esercizi

Dettagli

Operazioni sulle stringhe Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR

Operazioni sulle stringhe 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

Dettagli

PROGRAMMAZIONE IN C E C++ Prof. Enrico Terrone A. S: 2014/15

PROGRAMMAZIONE IN C E C++ Prof. Enrico Terrone A. S: 2014/15 PROGRAMMAZIONE IN C E C++ Prof. Enrico Terrone A. S: 2014/15 Definizioni Programmare significa risolvere problemi col computer, cioè far risolvere problemi al computer attraverso un insieme di informazioni

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Strutture di Dati La Matrice versione. Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G. Mecca Università

Dettagli

Esercitazione 6. Array

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

Dettagli

Inserimento di un elemento in coda. quale va collegato quello nuovo. ultimo. *lista 8 3. aux. ultimo. *lista 8 3. aux

Inserimento di un elemento in coda. quale va collegato quello nuovo. ultimo. *lista 8 3. aux. ultimo. *lista 8 3. aux Inserimento di un elemento in coda Se la è vuota coincide con l inserimento in testa = è necessario il passaggio per indirizzo! Se la non è vuota, bisogna scandirla fino in fondo = dobbiamo usare un puntatore

Dettagli

Codifica: dal diagramma a blocchi al linguaggio C++

Codifica: dal diagramma a blocchi al linguaggio C++ Codifica: dal diagramma a blocchi al linguaggio C++ E necessario chiarire inizialmente alcuni concetti. La compilazione Il dispositivo del computer addetto all esecuzione dei programmi è la CPU La CPU

Dettagli

Esercitazione 12. Esercizi di Ricapitolazione

Esercitazione 12. Esercizi di Ricapitolazione Esercitazione 12 Esercizi di Ricapitolazione Esercizio Scrivere un programma che, dato un numero intero positivo, stampa la sua rappresentazione binaria. ALGORITMO Scriviamo una procedura stampa_bin che,

Dettagli

Tecniche di Ordinamento dei Vettori

Tecniche di Ordinamento dei Vettori Tecniche di Ordinamento dei Vettori Corso di Laurea Ingegneria Corso B A.A. 2010-2011 1 Contenuto 1) Generalità 2) Metodi a Minimo Ingombro di Memoria 2.1) Ordinamento per selezione ( Selection Sort )

Dettagli

Cesare Rota. Programmare con C++ EDITORE ULRICO HOEPLI MILANO

Cesare Rota. Programmare con C++ EDITORE ULRICO HOEPLI MILANO Cesare Rota Programmare con C++ EDITORE ULRICO HOEPLI MILANO Copyright Ulrico Hoepli Editore S.p.A. 2009 via Hoepli 5, 20121 Milano (Italy) tel. +39 02 864871 fax +39 02 8052886 e-mail hoepli@hoepli.it

Dettagli

Programmazione I / Informatica generale Prova scritta 11 Giugno 2008

Programmazione I / Informatica generale Prova scritta 11 Giugno 2008 Programmazione I / Informatica generale Prova scritta 11 Giugno 2008 NOTA: Si trascuri ogni problema legato al tipo ed al valore di ritorno della funzione main. Inoltre, nei programmi è da sottintendere

Dettagli

6SC Informatica 9/12/2015

6SC Informatica 9/12/2015 6SC-C-007-2015-12-09 (S) Studente: THE TEACHER CLASSE MATERIA DATA OGGETTO VALUTAZIONE 6SC Informatica 9/12/2015 Preparazione alla verifica di venerdì 18/12 (soluzioni) N.A. Scrivere, in linguaggio C++,

Dettagli

Esercizi proposti. Funzioni. Esercizio Confronto tra date. Esercizi proposti. Analisi. Controlli

Esercizi proposti. Funzioni. Esercizio Confronto tra date. Esercizi proposti. Analisi. Controlli Esercizio Confronto tra date Esercizio Quadrato Esercizio Indovina numero Funzioni 2 Esercizio Confronto tra date Si scriva un programma che chieda all utente di inserire due date (giorno, mese, anno)

Dettagli